SpyBara
Go Premium

Documentation 2026-06-09 06:34 UTC to 2026-06-10 23:57 UTC

139 files changed +14,508 −5,019. View all changes and history on the product overview
2026
Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

admin-setup.md +6 −4

Details

65 65 

66## 実行する内容を決定する66## 実行する内容を決定する

67 67 

68マネージド設定は、ツール、サンドボックス実行、MCP サーバーとプラグインソースへのアクセスをロックダウンし、実行されるフック を制御できます。各行は、それを駆動する設定キーを持つ制御サーフェスです。68マネージド設定は、ツール、サンドボックス実行、MCP サーバーとプラグインソースへのアクセスをロックダウンし、実行されるフックを制御できます。各行は、それを駆動する設定キーを持つ制御サーフェスです。

69 69 

70| 制御 | 機能 | キー設定 |70| 制御 | 機能 | キー設定 |

71| :------------------------------------------------------------------------------------- | :-------------------------------------------------------------- | :--------------------------------------------------------------------------- |71| :------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------- |

72| [Permission rules](/ja/permissions) | 特定のツールとコマンドを許可、確認、または拒否する | `permissions.allow`、`permissions.deny` |72| [Permission rules](/ja/permissions) | 特定のツールとコマンドを許可、確認、または拒否する | `permissions.allow`、`permissions.deny` |

73| [Permission lockdown](/ja/permissions#managed-only-settings) | マネージドパーミッションルールのみが適用される。`--dangerously-skip-permissions` を無効化する | `allowManagedPermissionRulesOnly`、`permissions.disableBypassPermissionsMode` |73| [Permission lockdown](/ja/permissions#managed-only-settings) | マネージドパーミッションルールのみが適用される。`--dangerously-skip-permissions` を無効化する | `allowManagedPermissionRulesOnly`、`permissions.disableBypassPermissionsMode` |

74| [Sandboxing](/ja/sandboxing) | ドメイン許可リスト付きの OS レベルのファイルシステムとネットワーク分離 | `sandbox.enabled`、`sandbox.network.allowedDomains` |74| [Sandboxing](/ja/sandboxing) | ドメイン許可リスト付きの OS レベルのファイルシステムとネットワーク分離 | `sandbox.enabled`、`sandbox.network.allowedDomains` |

75| [Managed policy CLAUDE.md](/ja/memory#deploy-organization-wide-claude-md) | すべてのセッションで読み込まれる組織全体の指示。除外できない | マネージドポリシーパスのファイル |75| [Managed policy CLAUDE.md](/ja/memory#deploy-organization-wide-claude-md) | すべてのセッションで読み込まれる組織全体の指示。除外できない | マネージドポリシーパスのファイル |

76| [MCP server control](/ja/mcp#managed-mcp-configuration) | ユーザーが追加または接続できる MCP サーバーを制限する | `allowedMcpServers`、`deniedMcpServers`、`allowManagedMcpServersOnly` |76| [MCP server control](/ja/managed-mcp) | ユーザーが追加または接続できる MCP サーバーを制限するか、固定セットをデプロイする | `allowedMcpServers`、`deniedMcpServers`、`allowManagedMcpServersOnly`、またはデプロイされた `managed-mcp.json` ファイル |

77| [Plugin marketplace control](/ja/plugin-marketplaces#managed-marketplace-restrictions) | ユーザーが追加およびインストールできるマーケットプレイスソースを制限する | `strictKnownMarketplaces`、`blockedMarketplaces` |77| [Plugin marketplace control](/ja/plugin-marketplaces#managed-marketplace-restrictions) | ユーザーが追加およびインストールできるマーケットプレイスソースを制限する | `strictKnownMarketplaces`、`blockedMarketplaces` |

78| [Customization lockdown](/ja/settings#strictpluginonlycustomization) | スキル、エージェント、フック、および MCP サーバーをユーザーおよびプロジェクトソースからブロックし、プラグインまたはマネージド設定からのみ取得できるようにする | `strictPluginOnlyCustomization` |

78| [Hook restrictions](/ja/settings#hook-configuration) | マネージドフックのみが読み込まれる。HTTP フック URL を制限する | `allowManagedHooksOnly`、`allowedHttpHookUrls` |79| [Hook restrictions](/ja/settings#hook-configuration) | マネージドフックのみが読み込まれる。HTTP フック URL を制限する | `allowManagedHooksOnly`、`allowedHttpHookUrls` |

79| [Disable agent view](/ja/agent-view#how-background-sessions-are-hosted) | `claude agents`、`--bg`、`/background`、およびオンデマンドスーパーバイザーをオフにする | `disableAgentView` |80| [Disable agent view](/ja/agent-view#how-background-sessions-are-hosted) | `claude agents`、`--bg`、`/background`、およびオンデマンドスーパーバイザーをオフにする | `disableAgentView` |

80| [Version floor](/ja/settings) | 自動更新が組織全体の最小値より下にインストールされるのを防ぐ | `minimumVersion` |81| [Version floor](/ja/settings) | 自動更新が組織全体の最小値より下にインストールされるのを防ぐ | `minimumVersion` |


131 132 

132* [Server-managed settings](/ja/server-managed-settings): Claude 管理コンソールからマネージドポリシーを配信する133* [Server-managed settings](/ja/server-managed-settings): Claude 管理コンソールからマネージドポリシーを配信する

133* [Settings reference](/ja/settings): すべての設定キー、ファイルの場所、優先度ルール134* [Settings reference](/ja/settings): すべての設定キー、ファイルの場所、優先度ルール

134* [Amazon Bedrock](/ja/amazon-bedrock)、[Google Vertex AI](/ja/google-vertex-ai)、[Microsoft Foundry](/ja/microsoft-foundry): プロバイダー固有の展開135* [Monorepos and large repos](/ja/large-codebases): 大規模リポジトリをデプロイする組織向けのディレクトリごとの設定パターン

136* [Amazon Bedrock](/ja/amazon-bedrock)、[Google Vertex AI](/ja/google-vertex-ai)、[Microsoft Foundry](/ja/microsoft-foundry): プロバイダー固有のデプロイメント

135* [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide): SSO、SCIM、シート管理、ロールアウトプレイブック137* [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide): SSO、SCIM、シート管理、ロールアウトプレイブック

Details

10 10 

11エージェントを開始すると、SDK は Claude Code を支える[実行ループ](/ja/how-claude-code-works#the-agentic-loop)と同じものを実行します。Claude はプロンプトを評価し、ツールを呼び出してアクションを実行し、結果を受け取り、タスクが完了するまで繰り返します。このページでは、そのループ内で何が起こるかを説明し、エージェントを効果的に構築、デバッグ、最適化できるようにします。11エージェントを開始すると、SDK は Claude Code を支える[実行ループ](/ja/how-claude-code-works#the-agentic-loop)と同じものを実行します。Claude はプロンプトを評価し、ツールを呼び出してアクションを実行し、結果を受け取り、タスクが完了するまで繰り返します。このページでは、そのループ内で何が起こるかを説明し、エージェントを効果的に構築、デバッグ、最適化できるようにします。

12 12 

13## ループの概要13<h2 id="the-loop-at-a-glance">

14 ループの概要

15</h2>

14 16 

15すべてのエージェントセッションは同じサイクルに従います。17すべてのエージェントセッションは同じサイクルに従います。

16 18 


24 26 

25簡単な質問(「ここにはどのようなファイルがありますか?」)は、`Glob` を呼び出して結果で応答する 1 ~ 2 ターンで済む場合があります。複雑なタスク(「認証モジュールをリファクタリングしてテストを更新する」)は、多くのターンにわたって数十のツール呼び出しをチェーンでき、ファイルを読み取り、コードを編集し、テストを実行し、Claude が各結果に基づいてアプローチを調整します。27簡単な質問(「ここにはどのようなファイルがありますか?」)は、`Glob` を呼び出して結果で応答する 1 ~ 2 ターンで済む場合があります。複雑なタスク(「認証モジュールをリファクタリングしてテストを更新する」)は、多くのターンにわたって数十のツール呼び出しをチェーンでき、ファイルを読み取り、コードを編集し、テストを実行し、Claude が各結果に基づいてアプローチを調整します。

26 28 

27## ターンとメッセージ29<h2 id="turns-and-messages">

30 ターンとメッセージ

31</h2>

28 32 

29ターンはループ内の 1 往復です。Claude はツール呼び出しを含む出力を生成し、SDK はそれらのツールを実行し、結果は自動的に Claude にフィードバックされます。これはコードに制御を戻さずに発生します。Claude がツール呼び出しのない出力を生成するまでターンが続き、その時点でループが終了し、最終結果が配信されます。33ターンはループ内の 1 往復です。Claude はツール呼び出しを含む出力を生成し、SDK はそれらのツールを実行し、結果は自動的に Claude にフィードバックされます。これはコードに制御を戻さずに発生します。Claude がツール呼び出しのない出力を生成するまでターンが続き、その時点でループが終了し、最終結果が配信されます。

30 34 


43 47 

44制限がない場合、ループは Claude が独自に終了するまで実行されます。これは適切にスコープされたタスクには問題ありませんが、オープンエンドのプロンプト(「このコードベースを改善する」)では長時間実行される可能性があります。予算を設定することは、本番エージェントの良いデフォルトです。以下の[ターンと予算](#turns-and-budget)でオプションリファレンスを参照してください。48制限がない場合、ループは Claude が独自に終了するまで実行されます。これは適切にスコープされたタスクには問題ありませんが、オープンエンドのプロンプト(「このコードベースを改善する」)では長時間実行される可能性があります。予算を設定することは、本番エージェントの良いデフォルトです。以下の[ターンと予算](#turns-and-budget)でオプションリファレンスを参照してください。

45 49 

46## メッセージタイプ50<h2 id="message-types">

51 メッセージタイプ

52</h2>

47 53 

48ループが実行されると、SDK はメッセージのストリームを生成します。各メッセージは、ループのどのステージから来たかを示すタイプを持ちます。5 つのコアタイプは次のとおりです。54ループが実行されると、SDK はメッセージのストリームを生成します。各メッセージは、ループのどのステージから来たかを示すタイプを持ちます。5 つのコアタイプは次のとおりです。

49 55 


55 61 

56これら 5 つのタイプは、両方の SDK でエージェントループライフサイクル全体をカバーしています。TypeScript SDK は、追加の観測可能性イベント(フックイベント、ツール進捗、レート制限、タスク通知)も生成し、追加の詳細を提供しますが、ループを駆動するために必須ではありません。完全なリストについては、[Python メッセージタイプリファレンス](/ja/agent-sdk/python#message-types)と[TypeScript メッセージタイプリファレンス](/ja/agent-sdk/typescript#message-types)を参照してください。62これら 5 つのタイプは、両方の SDK でエージェントループライフサイクル全体をカバーしています。TypeScript SDK は、追加の観測可能性イベント(フックイベント、ツール進捗、レート制限、タスク通知)も生成し、追加の詳細を提供しますが、ループを駆動するために必須ではありません。完全なリストについては、[Python メッセージタイプリファレンス](/ja/agent-sdk/python#message-types)と[TypeScript メッセージタイプリファレンス](/ja/agent-sdk/typescript#message-types)を参照してください。

57 63 

58### メッセージを処理する64<h3 id="handle-messages">

65 メッセージを処理する

66</h3>

59 67 

60処理するメッセージは、構築しているものによって異なります。68処理するメッセージは、構築しているものによって異なります。

61 69 


102 </CodeGroup>110 </CodeGroup>

103</Accordion>111</Accordion>

104 112 

105## ツール実行113<h2 id="tool-execution">

114 ツール実行

115</h2>

106 116 

107ツールはエージェントにアクションを実行する機能を提供します。ツールがなければ、Claude はテキストでのみ応答できます。ツールを使用すると、Claude はファイルを読み取り、コマンドを実行し、コードを検索し、外部サービスと相互作用できます。117ツールはエージェントにアクションを実行する機能を提供します。ツールがなければ、Claude はテキストでのみ応答できます。ツールを使用すると、Claude はファイルを読み取り、コマンドを実行し、コードを検索し、外部サービスと相互作用できます。

108 118 

109### 組み込みツール119<h3 id="built-in-tools">

120 組み込みツール

121</h3>

110 122 

111SDK には Claude Code を支えるのと同じツールが含まれています。123SDK には Claude Code を支えるのと同じツールが含まれています。

112 124 


125* **カスタムツールを定義する** [カスタムツールハンドラー](/ja/agent-sdk/custom-tools)137* **カスタムツールを定義する** [カスタムツールハンドラー](/ja/agent-sdk/custom-tools)

126* **プロジェクトスキルをロードする** [設定ソース](/ja/agent-sdk/claude-code-features)経由で再利用可能なワークフロー138* **プロジェクトスキルをロードする** [設定ソース](/ja/agent-sdk/claude-code-features)経由で再利用可能なワークフロー

127 139 

128### ツール権限140<h3 id="tool-permissions">

141 ツール権限

142</h3>

129 143 

130Claude はタスクに基づいてどのツールを呼び出すかを決定しますが、それらの呼び出しの実行を許可するかどうかを制御します。特定のツールを自動承認したり、他のツールを完全にブロックしたり、すべてに対して承認を要求したりできます。3 つのオプションが連携して、何が実行されるかを決定します。144Claude はタスクに基づいてどのツールを呼び出すかを決定しますが、それらの呼び出しの実行を許可するかどうかを制御します。特定のツールを自動承認したり、他のツールを完全にブロックしたり、すべてに対して承認を要求したりできます。3 つのオプションが連携して、何が実行されるかを決定します。

131 145 


137 151 

138ツールが拒否されると、Claude はツール結果として拒否メッセージを受け取り、通常は別のアプローチを試みるか、進めなかったことを報告します。152ツールが拒否されると、Claude はツール結果として拒否メッセージを受け取り、通常は別のアプローチを試みるか、進めなかったことを報告します。

139 153 

140### 並列ツール実行154<h3 id="parallel-tool-execution">

155 並列ツール実行

156</h3>

141 157 

142Claude が単一のターンで複数のツール呼び出しをリクエストすると、両方の SDK はツールに応じて同時または順序に実行できます。読み取り専用ツール(`Read`、`Glob`、`Grep`、読み取り専用としてマークされた MCP ツール)は同時に実行できます。状態を変更するツール(`Edit`、`Write`、`Bash`)は競合を避けるために順序に実行されます。158Claude が単一のターンで複数のツール呼び出しをリクエストすると、両方の SDK はツールに応じて同時または順序に実行できます。読み取り専用ツール(`Read`、`Glob`、`Grep`、読み取り専用としてマークされた MCP ツール)は同時に実行できます。状態を変更するツール(`Edit`、`Write`、`Bash`)は競合を避けるために順序に実行されます。

143 159 

144カスタムツールはデフォルトで順序実行されます。カスタムツールの並列実行を有効にするには、その注釈で `readOnlyHint` を設定します。[TypeScript](/ja/agent-sdk/typescript#tool)と[Python](/ja/agent-sdk/python#tool)SDK の両方は MCP SDK からこのフィールド名を使用します。160カスタムツールはデフォルトで順序実行されます。カスタムツールの並列実行を有効にするには、その注釈で `readOnlyHint` を設定します。[TypeScript](/ja/agent-sdk/typescript#tool)と[Python](/ja/agent-sdk/python#tool)SDK の両方は MCP SDK からこのフィールド名を使用します。

145 161 

146## ループの実行方法を制御する162<h2 id="control-how-the-loop-runs">

163 ループの実行方法を制御する

164</h2>

147 165 

148ループが実行するターン数、コスト、Claude がどの程度推論するか、ツールが実行前に承認を必要とするかどうかを制限できます。これらはすべて[`ClaudeAgentOptions`](/ja/agent-sdk/python#claudeagentoptions)(Python)/ [`Options`](/ja/agent-sdk/typescript#options)(TypeScript)のフィールドです。166ループが実行するターン数、コスト、Claude がどの程度推論するか、ツールが実行前に承認を必要とするかどうかを制限できます。これらはすべて[`ClaudeAgentOptions`](/ja/agent-sdk/python#claudeagentoptions)(Python)/ [`Options`](/ja/agent-sdk/typescript#options)(TypeScript)のフィールドです。

149 167 

150### ターンと予算168<h3 id="turns-and-budget">

169 ターンと予算

170</h3>

151 171 

152| オプション | 制御内容 | デフォルト |172| オプション | 制御内容 | デフォルト |

153| :-------------------------------------- | :--------- | :---- |173| :-------------------------------------- | :--------- | :---- |


156 176 

157どちらかの制限に達すると、SDK は対応するエラーサブタイプ(`error_max_turns` または `error_max_budget_usd`)を含む `ResultMessage` を返します。これらのサブタイプをチェックする方法については[結果を処理する](#handle-the-result)を、構文については[`ClaudeAgentOptions`](/ja/agent-sdk/python#claudeagentoptions) / [`Options`](/ja/agent-sdk/typescript#options)を参照してください。177どちらかの制限に達すると、SDK は対応するエラーサブタイプ(`error_max_turns` または `error_max_budget_usd`)を含む `ResultMessage` を返します。これらのサブタイプをチェックする方法については[結果を処理する](#handle-the-result)を、構文については[`ClaudeAgentOptions`](/ja/agent-sdk/python#claudeagentoptions) / [`Options`](/ja/agent-sdk/typescript#options)を参照してください。

158 178 

159### 努力レベル179<h3 id="effort-level">

180 努力レベル

181</h3>

160 182 

161`effort` オプションは Claude が適用する推論の量を制御します。低い努力レベルはターンあたりのトークンが少なく、コストが削減されます。すべてのモデルが努力パラメータをサポートしているわけではありません。どのモデルがサポートしているかについては、[努力](https://platform.claude.com/docs/ja/build-with-claude/effort)を参照してください。183`effort` オプションは Claude が適用する推論の量を制御します。低い努力レベルはターンあたりのトークンが少なく、コストが削減されます。すべてのモデルが努力パラメータをサポートしているわけではありません。どのモデルがサポートしているかについては、[努力](https://platform.claude.com/docs/ja/build-with-claude/effort)を参照してください。

162 184 


176 198 

177単純でスコープが明確なタスク(ファイルのリストや単一の grep の実行など)を実行するエージェントの場合は、低い努力を使用してコストとレイテンシを削減します。トップレベルの `query()` オプションでセッション全体に `effort` を設定するか、[`AgentDefinition`](/ja/agent-sdk/subagents#agentdefinition-configuration)の `effort` フィールドでサブエージェントごとにセッションレベルをオーバーライドします。199単純でスコープが明確なタスク(ファイルのリストや単一の grep の実行など)を実行するエージェントの場合は、低い努力を使用してコストとレイテンシを削減します。トップレベルの `query()` オプションでセッション全体に `effort` を設定するか、[`AgentDefinition`](/ja/agent-sdk/subagents#agentdefinition-configuration)の `effort` フィールドでサブエージェントごとにセッションレベルをオーバーライドします。

178 200 

179### 権限モード201<h3 id="permission-mode">

202 権限モード

203</h3>

180 204 

181権限モードオプション(Python では `permission_mode`、TypeScript では `permissionMode`)は、エージェントがツールを使用する前に承認を求めるかどうかを制御します。205権限モードオプション(Python では `permission_mode`、TypeScript では `permissionMode`)は、エージェントがツールを使用する前に承認を求めるかどうかを制御します。

182 206 


191 215 

192インタラクティブアプリケーションの場合は、ツール承認コールバックで `"default"` を使用して承認プロンプトを表示します。開発マシン上の自律型エージェントの場合は、`"acceptEdits"` を使用してファイル編集と一般的なファイルシステムコマンド(`mkdir`、`touch`、`mv`、`cp` など)を自動承認しながら、他の `Bash` コマンドを許可ルールの背後にゲートします。CI、コンテナ、またはその他の隔離環境に対して `"bypassPermissions"` を予約します。詳細については、[権限](/ja/agent-sdk/permissions)を参照してください。216インタラクティブアプリケーションの場合は、ツール承認コールバックで `"default"` を使用して承認プロンプトを表示します。開発マシン上の自律型エージェントの場合は、`"acceptEdits"` を使用してファイル編集と一般的なファイルシステムコマンド(`mkdir`、`touch`、`mv`、`cp` など)を自動承認しながら、他の `Bash` コマンドを許可ルールの背後にゲートします。CI、コンテナ、またはその他の隔離環境に対して `"bypassPermissions"` を予約します。詳細については、[権限](/ja/agent-sdk/permissions)を参照してください。

193 217 

194### モデル218<h3 id="model">

219 モデル

220</h3>

195 221 

196`model` を設定しない場合、SDK は Claude Code のデフォルトを使用します。これは認証方法とサブスクリプションによって異なります。特定のモデルをピン留めするか、より高速で安価なエージェント用に小さいモデルを使用するために明示的に設定します(たとえば、`model="claude-sonnet-4-6"`)。利用可能な ID については、[モデル](https://platform.claude.com/docs/ja/about-claude/models)を参照してください。222`model` を設定しない場合、SDK は Claude Code のデフォルトを使用します。これは認証方法とサブスクリプションによって異なります。特定のモデルをピン留めするか、より高速で安価なエージェント用に小さいモデルを使用するために明示的に設定します(たとえば、`model="claude-sonnet-4-6"`)。利用可能な ID については、[モデル](https://platform.claude.com/docs/ja/about-claude/models)を参照してください。

197 223 

198## コンテキストウィンドウ224<h2 id="the-context-window">

225 コンテキストウィンドウ

226</h2>

199 227 

200コンテキストウィンドウは、セッション中に Claude が利用できる情報の総量です。セッション内のターン間でリセットされません。すべてが蓄積されます。システムプロンプト、ツール定義、会話履歴、ツール入力、およびツール出力。ターン間で同じままのコンテンツ(システムプロンプト、ツール定義、CLAUDE.md)は自動的に[プロンプトキャッシュ](https://platform.claude.com/docs/ja/build-with-claude/prompt-caching)され、繰り返されるプリフィックスのコストとレイテンシが削減されます。228コンテキストウィンドウは、セッション中に Claude が利用できる情報の総量です。セッション内のターン間でリセットされません。すべてが蓄積されます。システムプロンプト、ツール定義、会話履歴、ツール入力、およびツール出力です。ターン間で同じままのコンテンツ(システムプロンプト、ツール定義、CLAUDE.md)は自動的に[プロンプトキャッシュ](https://platform.claude.com/docs/ja/build-with-claude/prompt-caching)され、繰り返されるプリフィックスのコストとレイテンシが削減されます。

201 229 

202### コンテキストを消費するもの230<h3 id="what-consumes-context">

231 コンテキストを消費するもの

232</h3>

203 233 

204SDK でのコンテキストへの各コンポーネントの影響は次のとおりです。234SDK でのコンテキストへの各コンポーネントの影響は次のとおりです。

205 235 


213 243 

214大きなツール出力は大量のコンテキストを消費します。大きなファイルを読み取るか、詳細な出力を含むコマンドを実行すると、単一のターンで数千のトークンを使用できます。コンテキストはターン間で蓄積されるため、多くのツール呼び出しを含む長いセッションは、短いセッションよりもはるかに多くのコンテキストを構築します。244大きなツール出力は大量のコンテキストを消費します。大きなファイルを読み取るか、詳細な出力を含むコマンドを実行すると、単一のターンで数千のトークンを使用できます。コンテキストはターン間で蓄積されるため、多くのツール呼び出しを含む長いセッションは、短いセッションよりもはるかに多くのコンテキストを構築します。

215 245 

216### 自動圧縮246<h3 id="automatic-compaction">

247 自動圧縮

248</h3>

217 249 

218コンテキストウィンドウが制限に近づくと、SDK は会話を自動的に圧縮します。古い履歴を要約してスペースを解放し、最新の交換と重要な決定を保持します。SDK はこれが発生したときにストリームで `type: "system"` と `subtype: "compact_boundary"` を含むメッセージを生成します(Python では `SystemMessage`。TypeScript では別の `SDKCompactBoundaryMessage` タイプです)。250コンテキストウィンドウが制限に近づくと、SDK は会話を自動的に圧縮します。古い履歴を要約してスペースを解放し、最新の交換と重要な決定を保持します。SDK はこれが発生したときにストリームで `type: "system"` と `subtype: "compact_boundary"` を含むメッセージを生成します(Python では `SystemMessage`。TypeScript では別の `SDKCompactBoundaryMessage` タイプです)。

219 251 


223 255 

224* **CLAUDE.md の要約指示:** 圧縮機は他のコンテキストと同様に CLAUDE.md を読むため、要約時に保持する内容を指示するセクションを含めることができます。セクションヘッダーは自由形式です(マジック文字列ではありません)。圧縮機は意図に基づいて一致します。256* **CLAUDE.md の要約指示:** 圧縮機は他のコンテキストと同様に CLAUDE.md を読むため、要約時に保持する内容を指示するセクションを含めることができます。セクションヘッダーは自由形式です(マジック文字列ではありません)。圧縮機は意図に基づいて一致します。

225* **`PreCompact` フック:** 圧縮が発生する前にカスタムロジックを実行します。たとえば、完全なトランスクリプトをアーカイブします。フックは `trigger` フィールド(`manual` または `auto`)を受け取ります。[hooks](/ja/agent-sdk/hooks)を参照してください。257* **`PreCompact` フック:** 圧縮が発生する前にカスタムロジックを実行します。たとえば、完全なトランスクリプトをアーカイブします。フックは `trigger` フィールド(`manual` または `auto`)を受け取ります。[hooks](/ja/agent-sdk/hooks)を参照してください。

226* **手動圧縮:** `/compact` をプロンプト文字列として送信して、オンデマンドで圧縮をトリガーします。(この方法で送信されるスラッシュコマンドは CLI のみのショートカットではなくSDK 入力です。[SDK のスラッシュコマンド](/ja/agent-sdk/slash-commands)を参照してください。258* **手動圧縮:** `/compact` をプロンプト文字列として送信して、オンデマンドで圧縮をトリガーします。この方法で送信されるコマンドは SDK 入力でありCLI のみのショートカットではありません。[SDK のコマンド](/ja/agent-sdk/slash-commands)を参照してください。

227 259 

228<Accordion title="例:CLAUDE.md の要約指示">260<Accordion title="例:CLAUDE.md の要約指示">

229 プロジェクトの CLAUDE.md にセクションを追加して、圧縮機に保持する内容を指示します。ヘッダー名は特別ではありません。明確なラベルを使用してください。261 プロジェクトの CLAUDE.md にセクションを追加して、圧縮機に保持する内容を指示します。ヘッダー名は特別ではありません。明確なラベルを使用してください。


239 ```271 ```

240</Accordion>272</Accordion>

241 273 

242### コンテキストを効率的に保つ274<h3 id="keep-context-efficient">

275 コンテキストを効率的に保つ

276</h3>

243 277 

244長時間実行されるエージェントのいくつかの戦略。278長時間実行されるエージェントのいくつかの戦略。

245 279 


250 284 

251機能ごとのコンテキストコストの詳細な内訳については、[コンテキストコストを理解する](/ja/features-overview#understand-context-costs)を参照してください。285機能ごとのコンテキストコストの詳細な内訳については、[コンテキストコストを理解する](/ja/features-overview#understand-context-costs)を参照してください。

252 286 

253## セッションと継続性287<h2 id="sessions-and-continuity">

288 セッションと継続性

289</h2>

254 290 

255SDK との各インタラクションはセッションを作成または継続します。`ResultMessage.session_id` からセッション ID をキャプチャして(両方の SDK で利用可能)、後で再開します。TypeScript SDK は init `SystemMessage` の直接フィールドとしても公開します。Python では、`SystemMessage.data` にネストされています。291SDK との各インタラクションはセッションを作成または継続します。`ResultMessage.session_id` からセッション ID をキャプチャして(両方の SDK で利用可能)、後で再開します。TypeScript SDK は init `SystemMessage` の直接フィールドとしても公開します。Python では、`SystemMessage.data` にネストされています。

256 292 


262 Python では、`ClaudeSDKClient` は複数の呼び出し間でセッション ID を自動的に処理します。詳細については、[Python SDK リファレンス](/ja/agent-sdk/python#choosing-between-query-and-claudesdkclient)を参照してください。298 Python では、`ClaudeSDKClient` は複数の呼び出し間でセッション ID を自動的に処理します。詳細については、[Python SDK リファレンス](/ja/agent-sdk/python#choosing-between-query-and-claudesdkclient)を参照してください。

263</Note>299</Note>

264 300 

265## 結果を処理する301<h2 id="handle-the-result">

302 結果を処理する

303</h2>

266 304 

267ループが終了すると、`ResultMessage` は何が起こったかを示し、出力を提供します。`subtype` フィールド(両方の SDK で利用可能)は、終了状態をチェックする主な方法です。305ループが終了すると、`ResultMessage` は何が起こったかを示し、出力を提供します。`subtype` フィールド(両方の SDK で利用可能)は、終了状態をチェックする主な方法です。

268 306 


278 316 

279結果には、モデルが最終ターンで生成を停止した理由を示す `stop_reason` フィールド(TypeScript では `string | null`、Python では `str | None`)も含まれます。一般的な値は `end_turn`(モデルが通常終了)、`max_tokens`(出力トークン制限に達した)、および `refusal`(モデルがリクエストを拒否)です。エラー結果サブタイプでは、`stop_reason` はループが終了する前の最後のアシスタント応答からの値を持ちます。拒否を検出するには、`stop_reason === "refusal"`(TypeScript)または `stop_reason == "refusal"`(Python)をチェックしてください。完全なタイプについては、[`SDKResultMessage`](/ja/agent-sdk/typescript#sdkresultmessage)(TypeScript)または[`ResultMessage`](/ja/agent-sdk/python#resultmessage)(Python)を参照してください。317結果には、モデルが最終ターンで生成を停止した理由を示す `stop_reason` フィールド(TypeScript では `string | null`、Python では `str | None`)も含まれます。一般的な値は `end_turn`(モデルが通常終了)、`max_tokens`(出力トークン制限に達した)、および `refusal`(モデルがリクエストを拒否)です。エラー結果サブタイプでは、`stop_reason` はループが終了する前の最後のアシスタント応答からの値を持ちます。拒否を検出するには、`stop_reason === "refusal"`(TypeScript)または `stop_reason == "refusal"`(Python)をチェックしてください。完全なタイプについては、[`SDKResultMessage`](/ja/agent-sdk/typescript#sdkresultmessage)(TypeScript)または[`ResultMessage`](/ja/agent-sdk/python#resultmessage)(Python)を参照してください。

280 318 

281## Hooks319<h2 id="hooks">

320 Hooks

321</h2>

282 322 

283[Hooks](/ja/agent-sdk/hooks)は、ループの特定のポイントで発火するコールバックです。ツールが実行される前、戻った後、エージェントが終了したときなど。一般的に使用されるフックは次のとおりです。323[Hooks](/ja/agent-sdk/hooks)は、ループの特定のポイントで発火するコールバックです。ツールが実行される前、戻った後、エージェントが終了したときなど。一般的に使用されるフックは次のとおりです。

284 324 


295 335 

296両方の SDK はすべての上記のイベントをサポートしています。TypeScript SDK には、Python がまだサポートしていない追加のイベントが含まれています。完全なイベントリスト、SDK ごとの利用可能性、および完全なコールバック API については、[フックで実行を制御する](/ja/agent-sdk/hooks)を参照してください。336両方の SDK はすべての上記のイベントをサポートしています。TypeScript SDK には、Python がまだサポートしていない追加のイベントが含まれています。完全なイベントリスト、SDK ごとの利用可能性、および完全なコールバック API については、[フックで実行を制御する](/ja/agent-sdk/hooks)を参照してください。

297 337 

298## すべてをまとめる338<h2 id="put-it-all-together">

339 すべてをまとめる

340</h2>

299 341 

300この例は、このページの主要な概念を、失敗するテストを修正する単一のエージェントに組み合わせています。許可されたツール(自動承認されるため、エージェントが自律的に実行される)、プロジェクト設定、およびターンと推論努力の安全制限でエージェントを構成します。ループが実行されると、潜在的な再開のためにセッション ID をキャプチャし、最終結果を処理し、総コストを出力します。342この例は、このページの主要な概念を、失敗するテストを修正する単一のエージェントに組み合わせています。許可されたツール(自動承認されるため、エージェントが自律的に実行される)、プロジェクト設定、およびターンと推論努力の安全制限でエージェントを構成します。ループが実行されると、潜在的な再開のためにセッション ID をキャプチャし、最終結果を処理し、総コストを出力します。

301 343 


382 ```424 ```

383</CodeGroup>425</CodeGroup>

384 426 

385## 次のステップ427<h2 id="next-steps">

428 次のステップ

429</h2>

386 430 

387ループを理解したので、構築しているものに応じて、ここに行くべき場所があります。431ループを理解したので、構築しているものに応じて、ここに行くべき場所があります。

388 432 

Details

12 12 

13各機能の概念的な概要と使用時期については、[Claude Code を拡張する](/ja/features-overview)を参照してください。13各機能の概念的な概要と使用時期については、[Claude Code を拡張する](/ja/features-overview)を参照してください。

14 14 

15## settingSources でファイルシステム設定を制御する15<h2 id="control-filesystem-settings-with-settingsources">

16 settingSources でファイルシステム設定を制御する

17</h2>

16 18 

17設定ソースオプション(Python では [`setting_sources`](/ja/agent-sdk/python#claudeagentoptions)、TypeScript では [`settingSources`](/ja/agent-sdk/typescript#settingsource))は、SDK が読み込むファイルシステムベースの設定を制御します。特定のソースにオプトインするための明示的なリストを渡すか、ユーザー、プロジェクト、ローカル設定を無効にするための空の配列を渡します。19設定ソースオプション(Python では [`setting_sources`](/ja/agent-sdk/python#claudeagentoptions)、TypeScript では [`settingSources`](/ja/agent-sdk/typescript#settingsource))は、SDK が読み込むファイルシステムベースの設定を制御します。特定のソースにオプトインするための明示的なリストを渡すか、ユーザー、プロジェクト、ローカル設定を無効にするための空の配列を渡します。

18 20 


77 79 

78`cwd` オプションは、SDK がプロジェクトレベルの入力を探す場所を決定します。CLAUDE.md とルールは `<cwd>` と全親ディレクトリから読み込まれます。スキルは `<cwd>` とリポジトリルートまでの全親ディレクトリから読み込まれます。プロジェクト `settings.json` とフックは `<cwd>/.claude/` からのみ読み込まれ、親ディレクトリへのフォールバックはありません。80`cwd` オプションは、SDK がプロジェクトレベルの入力を探す場所を決定します。CLAUDE.md とルールは `<cwd>` と全親ディレクトリから読み込まれます。スキルは `<cwd>` とリポジトリルートまでの全親ディレクトリから読み込まれます。プロジェクト `settings.json` とフックは `<cwd>/.claude/` からのみ読み込まれ、親ディレクトリへのフォールバックはありません。

79 81 

80### settingSources が制御しないもの82<h3 id="what-settingsources-does-not-control">

83 settingSources が制御しないもの

84</h3>

81 85 

82`settingSources` はユーザー、プロジェクト、ローカル設定をカバーします。その値に関係なく読み込まれるいくつかの入力があります。86`settingSources` はユーザー、プロジェクト、ローカル設定をカバーします。その値に関係なく読み込まれるいくつかの入力があります。

83 87 

84| 入力 | 動作 | 無効にするには |88| 入力 | 動作 | 無効にするには |

85| :-------------------------------------------- | :----------------------- | :--------------------------------------------------------------------------------------- |89| :----------------------------------------------------------- | :----------------------------------------------------------------------- | :--------------------------------------------------------------------------------------- |

86| マネージドポリシー設定 | ホストに存在する場合は常に読み込まれます | マネージド設定ファイルを削除します |90| マネージドポリシー設定 | ホストに存在する場合は常に読み込まれます | マネージド設定ファイルを削除します |

87| `~/.claude.json` グローバル設定 | 常に読み込まれます | `env` の `CLAUDE_CONFIG_DIR` で再配置します |91| `~/.claude.json` グローバル設定 | 常に読み込まれます | `env` の `CLAUDE_CONFIG_DIR` で再配置します |

88| `~/.claude/projects/<project>/memory/` の自動メモリ | デフォルトではシステムプロンプトに読み込まれます | 設定で `autoMemoryEnabled: false` を設定するか、`env` で `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` を設定します |92| `~/.claude/projects/<project>/memory/` の自動メモリ | デフォルトではシステムプロンプトに読み込まれます | 設定で `autoMemoryEnabled: false` を設定するか、`env` で `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` を設定します |

93| [claude.ai MCP コネクタ](/ja/mcp#use-mcp-servers-from-claude-ai) | アクティブな認証方法が claude.ai サブスクリプションの場合に読み込まれます。`mcpServers: {}` を渡しても抑制されません | `strictMcpConfig: true` を設定するか、`env` で `ENABLE_CLAUDEAI_MCP_SERVERS=false` を設定します |

89 94 

90<Warning>95<Warning>

91 マルチテナント分離のためにデフォルトの `query()` オプションに依存しないでください。上記の入力は `settingSources` に関係なく読み込まれるため、SDK プロセスはホストレベルの設定とディレクトリごとのメモリを取得できます。マルチテナント展開の場合は、各テナントを独自のファイルシステムで実行し、`settingSources: []` と `env` で `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` を設定します。[セキュアな展開](/ja/agent-sdk/secure-deployment)を参照してください。96 マルチテナント分離のためにデフォルトの `query()` オプションに依存しないでください。上記の入力は `settingSources` に関係なく読み込まれるため、SDK プロセスはホストレベルの設定とディレクトリごとのメモリを取得できます。マルチテナント展開の場合は、各テナントを独自のファイルシステムで実行し、`settingSources: []` と `env` で `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` を設定します。[セキュアな展開](/ja/agent-sdk/secure-deployment)を参照してください。

92</Warning>97</Warning>

93 98 

94## プロジェクト指示(CLAUDE.md とルール)99<h2 id="project-instructions-claude-md-and-rules">

100 プロジェクト指示(CLAUDE.md とルール)

101</h2>

95 102 

96`CLAUDE.md` ファイルと `.claude/rules/*.md` ファイルは、エージェントにプロジェクトに関する永続的なコンテキストを提供します。コーディング規約、ビルドコマンド、アーキテクチャの決定、指示です。`settingSources` に `"project"` が含まれている場合(上記の例のように)、SDK はセッション開始時にこれらのファイルをコンテキストに読み込みます。その後、エージェントはプロジェクト規約に従い、すべてのプロンプトで繰り返す必要がありません。103`CLAUDE.md` ファイルと `.claude/rules/*.md` ファイルは、エージェントにプロジェクトに関する永続的なコンテキストを提供します。コーディング規約、ビルドコマンド、アーキテクチャの決定、指示です。`settingSources` に `"project"` が含まれている場合(上記の例のように)、SDK はセッション開始時にこれらのファイルをコンテキストに読み込みます。その後、エージェントはプロジェクト規約に従い、すべてのプロンプトで繰り返す必要がありません。

97 104 

98### CLAUDE.md 読み込み場所105<h3 id="claude-md-load-locations">

106 CLAUDE.md 読み込み場所

107</h3>

99 108 

100| レベル | 場所 | 読み込まれるとき |109| レベル | 場所 | 読み込まれるとき |

101| :-------------- | :------------------------------------------------------------------------- | :---------------------------------------------------------------------------- |110| :-------------- | :------------------------------------------------------------------------- | :---------------------------------------------------------------------------- |


115 124 

116CLAUDE.md コンテンツの構造と整理方法については、[Claude のメモリを管理する](/ja/memory)を参照してください。125CLAUDE.md コンテンツの構造と整理方法については、[Claude のメモリを管理する](/ja/memory)を参照してください。

117 126 

118## スキル127<h2 id="skills">

128 スキル

129</h2>

119 130 

120スキルは、エージェントに専門知識と呼び出し可能なワークフローを提供するマークダウンファイルです。`CLAUDE.md`(すべてのセッションで読み込まれる)とは異なり、スキルはオンデマンドで読み込まれます。エージェントはスタートアップ時にスキルの説明を受け取り、関連するときに完全なコンテンツを読み込みます。131スキルは、エージェントに専門知識と呼び出し可能なワークフローを提供するマークダウンファイルです。`CLAUDE.md`(すべてのセッションで読み込まれる)とは異なり、スキルはオンデマンドで読み込まれます。エージェントはスタートアップ時にスキルの説明を受け取り、関連するときに完全なコンテンツを読み込みます。

121 132 

122スキルは `settingSources` を通じてファイルシステムから検出されます。`query()` の `skills` オプションが省略されている場合、検出されたユーザーとプロジェクトのスキルが有効になり、Skill ツールが利用可能になります。これは CLI の動作と一致します。どのスキルを有効にするかを制御するには、`skills` を `"all"`、スキル名のリスト、または `[]` を渡してすべてを無効にします。SDK は `skills` が設定されている場合、Skill ツールを自動的に有効にするため、`allowedTools` に追加する必要はありません133スキルは `settingSources` を通じてファイルシステムから検出されます。`query()` の `skills` オプションが省略されている場合、検出されたユーザーとプロジェクトのスキルが有効になり、Skill ツールが利用可能になります。これは CLI の動作と一致します。どのスキルを有効にするかを制御するには、`skills` を `"all"`、スキル名のリスト、または `[]` を渡してすべてを無効にします。`skills` が設定されている場合、SDK は Skill ツールを `allowedTools` に自動的に追加します明示的な `tools` リストも渡す場合は、Claude がスキルを呼び出せるようにそのリストに `"Skill"` を含めてください。

123 134 

124<CodeGroup>135<CodeGroup>

125 ```python Python theme={null}136 ```python Python theme={null}


165 176 

166スキルの作成と使用の詳細については、[SDK のエージェントスキル](/ja/agent-sdk/skills)を参照してください。177スキルの作成と使用の詳細については、[SDK のエージェントスキル](/ja/agent-sdk/skills)を参照してください。

167 178 

168## フック179<h2 id="hooks">

180 フック

181</h2>

169 182 

170SDK は 2 つの方法でフックを定義することをサポートしており、それらは並行して実行されます。183SDK は 2 つの方法でフックを定義することをサポートしており、それらは並行して実行されます。

171 184 


174 187 

175両方のタイプは同じフックライフサイクル中に実行されます。プロジェクトの `.claude/settings.json` にフックが既にあり、`settingSources: ["project"]` を設定している場合、それらのフックは追加の設定なしで SDK で自動的に実行されます。188両方のタイプは同じフックライフサイクル中に実行されます。プロジェクトの `.claude/settings.json` にフックが既にあり、`settingSources: ["project"]` を設定している場合、それらのフックは追加の設定なしで SDK で自動的に実行されます。

176 189 

177フックコールバックはツール入力を受け取り、決定辞書を返します。`{}` (空の辞書)を返すことはツールの実行を許可することを意味します。`{"decision": "block", "reason": "..."}` を返すことは実行を防ぎ、理由は Claude にツール結果として送信されます。完全なコールバック署名と戻り値の型については、[フックガイド](/ja/agent-sdk/hooks)を参照してください。190フックコールバックはツール入力を受け取り、決定辞書を返します。`{}` を返すことはツールの実行を許可することを意味します。実行をブロックするには、`permissionDecision: "deny"` `permissionDecisionReason` を含む `hookSpecificOutput` オブジェクトを返します。理由は Claude にツール結果として送信されます。トップレベルの `decision` と `reason` フィールドは `PreToolUse` では非推奨です。完全なコールバック署名と戻り値の型については、[フックガイド](/ja/agent-sdk/hooks)を参照してください。

178 191 

179<CodeGroup>192<CodeGroup>

180 ```python Python theme={null}193 ```python Python theme={null}


188 async def audit_bash(input_data, tool_use_id, context):201 async def audit_bash(input_data, tool_use_id, context):

189 command = input_data.get("tool_input", {}).get("command", "")202 command = input_data.get("tool_input", {}).get("command", "")

190 if "rm -rf" in command:203 if "rm -rf" in command:

191 return {"decision": "block", "reason": "Destructive command blocked"}204 return {

205 "hookSpecificOutput": {

206 "hookEventName": "PreToolUse",

207 "permissionDecision": "deny",

208 "permissionDecisionReason": "Destructive command blocked",

209 }

210 }

192 return {} # Empty dict: allow the tool to proceed211 return {} # Empty dict: allow the tool to proceed

193 212 

194 213 


219 if (input.hook_event_name !== "PreToolUse") return {};238 if (input.hook_event_name !== "PreToolUse") return {};

220 const toolInput = input.tool_input as { command?: string };239 const toolInput = input.tool_input as { command?: string };

221 if (toolInput.command?.includes("rm -rf")) {240 if (toolInput.command?.includes("rm -rf")) {

222 return { decision: "block", reason: "Destructive command blocked" };241 return {

242 hookSpecificOutput: {

243 hookEventName: "PreToolUse",

244 permissionDecision: "deny",

245 permissionDecisionReason: "Destructive command blocked",

246 },

247 };

223 }248 }

224 return {}; // Empty object: allow the tool to proceed249 return {}; // Empty object: allow the tool to proceed

225 };250 };


242 ```267 ```

243</CodeGroup>268</CodeGroup>

244 269 

245### どのフックタイプを使用するか270<h3 id="when-to-use-which-hook-type">

271 どのフックタイプを使用するか

272</h3>

246 273 

247| フックタイプ | 最適な用途 |274| フックタイプ | 最適な用途 |

248| :-------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |275| :-------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

249| **ファイルシステム** (`settings.json`) | CLI と SDK セッション間でフックを共有します。`"command"`(シェルスクリプト)、`"http"`(エンドポイントへの POST)、`"mcp_tool"`(接続された MCP サーバーのツールを呼び出す)、`"prompt"`(LLM がプロンプトを評価する)、`"agent"`(検証エージェントを生成する)をサポートします。これらはメインエージェントとそれが生成するサブエージェントで実行されます。 |276| **ファイルシステム** (`settings.json`) | CLI と SDK セッション間でフックを共有します。`"command"`(シェルスクリプト)、`"http"`(エンドポイントへの POST)、`"mcp_tool"`(接続された MCP サーバーのツールを呼び出す)、`"prompt"`(LLM がプロンプトを評価する)、`"agent"`(検証エージェントを生成する)をサポートします。これらはメインエージェントとそれが生成するサブエージェントで実行されます。 |

250| **プログラマティック** (`query()` のコールバック) | アプリケーション固有のロジック。構造化された決定を返すプロセス内統合メインセッションのみにスコープされます |277| **プログラマティック** (`query()` のコールバック) | アプリケーション固有のロジック、構造化された決定、およびプロセス内統合これらはサブエージェント内でも実行されますコールバックは `agent_id` と `agent_type` を受け取り、区別することができます |

251 278 

252<Note>279<Note>

253 TypeScript SDK は Python を超えた追加のフックイベントをサポートしており、`SessionStart`、`SessionEnd`、`TeammateIdle`、`TaskCompleted` が含まれます。完全なイベント互換性テーブルについては、[フックガイド](/ja/agent-sdk/hooks)を参照してください。280 TypeScript SDK は Python を超えた追加のフックイベントをサポートしており、`SessionStart`、`SessionEnd`、`TeammateIdle`、`TaskCompleted` が含まれます。完全なイベント互換性テーブルについては、[フックガイド](/ja/agent-sdk/hooks)を参照してください。


255 282 

256プログラマティックフックの詳細については、[フックで実行を制御する](/ja/agent-sdk/hooks)を参照してください。ファイルシステムフック構文については、[フック](/ja/hooks)を参照してください。283プログラマティックフックの詳細については、[フックで実行を制御する](/ja/agent-sdk/hooks)を参照してください。ファイルシステムフック構文については、[フック](/ja/hooks)を参照してください。

257 284 

258## 適切な機能を選択する285<h2 id="choose-the-right-feature">

286 適切な機能を選択する

287</h2>

259 288 

260Agent SDK は、エージェントの動作を拡張するいくつかの方法へのアクセスを提供します。どれを使用するか不確かな場合、このテーブルは一般的な目標を正しいアプローチにマップします。289Agent SDK は、エージェントの動作を拡張するいくつかの方法へのアクセスを提供します。どれを使用するか不確かな場合、このテーブルは一般的な目標を正しいアプローチにマップします。

261 290 


275 304 

276有効にする機能ごとに、エージェントのコンテキストウィンドウに追加されます。機能ごとのコストとこれらの機能がどのように層状に配置されるかについては、[Extend Claude Code](/ja/features-overview#understand-context-costs)を参照してください。305有効にする機能ごとに、エージェントのコンテキストウィンドウに追加されます。機能ごとのコストとこれらの機能がどのように層状に配置されるかについては、[Extend Claude Code](/ja/features-overview#understand-context-costs)を参照してください。

277 306 

278## 関連リソース307<h2 id="related-resources">

308 関連リソース

309</h2>

279 310 

280* [Claude Code を拡張する](/ja/features-overview):すべての拡張機能の概念的な概要、比較テーブル、コンテキストコスト分析311* [Claude Code を拡張する](/ja/features-overview):すべての拡張機能の概念的な概要、比較テーブル、コンテキストコスト分析

281* [SDK のスキル](/ja/agent-sdk/skills):スキルをプログラムで使用するための完全なガイド312* [SDK のスキル](/ja/agent-sdk/skills):スキルをプログラムで使用するための完全なガイド

Details

20 これらのフィールドは開発の洞察と概算予算作成に使用してください。権限のある請求については、[Usage and Cost API](https://platform.claude.com/docs/en/build-with-claude/usage-cost-api)または[Claude Console](https://platform.claude.com/usage)の Usage ページを使用してください。これらのフィールドからエンドユーザーに請求したり、財務上の決定をトリガーしたりしないでください。20 これらのフィールドは開発の洞察と概算予算作成に使用してください。権限のある請求については、[Usage and Cost API](https://platform.claude.com/docs/en/build-with-claude/usage-cost-api)または[Claude Console](https://platform.claude.com/usage)の Usage ページを使用してください。これらのフィールドからエンドユーザーに請求したり、財務上の決定をトリガーしたりしないでください。

21</Warning>21</Warning>

22 22 

23## トークン使用状況を理解する23<h2 id="understand-token-usage">

24 トークン使用状況を理解する

25</h2>

24 26 

25TypeScript と Python SDK は、異なるフィールド名で同じ使用データを公開します。27TypeScript と Python SDK は、異なるフィールド名で同じ使用データを公開します。

26 28 


31 33 

32コスト追跡は、SDK が使用データをどのようにスコープするかを理解することに依存します。34コスト追跡は、SDK が使用データをどのようにスコープするかを理解することに依存します。

33 35 

34* **`query()` 呼び出し:** SDK の `query()` 関数の 1 つの呼び出し。単一の呼び出しは複数のステップを含むことができます(Claude が応答し、ツールを使用し、結果を取得し、再度応答します)。各呼び出しは最後に 1 つの[`result`](/ja/agent-sdk/typescript#sdk-result-message)メッセージを生成します。36* **`query()` 呼び出し:** SDK の `query()` 関数の 1 つの呼び出し。単一の呼び出しは複数のステップを含むことができます(Claude が応答し、ツールを使用し、結果を取得し、再度応答します)。各呼び出しは最後に 1 つの[`result`](/ja/agent-sdk/typescript#sdkresultmessage)メッセージを生成します。

35* **ステップ:** `query()` 呼び出し内の単一のリクエスト/レスポンスサイクル。各ステップはトークン使用情報を含むアシスタントメッセージを生成します。37* **ステップ:** `query()` 呼び出し内の単一のリクエスト/レスポンスサイクル。各ステップはトークン使用情報を含むアシスタントメッセージを生成します。

36* **セッション:** セッション ID でリンクされた一連の `query()` 呼び出し(`resume` オプションを使用)。セッション内の各 `query()` 呼び出しは独立してコストを報告します。38* **セッション:** セッション ID でリンクされた一連の `query()` 呼び出し(`resume` オプションを使用)。セッション内の各 `query()` 呼び出しは独立してコストを報告します。

37 39 


45 </Step>47 </Step>

46 48 

47 <Step title="結果メッセージは累積推定値を提供します">49 <Step title="結果メッセージは累積推定値を提供します">

48 `query()` 呼び出しが完了すると、SDK は `total_cost_usd` と累積 `usage` を含む結果メッセージを発行します。これは TypeScript([`SDKResultMessage`](/ja/agent-sdk/typescript#sdk-result-message))と Python([`ResultMessage`](/ja/agent-sdk/python#result-message))の両方で利用可能です。複数の `query()` 呼び出しを行う場合(たとえば、マルチターンセッション)、各結果はその個別の呼び出しのコストのみを反映します。推定合計のみが必要な場合は、ステップごとの使用を無視して、この単一の値を読むことができます。50 `query()` 呼び出しが完了すると、SDK は `total_cost_usd` と累積 `usage` を含む結果メッセージを発行します。これは TypeScript([`SDKResultMessage`](/ja/agent-sdk/typescript#sdkresultmessage))と Python([`ResultMessage`](/ja/agent-sdk/python#resultmessage))の両方で利用可能です。複数の `query()` 呼び出しを行う場合(たとえば、マルチターンセッション)、各結果はその個別の呼び出しのコストのみを反映します。推定合計のみが必要な場合は、ステップごとの使用を無視して、この単一の値を読むことができます。

49 </Step>51 </Step>

50</Steps>52</Steps>

51 53 

52## クエリの総コストを取得する54<h2 id="get-the-total-cost-of-a-query">

55 クエリの総コストを取得する

56</h2>

53 57 

54結果メッセージ([TypeScript](/ja/agent-sdk/typescript#sdk-result-message)、[Python](/ja/agent-sdk/python#result-message))は、`query()` 呼び出しのエージェントループの終了をマークします。これには `total_cost_usd` が含まれており、その呼び出し内のすべてのステップにわたる累積推定コストです。これは成功と エラー結果の両方で機能します。セッションを使用して複数の `query()` 呼び出しを行う場合、各結果はその個別の呼び出しのコストのみを反映します。58結果メッセージ([TypeScript](/ja/agent-sdk/typescript#sdkresultmessage)、[Python](/ja/agent-sdk/python#resultmessage))は、`query()` 呼び出しのエージェントループの終了をマークします。これには `total_cost_usd` が含まれており、その呼び出し内のすべてのステップにわたる累積推定コストです。これは成功とエラー結果の両方で機能します。セッションを使用して複数の `query()` 呼び出しを行う場合、各結果はその個別の呼び出しのコストのみを反映します。

55 59 

56次の例は、`query()` 呼び出しからのメッセージストリームを反復処理し、`result` メッセージが到着したときに総コストを出力します。60次の例は、`query()` 呼び出しからのメッセージストリームを反復処理し、`result` メッセージが到着したときに総コストを出力します。

57 61 


81 ```85 ```

82</CodeGroup>86</CodeGroup>

83 87 

84## ステップごとおよびモデルごとの使用状況を追跡する88<h2 id="track-per-step-and-per-model-usage">

89 ステップごとおよびモデルごとの使用状況を追跡する

90</h2>

85 91 

86このセクションの例は TypeScript フィールド名を使用します。Python では、同等のフィールドはステップごとの使用状況の[`AssistantMessage.usage`](/ja/agent-sdk/python#assistant-message)と `AssistantMessage.message_id`、およびモデルごとの分解の[`ResultMessage.model_usage`](/ja/agent-sdk/python#result-message)です。92このセクションの例は TypeScript フィールド名を使用します。Python では、同等のフィールドはステップごとの使用状況の[`AssistantMessage.usage`](/ja/agent-sdk/python#assistantmessage)と `AssistantMessage.message_id`、およびモデルごとの分解の[`ResultMessage.model_usage`](/ja/agent-sdk/python#resultmessage)です。

87 93 

88### ステップごとの使用状況を追跡する94<h3 id="track-per-step-usage">

95 ステップごとの使用状況を追跡する

96</h3>

89 97 

90各アシスタントメッセージには、ネストされた `BetaMessage`(`message.message` 経由でアクセス)が含まれており、`id` とトークン数を含む `usage` オブジェクトがあります。Claude がツールを並列で使用する場合、複数のメッセージは同じ `id` と同一の使用データを共有します。既にカウントした ID を追跡し、重複をスキップして、インフレートされた合計を避けてください。98各アシスタントメッセージには、ネストされた `BetaMessage`(`message.message` 経由でアクセス)が含まれており、`id` とトークン数を含む `usage` オブジェクトがあります。Claude がツールを並列で使用する場合、複数のメッセージは同じ `id` と同一の使用データを共有します。既にカウントした ID を追跡し、重複をスキップして、インフレートされた合計を避けてください。

91 99 


120console.log(`Output tokens: ${totalOutputTokens}`);128console.log(`Output tokens: ${totalOutputTokens}`);

121```129```

122 130 

123### モデルごとの使用状況を分解する131<h3 id="break-down-usage-per-model">

132 モデルごとの使用状況を分解する

133</h3>

124 134 

125結果メッセージには[`modelUsage`](/ja/agent-sdk/typescript#model-usage)が含まれており、これはモデル名からモデルごとのトークン数とコストへのマップです。これは複数のモデルを実行する場合(たとえば、サブエージェント用の Haiku とメインエージェント用の Opus)に便利で、トークンがどこに行っているかを確認したい場合に役立ちます。135結果メッセージには[`modelUsage`](/ja/agent-sdk/typescript#modelusage)が含まれており、これはモデル名からモデルごとのトークン数とコストへのマップです。これは複数のモデルを実行する場合(たとえば、サブエージェント用の Haiku とメインエージェント用の Opus)に便利で、トークンがどこに行っているかを確認したい場合に役立ちます。

126 136 

127次の例はクエリを実行し、使用されたモデルごとのコストとトークン分解を出力します。137次の例はクエリを実行し、使用されたモデルごとのコストとトークン分解を出力します。

128 138 


142}152}

143```153```

144 154 

145## 複数の呼び出しにわたってコストを累積する155<h2 id="accumulate-costs-across-multiple-calls">

156 複数の呼び出しにわたってコストを累積する

157</h2>

146 158 

147各 `query()` 呼び出しは独自の `total_cost_usd` を返します。SDK はセッションレベルの合計を提供しないため、アプリケーションが複数の `query()` 呼び出しを行う場合(たとえば、マルチターンセッションまたは異なるユーザー間)、合計を自分で累積してください。159各 `query()` 呼び出しは独自の `total_cost_usd` を返します。SDK はセッションレベルの合計を提供しないため、アプリケーションが複数の `query()` 呼び出しを行う場合(たとえば、マルチターンセッションまたは異なるユーザー間)、合計を自分で累積してください。

148 160 


200 ```212 ```

201</CodeGroup>213</CodeGroup>

202 214 

203## エラー、キャッシング、トークン不一致を処理する215<h2 id="handle-errors-caching-and-token-discrepancies">

216 エラー、キャッシング、トークン不一致を処理する

217</h2>

204 218 

205正確なコスト追跡のために、失敗した会話、キャッシュトークン価格、および時折の報告の不一致を考慮してください。219正確なコスト追跡のために、失敗した会話、キャッシュトークン価格、および時折の報告の不一致を考慮してください。

206 220 

207### 出力トークン不一致を解決する221<h3 id="resolve-output-token-discrepancies">

222 出力トークン不一致を解決する

223</h3>

208 224 

209まれに、同じ ID を持つメッセージに対して異なる `output_tokens` 値が観察される場合があります。これが発生した場合:225まれに、同じ ID を持つメッセージに対して異なる `output_tokens` 値が観察される場合があります。これが発生した場合:

210 226 


2122. **結果メッセージを優先する:** 結果メッセージの `total_cost_usd` は、すべてのステップにわたって SDK の累積推定値を反映するため、ステップごとの値を自分で合計するよりも信頼性が高くなります。これはまだ推定値であり、実際の請求額と異なる場合があります。2282. **結果メッセージを優先する:** 結果メッセージの `total_cost_usd` は、すべてのステップにわたって SDK の累積推定値を反映するため、ステップごとの値を自分で合計するよりも信頼性が高くなります。これはまだ推定値であり、実際の請求額と異なる場合があります。

2133. **不一致を報告する:** [Claude Code GitHub リポジトリ](https://github.com/anthropics/claude-code/issues)で問題をファイルしてください。2293. **不一致を報告する:** [Claude Code GitHub リポジトリ](https://github.com/anthropics/claude-code/issues)で問題をファイルしてください。

214 230 

215### 失敗した会話のコストを追跡する231<h3 id="track-costs-on-failed-conversations">

232 失敗した会話のコストを追跡する

233</h3>

216 234 

217成功とエラーの両方の結果メッセージには `usage` と `total_cost_usd` が含まれます。会話が途中で失敗した場合、失敗の時点までトークンを消費しています。その `subtype` に関係なく、常に結果メッセージからコストデータを読んでください。235成功とエラーの両方の結果メッセージには `usage` と `total_cost_usd` が含まれます。会話が途中で失敗した場合、失敗の時点までトークンを消費しています。その `subtype` に関係なく、常に結果メッセージからコストデータを読んでください。

218 236 

219### キャッシュトークンを追跡する237<h3 id="track-cache-tokens">

238 キャッシュトークンを追跡する

239</h3>

220 240 

221Agent SDK は[プロンプトキャッシング](https://platform.claude.com/docs/en/build-with-claude/prompt-caching)を自動的に使用して、繰り返されるコンテンツのコストを削減します。キャッシングを自分で設定する必要はありません。使用オブジェクトには、キャッシング追跡用の 2 つの追加フィールドが含まれます。241Agent SDK は [prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) を自動的に使用して、繰り返されるコンテンツのコストを削減します。キャッシングを自分で設定する必要はありません。使用オブジェクトには、キャッシング追跡用の 2 つの追加フィールドが含まれます。

222 242 

223* `cache_creation_input_tokens`:新しいキャッシュエントリを作成するために使用されるトークン(標準入力トークンより高いレートで課金)。243* `cache_creation_input_tokens`:新しいキャッシュエントリを作成するために使用されるトークン(標準入力トークンより高いレートで課金)。

224* `cache_read_input_tokens`:既存のキャッシュエントリから読み取られるトークン(削減されたレートで課金)。244* `cache_read_input_tokens`:既存のキャッシュエントリから読み取られるトークン(削減されたレートで課金)。

225 245 

226キャッシング節約を理解するために、これらを `input_tokens` とは別に追跡してください。TypeScript では、これらのフィールドは[`Usage`](/ja/agent-sdk/typescript#usage)オブジェクトで型付けされます。Python では、[`ResultMessage.usage`](/ja/agent-sdk/python#result-message)辞書のキーとして表示されます(たとえば、`message.usage.get("cache_read_input_tokens", 0)`)。246キャッシング節約を理解するために、これらを `input_tokens` とは別に追跡してください。TypeScript では、これらのフィールドは [`Usage`](/ja/agent-sdk/typescript#usage) オブジェクトで型付けされます。Python では、[`ResultMessage.usage`](/ja/agent-sdk/python#resultmessage) 辞書のキーとして表示されます(たとえば、`message.usage.get("cache_read_input_tokens", 0)`)。

227 247 

228### プロンプトキャッシュ TTL を 1 時間に延長する248<h3 id="extend-the-prompt-cache-ttl-to-one-hour">

249 プロンプトキャッシュ TTL を 1 時間に延長する

250</h3>

229 251 

230SDK によって書き込まれたキャッシュエントリは、API キーで認証するか、Amazon Bedrock、Google Cloud Vertex AI、または Microsoft Foundry で実行する場合、デフォルトで 5 分の TTL を使用します。ワークロードが同じシステムプロンプトとコンテキストに対して多くの短いセッションを実行し、セッション間に 5 分以上のギャップがある場合、キャッシュはセッション間で期限切れになり、各新しいセッションは完全な入力価格を支払います。252SDK によって書き込まれたキャッシュエントリは、API キーで認証するか、Amazon Bedrock、Google Cloud Vertex AI、または Microsoft Foundry で実行する場合、デフォルトで 5 分の TTL を使用します。ワークロードが同じシステムプロンプトとコンテキストに対して多くの短いセッションを実行し、セッション間に 5 分以上のギャップがある場合、キャッシュはセッション間で期限切れになり、各新しいセッションは完全な入力価格を支払います。

231 253 

232キャッシュ書き込みで 1 時間の TTL をリクエストするには、[`ENABLE_PROMPT_CACHING_1H`](/ja/env-vars)環境変数を設定します。シェルまたはコンテナ環境でエクスポートするか、`options.env` 経由で渡すことができます。254キャッシュ書き込みで 1 時間の TTL をリクエストするには、[`ENABLE_PROMPT_CACHING_1H`](/ja/env-vars) 環境変数を設定します。シェルまたはコンテナ環境でエクスポートするか、`options.env` 経由で渡すことができます。

233 255 

234次の例は、Bedrock で実行されているエージェントの 1 時間 TTL を有効にします。256次の例は、Bedrock で実行されているエージェントの 1 時間 TTL を有効にします。

235 257 


254 ```276 ```

255</CodeGroup>277</CodeGroup>

256 278 

2571 時間の TTL を持つキャッシュ書き込みは、5 分の書き込みより高いレートで課金されるため、これを有効にすると、より高い書き込みコストとより多くのキャッシュ読み取りがトレードオフされます。詳細については、[プロンプトキャッシング価格](https://platform.claude.com/docs/en/build-with-claude/prompt-caching)を参照してください。Claude サブスクリプションユーザーは既に 1 時間の TTL を自動的に受け取り、この変数を設定する必要はありません。2791 時間の TTL を持つキャッシュ書き込みは、5 分の書き込みより高いレートで課金されるため、これを有効にすると、より高い書き込みコストとより多くのキャッシュ読み取りがトレードオフされます。詳細については、[prompt caching pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) を参照してください。Claude サブスクリプションユーザーは既に 1 時間の TTL を自動的に受け取り、この変数を設定する必要はありません。

258 280 

259## 関連ドキュメント281<h2 id="related-documentation">

282 関連ドキュメント

283</h2>

260 284 

261* [TypeScript SDK リファレンス](/ja/agent-sdk/typescript) - 完全な API ドキュメント285* [TypeScript SDK リファレンス](/ja/agent-sdk/typescript) - 完全な API ドキュメント

262* [SDK 概要](/ja/agent-sdk/overview) - SDK の使用を開始する286* [SDK 概要](/ja/agent-sdk/overview) - SDK の使用を開始する

Details

10 10 

11このガイドでは、入力スキーマとハンドラーを使用してツールを定義し、それらを MCP サーバーにバンドルし、`query` に渡し、Claude がアクセスできるツールを制御する方法について説明します。また、エラーハンドリング、ツール注釈、および画像などの非テキストコンテンツを返す方法についても説明します。11このガイドでは、入力スキーマとハンドラーを使用してツールを定義し、それらを MCP サーバーにバンドルし、`query` に渡し、Claude がアクセスできるツールを制御する方法について説明します。また、エラーハンドリング、ツール注釈、および画像などの非テキストコンテンツを返す方法についても説明します。

12 12 

13## クイックリファレンス13<h2 id="quick-reference">

14 クイックリファレンス

15</h2>

14 16 

15| 実行したい操作 | 方法 |17| 実行したい操作 | 方法 |

16| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |18| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


24| マシン可読 JSON 結果を返す | 結果に `structuredContent` を設定します。[構造化データを返す](#return-structured-data)を参照してください。 |26| マシン可読 JSON 結果を返す | 結果に `structuredContent` を設定します。[構造化データを返す](#return-structured-data)を参照してください。 |

25| 多くのツールにスケーリングする | [ツール検索](/ja/agent-sdk/tool-search)を使用して、オンデマンドでツールを読み込みます。 |27| 多くのツールにスケーリングする | [ツール検索](/ja/agent-sdk/tool-search)を使用して、オンデマンドでツールを読み込みます。 |

26 28 

27## カスタムツールを作成する29<h2 id="create-a-custom-tool">

30 カスタムツールを作成する

31</h2>

28 32 

29ツールは 4 つの部分で定義され、TypeScript の [`tool()`](/ja/agent-sdk/typescript#tool) ヘルパーまたは Python の [`@tool`](/ja/agent-sdk/python#tool) デコレーターに引数として渡されます。33ツールは 4 つの部分で定義され、TypeScript の [`tool()`](/ja/agent-sdk/typescript#tool) ヘルパーまたは Python の [`@tool`](/ja/agent-sdk/python#tool) デコレーターに引数として渡されます。

30 34 


38 42 

39ツールを定義した後、[`createSdkMcpServer`](/ja/agent-sdk/typescript#createsdkmcpserver)(TypeScript)または [`create_sdk_mcp_server`](/ja/agent-sdk/python#create_sdk_mcp_server)(Python)でサーバーにラップします。サーバーはアプリケーション内でインプロセスで実行され、別のプロセスとしては実行されません。43ツールを定義した後、[`createSdkMcpServer`](/ja/agent-sdk/typescript#createsdkmcpserver)(TypeScript)または [`create_sdk_mcp_server`](/ja/agent-sdk/python#create_sdk_mcp_server)(Python)でサーバーにラップします。サーバーはアプリケーション内でインプロセスで実行され、別のプロセスとしては実行されません。

40 44 

41### 天気ツールの例45<h3 id="weather-tool-example">

46 天気ツールの例

47</h3>

42 48 

43この例は `get_temperature` ツールを定義し、MCP サーバーにラップします。ツールのセットアップのみを行います。`query` に渡して実行するには、以下の [カスタムツールを呼び出す](#call-a-custom-tool)を参照してください。49この例は `get_temperature` ツールを定義し、MCP サーバーにラップします。ツールのセットアップのみを行います。`query` に渡して実行するには、以下の [カスタムツールを呼び出す](#call-a-custom-tool)を参照してください。

44 50 


128 パラメーターをオプションにするには:TypeScript では、Zod フィールドに `.default()` を追加します。Python では、辞書スキーマはすべてのキーを必須として扱うため、パラメーターをスキーマから除外し、説明文字列で言及し、ハンドラーで `args.get()` で読み取ります。以下の [`get_precipitation_chance` ツール](#add-more-tools)は両方のパターンを示しています。134 パラメーターをオプションにするには:TypeScript では、Zod フィールドに `.default()` を追加します。Python では、辞書スキーマはすべてのキーを必須として扱うため、パラメーターをスキーマから除外し、説明文字列で言及し、ハンドラーで `args.get()` で読み取ります。以下の [`get_precipitation_chance` ツール](#add-more-tools)は両方のパターンを示しています。

129</Tip>135</Tip>

130 136 

131### カスタムツールを呼び出す137<h3 id="call-a-custom-tool">

138 カスタムツールを呼び出す

139</h3>

132 140 

133作成した MCP サーバーを `mcpServers` オプション経由で `query` に渡します。`mcpServers` のキーは各ツールの完全修飾名の `{server_name}` セグメントになります:`mcp__{server_name}__{tool_name}`。その名前を `allowedTools` にリストして、ツールが許可プロンプトなしで実行されるようにします。141作成した MCP サーバーを `mcpServers` オプション経由で `query` に渡します。`mcpServers` のキーは各ツールの完全修飾名の `{server_name}` セグメントになります:`mcp__{server_name}__{tool_name}`。その名前を `allowedTools` にリストして、ツールが許可プロンプトなしで実行されるようにします。

134 142 


176 ```184 ```

177</CodeGroup>185</CodeGroup>

178 186 

179### さらにツールを追加する187<h3 id="add-more-tools">

188 さらにツールを追加する

189</h3>

180 190 

181サーバーは `tools` 配列にリストされた数だけのツールを保持します。複数のツールがサーバーにある場合、`allowedTools` で各ツールを個別にリストするか、ワイルドカード `mcp__weather__*` を使用してサーバーが公開するすべてのツールをカバーできます。191サーバーは `tools` 配列にリストされた数だけのツールを保持します。複数のツールがサーバーにある場合、`allowedTools` で各ツールを個別にリストするか、ワイルドカード `mcp__weather__*` を使用してサーバーが公開するすべてのツールをカバーできます。

182 192 


265 275 

266この配列内のすべてのツールは、毎ターン、コンテキストウィンドウスペースを消費します。数十のツールを定義している場合は、[ツール検索](/ja/agent-sdk/tool-search)を参照して、代わりにオンデマンドで読み込みます。276この配列内のすべてのツールは、毎ターン、コンテキストウィンドウスペースを消費します。数十のツールを定義している場合は、[ツール検索](/ja/agent-sdk/tool-search)を参照して、代わりにオンデマンドで読み込みます。

267 277 

268### ツール注釈を追加する278<h3 id="add-tool-annotations">

279 ツール注釈を追加する

280</h3>

269 281 

270[ツール注釈](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations)は、ツールの動作を説明するオプションのメタデータです。TypeScript の `tool()` ヘルパーの 5 番目の引数として、または Python の `@tool` デコレーターの `annotations` キーワード引数として渡します。すべてのヒントフィールドはブール値です。282[ツール注釈](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations)は、ツールの動作を説明するオプションのメタデータです。TypeScript の `tool()` ヘルパーの 5 番目の引数として、または Python の `@tool` デコレーターの `annotations` キーワード引数として渡します。すべてのヒントフィールドはブール値です。

271 283 


310 322 

311[TypeScript](/ja/agent-sdk/typescript#toolannotations) または [Python](/ja/agent-sdk/python#toolannotations) リファレンスで `ToolAnnotations` を参照してください。323[TypeScript](/ja/agent-sdk/typescript#toolannotations) または [Python](/ja/agent-sdk/python#toolannotations) リファレンスで `ToolAnnotations` を参照してください。

312 324 

313## ツールアクセスを制御する325<h2 id="control-tool-access">

326 ツールアクセスを制御する

327</h2>

314 328 

315[天気ツールの例](#weather-tool-example)はサーバーを登録し、`allowedTools` にツールをリストしました。このセクションでは、ツール名がどのように構成されるか、および複数のツールがある場合や組み込みを制限したい場合にアクセスをスコープする方法について説明します。329[天気ツールの例](#weather-tool-example)はサーバーを登録し、`allowedTools` にツールをリストしました。このセクションでは、ツール名がどのように構成されるか、および複数のツールがある場合や組み込みを制限したい場合にアクセスをスコープする方法について説明します。

316 330 

317### ツール名形式331<h3 id="tool-name-format">

332 ツール名形式

333</h3>

318 334 

319MCP ツールが Claude に公開されるとき、それらの名前は特定の形式に従います。335MCP ツールが Claude に公開されるとき、それらの名前は特定の形式に従います。

320 336 

321* パターン:`mcp__{server_name}__{tool_name}`337* パターン:`mcp__{server_name}__{tool_name}`

322* 例:`weather` サーバーの `get_temperature` という名前のツールは `mcp__weather__get_temperature` になります338* 例:`weather` サーバーの `get_temperature` という名前のツールは `mcp__weather__get_temperature` になります

323 339 

324### 許可されたツールを設定する340<h3 id="configure-allowed-tools">

341 許可されたツールを設定する

342</h3>

325 343 

326`tools` オプションと許可/禁止リストは別のレイヤーで動作します。`tools` Claude のコンテキストに表示される組み込みツールを制御します許可および禁止ツールリストは、Claude がそれらを試みた後、呼び出しが承認または拒否されるかどうかを制御します344`tools` オプションと許可/禁止リストは 2 つのレイヤーに影響します可用性はツールが Claude のコンテキストに表示されるかどうかを制御し、許可は Claude がそれを試みた後に呼び出しが承認されるかどうかを制御します。`tools` と裸の名前の `disallowedTools` エントリは可用性を変更します`allowedTools` とスコープされた `disallowedTools` ルールは許可のみを変更します

327 345 

328| オプション | レイヤー | 効果 |346| オプション | レイヤー | 効果 |

329| :------------------------ | :--- | :----------------------------------------------------------------------------------------------- |347| :------------------------ | :--- | :---------------------------------------------------------------------------------------------------------------------------------- |

330| `tools: ["Read", "Grep"]` | 可用性 | リストされた組み込みのみが Claude のコンテキストにあります。リストされていない組み込みは削除されます。MCP ツールは影響を受けません。 |348| `tools: ["Read", "Grep"]` | 可用性 | リストされた組み込みのみが Claude のコンテキストにあります。リストされていない組み込みは削除されます。MCP ツールは影響を受けません。 |

331| `tools: []` | 可用性 | すべての組み込みが削除されます。Claude は MCP ツールのみを使用できます。 |349| `tools: []` | 可用性 | すべての組み込みが削除されます。Claude は MCP ツールのみを使用できます。 |

332| 許可されたツール | 許可 | リストされたツールは許可プロンプトなしで実行されます。リストされていないツールは利用可能なままです。呼び出しは [許可フロー](/ja/agent-sdk/permissions)を通ります。 |350| 許可されたツール | 許可 | リストされたツールは許可プロンプトなしで実行されます。リストされていないツールは利用可能なままです。呼び出しは[許可フロー](/ja/agent-sdk/permissions)を通ります。 |

333| 禁止されたツール | 許可 | リストされたツールへのすべての呼び出しが拒否されます。ツールは Claude のコンテキストに留まるため、Claude は呼び出しが拒否される前にそれを試みる可能性があります |351| 禁止されたツール | 両方 | `"Bash"` などの裸のツール名はツールを Claude のコンテキストから削除しますこれは `tools` から省略するのと同じです。`"Bash(rm *)"` などのスコープされたルールはツールをコンテキストに残し、一致する呼び出しのみを拒否します。 |

334 352 

335Claude が使用できる組み込みを制限するには禁止されたツールより `tools` を優先します。`tools` からツールを省略するとClaude がそれを試みることがないようにコンテキストから削除されます。`disallowedTools`(Python:`disallowed_tools`)にリストすると呼び出しはブロックされますがツールは表示されたままなので、Claude はそれを試みるターンを無駄にする可能性があります。完全な評価順序については、[許可を設定する](/ja/agent-sdk/permissions)を参照してください。353組み込みを完全に削除するには、`tools` から省略するか、`disallowedTools`(Python:`disallowed_tools`)に裸の名前をリストします。どちらもツールをコンテキストから外すためClaude はそれを試みることはありません。スコープされた `disallowedTools` ルールは一致する呼び出しをブロックしますがツールを表示したままにするため、Claude はそれを試みるターンを無駄にする可能性があります。完全な評価順序については、[許可を設定する](/ja/agent-sdk/permissions)を参照してください。

336 354 

337## エラーを処理する355<h2 id="handle-errors">

356 エラーを処理する

357</h2>

338 358 

339ハンドラーがエラーを報告する方法は、エージェントループが続行するか停止するかを決定します。359ハンドラーがエラーを報告する方法は、エージェントループが続行するか停止するかを決定します。

340 360 


437 ```457 ```

438</CodeGroup>458</CodeGroup>

439 459 

440## 画像とリソースを返す460<h2 id="return-images-and-resources">

461 画像とリソースを返す

462</h2>

441 463 

442ツール結果の `content` 配列は `text`、`image`、および `resource` ブロックを受け入れます。同じ応答でそれらを混ぜることができます。464ツール結果の `content` 配列は `text`、`image`、および `resource` ブロックを受け入れます。同じ応答でそれらを混ぜることができます。

443 465 

444### 画像466<h3 id="images">

467 画像

468</h3>

445 469 

446画像ブロックは画像バイトをインラインで、base64 としてエンコードされた状態で運びます。URL フィールドはありません。URL に存在する画像を返すには、ハンドラーで取得し、応答バイトを読み取り、返す前に base64 エンコードします。結果は視覚入力として処理されます。470画像ブロックは画像バイトをインラインで、base64 としてエンコードされた状態で運びます。URL フィールドはありません。URL に存在する画像を返すには、ハンドラーで取得し、応答バイトを読み取り、返す前に base64 エンコードします。結果は視覚入力として処理されます。

447 471 


504 ```528 ```

505</CodeGroup>529</CodeGroup>

506 530 

507### リソース531<h3 id="resources">

532 リソース

533</h3>

508 534 

509リソースブロックは URI で識別されるコンテンツを埋め込みます。URI は Claude が参照するためのラベルです。実際のコンテンツはブロックの `text` または `blob` フィールドに含まれます。これは、生成されたファイルや外部システムのレコードなど、後で名前で対処することが理にかなっているツールが生成するものを使用します。535リソースブロックは URI で識別されるコンテンツを埋め込みます。URI は Claude が参照するためのラベルです。実際のコンテンツはブロックの `text` または `blob` フィールドに含まれます。これは、生成されたファイルや外部システムのレコードなど、後で名前で対処することが理にかなっているツールが生成するものを使用します。

510 536 


552 578 

553これらのブロック形状は MCP `CallToolResult` 型から来ています。完全な定義については、[MCP 仕様](https://modelcontextprotocol.io/specification/2025-06-18/server/tools#tool-result)を参照してください。579これらのブロック形状は MCP `CallToolResult` 型から来ています。完全な定義については、[MCP 仕様](https://modelcontextprotocol.io/specification/2025-06-18/server/tools#tool-result)を参照してください。

554 580 

555## 構造化データを返す581<h2 id="return-structured-data">

582 構造化データを返す

583</h2>

556 584 

557`structuredContent` は結果のオプションの JSON オブジェクトで、`content` 配列とは別です。テキスト文字列または画像から解析する代わりに、Claude が正確なフィールドとして読み取ることができる生の値を返すために使用します。585`structuredContent` は結果のオプションの JSON オブジェクトで、`content` 配列とは別です。テキスト文字列または画像から解析する代わりに、Claude が正確なフィールドとして読み取ることができる生の値を返すために使用します。

558 586 


579 Python `@tool` デコレーターはハンドラーの戻り辞書から `content` と `is_error` のみを転送します。Python から `structuredContent` を返すには、インプロセス SDK サーバーの代わりに [スタンドアロン MCP サーバー](/ja/agent-sdk/mcp)を実行します。607 Python `@tool` デコレーターはハンドラーの戻り辞書から `content` と `is_error` のみを転送します。Python から `structuredContent` を返すには、インプロセス SDK サーバーの代わりに [スタンドアロン MCP サーバー](/ja/agent-sdk/mcp)を実行します。

580</Note>608</Note>

581 609 

582## 例:単位変換ツール610<h2 id="example-unit-converter">

611 例:単位変換ツール

612</h2>

583 613 

584このツールは長さ、温度、重量の単位間で値を変換します。ユーザーは「100 キロメートルをマイルに変換」または「72°F は摂氏何度か」と尋ねることができ、Claude はリクエストから正しい単位タイプと単位を選択します。614このツールは長さ、温度、重量の単位間で値を変換します。ユーザーは「100 キロメートルをマイルに変換」または「72°F は摂氏何度か」と尋ねることができ、Claude はリクエストから正しい単位タイプと単位を選択します。

585 615 


815 ```845 ```

816</CodeGroup>846</CodeGroup>

817 847 

818## 次のステップ848<h2 id="next-steps">

849 次のステップ

850</h2>

819 851 

820カスタムツールは非同期関数を標準インターフェースにラップします。このページのパターンを同じサーバーで混ぜることができます。単一のサーバーは、データベースツール、API ゲートウェイツール、および画像レンダラーを並べて保持できます。852カスタムツールは非同期関数を標準インターフェースにラップします。このページのパターンを同じサーバーで混ぜることができます。単一のサーバーは、データベースツール、API ゲートウェイツール、および画像レンダラーを並べて保持できます。

821 853 


825* 独自のツールを構築する代わりに、外部 MCP サーバー(ファイルシステム、GitHub、Slack)に接続するには、[MCP サーバーを接続する](/ja/agent-sdk/mcp)を参照してください。857* 独自のツールを構築する代わりに、外部 MCP サーバー(ファイルシステム、GitHub、Slack)に接続するには、[MCP サーバーを接続する](/ja/agent-sdk/mcp)を参照してください。

826* どのツールが自動的に実行されるか、承認が必要かを制御するには、[許可を設定する](/ja/agent-sdk/permissions)を参照してください。858* どのツールが自動的に実行されるか、承認が必要かを制御するには、[許可を設定する](/ja/agent-sdk/permissions)を参照してください。

827 859 

828## 関連ドキュメント860<h2 id="related-documentation">

861 関連ドキュメント

862</h2>

829 863 

830* [TypeScript SDK リファレンス](/ja/agent-sdk/typescript)864* [TypeScript SDK リファレンス](/ja/agent-sdk/typescript)

831* [Python SDK リファレンス](/ja/agent-sdk/python)865* [Python SDK リファレンス](/ja/agent-sdk/python)

Details

1> ## Documentation Index

2> 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.

4 

5# checkpointing でファイル変更を巻き戻す

6 

7> エージェントセッション中のファイル変更を追跡し、ファイルを以前の任意の状態に復元します

8 

9ファイル checkpointing は、エージェントセッション中に Write、Edit、NotebookEdit ツールを通じて行われたファイル修正を追跡し、ファイルを以前の任意の状態に巻き戻すことができます。試してみたいですか?[インタラクティブな例](#try-it-out)にジャンプしてください。

10 

11checkpointing を使用すると、以下のことができます:

12 

13* **不要な変更を元に戻す** - ファイルを既知の良好な状態に復元することで、不要な変更を元に戻します

14* **代替案を探索する** - checkpoint に復元して、別のアプローチを試します

15* **エラーから回復する** - エージェントが不正な修正を行った場合に回復します

16 

17<Warning>

18 Write、Edit、NotebookEdit ツールを通じて行われた変更のみが追跡されます。Bash コマンド(`echo > file.txt` や `sed -i` など)を通じて行われた変更は、checkpoint システムでキャプチャされません。

19</Warning>

20 

21<h2 id="how-checkpointing-works">

22 checkpointing の仕組み

23</h2>

24 

25ファイル checkpointing を有効にすると、SDK は Write、Edit、または NotebookEdit ツールを通じてファイルを修正する前に、ファイルのバックアップを作成します。レスポンスストリーム内のユーザーメッセージには、復元ポイントとして使用できる checkpoint UUID が含まれます。

26 

27Checkpoint は、エージェントがファイルを修正するために使用するこれらの組み込みツールで機能します:

28 

29| ツール | 説明 |

30| ------------ | -------------------------------------- |

31| Write | 新しいファイルを作成するか、既存のファイルを新しいコンテンツで上書きします |

32| Edit | 既存ファイルの特定の部分に対して、対象を絞った編集を行います |

33| NotebookEdit | Jupyter ノートブック(`.ipynb` ファイル)のセルを修正します |

34 

35<Note>

36 ファイル巻き戻しは、ディスク上のファイルを以前の状態に復元します。会話自体を巻き戻すわけではありません。`rewindFiles()`(TypeScript)または `rewind_files()`(Python)を呼び出した後も、会話履歴とコンテキストはそのまま保持されます。

37</Note>

38 

39checkpoint システムは以下を追跡します:

40 

41* セッション中に作成されたファイル

42* セッション中に修正されたファイル

43* 修正されたファイルの元のコンテンツ

44 

45checkpoint に巻き戻すと、作成されたファイルは削除され、修正されたファイルはその時点でのコンテンツに復元されます。

46 

47<h2 id="implement-checkpointing">

48 checkpointing を実装する

49</h2>

50 

51ファイル checkpointing を使用するには、オプションで有効にし、レスポンスストリームから checkpoint UUID をキャプチャしてから、復元が必要な場合に `rewindFiles()`(TypeScript)または `rewind_files()`(Python)を呼び出します。

52 

53次の例は、完全なフロー(checkpointing を有効にし、レスポンスストリームから checkpoint UUID とセッション ID をキャプチャしてから、後でセッションを再開してファイルを巻き戻す)を示しています。各ステップについては、以下で詳しく説明します。

54 

55<CodeGroup>

56 ```python Python theme={null}

57 import asyncio

58 from claude_agent_sdk import (

59 ClaudeSDKClient,

60 ClaudeAgentOptions,

61 UserMessage,

62 ResultMessage,

63 )

64 

65 

66 async def main():

67 # Step 1: checkpointing を有効にする

68 options = ClaudeAgentOptions(

69 enable_file_checkpointing=True,

70 permission_mode="acceptEdits", # プロンプトなしでファイル編集を自動承認

71 extra_args={

72 "replay-user-messages": None

73 }, # レスポンスストリームで checkpoint UUID を受け取るために必須

74 )

75 

76 checkpoint_id = None

77 session_id = None

78 

79 # クエリを実行し、checkpoint UUID とセッション ID をキャプチャ

80 async with ClaudeSDKClient(options) as client:

81 await client.query("Refactor the authentication module")

82 

83 # Step 2: 最初のユーザーメッセージから checkpoint UUID をキャプチャ

84 async for message in client.receive_response():

85 if isinstance(message, UserMessage) and message.uuid and not checkpoint_id:

86 checkpoint_id = message.uuid

87 if isinstance(message, ResultMessage) and not session_id:

88 session_id = message.session_id

89 

90 # Step 3: 後で、空のプロンプトでセッションを再開して巻き戻す

91 if checkpoint_id and session_id:

92 async with ClaudeSDKClient(

93 ClaudeAgentOptions(enable_file_checkpointing=True, resume=session_id)

94 ) as client:

95 await client.query("") # 接続を開くための空のプロンプト

96 async for message in client.receive_response():

97 await client.rewind_files(checkpoint_id)

98 break

99 print(f"Rewound to checkpoint: {checkpoint_id}")

100 

101 

102 asyncio.run(main())

103 ```

104 

105 ```typescript TypeScript theme={null}

106 import { query } from "@anthropic-ai/claude-agent-sdk";

107 

108 async function main() {

109 // Step 1: checkpointing を有効にする

110 const opts = {

111 enableFileCheckpointing: true,

112 permissionMode: "acceptEdits" as const, // プロンプトなしでファイル編集を自動承認

113 extraArgs: { "replay-user-messages": null } // レスポンスストリームで checkpoint UUID を受け取るために必須

114 };

115 

116 const response = query({

117 prompt: "Refactor the authentication module",

118 options: opts

119 });

120 

121 let checkpointId: string | undefined;

122 let sessionId: string | undefined;

123 

124 // Step 2: 最初のユーザーメッセージから checkpoint UUID をキャプチャ

125 for await (const message of response) {

126 if (message.type === "user" && message.uuid && !checkpointId) {

127 checkpointId = message.uuid;

128 }

129 if ("session_id" in message && !sessionId) {

130 sessionId = message.session_id;

131 }

132 }

133 

134 // Step 3: 後で、空のプロンプトでセッションを再開して巻き戻す

135 if (checkpointId && sessionId) {

136 const rewindQuery = query({

137 prompt: "", // 接続を開くための空のプロンプト

138 options: { ...opts, resume: sessionId }

139 });

140 

141 for await (const msg of rewindQuery) {

142 await rewindQuery.rewindFiles(checkpointId);

143 break;

144 }

145 console.log(`Rewound to checkpoint: ${checkpointId}`);

146 }

147 }

148 

149 main();

150 ```

151</CodeGroup>

152 

153<Steps>

154 <Step title="checkpointing を有効にする">

155 checkpointing を有効にして checkpoint UUID を受け取るように SDK オプションを設定します:

156 

157 | オプション | Python | TypeScript | 説明 |

158 | --------------------- | ------------------------------------------- | --------------------------------------------- | -------------------------------- |

159 | checkpointing を有効にする | `enable_file_checkpointing=True` | `enableFileCheckpointing: true` | 巻き戻しのためのファイル変更を追跡します |

160 | checkpoint UUID を受け取る | `extra_args={"replay-user-messages": None}` | `extraArgs: { 'replay-user-messages': null }` | ストリーム内でユーザーメッセージ UUID を取得するために必須 |

161 

162 <CodeGroup>

163 ```python Python theme={null}

164 options = ClaudeAgentOptions(

165 enable_file_checkpointing=True,

166 permission_mode="acceptEdits",

167 extra_args={"replay-user-messages": None},

168 )

169 

170 async with ClaudeSDKClient(options) as client:

171 await client.query("Refactor the authentication module")

172 ```

173 

174 ```typescript TypeScript theme={null}

175 const response = query({

176 prompt: "Refactor the authentication module",

177 options: {

178 enableFileCheckpointing: true,

179 permissionMode: "acceptEdits" as const,

180 extraArgs: { "replay-user-messages": null }

181 }

182 });

183 ```

184 </CodeGroup>

185 </Step>

186 

187 <Step title="checkpoint UUID とセッション ID をキャプチャする">

188 `replay-user-messages` オプションが設定されている場合(上記を参照)、レスポンスストリーム内の各ユーザーメッセージには、checkpoint として機能する UUID があります。

189 

190 ほとんどのユースケースでは、最初のユーザーメッセージ UUID(`message.uuid`)をキャプチャします。これに巻き戻すと、すべてのファイルが元の状態に復元されます。複数の checkpoint を保存して中間状態に巻き戻すには、[複数の復元ポイント](#multiple-restore-points)を参照してください。

191 

192 セッション ID(`message.session_id`)をキャプチャするのはオプションです。ストリームが完了した後に巻き戻したい場合にのみ必要です。[Checkpoint before risky operations](#checkpoint-before-risky-operations) の例のように、メッセージの処理中に `rewindFiles()` をすぐに呼び出す場合は、セッション ID のキャプチャをスキップできます。

193 

194 <CodeGroup>

195 ```python Python theme={null}

196 checkpoint_id = None

197 session_id = None

198 

199 async for message in client.receive_response():

200 # 各ユーザーメッセージで checkpoint を更新(最新を保持)

201 if isinstance(message, UserMessage) and message.uuid:

202 checkpoint_id = message.uuid

203 # 結果メッセージからセッション ID をキャプチャ

204 if isinstance(message, ResultMessage):

205 session_id = message.session_id

206 ```

207 

208 ```typescript TypeScript theme={null}

209 let checkpointId: string | undefined;

210 let sessionId: string | undefined;

211 

212 for await (const message of response) {

213 // 各ユーザーメッセージで checkpoint を更新(最新を保持)

214 if (message.type === "user" && message.uuid) {

215 checkpointId = message.uuid;

216 }

217 // セッション ID を持つメッセージからキャプチャ

218 if ("session_id" in message) {

219 sessionId = message.session_id;

220 }

221 }

222 ```

223 </CodeGroup>

224 </Step>

225 

226 <Step title="ファイルを巻き戻す">

227 ストリームが完了した後に巻き戻すには、空のプロンプトでセッションを再開し、checkpoint UUID を使用して `rewind_files()`(Python)または `rewindFiles()`(TypeScript)を呼び出します。ストリーム中に巻き戻すこともできます。そのパターンについては、[Checkpoint before risky operations](#checkpoint-before-risky-operations) を参照してください。

228 

229 <CodeGroup>

230 ```python Python theme={null}

231 async with ClaudeSDKClient(

232 ClaudeAgentOptions(enable_file_checkpointing=True, resume=session_id)

233 ) as client:

234 await client.query("") # 接続を開くための空のプロンプト

235 async for message in client.receive_response():

236 await client.rewind_files(checkpoint_id)

237 break

238 ```

239 

240 ```typescript TypeScript theme={null}

241 const rewindQuery = query({

242 prompt: "", // 接続を開くための空のプロンプト

243 options: { ...opts, resume: sessionId }

244 });

245 

246 for await (const msg of rewindQuery) {

247 await rewindQuery.rewindFiles(checkpointId);

248 break;

249 }

250 ```

251 </CodeGroup>

252 

253 セッション ID と checkpoint ID をキャプチャした場合、CLI からも巻き戻すことができます:

254 

255 ```bash theme={null}

256 claude -p --resume <session-id> --rewind-files <checkpoint-uuid>

257 ```

258 </Step>

259</Steps>

260 

261<h2 id="common-patterns">

262 一般的なパターン

263</h2>

264 

265これらのパターンは、ユースケースに応じて checkpoint UUID をキャプチャして使用するさまざまな方法を示しています。

266 

267<h3 id="checkpoint-before-risky-operations">

268 リスクのある操作の前に checkpoint を作成する

269</h3>

270 

271このパターンは、最新の checkpoint UUID のみを保持し、各エージェントターンの前に更新します。処理中に問題が発生した場合、最後の安全な状態にすぐに巻き戻して、ループから抜け出すことができます。

272 

273<CodeGroup>

274 ```python Python theme={null}

275 import asyncio

276 from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions, UserMessage

277 

278 

279 async def main():

280 options = ClaudeAgentOptions(

281 enable_file_checkpointing=True,

282 permission_mode="acceptEdits",

283 extra_args={"replay-user-messages": None},

284 )

285 

286 safe_checkpoint = None

287 

288 async with ClaudeSDKClient(options) as client:

289 await client.query("Refactor the authentication module")

290 

291 async for message in client.receive_response():

292 # 各エージェントターンが開始する前に checkpoint を更新

293 # これは前の checkpoint を上書きします。最新のみを保持

294 if isinstance(message, UserMessage) and message.uuid:

295 safe_checkpoint = message.uuid

296 

297 # 独自のロジックに基づいて復帰するかどうかを決定

298 # 例:エラー検出、検証失敗、またはユーザー入力

299 if your_revert_condition and safe_checkpoint:

300 await client.rewind_files(safe_checkpoint)

301 # 巻き戻し後、ループを終了します。ファイルは復元されます

302 break

303 

304 

305 asyncio.run(main())

306 ```

307 

308 ```typescript TypeScript theme={null}

309 import { query } from "@anthropic-ai/claude-agent-sdk";

310 

311 async function main() {

312 const response = query({

313 prompt: "Refactor the authentication module",

314 options: {

315 enableFileCheckpointing: true,

316 permissionMode: "acceptEdits" as const,

317 extraArgs: { "replay-user-messages": null }

318 }

319 });

320 

321 let safeCheckpoint: string | undefined;

322 

323 for await (const message of response) {

324 // 各エージェントターンが開始する前に checkpoint を更新

325 // これは前の checkpoint を上書きします。最新のみを保持

326 if (message.type === "user" && message.uuid) {

327 safeCheckpoint = message.uuid;

328 }

329 

330 // 独自のロジックに基づいて復帰するかどうかを決定

331 // 例:エラー検出、検証失敗、またはユーザー入力

332 if (yourRevertCondition && safeCheckpoint) {

333 await response.rewindFiles(safeCheckpoint);

334 // 巻き戻し後、ループを終了します。ファイルは復元されます

335 break;

336 }

337 }

338 }

339 

340 main();

341 ```

342</CodeGroup>

343 

344<h3 id="multiple-restore-points">

345 複数の復元ポイント

346</h3>

347 

348Claude が複数のターンにわたって変更を加える場合、すべての方法で巻き戻すのではなく、特定のポイントに巻き戻したい場合があります。例えば、Claude がターン 1 でファイルをリファクタリングし、ターン 2 でテストを追加した場合、リファクタリングは保持したいが、テストは元に戻したい場合があります。

349 

350このパターンは、すべての checkpoint UUID をメタデータ付きの配列に保存します。セッションが完了した後、以前の任意の checkpoint に巻き戻すことができます:

351 

352<CodeGroup>

353 ```python Python theme={null}

354 import asyncio

355 from dataclasses import dataclass

356 from datetime import datetime

357 from claude_agent_sdk import (

358 ClaudeSDKClient,

359 ClaudeAgentOptions,

360 UserMessage,

361 ResultMessage,

362 )

363 

364 

365 # より良い追跡のために checkpoint メタデータを保存

366 @dataclass

367 class Checkpoint:

368 id: str

369 description: str

370 timestamp: datetime

371 

372 

373 async def main():

374 options = ClaudeAgentOptions(

375 enable_file_checkpointing=True,

376 permission_mode="acceptEdits",

377 extra_args={"replay-user-messages": None},

378 )

379 

380 checkpoints = []

381 session_id = None

382 

383 async with ClaudeSDKClient(options) as client:

384 await client.query("Refactor the authentication module")

385 

386 async for message in client.receive_response():

387 if isinstance(message, UserMessage) and message.uuid:

388 checkpoints.append(

389 Checkpoint(

390 id=message.uuid,

391 description=f"After turn {len(checkpoints) + 1}",

392 timestamp=datetime.now(),

393 )

394 )

395 if isinstance(message, ResultMessage) and not session_id:

396 session_id = message.session_id

397 

398 # 後で:セッションを再開して任意の checkpoint に巻き戻す

399 if checkpoints and session_id:

400 target = checkpoints[0] # 任意の checkpoint を選択

401 async with ClaudeSDKClient(

402 ClaudeAgentOptions(enable_file_checkpointing=True, resume=session_id)

403 ) as client:

404 await client.query("") # 接続を開くための空のプロンプト

405 async for message in client.receive_response():

406 await client.rewind_files(target.id)

407 break

408 print(f"Rewound to: {target.description}")

409 

410 

411 asyncio.run(main())

412 ```

413 

414 ```typescript TypeScript theme={null}

415 import { query } from "@anthropic-ai/claude-agent-sdk";

416 

417 // より良い追跡のために checkpoint メタデータを保存

418 interface Checkpoint {

419 id: string;

420 description: string;

421 timestamp: Date;

422 }

423 

424 async function main() {

425 const opts = {

426 enableFileCheckpointing: true,

427 permissionMode: "acceptEdits" as const,

428 extraArgs: { "replay-user-messages": null }

429 };

430 

431 const response = query({

432 prompt: "Refactor the authentication module",

433 options: opts

434 });

435 

436 const checkpoints: Checkpoint[] = [];

437 let sessionId: string | undefined;

438 

439 for await (const message of response) {

440 if (message.type === "user" && message.uuid) {

441 checkpoints.push({

442 id: message.uuid,

443 description: `After turn ${checkpoints.length + 1}`,

444 timestamp: new Date()

445 });

446 }

447 if ("session_id" in message && !sessionId) {

448 sessionId = message.session_id;

449 }

450 }

451 

452 // 後で:セッションを再開して任意の checkpoint に巻き戻す

453 if (checkpoints.length > 0 && sessionId) {

454 const target = checkpoints[0]; // 任意の checkpoint を選択

455 const rewindQuery = query({

456 prompt: "", // 接続を開くための空のプロンプト

457 options: { ...opts, resume: sessionId }

458 });

459 

460 for await (const msg of rewindQuery) {

461 await rewindQuery.rewindFiles(target.id);

462 break;

463 }

464 console.log(`Rewound to: ${target.description}`);

465 }

466 }

467 

468 main();

469 ```

470</CodeGroup>

471 

472<h2 id="try-it-out">

473 試してみる

474</h2>

475 

476この完全な例は、小さなユーティリティファイルを作成し、エージェントにドキュメンテーションコメントを追加させ、変更を表示してから、巻き戻したいかどうかを尋ねます。

477 

478開始する前に、[Claude Agent SDK がインストール](/ja/agent-sdk/quickstart)されていることを確認してください。

479 

480<Steps>

481 <Step title="テストファイルを作成する">

482 `utils.py`(Python)または `utils.ts`(TypeScript)という新しいファイルを作成し、次のコードを貼り付けます:

483 

484 <CodeGroup>

485 ```python utils.py theme={null}

486 def add(a, b):

487 return a + b

488 

489 

490 def subtract(a, b):

491 return a - b

492 

493 

494 def multiply(a, b):

495 return a * b

496 

497 

498 def divide(a, b):

499 if b == 0:

500 raise ValueError("Cannot divide by zero")

501 return a / b

502 ```

503 

504 ```typescript utils.ts theme={null}

505 export function add(a: number, b: number): number {

506 return a + b;

507 }

508 

509 export function subtract(a: number, b: number): number {

510 return a - b;

511 }

512 

513 export function multiply(a: number, b: number): number {

514 return a * b;

515 }

516 

517 export function divide(a: number, b: number): number {

518 if (b === 0) {

519 throw new Error("Cannot divide by zero");

520 }

521 return a / b;

522 }

523 ```

524 </CodeGroup>

525 </Step>

526 

527 <Step title="インタラクティブな例を実行する">

528 ユーティリティファイルと同じディレクトリに `try_checkpointing.py`(Python)または `try_checkpointing.ts`(TypeScript)という新しいファイルを作成し、次のコードを貼り付けます。

529 

530 このスクリプトは Claude にユーティリティファイルにドキュメンテーションコメントを追加するよう要求し、その後、元の状態に巻き戻すオプションを提供します。

531 

532 <CodeGroup>

533 ```python try_checkpointing.py theme={null}

534 import asyncio

535 from claude_agent_sdk import (

536 ClaudeSDKClient,

537 ClaudeAgentOptions,

538 UserMessage,

539 ResultMessage,

540 )

541 

542 

543 async def main():

544 # checkpointing を有効にして SDK を設定

545 # - enable_file_checkpointing: 巻き戻しのためのファイル変更を追跡

546 # - permission_mode: プロンプトなしでファイル編集を自動承認

547 # - extra_args: ストリーム内でユーザーメッセージ UUID を受け取るために必須

548 options = ClaudeAgentOptions(

549 enable_file_checkpointing=True,

550 permission_mode="acceptEdits",

551 extra_args={"replay-user-messages": None},

552 )

553 

554 checkpoint_id = None # 巻き戻しのためのユーザーメッセージ UUID を保存

555 session_id = None # 後で再開するためのセッション ID を保存

556 

557 print("Running agent to add doc comments to utils.py...\n")

558 

559 # エージェントを実行し、レスポンスストリームから checkpoint データをキャプチャ

560 async with ClaudeSDKClient(options) as client:

561 await client.query("Add doc comments to utils.py")

562 

563 async for message in client.receive_response():

564 # 最初のユーザーメッセージ UUID をキャプチャ - これが復元ポイント

565 if isinstance(message, UserMessage) and message.uuid and not checkpoint_id:

566 checkpoint_id = message.uuid

567 # 後で再開できるようにセッション ID をキャプチャ

568 if isinstance(message, ResultMessage):

569 session_id = message.session_id

570 

571 print("Done! Open utils.py to see the added doc comments.\n")

572 

573 # ユーザーに変更を巻き戻したいかどうかを尋ねる

574 if checkpoint_id and session_id:

575 response = input("Rewind to remove the doc comments? (y/n): ")

576 

577 if response.lower() == "y":

578 # セッションを再開して空のプロンプトで巻き戻す

579 async with ClaudeSDKClient(

580 ClaudeAgentOptions(enable_file_checkpointing=True, resume=session_id)

581 ) as client:

582 await client.query("") # 空のプロンプトで接続を開く

583 async for message in client.receive_response():

584 await client.rewind_files(checkpoint_id) # ファイルを復元

585 break

586 

587 print(

588 "\n✓ File restored! Open utils.py to verify the doc comments are gone."

589 )

590 else:

591 print("\nKept the modified file.")

592 

593 

594 asyncio.run(main())

595 ```

596 

597 ```typescript try_checkpointing.ts theme={null}

598 import { query } from "@anthropic-ai/claude-agent-sdk";

599 import * as readline from "readline";

600 

601 async function main() {

602 // checkpointing を有効にして SDK を設定

603 // - enableFileCheckpointing: 巻き戻しのためのファイル変更を追跡

604 // - permissionMode: プロンプトなしでファイル編集を自動承認

605 // - extraArgs: ストリーム内でユーザーメッセージ UUID を受け取るために必須

606 const opts = {

607 enableFileCheckpointing: true,

608 permissionMode: "acceptEdits" as const,

609 extraArgs: { "replay-user-messages": null }

610 };

611 

612 let sessionId: string | undefined; // 後で再開するためのセッション ID を保存

613 let checkpointId: string | undefined; // 巻き戻しのためのユーザーメッセージ UUID を保存

614 

615 console.log("Running agent to add doc comments to utils.ts...\n");

616 

617 // エージェントを実行し、レスポンスストリームから checkpoint データをキャプチャ

618 const response = query({

619 prompt: "Add doc comments to utils.ts",

620 options: opts

621 });

622 

623 for await (const message of response) {

624 // 最初のユーザーメッセージ UUID をキャプチャ - これが復元ポイント

625 if (message.type === "user" && message.uuid && !checkpointId) {

626 checkpointId = message.uuid;

627 }

628 // 後で再開できるようにセッション ID をキャプチャ

629 if ("session_id" in message) {

630 sessionId = message.session_id;

631 }

632 }

633 

634 console.log("Done! Open utils.ts to see the added doc comments.\n");

635 

636 // ユーザーに変更を巻き戻したいかどうかを尋ねる

637 if (checkpointId && sessionId) {

638 const rl = readline.createInterface({

639 input: process.stdin,

640 output: process.stdout

641 });

642 

643 const answer = await new Promise<string>((resolve) => {

644 rl.question("Rewind to remove the doc comments? (y/n): ", resolve);

645 });

646 rl.close();

647 

648 if (answer.toLowerCase() === "y") {

649 // セッションを再開して空のプロンプトで巻き戻す

650 const rewindQuery = query({

651 prompt: "", // 空のプロンプトで接続を開く

652 options: { ...opts, resume: sessionId }

653 });

654 

655 for await (const msg of rewindQuery) {

656 await rewindQuery.rewindFiles(checkpointId); // ファイルを復元

657 break;

658 }

659 

660 console.log("\n✓ File restored! Open utils.ts to verify the doc comments are gone.");

661 } else {

662 console.log("\nKept the modified file.");

663 }

664 }

665 }

666 

667 main();

668 ```

669 </CodeGroup>

670 

671 この例は、完全な checkpointing ワークフローを示しています:

672 

673 1. **checkpointing を有効にする**:`enable_file_checkpointing=True` と `permission_mode="acceptEdits"` で SDK を設定して、ファイル編集を自動承認します

674 2. **checkpoint データをキャプチャする**:エージェントが実行されるときに、最初のユーザーメッセージ UUID(復元ポイント)とセッション ID を保存します

675 3. **巻き戻しを促す**:エージェントが完了した後、ユーティリティファイルをチェックしてドキュメンテーションコメントを確認し、変更を元に戻したいかどうかを決定します

676 4. **再開して巻き戻す**:はいの場合、空のプロンプトでセッションを再開し、`rewind_files()` を呼び出して元のファイルを復元します

677 </Step>

678 

679 <Step title="例を実行する">

680 ユーティリティファイルと同じディレクトリからスクリプトを実行します。

681 

682 <Tip>

683 スクリプトを実行する前に、ユーティリティファイル(`utils.py` または `utils.ts`)を IDE またはエディタで開きます。エージェントがドキュメンテーションコメントを追加するときにファイルがリアルタイムで更新され、巻き戻しを選択すると元の状態に戻ります。

684 </Tip>

685 

686 <Tabs>

687 <Tab title="Python">

688 ```bash theme={null}

689 python try_checkpointing.py

690 ```

691 </Tab>

692 

693 <Tab title="TypeScript">

694 ```bash theme={null}

695 npx tsx try_checkpointing.ts

696 ```

697 </Tab>

698 </Tabs>

699 

700 エージェントがドキュメンテーションコメントを追加し、巻き戻したいかどうかを尋ねるプロンプトが表示されます。はいを選択すると、ファイルは元の状態に復元されます。

701 </Step>

702</Steps>

703 

704<h2 id="limitations">

705 制限事項

706</h2>

707 

708ファイル checkpointing には、次の制限事項があります:

709 

710| 制限事項 | 説明 |

711| ----------------------------- | ------------------------------------ |

712| Write/Edit/NotebookEdit ツールのみ | Bash コマンドを通じて行われた変更は追跡されません |

713| 同じセッション | Checkpoint は、それを作成したセッションに関連付けられています |

714| ファイルコンテンツのみ | ディレクトリの作成、移動、または削除は、巻き戻しによって元に戻されません |

715| ローカルファイル | リモートまたはネットワークファイルは追跡されません |

716 

717<h2 id="troubleshooting">

718 トラブルシューティング

719</h2>

720 

721<h3 id="checkpointing-options-not-recognized">

722 checkpointing オプションが認識されない

723</h3>

724 

725`enableFileCheckpointing` または `rewindFiles()` が利用できない場合、古い SDK バージョンを使用している可能性があります。

726 

727**解決策**:最新の SDK バージョンに更新します:

728 

729* **Python**:`pip install --upgrade claude-agent-sdk`

730* **TypeScript**:`npm install @anthropic-ai/claude-agent-sdk@latest`

731 

732<h3 id="user-messages-don-t-have-uuids">

733 ユーザーメッセージに UUID がない

734</h3>

735 

736`message.uuid` が `undefined` または欠落している場合、checkpoint UUID を受け取っていません。

737 

738**原因**:`replay-user-messages` オプションが設定されていません。

739 

740**解決策**:オプションに `extra_args={"replay-user-messages": None}`(Python)または `extraArgs: { 'replay-user-messages': null }`(TypeScript)を追加します。

741 

742<h3 id="no-file-checkpoint-found-for-message-error">

743 「No file checkpoint found for message」エラー

744</h3>

745 

746このエラーは、指定されたユーザーメッセージ UUID の checkpoint データが存在しない場合に発生します。

747 

748**一般的な原因**:

749 

750* ファイル checkpointing が元のセッションで有効になっていない(`enable_file_checkpointing` または `enableFileCheckpointing` が `true` に設定されていない)

751* セッションが再開して巻き戻しを試みる前に適切に完了していない

752 

753**解決策**:元のセッションで `enable_file_checkpointing=True`(Python)または `enableFileCheckpointing: true`(TypeScript)が設定されていることを確認してから、例に示されているパターンを使用します:最初のユーザーメッセージ UUID をキャプチャし、セッションを完全に完了してから、空のプロンプトで再開し、`rewindFiles()` を 1 回呼び出します。

754 

755<h3 id="processtransport-is-not-ready-for-writing-error">

756 「ProcessTransport is not ready for writing」エラー

757</h3>

758 

759このエラーは、レスポンスを反復処理した後に `rewindFiles()` または `rewind_files()` を呼び出した場合に発生します。ループが完了すると、CLI プロセスへの接続が閉じられます。

760 

761**解決策**:空のプロンプトでセッションを再開してから、新しいクエリで巻き戻します:

762 

763<CodeGroup>

764 ```python Python theme={null}

765 # セッションを空のプロンプトで再開してから巻き戻す

766 async with ClaudeSDKClient(

767 ClaudeAgentOptions(enable_file_checkpointing=True, resume=session_id)

768 ) as client:

769 await client.query("")

770 async for message in client.receive_response():

771 await client.rewind_files(checkpoint_id)

772 break

773 ```

774 

775 ```typescript TypeScript theme={null}

776 // セッションを空のプロンプトで再開してから巻き戻す

777 const rewindQuery = query({

778 prompt: "",

779 options: { ...opts, resume: sessionId }

780 });

781 

782 for await (const msg of rewindQuery) {

783 await rewindQuery.rewindFiles(checkpointId);

784 break;

785 }

786 ```

787</CodeGroup>

788 

789<h2 id="next-steps">

790 次のステップ

791</h2>

792 

793* **[Sessions](/ja/agent-sdk/sessions)**:セッションを再開する方法を学びます。これはストリームが完了した後に巻き戻すために必須です。セッション ID、会話の再開、セッションフォーク化について説明します。

794* **[Permissions](/ja/agent-sdk/permissions)**:Claude が使用できるツールとファイル修正の承認方法を設定します。編集がいつ発生するかについてより多くの制御が必要な場合に便利です。

795* **[TypeScript SDK reference](/ja/agent-sdk/typescript)**:`query()` のすべてのオプションと `rewindFiles()` メソッドを含む完全な API リファレンス。

796* **[Python SDK reference](/ja/agent-sdk/python)**:`ClaudeAgentOptions` のすべてのオプションと `rewind_files()` メソッドを含む完全な API リファレンス。

agent-sdk/hooks.md +106 −36

Details

16 16 

17このガイドでは、フックの仕組み、フックの設定方法、およびツールのブロック、入力の変更、通知の転送などの一般的なパターンの例を説明します。17このガイドでは、フックの仕組み、フックの設定方法、およびツールのブロック、入力の変更、通知の転送などの一般的なパターンの例を説明します。

18 18 

19## フックの仕組み19<h2 id="how-hooks-work">

20 フックの仕組み

21</h2>

20 22 

21<Steps>23<Steps>

22 <Step title="イベントが発火する">24 <Step title="イベントが発火する">


140 ```142 ```

141</CodeGroup>143</CodeGroup>

142 144 

143## 利用可能なフック145<h2 id="available-hooks">

146 利用可能なフック

147</h2>

144 148 

145SDK はエージェント実行のさまざまなステージのフックを提供します。一部のフックは両方の SDK で利用可能ですが、その他は TypeScript のみです。149SDK はエージェント実行のさまざまなステージのフックを提供します。一部のフックは両方の SDK で利用可能ですが、その他は TypeScript のみです。

146 150 

147| フックイベント | Python SDK | TypeScript SDK | トリガーされる条件 | 使用例 |151| フックイベント | Python SDK | TypeScript SDK | トリガーされる条件 | 使用例 |

148| -------------------- | ---------- | -------------- | ------------------------------------- | ---------------------------------------- |152| -------------------- | ---------- | -------------- | --------------------------------------------------- | ---------------------------------------- |

149| `PreToolUse` | はい | はい | ツール呼び出しリクエスト(ブロックまたは変更可能) | 危険なシェルコマンドをブロックする |153| `PreToolUse` | はい | はい | ツール呼び出しリクエスト(ブロックまたは変更可能) | 危険なシェルコマンドをブロックする |

150| `PostToolUse` | はい | はい | ツール実行結果 | すべてのファイル変更を監査証跡にログする |154| `PostToolUse` | はい | はい | ツール実行結果 | すべてのファイル変更を監査証跡にログする |

151| `PostToolUseFailure` | はい | はい | ツール実行失敗 | ツールエラーを処理またはログする |155| `PostToolUseFailure` | はい | はい | ツール実行失敗 | ツールエラーを処理またはログする |

152| `PostToolBatch` | いいえ | はい | ツール呼び出しの完全なバッチが解決される。次のモデル呼び出しの前に 1 回 | バッチ全体に対して規約を 1 回注入する |156| `PostToolBatch` | いいえ | はい | ツール呼び出しの完全なバッチが解決される。次のモデル呼び出しの前に 1 回 | バッチ全体に対して規約を 1 回注入する |

153| `UserPromptSubmit` | はい | はい | ユーザープロンプト送信 | プロンプトに追加のコンテキストを注入する |157| `UserPromptSubmit` | はい | はい | ユーザープロンプト送信 | プロンプトに追加のコンテキストを注入する |

158| `MessageDisplay` | いいえ | はい | テキスト付きのアシスタントメッセージが完了する。メッセージごとに 1 回、完全なメッセージテキスト付き | 表示されたテキストを編集または再フォーマットする(トランスクリプトは変更しない) |

154| `Stop` | はい | はい | エージェント実行停止 | 終了前にセッション状態を保存する |159| `Stop` | はい | はい | エージェント実行停止 | 終了前にセッション状態を保存する |

155| `SubagentStart` | はい | はい | サブエージェント初期化 | 並列タスク生成を追跡する |160| `SubagentStart` | はい | はい | サブエージェント初期化 | 並列タスク生成を追跡する |

156| `SubagentStop` | はい | はい | サブエージェント完了 | 並列タスクから結果を集約する |161| `SubagentStop` | はい | はい | サブエージェント完了 | 並列タスクから結果を集約する |


166| `WorktreeCreate` | いいえ | はい | Git ワークツリー作成 | 分離されたワークスペースを追跡する |171| `WorktreeCreate` | いいえ | はい | Git ワークツリー作成 | 分離されたワークスペースを追跡する |

167| `WorktreeRemove` | いいえ | はい | Git ワークツリー削除 | ワークスペースリソースをクリーンアップする |172| `WorktreeRemove` | いいえ | はい | Git ワークツリー削除 | ワークスペースリソースをクリーンアップする |

168 173 

169## フックを設定する174<h2 id="configure-hooks">

175 フックを設定する

176</h2>

170 177 

171フックを設定するには、エージェントオプション(Python では `ClaudeAgentOptions`、TypeScript では `options` オブジェクト)の `hooks` フィールドに渡します。178フックを設定するには、エージェントオプション(Python では `ClaudeAgentOptions`、TypeScript では `options` オブジェクト)の `hooks` フィールドに渡します。

172 179 


201* **キー**は[フックイベント名](#available-hooks)です(例:`'PreToolUse'`、`'PostToolUse'`、`'Stop'`)208* **キー**は[フックイベント名](#available-hooks)です(例:`'PreToolUse'`、`'PostToolUse'`、`'Stop'`)

202* **値**は[マッチャー](#matchers)の配列です。各マッチャーには、オプションのフィルタパターンと[コールバック関数](#callback-functions)が含まれます209* **値**は[マッチャー](#matchers)の配列です。各マッチャーには、オプションのフィルタパターンと[コールバック関数](#callback-functions)が含まれます

203 210 

204### マッチャー211<h3 id="matchers">

212 マッチャー

213</h3>

205 214 

206マッチャーを使用して、コールバックがいつ発火するかをフィルタリングします。`matcher` フィールドは、フックイベントタイプに応じて異なる値に対してマッチングされる正規表現文字列です。たとえば、ツールベースのフックはツール名に対してマッチングされ、`Notification` フックは通知タイプに対してマッチングされます。各イベントタイプのマッチャー値の完全なリストについては、[Claude Code フックリファレンス](/ja/hooks#matcher-patterns)を参照してください。215マッチャーを使用して、コールバックがいつ発火するかをフィルタリングします。`matcher` フィールドは、フックイベントタイプに応じて異なる値に対してマッチングされます。たとえば、ツールベースのフックはツール名に対してマッチングされ、`Notification` フックは通知タイプに対してマッチングされます。各イベントタイプのマッチャー値の完全なリストについては、[Claude Code フックリファレンス](/ja/hooks#matcher-patterns)を参照してください。

216 

217SDK マッチャーは[設定ファイルのマッチャー](/ja/hooks#matcher-patterns)と同じルールに従います。文字、数字、`_`、および `|` のみを含むマッチャーは正確な文字列として比較され、`|` は代替案を区切るため、`Write|Edit` はこれら 2 つのツールと正確にマッチします。`*` のマッチャー、空の文字列、またはマッチャーを完全に省略すると、イベントのすべての発生にマッチします。他の文字を含むマッチャーは正規表現として評価されるため、`^mcp__` はすべての MCP ツールにマッチします。`mcp__memory` のようなマッチャーは文字とアンダースコアのみを含むため、正確な文字列として比較され、ツールにマッチしません。そのサーバーからすべてのツールにマッチするには、`mcp__memory__.*` を使用します。

207 218 

208| オプション | 型 | デフォルト | 説明 |219| オプション | 型 | デフォルト | 説明 |

209| --------- | ---------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |220| --------- | ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

210| `matcher` | `string` | `undefined` | イベントのフィルタフィールドに対してマッチングされる正規表現パターン。ツールフックの場合、これはツール名です。組み込みツールには `Bash`、`Read`、`Write`、`Edit`、`Glob`、`Grep`、`WebFetch`、`Agent` などが含まれます(完全なリストについては[ツール入力型](/ja/agent-sdk/typescript#tool-input-types)を参照)。MCP ツールはパターン `mcp__<server>__<action>` を使用します。 |221| `matcher` | `string` | `undefined` | イベントのフィルタフィールドに対してマッチングされるパターン上記の比較ルールに従います。ツールフックの場合、これはツール名です。組み込みツールには `Bash`、`Read`、`Write`、`Edit`、`Glob`、`Grep`、`WebFetch`、`Agent` などが含まれます(完全なリストについては[ツール入力型](/ja/agent-sdk/typescript#tool-input-types)を参照)。MCP ツールはパターン `mcp__<server>__<action>` を使用します。 |

211| `hooks` | `HookCallback[]` | - | 必須。パターンがマッチしたときに実行するコールバック関数の配列 |222| `hooks` | `HookCallback[]` | - | 必須。パターンがマッチしたときに実行するコールバック関数の配列 |

212| `timeout` | `number` | `60` | タイムアウト(秒単位) |223| `timeout` | `number` | `60` | タイムアウト(秒単位) |

213 224 


219 **MCP ツール命名:** MCP ツールは常に `mcp__` で始まり、その後にサーバー名とアクション `mcp__<server>__<action>` が続きます。たとえば、`playwright` という名前のサーバーを設定した場合、そのツールは `mcp__playwright__browser_screenshot`、`mcp__playwright__browser_click` などという名前になります。サーバー名は `mcpServers` 設定で使用するキーから取得されます。230 **MCP ツール命名:** MCP ツールは常に `mcp__` で始まり、その後にサーバー名とアクション `mcp__<server>__<action>` が続きます。たとえば、`playwright` という名前のサーバーを設定した場合、そのツールは `mcp__playwright__browser_screenshot`、`mcp__playwright__browser_click` などという名前になります。サーバー名は `mcpServers` 設定で使用するキーから取得されます。

220</Tip>231</Tip>

221 232 

222### コールバック関数233<h3 id="callback-functions">

234 コールバック関数

235</h3>

223 236 

224#### 入力237<h4 id="inputs">

238 入力

239</h4>

225 240 

226すべてのフックコールバックは 3 つの引数を受け取ります。241すべてのフックコールバックは 3 つの引数を受け取ります。

227 242 


231* **ツール使用 ID**(`str | None` / `string | undefined`):同じツール呼び出しの `PreToolUse` と `PostToolUse` イベントを相関させます。246* **ツール使用 ID**(`str | None` / `string | undefined`):同じツール呼び出しの `PreToolUse` と `PostToolUse` イベントを相関させます。

232* **コンテキスト:** TypeScript では、キャンセル用の `signal` プロパティ(`AbortSignal`)を含みます。Python では、この引数は将来の使用のために予約されています。247* **コンテキスト:** TypeScript では、キャンセル用の `signal` プロパティ(`AbortSignal`)を含みます。Python では、この引数は将来の使用のために予約されています。

233 248 

234#### 出力249<h4 id="outputs">

250 出力

251</h4>

235 252 

236コールバックは 2 つのカテゴリのフィールドを持つオブジェクトを返します。253コールバックは 2 つのカテゴリのフィールドを持つオブジェクトを返します。

237 254 

238* **トップレベルフィールド**はすべてのイベントで同じように機能します。`systemMessage` はユーザーにメッセージを表示し、`continue`(Python では `continue_`)はこのフック後にエージェントが実行を続けるかどうかを決定します。255* **トップレベルフィールド**はすべてのイベントで同じように機能します。`systemMessage` はユーザーにメッセージを表示し、`continue`(Python では `continue_`)はこのフック後にエージェントが実行を続けるかどうかを決定します。

239* **`hookSpecificOutput`** は現在の操作を制御します。内部のフィールドはフックイベントタイプに依存します。`PreToolUse` フックの場合、ここで `permissionDecision`(`"allow"`、`"deny"`、`"ask"`、または `"defer"`)、`permissionDecisionReason`、および `updatedInput` を設定します。`"defer"` を返すとクエリが終了し、[後で再開](/ja/hooks#defer-a-tool-call-for-later)できます。`PostToolUse` フックの場合、`additionalContext` を設定してツール結果に情報を追加できます。または `updatedToolOutput` を設定して、Claude がそれを見る前にツールの出力全体を置き換えることができます256* **`hookSpecificOutput`** は現在の操作を制御します。内部のフィールドはフックイベントタイプに依存します。`PreToolUse` フックの場合、ここで `permissionDecision`(`"allow"`、`"deny"`、`"ask"`、または `"defer"`)、`permissionDecisionReason`、および `updatedInput` を設定します。`"defer"` を返すとクエリが終了し、[後で再開](/ja/hooks#defer-a-tool-call-for-later)できます。`PostToolUse` フックの場合、`additionalContext` を設定してツール結果に情報を追加できます。Claude がそれを見る前にツールの出力を置き換えるには、`updatedToolOutput` を設定します。これは両方の SDK のすべてのツールで機能します古い `updatedMCPToolOutput` フィールドは MCP ツール出力のみを置き換え、非推奨です。

240 257 

241変更なしで操作を許可するには `{}` を返します。SDK コールバックフックは、[Claude Code シェルコマンドフック](/ja/hooks#json-output)と同じ JSON 出力形式を使用します。これはすべてのフィールドとイベント固有のオプションを文書化しています。SDK 型定義については、[TypeScript](/ja/agent-sdk/typescript#synchookjsonoutput) および [Python](/ja/agent-sdk/python#synchookjsonoutput) SDK リファレンスを参照してください。258変更なしで操作を許可するには `{}` を返します。SDK コールバックフックは、[Claude Code シェルコマンドフック](/ja/hooks#json-output)と同じ JSON 出力形式を使用します。これはすべてのフィールドとイベント固有のオプションを文書化しています。SDK 型定義については、[TypeScript](/ja/agent-sdk/typescript#synchookjsonoutput) および [Python](/ja/agent-sdk/python#synchookjsonoutput) SDK リファレンスを参照してください。

242 259 


244 複数のフックまたはパーミッションルールが適用される場合、**deny** は **defer** より優先され、**defer** は **ask** より優先され、**ask** は **allow** より優先されます。いずれかのフックが `deny` を返す場合、他のフックに関係なく操作はブロックされます。261 複数のフックまたはパーミッションルールが適用される場合、**deny** は **defer** より優先され、**defer** は **ask** より優先され、**ask** は **allow** より優先されます。いずれかのフックが `deny` を返す場合、他のフックに関係なく操作はブロックされます。

245</Note>262</Note>

246 263 

247#### 非同期出力264<h4 id="asynchronous-output">

265 非同期出力

266</h4>

248 267 

249デフォルトでは、エージェントはコールバックが返されるのを待ってから続行します。フックが副作用(ログ、ウェブフック送信)を実行し、エージェントの動作に影響を与える必要がない場合、代わりに非同期出力を返すことができます。これはエージェントに、フックが完了するのを待たずに即座に続行するよう指示します。268デフォルトでは、エージェントはコールバックが返されるのを待ってから続行します。フックが副作用(ログ、ウェブフック送信)を実行し、エージェントの動作に影響を与える必要がない場合、代わりに非同期出力を返すことができます。これはエージェントに、フックが完了するのを待たずに即座に続行するよう指示します。

250 269 


274 非同期出力はエージェントが既に先に進んでいるため、ブロック、変更、またはコンテキストを注入することはできません。ログ、メトリクス、または通知などの副作用にのみ使用します。293 非同期出力はエージェントが既に先に進んでいるため、ブロック、変更、またはコンテキストを注入することはできません。ログ、メトリクス、または通知などの副作用にのみ使用します。

275</Note>294</Note>

276 295 

277## 296<h2 id="examples">

297

298</h2>

278 299 

279### ツール入力を変更する300<h3 id="modify-tool-input">

301 ツール入力を変更する

302</h3>

280 303 

281この例は Write ツール呼び出しをインターセプトし、`file_path` 引数を書き直して `/sandbox` を先頭に追加し、すべてのファイル書き込みをサンドボックスディレクトリにリダイレクトします。コールバックは変更されたパスで `updatedInput` を返し、`permissionDecision: 'allow'` を返して書き直された操作を自動承認します。304この例は Write ツール呼び出しをインターセプトし、`file_path` 引数を書き直して `/sandbox` を先頭に追加し、すべてのファイル書き込みをサンドボックスディレクトリにリダイレクトします。コールバックは変更されたパスで `updatedInput` を返し、`permissionDecision: 'allow'` を返して書き直された操作を自動承認します。

282 305 


329 `updatedInput` を使用する場合、`permissionDecision: 'allow'` を含めて変更された入力を自動承認するか、`permissionDecision: 'ask'` を含めてユーザーに表示する必要があります。`'defer'` の場合、`updatedInput` は無視されます。常に元の `tool_input` を変更するのではなく、新しいオブジェクトを返します。352 `updatedInput` を使用する場合、`permissionDecision: 'allow'` を含めて変更された入力を自動承認するか、`permissionDecision: 'ask'` を含めてユーザーに表示する必要があります。`'defer'` の場合、`updatedInput` は無視されます。常に元の `tool_input` を変更するのではなく、新しいオブジェクトを返します。

330</Note>353</Note>

331 354 

332### コンテキストを追加してツールをブロックする355<h3 id="add-context-and-block-a-tool">

356 コンテキストを追加してツールをブロックする

357</h3>

333 358 

334この例は `/etc` ディレクトリへの書き込みをブロックし、モデルとユーザーの両方に理由を説明します。359この例は `/etc` ディレクトリへの書き込みをブロックし、モデルとユーザーの両方に理由を説明します。

335 360 


379 ```404 ```

380</CodeGroup>405</CodeGroup>

381 406 

382### 特定のツールを自動承認する407<h3 id="auto-approve-specific-tools">

408 特定のツールを自動承認する

409</h3>

383 410 

384デフォルトでは、エージェントは特定のツールを使用する前にパーミッションを求めるプロンプトを表示する場合があります。この例は、`permissionDecision: 'allow'` を返すことで読み取り専用ファイルシステムツール(Read、Glob、Grep)を自動承認し、ユーザー確認なしで実行できるようにしながら、他のすべてのツールは通常のパーミッションチェックの対象のままにします。411デフォルトでは、エージェントは特定のツールを使用する前にパーミッションを求めるプロンプトを表示する場合があります。この例は、`permissionDecision: 'allow'` を返すことで読み取り専用ファイルシステムツール(Read、Glob、Grep)を自動承認し、ユーザー確認なしで実行できるようにしながら、他のすべてのツールは通常のパーミッションチェックの対象のままにします。

385 412 


421 ```448 ```

422</CodeGroup>449</CodeGroup>

423 450 

424### 複数のフックを登録する451<h3 id="register-multiple-hooks">

452 複数のフックを登録する

453</h3>

425 454 

426イベントが発火すると、すべてのマッチするフックが並列で実行されます。パーミッション決定の場合、最も制限的な結果が優先されます。単一の `deny` は、他のフックが何を返すかに関係なく、ツール呼び出しをブロックします。完了順序は非決定的であるため、別のフックが最初に実行されたことに依存するのではなく、各フックが独立して動作するように記述します。455イベントが発火すると、すべてのマッチするフックが並列で実行されます。パーミッション決定の場合、最も制限的な結果が優先されます。単一の `deny` は、他のフックが何を返すかに関係なく、ツール呼び出しをブロックします。完了順序は非決定的であるため、別のフックが最初に実行されたことに依存するのではなく、各フックが独立して動作するように記述します。

427 456 


453 ```482 ```

454</CodeGroup>483</CodeGroup>

455 484 

456### 正規表現マッチャーでフィルタリングする485<h3 id="filter-with-multi-tool-matchers">

486 マルチツールマッチャーでフィルタリングする

487</h3>

488 

489マルチツールマッチャーを使用して、関連するツール間で 1 つのコールバックを共有します。この例は、異なるスコープを持つ 3 つのマッチャーを登録します。

457 490 

458正規表現パターンを使用して複数のツールをマッチングします。この例は、異なるスコープを持つ 3 つのマッチャーを登録します。最初のマッチャーはファイル変更ツールに対してのみ `file_security_hook` をトリガーし、2 番目のマッチャーは任意の MCP ツール名前が `mcp__` で始まるツールに対して `mcp_audit_hook` をトリガーし3 番目のマッチャーは名前に関係なくすべてのツール呼び出しに対して `global_logger` をトリガーします。491* パイプで区切られた正確なリスト(`Write|Edit|Delete`)ファイル変更ツールに対してのみ `file_security_hook` をトリガーします。

492* 正規表現(`^mcp__`)は、名前が `mcp__` で始まる任意の MCP ツールに対して `mcp_audit_hook` をトリガーします。

493* 省略されたマッチャーは、名前に関係なくすべてのツール呼び出しに対して `global_logger` をトリガーします。

459 494 

460<CodeGroup>495<CodeGroup>

461 ```python Python theme={null}496 ```python Python theme={null}


491 ```526 ```

492</CodeGroup>527</CodeGroup>

493 528 

494### サブエージェントアクティビティを追跡する529<h3 id="track-subagent-activity">

530 サブエージェントアクティビティを追跡する

531</h3>

495 532 

496`SubagentStop` フックを使用して、サブエージェントが作業を完了するときを監視します。[TypeScript](/ja/agent-sdk/typescript#hookinput) および [Python](/ja/agent-sdk/python#hookinput) SDK リファレンスで完全な入力型を参照してください。この例は、サブエージェントが完了するたびに概要をログします。533`SubagentStop` フックを使用して、サブエージェントが作業を完了するときを監視します。[TypeScript](/ja/agent-sdk/typescript#hookinput) および [Python](/ja/agent-sdk/python#hookinput) SDK リファレンスで完全な入力型を参照してください。この例は、サブエージェントが完了するたびに概要をログします。

497 534 


534 ```571 ```

535</CodeGroup>572</CodeGroup>

536 573 

537### フックから HTTP リクエストを行う574<h3 id="make-http-requests-from-hooks">

575 フックから HTTP リクエストを行う

576</h3>

538 577 

539フックは HTTP リクエストなどの非同期操作を実行できます。フック内でエラーをキャッチして、処理されない例外がエージェントを中断しないようにします。578フックは HTTP リクエストなどの非同期操作を実行できます。フック内でエラーをキャッチして、処理されない例外がエージェントを中断しないようにします。

540 579 


623 ```662 ```

624</CodeGroup>663</CodeGroup>

625 664 

626### 通知を Slack に転送する665<h3 id="forward-notifications-to-slack">

666 通知を Slack に転送する

667</h3>

668 

669`Notification` フックを使用して、エージェントからのシステム通知を受け取り、外部サービスに転送します。通知は以下のようなイベントタイプに対して発火します。

670 

671* `permission_prompt`(Claude がパーミッションを必要とする)

672* `idle_prompt`(Claude が入力を待機している)

673* `auth_success`(認証が完了した)

674* `elicitation_dialog`、`elicitation_complete`、および `elicitation_response`(ユーザープロンプト引き出しフロー用)

627 675 

628`Notification` フックを使用して、エージェントからのシステム通知を受け取り、外部サービスに転送します。通知は特定のイベントタイプに対して発火します。`permission_prompt`(Claude がパーミッションを必要とする)、`idle_prompt`(Claude が入力を待機している)、`auth_success`(認証が完了した)、`elicitation_dialog`(Claude がユーザーにプロンプトを表示している)、`elicitation_response`(ユーザーが質問に答えた)、および `elicitation_complete`(質問が閉じられた)です。各通知には、人間が読める説明を含む `message` フィールドと、オプションで `title` が含まれます。676各通知には、人間が読める説明を含む `message` フィールドと、オプションで `title` が含まれます。

629 677 

630この例は、すべての通知を Slack チャネルに転送します。[Slack 受信ウェブフック URL](https://api.slack.com/messaging/webhooks) が必要です。これは、Slack ワークスペースにアプリを追加し、受信ウェブフックを有効にすることで作成します。678この例は、すべての通知を Slack チャネルに転送します。[Slack 受信ウェブフック URL](https://api.slack.com/messaging/webhooks) が必要です。これは、Slack ワークスペースにアプリを追加し、受信ウェブフックを有効にすることで作成します。

631 679 


723 ```771 ```

724</CodeGroup>772</CodeGroup>

725 773 

726## 一般的な問題を修正する774<h2 id="fix-common-issues">

775 一般的な問題を修正する

776</h2>

727 777 

728### フックが発火しない778<h3 id="hook-not-firing">

779 フックが発火しない

780</h3>

729 781 

730* フックイベント名が正しく、大文字と小文字が区別されていることを確認します(`preToolUse` ではなく `PreToolUse`)782* フックイベント名が正しく、大文字と小文字が区別されていることを確認します(`preToolUse` ではなく `PreToolUse`)

731* マッチャーパターンがツール名と正確にマッチしていることを確認します783* マッチャーパターンがツール名と正確にマッチしていることを確認します


733* `Stop` や `SubagentStop` などの非ツールフックの場合、マッチャーは異なるフィールドに対してマッチングされます([マッチャーパターン](/ja/hooks#matcher-patterns)を参照)785* `Stop` や `SubagentStop` などの非ツールフックの場合、マッチャーは異なるフィールドに対してマッチングされます([マッチャーパターン](/ja/hooks#matcher-patterns)を参照)

734* エージェントが [`max_turns`](/ja/agent-sdk/python#claudeagentoptions) 制限に達するとセッションが終了する前にフックが実行される可能性があるため、フックが発火しない場合があります786* エージェントが [`max_turns`](/ja/agent-sdk/python#claudeagentoptions) 制限に達するとセッションが終了する前にフックが実行される可能性があるため、フックが発火しない場合があります

735 787 

736### マッチャーが期待どおりにフィルタリングしない788<h3 id="matcher-not-filtering-as-expected">

789 マッチャーが期待どおりにフィルタリングしない

790</h3>

737 791 

738マッチャーは**ツール名**のみをマッチングし、ファイルパスやその他の引数はマッチングしません。ファイルパスでフィルタリングするには、フック内で `tool_input.file_path` をチェックします:792マッチャーは**ツール名**のみをマッチングし、ファイルパスやその他の引数はマッチングしません。ファイルパスでフィルタリングするには、フック内で `tool_input.file_path` をチェックします:

739 793 


748};802};

749```803```

750 804 

751### フックタイムアウト805<h3 id="hook-timeout">

806 フックタイムアウト

807</h3>

752 808 

753* `HookMatcher` 設定で `timeout` 値を増やします809* `HookMatcher` 設定で `timeout` 値を増やします

754* TypeScript で 3 番目のコールバック引数から `AbortSignal` を使用して、キャンセルを適切に処理します810* TypeScript で 3 番目のコールバック引数から `AbortSignal` を使用して、キャンセルを適切に処理します

755 811 

756### ツールが予期せずブロックされた812<h3 id="tool-blocked-unexpectedly">

813 ツールが予期せずブロックされた

814</h3>

757 815 

758* すべての `PreToolUse` フックで `permissionDecision: 'deny'` を返していないかチェックします816* すべての `PreToolUse` フックで `permissionDecision: 'deny'` を返していないかチェックします

759* フックにログを追加して、返している `permissionDecisionReason` を確認します817* フックにログを追加して、返している `permissionDecisionReason` を確認します

760* マッチャーパターンが広すぎないことを確認します(空のマッチャーはすべてのツールにマッチングします)818* マッチャーパターンが広すぎないことを確認します(空のマッチャーはすべてのツールにマッチングします)

761 819 

762### 変更された入力が適用されない820<h3 id="modified-input-not-applied">

821 変更された入力が適用されない

822</h3>

763 823 

764* `updatedInput` が `hookSpecificOutput` の内部にあり、トップレベルにないことを確認します:824* `updatedInput` が `hookSpecificOutput` の内部にあり、トップレベルにないことを確認します:

765 825 


773 };833 };

774 ```834 ```

775 835 

776* 入力変更を有効にするには、`permissionDecision: 'allow'` または `'ask'` も返す必要があります836* 変更された入力を自動承認するには `permissionDecision: 'allow'` を返すか、ユーザーに承認を求めるには `'ask'` を返します

777 837 

778* `hookSpecificOutput` に `hookEventName` を含めて、出力がどのフック型用かを識別します838* `hookSpecificOutput` に `hookEventName` を含めて、出力がどのフック型用かを識別します

779 839 

780### Python でセッションフックが利用できない840<h3 id="session-hooks-not-available-in-python">

841 Python でセッションフックが利用できない

842</h3>

781 843 

782`SessionStart` と `SessionEnd` は TypeScript で SDK コールバックフックとして登録できますが、Python SDK では利用できません(`HookEvent` は除外されています)。Python では、設定ファイルで定義された[シェルコマンドフック](/ja/hooks#hook-events)としてのみ利用可能です(たとえば、`.claude/settings.json`)。SDK アプリケーションからシェルコマンドフックをロードするには、[`setting_sources`](/ja/agent-sdk/python#settingsource) または [`settingSources`](/ja/agent-sdk/typescript#settingsource) で適切な設定ソースを含めます:844`SessionStart` と `SessionEnd` は TypeScript で SDK コールバックフックとして登録できますが、Python SDK では利用できません(`HookEvent` は除外されています)。Python では、設定ファイルで定義された[シェルコマンドフック](/ja/hooks#hook-events)としてのみ利用可能です(たとえば、`.claude/settings.json`)。SDK アプリケーションからシェルコマンドフックをロードするには、[`setting_sources`](/ja/agent-sdk/python#settingsource) または [`settingSources`](/ja/agent-sdk/typescript#settingsource) で適切な設定ソースを含めます:

783 845 


797 859 

798Python SDK コールバックとして初期化ロジックを実行するには、`client.receive_response()` からの最初のメッセージをトリガーとして使用します。860Python SDK コールバックとして初期化ロジックを実行するには、`client.receive_response()` からの最初のメッセージをトリガーとして使用します。

799 861 

800### サブエージェントパーミッションプロンプトが増加する862<h3 id="subagent-permission-prompts-multiplying">

863 サブエージェントパーミッションプロンプトが増加する

864</h3>

801 865 

802複数のサブエージェントを生成する場合、各サブエージェントは個別にパーミッションをリクエストする可能性があります。サブエージェントは親エージェントのパーミッションを自動的に継承しません。繰り返されるプロンプトを避けるには、`PreToolUse` フックを使用して特定のツールを自動承認するか、サブエージェントセッションに適用されるパーミッションルールを設定します。866複数のサブエージェントを生成する場合、各サブエージェントは個別にパーミッションをリクエストする可能性があります。サブエージェントは親エージェントのパーミッションを自動的に継承しません。繰り返されるプロンプトを避けるには、`PreToolUse` フックを使用して特定のツールを自動承認するか、サブエージェントセッションに適用されるパーミッションルールを設定します。

803 867 

804### サブエージェントを使用した再帰的フックループ868<h3 id="recursive-hook-loops-with-subagents">

869 サブエージェントを使用した再帰的フックループ

870</h3>

805 871 

806サブエージェントを生成する `UserPromptSubmit` フックは、それらのサブエージェントが同じフックをトリガーする場合、無限ループを作成できます。これを防ぐには:872サブエージェントを生成する `UserPromptSubmit` フックは、それらのサブエージェントが同じフックをトリガーする場合、無限ループを作成できます。これを防ぐには:

807 873 


809* 共有変数またはセッション状態を使用して、既にサブエージェント内にいるかどうかを追跡します875* 共有変数またはセッション状態を使用して、既にサブエージェント内にいるかどうかを追跡します

810* フックをトップレベルエージェントセッションのみに実行するようにスコープします876* フックをトップレベルエージェントセッションのみに実行するようにスコープします

811 877 

812### systemMessage が出力に表示されない878<h3 id="systemmessage-not-appearing-in-output">

879 systemMessage が出力に表示されない

880</h3>

813 881 

814`systemMessage` フィールドはユーザーにメッセージを表示します。デフォルトでは SDK はメッセージストリームにフック出力を表示しないため、`includeHookEvents`(Python では `include_hook_events`)を設定しない限り、メッセージが表示されない場合があります。代わりにモデルにコンテキストを渡すには、[`additionalContext`](/ja/hooks#add-context-for-claude)を返します。882`systemMessage` フィールドはユーザーにメッセージを表示します。デフォルトでは SDK はメッセージストリームにフック出力を表示しないため、`includeHookEvents`(Python では `include_hook_events`)を設定しない限り、メッセージが表示されない場合があります。代わりにモデルにコンテキストを渡すには、[`additionalContext`](/ja/hooks#add-context-for-claude)を返します。

815 883 

816フック決定をアプリケーションに確実に表示する必要がある場合は、別途ログするか、専用の出力チャネルを使用します。884フック決定をアプリケーションに確実に表示する必要がある場合は、別途ログするか、専用の出力チャネルを使用します。

817 885 

818## 関連リソース886<h2 id="related-resources">

887 関連リソース

888</h2>

819 889 

820* [Claude Code フックリファレンス](/ja/hooks):完全な JSON 入力/出力スキーマ、イベント文書、およびマッチャーパターン890* [Claude Code フックリファレンス](/ja/hooks):完全な JSON 入力/出力スキーマ、イベント文書、およびマッチャーパターン

821* [Claude Code フックガイド](/ja/hooks-guide):シェルコマンドフックの例とウォークスルー891* [Claude Code フックガイド](/ja/hooks-guide):シェルコマンドフックの例とウォークスルー

Details

4 4 

5# Agent SDK のホスティング5# Agent SDK のホスティング

6 6 

7> 本番環境に Claude Agent SDK をデプロイしてホストする7> Agent SDK を本番環境にデプロイする:サブプロセスアーキテクチャ、セッション永続化、スケーリング、可観測性、Docker、Kubernetes、サンドボックスプロバイダー向けのマルチテナント分離。

8 8 

9Claude Agent SDK は従来のステートレス LLM API とは異なり会話状態を維持し永続的な環境でコマンドを実行しますこのガイドでは、本番環境で SDK ベースのエージェントをデプロイするためのアーキテクチャホスティングに関する考慮事項およびベストプラクティスについて説明します9Agent SDK `claude` CLI サブプロセスをスポーンして監視します。このサブプロセスはシェル作業ディレクトリディスク上のセッションファイルを所有していますホスティングはステートレス API ラッパーのホスティングとは異なります。実行中のすべてのエージェントはローカル状態に結びついた長寿命プロセスでありこれはリソースの割り当て方法セッションの永続化方法、テナント間のスケーリング方法に影響を与えます

10 

11このページでは、独自のインフラストラクチャでのセルフホスティングについて説明します:[サブプロセスモデル](#the-subprocess-model)を理解し、[セッションパターンを選択](#choose-a-session-pattern)し、[コンテナをプロビジョニング](#provision-the-container)し、永続化、可観測性、認証、マルチテナント分離などの[本番環境の懸念事項](#handle-production-concerns)に対処します。デプロイ可能な Dockerfile と Kubernetes マニフェストについては、[ホスティングクックブック](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting)を参照してください。

12 

13インフラストラクチャ制御、カスタム分離、または独自のデータプレーンが不要な場合は、代わりに[Managed Agents](https://platform.claude.com/docs/ja/managed-agents/overview)の使用を検討してください:Anthropic がエージェントとサンドボックスを実行するホスト型 REST API であり、アプリケーションはイベントを送信し、ホスティングインフラストラクチャを操作することなく結果をストリーミングバックします。

10 14 

11<Info>15<Info>

12 基本的なサンドボックス化を超えたセキュリティ強化(ネットワーク制御、認証情報管理、分離オプションを含む)については、[セキュアデプロイメント](/ja/agent-sdk/secure-deployment)を参照してください。16 ネットワーク制御、認証情報管理、分離オプションを含む基本的なサンドボックス化を超えたセキュリティ強化については、[セキュアデプロイメント](/ja/agent-sdk/secure-deployment)を参照してください。

13</Info>17</Info>

14 18 

15## ホスティング要件19<h2 id="the-subprocess-model">

20 サブプロセスモデル

21</h2>

22 

23このページのすべてのホスティング決定は、SDK がエージェントを実行する方法に基づいています。コードが `query()` を呼び出すと、SDK は別の `claude` CLI プロセスを生成し、stdio 経由で通信します。そのサブプロセスはシェル、作業ディレクトリ、およびローカルディスク上の JSONL セッショントランスクリプトを所有しています。

24 

25<img src="https://mintcdn.com/claude-code/Akpoo6g0xDlAmvHv/images/agent-sdk/hosting-subprocess.svg?fit=max&auto=format&n=Akpoo6g0xDlAmvHv&q=85&s=d348cc9687d47e0bc954075fd88d0e60" alt="リクエストフロー:クライアントからアプリへ、コンテナ内の stdio 経由で claude CLI サブプロセスを生成し、サブプロセスはローカルディスクに書き込み、HTTPS 経由で api.anthropic.com を呼び出します" width="920" height="220" data-path="images/agent-sdk/hosting-subprocess.svg" />

26 

271 つのエージェントセッションは 1 つのサブプロセスにマップされます。N 個の同時セッションを実行することは、N 個のサブプロセスを実行することを意味し、各サブプロセスは独自のプロセスツリーとトランスクリプトファイルを持ちます。デフォルトでは、すべてがアプリケーションの作業ディレクトリを継承するため、セッションが別のファイルシステムを必要とする場合は、各 `query()` 呼び出しで `cwd` を渡してください:

28 

29<CodeGroup>

30 ```typescript TypeScript theme={null}

31 query({ prompt, options: { cwd: "/work/session-a" } })

32 ```

33 

34 ```python Python theme={null}

35 query(prompt=prompt, options=ClaudeAgentOptions(cwd="/work/session-a"))

36 ```

37</CodeGroup>

38 

39<h3 id="state-that-lives-on-local-disk">

40 ローカルディスク上に存在する状態

41</h3>

42 

433 種類のエージェント状態がデフォルトでコンテナのファイルシステム上に存在します。これらのいずれもコンテナの再起動、スケールダウン、または別のノードへの移動を生き残りません。

44 

45| 状態 | デフォルトの場所 |

46| ------------------- | ------------------------------------------------------------------------------ |

47| セッショントランスクリプト | `~/.claude/projects/`、または設定されている場合は `CLAUDE_CONFIG_DIR` の下の `projects/` ディレクトリ |

48| `CLAUDE.md` メモリファイル | ユーザーティアの場合は `~/.claude/CLAUDE.md`、プロジェクトティアの場合はセッションの作業ディレクトリ |

49| 作業ディレクトリアーティファクト | セッションの作業ディレクトリ |

50 

51ホスト間でトランスクリプトを永続化するには、[`SessionStore` アダプター](/ja/agent-sdk/session-storage)を設定してください。メモリファイルおよび他の作業ディレクトリアーティファクトには、マウントされたボリュームまたはオブジェクトストア同期などの独自のストレージ戦略が必要です。

52 

53セッション、再開、およびフォークが API レベルでどのように機能するかについては、[セッション](/ja/agent-sdk/sessions)を参照してください。

54 

55<h2 id="choose-a-session-pattern">

56 セッションパターンを選択する

57</h2>

58 

59これら 4 つのパターンはセッションライフサイクルをカバーしています。コンテナがそれが提供するセッションに対してどのくらいの期間存在するかです。コンテナが実行される場所については、[ホスティングクックブック](https://github.com/anthropics/claude-cookbooks/blob/main/claude_agent_sdk/07_Hosting_the_agent.ipynb)に、ローカル Docker、Modal、Kubernetes 用の[デプロイ可能なコード](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting)があります。ここでセッションパターンを選択し、クックブックからデプロイメントターゲットを選択してください。

60 

61<h3 id="ephemeral-sessions">

62 エフェメラルセッション

63</h3>

64 

65各ユーザータスク用にコンテナを作成し、タスクが完了したときに破棄します。ワンオフタスクに最適です。ユーザーはタスクが完了している間も AI と相互作用できますが、完了するとコンテナは破棄されます。

66 

67例のワークロードには、バグ調査と修正、請求書と領収書の抽出、ドキュメント翻訳、メディア変換が含まれます。

68 

69コンテナは SDK を呼び出して終了する 1 回限りのエントリポイントを実行します。以下の例は最小限の TypeScript バージョンを示しています。`entrypoint.mts` として保存するか、`package.json` で `"type": "module"` を設定して、トップレベルの `await` が利用可能になるようにしてください。

70 

71```typescript theme={null}

72import { query } from "@anthropic-ai/claude-agent-sdk";

73 

74const prompt = process.env.TASK_PROMPT!;

75for await (const message of query({ prompt, options: { maxTurns: 20 } })) {

76 console.log(message);

77}

78```

79 

80<h3 id="long-running-sessions">

81 長時間実行セッション

82</h3>

83 

84永続的なコンテナインスタンスを実行し、多くの場合、コンテナごとに複数の SDK プロセスをホストして、継続的な作業に対応します。自律的なアクションを実行するエージェント、コンテンツを提供するエージェント、または高ボリュームのメッセージストリームを処理するエージェントに最適です。

85 

86例のワークロードには、受信メールをトリアージして応答するメールエージェント、コンテナポートを通じてユーザーごとの編集可能なサイトをホストするサイトビルダー、Slack などのプラットフォームからの継続的なトラフィックを処理するチャットボットが含まれます。

87 

88コンテナは HTTP または WebSocket エンドポイントを公開し、各アクティブセッションを長時間実行されるクエリとその背後にあるサブプロセスにマップします。TypeScript では、[`streamInput()`](/ja/agent-sdk/typescript#query-object) を使用してアクティブセッションにターンを追加し、[`startup()`](/ja/agent-sdk/typescript#startup) を使用して受信トラフィックの前にサブプロセスをプリウォームします。Python では、[`ClaudeSDKClient`](/ja/agent-sdk/python#claudesdkclient) を使用してセッションをターン全体で開いたままにします。コンテナのサイズを、メモリに保持できる最大数の同時セッションに対応できるようにしてください。

89 

90<h3 id="hybrid-sessions">

91 ハイブリッドセッション

92</h3>

93 

94スタートアップ時に [`SessionStore`](/ja/agent-sdk/session-storage) から水和し、更新を戻す一時的なコンテナです。多くの相互作用にまたがるが、その間アイドル状態になるセッションに最適です。コンテナはアイドル期間中にスピンダウンし、ユーザーが戻ってきたときにスピンバックアップします。

95 

96例のワークロードには、断続的なチェックインを伴う個人プロジェクトマネージャー、数時間にわたって一時停止および再開する深い研究、相互作用全体でチケット履歴を読み込むカスタマーサポートエージェントが含まれます。

97 

98プロバイダーのアイドルタイムアウトをユーザーが戻ってくることを期待する頻度に合わせて調整します。`SessionStore` が設定されていない状態でコンテナをシャットダウンするとトランスクリプトが失われるため、ストアはこのパターンでは必須であり、オプションではありません。

99 

100パターンは ID でセッションを再開し、共有ストアを接続することに基づいています:

101 

102<CodeGroup>

103 ```typescript TypeScript theme={null}

104 import { query, type SessionStore } from "@anthropic-ai/claude-agent-sdk";

105 

106 declare const userInput: string;

107 declare const sessionId: string; // looked up from your database by user

108 declare const sessionStore: SessionStore; // S3, Redis, Postgres, or your own adapter

109 

110 for await (const message of query({

111 prompt: userInput,

112 options: { resume: sessionId, sessionStore },

113 })) {

114 // ...

115 }

116 ```

117 

118 ```python Python theme={null}

119 from claude_agent_sdk import query, ClaudeAgentOptions

120 

121 async for message in query(

122 prompt=user_input,

123 options=ClaudeAgentOptions(

124 resume=session_id, # looked up from your database by user

125 session_store=session_store, # S3, Redis, Postgres, or your own adapter

126 ),

127 ):

128 ...

129 ```

130</CodeGroup>

131 

132[セッションストレージ](/ja/agent-sdk/session-storage)で完全な `SessionStore` インターフェースと参照アダプターを参照してください。

133 

134<h3 id="multi-agent-container">

135 マルチエージェントコンテナ

136</h3>

137 

1381 つのコンテナ内で複数の SDK サブプロセスを実行します。エージェントが密接に協力する必要があるエージェント、たとえば、エージェントが共有環境で相互に相互作用するマルチエージェントシミュレーションに最適です。

16 139 

17### コンテナベースのサンドボックス化140各エージェントに独自の作業ディレクトリを与えて、相互にファイルを上書きしないようにし、設定読み込みを分離して、エージェントごとの `CLAUDE.md` ファイルがエージェント間でリークしないようにします。具体的なオプションについては、[マルチテナント分離](#multi-tenant-isolation)を参照してください。

18 141 

19セキュリティと分離のため、SDK はサンドボックス化されたコンテナ環境内で実行する必要があります。これにより、プロセス分離、リソース制限、ネットワーク制御、および一時的なファイルシステムが提供されます。142<h2 id="provision-the-container">

143 コンテナのプロビジョニング

144</h2>

20 145 

21SDK は、コマンド実行のための[プログラマティックサンドボックス設定](/ja/agent-sdk/typescript#sandbox-settings)もサポートしています。146<h3 id="container-based-sandboxing">

147 コンテナベースのサンドボックス

148</h3>

22 149 

23### システム要件150プロセス分離、リソース制限、ネットワーク制御、および一時的なファイルシステムのために、サンドボックス化されたコンテナ内で SDK を実行します。複数のプロバイダーが Agent SDK のモデルに適合するサンドボックス化されたコンテナ環境を専門としています。

24 151 

25各 SDK インスタンスには以下が必要です152プロバイダーを選択する際に回答すべき質問

26 153 

27* **ランタイム依存関係**154* **サンドボックスを実行するのは誰か**:sandbox-as-a-service プロバイダーはインフラストラクチャを運用しますが、自己ホスト型オプションは自分のシステムで実行するソフトウェアを提供します。

28 * Python SDK の場合は Python 3.10 以上、TypeScript SDK の場合は Node.js 18 以上155* **コールドスタートレイテンシ**:「サンドボックスを作成」から「最初のリクエストを受け入れる準備ができた」までの時間。一時的なパターンは 1 秒未満の起動が必要です。長時間実行パターンはより長い時間を許容します。

29 * 両方の SDK パッケージにはホストプラットフォーム用のネイティブ Claude Code バイナリが含まれているため生成された CLI に対して Claude Code または Node.js の個別インストールは不要です156* **永続的なストレージ**:プロバイダーが耐久性のあるボリュームを提供するか一時的なディスクのみを提供するか。ハイブリッドパターンはサンドボックス内またはその横のいずれかで、どこかに耐久性のあるストレージが必要です。

157* **価格モデル**:秒単位、リクエスト単位、または時間単位の定額請求。秒単位の価格設定は、バースト的な一時的なワークロードに適しています。時間単位は長時間実行セッションに適しています。

158* **ネットワーク**:カスタム出力ルール、アウトバウンドプロキシ、および規制環境向けのプライベート VPC ピアリングのサポート。

30 159 

31* **リソース割り当て**160評価するプロバイダー:

32 * 推奨:1GiB RAM、5GiB のディスク、および 1 CPU(タスクに応じて必要に応じて変更してください)

33 161 

34* **ネットワークアクセス**162* [Modal Sandbox](https://modal.com/docs/guide/sandbox)([デモ実装](https://modal.com/docs/examples/claude-slack-gif-creator)付き)

35 * `api.anthropic.com` への送信 HTTPS163* [Cloudflare Sandboxes](https://github.com/cloudflare/sandbox-sdk)

36 * オプション:MCP サーバーまたは外部ツールへのアクセス164* [Daytona](https://www.daytona.io/)

165* [E2B](https://e2b.dev/)

166* [Fly Machines](https://fly.io/docs/machines/)

167* [Vercel Sandbox](https://vercel.com/docs/functions/sandbox)

37 168 

38## SDK アーキテクチャの理解169Docker、gVisor、Firecracker などの自己ホスト型オプション、および詳細な分離設定については、[分離テクノロジー](/ja/agent-sdk/secure-deployment#isolation-technologies)を参照してください。

39 170 

40ステートレス API 呼び出しとは異なり、Claude Agent SDK は以下を行う**長時間実行プロセス**として動作します:171<h3 id="runtime-dependencies">

172 ランタイム依存関係

173</h3>

41 174 

42* **永続的なシェル環境でコマンドを実行**175コンテナには SDK の言語ランタイムのみが必要です:

43* **作業ディレクトリ内でファイル操作を管理**

44* **前の相互作用からのコンテキストでツール実行を処理**

45 176 

46## サンドボックスプロバイダーオプション177* Python SDK の場合は Python 3.10 以上、または TypeScript SDK の場合は Node.js 18 以上

178* 両方の SDK パッケージはホストプラットフォーム用のネイティブ Claude Code バイナリをバンドルしているため、生成された CLI に対して個別の Claude Code または Node.js インストールは不要です

47 179 

48AI コード実行用のセキュアなコンテナ環境を専門とするいくつかのプロバイダーがあります180バンドルされたバイナリは SDK パッケージバージョンに固定されているため、SDK を更新することが CLI を更新する方法です。SDK は semver に従いますパッチリリースは継続的に取得し、マイナーを取得する前に [TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/blob/main/CHANGELOG.md) または [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/CHANGELOG.md) チェンジログを確認してください。

49 181 

50* **[Modal Sandbox](https://modal.com/docs/guide/sandbox)** - [デモ実装](https://modal.com/docs/examples/claude-slack-gif-creator)182<h3 id="resources">

51* **[Cloudflare Sandboxes](https://github.com/cloudflare/sandbox-sdk)**183 リソース

52* **[Daytona](https://www.daytona.io/)**184</h3>

53* **[E2B](https://e2b.dev/)**

54* **[Fly Machines](https://fly.io/docs/machines/)**

55* **[Vercel Sandbox](https://vercel.com/docs/functions/sandbox)**

56 185 

57自己ホスト型オプション(DockergVisorFirecracker)および詳細な分離設定については、[分離テクノロジー](/ja/agent-sdk/secure-deployment#isolation-technologies)を参照してください。186新しく起動されたインスタンスの場合エージェントあたり 1 GiB RAM5 GiB ディスクおよび 1 CPU が合理的な開始点です。メモリ使用量はセッション長とツールアクティビティとともに増加するため、アイドル状態のベースラインではなく、実際に必要なセッション長と同時実行性に合わせてサイズを設定してください。ホストあたりのエージェント数を計算する方法については、[スケーリングと同時実行](#scaling-and-concurrency)を参照してください。

58 187 

59## 本番環境デプロイメントパターン188<h3 id="network">

189 ネットワーク

190</h3>

60 191 

61### パターン 1:エフェメラルセッション192SDK `api.anthropic.com` へのアウトバウンド HTTPS、または Bedrock または Vertex で実行する場合はプロバイダーのリージョナルエンドポイントへのアウトバウンド HTTPS が必要です。エージェントが [MCP サーバー](/ja/agent-sdk/mcp)または外部ツールを使用する場合、それらのエンドポイントへのアウトバウンドアクセスも必要です。本番環境では、ドメイン許可リストを適用し、認証情報を挿入し、リクエストをログに記録する出力プロキシを通じてアウトバウンドトラフィックをルーティングしてください。完全なパターンについては、[セキュアデプロイメント](/ja/agent-sdk/secure-deployment)を参照してください。

62 193 

63各ユーザータスク用に新しいコンテナを作成し完了時に破棄します194インバウンドトラフィックの場合コンテナ上の HTTP または WebSocket ポートを公開しますアプリケーションはそのポート上のクライアントリクエストを処理し、SDK を内部的に呼び出します。サブプロセス自体はネットワーク上でリッスンしません。

64 195 

65ワンオフタスクに最適です。ユーザーはタスク完了中も AI と相互作用できますが、完了後はコンテナが破棄されます。196<h2 id="handle-production-concerns">

197 本番環境の懸念事項に対応する

198</h2>

66 199 

67**例:**200自己ホスト型エージェントをリリースする前に、これらの決定を検討してください。

68 201 

69* バグ調査と修正:関連するコンテキストを使用して特定の問題をデバッグして解決202<h3 id="session-and-state-persistence">

70* 請求書処理:領収書/請求書からデータを抽出して会計システム用に構造化203 セッションと状態の永続性

71* 翻訳タスク:言語間でドキュメントまたはコンテンツバッチを翻訳204</h3>

72* 画像/ビデオ処理:メディアファイルに変換、最適化を適用するか、メタデータを抽出

73 205 

74### パターン 2:長時間実行セッション206デフォルトのローカルディスクは、再起動、スケールダウン、または別のノードへの移動時に失われます。ユーザーが再開することを期待するセッションについては、トランスクリプトを [`SessionStore` アダプター](/ja/agent-sdk/session-storage) を使用して耐久性のあるストレージにミラーリングしてください。S3、Redis、Postgres アダプターと独自のアダプター用の適合スイートについては、[リファレンス実装](/ja/agent-sdk/session-storage#reference-implementations) を参照してください。

75 207 

76長時間実行タスク用に永続的なコンテナインスタンスを維持します。多くの場合、需要に基づいてコンテナ内で複数の Claude Agent プロセスを実行します208`SessionStore` の動作について知っておくべき 3 つのことがあります

77 209 

78ユーザー入力なしでアクションを実行するプロアクティブエージェントコンテンツを提供するエージェントまたは大量のメッセージを処理するエージェントに最適です210* **トランスクリプトのみ**:`SessionStore` はトランスクリプトをミラーリングし`CLAUDE.md` メモリファイルまたは他の作業ディレクトリアーティファクトはミラーリングしません。共有ボリュームをマウントするかそれらを別途同期してください

211* **ミラーリング、置き換えではない**:サブプロセスはまずローカルディスクに書き込み、ストアは各バッチのコピーを受け取ります。ローカル書き込みは権限を持ったままです。

212* **`mirror_error` メッセージ**:ストアが拒否またはタイムアウトした場合、SDK は `{ type: "system", subtype: "mirror_error" }` メッセージを発行し、再試行なしでクエリを続行します。ストアの耐久性が重要な場合は、これらについてアラートを設定してください。

79 213 

80**例:**214<h3 id="observability">

215 可観測性

216</h3>

81 217 

82* メールエージェント:受信メールを監視しコンテンツに基づいて自律的にトリアージ応答またはアクションを実行218Agent SDK エージェントは多くの API ラウンドトリップにわたってツール呼び出しを生成する長時間実行プロセスです。テレメトリがなければどのツールが実行されたかどのくらい時間がかかったか、またはセッションがどこで停止したかを確認することはできません。

83* サイトビルダー:ユーザーごとのカスタムウェブサイトをホストし、コンテナポート経由で提供されるライブ編集機能を備えています

84* 高頻度チャットボット:Slack などのプラットフォームからの継続的なメッセージストリームを処理し、迅速な応答時間が重要です

85 219 

86### パターン 3:ハイブリッドセッション220SDK は環境から OpenTelemetry 設定を継承します。コンテナまたはオーケストレーターレベルで OTEL 環境変数を設定して、すべての `query()` 呼び出しがスパン、メトリクス、およびログイベントをコレクターにエクスポートするようにしてください。以下の例は、3 つのシグナルすべてに対して OTLP エクスポートを有効にします。`CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` はトレースにのみ必要です。メトリクスとログのみをエクスポートする場合は省略してください。

87 221 

88履歴と状態で水和されたエフェメラルコンテナ。データベースから、または SDK のセッション再開機能から取得される可能性があります。222```bash title=".env' theme={null}

223CLAUDE_CODE_ENABLE_TELEMETRY=1

224CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1

225OTEL_TRACES_EXPORTER=otlp

226OTEL_METRICS_EXPORTER=otlp

227OTEL_LOGS_EXPORTER=otlp

228OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf

229OTEL_EXPORTER_OTLP_ENDPOINT=http://collector.example.com:4318

230```

89 231 

90ユーザーからの断続的な相互作用があり、作業をキックオフして作業完了時にスピンダウンするが続行できるコンテナに最適です232プロンプトテキストとツール入力はデフォルトではエクスポートに含まれません。オプトインフラグについては [エクスポートで機密データを制御する](/ja/agent-sdk/observability#control-sensitive-data-in-exports) を参照し完全なシグナルカタログについては [可観測性](/ja/agent-sdk/observability) を参照してください

91 233 

92**例:**234<h3 id="auth-and-secrets">

235 認証とシークレット

236</h3>

93 237 

94* 個人プロジェクトマネージャー:断続的なチェックインで進行中のプロジェクトを管理するのに役立ち、タスク、決定、進捗のコンテキストを維持238ホスティング時に重要な 3 つの認証上の懸念があります。

95* 深い調査:数時間の調査タスクを実施し、調査結果を保存し、ユーザーが戻ったときに調査を再開

96* カスタマーサポートエージェント:複数の相互作用にまたがるサポートチケットを処理し、チケット履歴と顧客コンテキストを読み込みます

97 239 

98### パターン 4単一コンテナ240* **Anthropic API**サブプロセスは環境から `ANTHROPIC_API_KEY` を読み取ります。シークレットマネージャーから提供するか、`ANTHROPIC_BASE_URL` を設定して、モデル呼び出しをコンテナ外でキーを注入するプロキシを通じてルーティングしてください。プロキシパターンについては [認証情報管理](/ja/agent-sdk/secure-deployment#credential-management) を参照し、サポートされている認証方法については [SDK 概要](/ja/agent-sdk/overview#get-started) を参照してください。

241* **インバウンド**:エージェントコンテナの前のゲートウェイに認証を配置してください。エージェントは事前認証されたリクエストを受け取る必要があり、ユーザートークンを検証するコンポーネントであってはいけません。

242* **アウトバウンドツール**:ツール認証情報をエージェント環境から除外してください。アウトバウンド呼び出しをプロキシを通じてルーティングし、リクエストがコンテナを離れた後に API キーを注入してください。エージェントが呼び出しを行い、プロキシが認証情報を追加します。

99 243 

1001 つのグローバルコンテナで複数の Claude Agent SDK プロセスを実行します。244<h3 id="scaling-and-concurrency">

245 スケーリングと並行処理

246</h3>

101 247 

102密接に協力する必要があるエージェントに最適です。これはおそらく最も人気のないパターンです。エージェントが互いに上書きするのを防ぐ必要があるためです248各セッションは独自のサブプロセスで実行されるため、ホスト上の並行処理はそのホストの RAM が保持できるサブプロセスの数によって制限されます

103 249 

104**例:**250この式を使用してホストのサイズを設定してください。

105 251 

106* **シミュレーション**:ビデオゲームなどのシミュレーション内で相互作用するエージェント。252```text theme={null}

253agents per host = (host RAM - overhead) / (per-session RAM ceiling)

254```

107 255 

108## FAQ256セッションごとの上限を測定するには、代表的なセッションをターゲット長まで実行し、予想されるツール負荷の下で実行し、ピーク RSS を記録してください。[リソース](#resources) の 1 GiB の開始点は下限であり、上限ではありません。

109 257 

110### サンドボックスと通信するにはどうすればよいですか?258水平スケーリングルーティングはパターンに依存します。長時間実行セッションの場合、コンテナが多くのセッションを保持する場合、ロードバランサーの背後にコンテナプールを実行し、`sessionId` での一貫性ハッシュを使用して各セッションを 1 つのコンテナにピン留めしてください。ピン留めされたセッションは、削除されるか、コンテナが再起動されるまで、同じコンテナ、したがって同じ実行中のサブプロセスに継続的にヒットします。

111 259 

112コンテナでホストする場合、SDK インスタンスと通信するためにポートを公開します。アプリケーションは外部クライアント用に HTTP/WebSocket エンドポイントを公開できますがSDK はコンテナ内で内部的に実行されます260単一セッションからの [サブエージェント](/ja/agent-sdk/subagents) の大規模なファンアウトはAPI レート制限に達する可能性があります1 つの広いディスパッチを発行するのではなく、作業をより小さなバッチに分割してください。

113 261 

114### コンテナをホストするコストはいくらですか?262<h3 id="cost">

263 コスト

264</h3>

115 265 

116エージェントを提供する場合の主なコストはトークンですコンテナはプロビジョニング内容に基づいて異なりますが最小コストは実行時間あたり約 5 セントです266Anthropic トークンコストは通常、コンテナインフラストラクチャコストを 1 桁以上上回ります最小限にプロビジョニングされたコンテナは 1 時間あたり約 \$0.05 で実行されますが単一の長いエージェントセッションはトークンで数ドルを費やす可能性があります。セッションごとのトークンアカウンティングについては [コスト追跡](/ja/agent-sdk/cost-tracking) を参照してください

117 267 

118### アイドルコンテナをシャットダウンするべきか、それとも温かく保つべきか?268<h3 id="multi-tenant-isolation">

269 マルチテナント分離

270</h3>

119 271 

120これはおそらくプロバイダーに依存します異なるサンドボックスプロバイダーはアイドルタイムアウト後にサンドボックスがスピンダウンする可能性がある異なる基準を設定できます272デフォルト SDK の動作は、ファイルシステムから設定と `CLAUDE.md` メモリファイルを読み取ります複数のテナントにサービスを提供する共有コンテナではこれらのファイルは 1 つのテナントのコンテキストを別のテナントのセッションにリークする可能性があります

121ユーザーの応答がどのくらい頻繁に発生すると思われるかに基づいて、このタイムアウトを調整する必要があります。

122 273 

123### Claude Code CLI はどのくらいの頻度で更新する必要がありますか?274共有コンテナ内でテナントを分離するには:

124 275 

125Claude Code CLI semver でバージョン管理されているため破壊的な変更はバージョン管理されます276* TypeScript `settingSources: []` を渡すかPython で `setting_sources=[]` を渡して、ファイルシステム設定が読み込まれないようにしてください

277* `env` で `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` を設定してください。[自動メモリ](/ja/memory#auto-memory) は `~/.claude/projects/<project>/memory/` で `settingSources` に関係なくシステムプロンプトに読み込まれます。[settingSources が制御しないもの](/ja/agent-sdk/claude-code-features#what-settingsources-does-not-control) を参照して、無条件に読み込まれる他の入力を確認してください。

278* `CLAUDE_CONFIG_DIR` をテナントごとのディレクトリにポイントして、テナントが `~/.claude.json` グローバル設定を共有しないようにしてください。

279* テナントごとの作業ディレクトリを使用してください。すべての `query()` 呼び出しで `cwd` を明示的に渡してください。

280* プロキシで異なるアウトバウンド IP、認証情報、またはドメイン許可リストなど、テナントごとのエグレスルールを適用して、侵害されたテナントが別のテナントのアウトバウンドポリシーを介してデータを流出させることができないようにしてください。

126 281 

127### コンテナの健全性とエージェントのパフォーマンスを監視するにはどうすればよいですか?282以下の例は、4 つの SDK レベルのオプションを一緒に適用します。`tenantDir` と `configDir` を構築して、各テナントが他のテナントが読み取ることができないパスを取得するようにしてください。TypeScript では、`env` はサブプロセス環境を置き換えるため、`PATH` や `ANTHROPIC_API_KEY` などの継承された変数を保持するために `...process.env` を展開してください。Python では、`env` は継承された環境の上にマージされます。

128 283 

129コンテナはサーバーであるため、バックエンド用に使用するのと同じログインフラストラクチャがコンテナで機能します。284<CodeGroup>

285 ```typescript TypeScript theme={null}

286 import { query } from "@anthropic-ai/claude-agent-sdk";

130 287 

131### エージェントセッションはタイムアウトする前にどのくらい実行できますか?288 declare const prompt: string;

289 declare const tenantDir: string;

290 declare const configDir: string;

132 291 

133エージェントセッションはタイムアウトしませんが、Claude がループに陥るのを防ぐために「maxTurns」プロパティを設定することを検討してください。292 for await (const message of query({

293 prompt,

294 options: {

295 cwd: tenantDir,

296 settingSources: [],

297 env: {

298 ...process.env,

299 CLAUDE_CONFIG_DIR: configDir,

300 CLAUDE_CODE_DISABLE_AUTO_MEMORY: "1",

301 },

302 },

303 })) {

304 // ...

305 }

306 ```

134 307 

135## 次のステップ308 ```python Python theme={null}

309 from claude_agent_sdk import query, ClaudeAgentOptions

310 

311 async for message in query(

312 prompt=prompt,

313 options=ClaudeAgentOptions(

314 cwd=tenant_dir,

315 setting_sources=[],

316 env={

317 "CLAUDE_CONFIG_DIR": config_dir,

318 "CLAUDE_CODE_DISABLE_AUTO_MEMORY": "1",

319 },

320 ),

321 ):

322 ...

323 ```

324</CodeGroup>

325 

326テナントごとのネットワーク制御については、[セキュアデプロイメント](/ja/agent-sdk/secure-deployment) を参照してください。

327 

328<h2 id="known-limitations">

329 既知の制限事項

330</h2>

136 331 

137* [セキュアデプロイメント](/ja/agent-sdk/secure-deployment) - ネットワーク制御、認証情報管理、および分離強化332デプロイメント設計でこれらを考慮してください。

138* [TypeScript SDK - サンドボックス設定](/ja/agent-sdk/typescript#sandbox-settings) - プログラマティックにサンドボックスを設定333 

139* [セッションガイド](/ja/agent-sdk/sessions) - セッション管理について学習334| 制限事項 | 対応方法 |

140* [権限](/ja/agent-sdk/permissions) - ツール権限を設定335| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

141* [コスト追跡](/ja/agent-sdk/cost-tracking) - API 使用状況を監視336| トップレベルのセッションタイムアウトがない | セッションは自動的にタイムアウトしません。`Options` `maxTurns` を設定して、エージェントがツール使用ラウンドトリップを実行する回数を制限し、停止する前に制限してください。 |

142* [MCP 統合](/ja/agent-sdk/mcp) - カスタムツールで拡張337| 長いセッションでのメモリ増加 | セッション長を制限するか、サブプロセスを定期的にリサイクルしてください。[スケーリングと並行処理](#scaling-and-concurrency)を参照してください。 |

338| 大規模な並列サブエージェントのファンアウトがレート制限に達する可能性がある | 1 つの広いディスパッチを発行するのではなく、作業をより小さなバッチに分割してください。 |

339| サブエージェントごとのウォールクロック期限がない | 各[サブエージェント](/ja/agent-sdk/subagents)を `AgentDefinition` の `maxTurns` で制限してください。バックグラウンドサブエージェントのみの場合、`CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` は、`run_in_background` サブエージェントが出力の生成を停止したときに発火するスタールウォッチドッグを設定します。これは総実行時間の期限ではありません。 |

340 

341<h2 id="next-steps">

342 次のステップ

343</h2>

344 

345* [ホスティングクックブック](https://github.com/anthropics/claude-cookbooks/blob/main/claude_agent_sdk/07_Hosting_the_agent.ipynb):Docker、Modal、および Kubernetes 用の[デプロイ可能なコード](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting)を含むノートブックのウォークスルー。

346* [セッションストレージ](/ja/agent-sdk/session-storage):`SessionStore` アダプターを使用してホスト間でトランスクリプトを永続化します。

347* [可観測性](/ja/agent-sdk/observability):OTEL トレース、メトリクス、およびログをコレクターにエクスポートします。

348* [セキュアデプロイメント](/ja/agent-sdk/secure-deployment):ネットワーク制御、認証情報管理、および分離強化。

349* [コスト追跡](/ja/agent-sdk/cost-tracking):セッションごとのトークンおよびコスト会計。

Details

721 721 

722### サーバーが「失敗」ステータスを表示する722### サーバーが「失敗」ステータスを表示する

723 723 

724init メッセージをチェックして、どのサーバーが接続に失敗したかを確認します:724`init` メッセージをチェックして、どのサーバーが接続に失敗したかを確認します:

725 725 

726```typescript theme={null}726```typescript theme={null}

727if (message.type === "system" && message.subtype === "init") {727if (message.type === "system" && message.subtype === "init") {


750 mcpServers: {750 mcpServers: {

751 // your servers751 // your servers

752 },752 },

753 allowedTools: ["mcp__servername__*"] // Required for Claude to use the tools753 allowedTools: ["mcp__servername__*"] // Auto-approve calls from this server

754 }754 }

755};755};

756```756```

Details

6 6 

7> Claude Code TypeScript および Python SDK を Claude Agent SDK に移行するためのガイド7> Claude Code TypeScript および Python SDK を Claude Agent SDK に移行するためのガイド

8 8 

9## 概要9<h2 id="overview">

10 概要

11</h2>

10 12 

11Claude Code SDK は **Claude Agent SDK** に名前が変更され、ドキュメントが再編成されました。この変更は、コーディングタスクだけでなく、AI エージェント構築のための SDK のより広い機能を反映しています。13Claude Code SDK は **Claude Agent SDK** に名前が変更され、ドキュメントが再編成されました。この変更は、コーディングタスクだけでなく、AI エージェント構築のための SDK のより広い機能を反映しています。

12 14 

13## 変更内容15<h2 id="what-s-changed">

16 変更内容

17</h2>

14 18 

15| 項目 | 旧版 | 新版 |19| 項目 | 旧版 | 新版 |

16| :---------------- | :-------------------------- | :------------------------------- |20| :---------------- | :-------------------------- | :------------------------------- |


22 **ドキュメント変更:** Agent SDK ドキュメントは Claude Code ドキュメントから API ガイドの専用 [Agent SDK](/ja/agent-sdk/overview) セクションに移動しました。Claude Code ドキュメントは現在、CLI ツールと自動化機能に焦点を当てています。26 **ドキュメント変更:** Agent SDK ドキュメントは Claude Code ドキュメントから API ガイドの専用 [Agent SDK](/ja/agent-sdk/overview) セクションに移動しました。Claude Code ドキュメントは現在、CLI ツールと自動化機能に焦点を当てています。

23</Note>27</Note>

24 28 

25## 移行手順29<h2 id="migration-steps">

30 移行手順

31</h2>

26 32 

27### TypeScript/JavaScript プロジェクト向け33<h3 id="for-typescript/javascript-projects">

34 TypeScript/JavaScript プロジェクト向け

35</h3>

28 36 

29**1. 古いパッケージをアンインストールします:**37**1. 古いパッケージをアンインストールします:**

30 38 


76 84 

77以上です。他のコード変更は必要ありません。85以上です。他のコード変更は必要ありません。

78 86 

79### Python プロジェクト向け87<h3 id="for-python-projects">

88 Python プロジェクト向け

89</h3>

80 90 

81**1. 古いパッケージをアンインストールします:**91**1. 古いパッケージをアンインストールします:**

82 92 


122 132 

123移行を完了するために必要なコード変更を行います。133移行を完了するために必要なコード変更を行います。

124 134 

125## 破壊的変更135<h2 id="breaking-changes">

136 破壊的変更

137</h2>

126 138 

127<Warning>139<Warning>

128 分離と明示的な設定を改善するため、Claude Agent SDK v0.1.0 は Claude Code SDK から移行するユーザーに対して破壊的変更を導入しています。移行前にこのセクションを注意深く確認してください。140 分離と明示的な設定を改善するため、Claude Agent SDK v0.1.0 は Claude Code SDK から移行するユーザーに対して破壊的変更を導入しています。移行前にこのセクションを注意深く確認してください。

129</Warning>141</Warning>

130 142 

131### Python:ClaudeCodeOptions が ClaudeAgentOptions に名前変更143<h3 id="python-claudecodeoptions-renamed-to-claudeagentoptions">

144 Python:ClaudeCodeOptions が ClaudeAgentOptions に名前変更

145</h3>

132 146 

133**変更内容:** Python SDK の型 `ClaudeCodeOptions` が `ClaudeAgentOptions` に名前変更されました。147**変更内容:** Python SDK の型 `ClaudeCodeOptions` が `ClaudeAgentOptions` に名前変更されました。

134 148 


148 162 

149**変更理由:** 型名は「Claude Agent SDK」ブランディングと一致し、SDK の命名規則全体で一貫性を提供します。163**変更理由:** 型名は「Claude Agent SDK」ブランディングと一致し、SDK の命名規則全体で一貫性を提供します。

150 164 

151### システムプロンプトがデフォルトではなくなりました165<h3 id="system-prompt-no-longer-default">

166 システムプロンプトがデフォルトではなくなりました

167</h3>

152 168 

153**変更内容:** SDK はデフォルトで Claude Code のシステムプロンプトを使用しなくなりました。169**変更内容:** SDK はデフォルトで Claude Code のシステムプロンプトを使用しなくなりました。

154 170 


205 221 

206**変更理由:** SDK アプリケーションのより良い制御と分離を提供します。Claude Code の CLI 中心の指示を継承することなく、カスタム動作を持つエージェントを構築できるようになりました。222**変更理由:** SDK アプリケーションのより良い制御と分離を提供します。Claude Code の CLI 中心の指示を継承することなく、カスタム動作を持つエージェントを構築できるようになりました。

207 223 

208### 設定ソースのデフォルト224<h3 id="settings-sources-default">

225 設定ソースのデフォルト

226</h3>

209 227 

210このデフォルトは v0.1.0 で一度変更されてから元に戻されたため、移行アクションは必要ありません。228このデフォルトは v0.1.0 で一度変更されてから元に戻されたため、移行アクションは必要ありません。

211 229 


257 SDK v0.1.0 は一度設定が読み込まれないようにデフォルト設定されましたが、その後のリリースで元に戻されました。Python SDK 0.1.59 以前は空のリストをオプションを省略するのと同じように扱ったため、`setting_sources=[]` に依存する前にアップグレードしてください。`settingSources` が `[]` の場合でも読み込まれる入力については、[What settingSources does not control](/ja/agent-sdk/claude-code-features#what-settingsources-does-not-control) を参照してください。275 SDK v0.1.0 は一度設定が読み込まれないようにデフォルト設定されましたが、その後のリリースで元に戻されました。Python SDK 0.1.59 以前は空のリストをオプションを省略するのと同じように扱ったため、`setting_sources=[]` に依存する前にアップグレードしてください。`settingSources` が `[]` の場合でも読み込まれる入力については、[What settingSources does not control](/ja/agent-sdk/claude-code-features#what-settingsources-does-not-control) を参照してください。

258</Note>276</Note>

259 277 

260## 名前変更の理由278<h2 id="why-the-rename">

279 名前変更の理由

280</h2>

261 281 

262Claude Code SDK はもともとコーディングタスク用に設計されていましたが、あらゆるタイプの AI エージェント構築のための強力なフレームワークに進化しました。新しい名前「Claude Agent SDK」はその機能をより良く反映しています:282Claude Code SDK はもともとコーディングタスク用に設計されていましたが、あらゆるタイプの AI エージェント構築のための強力なフレームワークに進化しました。新しい名前「Claude Agent SDK」はその機能をより良く反映しています:

263 283 


265* 特化したコーディングエージェントの作成(SRE ボット、セキュリティレビュアー、コードレビューエージェント)285* 特化したコーディングエージェントの作成(SRE ボット、セキュリティレビュアー、コードレビューエージェント)

266* ツール使用、MCP 統合など、あらゆるドメイン向けのカスタムエージェント開発286* ツール使用、MCP 統合など、あらゆるドメイン向けのカスタムエージェント開発

267 287 

268## ヘルプを得る288<h2 id="getting-help">

289 ヘルプを得る

290</h2>

269 291 

270移行中に問題が発生した場合:292移行中に問題が発生した場合:

271 293 


2812. requirements.txt または pyproject.toml に新しいパッケージ名があることを確認します3032. requirements.txt または pyproject.toml に新しいパッケージ名があることを確認します

2823. `pip install claude-agent-sdk` を実行して、パッケージがインストールされていることを確認します3043. `pip install claude-agent-sdk` を実行して、パッケージがインストールされていることを確認します

283 305 

284## 次のステップ306<h2 id="next-steps">

307 次のステップ

308</h2>

285 309 

286* [Agent SDK Overview](/ja/agent-sdk/overview) を探索して、利用可能な機能について学びます310* [Agent SDK Overview](/ja/agent-sdk/overview) を探索して、利用可能な機能について学びます

287* [TypeScript SDK Reference](/ja/agent-sdk/typescript) をチェックして、詳細な API ドキュメントを確認します311* [TypeScript SDK Reference](/ja/agent-sdk/typescript) をチェックして、詳細な API ドキュメントを確認します

Details

15* [4 つのアプローチを比較](#compare-the-four-approaches)する方法。永続性、スコープ、および保持される内容による比較15* [4 つのアプローチを比較](#compare-the-four-approaches)する方法。永続性、スコープ、および保持される内容による比較

16* [アプローチを組み合わせ](#combine-approaches)てカスタマイズ方法を重ねる方法16* [アプローチを組み合わせ](#combine-approaches)てカスタマイズ方法を重ねる方法

17 17 

18## システムプロンプトの仕組み18<h2 id="how-system-prompts-work">

19 システムプロンプトの仕組み

20</h2>

19 21 

20システムプロンプトは、会話全体を通じて Claude の動作方法を形作る初期命令セットです。Agent SDK には、これに対する 3 つの開始点があります:22システムプロンプトは、会話全体を通じて Claude の動作方法を形作る初期命令セットです。Agent SDK には、これに対する 3 つの開始点があります:

21 23 


23* **`claude_code` プリセット**:Claude Code CLI が使用する完全なシステムプロンプト。ツール使用命令、コードスタイルとフォーマットガイドライン、応答トーンと詳細度ルール、セキュリティと安全性の命令、および作業ディレクトリと環境に関するコンテキストが含まれています。TypeScript で `systemPrompt: { type: "preset", preset: "claude_code" }` を設定するか、Python で `system_prompt={"type": "preset", "preset": "claude_code"}` を設定してください。オプションで `append` を使用して、最後に独自の命令を追加できます。25* **`claude_code` プリセット**:Claude Code CLI が使用する完全なシステムプロンプト。ツール使用命令、コードスタイルとフォーマットガイドライン、応答トーンと詳細度ルール、セキュリティと安全性の命令、および作業ディレクトリと環境に関するコンテキストが含まれています。TypeScript で `systemPrompt: { type: "preset", preset: "claude_code" }` を設定するか、Python で `system_prompt={"type": "preset", "preset": "claude_code"}` を設定してください。オプションで `append` を使用して、最後に独自の命令を追加できます。

24* **カスタム文字列**:自分で作成したプロンプト。SDK は提供したものだけを送信します。26* **カスタム文字列**:自分で作成したプロンプト。SDK は提供したものだけを送信します。

25 27 

26### 開始点を決定する28<h3 id="decide-on-a-starting-point">

29 開始点を決定する

30</h3>

27 31 

28決定要因は、エージェントが Claude Code にどの程度似ているかです:リポジトリで動作するコーディングエージェント。人間がストリーミング出力を監視して作業を指導します。製品がそれから遠いほど、独自のプロンプトを作成する必要があります。32決定要因は、エージェントが Claude Code にどの程度似ているかです:リポジトリで動作するコーディングエージェント。人間がストリーミング出力を監視して作業を指導します。製品がそれから遠いほど、独自のプロンプトを作成する必要があります。

29 33 


43 47 

44[比較表](#compare-the-four-approaches)は、各カスタマイズ方法が何を保持するかを示しています。48[比較表](#compare-the-four-approaches)は、各カスタマイズ方法が何を保持するかを示しています。

45 49 

46## エージェントの動作をカスタマイズする50<h2 id="customize-agent-behavior">

51 エージェントの動作をカスタマイズする

52</h2>

47 53 

48出力スタイル、`append`、およびカスタムプロンプト文字列は、それぞれシステムプロンプトを直接変更します。CLAUDE.md は異なるパスを取ります。SDK がそれを読み込み、システムプロンプトではなくプロジェクトコンテキストとして会話に内容を注入するため、選択したシステムプロンプトに関係なく動作を形作ります。[Skills](/ja/agent-sdk/skills)、[hooks](/ja/agent-sdk/hooks)、および[permissions](/ja/agent-sdk/permissions)もシステムプロンプト外で動作を形作り、独自のページで説明されています。54出力スタイル、`append`、およびカスタムプロンプト文字列は、それぞれシステムプロンプトを直接変更します。CLAUDE.md は異なるパスを取ります。SDK がそれを読み込み、システムプロンプトではなくプロジェクトコンテキストとして会話に内容を注入するため、選択したシステムプロンプトに関係なく動作を形作ります。[Skills](/ja/agent-sdk/skills)、[hooks](/ja/agent-sdk/hooks)、および[permissions](/ja/agent-sdk/permissions)もシステムプロンプト外で動作を形作り、独自のページで説明されています。

49 55 

50### プロジェクトレベルの命令用の CLAUDE.md ファイル56<h3 id="claude-md-files-for-project-level-instructions">

57 プロジェクトレベルの命令用の CLAUDE.md ファイル

58</h3>

51 59 

52CLAUDE.md ファイルは Claude に永続的なプロジェクトコンテキストと命令を提供します。SDK は会話に内容を注入し、システムプロンプトには注入しないため、任意のシステムプロンプト設定で機能します。CLAUDE.md に何を入れるか、どこに配置するか、効果的な命令を書く方法については、[Claude がプロジェクトを記憶する方法](/ja/memory)を参照してください。このセクションでは SDK に固有のもの、つまり CLAUDE.md がどのように読み込まれるかについて説明します。60CLAUDE.md ファイルは Claude に永続的なプロジェクトコンテキストと命令を提供します。SDK は会話に内容を注入し、システムプロンプトには注入しないため、任意のシステムプロンプト設定で機能します。CLAUDE.md に何を入れるか、どこに配置するか、効果的な命令を書く方法については、[Claude がプロジェクトを記憶する方法](/ja/memory)を参照してください。このセクションでは SDK に固有のもの、つまり CLAUDE.md がどのように読み込まれるかについて説明します。

53 61 

54SDK は、対応する設定ソースが有効な場合に CLAUDE.md を読み込みます。`'project'` は作業ディレクトリから `CLAUDE.md` または `.claude/CLAUDE.md` を読み込み、`'user'` は `~/.claude/CLAUDE.md` を読み込みます。デフォルトの `query()` オプションは両方のソースを有効にするため、CLAUDE.md は自動的に読み込まれます。TypeScript で `settingSources` または Python で `setting_sources` を明示的に設定する場合は、必要なソースを含めてください。CLAUDE.md の読み込みは設定ソースによって制御され、`claude_code` プリセットによっては制御されません。62SDK は、対応する設定ソースが有効な場合に CLAUDE.md を読み込みます。`'project'` は作業ディレクトリから `CLAUDE.md` または `.claude/CLAUDE.md` を読み込み、`'user'` は `~/.claude/CLAUDE.md` を読み込みます。デフォルトの `query()` オプションは両方のソースを有効にするため、CLAUDE.md は自動的に読み込まれます。TypeScript で `settingSources` または Python で `setting_sources` を明示的に設定する場合は、必要なソースを含めてください。CLAUDE.md の読み込みは設定ソースによって制御され、`claude_code` プリセットによっては制御されません。

55 63 

56#### SDK で CLAUDE.md を読み込む64<h4 id="load-claude-md-with-the-sdk">

65 SDK で CLAUDE.md を読み込む

66</h4>

57 67 

58CLAUDE.md を読み込むには、`settingSources` を CLAUDE.md が存在するレベルを含むように設定します。以下の例は、プロジェクトレベルの CLAUDE.md を `claude_code` プリセットと共に読み込むため、Claude は完全なコーディングエージェントプロンプトとプロジェクトの規約の両方にアクセスできます。68CLAUDE.md を読み込むには、`settingSources` を CLAUDE.md が存在するレベルを含むように設定します。以下の例は、プロジェクトレベルの CLAUDE.md を `claude_code` プリセットと共に読み込むため、Claude は完全なコーディングエージェントプロンプトとプロジェクトの規約の両方にアクセスできます。

59 69 


102 112 

103CLAUDE.md はプロジェクト内のすべてのセッション全体で永続的であり、git を通じてチームと共有され、コード変更なしで自動的に検出されます。空の `settingSources` 配列を渡す場合は読み込まれません。113CLAUDE.md はプロジェクト内のすべてのセッション全体で永続的であり、git を通じてチームと共有され、コード変更なしで自動的に検出されます。空の `settingSources` 配列を渡す場合は読み込まれません。

104 114 

105### 永続的な設定のための出力スタイル115<h3 id="output-styles-for-persistent-configurations">

116 永続的な設定のための出力スタイル

117</h3>

106 118 

107出力スタイルは Claude のシステムプロンプトを変更する保存された設定です。マークダウンファイルとして保存され、セッションとプロジェクト全体で再利用できます。119出力スタイルは Claude のシステムプロンプトを変更する保存された設定です。マークダウンファイルとして保存され、セッションとプロジェクト全体で再利用できます。

108 120 

109#### 出力スタイルを作成する121<h4 id="create-an-output-style">

122 出力スタイルを作成する

123</h4>

110 124 

111出力スタイルは、[frontmatter](/ja/output-styles#frontmatter)のメタデータを含むマークダウンファイルで、その後にプロンプトコンテンツが続きます。すべてのプロジェクトで利用可能なユーザーレベルのスタイルの場合は `~/.claude/output-styles/` に保存するか、チームと共有してコミットできるプロジェクトレベルのスタイルの場合はリポジトリの `.claude/output-styles/` に保存します。125出力スタイルは、[frontmatter](/ja/output-styles#frontmatter)のメタデータを含むマークダウンファイルで、その後にプロンプトコンテンツが続きます。すべてのプロジェクトで利用可能なユーザーレベルのスタイルの場合は `~/.claude/output-styles/` に保存するか、チームと共有してコミットできるプロジェクトレベルのスタイルの場合はリポジトリの `.claude/output-styles/` に保存します。

112 126 


1304. Rate code quality (1-10)1444. Rate code quality (1-10)

131```145```

132 146 

133#### 出力スタイルをアクティブ化する147<h4 id="activate-an-output-style">

148 出力スタイルをアクティブ化する

149</h4>

134 150 

135作成後、以下を通じて出力スタイルをアクティブ化します。151作成後、以下を通じて出力スタイルをアクティブ化します。

136 152 

137* **CLI**:`/config` を実行し、出力スタイルを選択153* **CLI**:`/config` を実行し、出力スタイルを選択

138* **設定**:`.claude/settings.local.json` で `outputStyle` を設定154* **設定**:`.claude/settings.local.json` で `outputStyle` を設定

139* **TypeScript SDK**:`options.outputStyle` をスタイルの名前に設定155* **TypeScript SDK**:`query()` に渡されるインラインの `settings` オブジェクト内で `outputStyle` を設定するか、`settings` を `outputStyle` を設定する設定ファイルに指定します。`outputStyle` はトップレベルの `Options` フィールドではありません

140 156 

141Python SDK には、出力スタイルをプログラムで選択するオプションはありません。`.claude/settings.local.json` に書き込めないコードのみのデプロイメントの場合は、`append` またはカスタムプロンプト文字列を代わりに使用してください。157Python SDK には、出力スタイルをプログラムで選択するオプションはありません。`.claude/settings.local.json` に書き込めないコードのみのデプロイメントの場合は、`append` またはカスタムプロンプト文字列を代わりに使用してください。

142 158 

143**SDK ユーザーへの注記:** 出力スタイルは、オプションに `settingSources: ['user']` または `settingSources: ['project']`(TypeScript)/ `setting_sources=["user"]` または `setting_sources=["project"]`(Python)を含める場合に読み込まれます。159**SDK ユーザーへの注記:** 出力スタイルは、オプションに `settingSources: ['user']` または `settingSources: ['project']`(TypeScript)/ `setting_sources=["user"]` または `setting_sources=["project"]`(Python)を含める場合に読み込まれます。

144 160 

145### `claude_code` プリセットに追加する161<h3 id="append-to-the-claude_code-preset">

162 `claude_code` プリセットに追加する

163</h3>

146 164 

147Claude Code プリセットを `append` プロパティと共に使用して、カスタム命令を追加しながら、すべての組み込み機能を保持できます。165Claude Code プリセットを `append` プロパティと共に使用して、カスタム命令を追加しながら、すべての組み込み機能を保持できます。

148 166 


190 ```208 ```

191</CodeGroup>209</CodeGroup>

192 210 

193#### ユーザーとマシン全体でプロンプトキャッシングを改善する211<h4 id="improve-prompt-caching-across-users-and-machines">

212 ユーザーとマシン全体でプロンプトキャッシングを改善する

213</h4>

194 214 

195デフォルトでは、同じ `claude_code` プリセットと `append` テキストを使用する 2 つのセッションでも、異なる作業ディレクトリから実行される場合、プロンプトキャッシュエントリを共有することはできません。これは、プリセットが `append` テキストの前のシステムプロンプトにセッションごとのコンテキストを埋め込むためです。作業ディレクトリ、git リポジトリであるかどうか、プラットフォーム、アクティブなシェル、OS バージョン、および自動メモリパスです。そのコンテキストに違いがあると、異なるシステムプロンプトが生成され、キャッシュミスが発生します。CLAUDE.md コンテンツはシステムプロンプトに影響しません。SDK がそれを会話に注入し、システムプロンプトには注入しないためです。215デフォルトでは、同じ `claude_code` プリセットと `append` テキストを使用する 2 つのセッションでも、異なる作業ディレクトリから実行される場合、プロンプトキャッシュエントリを共有することはできません。これは、プリセットが `append` テキストの前のシステムプロンプトにセッションごとのコンテキストを埋め込むためです。作業ディレクトリ、git リポジトリであるかどうか、プラットフォーム、アクティブなシェル、OS バージョン、および自動メモリパスです。そのコンテキストに違いがあると、異なるシステムプロンプトが生成され、キャッシュミスが発生します。CLAUDE.md コンテンツはシステムプロンプトに影響しません。SDK がそれを会話に注入し、システムプロンプトには注入しないためです。

196 216 


243 263 

244非対話型 CLI モードの同等のフラグについては、[`--exclude-dynamic-system-prompt-sections`](/ja/cli-reference)を参照してください。264非対話型 CLI モードの同等のフラグについては、[`--exclude-dynamic-system-prompt-sections`](/ja/cli-reference)を参照してください。

245 265 

246### カスタムシステムプロンプト266<h3 id="custom-system-prompts">

267 カスタムシステムプロンプト

268</h3>

247 269 

248カスタム文字列を `systemPrompt` として提供して、デフォルトを完全に独自の命令に置き換えることができます。270カスタム文字列を `systemPrompt` として提供して、デフォルトを完全に独自の命令に置き換えることができます。

249 271 


297 ```319 ```

298</CodeGroup>320</CodeGroup>

299 321 

300## 4 つのアプローチすべての比較322<h2 id="compare-the-four-approaches">

323 4 つのアプローチすべての比較

324</h2>

301 325 

3024 つのカスタマイズ方法は、どこに存在するか、どのように共有されるか、および `claude_code` プリセットから何を保持するかが異なります。3264 つのカスタマイズ方法は、どこに存在するか、どのように共有されるか、および `claude_code` プリセットから何を保持するかが異なります。

303 327 


315 339 

316「追加を使用」は TypeScript で `systemPrompt: { type: "preset", preset: "claude_code", append: "..." }` を使用するか、Python で `system_prompt={"type": "preset", "preset": "claude_code", "append": "..."}` を使用することを意味します。CLAUDE.md はシステムプロンプト自体を変更しません。SDK はそのコンテンツをプロジェクトコンテキストとして会話に注入します。340「追加を使用」は TypeScript で `systemPrompt: { type: "preset", preset: "claude_code", append: "..." }` を使用するか、Python で `system_prompt={"type": "preset", "preset": "claude_code", "append": "..."}` を使用することを意味します。CLAUDE.md はシステムプロンプト自体を変更しません。SDK はそのコンテンツをプロジェクトコンテキストとして会話に注入します。

317 341 

318## ユースケースとベストプラクティス342<h2 id="use-cases-and-best-practices">

343 ユースケースとベストプラクティス

344</h2>

319 345 

320### CLAUDE.md を使用する場合346<h3 id="when-to-use-claude-md">

347 CLAUDE.md を使用する場合

348</h3>

321 349 

322CLAUDE.md は、セッションで使用されるシステムプロンプトに関係なく、プロジェクト内のすべてのセッションに適用すべき命令に使用します。コーディング標準、一般的なコマンド、アーキテクチャコンテキスト、チーム規約などです。CLAUDE.md はリポジトリにコミットされるため、それが説明するコードと同期を保ちます。詳細なガイダンスについては、[CLAUDE.md に追加する場合](/ja/memory#when-to-add-to-claude-md)を参照してください。350CLAUDE.md は、セッションで使用されるシステムプロンプトに関係なく、プロジェクト内のすべてのセッションに適用すべき命令に使用します。コーディング標準、一般的なコマンド、アーキテクチャコンテキスト、チーム規約などです。CLAUDE.md はリポジトリにコミットされるため、それが説明するコードと同期を保ちます。詳細なガイダンスについては、[CLAUDE.md に追加する場合](/ja/memory#when-to-add-to-claude-md)を参照してください。

323 351 

324CLAUDE.md ファイルは `project` 設定ソースが有効な場合に読み込まれます。これはデフォルトの `query()` オプションの場合です。TypeScript で `settingSources` または Python で `setting_sources` を明示的に設定する場合は、プロジェクトレベルの CLAUDE.md の読み込みを続けるために `'project'` を含めてください。352CLAUDE.md ファイルは `project` 設定ソースが有効な場合に読み込まれます。これはデフォルトの `query()` オプションの場合です。TypeScript で `settingSources` または Python で `setting_sources` を明示的に設定する場合は、プロジェクトレベルの CLAUDE.md の読み込みを続けるために `'project'` を含めてください。

325 353 

326### 出力スタイルを使用する場合354<h3 id="when-to-use-output-styles">

355 出力スタイルを使用する場合

356</h3>

327 357 

328出力スタイルは、アプリケーションコードを変更することなく CLI と SDK 全体で再利用したいペルソナ用です。`.claude/output-styles` 内のファイルとして存在するため、同じペルソナは CLI の `/config` から、および一致する設定ソースを読み込むすべての SDK セッションから利用できます。358出力スタイルは、アプリケーションコードを変更することなく CLI と SDK 全体で再利用したいペルソナ用です。`.claude/output-styles` 内のファイルとして存在するため、同じペルソナは CLI の `/config` から、および一致する設定ソースを読み込むすべての SDK セッションから利用できます。

329 359 


340* セキュリティ重視のコードレビュアーの構築370* セキュリティ重視のコードレビュアーの構築

341* 特定の教育学を持つティーチングアシスタントの開発371* 特定の教育学を持つティーチングアシスタントの開発

342 372 

343### `systemPrompt` を追加で使用する場合373<h3 id="when-to-use-systemprompt-with-append">

374 `systemPrompt` を追加で使用する場合

375</h3>

344 376 

345`claude_code` プリセットがすでに製品に適合しており、追加の命令をレイヤーするだけで済む場合は、`append` を使用します。プリセットのツールガイダンス、安全ルール、コーディング規約を再実装することなく保持します。377`claude_code` プリセットがすでに製品に適合しており、追加の命令をレイヤーするだけで済む場合は、`append` を使用します。プリセットのツールガイダンス、安全ルール、コーディング規約を再実装することなく保持します。

346 378 


352* 応答詳細度の変更384* 応答詳細度の変更

353* ツール命令を失わずに Claude Code のデフォルト動作を強化する385* ツール命令を失わずに Claude Code のデフォルト動作を強化する

354 386 

355### カスタム `systemPrompt` を使用する場合387<h3 id="when-to-use-custom-systemprompt">

388 カスタム `systemPrompt` を使用する場合

389</h3>

356 390 

357[開始点を決定する](#decide-on-a-starting-point)で説明されているように、エージェントのサーフェス、アイデンティティ、または権限モデルが Claude Code のものと異なる場合は、カスタムプロンプトを使用します。ツールガイダンスと安全ルールを含む、エージェントが必要とする完全な命令セットを定義します。391[開始点を決定する](#decide-on-a-starting-point)で説明されているように、エージェントのサーフェス、アイデンティティ、または権限モデルが Claude Code のものと異なる場合は、カスタムプロンプトを使用します。ツールガイダンスと安全ルールを含む、エージェントが必要とする完全な命令セットを定義します。

358 392 


364* デフォルトツールが不要な状況398* デフォルトツールが不要な状況

365* ユニークな動作を持つ特殊なエージェントの構築399* ユニークな動作を持つ特殊なエージェントの構築

366 400 

367## アプローチの組み合わせ401<h2 id="combine-approaches">

402 アプローチの組み合わせ

403</h2>

368 404 

369これらのメソッドは組み合わせることができます。永続的な出力スタイルまたは CLAUDE.md は長期的な動作を設定し、`append` はセッション固有の指示を保存された設定に触れることなく上に重ねます。405これらのメソッドは組み合わせることができます。永続的な出力スタイルまたは CLAUDE.md は長期的な動作を設定し、`append` はセッション固有の指示を保存された設定に触れることなく上に重ねます。

370 406 

371### 出力スタイルとセッション固有の追加を組み合わせる407<h3 id="combine-an-output-style-with-session-specific-additions">

408 出力スタイルとセッション固有の追加を組み合わせる

409</h3>

372 410 

373以下の例は、Code Reviewer 出力スタイルがすでにアクティブであることを想定しています。`append` ブロックはセッション固有のフォーカス領域をペルソナの上に重ねるため、単一のレビュー セッションで保存された出力スタイルを変更することなく OAuth とトークン ストレージを優先することができます:411以下の例は、Code Reviewer 出力スタイルがすでにアクティブであることを想定しています。`append` ブロックはセッション固有のフォーカス領域をペルソナの上に重ねるため、単一のレビュー セッションで保存された出力スタイルを変更することなく OAuth とトークン ストレージを優先することができます:

374 412 


425 ```463 ```

426</CodeGroup>464</CodeGroup>

427 465 

428## 関連項目466<h2 id="see-also">

467 関連項目

468</h2>

429 469 

430* [出力スタイル](/ja/output-styles):CLI の出力スタイルを作成、管理、共有します。ファイル形式とストレージの場所を含みます470* [出力スタイル](/ja/output-styles):CLI の出力スタイルを作成、管理、共有します。ファイル形式とストレージの場所を含みます

431* [Claude がプロジェクトを記憶する方法](/ja/memory):CLAUDE.md に何を入れるか、どこに配置するか、効果的なプロジェクト指示の書き方471* [Claude がプロジェクトを記憶する方法](/ja/memory):CLAUDE.md に何を入れるか、どこに配置するか、効果的なプロジェクト指示の書き方

432* [TypeScript SDK リファレンス](/ja/agent-sdk/typescript):`systemPrompt`、`settingSources`、`outputStyle` を含む完全な `Options` 型472* [TypeScript SDK リファレンス](/ja/agent-sdk/typescript):`systemPrompt`、`settingSources`、`settings` を含む完全な `Options` 型

433* [Python SDK リファレンス](/ja/agent-sdk/python):`system_prompt` と `setting_sources` を含む完全な `ClaudeAgentOptions` 型473* [Python SDK リファレンス](/ja/agent-sdk/python):`system_prompt` と `setting_sources` を含む完全な `ClaudeAgentOptions` 型

434* [設定](/ja/settings):出力スタイルおよび他の設定が保存される場所を含む `settings.json` リファレンス474* [設定](/ja/settings):出力スタイルおよび他の設定が保存される場所を含む `settings.json` リファレンス

agent-sdk/observability.md +259 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# OpenTelemetry を使用した可観測性

6 

7> Agent SDK からトレース、メトリクス、イベントを OpenTelemetry を使用して可観測性バックエンドにエクスポートします。

8 

9本番環境でエージェントを実行する場合、エージェントが何をしたかについての可視性が必要です。

10 

11* どのツールを呼び出したか

12* 各モデルリクエストにかかった時間

13* 使用されたトークン数

14* 障害が発生した場所

15 

16Agent SDK は、このデータを OpenTelemetry トレース、メトリクス、ログイベントとして、OpenTelemetry Protocol(OTLP)を受け入れるバックエンド(Honeycomb、Datadog、Grafana、Langfuse、自己ホスト型コレクターなど)にエクスポートできます。

17 

18このガイドでは、SDK がテレメトリをどのように発行するか、エクスポートを設定する方法、およびデータがバックエンドに到達した後にタグ付けしてフィルタリングする方法について説明します。バックエンドにエクスポートする代わりに SDK レスポンスストリームからトークン使用量とコストを直接読み取るには、[コストと使用量の追跡](/ja/agent-sdk/cost-tracking)を参照してください。

19 

20<h2 id="how-telemetry-flows-from-the-sdk">

21 SDK からのテレメトリフロー

22</h2>

23 

24Agent SDK は Claude Code CLI を子プロセスとして実行し、ローカルパイプを介して通信します。CLI には OpenTelemetry インストルメンテーションが組み込まれています。各モデルリクエストとツール実行の周囲にスパンを記録し、トークンとコストカウンターのメトリクスを発行し、プロンプトとツール結果の構造化ログイベントを発行します。SDK は独自のテレメトリを生成しません。代わりに、設定を CLI プロセスに渡し、CLI がコレクターに直接エクスポートします。

25 

26設定は環境変数として渡されます。デフォルトでは、子プロセスはアプリケーションの環境を継承するため、テレメトリは次の 2 つの場所のいずれかで設定できます。

27 

28* **プロセス環境:** アプリケーションが開始される前に、シェル、コンテナ、またはオーケストレーターで変数を設定します。すべての `query()` 呼び出しはコード変更なしで自動的にそれらを取得します。これは本番環境デプロイメントの推奨アプローチです。

29* **呼び出しごとのオプション:** `ClaudeAgentOptions.env`(Python)または `options.env`(TypeScript)で変数を設定します。同じプロセス内の異なるエージェントが異なるテレメトリ設定を必要とする場合に使用します。Python では、`env` は継承された環境の上にマージされます。TypeScript では、`env` は継承された環境を完全に置き換えるため、渡すオブジェクトに `...process.env` を含めます。

30 

31CLI は 3 つの独立した OpenTelemetry シグナルをエクスポートします。各シグナルには独自の有効化スイッチと独自のエクスポーターがあるため、必要なものだけをオンにできます。

32 

33| シグナル | 含まれるもの | 有効化方法 |

34| ------ | ---------------------------------------- | ---------------------------------------------------------------- |

35| メトリクス | トークン、コスト、セッション、コード行数、ツール決定のカウンター | `OTEL_METRICS_EXPORTER` |

36| ログイベント | 各プロンプト、API リクエスト、API エラー、ツール結果の構造化レコード | `OTEL_LOGS_EXPORTER` |

37| トレース | 各インタラクション、モデルリクエスト、ツール呼び出し、フック(ベータ版)のスパン | `OTEL_TRACES_EXPORTER` と `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` |

38 

39メトリクス名、イベント名、属性の完全なリストについては、Claude Code [Monitoring](/ja/monitoring-usage) リファレンスを参照してください。Agent SDK は同じ CLI を実行するため、同じデータを発行します。スパン名は以下の [エージェントトレースの読み取り](#read-agent-traces)に記載されています。

40 

41<h2 id="enable-telemetry-export">

42 テレメトリエクスポートを有効化

43</h2>

44 

45テレメトリは `CLAUDE_CODE_ENABLE_TELEMETRY=1` を設定し、少なくとも 1 つのエクスポーターを選択するまでオフです。最も一般的な設定は、3 つのシグナルすべてを OTLP HTTP 経由でコレクターに送信します。

46 

47次の例では、変数を辞書に設定し、`options.env` を通じて渡します。エージェントは単一のタスクを実行し、CLI は `collector.example.com` のコレクターにスパン、メトリクス、イベントをエクスポートしながら、ループはレスポンスストリームを消費します。

48 

49<CodeGroup>

50 ```python Python theme={null}

51 import asyncio

52 from claude_agent_sdk import query, ClaudeAgentOptions

53 

54 OTEL_ENV = {

55 "CLAUDE_CODE_ENABLE_TELEMETRY": "1",

56 # トレースに必須(ベータ版)。メトリクスとログイベントは不要です。

57 "CLAUDE_CODE_ENHANCED_TELEMETRY_BETA": "1",

58 # シグナルごとにエクスポーターを選択します。SDK には otlp を使用します。以下の注記を参照してください。

59 "OTEL_TRACES_EXPORTER": "otlp",

60 "OTEL_METRICS_EXPORTER": "otlp",

61 "OTEL_LOGS_EXPORTER": "otlp",

62 # 標準 OTLP トランスポート設定。

63 "OTEL_EXPORTER_OTLP_PROTOCOL": "http/protobuf",

64 "OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.example.com:4318",

65 "OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Bearer your-token",

66 }

67 

68 

69 async def main():

70 options = ClaudeAgentOptions(env=OTEL_ENV)

71 async for message in query(

72 prompt="List the files in this directory", options=options

73 ):

74 print(message)

75 

76 

77 asyncio.run(main())

78 ```

79 

80 ```typescript TypeScript theme={null}

81 import { query } from "@anthropic-ai/claude-agent-sdk";

82 

83 const otelEnv = {

84 CLAUDE_CODE_ENABLE_TELEMETRY: "1",

85 // トレースに必須(ベータ版)。メトリクスとログイベントは不要です。

86 CLAUDE_CODE_ENHANCED_TELEMETRY_BETA: "1",

87 // シグナルごとにエクスポーターを選択します。SDK には otlp を使用します。以下の注記を参照してください。

88 OTEL_TRACES_EXPORTER: "otlp",

89 OTEL_METRICS_EXPORTER: "otlp",

90 OTEL_LOGS_EXPORTER: "otlp",

91 // 標準 OTLP トランスポート設定。

92 OTEL_EXPORTER_OTLP_PROTOCOL: "http/protobuf",

93 OTEL_EXPORTER_OTLP_ENDPOINT: "http://collector.example.com:4318",

94 OTEL_EXPORTER_OTLP_HEADERS: "Authorization=Bearer your-token",

95 };

96 

97 for await (const message of query({

98 prompt: "List the files in this directory",

99 // TypeScript では env は継承された環境を置き換えるため、最初に

100 // process.env をスプレッドして PATH、ANTHROPIC_API_KEY、その他の変数を保持します。

101 options: { env: { ...process.env, ...otelEnv } },

102 })) {

103 console.log(message);

104 }

105 ```

106</CodeGroup>

107 

108子プロセスはデフォルトでアプリケーションの環境を継承するため、これらの変数を Dockerfile、Kubernetes マニフェスト、またはシェルプロファイルでエクスポートし、`options.env` を完全に省略することで同じ結果を達成できます。

109 

110<Note>

111 `console` エクスポーターはテレメトリを標準出力に書き込みます。これは SDK がメッセージチャネルとして使用するものです。SDK を通じて実行する場合、エクスポーター値として `console` を設定しないでください。テレメトリをローカルで検査するには、`OTEL_EXPORTER_OTLP_ENDPOINT` をローカルコレクターまたはオールインワン Jaeger コンテナに指定してください。

112</Note>

113 

114<h3 id="flush-telemetry-from-short-lived-calls">

115 短時間の呼び出しからテレメトリをフラッシュ

116</h3>

117 

118CLI はテレメトリをバッチ処理し、間隔でエクスポートします。クリーンなプロセス終了時に、保留中のデータをフラッシュしようとしますが、フラッシュはタイムアウトで制限されるため、コレクターの応答が遅い場合はスパンが削除される可能性があります。プロセスが CLI のシャットダウン前に強制終了された場合、バッチバッファ内のすべてが失われます。エクスポート間隔を短縮すると、両方のウィンドウが削減されます。

119 

120デフォルトでは、メトリクスは 60 秒ごとにエクスポートされ、トレースとログは 5 秒ごとにエクスポートされます。次の例では、短いタスクがまだ実行されている間にデータがコレクターに到達するように、3 つの間隔すべてを短縮します。

121 

122<CodeGroup>

123 ```python Python theme={null}

124 OTEL_ENV = {

125 # ... 前の例のエクスポーター設定 ...

126 "OTEL_METRIC_EXPORT_INTERVAL": "1000",

127 "OTEL_LOGS_EXPORT_INTERVAL": "1000",

128 "OTEL_TRACES_EXPORT_INTERVAL": "1000",

129 }

130 ```

131 

132 ```typescript TypeScript theme={null}

133 const otelEnv = {

134 // ... 前の例のエクスポーター設定 ...

135 OTEL_METRIC_EXPORT_INTERVAL: "1000",

136 OTEL_LOGS_EXPORT_INTERVAL: "1000",

137 OTEL_TRACES_EXPORT_INTERVAL: "1000",

138 };

139 ```

140</CodeGroup>

141 

142<h2 id="read-agent-traces">

143 エージェントトレースの読み取り

144</h2>

145 

146トレースはエージェント実行の最も詳細なビューを提供します。`CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` を設定すると、エージェントループの各ステップがトレーシングバックエンドで検査できるスパンになります。

147 

148* **`claude_code.interaction`:** エージェントループの単一ターンをラップします。プロンプトの受信からレスポンスの生成まで。

149* **`claude_code.llm_request`:** Claude API への各呼び出しをラップします。モデル名、レイテンシ、トークンカウントが属性として含まれます。

150* **`claude_code.tool`:** 各ツール呼び出しをラップします。権限待機(`claude_code.tool.blocked_on_user`)と実行自体(`claude_code.tool.execution`)の子スパンがあります。

151* **`claude_code.hook`:** 各 [フック](/ja/agent-sdk/hooks)実行をラップします。上記の変数に加えて、詳細なベータトレース(`ENABLE_BETA_TRACING_DETAILED=1` と `BETA_TRACING_ENDPOINT`)が必要です。

152 

153`llm_request`、`tool`、`hook` スパンは、囲む `claude_code.interaction` スパンの子です。エージェントが Task ツールを通じてサブエージェントを生成する場合、サブエージェントの `llm_request` と `tool` スパンは親エージェントの `claude_code.tool` スパンの下にネストするため、完全な委譲チェーンが 1 つのトレースとして表示されます。

154 

155スパンはデフォルトで `session.id` 属性を持ちます。同じ [セッション](/ja/agent-sdk/sessions)に対して複数の `query()` 呼び出しを行う場合、バックエンドで `session.id` をフィルタリングして、それらを 1 つのタイムラインとして表示します。`OTEL_METRICS_INCLUDE_SESSION_ID` が偽の値に設定されている場合、属性は省略されます。

156 

157<Note>

158 トレースはベータ版です。スパン名と属性はリリース間で変更される可能性があります。Monitoring リファレンスの [トレース(ベータ版)](/ja/monitoring-usage#traces-beta)を参照して、トレースエクスポーター設定変数を確認してください。

159</Note>

160 

161<h2 id="link-traces-to-your-application">

162 トレースをアプリケーションにリンク

163</h2>

164 

165SDK は W3C トレースコンテキストを CLI サブプロセスに自動的に伝播します。アプリケーションで OpenTelemetry スパンがアクティブな状態で `query()` を呼び出すと、SDK は `TRACEPARENT` と `TRACESTATE` を子プロセス環境に注入し、CLI はそれらを読み取るため、その `claude_code.interaction` スパンはスパンの子になります。エージェント実行は、切断されたルートではなく、アプリケーションのトレース内に表示されます。

166 

167トレースコンテキスト伝播が有効な場合、CLI は `TRACEPARENT` を実行するすべての Bash および PowerShell コマンドに転送します。Bash ツールを通じて起動されたコマンドが独自の OpenTelemetry スパンを発行する場合、それらのスパンはコマンドをラップする `claude_code.tool.execution` スパンの下にネストします。

168 

169`options.env` で `TRACEPARENT` を明示的に設定すると、自動注入がスキップされるため、必要に応じて特定の親コンテキストをピン留めできます。インタラクティブ CLI セッションは受信 `TRACEPARENT` を完全に無視します。Agent SDK と `claude -p` 実行のみがそれを尊重します。Monitoring リファレンスの [トレース(ベータ版)](/ja/monitoring-usage#traces-beta)を参照して、完全なスパンと属性リファレンスを確認してください。

170 

171<h2 id="tag-telemetry-from-your-agent">

172 エージェントからのテレメトリにタグを付ける

173</h2>

174 

175デフォルトでは、CLI は `service.name` を `claude-code` として報告します。複数のエージェントを実行する場合、または SDK を同じコレクターにエクスポートする他のサービスと一緒に実行する場合、サービス名をオーバーライドしてリソース属性を追加し、バックエンドでエージェントでフィルタリングできるようにします。

176 

177次の例では、サービスの名前を変更し、デプロイメントメタデータを添付します。これらの値は、エージェントが発行するすべてのスパン、メトリクス、イベントに OpenTelemetry リソース属性として適用されます。

178 

179<CodeGroup>

180 ```python Python theme={null}

181 options = ClaudeAgentOptions(

182 env={

183 # ... エクスポーター設定 ...

184 "OTEL_SERVICE_NAME": "support-triage-agent",

185 "OTEL_RESOURCE_ATTRIBUTES": "service.version=1.4.0,deployment.environment=production",

186 },

187 )

188 ```

189 

190 ```typescript TypeScript theme={null}

191 const options = {

192 env: {

193 ...process.env,

194 // ... エクスポーター設定 ...

195 OTEL_SERVICE_NAME: "support-triage-agent",

196 OTEL_RESOURCE_ATTRIBUTES:

197 "service.version=1.4.0,deployment.environment=production",

198 },

199 };

200 ```

201</CodeGroup>

202 

203<h2 id="attribute-actions-to-your-end-users">

204 アクションをエンドユーザーに属性付ける

205</h2>

206 

207CLI は、Anthropic を呼び出すために使用する認証情報に基づいて、すべてのイベントに [ID 属性](/ja/monitoring-usage#standard-attributes)を添付します。1 つのデプロイメントから多くのエンドユーザーにサービスを提供するアプリケーションを構築する場合、これらの属性はサービスの認証情報を識別し、エージェントが代わりに機能したエンドユーザーを識別しません。

208 

209ツール呼び出しと MCP アクティビティをアプリケーションのエンドユーザーに属性付けるには、各 `query()` 呼び出しでエンドユーザー ID をリソース属性として注入します。`OTEL_RESOURCE_ATTRIBUTES` は [コンマ、スペース、等号記号を予約](/ja/monitoring-usage#multi-team-organization-support)しているため、値を補間する前にパーセントエンコードします。次の例では、要求するユーザーとテナントを 1 つのリクエストからのすべてのスパンとイベントに添付します。

210 

211<CodeGroup>

212 ```python Python theme={null}

213 from urllib.parse import quote

214 

215 options = ClaudeAgentOptions(

216 env={

217 # ... エクスポーター設定 ...

218 "OTEL_RESOURCE_ATTRIBUTES": f"enduser.id={quote(request.user_id)},tenant.id={quote(request.tenant_id)}",

219 },

220 )

221 ```

222 

223 ```typescript TypeScript theme={null}

224 const options = {

225 env: {

226 ...process.env,

227 // ... エクスポーター設定 ...

228 OTEL_RESOURCE_ATTRIBUTES: `enduser.id=${encodeURIComponent(request.userId)},tenant.id=${encodeURIComponent(request.tenantId)}`,

229 },

230 };

231 ```

232</CodeGroup>

233 

234エンドユーザー ID が添付されると、`tool_decision`、`tool_result`、`mcp_server_connection`、`permission_mode_changed` イベントはユーザーごとの監査証跡になり、Security Information and Event Management(SIEM)プラットフォームに転送できます。Monitoring リファレンスの [セキュリティイベントの監査](/ja/monitoring-usage#audit-security-events)を参照して、セキュリティ関連イベントの完全なリストと各イベントが持つ属性を確認してください。

235 

236<h2 id="control-sensitive-data-in-exports">

237 エクスポートの機密データを制御

238</h2>

239 

240テレメトリはデフォルトで構造化されています。期間、モデル名、ツール名はすべてのスパンに記録されます。トークンカウントは基になる API リクエストが使用データを返すときに記録されるため、失敗または中止されたリクエストのスパンはそれらを省略する可能性があります。エージェントが読み取り、書き込むコンテンツはデフォルトでは記録されません。これらのオプトイン変数は、エクスポートされたデータにコンテンツを追加します。

241 

242| 変数 | 追加内容 |

243| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

244| `OTEL_LOG_USER_PROMPTS=1` | `claude_code.user_prompt` イベントと `claude_code.interaction` スパンのプロンプトテキスト |

245| `OTEL_LOG_TOOL_DETAILS=1` | `claude_code.tool_result` イベントのツール入力引数(ファイルパス、シェルコマンド、検索パターン) |

246| `OTEL_LOG_TOOL_CONTENT=1` | `claude_code.tool` のスパンイベントとしての完全なツール入力および出力本体。60 KB で切り詰められます。[トレース](#read-agent-traces)が有効になっている必要があります |

247| `OTEL_LOG_RAW_API_BODIES` | Anthropic Messages API リクエストおよびレスポンス JSON 全体を `claude_code.api_request_body` および `claude_code.api_response_body` ログイベントとして。`1` に設定して 60 KB で切り詰められたインラインボディを取得するか、`file:<dir>` に設定してディスク上の切り詰められていないボディをイベント内の `body_ref` パスで取得します。ボディには会話履歴全体が含まれ、拡張思考コンテンツが編集されます。これを有効にすると、上記の 3 つの変数が明かすすべてのコンテンツへの同意が暗示されます |

248 

249エージェントが処理するデータを保存することが可観測性パイプラインで承認されていない限り、これらを設定しないままにしてください。Monitoring リファレンスの [セキュリティとプライバシー](/ja/monitoring-usage#security-and-privacy)を参照して、すべての属性と編集動作の完全なリストを確認してください。

250 

251<h2 id="related-documentation">

252 関連ドキュメント

253</h2>

254 

255これらのガイドは、エージェントの監視とデプロイメントの隣接トピックをカバーしています。

256 

257* [コストと使用量の追跡](/ja/agent-sdk/cost-tracking):外部バックエンドなしでメッセージストリームからトークンとコストデータを読み取ります。

258* [Agent SDK のホスティング](/ja/agent-sdk/hosting):環境レベルで OpenTelemetry 変数を設定できるコンテナにエージェントをデプロイします。

259* [Monitoring](/ja/monitoring-usage):CLI が発行するすべての環境変数、メトリクス、イベントの完全なリファレンス。

Details

53 </Card>53 </Card>

54</CardGroup>54</CardGroup>

55 55 

56## はじめに56<h2 id="get-started">

57 はじめに

58</h2>

57 59 

58<Steps>60<Steps>

59 <Step title="SDK をインストールします">61 <Step title="SDK をインストールします">


68 ```bash theme={null}70 ```bash theme={null}

69 pip install claude-agent-sdk71 pip install claude-agent-sdk

70 ```72 ```

73 

74 Python パッケージには Python 3.10 以降が必要です。pip が `No matching distribution found for claude-agent-sdk` と報告する場合、インタープリターは 3.10 より古いバージョンです。macOS または Linux では `python3 --version` を実行するか、Windows では `py --version` を実行してバージョンを確認してください。

71 </Tab>75 </Tab>

72 </Tabs>76 </Tabs>

73 77 


134 138 

135**構築する準備はできていますか?** [クイックスタート](/ja/agent-sdk/quickstart)に従って、数分でバグを見つけて修正するエージェントを作成します。139**構築する準備はできていますか?** [クイックスタート](/ja/agent-sdk/quickstart)に従って、数分でバグを見つけて修正するエージェントを作成します。

136 140 

137## 機能141<h2 id="capabilities">

142 機能

143</h2>

138 144 

139Claude Code を強力にするすべてのものが SDK で利用可能です。145Claude Code を強力にするすべてのものが SDK で利用可能です。

140 146 


258 <Tab title="サブエージェント">264 <Tab title="サブエージェント">

259 特定のサブタスクを処理するために特化したエージェントを生成します。メインエージェントが作業を委譲し、サブエージェントが結果を報告します。265 特定のサブタスクを処理するために特化したエージェントを生成します。メインエージェントが作業を委譲し、サブエージェントが結果を報告します。

260 266 

261 特化した指示を持つカスタムエージェントを定義します。サブエージェントは Agent ツール経由で呼び出されるため、`allowedTools` に `Agent` を含めます267 特化した指示を持つカスタムエージェントを定義します。サブエージェントは Agent ツール経由で呼び出されるため、`allowedTools` に `Agent` を含めて、それらの呼び出しを自動承認します

262 268 

263 <CodeGroup>269 <CodeGroup>

264 ```python Python theme={null}270 ```python Python theme={null}


468 </Tab>474 </Tab>

469</Tabs>475</Tabs>

470 476 

471### Claude Code の機能477<h3 id="claude-code-features">

478 Claude Code の機能

479</h3>

472 480 

473SDK はまた Claude Code のファイルシステムベースの構成をサポートしています。デフォルトオプションでは、SDK は作業ディレクトリの `.claude/` と `~/.claude/` からこれらを読み込みます。どのソースを読み込むかを制限するには、オプションで `setting_sources`(Python)または `settingSources`(TypeScript)を設定します。481SDK はまた Claude Code のファイルシステムベースの構成をサポートしています。デフォルトオプションでは、SDK は作業ディレクトリの `.claude/` と `~/.claude/` からこれらを読み込みます。どのソースを読み込むかを制限するには、オプションで `setting_sources`(Python)または `settingSources`(TypeScript)を設定します。

474 482 

475| 機能 | 説明 | 場所 |483| 機能 | 説明 | 場所 |

476| ------------------------------------------------ | --------------------------- | ----------------------------------- |484| ------------------------------------------------ | ---------------------------------------------- | ----------------------------------- |

477| [Skills](/ja/agent-sdk/skills) | Markdown で定義された特化した機能 | `.claude/skills/*/SKILL.md` |485| [Skills](/ja/agent-sdk/skills) | Markdown で定義された特化した機能 | `.claude/skills/*/SKILL.md` |

478| [Slash commands](/ja/agent-sdk/slash-commands) | 一般的なタスク用のカスタムコマンド | `.claude/commands/*.md` |486| [Commands](/ja/agent-sdk/slash-commands) | レガシー形式のカスタムコマンド。新しいカスタムコマンドには skills を使用してください | `.claude/commands/*.md` |

479| [Memory](/ja/agent-sdk/modifying-system-prompts) | プロジェクトコンテキストと指示 | `CLAUDE.md` または `.claude/CLAUDE.md` |487| [Memory](/ja/agent-sdk/modifying-system-prompts) | プロジェクトコンテキストと指示 | `CLAUDE.md` または `.claude/CLAUDE.md` |

480| [Plugins](/ja/agent-sdk/plugins) | カスタムコマンド、エージェント、MCP サーバーで拡張 | `plugins` オプション経由でプログラム的に |488| [Plugins](/ja/agent-sdk/plugins) | skills、エージェント、hooks、および MCP サーバーで拡張 | `plugins` オプション経由でプログラム的に |

481 489 

482## Agent SDK と他の Claude ツールを比較します490<h2 id="compare-the-agent-sdk-to-other-claude-tools">

491 Agent SDK と他の Claude ツールを比較します

492</h2>

483 493 

484Claude Platform は Claude で構築するための複数の方法を提供しています。Agent SDK がどのように適合するかは次のとおりです。494Claude Platform は Claude で構築するための複数の方法を提供しています。Agent SDK がどのように適合するかは次のとおりです。

485 495 


548 </Tab>558 </Tab>

549</Tabs>559</Tabs>

550 560 

551## 変更ログ561<h2 id="changelog">

562 変更ログ

563</h2>

552 564 

553SDK の更新、バグ修正、および新機能の完全な変更ログを表示します。565SDK の更新、バグ修正、および新機能の完全な変更ログを表示します。

554 566 

555* **TypeScript SDK**: [CHANGELOG.md を表示](https://github.com/anthropics/claude-agent-sdk-typescript/blob/main/CHANGELOG.md)567* **TypeScript SDK**: [CHANGELOG.md を表示](https://github.com/anthropics/claude-agent-sdk-typescript/blob/main/CHANGELOG.md)

556* **Python SDK**: [CHANGELOG.md を表示](https://github.com/anthropics/claude-agent-sdk-python/blob/main/CHANGELOG.md)568* **Python SDK**: [CHANGELOG.md を表示](https://github.com/anthropics/claude-agent-sdk-python/blob/main/CHANGELOG.md)

557 569 

558## バグの報告570<h2 id="reporting-bugs">

571 バグの報告

572</h2>

559 573 

560Agent SDK でバグまたは問題が発生した場合。574Agent SDK でバグまたは問題が発生した場合。

561 575 

562* **TypeScript SDK**: [GitHub で問題を報告](https://github.com/anthropics/claude-agent-sdk-typescript/issues)576* **TypeScript SDK**: [GitHub で問題を報告](https://github.com/anthropics/claude-agent-sdk-typescript/issues)

563* **Python SDK**: [GitHub で問題を報告](https://github.com/anthropics/claude-agent-sdk-python/issues)577* **Python SDK**: [GitHub で問題を報告](https://github.com/anthropics/claude-agent-sdk-python/issues)

564 578 

565## ブランドガイドライン579<h2 id="branding-guidelines">

580 ブランドガイドライン

581</h2>

566 582 

567Claude Agent SDK を統合するパートナーの場合、Claude ブランドの使用はオプションです。製品で Claude を参照する場合。583Claude Agent SDK を統合するパートナーの場合、Claude ブランドの使用はオプションです。製品で Claude を参照する場合。

568 584 


579 595 

580製品は独自のブランドを維持し、Claude Code または任意の Anthropic 製品のように見えるべきではありません。ブランドコンプライアンスに関する質問については、Anthropic [営業チーム](https://www.anthropic.com/contact-sales)に連絡してください。596製品は独自のブランドを維持し、Claude Code または任意の Anthropic 製品のように見えるべきではありません。ブランドコンプライアンスに関する質問については、Anthropic [営業チーム](https://www.anthropic.com/contact-sales)に連絡してください。

581 597 

582## ライセンスと利用規約598<h2 id="license-and-terms">

599 ライセンスと利用規約

600</h2>

583 601 

584Claude Agent SDK の使用は、[Anthropic の商用利用規約](https://www.anthropic.com/legal/commercial-terms)によって管理されます。これは、Claude Agent SDK を使用して、独自のカスタマーおよびエンドユーザーに利用可能にする製品およびサービスを強化する場合を含みます。ただし、特定のコンポーネントまたは依存関係が、そのコンポーネントの LICENSE ファイルに示されているように異なるライセンスの対象である場合を除きます。602Claude Agent SDK の使用は、[Anthropic の商用利用規約](https://www.anthropic.com/legal/commercial-terms)によって管理されます。これは、Claude Agent SDK を使用して、独自のカスタマーおよびエンドユーザーに利用可能にする製品およびサービスを強化する場合を含みます。ただし、特定のコンポーネントまたは依存関係が、そのコンポーネントの LICENSE ファイルに示されているように異なるライセンスの対象である場合を除きます。

585 603 

586## 次のステップ604<h2 id="next-steps">

605 次のステップ

606</h2>

587 607 

588<CardGroup cols={2}>608<CardGroup cols={2}>

589 <Card title="クイックスタート" icon="play" href="/ja/agent-sdk/quickstart">609 <Card title="クイックスタート" icon="play" href="/ja/agent-sdk/quickstart">

Details

12 このページはパーミッションモードとルールについて説明しています。ユーザーが実行時にツールリクエストを承認または拒否する対話的な承認フローを構築するには、[承認とユーザー入力の処理](/ja/agent-sdk/user-input)を参照してください。12 このページはパーミッションモードとルールについて説明しています。ユーザーが実行時にツールリクエストを承認または拒否する対話的な承認フローを構築するには、[承認とユーザー入力の処理](/ja/agent-sdk/user-input)を参照してください。

13</Note>13</Note>

14 14 

15## パーミッションの評価方法15<h2 id="how-permissions-are-evaluated">

16 パーミッションの評価方法

17</h2>

16 18 

17Claude がツールをリクエストすると、SDK は次の順序でパーミッションをチェックします。19Claude がツールをリクエストすると、SDK は次の順序でパーミッションをチェックします。

18 20 


22 </Step>24 </Step>

23 25 

24 <Step title="拒否ルール">26 <Step title="拒否ルール">

25 `deny` ルール(`disallowed_tools` および[settings.json](/ja/settings#permission-settings)から)をチェックします。拒否ルールが一致する場合、`bypassPermissions` モードでもツールはブロックされます。27 `deny` ルール(`disallowed_tools` および[settings.json](/ja/settings#permission-settings)から)をチェックします。拒否ルールが一致する場合、`bypassPermissions` モードでもツールはブロックされます。`Bash` のような裸名の拒否ルールはこの評価が開始される前に Claude のコンテキストからツールを削除するため、このステップでチェックされるのは `Bash(rm *)` のようなスコープ付きルールのみです。

26 </Step>28 </Step>

27 29 

28 <Step title="パーミッションモード">30 <Step title="パーミッションモード">


45* **フック:** カスタムコードを実行して、ツールリクエストを許可、拒否、または変更します。[フックで実行を制御](/ja/agent-sdk/hooks)を参照してください。47* **フック:** カスタムコードを実行して、ツールリクエストを許可、拒否、または変更します。[フックで実行を制御](/ja/agent-sdk/hooks)を参照してください。

46* **canUseTool コールバック:** 実行時にユーザーに承認を促します。[承認とユーザー入力の処理](/ja/agent-sdk/user-input)を参照してください。48* **canUseTool コールバック:** 実行時にユーザーに承認を促します。[承認とユーザー入力の処理](/ja/agent-sdk/user-input)を参照してください。

47 49 

48## 許可および拒否ルール50<h2 id="allow-and-deny-rules">

51 許可および拒否ルール

52</h2>

49 53 

50`allowed_tools` および `disallowed_tools`(TypeScript:`allowedTools` / `disallowedTools`)は、上記の評価フロー内の許可および拒否ルールリストにエントリを追加します。これらは、ツール呼び出しが承認されるかどうかを制御し、ツールが Claude に利用可能かどうかではありません54`allowed_tools` および `disallowed_tools`(TypeScript:`allowedTools` / `disallowedTools`)は、上記の評価フロー内の許可および拒否ルールリストにエントリを追加します。許可ルールは承認のみに影響します。`allowed_tools` にリストされていないツールは引き続き Claude に利用可能であり、パーミッションモードにフォールスルーします拒否ルールは、ツール全体に名前を付けるか、ツール内のパターンをスコープするかによって異なる動作をします。

51 55 

52| オプション | 効果 |56| オプション | 効果 |

53| :------------------------------- | :------------------------------------------------------------------------------------------ |57| :-------------------------------- | :----------------------------------------------------------------------------------------------------------------------- |

54| `allowed_tools=["Read", "Grep"]` | `Read` および `Grep` は自動承認されます。ここにリストされていないツールは引き続き存在し、パーミッションモードおよび `canUseTool` にフォールスルーします。 |58| `allowed_tools=["Read", "Grep"]` | `Read` および `Grep` は自動承認されます。ここにリストされていないツールは引き続き存在し、パーミッションモードおよび `canUseTool` にフォールスルーします。 |

55| `disallowed_tools=["Bash"]` | `Bash` は常に拒否されます拒否ルールは最初にチェックされ、`bypassPermissions` を含むすべてのパーミッションモードで保持されます |59| `disallowed_tools=["Bash"]` | `Bash` ツール定義はリクエストから削除されますClaude はツールを認識せず、それを試みることはできません |

60| `disallowed_tools=["Bash(rm *)"]` | `Bash` は利用可能なままです。`rm *` に一致する呼び出しは、`bypassPermissions` を含むすべてのパーミッションモードで拒否されます。その他の `Bash` 呼び出しはパーミッションモードにフォールスルーします。 |

56 61 

57ロックダウンされたエージェントの場合、`allowedTools` を `permissionMode: "dontAsk"` と組み合わせます。リストされたツールは承認されます。その他のものはプロンプトの代わりに直接拒否されます。62ロックダウンされたエージェントの場合、`allowedTools` を `permissionMode: "dontAsk"` と組み合わせます。リストされたツールは承認されます。その他のものはプロンプトの代わりに直接拒否されます。

58 63 


69 74 

70`.claude/settings.json` で許可、拒否、および質問ルールを宣言的に設定することもできます。これらのルールは、`project` 設定ソースが有効な場合に読み込まれます。デフォルトの `query()` オプションではこれが有効です。`setting_sources`(TypeScript:`settingSources`)を明示的に設定する場合は、それらを適用するために `"project"` を含めてください。ルール構文については、[パーミッション設定](/ja/settings#permission-settings)を参照してください。75`.claude/settings.json` で許可、拒否、および質問ルールを宣言的に設定することもできます。これらのルールは、`project` 設定ソースが有効な場合に読み込まれます。デフォルトの `query()` オプションではこれが有効です。`setting_sources`(TypeScript:`settingSources`)を明示的に設定する場合は、それらを適用するために `"project"` を含めてください。ルール構文については、[パーミッション設定](/ja/settings#permission-settings)を参照してください。

71 76 

72## パーミッションモード77<h2 id="permission-modes">

78 パーミッションモード

79</h2>

73 80 

74パーミッションモードは、Claude がツールをどのように使用するかについてのグローバル制御を提供します。`query()` を呼び出すときにパーミッションモードを設定するか、ストリーミングセッション中に動的に変更できます。81パーミッションモードは、Claude がツールをどのように使用するかについてのグローバル制御を提供します。`query()` を呼び出すときにパーミッションモードを設定するか、ストリーミングセッション中に動的に変更できます。

75 82 

76### 利用可能なモード83<h3 id="available-modes">

84 利用可能なモード

85</h3>

77 86 

78SDK は以下のパーミッションモードをサポートしています。87SDK は以下のパーミッションモードをサポートしています。

79 88 


90 **サブエージェント継承:** 親が `bypassPermissions`、`acceptEdits`、または `auto` を使用する場合、すべてのサブエージェントはそのモードを継承し、サブエージェントごとにオーバーライドすることはできません。サブエージェントはシステムプロンプトが異なり、メインエージェントよりも制約が少ない動作をする可能性があるため、`bypassPermissions` を継承すると、承認プロンプトなしで完全な自律的なシステムアクセスが付与されます。99 **サブエージェント継承:** 親が `bypassPermissions`、`acceptEdits`、または `auto` を使用する場合、すべてのサブエージェントはそのモードを継承し、サブエージェントごとにオーバーライドすることはできません。サブエージェントはシステムプロンプトが異なり、メインエージェントよりも制約が少ない動作をする可能性があるため、`bypassPermissions` を継承すると、承認プロンプトなしで完全な自律的なシステムアクセスが付与されます。

91</Warning>100</Warning>

92 101 

93### パーミッションモードの設定102<h3 id="set-permission-mode">

103 パーミッションモードの設定

104</h3>

94 105 

95クエリを開始するときにパーミッションモードを一度設定するか、セッションがアクティブな間に動的に変更できます。106クエリを開始するときにパーミッションモードを一度設定するか、セッションがアクティブな間に動的に変更できます。

96 107 


196 </Tab>207 </Tab>

197</Tabs>208</Tabs>

198 209 

199### モードの詳細210<h3 id="mode-details">

211 モードの詳細

212</h3>

200 213 

201#### ファイル編集モード(`acceptEdits`)214<h4 id="accept-edits-mode-acceptedits">

215 ファイル編集モード(`acceptEdits`)

216</h4>

202 217 

203ファイル操作を自動承認し、Claude がプロンプトなしでコードを編集できるようにします。その他のツール(ファイルシステム操作ではない Bash コマンドなど)は引き続き通常のパーミッションが必要です。218ファイル操作を自動承認し、Claude がプロンプトなしでコードを編集できるようにします。その他のツール(ファイルシステム操作ではない Bash コマンドなど)は引き続き通常のパーミッションが必要です。

204 219 


211 226 

212**使用時期:** Claude の編集を信頼し、プロトタイピング中など、より高速な反復を望む場合、または分離されたディレクトリで作業する場合。227**使用時期:** Claude の編集を信頼し、プロトタイピング中など、より高速な反復を望む場合、または分離されたディレクトリで作業する場合。

213 228 

214#### 質問しないモード(`dontAsk`)229<h4 id="don-t-ask-mode-dontask">

230 質問しないモード(`dontAsk`)

231</h4>

215 232 

216パーミッションプロンプトを拒否に変換します。`allowed_tools`、`settings.json` 許可ルール、またはフックで事前承認されたツールは通常どおり実行されます。その他のすべては `canUseTool` を呼び出さずに拒否されます。233パーミッションプロンプトを拒否に変換します。`allowed_tools`、`settings.json` 許可ルール、またはフックで事前承認されたツールは通常どおり実行されます。その他のすべては `canUseTool` を呼び出さずに拒否されます。

217 234 

218**使用時期:** ヘッドレスエージェント用に固定された明示的なツール表面が必要で、`canUseTool` が存在しないことへの暗黙的な依存よりもハード拒否を優先する場合。235**使用時期:** ヘッドレスエージェント用に固定された明示的なツール表面が必要で、`canUseTool` が存在しないことへの暗黙的な依存よりもハード拒否を優先する場合。

219 236 

220#### パーミッションバイパスモード(`bypassPermissions`)237<h4 id="bypass-permissions-mode-bypasspermissions">

238 パーミッションバイパスモード(`bypassPermissions`)

239</h4>

221 240 

222プロンプトなしですべてのツール使用を自動承認します。フックは引き続き実行され、必要に応じて操作をブロックできます。241プロンプトなしですべてのツール使用を自動承認します。フックは引き続き実行され、必要に応じて操作をブロックできます。

223 242 


227 `allowed_tools` はこのモードを制限しません。リストしたツールだけでなく、すべてのツールが承認されます。拒否ルール(`disallowed_tools`)、明示的な `ask` ルール、およびフックはモードチェック前に評価され、ツールをブロックできます。246 `allowed_tools` はこのモードを制限しません。リストしたツールだけでなく、すべてのツールが承認されます。拒否ルール(`disallowed_tools`)、明示的な `ask` ルール、およびフックはモードチェック前に評価され、ツールをブロックできます。

228</Warning>247</Warning>

229 248 

230#### 計画モード(`plan`)249<h4 id="plan-mode-plan">

250 計画モード(`plan`)

251</h4>

231 252 

232Claude を読み取り専用ツールに制限します。Claude はファイルを読み取り、読み取り専用シェルコマンドを実行してコードベースを探索できますが、ソースファイルは編集しません。Claude は `AskUserQuestion` を使用して、計画を最終化する前に要件を明確にする場合があります。これらのプロンプトの処理については、[承認とユーザー入力の処理](/ja/agent-sdk/user-input#handle-clarifying-questions)を参照してください。253Claude を読み取り専用ツールに制限します。Claude はファイルを読み取り、読み取り専用シェルコマンドを実行してコードベースを探索できますが、ソースファイルは編集しません。Claude は `AskUserQuestion` を使用して、計画を最終化する前に要件を明確にする場合があります。これらのプロンプトの処理については、[承認とユーザー入力の処理](/ja/agent-sdk/user-input#handle-clarifying-questions)を参照してください。

233 254 

234**使用時期:** Claude に変更を提案させたいが実行させたくない場合、たとえばコードレビュー中または変更を実行する前に承認が必要な場合。255**使用時期:** Claude に変更を提案させたいが実行させたくない場合、たとえばコードレビュー中または変更を実行する前に承認が必要な場合。

235 256 

236## 関連リソース257<h2 id="related-resources">

258 関連リソース

259</h2>

237 260 

238パーミッション評価フロー内の他のステップについては、以下を参照してください。261パーミッション評価フロー内の他のステップについては、以下を参照してください。

239 262 

Details

4 4 

5# SDK のプラグイン5# SDK のプラグイン

6 6 

7> Agent SDK を通じてカスタムプラグインを読み込み、コマンド、エージェント、スキルフックで Claude Code を拡張します7> Agent SDK を通じてカスタムプラグインを読み込み、スキル、エージェント、フックMCP サーバーで Claude Code を拡張します

8 8 

9プラグインを使用すると、Claude Code をカスタム機能で拡張でき、プロジェクト全体で共有できます。Agent SDK を通じて、ローカルディレクトリからプログラムでプラグインを読み込み、カスタムスラッシュコマンド、エージェント、スキル、フック、MCP サーバーをエージェントセッションに追加できます。9プラグインを使用すると、Claude Code をカスタム機能で拡張でき、プロジェクト全体で共有できます。Agent SDK を通じて、ローカルディレクトリからプログラムでプラグインを読み込み、スキル、エージェント、フック、MCP サーバーをエージェントセッションに追加できます。

10 10 

11## プラグインとは何ですか?11<h2 id="what-are-plugins">

12 プラグインとは何ですか?

13</h2>

12 14 

13プラグインは Claude Code 拡張機能のパッケージであり、以下を含めることができます:15プラグインは Claude Code 拡張機能のパッケージであり、以下を含めることができます:

14 16 


23 25 

24プラグイン構造とプラグインの作成方法に関する完全な情報については、[Plugins](/ja/plugins) を参照してください。26プラグイン構造とプラグインの作成方法に関する完全な情報については、[Plugins](/ja/plugins) を参照してください。

25 27 

26## プラグインの読み込み28<h2 id="loading-plugins">

29 プラグインの読み込み

30</h2>

27 31 

28オプション設定でローカルファイルシステムパスを指定してプラグインを読み込みます。`type` フィールドは `"local"` である必要があります。これは SDK が受け入れる唯一の値です。[マーケットプレイス](/ja/plugin-marketplaces)またはリモートリポジトリを通じて配布されているプラグインを使用するには、まずダウンロードしてローカルディレクトリパスを指定してください。SDK は複数の場所から複数のプラグインを読み込むことをサポートしています。32オプション設定でローカルファイルシステムパスを指定してプラグインを読み込みます。`type` フィールドは `"local"` である必要があります。これは SDK が受け入れる唯一の値です。[マーケットプレイス](/ja/plugin-marketplaces)またはリモートリポジトリを通じて配布されているプラグインを使用するには、まずダウンロードしてローカルディレクトリパスを指定してください。SDK は複数の場所から複数のプラグインを読み込むことをサポートしています。

29 33 


67 ```71 ```

68</CodeGroup>72</CodeGroup>

69 73 

70### パス指定74<h3 id="path-specifications">

75 パス指定

76</h3>

71 77 

72プラグインパスは以下のいずれかです:78プラグインパスは以下のいずれかです:

73 79 


75* **絶対パス**: 完全なファイルシステムパス(例:`"/home/user/plugins/my-plugin"`)81* **絶対パス**: 完全なファイルシステムパス(例:`"/home/user/plugins/my-plugin"`)

76 82 

77<Note>83<Note>

78 パスはプラグインのルートディレクトリ(`.claude-plugin/plugin.json` を含むディレクトリ)を指す必要があります。84 パスはプラグインのルートディレクトリ(`skills/`、`agents/`、`hooks/`、`commands/`(レガシー)、または `.claude-plugin/` の親ディレクトリ)を指す必要があります。サブディレクトリではありません。

79</Note>85</Note>

80 86 

81## プラグインインストールの確認87<h2 id="verifying-plugin-installation">

88 プラグインインストールの確認

89</h2>

82 90 

83プラグインが正常に読み込まれると、システム初期化メッセージに表示されます。プラグインが利用可能であることを確認できます:91プラグインが正常に読み込まれると、システム初期化メッセージに表示されます。プラグインが利用可能であることを確認できます:

84 92 


93 }101 }

94 })) {102 })) {

95 if (message.type === "system" && message.subtype === "init") {103 if (message.type === "system" && message.subtype === "init") {

96 // Check loaded plugins104 // 読み込まれたプラグインを確認

97 console.log("Plugins:", message.plugins);105 console.log("Plugins:", message.plugins);

98 // Example: [{ name: "my-plugin", path: "./my-plugin" }]106 // 例:[{ name: "my-plugin", path: "./my-plugin" }]

99 107 

100 // Check available commands from plugins108 // プラグインスキルはプラグイン名をプレフィックスとして表示されます

109 console.log("Skills:", message.skills);

110 // 例:["my-plugin:greet"]

111 

112 // プラグインコマンドは同じプレフィックスを使用し、スキルもここに表示されます

101 console.log("Commands:", message.slash_commands);113 console.log("Commands:", message.slash_commands);

102 // Example: ["/help", "/compact", "my-plugin:custom-command"]114 // 例:["compact", "context", "my-plugin:custom-command", "my-plugin:greet"]

103 }115 }

104 }116 }

105 ```117 ```


117 ),129 ),

118 ):130 ):

119 if isinstance(message, SystemMessage) and message.subtype == "init":131 if isinstance(message, SystemMessage) and message.subtype == "init":

120 # Check loaded plugins132 # 読み込まれたプラグインを確認

121 print("Plugins:", message.data.get("plugins"))133 print("Plugins:", message.data.get("plugins"))

122 # Example: [{"name": "my-plugin", "path": "./my-plugin"}]134 # 例:[{"name": "my-plugin", "path": "./my-plugin"}]

135 

136 # プラグインスキルはプラグイン名をプレフィックスとして表示されます

137 print("Skills:", message.data.get("skills"))

138 # 例:["my-plugin:greet"]

123 139 

124 # Check available commands from plugins140 # プラグインコマンドは同じプレフィックスを使用し、スキルもここに表示されます

125 print("Commands:", message.data.get("slash_commands"))141 print("Commands:", message.data.get("slash_commands"))

126 # Example: ["/help", "/compact", "my-plugin:custom-command"]142 # 例:["compact", "context", "my-plugin:custom-command", "my-plugin:greet"]

127 143 

128 144 

129 asyncio.run(main())145 asyncio.run(main())

130 ```146 ```

131</CodeGroup>147</CodeGroup>

132 148 

133## プラグインスキルの使用149<h2 id="using-plugin-skills">

150 プラグインスキルの使用

151</h2>

134 152 

135プラグインのスキルは競合を避けるためにプラグイン名で自動的に名前空間化されます。スラッシュコマンドとして呼び出される場合形式は `plugin-name:skill-name` です153プラグインのスキルは競合を避けるためにプラグイン名で自動的に名前空間化されます。直接呼び出すにはプロンプトとして `/plugin-name:skill-name` を送信してください

136 154 

137<CodeGroup>155<CodeGroup>

138 ```typescript TypeScript theme={null}156 ```typescript TypeScript theme={null}


180 CLI 経由でプラグインをインストールした場合(例:`/plugin install my-plugin@marketplace`)、SDK でそのインストールパスを指定することで引き続き使用できます。CLI でインストールされたプラグインについては `~/.claude/plugins/` を確認してください。198 CLI 経由でプラグインをインストールした場合(例:`/plugin install my-plugin@marketplace`)、SDK でそのインストールパスを指定することで引き続き使用できます。CLI でインストールされたプラグインについては `~/.claude/plugins/` を確認してください。

181</Note>199</Note>

182 200 

183## 完全な例201<h2 id="complete-example">

202 完全な例

203</h2>

184 204 

185プラグインの読み込みと使用を示す完全な例を以下に示します:205プラグインの読み込みと使用を示す完全な例を以下に示します:

186 206 


203 })) {223 })) {

204 if (message.type === "system" && message.subtype === "init") {224 if (message.type === "system" && message.subtype === "init") {

205 console.log("Loaded plugins:", message.plugins);225 console.log("Loaded plugins:", message.plugins);

226 console.log("Available skills:", message.skills);

206 console.log("Available commands:", message.slash_commands);227 console.log("Available commands:", message.slash_commands);

207 }228 }

208 229 


246 ):267 ):

247 if isinstance(message, SystemMessage) and message.subtype == "init":268 if isinstance(message, SystemMessage) and message.subtype == "init":

248 print(f"Loaded plugins: {message.data.get('plugins')}")269 print(f"Loaded plugins: {message.data.get('plugins')}")

270 print(f"Available skills: {message.data.get('skills')}")

249 print(f"Available commands: {message.data.get('slash_commands')}")271 print(f"Available commands: {message.data.get('slash_commands')}")

250 272 

251 if isinstance(message, AssistantMessage):273 if isinstance(message, AssistantMessage):


259 ```281 ```

260</CodeGroup>282</CodeGroup>

261 283 

262## プラグイン構造リファレンス284<h2 id="plugin-structure-reference">

285 プラグイン構造リファレンス

286</h2>

263 287 

264プラグインディレクトリには `.claude-plugin/plugin.json` マニフェストファイルが含まれている必要がありますオプションで以下を含めることができます288プラグインディレクトリには通常、`.claude-plugin/plugin.json` マニフェストファイルが含まれていますマニフェストはオプションです。省略した場合、Claude Code はディレクトリレイアウトからコンポーネントを自動検出します。ディレクトリには以下を含めることができます

265 289 

266```text theme={null}290```text theme={null}

267my-plugin/291my-plugin/

268├── .claude-plugin/292├── .claude-plugin/

269│ └── plugin.json # Required: plugin manifest293│ └── plugin.json # プラグインマニフェスト(オプション、これなしでもコンポーネントは自動検出されます)

270├── skills/ # Agent Skills (invoked autonomously or via /skill-name)294├── skills/ # Agent Skills(自律的に呼び出されるか /skill-name 経由で呼び出されます)

271│ └── my-skill/295│ └── my-skill/

272│ └── SKILL.md296│ └── SKILL.md

273├── commands/ # Legacy: use skills/ instead297├── commands/ # レガシー:代わりに skills/ を使用してください

274│ └── custom-cmd.md298│ └── custom-cmd.md

275├── agents/ # Custom agents299├── agents/ # カスタムエージェント

276│ └── specialist.md300│ └── specialist.md

277├── hooks/ # Event handlers301├── hooks/ # イベントハンドラー

278│ └── hooks.json302│ └── hooks.json

279└── .mcp.json # MCP server definitions303└── .mcp.json # MCP サーバー定義

280```304```

281 305 

282プラグイン作成の詳細については、以下を参照してください:306プラグイン作成の詳細については、以下を参照してください:


284* [Plugins](/ja/plugins) - プラグイン開発の完全ガイド308* [Plugins](/ja/plugins) - プラグイン開発の完全ガイド

285* [Plugins reference](/ja/plugins-reference) - 技術仕様とスキーマ309* [Plugins reference](/ja/plugins-reference) - 技術仕様とスキーマ

286 310 

287## 一般的なユースケース311<h2 id="common-use-cases">

312 一般的なユースケース

313</h2>

288 314 

289### 開発とテスト315<h3 id="development-and-testing">

316 開発とテスト

317</h3>

290 318 

291グローバルにインストールせずに開発中にプラグインを読み込みます:319グローバルにインストールせずに開発中にプラグインを読み込みます:

292 320 


294plugins: [{ type: "local", path: "./dev-plugins/my-plugin" }];322plugins: [{ type: "local", path: "./dev-plugins/my-plugin" }];

295```323```

296 324 

297### プロジェクト固有の拡張機能325<h3 id="project-specific-extensions">

326 プロジェクト固有の拡張機能

327</h3>

298 328 

299チーム全体の一貫性のためにプラグインをプロジェクトリポジトリに含めます:329チーム全体の一貫性のためにプラグインをプロジェクトリポジトリに含めます:

300 330 


302plugins: [{ type: "local", path: "./project-plugins/team-workflows" }];332plugins: [{ type: "local", path: "./project-plugins/team-workflows" }];

303```333```

304 334 

305### 複数のプラグインソース335<h3 id="multiple-plugin-sources">

336 複数のプラグインソース

337</h3>

306 338 

307異なる場所からプラグインを組み合わせます:339異なる場所からプラグインを組み合わせます:

308 340 


313];345];

314```346```

315 347 

316## トラブルシューティング348<h2 id="troubleshooting">

349 トラブルシューティング

350</h2>

317 351 

318### プラグインが読み込まれない352<h3 id="plugin-not-loading">

353 プラグインが読み込まれない

354</h3>

319 355 

320プラグインが初期化メッセージに表示されない場合:356プラグインが初期化メッセージに表示されない場合:

321 357 

3221. **パスを確認する**: パスがプラグインルートディレクトリ(`.claude-plugin/` を含む)を指していることを確認してください3581. **パスを確認する**: パスがプラグインルートディレクトリ(`skills/`、`agents/`、`hooks/`、`commands/`(レガシー)、または `.claude-plugin/` の親)を指していることを確認してください

3232. **plugin.json を検証する**: マニフェストファイルが有効な JSON 構文を持っていることを確認してください3592. **plugin.json を検証する**: プラグインにマニフェストが含まれている場合、有効な JSON 構文を持っていることを確認してください

3243. **ファイルパーミッションを確認する**: プラグインディレクトリが読み取り可能であることを確認してください3603. **ファイルパーミッションを確認する**: プラグインディレクトリが読み取り可能であることを確認してください

325 361 

326### スキルが表示されない362<h3 id="skills-not-appearing">

363 スキルが表示されない

364</h3>

327 365 

328プラグインスキルが機能しない場合:366プラグインスキルが機能しない場合:

329 367 

3301. **名前空間を使用する**: プラグインスキルはスラッシュコマンドとして呼び出される場合、`plugin-name:skill-name` 形式が必要です3681. **名前空間を使用する**: `/plugin-name:skill-name` としてプラグインスキルを呼び出してください

3312. **初期化メッセージを確認する**: スキルが正しい名前空間で `slash_commands` に表示されることを確認してください3692. **初期化メッセージを確認する**: スキルが正しい名前空間で `skills` リストに表示されることを確認してください

3323. **スキルファイルを検証する**: 各スキルが `skills/` の下の独自のサブディレクトリに `SKILL.md` ファイルを持っていることを確認してください(例:`skills/my-skill/SKILL.md`)3703. **スキルファイルを検証する**: 各スキルが `skills/` の下の独自のサブディレクトリに `SKILL.md` ファイルを持っていることを確認してください(例:`skills/my-skill/SKILL.md`)

333 371 

334### パス解決の問題372<h3 id="path-resolution-issues">

373 パス解決の問題

374</h3>

335 375 

336相対パスが機能しない場合:376相対パスが機能しない場合:

337 377 


3392. **絶対パスを使用する**: 信頼性のために、絶対パスの使用を検討してください3792. **絶対パスを使用する**: 信頼性のために、絶対パスの使用を検討してください

3403. **パスを正規化する**: パスユーティリティを使用してパスを正しく構築してください3803. **パスを正規化する**: パスユーティリティを使用してパスを正しく構築してください

341 381 

342## 関連項目382<h2 id="see-also">

383 関連項目

384</h2>

343 385 

344* [Plugins](/ja/plugins) - プラグイン開発の完全ガイド386* [Plugins](/ja/plugins) - プラグイン開発の完全ガイド

345* [Plugins reference](/ja/plugins-reference) - 技術仕様387* [Plugins reference](/ja/plugins-reference) - 技術仕様

346* [Slash Commands](/ja/agent-sdk/slash-commands) - SDK でのスラッシュコマンドの使用388* [Commands](/ja/agent-sdk/slash-commands) - SDK でのコマンドの使用

347* [Subagents](/ja/agent-sdk/subagents) - 専門的なエージェントの操作389* [Subagents](/ja/agent-sdk/subagents) - 専門的なエージェントの操作

348* [Skills](/ja/agent-sdk/skills) - Agent Skills の使用390* [Skills](/ja/agent-sdk/skills) - Agent Skills の使用

Details

802| `allowed_tools` | `list[str]` | `[]` | プロンプトなしで自動承認するツール。これは Claude をこれらのツールのみに制限しません。リストされていないツールは `permission_mode` と `can_use_tool` にフォールスルーします。`disallowed_tools` を使用してツールをブロックします。[パーミッション](/ja/agent-sdk/permissions#allow-and-deny-rules) を参照 |802| `allowed_tools` | `list[str]` | `[]` | プロンプトなしで自動承認するツール。これは Claude をこれらのツールのみに制限しません。リストされていないツールは `permission_mode` と `can_use_tool` にフォールスルーします。`disallowed_tools` を使用してツールをブロックします。[パーミッション](/ja/agent-sdk/permissions#allow-and-deny-rules) を参照 |

803| `system_prompt` | `str \| SystemPromptPreset \| None` | `None` | システムプロンプト設定。カスタムプロンプトの場合は文字列を渡すか、Claude Code のシステムプロンプトの場合は `{"type": "preset", "preset": "claude_code"}` を使用します。プリセットを拡張するには `"append"` を追加します |803| `system_prompt` | `str \| SystemPromptPreset \| None` | `None` | システムプロンプト設定。カスタムプロンプトの場合は文字列を渡すか、Claude Code のシステムプロンプトの場合は `{"type": "preset", "preset": "claude_code"}` を使用します。プリセットを拡張するには `"append"` を追加します |

804| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCP サーバー設定または設定ファイルへのパス |804| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCP サーバー設定または設定ファイルへのパス |

805| `strict_mcp_config` | `bool` | `False` | `True` の場合、`mcp_servers` で渡されたサーバーのみを使用し、プロジェクト `.mcp.json`、ユーザー設定、プラグイン提供の MCP サーバーを無視します。CLI `--strict-mcp-config` フラグにマップされます |805| `strict_mcp_config` | `bool` | `False` | `True` の場合、`mcp_servers` で渡されたサーバーのみを使用し、プロジェクト `.mcp.json`、ユーザー設定、プラグイン提供の MCP サーバー、および [claude.ai コネクタ](/ja/mcp#use-mcp-servers-from-claude-ai) を無視します。CLI `--strict-mcp-config` フラグにマップされます |

806| `permission_mode` | `PermissionMode \| None` | `None` | ツール使用のパーミッションモード |806| `permission_mode` | `PermissionMode \| None` | `None` | ツール使用のパーミッションモード |

807| `continue_conversation` | `bool` | `False` | 最新の会話を続ける |807| `continue_conversation` | `bool` | `False` | 最新の会話を続ける |

808| `resume` | `str \| None` | `None` | 再開するセッション ID |808| `resume` | `str \| None` | `None` | 再開するセッション ID |

809| `max_turns` | `int \| None` | `None` | 最大 agentic ターン数(ツール使用ラウンドトリップ) |809| `max_turns` | `int \| None` | `None` | 最大 agentic ターン数(ツール使用ラウンドトリップ) |

810| `max_budget_usd` | `float \| None` | `None` | クライアント側のコスト推定がこの USD 値に達したときにクエリを停止します。`total_cost_usd` と同じ推定と比較されます。[コストと使用状況を追跡](/ja/agent-sdk/cost-tracking) で精度の注意事項を参照 |810| `max_budget_usd` | `float \| None` | `None` | クライアント側のコスト推定がこの USD 値に達したときにクエリを停止します。`total_cost_usd` と同じ推定と比較されます。[コストと使用状況を追跡](/ja/agent-sdk/cost-tracking) で精度の注意事項を参照 |

811| `disallowed_tools` | `list[str]` | `[]` | 常に拒否するツール拒否ルールが最初にチェックされ、`allowed_tools` `permission_mode``bypassPermissions` を含む)をオーバーライドします |811| `disallowed_tools` | `list[str]` | `[]` | 拒否するツール。`Bash` などの単純な名前はツールを Claude のコンテキストから削除します。`Bash(rm *)` などのスコープ付きルールはツールを利用可能なままにし、`bypassPermissions` を含むすべてのパーミッションモードで一致する呼び出しを拒否します。[パーミッション](/ja/agent-sdk/permissions#allow-and-deny-rules) を参照 |

812| `enable_file_checkpointing` | `bool` | `False` | ファイル変更追跡を有効にして巻き戻しを可能にします。[ファイルチェックポイント](/ja/agent-sdk/file-checkpointing) を参照 |812| `enable_file_checkpointing` | `bool` | `False` | ファイル変更追跡を有効にして巻き戻しを可能にします。[ファイルチェックポイント](/ja/agent-sdk/file-checkpointing) を参照 |

813| `model` | `str \| None` | `None` | 使用する Claude モデル |813| `model` | `str \| None` | `None` | 使用する Claude モデル |

814| `fallback_model` | `str \| None` | `None` | プライマリモデルが失敗した場合に使用するフォールバックモデル |814| `fallback_model` | `str \| None` | `None` | プライマリモデルが失敗した場合に使用するフォールバックモデル |


1861```1861```

1862 1862 

1863<Note>1863<Note>

1864 TypeScript SDK は、Python ではまだ利用できない追加の hook イベントをサポートしています:`SessionStart`、`SessionEnd`、`Setup`、`TeammateIdle`、`TaskCompleted`、`ConfigChange`、`WorktreeCreate`、`WorktreeRemove`、`PostToolBatch`。1864 TypeScript SDK は、Python ではまだ利用できない追加の hook イベントをサポートしています:`SessionStart`、`SessionEnd`、`Setup`、`TeammateIdle`、`TaskCompleted`、`ConfigChange`、`WorktreeCreate`、`WorktreeRemove`、`PostToolBatch`、および `MessageDisplay`

1865</Note>1865</Note>

1866 1866 

1867### `HookCallback`1867### `HookCallback`


2868 2868 

2869### ListMcpResources2869### ListMcpResources

2870 2870 

2871**ツール名:** `ListMcpResources`2871**ツール名:** `ListMcpResourcesTool`

2872 2872 

2873**入力:**2873**入力:**

2874 2874 


2897 2897 

2898### ReadMcpResource2898### ReadMcpResource

2899 2899 

2900**ツール名:** `ReadMcpResource`2900**ツール名:** `ReadMcpResourceTool`

2901 2901 

2902**入力:**2902**入力:**

2903 2903 


3297| `ignoreViolations` | [`SandboxIgnoreViolations`](#sandboxignoreviolations) | `None` | 無視するサンドボックス違反を設定します |3297| `ignoreViolations` | [`SandboxIgnoreViolations`](#sandboxignoreviolations) | `None` | 無視するサンドボックス違反を設定します |

3298| `enableWeakerNestedSandbox` | `bool` | `False` | 互換性のためにより弱いネストされたサンドボックスを有効にします |3298| `enableWeakerNestedSandbox` | `bool` | `False` | 互換性のためにより弱いネストされたサンドボックスを有効にします |

3299 3299 

3300<Note>

3301 サンドボックスはプラットフォームサポートに依存し、Linux では `bubblewrap` や `socat` などのツールが必要です。デフォルトでは、`enabled` が `True` でもサンドボックスが起動できない場合、コマンドはサンドボックスなしで実行され、stderr に警告が表示されます。このデフォルト動作は TypeScript SDK とは異なり、TypeScript SDK では `failIfUnavailable` がデフォルトで `true` です。

3302 

3303 サンドボックス設定で `"failIfUnavailable": True` を設定して、代わりに停止するようにしてください。このキーはまだ `SandboxSettings` で宣言されていませんが、SDK は Claude Code に転送し、Claude Code がこれを尊重します。その後、`query()` は `subtype="error_during_execution"` の `ResultMessage` を報告し、理由は `errors` に含まれます。`query()` がメッセージを生成する前に例外を発生させることを期待するのではなく、そのサブタイプを監視してください。

3304</Note>

3305 

3300#### 使用例3306#### 使用例

3301 3307 

3302```python theme={null}3308```python theme={null}


3321 3327 

3322### `SandboxNetworkConfig`3328### `SandboxNetworkConfig`

3323 3329 

3324サンドボックスモード用のネットワーク固有の設定。3330サンドボックスモード用のネットワーク固有の設定。これらの設定は、親の [`SandboxSettings`](#sandboxsettings) で `enabled` が `True` の場合、サンドボックス化された Bash コマンドに適用されます。WebFetch ツールには適用されず、WebFetch ツールは代わりに [パーミッションルール](/ja/permissions#webfetch) を使用します。

3325 3331 

3326```python theme={null}3332```python theme={null}

3327class SandboxNetworkConfig(TypedDict, total=False):3333class SandboxNetworkConfig(TypedDict, total=False):

Details

142. バグのあるコードを含むファイルを作成する142. バグのあるコードを含むファイルを作成する

153. バグを自動的に見つけて修正するエージェントを実行する153. バグを自動的に見つけて修正するエージェントを実行する

16 16 

17## 前提条件17<h2 id="prerequisites">

18 前提条件

19</h2>

18 20 

19* **Node.js 18+** または **Python 3.10+**21* **Node.js 18+** または **Python 3.10+**

20* **Anthropic アカウント**([こちらでサインアップ](https://platform.claude.com/))22* **Anthropic アカウント**([こちらでサインアップ](https://platform.claude.com/))

21 23 

22## セットアップ24<h2 id="setup">

25 セットアップ

26</h2>

23 27 

24<Steps>28<Steps>

25 <Step title="プロジェクトフォルダを作成する">29 <Step title="プロジェクトフォルダを作成する">

26 このクイックスタート用に新しいディレクトリを作成します:30 このクイックスタート用に新しいディレクトリを作成します:

27 31 

28 ```bash theme={null}32 ```bash theme={null}

29 mkdir my-agent && cd my-agent33 mkdir my-agent

34 cd my-agent

30 ```35 ```

31 36 

32 独自のプロジェクトの場合、任意のフォルダから SDK を実行できます。デフォルトでは、そのディレクトリとそのサブディレクトリ内のファイルにアクセスできます。37 独自のプロジェクトの場合、任意のフォルダから SDK を実行できます。デフォルトでは、そのディレクトリとそのサブディレクトリ内のファイルにアクセスできます。


43 </Tab>48 </Tab>

44 49 

45 <Tab title="Python (uv)">50 <Tab title="Python (uv)">

46 [uv Python パッケージマネージャー](https://docs.astral.sh/uv/)は、仮想環境を自動的に処理する高速な Python パッケージマネージャーです:51 [uv](https://docs.astral.sh/uv/) は、仮想環境を自動的に処理する高速な Python パッケージマネージャーです:

47 52 

48 ```bash theme={null}53 ```bash theme={null}

49 uv init && uv add claude-agent-sdk54 uv init

55 uv add claude-agent-sdk

50 ```56 ```

51 </Tab>57 </Tab>

52 58 

53 <Tab title="Python (pip)">59 <Tab title="Python (pip)">

54 まず仮想環境を作成してからインストールします:60 仮想環境を作成してアクティベートしてから、パッケージをインストールします。

61 

62 macOS または Linux の場合:

55 63 

56 ```bash theme={null}64 ```bash theme={null}

57 python3 -m venv .venv && source .venv/bin/activate65 python3 -m venv .venv

58 pip3 install claude-agent-sdk66 source .venv/bin/activate

67 pip install claude-agent-sdk

68 ```

69 

70 Windows の場合:

71 

72 ```powershell theme={null}

73 py -m venv .venv

74 .venv\Scripts\Activate.ps1

75 pip install claude-agent-sdk

59 ```76 ```

77 

78 PowerShell が実行ポリシーエラーで `Activate.ps1` をブロックする場合は、まず `Set-ExecutionPolicy -Scope Process RemoteSigned` を実行してください。

60 </Tab>79 </Tab>

61 </Tabs>80 </Tabs>

62 81 


87 </Step>106 </Step>

88</Steps>107</Steps>

89 108 

90## バグのあるファイルを作成する109<h2 id="create-a-buggy-file">

110 バグのあるファイルを作成する

111</h2>

91 112 

92このクイックスタートでは、コード内のバグを見つけて修正できるエージェントを構築する手順を説明します。まず、エージェントが修正するための意図的なバグを含むファイルが必要です。`my-agent` ディレクトリに `utils.py` を作成し、次のコードを貼り付けます:113このクイックスタートでは、コード内のバグを見つけて修正できるエージェントを構築する手順を説明します。まず、エージェントが修正するための意図的なバグを含むファイルが必要です。`my-agent` ディレクトリに `utils.py` を作成し、次のコードを貼り付けます:

93 114 


1081. `calculate_average([])` はゼロで除算してクラッシュします1291. `calculate_average([])` はゼロで除算してクラッシュします

1092. `get_user_name(None)` は TypeError でクラッシュします1302. `get_user_name(None)` は TypeError でクラッシュします

110 131 

111## バグを見つけて修正するエージェントを構築する132<h2 id="build-an-agent-that-finds-and-fixes-bugs">

133 バグを見つけて修正するエージェントを構築する

134</h2>

112 135 

113Python SDK を使用している場合は `agent.py` を作成し、TypeScript の場合は `agent.ts` を作成します:136Python SDK を使用している場合は `agent.py` を作成し、TypeScript の場合は `agent.ts` を作成します:

114 137 


123 async for message in query(146 async for message in query(

124 prompt="Review utils.py for bugs that would cause crashes. Fix any issues you find.",147 prompt="Review utils.py for bugs that would cause crashes. Fix any issues you find.",

125 options=ClaudeAgentOptions(148 options=ClaudeAgentOptions(

126 allowed_tools=["Read", "Edit", "Glob"], # Claude が使用できるツール149 allowed_tools=["Read", "Edit", "Glob"], # これらのツールを自動承認します

127 permission_mode="acceptEdits", # ファイル編集を自動承認150 permission_mode="acceptEdits", # ファイル編集を自動承認します

128 ),151 ),

129 ):152 ):

130 # 人間が読める出力を印刷します153 # 人間が読める出力を印刷します


148 for await (const message of query({171 for await (const message of query({

149 prompt: "Review utils.py for bugs that would cause crashes. Fix any issues you find.",172 prompt: "Review utils.py for bugs that would cause crashes. Fix any issues you find.",

150 options: {173 options: {

151 allowedTools: ["Read", "Edit", "Glob"], // Claude が使用できるツール174 allowedTools: ["Read", "Edit", "Glob"], // これらのツールを自動承認します

152 permissionMode: "acceptEdits" // ファイル編集を自動承認175 permissionMode: "acceptEdits" // ファイル編集を自動承認します

153 }176 }

154 })) {177 })) {

155 // 人間が読める出力を印刷します178 // 人間が読める出力を印刷します


176 199 

1773. **`options`**:エージェントの構成。この例では、`allowedTools` を使用して `Read`、`Edit`、`Glob` を事前承認し、`permissionMode: "acceptEdits"` を使用してファイル変更を自動承認します。その他のオプションには、`systemPrompt`、`mcpServers` などがあります。[Python](/ja/agent-sdk/python#claudeagentoptions) または [TypeScript](/ja/agent-sdk/typescript#options) のすべてのオプションを参照してください。2003. **`options`**:エージェントの構成。この例では、`allowedTools` を使用して `Read`、`Edit`、`Glob` を事前承認し、`permissionMode: "acceptEdits"` を使用してファイル変更を自動承認します。その他のオプションには、`systemPrompt`、`mcpServers` などがあります。[Python](/ja/agent-sdk/python#claudeagentoptions) または [TypeScript](/ja/agent-sdk/typescript#options) のすべてのオプションを参照してください。

178 201 

179`async for` ループは、Claude が考え、ツールを呼び出し、結果を観察し、次に何をするかを決定する間、実行し続けます。各反復は、メッセージを生成します:Claude の推論、ツール呼び出し、ツール結果、または最終的な結果。SDK はオーケストレーション(ツール実行、コンテキスト管理、再試行)を処理するため、ストリームを消費するだけです。Claude がタスクを完了するか、エラーに達するとループが終了します。202`async for` ループは、Claude が考え、ツールを呼び出し、結果を観察し、次に何をするかを決定する間、実行し続けます。各反復はメッセージを生成します:Claude の推論、ツール呼び出し、ツール結果、または最終的な結果。SDK はオーケストレーション(ツール実行、コンテキスト管理、再試行)を処理するため、ストリームを消費するだけです。Claude がタスクを完了するか、エラーに達するとループが終了します。

180 203 

181ループ内のメッセージ処理は、人間が読める出力をフィルタリングします。フィルタリングなしでは、システム初期化と内部状態を含む生のメッセージオブジェクトが表示されます。これはデバッグに役立ちますが、そうでない場合はノイズが多くなります。204ループ内のメッセージ処理は、人間が読める出力をフィルタリングします。フィルタリングなしでは、システム初期化と内部状態を含む生のメッセージオブジェクトが表示されます。これはデバッグに役立ちますが、そうでない場合はノイズが多くなります。

182 205 


184 この例はストリーミングを使用してリアルタイムで進行状況を表示します。ライブ出力が不要な場合(バックグラウンドジョブや CI パイプラインなど)、すべてのメッセージを一度に収集できます。詳細については、[ストリーミング対単一ターンモード](/ja/agent-sdk/streaming-vs-single-mode) を参照してください。207 この例はストリーミングを使用してリアルタイムで進行状況を表示します。ライブ出力が不要な場合(バックグラウンドジョブや CI パイプラインなど)、すべてのメッセージを一度に収集できます。詳細については、[ストリーミング対単一ターンモード](/ja/agent-sdk/streaming-vs-single-mode) を参照してください。

185</Note>208</Note>

186 209 

187### エージェントを実行する210<h3 id="run-your-agent">

211 エージェントを実行する

212</h3>

188 213 

189エージェントの準備ができました。次のコマンドで実行します:214エージェントの準備ができました。次のコマンドで実行します:

190 215 

191<Tabs>216<Tabs>

192 <Tab title="Python">217 <Tab title="TypeScript">

193 ```bash theme={null}218 ```bash theme={null}

194 python3 agent.py219 npx tsx agent.ts

195 ```220 ```

196 </Tab>221 </Tab>

197 222 

198 <Tab title="TypeScript">223 <Tab title="Python (uv)">

199 ```bash theme={null}224 ```bash theme={null}

200 npx tsx agent.ts225 uv run agent.py

226 ```

227 </Tab>

228 

229 <Tab title="Python (pip)">

230 仮想環境がまだアクティブな状態で:

231 

232 ```bash theme={null}

233 python agent.py

201 ```234 ```

202 </Tab>235 </Tab>

203</Tabs>236</Tabs>


214 「API key not found」が表示される場合は、`.env` ファイルまたはシェル環境で `ANTHROPIC_API_KEY` 環境変数を設定していることを確認してください。詳細については、[完全なトラブルシューティングガイド](/ja/troubleshooting) を参照してください。247 「API key not found」が表示される場合は、`.env` ファイルまたはシェル環境で `ANTHROPIC_API_KEY` 環境変数を設定していることを確認してください。詳細については、[完全なトラブルシューティングガイド](/ja/troubleshooting) を参照してください。

215</Note>248</Note>

216 249 

217### 他のプロンプトを試す250<h3 id="try-other-prompts">

251 他のプロンプトを試す

252</h3>

218 253 

219エージェントがセットアップされたので、いくつかの異なるプロンプトを試してください:254エージェントがセットアップされたので、いくつかの異なるプロンプトを試してください:

220 255 


222* `"Add type hints to all functions in utils.py"`257* `"Add type hints to all functions in utils.py"`

223* `"Create a README.md documenting the functions in utils.py"`258* `"Create a README.md documenting the functions in utils.py"`

224 259 

225### エージェントをカスタマイズする260<h3 id="customize-your-agent">

261 エージェントをカスタマイズする

262</h3>

226 263 

227オプションを変更することで、エージェントの動作を変更できます。いくつかの例を次に示します:264オプションを変更することで、エージェントの動作を変更できます。いくつかの例を次に示します:

228 265 


288 325 

289`Bash` を有効にして、次を試してください:`"Write unit tests for utils.py, run them, and fix any failures"`326`Bash` を有効にして、次を試してください:`"Write unit tests for utils.py, run them, and fix any failures"`

290 327 

291## 主要な概念328<h2 id="key-concepts">

329 主要な概念

330</h2>

292 331 

293**ツール** はエージェントが何ができるかを制御します:332**ツール** はエージェントが何ができるかを制御します:

294 333 


310 349 

311上記の例は `acceptEdits` モードを使用しており、ファイル操作を自動承認するため、エージェントはインタラクティブなプロンプトなしで実行できます。ユーザーに承認を促す場合は、`default` モードを使用し、ユーザー入力を収集する [`canUseTool` コールバック](/ja/agent-sdk/user-input) を提供します。より詳細な制御については、[権限](/ja/agent-sdk/permissions) を参照してください。350上記の例は `acceptEdits` モードを使用しており、ファイル操作を自動承認するため、エージェントはインタラクティブなプロンプトなしで実行できます。ユーザーに承認を促す場合は、`default` モードを使用し、ユーザー入力を収集する [`canUseTool` コールバック](/ja/agent-sdk/user-input) を提供します。より詳細な制御については、[権限](/ja/agent-sdk/permissions) を参照してください。

312 351 

313## トラブルシューティング352<h2 id="troubleshooting">

353 トラブルシューティング

354</h2>

314 355 

315### API エラー `thinking.type.enabled` はこのモデルではサポートされていません356<h3 id="api-error-thinking-type-enabled-is-not-supported-for-this-model">

357 API エラー `thinking.type.enabled` はこのモデルではサポートされていません

358</h3>

316 359 

317Claude Opus 4.7 は `thinking.type.enabled` を `thinking.type.adaptive` に置き換えます。古い Agent SDK バージョンは、`claude-opus-4-7` を選択すると次の API エラーで失敗します:360Claude Opus 4.7 は `thinking.type.enabled` を `thinking.type.adaptive` に置き換えます。古い Agent SDK バージョンは、`claude-opus-4-7` を選択すると次の API エラーで失敗します:

318 361 


322 365 

323Opus 4.7 を使用するには、Agent SDK v0.2.111 以降にアップグレードしてください。366Opus 4.7 を使用するには、Agent SDK v0.2.111 以降にアップグレードしてください。

324 367 

325## 次のステップ368<h2 id="next-steps">

369 次のステップ

370</h2>

326 371 

327最初のエージェントを作成したので、その機能を拡張し、ユースケースに合わせてカスタマイズする方法を学びます:372最初のエージェントを作成したので、その機能を拡張し、ユースケースに合わせてカスタマイズする方法を学びます:

328 373 

agent-sdk/secure-deployment.md +396 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# AI エージェントの安全なデプロイ

6 

7> 分離、認証情報管理、ネットワーク制御を使用して Claude Code と Agent SDK のデプロイを保護するためのガイド

8 

9Claude Code と Agent SDK は、コードを実行し、ファイルにアクセスし、あなたに代わって外部サービスと相互作用できる強力なツールです。これらの機能を持つツールと同様に、これらを慎重にデプロイすることで、利点を得ながら適切な制御を維持できます。

10 

11事前に決められたコードパスに従う従来のソフトウェアとは異なり、これらのツールはコンテキストと目標に基づいて動的にアクションを生成します。この柔軟性が有用性をもたらしますが、処理するコンテンツ(ファイル、ウェブページ、ユーザー入力)によってその動作が影響を受ける可能性があることも意味します。これはプロンプトインジェクションと呼ばれることもあります。たとえば、リポジトリの README に異常な指示が含まれている場合、Claude Code はオペレーターが予想しなかった方法でそれらの指示をアクションに組み込む可能性があります。このガイドでは、このリスクを軽減するための実践的な方法について説明します。

12 

13良いニュースは、エージェントのデプロイを保護するために、エキゾチックなインフラストラクチャは必要ないということです。半信頼できるコードを実行する場合に適用される原則(分離、最小権限、多層防御)がここにも適用されます。Claude Code には一般的な懸念に対応するのに役立つ複数のセキュリティ機能が含まれており、このガイドではこれらと、さらなる強化が必要な場合の追加的な強化オプションについて説明します。

14 

15すべてのデプロイが最大限のセキュリティを必要とするわけではありません。開発者がノートパソコンで Claude Code を実行する場合と、マルチテナント環境で顧客データを処理する企業では、要件が異なります。このガイドでは、Claude Code の組み込みセキュリティ機能から強化されたプロダクション アーキテクチャまで、さまざまなオプションを提示しているため、状況に合ったものを選択できます。

16 

17<h2 id="threat-model">

18 脅威モデル

19</h2>

20 

21エージェントは、プロンプトインジェクション(処理するコンテンツに埋め込まれた指示)またはモデルエラーが原因で、意図しないアクションを実行する可能性があります。Claude モデルはこれに対する耐性を持つように設計されています。詳細については、[モデル概要](https://platform.claude.com/docs/ja/about-claude/models/overview)とデプロイするモデルのシステムカードを参照してください。

22 

23ただし、多層防御は依然として良い実践です。たとえば、エージェントが顧客データを外部サーバーに送信するよう指示する悪意のあるファイルを処理する場合、ネットワーク制御がそのリクエストを完全にブロックできます。

24 

25<h2 id="built-in-security-features">

26 組み込みセキュリティ機能

27</h2>

28 

29Claude Code には、一般的な懸念に対応するいくつかのセキュリティ機能が含まれています。詳細については、[セキュリティドキュメント](/ja/security)を参照してください。

30 

31* **権限システム**: すべてのツールと bash コマンドは、許可、ブロック、またはユーザーの承認をプロンプトするように設定できます。「すべての npm コマンドを許可」または「sudo を含むコマンドをブロック」などのルールを作成するには、glob パターンを使用します。組織は、すべてのユーザーに適用されるポリシーを設定できます。[権限](/ja/permissions)を参照してください。

32* **権限のためのコマンド解析**: bash コマンドを実行する前に、Claude Code はそれを AST に解析し、結果を権限ルールと照合します。きれいに解析できないコマンド、または許可ルールと一致しないコマンドは、明示的な承認が必要です。`eval` などの小さなコンストラクトセットは、許可ルールに関係なく常に承認が必要です。これは権限ゲートであり、サンドボックスではありません。ターゲットパスまたは効果からコマンドが危険かどうかを推測しません。

33* **ウェブ検索の要約**: 検索結果は、生のコンテンツをコンテキストに直接渡すのではなく、要約されます。これにより、悪意のあるウェブコンテンツからのプロンプトインジェクションのリスクが軽減されます。

34* **サンドボックスモード**: Bash コマンドは、ファイルシステムとネットワークアクセスを制限するサンドボックス環境で実行できます。詳細については、[サンドボックスドキュメント](/ja/sandboxing)を参照してください。

35 

36<h2 id="security-principles">

37 セキュリティの原則

38</h2>

39 

40Claude Code のデフォルトを超えた追加の強化が必要なデプロイの場合、これらの原則は利用可能なオプションをガイドします。

41 

42<h3 id="security-boundaries">

43 セキュリティ境界

44</h3>

45 

46セキュリティ境界は、異なる信頼レベルを持つコンポーネントを分離します。高セキュリティのデプロイの場合、機密リソース(認証情報など)をエージェントを含む境界の外に配置できます。エージェントの環境で何か問題が発生した場合、その境界外のリソースは保護されたままです。

47 

48たとえば、エージェントに API キーへの直接アクセスを与える代わりに、エージェントの環境外で実行されるプロキシを実行して、キーをリクエストに注入することができます。エージェントは API 呼び出しを実行できますが、認証情報自体は見ることはありません。このパターンは、マルチテナント デプロイメントまたは信頼できないコンテンツを処理する場合に役立ちます。

49 

50<h3 id="least-privilege">

51 最小権限

52</h3>

53 

54必要に応じて、エージェントを特定のタスクに必要な機能のみに制限できます。

55 

56| リソース | 制限オプション |

57| -------- | -------------------------- |

58| ファイルシステム | 必要なディレクトリのみをマウント、読み取り専用を優先 |

59| ネットワーク | プロキシ経由で特定のエンドポイントに制限 |

60| 認証情報 | 直接公開するのではなく、プロキシ経由で注入 |

61| システム機能 | コンテナ内の Linux 機能をドロップ |

62 

63<h3 id="defense-in-depth">

64 多層防御

65</h3>

66 

67高セキュリティ環境では、複数の制御をレイヤー化することで追加の保護が提供されます。オプションには以下が含まれます。

68 

69* コンテナ分離

70* ネットワーク制限

71* ファイルシステム制御

72* プロキシでのリクエスト検証

73 

74適切な組み合わせは、脅威モデルと運用要件によって異なります。

75 

76<h2 id="isolation-technologies">

77 分離テクノロジー

78</h2>

79 

80異なる分離テクノロジーは、セキュリティ強度、パフォーマンス、運用の複雑さの間で異なるトレードオフを提供します。

81 

82<Info>

83 これらすべての構成では、Claude Code(または Agent SDK アプリケーション)は分離境界(サンドボックス、コンテナ、または VM)内で実行されます。以下で説明するセキュリティ制御は、エージェントがその境界内からアクセスできるものを制限します。

84</Info>

85 

86| テクノロジー | 分離強度 | パフォーマンスオーバーヘッド | 複雑さ |

87| -------------------- | -------------- | -------------- | ------ |

88| Sandbox runtime | 良好(安全なデフォルト) | 非常に低い | 低い |

89| コンテナ(Docker) | セットアップに依存 | 低い | 中程度 |

90| gVisor | 優秀(正しいセットアップで) | 中程度/高い | 中程度 |

91| VM(Firecracker、QEMU) | 優秀(正しいセットアップで) | 高い | 中程度/高い |

92 

93<h3 id="sandbox-runtime">

94 Sandbox runtime

95</h3>

96 

97コンテナなしで軽量な分離を行うには、[sandbox-runtime](https://github.com/anthropic-experimental/sandbox-runtime) が OS レベルでファイルシステムとネットワークの制限を強制します。

98 

99主な利点はシンプルさです。Docker 設定、コンテナイメージ、またはネットワーク設定は必要ありません。プロキシとファイルシステムの制限は組み込まれています。許可されたドメインとパスを指定する設定ファイルを提供します。

100 

101**動作方法:**

102 

103* **ファイルシステム**: OS プリミティブ(Linux では `bubblewrap`、macOS では `sandbox-exec`)を使用して、設定されたパスへの読み取り/書き込みアクセスを制限します

104* **ネットワーク**: ネットワーク名前空間を削除(Linux)または Seatbelt プロファイルを使用(macOS)して、ネットワークトラフィックを組み込みプロキシ経由でルーティングします

105* **設定**: ドメインとファイルシステムパスの JSON ベースの許可リスト

106 

107**セットアップ:**

108 

109```bash theme={null}

110npm install @anthropic-ai/sandbox-runtime

111```

112 

113次に、許可されたパスとドメインを指定する設定ファイルを作成します。

114 

115**セキュリティに関する考慮事項:**

116 

1171. **同一ホストカーネル**: VM とは異なり、サンドボックス化されたプロセスはホストカーネルを共有します。カーネルの脆弱性は理論的には脱出を可能にする可能性があります。一部の脅威モデルではこれは許容可能ですが、カーネルレベルの分離が必要な場合は、gVisor または別の VM を使用してください。

118 

1192. **TLS インスペクションなし**: プロキシは、クライアントが提供するホスト名に基づいてドメインを許可リストに登録し、暗号化されたトラフィックを終了または検査しません。サンドボックス内で実行されているコードは、[ドメインフロンティング](https://en.wikipedia.org/wiki/Domain_fronting)または同様の技術を使用して、許可リスト外のホストに到達する可能性があります。脅威モデルがより強力な保証を必要とする場合は、[TLS 終了プロキシ](#traffic-forwarding)を設定してください。詳細については、[サンドボックスセキュリティの制限](/ja/sandboxing#security-limitations)を参照してください。別途、エージェントが許可されたドメインに対する寛容な認証情報を持っている場合、そのドメインを使用して他のネットワークリクエストをトリガーしたり、データを流出させたりできないようにしてください。

120 

121多くの単一開発者および CI/CD ユースケースでは、sandbox-runtime は最小限のセットアップで大幅に改善されます。以下のセクションでは、より強力な分離が必要なデプロイメント用のコンテナと VM について説明します。

122 

123<h3 id="containers">

124 コンテナ

125</h3>

126 

127コンテナは Linux 名前空間を通じて分離を提供します。各コンテナはファイルシステム、プロセスツリー、ネットワークスタックの独自のビューを持ちながら、ホストカーネルを共有します。

128 

129セキュリティが強化されたコンテナ設定は次のようになります。

130 

131```bash theme={null}

132docker run \

133 --cap-drop ALL \

134 --security-opt no-new-privileges \

135 --security-opt seccomp=/path/to/seccomp-profile.json \

136 --read-only \

137 --tmpfs /tmp:rw,noexec,nosuid,size=100m \

138 --tmpfs /home/agent:rw,noexec,nosuid,size=500m \

139 --network none \

140 --memory 2g \

141 --cpus 2 \

142 --pids-limit 100 \

143 --user 1000:1000 \

144 -v /path/to/code:/workspace:ro \

145 -v /var/run/proxy.sock:/var/run/proxy.sock:ro \

146 agent-image

147```

148 

149各オプションの機能は次のとおりです。

150 

151| オプション | 目的 |

152| ---------------------------------- | --------------------------------------------------------------------------------------------------------- |

153| `--cap-drop ALL` | `NET_ADMIN` や `SYS_ADMIN` などの権限昇格を可能にする可能性のある Linux 機能を削除します |

154| `--security-opt no-new-privileges` | setuid バイナリを通じてプロセスが権限を取得するのを防ぎます |

155| `--security-opt seccomp=...` | 利用可能なシステムコールを制限します。Docker のデフォルトは約 44 をブロックし、カスタムプロファイルはさらにブロックできます |

156| `--read-only` | コンテナのルートファイルシステムを不変にし、エージェントが変更を永続化するのを防ぎます |

157| `--tmpfs /tmp:...` | コンテナが停止したときにクリアされる書き込み可能な一時ディレクトリを提供します |

158| `--network none` | すべてのネットワークインターフェースを削除します。エージェントはマウントされた Unix ソケット経由で通信します |

159| `--memory 2g` | メモリ使用量を 2GB に制限して、リソース枯渇を防ぎます |

160| `--pids-limit 100` | プロセス数を制限してフォークボムを防ぎます |

161| `--user 1000:1000` | 非ルートユーザーとして実行します |

162| `-v ...:/workspace:ro` | コードを読み取り専用でマウントして、エージェントが分析できるが変更できないようにします。**`~/.ssh`、`~/.aws`、`~/.config` などの機密ホストディレクトリのマウントは避けてください** |

163| `-v .../proxy.sock:...` | コンテナ外で実行されているプロキシに接続された Unix ソケットをマウントします(以下を参照) |

164 

165**Unix ソケットアーキテクチャ:**

166 

167`--network none` を使用すると、コンテナはネットワークインターフェースを持ちません。エージェントが外部世界に到達する唯一の方法は、マウントされた Unix ソケット経由です。これはホストで実行されているプロキシに接続します。このプロキシはドメイン許可リストを強制し、認証情報を注入し、すべてのトラフィックをログに記録できます。

168 

169これは [sandbox-runtime](https://github.com/anthropic-experimental/sandbox-runtime) で使用されるのと同じアーキテクチャです。エージェントがプロンプトインジェクション経由で侵害された場合でも、任意のサーバーにデータを流出させることはできません。プロキシ経由でのみ通信でき、プロキシは到達可能なドメインを制御します。詳細については、[Claude Code サンドボックスブログ投稿](https://www.anthropic.com/engineering/claude-code-sandboxing)を参照してください。

170 

171**追加の強化オプション:**

172 

173| オプション | 目的 |

174| ---------------- | ------------------------------------------------------------- |

175| `--userns-remap` | コンテナルートを非特権ホストユーザーにマップします。デーモン設定が必要ですが、コンテナエスケープからのダメージを制限します |

176| `--ipc private` | プロセス間通信を分離して、クロスコンテナ攻撃を防ぎます |

177 

178<h3 id="gvisor">

179 gVisor

180</h3>

181 

182標準コンテナはホストカーネルを共有します。コンテナ内のコードがシステムコールを実行すると、ホストを実行するのと同じカーネルに直接移動します。これは、カーネルの脆弱性がコンテナエスケープを許可する可能性があることを意味します。gVisor はユーザースペースでシステムコールをインターセプトしてホストカーネルに到達する前に、ほとんどのシステムコールを実際のカーネルを関与させずに処理する独自の互換性レイヤーを実装することでこれに対処します。

183 

184エージェントが悪意のあるコードを実行する場合(おそらくプロンプトインジェクションが原因)、そのコードはコンテナ内で実行され、カーネルエクスプロイトを試みる可能性があります。gVisor を使用すると、攻撃面は大幅に小さくなります。悪意のあるコードは最初に gVisor のユーザースペース実装を悪用する必要があり、実際のカーネルへのアクセスは限定的です。

185 

186Docker で gVisor を使用するには、`runsc` ランタイムをインストールしてデーモンを設定します。

187 

188```json theme={null}

189// /etc/docker/daemon.json

190{

191 "runtimes": {

192 "runsc": {

193 "path": "/usr/local/bin/runsc"

194 }

195 }

196}

197```

198 

199次に、以下を使用してコンテナを実行します。

200 

201```bash theme={null}

202docker run --runtime=runsc agent-image

203```

204 

205**パフォーマンスに関する考慮事項:**

206 

207| ワークロード | オーバーヘッド |

208| ------------ | ------------------------------ |

209| CPU バウンド計算 | 約 0%(システムコールインターセプションなし) |

210| シンプルなシステムコール | 約 2 倍遅い |

211| ファイル I/O 集約的 | 大量のオープン/クローズパターンで最大 10~200 倍遅い |

212 

213マルチテナント環境または信頼できないコンテンツを処理する場合、追加の分離はしばしば価値があります。

214 

215<h3 id="virtual-machines">

216 仮想マシン

217</h3>

218 

219VM は CPU 仮想化拡張機能を通じてハードウェアレベルの分離を提供します。各 VM は独自のカーネルを実行し、強力な境界を作成します。ゲストカーネルの脆弱性はホストを直接侵害しません。ただし、VM は自動的に gVisor などの代替案より「より安全」ではありません。VM セキュリティはハイパーバイザーとデバイスエミュレーションコードに大きく依存します。

220 

221Firecracker は軽量マイクロ VM 分離用に設計されています。125ms 以下で VM をブートでき、メモリオーバーヘッドは 5 MiB 未満で、不要なデバイスエミュレーションを削除して攻撃面を削減します。

222 

223このアプローチでは、エージェント VM は外部ネットワークインターフェースを持ちません。代わりに、`vsock`(仮想ソケット)を通じて通信します。すべてのトラフィックは vsock 経由でホスト上のプロキシにルーティングされ、プロキシが許可リストを強制し、リクエストを転送する前に認証情報を注入します。

224 

225<h3 id="cloud-deployments">

226 クラウドデプロイメント

227</h3>

228 

229クラウドデプロイメントの場合、上記の分離テクノロジーのいずれかをクラウドネイティブネットワーク制御と組み合わせることができます。

230 

2311. エージェントコンテナをインターネットゲートウェイなしのプライベートサブネットで実行します

2322. クラウドファイアウォールルール(AWS セキュリティグループ、GCP VPC ファイアウォール)を設定して、プロキシ以外へのすべての送信をブロックします

2333. リクエストを検証し、ドメイン許可リストを強制し、認証情報を注入し、外部 API に転送する [Envoy](https://www.envoyproxy.io/) などのプロキシ(`credential_injector` フィルター付き)を実行します

2344. エージェントのサービスアカウントに最小限の IAM 権限を割り当て、機密アクセスをプロキシ経由でルーティングします

2355. 監査目的でプロキシですべてのトラフィックをログに記録します

236 

237<h2 id="credential-management">

238 認証情報管理

239</h2>

240 

241エージェントは、API を呼び出し、リポジトリにアクセスし、クラウドサービスと相互作用するために認証情報が必要なことがよくあります。課題は、認証情報自体を公開することなく、このアクセスを提供することです。

242 

243<h3 id="the-proxy-pattern">

244 プロキシパターン

245</h3>

246 

247推奨されるアプローチは、エージェントのセキュリティ境界の外でプロキシを実行して、送信リクエストに認証情報を注入することです。エージェントは認証情報なしでリクエストを送信し、プロキシがそれらを追加して、リクエストを宛先に転送します。

248 

249このパターンにはいくつかの利点があります。

250 

2511. エージェントは実際の認証情報を見ることはありません

2522. プロキシは許可されたエンドポイントの許可リストを強制できます

2533. プロキシはすべてのリクエストを監査用にログに記録できます

2544. 認証情報は各エージェントに分散されるのではなく、1 つの安全な場所に保存されます

255 

256<h3 id="configuring-claude-code-to-use-a-proxy">

257 Claude Code をプロキシを使用するように設定する

258</h3>

259 

260Claude Code は、サンプリングリクエストをプロキシ経由でルーティングするための 2 つの方法をサポートしています。

261 

262**オプション 1: ANTHROPIC\_BASE\_URL(シンプルですがサンプリング API リクエストのみ)**

263 

264```bash theme={null}

265export ANTHROPIC_BASE_URL="http://localhost:8080"

266```

267 

268これにより、Claude Code と Agent SDK は、Claude API に直接ではなく、プロキシにサンプリングリクエストを送信するように指示されます。プロキシはプレーンテキスト HTTP リクエストを受け取り、検査および変更(認証情報の注入を含む)してから、実際の API に転送できます。

269 

270**オプション 2: HTTP\_PROXY / HTTPS\_PROXY(システム全体)**

271 

272```bash theme={null}

273export HTTP_PROXY="http://localhost:8080"

274export HTTPS_PROXY="http://localhost:8080"

275```

276 

277Claude Code と Agent SDK はこれらの標準環境変数を尊重し、すべての HTTP トラフィックをプロキシ経由でルーティングします。HTTPS の場合、プロキシは暗号化された CONNECT トンネルを作成します。TLS インターセプションなしでは、リクエストコンテンツを見たり変更したりすることはできません。

278 

279<h3 id="implementing-a-proxy">

280 プロキシの実装

281</h3>

282 

283独自のプロキシを構築するか、既存のプロキシを使用できます。

284 

285* [Envoy Proxy](https://www.envoyproxy.io/): 認証ヘッダーを追加するための `credential_injector` フィルター付きのプロダクショングレードプロキシ

286* [mitmproxy](https://mitmproxy.org/): HTTPS トラフィックを検査および変更するための TLS 終了プロキシ

287* [Squid](http://www.squid-cache.org/): アクセス制御リスト付きのキャッシングプロキシ

288* [LiteLLM](https://github.com/BerriAI/litellm): 認証情報注入とレート制限を備えた LLM ゲートウェイ

289 

290<h3 id="credentials-for-other-services">

291 他のサービスの認証情報

292</h3>

293 

294Claude API からのサンプリングを超えて、エージェントは git リポジトリ、データベース、内部 API などの他のサービスへの認証済みアクセスが必要なことがよくあります。主に 2 つのアプローチがあります。

295 

296<h4 id="custom-tools">

297 カスタムツール

298</h4>

299 

300MCP サーバーまたはカスタムツールを通じてアクセスを提供し、エージェントのセキュリティ境界の外で実行されているサービスにリクエストをルーティングします。エージェントはツールを呼び出しますが、実際の認証済みリクエストは外部で発生します。ツール呼び出しはプロキシに対して行われ、プロキシが認証情報を注入します。

301 

302たとえば、git MCP サーバーはエージェントからのコマンドを受け入れることができますが、ホストで実行されている git プロキシにそれらを転送し、プロキシがリモートリポジトリに接続する前に認証を追加します。エージェントは認証情報を見ることはありません。

303 

304利点:

305 

306* **TLS インターセプションなし**: 外部サービスは認証済みリクエストを直接実行します

307* **認証情報は外部に留まる**: エージェントはツールインターフェースのみを見て、基礎となる認証情報は見ません

308 

309<h4 id="traffic-forwarding">

310 トラフィック転送

311</h4>

312 

313Claude API 呼び出しの場合、`ANTHROPIC_BASE_URL` を使用すると、プレーンテキストでリクエストを検査および変更できるプロキシにリクエストをルーティングできます。ただし、他の HTTPS サービス(GitHub、npm レジストリ、内部 API)の場合、トラフィックはしばしばエンドツーエンドで暗号化されます。`HTTP_PROXY` 経由でプロキシ経由でルーティングしても、プロキシは不透明な TLS トンネルのみを見て、認証情報を注入することはできません。

314 

315カスタムツールを使用せずに任意のサービスへの HTTPS トラフィックを変更するには、トラフィックを復号化し、検査または変更してから、転送する前に再暗号化する TLS 終了プロキシが必要です。これには以下が必要です。

316 

3171. エージェントのコンテナの外でプロキシを実行する

3182. プロキシの CA 証明書をエージェントの信頼ストアにインストールする(エージェントがプロキシの証明書を信頼するため)

3193. `HTTP_PROXY`/`HTTPS_PROXY` を設定してトラフィックをプロキシ経由でルーティングする

320 

321このアプローチはカスタムツールを記述することなく、HTTP ベースのサービスを処理しますが、証明書管理の複雑さが増します。

322 

323すべてのプログラムが `HTTP_PROXY`/`HTTPS_PROXY` を尊重するわけではないことに注意してください。ほとんどのツール(curl、pip、npm、git)は尊重しますが、これらの変数をバイパスして直接接続する場合もあります。たとえば、Node.js `fetch()` はデフォルトではこれらの変数を無視します。Node 24 以降では、`NODE_USE_ENV_PROXY=1` を設定してサポートを有効にできます。包括的なカバレッジの場合、[proxychains](https://github.com/haad/proxychains) を使用してネットワーク呼び出しをインターセプトするか、iptables を設定して送信トラフィックを透過プロキシにリダイレクトできます。

324 

325<Info>

326 **透過プロキシ**はネットワークレベルでトラフィックをインターセプトするため、クライアントはそれを使用するように設定する必要がありません。通常のプロキシはクライアントが明示的に接続して HTTP CONNECT または SOCKS を話す必要があります。透過プロキシ(Squid または透過モードの mitmproxy など)は、リダイレクトされた生の TCP 接続を処理できます。

327</Info>

328 

329どちらのアプローチでも、TLS 終了プロキシと信頼された CA 証明書が必要です。トラフィックが実際にプロキシに到達することを確認するだけです。

330 

331<h2 id="filesystem-configuration">

332 ファイルシステム設定

333</h2>

334 

335ファイルシステム制御は、エージェントが読み取りおよび書き込みできるファイルを決定します。

336 

337<h3 id="read-only-code-mounting">

338 読み取り専用コードマウント

339</h3>

340 

341エージェントがコードを分析する必要があるが変更しない場合は、ディレクトリを読み取り専用でマウントします。

342 

343```bash theme={null}

344docker run -v /path/to/code:/workspace:ro agent-image

345```

346 

347<Warning>

348 コードディレクトリへの読み取り専用アクセスでも、認証情報を公開する可能性があります。マウント前に除外またはサニタイズする一般的なファイル:

349 

350 | ファイル | リスク |

351 | ------------------------------------------------------- | ------------------------- |

352 | `.env`、`.env.local` | API キー、データベースパスワード、シークレット |

353 | `~/.git-credentials` | プレーンテキストの git パスワード/トークン |

354 | `~/.aws/credentials` | AWS アクセスキー |

355 | `~/.config/gcloud/application_default_credentials.json` | Google Cloud ADC トークン |

356 | `~/.azure/` | Azure CLI 認証情報 |

357 | `~/.docker/config.json` | Docker レジストリ認証トークン |

358 | `~/.kube/config` | Kubernetes クラスター認証情報 |

359 | `.npmrc`、`.pypirc` | パッケージレジストリトークン |

360 | `*-service-account.json` | GCP サービスアカウントキー |

361 | `*.pem`、`*.key` | 秘密鍵 |

362 

363 必要なソースファイルのみをコピーするか、`.dockerignore` スタイルのフィルタリングを使用することを検討してください。

364</Warning>

365 

366<h3 id="writable-locations">

367 書き込み可能な場所

368</h3>

369 

370エージェントがファイルを書き込む必要がある場合、変更を永続化するかどうかに応じて、いくつかのオプションがあります。

371 

372コンテナ内の一時的なワークスペースの場合、メモリ内にのみ存在し、コンテナが停止したときにクリアされる `tmpfs` マウントを使用します。

373 

374```bash theme={null}

375docker run \

376 --read-only \

377 --tmpfs /tmp:rw,noexec,nosuid,size=100m \

378 --tmpfs /workspace:rw,noexec,size=500m \

379 agent-image

380```

381 

382変更を永続化する前に確認したい場合、オーバーレイファイルシステムを使用すると、エージェントは基礎となるファイルを変更することなく書き込みできます。変更は別のレイヤーに保存され、検査、適用、または破棄できます。完全に永続的な出力の場合、専用ボリュームをマウントしますが、機密ディレクトリとは別に保つようにしてください。

383 

384<h2 id="further-reading">

385 さらに詳しく

386</h2>

387 

388* [Claude Code セキュリティドキュメント](/ja/security)

389* [Agent SDK のホスティング](/ja/agent-sdk/hosting)

390* [権限の処理](/ja/agent-sdk/permissions)

391* [Sandbox runtime](https://github.com/anthropic-experimental/sandbox-runtime)

392* [AI エージェントの致命的な三つ組](https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/)

393* [OWASP Top 10 for LLM Applications](https://owasp.org/www-project-top-10-for-large-language-model-applications/)

394* [Docker セキュリティベストプラクティス](https://docs.docker.com/engine/security/)

395* [gVisor ドキュメント](https://gvisor.dev/docs/)

396* [Firecracker ドキュメント](https://firecracker-microvm.github.io/)

agent-sdk/session-storage.md +287 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# セッションを外部ストレージに永続化する

6 

7> セッションのトランスクリプトを S3、Redis、または独自のバックエンドにミラーリングして、任意のホストからセッションを再開できるようにします。

8 

9デフォルトでは、SDK はセッションのトランスクリプトを `~/.claude/projects/` 下のローカルファイルシステムの JSONL ファイルに書き込みます。`SessionStore` アダプターを使用すると、これらのトランスクリプトを S3、Redis、データベースなど独自のバックエンドにミラーリングできるため、あるホストで作成されたセッションを別のホストで再開できます。

10 

11セッションストアを使用する一般的な理由:

12 

13* **マルチホスト展開。** サーバーレス関数、オートスケーリングワーカー、CI ランナーはファイルシステムを共有しません。共有ストアを使用すると、任意のレプリカが任意のセッションを再開できます。

14* **耐久性。** ローカルコンテナは一時的です。S3 またはデータベースで支援されるストアは、再起動と再デプロイを乗り越えます。

15* **コンプライアンスと監査。** 既に管理しているストレージにトランスクリプトを保持し、独自の保持ルール、暗号化、アクセス制御を適用できます。

16 

17<h2 id="the-sessionstore-interface">

18 `SessionStore` インターフェース

19</h2>

20 

21`SessionStore` は、2 つの必須メソッド `append` と `load`、および 3 つのオプションメソッドを持つオブジェクトです。SDK は `append` を呼び出してクエリ中にトランスクリプトエントリを書き込み、`load` を呼び出して再開用にそれらを読み戻します。

22 

23<CodeGroup>

24 ```typescript TypeScript theme={null}

25 // Exported from @anthropic-ai/claude-agent-sdk as

26 // SessionStore, SessionKey, SessionStoreEntry.

27 

28 type SessionKey = {

29 projectKey: string;

30 sessionId: string;

31 subpath?: string;

32 };

33 

34 type SessionStore = {

35 // Required

36 append(key: SessionKey, entries: SessionStoreEntry[]): Promise<void>;

37 load(key: SessionKey): Promise<SessionStoreEntry[] | null>;

38 

39 // Optional

40 listSessions?(

41 projectKey: string,

42 ): Promise<Array<{ sessionId: string; mtime: number }>>;

43 delete?(key: SessionKey): Promise<void>;

44 listSubkeys?(key: {

45 projectKey: string;

46 sessionId: string;

47 }): Promise<string[]>;

48 };

49 ```

50 

51 ```python Python theme={null}

52 # Exported from claude_agent_sdk as

53 # SessionStore, SessionKey, SessionStoreEntry.

54 

55 class SessionKey(TypedDict):

56 project_key: str

57 session_id: str

58 subpath: NotRequired[str]

59 

60 class SessionStore(Protocol):

61 # Required

62 async def append(

63 self, key: SessionKey, entries: list[SessionStoreEntry]

64 ) -> None: ...

65 async def load(self, key: SessionKey) -> list[SessionStoreEntry] | None: ...

66 

67 # Optional — omit or raise NotImplementedError

68 async def list_sessions(

69 self, project_key: str

70 ) -> list[SessionStoreListEntry]: ...

71 async def delete(self, key: SessionKey) -> None: ...

72 async def list_subkeys(self, key: SessionListSubkeysKey) -> list[str]: ...

73 ```

74</CodeGroup>

75 

76`SessionKey` は 1 つのトランスクリプトをアドレス指定します。`projectKey` は作業ディレクトリの安定したファイルシステム安全なエンコーディング、`sessionId` はセッション UUID、`subpath` はエントリがサブエージェントトランスクリプトまたはサイドカーファイルではなくメイン会話に属する場合に設定されます。`subpath` を不透明なキーサフィックスとして扱います。これはオンディスクレイアウトに従います。例えば `subagents/agent-<id>` です。`subpath` が未定義の場合、キーはメイントランスクリプトを参照します。

77 

78| メソッド | 必須 | 呼び出されるタイミング |

79| :------------- | :-- | :--------------------------------------------------------------------------------------------------------------------------------------------- |

80| `append` | はい | トランスクリプトエントリの各バッチがローカルに書き込まれた後。エントリは JSON セーフなオブジェクトで、ローカル JSONL では 1 行に 1 つです。 |

81| `load` | はい | サブプロセスが生成される前に 1 回、`resume` が設定されている場合。セッションが不明な場合は `null` を返します。 |

82| `listSessions` | いいえ | `listSessions({ sessionStore })` および `continue: true` を指定した `query()`/`startup()` によって。未定義の場合、これらの呼び出しはスローされます。 |

83| `delete` | いいえ | `deleteSession({ sessionStore })` によって。メインキー(`subpath` なし)を削除する場合、そのセッションのすべてのサブキーにカスケードする必要があります。未定義の場合、削除は no-op です。これはアペンドのみのバックエンドに適しています。 |

84| `listSubkeys` | いいえ | 再開中に、サブエージェントトランスクリプトを検出するため。未定義の場合、メイントランスクリプトのみが復元されます。 |

85 

86<h2 id="quick-start">

87 クイックスタート

88</h2>

89 

90SDK は開発とテスト用に `InMemorySessionStore` を提供しています。以下の例は、ストアを接続してクエリを実行し、結果メッセージからセッション ID をキャプチャしてから、2 番目の `query()` 呼び出しでストアから再開します。2 番目の呼び出しは同じストアインスタンスと `resume` を渡すため、SDK はローカルファイルシステムではなくストアからトランスクリプトを読み込みます:

91 

92<CodeGroup>

93 ```typescript TypeScript theme={null}

94 import { query, InMemorySessionStore } from "@anthropic-ai/claude-agent-sdk";

95 

96 const store = new InMemorySessionStore();

97 

98 let sessionId: string | undefined;

99 for await (const message of query({

100 prompt: "List the TypeScript files under src/",

101 options: { sessionStore: store },

102 })) {

103 if (message.type === "result") {

104 sessionId = message.session_id;

105 }

106 }

107 

108 // Resume from the store. The agent has full context from the first call.

109 for await (const message of query({

110 prompt: "Summarize what those files do",

111 options: { sessionStore: store, resume: sessionId },

112 })) {

113 if (message.type === "result" && message.subtype === "success") {

114 console.log(message.result);

115 }

116 }

117 ```

118 

119 ```python Python theme={null}

120 import asyncio

121 from claude_agent_sdk import (

122 ClaudeAgentOptions,

123 InMemorySessionStore,

124 ResultMessage,

125 query,

126 )

127 

128 store = InMemorySessionStore()

129 

130 

131 async def main():

132 session_id = None

133 async for message in query(

134 prompt="List the Python files under src/",

135 options=ClaudeAgentOptions(session_store=store),

136 ):

137 if isinstance(message, ResultMessage):

138 session_id = message.session_id

139 

140 # Resume from the store. The agent has full context from the first call.

141 async for message in query(

142 prompt="Summarize what those files do",

143 options=ClaudeAgentOptions(session_store=store, resume=session_id),

144 ):

145 if isinstance(message, ResultMessage) and message.subtype == "success":

146 print(message.result)

147 

148 

149 asyncio.run(main())

150 ```

151</CodeGroup>

152 

153<h2 id="write-your-own-adapter">

154 独自のアダプターを作成する

155</h2>

156 

157バックエンドに対して `append` と `load` を実装します。ストアに対して `listSessions()`、`deleteSession()`、およびサブエージェント再開を機能させたい場合は、`listSessions`、`delete`、および `listSubkeys` を追加します。

158 

159`append` に渡されるエントリは `SessionStoreEntry` として型付けされます(`{ type: string; ... }` オブジェクト)。これらを不透明な JSON セーフ値として扱います。順序を保持して永続化し、`load` から同じ順序で返します。`load` は追加されたものと深く等しいエントリを返す必要があります。バイト等しいシリアル化は必須ではないため、Postgres `jsonb` のようなオブジェクトキーを並べ替えるバックエンドは問題ありません。

160 

161<h2 id="reference-implementations">

162 リファレンス実装

163</h2>

164 

165TypeScript SDK リポジトリには、[`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores) の下に S3、Redis、Postgres 用の実行可能なリファレンスアダプターが含まれています。これらは npm に公開されていません。必要な `src/` ファイルをプロジェクトにコピーし、対応するバックエンドクライアントをインストールします。

166 

167| アダプター | バックエンドクライアント | ストレージモデル |

168| :----------------------------------------------------------------------------------------------------------------------------- | :------------------- | :--------------------------------------------------------- |

169| [`S3SessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3) | `@aws-sdk/client-s3` | `append()` ごとに 1 つの JSONL パートファイル。`load()` はリスト、ソート、連結します。 |

170| [`RedisSessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis) | `ioredis` | トランスクリプトごとの `RPUSH`/`LRANGE` リスト、およびソート済みセットセッションインデックス。 |

171| [`PostgresSessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres) | `pg` | `jsonb` テーブルのエントリごとに 1 行、`BIGSERIAL` で順序付け。 |

172 

173各アダプターは事前に設定されたクライアントインスタンスを取得するため、認証情報、TLS、リージョン、プーリングを制御できます。例えば、S3 の場合:

174 

175```typescript TypeScript theme={null}

176import { query } from "@anthropic-ai/claude-agent-sdk";

177import { S3Client } from "@aws-sdk/client-s3";

178import { S3SessionStore } from "./S3SessionStore"; // copied from examples/session-stores/s3

179 

180const store = new S3SessionStore({

181 bucket: "my-claude-sessions",

182 prefix: "transcripts",

183 client: new S3Client({ region: "us-east-1" }),

184});

185 

186for await (const message of query({

187 prompt: "Hello!",

188 options: { sessionStore: store },

189})) {

190 if (message.type === "result" && message.subtype === "success") {

191 console.log(message.result);

192 }

193}

194 

195// Later, possibly on a different host:

196for await (const message of query({

197 prompt: "Continue where we left off",

198 options: { sessionStore: store, resume: "previous-session-id" },

199})) {

200 // ...

201}

202```

203 

204<h3 id="validate-your-adapter">

205 アダプターを検証する

206</h3>

207 

208両方の SDK は、`append`、`load`、およびオプションメソッドが満たす必要がある動作契約をアサートする適合スイートを提供しています。オプションメソッドのテストは、これらのメソッドが実装されていない場合、自動的にスキップされます。

209 

210TypeScript では、例ディレクトリから [`shared/conformance.ts`](https://github.com/anthropics/claude-agent-sdk-typescript/blob/main/examples/session-stores/shared/conformance.ts) をテストスイートにコピーします。Python では、スイートはパッケージに含まれています:

211 

212```python Python theme={null}

213import pytest

214from claude_agent_sdk.testing import run_session_store_conformance

215 

216 

217@pytest.mark.asyncio

218async def test_my_store_conformance():

219 await run_session_store_conformance(MyRedisStore)

220```

221 

222<h2 id="behavior-notes">

223 動作に関する注記

224</h2>

225 

226<h3 id="dual-write-architecture">

227 デュアルライトアーキテクチャ

228</h3>

229 

230ストアはミラーであり、置き換えではありません。Claude Code サブプロセスは常にローカルディスクに最初に書き込みます。SDK はその後、各バッチを `append()` に転送します。ローカルコピーを一時的にしたい場合は、`options.env` の一時ディレクトリに `CLAUDE_CONFIG_DIR` をポイントします。ミラーはローカル書き込みに依存するため、`sessionStore` を `persistSession: false` と組み合わせることはできません。両方を設定するとスローされます。また、`enableFileCheckpointing` と組み合わせることもできません。ファイル履歴バックアップブロブはローカルディスクに直接書き込まれ、ストアにはミラーリングされないためです。

231 

232<h3 id="mirror-writes-are-best-effort">

233 ミラー書き込みはベストエフォート

234</h3>

235 

236`append()` が拒否またはタイムアウトした場合、エラーはログに記録され、`{ type: "system", subtype: "mirror_error" }` メッセージがイテレータに発行され、クエリは続行されます。ローカルトランスクリプトは既にディスク上で耐久性があるため、ストア障害はエージェントを中断したり、ローカルでデータを失ったりしません。失敗したバッチは再試行されないため、ストアデータ損失を検出する必要がある場合は `mirror_error` を監視してください。

237 

238<h3 id="getsessionmessages-returns-the-post-compaction-chain">

239 `getSessionMessages` は圧縮後のチェーンを返す

240</h3>

241 

242`getSessionMessages({ sessionStore })` は、エージェントが再開時に見るリンクされたメッセージチェーンを返します。自動圧縮後、以前のターンは概要に置き換えられるため、ストアが 503 個の生エントリを保持するセッションは `getSessionMessages` から 18 個のメッセージを返す場合があります。圧縮前のターンとメタデータエントリを含む完全な生履歴については、`store.load(key)` を直接呼び出します。

243 

244<h3 id="forksession-is-not-a-byte-copy">

245 `forkSession` はバイトコピーではない

246</h3>

247 

248`forkSession({ sessionStore })` はソースエントリを読み込み、すべての `sessionId` フィールドを書き直し、メッセージ UUID を再マップしてから、変換されたエントリを新しいキーの下に追加します。アダプターレベルのコピーまたは `CopyObject` ショートカットは、古いセッション ID を参照するトランスクリプトを生成するため、SDK はそれを使用しません。

249 

250<h3 id="subagent-transcripts">

251 サブエージェントトランスクリプト

252</h3>

253 

254サブエージェントトランスクリプトは `subpath: "subagents/agent-<id>"` の下にミラーリングされます。`listSubagents({ sessionStore })` はアダプターが `listSubkeys` を実装する必要があります。`getSubagentMessages({ sessionStore })` は利用可能な場合はそれを使用しますが、未定義の場合は直接サブパスにフォールバックします。再開も `listSubkeys` を呼び出してサブエージェントファイルを復元します。これがない場合、メイントランスクリプトのみが具体化されます。

255 

256<h3 id="retention">

257 保持

258</h3>

259 

260SDK は独自の判断でストアから削除することはありません。保持はアダプターの責任です。コンプライアンス要件に従って TTL、S3 ライフサイクルポリシー、またはスケジュール済みクリーンアップを実装します。`CLAUDE_CONFIG_DIR` の下のローカルトランスクリプトは `cleanupPeriodDays` 設定によって独立して掃除されます。

261 

262<h2 id="supported-on">

263 サポート対象

264</h2>

265 

266以下の SDK 関数は `sessionStore` オプションを受け入れ、提供されている場合、ローカルファイルシステムではなくストアに対して動作します:

267 

268* [`query()`](/ja/agent-sdk/typescript#query)

269* [`startup()`](/ja/agent-sdk/typescript#startup)

270* [`listSessions()`](/ja/agent-sdk/typescript#listsessions)

271* [`getSessionInfo()`](/ja/agent-sdk/typescript#getsessioninfo)

272* [`getSessionMessages()`](/ja/agent-sdk/typescript#getsessionmessages)

273* [`renameSession()`](/ja/agent-sdk/typescript#renamesession)

274* [`tagSession()`](/ja/agent-sdk/typescript#tagsession)

275* [`deleteSession()`](/ja/agent-sdk/typescript)

276* [`forkSession()`](/ja/agent-sdk/typescript)

277* [`listSubagents()`](/ja/agent-sdk/typescript)

278* [`getSubagentMessages()`](/ja/agent-sdk/typescript)

279 

280<h2 id="related-resources">

281 関連リソース

282</h2>

283 

284* [セッションを操作する](/ja/agent-sdk/sessions):カスタムストアなしで続行、再開、フォーク

285* [SDK をホストする](/ja/agent-sdk/hosting):マルチホスト環境のデプロイメントパターン

286* [TypeScript `Options`](/ja/agent-sdk/typescript#options):完全なオプションリファレンス

287* [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores):実行可能な S3、Redis、Postgres リファレンスアダプター

Details

16 16 

17このガイドでは、アプリケーションに適切なアプローチを選択する方法、セッションを自動的に追跡する SDK インターフェース、セッション ID をキャプチャして `resume` と `fork` を手動で使用する方法、およびホスト間でセッションを再開する際に知っておくべきことについて説明します。17このガイドでは、アプリケーションに適切なアプローチを選択する方法、セッションを自動的に追跡する SDK インターフェース、セッション ID をキャプチャして `resume` と `fork` を手動で使用する方法、およびホスト間でセッションを再開する際に知っておくべきことについて説明します。

18 18 

19## アプローチを選択する19<h2 id="choose-an-approach">

20 アプローチを選択する

21</h2>

20 22 

21必要なセッション処理の量は、アプリケーションの形状によって異なります。セッション管理は、コンテキストを共有する必要がある複数のプロンプトを送信する場合に関係します。単一の `query()` 呼び出し内では、エージェントは既に必要なだけのターンを実行し、権限プロンプトと `AskUserQuestion` は[ループ内で処理](/ja/agent-sdk/user-input)されます(呼び出しを終了しません)。23必要なセッション処理の量は、アプリケーションの形状によって異なります。セッション管理は、コンテキストを共有する必要がある複数のプロンプトを送信する場合に関係します。単一の `query()` 呼び出し内では、エージェントは既に必要なだけのターンを実行し、権限プロンプトと `AskUserQuestion` は[ループ内で処理](/ja/agent-sdk/user-input)されます(呼び出しを終了しません)。

22 24 


29| 元のセッションを失わずに別のアプローチを試す | セッションをフォークします。 |31| 元のセッションを失わずに別のアプローチを試す | セッションをフォークします。 |

30| ステートレスタスク、ディスクに何も書き込みたくない(TypeScript のみ) | [`persistSession: false`](/ja/agent-sdk/typescript#options)を設定します。セッションは呼び出しの期間中メモリにのみ存在します。Python は常にディスクに保持します。 |32| ステートレスタスク、ディスクに何も書き込みたくない(TypeScript のみ) | [`persistSession: false`](/ja/agent-sdk/typescript#options)を設定します。セッションは呼び出しの期間中メモリにのみ存在します。Python は常にディスクに保持します。 |

31 33 

32### Continue、resume、および fork34<h3 id="continue-resume-and-fork">

35 Continue、resume、および fork

36</h3>

33 37 

34Continue、resume、および fork は `query()` に設定するオプションフィールドです(Python では [`ClaudeAgentOptions`](/ja/agent-sdk/python#claudeagentoptions)、TypeScript では [`Options`](/ja/agent-sdk/typescript#options))。38Continue、resume、および fork は `query()` に設定するオプションフィールドです(Python では [`ClaudeAgentOptions`](/ja/agent-sdk/python#claudeagentoptions)、TypeScript では [`Options`](/ja/agent-sdk/typescript#options))。

35 39 


40 44 

41**Fork** は異なります。元の履歴のコピーで開始する新しいセッションを作成します。元のセッションは変更されません。別の方向を試しながら戻るオプションを保持するために fork を使用します。45**Fork** は異なります。元の履歴のコピーで開始する新しいセッションを作成します。元のセッションは変更されません。別の方向を試しながら戻るオプションを保持するために fork を使用します。

42 46 

43## 自動セッション管理47<h2 id="automatic-session-management">

48 自動セッション管理

49</h2>

44 50 

45両方の SDK は、呼び出し間でセッション状態を追跡するインターフェースを提供するため、ID を手動で渡す必要はありません。単一プロセス内のマルチターン会話にこれらを使用します。51両方の SDK は、呼び出し間でセッション状態を追跡するインターフェースを提供するため、ID を手動で渡す必要はありません。単一プロセス内のマルチターン会話にこれらを使用します。

46 52 

47### Python:`ClaudeSDKClient`53<h3 id="python-claudesdkclient">

54 Python:`ClaudeSDKClient`

55</h3>

48 56 

49[`ClaudeSDKClient`](/ja/agent-sdk/python#claudesdkclient) はセッション ID を内部的に処理します。`client.query()` への各呼び出しは自動的に同じセッションを続行します。[`client.receive_response()`](/ja/agent-sdk/python#claudesdkclient) を呼び出して、現在のクエリのメッセージを反復処理します。クライアントは非同期コンテキストマネージャーとして使用する必要があります57[`ClaudeSDKClient`](/ja/agent-sdk/python#claudesdkclient) はセッション ID を内部的に処理します。`client.query()` への各呼び出しは自動的に同じセッションを続行します。[`client.receive_response()`](/ja/agent-sdk/python#claudesdkclient) を呼び出して、現在のクエリのメッセージを反復処理します。クライアントを非同期コンテキストマネージャーとして使用すると、接続のセットアップとティアダウンが自動的に処理されますまたは、`connect()` と `disconnect()` を手動で呼び出すこともできます。

50 58 

51この例は、同じ `client` に対して 2 つのクエリを実行します。最初はエージェントにモジュールを分析するよう求め、2 番目はそのモジュールをリファクタリングするよう求めます。両方の呼び出しが同じクライアントインスタンスを通過するため、2 番目のクエリは明示的な `resume` またはセッション ID なしで最初のクエリから完全なコンテキストを持ちます:59この例は、同じ `client` に対して 2 つのクエリを実行します。最初はエージェントにモジュールを分析するよう求め、2 番目はそのモジュールをリファクタリングするよう求めます。両方の呼び出しが同じクライアントインスタンスを通過するため、2 番目のクエリは明示的な `resume` またはセッション ID なしで最初のクエリから完全なコンテキストを持ちます:

52 60 


98 106 

99Python SDK リファレンスの [`ClaudeSDKClient` とスタンドアロン `query()` 関数のどちらを使用するかについて](/ja/agent-sdk/python#choosing-between-query-and-claudesdkclient)の詳細を参照してください。107Python SDK リファレンスの [`ClaudeSDKClient` とスタンドアロン `query()` 関数のどちらを使用するかについて](/ja/agent-sdk/python#choosing-between-query-and-claudesdkclient)の詳細を参照してください。

100 108 

101### TypeScript:`continue: true`109<h3 id="typescript-continue-true">

110 TypeScript:`continue: true`

111</h3>

102 112 

103TypeScript SDK には、Python の `ClaudeSDKClient` のようなセッション保持クライアントオブジェクトがありません。代わりに、後続の各 `query()` 呼び出しで `continue: true` を渡すと、SDK は現在のディレクトリ内の最新セッションを見つけて再開します。ID 追跡は不要です。113TypeScript SDK には、Python の `ClaudeSDKClient` のようなセッション保持クライアントオブジェクトがありません。代わりに、後続の各 `query()` 呼び出しで `continue: true` を渡すと、SDK は現在のディレクトリ内の最新セッションを見つけて再開します。ID 追跡は不要です。

104 114 


135 実験的な [V2 セッション API](/ja/agent-sdk/typescript-v2-preview)(`createSession()` と `send` / `stream` パターンを提供していた)は TypeScript Agent SDK 0.3.142 で削除されました。このページで説明されている `query()` 関数とセッションオプションを使用してください。145 実験的な [V2 セッション API](/ja/agent-sdk/typescript-v2-preview)(`createSession()` と `send` / `stream` パターンを提供していた)は TypeScript Agent SDK 0.3.142 で削除されました。このページで説明されている `query()` 関数とセッションオプションを使用してください。

136</Note>146</Note>

137 147 

138## `query()` でセッションオプションを使用する148<h2 id="use-session-options-with-query">

149 `query()` でセッションオプションを使用する

150</h2>

139 151 

140### セッション ID をキャプチャする152<h3 id="capture-the-session-id">

153 セッション ID をキャプチャする

154</h3>

141 155 

142Resume と fork にはセッション ID が必要です。結果メッセージ(Python では [`ResultMessage`](/ja/agent-sdk/python#resultmessage)、TypeScript では [`SDKResultMessage`](/ja/agent-sdk/typescript#sdkresultmessage))の `session_id` フィールドから読み取ります。これは成功またはエラーに関係なく、すべての結果に存在します。TypeScript では、ID は初期 `SystemMessage` の直接フィールドとしても利用可能です。Python では、`SystemMessage.data` 内にネストされています。156Resume と fork にはセッション ID が必要です。結果メッセージ(Python では [`ResultMessage`](/ja/agent-sdk/python#resultmessage)、TypeScript では [`SDKResultMessage`](/ja/agent-sdk/typescript#sdkresultmessage))の `session_id` フィールドから読み取ります。これは成功またはエラーに関係なく、すべての結果に存在します。TypeScript では、ID は初期 `SystemMessage` の直接フィールドとしても利用可能です。Python では、`SystemMessage.data` 内にネストされています。

143 157 


189 ```203 ```

190</CodeGroup>204</CodeGroup>

191 205 

192### ID で再開する206<h3 id="resume-by-id">

207 ID で再開する

208</h3>

193 209 

194セッション ID を `resume` に渡して、その特定のセッションに戻ります。エージェントはセッションが終了した場所から完全なコンテキストで再開します。再開の一般的な理由:210セッション ID を `resume` に渡して、その特定のセッションに戻ります。エージェントはセッションが終了した場所から完全なコンテキストで再開します。再開の一般的な理由:

195 211 


235 251 

236マシン間またはサーバーレス環境でセッションを再開するには、[`SessionStore` アダプター](/ja/agent-sdk/session-storage)を使用して共有ストレージにトランスクリプトをミラーリングします。252マシン間またはサーバーレス環境でセッションを再開するには、[`SessionStore` アダプター](/ja/agent-sdk/session-storage)を使用して共有ストレージにトランスクリプトをミラーリングします。

237 253 

238### フォークして代替案を探索する254<h3 id="fork-to-explore-alternatives">

255 フォークして代替案を探索する

256</h3>

239 257 

240フォークは、元の履歴のコピーで開始する新しいセッションを作成しますが、その時点から分岐します。フォークは独自のセッション ID を取得します。元の ID と履歴は変更されません。2 つの独立したセッションが終わり、それぞれ別々に再開できます。258フォークは、元の履歴のコピーで開始する新しいセッションを作成しますが、その時点から分岐します。フォークは独自のセッション ID を取得します。元の ID と履歴は変更されません。2 つの独立したセッションが終わり、それぞれ別々に再開できます。

241 259 


305 ```323 ```

306</CodeGroup>324</CodeGroup>

307 325 

308## ホスト間で再開する326<h2 id="resume-across-hosts">

327 ホスト間で再開する

328</h2>

309 329 

310セッションファイルは、それを作成したマシンに対してローカルです。別のホスト(CI ワーカー、一時的なコンテナ、サーバーレス)でセッションを再開するには、2 つのオプションがあります:330セッションファイルは、それを作成したマシンに対してローカルです。別のホスト(CI ワーカー、一時的なコンテナ、サーバーレス)でセッションを再開するには、2 つのオプションがあります:

311 331 


316 336 

317両方の SDK は、個別のセッションを検索および変更するための関数も公開します。Python では [`get_session_info()`](/ja/agent-sdk/python#get_session_info)、[`rename_session()`](/ja/agent-sdk/python#rename_session)、および [`tag_session()`](/ja/agent-sdk/python#tag_session)。TypeScript では [`getSessionInfo()`](/ja/agent-sdk/typescript#getsessioninfo)、[`renameSession()`](/ja/agent-sdk/typescript#renamesession)、および [`tagSession()`](/ja/agent-sdk/typescript#tagsession)。これらを使用して、セッションをタグで整理するか、人間が読める形のタイトルを付けます。337両方の SDK は、個別のセッションを検索および変更するための関数も公開します。Python では [`get_session_info()`](/ja/agent-sdk/python#get_session_info)、[`rename_session()`](/ja/agent-sdk/python#rename_session)、および [`tag_session()`](/ja/agent-sdk/python#tag_session)。TypeScript では [`getSessionInfo()`](/ja/agent-sdk/typescript#getsessioninfo)、[`renameSession()`](/ja/agent-sdk/typescript#renamesession)、および [`tagSession()`](/ja/agent-sdk/typescript#tagsession)。これらを使用して、セッションをタグで整理するか、人間が読める形のタイトルを付けます。

318 338 

319## 関連リソース339<h2 id="related-resources">

340 関連リソース

341</h2>

320 342 

321* [エージェントループの仕組み](/ja/agent-sdk/agent-loop):セッション内のターン、メッセージ、およびコンテキスト蓄積を理解する343* [エージェントループの仕組み](/ja/agent-sdk/agent-loop):セッション内のターン、メッセージ、およびコンテキスト蓄積を理解する

322* [ファイルチェックポイント](/ja/agent-sdk/file-checkpointing):セッション間でファイル変更を追跡および戻す344* [ファイルチェックポイント](/ja/agent-sdk/file-checkpointing):セッション内でエージェントが行ったファイル変更をスナップショット化して戻す

323* [Python `ClaudeAgentOptions`](/ja/agent-sdk/python#claudeagentoptions):Python のセッションオプション参照全体345* [Python `ClaudeAgentOptions`](/ja/agent-sdk/python#claudeagentoptions):Python のセッションオプション参照全体

324* [TypeScript `Options`](/ja/agent-sdk/typescript#options):TypeScript のセッションオプション参照全体346* [TypeScript `Options`](/ja/agent-sdk/typescript#options):TypeScript のセッションオプション参照全体

Details

6 6 

7> Claude Agent SDK を使用して、Agent Skills で Claude を特殊な機能で拡張します7> Claude Agent SDK を使用して、Agent Skills で Claude を特殊な機能で拡張します

8 8 

9## 概要9<h2 id="overview">

10 概要

11</h2>

10 12 

11Agent Skills は、Claude が関連する場合に自律的に呼び出す特殊な機能で Claude を拡張します。Skills は、指示、説明、およびオプションのサポートリソースを含む `SKILL.md` ファイルとしてパッケージ化されます。13Agent Skills は、Claude が関連する場合に自律的に呼び出す特殊な機能で Claude を拡張します。Skills は、指示、説明、およびオプションのサポートリソースを含む `SKILL.md` ファイルとしてパッケージ化されます。

12 14 

13Skills に関する包括的な情報(利点、アーキテクチャ、作成ガイドラインを含む)については、[Agent Skills の概要](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/overview)を参照してください。15Skills に関する包括的な情報(利点、アーキテクチャ、作成ガイドラインを含む)については、[Agent Skills の概要](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/overview)を参照してください。

14 16 

15## SDK での Skills の動作方法17<h2 id="how-skills-work-with-the-sdk">

18 SDK での Skills の動作方法

19</h2>

16 20 

17Claude Agent SDK を使用する場合、Skills は以下のように機能します。21Claude Agent SDK を使用する場合、Skills は以下のように機能します。

18 22 


28 Skills はファイルシステム設定ソースを通じて検出されます。デフォルトの `query()` オプションでは、SDK はユーザーおよびプロジェクトソースを読み込むため、`~/.claude/skills/`、`<cwd>/.claude/skills/`、および `<cwd>` の親ディレクトリからリポジトリルートまでの `.claude/skills/` の skills が利用可能です。`settingSources` を明示的に設定する場合は、`'user'` または `'project'` を含めてスキル検出を維持するか、[`plugins` オプション](/ja/agent-sdk/plugins)を使用して特定のパスから skills を読み込みます。32 Skills はファイルシステム設定ソースを通じて検出されます。デフォルトの `query()` オプションでは、SDK はユーザーおよびプロジェクトソースを読み込むため、`~/.claude/skills/`、`<cwd>/.claude/skills/`、および `<cwd>` の親ディレクトリからリポジトリルートまでの `.claude/skills/` の skills が利用可能です。`settingSources` を明示的に設定する場合は、`'user'` または `'project'` を含めてスキル検出を維持するか、[`plugins` オプション](/ja/agent-sdk/plugins)を使用して特定のパスから skills を読み込みます。

29</Note>33</Note>

30 34 

31## SDK での Skills の使用35<h2 id="using-skills-with-the-sdk">

36 SDK での Skills の使用

37</h2>

32 38 

33`query()` の `skills` オプションを設定して、セッションで利用可能な Skills を制御します。省略した場合、検出された Skills が有効になり、Skill ツールが利用可能になり、CLI の動作と一致します。`"all"` を渡してすべての検出された Skill を有効にするか、Skill 名のリストを渡してそれらのみを有効にするか、`[]` を渡してすべてを無効にします。`skills` を設定すると、SDK は Skill ツールを自動的に有効にするため、`allowedTools` にリストする必要はありません39`query()` の `skills` オプションを設定して、セッションで利用可能な Skills を制御します。省略した場合、検出された Skills が有効になり、Skill ツールが利用可能になり、CLI の動作と一致します。`"all"` を渡してすべての検出された Skill を有効にするか、Skill 名のリストを渡してそれらのみを有効にするか、`[]` を渡してすべてを無効にします。`skills` を設定すると、SDK は Skill ツールを `allowedTools` に自動的に追加します明示的な `tools` リストも渡す場合は、Claude が skills を呼び出せるようにそのリストに `"Skill"` を含めてください。

34 40 

35設定されると、Claude はファイルシステムから Skills を自動的に検出し、ユーザーのリクエストに関連する場合に呼び出します。41設定されると、Claude はファイルシステムから Skills を自動的に検出し、ユーザーのリクエストに関連する場合に呼び出します。

36 42 


88 94 

89`skills` オプションはコンテキストフィルタであり、サンドボックスではありません。リストされていない Skills はモデルから非表示になり、Skill ツールによって拒否されますが、それらのファイルはディスク上に残り、Read および Bash を通じてアクセス可能です。95`skills` オプションはコンテキストフィルタであり、サンドボックスではありません。リストされていない Skills はモデルから非表示になり、Skill ツールによって拒否されますが、それらのファイルはディスク上に残り、Read および Bash を通じてアクセス可能です。

90 96 

91## Skill の場所97<h2 id="skill-locations">

98 Skill の場所

99</h2>

92 100 

93Skills は `settingSources`/`setting_sources` 設定に基づいてファイルシステムディレクトリから読み込まれます。101Skills は `settingSources`/`setting_sources` 設定に基づいてファイルシステムディレクトリから読み込まれます。

94 102 


96* **ユーザー Skills**(`~/.claude/skills/`):すべてのプロジェクト全体の個人用 Skills。`setting_sources` に `"user"` が含まれている場合に読み込まれます104* **ユーザー Skills**(`~/.claude/skills/`):すべてのプロジェクト全体の個人用 Skills。`setting_sources` に `"user"` が含まれている場合に読み込まれます

97* **プラグイン Skills**:インストールされた Claude Code プラグインにバンドルされています105* **プラグイン Skills**:インストールされた Claude Code プラグインにバンドルされています

98 106 

99## Skills の作成107<h2 id="creating-skills">

108 Skills の作成

109</h2>

100 110 

101Skills は、YAML フロントマターと Markdown コンテンツを含む `SKILL.md` ファイルを含むディレクトリとして定義されます。`description` フィールドは、Claude が Skill を呼び出すタイミングを決定します。111Skills は、YAML フロントマターと Markdown コンテンツを含む `SKILL.md` ファイルを含むディレクトリとして定義されます。`description` フィールドは、Claude が Skill を呼び出すタイミングを決定します。

102 112 


112* [Claude Code の Agent Skills](/ja/skills):例とテンプレートを含む完全なガイド122* [Claude Code の Agent Skills](/ja/skills):例とテンプレートを含む完全なガイド

113* [Agent Skills のベストプラクティス](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/best-practices):作成ガイドラインと命名規則123* [Agent Skills のベストプラクティス](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/best-practices):作成ガイドラインと命名規則

114 124 

115## ツール制限125<h2 id="tool-restrictions">

126 ツール制限

127</h2>

116 128 

117<Note>129<Note>

118 SKILL.md の `allowed-tools` フロントマターフィールドは、Claude Code CLI を直接使用する場合にのみサポートされます。**SDK を通じて Skills を使用する場合には適用されません**。130 SKILL.md の `allowed-tools` フロントマターフィールドは、Claude Code CLI を直接使用する場合にのみサポートされます。**SDK を通じて Skills を使用する場合には適用されません**。


153 ```165 ```

154</CodeGroup>166</CodeGroup>

155 167 

156## 利用可能な Skills の検出168<h2 id="discovering-available-skills">

169 利用可能な Skills の検出

170</h2>

157 171 

158SDK アプリケーションで利用可能な Skills を確認するには、Claude に尋ねるだけです。172SDK アプリケーションで利用可能な Skills を確認するには、Claude に尋ねるだけです。

159 173 


183 197 

184Claude は、現在の作業ディレクトリとインストールされたプラグインに基づいて、利用可能な Skills をリストします。198Claude は、現在の作業ディレクトリとインストールされたプラグインに基づいて、利用可能な Skills をリストします。

185 199 

186## Skills のテスト200<h2 id="testing-skills">

201 Skills のテスト

202</h2>

187 203 

188説明と一致する質問をすることで Skills をテストします。204説明と一致する質問をすることで Skills をテストします。

189 205 


217 233 

218説明がリクエストと一致する場合、Claude は自動的に関連する Skill を呼び出します。234説明がリクエストと一致する場合、Claude は自動的に関連する Skill を呼び出します。

219 235 

220## トラブルシューティング236<h2 id="troubleshooting">

237 トラブルシューティング

238</h2>

221 239 

222### Skills が見つからない240<h3 id="skills-not-found">

241 Skills が見つからない

242</h3>

223 243 

224**settingSources 設定を確認する**:Skills は `user` および `project` 設定ソースを通じて検出されます。`settingSources`/`setting_sources` を明示的に設定し、それらのソースを省略した場合、skills は読み込まれません。244**settingSources 設定を確認する**:Skills は `user` および `project` 設定ソースを通じて検出されます。`settingSources`/`setting_sources` を明示的に設定し、それらのソースを省略した場合、skills は読み込まれません。

225 245 


286ls ~/.claude/skills/*/SKILL.md306ls ~/.claude/skills/*/SKILL.md

287```307```

288 308 

289### Skill が使用されていない309<h3 id="skill-not-being-used">

310 Skill が使用されていない

311</h3>

290 312 

291**`skills` オプションを確認する**:`skills` リストを渡した場合、skill の名前が含まれていることを確認します。`[]` を渡すとすべての skills が無効になります。313**`skills` オプションを確認する**:`skills` リストを渡した場合、skill の名前が含まれていることを確認します。`[]` を渡すとすべての skills が無効になります。

292 314 

293**説明を確認する**:具体的で関連するキーワードが含まれていることを確認します。効果的な説明の書き方に関するガイダンスについては、[Agent Skills のベストプラクティス](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/best-practices#writing-effective-descriptions)を参照してください。315**説明を確認する**:具体的で関連するキーワードが含まれていることを確認します。効果的な説明の書き方に関するガイダンスについては、[Agent Skills のベストプラクティス](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/best-practices#writing-effective-descriptions)を参照してください。

294 316 

295### 追加のトラブルシューティング317<h3 id="additional-troubleshooting">

318 追加のトラブルシューティング

319</h3>

296 320 

297一般的な Skills トラブルシューティング(YAML 構文、デバッグなど)については、[Claude Code Skills トラブルシューティングセクション](/ja/skills#troubleshooting)を参照してください。321一般的な Skills トラブルシューティング(YAML 構文、デバッグなど)については、[Claude Code Skills トラブルシューティングセクション](/ja/skills#troubleshooting)を参照してください。

298 322 

299## 関連ドキュメント323<h2 id="related-documentation">

324 関連ドキュメント

325</h2>

300 326 

301### Skills ガイド327<h3 id="skills-guides">

328 Skills ガイド

329</h3>

302 330 

303* [Claude Code の Agent Skills](/ja/skills):作成、例、トラブルシューティングを含む完全な Skills ガイド331* [Claude Code の Agent Skills](/ja/skills):作成、例、トラブルシューティングを含む完全な Skills ガイド

304* [Agent Skills の概要](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/overview):概念的な概要、利点、アーキテクチャ332* [Agent Skills の概要](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/overview):概念的な概要、利点、アーキテクチャ

305* [Agent Skills のベストプラクティス](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/best-practices):効果的な Skills のための作成ガイドライン333* [Agent Skills のベストプラクティス](https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/best-practices):効果的な Skills のための作成ガイドライン

306* [Agent Skills クックブック](https://platform.claude.com/cookbook/skills-notebooks-01-skills-introduction):例の Skills とテンプレート334* [Agent Skills クックブック](https://platform.claude.com/cookbook/skills-notebooks-01-skills-introduction):例の Skills とテンプレート

307 335 

308### SDK リソース336<h3 id="sdk-resources">

337 SDK リソース

338</h3>

309 339 

310* [SDK のサブエージェント](/ja/agent-sdk/subagents):プログラマティックオプションを備えた同様のファイルシステムベースのエージェント340* [SDK のサブエージェント](/ja/agent-sdk/subagents):プログラマティックオプションを備えた同様のファイルシステムベースのエージェント

311* [SDK のスラッシュコマンド](/ja/agent-sdk/slash-commands):ユーザーが呼び出すコマンド341* [SDK のスラッシュコマンド](/ja/agent-sdk/slash-commands):ユーザーが呼び出すコマンド

Details

8 8 

9スラッシュコマンドは、`/` で始まる特別なコマンドを使用して Claude Code セッションを制御する方法を提供します。これらのコマンドは SDK を通じて送信でき、コンテキストのコンパクト化、コンテキスト使用状況の一覧表示、またはカスタムコマンドの呼び出しなどのアクションを実行できます。インタラクティブなターミナルなしで機能するコマンドのみが SDK を通じてディスパッチ可能です。`system/init` メッセージにはセッションで利用可能なコマンドが一覧表示されます。9スラッシュコマンドは、`/` で始まる特別なコマンドを使用して Claude Code セッションを制御する方法を提供します。これらのコマンドは SDK を通じて送信でき、コンテキストのコンパクト化、コンテキスト使用状況の一覧表示、またはカスタムコマンドの呼び出しなどのアクションを実行できます。インタラクティブなターミナルなしで機能するコマンドのみが SDK を通じてディスパッチ可能です。`system/init` メッセージにはセッションで利用可能なコマンドが一覧表示されます。

10 10 

11## 利用可能なスラッシュコマンドの検出11<h2 id="discovering-available-slash-commands">

12 利用可能なスラッシュコマンドの検出

13</h2>

12 14 

13Claude Agent SDK は、システム初期化メッセージで利用可能なスラッシュコマンドに関する情報を提供します。セッション開始時にこの情報にアクセスします。15Claude Agent SDK は、システム初期化メッセージで利用可能なスラッシュコマンドに関する情報を提供します。セッション開始時にこの情報にアクセスします。

14 16 


22 })) {24 })) {

23 if (message.type === "system" && message.subtype === "init") {25 if (message.type === "system" && message.subtype === "init") {

24 console.log("Available slash commands:", message.slash_commands);26 console.log("Available slash commands:", message.slash_commands);

25 // Example output: ["/compact", "/context", "/usage"]27 // Example output: ["clear", "compact", "context", "usage"]

26 }28 }

27 }29 }

28 ```30 ```


36 async for message in query(prompt="Hello Claude", options=ClaudeAgentOptions(max_turns=1)):38 async for message in query(prompt="Hello Claude", options=ClaudeAgentOptions(max_turns=1)):

37 if isinstance(message, SystemMessage) and message.subtype == "init":39 if isinstance(message, SystemMessage) and message.subtype == "init":

38 print("Available slash commands:", message.data["slash_commands"])40 print("Available slash commands:", message.data["slash_commands"])

39 # Example output: ["/compact", "/context", "/usage"]41 # Example output: ["clear", "compact", "context", "usage"]

40 42 

41 43 

42 asyncio.run(main())44 asyncio.run(main())

43 ```45 ```

44</CodeGroup>46</CodeGroup>

45 47 

46## スラッシュコマンドの送信48<h2 id="sending-slash-commands">

49 スラッシュコマンドの送信

50</h2>

47 51 

48スラッシュコマンドをプロンプト文字列に含めて送信します。通常のテキストと同じように使用します。52スラッシュコマンドをプロンプト文字列に含めて送信します。通常のテキストと同じように使用します。

49 53 


78 ```82 ```

79</CodeGroup>83</CodeGroup>

80 84 

81## 一般的なスラッシュコマンド85<h2 id="common-slash-commands">

86 一般的なスラッシュコマンド

87</h2>

82 88 

83### `/compact` - 会話履歴のコンパクト化89<h3 id="/compact-compact-conversation-history">

90 `/compact` - 会話履歴のコンパクト化

91</h3>

84 92 

85`/compact` コマンドは、古いメッセージを要約しながら重要なコンテキストを保持することで、会話履歴のサイズを削減します。93`/compact` コマンドは、古いメッセージを要約しながら重要なコンテキストを保持することで、会話履歴のサイズを削減します。

86 94 


117 ```125 ```

118</CodeGroup>126</CodeGroup>

119 127 

120### 会話のクリア128<h3 id="/clear-reset-conversation-context">

129 `/clear` - 会話コンテキストのリセット

130</h3>

121 131 

122インタラクティブな `/clear` コマンドは SDK では利用できません。各 `query()` 呼び出しは既に新しい会話を開始するためコンテキストをクリアするには現在の `query()` を終了して新しいものを開始します。前の会話はディスクに保存され、セッション ID を [`resume` オプション](/ja/agent-sdk/sessions#resume-by-id) に渡すことで復帰できます。132`/clear` コマンドは、会話を空のコンテキストにリセットするためその後のプロンプトは以前の会話履歴なしで開始されます。前の会話はディスクに保存され、セッション ID を [`resume` オプション](/ja/agent-sdk/sessions#resume-by-id) に渡すことで復帰できます。

123 133 

124## カスタムスラッシュコマンドの作成134これは[ストリーミング入力モード](/ja/agent-sdk/streaming-vs-single-mode)で便利です。ここでは、単一の接続を介して複数のプロンプトを送信します。ワンショット `query()` 呼び出しの場合、各呼び出しは既に空のコンテキストで開始されるため、`/clear` を送信しても実際の効果はありません。代わりに新しい `query()` を開始してください。

135 

136<Note>

137 SDK の `/clear` には Claude Code v2.1.117 以降が必要です。以前のバージョンでは `slash_commands` から省略されています。

138</Note>

139 

140<h2 id="creating-custom-slash-commands">

141 カスタムスラッシュコマンドの作成

142</h2>

125 143 

126組み込みスラッシュコマンドを使用するだけでなく、SDK を通じて利用可能な独自のカスタムコマンドを作成できます。カスタムコマンドは、サブエージェントの設定方法と同様に、特定のディレクトリ内のマークダウンファイルとして定義されます。144組み込みスラッシュコマンドを使用するだけでなく、SDK を通じて利用可能な独自のカスタムコマンドを作成できます。カスタムコマンドは、サブエージェントの設定方法と同様に、特定のディレクトリ内のマークダウンファイルとして定義されます。

127 145 


129 `.claude/commands/` ディレクトリはレガシー形式です。推奨される形式は `.claude/skills/<name>/SKILL.md` で、同じスラッシュコマンド呼び出し(`/name`)とともに Claude による自律的な呼び出しをサポートします。現在の形式については [Skills](/ja/agent-sdk/skills) を参照してください。CLI は両方の形式をサポートし続けており、以下の例は `.claude/commands/` に対して正確なままです。147 `.claude/commands/` ディレクトリはレガシー形式です。推奨される形式は `.claude/skills/<name>/SKILL.md` で、同じスラッシュコマンド呼び出し(`/name`)とともに Claude による自律的な呼び出しをサポートします。現在の形式については [Skills](/ja/agent-sdk/skills) を参照してください。CLI は両方の形式をサポートし続けており、以下の例は `.claude/commands/` に対して正確なままです。

130</Note>148</Note>

131 149 

132### ファイルの場所150<h3 id="file-locations">

151 ファイルの場所

152</h3>

133 153 

134カスタムスラッシュコマンドは、スコープに基づいて指定されたディレクトリに保存されます。154カスタムスラッシュコマンドは、スコープに基づいて指定されたディレクトリに保存されます。

135 155 

136* **プロジェクトコマンド**: `.claude/commands/` - 現在のプロジェクトでのみ利用可能(レガシー;`.claude/skills/` を推奨)156* **プロジェクトコマンド**: `.claude/commands/` - 現在のプロジェクトでのみ利用可能(レガシー;`.claude/skills/` を推奨)

137* **個人用コマンド**: `~/.claude/commands/` - すべてのプロジェクト全体で利用可能(レガシー;`~/.claude/skills/` を推奨)157* **個人用コマンド**: `~/.claude/commands/` - すべてのプロジェクト全体で利用可能(レガシー;`~/.claude/skills/` を推奨)

138 158 

139### ファイル形式159<h3 id="file-format">

160 ファイル形式

161</h3>

140 162 

141各カスタムコマンドはマークダウンファイルで、以下の特性があります。163各カスタムコマンドはマークダウンファイルで、以下の特性があります。

142 164 


144* ファイルコンテンツはコマンドが何をするかを定義します166* ファイルコンテンツはコマンドが何をするかを定義します

145* オプションの YAML frontmatter は設定を提供します167* オプションの YAML frontmatter は設定を提供します

146 168 

147#### 基本的な例169<h4 id="basic-example">

170 基本的な例

171</h4>

148 172 

149`.claude/commands/refactor.md` を作成します。173`.claude/commands/refactor.md` を作成します。

150 174 


155 179 

156これにより、SDK を通じて使用できる `/refactor` コマンドが作成されます。180これにより、SDK を通じて使用できる `/refactor` コマンドが作成されます。

157 181 

158#### Frontmatter 付き182<h4 id="with-frontmatter">

183 Frontmatter 付き

184</h4>

159 185 

160`.claude/commands/security-check.md` を作成します。186`.claude/commands/security-check.md` を作成します。

161 187 


173- Insecure configurations199- Insecure configurations

174```200```

175 201 

176### SDK でカスタムコマンドを使用する202<h3 id="using-custom-commands-in-the-sdk">

203 SDK でカスタムコマンドを使用する

204</h3>

177 205 

178ファイルシステムで定義されたカスタムコマンドは、SDK を通じて自動的に利用可能になります。206ファイルシステムで定義されたカスタムコマンドは、SDK を通じて自動的に利用可能になります。

179 207 


199 if (message.type === "system" && message.subtype === "init") {227 if (message.type === "system" && message.subtype === "init") {

200 // Will include both built-in and custom commands228 // Will include both built-in and custom commands

201 console.log("Available commands:", message.slash_commands);229 console.log("Available commands:", message.slash_commands);

202 // Example: ["/compact", "/context", "/usage", "/refactor", "/security-check"]230 // Example: ["clear", "compact", "context", "usage", "refactor", "security-check"]

203 }231 }

204 }232 }

205 ```233 ```


224 if isinstance(message, SystemMessage) and message.subtype == "init":252 if isinstance(message, SystemMessage) and message.subtype == "init":

225 # Will include both built-in and custom commands253 # Will include both built-in and custom commands

226 print("Available commands:", message.data["slash_commands"])254 print("Available commands:", message.data["slash_commands"])

227 # Example: ["/compact", "/context", "/usage", "/refactor", "/security-check"]255 # Example: ["clear", "compact", "context", "usage", "refactor", "security-check"]

228 256 

229 257 

230 asyncio.run(main())258 asyncio.run(main())

231 ```259 ```

232</CodeGroup>260</CodeGroup>

233 261 

234### 高度な機能262<h3 id="advanced-features">

263 高度な機能

264</h3>

235 265 

236#### 引数とプレースホルダー266<h4 id="arguments-and-placeholders">

267 引数とプレースホルダー

268</h4>

237 269 

238カスタムコマンドはプレースホルダーを使用した動的引数をサポートします。270カスタムコマンドはプレースホルダーを使用した動的引数をサポートします。

239 271 


245description: Fix a GitHub issue277description: Fix a GitHub issue

246---278---

247 279 

248Fix issue #$1 with priority $2.280Fix issue #$0 with priority $1.

249Check the issue description and implement the necessary changes.281Check the issue description and implement the necessary changes.

250```282```

251 283 


260 prompt: "/fix-issue 123 high",292 prompt: "/fix-issue 123 high",

261 options: { maxTurns: 5 }293 options: { maxTurns: 5 }

262 })) {294 })) {

263 // Command will process with $1="123" and $2="high"295 // Command will process with $0="123" and $1="high"

264 if (message.type === "result" && message.subtype === "success") {296 if (message.type === "result" && message.subtype === "success") {

265 console.log("Issue fixed:", message.result);297 console.log("Issue fixed:", message.result);

266 }298 }


275 async def main():307 async def main():

276 # Pass arguments to custom command308 # Pass arguments to custom command

277 async for message in query(prompt="/fix-issue 123 high", options=ClaudeAgentOptions(max_turns=5)):309 async for message in query(prompt="/fix-issue 123 high", options=ClaudeAgentOptions(max_turns=5)):

278 # Command will process with $1="123" and $2="high"310 # Command will process with $0="123" and $1="high"

279 if isinstance(message, ResultMessage):311 if isinstance(message, ResultMessage):

280 print("Issue fixed:", message.result)312 print("Issue fixed:", message.result)

281 313 


284 ```316 ```

285</CodeGroup>317</CodeGroup>

286 318 

287#### Bash コマンド実行319<h4 id="bash-command-execution">

320 Bash コマンド実行

321</h4>

288 322 

289カスタムコマンドは bash コマンドを実行し、その出力を含めることができます。323カスタムコマンドは bash コマンドを実行し、その出力を含めることができます。

290 324 


306Create a git commit with appropriate message based on the changes.340Create a git commit with appropriate message based on the changes.

307```341```

308 342 

309#### ファイル参照343<h4 id="file-references">

344 ファイル参照

345</h4>

310 346 

311`@` プレフィックスを使用してファイルコンテンツを含めます。347`@` プレフィックスを使用してファイルコンテンツを含めます。

312 348 


325Check for security issues, outdated dependencies, and misconfigurations.361Check for security issues, outdated dependencies, and misconfigurations.

326```362```

327 363 

328### 名前空間を使用した組織化364<h3 id="organization-with-namespacing">

365 名前空間を使用した組織化

366</h3>

329 367 

330より良い構造のためにサブディレクトリ内でコマンドを整理します。368より良い構造のためにサブディレクトリ内でコマンドを整理します。

331 369 


342 380 

343サブディレクトリはコマンドの説明に表示されますが、コマンド名自体には影響しません。381サブディレクトリはコマンドの説明に表示されますが、コマンド名自体には影響しません。

344 382 

345### 実践的な例383<h3 id="practical-examples">

384 実践的な例

385</h3>

346 386 

347#### コードレビューコマンド387<h4 id="code-review-command">

388 コードレビューコマンド

389</h4>

348 390 

349`.claude/commands/code-review.md` を作成します。391`.claude/commands/code-review.md` を作成します。

350 392 


372Provide specific, actionable feedback organized by priority.414Provide specific, actionable feedback organized by priority.

373```415```

374 416 

375#### テストランナーコマンド417<h4 id="test-runner-command">

418 テストランナーコマンド

419</h4>

376 420 

377`.claude/commands/test.md` を作成します。421`.claude/commands/test.md` を作成します。

378 422 


435 ```479 ```

436</CodeGroup>480</CodeGroup>

437 481 

438## 関連項目482<h2 id="see-also">

483 関連項目

484</h2>

439 485 

440* [Slash Commands](/ja/skills) - スラッシュコマンドの完全なドキュメント486* [Slash Commands](/ja/skills) - スラッシュコマンドの完全なドキュメント

441* [SDK のサブエージェント](/ja/agent-sdk/subagents) - サブエージェント用の同様のファイルシステムベースの設定487* [SDK のサブエージェント](/ja/agent-sdk/subagents) - サブエージェント用の同様のファイルシステムベースの設定

Details

12 このページは出力ストリーミング(リアルタイムでトークンを受け取ること)について説明しています。入力モード(メッセージの送信方法)については、[エージェントにメッセージを送信する](/ja/agent-sdk/streaming-vs-single-mode)を参照してください。また、[CLI 経由で Agent SDK を使用してレスポンスをストリーミングする](/ja/headless)こともできます。12 このページは出力ストリーミング(リアルタイムでトークンを受け取ること)について説明しています。入力モード(メッセージの送信方法)については、[エージェントにメッセージを送信する](/ja/agent-sdk/streaming-vs-single-mode)を参照してください。また、[CLI 経由で Agent SDK を使用してレスポンスをストリーミングする](/ja/headless)こともできます。

13</Tip>13</Tip>

14 14 

15## ストリーミング出力を有効にする15<h2 id="enable-streaming-output">

16 ストリーミング出力を有効にする

17</h2>

16 18 

17ストリーミングを有効にするには、オプションで `include_partial_messages`(Python)または `includePartialMessages`(TypeScript)を `true` に設定します。これにより、SDK は到着した生の API イベントを含む `StreamEvent` メッセージを返すようになり、通常の `AssistantMessage` と `ResultMessage` に加えて返されます。19ストリーミングを有効にするには、オプションで `include_partial_messages`(Python)または `includePartialMessages`(TypeScript)を `true` に設定します。これにより、SDK は到着した生の API イベントを含む `StreamEvent` メッセージを返すようになり、通常の `AssistantMessage` と `ResultMessage` に加えて返されます。

18 20 


71 ```73 ```

72</CodeGroup>74</CodeGroup>

73 75 

74## StreamEvent リファレンス76<h2 id="streamevent-reference">

77 StreamEvent リファレンス

78</h2>

75 79 

76部分的なメッセージが有効な場合、生の Claude API ストリーミングイベントがオブジェクトでラップされて返されます。タイプは各 SDK で異なる名前を持ちます:80部分的なメッセージが有効な場合、生の Claude API ストリーミングイベントがオブジェクトでラップされて返されます。タイプは各 SDK で異なる名前を持ちます:

77 81 


112| `message_delta` | メッセージレベルの更新(停止理由、使用量) |116| `message_delta` | メッセージレベルの更新(停止理由、使用量) |

113| `message_stop` | メッセージの終了 |117| `message_stop` | メッセージの終了 |

114 118 

115## メッセージフロー119<h2 id="message-flow">

120 メッセージフロー

121</h2>

116 122 

117部分的なメッセージが有効な場合、メッセージは以下の順序で返されます:123部分的なメッセージが有効な場合、メッセージは以下の順序で返されます:

118 124 


134 140 

135部分的なメッセージが有効でない場合(Python では `include_partial_messages`、TypeScript では `includePartialMessages`)、`StreamEvent` を除くすべてのメッセージタイプを受け取ります。一般的なタイプには `SystemMessage`(セッション初期化)、`AssistantMessage`(完全なレスポンス)、`ResultMessage`(最終結果)、および会話履歴がコンパクト化されたときを示すコンパクト境界メッセージ(TypeScript では `SDKCompactBoundaryMessage`、Python では `SystemMessage` with subtype `"compact_boundary"`)が含まれます。141部分的なメッセージが有効でない場合(Python では `include_partial_messages`、TypeScript では `includePartialMessages`)、`StreamEvent` を除くすべてのメッセージタイプを受け取ります。一般的なタイプには `SystemMessage`(セッション初期化)、`AssistantMessage`(完全なレスポンス)、`ResultMessage`(最終結果)、および会話履歴がコンパクト化されたときを示すコンパクト境界メッセージ(TypeScript では `SDKCompactBoundaryMessage`、Python では `SystemMessage` with subtype `"compact_boundary"`)が含まれます。

136 142 

137## テキストレスポンスをストリーミングする143<h2 id="stream-text-responses">

144 テキストレスポンスをストリーミングする

145</h2>

138 146 

139生成されるときにテキストを表示するには、`delta.type` が `text_delta` である `content_block_delta` イベントを探します。これらには、インクリメンタルなテキストチャンクが含まれます。以下の例は、各チャンクが到着するときに出力します:147生成されるときにテキストを表示するには、`delta.type` が `text_delta` である `content_block_delta` イベントを探します。これらには、インクリメンタルなテキストチャンクが含まれます。以下の例は、各チャンクが到着するときに出力します:

140 148 


182 ```190 ```

183</CodeGroup>191</CodeGroup>

184 192 

185## ツール呼び出しをストリーミングする193<h2 id="stream-tool-calls">

194 ツール呼び出しをストリーミングする

195</h2>

186 196 

187ツール呼び出しもインクリメンタルにストリーミングされます。ツールが開始されるときを追跡し、生成されるときに入力を受け取り、完了するときを確認できます。以下の例は、現在呼び出されているツールを追跡し、ストリーミングされるときに JSON 入力を蓄積します。3 つのイベントタイプを使用します:197ツール呼び出しもインクリメンタルにストリーミングされます。ツールが開始されるときを追跡し、生成されるときに入力を受け取り、完了するときを確認できます。以下の例は、現在呼び出されているツールを追跡し、ストリーミングされるときに JSON 入力を蓄積します。3 つのイベントタイプを使用します:

188 198 


281 ```291 ```

282</CodeGroup>292</CodeGroup>

283 293 

284## ストリーミング UI を構築する294<h2 id="build-a-streaming-ui">

295 ストリーミング UI を構築する

296</h2>

285 297 

286この例は、テキストとツールストリーミングを統合された UI に組み合わせます。エージェントが現在ツールを実行しているかどうかを追跡します(`in_tool` フラグを使用)。ツールの実行中に `[Using Read...]` のようなステータスインジケータを表示します。ツールが実行されていないときはテキストが通常にストリーミングされ、ツール完了は「完了」メッセージをトリガーします。このパターンは、マルチステップエージェントタスク中に進捗を表示する必要があるチャットインターフェースに役立ちます。298この例は、テキストとツールストリーミングを統合された UI に組み合わせます。エージェントが現在ツールを実行しているかどうかを追跡します(`in_tool` フラグを使用)。ツールの実行中に `[Using Read...]` のようなステータスインジケータを表示します。ツールが実行されていないときはテキストが通常にストリーミングされ、ツール完了は「完了」メッセージをトリガーします。このパターンは、マルチステップエージェントタスク中に進捗を表示する必要があるチャットインターフェースに役立ちます。

287 299 


380 ```392 ```

381</CodeGroup>393</CodeGroup>

382 394 

383## 既知の制限事項395<h2 id="known-limitations">

396 既知の制限事項

397</h2>

384 398 

385一部の SDK 機能はストリーミングと互換性がありません:

386 

387* **拡張思考**: `max_thinking_tokens`(Python)または `maxThinkingTokens`(TypeScript)を明示的に設定すると、`StreamEvent` メッセージは発行されません。各ターンの後に完全なメッセージのみを受け取ります。思考は SDK ではデフォルトで無効になっているため、有効にしない限りストリーミングは機能します。

388* **構造化出力**: JSON 結果は最終的な `ResultMessage.structured_output` にのみ表示され、ストリーミングデルタとしては表示されません。詳細は[構造化出力](/ja/agent-sdk/structured-outputs)を参照してください。399* **構造化出力**: JSON 結果は最終的な `ResultMessage.structured_output` にのみ表示され、ストリーミングデルタとしては表示されません。詳細は[構造化出力](/ja/agent-sdk/structured-outputs)を参照してください。

389 400 

390## 次のステップ401<h2 id="next-steps">

402 次のステップ

403</h2>

391 404 

392テキストとツール呼び出しをリアルタイムでストリーミングできるようになったので、これらの関連トピックを探索してください:405テキストとツール呼び出しをリアルタイムでストリーミングできるようになったので、これらの関連トピックを探索してください:

393 406 

Details

6 6 

7> Claude Agent SDK の 2 つの入力モードを理解し、各モードをいつ使用するかを学ぶ7> Claude Agent SDK の 2 つの入力モードを理解し、各モードをいつ使用するかを学ぶ

8 8 

9## 概要9<h2 id="overview">

10 概要

11</h2>

10 12 

11Claude Agent SDK は、エージェントと対話するための 2 つの異なる入力モードをサポートしています。13Claude Agent SDK は、エージェントと対話するための 2 つの異なる入力モードをサポートしています。

12 14 


15 17 

16このガイドでは、各モードの違い、利点、ユースケースについて説明し、アプリケーションに適したアプローチを選択するのに役立てます。18このガイドでは、各モードの違い、利点、ユースケースについて説明し、アプリケーションに適したアプローチを選択するのに役立てます。

17 19 

18## ストリーミング入力モード(推奨)20<h2 id="streaming-input-mode-recommended">

21 ストリーミング入力モード(推奨)

22</h2>

19 23 

20ストリーミング入力モードは、Claude Agent SDK を使用する**推奨される**方法です。エージェントの機能へのフルアクセスを提供し、豊かでインタラクティブなエクスペリエンスを実現します。24ストリーミング入力モードは、Claude Agent SDK を使用する**推奨される**方法です。エージェントの機能へのフルアクセスを提供し、豊かでインタラクティブなエクスペリエンスを実現します。

21 25 

22エージェントが長期間実行されるプロセスとして動作し、ユーザー入力を受け取り、割り込みを処理し、権限リクエストを表示し、セッション管理を処理することができます。26エージェントが長期間実行されるプロセスとして動作し、ユーザー入力を受け取り、割り込みを処理し、権限リクエストを表示し、セッション管理を処理することができます。

23 27 

24### 仕組み28<h3 id="how-it-works">

29 仕組み

30</h3>

25 31 

26```mermaid theme={null}32```mermaid theme={null}

27sequenceDiagram33sequenceDiagram


59 deactivate Agent65 deactivate Agent

60```66```

61 67 

62### 利点68<h3 id="benefits">

69 利点

70</h3>

63 71 

64<CardGroup cols={2}>72<CardGroup cols={2}>

65 <Card title="画像アップロード" icon="image">73 <Card title="画像アップロード" icon="image">


74 セッション中にすべてのツールとカスタム MCP サーバーへのフルアクセスをサポート82 セッション中にすべてのツールとカスタム MCP サーバーへのフルアクセスをサポート

75 </Card>83 </Card>

76 84 

77 <Card title="Hooks サポート" icon="link">

78 ライフサイクルフックを使用して、さまざまなポイントで動作をカスタマイズ

79 </Card>

80 

81 <Card title="リアルタイムフィードバック" icon="lightning">85 <Card title="リアルタイムフィードバック" icon="lightning">

82 最終結果だけでなく、生成されたレスポンスをリアルタイムで確認86 最終結果だけでなく、生成されたレスポンスをリアルタイムで確認

83 </Card>87 </Card>


87 </Card>91 </Card>

88</CardGroup>92</CardGroup>

89 93 

90### 実装例94<h3 id="implementation-example">

95 実装例

96</h3>

91 97 

92<CodeGroup>98<CodeGroup>

93 ```typescript TypeScript theme={null}99 ```typescript TypeScript theme={null}


212 ```218 ```

213</CodeGroup>219</CodeGroup>

214 220 

215## シングルメッセージ入力221<h2 id="single-message-input">

222 シングルメッセージ入力

223</h2>

216 224 

217シングルメッセージ入力はより単純ですが、より制限されています。225シングルメッセージ入力はより単純ですが、より制限されています。

218 226 

219### シングルメッセージ入力を使用する場合227<h3 id="when-to-use-single-message-input">

228 シングルメッセージ入力を使用する場合

229</h3>

220 230 

221シングルメッセージ入力は以下の場合に使用してください。231シングルメッセージ入力は以下の場合に使用してください。

222 232 

223* 1 回限りのレスポンスが必要な場合233* 1 回限りのレスポンスが必要な場合

224* 画像添付、hooks などが不要な場合234* 画像添付またはセッション中の制御メソッドが不要な場合

225* Lambda 関数などのステートレス環境で動作する必要がある場合235* Lambda 関数などのステートレス環境で動作する必要がある場合

226 236 

227### 制限事項237<h3 id="limitations">

238 制限事項

239</h3>

228 240 

229<Warning>241<Warning>

230 シングルメッセージ入力モードは以下をサポート**していません**。242 シングルメッセージ入力モードは以下をサポート**していません**。


232 * メッセージ内の直接的な画像添付244 * メッセージ内の直接的な画像添付

233 * 動的なメッセージキューイング245 * 動的なメッセージキューイング

234 * リアルタイム割り込み246 * リアルタイム割り込み

235 * Hook 統合

236 * 自然なマルチターン会話247 * 自然なマルチターン会話

237</Warning>248</Warning>

238 249 

239### 実装例250<h3 id="implementation-example">

251 実装例

252</h3>

240 253 

241<CodeGroup>254<CodeGroup>

242 ```typescript TypeScript theme={null}255 ```typescript TypeScript theme={null}

Details

1> ## Documentation Index

2> 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.

4 

5# エージェントから構造化された出力を取得する

6 

7> JSON Schema、Zod、または Pydantic を使用して、エージェントワークフローから検証済みの JSON を返します。マルチターンツール使用後に型安全で構造化されたデータを取得します。

8 

9構造化された出力を使用すると、エージェントから返してほしいデータの正確な形状を定義できます。エージェントはタスクを完了するために必要なツールを使用でき、最後にスキーマに一致する検証済み JSON を取得できます。必要な構造の [JSON Schema](https://json-schema.org/understanding-json-schema/about) を定義すると、SDK は出力をそれに対して検証し、不一致の場合は再プロンプトします。検証が再試行制限内に成功しない場合、結果は構造化データではなくエラーになります。[エラーハンドリング](#error-handling) を参照してください。

10 

11完全な型安全性のために、[Zod](#type-safe-schemas-with-zod-and-pydantic)(TypeScript)または [Pydantic](#type-safe-schemas-with-zod-and-pydantic)(Python)を使用してスキーマを定義し、強く型付けされたオブジェクトを取得します。

12 

13<h2 id="why-structured-outputs">

14 構造化された出力が必要な理由

15</h2>

16 

17エージェントはデフォルトでは自由形式のテキストを返します。これはチャットには機能しますが、出力をプログラムで使用する必要がある場合には機能しません。構造化された出力は、アプリケーションロジック、データベース、または UI コンポーネントに直接渡すことができる型付きデータを提供します。

18 

19エージェントがウェブを検索してレシピを取得するレシピアプリを考えてみてください。構造化された出力がない場合、自分で解析する必要がある自由形式のテキストが得られます。構造化された出力を使用すると、必要な形状を定義し、アプリで直接使用できる型付きデータを取得できます。

20 

21<AccordionGroup>

22 <Accordion title="構造化された出力なし">

23 ```text theme={null}

24 これは古典的なチョコレートチップクッキーのレシピです!

25 

26 **チョコレートチップクッキー**

27 準備時間:15 分 | 調理時間:10 分

28 

29 材料:

30 - 2 1/4 カップ 薄力粉

31 - 1 カップ バター、柔らかくしたもの

32 ...

33 ```

34 

35 これをアプリで使用するには、タイトルを解析し、'15 分'を数値に変換し、材料と手順を分離し、応答全体で一貫性のない形式を処理する必要があります。

36 </Accordion>

37 

38 <Accordion title="構造化された出力あり">

39 ```json theme={null}

40 {

41 "name": "Chocolate Chip Cookies",

42 "prep_time_minutes": 15,

43 "cook_time_minutes": 10,

44 "ingredients": [

45 { "item": "all-purpose flour", "amount": 2.25, "unit": "cups" },

46 { "item": "butter, softened", "amount": 1, "unit": "cup" }

47 // ...

48 ],

49 "steps": ["Preheat oven to 375°F", "Cream butter and sugar" /* ... */]

50 }

51 ```

52 

53 UI で直接使用できる型付きデータ。

54 </Accordion>

55</AccordionGroup>

56 

57<h2 id="quick-start">

58 クイックスタート

59</h2>

60 

61構造化された出力を使用するには、必要なデータの形状を説明する [JSON Schema](https://json-schema.org/understanding-json-schema/about) を定義し、`outputFormat` オプション(TypeScript)または `output_format` オプション(Python)を使用して `query()` に渡します。エージェントが完了すると、結果メッセージにはスキーマに一致する検証済みデータを含む `structured_output` フィールドが含まれます。

62 

63以下の例は、エージェントに Anthropic を調査し、会社名、設立年、本社を構造化された出力として返すよう求めています。

64 

65<CodeGroup>

66 ```typescript TypeScript theme={null}

67 import { query } from "@anthropic-ai/claude-agent-sdk";

68 

69 // 返してほしいデータの形状を定義

70 const schema = {

71 type: "object",

72 properties: {

73 company_name: { type: "string" },

74 founded_year: { type: "number" },

75 headquarters: { type: "string" }

76 },

77 required: ["company_name"]

78 };

79 

80 for await (const message of query({

81 prompt: "Research Anthropic and provide key company information",

82 options: {

83 outputFormat: {

84 type: "json_schema",

85 schema: schema

86 }

87 }

88 })) {

89 // 結果メッセージには検証済みデータを含む structured_output が含まれます

90 if (message.type === "result" && message.subtype === "success" && message.structured_output) {

91 console.log(message.structured_output);

92 // { company_name: "Anthropic", founded_year: 2021, headquarters: "San Francisco, CA" }

93 }

94 }

95 ```

96 

97 ```python Python theme={null}

98 import asyncio

99 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

100 

101 # 返してほしいデータの形状を定義

102 schema = {

103 "type": "object",

104 "properties": {

105 "company_name": {"type": "string"},

106 "founded_year": {"type": "number"},

107 "headquarters": {"type": "string"},

108 },

109 "required": ["company_name"],

110 }

111 

112 

113 async def main():

114 async for message in query(

115 prompt="Research Anthropic and provide key company information",

116 options=ClaudeAgentOptions(

117 output_format={"type": "json_schema", "schema": schema}

118 ),

119 ):

120 # 結果メッセージには検証済みデータを含む structured_output が含まれます

121 if isinstance(message, ResultMessage) and message.structured_output:

122 print(message.structured_output)

123 # {'company_name': 'Anthropic', 'founded_year': 2021, 'headquarters': 'San Francisco, CA'}

124 

125 

126 asyncio.run(main())

127 ```

128</CodeGroup>

129 

130<h2 id="type-safe-schemas-with-zod-and-pydantic">

131 Zod と Pydantic を使用した型安全なスキーマ

132</h2>

133 

134JSON Schema を手書きする代わりに、[Zod](https://zod.dev/)(TypeScript)または [Pydantic](https://docs.pydantic.dev/latest/)(Python)を使用してスキーマを定義できます。これらのライブラリは JSON Schema を生成し、応答を完全に型付けされたオブジェクトに解析できるため、オートコンプリートと型チェックを使用してコードベース全体で使用できます。

135 

136以下の例は、概要、ステップのリスト(各ステップに複雑さレベルを含む)、および潜在的なリスクを含む機能実装計画のスキーマを定義しています。エージェントは機能を計画し、型付けされた `FeaturePlan` オブジェクトを返します。その後、`plan.summary` などのプロパティにアクセスし、完全な型安全性を備えて `plan.steps` を反復処理できます。

137 

138<CodeGroup>

139 ```typescript TypeScript theme={null}

140 import { z } from "zod";

141 import { query } from "@anthropic-ai/claude-agent-sdk";

142 

143 // Zod でスキーマを定義

144 const FeaturePlan = z.object({

145 feature_name: z.string(),

146 summary: z.string(),

147 steps: z.array(

148 z.object({

149 step_number: z.number(),

150 description: z.string(),

151 estimated_complexity: z.enum(["low", "medium", "high"])

152 })

153 ),

154 risks: z.array(z.string())

155 });

156 

157 type FeaturePlan = z.infer<typeof FeaturePlan>;

158 

159 // JSON Schema に変換

160 const schema = z.toJSONSchema(FeaturePlan);

161 

162 // クエリで使用

163 for await (const message of query({

164 prompt:

165 "Plan how to add dark mode support to a React app. Break it into implementation steps.",

166 options: {

167 outputFormat: {

168 type: "json_schema",

169 schema: schema

170 }

171 }

172 })) {

173 if (message.type === "result" && message.subtype === "success" && message.structured_output) {

174 // 検証して完全に型付けされた結果を取得

175 const parsed = FeaturePlan.safeParse(message.structured_output);

176 if (parsed.success) {

177 const plan: FeaturePlan = parsed.data;

178 console.log(`Feature: ${plan.feature_name}`);

179 console.log(`Summary: ${plan.summary}`);

180 plan.steps.forEach((step) => {

181 console.log(`${step.step_number}. [${step.estimated_complexity}] ${step.description}`);

182 });

183 }

184 }

185 }

186 ```

187 

188 ```python Python theme={null}

189 import asyncio

190 from pydantic import BaseModel

191 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

192 

193 

194 class Step(BaseModel):

195 step_number: int

196 description: str

197 estimated_complexity: str # 'low', 'medium', 'high'

198 

199 

200 class FeaturePlan(BaseModel):

201 feature_name: str

202 summary: str

203 steps: list[Step]

204 risks: list[str]

205 

206 

207 async def main():

208 async for message in query(

209 prompt="Plan how to add dark mode support to a React app. Break it into implementation steps.",

210 options=ClaudeAgentOptions(

211 output_format={

212 "type": "json_schema",

213 "schema": FeaturePlan.model_json_schema(),

214 }

215 ),

216 ):

217 if isinstance(message, ResultMessage) and message.structured_output:

218 # 検証して完全に型付けされた結果を取得

219 plan = FeaturePlan.model_validate(message.structured_output)

220 print(f"Feature: {plan.feature_name}")

221 print(f"Summary: {plan.summary}")

222 for step in plan.steps:

223 print(

224 f"{step.step_number}. [{step.estimated_complexity}] {step.description}"

225 )

226 

227 

228 asyncio.run(main())

229 ```

230</CodeGroup>

231 

232**メリット:**

233 

234* 完全な型推論(TypeScript)と型ヒント(Python)

235* `safeParse()` または `model_validate()` を使用したランタイム検証

236* より良いエラーメッセージ

237* 構成可能で再利用可能なスキーマ

238 

239<h2 id="output-format-configuration">

240 出力形式の設定

241</h2>

242 

243`outputFormat`(TypeScript)または `output_format`(Python)オプションは、以下を含むオブジェクトを受け入れます:

244 

245* `type`:構造化された出力の場合は `"json_schema"` に設定

246* `schema`:出力構造を定義する [JSON Schema](https://json-schema.org/understanding-json-schema/about) オブジェクト。Zod スキーマから `z.toJSONSchema()` で、または Pydantic モデルから `.model_json_schema()` で生成できます。

247 

248SDK は、すべての基本型(object、array、string、number、boolean、null)、`enum`、`const`、`required`、ネストされたオブジェクト、および `$ref` 定義を含む標準 JSON Schema 機能をサポートしています。サポートされている機能と制限の完全なリストについては、[JSON Schema の制限](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#json-schema-limitations) を参照してください。

249 

250<h2 id="example-todo-tracking-agent">

251 例:TODO トラッキングエージェント

252</h2>

253 

254この例は、マルチステップツール使用で構造化された出力がどのように機能するかを示しています。エージェントはコードベース内の TODO コメントを見つけ、各コメントの git blame 情報を調べる必要があります。実行中に使用するツール(検索用の Grep、git コマンド実行用の Bash)を自律的に決定し、結果を単一の構造化応答に組み合わせます。

255 

256スキーマには、すべてのファイルで git blame 情報が利用できない可能性があるため、オプションフィールド(`author` と `date`)が含まれています。エージェントは見つけられるものを埋め、残りは省略します。

257 

258<CodeGroup>

259 ```typescript TypeScript theme={null}

260 import { query } from "@anthropic-ai/claude-agent-sdk";

261 

262 // TODO 抽出用の構造を定義

263 const todoSchema = {

264 type: "object",

265 properties: {

266 todos: {

267 type: "array",

268 items: {

269 type: "object",

270 properties: {

271 text: { type: "string" },

272 file: { type: "string" },

273 line: { type: "number" },

274 author: { type: "string" },

275 date: { type: "string" }

276 },

277 required: ["text", "file", "line"]

278 }

279 },

280 total_count: { type: "number" }

281 },

282 required: ["todos", "total_count"]

283 };

284 

285 // エージェントは Grep を使用して TODO を見つけ、Bash を使用して git blame 情報を取得

286 for await (const message of query({

287 prompt: "Find all TODO comments in this codebase and identify who added them",

288 options: {

289 outputFormat: {

290 type: "json_schema",

291 schema: todoSchema

292 }

293 }

294 })) {

295 if (message.type === "result" && message.subtype === "success" && message.structured_output) {

296 const data = message.structured_output as { total_count: number; todos: Array<{ file: string; line: number; text: string; author?: string; date?: string }> };

297 console.log(`Found ${data.total_count} TODOs`);

298 data.todos.forEach((todo) => {

299 console.log(`${todo.file}:${todo.line} - ${todo.text}`);

300 if (todo.author) {

301 console.log(` Added by ${todo.author} on ${todo.date}`);

302 }

303 });

304 }

305 }

306 ```

307 

308 ```python Python theme={null}

309 import asyncio

310 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

311 

312 # TODO 抽出用の構造を定義

313 todo_schema = {

314 "type": "object",

315 "properties": {

316 "todos": {

317 "type": "array",

318 "items": {

319 "type": "object",

320 "properties": {

321 "text": {"type": "string"},

322 "file": {"type": "string"},

323 "line": {"type": "number"},

324 "author": {"type": "string"},

325 "date": {"type": "string"},

326 },

327 "required": ["text", "file", "line"],

328 },

329 },

330 "total_count": {"type": "number"},

331 },

332 "required": ["todos", "total_count"],

333 }

334 

335 

336 async def main():

337 # エージェントは Grep を使用して TODO を見つけ、Bash を使用して git blame 情報を取得

338 async for message in query(

339 prompt="Find all TODO comments in this codebase and identify who added them",

340 options=ClaudeAgentOptions(

341 output_format={"type": "json_schema", "schema": todo_schema}

342 ),

343 ):

344 if isinstance(message, ResultMessage) and message.structured_output:

345 data = message.structured_output

346 print(f"Found {data['total_count']} TODOs")

347 for todo in data["todos"]:

348 print(f"{todo['file']}:{todo['line']} - {todo['text']}")

349 if "author" in todo:

350 print(f" Added by {todo['author']} on {todo['date']}")

351 

352 

353 asyncio.run(main())

354 ```

355</CodeGroup>

356 

357<h2 id="error-handling">

358 エラーハンドリング

359</h2>

360 

361エージェントがスキーマに一致する有効な JSON を生成できない場合、構造化された出力の生成は失敗する可能性があります。これは通常、スキーマがタスクに対して複雑すぎる場合、タスク自体が曖昧な場合、またはエージェントが検証エラーを修正しようとして再試行制限に達した場合に発生します。

362 

363エラーが発生すると、結果メッセージには何が問題かを示す `subtype` があります:

364 

365| Subtype | 意味 |

366| ------------------------------------- | ------------------------------ |

367| `success` | 出力が正常に生成および検証されました |

368| `error_max_structured_output_retries` | エージェントは複数の試行後に有効な出力を生成できませんでした |

369 

370以下の例は、`subtype` フィールドをチェックして、出力が正常に生成されたか、失敗を処理する必要があるかを判断します:

371 

372<CodeGroup>

373 ```typescript TypeScript theme={null}

374 for await (const msg of query({

375 prompt: "Extract contact info from the document",

376 options: {

377 outputFormat: {

378 type: "json_schema",

379 schema: contactSchema

380 }

381 }

382 })) {

383 if (msg.type === "result") {

384 if (msg.subtype === "success" && msg.structured_output) {

385 // 検証済み出力を使用

386 console.log(msg.structured_output);

387 } else if (msg.subtype === "error_max_structured_output_retries") {

388 // 失敗を処理 - より単純なプロンプトで再試行、非構造化にフォールバック、など

389 console.error("Could not produce valid output");

390 }

391 }

392 }

393 ```

394 

395 ```python Python theme={null}

396 async for message in query(

397 prompt="Extract contact info from the document",

398 options=ClaudeAgentOptions(

399 output_format={"type": "json_schema", "schema": contact_schema}

400 ),

401 ):

402 if isinstance(message, ResultMessage):

403 if message.subtype == "success" and message.structured_output:

404 # 検証済み出力を使用

405 print(message.structured_output)

406 elif message.subtype == "error_max_structured_output_retries":

407 # 失敗を処理

408 print("Could not produce valid output")

409 ```

410</CodeGroup>

411 

412**エラーを回避するためのヒント:**

413 

414* **スキーマを焦点を絞ったものにしてください。** 多くの必須フィールドを持つ深くネストされたスキーマは満たすのが難しいです。シンプルに始めて、必要に応じて複雑さを追加してください。

415* **スキーマをタスクに合わせてください。** タスクがスキーマが必要とするすべての情報を持たない可能性がある場合、それらのフィールドをオプションにしてください。

416* **明確なプロンプトを使用してください。** 曖昧なプロンプトは、エージェントが何を出力するかを知るのを難しくします。

417 

418<h2 id="related-resources">

419 関連リソース

420</h2>

421 

422* [JSON Schema ドキュメント](https://json-schema.org/):ネストされたオブジェクト、配列、列挙型、検証制約を含む複雑なスキーマを定義するための JSON Schema 構文を学習します

423* [API 構造化出力](https://platform.claude.com/docs/en/build-with-claude/structured-outputs):ツール使用なしの単一ターンリクエストの場合、Claude API で直接構造化された出力を使用します

424* [カスタムツール](/ja/agent-sdk/custom-tools):構造化された出力を返す前に実行中にエージェントが呼び出すカスタムツールを提供します

Details

11 11 

12このガイドでは、`agents` パラメータを使用して SDK でサブエージェントを定義および使用する方法について説明します。12このガイドでは、`agents` パラメータを使用して SDK でサブエージェントを定義および使用する方法について説明します。

13 13 

14## 概要14<h2 id="overview">

15 概要

16</h2>

15 17 

16サブエージェントは 3 つの方法で作成できます。18サブエージェントは 3 つの方法で作成できます。

17 19 


23 25 

24サブエージェントを定義する場合、Claude は各サブエージェントの `description` フィールドに基づいて、それらを呼び出すかどうかを判断します。サブエージェントをいつ使用すべきかを説明する明確な説明を書いてください。Claude は自動的に適切なタスクを委譲します。プロンプトでサブエージェントを名前で明示的にリクエストすることもできます(例えば、「code-reviewer エージェントを使用して...」)。26サブエージェントを定義する場合、Claude は各サブエージェントの `description` フィールドに基づいて、それらを呼び出すかどうかを判断します。サブエージェントをいつ使用すべきかを説明する明確な説明を書いてください。Claude は自動的に適切なタスクを委譲します。プロンプトでサブエージェントを名前で明示的にリクエストすることもできます(例えば、「code-reviewer エージェントを使用して...」)。

25 27 

26## サブエージェントを使用する利点28<h2 id="benefits-of-using-subagents">

29 サブエージェントを使用する利点

30</h2>

27 31 

28### コンテキスト分離32<h3 id="context-isolation">

33 コンテキスト分離

34</h3>

29 35 

30各サブエージェントは独自の新しい会話で実行されます。中間的なツール呼び出しと結果はサブエージェント内に留まり、最終メッセージだけが親に返されます。[サブエージェントが継承するもの](#what-subagents-inherit)を参照して、サブエージェントのコンテキストに正確に何が含まれているかを確認してください。36各サブエージェントは独自の新しい会話で実行されます。中間的なツール呼び出しと結果はサブエージェント内に留まり、最終メッセージだけが親に返されます。[サブエージェントが継承するもの](#what-subagents-inherit)を参照して、サブエージェントのコンテキストに正確に何が含まれているかを確認してください。

31 37 

32**例:** `research-assistant` サブエージェントは、そのコンテンツがメイン会話に蓄積されることなく、数十のファイルを探索できます。親は、サブエージェントが読んだすべてのファイルではなく、簡潔なサマリーを受け取ります。38**例:** `research-assistant` サブエージェントは、そのコンテンツがメイン会話に蓄積されることなく、数十のファイルを探索できます。親は、サブエージェントが読んだすべてのファイルではなく、簡潔なサマリーを受け取ります。

33 39 

34### 並列化40<h3 id="parallelization">

41 並列化

42</h3>

35 43 

36複数のサブエージェントを同時に実行でき、複雑なワークフローを劇的に高速化します。44複数のサブエージェントを同時に実行でき、複雑なワークフローを劇的に高速化します。

37 45 

38**例:** コードレビュー中に、`style-checker`、`security-scanner`、`test-coverage` サブエージェントを同時に実行でき、レビュー時間を数分から数秒に短縮できます。46**例:** コードレビュー中に、`style-checker`、`security-scanner`、`test-coverage` サブエージェントを同時に実行でき、レビュー時間を数分から数秒に短縮できます。

39 47 

40### 特殊な指示と知識48<h3 id="specialized-instructions-and-knowledge">

49 特殊な指示と知識

50</h3>

41 51 

42各サブエージェントは、特定の専門知識、ベストプラクティス、制約を備えたカスタマイズされたシステムプロンプトを持つことができます。52各サブエージェントは、特定の専門知識、ベストプラクティス、制約を備えたカスタマイズされたシステムプロンプトを持つことができます。

43 53 

44**例:** `database-migration` サブエージェントは、SQL ベストプラクティス、ロールバック戦略、データ整合性チェックに関する詳細な知識を持つことができます。これらはメインエージェントの指示では不要なノイズになります。54**例:** `database-migration` サブエージェントは、SQL ベストプラクティス、ロールバック戦略、データ整合性チェックに関する詳細な知識を持つことができます。これらはメインエージェントの指示では不要なノイズになります。

45 55 

46### ツール制限56<h3 id="tool-restrictions">

57 ツール制限

58</h3>

47 59 

48サブエージェントは特定のツールに制限でき、意図しないアクションのリスクを軽減します。60サブエージェントは特定のツールに制限でき、意図しないアクションのリスクを軽減します。

49 61 

50**例:** `doc-reviewer` サブエージェントは Read と Grep ツールのみにアクセスでき、ドキュメントファイルを分析できますが、誤って変更することはありません。62**例:** `doc-reviewer` サブエージェントは Read と Grep ツールのみにアクセスでき、ドキュメントファイルを分析できますが、誤って変更することはありません。

51 63 

52## サブエージェントの作成64<h2 id="creating-subagents">

65 サブエージェントの作成

66</h2>

53 67 

54### プログラム的な定義(推奨)68<h3 id="programmatic-definition-recommended">

69 プログラム的な定義(推奨)

70</h3>

55 71 

56`agents` パラメータを使用してコード内でサブエージェントを直接定義します。この例では、読み取り専用アクセスを持つコードレビュアーとコマンドを実行できるテストランナーの 2 つのサブエージェントを作成します。Claude がサブエージェントを Agent ツール経由で呼び出すため、`Agent` ツールを `allowedTools` に含める必要があります72`agents` パラメータを使用してコード内でサブエージェントを直接定義します。この例では、読み取り専用アクセスを持つコードレビュアーとコマンドを実行できるテストランナーの 2 つのサブエージェントを作成します。Claude はサブエージェントを Agent ツール経由で呼び出すため、`allowedTools` `Agent` を含めて、パーミッション プロンプトなしでサブエージェント呼び出しを自動承認する必要があります

57 73 

58<CodeGroup>74<CodeGroup>

59 ```python Python theme={null}75 ```python Python theme={null}


65 async for message in query(81 async for message in query(

66 prompt="Review the authentication module for security issues",82 prompt="Review the authentication module for security issues",

67 options=ClaudeAgentOptions(83 options=ClaudeAgentOptions(

68 # Agent tool is required for subagent invocation84 # Auto-approve these tools, including Agent for subagent invocation

69 allowed_tools=["Read", "Grep", "Glob", "Agent"],85 allowed_tools=["Read", "Grep", "Glob", "Agent"],

70 agents={86 agents={

71 "code-reviewer": AgentDefinition(87 "code-reviewer": AgentDefinition(


114 for await (const message of query({130 for await (const message of query({

115 prompt: "Review the authentication module for security issues",131 prompt: "Review the authentication module for security issues",

116 options: {132 options: {

117 // Agent tool is required for subagent invocation133 // Auto-approve these tools, including Agent for subagent invocation

118 allowedTools: ["Read", "Grep", "Glob", "Agent"],134 allowedTools: ["Read", "Grep", "Glob", "Agent"],

119 agents: {135 agents: {

120 "code-reviewer": {136 "code-reviewer": {


157 ```173 ```

158</CodeGroup>174</CodeGroup>

159 175 

160### AgentDefinition 設定176<h3 id="agentdefinition-configuration">

177 AgentDefinition 設定

178</h3>

161 179 

162| フィールド | 型 | 必須 | 説明 |180| フィールド | 型 | 必須 | 説明 |

163| :---------------- | :---------------------------------------------------------- | :-- | :------------------------------------------------------------------------------------------------------------------- |181| :---------------- | :---------------------------------------------------------- | :-- | :------------------------------------------------------------------------------------------------------------------- |


180 サブエージェントは独自のサブエージェントを生成することはできません。サブエージェントの `tools` 配列に `Agent` を含めないでください。198 サブエージェントは独自のサブエージェントを生成することはできません。サブエージェントの `tools` 配列に `Agent` を含めないでください。

181</Note>199</Note>

182 200 

183### ファイルシステムベースの定義(代替)201<h3 id="filesystem-based-definition-alternative">

202 ファイルシステムベースの定義(代替)

203</h3>

184 204 

185`.claude/agents/` ディレクトリ内のマークダウンファイルとしてサブエージェントを定義することもできます。このアプローチの詳細については、[Claude Code サブエージェントドキュメント](/ja/sub-agents)を参照してください。プログラム的に定義されたエージェントは、同じ名前のファイルシステムベースのエージェントより優先されます。205`.claude/agents/` ディレクトリ内のマークダウンファイルとしてサブエージェントを定義することもできます。このアプローチの詳細については、[Claude Code サブエージェントドキュメント](/ja/sub-agents)を参照してください。プログラム的に定義されたエージェントは、同じ名前のファイルシステムベースのエージェントより優先されます。

186 206 

187<Note>207<Note>

188 カスタムサブエージェントを定義しなくても、`Agent` が `allowedTools` にある場合、Claude は組み込みの `general-purpose` サブエージェントを生成できます。これは、特殊なエージェントを作成せずに研究または探索タスクを委譲するのに便利です。208 カスタムサブエージェントを定義しなくても、Claude は組み込みの `general-purpose` サブエージェントを生成できます。これは、特殊なエージェントを作成せずに研究または探索タスクを委譲するのに便利です。`allowedTools` に `Agent` を含めて、これらの呼び出しがパーミッション プロンプトなしで自動承認されるようにしてください。

189</Note>209</Note>

190 210 

191## サブエージェントが継承するもの211<h2 id="what-subagents-inherit">

212 サブエージェントが継承するもの

213</h2>

192 214 

193サブエージェントのコンテキストウィンドウは新しく開始されます(親の会話なし)が、空ではありません。親からサブエージェントへの唯一のチャネルは Agent ツールのプロンプト文字列なので、サブエージェントが必要とするファイルパス、エラーメッセージ、または決定をそのプロンプトに直接含めてください。215サブエージェントのコンテキストウィンドウは新しく開始されます(親の会話なし)が、空ではありません。親からサブエージェントへの唯一のチャネルは Agent ツールのプロンプト文字列なので、サブエージェントが必要とするファイルパス、エラーメッセージ、または決定をそのプロンプトに直接含めてください。

194 216 


202 親はサブエージェントの最終メッセージを Agent ツール結果として逐語的に受け取りますが、独自の応答で要約する場合があります。サブエージェント出力を逐語的にユーザー向けの応答で保持するには、**メイン** `query()` 呼び出しに渡すプロンプトまたは `systemPrompt` オプションに指示を含めてください。224 親はサブエージェントの最終メッセージを Agent ツール結果として逐語的に受け取りますが、独自の応答で要約する場合があります。サブエージェント出力を逐語的にユーザー向けの応答で保持するには、**メイン** `query()` 呼び出しに渡すプロンプトまたは `systemPrompt` オプションに指示を含めてください。

203</Note>225</Note>

204 226 

205## サブエージェントの呼び出し227<h2 id="invoking-subagents">

228 サブエージェントの呼び出し

229</h2>

206 230 

207### 自動呼び出し231<h3 id="automatic-invocation">

232 自動呼び出し

233</h3>

208 234 

209Claude は、タスクと各サブエージェントの `description` に基づいて、サブエージェントをいつ呼び出すかを自動的に決定します。例えば、説明が「クエリチューニング用のパフォーマンス最適化スペシャリスト」である `performance-optimizer` サブエージェントを定義した場合、プロンプトでクエリの最適化について言及すると、Claude はそれを呼び出します。235Claude は、タスクと各サブエージェントの `description` に基づいて、サブエージェントをいつ呼び出すかを自動的に決定します。例えば、説明が「クエリチューニング用のパフォーマンス最適化スペシャリスト」である `performance-optimizer` サブエージェントを定義した場合、プロンプトでクエリの最適化について言及すると、Claude はそれを呼び出します。

210 236 

211Claude がタスクを正しいサブエージェントにマッチングできるように、明確で具体的な説明を書いてください。237Claude がタスクを正しいサブエージェントにマッチングできるように、明確で具体的な説明を書いてください。

212 238 

213### 明示的な呼び出し239<h3 id="explicit-invocation">

240 明示的な呼び出し

241</h3>

214 242 

215Claude が特定のサブエージェントを使用することを保証するには、プロンプトで名前を言及してください。243Claude が特定のサブエージェントを使用することを保証するには、プロンプトで名前を言及してください。

216 244 


220 248 

221これは自動マッチングをバイパスし、名前付きサブエージェントを直接呼び出します。249これは自動マッチングをバイパスし、名前付きサブエージェントを直接呼び出します。

222 250 

223### 動的エージェント設定251<h3 id="dynamic-agent-configuration">

252 動的エージェント設定

253</h3>

224 254 

225実行時の条件に基づいて、エージェント定義を動的に作成できます。この例では、異なる厳密性レベルを持つセキュリティレビュアーを作成し、厳密なレビューにはより強力なモデルを使用します。255実行時の条件に基づいて、エージェント定義を動的に作成できます。この例では、異なる厳密性レベルを持つセキュリティレビュアーを作成し、厳密なレビューにはより強力なモデルを使用します。

226 256 


296 ```326 ```

297</CodeGroup>327</CodeGroup>

298 328 

299## サブエージェント呼び出しの検出329<h2 id="detecting-subagent-invocation">

330 サブエージェント呼び出しの検出

331</h2>

300 332 

301サブエージェントは Agent ツール経由で呼び出されます。サブエージェントが呼び出されたときを検出するには、`name` が `"Agent"` である `tool_use` ブロックをチェックしてください。サブエージェントのコンテキスト内からのメッセージには `parent_tool_use_id` フィールドが含まれます。333サブエージェントは Agent ツール経由で呼び出されます。サブエージェントが呼び出されたときを検出するには、`name` が `"Agent"` である `tool_use` ブロックをチェックしてください。サブエージェントのコンテキスト内からのメッセージには `parent_tool_use_id` フィールドが含まれます。

302 334 


389 ```421 ```

390</CodeGroup>422</CodeGroup>

391 423 

392## サブエージェントの再開424<h2 id="resuming-subagents">

425 サブエージェントの再開

426</h2>

393 427 

394サブエージェントを再開して、中断したところから続行できます。再開されたサブエージェントは、以前のすべてのツール呼び出し、結果、推論を含む完全な会話履歴を保持します。サブエージェントは新しく開始するのではなく、停止したところから正確に再開します。428サブエージェントを再開して、中断したところから続行できます。再開されたサブエージェントは、以前のすべてのツール呼び出し、結果、推論を含む完全な会話履歴を保持します。サブエージェントは新しく開始するのではなく、停止したところから正確に再開します。

395 429 


507* **セッション永続化**: サブエージェントのトランスクリプトはセッション内で永続化されます。同じセッションを再開することで、Claude Code を再起動した後にサブエージェントを再開できます。541* **セッション永続化**: サブエージェントのトランスクリプトはセッション内で永続化されます。同じセッションを再開することで、Claude Code を再起動した後にサブエージェントを再開できます。

508* **自動クリーンアップ**: トランスクリプトは `cleanupPeriodDays` 設定に基づいてクリーンアップされます(デフォルト:30 日)。542* **自動クリーンアップ**: トランスクリプトは `cleanupPeriodDays` 設定に基づいてクリーンアップされます(デフォルト:30 日)。

509 543 

510## ツール制限544<h2 id="tool-restrictions">

545 ツール制限

546</h2>

511 547 

512サブエージェントは `tools` フィールド経由で制限されたツールアクセスを持つことができます。548サブエージェントは `tools` フィールド経由で制限されたツールアクセスを持つことができます。

513 549 


568 ```604 ```

569</CodeGroup>605</CodeGroup>

570 606 

571### 一般的なツール組み合わせ607<h3 id="common-tool-combinations">

608 一般的なツール組み合わせ

609</h3>

572 610 

573| ユースケース | ツール | 説明 |611| ユースケース | ツール | 説明 |

574| :------- | :---------------------------------- | :--------------------------------- |612| :------- | :---------------------------------- | :--------------------------------- |


577| コード変更 | `Read`、`Edit`、`Write`、`Grep`、`Glob` | コマンド実行なしで完全な読み取り/書き込みアクセス |615| コード変更 | `Read`、`Edit`、`Write`、`Grep`、`Glob` | コマンド実行なしで完全な読み取り/書き込みアクセス |

578| 完全アクセス | すべてのツール | 親からすべてのツールを継承します(`tools` フィールドを省略) |616| 完全アクセス | すべてのツール | 親からすべてのツールを継承します(`tools` フィールドを省略) |

579 617 

580## トラブルシューティング618<h2 id="scale-up-with-dynamic-workflows">

619 動的ワークフローでスケールアップ

620</h2>

581 621 

582### Claude がサブエージェントに委譲していない622サブエージェントは、ターンごとに数個の委譲されたタスクに適しています。数十から数百のエージェントを調整する実行の場合は、`Workflow` ツールを使用してください。これにより、オーケストレーションを会話コンテキストの外で実行時が実行するスクリプトに移動します。[動的ワークフロー](/ja/workflows)を参照して、ワークフローがターンごとのサブエージェント委譲とどのように異なるかを確認してください。

623 

624`Workflow` ツールは TypeScript Agent SDK v0.3.149 以降で利用可能です。`allowedTools` に `Workflow` を含めてワークフロー実行を自動承認します。ツール入力および出力スキーマは [TypeScript リファレンス](/ja/agent-sdk/typescript#workflow)に記載されています。

625 

626<h2 id="troubleshooting">

627 トラブルシューティング

628</h2>

629 

630<h3 id="claude-not-delegating-to-subagents">

631 Claude がサブエージェントに委譲していない

632</h3>

583 633 

584Claude がサブエージェントに委譲する代わりにタスクを直接完了する場合:634Claude がサブエージェントに委譲する代わりにタスクを直接完了する場合:

585 635 

5861. **Agent ツールを含める**: サブエージェントは Agent ツール経由で呼び出されるため、`allowedTools` に含める必要があります6361. **Agent ツールの呼び出しが承認されていることを確認する**: `allowedTools` に `Agent` を含めてサブエージェント呼び出しを自動承認します。これがない場合、Agent 呼び出しは `canUseTool` コールバックにフォールスルーするか、`dontAsk` モードでは拒否されます

5872. **明示的なプロンプトを使用する**: プロンプトでサブエージェントを名前で言及します(例えば、「code-reviewer エージェントを使用して...」)6372. **明示的なプロンプトを使用する**: プロンプトでサブエージェントを名前で言及します(例えば、「code-reviewer エージェントを使用して...」)

5883. **明確な説明を書く**: サブエージェントをいつ使用すべきかを正確に説明し、Claude がタスクを適切にマッチングできるようにします6383. **明確な説明を書く**: サブエージェントをいつ使用すべきかを正確に説明し、Claude がタスクを適切にマッチングできるようにします

589 639 

590### ファイルシステムベースのエージェントが読み込まれていない640<h3 id="filesystem-based-agents-not-loading">

641 ファイルシステムベースのエージェントが読み込まれていない

642</h3>

591 643 

592`.claude/agents/` で定義されたエージェントはスタートアップ時にのみ読み込まれます。Claude Code の実行中に新しいエージェントファイルを作成した場合、セッションを再起動して読み込んでください。644`.claude/agents/` で定義されたエージェントはスタートアップ時にのみ読み込まれます。Claude Code の実行中に新しいエージェントファイルを作成した場合、セッションを再起動して読み込んでください。

593 645 

594### Windows:長いプロンプトの失敗646<h3 id="windows-long-prompt-failures">

647 Windows:長いプロンプトの失敗

648</h3>

595 649 

596Windows では、非常に長いプロンプトを持つサブエージェントは、コマンドライン長の制限(8191 文字)により失敗する場合があります。プロンプトを簡潔に保つか、複雑な指示にはファイルシステムベースのエージェントを使用してください。650Windows では、非常に長いプロンプトを持つサブエージェントは、コマンドライン長の制限(8191 文字)により失敗する場合があります。プロンプトを簡潔に保つか、複雑な指示にはファイルシステムベースのエージェントを使用してください。

597 651 

598## 関連ドキュメント652<h2 id="related-documentation">

653 関連ドキュメント

654</h2>

599 655 

600* [Claude Code サブエージェント](/ja/sub-agents):ファイルシステムベースの定義を含む包括的なサブエージェントドキュメント656* [Claude Code サブエージェント](/ja/sub-agents):ファイルシステムベースの定義を含む包括的なサブエージェントドキュメント

657* [動的ワークフロー](/ja/workflows):スクリプトから多くのサブエージェントをオーケストレートして、1 つの会話には大きすぎるジョブを実行します

601* [SDK 概要](/ja/agent-sdk/overview):Claude Agent SDK の開始方法658* [SDK 概要](/ja/agent-sdk/overview):Claude Agent SDK の開始方法

Details

12 TypeScript Agent SDK 0.3.142 および Claude Code v2.1.142 以降、セッションは `TodoWrite` の代わりに構造化された Task ツール `TaskCreate`、`TaskUpdate`、`TaskGet`、および `TaskList` を使用します。監視コードの変更方法については、[Task ツールへの移行](#migrate-to-task-tools)を参照してください。このページの例では、まだ移行していないセッションの `TodoWrite` を引き続き表示するために `CLAUDE_CODE_ENABLE_TASKS=0` を設定しています。12 TypeScript Agent SDK 0.3.142 および Claude Code v2.1.142 以降、セッションは `TodoWrite` の代わりに構造化された Task ツール `TaskCreate`、`TaskUpdate`、`TaskGet`、および `TaskList` を使用します。監視コードの変更方法については、[Task ツールへの移行](#migrate-to-task-tools)を参照してください。このページの例では、まだ移行していないセッションの `TodoWrite` を引き続き表示するために `CLAUDE_CODE_ENABLE_TASKS=0` を設定しています。

13</Note>13</Note>

14 14 

15### Todo ライフサイクル15<h3 id="todo-lifecycle">

16 Todo ライフサイクル

17</h3>

16 18 

17Todo は予測可能なライフサイクルに従います:19Todo は予測可能なライフサイクルに従います:

18 20 


213. **完了** - タスクが正常に完了したときに完了する233. **完了** - タスクが正常に完了したときに完了する

224. **削除** - グループ内のすべてのタスクが完了したときに削除される244. **削除** - グループ内のすべてのタスクが完了したときに削除される

23 25 

24### Todo が使用される場合26<h3 id="when-todos-are-used">

27 Todo が使用される場合

28</h3>

25 29 

26SDK は以下の場合に自動的に todo を作成します:30SDK は以下の場合に自動的に todo を作成します:

27 31 


30* **非自明な操作** - 進捗追跡の恩恵を受ける場合34* **非自明な操作** - 進捗追跡の恩恵を受ける場合

31* **明示的なリクエスト** - ユーザーが todo 整理を要求した場合35* **明示的なリクエスト** - ユーザーが todo 整理を要求した場合

32 36 

33## 37<h2 id="examples">

38

39</h2>

34 40 

35### Todo 変更の監視41<h3 id="monitoring-todo-changes">

42 Todo 変更の監視

43</h3>

36 44 

37<CodeGroup>45<CodeGroup>

38 ```typescript TypeScript theme={null}46 ```typescript TypeScript theme={null}


90 ```98 ```

91</CodeGroup>99</CodeGroup>

92 100 

93### リアルタイム進捗表示101<h3 id="real-time-progress-display">

102 リアルタイム進捗表示

103</h3>

94 104 

95<CodeGroup>105<CodeGroup>

96 ```typescript TypeScript theme={null}106 ```typescript TypeScript theme={null}


194 ```204 ```

195</CodeGroup>205</CodeGroup>

196 206 

197## Task ツールへの移行207<h2 id="migrate-to-task-tools">

208 Task ツールへの移行

209</h2>

198 210 

199Task ツールは、単一の `TodoWrite` 呼び出しを、各新規アイテムの `TaskCreate` と各ステータス変更の `TaskUpdate` に分割し、`TaskList` と `TaskGet` はモデルが現在のリストを読み戻すために利用可能です。監視コードは引き続きアシスタントストリーム内の `tool_use` ブロックを検査しますが、すべての呼び出しでリスト全体を置き換える代わりに、タスク ID でキー付けされたマップを保持します。{/* min-version: 2.1.142 */}Task ツールは TypeScript Agent SDK 0.3.142 および Claude Code v2.1.142 以降のデフォルトであるため、`options.env` の変更は不要です。211Task ツールは、単一の `TodoWrite` 呼び出しを、各新規アイテムの `TaskCreate` と各ステータス変更の `TaskUpdate` に分割し、`TaskList` と `TaskGet` はモデルが現在のリストを読み戻すために利用可能です。監視コードは引き続きアシスタントストリーム内の `tool_use` ブロックを検査しますが、すべての呼び出しでリスト全体を置き換える代わりに、タスク ID でキー付けされたマップを保持します。{/* min-version: 2.1.142 */}Task ツールは TypeScript Agent SDK 0.3.142 および Claude Code v2.1.142 以降のデフォルトであるため、`options.env` の変更は不要です。

200 212 


246 ```258 ```

247</CodeGroup>259</CodeGroup>

248 260 

249## 関連ドキュメント261<h2 id="related-documentation">

262 関連ドキュメント

263</h2>

250 264 

251* [TypeScript SDK リファレンス](/ja/agent-sdk/typescript)265* [TypeScript SDK リファレンス](/ja/agent-sdk/typescript)

252* [Python SDK リファレンス](/ja/agent-sdk/python)266* [Python SDK リファレンス](/ja/agent-sdk/python)

Details

8 8 

9<script src="/components/typescript-sdk-type-links.js" defer />9<script src="/components/typescript-sdk-type-links.js" defer />

10 10 

11## インストール11<h2 id="installation">

12 インストール

13</h2>

12 14 

13```bash theme={null}15```bash theme={null}

14npm install @anthropic-ai/claude-agent-sdk16npm install @anthropic-ai/claude-agent-sdk


18 SDK は、`@anthropic-ai/claude-agent-sdk-darwin-arm64` などのオプション依存関係として、プラットフォーム用のネイティブ Claude Code バイナリをバンドルしています。Claude Code を別途インストールする必要はありません。パッケージマネージャーがオプション依存関係をスキップする場合、SDK は `Native CLI binary for <platform> not found` をスローします。代わりに、別途インストールされた `claude` バイナリに [`pathToClaudeCodeExecutable`](#options) を設定してください。20 SDK は、`@anthropic-ai/claude-agent-sdk-darwin-arm64` などのオプション依存関係として、プラットフォーム用のネイティブ Claude Code バイナリをバンドルしています。Claude Code を別途インストールする必要はありません。パッケージマネージャーがオプション依存関係をスキップする場合、SDK は `Native CLI binary for <platform> not found` をスローします。代わりに、別途インストールされた `claude` バイナリに [`pathToClaudeCodeExecutable`](#options) を設定してください。

19</Note>21</Note>

20 22 

21## 関数23<h3 id="compile-to-a-single-executable">

24 単一の実行可能ファイルにコンパイルする

25</h3>

22 26 

23### `query()`27`bun build --compile` を使用してアプリケーションを単一ファイルの実行可能ファイルにコンパイルする場合、SDK は実行時にバンドルされた CLI バイナリを解決できません。`require.resolve` はコンパイルされた実行可能ファイルの `$bunfs` 仮想ファイルシステム内では機能しないため、SDK は `Native CLI binary for <platform> not found` をスローします。

28 

29この問題を回避するには、プラットフォームバイナリをファイルアセットとして埋め込み、起動時に `extractFromBunfs()` を使用して実際のパスに抽出し、そのパスを [`pathToClaudeCodeExecutable`](#options) に渡します。

30 

31`extractFromBunfs()` ヘルパーには `@anthropic-ai/claude-agent-sdk` v0.3.144 以降が必要です。以下の例は macOS on Apple Silicon 向けにビルドします。

32 

33```typescript theme={null}

34import binPath from "@anthropic-ai/claude-agent-sdk-darwin-arm64/claude" with { type: "file" };

35import { extractFromBunfs } from "@anthropic-ai/claude-agent-sdk/extract";

36import { query } from "@anthropic-ai/claude-agent-sdk";

37 

38const cliPath = extractFromBunfs(binPath);

39 

40for await (const message of query({

41 prompt: "Hello",

42 options: { pathToClaudeCodeExecutable: cliPath },

43})) {

44 console.log(message);

45}

46```

47 

48`extractFromBunfs()` は、コンパイルされた実行可能ファイルの仮想ファイルシステムから埋め込まれたバイナリをユーザーごとの一時ディレクトリにコピーし、実際のパスを返します。コンパイルされた実行可能ファイルの外では、入力パスを変更せずに返すため、同じコードは開発環境で変更なしに実行されます。

49 

50各コンパイルされた実行可能ファイルは、単一プラットフォームのバイナリを埋め込みます。インポート内のプラットフォームパッケージを `--target` と一致させます。

51 

52* クロスコンパイルするには、一致しないプラットフォームパッケージをインストールします。例えば `npm install @anthropic-ai/claude-agent-sdk-linux-x64 --force`。

53* Windows では、バイナリサブパスは `claude.exe` です。例えば `@anthropic-ai/claude-agent-sdk-win32-x64/claude.exe`。

54 

55<h2 id="functions">

56 関数

57</h2>

58 

59<h3 id="query">

60 `query()`

61</h3>

24 62 

25Claude Code と対話するための主要な関数です。メッセージが到着するにつれてストリーミングする非同期ジェネレータを作成します。63Claude Code と対話するための主要な関数です。メッセージが到着するにつれてストリーミングする非同期ジェネレータを作成します。

26 64 


34}): Query;72}): Query;

35```73```

36 74 

37#### パラメータ75<h4 id="parameters">

76 パラメータ

77</h4>

38 78 

39| パラメータ | 型 | 説明 |79| パラメータ | 型 | 説明 |

40| :-------- | :--------------------------------------------------------------- | :----------------------------------------- |80| :-------- | :--------------------------------------------------------------- | :----------------------------------------- |

41| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | 文字列またはストリーミングモード用の非同期反復可能オブジェクトとしての入力プロンプト |81| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | 文字列またはストリーミングモード用の非同期反復可能オブジェクトとしての入力プロンプト |

42| `options` | [`Options`](#options) | オプションの設定オブジェクト(以下の Options 型を参照) |82| `options` | [`Options`](#options) | オプションの設定オブジェクト(以下の Options 型を参照) |

43 83 

44#### 戻り値84<h4 id="returns">

85 戻り値

86</h4>

45 87 

46[`Query`](#query-object) オブジェクトを返します。これは `AsyncGenerator<`[`SDKMessage`](#sdkmessage)`, void>` を拡張し、追加のメソッドを持ちます。88[`Query`](#query-object) オブジェクトを返します。これは `AsyncGenerator<`[`SDKMessage`](#sdkmessage)`, void>` を拡張し、追加のメソッドを持ちます。

47 89 

48### `startup()`90<h3 id="startup">

91 `startup()`

92</h3>

49 93 

50プロンプトが利用可能になる前に、CLI サブプロセスをスポーンして初期化ハンドシェイクを完了することで、プリウォーミングします。返された [`WarmQuery`](#warmquery) ハンドルは後でプロンプトを受け入れ、既に準備ができているプロセスに書き込むため、最初の `query()` 呼び出しはサブプロセスのスポーンと初期化コストをインラインで支払うことなく解決します。94プロンプトが利用可能になる前に、CLI サブプロセスをスポーンして初期化ハンドシェイクを完了することで、プリウォーミングします。返された [`WarmQuery`](#warmquery) ハンドルは後でプロンプトを受け入れ、既に準備ができているプロセスに書き込むため、最初の `query()` 呼び出しはサブプロセスのスポーンと初期化コストをインラインで支払うことなく解決します。

51 95 


56}): Promise<WarmQuery>;100}): Promise<WarmQuery>;

57```101```

58 102 

59#### パラメータ103<h4 id="parameters">

104 パラメータ

105</h4>

60 106 

61| パラメータ | 型 | 説明 |107| パラメータ | 型 | 説明 |

62| :-------------------- | :-------------------- | :---------------------------------------------------------------------------- |108| :-------------------- | :-------------------- | :---------------------------------------------------------------------------- |

63| `options` | [`Options`](#options) | オプションの設定オブジェクト。`query()` の `options` パラメータと同じです |109| `options` | [`Options`](#options) | オプションの設定オブジェクト。`query()` の `options` パラメータと同じです |

64| `initializeTimeoutMs` | `number` | サブプロセス初期化を待つ最大時間(ミリ秒)。デフォルトは `60000` です。初期化が時間内に完了しない場合、プロミスはタイムアウトエラーで拒否されます |110| `initializeTimeoutMs` | `number` | サブプロセス初期化を待つ最大時間(ミリ秒)。デフォルトは `60000` です。初期化が時間内に完了しない場合、プロミスはタイムアウトエラーで拒否されます |

65 111 

66#### 戻り値112<h4 id="returns">

113 戻り値

114</h4>

67 115 

68サブプロセスがスポーンされ、初期化ハンドシェイクを完了したら解決する `Promise<`[`WarmQuery`](#warmquery)`>` を返します。116サブプロセスがスポーンされ、初期化ハンドシェイクを完了したら解決する `Promise<`[`WarmQuery`](#warmquery)`>` を返します。

69 117 

70#### 118<h4 id="example">

119

120</h4>

71 121 

72アプリケーションブート時など、早期に `startup()` を呼び出し、プロンプトが準備できたら返されたハンドルで `.query()` を呼び出します。これにより、サブプロセスのスポーンと初期化をクリティカルパスから移動させます。122アプリケーションブート時など、早期に `startup()` を呼び出し、プロンプトが準備できたら返されたハンドルで `.query()` を呼び出します。これにより、サブプロセスのスポーンと初期化をクリティカルパスから移動させます。

73 123 


83}133}

84```134```

85 135 

86### `tool()`136<h3 id="tool">

137 `tool()`

138</h3>

87 139 

88SDK MCP サーバーで使用するためのタイプセーフな MCP ツール定義を作成します。140SDK MCP サーバーで使用するためのタイプセーフな MCP ツール定義を作成します。

89 141 


97): SdkMcpToolDefinition<Schema>;149): SdkMcpToolDefinition<Schema>;

98```150```

99 151 

100#### パラメータ152<h4 id="parameters">

153 パラメータ

154</h4>

101 155 

102| パラメータ | 型 | 説明 |156| パラメータ | 型 | 説明 |

103| :------------ | :---------------------------------------------------------------- | :------------------------------------------------ |157| :------------ | :---------------------------------------------------------------- | :------------------------------------------------ |


107| `handler` | `(args, extra) => Promise<`[`CallToolResult`](#calltoolresult)`>` | ツールロジックを実行する非同期関数 |161| `handler` | `(args, extra) => Promise<`[`CallToolResult`](#calltoolresult)`>` | ツールロジックを実行する非同期関数 |

108| `extras` | `{ annotations?: `[`ToolAnnotations`](#toolannotations)` }` | クライアントに動作ヒントを提供するオプションの MCP ツール注釈 |162| `extras` | `{ annotations?: `[`ToolAnnotations`](#toolannotations)` }` | クライアントに動作ヒントを提供するオプションの MCP ツール注釈 |

109 163 

110#### `ToolAnnotations`164<h4 id="toolannotations">

165 `ToolAnnotations`

166</h4>

111 167 

112`@modelcontextprotocol/sdk/types.js` から再エクスポートされます。すべてのフィールドはオプションのヒントです。クライアントはセキュリティ決定のためにこれらに依存すべきではありません。168`@modelcontextprotocol/sdk/types.js` から再エクスポートされます。すべてのフィールドはオプションのヒントです。クライアントはセキュリティ決定のためにこれらに依存すべきではありません。

113 169 


134);190);

135```191```

136 192 

137### `createSdkMcpServer()`193<h3 id="createsdkmcpserver">

194 `createSdkMcpServer()`

195</h3>

138 196 

139アプリケーションと同じプロセスで実行される MCP サーバーインスタンスを作成します。197アプリケーションと同じプロセスで実行される MCP サーバーインスタンスを作成します。

140 198 


146}): McpSdkServerConfigWithInstance;204}): McpSdkServerConfigWithInstance;

147```205```

148 206 

149#### パラメータ207<h4 id="parameters">

208 パラメータ

209</h4>

150 210 

151| パラメータ | 型 | 説明 |211| パラメータ | 型 | 説明 |

152| :---------------- | :---------------------------- | :------------------------------- |212| :---------------- | :---------------------------- | :------------------------------- |


154| `options.version` | `string` | オプションのバージョン文字列 |214| `options.version` | `string` | オプションのバージョン文字列 |

155| `options.tools` | `Array<SdkMcpToolDefinition>` | [`tool()`](#tool) で作成されたツール定義の配列 |215| `options.tools` | `Array<SdkMcpToolDefinition>` | [`tool()`](#tool) で作成されたツール定義の配列 |

156 216 

157### `listSessions()`217<h3 id="listsessions">

218 `listSessions()`

219</h3>

158 220 

159軽いメタデータを含む過去のセッションを検出してリストします。プロジェクトディレクトリでフィルタリングするか、すべてのプロジェクト全体でセッションをリストします。221軽いメタデータを含む過去のセッションを検出してリストします。プロジェクトディレクトリでフィルタリングするか、すべてのプロジェクト全体でセッションをリストします。

160 222 


162function listSessions(options?: ListSessionsOptions): Promise<SDKSessionInfo[]>;224function listSessions(options?: ListSessionsOptions): Promise<SDKSessionInfo[]>;

163```225```

164 226 

165#### パラメータ227<h4 id="parameters">

228 パラメータ

229</h4>

166 230 

167| パラメータ | 型 | デフォルト | 説明 |231| パラメータ | 型 | デフォルト | 説明 |

168| :------------------------- | :-------- | :---------- | :--------------------------------------------------- |232| :------------------------- | :-------- | :---------- | :--------------------------------------------------- |


170| `options.limit` | `number` | `undefined` | 返すセッションの最大数 |234| `options.limit` | `number` | `undefined` | 返すセッションの最大数 |

171| `options.includeWorktrees` | `boolean` | `true` | `dir` が git リポジトリ内にある場合、すべての worktree パスからセッションを含めます |235| `options.includeWorktrees` | `boolean` | `true` | `dir` が git リポジトリ内にある場合、すべての worktree パスからセッションを含めます |

172 236 

173#### 戻り値の型:`SDKSessionInfo`237<h4 id="return-type-sdksessioninfo">

238 戻り値の型:`SDKSessionInfo`

239</h4>

174 240 

175| プロパティ | 型 | 説明 |241| プロパティ | 型 | 説明 |

176| :------------- | :-------------------- | :-------------------------------------------------- |242| :------------- | :-------------------- | :-------------------------------------------------- |


185| `tag` | `string \| undefined` | ユーザーが設定したセッションタグ([`tagSession()`](#tagsession) を参照) |251| `tag` | `string \| undefined` | ユーザーが設定したセッションタグ([`tagSession()`](#tagsession) を参照) |

186| `createdAt` | `number \| undefined` | 最初のエントリのタイムスタンプからのエポック以降のミリ秒単位での作成時刻 |252| `createdAt` | `number \| undefined` | 最初のエントリのタイムスタンプからのエポック以降のミリ秒単位での作成時刻 |

187 253 

188#### 254<h4 id="example">

255

256</h4>

189 257 

190プロジェクトの 10 個の最新セッションを出力します。結果は `lastModified` の降順でソートされるため、最初の項目が最新です。`dir` を省略してすべてのプロジェクト全体を検索します。258プロジェクトの 10 個の最新セッションを出力します。結果は `lastModified` の降順でソートされるため、最初の項目が最新です。`dir` を省略してすべてのプロジェクト全体を検索します。

191 259 


199}267}

200```268```

201 269 

202### `getSessionMessages()`270<h3 id="getsessionmessages">

271 `getSessionMessages()`

272</h3>

203 273 

204過去のセッショントランスクリプトからユーザーおよびアシスタントメッセージを読み取ります。274過去のセッショントランスクリプトからユーザーおよびアシスタントメッセージを読み取ります。

205 275 


210): Promise<SessionMessage[]>;280): Promise<SessionMessage[]>;

211```281```

212 282 

213#### パラメータ283<h4 id="parameters">

284 パラメータ

285</h4>

214 286 

215| パラメータ | 型 | デフォルト | 説明 |287| パラメータ | 型 | デフォルト | 説明 |

216| :--------------- | :------- | :---------- | :-------------------------------------------- |288| :--------------- | :------- | :---------- | :-------------------------------------------- |


219| `options.limit` | `number` | `undefined` | 返すメッセージの最大数 |291| `options.limit` | `number` | `undefined` | 返すメッセージの最大数 |

220| `options.offset` | `number` | `undefined` | 開始からスキップするメッセージ数 |292| `options.offset` | `number` | `undefined` | 開始からスキップするメッセージ数 |

221 293 

222#### 戻り値の型:`SessionMessage`294<h4 id="return-type-sessionmessage">

295 戻り値の型:`SessionMessage`

296</h4>

223 297 

224| プロパティ | 型 | 説明 |298| プロパティ | 型 | 説明 |

225| :------------------- | :---------------------- | :---------------------- |299| :------------------- | :---------------------- | :---------------------------------------------------------------------------------------- |

226| `type` | `"user" \| "assistant"` | メッセージロール |300| `type` | `"user" \| "assistant"` | メッセージロール |

227| `uuid` | `string` | 一意のメッセージ識別子 |301| `uuid` | `string` | 一意のメッセージ識別子 |

228| `session_id` | `string` | このメッセージが属するセッション |302| `session_id` | `string` | このメッセージが属するセッション |

229| `message` | `unknown` | トランスクリプトからの生のメッセージペイロード |303| `message` | `unknown` | トランスクリプトからの生のメッセージペイロード |

230| `parent_tool_use_id` | `null` | 予約済み |304| `parent_tool_use_id` | `string \| null` | サブエージェントメッセージの場合、スポーニング `Agent` ツール呼び出しの `tool_use_id`。メインセッションメッセージおよび古いセッションの場合は `null` |

231 305 

232#### 306<h4 id="example">

307

308</h4>

233 309 

234```typescript theme={null}310```typescript theme={null}

235import { listSessions, getSessionMessages } from "@anthropic-ai/claude-agent-sdk";311import { listSessions, getSessionMessages } from "@anthropic-ai/claude-agent-sdk";


248}324}

249```325```

250 326 

251### `getSessionInfo()`327<h3 id="getsessioninfo">

328 `getSessionInfo()`

329</h3>

252 330 

253プロジェクトディレクトリ全体をスキャンせずに、ID でセッションのメタデータを読み取ります。331プロジェクトディレクトリ全体をスキャンせずに、ID でセッションのメタデータを読み取ります。

254 332 


259): Promise<SDKSessionInfo | undefined>;337): Promise<SDKSessionInfo | undefined>;

260```338```

261 339 

262#### パラメータ340<h4 id="parameters">

341 パラメータ

342</h4>

263 343 

264| パラメータ | 型 | デフォルト | 説明 |344| パラメータ | 型 | デフォルト | 説明 |

265| :------------ | :------- | :---------- | :------------------------------------------ |345| :------------ | :------- | :---------- | :------------------------------------------ |


268 348 

269[`SDKSessionInfo`](#return-type-sdksessioninfo) を返すか、セッションが見つからない場合は `undefined` を返します。349[`SDKSessionInfo`](#return-type-sdksessioninfo) を返すか、セッションが見つからない場合は `undefined` を返します。

270 350 

271### `renameSession()`351<h3 id="renamesession">

352 `renameSession()`

353</h3>

272 354 

273カスタムタイトルエントリを追加することでセッションの名前を変更します。繰り返し呼び出しは安全です。最新のタイトルが優先されます。355カスタムタイトルエントリを追加することでセッションの名前を変更します。繰り返し呼び出しは安全です。最新のタイトルが優先されます。

274 356 


280): Promise<void>;362): Promise<void>;

281```363```

282 364 

283#### パラメータ365<h4 id="parameters">

366 パラメータ

367</h4>

284 368 

285| パラメータ | 型 | デフォルト | 説明 |369| パラメータ | 型 | デフォルト | 説明 |

286| :------------ | :------- | :---------- | :------------------------------------------ |370| :------------ | :------- | :---------- | :------------------------------------------ |


288| `title` | `string` | 必須 | 新しいタイトル。空白をトリミングした後、空でない必要があります |372| `title` | `string` | 必須 | 新しいタイトル。空白をトリミングした後、空でない必要があります |

289| `options.dir` | `string` | `undefined` | プロジェクトディレクトリパス。省略すると、すべてのプロジェクトディレクトリを検索します |373| `options.dir` | `string` | `undefined` | プロジェクトディレクトリパス。省略すると、すべてのプロジェクトディレクトリを検索します |

290 374 

291### `tagSession()`375<h3 id="tagsession">

376 `tagSession()`

377</h3>

292 378 

293セッションにタグを付けます。`null` を渡してタグをクリアします。繰り返し呼び出しは安全です。最新のタグが優先されます。379セッションにタグを付けます。`null` を渡してタグをクリアします。繰り返し呼び出しは安全です。最新のタグが優先されます。

294 380 


300): Promise<void>;386): Promise<void>;

301```387```

302 388 

303#### パラメータ389<h4 id="parameters">

390 パラメータ

391</h4>

304 392 

305| パラメータ | 型 | デフォルト | 説明 |393| パラメータ | 型 | デフォルト | 説明 |

306| :------------ | :--------------- | :---------- | :------------------------------------------ |394| :------------ | :--------------- | :---------- | :------------------------------------------ |


308| `tag` | `string \| null` | 必須 | タグ文字列、またはクリアする場合は `null` |396| `tag` | `string \| null` | 必須 | タグ文字列、またはクリアする場合は `null` |

309| `options.dir` | `string` | `undefined` | プロジェクトディレクトリパス。省略すると、すべてのプロジェクトディレクトリを検索します |397| `options.dir` | `string` | `undefined` | プロジェクトディレクトリパス。省略すると、すべてのプロジェクトディレクトリを検索します |

310 398 

311### `resolveSettings()`399<h3 id="resolvesettings">

400 `resolveSettings()`

401</h3>

312 402 

313CLI と同じマージエンジンを使用して、指定されたディレクトリの有効な Claude Code 設定を解決します。Claude CLI をスポーンせずに実行します。`query()` 呼び出しを呼び出す前に、その呼び出しが何の設定を見るかを検査するために使用します。403CLI と同じマージエンジンを使用して、指定されたディレクトリの有効な Claude Code 設定を解決します。Claude CLI をスポーンせずに実行します。`query()` 呼び出しを呼び出す前に、その呼び出しが何の設定を見るかを検査するために使用します。

314 404 


322): Promise<ResolvedSettings>;412): Promise<ResolvedSettings>;

323```413```

324 414 

325#### パラメータ415<h4 id="parameters">

416 パラメータ

417</h4>

326 418 

327`resolveSettings()` は単一のオプションオブジェクトを受け入れます。すべてのフィールドはオプションです。419`resolveSettings()` は単一のオプションオブジェクトを受け入れます。すべてのフィールドはオプションです。

328 420 


333| `options.managedSettings` | `Settings` | `undefined` | 埋め込みホストによって提供される制限的なポリシーティア設定。管理者がデプロイした管理ティアが存在する場合、ドロップされます。[`parentSettingsBehavior`](/ja/settings#available-settings) が `"merge"` の場合、そのティアの下でマージされます。`model` などの非制限的なキーは静かにドロップされるため、このオプションは管理ポリシーを厳しくできますが、緩くすることはできません |425| `options.managedSettings` | `Settings` | `undefined` | 埋め込みホストによって提供される制限的なポリシーティア設定。管理者がデプロイした管理ティアが存在する場合、ドロップされます。[`parentSettingsBehavior`](/ja/settings#available-settings) が `"merge"` の場合、そのティアの下でマージされます。`model` などの非制限的なキーは静かにドロップされるため、このオプションは管理ポリシーを厳しくできますが、緩くすることはできません |

334| `options.serverManagedSettings` | `Settings` | `undefined` | `/api/claude_code/settings` からのサーバー管理設定ペイロード。非制限的なキーはフィルタリングなしで通過します |426| `options.serverManagedSettings` | `Settings` | `undefined` | `/api/claude_code/settings` からのサーバー管理設定ペイロード。非制限的なキーはフィルタリングなしで通過します |

335 427 

336#### 戻り値の型:`ResolvedSettings`428<h4 id="return-type-resolvedsettings">

429 戻り値の型:`ResolvedSettings`

430</h4>

337 431 

338`resolveSettings()` は、マージされた設定と各キーに寄与したソースを説明するオブジェクトを返します。432`resolveSettings()` は、マージされた設定と各キーに寄与したソースを説明するオブジェクトを返します。

339 433 


343| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | `effective` の各トップレベルキーについて、値を提供したソース |437| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | `effective` の各トップレベルキーについて、値を提供したソース |

344| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | ソースごとの生の設定。最も低い優先度から最も高い優先度の順に並べられています |438| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | ソースごとの生の設定。最も低い優先度から最も高い優先度の順に並べられています |

345 439 

346#### 440<h4 id="example">

441

442</h4>

347 443 

348プロジェクトディレクトリの設定を解決し、クリーンアップ期間を制御するソースを出力します。444プロジェクトディレクトリの設定を解決し、クリーンアップ期間を制御するソースを出力します。

349 445 


359console.log(`Set by: ${provenance.cleanupPeriodDays?.source}`);455console.log(`Set by: ${provenance.cleanupPeriodDays?.source}`);

360```456```

361 457 

362## 458<h2 id="types">

459

460</h2>

363 461 

364### `Options`462<h3 id="options">

463 `Options`

464</h3>

365 465 

366`query()` 関数の設定オブジェクト。466`query()` 関数の設定オブジェクト。

367 467 


371| `additionalDirectories` | `string[]` | `[]` | Claude がアクセスできる追加ディレクトリ |471| `additionalDirectories` | `string[]` | `[]` | Claude がアクセスできる追加ディレクトリ |

372| `agent` | `string` | `undefined` | メインスレッドのエージェント名。エージェントは `agents` オプションまたは設定で定義される必要があります |472| `agent` | `string` | `undefined` | メインスレッドのエージェント名。エージェントは `agents` オプションまたは設定で定義される必要があります |

373| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | プログラムでサブエージェントを定義します |473| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | プログラムでサブエージェントを定義します |

474| `agentProgressSummaries` | `boolean` | `false` | `true` の場合、サブエージェントの 1 行の進捗サマリーを生成し、`summary` フィールドを介して [`task_progress`](#sdktaskprogressmessage) イベントで転送します。フォアグラウンドおよびバックグラウンドサブエージェントに適用されます |

374| `allowDangerouslySkipPermissions` | `boolean` | `false` | パーミッションのバイパスを有効にします。`permissionMode: 'bypassPermissions'` を使用する場合に必須です |475| `allowDangerouslySkipPermissions` | `boolean` | `false` | パーミッションのバイパスを有効にします。`permissionMode: 'bypassPermissions'` を使用する場合に必須です |

375| `allowedTools` | `string[]` | `[]` | プロンプトなしで自動承認するツール。これは Claude をこれらのツールのみに制限しません。リストされていないツールは `permissionMode` と `canUseTool` にフォールスルーします。ツールをブロックするには `disallowedTools` を使用します。[パーミッション](/ja/agent-sdk/permissions#allow-and-deny-rules) を参照してください |476| `allowedTools` | `string[]` | `[]` | プロンプトなしで自動承認するツール。これは Claude をこれらのツールのみに制限しません。リストされていないツールは `permissionMode` と `canUseTool` にフォールスルーします。ツールをブロックするには `disallowedTools` を使用します。[パーミッション](/ja/agent-sdk/permissions#allow-and-deny-rules) を参照してください |

376| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | ベータ機能を有効にします |477| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | ベータ機能を有効にします |


379| `cwd` | `string` | `process.cwd()` | 現在の作業ディレクトリ |480| `cwd` | `string` | `process.cwd()` | 現在の作業ディレクトリ |

380| `debug` | `boolean` | `false` | Claude Code プロセスのデバッグモードを有効にします |481| `debug` | `boolean` | `false` | Claude Code プロセスのデバッグモードを有効にします |

381| `debugFile` | `string` | `undefined` | デバッグログを特定のファイルパスに書き込みます。暗黙的にデバッグモードを有効にします |482| `debugFile` | `string` | `undefined` | デバッグログを特定のファイルパスに書き込みます。暗黙的にデバッグモードを有効にします |

382| `disallowedTools` | `string[]` | `[]` | 常に拒否するツール拒否ルールが最初にチェックされ、`allowedTools` `permissionMode``bypassPermissions` を含む)をオーバーライドします |483| `disallowedTools` | `string[]` | `[]` | 拒否するツール。`Bash` などの単純な名前はツールを Claude のコンテキストから削除します。`Bash(rm *)` などのスコープ付きルールはツールを利用可能なままにし、`bypassPermissions` を含むすべてのパーミッションモードで一致する呼び出しを拒否します。[パーミッション](/ja/agent-sdk/permissions#allow-and-deny-rules) を参照してください |

383| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `'high'` | Claude がその応答にどれだけの努力を費やすかを制御します。適応的思考と連携して思考の深さをガイドします |484| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `'high'` | Claude がその応答にどれだけの努力を費やすかを制御します。適応的思考と連携して思考の深さをガイドします |

384| `enableFileCheckpointing` | `boolean` | `false` | ファイル変更追跡を有効にして巻き戻します。[ファイルチェックポイント](/ja/agent-sdk/file-checkpointing) を参照してください |485| `enableFileCheckpointing` | `boolean` | `false` | ファイル変更追跡を有効にして巻き戻します。[ファイルチェックポイント](/ja/agent-sdk/file-checkpointing) を参照してください |

385| `env` | `Record<string, string \| undefined>` | `process.env` | 環境変数。[環境変数](/ja/env-vars) については基になる CLI が読み取る変数を参照してください。[遅いまたは停止した API レスポンスを処理](#handle-slow-or-stalled-api-responses) でタイムアウト関連の変数を参照してください。User-Agent ヘッダーでアプリを識別するには `CLAUDE_AGENT_SDK_CLIENT_APP` を設定します |486| `env` | `Record<string, string \| undefined>` | `process.env` | 環境変数。設定すると、このオプションは `process.env` とマージする代わりにサブプロセス環境を置き換えるため、継承された `PATH` などの変数を保つには `{ ...process.env, YOUR_VAR: 'value' }` を渡します。[遅いまたは停止した API レスポンスを処理](#handle-slow-or-stalled-api-responses) でこのパターンの例を参照してくださいまた、[環境変数](/ja/env-vars) で基になる CLI が読み取る変数を参照してください。User-Agent ヘッダーでアプリを識別するには `CLAUDE_AGENT_SDK_CLIENT_APP` を設定します |

386| `executable` | `'bun' \| 'deno' \| 'node'` | 自動検出 | 使用する JavaScript ランタイム |487| `executable` | `'bun' \| 'deno' \| 'node'` | 自動検出 | 使用する JavaScript ランタイム |

387| `executableArgs` | `string[]` | `[]` | 実行可能ファイルに渡す引数 |488| `executableArgs` | `string[]` | `[]` | 実行可能ファイルに渡す引数 |

388| `extraArgs` | `Record<string, string \| null>` | `{}` | 追加の引数 |489| `extraArgs` | `Record<string, string \| null>` | `{}` | 追加の引数 |

389| `fallbackModel` | `string` | `undefined` | プライマリが失敗した場合に使用するモデル |490| `fallbackModel` | `string` | `undefined` | プライマリが失敗した場合に使用するモデル |

390| `forkSession` | `boolean` | `false` | `resume` で再開するときに、元のセッション ID を続行する代わりに新しいセッション ID にフォークします |491| `forkSession` | `boolean` | `false` | `resume` で再開するときに、元のセッション ID を続行する代わりに新しいセッション ID にフォークします |

492| `forwardSubagentText` | `boolean` | `false` | サブエージェントのテキストと思考ブロックを `parent_tool_use_id` が設定されたアシスタントおよびユーザーメッセージとして転送し、コンシューマーがネストされたトランスクリプトをレンダリングできるようにします。デフォルトでは、サブエージェントからの `tool_use` および `tool_result` ブロックのみが発行されます |

391| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | イベントのフックコールバック |493| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | イベントのフックコールバック |

392| `includeHookEvents` | `boolean` | `false` | フックライフサイクルイベントをメッセージストリームに [`SDKHookStartedMessage`](#sdkhookstartedmessage)、[`SDKHookProgressMessage`](#sdkhookprogressmessage)、[`SDKHookResponseMessage`](#sdkhookresponsemessage) として含めます |494| `includeHookEvents` | `boolean` | `false` | フックライフサイクルイベントをメッセージストリームに [`SDKHookStartedMessage`](#sdkhookstartedmessage)、[`SDKHookProgressMessage`](#sdkhookprogressmessage)、[`SDKHookResponseMessage`](#sdkhookresponsemessage) として含めます |

393| `includePartialMessages` | `boolean` | `false` | 部分的なメッセージイベントを含めます |495| `includePartialMessages` | `boolean` | `false` | 部分的なメッセージイベントを含めます |

496| `loadTimeoutMs` | `number` | `60000` | *アルファ版。* 再開の具体化中に各 `sessionStore.load()` および `sessionStore.listSubkeys()` 呼び出しのタイムアウト(ミリ秒単位)。アダプターがこのウィンドウ内で解決しない場合、クエリはハングする代わりに失敗します。`sessionStore` が設定されていない場合は無視されます |

497| `managedSettings` | `Settings` | `undefined` | スポーニング親プロセスによって提供されるポリシーティア設定。マシンに IT 制御の管理設定ティアが既に存在する場合は削除されます。ただし、その管理者が `parentSettingsBehavior: 'merge'` でオプトインしない限り。関係なく制限的なキーのみにフィルタリングされます |

394| `maxBudgetUsd` | `number` | `undefined` | クライアント側のコスト推定がこの USD 値に達したときにクエリを停止します。`total_cost_usd` と同じ推定と比較されます。[コストと使用状況を追跡](/ja/agent-sdk/cost-tracking) で精度の注意事項を参照してください |498| `maxBudgetUsd` | `number` | `undefined` | クライアント側のコスト推定がこの USD 値に達したときにクエリを停止します。`total_cost_usd` と同じ推定と比較されます。[コストと使用状況を追跡](/ja/agent-sdk/cost-tracking) で精度の注意事項を参照してください |

395| `maxThinkingTokens` | `number` | `undefined` | *非推奨:* 代わりに `thinking` を使用してください。思考プロセスの最大トークン数 |499| `maxThinkingTokens` | `number` | `undefined` | *非推奨:* 代わりに `thinking` を使用してください。思考プロセスの最大トークン数 |

396| `maxTurns` | `number` | `undefined` | 最大 agentic ターン数(ツール使用ラウンドトリップ) |500| `maxTurns` | `number` | `undefined` | 最大 agentic ターン数(ツール使用ラウンドトリップ) |

397| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP サーバー設定 |501| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP サーバー設定 |

398| `model` | `string` | CLI からのデフォルト | 使用する Claude モデル |502| `model` | `string` | CLI からのデフォルト | 使用する Claude モデル |

503| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | MCP エリシテーションリクエストを処理するためのコールバック。MCP サーバーがユーザー入力をリクエストし、フックがそれを最初に処理しない場合に呼び出されます。提供されない場合、未処理のエリシテーションリクエストは自動的に拒否されます |

399| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | エージェント結果の出力形式を定義します。詳細は [構造化出力](/ja/agent-sdk/structured-outputs) を参照してください |504| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | エージェント結果の出力形式を定義します。詳細は [構造化出力](/ja/agent-sdk/structured-outputs) を参照してください |

400| `outputStyle` | `string` | `undefined` | セッションに対してアクティブにする [出力スタイル](/ja/output-styles) の名前。スタイルは `.claude/output-styles/` などのロードされた `settingSources` の場所に存在する必要があります。[出力スタイルをアクティブにする](/ja/agent-sdk/modifying-system-prompts#activate-an-output-style) を参照してください |505| `outputStyle` | `string` | `undefined` | `Options` フィールドではありません。インライン [`settings`](/ja/settings) オブジェクトまたは設定ファイルで `outputStyle` を設定してください。[出力スタイルをアクティブにする](/ja/agent-sdk/modifying-system-prompts#activate-an-output-style) を参照してください |

401| `pathToClaudeCodeExecutable` | `string` | バンドルされたネイティブバイナリから自動解決 | Claude Code 実行可能ファイルへのパス。インストール中にオプション依存関係がスキップされた場合、またはプラットフォームがサポートされているセットにない場合にのみ必要です |506| `pathToClaudeCodeExecutable` | `string` | バンドルされたネイティブバイナリから自動解決 | Claude Code 実行可能ファイルへのパス。インストール中にオプション依存関係がスキップされた場合、またはプラットフォームがサポートされているセットにない場合にのみ必要です |

402| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | セッションのパーミッションモード |507| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | セッションのパーミッションモード |

403| `permissionPromptToolName` | `string` | `undefined` | パーミッションプロンプト用の MCP ツール名 |508| `permissionPromptToolName` | `string` | `undefined` | パーミッションプロンプト用の MCP ツール名 |

404| `persistSession` | `boolean` | `true` | `false` の場合、セッション永続化をディスクに無効にします。セッションは後で再開できません |509| `persistSession` | `boolean` | `true` | `false` の場合、セッション永続化をディスクに無効にします。セッションは後で再開できません |

510| `planModeInstructions` | `string` | `undefined` | プランモードのカスタムワークフロー指示。`permissionMode` が `'plan'` の場合、この文字列はデフォルトのプランモードワークフロー本体を置き換えます。CLI は引き続き読み取り専用強制プリアンブルと ExitPlanMode プロトコルフッターでラップします |

405| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | ローカルパスからカスタムプラグインをロードします。詳細は [プラグイン](/ja/agent-sdk/plugins) を参照してください |511| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | ローカルパスからカスタムプラグインをロードします。詳細は [プラグイン](/ja/agent-sdk/plugins) を参照してください |

406| `promptSuggestions` | `boolean` | `false` | プロンプト提案を有効にします。各ターン後に予測される次のユーザープロンプトを含む `prompt_suggestion` メッセージを発行します |512| `promptSuggestions` | `boolean` | `false` | プロンプト提案を有効にします。各ターン後に予測される次のユーザープロンプトを含む `prompt_suggestion` メッセージを発行します |

407| `resume` | `string` | `undefined` | 再開するセッション ID |513| `resume` | `string` | `undefined` | 再開するセッション ID |


409| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | サンドボックス動作をプログラムで設定します。詳細は [サンドボックス設定](#sandboxsettings) を参照してください |515| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | サンドボックス動作をプログラムで設定します。詳細は [サンドボックス設定](#sandboxsettings) を参照してください |

410| `sessionId` | `string` | 自動生成 | 自動生成する代わりに、セッションに特定の UUID を使用します |516| `sessionId` | `string` | 自動生成 | 自動生成する代わりに、セッションに特定の UUID を使用します |

411| `sessionStore` | [`SessionStore`](/ja/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | セッショントランスクリプトを外部バックエンドにミラーリングして、任意のホストがそれらを再開できるようにします。[セッションを外部ストレージに永続化](/ja/agent-sdk/session-storage) を参照してください |517| `sessionStore` | [`SessionStore`](/ja/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | セッショントランスクリプトを外部バックエンドにミラーリングして、任意のホストがそれらを再開できるようにします。[セッションを外部ストレージに永続化](/ja/agent-sdk/session-storage) を参照してください |

518| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *アルファ版。* `sessionStore` のフラッシュモード。`sessionStore` が設定されていない場合は無視されます |

412| `settings` | `string \| Settings` | `undefined` | インライン [設定](/ja/settings) オブジェクトまたは設定ファイルへのパス。[優先順位](/ja/settings#settings-precedence) のフラグ設定レイヤーを入力します。[`applyFlagSettings()`](#applyflagsettings) でランタイムに変更します |519| `settings` | `string \| Settings` | `undefined` | インライン [設定](/ja/settings) オブジェクトまたは設定ファイルへのパス。[優先順位](/ja/settings#settings-precedence) のフラグ設定レイヤーを入力します。[`applyFlagSettings()`](#applyflagsettings) でランタイムに変更します |

413| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI デフォルト(すべてのソース) | ロードするファイルシステム設定を制御します。ユーザー、プロジェクト、ローカル設定を無効にするには `[]` を渡します。管理ポリシー設定は関係なくロードされます。[Claude Code 機能を使用](/ja/agent-sdk/claude-code-features#what-settingsources-does-not-control) を参照してください |520| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI デフォルト(すべてのソース) | ロードするファイルシステム設定を制御します。ユーザー、プロジェクト、ローカル設定を無効にするには `[]` を渡します。管理ポリシー設定は関係なくロードされます。[Claude Code 機能を使用](/ja/agent-sdk/claude-code-features#what-settingsources-does-not-control) を参照してください |

414| `skills` | `string[] \| 'all'` | `undefined` | セッションで利用可能なスキル。すべての検出されたスキルを有効にするには `'all'` を渡すか、スキル名のリストを渡します。設定すると、SDK は `allowedTools` にリストされていなくても Skill ツールを自動的に有効にします。[スキル](/ja/agent-sdk/skills) を参照してください |521| `skills` | `string[] \| 'all'` | `undefined` | セッションで利用可能なスキル。すべての検出されたスキルを有効にするには `'all'` を渡すか、スキル名のリストを渡します。設定すると、SDK は `allowedTools` にリストされていなくても Skill ツールを自動的に有効にします。[スキル](/ja/agent-sdk/skills) を参照してください |

415| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Claude Code プロセスをスポーンするカスタム関数。VM、コンテナ、またはリモート環境で Claude Code を実行するために使用します |522| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Claude Code プロセスをスポーンするカスタム関数。VM、コンテナ、またはリモート環境で Claude Code を実行するために使用します |

416| `stderr` | `(data: string) => void` | `undefined` | stderr 出力のコールバック |523| `stderr` | `(data: string) => void` | `undefined` | stderr 出力のコールバック |

417| `strictMcpConfig` | `boolean` | `false` | `mcpServers` で渡されたサーバーのみを使用し、プロジェクト `.mcp.json`、ユーザー設定、プラグイン提供の MCP サーバーを無視します |524| `strictMcpConfig` | `boolean` | `false` | `mcpServers` で渡されたサーバーのみを使用し、プロジェクト `.mcp.json`、ユーザー設定、プラグイン提供の MCP サーバー、および [claude.ai コネクタ](/ja/mcp#use-mcp-servers-from-claude-ai) を無視します |

418| `systemPrompt` | `string \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean }` | `undefined`(最小限のプロンプト) | システムプロンプト設定。カスタムプロンプト用の文字列を渡すか、Claude Code のシステムプロンプトを使用するには `{ type: 'preset', preset: 'claude_code' }` を渡します。プリセットオブジェクト形式を使用する場合、追加の指示で拡張するには `append` を追加し、[マシン全体でプロンプトキャッシュの再利用を改善](/ja/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) するためにセッションごとのコンテキストを最初のユーザーメッセージに移動するには `excludeDynamicSections: true` を設定します |525| `systemPrompt` | `string \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean }` | `undefined`(最小限のプロンプト) | システムプロンプト設定。カスタムプロンプト用の文字列を渡すか、Claude Code のシステムプロンプトを使用するには `{ type: 'preset', preset: 'claude_code' }` を渡します。プリセットオブジェクト形式を使用する場合、追加の指示で拡張するには `append` を追加し、[マシン全体でプロンプトキャッシュの再利用を改善](/ja/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) するためにセッションごとのコンテキストを最初のユーザーメッセージに移動するには `excludeDynamicSections: true` を設定します |

526| `taskBudget` | `{ total: number }` | `undefined` | *アルファ版。* API サイドのタスク予算(トークン単位)。設定すると、モデルは残りのトークン予算を知らされるため、ツール使用のペースを調整し、制限前にラップアップできます |

419| `thinking` | [`ThinkingConfig`](#thinkingconfig) | サポートされているモデルの場合 `{ type: 'adaptive' }` | Claude の思考/推論動作を制御します。オプションについては [`ThinkingConfig`](#thinkingconfig) を参照してください |527| `thinking` | [`ThinkingConfig`](#thinkingconfig) | サポートされているモデルの場合 `{ type: 'adaptive' }` | Claude の思考/推論動作を制御します。オプションについては [`ThinkingConfig`](#thinkingconfig) を参照してください |

528| `title` | `string` | `undefined` | セッションの表示タイトル。`resume` または `continue` を介して再開する場合、再開されたセッションの永続化されたタイトルが優先されます。既存のセッションを再タイトルするには [`renameSession()`](#renamesession) を使用してください |

529| `toolAliases` | `Record<string, string>` | `undefined` | 組み込みツール名を MCP ツール名にマップして、Claude が組み込みの代わりに MCP 実装を呼び出すようにします。例えば、`{ Bash: 'mcp__workspace__bash' }` |

420| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | 組み込みツール動作の設定。詳細は [`ToolConfig`](#toolconfig) を参照してください |530| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | 組み込みツール動作の設定。詳細は [`ToolConfig`](#toolconfig) を参照してください |

421| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | ツール設定。ツール名の配列を渡すか、Claude Code のデフォルトツールを取得するにはプリセットを使用します |531| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | ツール設定。ツール名の配列を渡すか、Claude Code のデフォルトツールを取得するにはプリセットを使用します |

422 532 

423#### 遅いまたは停止した API レスポンスを処理533<h4 id="handle-slow-or-stalled-api-responses">

534 遅いまたは停止した API レスポンスを処理

535</h4>

424 536 

425CLI サブプロセスは、API タイムアウトと停止検出を制御するいくつかの環境変数を読み取ります。`env` オプションを通じてそれらを渡します:537CLI サブプロセスは、API タイムアウトと停止検出を制御するいくつかの環境変数を読み取ります。`env` オプションを通じてそれらを渡します:

426 538 


443* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`:`run_in_background` で起動されたサブエージェントの停止ウォッチドッグ。デフォルト `600000`。各ストリームイベントでリセットされます。停止時にサブエージェントを中止し、タスクを失敗とマークし、部分的な結果を含むエラーを親に表示します。同期サブエージェントには適用されません。555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`:`run_in_background` で起動されたサブエージェントの停止ウォッチドッグ。デフォルト `600000`。各ストリームイベントでリセットされます。停止時にサブエージェントを中止し、タスクを失敗とマークし、部分的な結果を含むエラーを親に表示します。同期サブエージェントには適用されません。

444* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` と `CLAUDE_STREAM_IDLE_TIMEOUT_MS`:ヘッダーが到着したがレスポンスボディがストリーミングを停止したときにリクエストを中止します。デフォルトではオフです。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` はデフォルトで `300000` で、その最小値にクランプされます。中止されたリクエストは通常のリトライパスを通ります。556* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` と `CLAUDE_STREAM_IDLE_TIMEOUT_MS`:ヘッダーが到着したがレスポンスボディがストリーミングを停止したときにリクエストを中止します。デフォルトではオフです。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` はデフォルトで `300000` で、その最小値にクランプされます。中止されたリクエストは通常のリトライパスを通ります。

445 557 

446### `Query` オブジェクト558<h3 id="query-object">

559 `Query` オブジェクト

560</h3>

447 561 

448`query()` 関数によって返されるインターフェース。562`query()` 関数によって返されるインターフェース。

449 563 


473}587}

474```588```

475 589 

476#### メソッド590<h4 id="methods">

591 メソッド

592</h4>

477 593 

478| メソッド | 説明 |594| メソッド | 説明 |

479| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |595| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |


496| `stopTask(taskId)` | ID で実行中のバックグラウンドタスクを停止します |612| `stopTask(taskId)` | ID で実行中のバックグラウンドタスクを停止します |

497| `close()` | クエリを閉じて、基になるプロセスを終了します。クエリを強制的に終了し、すべてのリソースをクリーンアップします |613| `close()` | クエリを閉じて、基になるプロセスを終了します。クエリを強制的に終了し、すべてのリソースをクリーンアップします |

498 614 

499#### `applyFlagSettings()`615<h4 id="applyflagsettings">

616 `applyFlagSettings()`

617</h4>

500 618 

501実行中のセッションで任意の [設定](/ja/settings) を変更します。クエリを再開せずに変更します。エージェントが信頼できない入力を読み取った後に `permissions` を厳しくするなど、専用セッターがない設定を変更する必要がある場合に使用します。`setModel()` と `setPermissionMode()` はこれら 2 つのキーの専用セッターです。`applyFlagSettings()` は、設定キーの任意のサブセットを受け入れる一般的な形式であり、ここで `model` を渡すことは `setModel()` と同じように動作します。619実行中のセッションで任意の [設定](/ja/settings) を変更します。クエリを再開せずに変更します。エージェントが信頼できない入力を読み取った後に `permissions` を厳しくするなど、専用セッターがない設定を変更する必要がある場合に使用します。`setModel()` と `setPermissionMode()` はこれら 2 つのキーの専用セッターです。`applyFlagSettings()` は、設定キーの任意のサブセットを受け入れる一般的な形式であり、ここで `model` を渡すことは `setModel()` と同じように動作します。

502 620 

621ミッドセッションで効果を発揮するキーのみ:

622 

623* **次のターンで適用される**:`model`、`effortLevel`、`ultracode`、`permissions`、`hooks`、`skillOverrides`、`fastMode`、`awaySummaryEnabled`、`agent`。`agent` を切り替えると、そのエージェントのモデルオーバーライド、フック、システムプロンプトも次のターンで適用されます。

624* **ミッドセッションで効果なし**:システムプロンプトオプション。これらはスタートアップ時に 1 回解決されるため、実行中のセッションは呼び出しが成功しても元の値を保持します。それらを変更するには、新しいセッションを開始してください。

625 

503値はフラグ設定レイヤーに書き込まれます。これは、`query()` のインライン `settings` オプションがスタートアップ時に入力するのと同じレイヤーです。フラグ設定は [設定優先順位](/ja/settings#settings-precedence) の上部付近に位置します。ユーザー、プロジェクト、ローカル設定をオーバーライドし、管理ポリシー設定のみがそれらをオーバーライドできます。これは、[優先順位セクション](#settings-precedence) がプログラム的なオプションと呼ぶのと同じティアです。626値はフラグ設定レイヤーに書き込まれます。これは、`query()` のインライン `settings` オプションがスタートアップ時に入力するのと同じレイヤーです。フラグ設定は [設定優先順位](/ja/settings#settings-precedence) の上部付近に位置します。ユーザー、プロジェクト、ローカル設定をオーバーライドし、管理ポリシー設定のみがそれらをオーバーライドできます。これは、[優先順位セクション](#settings-precedence) がプログラム的なオプションと呼ぶのと同じティアです。

504 627 

505連続した呼び出しは、トップレベルキーを浅くマージします。`{ permissions: {...} }` を含む 2 番目の呼び出しは、前の呼び出しから `permissions` オブジェクト全体を置き換えます。深くマージするのではなく。フラグレイヤーからキーをクリアして、より低い優先度のソースにフォールバックするには、そのキーに `null` を渡します。`undefined` を渡すと、JSON シリアル化がそれをドロップするため、効果がありません。628連続した呼び出しは、トップレベルキーを浅くマージします。`{ permissions: {...} }` を含む 2 番目の呼び出しは、前の呼び出しから `permissions` オブジェクト全体を置き換えます。深くマージするのではなく。フラグレイヤーからキーをクリアして、より低い優先度のソースにフォールバックするには、そのキーに `null` を渡します。`undefined` を渡すと、JSON シリアル化がそれをドロップするため、効果がありません。


522 `applyFlagSettings()` は TypeScript のみです。Python SDK は同等のメソッドを公開していません。645 `applyFlagSettings()` は TypeScript のみです。Python SDK は同等のメソッドを公開していません。

523</Note>646</Note>

524 647 

525### `WarmQuery`648<h3 id="warmquery">

649 `WarmQuery`

650</h3>

526 651 

527[`startup()`](#startup) によって返されるハンドル。サブプロセスは既にスポーンされ、初期化されているため、このハンドルで `query()` を呼び出すと、スタートアップレイテンシーなしで準備ができているプロセスにプロンプトを直接書き込みます。652[`startup()`](#startup) によって返されるハンドル。サブプロセスは既にスポーンされ、初期化されているため、このハンドルで `query()` を呼び出すと、スタートアップレイテンシーなしで準備ができているプロセスにプロンプトを直接書き込みます。

528 653 


533}658}

534```659```

535 660 

536#### メソッド661<h4 id="methods">

662 メソッド

663</h4>

537 664 

538| メソッド | 説明 |665| メソッド | 説明 |

539| :-------------- | :------------------------------------------------------------------------------------------ |666| :-------------- | :------------------------------------------------------------------------------------------ |


542 669 

543`WarmQuery` は `AsyncDisposable` を実装しているため、自動クリーンアップのために `await using` で使用できます。670`WarmQuery` は `AsyncDisposable` を実装しているため、自動クリーンアップのために `await using` で使用できます。

544 671 

545### `SDKControlInitializeResponse`672<h3 id="sdkcontrolinitializeresponse">

673 `SDKControlInitializeResponse`

674</h3>

546 675 

547`initializationResult()` の戻り値の型。セッション初期化データを含みます。676`initializationResult()` の戻り値の型。セッション初期化データを含みます。

548 677 


558};687};

559```688```

560 689 

561### `AgentDefinition`690クライアントが既に実行中のセッションに `initialize` を送信する場合、コントロールレスポンスラッパーは、オプションの `pending_permission_requests` 配列も含みます。フィールドはレスポンスラッパー自体にあり、上記の `SDKControlInitializeResponse` ペイロードにはありません。各エントリは、セッションが実行中にストリーミングするパーミッションリクエストと同じ `{ type: "control_request", request_id, request }` 形状を持つ完全な `control_request` メッセージです。

691 

692これらは、クライアントが接続する前に発行され、まだ返信を待っているリクエストであるため、この配列を読み取って、進行中のパーミッションプロンプトをすぐに表示します。それらは再送信されません。

693 

694<h3 id="agentdefinition">

695 `AgentDefinition`

696</h3>

562 697 

563プログラムで定義されたサブエージェントの設定。698プログラムで定義されたサブエージェントの設定。

564 699 


598| `permissionMode` | いいえ | このエージェント内のツール実行のパーミッションモード。[`PermissionMode`](#permissionmode) を参照してください |733| `permissionMode` | いいえ | このエージェント内のツール実行のパーミッションモード。[`PermissionMode`](#permissionmode) を参照してください |

599| `criticalSystemReminder_EXPERIMENTAL` | いいえ | 実験的:システムプロンプトに追加される重要なリマインダー |734| `criticalSystemReminder_EXPERIMENTAL` | いいえ | 実験的:システムプロンプトに追加される重要なリマインダー |

600 735 

601### `AgentMcpServerSpec`736<h3 id="agentmcpserverspec">

737 `AgentMcpServerSpec`

738</h3>

602 739 

603サブエージェントで利用可能な MCP サーバーを指定します。サーバー名(親の `mcpServers` 設定からサーバーを参照する文字列)またはインラインサーバー設定レコード(サーバー名を設定にマッピング)です。740サブエージェントで利用可能な MCP サーバーを指定します。サーバー名(親の `mcpServers` 設定からサーバーを参照する文字列)またはインラインサーバー設定レコード(サーバー名を設定にマッピング)です。

604 741 


608 745 

609ここで `McpServerConfigForProcessTransport` は `McpStdioServerConfig | McpSSEServerConfig | McpHttpServerConfig | McpSdkServerConfig` です。746ここで `McpServerConfigForProcessTransport` は `McpStdioServerConfig | McpSSEServerConfig | McpHttpServerConfig | McpSdkServerConfig` です。

610 747 

611### `SettingSource`748<h3 id="settingsource">

749 `SettingSource`

750</h3>

612 751 

613SDK がどのファイルシステムベースの設定ソースから設定をロードするかを制御します。752SDK がどのファイルシステムベースの設定ソースから設定をロードするかを制御します。

614 753 


622| `'project'` | 共有プロジェクト設定(バージョン管理) | `.claude/settings.json` |761| `'project'` | 共有プロジェクト設定(バージョン管理) | `.claude/settings.json` |

623| `'local'` | ローカルプロジェクト設定(gitignored) | `.claude/settings.local.json` |762| `'local'` | ローカルプロジェクト設定(gitignored) | `.claude/settings.local.json` |

624 763 

625#### デフォルト動作764<h4 id="default-behavior">

765 デフォルト動作

766</h4>

626 767 

627`settingSources` が省略または `undefined` の場合、`query()` は Claude Code CLI と同じファイルシステム設定をロードします:ユーザー、プロジェクト、ローカル。管理ポリシー設定はすべての場合にロードされます。このオプションに関係なく読み取られる入力については [settingSources が制御しないもの](/ja/agent-sdk/claude-code-features#what-settingsources-does-not-control) を参照してください。768`settingSources` が省略または `undefined` の場合、`query()` は Claude Code CLI と同じファイルシステム設定をロードします:ユーザー、プロジェクト、ローカル。管理ポリシー設定はすべての場合にロードされます。このオプションに関係なく読み取られる入力については [Claude Code 機能を使用](/ja/agent-sdk/claude-code-features#what-settingsources-does-not-control) を参照してください。

628 769 

629#### settingSources を使用する理由770<h4 id="why-use-settingsources">

771 settingSources を使用する理由

772</h4>

630 773 

631**ファイルシステム設定を無効にする:**774**ファイルシステム設定を無効にする:**

632 775 


711});854});

712```855```

713 856 

714#### 設定の優先順位857<h4 id="settings-precedence">

858 設定の優先順位

859</h4>

715 860 

716複数のソースがロードされる場合、設定はこの優先順位(高から低)でマージされます:861複数のソースがロードされる場合、設定はこの優先順位(高から低)でマージされます:

717 862 


721 866 

722`agents` と `allowedTools` などのプログラム的なオプションは、ユーザー、プロジェクト、ローカルのファイルシステム設定をオーバーライドします。管理ポリシー設定はプログラム的なオプションより優先されます。867`agents` と `allowedTools` などのプログラム的なオプションは、ユーザー、プロジェクト、ローカルのファイルシステム設定をオーバーライドします。管理ポリシー設定はプログラム的なオプションより優先されます。

723 868 

724### `PermissionMode`869<h3 id="permissionmode">

870 `PermissionMode`

871</h3>

725 872 

726```typescript theme={null}873```typescript theme={null}

727type PermissionMode =874type PermissionMode =


733 | "auto"; // モデル分類器を使用して各ツール呼び出しを承認または拒否880 | "auto"; // モデル分類器を使用して各ツール呼び出しを承認または拒否

734```881```

735 882 

736### `CanUseTool`883<h3 id="canusetool">

884 `CanUseTool`

885</h3>

737 886 

738ツール使用を制御するためのカスタムパーミッション関数型。887ツール使用を制御するためのカスタムパーミッション関数型。

739 888 


761| `toolUseID` | `string` | アシスタントメッセージ内のこの特定のツール呼び出しの一意の識別子 |910| `toolUseID` | `string` | アシスタントメッセージ内のこの特定のツール呼び出しの一意の識別子 |

762| `agentID` | `string` | サブエージェント内で実行している場合、サブエージェントの ID |911| `agentID` | `string` | サブエージェント内で実行している場合、サブエージェントの ID |

763 912 

764### `PermissionResult`913<h3 id="permissionresult">

914 `PermissionResult`

915</h3>

765 916 

766パーミッションチェックの結果。917パーミッションチェックの結果。

767 918 


781 };932 };

782```933```

783 934 

784### `ToolConfig`935<h3 id="toolconfig">

936 `ToolConfig`

937</h3>

785 938 

786組み込みツール動作の設定。939組み込みツール動作の設定。

787 940 


797| :------------------------------ | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |950| :------------------------------ | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |

798| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | [`AskUserQuestion`](/ja/agent-sdk/user-input#question-format) オプションの `preview` フィールドにオプトインし、そのコンテンツ形式を設定します。設定されていない場合、Claude はプレビューを発行しません |951| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | [`AskUserQuestion`](/ja/agent-sdk/user-input#question-format) オプションの `preview` フィールドにオプトインし、そのコンテンツ形式を設定します。設定されていない場合、Claude はプレビューを発行しません |

799 952 

800### `McpServerConfig`953<h3 id="mcpserverconfig">

954 `McpServerConfig`

955</h3>

801 956 

802MCP サーバーの設定。957MCP サーバーの設定。

803 958 


809 | McpSdkServerConfigWithInstance;964 | McpSdkServerConfigWithInstance;

810```965```

811 966 

812#### `McpStdioServerConfig`967<h4 id="mcpstdioserverconfig">

968 `McpStdioServerConfig`

969</h4>

813 970 

814```typescript theme={null}971```typescript theme={null}

815type McpStdioServerConfig = {972type McpStdioServerConfig = {


820};977};

821```978```

822 979 

823#### `McpSSEServerConfig`980<h4 id="mcpsseserverconfig">

981 `McpSSEServerConfig`

982</h4>

824 983 

825```typescript theme={null}984```typescript theme={null}

826type McpSSEServerConfig = {985type McpSSEServerConfig = {


830};989};

831```990```

832 991 

833#### `McpHttpServerConfig`992<h4 id="mcphttpserverconfig">

993 `McpHttpServerConfig`

994</h4>

834 995 

835```typescript theme={null}996```typescript theme={null}

836type McpHttpServerConfig = {997type McpHttpServerConfig = {


840};1001};

841```1002```

842 1003 

843#### `McpSdkServerConfigWithInstance`1004<h4 id="mcpsdkserverconfigwithinstance">

1005 `McpSdkServerConfigWithInstance`

1006</h4>

844 1007 

845```typescript theme={null}1008```typescript theme={null}

846type McpSdkServerConfigWithInstance = {1009type McpSdkServerConfigWithInstance = {


850};1013};

851```1014```

852 1015 

853#### `McpClaudeAIProxyServerConfig`1016<h4 id="mcpclaudeaiproxyserverconfig">

1017 `McpClaudeAIProxyServerConfig`

1018</h4>

854 1019 

855```typescript theme={null}1020```typescript theme={null}

856type McpClaudeAIProxyServerConfig = {1021type McpClaudeAIProxyServerConfig = {


860};1025};

861```1026```

862 1027 

863### `SdkPluginConfig`1028<h3 id="sdkpluginconfig">

1029 `SdkPluginConfig`

1030</h3>

864 1031 

865SDK でプラグインをロードするための設定。1032SDK でプラグインをロードするための設定。

866 1033 


887 1054 

888プラグインの作成と使用に関する完全な情報については、[プラグイン](/ja/agent-sdk/plugins) を参照してください。1055プラグインの作成と使用に関する完全な情報については、[プラグイン](/ja/agent-sdk/plugins) を参照してください。

889 1056 

890## メッセージ型1057<h2 id="message-types">

1058 メッセージ型

1059</h2>

891 1060 

892### `SDKMessage`1061<h3 id="sdkmessage">

1062 `SDKMessage`

1063</h3>

893 1064 

894クエリによって返されるすべての可能なメッセージの共用体型。1065クエリによって返されるすべての可能なメッセージの共用体型。

895 1066 


914 | SDKTaskStartedMessage1085 | SDKTaskStartedMessage

915 | SDKTaskProgressMessage1086 | SDKTaskProgressMessage

916 | SDKTaskUpdatedMessage1087 | SDKTaskUpdatedMessage

1088 | SDKSessionStateChangedMessage

1089 | SDKCommandsChangedMessage

1090 | SDKNotificationMessage

917 | SDKFilesPersistedEvent1091 | SDKFilesPersistedEvent

918 | SDKToolUseSummaryMessage1092 | SDKToolUseSummaryMessage

1093 | SDKMemoryRecallMessage

919 | SDKRateLimitEvent1094 | SDKRateLimitEvent

1095 | SDKElicitationCompleteMessage

920 | SDKPermissionDeniedMessage1096 | SDKPermissionDeniedMessage

921 | SDKPromptSuggestionMessage;1097 | SDKPromptSuggestionMessage

1098 | SDKAPIRetryMessage

1099 | SDKMirrorErrorMessage;

922```1100```

923 1101 

924### `SDKAssistantMessage`1102<h3 id="sdkassistantmessage">

1103 `SDKAssistantMessage`

1104</h3>

925 1105 

926アシスタント応答メッセージ。1106アシスタント応答メッセージ。

927 1107 


938 1118 

939`message` フィールドは Anthropic SDK の [`BetaMessage`](https://platform.claude.com/docs/ja/api/messages/create) です。`id`、`content`、`model`、`stop_reason`、`usage` などのフィールドを含みます。1119`message` フィールドは Anthropic SDK の [`BetaMessage`](https://platform.claude.com/docs/ja/api/messages/create) です。`id`、`content`、`model`、`stop_reason`、`usage` などのフィールドを含みます。

940 1120 

941`SDKAssistantMessageError` は以下のいずれかです:`'authentication_failed'`、`'oauth_org_not_allowed'`、`'billing_error'`、`'rate_limit'`、`'invalid_request'`、`'server_error'`、`'max_output_tokens'`、または `'unknown'`。1121`SDKAssistantMessageError` は以下のいずれかです:`'authentication_failed'`、`'oauth_org_not_allowed'`、`'billing_error'`、`'rate_limit'`、`'overloaded'`、`'invalid_request'`、`'model_not_found'`、`'server_error'`、`'max_output_tokens'`、または `'unknown'`。`'model_not_found'` は、選択されたモデルが存在しないか、アカウントまたはデプロイメントで利用できないことを意味します。`'overloaded'` は、API がサーバーが容量に達しているため 529 を返したことを意味し、`'rate_limit'` はクォータに対する 429 とは異なります。

942 1122 

943### `SDKUserMessage`1123<h3 id="sdkusermessage">

1124 `SDKUserMessage`

1125</h3>

944 1126 

945ユーザー入力メッセージ。1127ユーザー入力メッセージ。

946 1128 


960 1142 

961`shouldQuery` を `false` に設定して、アシスタントターンをトリガーせずにメッセージをトランスクリプトに追加します。メッセージは保持され、ターンをトリガーする次のユーザーメッセージにマージされます。これを使用して、バンド外で実行したコマンドの出力など、モデル呼び出しを費やさずにコンテキストを注入します。1143`shouldQuery` を `false` に設定して、アシスタントターンをトリガーせずにメッセージをトランスクリプトに追加します。メッセージは保持され、ターンをトリガーする次のユーザーメッセージにマージされます。これを使用して、バンド外で実行したコマンドの出力など、モデル呼び出しを費やさずにコンテキストを注入します。

962 1144 

963### `SDKUserMessageReplay`1145<h3 id="sdkusermessagereplay">

1146 `SDKUserMessageReplay`

1147</h3>

964 1148 

965必須 UUID を含む再生されたユーザーメッセージ。1149必須 UUID を含む再生されたユーザーメッセージ。

966 1150 


978};1162};

979```1163```

980 1164 

981### `SDKResultMessage`1165<h3 id="sdkresultmessage">

1166 `SDKResultMessage`

1167</h3>

982 1168 

983最終結果メッセージ。1169最終結果メッセージ。

984 1170 


992 duration_ms: number;1178 duration_ms: number;

993 duration_api_ms: number;1179 duration_api_ms: number;

994 is_error: boolean;1180 is_error: boolean;

1181 api_error_status?: number | null;

995 num_turns: number;1182 num_turns: number;

996 result: string;1183 result: string;

997 stop_reason: string | null;1184 stop_reason: string | null;

1185 ttft_ms?: number;

998 total_cost_usd: number;1186 total_cost_usd: number;

999 usage: NonNullableUsage;1187 usage: NonNullableUsage;

1000 modelUsage: { [modelName: string]: ModelUsage };1188 modelUsage: { [modelName: string]: ModelUsage };

1001 permission_denials: SDKPermissionDenial[];1189 permission_denials: SDKPermissionDenial[];

1002 structured_output?: unknown;1190 structured_output?: unknown;

1003 deferred_tool_use?: { id: string; name: string; input: Record<string, unknown> };1191 deferred_tool_use?: { id: string; name: string; input: Record<string, unknown> };

1192 terminal_reason?: TerminalReason;

1193 fast_mode_state?: FastModeState;

1004 origin?: SDKMessageOrigin;1194 origin?: SDKMessageOrigin;

1005 }1195 }

1006 | {1196 | {


1022 modelUsage: { [modelName: string]: ModelUsage };1212 modelUsage: { [modelName: string]: ModelUsage };

1023 permission_denials: SDKPermissionDenial[];1213 permission_denials: SDKPermissionDenial[];

1024 errors: string[];1214 errors: string[];

1215 terminal_reason?: TerminalReason;

1216 fast_mode_state?: FastModeState;

1025 origin?: SDKMessageOrigin;1217 origin?: SDKMessageOrigin;

1026 };1218 };

1027```1219```

1028 1220 

1221結果の複数のフィールドは、`subtype` を超えた診断詳細を提供します:

1222 

1223* `api_error_status`:会話を終了させた API エラーの HTTP ステータスコード。ターンが API エラーなしで終了した場合、存在しないか `null` です。

1224* `ttft_ms`:最初のトークンまでの時間(ミリ秒)。成功の場合のみ存在します。

1225* `terminal_reason`:ループが終了した理由。`"completed"`、`"max_turns"`、`"tool_deferred"`、`"aborted_streaming"`、`"aborted_tools"`、`"hook_stopped"`、`"stop_hook_prevented"`、`"blocking_limit"`、`"rapid_refill_breaker"`、`"prompt_too_long"`、`"image_error"`、または `"model_error"` のいずれかです。

1226* `fast_mode_state`:`"on"`、`"off"`、または `"cooldown"` のいずれかです。

1227 

1029`origin` フィールドは、この結果をトリガーしたユーザーメッセージの [`SDKMessageOrigin`](#sdkmessageorigin) を転送します。バックグラウンドタスクが完了し、SDK が合成フォローアップターンを注入する場合、結果の `SDKResultMessage` は `origin: { kind: "task-notification" }` を持ちます。このフィールドをチェックして、プロンプトに答える結果とバックグラウンドタスクのフォローアップで発行される結果を区別し、後者をルーティングまたは抑制できます。このフィールドは、スタートアップエラーなど、ユーザーターンの前に発行される結果には存在しません。1228`origin` フィールドは、この結果をトリガーしたユーザーメッセージの [`SDKMessageOrigin`](#sdkmessageorigin) を転送します。バックグラウンドタスクが完了し、SDK が合成フォローアップターンを注入する場合、結果の `SDKResultMessage` は `origin: { kind: "task-notification" }` を持ちます。このフィールドをチェックして、プロンプトに答える結果とバックグラウンドタスクのフォローアップで発行される結果を区別し、後者をルーティングまたは抑制できます。このフィールドは、スタートアップエラーなど、ユーザーターンの前に発行される結果には存在しません。

1030 1229 

1031`PreToolUse` フックが `permissionDecision: "defer"` を返すと、結果は `stop_reason: "tool_deferred"` を持ち、`deferred_tool_use` は保留中のツールの `id`、`name`、`input` を保持します。このフィールドを読んで、独自の UI でリクエストをサーフェスし、同じ `session_id` で再開して続行します。完全なラウンドトリップについては、[ツール呼び出しを後で延期する](/ja/hooks#defer-a-tool-call-for-later)を参照してください。1230`PreToolUse` フックが `permissionDecision: "defer"` を返すと、結果は `stop_reason: "tool_deferred"` を持ち、`deferred_tool_use` は保留中のツールの `id`、`name`、`input` を保持します。このフィールドを読んで、独自の UI でリクエストをサーフェスし、同じ `session_id` で再開して続行します。完全なラウンドトリップについては、[ツール呼び出しを後で延期する](/ja/hooks#defer-a-tool-call-for-later)を参照してください。

1032 1231 

1033### `SDKSystemMessage`1232<h3 id="sdksystemmessage">

1233 `SDKSystemMessage`

1234</h3>

1034 1235 

1035システム初期化メッセージ。1236システム初期化メッセージ。

1036 1237 


1059};1260};

1060```1261```

1061 1262 

1062### `SDKPartialAssistantMessage`1263<h3 id="sdkpartialassistantmessage">

1264 `SDKPartialAssistantMessage`

1265</h3>

1063 1266 

1064ストリーミング部分メッセージ(`includePartialMessages` が true の場合のみ)。1267ストリーミング部分メッセージ(`includePartialMessages` が true の場合のみ)。

1065 1268 


1073};1276};

1074```1277```

1075 1278 

1076### `SDKCompactBoundaryMessage`1279<h3 id="sdkcompactboundarymessage">

1280 `SDKCompactBoundaryMessage`

1281</h3>

1077 1282 

1078会話圧縮境界を示すメッセージ。1283会話圧縮境界を示すメッセージ。

1079 1284 


1090};1295};

1091```1296```

1092 1297 

1093### `SDKPluginInstallMessage`1298<h3 id="sdkplugininstallmessage">

1299 `SDKPluginInstallMessage`

1300</h3>

1094 1301 

1095プラグインインストール進捗イベント。[`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/ja/env-vars) が設定されている場合に発行されるため、Agent SDK アプリケーションは最初のターンの前にマーケットプレイスプラグインのインストールを追跡できます。`started` と `completed` ステータスは全体的なインストールをブラケットします。`installed` と `failed` ステータスは個別のマーケットプレイスをレポートし、`name` を含みます。1302プラグインインストール進捗イベント。[`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/ja/env-vars) が設定されている場合に発行されるため、Agent SDK アプリケーションは最初のターンの前にマーケットプレイスプラグインのインストールを追跡できます。`started` と `completed` ステータスは全体的なインストールをブラケットします。`installed` と `failed` ステータスは個別のマーケットプレイスをレポートし、`name` を含みます。

1096 1303 


1106};1313};

1107```1314```

1108 1315 

1109### `SDKPermissionDeniedMessage`1316<h3 id="sdkpermissiondeniedmessage">

1317 `SDKPermissionDeniedMessage`

1318</h3>

1110 1319 

1111権限システムがインタラクティブプロンプトなしでツール呼び出しを自動的に拒否するときに発行されるストリームイベント。これを使用して、その後に続く `is_error` ツール結果のみを観察するのではなく、拒否を UI にリアルタイムでレンダリングします。インタラクティブな質問パスは、[`canUseTool`](#canusetool) コールバックを通じてアプリケーションに別途到達します。`PreToolUse` フックによって発行された拒否は、このイベントを通じてレポートされません。1320権限システムがインタラクティブプロンプトなしでツール呼び出しを自動的に拒否するときに発行されるストリームイベント。これを使用して、その後に続く `is_error` ツール結果のみを観察するのではなく、拒否を UI にリアルタイムでレンダリングします。インタラクティブな質問パスは、[`canUseTool`](#canusetool) コールバックを通じてアプリケーションに別途到達します。`PreToolUse` フックによって発行された拒否は、このイベントを通じてレポートされません。

1112 1321 


1136| `decision_reason` | `string` | 利用可能な場合、決定したコンポーネントからの人間が読める理由 |1345| `decision_reason` | `string` | 利用可能な場合、決定したコンポーネントからの人間が読める理由 |

1137| `message` | `string` | `tool_result` でモデルに返される拒否メッセージ |1346| `message` | `string` | `tool_result` でモデルに返される拒否メッセージ |

1138 1347 

1139### `SDKPermissionDenial`1348<h3 id="sdkpermissiondenial">

1349 `SDKPermissionDenial`

1350</h3>

1140 1351 

1141拒否されたツール使用に関する情報。1352拒否されたツール使用に関する情報。

1142 1353 


1148};1359};

1149```1360```

1150 1361 

1151### `SDKMessageOrigin`1362<h3 id="sdkmessageorigin">

1363 `SDKMessageOrigin`

1364</h3>

1152 1365 

1153ユーザーロールメッセージの出所。これは [`SDKUserMessage`](#sdkusermessage) の `origin` として表示され、対応する [`SDKResultMessage`](#sdkresultmessage) に転送されるため、特定のターンをトリガーしたものを判断できます。1366ユーザーロールメッセージの出所。これは [`SDKUserMessage`](#sdkusermessage) の `origin` として表示され、対応する [`SDKResultMessage`](#sdkresultmessage) に転送されるため、特定のターンをトリガーしたものを判断できます。

1154 1367 


1169| `task-notification` | バックグラウンドタスク完了後に注入される合成ターン。[`SDKTaskNotificationMessage`](#sdktasknotificationmessage) を参照してください。 |1382| `task-notification` | バックグラウンドタスク完了後に注入される合成ターン。[`SDKTaskNotificationMessage`](#sdktasknotificationmessage) を参照してください。 |

1170| `coordinator` | [エージェントチーム](/ja/agent-teams)のチームコーディネーターからのメッセージ。 |1383| `coordinator` | [エージェントチーム](/ja/agent-teams)のチームコーディネーターからのメッセージ。 |

1171 1384 

1172## フック型1385<h2 id="hook-types">

1386 フック型

1387</h2>

1173 1388 

1174フックの使用に関する包括的なガイド、例、一般的なパターンについては、[フックガイド](/ja/agent-sdk/hooks) を参照してください。1389フックの使用に関する包括的なガイド、例、一般的なパターンについては、[フックガイド](/ja/agent-sdk/hooks) を参照してください。

1175 1390 

1176### `HookEvent`1391<h3 id="hookevent">

1392 `HookEvent`

1393</h3>

1177 1394 

1178利用可能なフックイベント。1395利用可能なフックイベント。

1179 1396 


1197 | "TaskCompleted"1414 | "TaskCompleted"

1198 | "ConfigChange"1415 | "ConfigChange"

1199 | "WorktreeCreate"1416 | "WorktreeCreate"

1200 | "WorktreeRemove";1417 | "WorktreeRemove"

1418 | "MessageDisplay";

1201```1419```

1202 1420 

1203### `HookCallback`1421<h3 id="hookcallback">

1422 `HookCallback`

1423</h3>

1204 1424 

1205フックコールバック関数型。1425フックコールバック関数型。

1206 1426 


1212) => Promise<HookJSONOutput>;1432) => Promise<HookJSONOutput>;

1213```1433```

1214 1434 

1215### `HookCallbackMatcher`1435<h3 id="hookcallbackmatcher">

1436 `HookCallbackMatcher`

1437</h3>

1216 1438 

1217オプションのマッチャーを含むフック設定。1439オプションのマッチャーを含むフック設定。

1218 1440 


1224}1446}

1225```1447```

1226 1448 

1227### `HookInput`1449<h3 id="hookinput">

1450 `HookInput`

1451</h3>

1228 1452 

1229すべてのフック入力型の共用体型。1453すべてのフック入力型の共用体型。

1230 1454 


1248 | TaskCompletedHookInput1472 | TaskCompletedHookInput

1249 | ConfigChangeHookInput1473 | ConfigChangeHookInput

1250 | WorktreeCreateHookInput1474 | WorktreeCreateHookInput

1251 | WorktreeRemoveHookInput;1475 | WorktreeRemoveHookInput

1476 | MessageDisplayHookInput;

1252```1477```

1253 1478 

1254### `BaseHookInput`1479<h3 id="basehookinput">

1480 `BaseHookInput`

1481</h3>

1255 1482 

1256すべてのフック入力型が拡張する基本インターフェース。1483すべてのフック入力型が拡張する基本インターフェース。

1257 1484 


1267};1494};

1268```1495```

1269 1496 

1270#### `PreToolUseHookInput`1497<h4 id="pretoolusehookinput">

1498 `PreToolUseHookInput`

1499</h4>

1271 1500 

1272```typescript theme={null}1501```typescript theme={null}

1273type PreToolUseHookInput = BaseHookInput & {1502type PreToolUseHookInput = BaseHookInput & {


1278};1507};

1279```1508```

1280 1509 

1281#### `PostToolUseHookInput`1510<h4 id="posttoolusehookinput">

1511 `PostToolUseHookInput`

1512</h4>

1282 1513 

1283```typescript theme={null}1514```typescript theme={null}

1284type PostToolUseHookInput = BaseHookInput & {1515type PostToolUseHookInput = BaseHookInput & {


1291};1522};

1292```1523```

1293 1524 

1294#### `PostToolUseFailureHookInput`1525<h4 id="posttoolusefailurehookinput">

1526 `PostToolUseFailureHookInput`

1527</h4>

1295 1528 

1296```typescript theme={null}1529```typescript theme={null}

1297type PostToolUseFailureHookInput = BaseHookInput & {1530type PostToolUseFailureHookInput = BaseHookInput & {


1305};1538};

1306```1539```

1307 1540 

1308#### `PostToolBatchHookInput`1541<h4 id="posttoolbatchhookinput">

1542 `PostToolBatchHookInput`

1543</h4>

1309 1544 

1310バッチ内のすべてのツール呼び出しが解決された後、次のモデルリクエストの前に 1 回発火します。`tool_response` はモデルが見るシリアル化された `tool_result` コンテンツを保持します。形状は `PostToolUseHookInput` の構造化された `Output` オブジェクトとは異なります。1545バッチ内のすべてのツール呼び出しが解決された後、次のモデルリクエストの前に 1 回発火します。`tool_response` はモデルが見るシリアル化された `tool_result` コンテンツを保持します。形状は `PostToolUseHookInput` の構造化された `Output` オブジェクトとは異なります。

1311 1546 


1323};1558};

1324```1559```

1325 1560 

1326#### `NotificationHookInput`1561<h4 id="notificationhookinput">

1562 `NotificationHookInput`

1563</h4>

1327 1564 

1328```typescript theme={null}1565```typescript theme={null}

1329type NotificationHookInput = BaseHookInput & {1566type NotificationHookInput = BaseHookInput & {


1334};1571};

1335```1572```

1336 1573 

1337#### `UserPromptSubmitHookInput`1574<h4 id="userpromptsubmithookinput">

1575 `UserPromptSubmitHookInput`

1576</h4>

1338 1577 

1339```typescript theme={null}1578```typescript theme={null}

1340type UserPromptSubmitHookInput = BaseHookInput & {1579type UserPromptSubmitHookInput = BaseHookInput & {


1343};1582};

1344```1583```

1345 1584 

1346#### `SessionStartHookInput`1585<h4 id="sessionstarthookinput">

1586 `SessionStartHookInput`

1587</h4>

1347 1588 

1348```typescript theme={null}1589```typescript theme={null}

1349type SessionStartHookInput = BaseHookInput & {1590type SessionStartHookInput = BaseHookInput & {


1354};1595};

1355```1596```

1356 1597 

1357#### `SessionEndHookInput`1598<h4 id="sessionendhookinput">

1599 `SessionEndHookInput`

1600</h4>

1358 1601 

1359```typescript theme={null}1602```typescript theme={null}

1360type SessionEndHookInput = BaseHookInput & {1603type SessionEndHookInput = BaseHookInput & {


1363};1606};

1364```1607```

1365 1608 

1366#### `StopHookInput`1609<h4 id="stophookinput">

1610 `StopHookInput`

1611</h4>

1367 1612 

1368```typescript theme={null}1613```typescript theme={null}

1369type StopHookInput = BaseHookInput & {1614type StopHookInput = BaseHookInput & {

1370 hook_event_name: "Stop";1615 hook_event_name: "Stop";

1371 stop_hook_active: boolean;1616 stop_hook_active: boolean;

1372 last_assistant_message?: string;1617 last_assistant_message?: string;

1618 background_tasks?: BackgroundTaskSummary[];

1619 session_crons?: SessionCronSummary[];

1373};1620};

1374```1621```

1375 1622 

1376#### `SubagentStartHookInput`1623<h4 id="subagentstarthookinput">

1624 `SubagentStartHookInput`

1625</h4>

1377 1626 

1378```typescript theme={null}1627```typescript theme={null}

1379type SubagentStartHookInput = BaseHookInput & {1628type SubagentStartHookInput = BaseHookInput & {


1383};1632};

1384```1633```

1385 1634 

1386#### `SubagentStopHookInput`1635<h4 id="subagentstophookinput">

1636 `SubagentStopHookInput`

1637</h4>

1387 1638 

1388```typescript theme={null}1639```typescript theme={null}

1389type SubagentStopHookInput = BaseHookInput & {1640type SubagentStopHookInput = BaseHookInput & {


1393 agent_transcript_path: string;1644 agent_transcript_path: string;

1394 agent_type: string;1645 agent_type: string;

1395 last_assistant_message?: string;1646 last_assistant_message?: string;

1647 background_tasks?: BackgroundTaskSummary[];

1648 session_crons?: SessionCronSummary[];

1649};

1650 

1651type BackgroundTaskSummary = {

1652 id: string;

1653 type: string;

1654 status: string;

1655 description: string;

1656 command?: string;

1657 agent_type?: string;

1658 server?: string;

1659 tool?: string;

1660 name?: string;

1661};

1662 

1663type SessionCronSummary = {

1664 id: string;

1665 schedule: string;

1666 recurring: boolean;

1667 prompt: string;

1396};1668};

1397```1669```

1398 1670 

1399#### `PreCompactHookInput`1671<h4 id="precompacthookinput">

1672 `PreCompactHookInput`

1673</h4>

1400 1674 

1401```typescript theme={null}1675```typescript theme={null}

1402type PreCompactHookInput = BaseHookInput & {1676type PreCompactHookInput = BaseHookInput & {


1406};1680};

1407```1681```

1408 1682 

1409#### `PermissionRequestHookInput`1683<h4 id="permissionrequesthookinput">

1684 `PermissionRequestHookInput`

1685</h4>

1410 1686 

1411```typescript theme={null}1687```typescript theme={null}

1412type PermissionRequestHookInput = BaseHookInput & {1688type PermissionRequestHookInput = BaseHookInput & {


1417};1693};

1418```1694```

1419 1695 

1420#### `SetupHookInput`1696<h4 id="setuphookinput">

1697 `SetupHookInput`

1698</h4>

1421 1699 

1422```typescript theme={null}1700```typescript theme={null}

1423type SetupHookInput = BaseHookInput & {1701type SetupHookInput = BaseHookInput & {


1426};1704};

1427```1705```

1428 1706 

1429#### `TeammateIdleHookInput`1707<h4 id="teammateidlehookinput">

1708 `TeammateIdleHookInput`

1709</h4>

1430 1710 

1431```typescript theme={null}1711```typescript theme={null}

1432type TeammateIdleHookInput = BaseHookInput & {1712type TeammateIdleHookInput = BaseHookInput & {


1436};1716};

1437```1717```

1438 1718 

1439#### `TaskCompletedHookInput`1719<h4 id="taskcompletedhookinput">

1720 `TaskCompletedHookInput`

1721</h4>

1440 1722 

1441```typescript theme={null}1723```typescript theme={null}

1442type TaskCompletedHookInput = BaseHookInput & {1724type TaskCompletedHookInput = BaseHookInput & {


1449};1731};

1450```1732```

1451 1733 

1452#### `ConfigChangeHookInput`1734<h4 id="configchangehookinput">

1735 `ConfigChangeHookInput`

1736</h4>

1453 1737 

1454```typescript theme={null}1738```typescript theme={null}

1455type ConfigChangeHookInput = BaseHookInput & {1739type ConfigChangeHookInput = BaseHookInput & {


1464};1748};

1465```1749```

1466 1750 

1467#### `WorktreeCreateHookInput`1751<h4 id="worktreecreatehookinput">

1752 `WorktreeCreateHookInput`

1753</h4>

1468 1754 

1469```typescript theme={null}1755```typescript theme={null}

1470type WorktreeCreateHookInput = BaseHookInput & {1756type WorktreeCreateHookInput = BaseHookInput & {


1473};1759};

1474```1760```

1475 1761 

1476#### `WorktreeRemoveHookInput`1762<h4 id="worktreeremovehookinput">

1763 `WorktreeRemoveHookInput`

1764</h4>

1477 1765 

1478```typescript theme={null}1766```typescript theme={null}

1479type WorktreeRemoveHookInput = BaseHookInput & {1767type WorktreeRemoveHookInput = BaseHookInput & {


1482};1770};

1483```1771```

1484 1772 

1485### `HookJSONOutput`1773<h4 id="messagedisplayhookinput">

1774 `MessageDisplayHookInput`

1775</h4>

1776 

1777```typescript theme={null}

1778type MessageDisplayHookInput = BaseHookInput & {

1779 hook_event_name: "MessageDisplay";

1780 turn_id: string;

1781 message_id: string;

1782 index: number;

1783 final: boolean;

1784 delta: string;

1785};

1786```

1787 

1788<h3 id="hookjsonoutput">

1789 `HookJSONOutput`

1790</h3>

1486 1791 

1487フック戻り値。1792フック戻り値。

1488 1793 


1490type HookJSONOutput = AsyncHookJSONOutput | SyncHookJSONOutput;1795type HookJSONOutput = AsyncHookJSONOutput | SyncHookJSONOutput;

1491```1796```

1492 1797 

1493#### `AsyncHookJSONOutput`1798<h4 id="asynchookjsonoutput">

1799 `AsyncHookJSONOutput`

1800</h4>

1494 1801 

1495```typescript theme={null}1802```typescript theme={null}

1496type AsyncHookJSONOutput = {1803type AsyncHookJSONOutput = {


1499};1806};

1500```1807```

1501 1808 

1502#### `SyncHookJSONOutput`1809<h4 id="synchookjsonoutput">

1810 `SyncHookJSONOutput`

1811</h4>

1503 1812 

1504```typescript theme={null}1813```typescript theme={null}

1505type SyncHookJSONOutput = {1814type SyncHookJSONOutput = {


1569};1878};

1570```1879```

1571 1880 

1572## ツール入力型1881<h2 id="tool-input-types">

1882 ツール入力型

1883</h2>

1573 1884 

1574すべての組み込み Claude Code ツールの入力スキーマのドキュメント。これらの型は `@anthropic-ai/claude-agent-sdk` からエクスポートされ、タイプセーフなツール相互作用に使用できます。1885すべての組み込み Claude Code ツールの入力スキーマのドキュメント。これらの型は `@anthropic-ai/claude-agent-sdk` からエクスポートされ、タイプセーフなツール相互作用に使用できます。

1575 1886 

1576### `ToolInputSchemas`1887<h3 id="toolinputschemas">

1888 `ToolInputSchemas`

1889</h3>

1577 1890 

1578すべてのツール入力型の共用体。`@anthropic-ai/claude-agent-sdk` からエクスポートされます。1891すべてのツール入力型の共用体。`@anthropic-ai/claude-agent-sdk` からエクスポートされます。

1579 1892 


1606 | UnsubscribeMcpResourceInput1919 | UnsubscribeMcpResourceInput

1607 | UnsubscribePollingInput1920 | UnsubscribePollingInput

1608 | WebFetchInput1921 | WebFetchInput

1609 | WebSearchInput;1922 | WebSearchInput

1923 | WorkflowInput;

1610```1924```

1611 1925 

1612### Agent1926<h3 id="agent">

1927 Agent

1928</h3>

1613 1929 

1614**ツール名:** `Agent`(以前は `Task`。これはまだエイリアスとして受け入れられます)1930**ツール名:** `Agent`(以前は `Task`。これはまだエイリアスとして受け入れられます)

1615 1931 


1631 1947 

1632複雑なマルチステップタスクを自律的に処理する新しいエージェントを起動します。1948複雑なマルチステップタスクを自律的に処理する新しいエージェントを起動します。

1633 1949 

1634### AskUserQuestion1950<h3 id="askuserquestion">

1951 AskUserQuestion

1952</h3>

1635 1953 

1636**ツール名:** `AskUserQuestion`1954**ツール名:** `AskUserQuestion`

1637 1955 


1648 1966 

1649実行中にユーザーに明確化の質問をします。使用方法の詳細については、[承認とユーザー入力を処理](/ja/agent-sdk/user-input#handle-clarifying-questions) を参照してください。1967実行中にユーザーに明確化の質問をします。使用方法の詳細については、[承認とユーザー入力を処理](/ja/agent-sdk/user-input#handle-clarifying-questions) を参照してください。

1650 1968 

1651### Bash1969<h3 id="bash">

1970 Bash

1971</h3>

1652 1972 

1653**ツール名:** `Bash`1973**ツール名:** `Bash`

1654 1974 


1664 1984 

1665オプションのタイムアウトとバックグラウンド実行を備えた永続的なシェルセッションで bash コマンドを実行します。1985オプションのタイムアウトとバックグラウンド実行を備えた永続的なシェルセッションで bash コマンドを実行します。

1666 1986 

1667### Monitor1987<h3 id="monitor">

1988 Monitor

1989</h3>

1668 1990 

1669**ツール名:** `Monitor`1991**ツール名:** `Monitor`

1670 1992 


1679 2001 

1680バックグラウンドスクリプトを実行し、各 stdout 行を Claude にイベントとして配信するため、ポーリングなしで反応できます。`persistent: true` をセッション長のウォッチ(ログテールなど)に設定します。Monitor は Bash と同じパーミッションルールに従います。動作とプロバイダーの可用性については、[Monitor ツールリファレンス](/ja/tools-reference#monitor-tool) を参照してください。2002バックグラウンドスクリプトを実行し、各 stdout 行を Claude にイベントとして配信するため、ポーリングなしで反応できます。`persistent: true` をセッション長のウォッチ(ログテールなど)に設定します。Monitor は Bash と同じパーミッションルールに従います。動作とプロバイダーの可用性については、[Monitor ツールリファレンス](/ja/tools-reference#monitor-tool) を参照してください。

1681 2003 

1682### TaskOutput2004<h3 id="taskoutput">

2005 TaskOutput

2006</h3>

1683 2007 

1684**ツール名:** `TaskOutput`2008**ツール名:** `TaskOutput`

1685 2009 


1693 2017 

1694実行中または完了したバックグラウンドタスクから出力を取得します。2018実行中または完了したバックグラウンドタスクから出力を取得します。

1695 2019 

1696### Edit2020<h3 id="edit">

2021 Edit

2022</h3>

1697 2023 

1698**ツール名:** `Edit`2024**ツール名:** `Edit`

1699 2025 


1708 2034 

1709ファイル内で正確な文字列置換を実行します。2035ファイル内で正確な文字列置換を実行します。

1710 2036 

1711### Read2037<h3 id="read">

2038 Read

2039</h3>

1712 2040 

1713**ツール名:** `Read`2041**ツール名:** `Read`

1714 2042 


1723 2051 

1724テキスト、画像、PDF、Jupyter ノートブックを含むローカルファイルシステムからファイルを読み取ります。PDF ページ範囲には `pages` を使用します(例:`"1-5"`)。2052テキスト、画像、PDF、Jupyter ノートブックを含むローカルファイルシステムからファイルを読み取ります。PDF ページ範囲には `pages` を使用します(例:`"1-5"`)。

1725 2053 

1726### Write2054<h3 id="write">

2055 Write

2056</h3>

1727 2057 

1728**ツール名:** `Write`2058**ツール名:** `Write`

1729 2059 


1736 2066 

1737ローカルファイルシステムにファイルを書き込み、存在する場合は上書きします。2067ローカルファイルシステムにファイルを書き込み、存在する場合は上書きします。

1738 2068 

1739### Glob2069<h3 id="glob">

2070 Glob

2071</h3>

1740 2072 

1741**ツール名:** `Glob`2073**ツール名:** `Glob`

1742 2074 


1749 2081 

1750任意のコードベースサイズで機能する高速ファイルパターンマッチング。2082任意のコードベースサイズで機能する高速ファイルパターンマッチング。

1751 2083 

1752### Grep2084<h3 id="grep">

2085 Grep

2086</h3>

1753 2087 

1754**ツール名:** `Grep`2088**ツール名:** `Grep`

1755 2089 


1774 2108 

1775ripgrep に基づいた正規表現サポート付きの強力な検索ツール。2109ripgrep に基づいた正規表現サポート付きの強力な検索ツール。

1776 2110 

1777### TaskStop2111<h3 id="taskstop">

2112 TaskStop

2113</h3>

1778 2114 

1779**ツール名:** `TaskStop`2115**ツール名:** `TaskStop`

1780 2116 


1787 2123 

1788ID でバックグラウンドタスクまたはシェルを停止します。2124ID でバックグラウンドタスクまたはシェルを停止します。

1789 2125 

1790### NotebookEdit2126<h3 id="notebookedit">

2127 NotebookEdit

2128</h3>

1791 2129 

1792**ツール名:** `NotebookEdit`2130**ツール名:** `NotebookEdit`

1793 2131 


1803 2141 

1804Jupyter ノートブックファイルのセルを編集します。2142Jupyter ノートブックファイルのセルを編集します。

1805 2143 

1806### WebFetch2144<h3 id="webfetch">

2145 WebFetch

2146</h3>

1807 2147 

1808**ツール名:** `WebFetch`2148**ツール名:** `WebFetch`

1809 2149 


1816 2156 

1817URL からコンテンツを取得し、AI モデルで処理します。2157URL からコンテンツを取得し、AI モデルで処理します。

1818 2158 

1819### WebSearch2159<h3 id="websearch">

2160 WebSearch

2161</h3>

1820 2162 

1821**ツール名:** `WebSearch`2163**ツール名:** `WebSearch`

1822 2164 


1830 2172 

1831ウェブを検索し、フォーマットされた結果を返します。2173ウェブを検索し、フォーマットされた結果を返します。

1832 2174 

1833### TodoWrite2175<h3 id="workflow">

2176 Workflow

2177</h3>

2178 

2179**ツール名:** `Workflow`

2180 

2181```typescript theme={null}

2182type WorkflowInput = {

2183 script?: string;

2184 name?: string;

2185 scriptPath?: string;

2186 args?: unknown;

2187 resumeFromRunId?: string;

2188};

2189```

2190 

2191[動的ワークフロー](/ja/workflows) を実行します。これは多くのサブエージェントをバックグラウンドで調整し、1 つの統合結果を返すスクリプトです。`Workflow` ツールは Agent SDK v0.3.149 以降で利用可能です。`script`、`name`、または `scriptPath` の少なくとも 1 つが必要です。

2192 

2193| フィールド | 型 | 説明 |

2194| ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2195| `script` | `string` | インラインワークフロースクリプト。リテラルとして `export const meta = { name, description, phases }` で始まり、その後に `agent()`、`parallel()`、`pipeline()`、および `phase()` を使用するスクリプト本体が続く必要があります |

2196| `name` | `string` | 組み込みワークフローまたは `.claude/workflows/` に保存されたワークフローの名前。スクリプトに解決されます |

2197| `scriptPath` | `string` | ディスク上のワークフロースクリプトファイルへのパス。`script` と `name` より優先されます。すべての呼び出しはそのスクリプトを永続化し、結果でパスを返すため、そのファイルを編集して同じ `scriptPath` で再度呼び出して反復処理できます |

2198| `args` | `unknown` | スクリプトにグローバル `args` として公開される入力値。研究質問またはファイルパスのリストなど、パラメータ化された名前付きワークフロー用です。配列とオブジェクトを JSON エンコード文字列ではなく実際の JSON 値として渡します |

2199| `resumeFromRunId` | `string` | 再開する前の `Workflow` 呼び出しの実行 ID。変更されていない入力を持つ完了した `agent()` 呼び出しはキャッシュされた結果を返します。変更または新しい呼び出しのみがライブで実行されます。同じセッションのみ |

2200 

2201<h3 id="todowrite">

2202 TodoWrite

2203</h3>

1834 2204 

1835**ツール名:** `TodoWrite`2205**ツール名:** `TodoWrite`

1836 2206 


1850 TypeScript Agent SDK 0.3.142 以降、`TodoWrite` はデフォルトで無効になっています。代わりに `TaskCreate`、`TaskGet`、`TaskUpdate`、および `TaskList` を使用してください。監視コードを更新するには、[Task ツールへの移行](/ja/agent-sdk/todo-tracking#migrate-to-task-tools) を参照するか、`CLAUDE_CODE_ENABLE_TASKS=0` を設定して `TodoWrite` に戻してください。2220 TypeScript Agent SDK 0.3.142 以降、`TodoWrite` はデフォルトで無効になっています。代わりに `TaskCreate`、`TaskGet`、`TaskUpdate`、および `TaskList` を使用してください。監視コードを更新するには、[Task ツールへの移行](/ja/agent-sdk/todo-tracking#migrate-to-task-tools) を参照するか、`CLAUDE_CODE_ENABLE_TASKS=0` を設定して `TodoWrite` に戻してください。

1851</Note>2221</Note>

1852 2222 

1853### TaskCreate2223<h3 id="taskcreate">

2224 TaskCreate

2225</h3>

1854 2226 

1855**ツール名:** `TaskCreate`2227**ツール名:** `TaskCreate`

1856 2228 


1865 2237 

1866単一のタスクを作成し、割り当てられた ID を返します。2238単一のタスクを作成し、割り当てられた ID を返します。

1867 2239 

1868### TaskUpdate2240<h3 id="taskupdate">

2241 TaskUpdate

2242</h3>

1869 2243 

1870**ツール名:** `TaskUpdate`2244**ツール名:** `TaskUpdate`

1871 2245 


1885 2259 

1886ID でタスクを 1 つパッチします。`status` を `"deleted"` に設定して削除します。2260ID でタスクを 1 つパッチします。`status` を `"deleted"` に設定して削除します。

1887 2261 

1888### TaskGet2262<h3 id="taskget">

2263 TaskGet

2264</h3>

1889 2265 

1890**ツール名:** `TaskGet`2266**ツール名:** `TaskGet`

1891 2267 


1897 2273 

18981 つのタスクの完全な詳細を返すか、ID が見つからない場合は `null` を返します。22741 つのタスクの完全な詳細を返すか、ID が見つからない場合は `null` を返します。

1899 2275 

1900### TaskList2276<h3 id="tasklist">

2277 TaskList

2278</h3>

1901 2279 

1902**ツール名:** `TaskList`2280**ツール名:** `TaskList`

1903 2281 


1907 2285 

1908現在のリストのすべてのタスクのスナップショットを返します。2286現在のリストのすべてのタスクのスナップショットを返します。

1909 2287 

1910### ExitPlanMode2288<h3 id="exitplanmode">

2289 ExitPlanMode

2290</h3>

1911 2291 

1912**ツール名:** `ExitPlanMode`2292**ツール名:** `ExitPlanMode`

1913 2293 


1922 2302 

1923計画モードを終了します。オプションで、計画を実装するために必要なプロンプトベースのパーミッションを指定します。2303計画モードを終了します。オプションで、計画を実装するために必要なプロンプトベースのパーミッションを指定します。

1924 2304 

1925### ListMcpResources2305<h3 id="listmcpresources">

2306 ListMcpResources

2307</h3>

1926 2308 

1927**ツール名:** `ListMcpResources`2309**ツール名:** `ListMcpResourcesTool`

1928 2310 

1929```typescript theme={null}2311```typescript theme={null}

1930type ListMcpResourcesInput = {2312type ListMcpResourcesInput = {


1934 2316 

1935接続されたサーバーから利用可能な MCP リソースをリストします。2317接続されたサーバーから利用可能な MCP リソースをリストします。

1936 2318 

1937### ReadMcpResource2319<h3 id="readmcpresource">

2320 ReadMcpResource

2321</h3>

1938 2322 

1939**ツール名:** `ReadMcpResource`2323**ツール名:** `ReadMcpResourceTool`

1940 2324 

1941```typescript theme={null}2325```typescript theme={null}

1942type ReadMcpResourceInput = {2326type ReadMcpResourceInput = {


1947 2331 

1948サーバーから特定の MCP リソースを読み取ります。2332サーバーから特定の MCP リソースを読み取ります。

1949 2333 

1950### EnterWorktree2334<h3 id="enterworktree">

2335 EnterWorktree

2336</h3>

1951 2337 

1952**ツール名:** `EnterWorktree`2338**ツール名:** `EnterWorktree`

1953 2339 


1960 2346 

1961分離された作業用の一時的な git worktree を作成して入力します。新しい worktree を作成する代わりに、現在のリポジトリの既存の worktree に切り替えるには `path` を渡します。`name` と `path` は相互に排他的です。2347分離された作業用の一時的な git worktree を作成して入力します。新しい worktree を作成する代わりに、現在のリポジトリの既存の worktree に切り替えるには `path` を渡します。`name` と `path` は相互に排他的です。

1962 2348 

1963## ツール出力型2349<h2 id="tool-output-types">

2350 ツール出力型

2351</h2>

1964 2352 

1965すべての組み込み Claude Code ツールの出力スキーマのドキュメント。これらの型は `@anthropic-ai/claude-agent-sdk` からエクスポートされ、各ツールによって返される実際の応答データを表します。2353すべての組み込み Claude Code ツールの出力スキーマのドキュメント。これらの型は `@anthropic-ai/claude-agent-sdk` からエクスポートされ、各ツールによって返される実際の応答データを表します。

1966 2354 

1967### `ToolOutputSchemas`2355<h3 id="tooloutputschemas">

2356 `ToolOutputSchemas`

2357</h3>

1968 2358 

1969すべてのツール出力型の共用体。2359すべてのツール出力型の共用体。

1970 2360 


1991 | TaskUpdateOutput2381 | TaskUpdateOutput

1992 | TodoWriteOutput2382 | TodoWriteOutput

1993 | WebFetchOutput2383 | WebFetchOutput

1994 | WebSearchOutput;2384 | WebSearchOutput

2385 | WorkflowOutput;

1995```2386```

1996 2387 

1997### Agent2388<h3 id="agent">

2389 Agent

2390</h3>

1998 2391 

1999**ツール名:** `Agent`(以前は `Task`。これはまだエイリアスとして受け入れられます)2392**ツール名:** `Agent`(以前は `Task`。これはまだエイリアスとして受け入れられます)

2000 2393 


2041 2434 

2042サブエージェントからの結果を返します。`status` フィールドで判別されます:完了したタスクの場合は `"completed"`、バックグラウンドタスクの場合は `"async_launched"`、インタラクティブサブエージェントの場合は `"sub_agent_entered"`。2435サブエージェントからの結果を返します。`status` フィールドで判別されます:完了したタスクの場合は `"completed"`、バックグラウンドタスクの場合は `"async_launched"`、インタラクティブサブエージェントの場合は `"sub_agent_entered"`。

2043 2436 

2044### AskUserQuestion2437<h3 id="askuserquestion">

2438 AskUserQuestion

2439</h3>

2045 2440 

2046**ツール名:** `AskUserQuestion`2441**ツール名:** `AskUserQuestion`

2047 2442 


2054 multiSelect: boolean;2449 multiSelect: boolean;

2055 }>;2450 }>;

2056 answers: Record<string, string>;2451 answers: Record<string, string>;

2452 response?: string;

2057};2453};

2058```2454```

2059 2455 

2060質問とユーザーの回答を返します。2456質問とユーザーの回答を返します。`response` はユーザーが構造化された質問に答える代わりに自由形式の返信を入力した場合に設定されます。存在する場合、Claude は質問ごとの回答リストの代わりに「ユーザーが応答しました:…」を受け取ります。

2061 2457 

2062### Bash2458<h3 id="bash">

2459 Bash

2460</h3>

2063 2461 

2064**ツール名:** `Bash`2462**ツール名:** `Bash`

2065 2463 


2082 2480 

2083stdout/stderr が分割されたコマンド出力を返します。バックグラウンドコマンドには `backgroundTaskId` が含まれます。2481stdout/stderr が分割されたコマンド出力を返します。バックグラウンドコマンドには `backgroundTaskId` が含まれます。

2084 2482 

2085### Monitor2483<h3 id="monitor">

2484 Monitor

2485</h3>

2086 2486 

2087**ツール名:** `Monitor`2487**ツール名:** `Monitor`

2088 2488 


2096 2496 

2097実行中のモニターのバックグラウンドタスク ID を返します。この ID を `TaskStop` で使用して、ウォッチを早期にキャンセルします。2497実行中のモニターのバックグラウンドタスク ID を返します。この ID を `TaskStop` で使用して、ウォッチを早期にキャンセルします。

2098 2498 

2099### Edit2499<h3 id="edit">

2500 Edit

2501</h3>

2100 2502 

2101**ツール名:** `Edit`2503**ツール名:** `Edit`

2102 2504 


2128 2530 

2129編集操作の構造化された diff を返します。2531編集操作の構造化された diff を返します。

2130 2532 

2131### Read2533<h3 id="read">

2534 Read

2535</h3>

2132 2536 

2133**ツール名:** `Read`2537**ツール名:** `Read`

2134 2538 


2186 2590 

2187ファイルタイプに適切な形式でファイルコンテンツを返します。`type` フィールドで判別されます。2591ファイルタイプに適切な形式でファイルコンテンツを返します。`type` フィールドで判別されます。

2188 2592 

2189### Write2593<h3 id="write">

2594 Write

2595</h3>

2190 2596 

2191**ツール名:** `Write`2597**ツール名:** `Write`

2192 2598 


2216 2622 

2217構造化された diff 情報を含む書き込み結果を返します。2623構造化された diff 情報を含む書き込み結果を返します。

2218 2624 

2219### Glob2625<h3 id="glob">

2626 Glob

2627</h3>

2220 2628 

2221**ツール名:** `Glob`2629**ツール名:** `Glob`

2222 2630 


2231 2639 

2232glob パターンに一致するファイルパスを返します。変更時刻でソートされます。2640glob パターンに一致するファイルパスを返します。変更時刻でソートされます。

2233 2641 

2234### Grep2642<h3 id="grep">

2643 Grep

2644</h3>

2235 2645 

2236**ツール名:** `Grep`2646**ツール名:** `Grep`

2237 2647 


2250 2660 

2251検索結果を返します。形状は `mode` によって異なります:ファイルリスト、マッチを含むコンテンツ、またはマッチ数。2661検索結果を返します。形状は `mode` によって異なります:ファイルリスト、マッチを含むコンテンツ、またはマッチ数。

2252 2662 

2253### TaskStop2663<h3 id="taskstop">

2664 TaskStop

2665</h3>

2254 2666 

2255**ツール名:** `TaskStop`2667**ツール名:** `TaskStop`

2256 2668 


2265 2677 

2266バックグラウンドタスクを停止した後の確認を返します。2678バックグラウンドタスクを停止した後の確認を返します。

2267 2679 

2268### NotebookEdit2680<h3 id="notebookedit">

2681 NotebookEdit

2682</h3>

2269 2683 

2270**ツール名:** `NotebookEdit`2684**ツール名:** `NotebookEdit`

2271 2685 


2285 2699 

2286元のファイルと更新されたファイルコンテンツを含むノートブック編集の結果を返します。2700元のファイルと更新されたファイルコンテンツを含むノートブック編集の結果を返します。

2287 2701 

2288### WebFetch2702<h3 id="webfetch">

2703 WebFetch

2704</h3>

2289 2705 

2290**ツール名:** `WebFetch`2706**ツール名:** `WebFetch`

2291 2707 


2302 2718 

2303HTTP ステータスとメタデータを含む取得されたコンテンツを返します。2719HTTP ステータスとメタデータを含む取得されたコンテンツを返します。

2304 2720 

2305### WebSearch2721<h3 id="websearch">

2722 WebSearch

2723</h3>

2306 2724 

2307**ツール名:** `WebSearch`2725**ツール名:** `WebSearch`

2308 2726 


2322 2740 

2323ウェブからの検索結果を返します。2741ウェブからの検索結果を返します。

2324 2742 

2325### TodoWrite2743<h3 id="workflow">

2744 Workflow

2745</h3>

2746 

2747**ツール名:** `Workflow`

2748 

2749```typescript theme={null}

2750type WorkflowOutput = {

2751 status: "async_launched";

2752 taskId: string;

2753 runId?: string;

2754 summary?: string;

2755 transcriptDir?: string;

2756 scriptPath?: string;

2757 error?: string;

2758};

2759```

2760 

2761ツールが呼び出しを受け入れた直後に返します。最終的な結果は後でタスク完了として到着します。実行が開始されたと見なす前に `error` を確認してください:構文チェックに失敗したスクリプトは `status: "async_launched"` と `error` セットで返され、実行されません。

2762 

2763| フィールド | 型 | 説明 |

2764| --------------- | ------------------ | ---------------------------------------------------------------------------- |

2765| `status` | `"async_launched"` | ツールが呼び出しを受け入れました。これはフィールドが取る唯一の値です |

2766| `taskId` | `string` | 実行のバックグラウンドタスク識別子 |

2767| `runId` | `string` | 後の呼び出しで `resumeFromRunId` として渡すワークフロー実行識別子 |

2768| `summary` | `string` | ワークフローが何をするかの 1 行の説明 |

2769| `transcriptDir` | `string` | 実行中にサブエージェントトランスクリプトが書き込まれるディレクトリ |

2770| `scriptPath` | `string` | この実行のために永続化されたワークフロースクリプトへのパス。編集して `scriptPath` として戻すことで、スクリプトを再送信せずに再実行できます |

2771| `error` | `string` | スクリプトが構文チェックに失敗した場合に設定されます。存在する場合、`async_launched` ステータスにもかかわらず実行は開始されませんでした |

2772 

2773<h3 id="todowrite">

2774 TodoWrite

2775</h3>

2326 2776 

2327**ツール名:** `TodoWrite`2777**ツール名:** `TodoWrite`

2328 2778 


2347 TypeScript Agent SDK 0.3.142 以降、`TodoWrite` はデフォルトで無効になっています。代わりに `TaskCreate`、`TaskGet`、`TaskUpdate`、および `TaskList` を使用してください。[タスクツールへの移行](/ja/agent-sdk/todo-tracking#migrate-to-task-tools)を参照して、監視コードを更新するか、`CLAUDE_CODE_ENABLE_TASKS=0` を設定して `TodoWrite` に戻してください。2797 TypeScript Agent SDK 0.3.142 以降、`TodoWrite` はデフォルトで無効になっています。代わりに `TaskCreate`、`TaskGet`、`TaskUpdate`、および `TaskList` を使用してください。[タスクツールへの移行](/ja/agent-sdk/todo-tracking#migrate-to-task-tools)を参照して、監視コードを更新するか、`CLAUDE_CODE_ENABLE_TASKS=0` を設定して `TodoWrite` に戻してください。

2348</Note>2798</Note>

2349 2799 

2350### TaskCreate2800<h3 id="taskcreate">

2801 TaskCreate

2802</h3>

2351 2803 

2352**ツール名:** `TaskCreate`2804**ツール名:** `TaskCreate`

2353 2805 


2362 2814 

2363割り当てられた ID を持つ作成されたタスクを返します。2815割り当てられた ID を持つ作成されたタスクを返します。

2364 2816 

2365### TaskUpdate2817<h3 id="taskupdate">

2818 TaskUpdate

2819</h3>

2366 2820 

2367**ツール名:** `TaskUpdate`2821**ツール名:** `TaskUpdate`

2368 2822 


2381 2835 

2382更新結果を返します。どのフィールドが変更されたかを含みます。2836更新結果を返します。どのフィールドが変更されたかを含みます。

2383 2837 

2384### TaskGet2838<h3 id="taskget">

2839 TaskGet

2840</h3>

2385 2841 

2386**ツール名:** `TaskGet`2842**ツール名:** `TaskGet`

2387 2843 


2400 2856 

2401完全なタスクレコードを返します。ID が見つからない場合は `null` を返します。2857完全なタスクレコードを返します。ID が見つからない場合は `null` を返します。

2402 2858 

2403### TaskList2859<h3 id="tasklist">

2860 TaskList

2861</h3>

2404 2862 

2405**ツール名:** `TaskList`2863**ツール名:** `TaskList`

2406 2864 


2418 2876 

2419現在のリスト内のすべてのタスクのスナップショットを返します。2877現在のリスト内のすべてのタスクのスナップショットを返します。

2420 2878 

2421### ExitPlanMode2879<h3 id="exitplanmode">

2880 ExitPlanMode

2881</h3>

2422 2882 

2423**ツール名:** `ExitPlanMode`2883**ツール名:** `ExitPlanMode`

2424 2884 


2435 2895 

2436計画モード終了後の計画状態を返します。2896計画モード終了後の計画状態を返します。

2437 2897 

2438### ListMcpResources2898<h3 id="listmcpresources">

2899 ListMcpResources

2900</h3>

2439 2901 

2440**ツール名:** `ListMcpResources`2902**ツール名:** `ListMcpResourcesTool`

2441 2903 

2442```typescript theme={null}2904```typescript theme={null}

2443type ListMcpResourcesOutput = Array<{2905type ListMcpResourcesOutput = Array<{


2451 2913 

2452利用可能な MCP リソースの配列を返します。2914利用可能な MCP リソースの配列を返します。

2453 2915 

2454### ReadMcpResource2916<h3 id="readmcpresource">

2917 ReadMcpResource

2918</h3>

2455 2919 

2456**ツール名:** `ReadMcpResource`2920**ツール名:** `ReadMcpResourceTool`

2457 2921 

2458```typescript theme={null}2922```typescript theme={null}

2459type ReadMcpResourceOutput = {2923type ReadMcpResourceOutput = {


2467 2931 

2468要求された MCP リソースのコンテンツを返します。2932要求された MCP リソースのコンテンツを返します。

2469 2933 

2470### EnterWorktree2934<h3 id="enterworktree">

2935 EnterWorktree

2936</h3>

2471 2937 

2472**ツール名:** `EnterWorktree`2938**ツール名:** `EnterWorktree`

2473 2939 


2481 2947 

2482git worktree に関する情報を返します。2948git worktree に関する情報を返します。

2483 2949 

2484## パーミッション型2950<h2 id="permission-types">

2951 パーミッション型

2952</h2>

2485 2953 

2486### `PermissionUpdate`2954<h3 id="permissionupdate">

2955 `PermissionUpdate`

2956</h3>

2487 2957 

2488パーミッション更新の操作。2958パーミッション更新の操作。

2489 2959 


2524 };2994 };

2525```2995```

2526 2996 

2527### `PermissionBehavior`2997<h3 id="permissionbehavior">

2998 `PermissionBehavior`

2999</h3>

2528 3000 

2529```typescript theme={null}3001```typescript theme={null}

2530type PermissionBehavior = "allow" | "deny" | "ask";3002type PermissionBehavior = "allow" | "deny" | "ask";

2531```3003```

2532 3004 

2533### `PermissionUpdateDestination`3005<h3 id="permissionupdatedestination">

3006 `PermissionUpdateDestination`

3007</h3>

2534 3008 

2535```typescript theme={null}3009```typescript theme={null}

2536type PermissionUpdateDestination =3010type PermissionUpdateDestination =


2541 | "cliArg"; // CLI 引数3015 | "cliArg"; // CLI 引数

2542```3016```

2543 3017 

2544### `PermissionRuleValue`3018<h3 id="permissionrulevalue">

3019 `PermissionRuleValue`

3020</h3>

2545 3021 

2546```typescript theme={null}3022```typescript theme={null}

2547type PermissionRuleValue = {3023type PermissionRuleValue = {


2550};3026};

2551```3027```

2552 3028 

2553## その他の型3029<h2 id="other-types">

3030 その他の型

3031</h2>

2554 3032 

2555### `ApiKeySource`3033<h3 id="apikeysource">

3034 `ApiKeySource`

3035</h3>

2556 3036 

2557```typescript theme={null}3037```typescript theme={null}

2558type ApiKeySource = "user" | "project" | "org" | "temporary" | "oauth";3038type ApiKeySource = "user" | "project" | "org" | "temporary" | "oauth";

2559```3039```

2560 3040 

2561### `SdkBeta`3041<h3 id="sdkbeta">

3042 `SdkBeta`

3043</h3>

2562 3044 

2563`betas` オプション経由で有効にできる利用可能なベータ機能。詳細は [ベータヘッダー](https://platform.claude.com/docs/ja/api/beta-headers) を参照してください。3045`betas` オプション経由で有効にできる利用可能なベータ機能。詳細は [ベータヘッダー](https://platform.claude.com/docs/ja/api/beta-headers) を参照してください。

2564 3046 


2570 `context-1m-2025-08-07` ベータは 2026 年 4 月 30 日時点で廃止されました。Claude Sonnet 4.5 または Sonnet 4 でこの値を渡すと効果がなく、標準 200k トークンコンテキストウィンドウを超えるリクエストはエラーを返します。1M トークンコンテキストウィンドウを使用するには、[Claude Sonnet 4.6、Claude Opus 4.6、または Claude Opus 4.7](https://platform.claude.com/docs/ja/about-claude/models/overview) に移行してください。これらには、ベータヘッダーなしで標準価格で 1M コンテキストが含まれます。3052 `context-1m-2025-08-07` ベータは 2026 年 4 月 30 日時点で廃止されました。Claude Sonnet 4.5 または Sonnet 4 でこの値を渡すと効果がなく、標準 200k トークンコンテキストウィンドウを超えるリクエストはエラーを返します。1M トークンコンテキストウィンドウを使用するには、[Claude Sonnet 4.6、Claude Opus 4.6、または Claude Opus 4.7](https://platform.claude.com/docs/ja/about-claude/models/overview) に移行してください。これらには、ベータヘッダーなしで標準価格で 1M コンテキストが含まれます。

2571</Warning>3053</Warning>

2572 3054 

2573### `SlashCommand`3055<h3 id="slashcommand">

3056 `SlashCommand`

3057</h3>

2574 3058 

2575利用可能なスラッシュコマンドに関する情報。3059利用可能なスラッシュコマンドに関する情報。

2576 3060 


2583};3067};

2584```3068```

2585 3069 

2586### `ModelInfo`3070<h3 id="modelinfo">

3071 `ModelInfo`

3072</h3>

2587 3073 

2588利用可能なモデルに関する情報。3074利用可能なモデルに関する情報。

2589 3075 


2599};3085};

2600```3086```

2601 3087 

2602### `AgentInfo`3088<h3 id="agentinfo">

3089 `AgentInfo`

3090</h3>

2603 3091 

2604Agent ツール経由で呼び出すことができる利用可能なサブエージェントに関する情報。3092Agent ツール経由で呼び出すことができる利用可能なサブエージェントに関する情報。

2605 3093 


2617| `description` | `string` | このエージェントをいつ使用するかの説明 |3105| `description` | `string` | このエージェントをいつ使用するかの説明 |

2618| `model` | `string \| undefined` | このエージェントが使用するモデルエイリアス。省略すると、親のモデルを継承します |3106| `model` | `string \| undefined` | このエージェントが使用するモデルエイリアス。省略すると、親のモデルを継承します |

2619 3107 

2620### `McpServerStatus`3108<h3 id="mcpserverstatus">

3109 `McpServerStatus`

3110</h3>

2621 3111 

2622接続された MCP サーバーのステータス。3112接続された MCP サーバーのステータス。

2623 3113 


2644};3134};

2645```3135```

2646 3136 

2647### `McpServerStatusConfig`3137<h3 id="mcpserverstatusconfig">

3138 `McpServerStatusConfig`

3139</h3>

2648 3140 

2649`mcpServerStatus()` によってレポートされた MCP サーバーの設定。これはすべての MCP サーバートランスポートタイプの共用体です。3141`mcpServerStatus()` によってレポートされた MCP サーバーの設定。これはすべての MCP サーバートランスポートタイプの共用体です。

2650 3142 


2659 3151 

2660各トランスポートタイプの詳細については、[`McpServerConfig`](#mcpserverconfig) を参照してください。3152各トランスポートタイプの詳細については、[`McpServerConfig`](#mcpserverconfig) を参照してください。

2661 3153 

2662### `AccountInfo`3154<h3 id="accountinfo">

3155 `AccountInfo`

3156</h3>

2663 3157 

2664認証されたユーザーのアカウント情報。3158認証されたユーザーのアカウント情報。

2665 3159 


2673};3167};

2674```3168```

2675 3169 

2676### `ModelUsage`3170<h3 id="modelusage">

3171 `ModelUsage`

3172</h3>

2677 3173 

2678結果メッセージで返されるモデルごとの使用統計。`costUSD` 値はクライアント側の推定です。請求に関する注意事項については、[コストと使用状況を追跡](/ja/agent-sdk/cost-tracking) を参照してください。3174結果メッセージで返されるモデルごとの使用統計。`costUSD` 値はクライアント側の推定です。請求に関する注意事項については、[コストと使用状況を追跡](/ja/agent-sdk/cost-tracking) を参照してください。

2679 3175 


2690};3186};

2691```3187```

2692 3188 

2693### `ConfigScope`3189<h3 id="configscope">

3190 `ConfigScope`

3191</h3>

2694 3192 

2695```typescript theme={null}3193```typescript theme={null}

2696type ConfigScope = "local" | "user" | "project";3194type ConfigScope = "local" | "user" | "project";

2697```3195```

2698 3196 

2699### `NonNullableUsage`3197<h3 id="nonnullableusage">

3198 `NonNullableUsage`

3199</h3>

2700 3200 

2701すべての nullable フィールドが non-nullable になった [`Usage`](#usage) のバージョン。3201すべての nullable フィールドが non-nullable になった [`Usage`](#usage) のバージョン。

2702 3202 


2706};3206};

2707```3207```

2708 3208 

2709### `Usage`3209<h3 id="usage">

3210 `Usage`

3211</h3>

2710 3212 

2711トークン使用統計`@anthropic-ai/sdk` から)3213トークン使用統計。これは `@anthropic-ai/sdk` の `BetaUsage` 型です

2712 3214 

2713```typescript theme={null}3215```typescript theme={null}

2714type Usage = {3216type Usage = {

2715 input_tokens: number | null;3217 input_tokens: number;

2716 output_tokens: number | null;3218 output_tokens: number;

2717 cache_creation_input_tokens?: number | null;3219 cache_creation_input_tokens: number | null;

2718 cache_read_input_tokens?: number | null;3220 cache_read_input_tokens: number | null;

3221 cache_creation: {

3222 ephemeral_5m_input_tokens: number;

3223 ephemeral_1h_input_tokens: number;

3224 } | null;

3225 server_tool_use: BetaServerToolUsage | null;

3226 service_tier: "standard" | "priority" | "batch" | null;

3227 speed: "standard" | "fast" | null;

3228 inference_geo: string | null;

3229 iterations: BetaIterationsUsage | null;

2719};3230};

2720```3231```

2721 3232 

2722### `CallToolResult`3233`BetaServerToolUsage` `BetaIterationsUsage` は `@anthropic-ai/sdk` で定義されています。

3234 

3235<h3 id="calltoolresult">

3236 `CallToolResult`

3237</h3>

2723 3238 

2724MCP ツール結果型(`@modelcontextprotocol/sdk/types.js` から)。`structuredContent` は `content` と一緒に返すことができる JSON オブジェクトで、画像ブロックを含みます。詳細は [構造化データを返す](/ja/agent-sdk/custom-tools#return-structured-data) を参照してください。3239MCP ツール結果型(`@modelcontextprotocol/sdk/types.js` から)。`structuredContent` は `content` と一緒に返すことができる JSON オブジェクトで、画像ブロックを含みます。詳細は [構造化データを返す](/ja/agent-sdk/custom-tools#return-structured-data) を参照してください。

2725 3240 


2734};3249};

2735```3250```

2736 3251 

2737### `ThinkingConfig`3252<h3 id="thinkingconfig">

3253 `ThinkingConfig`

3254</h3>

2738 3255 

2739Claude の思考/推論動作を制御します。非推奨の `maxThinkingTokens` より優先されます。3256Claude の思考/推論動作を制御します。非推奨の `maxThinkingTokens` より優先されます。

2740 3257 


2749 3266 

2750オプションの `display` フィールドは、思考テキストが `"summarized"` または `"omitted"` で返されるかどうかを制御します。Claude Opus 4.7 以降では、API のデフォルトは `"omitted"` であるため、`"summarized"` を設定して `thinking` ブロックで思考コンテンツを受け取ります。3267オプションの `display` フィールドは、思考テキストが `"summarized"` または `"omitted"` で返されるかどうかを制御します。Claude Opus 4.7 以降では、API のデフォルトは `"omitted"` であるため、`"summarized"` を設定して `thinking` ブロックで思考コンテンツを受け取ります。

2751 3268 

2752### `SpawnedProcess`3269<h3 id="spawnedprocess">

3270 `SpawnedProcess`

3271</h3>

2753 3272 

2754カスタムプロセススポーニング用のインターフェース(`spawnClaudeCodeProcess` オプションで使用)。`ChildProcess` は既にこのインターフェースを満たしています。3273カスタムプロセススポーニング用のインターフェース(`spawnClaudeCodeProcess` オプションで使用)。`ChildProcess` は既にこのインターフェースを満たしています。

2755 3274 


2778}3297}

2779```3298```

2780 3299 

2781### `SpawnOptions`3300<h3 id="spawnoptions">

3301 `SpawnOptions`

3302</h3>

2782 3303 

2783カスタムスポーン関数に渡されるオプション。3304カスタムスポーン関数に渡されるオプション。

2784 3305 


2792}3313}

2793```3314```

2794 3315 

2795### `McpSetServersResult`3316<Note>

3317 `signal` フィールドは、スポーン関数にプロセスをティアダウンするタイミングを通知します。Node の `spawn()` に `signal` オプションとして渡すか、VM またはコンテナティアダウンハンドラーに渡してください。

3318 

3319 このシグナルは、[`Options.abortController`](#options) が中止した瞬間には発火しません。SDK は最初にプロセスの stdin を閉じて約 2 秒待機し、CLI がクリーンにシャットダウンできるようにしてから、このシグナルを中止します。呼び出し元が中止した瞬間に反応するには、スポーン関数がそのエンクロージングスコープから参照できる独自の `Options.abortController.signal` をリッスンしてください。

3320</Note>

3321 

3322<h3 id="mcpsetserversresult">

3323 `McpSetServersResult`

3324</h3>

2796 3325 

2797`setMcpServers()` 操作の結果。3326`setMcpServers()` 操作の結果。

2798 3327 


2804};3333};

2805```3334```

2806 3335 

2807### `RewindFilesResult`3336<h3 id="rewindfilesresult">

3337 `RewindFilesResult`

3338</h3>

2808 3339 

2809`rewindFiles()` 操作の結果。3340`rewindFiles()` 操作の結果。

2810 3341 


2818};3349};

2819```3350```

2820 3351 

2821### `SDKStatusMessage`3352<h3 id="sdkstatusmessage">

3353 `SDKStatusMessage`

3354</h3>

2822 3355 

2823ステータス更新メッセージ(例:圧縮)。3356ステータス更新メッセージ(例:圧縮)。

2824 3357 


2833};3366};

2834```3367```

2835 3368 

2836### `SDKTaskNotificationMessage`3369<h3 id="sdktasknotificationmessage">

3370 `SDKTaskNotificationMessage`

3371</h3>

2837 3372 

2838バックグラウンドタスクが完了、失敗、または停止したときの通知。バックグラウンドタスクには、`run_in_background` Bash コマンド、[Monitor](#monitor) ウォッチ、バックグラウンドサブエージェントが含まれます。3373バックグラウンドタスクが完了、失敗、または停止したときの通知。バックグラウンドタスクには、`run_in_background` Bash コマンド、[Monitor](#monitor) ウォッチ、バックグラウンドサブエージェントが含まれます。

2839 3374 


2856};3391};

2857```3392```

2858 3393 

2859### `SDKToolUseSummaryMessage`3394<h3 id="sdktoolusesummarymessage">

3395 `SDKToolUseSummaryMessage`

3396</h3>

2860 3397 

2861会話でのツール使用のサマリー。3398会話でのツール使用のサマリー。

2862 3399 


2870};3407};

2871```3408```

2872 3409 

2873### `SDKHookStartedMessage`3410<h3 id="sdkhookstartedmessage">

3411 `SDKHookStartedMessage`

3412</h3>

2874 3413 

2875フックが実行を開始したときに発行されます。3414フックが実行を開始したときに発行されます。

2876 3415 


2886};3425};

2887```3426```

2888 3427 

2889### `SDKHookProgressMessage`3428<h3 id="sdkhookprogressmessage">

3429 `SDKHookProgressMessage`

3430</h3>

2890 3431 

2891フックが実行中に stdout/stderr 出力で発行されます。3432フックが実行中に stdout/stderr 出力で発行されます。

2892 3433 


2905};3446};

2906```3447```

2907 3448 

2908### `SDKHookResponseMessage`3449<h3 id="sdkhookresponsemessage">

3450 `SDKHookResponseMessage`

3451</h3>

2909 3452 

2910フックが実行を終了したときに発行されます。3453フックが実行を終了したときに発行されます。

2911 3454 


2926};3469};

2927```3470```

2928 3471 

2929### `SDKToolProgressMessage`3472<h3 id="sdktoolprogressmessage">

3473 `SDKToolProgressMessage`

3474</h3>

2930 3475 

2931ツール実行中に定期的に発行され、進捗を示します。3476ツール実行中に定期的に発行され、進捗を示します。

2932 3477 


2943};3488};

2944```3489```

2945 3490 

2946### `SDKAuthStatusMessage`3491<h3 id="sdkauthstatusmessage">

3492 `SDKAuthStatusMessage`

3493</h3>

2947 3494 

2948認証フロー中に発行されます。3495認証フロー中に発行されます。

2949 3496 


2958};3505};

2959```3506```

2960 3507 

2961### `SDKTaskStartedMessage`3508<h3 id="sdktaskstartedmessage">

3509 `SDKTaskStartedMessage`

3510</h3>

2962 3511 

2963バックグラウンドタスクが開始したときに発行されます。`task_type` フィールドは、バックグラウンド Bash コマンドと [Monitor](#monitor) ウォッチの場合は `"local_bash"`、サブエージェントの場合は `"local_agent"`、またはリモートエージェントの場合は `"remote_agent"` です。3512バックグラウンドタスクが開始したときに発行されます。`task_type` フィールドは、バックグラウンド Bash コマンドと [Monitor](#monitor) ウォッチの場合は `"local_bash"`、サブエージェントの場合は `"local_agent"`、またはリモートエージェントの場合は `"remote_agent"` です。

2964 3513 


2975};3524};

2976```3525```

2977 3526 

2978### `SDKTaskProgressMessage`3527<h3 id="sdktaskprogressmessage">

3528 `SDKTaskProgressMessage`

3529</h3>

2979 3530 

2980バックグラウンドタスクが実行中に定期的に発行されます3531サブエージェントまたはバックグラウンドタスクが実行中に定期的に発行されます`summary` フィールドは、[`agentProgressSummaries`](#options) が有効な場合にのみ入力されます。

2981 3532 

2982```typescript theme={null}3533```typescript theme={null}

2983type SDKTaskProgressMessage = {3534type SDKTaskProgressMessage = {


2986 task_id: string;3537 task_id: string;

2987 tool_use_id?: string;3538 tool_use_id?: string;

2988 description: string;3539 description: string;

3540 subagent_type?: string;

2989 usage: {3541 usage: {

2990 total_tokens: number;3542 total_tokens: number;

2991 tool_uses: number;3543 tool_uses: number;

2992 duration_ms: number;3544 duration_ms: number;

2993 };3545 };

2994 last_tool_name?: string;3546 last_tool_name?: string;

3547 summary?: string;

2995 uuid: UUID;3548 uuid: UUID;

2996 session_id: string;3549 session_id: string;

2997};3550};

2998```3551```

2999 3552 

3000### `SDKTaskUpdatedMessage`3553<h3 id="sdktaskupdatedmessage">

3554 `SDKTaskUpdatedMessage`

3555</h3>

3001 3556 

3002バックグラウンドタスクの状態が変更されたときに発行されます。例えば、`running` から `completed` に遷移するときなど。`patch` をローカルタスクマップ(`task_id` でキー付け)にマージしてください。`end_time` フィールドは Unix エポックタイムスタンプ(ミリ秒単位)で、`Date.now()` と比較可能です。3557バックグラウンドタスクの状態が変更されたときに発行されます。例えば、`running` から `completed` に遷移するときなど。`patch` をローカルタスクマップ(`task_id` でキー付け)にマージしてください。`end_time` フィールドは Unix エポックタイムスタンプ(ミリ秒単位)で、`Date.now()` と比較可能です。

3003 3558 


3019};3574};

3020```3575```

3021 3576 

3022### `SDKFilesPersistedEvent`3577<h3 id="sdkfilespersistedevent">

3578 `SDKFilesPersistedEvent`

3579</h3>

3023 3580 

3024ファイルチェックポイントがディスクに永続化されたときに発行されます。3581ファイルチェックポイントがディスクに永続化されたときに発行されます。

3025 3582 


3035};3592};

3036```3593```

3037 3594 

3038### `SDKRateLimitEvent`3595<h3 id="sdkratelimitevent">

3596 `SDKRateLimitEvent`

3597</h3>

3039 3598 

3040セッションがレート制限に遭遇したときに発行されます。3599セッションがレート制限に遭遇したときに発行されます。

3041 3600 


3052};3611};

3053```3612```

3054 3613 

3055### `SDKLocalCommandOutputMessage`3614<h3 id="sdklocalcommandoutputmessage">

3615 `SDKLocalCommandOutputMessage`

3616</h3>

3056 3617 

3057ローカルスラッシュコマンド(例:`/voice` または `/usage`)からの出力。トランスクリプトでアシスタント形式のテキストとして表示されます。3618ローカルスラッシュコマンド(例:`/voice` または `/usage`)からの出力。トランスクリプトでアシスタント形式のテキストとして表示されます。

3058 3619 


3066};3627};

3067```3628```

3068 3629 

3069### `SDKPromptSuggestionMessage`3630<h3 id="sdkcommandschangedmessage">

3631 `SDKCommandsChangedMessage`

3632</h3>

3633 

3634利用可能なコマンドのセットがセッション中に変更されたときに発行されます。例えば、エージェントがサブディレクトリに入るときにスキルが検出されるなど。`commands` 配列は完全に更新されたリストであるため、キャッシュされたコマンドリストをこのペイロードで置き換えてください。`supportedCommands()` を再度呼び出すことは同等ではありません。そのメソッドは初期化時にキャプチャされたスナップショットを返し、セッション中の変更を反映しません。

3635 

3636```typescript theme={null}

3637type SDKCommandsChangedMessage = {

3638 type: "system";

3639 subtype: "commands_changed";

3640 commands: SlashCommand[];

3641 uuid: UUID;

3642 session_id: string;

3643};

3644```

3645 

3646<h3 id="sdkpromptsuggestionmessage">

3647 `SDKPromptSuggestionMessage`

3648</h3>

3070 3649 

3071`promptSuggestions` が有効な場合、各ターン後に発行されます。予測される次のユーザープロンプトを含みます。3650`promptSuggestions` が有効な場合、各ターン後に発行されます。予測される次のユーザープロンプトを含みます。

3072 3651 


3079};3658};

3080```3659```

3081 3660 

3082### `AbortError`3661<h3 id="aborterror">

3662 `AbortError`

3663</h3>

3083 3664 

3084中止操作のカスタムエラークラス。3665中止操作のカスタムエラークラス。

3085 3666 


3087class AbortError extends Error {}3668class AbortError extends Error {}

3088```3669```

3089 3670 

3090## サンドボックス設定3671<h2 id="sandbox-configuration">

3672 サンドボックス設定

3673</h2>

3091 3674 

3092### `SandboxSettings`3675<h3 id="sandboxsettings">

3676 `SandboxSettings`

3677</h3>

3093 3678 

3094サンドボックス動作の設定。これを使用して、コマンドサンドボックスを有効にし、ネットワーク制限をプログラムで設定します。3679サンドボックス動作の設定。これを使用して、コマンドサンドボックスを有効にし、ネットワーク制限をプログラムで設定します。

3095 3680 

3096```typescript theme={null}3681```typescript theme={null}

3097type SandboxSettings = {3682type SandboxSettings = {

3098 enabled?: boolean;3683 enabled?: boolean;

3684 failIfUnavailable?: boolean;

3099 autoAllowBashIfSandboxed?: boolean;3685 autoAllowBashIfSandboxed?: boolean;

3100 excludedCommands?: string[];3686 excludedCommands?: string[];

3101 allowUnsandboxedCommands?: boolean;3687 allowUnsandboxedCommands?: boolean;


3110| プロパティ | 型 | デフォルト | 説明 |3696| プロパティ | 型 | デフォルト | 説明 |

3111| :-------------------------- | :---------------------------------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3697| :-------------------------- | :---------------------------------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3112| `enabled` | `boolean` | `false` | コマンド実行のサンドボックスモードを有効にします |3698| `enabled` | `boolean` | `false` | コマンド実行のサンドボックスモードを有効にします |

3699| `failIfUnavailable` | `boolean` | `true` | `enabled` が `true` でもサンドボックスが起動できない場合、起動時に停止します。`false` に設定すると、stderr に警告を表示してサンドボックス外実行にフォールバックします |

3113| `autoAllowBashIfSandboxed` | `boolean` | `true` | サンドボックスが有効な場合、bash コマンドを自動承認します |3700| `autoAllowBashIfSandboxed` | `boolean` | `true` | サンドボックスが有効な場合、bash コマンドを自動承認します |

3114| `excludedCommands` | `string[]` | `[]` | 常にサンドボックス制限をバイパスするコマンド(例:`['docker']`)。これらはモデルの関与なしに自動的にサンドボックス外で実行されます |3701| `excludedCommands` | `string[]` | `[]` | 常にサンドボックス制限をバイパスするコマンド(例:`['docker']`)。これらはモデルの関与なしに自動的にサンドボックス外で実行されます |

3115| `allowUnsandboxedCommands` | `boolean` | `true` | モデルがサンドボックス外でコマンドを実行するようにリクエストすることを許可します。`true` の場合、モデルはツール入力で `dangerouslyDisableSandbox` を設定でき、[パーミッションシステム](#permissions-fallback-for-unsandboxed-commands) にフォールバックします |3702| `allowUnsandboxedCommands` | `boolean` | `true` | モデルがサンドボックス外でコマンドを実行するようにリクエストすることを許可します。`true` の場合、モデルはツール入力で `dangerouslyDisableSandbox` を設定でき、[パーミッションシステム](#permissions-fallback-for-unsandboxed-commands) にフォールバックします |


3119| `enableWeakerNestedSandbox` | `boolean` | `false` | 互換性のための弱いネストされたサンドボックスを有効にします |3706| `enableWeakerNestedSandbox` | `boolean` | `false` | 互換性のための弱いネストされたサンドボックスを有効にします |

3120| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | サンドボックス環境のカスタム ripgrep バイナリ設定 |3707| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | サンドボックス環境のカスタム ripgrep バイナリ設定 |

3121 3708 

3122#### 使用例3709<Note>

3710 サンドボックスはプラットフォームサポートに依存し、Linux では `bubblewrap` や `socat` などのツールが必要です。`enabled` が `true` でサンドボックスが起動できない場合、`query()` は `subtype: "error_during_execution"` の `result` メッセージを報告し、理由を `errors` に含めて停止します。`query()` がメッセージを生成する前に例外をスローすることを期待するのではなく、そのサブタイプを監視してください。

3711 

3712 代わりにサンドボックス外で実行するには、`failIfUnavailable: false` を設定してください。

3713</Note>

3714 

3715<h4 id="example-usage">

3716 使用例

3717</h4>

3123 3718 

3124```typescript theme={null}3719```typescript theme={null}

3125import { query } from "@anthropic-ai/claude-agent-sdk";3720import { query } from "@anthropic-ai/claude-agent-sdk";


3144 **Unix ソケットセキュリティ:** `allowUnixSockets` オプションは強力なシステムサービスへのアクセスを許可できます。例えば、`/var/run/docker.sock` を許可すると、Docker API 経由でホストシステムへの完全なアクセスが効果的に許可され、サンドボックス分離がバイパスされます。厳密に必要な Unix ソケットのみを許可し、各ソケットのセキュリティへの影響を理解してください。3739 **Unix ソケットセキュリティ:** `allowUnixSockets` オプションは強力なシステムサービスへのアクセスを許可できます。例えば、`/var/run/docker.sock` を許可すると、Docker API 経由でホストシステムへの完全なアクセスが効果的に許可され、サンドボックス分離がバイパスされます。厳密に必要な Unix ソケットのみを許可し、各ソケットのセキュリティへの影響を理解してください。

3145</Warning>3740</Warning>

3146 3741 

3147### `SandboxNetworkConfig`3742<h3 id="sandboxnetworkconfig">

3743 `SandboxNetworkConfig`

3744</h3>

3148 3745 

3149サンドボックスモードのネットワーク固有の設定。3746サンドボックスモードのネットワーク固有の設定。これらの設定は、親の [`SandboxSettings`](#sandboxsettings) で `enabled` が `true` の場合、サンドボックス化された Bash コマンドに適用されます。WebFetch ツールには適用されず、代わりに [パーミッションルール](/ja/permissions#webfetch) を使用します。

3150 3747 

3151```typescript theme={null}3748```typescript theme={null}

3152type SandboxNetworkConfig = {3749type SandboxNetworkConfig = {


3176 組み込みサンドボックスプロキシは、リクエストされたホスト名に基づいて `allowedDomains` を強制し、TLS トラフィックを終了または検査しないため、[ドメインフロンティング](https://en.wikipedia.org/wiki/Domain_fronting) などの技術がそれをバイパスする可能性があります。詳細は [サンドボックスセキュリティの制限](/ja/sandboxing#security-limitations) を参照し、TLS 終了プロキシの設定については [セキュアなデプロイ](/ja/agent-sdk/secure-deployment#traffic-forwarding) を参照してください。3773 組み込みサンドボックスプロキシは、リクエストされたホスト名に基づいて `allowedDomains` を強制し、TLS トラフィックを終了または検査しないため、[ドメインフロンティング](https://en.wikipedia.org/wiki/Domain_fronting) などの技術がそれをバイパスする可能性があります。詳細は [サンドボックスセキュリティの制限](/ja/sandboxing#security-limitations) を参照し、TLS 終了プロキシの設定については [セキュアなデプロイ](/ja/agent-sdk/secure-deployment#traffic-forwarding) を参照してください。

3177</Note>3774</Note>

3178 3775 

3179### `SandboxFilesystemConfig`3776<h3 id="sandboxfilesystemconfig">

3777 `SandboxFilesystemConfig`

3778</h3>

3180 3779 

3181サンドボックスモードのファイルシステム固有の設定。3780サンドボックスモードのファイルシステム固有の設定。

3182 3781 


3194| `denyWrite` | `string[]` | `[]` | 書き込みアクセスを拒否するファイルパターン |3793| `denyWrite` | `string[]` | `[]` | 書き込みアクセスを拒否するファイルパターン |

3195| `denyRead` | `string[]` | `[]` | 読み取りアクセスを拒否するファイルパターン |3794| `denyRead` | `string[]` | `[]` | 読み取りアクセスを拒否するファイルパターン |

3196 3795 

3197### サンドボックス外コマンドのパーミッションフォールバック3796<h3 id="permissions-fallback-for-unsandboxed-commands">

3797 サンドボックス外コマンドのパーミッションフォールバック

3798</h3>

3198 3799 

3199`allowUnsandboxedCommands` が有効な場合、モデルはツール入力で `dangerouslyDisableSandbox: true` を設定することで、サンドボックス外でコマンドを実行するようにリクエストできます。これらのリクエストは既存のパーミッションシステムにフォールバックします。つまり、`canUseTool` ハンドラーが呼び出され、カスタム認可ロジックを実装できます。3800`allowUnsandboxedCommands` が有効な場合、モデルはツール入力で `dangerouslyDisableSandbox: true` を設定することで、サンドボックス外でコマンドを実行するようにリクエストできます。これらのリクエストは既存のパーミッションシステムにフォールバックします。つまり、`canUseTool` ハンドラーが呼び出され、カスタム認可ロジックを実装できます。

3200 3801 


3250 `permissionMode` が `bypassPermissions` に設定され、`allowUnsandboxedCommands` が有効な場合、モデルは承認プロンプトなしにサンドボックス外でコマンドを自律的に実行できます。この組み合わせにより、モデルはサンドボックス分離を静かにエスケープできます。3851 `permissionMode` が `bypassPermissions` に設定され、`allowUnsandboxedCommands` が有効な場合、モデルは承認プロンプトなしにサンドボックス外でコマンドを自律的に実行できます。この組み合わせにより、モデルはサンドボックス分離を静かにエスケープできます。

3251</Warning>3852</Warning>

3252 3853 

3253## 関連項目3854<h2 id="see-also">

3855 関連項目

3856</h2>

3254 3857 

3255* [SDK 概要](/ja/agent-sdk/overview) - 一般的な SDK 概念3858* [SDK 概要](/ja/agent-sdk/overview) - 一般的な SDK 概念

3256* [Python SDK リファレンス](/ja/agent-sdk/python) - Python SDK ドキュメント3859* [Python SDK リファレンス](/ja/agent-sdk/python) - Python SDK ドキュメント

Details

18* `session.send()`:メッセージを送信する18* `session.send()`:メッセージを送信する

19* `session.stream()`:レスポンスを取得する19* `session.stream()`:レスポンスを取得する

20 20 

21## インストール21<h2 id="installation">

22 インストール

23</h2>

22 24 

23Agent SDK 0.2.x は V2 インターフェースを含む最後のバージョンです。パッケージバージョンは 0.2.x から直接 0.3.142 にジャンプしたため、上記の削除バージョンと下記のインストールピンは同じ境界を説明しています。最後の V2 互換リリースをインストールするには、メジャーバージョンとマイナーバージョンをピンしてください。25Agent SDK 0.2.x は V2 インターフェースを含む最後のバージョンです。パッケージバージョンは 0.2.x から直接 0.3.142 にジャンプしたため、上記の削除バージョンと下記のインストールピンは同じ境界を説明しています。最後の V2 互換リリースをインストールするには、メジャーバージョンとマイナーバージョンをピンしてください。

24 26 


30 SDK はオプションの依存関係として、プラットフォーム用のネイティブ Claude Code バイナリをバンドルしているため、Claude Code を別途インストールする必要はありません。32 SDK はオプションの依存関係として、プラットフォーム用のネイティブ Claude Code バイナリをバンドルしているため、Claude Code を別途インストールする必要はありません。

31</Note>33</Note>

32 34 

33## クイックスタート35<h2 id="quick-start">

36 クイックスタート

37</h2>

34 38 

35### ワンショットプロンプト39<h3 id="one-shot-prompt">

40 ワンショットプロンプト

41</h3>

36 42 

37セッションを維持する必要がない単純なシングルターンクエリの場合は、`unstable_v2_prompt()` を使用します。この例は数学の質問を送信し、答えをログに出力します。43セッションを維持する必要がない単純なシングルターンクエリの場合は、`unstable_v2_prompt()` を使用します。この例は数学の質問を送信し、答えをログに出力します。

38 44 


66 ```72 ```

67</details>73</details>

68 74 

69### 基本的なセッション75<h3 id="basic-session">

76 基本的なセッション

77</h3>

70 78 

71単一のプロンプトを超えるインタラクションの場合は、セッションを作成します。V2 は送信とストリーミングを個別のステップに分離します。79単一のプロンプトを超えるインタラクションの場合は、セッションを作成します。V2 は送信とストリーミングを個別のステップに分離します。

72 80 


122 ```130 ```

123</details>131</details>

124 132 

125### マルチターン会話133<h3 id="multi-turn-conversation">

134 マルチターン会話

135</h3>

126 136 

127セッションは複数の交換全体でコンテキストを保持します。会話を続けるには、同じセッションで `send()` を再度呼び出します。Claude は前のターンを記憶しています。137セッションは複数の交換全体でコンテキストを保持します。会話を続けるには、同じセッションで `send()` を再度呼び出します。Claude は前のターンを記憶しています。

128 138 


201 ```211 ```

202</details>212</details>

203 213 

204### セッションの再開214<h3 id="session-resume">

215 セッションの再開

216</h3>

205 217 

206前のインタラクションからセッション ID がある場合は、後でそれを再開できます。これは長時間実行されるワークフローや、アプリケーションの再起動全体で会話を永続化する必要がある場合に便利です。218前のインタラクションからセッション ID がある場合は、後でそれを再開できます。これは長時間実行されるワークフローや、アプリケーションの再起動全体で会話を永続化する必要がある場合に便利です。

207 219 


301 ```313 ```

302</details>314</details>

303 315 

304### クリーンアップ316<h3 id="cleanup">

317 クリーンアップ

318</h3>

305 319 

306セッションは手動で閉じるか、[`await using`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#using-declarations-and-explicit-resource-management)(自動リソースクリーンアップ用の TypeScript 5.2 以降の機能)を使用して自動的に閉じることができます。古い TypeScript バージョンを使用している場合や互換性の問題が発生した場合は、代わりに手動クリーンアップを使用してください。320セッションは手動で閉じるか、[`await using`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#using-declarations-and-explicit-resource-management)(自動リソースクリーンアップ用の TypeScript 5.2 以降の機能)を使用して自動的に閉じることができます。古い TypeScript バージョンを使用している場合や互換性の問題が発生した場合は、代わりに手動クリーンアップを使用してください。

307 321 


328session.close();342session.close();

329```343```

330 344 

331## API リファレンス345<h2 id="api-reference">

346 API リファレンス

347</h2>

332 348 

333### `unstable_v2_createSession()`349<h3 id="unstable_v2_createsession">

350 `unstable_v2_createSession()`

351</h3>

334 352 

335マルチターン会話用の新しいセッションを作成します。353マルチターン会話用の新しいセッションを作成します。

336 354 


341}): SDKSession;359}): SDKSession;

342```360```

343 361 

344### `unstable_v2_resumeSession()`362<h3 id="unstable_v2_resumesession">

363 `unstable_v2_resumeSession()`

364</h3>

345 365 

346ID で既存のセッションを再開します。366ID で既存のセッションを再開します。

347 367 


355): SDKSession;375): SDKSession;

356```376```

357 377 

358### `unstable_v2_prompt()`378<h3 id="unstable_v2_prompt">

379 `unstable_v2_prompt()`

380</h3>

359 381 

360シングルターンクエリ用のワンショット便利関数。382シングルターンクエリ用のワンショット便利関数。

361 383 


369): Promise<SDKResultMessage>;391): Promise<SDKResultMessage>;

370```392```

371 393 

372### SDKSession インターフェース394<h3 id="sdksession-interface">

395 SDKSession インターフェース

396</h3>

373 397 

374```typescript theme={null}398```typescript theme={null}

375interface SDKSession {399interface SDKSession {


380}404}

381```405```

382 406 

383## 機能の可用性407<h2 id="feature-availability">

408 機能の可用性

409</h2>

384 410 

385V2 セッション API は、すべての V1 機能をサポートしていません。以下は [V1 SDK](/ja/agent-sdk/typescript) を使用する必要があります。411V2 セッション API は、すべての V1 機能をサポートしていません。以下は [V1 SDK](/ja/agent-sdk/typescript) を使用する必要があります。

386 412 

387* セッションフォーキング(`forkSession` オプション)413* セッションフォーキング(`forkSession` オプション)

388* 一部の高度なストリーミング入力パターン414* 一部の高度なストリーミング入力パターン

389 415 

390## 関連項目416<h2 id="see-also">

417 関連項目

418</h2>

391 419 

392* [TypeScript SDK リファレンス(V1)](/ja/agent-sdk/typescript) - 完全な V1 SDK ドキュメント420* [TypeScript SDK リファレンス(V1)](/ja/agent-sdk/typescript) - 完全な V1 SDK ドキュメント

393* [SDK 概要](/ja/agent-sdk/overview) - 一般的な SDK の概念421* [SDK 概要](/ja/agent-sdk/overview) - 一般的な SDK の概念

Details

626各質問の `question` フィールドを選択されたオプションの `label` にマップする `answers` オブジェクトを返します。626各質問の `question` フィールドを選択されたオプションの `label` にマップする `answers` オブジェクトを返します。

627 627 

628| フィールド | 説明 |628| フィールド | 説明 |

629| ----------- | ------------------------------ |629| ----------- | --------------------------------------- |

630| `questions` | 元の質問配列をパススルーする(ツール処理に必須) |630| `questions` | 元の質問配列をパススルーする(ツール処理に必須) |

631| `answers` | キーが質問テキストで、値が選択されたラベルであるオブジェクト |631| `answers` | キーが質問テキストで、値が選択されたラベルであるオブジェクト |

632| `response` | ユーザーが構造化された質問に答える代わりに入力した、オプションの自由形式の返信 |

632 633 

633複数選択質問の場合、ラベルの配列を渡すか、`", "` で結合します。自由テキスト入力の場合はユーザーのカスタムテキストを直接使用します634複数選択質問の場合、ラベルの配列を渡すか、`", "` で結合します。[自由テキスト入力をサポート](#support-free-text-input)に示されているような質問ごとの自由テキスト(例:「その他」オプション)の場合はユーザーのテキストを `answers[question]` に入力します`response` は、ユーザーが質問カードを閉じて、特定の質問への回答ではない一般的な返信を入力できる UI の場合にのみ設定します。`response` が設定されている場合、Claude は質問ごとの回答リストではなく「ユーザーが応答しました:…」を受け取ります。

634 635 

635```json theme={null}636```json theme={null}

636{637{

agent-view.md +220 −76

Details

30* [シェルからセッションを管理する](#manage-sessions-from-the-shell)30* [シェルからセッションを管理する](#manage-sessions-from-the-shell)

31* [バックグラウンドセッションがどのようにホストされるか](#how-background-sessions-are-hosted)。スーパーバイザープロセスによって31* [バックグラウンドセッションがどのようにホストされるか](#how-background-sessions-are-hosted)。スーパーバイザープロセスによって

32 32 

33## クイックスタート33<h2 id="quick-start">

34 クイックスタート

35</h2>

34 36 

35このチュートリアルでは、コアエージェントビューループについて説明します。タスクをディスパッチし、Claude が作業する際に行が更新されるのを見守り、ピークして確認して返信し、フル会話にアタッチします。ディスパッチしたセッションはエージェントビューを閉じた後も実行し続けるため、離れて後で戻ることができます。37このチュートリアルでは、コアエージェントビューループについて説明します。タスクをディスパッチし、Claude が作業する際に行が更新されるのを見守り、ピークして確認して返信し、フル会話にアタッチします。ディスパッチしたセッションはエージェントビューを閉じた後も実行し続けるため、離れて後で戻ることができます。

36 38 


58 </Step>60 </Step>

59 61 

60 <Step title="アタッチとデタッチ">62 <Step title="アタッチとデタッチ">

61 フル会話が必要な場合は、行で `Enter` または `→` を押してアタッチします。セッションは `claude` を実行した場合と同じようにターミナルを引き継ぎます。空のプロンプトで `←` を押してデタッチし、テーブルに戻ります。63 フル会話が必要な場合は、行で `Enter` または `→` を押してアタッチします。セッションはターミナルを引き継ぎ、フルインタラクティブな Claude Code セッションになります。空のプロンプトで `←` を押してデタッチし、テーブルに戻ります。

62 </Step>64 </Step>

63 65 

64 <Step title="既存のセッションを持ち込む">66 <Step title="既存のセッションを持ち込む">


68 70 

69`claude agents` を `claude` の代わりにプライマリエントリーポイントとして使用できます。エージェントビューからすべてのタスクをディスパッチし、フル会話が必要な場合はアタッチし、`←` を押してテーブルに戻ります。71`claude agents` を `claude` の代わりにプライマリエントリーポイントとして使用できます。エージェントビューからすべてのタスクをディスパッチし、フル会話が必要な場合はアタッチし、`←` を押してテーブルに戻ります。

70 72 

71## エージェントビューでセッションを監視する73<h2 id="monitor-sessions-with-agent-view">

74 エージェントビューでセッションを監視する

75</h2>

72 76 

73`claude agents` を実行してエージェントビューを開きます。ターミナル全体を占有し、状態でグループ化されたすべてのセッションをリストします。ピン留めされたセッションと入力が必要なセッションが上部に表示されます。各行はセッションの名前、現在のアクティビティ、最後に変更されてからの経過時間を表示します。77`claude agents` を実行してエージェントビューを開きます。ターミナル全体を占有し、状態でグループ化されたすべてのセッションをリストします。ピン留めされたセッションと入力が必要なセッションが上部に表示されます。各行はセッションの名前、現在のアクティビティ、最後に変更されてからの経過時間を表示します。

74 78 


80 84 

81これはそのディレクトリの下で開始されたセッションのみを表示します。`~/projects/my-app/.claude/worktrees/` の下の [ワークツリーに移動した](#how-file-edits-are-isolated) セッションは、`~/projects/my-app` に属するものとしてカウントされます。85これはそのディレクトリの下で開始されたセッションのみを表示します。`~/projects/my-app/.claude/worktrees/` の下の [ワークツリーに移動した](#how-file-edits-are-isolated) セッションは、`~/projects/my-app` に属するものとしてカウントされます。

82 86 

83他のターミナルで開いているインタラクティブセッションは、[バックグラウンドにする](#from-inside-a-session)までは表示されません。[Subagents](/ja/sub-agents) と [teammates](/ja/agent-teams) はセッションが生成しても個別の行としてリストされません。87他のターミナルで開いているインタラクティブセッションは、[バックグラウンドにする](#from-inside-a-session) までは表示されません。[Subagents](/ja/sub-agents) と [teammates](/ja/agent-teams) はセッションが生成しても個別の行としてリストされません。

84 88 

85```text theme={null}89```text theme={null}

86Pinned90Pinned

87 ✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m91 ✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m

88 92 

89Ready for review93Ready for review

90 ∙ jump physics github.com/example/game/pull/2048 2h94 ∙ jump physics Opened PR with collision fix PR #2048 2h

91 95 

92Needs input96Needs input

93 ✻ power-up design needs input: double jump or wall climb? 1m97 ✻ power-up design needs input: double jump or wall climb? 1m


102 … 6 more106 … 6 more

103```107```

104 108 

105### セッション状態を読む109<h3 id="read-session-state">

110 セッション状態を読む

111</h3>

106 112 

107各行は、セッションの状態を示すアイコンで始まります。アイコンの色とアニメーションはセッションの状態を示します。113各行は、セッションの状態を示すアイコンで始まります。アイコンの色とアニメーションはセッションの状態を示します。

108 114 


123| `∙` | プロセスは終了しました。ピーク表示、返信、またはアタッチはできます。Claude は中断したところから再開します |129| `∙` | プロセスは終了しました。ピーク表示、返信、またはアタッチはできます。Claude は中断したところから再開します |

124| `✢` | [`/loop`](/ja/scheduled-tasks) セッションはイテレーション間でスリープしています。行は実行回数とカウントダウンを表示します |130| `✢` | [`/loop`](/ja/scheduled-tasks) セッションはイテレーション間でスリープしています。行は実行回数とカウントダウンを表示します |

125 131 

126行の右端に表示される `` [プルリクエストステータス](#pull-request-status) インジケーターであり、状態アイコンの一部ではありません。その前の数字はセッションが開いたプルリクエストの数です132行の右端に表示される `PR #N` ラベルは [セッションが開いたプルリクエスト](#pull-request-status) であり、状態アイコンの一部ではありません。セッションが複数のプルリクエストを開いた場合、ラベルはカウントを表示します例えば `3 PRs` のようになります。

133 

134ターミナルタブのタイトルは、エージェントビューが開いている間、待機中の入力カウントを表示します。セッションが入力を必要とする場合は `2 awaiting input · claude agents`、そうでない場合は `claude agents` です。

127 135 

128バックグラウンドセッションは作業を続けるためにターミナルを開く必要がありません。別の [スーパーバイザープロセス](#the-supervisor-process) がセッションを実行するため、エージェントビューを閉じたり、シェルを閉じたり、新しいインタラクティブセッションを開始したりしても、ディスパッチされた作業は続きます。136バックグラウンドセッションは作業を続けるためにターミナルを開く必要がありません。別の [スーパーバイザープロセス](#the-supervisor-process) がセッションを実行するため、エージェントビューを閉じたり、シェルを閉じたり、新しいインタラクティブセッションを開始したりしても、ディスパッチされた作業は続きます。

129 137 

130セッション状態はディスク上に永続化され、自動更新とスーパーバイザー再起動を通じて保存されます。セッションはマシンがスリープするときも保存されます。プロセスはウェイク時に再開され、スーパーバイザーはアイドルとして時間ギャップを扱う代わりにそれらに再接続します。シャットダウンはまだ実行中のセッションを停止します。[シャットダウン後にセッションが失敗として表示される](#sessions-show-as-failed-after-shutdown) を参照して、それらを復旧する方法を確認してください。138セッション状態はディスク上に永続化され、自動更新とスーパーバイザー再起動を通じて保存されます。セッションはマシンがスリープするときも保存されます。プロセスはウェイク時に再開され、スーパーバイザーはアイドルとして時間ギャップを扱う代わりにそれらに再接続します。シャットダウンはまだ実行中のセッションを停止します。[シャットダウン後にセッションが失敗として表示される](#sessions-show-as-failed-after-shutdown) を参照して、それらを復旧する方法を確認してください。

131 139 

132### 行の概要140<h3 id="row-summaries">

141 行の概要

142</h3>

133 143 

134各行の 1 行の概要は [Haiku クラスモデル](/ja/model-config) によって生成されるため、行はトランスクリプトを開かずにセッションが何をしているか、何が必要か、または何を生成したかを伝えることができます。セッションがアクティブに作業している間、概要は最大 15 秒ごとに 1 回、および各ターンが終了したときに 1 回更新されます。144各行の 1 行の概要は [Haiku クラスモデル](/ja/model-config) によって生成されるため、行はトランスクリプトを開かずにセッションが何をしているか、何が必要か、または何を生成したかを伝えることができます。セッションがアクティブに作業している間、概要は最大 15 秒ごとに 1 回、および各ターンが終了したときに 1 回更新されます。

135 145 

136各更新は通常のプロバイダーを通じた 1 つの短い Haiku クラスリクエストであり、セッション自体と同じ [データ使用条件](/ja/data-usage) の下で請求および処理されます。146各更新は通常のプロバイダーを通じた 1 つの短い Haiku クラスリクエストであり、セッション自体と同じ [データ使用条件](/ja/data-usage) の下で請求および処理されます。Bedrock、Vertex AI、Microsoft Foundry、カスタムゲートウェイなどのサードパーティプロバイダーでは、Haiku モデルが設定されていない場合、リクエストはセッションのメインモデルにフォールバックします。これらのプロバイダーでこれらの概要のモデルを選択するには、[`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/ja/model-config#environment-variables) を設定します。

147 

148<h3 id="pull-request-status">

149 プルリクエストステータス

150</h3>

151 

152セッションがプルリクエストを開くと、`PR #1234` ラベルが行の右端に表示され、ハイパーリンクをサポートするターミナルではプルリクエストにリンクされます。セッションにフォローアップを送信するときもラベルは保存されるため、行がライブプログレスに戻るときもプルリクエストは表示されたままです。

137 153 

138### プルリクエストステータス154セッションが複数のプルリクエストを開いた場合、ラベルはカウントを表示します。例えば `3 PRs` のようになり、最も注意が必要なオープンプルリクエストで色付けされます。[ピークパネル](#peek-and-reply) を開いてすべてを表示します。

139 155 

140セッションがプルリクエストを開くと、ステータスドットが行の右端に表示され、ハイパーリンクをサポートするターミナルではプルリクエストにリンクされます。セッションが複数のプルリクエストを開いた場合、カウントはドットの前に表示され、色はどれが最も注意が必要かを反映します156プルリクエスト番号はそのステータスで色付けされます

141 157 

142| ドットの色 | プルリクエストステータス |158| | プルリクエストステータス |

143| :---- | :------------------------- |159| :-- | :------------------------- |

144| 黄色 | チェックまたはレビューを待機中、またはチェックが失敗 |160| 黄色 | チェックまたはレビューを待機中、またはチェックが失敗 |

145| 緑 | チェックが成功し、レビューがブロックされていない |161| 緑 | チェックが成功し、レビューがブロックされていない |

146| 紫 | マージ済み |162| 紫 | マージ済み |

147| グレー | ドラフトまたはクローズ |163| グレー | ドラフトまたはクローズ |

148 164 

149ほとんどのタスクでは、この行が結果を収集する場所ですドットが緑になったときにプルリクエストをレビューしてマージします165ほとんどのタスクでは、この列が結果を収集する場所ですプルリクエスト番号が緑になったときにプルリクエストをレビューしてマージします

150 166 

151### ピーク表示と返信167<h3 id="peek-and-reply">

168 ピーク表示と返信

169</h3>

152 170 

153選択した行で `Space` を押してピークパネルを開きます。セッションが何を必要としているか、最新の出力、および開いたプルリクエストが表示されます。ほとんどの場合、これで十分であり、フルトランスクリプトを開く必要はありません。171選択した行で `Space` を押してピークパネルを開きます。セッションが何を必要としているか、最新の出力、および開いたプルリクエストが表示されます。ほとんどの場合、これで十分であり、フルトランスクリプトを開く必要はありません。

154 172 

155ピークパネルに返信を入力して `Enter` を押すと、そのセッションに送信されます。セッションが複数選択肢の質問をしている場合、ピークパネルはオプションを表示し、数字キーを押して 1 つを選択できます。他のブロックされたセッションの場合は、`Tab` を押して入力に提案された返信を入力し、送信前に編集できます。返信の前に `!` を付けて Bash コマンドを代わりに送信します。173ピークパネルに返信を入力して `Enter` を押すと、そのセッションに送信されます。セッションが複数選択肢の質問をしている場合、ピークパネルはオプションを表示し、数字キーを押して 1 つを選択できます。他のブロックされたセッションの場合は、`Tab` を押して入力に提案された返信を入力し、送信前に編集できます。返信の前に `!` を付けて Bash コマンドを代わりに送信します。

156 174 

175[音声ディクテーション](/ja/voice-dictation) が有効な場合、返信入力がフォーカスされている間、プッシュトゥトークキーを押したままにするか、タップして返信をディクテーションします。これはエージェントビューの下部のディスパッチ入力でも同じように機能します。

176 

157`↑` と `↓` を使用してパネルを閉じずに隣接するセッションをピーク表示するか、`→` を使用してアタッチします。177`↑` と `↓` を使用してパネルを閉じずに隣接するセッションをピーク表示するか、`→` を使用してアタッチします。

158 178 

159### セッションにアタッチする179<h3 id="attach-to-a-session">

180 セッションにアタッチする

181</h3>

160 182 

161選択した行で `Enter` または `→` を押してアタッチします。エージェントビューはフルインタラクティブセッションに置き換えられ、そのディレクトリで `claude` を実行した場合と同じです。アタッチすると、Claude は不在中に何が起こったかの短い要約を投稿します。183選択した行で `Enter` または `→` を押してアタッチします。エージェントビューはフルインタラクティブセッションに置き換えられます。アタッチすると、Claude は不在中に何が起こったかの短い要約を投稿します。

162 184 

163アタッチ中、セッションは他の Claude Code セッションのように動作します。すべての [コマンド](/ja/commands)、キーボードショートカット、および機能が機能します。185アタッチ中、セッションは他の Claude Code セッションのように動作します。すべての [コマンド](/ja/commands)、キーボードショートカット、および機能が機能します。

164 186 

187アタッチされたセッションは、`tui` 設定に関係なく、常に [フルスクリーンモード](/ja/fullscreen) でレンダリングされます。バックグラウンドセッションには追加するターミナルスクロールバックがないためです。`PgUp`、`PgDn`、またはマウスホイールでスクロールし、トランスクリプトモードの場合は `Ctrl+O` を押します。ターミナルのネイティブスクロールと tmux コピーモードは現在のビューポートのみを表示します。これはフルスクリーンアプリケーションを実行するときと同じです。

188 

165空のプロンプトで `←` を押してデタッチし、エージェントビューに戻ります。ダイアログがフォーカスを持っており、`←` に応答していない場合は、`Ctrl+Z` を押して直ちにデタッチします。189空のプロンプトで `←` を押してデタッチし、エージェントビューに戻ります。ダイアログがフォーカスを持っており、`←` に応答していない場合は、`Ctrl+Z` を押して直ちにデタッチします。

166 190 

167デタッチはバックグラウンドセッションを停止しません。`←`、`Ctrl+C``Ctrl+D`、`Ctrl+Z`、および `/exit` はすべてセッションを実行し続けます。セッション内からセッションを終了するには、`/stop` を実行します191`Ctrl+C` はアタッチ中に標準的な割り込み動作を保持します。実行中の応答または `!` シェルコマンドをキャンセルするのでありデタッチするのではありません。空のプロンプトで `Ctrl+C` 2 回押すとデタッチしますこれは他のセッションと同じです。

168 192 

169ディスパッチまたはバックグラウンドにしたセッションの後、空のプロンプトで `←` を押すとアタッチしたセッションだけでなく任意の Claude Code セッションから機能します。現在のセッションをバックグラウンドにし、そのセッションが事前に選択された状態でエージェントビューを開くため、ターミナルを離れずにセッションを切り替えることができます。行は会話履歴がない新しいセッションからでも作成されるため、`` はそれに戻りますその行が唯一の行である場合エージェントビューはその下にオンボーディングヒントを表示します。このショートカットは `/config` でオフにできます(`leftArrowOpensAgents` 設定)193デタッチはバックグラウンドセッションを停止しません。`←`、`Ctrl+Z``/exit`、および二重 `Ctrl+C` または二重 `Ctrl+D` はすべてセッションを実行し続けますセッション内からセッションを終了するには、`/stop` を実行します

170 194 

171### リストを整理する195空のプロンプトで `←` を押すと、エージェントビューからアタッチしたセッションだけでなく、任意の Claude Code セッションから機能します。現在のセッションをバックグラウンドにし、そのセッションが事前に選択された状態でエージェントビューを開くため、ターミナルを離れずにセッションを切り替えることができます。行は会話履歴がない新しいセッションからでも作成されるため、`→` はそれに戻ります。その行が唯一の行である場合、エージェントビューはその下にオンボーディングヒントを表示します。このショートカットは `/config` でオフにできます(`leftArrowOpensAgents` 設定)。

196 

197<h3 id="organize-the-list">

198 リストを整理する

199</h3>

172 200 

173エージェントビューはセッションをグループ化し、入力が必要なセッションが上部に表示されます。`Ready for review` と `Needs input` は `Working` と `Completed` の上に表示されます。これらのグループ名は上記の [状態](#read-session-state) と 1 対 1 でマップされません。セッションはオープンなプルリクエストを持つときに `Ready for review` に移動し、`Completed` は完了、失敗、および停止したセッションを一緒に収集します。`Ctrl+S` を押してディレクトリでグループ化に切り替えます。選択内容は実行全体で保存されます。201エージェントビューはセッションをグループ化し、入力が必要なセッションが上部に表示されます。`Ready for review` と `Needs input` は `Working` と `Completed` の上に表示されます。これらのグループ名は上記の [状態](#read-session-state) と 1 対 1 でマップされません。セッションはオープンなプルリクエストを持つときに `Ready for review` に移動し、`Completed` は完了、失敗、および停止したセッションを一緒に収集します。`Ctrl+S` を押してディレクトリでグループ化に切り替えます。選択内容は実行全体で保存されます。

174 202 

175グループ内で:203グループ内で:

176 204 

177* `Ctrl+T` を押してセッションをトップにピン留めします205* `Ctrl+T` を押してセッションをトップにピン留めし、[アイドル中にそのプロセスを実行し続けます](#the-supervisor-process)

178* `Shift+↑` または `Shift+↓` を押してセッションを並べ替えます206* `Shift+↑` または `Shift+↓` を押してセッションを並べ替えます

179* `Ctrl+R` を押してセッションの名前を変更します207* `Ctrl+R` を押してセッションの名前を変更します

180* グループヘッダーで `Enter` を押して折りたたみます208* グループヘッダーで `Enter` を押して折りたたみます

181 209 

182セッションをリストから削除するには、`Ctrl+X` を押して停止し、2 秒以内に `Ctrl+X` を再度押して削除します。グループヘッダーで `Ctrl+X` を押すと、確認後、そのグループ内のすべてのセッションが削除されます。210セッションをリストから削除するには、`Ctrl+X` を押して停止し、2 秒以内に `Ctrl+X` を再度押して削除します。グループヘッダーで `Ctrl+X` を押すと、確認後、そのグループ内のすべてのセッションが削除されます。

183 211 

184削除するとセッションがエージェントビューから削除され、その会話トランスクリプトが削除されます。Claude が [ワークツリーを作成した](#how-file-edits-are-isolated) 場合、削除するとそのワークツリーも削除されます。コミットされていない変更を含みます。保持したい作業をプッシュまたはコミットしてから削除します。自分で作成したワークツリーとセッションを開始した場合は、そのままにしておきます。212削除するとセッションがエージェントビューから削除されます。Claude が [ワークツリーを作成した](#how-file-edits-are-isolated) 場合、削除するとそのワークツリーも削除されます。コミットされていない変更を含みます。保持したい作業をプッシュまたはコミットしてから削除します。自分で作成したワークツリーとセッションを開始した場合は、そのままにしておきます。会話トランスクリプトはローカルマシンに残り、`claude --resume` を通じて利用可能です。

185 213 

186古い完了したセッションは「… N more」行に折りたたまれ、リストを短く保ちます。失敗とオープンなプルリクエストを持つセッションは常に表示されます。214古い完了したセッションは「… N more」行に折りたたまれ、リストを短く保ちます。失敗とオープンなプルリクエストを持つセッションは常に表示されます。

187 215 

188### セッションをフィルタリングする216<h3 id="filter-sessions">

217 セッションをフィルタリングする

218</h3>

189 219 

190ディスパッチ入力に入力してディスパッチの代わりにフィルタリングします。220ディスパッチ入力に入力してディスパッチの代わりにフィルタリングします。

191 221 


195| `s:<state>` | 指定された状態のセッション。例えば `s:working`。また `s:blocked` はあなたを待機しているすべてのセッションを受け入れます |225| `s:<state>` | 指定された状態のセッション。例えば `s:working`。また `s:blocked` はあなたを待機しているすべてのセッションを受け入れます |

196| `#<number>` または PR URL | そのプルリクエストで作業しているセッション |226| `#<number>` または PR URL | そのプルリクエストで作業しているセッション |

197 227 

198### キーボードショートカット228<h3 id="keyboard-shortcuts">

229 キーボードショートカット

230</h3>

199 231 

200エージェントビューで `?` を押してコンテキスト内のすべてのショートカットを表示します。下の表はそれらをまとめています。232エージェントビューで `?` を押してコンテキスト内のすべてのショートカットを表示します。下の表はそれらをまとめています。

201 233 


218| `Ctrl+C` | 入力をクリア。2 回押して終了 |250| `Ctrl+C` | 入力をクリア。2 回押して終了 |

219| `?` | すべてのショートカットを表示 |251| `?` | すべてのショートカットを表示 |

220 252 

221## 新しいエージェントをディスパッチする253<h2 id="dispatch-new-agents">

254 新しいエージェントをディスパッチする

255</h2>

222 256 

223エージェントビューから新しいバックグラウンドセッションをディスパッチするか、既存のインタラクティブセッションをバックグラウンドに送信するか、シェルから直接開始できます。257エージェントビューから新しいバックグラウンドセッションをディスパッチするか、既存のインタラクティブセッションをバックグラウンドに送信するか、シェルから直接開始できます。

224 258 

225### エージェントビューから259<h3 id="from-agent-view">

260 エージェントビューから

261</h3>

226 262 

227エージェントビューの下部の入力にプロンプトを入力して `Enter` を押すと、新しいバックグラウンドセッションが開始されます。セッションはプロンプトから自動的に名前が付けられます。後で `Ctrl+R` で名前を変更できます。263エージェントビューの下部の入力にプロンプトを入力して `Enter` を押すと、新しいバックグラウンドセッションが開始されます。セッションはプロンプトから自動的に名前が付けられます。後で `Ctrl+R` で名前を変更できます。

228 264 

229プロンプトに画像を貼り付けて、タスクにスクリーンショットまたは図を含めます。265プロンプトに画像を貼り付けて、タスクにスクリーンショットまたは図を含めます。

230 266 

231プロンプトの一部をプレフィックスまたは言及してセッションの開始方法を制御します267プロンプトの一部をプレフィックスまたは言及してセッションの開始方法を制御します

232 268 

233| 入力 | 効果 |269| 入力 | 効果 |

234| :---------------------- | :------------------------------------------------------------------------------------------------------- |270| :------------------------------- | :------------------------------------------------------------------------------------------------------- |

235| `<agent-name> <prompt>` | 最初の単語がカスタム [subagent](/ja/sub-agents) 名と一致する場合、その subagent はセッションのメインエージェントとして実行され、frontmatter の設定を使用します |271| `<agent-name> <prompt>` | 最初の単語がカスタム [subagent](/ja/sub-agents) 名と一致する場合、その subagent はセッションのメインエージェントとして実行され、frontmatter の設定を使用します |

236| `@<agent-name>` | プロンプト内の任意の場所でカスタム subagent を言及してメインエージェントとして実行 |272| `@<agent-name>` | プロンプト内の任意の場所でカスタム subagent を言及してメインエージェントとして実行 |

237| `@<repo>` | エージェントビューを開いたディレクトリの下のリポジトリを言及してセッションをそこで実行 |273| `@<repo>` | エージェントビューを開いたディレクトリの下のリポジトリを言及してセッションをそこで実行 |

238| `/<skill>` | [skills](/ja/skills) をディスパッチプロンプトとして提案 |274| `/<command>` | [skills](/ja/skills) および [commands](/ja/commands) をディスパッチプロンプトとして提案 |

239| `#<number>` または PR URL | セッションが既にその PR で作業している場合はディスパッチの代わりに選択 |275| `! <command>` | Claude セッションを開始する代わりにシェルコマンドをバックグラウンドジョブとして実行します。ジョブは行として表示され、アタッチ、監視、デタッチできます |

276| `#<number>` または pull request URL | セッションが既にその PR で作業している場合は、ディスパッチの代わりに選択 |

240| `Shift+Enter` | ディスパッチして新しいセッションに直ちにアタッチ |277| `Shift+Enter` | ディスパッチして新しいセッションに直ちにアタッチ |

241 278 

279エージェントビュー自体で実行される少数のコマンドがあります。ディスパッチの代わりに:`/exit` および `/quit` はエージェントビューを閉じ、`/logout` はサインアウトします。その他のすべてのコマンドとスキルは、新しいバックグラウンドセッションにその最初のプロンプトとして送信されます。

280 

242繰り返しタスクを [skill](/ja/skills) としてパッケージ化すると、プロンプトを再入力せずにエージェントビューから同じワークフローを何度も開始できます。281繰り返しタスクを [skill](/ja/skills) としてパッケージ化すると、プロンプトを再入力せずにエージェントビューから同じワークフローを何度も開始できます。

243 282 

244同じ `@name` が subagent と兄弟リポジトリの両方と一致する場合、subagent が優先されます。最初の単語の一致も適用されるため、subagent 名の 1 つと一致する単語で始まるプロンプトはその subagent をディスパッチします。明示的にしたい場合は `@` 形式を使用するか、プロンプトを別の単語で開始して一致を避けます。283同じ `@name` が subagent と兄弟リポジトリの両方と一致する場合、subagent が優先されます。最初の単語の一致も適用されるため、subagent 名の 1 つと一致する単語で始まるプロンプトはその subagent をディスパッチします。明示的にしたい場合は `@` 形式を使用するか、プロンプトを別の単語で開始して一致を避けます。

245 284 

246#### 特定のディレクトリにディスパッチする285<h4 id="dispatch-to-a-specific-directory">

286 特定のディレクトリにディスパッチする

287</h4>

247 288 

248新しいセッションはエージェントビューを開いたディレクトリで実行されます。別のディレクトリをターゲットにするには:289新しいセッションはエージェントビューを開いたディレクトリで実行されます。別のディレクトリをターゲットにするには:

249 290 


253 294 

254エージェントビューがディレクトリでグループ化されている場合、ハイライトされた行のディレクトリがディスパッチターゲットになるため、グループにスクロールしてパスを再入力せずにそこにディスパッチできます。295エージェントビューがディレクトリでグループ化されている場合、ハイライトされた行のディレクトリがディスパッチターゲットになるため、グループにスクロールしてパスを再入力せずにそこにディスパッチできます。

255 296 

256### セッション内から297<h3 id="from-inside-a-session">

298 セッション内から

299</h3>

257 300 

258`/background` またはそのエイリアス `/bg` を実行して現在の会話をバックグラウンドセッションに移動します。`/bg run the test suite and fix any failures` などのプロンプトを渡して、バックグラウンド化する前に 1 つの追加命令を送信します。301`/background` またはそのエイリアス `/bg` を実行して現在の会話をバックグラウンドセッションに移動します。`/bg run the test suite and fix any failures` などのプロンプトを渡して、バックグラウンド化する前に 1 つの追加命令を送信します。Claude が応答中に `/bg` を実行した場合、応答はバックグラウンドセッションで続行されます。

259 302 

260インタラクティブセッションからバックグラウンド化すると、保存された会話から再開する新しいプロセスが開始されるため、subagent の実行、[monitors](/ja/tools-reference#monitor-tool)、およびバックグラウンドコマンドはそれに転送されません。実行中の場合、Claude はバックグラウンド化する前に確認を求めます。バックグラウンドに入ると、セッションは新しい subagent、monitor、およびバックグラウンドコマンドを開始でき、それらは後のデタッチとリアタッチ全体で実行し続けます。303インタラクティブセッションからバックグラウンド化すると、保存された会話から再開する新しいプロセスが開始されるため、subagent の実行、[monitors](/ja/tools-reference#monitor-tool)、およびバックグラウンドコマンドはそれに転送されません。実行中の場合、Claude はバックグラウンド化する前に確認を求めます。バックグラウンドに入ると、セッションは新しい subagent、monitor、およびバックグラウンドコマンドを開始でき、それらは後のデタッチとリアタッチ全体で実行し続けます。

261 304 


268* `--fallback-model`311* `--fallback-model`

269* `--allow-dangerously-skip-permissions`312* `--allow-dangerously-skip-permissions`

270 313 

314セッション中に [`/add-dir`](/ja/permissions#additional-directories-grant-file-access-not-configuration) で追加したディレクトリも引き継がれます。

315 

271`--allow-dangerously-skip-permissions` を引き継ぐことで、バックグラウンド化されたセッションで `bypassPermissions` に到達可能になりますが、新しい権限は付与されません。このモードは、セッションが監視していない状態で承認なしに動作することを許可するため、[パーミッションモード、モデル、および努力](#permission-mode-model-and-effort) で説明されているのと同じ 1 回限りのインタラクティブな受け入れが必要です。316`--allow-dangerously-skip-permissions` を引き継ぐことで、バックグラウンド化されたセッションで `bypassPermissions` に到達可能になりますが、新しい権限は付与されません。このモードは、セッションが監視していない状態で承認なしに動作することを許可するため、[パーミッションモード、モデル、および努力](#permission-mode-model-and-effort) で説明されているのと同じ 1 回限りのインタラクティブな受け入れが必要です。

272 317 

273### シェルから318<h3 id="from-your-shell">

319 シェルから

320</h3>

274 321 

275`--bg` を渡してセッションを直接バックグラウンドに送信します:322`--bg` を渡してセッションを直接バックグラウンドに送信します:

276 323 


290claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"337claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"

291```338```

292 339 

293バックグラウンド化の後、Claude はセッションの短い ID とセッションを管理するためのコマンドを出力します:340バックグラウンド化の後、Claude はセッションの短い ID とセッションを管理するためのコマンドを出力します。`--name` を渡すと、短い ID の後に名前が表示されます

294 341 

295```text theme={null}342```text theme={null}

296backgrounded · 7c5dcf5d343backgrounded · 7c5dcf5d · flaky-test-fix

297 claude agents list sessions344 claude agents list sessions

298 claude attach 7c5dcf5d open in this terminal345 claude attach 7c5dcf5d open in this terminal

299 claude logs 7c5dcf5d show recent output346 claude logs 7c5dcf5d show recent output

300 claude stop 7c5dcf5d stop this session347 claude stop 7c5dcf5d stop this session

301```348```

302 349 

303### ファイル編集の分離方法350<h4 id="run-a-shell-command">

351 シェルコマンドを実行する

352</h4>

353 

354Claude セッションの代わりにシェルコマンドをバックグラウンドジョブとして実行するには、エージェントビューのディスパッチ入力の最初の文字として `!` を入力します。`!` はプレフィックスとして表示され、その後に入力するすべてのものがコマンドです。次の例は、エージェントビューの入力ボックスから `pytest -x` をディスパッチします:

355 

356```text theme={null}

357! pytest -x

358```

359 

360`Enter` を押してジョブを開始します。同じジョブは、`--exec` を使用してシェルから直接起動することもできます:

361 

362```bash theme={null}

363claude --bg --exec 'pytest -x'

364```

365 

366コマンドは PTY バックアップジョブとして実行され、エージェントビューの行として表示されます。最新の出力行がそのステータスです。シェルジョブは Claude の代わりにコマンドを実行するため、モデルは呼び出されず、出力はセッションに送信されません。

367 

368出力を確認するには、行にアタッチするか、`Space` を押してアタッチせずにピークするか、シェルから `claude logs <id>` を実行します。キャプチャされた出力はメモリに保持され、ディスクに書き込まれません。行とその出力は、コマンド終了後約 5 分で自動的にクリーンアップされるため、その前に結果が必要な場合は読み取ります。

369 

370<h3 id="how-file-edits-are-isolated">

371 ファイル編集の分離方法

372</h3>

304 373 

305エージェントビュー、`/bg`、または `claude --bg` から開始されたすべてのバックグラウンドセッションは、作業ディレクトリで開始されます。ファイルを編集する前に、Claude はセッションを `.claude/worktrees/` の下の分離された [git worktree](/ja/worktrees) に移動するため、並列セッションは同じチェックアウトを読み取ることができますが、それぞれが独自のものに書き込みます。374エージェントビュー、`/bg`、または `claude --bg` から開始されたすべてのバックグラウンドセッションは、作業ディレクトリで開始されます。ファイルを編集する前に、Claude はセッションを `.claude/worktrees/` の下の分離された [git worktree](/ja/worktrees) に移動するため、並列セッションは同じチェックアウトを読み取ることができますが、それぞれが独自のものに書き込みます。

306 375 

307Claude はワークツリーをスキップします:376Claude はワークツリーをスキップします:

308 377 

309* セッションが既にリンクされた git worktree 内にある場合。Claude が `.claude/worktrees/` の下に作成したか、`git worktree add` で別の場所に作成したかに関係なく378* セッションが既にリンクされた git worktree 内にある場合。Claude が `.claude/worktrees/` の下に作成したか、`git worktree add` で別の場所に作成したかに関係なく

310* 作業ディレクトリが git リポジトリでない場合379* 作業ディレクトリが git リポジトリでない場合、および [`WorktreeCreate` hook](/ja/hooks#worktreecreate) が設定されていない場合

311* 作業ディレクトリの外への書き込みの場合380* 作業ディレクトリの外への書き込みの場合

312 381 

313git worktree が実用的でないリポジトリのワークツリー分離をオフにするには、[`worktree.bgIsolation`](/ja/settings#worktree-settings) を `"none"` に設定します。バックグラウンドセッションは、ワークツリーに移動する前に作業コピーを直接編集します。プロジェクトの `.claude/settings.json` に設定を追加します:382git worktree が実用的でないリポジトリのワークツリー分離をオフにするには、[`worktree.bgIsolation`](/ja/settings#worktree-settings) を `"none"` に設定します。バックグラウンドセッションは、ワークツリーに移動する前に作業コピーを直接編集します。プロジェクトの `.claude/settings.json` に設定を追加します:


324 `worktree.bgIsolation` 設定には Claude Code v2.1.143 以降が必要です。393 `worktree.bgIsolation` 設定には Claude Code v2.1.143 以降が必要です。

325</Note>394</Note>

326 395 

327git リポジトリの外では、セッションは作業ディレクトリに直接書き込み、互いに分離されていないため、同じファイルを編集する並列セッションのディスパッチを避けます。396git リポジトリの外では、セッションは作業ディレクトリに直接書き込み、互いに分離されていないため、同じファイルを編集する並列セッションのディスパッチを避けます。別のバージョン管理システムを使用する場合は、[`WorktreeCreate` hook](/ja/worktrees#non-git-version-control) を設定して、Claude は git の場合と同じ方法で編集を分離します。

328 397 

329エージェントビューでセッションを削除する(`Ctrl+X` を 2 回)と、Claude が作成したワークツリーが削除されます。コミットされていない変更を含めて削除されるため、保持したい変更をマージまたはプッシュしてから削除します。シェルから [`claude rm`](#manage-sessions-from-the-shell) で削除すると、コミットされていない変更があるワークツリーが保持され、そのパスが出力されるため、自分でクリーンアップできます。自分で作成したワークツリーとセッションを開始した場合は、どちらの方法でも所定の位置に残されます。398エージェントビューでセッションを削除する(`Ctrl+X` を 2 回)と、Claude が作成したワークツリーが削除されます。コミットされていない変更を含めて削除されるため、保持したい変更をマージまたはプッシュしてから削除します。シェルから [`claude rm`](#manage-sessions-from-the-shell) で削除すると、コミットされていない変更があるワークツリーが保持され、そのパスが出力されるため、自分でクリーンアップできます。自分で作成したワークツリーとセッションを開始した場合は、どちらの方法でも所定の位置に残されます。

330 399 

331セッションのワークツリーパスを見つけるには、セッションをピークするか、アタッチして作業ディレクトリを確認します。400セッションのワークツリーパスを見つけるには、セッションをピークするか、アタッチして作業ディレクトリを確認します。

332 401 

333subagent が開始方法に関係なく常に独自のワークツリーで実行されるようにするには、frontmatter で [`isolation: worktree`](/ja/sub-agents#supported-frontmatter-fields) を設定します402バックグラウンドセッションが生成する [subagent](/ja/sub-agents) セッションの作業ディレクトリを継承するため、そのファイル編集はセッションのワークツリーではなく作業コピーに配置されます。subagent に独自の個別ワークツリーを代わりに提供するには、frontmatter で [`isolation: worktree`](/ja/sub-agents#supported-frontmatter-fields) を設定するか、生成時に `isolation: "worktree"` を渡します

334 403 

335### モデルを設定する404<h3 id="set-the-model">

405 モデルを設定する

406</h3>

336 407 

337エージェントビューヘッダーに表示されるモデル名はディスパッチのデフォルトです。入力から開始する新しいセッションはこのモデルを使用します。これは任意のセッションで [`/model`](/ja/model-config) が制御するのと同じ設定です。エージェントビューセッション全体でオーバーライドするには、エージェントビューを開く際に `--model` を渡します。[パーミッションモード、モデル、および努力](#permission-mode-model-and-effort) を参照してください。408エージェントビューヘッダーに表示されるモデル名はディスパッチのデフォルトです。入力から開始する新しいセッションはこのモデルを使用します。これは [`model` setting](/ja/settings#available-settings) からユーザー設定で取得されます。[`/model` picker](/ja/model-config) でモデルを選択して設定するか、設定を直接編集します。エージェントビューセッション全体でオーバーライドするには、エージェントビューを開く際に `--model` を渡します。[パーミッションモード、モデル、および努力](#permission-mode-model-and-effort) を参照してください。

338 409 

339各バックグラウンドセッションは異なるモデルで実行できます。1 つのセッションでオーバーライドするには:410各バックグラウンドセッションは異なるモデルで実行できます。1 つのセッションでオーバーライドするには:

340 411 

341* シェルから、`claude --bg` で `--model` を渡します。412* シェルから、`claude --bg` で `--model` を渡します。

342* 実行中のセッションにアタッチして、そこで `/model` を実行します。セッションが再生成される場合、変更は保持されます。413* 実行中のセッションにアタッチして、そこで `/model` を開き、モデルで `s` を押してそのセッションのみのモデルを切り替えます。セッションが再生成される場合、変更は保持されます。

343* frontmatter が `model` フィールドを設定する [subagent](/ja/sub-agents) をディスパッチします。414* frontmatter が `model` フィールドを設定する [subagent](/ja/sub-agents) をディスパッチします。

344 415 

345### パーミッションモード、モデル、および努力416<h3 id="permission-mode-model-and-effort">

417 パーミッションモード、モデル、および努力

418</h3>

346 419 

347バックグラウンドセッションは、そこで `claude` を開始した場合と同じように、実行されるディレクトリから [settings](/ja/settings) を読み取ります。420バックグラウンドセッションは、そこで `claude` を開始した場合と同じように、実行されるディレクトリから [settings](/ja/settings) を読み取ります。

348 421 

349[permission mode](/ja/permissions) は、セッションをどのように開始したかによって異なります。`/bg` または `←` でインタラクティブセッションをバックグラウンド化すると、現在のパーミッションモードが保持されるため、`acceptEdits` または `auto` に切り替えたセッションはデタッチ後もそのモードのままです。エージェントビュー入力からディスパッチするか、シェルから `claude --bg` を実行すると、そのディレクトリの設定から `defaultMode` を使用するか、ディスパッチされた [subagent の frontmatter](/ja/sub-agents#supported-frontmatter-fields) から `permissionMode` を使用します。422[permission mode](/ja/permissions) は、セッションをどのように開始したかによって異なります。`/bg` または `←` でインタラクティブセッションをバックグラウンド化すると、現在のパーミッションモードが保持されるため、`acceptEdits` または `auto` に切り替えたセッションはデタッチ後もそのモードのままです。エージェントビュー入力からディスパッチするか、シェルから `claude --bg` を実行すると、そのディレクトリの設定から `defaultMode` を使用するか、ディスパッチされた [subagent の frontmatter](/ja/sub-agents#supported-frontmatter-fields) から `permissionMode` を使用します。

350 423 

351バックグラウンドセッションを開始するときのパーミッションモードは、スーパーバイザーが後で [セッションのプロセスを停止して再開](#the-supervisor-process) するときに保持されます。`claude --bg --dangerously-skip-permissions` または `claude --bg --permission-mode bypassPermissions` で起動したセッションは、ディレクトリの `defaultMode` にフォールバックする代わりに、その再開後も `bypassPermissions` のままです。424バックグラウンドセッションを開始するときのパーミッションモードモデル、および努力は、スーパーバイザーが後で [セッションのプロセスを停止して再開](#the-supervisor-process) するときに、[設定フラグ](#from-inside-a-session) とともに保持されます。`claude --bg --dangerously-skip-permissions` または `claude --bg --permission-mode bypassPermissions` で起動したセッションは、ディレクトリの `defaultMode` にフォールバックする代わりに、その再開後も `bypassPermissions` のままです。また、セッション中に `/model` または `/effort` で変更したモデルまたは努力は保持されます。

352 425 

353エージェントビューを開く際に `--permission-mode`、`--model`、または `--effort` のいずれかを渡して、エージェントビューからディスパッチするすべてのセッションのデフォルトを設定します:426エージェントビューを開く際に `--permission-mode`、`--model`、`--effort`、または `--agent` のいずれかを渡して、エージェントビューからディスパッチするすべてのセッションのデフォルトを設定します:

354 427 

355```bash theme={null}428```bash theme={null}

356claude agents --permission-mode plan --model opus --effort high429claude agents --permission-mode plan --model opus --effort high

357```430```

358 431 

432`--agent` は、ディスパッチプロンプトが `@name` または最初の単語で名前を付けない場合に使用される [subagent](/ja/sub-agents) を設定します。設定されている場合は [`agent` setting](/ja/settings#available-settings) にデフォルト設定され、そうでない場合は組み込みのキャッチオール `claude` エージェントです。ディスパッチ入力で subagent を名前付けすると、両方がオーバーライドされます。

433 

359`claude agents` は、`--permission-mode bypassPermissions` の短縮形として `--dangerously-skip-permissions` も受け入れ、各ディスパッチされたセッションの `Shift+Tab` サイクルで `bypassPermissions` を利用可能にするために `--allow-dangerously-skip-permissions` も受け入れます。どちらも [トップレベル CLI フラグ](/ja/cli-reference) と一致します。434`claude agents` は、`--permission-mode bypassPermissions` の短縮形として `--dangerously-skip-permissions` も受け入れ、各ディスパッチされたセッションの `Shift+Tab` サイクルで `bypassPermissions` を利用可能にするために `--allow-dangerously-skip-permissions` も受け入れます。どちらも [トップレベル CLI フラグ](/ja/cli-reference) と一致します。

360 435 

361<Note>436これらのフラグはリリース全体で追加されました。以前のバージョンはそれらを unknown-option エラーで拒否します。

362 `--permission-mode`、`--model`、`--effort`、または `--dangerously-skip-permissions` を `claude agents` に渡すには、Claude Code v2.1.142 以降が必要です。{/* min-version: 2.1.143 */}`claude agents` の `--allow-dangerously-skip-permissions` には v2.1.143 以降が必要です。以前のバージョンはこれらのフラグを unknown-option エラーで拒否します。437 

363</Note>438| フラグまたは設定 | 最小バージョン |

439| :------------------------------------------------------------------------ | :------------------------------------ |

440| `--permission-mode`、`--model`、`--effort`、`--dangerously-skip-permissions` | v2.1.142 {/* min-version: 2.1.142 */} |

441| `--allow-dangerously-skip-permissions` | v2.1.143 {/* min-version: 2.1.143 */} |

442| `--agent`、およびディスパッチされたセッションの `agent` 設定を尊重 | v2.1.157 {/* min-version: 2.1.157 */} |

443 

444v2.1.157 より前では、エージェントビューは `agent` 設定を無視し、組み込みの `claude` エージェントをディスパッチします。

364 445 

365アクティブなデフォルトはディスパッチ入力の下のフッターに表示されます。446アクティブなデフォルトはディスパッチ入力の下のフッターに表示されます。

366 447 


368 449 

369`bypassPermissions` または `auto` を使用することは、それらのモードが監視していないセッションが承認なしで動作することを許可するため、それらのモードを対話的に実行して `claude` で受け入れるまで拒否されます。同じことが、モードを `claude agents` に渡すか、`claude --bg --permission-mode` に渡すかに関係なく適用されます。450`bypassPermissions` または `auto` を使用することは、それらのモードが監視していないセッションが承認なしで動作することを許可するため、それらのモードを対話的に実行して `claude` で受け入れるまで拒否されます。同じことが、モードを `claude agents` に渡すか、`claude --bg --permission-mode` に渡すかに関係なく適用されます。

370 451 

371### 設定、プラグイン、および MCP サーバー452<h3 id="settings-plugins-and-mcp-servers">

453 設定、プラグイン、および MCP サーバー

454</h3>

372 455 

373エージェントビューは、設定、プラグイン、MCP サーバー、および追加ディレクトリを読み込むための `claude` と同じ設定フラグを受け入れます。これらのフラグには Claude Code v2.1.142 以降が必要です。各フラグはエージェントビュー自体に適用され、そこからディスパッチするすべてのセッションに渡されるため、この方法で読み込むプラグインまたは MCP サーバーはそれらのセッションでも利用可能です。456エージェントビューは、設定、プラグイン、MCP サーバー、および追加ディレクトリを読み込むための `claude` と同じ設定フラグを受け入れます。これらのフラグには Claude Code v2.1.142 以降が必要です。各フラグはエージェントビュー自体に適用され、そこからディスパッチするすべてのセッションに渡されるため、この方法で読み込むプラグインまたは MCP サーバーはそれらのセッションでも利用可能です。

374 457 


388claude agents --settings ./ci-settings.json --add-dir ../shared-lib471claude agents --settings ./ci-settings.json --add-dir ../shared-lib

389```472```

390 473 

391## シェルからセッションを管理する474<h2 id="manage-sessions-from-the-shell">

475 シェルからセッションを管理する

476</h2>

392 477 

393すべてのバックグラウンドセッションには、シェルから使用できる短い ID があります。ID は `claude --bg` でセッションを開始するときに出力され、各セッションの ID は `~/.claude/jobs/` の下のディレクトリ名です。これらのコマンドはスクリプティングまたはエージェントビューを開きたくない場合に便利です。478すべてのバックグラウンドセッションには、シェルから使用できる短い ID があります。ID は `claude --bg` でセッションを開始するときに出力され、各セッションの ID は `~/.claude/jobs/` の下のディレクトリ名です。これらのコマンドはスクリプティングまたはエージェントビューを開きたくない場合に便利です。

394 479 

395| コマンド | 目的 |480| コマンド | 目的 |

396| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |481| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

397| `claude agents` | エージェントビューを開く |482| `claude agents` | エージェントビューを開く |

398| `claude agents --cwd <path>` | `<path>` の下で開始されたセッションにスコープされたエージェントビューを開く |483| `claude agents --cwd <path>` | `<path>` の下で開始されたセッションにスコープされたエージェントビューを開く |

484| `claude agents --json` | ライブセッションを JSON 配列として出力して終了します。各エントリには `pid`、`cwd`、`kind`、`startedAt` が含まれ、設定されている場合は `sessionId`、`name`、`status` も含まれます。`--cwd <path>` と組み合わせてフィルタリングします |

399| `claude attach <id>` | このターミナルでセッションにアタッチする |485| `claude attach <id>` | このターミナルでセッションにアタッチする |

400| `claude logs <id>` | セッションの最新出力を出力する |486| `claude logs <id>` | セッションの最新出力を出力する |

401| `claude stop <id>` | セッションを停止する。`claude kill` も受け入れます |487| `claude stop <id>` | セッションを停止する。`claude kill` も受け入れます |

402| `claude respawn <id>` | セッションを再開する。会話を保持したまま実行または停止状態から再開します。例えば、更新された Claude Code バイナリを取得するため |488| `claude respawn <id>` | セッションを再開する。会話を保持したまま実行または停止状態から再開します。例えば、更新された Claude Code バイナリを取得するため |

403| `claude respawn --all` | すべての実行中のセッションを再開する。例えば、すべてのセッションを一度に更新された Claude Code バイナリに移動するため |489| `claude respawn --all` | すべての実行中のセッションを再開する。例えば、すべてのセッションを一度に更新された Claude Code バイナリに移動するため |

404| `claude rm <id>` | セッションとそのトランスクリプトを削除する。コミットされていない変更がない場合、セッション用に Claude が作成した worktree を削除します。それ以外の場合は、クリーンアップできるように worktree パスを出力します。自分で作成した worktree はそのままにしておきます |490| `claude rm <id>` | セッションをリストから削除する。コミットされていない変更がない場合、セッション用に Claude が作成した worktree を削除します。それ以外の場合は、クリーンアップできるように worktree パスを出力します。自分で作成した worktree はそのままにしておきます。会話トランスクリプトはローカルマシンに保存され、`claude --resume` を通じて利用可能なままです |

405| `claude daemon status` | [supervisor](#the-supervisor-process) の状態、バージョン、ソケットディレクトリ、およびワーカー数を出力する |491| `claude daemon status` | [supervisor](#the-supervisor-process) の状態、バージョン、ソケットディレクトリ、およびワーカー数を出力する |

492| `claude daemon stop --any` | supervisor プロセスとそれがホストするバックグラウンドセッションを停止します。`--keep-workers` を渡して、バックグラウンドセッションを実行したままにして、次の supervisor が再接続できるようにします。次の `claude agents` または `claude --bg` は新しい supervisor を開始します |

406 493 

407## バックグラウンドセッションがどのようにホストされるか494<h2 id="how-background-sessions-are-hosted">

495 バックグラウンドセッションがどのようにホストされるか

496</h2>

408 497 

409エージェントビューに表示されているすべてのセッションはバックグラウンドセッションと見なされます。現在接続しているかどうかに関わらず、バックグラウンドセッションと見なされます。これに対して、`claude` を直接実行して開始されたセッションはそのターミナルに結び付けられ、ターミナルが閉じると終了します。ただし、[セッション内から](#from-inside-a-session)バックグラウンドに送信することはできます。498エージェントビューに表示されているすべてのセッションはバックグラウンドセッションと見なされます。現在接続しているかどうかに関わらず、バックグラウンドセッションと見なされます。これに対して、`claude` を直接実行して開始されたセッションはそのターミナルに結び付けられ、ターミナルが閉じると終了します。ただし、[セッション内から](#from-inside-a-session)バックグラウンドに送信することはできます。

410 499 

411### スーパーバイザープロセス500<h3 id="the-supervisor-process">

501 スーパーバイザープロセス

502</h3>

412 503 

413バックグラウンドセッションはユーザーごとのスーパーバイザープロセスによってホストされ、ターミナルおよびエージェントビューとは別です。スーパーバイザーはセッションを初めてバックグラウンド化するか、エージェントビューを開くときに自動的に開始され、直接管理することはありません。504バックグラウンドセッションはユーザーごとのスーパーバイザープロセスによってホストされ、ターミナルおよびエージェントビューとは別です。スーパーバイザーはセッションを初めてバックグラウンド化するか、エージェントビューを開くときに自動的に開始され、直接管理することはありません。

414 505 

415スーパーバイザーとそのセッションはインタラクティブセッションと同じ認証情報で認証され、モデル API を超えて追加のネットワーク接続を行いません。506スーパーバイザーとそのセッションはインタラクティブセッションと同じ認証情報で認証され、モデル API を超えて追加のネットワーク接続を行いません。

416 507 

417各バックグラウンドセッションは独自の Claude Code プロセスであり、ターミナルではなくスーパーバイザーによって管理されます。アクティブに作業しているセッション、入力を待機しているセッション、またはターミナルが接続されているセッションはプロセスを実行し続けます。508各バックグラウンドセッションは独自の Claude Code プロセスであり、ターミナルではなくスーパーバイザーによって管理されます。アクティブに作業しているセッション、入力を待機しているセッション、またはターミナルが接続されているセッションはプロセスを実行し続けます。実行中のバックグラウンドシェルコマンド、サブエージェント、動的ワークフロー、またはモニターはアクティブな作業としてカウントされるため、開発サーバーなどの長時間実行プロセスはセッションを生かし続けます。

418 509 

419セッションが完了し、約 1 時間アタッチされていない状態で待機すると、スーパーバイザーはリソースを解放するためにプロセスを停止します。トランスクリプトと状態はディスク上に残り、次回アタッチ、ピーク表示、または返信するときに、スーパーバイザーは中断したところから新しいプロセスを開始します。すべてのセッションが完了し、ターミナルが接続されていない場合、スーパーバイザー自体が終了し、次回セッションをバックグラウンド化するか、エージェントビューを開くときに再度開始します。510セッションが完了し、約 1 時間アタッチされていない状態で待機すると、スーパーバイザーはリソースを解放するためにプロセスを停止します。`Ctrl+T` で[ピン留めした](#organize-the-list)セッションは除外され、アイドル状態でもプロセスを実行し続けます。トランスクリプトと状態はディスク上に残り、次回アタッチ、ピーク表示、または返信するときに、スーパーバイザーは中断したところから新しいプロセスを開始します。すべてのセッションが完了し、ターミナルが接続されていない場合、スーパーバイザー自体が終了し、次回セッションをバックグラウンド化するか、エージェントビューを開くときに再度開始します。

420 511 

421スーパーバイザーはディスク上にインストールされた Claude Code バイナリを監視し通常の [自動更新プログラム](/ja/setup#auto-updates) がそれを置き換えた後、新しいバージョンに再開します。これはネットワークチェックではなく、ローカルファイルウォッチです。バックグラウンドセッションはデタッチされたプロセスであるため、再開を通じて実行し続け、新しいスーパーバイザーはそれらに再接続します512`←` を押して残された空の行で、プロンプトが与えられたことがない場合は、約 5 分後に完全に削除されるためリストは自動的にクリアされます。`claude --bg` で開始されたセッションおよびトラストダイアログなどのセットアッププロンプトを待機しているセッションはこの方法では削除されません

422 513 

423### 状態が保存される場所514ホストのメモリが不足している場合、スーパーバイザーはアイドル状態の非ピン留めセッションを最初に停止し、何も解放されない場合のみアイドル状態のピン留めセッションを停止します。

424 515 

425セッション状態は Claude Code 設定ディレクトリの下に保存されます。[`CLAUDE_CONFIG_DIR`](/ja/env-vars) を設定した場合スーパーバイザーは `~/.claude` の代わりにそのディレクトリを使用し独自のセッションを持つ別のインスタンスとして実行されます516スーパーバイザーはディスク上にインストールされた Claude Code バイナリを監視し、通常の[自動更新プログラム](/ja/setup#auto-updates)がそれを置き換えた後新しいバージョンに再開します。これはネットワークチェックではなくローカルファイルウォッチですバックグラウンドセッションはデタッチされたプロセスであるため、再開を通じて実行し続け、新しいスーパーバイザーはそれらに再接続します。アイドル状態のピン留めセッションも新しいバージョンに再開されるため、再度アタッチすることなく更新を取得します。

517 

518<h3 id="where-state-is-stored">

519 状態が保存される場所

520</h3>

521 

522セッション状態は Claude Code 設定ディレクトリの下に保存されます。[`CLAUDE_CONFIG_DIR`](/ja/env-vars)を設定した場合、スーパーバイザーは `~/.claude` の代わりにそのディレクトリを使用し、独自のセッションを持つ別のインスタンスとして実行されます。

426 523 

427| パス | 内容 |524| パス | 内容 |

428| :------------------------------- | :----------------------------------- |525| :------------------------------- | :-------------------------------------------------------------- |

429| `~/.claude/daemon.log` | スーパーバイザーログ |526| `~/.claude/daemon.log` | スーパーバイザーログ |

430| `~/.claude/daemon/roster.json` | 実行中のバックグラウンドセッションのリスト。再開後に再接続するために使用 |527| `~/.claude/daemon/roster.json` | 実行中のバックグラウンドセッションのリスト。再開後に再接続するために使用 |

431| `~/.claude/jobs/<id>/state.json` | エージェントビューに表示されるセッションごとの状態 |528| `~/.claude/jobs/<id>/state.json` | エージェントビューに表示されるセッションごとの状態 |

529| `~/.claude/jobs/<id>/tmp/` | セッションごとのスクラッチディレクトリ。ここへの書き込みはパーミッション確認を促しません。セッションが削除されると削除されます |

432 530 

433スーパーバイザーの状態を直接ファイルを読むことなく検査するには、`claude daemon status` を実行します。スーパーバイザーに到達可能かどうか、そのプロセス ID とバージョン、ソケットディレクトリ、およびライブのバックグラウンドセッション数を報告します。`/doctor` には同じチェックの概要が含まれます。Windows では`claude daemon status` はデーモンのパイプキーファイルがロックされているか読み取り不可の場合、一般的な接続失敗を報告する代わりに、基になるファイルエラーを表示します531各バックグラウンドセッションには `CLAUDE_JOB_DIR` 環境変数が `~/.claude/jobs/<id>` ディレクトリに設定されているためセッションが実行するシェルコマンドは並列セッションと衝突することなく `$CLAUDE_JOB_DIR/tmp` に一時ファイルを書き込むことができます

434 532 

435### エージェントビューをオフにする533この状態を直接ファイルを読むことなく検査するには、`claude daemon status` を実行します。スーパーバイザーに到達可能かどうか、そのプロセス ID とバージョン、ソケットディレクトリ、およびライブのバックグラウンドセッション数を報告します。`/doctor` には同じチェックの概要が含まれます。Windows では、`claude daemon status` はデーモンのパイプキーファイルがロックされているか読み取り不可の場合、一般的な接続失敗を報告する代わりに、基になるファイルエラーを表示します。

436 534 

437バックグラウンドエージェントとエージェントビューを完全にオフにするには、`disableAgentView` [設定](/ja/settings) を `true` に設定するか、`CLAUDE_CODE_DISABLE_AGENT_VIEW` 環境変数を設定します。管理者は [マネージド設定](/ja/permissions#managed-settings) を通じてこれを強制できます。535<h3 id="turn-off-agent-view">

536 エージェントビューをオフにする

537</h3>

438 538 

439## トラブルシューティング539バックグラウンドエージェントとエージェントビューを完全にオフにするには、`disableAgentView`[設定](/ja/settings)を `true` に設定するか、`CLAUDE_CODE_DISABLE_AGENT_VIEW` 環境変数を設定します。管理者は[マネージド設定](/ja/permissions#managed-settings)を通じてこれを強制できます。

440 540 

441### `claude agents` がエージェントビューを開く代わりにサブエージェントをリストする541<h2 id="troubleshooting">

542 トラブルシューティング

543</h2>

544 

545<h3 id="claude-agents-lists-subagents-instead-of-opening-agent-view">

546 `claude agents` がエージェントビューを開く代わりにサブエージェントをリストする

547</h3>

442 548 

443`claude agents` が数を出力した後、設定されたサブエージェントを表示してから終了する場合、エージェントビューはお使いの環境では利用できません。以前のバージョンでは、Bedrock、Vertex AI、または Foundry を経由して接続している場合を含め、すべての環境でエージェントビューを開きませんでした。`claude update` を実行して最新バージョンをインストールしてください。549`claude agents` が数を出力した後、設定されたサブエージェントを表示してから終了する場合、エージェントビューはお使いの環境では利用できません。以前のバージョンでは、Bedrock、Vertex AI、または Foundry を経由して接続している場合を含め、すべての環境でエージェントビューを開きませんでした。`claude update` を実行して最新バージョンをインストールしてください。

444 550 

445更新後もエージェントビューが開かない場合は、設定または環境変数によって[オフになっている](#turn-off-agent-view)かどうかを確認してください。551更新後もエージェントビューが開かない場合は、設定または環境変数によって[オフになっている](#turn-off-agent-view)かどうかを確認してください。

446 552 

447### エージェントビューがセッションなしで開く553<h3 id="agent-view-opens-with-no-sessions">

554 エージェントビューがセッションなしで開く

555</h3>

448 556 

449最初のセッションをディスパッチする前に、エージェントビューはセッションリストの代わりに、例のプロンプトを含む短いオンボーディングヒントを表示します。下部の入力にプロンプトを入力して `Enter` を押して、最初のセッションをディスパッチします。557最初のセッションをディスパッチする前に、エージェントビューはセッションリストの代わりに、例のプロンプトを含む短いオンボーディングヒントを表示します。下部の入力にプロンプトを入力して `Enter` を押して、最初のセッションをディスパッチします。

450 558 

451### バックグラウンドタスクが実行中のためエージェントを開くことができない559<h3 id="cannot-open-agents-because-background-tasks-are-running">

560 バックグラウンドタスクが実行中のためエージェントを開くことができない

561</h3>

452 562 

453`←` を押して現在のセッションをバックグラウンドに移すと `Cannot open agents — N background task(s) running` が表示される場合、セッションにはサブエージェント、ワークフロー、またはバックグラウンドシェルコマンドなどの進行中の作業があり、ショートカットはそれを静かに放棄しません。`/tasks` を実行して何が実行されているかを確認し、`/bg` を実行して放棄することを確認します。バックグラウンドに移すときに何が転送され、何が転送されないかについては、[セッション内から](#from-inside-a-session)を参照してください。563`←` を押して現在のセッションをバックグラウンドに移すと `Cannot open agents — N background task(s) running` が表示される場合、セッションにはサブエージェント、ダイナミックワークフロー、またはバックグラウンドシェルコマンドなどの進行中の作業があり、ショートカットはそれを静かに放棄しません。`/tasks` を実行して何が実行されているかを確認し、`/bg` を実行して放棄することを確認します。バックグラウンドに移すときに何が転送され、何が転送されないかについては、[セッション内から](#from-inside-a-session)を参照してください。

454 564 

455### プロンプトが短すぎるとして拒否される565<h3 id="prompt-rejected-as-too-short">

566 プロンプトが短すぎるとして拒否される

567</h3>

456 568 

457ディスパッチ入力は会話の開始ではなく、タスクの説明を期待しています。4 文字未満のプロンプトは `Too short` ヒントで拒否されるため、誤ったキー入力がセッションを開始しません。セッションで何をしたいかを説明してください。例えば `investigate the flaky checkout test` のようにします。569ディスパッチ入力は会話の開始ではなく、タスクの説明を期待しています。4 文字未満のプロンプトは `Too short` ヒントで拒否されるため、誤ったキー入力がセッションを開始しません。セッションで何をしたいかを説明してください。例えば `investigate the flaky checkout test` のようにします。

458 570 

459### シャットダウン後、セッションが失敗として表示される571<h3 id="sessions-show-as-failed-after-shutdown">

572 シャットダウン後、セッションが失敗として表示される

573</h3>

460 574 

461マシンをシャットダウンまたは再起動すると、実行中のバックグラウンドセッションが停止するため、次にエージェントビューを開くときに失敗として表示されます。それらのいずれかにアタッチ、ピーク表示、または返信すると、セッションは中断したところから再開します。575マシンをシャットダウンまたは再起動すると、実行中のバックグラウンドセッションが停止するため、次にエージェントビューを開くときに失敗として表示されます。それらのいずれかにアタッチ、ピーク表示、または返信すると、セッションは中断したところから再開します。

462 576 

463スリープだけではこれは発生しません。セッションはスリープ全体で保持され、スーパーバイザーはウェイク時にそれらに再接続します。577スリープだけではこれは発生しません。セッションはスリープ全体で保持され、スーパーバイザーはウェイク時にそれらに再接続します。

464 578 

465### セッションがアタッチ後に応答が遅い579<h3 id="agent-view-says-the-background-service-did-not-respond">

580 エージェントビューがバックグラウンドサービスが応答しなかったと表示される

581</h3>

582 

583アタッチ、ピーク表示、または `claude logs` がバックグラウンドサービスが応答しなかったと報告する場合、スーパーバイザープロセスがスタールしている可能性があります。それを停止して、次の `claude agents` に新しいものを開始させてください。バックグラウンドセッションを再起動全体で実行し続けるには、`--keep-workers` を渡してください。

584 

585```bash theme={null}

586claude daemon stop --any --keep-workers

587```

588 

589新しいスーパーバイザーは実行中のセッションに再接続します。`--keep-workers` がない場合、コマンドはバックグラウンドセッションも終了します。`--any` フラグは、デフォルトであるインストール済みサービスではなく、オンデマンドで開始されたスーパーバイザーを停止したいことを確認します。

590 

591Windows では、スーパーバイザーが停止要求に応答しない場合、コマンドはそのプロセス ID を出力します。`taskkill /PID <pid>` でそのプロセスを終了して復旧を完了します。`--keep-workers` を渡した場合、バックグラウンドセッションは引き続き保持されます。

592 

593<h3 id="background-sessions-cannot-read-desktop-documents-or-downloads-on-macos">

594 macOS でバックグラウンドセッションが Desktop、Documents、または Downloads を読み取ることができない

595</h3>

596 

597macOS では、バックグラウンドセッションホストは独自のプロセスとして実行され、ターミナルとは別に保護されたフォルダへのアクセスをリクエストします。バックグラウンドセッションが `~/Desktop`、`~/Documents`、`~/Downloads`、または別の保護された場所を読み取るときに `Operation not permitted` を報告する場合、System Settings の Privacy & Security > Files and Folders でアクセスを許可するか、エントリの Full Disk Access を有効にしてください。

598 

599ネイティブインストーラーを使用すると、エントリは Claude Code として表示され、許可は更新全体で保持されます。Homebrew または npm などの他のインストール方法を使用すると、エントリはバイナリパスを表示し、更新後に再度許可が必要になる場合があります。

600 

601<h3 id="a-session-is-slow-to-respond-after-attaching">

602 セッションがアタッチ後に応答が遅い

603</h3>

466 604 

467セッションが完了し、約 1 時間アタッチされていない状態で待機すると、スーパーバイザーはリソースを解放するためにプロセスを停止します。アタッチすると、中断したところから新しいプロセスが開始され、少し時間がかかります。作業中または入力を待機しているセッションはこの方法で停止されることはありません605セッションが完了し、約 1 時間アタッチされていない状態で待機すると、スーパーバイザーはリソースを解放するためにプロセスを停止します。アタッチすると、中断したところから新しいプロセスが開始され、少し時間がかかります。作業中または入力を待機しているセッション、または[ピン留めされた](#organize-the-list)セッションはこの方法で停止されることはありませんセッションを `Ctrl+T` でピン留めして、応答性を保つことができます。

468 606 

469### `.claude/worktrees/` が満杯になっている607<h3 id="claude/worktrees/-is-filling-up">

608 `.claude/worktrees/` が満杯になっている

609</h3>

470 610 

471エージェントビューでセッションを削除すると、Claude が作成したワークツリーが削除されます。`claude rm` はコミットされていない変更があるワークツリーを保持し、そのパスを出力します。プロジェクトディレクトリで `git worktree list` を使用して残りのエントリをリストし、各エントリを `git worktree remove <path>` で削除します。[ワークツリーをクリーンアップする](/ja/worktrees#clean-up-worktrees)を参照してください。611エージェントビューでセッションを削除すると、Claude が作成したワークツリーが削除されます。`claude rm` はコミットされていない変更があるワークツリーを保持し、そのパスを出力します。プロジェクトディレクトリで `git worktree list` を使用して残りのエントリをリストし、各エントリを `git worktree remove <path>` で削除します。[ワークツリーをクリーンアップする](/ja/worktrees#clean-up-worktrees)を参照してください。

472 612 

473## 制限事項613<h2 id="limitations">

614 制限事項

615</h2>

474 616 

475Agent view はリサーチプレビューであり、以下の制限事項があります。617Agent view はリサーチプレビューであり、以下の制限事項があります。

476 618 


478* **セッションはローカル**:バックグラウンドセッションはマシンで実行され、スリープ中は保持されますが、マシンがシャットダウンすると停止します。620* **セッションはローカル**:バックグラウンドセッションはマシンで実行され、スリープ中は保持されますが、マシンがシャットダウンすると停止します。

479* **Claude が作成した worktrees はエージェント view のセッションで削除される**:セッションが独自の worktree でファイルを編集した場合、セッションを削除する前に変更をマージまたはプッシュしてください。`claude rm` は未コミットの変更がある worktree を保持します。自分で作成した worktree はそのまま残されます。621* **Claude が作成した worktrees はエージェント view のセッションで削除される**:セッションが独自の worktree でファイルを編集した場合、セッションを削除する前に変更をマージまたはプッシュしてください。`claude rm` は未コミットの変更がある worktree を保持します。自分で作成した worktree はそのまま残されます。

480 622 

481## 関連リソース623<h2 id="related-resources">

624 関連リソース

625</h2>

482 626 

483Claude を並列実行する他の方法については、以下を参照してください。627Claude を並列実行する他の方法については、以下を参照してください。

484 628 

agents.md +31 −11

Details

4 4 

5# エージェントを並列実行する5# エージェントを並列実行する

6 6 

7> Claude Code が複数のタスクを同時に実行する方法を比較します。サブエージェント、エージェントビュー、エージェントチーム、および分離されたワークツリーセッションについて説明します7> Claude Code が複数のタスクを同時に実行する方法を比較します。サブエージェント、エージェントビュー、エージェントチーム、および動的ワークフローについて説明します

8 8 

9[サブエージェント](/ja/sub-agents)、[エージェントビュー](/ja/agent-view)、[エージェントチーム](/ja/agent-teams)、および [ワークツリー](/ja/worktrees) は、それぞれ異なる方法で作業を並列化します。どれを選ぶかは、各会話に自分で留まりたいのか、タスクを引き継いで後で確認したいのか、それとも Claude に一群のワーカーを調整させたいのかによって異なります。9[サブエージェント](/ja/sub-agents)、[エージェントビュー](/ja/agent-view)、[エージェントチーム](/ja/agent-teams)、および [動的ワークフロー](/ja/workflows) は、それぞれ異なる方法で作業を並列化します。どれを選ぶかは、各会話に自分で留まりたいのか、タスクを引き継いで後で確認したいのか、それとも Claude に一群のワーカーを調整させたいのかによって異なります。

10 10 

11| アプローチ | 提供内容 | 使用する場合 |11| アプローチ | 提供内容 | 使用する場合 |

12| :--------------------------- | :---------------------------------------------------------------------- | :------------------------------------------------ |12| :--------------------------- | :---------------------------------------------------------------------- | :--------------------------------------------------------------------------- |

13| [サブエージェント](/ja/sub-agents) | 1 つのセッション内で委任されたワーカーが、独自のコンテキストでサイドタスクを実行し、サマリーを返す | サイドタスクが検索結果、ログ、またはファイルコンテンツで主な会話を埋め尽くす場合(再度参照しない) |13| [サブエージェント](/ja/sub-agents) | 1 つのセッション内で委任されたワーカーが、独自のコンテキストでサイドタスクを実行し、サマリーを返す | サイドタスクが検索結果、ログ、またはファイルコンテンツで主な会話を埋め尽くす場合(再度参照しない) |

14| [エージェントビュー](/ja/agent-view) | `claude agents` で開く、バックグラウンドで実行されているセッションをディスパッチして監視する 1 つの画面。リサーチプレビュー | 複数の独立したタスクがあり、それらを引き継いで、一目で状態を確認し、必要な場合のみ介入したい場合 |14| [エージェントビュー](/ja/agent-view) | `claude agents` で開く、バックグラウンドで実行されているセッションをディスパッチして監視する 1 つの画面。リサーチプレビュー | 複数の独立したタスクがあり、それらを引き継いで、一目で状態を確認し、必要な場合のみ介入したい場合 |

15| [エージェントチーム](/ja/agent-teams) | 共有タスクリストとエージェント間メッセージングを備えた複数の調整されたセッション。リーダーによって管理される。実験的で、デフォルトでは無効 | Claude にプロジェクトを分割させ、割り当てさせ、ワーカーを同期させたい場合 |15| [エージェントチーム](/ja/agent-teams) | 共有タスクリストとエージェント間メッセージングを備えた複数の調整されたセッション。リーダーによって管理される。実験的で、デフォルトでは無効 | Claude にプロジェクトを分割させ、割り当てさせ、ワーカーを同期させたい場合 |

16| [ワークツリー](/ja/worktrees) | 個別の git チェックアウト並列セッションが互いのファイルに触れることはない | 複数のセッションを自分で実行しているかサブエージェントが重複するファイルを編集している場合 |16| [動的ワークフロー](/ja/workflows) | 多くのサブエージェントを実行し、その結果をチェックするスクリプト。1 回のターンで調整するには大きすぎるジョブ向けリサーチプレビュー | タスクが大きすぎてサブエージェント数個では対応できない場合。コードベース全体の監査500 ファイルのマイグレーション、または敵対的検証が必要な調査など |

17| [`/batch`](/ja/commands) | 1 つの大きな変更を 5 ~ 30 個のワークツリー分離サブエージェントに計画的に分割し、各エージェントがプルリクエストを開く | リポジトリ全体のマイグレーションまたは機械的なリファクタリング。1 つの指示で説明できる場合 |

18 17 

19すべてのアプローチにおいて、ワーカーは Claude セッションです。別のツールを関与させるには、それを Claude に [MCP サーバー](/ja/mcp) として公開します。18すべてのアプローチにおいて、ワーカーは Claude セッションです。別のツールを関与させるには、それを Claude に [MCP サーバー](/ja/mcp) として公開します。

20 19 

21これらのアプローチを組み合わせることができます。エージェントビューは、ディスパッチされた各セッションをファイルを編集する必要がある場合に自動的に独自のワークツリーに移動し、作業中のセッションはサブエージェントを生成でき各サブエージェントは独自のワークツリーを取得します20この作業をサポートする 2 つの追加ツールがありますがエージェント自体を実行する方法ではありません

21 

22* [ワークツリー](/ja/worktrees) は各セッションに個別の git チェックアウトを提供するため、並列セッションが同じファイルを編集することはありません。自分で実行するセッションに使用します。エージェントビューは、ディスパッチされた各セッションを自動的に独自のワークツリーに移動し、スポーンするサブエージェントも各々独自のワークツリーを取得できます。

23* [`/batch`](/ja/commands) は、1 つの大きな変更を 5 ~ 30 個のワークツリー分離サブエージェントに分割し、各エージェントがプルリクエストを開く [skill](/ja/skills) です。これはサブエージェントとワークツリーのパッケージ化された使用法であり、別の調整スタイルではありません。

24 

25他にも Claude を各ステップで駆動することなく実行する機能がいくつかありますが、これらはエージェント間で作業を分割することとは異なる問題を解決します。

26 

27* [バックグラウンド bash コマンド](/ja/interactive-mode#background-bash-commands) は、会話をブロックすることなく 1 つのシェルコマンドを実行します。エージェントをスポーンしません。

28* [フォークされたサブエージェント](/ja/sub-agents#fork-the-current-conversation) は、新規に開始する代わりに完全な会話コンテキストを継承するサブエージェントです。これはサブエージェントをスポーンする方法であり、別のサーフェスではありません。

29* [ルーチン](/ja/routines) は、マシン上で並列に実行するのではなく、Anthropic のクラウドでスケジュールに従ってセッションを実行します。

22 30 

23<Note>31<Note>

24 複数のセッションまたはサブエージェントを同時に実行すると、トークン使用量が増加します。使用量とレート制限の詳細については、[コスト](/ja/costs) を参照してください。32 複数のセッションまたはサブエージェントを同時に実行すると、トークン使用量が増加します。使用量とレート制限の詳細については、[コスト](/ja/costs) を参照してください。

25</Note>33</Note>

26 34 

27## アプローチを選択する35<h2 id="choose-an-approach">

36 アプローチを選択する

37</h2>

28 38 

29適切なアプローチは、誰が作業を調整するか、ワーカーが通信する必要があるかどうか、および同じファイルを編集するかどうかによって異なります。39適切なアプローチは、誰が作業を調整するか、ワーカーが通信する必要があるかどうか、および同じファイルを編集するかどうかによって異なります。

30 40 

31* **誰が作業を調整するか?** Claude に 1 つの会話内で委任と結果の収集を行わせたい場合は、[サブエージェント](/ja/sub-agents) を使用します。独立したタスクを引き継いで後で確認する場合は、[エージェントビュー](/ja/agent-view) を使用します。Claude にワーカーのグループを計画、割り当て、監督させたい場合は、[エージェントチーム](/ja/agent-teams) を使用します。これは実験的で、デフォルトでは無効です。41* **誰が作業を調整するか?**

42 * Claude が 1 つの会話内で委任と結果の収集を行う場合:[サブエージェント](/ja/sub-agents)

43 * 独立したタスクを引き継いで後で確認する場合:[エージェントビュー](/ja/agent-view)

44 * Claude がワーカーのグループを計画、割り当て、監督する場合:[エージェントチーム](/ja/agent-teams)(実験的で、デフォルトでは無効)

45 * スクリプトが Claude のターンバイターン判断の代わりに計画を保持する場合:[動的ワークフロー](/ja/workflows)。[ワークフローがサブエージェントとスキルとどのように比較されるか](/ja/workflows#when-to-use-a-workflow)を参照してください

32* **ワーカーが互いに通信する必要があるか?** サブエージェントは結果をそれらを生成した会話に報告し、エージェントビューセッションはあなたにのみ報告します。エージェントチームのチームメイトはタスクリストを共有し、互いに直接メッセージを送信します。46* **ワーカーが互いに通信する必要があるか?** サブエージェントは結果をそれらを生成した会話に報告し、エージェントビューセッションはあなたにのみ報告します。エージェントチームのチームメイトはタスクリストを共有し、互いに直接メッセージを送信します。

33* **タスクが同じファイルに触れるか?** [ワークツリー](/ja/worktrees) で作業を分離します。サブエージェントと自分で実行するセッションは、それぞれ個別のワークツリーを使用できます。エージェントチームはチームメイトをワークツリーで分離しないため、[作業を分割](/ja/agent-teams#avoid-file-conflicts) して、各チームメイトが異なるファイルセットを所有するようにします。47* **タスクが同じファイルに触れるか?** [ワークツリー](/ja/worktrees)で作業を分離します。サブエージェントと自分で実行するセッションは、それぞれ個別のワークツリーを使用できます。エージェントチームはチームメイトをワークツリーで分離しないため、[作業を分割](/ja/agent-teams#avoid-file-conflicts)して、各チームメイトが異なるファイルセットを所有するようにします。

34 48 

35## 実行中の作業を確認する49<h2 id="check-on-running-work">

50 実行中の作業を確認する

51</h2>

36 52 

37実行中の作業を確認するコマンドは、使用したアプローチによって異なります。53実行中の作業を確認するコマンドは、使用したアプローチによって異なります。

38 54 

39* バックグラウンドセッションの場合、`claude agents` は [エージェントビュー](/ja/agent-view) を開きます。すべてのセッション、その状態、および入力が必要なセッションを表示する 1 つの画面です。55* バックグラウンドセッションの場合、`claude agents` は [エージェントビュー](/ja/agent-view) を開きます。すべてのセッション、その状態、および入力が必要なセッションを表示する 1 つの画面です。

40* 現在のセッション内のサブエージェントの場合、`/agents` はパネルを開き、ライブサブエージェントをリストする **Running** タブと、[カスタムサブエージェントを作成および編集](/ja/sub-agents#use-the-%2Fagents-command) できる **Library** タブがあります。名前は似ていますが、これは `claude agents` とは別です。56* 現在のセッション内のサブエージェントの場合、`/agents` はパネルを開き、ライブサブエージェントをリストする **Running** タブと、[カスタムサブエージェントを作成および編集](/ja/sub-agents#use-the-%2Fagents-command) できる **Library** タブがあります。名前は似ていますが、これは `claude agents` とは別です。

41* 現在のセッションのバックグラウンドで実行されているもの場合、`/tasks` は各項目をリストし、確認、アタッチ、または停止できます。57* 現在のセッションのバックグラウンドで実行されているもの場合、`/tasks` は各項目をリストし、確認、アタッチ、または停止できます。

58* 動的ワークフローの場合、`/workflows` は実行中および完了した実行、各実行がある段階、および完了したエージェント数をリストします。

42 59 

43すべてのセッションのデスクトップビューについては、[デスクトップアプリでのセッションの並列実行](/ja/desktop#work-in-parallel-with-sessions) を参照してください。60すべてのセッションのデスクトップビューについては、[デスクトップアプリでのセッションの並列実行](/ja/desktop#work-in-parallel-with-sessions) を参照してください。

44 61 

45## 詳細情報62<h2 id="learn-more">

63 詳細情報

64</h2>

46 65 

47以下の各ガイドは、1 つのアプローチのセットアップと構成をカバーしています。66以下の各ガイドは、1 つのアプローチのセットアップと構成をカバーしています。

48 67 

49* [カスタムサブエージェントを作成する](/ja/sub-agents):再利用可能なスペシャリストを定義し、使用できるツールを制御します。68* [カスタムサブエージェントを作成する](/ja/sub-agents):再利用可能なスペシャリストを定義し、使用できるツールを制御します。

50* [エージェントビューでエージェントを管理する](/ja/agent-view):セッションをディスパッチし、その状態を監視し、必要な場合にアタッチします。69* [エージェントビューでエージェントを管理する](/ja/agent-view):セッションをディスパッチし、その状態を監視し、必要な場合にアタッチします。

51* [エージェントチームを調整する](/ja/agent-teams):リーダーとチームメイトをセットアップし、タスクを割り当て、その作業をレビューします。70* [エージェントチームを調整する](/ja/agent-teams):リーダーとチームメイトをセットアップし、タスクを割り当て、その作業をレビューします。

71* [動的ワークフローを調整する](/ja/workflows):バンドルされたワークフローを実行するか、多くのサブエージェントを実行し、その結果を相互に検証する Claude が作成したワークフローを実行します。

52* [ワークツリーで並列セッションを実行する](/ja/worktrees):分離されたチェックアウトで Claude を開始し、コピーされるものを制御し、その後クリーンアップします。72* [ワークツリーで並列セッションを実行する](/ja/worktrees):分離されたチェックアウトで Claude を開始し、コピーされるものを制御し、その後クリーンアップします。

Details

6 6 

7> Amazon Bedrock を通じた Claude Code の設定方法(セットアップ、IAM 設定、トラブルシューティングを含む)について学習します。7> Amazon Bedrock を通じた Claude Code の設定方法(セットアップ、IAM 設定、トラブルシューティングを含む)について学習します。

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79<ContactSalesCard surface="bedrock" />

80 

81## 前提条件9## 前提条件

82 10 

83Claude Code を Bedrock で設定する前に、以下を確認してください。11Claude Code を Bedrock で設定する前に、以下を確認してください。


223Claude Code で Bedrock を有効にする場合は、以下に注意してください。151Claude Code で Bedrock を有効にする場合は、以下に注意してください。

224 152 

225* `AWS_REGION` は必須の環境変数です。Claude Code はこの設定について `.aws` 設定ファイルから読み込みません。153* `AWS_REGION` は必須の環境変数です。Claude Code はこの設定について `.aws` 設定ファイルから読み込みません。

226* Bedrock を使用する場合、`/login` および `/logout` コマンドは無効になります。認証は AWS 認証情報を通じて処理されるためです。154* Bedrock を使用する場合、`/logout` コマンドは無効になります。認証は AWS 認証情報を通じて処理されるためです。

155* WebSearch ツールは Bedrock では利用できません。[WebSearch ツールの動作](/ja/tools-reference#websearch-tool-behavior)を参照してください。

227* 他のプロセスに漏らしたくない `AWS_PROFILE` などの環境変数に設定ファイルを使用できます。詳細については [Settings](/ja/settings) を参照してください。156* 他のプロセスに漏らしたくない `AWS_PROFILE` などの環境変数に設定ファイルを使用できます。詳細については [Settings](/ja/settings) を参照してください。

228 157 

229### 4. モデルバージョンをピン留め158### 4. モデルバージョンをピン留め


234 163 

235これらの環境変数を特定の Bedrock モデル ID に設定します。164これらの環境変数を特定の Bedrock モデル ID に設定します。

236 165 

237`ANTHROPIC_DEFAULT_OPUS_MODEL` なしでは、Bedrock の `opus` エイリアスは Opus 4.6 に解決されます。最新モデルを使用するには、Opus 4.7 ID に設定します。166`ANTHROPIC_DEFAULT_OPUS_MODEL` なしでは、Bedrock の `opus` エイリアスは Opus 4.6 に解決されます。最新モデルを使用するには、Opus 4.8 ID に設定します。

238 167 

239```bash theme={null}168```bash theme={null}

240export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-7'169export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'

241export ANTHROPIC_DEFAULT_SONNET_MODEL='us.anthropic.claude-sonnet-4-6'170export ANTHROPIC_DEFAULT_SONNET_MODEL='us.anthropic.claude-sonnet-4-6'

242export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'171export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

243```172```


270export ENABLE_PROMPT_CACHING_1H=1199export ENABLE_PROMPT_CACHING_1H=1

271```200```

272 201 

273<Note>[プロンプトキャッシング](https://platform.claude.com/docs/en/build-with-claude/prompt-caching)は、すべてのリージョンで利用できない場合があります。1 時間の TTL でのキャッシュ書き込みは、5 分の書き込みよりも高いレートで課金されます</Note>2021 時間のキャッシュ TTL 、5 分のデフォルトよりも高いレートで課金されます[キャッシュライフタイム](/ja/prompt-caching#cache-lifetime)を参照してください。

203 

204<Note>プロンプトキャッシングは、すべての Bedrock リージョンで利用できない場合があります。キャッシュトークンカウントがゼロのままの場合は、Bedrock ドキュメントの[サポートされているモデル、リージョン、および制限](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html#prompt-caching-models)を確認してください。</Note>

274 205 

275#### 各モデルバージョンを推論プロファイルにマップ206#### 各モデルバージョンを推論プロファイルにマップ

276 207 


354 285 

355## 1M トークンコンテキストウィンドウ286## 1M トークンコンテキストウィンドウ

356 287 

357Claude Opus 4.7、Opus 4.6、および Sonnet 4.6 は、Amazon Bedrock で [1M トークンコンテキストウィンドウ](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window)をサポートしています。Claude Code は、1M モデルバリアントを選択すると、拡張コンテキストウィンドウを自動的に有効にします。288Claude Opus 4.6 以降および Sonnet 4.6 は、Amazon Bedrock で [1M トークンコンテキストウィンドウ](https://platform.claude.com/docs/ja/build-with-claude/context-windows#1m-token-context-window)をサポートしています。Claude Code は、1M モデルバリアントを選択すると、拡張コンテキストウィンドウを自動的に有効にします。

358 289 

359[セットアップウィザード](#bedrock-でサインイン)は、モデルをピン留めするときに 1M コンテキストオプションを提供します。手動でピン留めされたモデルの代わりに有効にするには、モデル ID に `[1m]` を追加します。詳細については、[Pin models for third-party deployments](/ja/model-config#pin-models-for-third-party-deployments) を参照してください。290[セットアップウィザード](#bedrock-でサインイン)は、モデルをピン留めするときに 1M コンテキストオプションを提供します。手動でピン留めされたモデルの代わりに有効にするには、モデル ID に `[1m]` を追加します。詳細については、[Pin models for third-party deployments](/ja/model-config#pin-models-for-third-party-deployments) を参照してください。

360 291 

analytics.md +72 −26

Details

9Claude Code は、組織が開発者の使用パターンを理解し、貢献メトリクスを追跡し、Claude Code がエンジニアリング速度にどのような影響を与えるかを測定するのに役立つ分析ダッシュボードを提供します。お客様のプランに応じたダッシュボードにアクセスしてください。9Claude Code は、組織が開発者の使用パターンを理解し、貢献メトリクスを追跡し、Claude Code がエンジニアリング速度にどのような影響を与えるかを測定するのに役立つ分析ダッシュボードを提供します。お客様のプランに応じたダッシュボードにアクセスしてください。

10 10 

11| プラン | ダッシュボード URL | 含まれる内容 | 詳細 |11| プラン | ダッシュボード URL | 含まれる内容 | 詳細 |

12| ----------------------------- | -------------------------------------------------------------------------- | --------------------------------------------- | ------------------------------------------------ |12| ----------------------------- | -------------------------------------------------------------------------- | --------------------------------------------- | ----------------------------------------------- |

13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | 使用メトリクス、GitHub 統合による貢献メトリクス、リーダーボード、データエクスポート | [詳細](#access-analytics-for-teams-and-enterprise) |13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | 使用メトリクス、GitHub 統合による貢献メトリクス、リーダーボード、データエクスポート | [詳細](#access-analytics-for-team-and-enterprise) |

14| API(Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | 使用メトリクス、支出追跡、チームインサイト | [詳細](#access-analytics-for-api-customers) |14| API(Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | 使用メトリクス、支出追跡、チームインサイト | [詳細](#access-analytics-for-api-customers) |

15 15 

16## Teams と Enterprise の分析にアクセスする16<h2 id="access-analytics-for-team-and-enterprise">

17 Team と Enterprise の分析にアクセスする

18</h2>

17 19 

18[claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) に移動してください。管理者とオーナーがダッシュボードを表示できます。20[claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) に移動してください。管理者とオーナーがダッシュボードを表示できます。

19 21 

20Teams と Enterprise ダッシュボードには以下が含まれます。22Team と Enterprise ダッシュボードには以下が含まれます。

21 23 

22* **使用メトリクス**:受け入れられたコード行数、提案受け入れ率、日次アクティブユーザー数とセッション数24* **使用メトリクス**:受け入れられたコード行数、提案受け入れ率、日次アクティブユーザー数とセッション数

23* **貢献メトリクス**:[GitHub 統合](#enable-contribution-metrics)を使用した Claude Code 支援による PR とシップされたコード行数25* **貢献メトリクス**:[GitHub 統合](#enable-contribution-metrics)を使用した Claude Code 支援による PR とシップされたコード行数

24* **リーダーボード**:Claude Code 使用量でランク付けされたトップコントリビューター26* **リーダーボード**:Claude Code 使用量でランク付けされたトップコントリビューター

25* **データエクスポート**:カスタムレポート用に貢献データを CSV としてダウンロード27* **データエクスポート**:カスタムレポート用に貢献データを CSV としてダウンロード

26 28 

27### 貢献メトリクスを有効にする29ユーザーごとのトークン数とコスト推定については、[OpenTelemetry エクスポート](/ja/monitoring-usage)を構成してください。

30 

31<h3 id="enable-contribution-metrics">

32 貢献メトリクスを有効にする

33</h3>

28 34 

29<Note>35<Note>

30 貢献メトリクスはパブリックベータ版であり、Claude for Teams と Claude for Enterprise プランで利用可能です。これらのメトリクスは、claude.ai 組織内のユーザーのみをカバーしています。Claude Console API または サードパーティ統合を通じた使用は含まれていません36 貢献メトリクスはパブリックベータ版であり、Claude for Teams と Claude for Enterprise プランで利用可能です。これらのメトリクスは、claude.ai 組織内のユーザーのみをカバーしています。Claude Console API またはサードパーティ統合を通じた使用は含まれていません

31</Note>37</Note>

32 38 

33使用状況と採用データは、すべての Claude for Teams と Claude for Enterprise アカウントで利用可能です。貢献メトリクスには、GitHub 組織を接続するための追加セットアップが必要です。39使用状況と採用データは、すべての Claude for Teams と Claude for Enterprise アカウントで利用可能です。貢献メトリクスには、GitHub 組織を接続するための追加セットアップが必要です。


63 69 

64貢献メトリクスは GitHub Cloud と GitHub Enterprise Server をサポートしています。70貢献メトリクスは GitHub Cloud と GitHub Enterprise Server をサポートしています。

65 71 

66### サマリーメトリクスを確認する72<h3 id="review-summary-metrics">

73 サマリーメトリクスを確認する

74</h3>

67 75 

68<Note>76<Note>

69 これらのメトリクスは意図的に保守的であり、Claude Code の実際の影響の過小評価を表しています。Claude Code の関与に高い信頼度がある行と PR のみがカウントされます。77 これらのメトリクスは意図的に保守的であり、Claude Code の実際の影響の過小評価を表しています。Claude Code の関与に高い信頼度がある行と PR のみがカウントされます。


77* **Suggestion accept rate**:ユーザーが Claude Code のコード編集提案を受け入れる回数のパーセンテージ。Edit、Write、NotebookEdit ツール使用を含みます。85* **Suggestion accept rate**:ユーザーが Claude Code のコード編集提案を受け入れる回数のパーセンテージ。Edit、Write、NotebookEdit ツール使用を含みます。

78* **Lines of code accepted**:ユーザーがセッション内で受け入れた Claude Code で記述されたコード行の総数。これは拒否された提案を除外し、その後の削除を追跡しません。86* **Lines of code accepted**:ユーザーがセッション内で受け入れた Claude Code で記述されたコード行の総数。これは拒否された提案を除外し、その後の削除を追跡しません。

79 87 

80### チャートを探索する88<h3 id="explore-the-charts">

89 チャートを探索する

90</h3>

81 91 

82ダッシュボードには、時系列でトレンドを視覚化するためのいくつかのチャートが含まれています。92ダッシュボードには、時系列でトレンドを視覚化するためのいくつかのチャートが含まれています。

83 93 

84#### 採用を追跡する94<h4 id="track-adoption">

95 採用を追跡する

96</h4>

85 97 

86採用チャートは日次使用トレンドを表示します。98採用チャートは日次使用トレンドを表示します。

87 99 

88* **users**:日次アクティブユーザー100* **users**:日次アクティブユーザー

89* **sessions**:1 日あたりのアクティブな Claude Code セッション数101* **sessions**:1 日あたりのアクティブな Claude Code セッション数

90 102 

91#### ユーザーあたりの PR を測定する103<h4 id="measure-prs-per-user">

104 ユーザーあたりの PR を測定する

105</h4>

92 106 

93このチャートは、時系列での個々の開発者アクティビティを表示します。107このチャートは、時系列での個々の開発者アクティビティを表示します。

94 108 


97 111 

98これを使用して、Claude Code の採用が増加するにつれて個々の生産性がどのように変化するかを理解します。112これを使用して、Claude Code の採用が増加するにつれて個々の生産性がどのように変化するかを理解します。

99 113 

100#### プルリクエストの内訳を表示する114<h4 id="view-pull-requests-breakdown">

115 プルリクエストの内訳を表示する

116</h4>

101 117 

102プルリクエストチャートは、マージされた PR の日次内訳を表示します。118プルリクエストチャートは、マージされた PR の日次内訳を表示します。

103 119 


106 122 

107**Lines of code** ビューに切り替えて、PR 数ではなくコード行数による同じ内訳を表示します。123**Lines of code** ビューに切り替えて、PR 数ではなくコード行数による同じ内訳を表示します。

108 124 

109#### トップコントリビューターを見つける125<h4 id="find-top-contributors">

126 トップコントリビューターを見つける

127</h4>

110 128 

111リーダーボードは、貢献量でランク付けされたトップ 10 ユーザーを表示します。以下を切り替えます。129リーダーボードは、貢献量でランク付けされたトップ 10 ユーザーを表示します。以下を切り替えます。

112 130 


115 133 

116**Export all users** をクリックして、すべてのユーザーの完全な貢献データを CSV ファイルとしてダウンロードします。エクスポートには、表示されているトップ 10 だけでなく、すべてのユーザーが含まれます。134**Export all users** をクリックして、すべてのユーザーの完全な貢献データを CSV ファイルとしてダウンロードします。エクスポートには、表示されているトップ 10 だけでなく、すべてのユーザーが含まれます。

117 135 

118### PR 属性136<h3 id="pr-attribution">

137 PR 属性

138</h3>

119 139 

120貢献メトリクスが有効になっている場合、Claude Code はマージされたプルリクエストを分析して、Claude Code 支援で記述されたコードを判定します。これは、Claude Code セッションアクティビティを各 PR のコードと照合することで行われます。140貢献メトリクスが有効になっている場合、Claude Code はマージされたプルリクエストを分析して、Claude Code 支援で記述されたコードを判定します。これは、Claude Code セッションアクティビティを各 PR のコードと照合することで行われます。

121 141 

122#### タグ付け基準142<h4 id="tagging-criteria">

143 タグ付け基準

144</h4>

123 145 

124PR は、Claude Code セッション中に記述された少なくとも 1 行のコードを含む場合、「with Claude Code」としてタグ付けされます。システムは保守的なマッチングを使用します。Claude Code の関与に高い信頼度がある場合のみ、支援されたコードとしてカウントされます。146PR は、Claude Code セッション中に記述された少なくとも 1 行のコードを含む場合、「with Claude Code」としてタグ付けされます。システムは保守的なマッチングを使用します。Claude Code の関与に高い信頼度がある場合のみ、支援されたコードとしてカウントされます。

125 147 

126#### 属性プロセス148<h4 id="attribution-process">

149 属性プロセス

150</h4>

127 151 

128プルリクエストがマージされるとき。152プルリクエストがマージされるとき。

129 153 


136 160 

137Claude Code 支援行を含むマージされたプルリクエストは、GitHub で `claude-code-assisted` としてラベル付けされます。161Claude Code 支援行を含むマージされたプルリクエストは、GitHub で `claude-code-assisted` としてラベル付けされます。

138 162 

139#### 時間ウィンドウ163<h4 id="time-window">

164 時間ウィンドウ

165</h4>

140 166 

141PR マージ日の 21 日前から 2 日後のセッションが属性マッチングの対象と見なされます。167PR マージ日の 21 日前から 2 日後のセッションが属性マッチングの対象と見なされます。

142 168 

143#### 除外されたファイル169<h4 id="excluded-files">

170 除外されたファイル

171</h4>

144 172 

145特定のファイルは自動生成されるため、分析から自動的に除外されます。173特定のファイルは自動生成されるため、分析から自動的に除外されます。

146 174 


150* テストフィクスチャ:スナップショット、カセット、モックデータ178* テストフィクスチャ:スナップショット、カセット、モックデータ

151* 1,000 文字を超える行(縮小または生成されている可能性が高い)179* 1,000 文字を超える行(縮小または生成されている可能性が高い)

152 180 

153#### 属性に関する注記181<h4 id="attribution-notes">

182 属性に関する注記

183</h4>

154 184 

155属性データを解釈する際は、以下の追加の詳細に注意してください。185属性データを解釈する際は、以下の追加の詳細に注意してください。

156 186 


158* 21 日ウィンドウ外のセッションは考慮されません188* 21 日ウィンドウ外のセッションは考慮されません

159* アルゴリズムは属性を実行するときに PR ソースまたは宛先ブランチを考慮しません189* アルゴリズムは属性を実行するときに PR ソースまたは宛先ブランチを考慮しません

160 190 

161### 分析から最大限の価値を得る191<h3 id="get-the-most-from-analytics">

192 分析から最大限の価値を得る

193</h3>

162 194 

163貢献メトリクスを使用して ROI を実証し、採用パターンを特定し、他のユーザーが開始するのを支援できるチームメンバーを見つけます。195貢献メトリクスを使用して ROI を実証し、採用パターンを特定し、他のユーザーが開始するのを支援できるチームメンバーを見つけます。

164 196 

165#### 採用を監視する197<h4 id="monitor-adoption">

198 採用を監視する

199</h4>

166 200 

167採用チャートとユーザー数を追跡して、以下を特定します。201採用チャートとユーザー数を追跡して、以下を特定します。

168 202 


170* 組織全体の全体的な採用トレンド204* 組織全体の全体的な採用トレンド

171* 摩擦または問題を示す可能性のある使用の低下205* 摩擦または問題を示す可能性のある使用の低下

172 206 

173#### ROI を測定する207<h4 id="measure-roi">

208 ROI を測定する

209</h4>

174 210 

175貢献メトリクスは、独自のコードベースからのデータを使用して「このツールは投資する価値があるか?」という質問に答えるのに役立ちます。211貢献メトリクスは、独自のコードベースからのデータを使用して「このツールは投資する価値があるか?」という質問に答えるのに役立ちます。

176 212 


178* Claude Code を使用した場合と使用しない場合の PR とシップされたコード行を比較します214* Claude Code を使用した場合と使用しない場合の PR とシップされたコード行を比較します

179* [DORA メトリクス](https://dora.dev/)、スプリント速度、または他のエンジニアリング KPI と一緒に使用して、Claude Code の採用による変化を理解します215* [DORA メトリクス](https://dora.dev/)、スプリント速度、または他のエンジニアリング KPI と一緒に使用して、Claude Code の採用による変化を理解します

180 216 

181#### パワーユーザーを特定する217<h4 id="identify-power-users">

218 パワーユーザーを特定する

219</h4>

182 220 

183リーダーボードは、高い Claude Code 採用を持つチームメンバーを見つけるのに役立ちます。彼らは以下を行うことができます。221リーダーボードは、高い Claude Code 採用を持つチームメンバーを見つけるのに役立ちます。彼らは以下を行うことができます。

184 222 


186* 何がうまく機能しているかについてのフィードバックを提供する224* 何がうまく機能しているかについてのフィードバックを提供する

187* 新しいユーザーのオンボーディングを支援する225* 新しいユーザーのオンボーディングを支援する

188 226 

189#### プログラムでデータにアクセスする227<h4 id="access-data-programmatically">

228 プログラムでデータにアクセスする

229</h4>

190 230 

191GitHub を通じてこのデータをクエリするには、`claude-code-assisted` でラベル付けされた PR を検索します。231GitHub を通じてこのデータをクエリするには、`claude-code-assisted` でラベル付けされた PR を検索します。

192 232 

193## API カスタマー向けの分析にアクセスする233<h2 id="access-analytics-for-api-customers">

234 API カスタマー向けの分析にアクセスする

235</h2>

194 236 

195Claude Console を使用している API カスタマーは、[platform.claude.com/claude-code](https://platform.claude.com/claude-code) で分析にアクセスできます。ダッシュボードにアクセスするには UsageView 権限が必要です。これは Developer、Billing、Admin、Owner、Primary Owner ロールに付与されます。237Claude Console を使用している API カスタマーは、[platform.claude.com/claude-code](https://platform.claude.com/claude-code) で分析にアクセスできます。ダッシュボードにアクセスするには UsageView 権限が必要です。これは Developer、Billing、Admin、Owner、Primary Owner ロールに付与されます。

196 238 


205* **Activity**:チャートに表示される日次アクティブユーザーとセッション。247* **Activity**:チャートに表示される日次アクティブユーザーとセッション。

206* **Spend**:ユーザー数と並んでドルでの日次 API コスト。248* **Spend**:ユーザー数と並んでドルでの日次 API コスト。

207 249 

208### チームインサイトを表示する250<h3 id="view-team-insights">

251 チームインサイトを表示する

252</h3>

209 253 

210チームインサイトテーブルはユーザーごとのメトリクスを表示します。254チームインサイトテーブルはユーザーごとのメトリクスを表示します。

211 255 


217 Console ダッシュボードの支出数値は分析目的の推定値です。実際のコストについては、請求ページを参照してください。261 Console ダッシュボードの支出数値は分析目的の推定値です。実際のコストについては、請求ページを参照してください。

218</Note>262</Note>

219 263 

220## 関連リソース264<h2 id="related-resources">

265 関連リソース

266</h2>

221 267 

222* [OpenTelemetry での監視](/ja/monitoring-usage):リアルタイムメトリクスとイベントを可観測性スタックにエクスポート268* [OpenTelemetry での監視](/ja/monitoring-usage):リアルタイムメトリクスとイベントを可観測性スタックにエクスポート

223* [コストを効果的に管理する](/ja/costs):支出制限を設定し、トークン使用を最適化269* [コストを効果的に管理する](/ja/costs):支出制限を設定し、トークン使用を最適化

Details

8 8 

9Claude Code は、セットアップに応じて複数の認証方法をサポートしています。個人ユーザーは Claude.ai アカウントでログインでき、チームは Claude for Teams または Enterprise、Claude Console、または Amazon Bedrock、Google Vertex AI、Microsoft Foundry などのクラウドプロバイダーを使用できます。9Claude Code は、セットアップに応じて複数の認証方法をサポートしています。個人ユーザーは Claude.ai アカウントでログインでき、チームは Claude for Teams または Enterprise、Claude Console、または Amazon Bedrock、Google Vertex AI、Microsoft Foundry などのクラウドプロバイダーを使用できます。

10 10 

11## Claude Code にログインする11<h2 id="log-in-to-claude-code">

12 Claude Code にログインする

13</h2>

12 14 

13[Claude Code をインストール](/ja/setup#install-claude-code)した後、ターミナルで `claude` を実行します。初回起動時に、Claude Code はログインするためのブラウザウィンドウを開きます。15[Claude Code をインストール](/ja/setup#install-claude-code)した後、ターミナルで `claude` を実行します。初回起動時に、Claude Code はログインするためのブラウザウィンドウを開きます。

14 16 


27 29 

28ログインに問題がある場合は、[認証のトラブルシューティング](/ja/troubleshoot-install#login-and-authentication)を参照してください。30ログインに問題がある場合は、[認証のトラブルシューティング](/ja/troubleshoot-install#login-and-authentication)を参照してください。

29 31 

30## チーム認証を設定する32<h2 id="set-up-team-authentication">

33 チーム認証を設定する

34</h2>

31 35 

32チームと組織の場合、Claude Code アクセスを以下のいずれかの方法で設定できます。36チームと組織の場合、Claude Code アクセスを以下のいずれかの方法で設定できます。

33 37 


37* [Google Vertex AI](/ja/google-vertex-ai)41* [Google Vertex AI](/ja/google-vertex-ai)

38* [Microsoft Foundry](/ja/microsoft-foundry)42* [Microsoft Foundry](/ja/microsoft-foundry)

39 43 

40### Claude for Teams または Enterprise44<h3 id="claude-for-teams-or-enterprise">

45 Claude for Teams または Enterprise

46</h3>

41 47 

42[Claude for Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_teams#team-&-enterprise) と [Claude for Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_enterprise) は、Claude Code を使用する組織に最適なエクスペリエンスを提供します。チームメンバーは Claude Code と Web 上の Claude の両方にアクセスでき、一元化された請求とチーム管理が可能です。48[Claude for Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_teams#team-&-enterprise) と [Claude for Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_enterprise) は、Claude Code を使用する組織に最適なエクスペリエンスを提供します。チームメンバーは Claude Code と Web 上の Claude の両方にアクセスでき、一元化された請求とチーム管理が可能です。

43 49 


58 </Step>64 </Step>

59</Steps>65</Steps>

60 66 

61### Claude Console 認証67<h3 id="claude-console-authentication">

68 Claude Console 認証

69</h3>

62 70 

63API ベースの請求を希望する組織の場合、Claude Console を通じてアクセスを設定できます。71API ベースの請求を希望する組織の場合、Claude Console を通じてアクセスを設定できます。

64 72 


91 </Step>99 </Step>

92</Steps>100</Steps>

93 101 

94### クラウドプロバイダー認証102<h3 id="cloud-provider-authentication">

103 クラウドプロバイダー認証

104</h3>

95 105 

96Amazon Bedrock、Google Vertex AI、または Microsoft Foundry を使用するチームの場合。106Amazon Bedrock、Google Vertex AI、または Microsoft Foundry を使用するチームの場合。

97 107 


109 </Step>119 </Step>

110</Steps>120</Steps>

111 121 

112## 認証情報管理122<h2 id="credential-management">

123 認証情報管理

124</h2>

113 125 

114Claude Code は認証情報を安全に管理します。126Claude Code は認証情報を安全に管理します。

115 127 


126 138 

127`apiKeyHelper`、`ANTHROPIC_API_KEY`、および `ANTHROPIC_AUTH_TOKEN` はターミナル CLI セッションにのみ適用されます。Claude Desktop とリモートセッションは OAuth のみを使用し、`apiKeyHelper` を呼び出したり、API キー環境変数を読み込んだりしません。139`apiKeyHelper`、`ANTHROPIC_API_KEY`、および `ANTHROPIC_AUTH_TOKEN` はターミナル CLI セッションにのみ適用されます。Claude Desktop とリモートセッションは OAuth のみを使用し、`apiKeyHelper` を呼び出したり、API キー環境変数を読み込んだりしません。

128 140 

129### 認証の優先順位141<h3 id="authentication-precedence">

142 認証の優先順位

143</h3>

130 144 

131複数の認証情報が存在する場合、Claude Code は以下の順序で 1 つを選択します。145複数の認証情報が存在する場合、Claude Code は以下の順序で 1 つを選択します。

132 146 


141 155 

142[Claude Code on the Web](/ja/claude-code-on-the-web) は常にサブスクリプション認証情報を使用します。サンドボックス環境の `ANTHROPIC_API_KEY` と `ANTHROPIC_AUTH_TOKEN` はそれらをオーバーライドしません。156[Claude Code on the Web](/ja/claude-code-on-the-web) は常にサブスクリプション認証情報を使用します。サンドボックス環境の `ANTHROPIC_API_KEY` と `ANTHROPIC_AUTH_TOKEN` はそれらをオーバーライドしません。

143 157 

144### 長期トークンを生成する158<h3 id="generate-a-long-lived-token">

159 長期トークンを生成する

160</h3>

145 161 

146<Note>162<Note>

147 Starting June 15, 2026, Agent SDK and `claude -p` usage on subscription plans will draw from a new monthly Agent SDK credit, separate from your interactive usage limits. See [Use the Claude Agent SDK with your Claude plan](https://support.claude.com/en/articles/15036540-use-the-claude-agent-sdk-with-your-claude-plan) for details.163 Starting June 15, 2026, Agent SDK and `claude -p` usage on subscription plans will draw from a new monthly Agent SDK credit, separate from your interactive usage limits. See [Use the Claude Agent SDK with your Claude plan](https://support.claude.com/en/articles/15036540-use-the-claude-agent-sdk-with-your-claude-plan) for details.

Details

9[オートモード](/ja/permission-modes#eliminate-prompts-with-auto-mode)を使用すると、Claude Code は各ツール呼び出しを分類器にルーティングして、不可逆的、破壊的、または環境外を対象とした操作をブロックすることで、権限プロンプトなしで実行できます。`autoMode` 設定ブロックを使用して、その分類器に、組織が信頼するリポジトリ、バケット、ドメインを指定すると、ルーチンの内部操作のブロックが停止します。9[オートモード](/ja/permission-modes#eliminate-prompts-with-auto-mode)を使用すると、Claude Code は各ツール呼び出しを分類器にルーティングして、不可逆的、破壊的、または環境外を対象とした操作をブロックすることで、権限プロンプトなしで実行できます。`autoMode` 設定ブロックを使用して、その分類器に、組織が信頼するリポジトリ、バケット、ドメインを指定すると、ルーチンの内部操作のブロックが停止します。

10 10 

11<Note>11<Note>

12 オートモードは、Anthropic API を通じて Max、Team、Enterprise、API プランで利用可能ですPro プランでは利用できず、Bedrock、Vertex、Foundry でも利用できません。Claude Code がアカウントでオートモードが利用不可と報告する場合は、[完全な要件](/ja/permission-modes#eliminate-prompts-with-auto-mode)を確認してください。これには、サポートされているモデルと Team および Enterprise プランの管理者有効化も含まれます。12 オートモードは、Anthropic API を通じてすべてのユーザーが利用できますAmazon Bedrock、Google Cloud Vertex AIMicrosoft Foundry では、まず [`CLAUDE_CODE_ENABLE_AUTO_MODE`](/ja/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) を[設定](/ja/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry)する必要があります。Claude Code がアカウントでオートモードが利用不可と報告する場合は、[完全な要件](/ja/permission-modes#eliminate-prompts-with-auto-mode)を確認してください。これには、サポートされているモデルと Team および Enterprise プランの管理者有効化も含まれます。

13</Note>13</Note>

14 14 

15デフォルトでは、分類器は作業ディレクトリと現在のリポジトリの設定されたリモートのみを信頼します。会社のソース管理組織へのプッシュやチームクラウドバケットへの書き込みなどのアクションは、`autoMode.environment` に追加するまでブロックされます。15デフォルトでは、分類器は作業ディレクトリと現在のリポジトリの設定されたリモートのみを信頼します。会社のソース管理組織へのプッシュやチームクラウドバケットへの書き込みなどのアクションは、`autoMode.environment` に追加するまでブロックされます。


24* [`claude auto-mode` サブコマンドで有効な設定を確認する](#inspect-the-defaults-and-your-effective-config)24* [`claude auto-mode` サブコマンドで有効な設定を確認する](#inspect-the-defaults-and-your-effective-config)

25* [拒否を確認する](#review-denials)(次に何を追加するかを知るため)25* [拒否を確認する](#review-denials)(次に何を追加するかを知るため)

26 26 

27## 分類器が設定を読み込む場所27<h2 id="where-the-classifier-reads-configuration">

28 分類器が設定を読み込む場所

29</h2>

28 30 

29分類器は Claude 自体が読み込む同じ [CLAUDE.md](/ja/memory) コンテンツを読み込むため、プロジェクトの CLAUDE.md の「force push を絶対にしない」のような指示は、Claude と分類器の両方を同時に制御します。プロジェクト規約と動作ルールはここから始めてください。31分類器は Claude 自体が読み込む同じ [CLAUDE.md](/ja/memory) コンテンツを読み込むため、プロジェクトの CLAUDE.md の「force push を絶対にしない」のような指示は、Claude と分類器の両方を同時に制御します。プロジェクト規約と動作ルールはここから始めてください。

30 32 


45 分類器は[権限システム](/ja/permissions)の後に実行される 2 番目のゲートです。ユーザーの意図または分類器の設定に関係なく、実行してはいけないアクションについては、管理設定で `permissions.deny` を使用します。これは分類器が参照される前にアクションをブロックし、オーバーライドできません。47 分類器は[権限システム](/ja/permissions)の後に実行される 2 番目のゲートです。ユーザーの意図または分類器の設定に関係なく、実行してはいけないアクションについては、管理設定で `permissions.deny` を使用します。これは分類器が参照される前にアクションをブロックし、オーバーライドできません。

46</Note>48</Note>

47 49 

48## 信頼できるインフラストラクチャを定義する50<h2 id="define-trusted-infrastructure">

51 信頼できるインフラストラクチャを定義する

52</h2>

49 53 

50ほとんどの組織では、`autoMode.environment` が設定する必要がある唯一のフィールドです。これは、分類器に、どのリポジトリ、バケット、ドメインが信頼できるかを指定します。分類器はこれを使用して「外部」が何を意味するかを決定するため、リストに記載されていない宛先は潜在的な流出ターゲットです。54ほとんどの組織では、`autoMode.environment` が設定する必要がある唯一のフィールドです。これは、分類器に、どのリポジトリ、バケット、ドメインが信頼できるかを指定します。分類器はこれを使用して「外部」が何を意味するかを決定するため、リストに記載されていない宛先は潜在的な流出ターゲットです。

51 55 


97 101 

98すべてを一度に入力する必要はありません。合理的なロールアウト。デフォルトから始めて、ソース管理組織と主要な内部サービスを追加します。これにより、独自のリポジトリへのプッシュなど、最も一般的な誤検知が解決されます。次に信頼できるドメインとクラウドバケットを追加します。ブロックが発生したら残りを入力します。102すべてを一度に入力する必要はありません。合理的なロールアウト。デフォルトから始めて、ソース管理組織と主要な内部サービスを追加します。これにより、独自のリポジトリへのプッシュなど、最も一般的な誤検知が解決されます。次に信頼できるドメインとクラウドバケットを追加します。ブロックが発生したら残りを入力します。

99 103 

100## ブロックルールと許可ルールをオーバーライドする104<h2 id="override-the-block-and-allow-rules">

105 ブロックルールと許可ルールをオーバーライドする

106</h2>

101 107 

1023 つの追加フィールドを使用すると、分類器の組み込みルールリストを置き換えることができます。`autoMode.hard_deny` は無条件のセキュリティ境界用、`autoMode.soft_deny` はユーザーの意図でクリアできる破壊的なアクション用、`autoMode.allow` は例外用です。各フィールドは散文説明の配列であり、自然言語ルールとして読み込まれます。分類器の前に実行されるツールパターンベースのハードブロックについては、[`permissions.deny`](/ja/permissions) を使用します。1083 つの追加フィールドを使用すると、分類器の組み込みルールリストを置き換えることができます。`autoMode.hard_deny` は無条件のセキュリティ境界用、`autoMode.soft_deny` はユーザーの意図でクリアできる破壊的なアクション用、`autoMode.allow` は例外用です。各フィールドは散文説明の配列であり、自然言語ルールとして読み込まれます。分類器の前に実行されるツールパターンベースのハードブロックについては、[`permissions.deny`](/ja/permissions) を使用します。

103 109 


143 149 

144各セクションは独立して評価されるため、`environment` のみを設定すると、デフォルトの `allow`、`soft_deny`、および `hard_deny` リストはそのままになります。`"$defaults"` は、リストの完全な所有権を取得する意図がある場合のみ省略します。その場合、`claude auto-mode defaults` を実行して組み込みルールを出力し、それらを設定ファイルにコピーしてから、各ルールを独自のパイプラインとリスク許容度に対して確認します。150各セクションは独立して評価されるため、`environment` のみを設定すると、デフォルトの `allow`、`soft_deny`、および `hard_deny` リストはそのままになります。`"$defaults"` は、リストの完全な所有権を取得する意図がある場合のみ省略します。その場合、`claude auto-mode defaults` を実行して組み込みルールを出力し、それらを設定ファイルにコピーしてから、各ルールを独自のパイプラインとリスク許容度に対して確認します。

145 151 

146## デフォルトと有効な設定を確認する152<h2 id="inspect-the-defaults-and-your-effective-config">

153 デフォルトと有効な設定を確認する

154</h2>

147 155 

1483 つの CLI サブコマンドは、設定の検査と検証に役立ちます。1563 つの CLI サブコマンドは、設定の検査と検証に役立ちます。

149 157 


167 175 

168設定を保存した後、`claude auto-mode config` を実行して、有効なルールが期待通りであることを確認します。`"$defaults"` が展開されて配置されます。カスタムルールを記述した場合、`claude auto-mode critique` はそれらを確認し、曖昧、冗長、または誤検知を引き起こす可能性があるエントリにフラグを付けます。組み込みルールを削除または書き直す必要がある場合は、`claude auto-mode defaults` の出力をファイルに保存し、リストを編集して、結果を設定ファイルの `"$defaults"` の代わりに貼り付けます。176設定を保存した後、`claude auto-mode config` を実行して、有効なルールが期待通りであることを確認します。`"$defaults"` が展開されて配置されます。カスタムルールを記述した場合、`claude auto-mode critique` はそれらを確認し、曖昧、冗長、または誤検知を引き起こす可能性があるエントリにフラグを付けます。組み込みルールを削除または書き直す必要がある場合は、`claude auto-mode defaults` の出力をファイルに保存し、リストを編集して、結果を設定ファイルの `"$defaults"` の代わりに貼り付けます。

169 177 

170## 拒否を確認する178<h2 id="review-denials">

179 拒否を確認する

180</h2>

171 181 

172オートモードがツール呼び出しを拒否すると、拒否は `/permissions` の「最近拒否されたもの」タブに記録されます。拒否されたアクションで `r` を押してリトライ用にマークします。ダイアログを終了すると、Claude Code はモデルにそのツール呼び出しを再試行できることを伝えるメッセージを送信し、会話を再開します。182オートモードがツール呼び出しを拒否すると、拒否は `/permissions` の「最近拒否されたもの」タブに記録されます。拒否されたアクションで `r` を押してリトライ用にマークします。ダイアログを終了すると、Claude Code はモデルにそのツール呼び出しを再試行できることを伝えるメッセージを送信し、会話を再開します。

173 183 


175 185 

176プログラムで拒否に対応するには、[`PermissionDenied` フック](/ja/hooks#permissiondenied)を使用します。186プログラムで拒否に対応するには、[`PermissionDenied` フック](/ja/hooks#permissiondenied)を使用します。

177 187 

178## 関連項目188<h2 id="see-also">

189 関連項目

190</h2>

179 191 

180* [権限モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)。オートモードとは何か、デフォルトでブロックされる内容、有効にする方法192* [権限モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)。オートモードとは何か、デフォルトでブロックされる内容、有効にする方法

181* [管理設定](/ja/server-managed-settings)。組織全体に `autoMode` 設定をデプロイ193* [管理設定](/ja/server-managed-settings)。組織全体に `autoMode` 設定をデプロイ

best-practices.md +130 −37

Details

24 24 

25***25***

26 26 

27## Claude に自分の作業を検証する方法を与える27<h2 id="give-claude-a-way-to-verify-its-work">

28 Claude に自分の作業を検証する方法を与える

29</h2>

28 30 

29<Tip>31<Tip>

30 テスト、スクリーンショット、または期待される出力を含めてClaude が自分自身をチェックできるようにしますこれはあなたができる最も高いレバレッジのことです32 Claude が実行できるチェックを与えてください。テスト、ビルド比較するスクリーンショットですこれは、あなたが見守るセッションと、あなたが立ち去ることができるセッションの違いです

31</Tip>33</Tip>

32 34 

33Claude は、テストを実行したりスクリーンショットを比較したり出力を検証したりするなど自分の作業を検証できるときに劇的に良くなります35Claude は、作業が完了したように見えるときに停止します。実行できるチェックがないと「完了したように見える」が唯一の利用可能なシグナルでありあなたが検証ループになります。すべての間違いはあなたがそれに気付くのを待ちます。Claude が実行できるパスまたはフェイルを生成するものを与えるとループは自動的に閉じますClaude は作業を行い、チェックを実行し、結果を読み、チェックが合格するまで反復します。

34 36 

35明確な成功基準がないと正しく見えるが実際には機能しないものを生成する可能性がありますあなたが唯一のフィードバックループになりすべての間違いがあなたの注意を必要とします37チェックは会話で Claude が読むことができるシグナルを返すものですテストスイートビルド終了コード、リンター、出力を固定値と比較するスクリプト、またはデザインと比較される[ブラウザスクリーンショット](/ja/chrome)です

36 38 

37| 戦略 | 前 | 後 |39| 戦略 | 前 | 後 |

38| ------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |40| ------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |


40| **UI の変更を視覚的に検証する** | *「ダッシュボードをより良く見えるようにする」* | *「\[スクリーンショットを貼り付け] このデザインを実装する。結果のスクリーンショットを撮り、元のものと比較する。違いをリストアップして修正する」* |42| **UI の変更を視覚的に検証する** | *「ダッシュボードをより良く見えるようにする」* | *「\[スクリーンショットを貼り付け] このデザインを実装する。結果のスクリーンショットを撮り、元のものと比較する。違いをリストアップして修正する」* |

41| **症状ではなく根本原因に対処する** | *「ビルドが失敗している」* | *「ビルドがこのエラーで失敗している:\[エラーを貼り付け]。修正して、ビルドが成功することを確認する。根本原因に対処し、エラーを抑制しない」* |43| **症状ではなく根本原因に対処する** | *「ビルドが失敗している」* | *「ビルドがこのエラーで失敗している:\[エラーを貼り付け]。修正して、ビルドが成功することを確認する。根本原因に対処し、エラーを抑制しない」* |

42 44 

43UI の変更は [Chrome 拡張機能の Claude](/ja/chrome) を使用して検証できます。これはブラウザで新しいタブを開き、UI をテストしコードが機能するまで反復します45チェックが存在したら停止をどの程度厳しくゲートするかを決定します

44 46 

45検証はテストスイート、リンター、または出力をチェックする Bash コマンドにすることもできます検証を堅牢にすることに投資してください47* **1 つのプロンプトで**:Claude にチェックを実行し、同じメッセージ内で反復するよう求めます上記の表のように

48* **セッション全体で**:チェックを[`/goal` 条件](/ja/goal)として設定します。別の評価者がすべてのターンの後に再度チェックし、Claude はそれが保持されるまで作業を続けます。

49* **決定論的ゲートとして**:[Stop hook](/ja/hooks#stop) がスクリプトとしてチェックを実行し、合格するまでターンが終了するのをブロックします。Claude Code はフックをオーバーライドし、8 回連続でブロックされた後、ターンを終了します。

50* **第二の意見によって**:[検証サブエージェント](/ja/sub-agents)または[動的ワークフロー](/ja/workflows)が独自の調査結果をチェックし、新しいモデルが結果を反論しようとするため、作業を行っているエージェントがそれを採点しているわけではありません。

51 

52各ステップは、セットアップと注意をトレードオフします。プロンプト版は今日、任意のタスクで機能します。`/goal` と Stop hook 版は、あなたなしで無人実行が正しく完了できるようにするものです。

53 

54Claude に成功を主張するのではなく、証拠を示すよう指示してください。テスト出力、実行したコマンドとその戻り値、または結果のスクリーンショットです。証拠を確認することは、検証を自分で再実行するよりも高速であり、監視していなかったセッションでも機能します。

46 55 

47***56***

48 57 

49## 最初に探索し、次に計画し、その後コーディングする58<h2 id="explore-first-then-plan-then-code">

59 最初に探索し、次に計画し、その後コーディングする

60</h2>

50 61 

51<Tip>62<Tip>

52 研究と計画を実装から分離して、間違った問題を解決することを避けます。63 研究と計画を実装から分離して、間違った問題を解決することを避けます。


105 116 

106***117***

107 118 

108## プロンプトで具体的なコンテキストを提供する119<h2 id="provide-specific-context-in-your-prompts">

120 プロンプトで具体的なコンテキストを提供する

121</h2>

109 122 

110<Tip>123<Tip>

111 指示がより正確であるほど、必要な修正が少なくなります。124 指示がより正確であるほど、必要な修正が少なくなります。


122 135 

123曖昧なプロンプトは、探索していて方向転換を余裕を持ってできるときに役立つことがあります。「このファイルで何を改善しますか?」のようなプロンプトは、あなたが尋ねることを考えなかったことを表面化させることができます。136曖昧なプロンプトは、探索していて方向転換を余裕を持ってできるときに役立つことがあります。「このファイルで何を改善しますか?」のようなプロンプトは、あなたが尋ねることを考えなかったことを表面化させることができます。

124 137 

125### リッチコンテンツを提供する138<h3 id="provide-rich-content">

139 リッチコンテンツを提供する

140</h3>

126 141 

127<Tip>142<Tip>

128 `@` を使用してファイルを参照したり、スクリーンショット/画像を貼り付けたり、データを直接パイプしたりします。143 `@` を使用してファイルを参照したり、スクリーンショット/画像を貼り付けたり、データを直接パイプしたりします。


138 153 

139***154***

140 155 

141## 環境を設定する156<h2 id="configure-your-environment">

157 環境を設定する

158</h2>

142 159 

143いくつかのセットアップステップにより、Claude Code はすべてのセッション全体で大幅に効果的になります。拡張機能の完全な概要と各機能をいつ使用するかについては、[Claude Code を拡張](/ja/features-overview)を参照してください。160いくつかのセットアップステップにより、Claude Code はすべてのセッション全体で大幅に効果的になります。拡張機能の完全な概要と各機能をいつ使用するかについては、[Claude Code を拡張](/ja/features-overview)を参照してください。

144 161 

145### 効果的な CLAUDE.md を書く162<h3 id="write-an-effective-claude-md">

163 効果的な CLAUDE.md を書く

164</h3>

146 165 

147<Tip>166<Tip>

148 `/init` を実行して、現在のプロジェクト構造に基づいてスターター CLAUDE.md ファイルを生成し、時間をかけて改善します。167 `/init` を実行して、現在のプロジェクト構造に基づいてスターター CLAUDE.md ファイルを生成し、時間をかけて改善します。


198* **親ディレクトリ**:`root/CLAUDE.md` と `root/foo/CLAUDE.md` の両方が自動的にプルされるモノレポに役立ちます217* **親ディレクトリ**:`root/CLAUDE.md` と `root/foo/CLAUDE.md` の両方が自動的にプルされるモノレポに役立ちます

199* **子ディレクトリ**:Claude はそれらのディレクトリ内のファイルを操作するときに、子 CLAUDE.md ファイルをオンデマンドでプルします218* **子ディレクトリ**:Claude はそれらのディレクトリ内のファイルを操作するときに、子 CLAUDE.md ファイルをオンデマンドでプルします

200 219 

201### パーミッションを設定する220<h3 id="configure-permissions">

221 パーミッションを設定する

222</h3>

202 223 

203<Tip>224<Tip>

204 [auto mode](/ja/permission-modes#eliminate-prompts-with-auto-mode) を使用して分類器に承認を処理させるか、`/permissions` を使用して特定のコマンドをホワイトリストに登録するか、`/sandbox` を使用して OS レベルの分離を行います。各方法は中断を減らしながら制御を保ちます。225 [auto mode](/ja/permission-modes#eliminate-prompts-with-auto-mode) を使用して分類器に承認を処理させるか、`/permissions` を使用して特定のコマンドをホワイトリストに登録するか、`/sandbox` を使用して OS レベルの分離を行います。各方法は中断を減らしながら制御を保ちます。


212 233 

213[パーミッションモード](/ja/permission-modes)、[パーミッションルール](/ja/permissions)、[サンドボックス](/ja/sandboxing)の詳細をお読みください。234[パーミッションモード](/ja/permission-modes)、[パーミッションルール](/ja/permissions)、[サンドボックス](/ja/sandboxing)の詳細をお読みください。

214 235 

215### CLI ツールを使用する236<h3 id="use-cli-tools">

237 CLI ツールを使用する

238</h3>

216 239 

217<Tip>240<Tip>

218 Claude Code に `gh`、`aws`、`gcloud`、`sentry-cli` などの CLI ツールを使用して外部サービスと対話するよう指示します。241 Claude Code に `gh`、`aws`、`gcloud`、`sentry-cli` などの CLI ツールを使用して外部サービスと対話するよう指示します。


222 245 

223Claude は、それが既に知らない CLI ツールを学ぶのにも効果的です。`Use 'foo-cli-tool --help' to learn about foo tool, then use it to solve A, B, C.` のようなプロンプトを試してください。246Claude は、それが既に知らない CLI ツールを学ぶのにも効果的です。`Use 'foo-cli-tool --help' to learn about foo tool, then use it to solve A, B, C.` のようなプロンプトを試してください。

224 247 

225### MCP サーバーを接続する248<h3 id="connect-mcp-servers">

249 MCP サーバーを接続する

250</h3>

226 251 

227<Tip>252<Tip>

228 `claude mcp add` を実行して、Notion、Figma、またはデータベースなどの外部ツールを接続します。253 `claude mcp add` を実行して、Notion、Figma、またはデータベースなどの外部ツールを接続します。


230 255 

231[MCP サーバー](/ja/mcp)を使用すると、Claude に問題トラッカーから機能を実装したり、データベースをクエリしたり、監視データを分析したり、Figma からデザインを統合したり、ワークフローを自動化したりするよう依頼できます。256[MCP サーバー](/ja/mcp)を使用すると、Claude に問題トラッカーから機能を実装したり、データベースをクエリしたり、監視データを分析したり、Figma からデザインを統合したり、ワークフローを自動化したりするよう依頼できます。

232 257 

233### フックを設定する258<h3 id="set-up-hooks">

259 フックを設定する

260</h3>

234 261 

235<Tip>262<Tip>

236 例外なしで毎回発生する必要があるアクションにはフックを使用します。263 例外なしで毎回発生する必要があるアクションにはフックを使用します。


240 267 

241Claude はあなたのためにフックを書くことができます。*「すべてのファイル編集後に eslint を実行するフックを書く」* または *「migrations フォルダへの書き込みをブロックするフックを書く」* のようなプロンプトを試してください。`.claude/settings.json` を直接編集してフックを設定し、`/hooks` を実行して設定されているものを参照します。268Claude はあなたのためにフックを書くことができます。*「すべてのファイル編集後に eslint を実行するフックを書く」* または *「migrations フォルダへの書き込みをブロックするフックを書く」* のようなプロンプトを試してください。`.claude/settings.json` を直接編集してフックを設定し、`/hooks` を実行して設定されているものを参照します。

242 269 

243### スキルを作成する270<h3 id="create-skills">

271 スキルを作成する

272</h3>

244 273 

245<Tip>274<Tip>

246 `.claude/skills/` に `SKILL.md` ファイルを作成して、Claude にドメイン知識と再利用可能なワークフローを提供します。275 `.claude/skills/` に `SKILL.md` ファイルを作成して、Claude にドメイン知識と再利用可能なワークフローを提供します。


284 313 

285`/fix-issue 1234` を実行して呼び出します。副作用のあるワークフローで、手動でトリガーしたい場合は `disable-model-invocation: true` を使用します。314`/fix-issue 1234` を実行して呼び出します。副作用のあるワークフローで、手動でトリガーしたい場合は `disable-model-invocation: true` を使用します。

286 315 

287### カスタムサブエージェントを作成する316<h3 id="create-custom-subagents">

317 カスタムサブエージェントを作成する

318</h3>

288 319 

289<Tip>320<Tip>

290 `.claude/agents/` に特化したアシスタントを定義して、Claude が分離されたタスクに委譲できるようにします。321 `.claude/agents/` に特化したアシスタントを定義して、Claude が分離されたタスクに委譲できるようにします。


310 341 

311Claude に明示的にサブエージェントを使用するよう指示します。*「サブエージェントを使用してこのコードをセキュリティの問題についてレビューする。」*342Claude に明示的にサブエージェントを使用するよう指示します。*「サブエージェントを使用してこのコードをセキュリティの問題についてレビューする。」*

312 343 

313### プラグインをインストールする344<h3 id="install-plugins">

345 プラグインをインストールする

346</h3>

314 347 

315<Tip>348<Tip>

316 `/plugin` を実行してマーケットプレイスを参照します。プラグインは設定なしでスキル、ツール、統合を追加します。349 `/plugin` を実行してマーケットプレイスを参照します。プラグインは設定なしでスキル、ツール、統合を追加します。


322 355 

323***356***

324 357 

325## 効果的にコミュニケーションする358<h2 id="communicate-effectively">

359 効果的にコミュニケーションする

360</h2>

326 361 

327Claude Code との通信方法は、結果の品質に大きく影響します。362Claude Code との通信方法は、結果の品質に大きく影響します。

328 363 

329### コードベースの質問をする364<h3 id="ask-codebase-questions">

365 コードベースの質問をする

366</h3>

330 367 

331<Tip>368<Tip>

332 シニアエンジニアに尋ねるような質問を Claude にしてください。369 シニアエンジニアに尋ねるような質問を Claude にしてください。


342 379 

343Claude Code をこのように使用することは、効果的なオンボーディングワークフローであり、ラップアップ時間を改善し、他のエンジニアの負荷を軽減します。特別なプロンプトは必要ありません。直接質問してください。380Claude Code をこのように使用することは、効果的なオンボーディングワークフローであり、ラップアップ時間を改善し、他のエンジニアの負荷を軽減します。特別なプロンプトは必要ありません。直接質問してください。

344 381 

345### Claude にあなたにインタビューさせる382<h3 id="let-claude-interview-you">

383 Claude にあなたにインタビューさせる

384</h3>

346 385 

347<Tip>386<Tip>

348 より大きな機能については、Claude に最初にあなたにインタビューさせます。最小限のプロンプトで開始し、Claude に `AskUserQuestion` ツールを使用してあなたにインタビューするよう依頼します。387 より大きな機能については、Claude に最初にあなたにインタビューさせます。最小限のプロンプトで開始し、Claude に `AskUserQuestion` ツールを使用してあなたにインタビューするよう依頼します。


360 399 

361仕様が完成したら、新しいセッションを開始して実行します。新しいセッションはクリーンなコンテキストを持ち、実装に完全に焦点を当てており、参照する書かれた仕様があります。400仕様が完成したら、新しいセッションを開始して実行します。新しいセッションはクリーンなコンテキストを持ち、実装に完全に焦点を当てており、参照する書かれた仕様があります。

362 401 

402最も有用な仕様は自己完結型です。関連するファイルとインターフェースに名前を付け、スコープ外のものを述べ、機能が機能することを証明するエンドツーエンド検証ステップで終わります。仕様を正確にするのに費やした時間は、実装を見守るのに費やした時間よりも多くの見返りがあります。

403 

363***404***

364 405 

365## セッションを管理する406<h2 id="manage-your-session">

407 セッションを管理する

408</h2>

366 409 

367会話は永続的で可逆的です。これを有利に使用してください。410会話は永続的で可逆的です。これを有利に使用してください。

368 411 

369### 早期かつ頻繁に方向転換する412<h3 id="course-correct-early-and-often">

413 早期かつ頻繁に方向転換する

414</h3>

370 415 

371<Tip>416<Tip>

372 Claude が軌道を外れていることに気付いたらすぐに修正してください。417 Claude が軌道を外れていることに気付いたらすぐに修正してください。


381 426 

3821 つのセッションで同じ問題について Claude を 2 回以上修正した場合、コンテキストは失敗したアプローチで乱雑です。`/clear` を実行し、学んだことを組み込んだより具体的なプロンプトで新しく開始します。より良いプロンプトを持つクリーンなセッションは、ほぼ常に蓄積された修正を持つ長いセッションを上回ります。4271 つのセッションで同じ問題について Claude を 2 回以上修正した場合、コンテキストは失敗したアプローチで乱雑です。`/clear` を実行し、学んだことを組み込んだより具体的なプロンプトで新しく開始します。より良いプロンプトを持つクリーンなセッションは、ほぼ常に蓄積された修正を持つ長いセッションを上回ります。

383 428 

384### コンテキストを積極的に管理する429<h3 id="manage-context-aggressively">

430 コンテキストを積極的に管理する

431</h3>

385 432 

386<Tip>433<Tip>

387 関連のないタスク間で `/clear` を実行してコンテキストをリセットします。434 関連のないタスク間で `/clear` を実行してコンテキストをリセットします。


398* CLAUDE.md でコンパクション動作をカスタマイズします。`"When compacting, always preserve the full list of modified files and any test commands"` のような指示を使用して、重要なコンテキストが要約を生き残ることを確認します445* CLAUDE.md でコンパクション動作をカスタマイズします。`"When compacting, always preserve the full list of modified files and any test commands"` のような指示を使用して、重要なコンテキストが要約を生き残ることを確認します

399* 会話履歴に入らない簡単な質問については、[`/btw`](/ja/interactive-mode#side-questions-with-%2Fbtw) を使用します。答えは却下可能なオーバーレイに表示され、会話履歴に入らないため、コンテキストを増やさずに詳細をチェックできます。446* 会話履歴に入らない簡単な質問については、[`/btw`](/ja/interactive-mode#side-questions-with-%2Fbtw) を使用します。答えは却下可能なオーバーレイに表示され、会話履歴に入らないため、コンテキストを増やさずに詳細をチェックできます。

400 447 

401### 調査にサブエージェントを使用する448<h3 id="use-subagents-for-investigation">

449 調査にサブエージェントを使用する

450</h3>

402 451 

403<Tip>452<Tip>

404 `"use subagents to investigate X"` で研究を委譲します。彼らは別のコンテキストで探索し、実装のためにメインの会話をクリーンに保ちます。453 `"use subagents to investigate X"` で研究を委譲します。彼らは別のコンテキストで探索し、実装のためにメインの会話をクリーンに保ちます。


419use a subagent to review this code for edge cases468use a subagent to review this code for edge cases

420```469```

421 470 

422### チェックポイントで巻き戻す471<h3 id="rewind-with-checkpoints">

472 チェックポイントで巻き戻す

473</h3>

423 474 

424<Tip>475<Tip>

425 送信するすべてのプロンプトはチェックポイントを作成します。以前のチェックポイントに会話、コード、またはその両方を復元できます。476 送信するすべてのプロンプトはチェックポイントを作成します。以前のチェックポイントに会話、コード、またはその両方を復元できます。


433 チェックポイントは Claude が行った変更のみを追跡します。外部プロセスではありません。これは git の代替ではありません。484 チェックポイントは Claude が行った変更のみを追跡します。外部プロセスではありません。これは git の代替ではありません。

434</Warning>485</Warning>

435 486 

436### 会話を再開する487<h3 id="resume-conversations">

488 会話を再開する

489</h3>

437 490 

438<Tip>491<Tip>

439 `/rename` でセッションに名前を付け、ブランチのように扱います。各ワークストリームは独自の永続的なコンテキストを取得します。492 `/rename` でセッションに名前を付け、ブランチのように扱います。各ワークストリームは独自の永続的なコンテキストを取得します。


443 496 

444***497***

445 498 

446## 自動化とスケール499<h2 id="automate-and-scale">

500 自動化とスケール

501</h2>

447 502 

4481 つの Claude で効果的になったら、並列セッション、非対話型モード、ファンアウトパターンで出力を乗算します。5031 つの Claude で効果的になったら、並列セッション、非対話型モード、ファンアウトパターンで出力を乗算します。

449 504 

450これまでのすべては、1 人の人間、1 つの Claude、1 つの会話を想定しています。しかし、Claude Code は水平にスケールします。このセクションのテクニックは、より多くのことを成し遂げる方法を示しています。505これまでのすべては、1 人の人間、1 つの Claude、1 つの会話を想定しています。しかし、Claude Code は水平にスケールします。このセクションのテクニックは、より多くのことを成し遂げる方法を示しています。

451 506 

452### 非対話型モードを実行する507<h3 id="run-non-interactive-mode">

508 非対話型モードを実行する

509</h3>

453 510 

454<Tip>511<Tip>

455 CI、プリコミットフック、またはスクリプトで `claude -p "prompt"` を使用します。ストリーミング JSON 出力の場合は `--output-format stream-json` を追加します。512 CI、プリコミットフック、またはスクリプトで `claude -p "prompt"` を使用します。ストリーミング JSON 出力の場合は `--output-format stream-json --verbose` を追加します。

456</Tip>513</Tip>

457 514 

458`claude -p "your prompt"` を使用すると、セッションなしで Claude を非対話的に実行できます。[非対話型モード](/ja/headless)は、Claude を CI パイプライン、プリコミットフック、または自動化されたワークフローに統合する方法です。出力形式を使用すると、結果をプログラムで解析できます。プレーンテキスト、JSON、またはストリーミング JSON です。515`claude -p "your prompt"` を使用すると、セッションなしで Claude を非対話的に実行できます。[非対話型モード](/ja/headless)は、Claude を CI パイプライン、プリコミットフック、または自動化されたワークフローに統合する方法です。出力形式を使用すると、結果をプログラムで解析できます。プレーンテキスト、JSON、またはストリーミング JSON です。


465claude -p "List all API endpoints" --output-format json522claude -p "List all API endpoints" --output-format json

466 523 

467# Streaming for real-time processing524# Streaming for real-time processing

468claude -p "Analyze this log file" --output-format stream-json525claude -p "Analyze this log file" --output-format stream-json --verbose

469```526```

470 527 

471### 複数の Claude セッションを実行する528<h3 id="run-multiple-claude-sessions">

529 複数の Claude セッションを実行する

530</h3>

472 531 

473<Tip>532<Tip>

474 複数の Claude セッションを並列で実行して、開発を高速化し、分離された実験を実行するか、複雑なワークフローを開始します。533 複数の Claude セッションを並列で実行して、開発を高速化し、分離された実験を実行するか、複雑なワークフローを開始します。


493 552 

494テストで同様のことを行うことができます。1 つの Claude にテストを書かせ、別の Claude にそれらを渡すコードを書かせます。553テストで同様のことを行うことができます。1 つの Claude にテストを書かせ、別の Claude にそれらを渡すコードを書かせます。

495 554 

496### ファイル全体にファンアウトする555<h3 id="fan-out-across-files">

556 ファイル全体にファンアウトする

557</h3>

497 558 

498<Tip>559<Tip>

499 各タスクに対して `claude -p` を呼び出すループを実行します。バッチ操作のスコープパーミッションに `--allowedTools` を使用します。560 各タスクに対して `claude -p` を呼び出すループを実行します。バッチ操作のスコープパーミッションに `--allowedTools` を使用します。


528 589 

529開発中は `--verbose` を使用し、本番環境ではオフにします。590開発中は `--verbose` を使用し、本番環境ではオフにします。

530 591 

531### auto mode で自律的に実行する592<h3 id="run-autonomously-with-auto-mode">

593 auto mode で自律的に実行する

594</h3>

532 595 

533無中断の実行と背景のセーフティチェックについては、[auto mode](/ja/permission-modes#eliminate-prompts-with-auto-mode) を使用します。分類器モデルはコマンドを実行前にレビューし、スコープエスカレーション、未知のインフラストラクチャ、敵対的なコンテンツ駆動のアクションをブロックしながら、ルーチンワークをプロンプトなしで進めさせます。596無中断の実行と背景のセーフティチェックについては、[auto mode](/ja/permission-modes#eliminate-prompts-with-auto-mode) を使用します。分類器モデルはコマンドを実行前にレビューし、スコープエスカレーション、未知のインフラストラクチャ、敵対的なコンテンツ駆動のアクションをブロックしながら、ルーチンワークをプロンプトなしで進めさせます。

534 597 


538 601 

539非対話型実行で `-p` フラグを使用する場合、分類器が繰り返しアクションをブロックするとき、フォールバックするユーザーがいないため、auto mode は中止します。[auto mode がフォールバックするとき](/ja/permission-modes#when-auto-mode-falls-back)のしきい値を参照してください。602非対話型実行で `-p` フラグを使用する場合、分類器が繰り返しアクションをブロックするとき、フォールバックするユーザーがいないため、auto mode は中止します。[auto mode がフォールバックするとき](/ja/permission-modes#when-auto-mode-falls-back)のしきい値を参照してください。

540 603 

604<h3 id="add-an-adversarial-review-step">

605 敵対的なレビューステップを追加する

606</h3>

607 

608<Tip>

609 タスクが完了したと見なす前に、サブエージェントに新しいコンテキストで diff をレビューさせ、ギャップを報告させます。

610</Tip>

611 

612Claude が無人で作業する期間が長いほど、作業が完了したと見なす前に独立したチェックが重要になります。新しい[サブエージェント](/ja/sub-agents)コンテキストで実行されるレビュアーは、diff と提供されたクライテリアのみを見て、変更を生成した推論は見ないため、独自の条件で結果を評価します。

613 

614正確性チェックの場合、バンドルされた [`/code-review` スキル](/ja/commands)を実行します。これは新しいサブエージェントで現在の diff をバグについてレビューし、検出結果をセッションに返します。代わりに diff をプランに対してチェックするには、レビュープロンプトを自分で作成します。チェックする作業、チェック対象のプラン、および検出結果として何がカウントされるかを名前付けします。

615 

616```text theme={null}

617Use a subagent to review the rate limiter diff against PLAN.md. Check that

618every requirement is implemented, the listed edge cases have tests, and

619nothing outside the task's scope changed. Report gaps, not style preferences.

620```

621 

622レビュアーはサブエージェントとして実行されるため、実装セッションはギャップを直接受け取り、ウィンドウ間で検出結果をコピーすることなく、それらを修正して再レビューできます。より長い自律実行の場合、[エージェントチーム](/ja/agent-teams)は、スポットチェックされた検出結果を記録しながら、多くのタスク全体でこのループを続けることができます。

623 

624<Callout>

625 ギャップを見つけるようにプロンプトされたレビュアーは、作業が健全であっても、通常はいくつかを報告します。それはそれが求められたことだからです。すべての検出結果を追求することは、過度なエンジニアリングにつながります。追加の抽象化レイヤー、防御的なコード、および発生できないケースのテストです。レビュアーに、正確性または記載された要件に影響するギャップのみをフラグ付けするよう指示し、残りはオプションとして扱います。

626</Callout>

627 

541***628***

542 629 

543## 一般的な失敗パターンを避ける630<h2 id="avoid-common-failure-patterns">

631 一般的な失敗パターンを避ける

632</h2>

544 633 

545これらは一般的な間違いです。早期に認識することで時間を節約できます。634これらは一般的な間違いです。早期に認識することで時間を節約できます。

546 635 


557 646 

558***647***

559 648 

560## 直感を開発する649<h2 id="develop-your-intuition">

650 直感を開発する

651</h2>

561 652 

562このガイドのパターンは固定されていません。それらはすべての状況で一般的にうまく機能する出発点ですが、すべての状況に最適ではない可能性があります。653このガイドのパターンは固定されていません。それらはすべての状況で一般的にうまく機能する出発点ですが、すべての状況に最適ではない可能性があります。

563 654 


567 658 

568時間をかけて、ガイドが捉えることができない直感を開発します。具体的にするべき時と開放的にするべき時、計画すべき時と探索すべき時、コンテキストをクリアすべき時と蓄積させるべき時を知ります。659時間をかけて、ガイドが捉えることができない直感を開発します。具体的にするべき時と開放的にするべき時、計画すべき時と探索すべき時、コンテキストをクリアすべき時と蓄積させるべき時を知ります。

569 660 

570## 関連リソース661<h2 id="related-resources">

662 関連リソース

663</h2>

571 664 

572* [Claude Code の仕組み](/ja/how-claude-code-works):agentic ループ、ツール、コンテキスト管理665* [Claude Code の仕組み](/ja/how-claude-code-works):agentic ループ、ツール、コンテキスト管理

573* [Claude Code を拡張](/ja/features-overview):スキル、フック、MCP、サブエージェント、プラグイン666* [Claude Code を拡張](/ja/features-overview):スキル、フック、MCP、サブエージェント、プラグイン

champion-kit.md +48 −16

Details

10 10 

11開発者ツールの採用は、ロールアウト発表によってはめったに起こりません。チームの誰かがそのツールをうまく使い始め、それについてオープンに話し、他の人が従いやすくすることで起こります。チャンピオンとして行う仕事はチームに不釣り合いな効果をもたらします。共有する例が多いほど、その後のエンジニアの学習曲線が短くなり、公開で答える質問が多いほど、1 人の経験がチーム全体が構築できるものになります。あなたはヘルプデスクではなく、チームの乗数として機能しており、このガイドはその条件下で役割を持続可能に保つために構成されています。11開発者ツールの採用は、ロールアウト発表によってはめったに起こりません。チームの誰かがそのツールをうまく使い始め、それについてオープンに話し、他の人が従いやすくすることで起こります。チャンピオンとして行う仕事はチームに不釣り合いな効果をもたらします。共有する例が多いほど、その後のエンジニアの学習曲線が短くなり、公開で答える質問が多いほど、1 人の経験がチーム全体が構築できるものになります。あなたはヘルプデスクではなく、チームの乗数として機能しており、このガイドはその条件下で役割を持続可能に保つために構成されています。

12 12 

13## チャンピオンの役割13<h2 id="the-champion-role">

14 チャンピオンの役割

15</h2>

14 16 

15この役割は、互いに強化し合う 3 つの行動で構成されています。17この役割は、互いに強化し合う 3 つの行動で構成されています。

16 18 


22 24 

23これのほとんどは、既に行っている仕事の中に自然に適合します。違いは、発見がどこに投稿されるか、および答えがどのように伝わるかについて、少量の追加の意図です。25これのほとんどは、既に行っている仕事の中に自然に適合します。違いは、発見がどこに投稿されるか、および答えがどのように伝わるかについて、少量の追加の意図です。

24 26 

25### これにかかるコスト27<h3 id="what-this-should-cost-you">

28 これにかかるコスト

29</h3>

26 30 

27自分自身とリーダーとの期待を設定します。以下のアクティビティは、通常の労働週の中に適合することを目的としており、役割は追加のサポート責任ではなく、既存の仕事の乗数のままである必要があります。31自分自身とリーダーとの期待を設定します。以下のアクティビティは、通常の労働週の中に適合することを目的としており、役割は追加のサポート責任ではなく、既存の仕事の乗数のままである必要があります。

28 32 


33| 週次のショーアンドテルスレッドをホストする | 約 5 分 | 開始プロンプトを投稿します。チームがコンテンツを提供します。 |37| 週次のショーアンドテルスレッドをホストする | 約 5 分 | 開始プロンプトを投稿します。チームがコンテンツを提供します。 |

34| オプションのペアリングまたはウォークスルー | 0 ~ 30 分 | これを本当に行き詰まっている同僚のために予約し、時間をスケジュールする前に [Quickstart](/ja/quickstart) リンクを提供します。 |38| オプションのペアリングまたはウォークスルー | 0 ~ 30 分 | これを本当に行き詰まっている同僚のために予約し、時間をスケジュールする前に [Quickstart](/ja/quickstart) リンクを提供します。 |

35 39 

36## 発見を共有する40<h2 id="share-what-you-discover">

41 発見を共有する

42</h2>

37 43 

38自分の経験は、同僚が遭遇する最も説得力のある資料です。なぜなら、それはコードベース、ワークフロー、および共有する問題に固有だからです。ドキュメントは何が可能かを人々に伝えます。投稿は、実際に環境で機能しているものを示します。44自分の経験は、同僚が遭遇する最も説得力のある資料です。なぜなら、それはコードベース、ワークフロー、および共有する問題に固有だからです。ドキュメントは何が可能かを人々に伝えます。投稿は、実際に環境で機能しているものを示します。

39 45 

40### 共有する価値があるもの46<h3 id="what-is-worth-sharing">

47 共有する価値があるもの

48</h3>

41 49 

42最も有用な投稿は、既に完了している結果ではなく、同僚が明日再利用できる技術について説明しています。技術はチーム全体に広がるにつれて複合します。ステータス更新はそうではありません。50最も有用な投稿は、既に完了している結果ではなく、同僚が明日再利用できる技術について説明しています。技術はチーム全体に広がるにつれて複合します。ステータス更新はそうではありません。

43 51 


48* 「Stop hook を設定して、長いタスクが完了したときにデスクトップ通知を受け取るようにしました。設定はスレッドにあります。」56* 「Stop hook を設定して、長いタスクが完了したときにデスクトップ通知を受け取るようにしました。設定はスレッドにあります。」

49* 「`/init` を実行すると、リポジトリから `CLAUDE.md` が生成されるため、アシスタントは規約について再度質問するのを停止します。」57* 「`/init` を実行すると、リポジトリから `CLAUDE.md` が生成されるため、アシスタントは規約について再度質問するのを停止します。」

50 58 

51### どこで共有するか59<h3 id="where-to-share-it">

60 どこで共有するか

61</h3>

52 62 

53チームが既に読んでいる場所に投稿します。目標は、目的地を作成するのではなく、通常の仕事の経路に例を配置することです。63チームが既に読んでいる場所に投稿します。目標は、目的地を作成するのではなく、通常の仕事の経路に例を配置することです。

54 64 


59| スタンドアップまたは週次の書面による更新 | リーダーおよびスキップレベルマネージャーとの使用を正常化する | 1 つの具体的な結果を説明する 1 文 |69| スタンドアップまたは週次の書面による更新 | リーダーおよびスキップレベルマネージャーとの使用を正常化する | 1 つの具体的な結果を説明する 1 文 |

60| チームウィキまたは内部ドキュメント | 耐久性のあるパターン、カスタムスキル、および `CLAUDE.md` の例 | 短いページ。チャネルトピックからリンクされているため、発見可能なままです |70| チームウィキまたは内部ドキュメント | 耐久性のあるパターン、カスタムスキル、および `CLAUDE.md` の例 | 短いページ。チャネルトピックからリンクされているため、発見可能なままです |

61 71 

62### 機能する形式72<h3 id="the-format-that-works">

73 機能する形式

74</h3>

63 75 

64スクリーンショットに 1 行のコンテキストを伴う、または簡潔なビフォーアフター説明は、一般的に適切な詳細レベルです。各投稿を短く保ち、スクロール中の誰かでもポイントを吸収できるようにします。長い記事は後で保存されて忘れられる傾向がありますが、スクリーンショット付きの短い投稿はコピーされて試されます。76スクリーンショットに 1 行のコンテキストを伴う、または簡潔なビフォーアフター説明は、一般的に適切な詳細レベルです。各投稿を短く保ち、スクロール中の誰かでもポイントを吸収できるようにします。長い記事は後で保存されて忘れられる傾向がありますが、スクリーンショット付きの短い投稿はコピーされて試されます。

65 77 


83何かを変更する前に、正確にどのファイルに触れるつもりかを示します。95何かを変更する前に、正確にどのファイルに触れるつもりかを示します。

84```96```

85 97 

86## 質問される人になる98<h2 id="be-the-person-people-ask">

99 質問される人になる

100</h2>

87 101 

88いくつかの例を共有すると、質問が続きます。これはチャンピオンの役割が最大のレバレッジを持つ場所です。なぜなら、1 人への良い答えは、同じチャネルを見ている他の数人のブロックを解除することが多いからです。102いくつかの例を共有すると、質問が続きます。これはチャンピオンの役割が最大のレバレッジを持つ場所です。なぜなら、1 人への良い答えは、同じチャネルを見ている他の数人のブロックを解除することが多いからです。

89 103 

90### 説明ではなくプロンプトで答える104<h3 id="answer-with-a-prompt-rather-than-an-explanation">

105 説明ではなくプロンプトで答える

106</h3>

91 107 

92同僚が何かを達成した方法を尋ねるとき、最も有用な応答は、実際に使用したプロンプトです。説明を書くことができるよりも、自分の問題に対してそのプロンプトを実行することで、より多くを学び、すぐに行動できるものを与えます。108同僚が何かを達成した方法を尋ねるとき、最も有用な応答は、実際に使用したプロンプトです。説明を書くことができるよりも、自分の問題に対してそのプロンプトを実行することで、より多くを学び、すぐに行動できるものを与えます。

93 109 


99テストで同じ表現を試してください。115テストで同じ表現を試してください。

100```116```

101 117 

102### ドキュメントではなく機能を指す118<h3 id="point-at-the-feature-rather-than-the-documentation">

119 ドキュメントではなく機能を指す

120</h3>

103 121 

104「Plan mode を試してください。`Shift+Tab` を押して、それが表示されるまで」のような応答は、その瞬間のドキュメントへのリンクよりも有用です。後で詳細が必要な場合、その人は自分で見つけます。今、彼らはブロックを解除する 1 つのことが必要です。122「Plan mode を試してください。`Shift+Tab` を押して、それが表示されるまで」のような応答は、その瞬間のドキュメントへのリンクよりも有用です。後で詳細が必要な場合、その人は自分で見つけます。今、彼らはブロックを解除する 1 つのことが必要です。

105 123 

106### 聞く可能性のある質問124<h3 id="questions-you-are-likely-to-hear">

125 聞く可能性のある質問

126</h3>

107 127 

108| 質問 | 推奨される応答 | フォローアップリソース |128| 質問 | 推奨される応答 | フォローアップリソース |

109| ------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |129| ------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |


115| 「これは単なるオートコンプリートですか?」 | Claude が不慣れなファイルを説明し、サービス全体でバグをトレースし、または移行計画を作成する簡潔なデモンストレーションを提供します。これらのタスクには、1 行を完成させるのではなく、リポジトリ全体の推論が必要です。 | 2 分間のライブデモンストレーション |135| 「これは単なるオートコンプリートですか?」 | Claude が不慣れなファイルを説明し、サービス全体でバグをトレースし、または移行計画を作成する簡潔なデモンストレーションを提供します。これらのタスクには、1 行を完成させるのではなく、リポジトリ全体の推論が必要です。 | 2 分間のライブデモンストレーション |

116| 「セキュリティとデータ処理についてはどうですか?」 | この質問を管理者に参照してください。組織のデプロイメントとデータ処理ポリシーは既に設定されており、チャンピオンはこの答えを即興で行うべきではありません。 | [Security](/ja/security) · [Data usage](/ja/data-usage) |136| 「セキュリティとデータ処理についてはどうですか?」 | この質問を管理者に参照してください。組織のデプロイメントとデータ処理ポリシーは既に設定されており、チャンピオンはこの答えを即興で行うべきではありません。 | [Security](/ja/security) · [Data usage](/ja/data-usage) |

117 137 

118## サークルを拡大する138<h2 id="grow-the-circle">

139 サークルを拡大する

140</h2>

119 141 

120目標は、プログラムを構築することや、ロールアウトを所有することではありません。アクティブに駆動を停止した後でも、勢いが続くことを可能にする、軽量な習慣を少数確立することです。チャネルの質問があなた以外の人によって答えられているとき、役割はその仕事をしました。142目標は、プログラムを構築することや、ロールアウトを所有することではありません。アクティブに駆動を停止した後でも、勢いが続くことを可能にする、軽量な習慣を少数確立することです。チャネルの質問があなた以外の人によって答えられているとき、役割はその仕事をしました。

121 143 

122### 機能する傾向があるパターン144<h3 id="patterns-that-tend-to-work">

145 機能する傾向があるパターン

146</h3>

123 147 

124| パターン | 実行方法 | 必要な労力 |148| パターン | 実行方法 | 必要な労力 |

125| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |149| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |


130| 最初のタスクでペアリング | 開始している誰かに 1 つの 15 分間のペアリングセッションを提供します。自分のコードでの 1 つの成功した結果は、どのプレゼンテーションよりも説得力があります。 | 1 人あたり約 15 分 |154| 最初のタスクでペアリング | 開始している誰かに 1 つの 15 分間のペアリングセッションを提供します。自分のコードでの 1 つの成功した結果は、どのプレゼンテーションよりも説得力があります。 | 1 人あたり約 15 分 |

131| 次のチャンピオンを特定する | あなたに最も多くの質問をする同僚は、通常、この役割を引き受ける準備ができています。このページを転送し、チャネルの責任を分割します。 | 無視できる |155| 次のチャンピオンを特定する | あなたに最も多くの質問をする同僚は、通常、この役割を引き受ける準備ができています。このページを転送し、チャネルの責任を分割します。 | 無視できる |

132 156 

133### 30 日間の実行計画157<h3 id="thirty-day-playbook">

158 30 日間の実行計画

159</h3>

134 160 

135緩い計画が役立つ場合、以下のシーケンスはほとんどのチーム全体で機能する傾向があるものを反映しています。コンテキストに合わせて自由に調整してください。161緩い計画が役立つ場合、以下のシーケンスはほとんどのチーム全体で機能する傾向があるものを反映しています。コンテキストに合わせて自由に調整してください。

136 162 


160 </Step>186 </Step>

161</Steps>187</Steps>

162 188 

163### 誰かがより深く掘り下げたいとき189<h3 id="when-someone-wants-to-go-deeper">

190 誰かがより深く掘り下げたいとき

191</h3>

164 192 

165あなたはオンボーディングプログラムではなく、温かい紹介です。同僚が「これを試すべきか」から「これで効果的になるにはどうすればよいか」に進むとき、[Quickstart](/ja/quickstart) および [Common workflows](/ja/common-workflows) ページを指してください。これらには、本当に有用だが、自分で発見するのが難しい機能をカバーする短いセクションが含まれています。193あなたはオンボーディングプログラムではなく、温かい紹介です。同僚が「これを試すべきか」から「これで効果的になるにはどうすればよいか」に進むとき、[Quickstart](/ja/quickstart) および [Common workflows](/ja/common-workflows) ページを指してください。これらには、本当に有用だが、自分で発見するのが難しい機能をカバーする短いセクションが含まれています。

166 194 

167## 一般的な懸念に対応する195<h2 id="respond-to-common-concerns">

196 一般的な懸念に対応する

197</h2>

168 198 

169健全なスケプティシズムは予想されます。エンジニアは、コードに触れるツールについて慎重である必要があります。最も効果的な応答は、一般的なケースを議論することはめったにありません。代わりに、懸念を認め、簡潔な言い換えを提供し、その人のコードで 1 つの具体的なデモンストレーションを提案します。ほとんどの懸念は、1 つの成功した経験によって解決されます。199健全なスケプティシズムは予想されます。エンジニアは、コードに触れるツールについて慎重である必要があります。最も効果的な応答は、一般的なケースを議論することはめったにありません。代わりに、懸念を認め、簡潔な言い換えを提供し、その人のコードで 1 つの具体的なデモンストレーションを提案します。ほとんどの懸念は、1 つの成功した経験によって解決されます。

170 200 


176| 「一度試したら、ハルシネーションしました。」 | これは通常、モデルの問題ではなく、コンテキストの問題です。関連ファイルを @-mention し、`/init` を実行し、実際のエラー出力を提供することで、通常、それが解決されます。 | 適切な `@` コンテキストで元のプロンプトを再実行します。 |206| 「一度試したら、ハルシネーションしました。」 | これは通常、モデルの問題ではなく、コンテキストの問題です。関連ファイルを @-mention し、`/init` を実行し、実際のエラー出力を提供することで、通常、それが解決されます。 | 適切な `@` コンテキストで元のプロンプトを再実行します。 |

177| 「別のツールを学ぶ時間がありません。」 | Claude Code はプラットフォームではなく、ターミナルコマンドです。最初のセッション内で値を返さない場合、それを脇に置くことは合理的です。 | 2 分間のインストールに続いて 1 つの実際のバグ。 |207| 「別のツールを学ぶ時間がありません。」 | Claude Code はプラットフォームではなく、ターミナルコマンドです。最初のセッション内で値を返さない場合、それを脇に置くことは合理的です。 | 2 分間のインストールに続いて 1 つの実際のバグ。 |

178 208 

179## クイックリファレンスシート209<h2 id="quick-reference-sheet">

210 クイックリファレンスシート

211</h2>

180 212 

181以下の技術は、最初の試行から日常的な使用に誰かを移動させるのに最も確実に機能するものです。チャネルにこのテーブルをピンで留めるか、独自に共有してください。213以下の技術は、最初の試行から日常的な使用に誰かを移動させるのに最も確実に機能するものです。チャネルにこのテーブルをピンで留めるか、独自に共有してください。

182 214 

channels.md +42 −17

Details

7> チャネルを使用して、MCP サーバーから実行中の Claude Code セッションにメッセージ、アラート、ウェブフックをプッシュします。CI 結果、チャットメッセージ、監視イベントを転送して、あなたが不在の間に Claude が対応できるようにします。7> チャネルを使用して、MCP サーバーから実行中の Claude Code セッションにメッセージ、アラート、ウェブフックをプッシュします。CI 結果、チャットメッセージ、監視イベントを転送して、あなたが不在の間に Claude が対応できるようにします。

8 8 

9<Note>9<Note>

10 チャネルは[リサーチプレビュー](#research-preview)段階にあり、Claude Code v2.1.80 以降が必要です。claude.ai ログインが必要です。Console API キー認証はサポートされていません。Team および Enterprise 組織は[明示的に有効にする](#enterprise-controls)必要があります。10 チャネルは[リサーチプレビュー](#research-preview)段階にあり、Claude Code v2.1.80 以降が必要です。Anthropic 認証が claude.ai または Console API キーを通じて必要で、Amazon Bedrock、Google Vertex AI、Microsoft Foundry では利用できません。Team および Enterprise 組織は[明示的に有効にする](#enterprise-controls)必要があります。

11</Note>11</Note>

12 12 

13チャネルは MCP サーバーで、実行中の Claude Code セッションにイベントをプッシュするため、あなたがターミナルにいない間に起こることに Claude が対応できます。チャネルは双方向にすることができます。Claude がイベントを読み取り、同じチャネルを通じて返信します。チャットブリッジのようなものです。イベントはセッションが開いている間だけ到着するため、常時稼働セットアップの場合は、Claude をバックグラウンドプロセスまたは永続的なターミナルで実行します。13チャネルは MCP サーバーで、実行中の Claude Code セッションにイベントをプッシュするため、あなたがターミナルにいない間に起こることに Claude が対応できます。チャネルは双方向にすることができます。Claude がイベントを読み取り、同じチャネルを通じて返信します。チャットブリッジのようなものです。イベントはセッションが開いている間だけ到着するため、常時稼働セットアップの場合は、Claude をバックグラウンドプロセスまたは永続的なターミナルで実行します。


28 28 

29独自のチャネルを構築するには、[チャネルリファレンス](/ja/channels-reference)を参照してください。29独自のチャネルを構築するには、[チャネルリファレンス](/ja/channels-reference)を参照してください。

30 30 

31## サポートされているチャネル31<h2 id="supported-channels">

32 サポートされているチャネル

33</h2>

32 34 

33サポートされている各チャネルはプラグインで、[Bun](https://bun.sh) が必要です。実際のプラットフォームを接続する前にプラグインフローの実践的なデモを試すには、[fakechat クイックスタート](#quickstart)を試してください。35サポートされている各チャネルはプラグインで、[Bun](https://bun.sh) が必要です。実際のプラットフォームを接続する前にプラグインフローの実践的なデモを試すには、[fakechat クイックスタート](#quickstart)を試してください。

34 36 


217 219 

218また、[独自のチャネルを構築](/ja/channels-reference)して、まだプラグインがないシステムに対応することもできます。220また、[独自のチャネルを構築](/ja/channels-reference)して、まだプラグインがないシステムに対応することもできます。

219 221 

220## クイックスタート222<h2 id="quickstart">

223 クイックスタート

224</h2>

221 225 

222Fakechat は公式にサポートされているデモチャネルで、localhost でチャット UI を実行し、認証は不要で、設定する外部サービスもありません。226Fakechat は公式にサポートされているデモチャネルで、localhost でチャット UI を実行し、認証は不要で、設定する外部サービスもありません。

223 227 


225 229 

226Fakechat デモを試すには、以下が必要です。230Fakechat デモを試すには、以下が必要です。

227 231 

228* Claude Code が[インストールされ、認証されている](/ja/quickstart#step-1-install-claude-code)(claude.ai アカウント232* Claude Code が[インストールされ、認証されている](/ja/quickstart#step-1-install-claude-code)(claude.ai アカウントまたは Claude Console API キー

229* [Bun](https://bun.sh) がインストールされている。事前構築されたチャネルプラグインは Bun スクリプトです。`bun --version` で確認します。失敗する場合は、[Bun をインストール](https://bun.sh/docs/installation)します。233* [Bun](https://bun.sh) がインストールされている。事前構築されたチャネルプラグインは Bun スクリプトです。`bun --version` で確認します。失敗する場合は、[Bun をインストール](https://bun.sh/docs/installation)します。

230* **Team/Enterprise ユーザー**:組織管理者が管理設定で[チャネルを有効にする](#enterprise-controls)必要があります。234* **TeamEnterprise、または管理 Console 組織**:管理者が[チャネルを有効にする](#enterprise-controls)必要があります。

231 235 

232<Steps>236<Steps>

233 <Step title="Fakechat チャネルプラグインをインストールする">237 <Step title="Fakechat チャネルプラグインをインストールする">


267 271 

268Claude がターミナルから離れている間にパーミッションプロンプトにヒットした場合、セッションは応答するまで一時停止します。[パーミッションリレー機能](/ja/channels-reference#relay-permission-prompts)を宣言するチャネルサーバーは、これらのプロンプトをあなたに転送して、リモートで承認または拒否できるようにします。無人使用の場合、[`--dangerously-skip-permissions`](/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode) はプロンプトを完全にバイパスしますが、信頼できる環境でのみ使用してください。272Claude がターミナルから離れている間にパーミッションプロンプトにヒットした場合、セッションは応答するまで一時停止します。[パーミッションリレー機能](/ja/channels-reference#relay-permission-prompts)を宣言するチャネルサーバーは、これらのプロンプトをあなたに転送して、リモートで承認または拒否できるようにします。無人使用の場合、[`--dangerously-skip-permissions`](/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode) はプロンプトを完全にバイパスしますが、信頼できる環境でのみ使用してください。

269 273 

270## セキュリティ274非対話型モードで `-p` でチャネルを実行する場合、複数選択質問や Plan Mode 承認など、ターミナル入力が必要なツールは無効になるため、セッションは入力を待つことで停止することはありません。

275 

276<h2 id="security">

277 セキュリティ

278</h2>

271 279 

272承認されたすべてのチャネルプラグインは送信者許可リストを保持します。追加した ID だけがメッセージをプッシュでき、他のすべては静かにドロップされます。280承認されたすべてのチャネルプラグインは送信者許可リストを保持します。追加した ID だけがメッセージをプッシュでき、他のすべては静かにドロップされます。

273 281 


280 288 

281iMessage は異なります。自分自身にテキストを送信するとゲートを自動的にバイパスし、`/imessage:access allow` でハンドルを使用して他の連絡先を追加します。289iMessage は異なります。自分自身にテキストを送信するとゲートを自動的にバイパスし、`/imessage:access allow` でハンドルを使用して他の連絡先を追加します。

282 290 

283その上に、`--channels` で各セッションで有効なサーバーを制御し、Team および Enterprise プランでは組織が [`channelsEnabled`](#enterprise-controls) で可用性を制御します。291その上に、`--channels` で各セッションで有効なサーバーを制御し、組織は claude.ai Team および Enterprise プランと、管理設定をデプロイする Console 組織で [`channelsEnabled`](#enterprise-controls) で可用性を制御します。

284 292 

285`.mcp.json` にあるだけではメッセージをプッシュするのに十分ではありません。サーバーも `--channels` で名前を付ける必要があります。293`.mcp.json` にあるだけではメッセージをプッシュするのに十分ではありません。サーバーも `--channels` で名前を付ける必要があります。

286 294 

287許可リストは、チャネルが宣言する場合、[パーミッションリレー](/ja/channels-reference#relay-permission-prompts)もゲートします。チャネルを通じて返信できるすべてのユーザーは、セッションでのツール使用を承認または拒否できるため、その権限を信頼できる許可リスト送信者だけを追加してください。295許可リストは、チャネルが宣言する場合、[パーミッションリレー](/ja/channels-reference#relay-permission-prompts)もゲートします。チャネルを通じて返信できるすべてのユーザーは、セッションでのツール使用を承認または拒否できるため、その権限を信頼できる許可リスト送信者だけを追加してください。

288 296 

289## Enterprise コントロール297<h2 id="enterprise-controls">

298 Enterprise コントロール

299</h2>

300 

301管理者は 2 つの[管理設定](/ja/settings)を通じて可用性を制御します。ユーザーはこれらをオーバーライドできません。デフォルトは認証方法によって異なります。

302 

303* **claude.ai Team および Enterprise**:チャネルは管理者が有効にするまでブロックされます。

304* **Anthropic Console と API キー認証**:チャネルはデフォルトで許可されます。組織が管理設定をデプロイする場合のみこの設定が必要です。

290 305 

291Team および Enterprise プランでは、チャネルはデフォルトでオフです。管理者はユーザーがオーバーライドできない 2 つの[管理設定](/ja/settings)を通じて可用性を制御します306すべての場合においてユーザーが `--channels` でセッションにオプトインするまで、チャネルは実行されません

292 307 

293| 設定 | 目的 | 設定されていない場合 |308| 設定 | 目的 | 設定されていない場合 |

294| :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------ |309| :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |

295| `channelsEnabled` | マスタースイッチ。チャネルがメッセージを配信するには `true` である必要があります。[claude.ai Admin console](https://claude.ai/admin-settings/claude-code) トグルまたは管理設定で直接設定します。オフの場合、開発フラグを含むすべてのチャネルをブロックします。 | チャネルがブロックされます |310| `channelsEnabled` | マスタースイッチ。チャネルがメッセージを配信するには `true` である必要があります。[claude.ai Admin console](https://claude.ai/admin-settings/claude-code) トグルまたは管理設定で直接設定します。オフの場合、開発フラグを含むすべてのチャネルをブロックします。 | claude.ai Team および Enterprise:チャネルがブロックされます。Console:組織が管理設定をデプロイしない限りチャネルが許可されます。その場合、このキーが設定されるまでチャネルがブロックされます。 |

296| `allowedChannelPlugins` | チャネルが有効になったら、どのプラグインが登録できるか。設定されている場合、Anthropic が管理するリストを置き換えます。`channelsEnabled` が `true` の場合のみ適用されます。 | Anthropic デフォルトリストが適用されます |311| `allowedChannelPlugins` | チャネルが有効になったら、どのプラグインが登録できるか。設定されている場合、Anthropic が管理するリストを置き換えます。`channelsEnabled` が `true` の場合のみ適用されます。 | Anthropic デフォルトリストが適用されます|

297 312 

298組織のない Pro および Max ユーザーはこれらのチェックを完全にスキップします。チャネルが利用可能で、ユーザーは `--channels` でセッションごとにオプトインします。313組織のない Pro および Max ユーザーはこれらのチェックを完全にスキップします。チャネルが利用可能で、ユーザーは `--channels` でセッションごとにオプトインします。

299 314 

300### 組織のチャネルを有効にする315<h3 id="enable-channels-for-your-organization">

316 組織のチャネルを有効にする

317</h3>

301 318 

302管理者は [**claude.ai → Admin settings → Claude Code → Channels**](https://claude.ai/admin-settings/claude-code) からチャネルを有効にするか、管理設定で `channelsEnabled` を `true` に設定できます。319管理者は [**claude.ai → Admin settings → Claude Code → Channels**](https://claude.ai/admin-settings/claude-code) からチャネルを有効にするか、管理設定で `channelsEnabled` を `true` に設定できます。

303 320 

304有効にすると、組織内のユーザーは `--channels` を使用して個別のセッションにチャネルサーバーをオプトインできます。設定が無効または未設定の場合、MCP サーバーは接続され、そのツールは機能しますが、チャネルメッセージは到着しません。スタートアップ警告は、ユーザーに管理者が設定を有効にするよう指示します。321有効にすると、組織内のユーザーは `--channels` を使用して個別のセッションにチャネルサーバーをオプトインできます。設定が無効または未設定の場合、MCP サーバーは接続され、そのツールは機能しますが、チャネルメッセージは到着しません。スタートアップ警告は、ユーザーに管理者が設定を有効にするよう指示します。

305 322 

306### チャネルプラグインが実行できるものを制限する323<h3 id="restrict-which-channel-plugins-can-run">

324 チャネルプラグインが実行できるものを制限する

325</h3>

307 326 

308デフォルトでは、Anthropic が管理する許可リスト上のプラグインはチャネルとして登録できます。Team および Enterprise プランの管理者は、管理設定で `allowedChannelPlugins` を設定することで、その許可リストを独自のものに置き換えることができます。これを使用して、許可されている公式プラグインを制限したり、独自の内部マーケットプレイスからチャネルを承認したり、その両方を行ったりします。各エントリは、プラグインとそれが由来するマーケットプレイスに名前を付けます。327デフォルトでは、Anthropic が管理する許可リスト上のプラグインはチャネルとして登録できます。Team および Enterprise プランの管理者は、管理設定で `allowedChannelPlugins` を設定することで、その許可リストを独自のものに置き換えることができます。これを使用して、許可されている公式プラグインを制限したり、独自の内部マーケットプレイスからチャネルを承認したり、その両方を行ったりします。各エントリは、プラグインとそれが由来するマーケットプレイスに名前を付けます。

309 328 


322 341 

323この設定には `channelsEnabled: true` が必要です。ユーザーが `--channels` にリストにないプラグインを渡す場合、Claude Code は通常起動しますが、チャネルは登録されず、スタートアップ通知はプラグインが組織の承認リストにないことを説明します。342この設定には `channelsEnabled: true` が必要です。ユーザーが `--channels` にリストにないプラグインを渡す場合、Claude Code は通常起動しますが、チャネルは登録されず、スタートアップ通知はプラグインが組織の承認リストにないことを説明します。

324 343 

325## リサーチプレビュー344<h2 id="research-preview">

345 リサーチプレビュー

346</h2>

326 347 

327チャネルはリサーチプレビュー機能です。可用性は段階的にロールアウトされており、`--channels` フラグの構文とプロトコルコントラクトはフィードバックに基づいて変更される可能性があります。348チャネルはリサーチプレビュー機能です。可用性は段階的にロールアウトされており、`--channels` フラグの構文とプロトコルコントラクトはフィードバックに基づいて変更される可能性があります。

328 349 


332 353 

333[Claude Code GitHub リポジトリ](https://github.com/anthropics/claude-code/issues)で問題またはフィードバックを報告してください。354[Claude Code GitHub リポジトリ](https://github.com/anthropics/claude-code/issues)で問題またはフィードバックを報告してください。

334 355 

335## チャネルの比較方法356<h2 id="how-channels-compare">

357 チャネルの比較方法

358</h2>

336 359 

337Claude Code のいくつかの機能はターミナルの外のシステムに接続し、それぞれ異なる種類の作業に適しています。360Claude Code のいくつかの機能はターミナルの外のシステムに接続し、それぞれ異なる種類の作業に適しています。

338 361 


348* **チャットブリッジ**:Telegram、Discord、または iMessage を通じて電話から Claude に何かを尋ね、答えが同じチャットに戻ってきます。作業はマシンで実際のファイルに対して実行されます。371* **チャットブリッジ**:Telegram、Discord、または iMessage を通じて電話から Claude に何かを尋ね、答えが同じチャットに戻ってきます。作業はマシンで実際のファイルに対して実行されます。

349* **[ウェブフックレシーバー](/ja/channels-reference#example-build-a-webhook-receiver)**:CI、エラートラッカー、デプロイパイプライン、または他の外部サービスからのウェブフックが、Claude がファイルをすでに開いており、デバッグしていたことを覚えている場所に到着します。372* **[ウェブフックレシーバー](/ja/channels-reference#example-build-a-webhook-receiver)**:CI、エラートラッカー、デプロイパイプライン、または他の外部サービスからのウェブフックが、Claude がファイルをすでに開いており、デバッグしていたことを覚えている場所に到着します。

350 373 

351## 次のステップ374<h2 id="next-steps">

375 次のステップ

376</h2>

352 377 

353チャネルが実行されたら、これらの関連機能を探索してください。378チャネルが実行されたら、これらの関連機能を探索してください。

354 379 

Details

7> webhook、アラート、チャットメッセージを Claude Code セッションにプッシュする MCP サーバーを構築します。チャネルコントラクトのリファレンス:機能宣言、通知イベント、返信ツール、送信者ゲーティング、権限リレー。7> webhook、アラート、チャットメッセージを Claude Code セッションにプッシュする MCP サーバーを構築します。チャネルコントラクトのリファレンス:機能宣言、通知イベント、返信ツール、送信者ゲーティング、権限リレー。

8 8 

9<Note>9<Note>

10 チャネルは[リサーチプレビュー](/ja/channels#research-preview)段階にあり、Claude Code v2.1.80 以降が必要です。claude.ai ログインが必要です。Console と API キー認証はサポートされていません。Team および Enterprise 組織は[明示的に有効化](/ja/channels#enterprise-controls)する必要があります。10 チャネルは[リサーチプレビュー](/ja/channels#research-preview)段階にあり、Claude Code v2.1.80 以降が必要です。Team および Enterprise 組織は[明示的に有効化](/ja/channels#enterprise-controls)する必要があります。

11</Note>11</Note>

12 12 

13チャネルは、Claude Code セッションにイベントをプッシュする MCP サーバーで、Claude がターミナルの外で発生していることに反応できるようにします。13チャネルは、Claude Code セッションにイベントをプッシュする MCP サーバーで、Claude がターミナルの外で発生していることに反応できるようにします。


20* [必要なもの](#what-you-need):要件と一般的な手順20* [必要なもの](#what-you-need):要件と一般的な手順

21* [例:webhook レシーバーを構築](#example-build-a-webhook-receiver):最小限の一方向ウォークスルー21* [例:webhook レシーバーを構築](#example-build-a-webhook-receiver):最小限の一方向ウォークスルー

22* [サーバーオプション](#server-options):コンストラクタフィールド22* [サーバーオプション](#server-options):コンストラクタフィールド

23* [通知フォーマット](#notification-format):イベントペイロード23* [通知フォーマット](#notification-format):イベントペイロードと配信動作

24* [返信ツールを公開](#expose-a-reply-tool):Claude がメッセージを返送できるようにする24* [返信ツールを公開](#expose-a-reply-tool):Claude がメッセージを返送できるようにする

25* [インバウンドメッセージをゲート](#gate-inbound-messages):プロンプトインジェクションを防ぐための送信者チェック25* [インバウンドメッセージをゲート](#gate-inbound-messages):プロンプトインジェクションを防ぐための送信者チェック

26* [権限プロンプトをリレー](#relay-permission-prompts):ツール承認プロンプトをリモートチャネルに転送26* [権限プロンプトをリレー](#relay-permission-prompts):ツール承認プロンプトをリモートチャネルに転送

27 27 

28既存のチャネルを使用する場合は、[チャネル](/ja/channels)を参照してください。Telegram、Discord、iMessage、および fakechat はリサーチプレビューに含まれています。28既存のチャネルを使用する場合は、[チャネル](/ja/channels)を参照してください。Telegram、Discord、iMessage、および fakechat はリサーチプレビューに含まれています。

29 29 

30## 概要30<h2 id="overview">

31 概要

32</h2>

31 33 

32チャネルは、Claude Code と同じマシン上で実行される[MCP](https://modelcontextprotocol.io) サーバーです。Claude Code はそれをサブプロセスとして生成し、stdio 経由で通信します。チャネルサーバーは、外部システムと Claude Code セッション間のブリッジです:34チャネルは、Claude Code と同じマシン上で実行される[MCP](https://modelcontextprotocol.io) サーバーです。Claude Code はそれをサブプロセスとして生成し、stdio 経由で通信します。チャネルサーバーは、外部システムと Claude Code セッション間のブリッジです:

33 35 


36 38 

37<img src="https://mintlify.s3.us-west-1.amazonaws.com/claude-code/ja/images/channel-architecture.svg" alt="外部システムがローカルチャネルサーバーに接続し、stdio 経由で Claude Code と通信するアーキテクチャ図" />39<img src="https://mintlify.s3.us-west-1.amazonaws.com/claude-code/ja/images/channel-architecture.svg" alt="外部システムがローカルチャネルサーバーに接続し、stdio 経由で Claude Code と通信するアーキテクチャ図" />

38 40 

39## 必要なもの41<h2 id="what-you-need">

42 必要なもの

43</h2>

40 44 

41唯一のハード要件は、[`@modelcontextprotocol/sdk`](https://www.npmjs.com/package/@modelcontextprotocol/sdk) パッケージと Node.js 互換ランタイムです。[Bun](https://bun.sh)、[Node](https://nodejs.org)、[Deno](https://deno.com) すべて動作します。リサーチプレビューの事前構築プラグインは Bun を使用していますが、チャネルはそうである必要はありません。45唯一のハード要件は、[`@modelcontextprotocol/sdk`](https://www.npmjs.com/package/@modelcontextprotocol/sdk) パッケージと Node.js 互換ランタイムです。[Bun](https://bun.sh)、[Node](https://nodejs.org)、[Deno](https://deno.com) すべて動作します。リサーチプレビューの事前構築プラグインは Bun を使用していますが、チャネルはそうである必要はありません。

42 46 


50 54 

51リサーチプレビュー中、カスタムチャネルは[承認許可リスト](/ja/channels#supported-channels)にありません。ローカルでテストするには `--dangerously-load-development-channels` を使用してください。詳細については、[リサーチプレビュー中のテスト](#test-during-the-research-preview)を参照してください。55リサーチプレビュー中、カスタムチャネルは[承認許可リスト](/ja/channels#supported-channels)にありません。ローカルでテストするには `--dangerously-load-development-channels` を使用してください。詳細については、[リサーチプレビュー中のテスト](#test-during-the-research-preview)を参照してください。

52 56 

53## 例:webhook レシーバーを構築57<h2 id="example-build-a-webhook-receiver">

58 例:webhook レシーバーを構築

59</h2>

54 60 

55このウォークスルーでは、HTTP リクエストをリッスンして Claude Code セッションに転送する単一ファイルサーバーを構築します。終了時には、CI パイプライン、監視アラート、または `curl` コマンドなど、HTTP POST を送信できるものはすべて、Claude にイベントをプッシュできます。61このウォークスルーでは、HTTP リクエストをリッスンして Claude Code セッションに転送する単一ファイルサーバーを構築します。終了時には、CI パイプライン、監視アラート、または `curl` コマンドなど、HTTP POST を送信できるものはすべて、Claude にイベントをプッシュできます。

56 62 


138 144 

139 Claude Code が起動すると、MCP 設定を読み込み、`webhook.ts` をサブプロセスとして生成し、HTTP リスナーは設定したポート(この例では 8788)で自動的に開始されます。サーバーを自分で実行する必要はありません。145 Claude Code が起動すると、MCP 設定を読み込み、`webhook.ts` をサブプロセスとして生成し、HTTP リスナーは設定したポート(この例では 8788)で自動的に開始されます。サーバーを自分で実行する必要はありません。

140 146 

141 'ブロックされた組織ポリシー'が表示される場合は、Team または Enterprise 管理者が最初に[チャネルを有効化](/ja/channels#enterprise-controls)する必要があります。147 'ブロックされた組織ポリシー'が表示される場合は、組織管理者が最初に[チャネルを有効化](/ja/channels#enterprise-controls)する必要があります。

142 148 

143 別のターミナルで、HTTP POST でメッセージを送信して webhook をシミュレートします。この例は、CI 失敗アラートをポート 8788(または設定したポート)に送信します:149 別のターミナルで、HTTP POST でメッセージを送信して webhook をシミュレートします。この例は、CI 失敗アラートをポート 8788(または設定したポート)に送信します:

144 150 


163 169 

164[fakechat サーバー](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/fakechat)は、Web UI、ファイル添付、および双方向チャットの返信ツールでこのパターンを拡張します。170[fakechat サーバー](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/fakechat)は、Web UI、ファイル添付、および双方向チャットの返信ツールでこのパターンを拡張します。

165 171 

166## リサーチプレビュー中のテスト172<h2 id="test-during-the-research-preview">

173 リサーチプレビュー中のテスト

174</h2>

167 175 

168リサーチプレビュー中、すべてのチャネルは登録するために[承認許可リスト](/ja/channels#research-preview)にある必要があります。開発フラグは、確認プロンプトの後、特定のエントリの許可リストをバイパスします。この例は両方のエントリタイプを示しています:176リサーチプレビュー中、すべてのチャネルは登録するために[承認許可リスト](/ja/channels#research-preview)にある必要があります。開発フラグは、確認プロンプトの後、特定のエントリの許可リストをバイパスします。この例は両方のエントリタイプを示しています:

169 177 


181 このフラグは許可リストのみをスキップします。`channelsEnabled` 組織ポリシーは引き続き適用されます。信頼できないソースからチャネルを実行するために使用しないでください。189 このフラグは許可リストのみをスキップします。`channelsEnabled` 組織ポリシーは引き続き適用されます。信頼できないソースからチャネルを実行するために使用しないでください。

182</Note>190</Note>

183 191 

184## サーバーオプション192<h2 id="server-options">

193 サーバーオプション

194</h2>

185 195 

186チャネルは [`Server`](https://modelcontextprotocol.io/docs/concepts/servers) コンストラクタでこれらのオプションを設定します。`instructions` と `capabilities.tools` フィールドは[標準 MCP](https://modelcontextprotocol.io/docs/concepts/servers) です。`capabilities.experimental['claude/channel']` と `capabilities.experimental['claude/channel/permission']` はチャネル固有の追加です:196チャネルは [`Server`](https://modelcontextprotocol.io/docs/concepts/servers) コンストラクタでこれらのオプションを設定します。`instructions` と `capabilities.tools` フィールドは[標準 MCP](https://modelcontextprotocol.io/docs/concepts/servers) です。`capabilities.experimental['claude/channel']` と `capabilities.experimental['claude/channel/permission']` はチャネル固有の追加です:

187 197 


212 222 

213イベントをプッシュするには、メソッド `notifications/claude/channel` で `mcp.notification()` を呼び出します。パラメータは次のセクションにあります。223イベントをプッシュするには、メソッド `notifications/claude/channel` で `mcp.notification()` を呼び出します。パラメータは次のセクションにあります。

214 224 

215## 通知フォーマット225<h2 id="notification-format">

226 通知フォーマット

227</h2>

216 228 

217サーバーは `notifications/claude/channel` を 2 つのパラメータで発行します:229サーバーは `notifications/claude/channel` を 2 つのパラメータで発行します:

218 230 


241</channel>253</channel>

242```254```

243 255 

244## 返信ツールを公開256通知は確認されません。`mcp.notification()` の `await` は、メッセージがトランスポートに書き込まれるときに解決され、Claude が処理したときではありません。セッションがチャネルとしてサーバーを読み込んでいない場合、または組織ポリシーがそれをブロックしている場合、イベントはサーバーにエラーが返されることなくサイレントにドロップされます。

257 

258配信確認が必要な場合は、サーバーでイベント状態を追跡し、Claude が状態を報告するために呼び出せる[返信ツール](#expose-a-reply-tool)を公開します。

259 

260イベントはセッションにキューイングされ、順番に処理されます。Claude がビジーの間に複数の通知が到着した場合、次のターンで一緒に配信され、Claude はそれらをグループとして処理します。独立したイベントストリームを同時に処理するには、別のセッションを実行します。

261 

262<h2 id="expose-a-reply-tool">

263 返信ツールを公開

264</h2>

245 265 

246チャネルが双方向の場合、アラートフォワーダーではなくチャットブリッジのような場合、Claude がメッセージを返送するために呼び出せる標準 [MCP ツール](https://modelcontextprotocol.io/docs/concepts/tools)を公開します。ツール登録に関するチャネル固有のものはありません。返信ツールには 3 つのコンポーネントがあります:266チャネルが双方向の場合、アラートフォワーダーではなくチャットブリッジのような場合、Claude がメッセージを返送するために呼び出せる標準 [MCP ツール](https://modelcontextprotocol.io/docs/concepts/tools)を公開します。ツール登録に関するチャネル固有のものはありません。返信ツールには 3 つのコンポーネントがあります:

247 267 


403 423 

404[fakechat サーバー](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/fakechat)は、ファイル添付とメッセージ編集を含むより完全な例を示しています。424[fakechat サーバー](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/fakechat)は、ファイル添付とメッセージ編集を含むより完全な例を示しています。

405 425 

406## インバウンドメッセージをゲート426<h2 id="gate-inbound-messages">

427 インバウンドメッセージをゲート

428</h2>

407 429 

408ゲートなしチャネルはプロンプトインジェクションベクトルです。エンドポイントに到達できる誰もが Claude の前にテキストを置くことができます。チャットプラットフォームまたはパブリックエンドポイントをリッスンするチャネルは、何かを発行する前に実際の送信者チェックが必要です。430ゲートなしチャネルはプロンプトインジェクションベクトルです。エンドポイントに到達できる誰もが Claude の前にテキストを置くことができます。チャットプラットフォームまたはパブリックエンドポイントをリッスンするチャネルは、何かを発行する前に実際の送信者チェックが必要です。

409 431 


423 445 

424[Telegram](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram) と [Discord](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord) チャネルは同じ方法で送信者許可リストでゲートします。ペアリングでリストをブートストラップします:ユーザーがボットに DM を送信し、ボットはペアリングコードで返信し、ユーザーが Claude Code セッションで承認し、プラットフォーム ID が追加されます。完全なペアリングフローについては、いずれかの実装を参照してください。[iMessage](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage) チャネルは異なるアプローチを取ります:起動時にメッセージデータベースからユーザー自身のアドレスを検出し、それらを自動的に通します。他の送信者はハンドルで追加されます。446[Telegram](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram) と [Discord](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord) チャネルは同じ方法で送信者許可リストでゲートします。ペアリングでリストをブートストラップします:ユーザーがボットに DM を送信し、ボットはペアリングコードで返信し、ユーザーが Claude Code セッションで承認し、プラットフォーム ID が追加されます。完全なペアリングフローについては、いずれかの実装を参照してください。[iMessage](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage) チャネルは異なるアプローチを取ります:起動時にメッセージデータベースからユーザー自身のアドレスを検出し、それらを自動的に通します。他の送信者はハンドルで追加されます。

425 447 

426## 権限プロンプトをリレー448<h2 id="relay-permission-prompts">

449 権限プロンプトをリレー

450</h2>

427 451 

428<Note>452<Note>

429 権限リレーには Claude Code v2.1.81 以降が必要です。以前のバージョンは `claude/channel/permission` 機能を無視します。453 権限リレーには Claude Code v2.1.81 以降が必要です。以前のバージョンは `claude/channel/permission` 機能を無視します。


433 457 

434リレーは `Bash`、`Write`、`Edit` などのツール使用承認をカバーします。プロジェクト信頼と MCP サーバー同意ダイアログはリレーされません。これらはローカルターミナルにのみ表示されます。458リレーは `Bash`、`Write`、`Edit` などのツール使用承認をカバーします。プロジェクト信頼と MCP サーバー同意ダイアログはリレーされません。これらはローカルターミナルにのみ表示されます。

435 459 

436### リレーの仕組み460<h3 id="how-relay-works">

461 リレーの仕組み

462</h3>

437 463 

438権限プロンプトが開くと、リレーループには 4 つのステップがあります:464権限プロンプトが開くと、リレーループには 4 つのステップがあります:

439 465 


446 472 

447<img src="https://mintlify.s3.us-west-1.amazonaws.com/claude-code/ja/images/channel-permission-relay.svg" alt="シーケンス図:Claude Code は権限リクエスト通知をチャネルサーバーに送信し、サーバーはプロンプトと ID をチャットアプリにフォーマットして送信し、人間は判定で返信し、サーバーはその返信を権限通知に解析して Claude Code に戻す" />473<img src="https://mintlify.s3.us-west-1.amazonaws.com/claude-code/ja/images/channel-permission-relay.svg" alt="シーケンス図:Claude Code は権限リクエスト通知をチャネルサーバーに送信し、サーバーはプロンプトと ID をチャットアプリにフォーマットして送信し、人間は判定で返信し、サーバーはその返信を権限通知に解析して Claude Code に戻す" />

448 474 

449### 権限リクエストフィールド475<h3 id="permission-request-fields">

476 権限リクエストフィールド

477</h3>

450 478 

451Claude Code からのアウトバウンド通知は `notifications/claude/channel/permission_request` です。[チャネル通知](#notification-format)のように、トランスポートは標準 MCP ですが、メソッドとスキーマは Claude Code 拡張です。`params` オブジェクトには、サーバーが発信プロンプトにフォーマットする 4 つの文字列フィールドがあります:479Claude Code からのアウトバウンド通知は `notifications/claude/channel/permission_request` です。[チャネル通知](#notification-format)のように、トランスポートは標準 MCP ですが、メソッドとスキーマは Claude Code 拡張です。`params` オブジェクトには、サーバーが発信プロンプトにフォーマットする 4 つの文字列フィールドがあります:

452 480 


459 487 

460サーバーが返送する判定は `notifications/claude/channel/permission` で、2 つのフィールド:上記の ID を反映する `request_id` と、`'allow'` または `'deny'` に設定された `behavior`。Allow はツール呼び出しを続行させます。Deny はそれを拒否し、ローカルダイアログで No と答えるのと同じです。どちらの判定も将来の呼び出しに影響しません。488サーバーが返送する判定は `notifications/claude/channel/permission` で、2 つのフィールド:上記の ID を反映する `request_id` と、`'allow'` または `'deny'` に設定された `behavior`。Allow はツール呼び出しを続行させます。Deny はそれを拒否し、ローカルダイアログで No と答えるのと同じです。どちらの判定も将来の呼び出しに影響しません。

461 489 

462### チャットブリッジにリレーを追加490<h3 id="add-relay-to-a-chat-bridge">

491 チャットブリッジにリレーを追加

492</h3>

463 493 

464双方向チャネルに権限リレーを追加するには、3 つのコンポーネントが必要です:494双方向チャネルに権限リレーを追加するには、3 つのコンポーネントが必要です:

465 495 


559* **異なるフォーマット**:インバウンドハンドラーの正規表現が一致しないため、'approve it'または ID なしの'yes'のようなテキストは通常のメッセージとして Claude にフォールスルーします。589* **異なるフォーマット**:インバウンドハンドラーの正規表現が一致しないため、'approve it'または ID なしの'yes'のようなテキストは通常のメッセージとして Claude にフォールスルーします。

560* **正しいフォーマット、間違った ID**:サーバーは判定を発行しますが、Claude Code はその ID を持つ開いているリクエストを見つけず、サイレントにドロップします。590* **正しいフォーマット、間違った ID**:サーバーは判定を発行しますが、Claude Code はその ID を持つ開いているリクエストを見つけず、サイレントにドロップします。

561 591 

562### 完全な例592<h3 id="full-example">

593 完全な例

594</h3>

563 595 

564以下の組み立てられた `webhook.ts` は、このページからの 3 つの拡張をすべて組み合わせます:返信ツール、送信者ゲーティング、権限リレー。ここから始める場合は、初期ウォークスルーから[プロジェクト設定と `.mcp.json` エントリ](#example-build-a-webhook-receiver)も必要です。596以下の組み立てられた `webhook.ts` は、このページからの 3 つの拡張をすべて組み合わせます:返信ツール、送信者ゲーティング、権限リレー。ここから始める場合は、初期ウォークスルーから[プロジェクト設定と `.mcp.json` エントリ](#example-build-a-webhook-receiver)も必要です。

565 597 


735* **アウトバウンドパス**:`reply` ツールハンドラーは Claude が会話応答のために呼び出すもの。`PermissionRequestSchema` 通知ハンドラーは権限ダイアログが開くと Claude Code が呼び出すもの。両方とも `/events` 経由でブロードキャストするために `send()` を呼び出しますが、システムの異なる部分によってトリガーされます。767* **アウトバウンドパス**:`reply` ツールハンドラーは Claude が会話応答のために呼び出すもの。`PermissionRequestSchema` 通知ハンドラーは権限ダイアログが開くと Claude Code が呼び出すもの。両方とも `/events` 経由でブロードキャストするために `send()` を呼び出しますが、システムの異なる部分によってトリガーされます。

736* **HTTP ハンドラー**:`GET /events` は SSE ストリームを開いたままにするため、curl はアウトバウンドをライブで見ることができます。`POST` はインバウンド、`X-Sender` ヘッダーでゲート。`yes <id>` または `no <id>` 本文は Claude Code に判定通知として送信され、Claude に到達しません。その他はすべてチャネルイベントとして Claude に転送されます。768* **HTTP ハンドラー**:`GET /events` は SSE ストリームを開いたままにするため、curl はアウトバウンドをライブで見ることができます。`POST` はインバウンド、`X-Sender` ヘッダーでゲート。`yes <id>` または `no <id>` 本文は Claude Code に判定通知として送信され、Claude に到達しません。その他はすべてチャネルイベントとして Claude に転送されます。

737 769 

738## プラグインとしてパッケージ化770<h2 id="package-as-a-plugin">

771 プラグインとしてパッケージ化

772</h2>

739 773 

740チャネルをインストール可能で共有可能にするには、[プラグイン](/ja/plugins)でラップして[マーケットプレイス](/ja/plugin-marketplaces)に公開します。ユーザーは `/plugin install` でインストールし、`--channels plugin:<name>@<marketplace>` でセッションごとに有効化します。774チャネルをインストール可能で共有可能にするには、[プラグイン](/ja/plugins)でラップして[マーケットプレイス](/ja/plugin-marketplaces)に公開します。ユーザーは `/plugin install` でインストールし、`--channels plugin:<name>@<marketplace>` でセッションごとに有効化します。

741 775 

742独自のマーケットプレイスに公開されたチャネルは、[承認許可リスト](/ja/channels#supported-channels)にないため、実行するには `--dangerously-load-development-channels` が必要です。追加されるようにするには、[公式マーケットプレイスに提出](/ja/plugins#submit-your-plugin-to-the-official-marketplace)してください。チャネルプラグインは承認される前にセキュリティレビューを受けます。Team および Enterprise プランでは管理者は代わりにプラグインを組織の独自の [`allowedChannelPlugins`](/ja/channels#restrict-which-channel-plugins-can-run) リストに含めることができます。これはデフォルトの Anthropic 許可リストを置き換えます776独自のマーケットプレイスに公開されたチャネルは、[承認許可リスト](/ja/channels#supported-channels)にないため、実行するには `--dangerously-load-development-channels` が必要です。デフォルトの許可リストは `claude-plugins-official` のチャネルプラグインでAnthropic がその裁量で管理しています。[アプリ内送信フォーム](/ja/plugins#submit-your-plugin-to-the-community-marketplace)はプラグインをコミュニティマーケットプレイスに追加しますがこれはチャネル許可リストにはありません

777 

778Anthropic パートナー連絡先と協力している場合は、公式マーケットプレイスリストを調整するために彼らに連絡してください。Team および Enterprise プランでは、管理者は代わりにプラグインを組織の独自の [`allowedChannelPlugins`](/ja/channels#restrict-which-channel-plugins-can-run) リストに含めることができます。これはデフォルトの Anthropic 許可リストを置き換えます。

743 779 

744## 関連項目780<h2 id="see-also">

781 関連項目

782</h2>

745 783 

746* [チャネル](/ja/channels):Telegram、Discord、iMessage、または fakechat デモをインストールして使用し、Team または Enterprise 組織のチャネルを有効化784* [チャネル](/ja/channels):Telegram、Discord、iMessage、または fakechat デモをインストールして使用し、Team または Enterprise 組織のチャネルを有効化

747* [チャネル実装の動作](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins):ペアリングフロー、返信ツール、ファイル添付を含む完全なサーバーコード785* [チャネル実装の動作](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins):ペアリングフロー、返信ツール、ファイル添付を含む完全なサーバーコード

checkpointing.md +37 −11

Details

8 8 

9Claude Code は、作業中に Claude が行ったファイルエディットを自動的に追跡し、変更をすばやく取り消したり、問題が発生した場合に以前の状態に巻き戻したりできます。9Claude Code は、作業中に Claude が行ったファイルエディットを自動的に追跡し、変更をすばやく取り消したり、問題が発生した場合に以前の状態に巻き戻したりできます。

10 10 

11## チェックポイントの仕組み11<h2 id="how-checkpoints-work">

12 チェックポイントの仕組み

13</h2>

12 14 

13Claude で作業する際、チェックポイント機能は各エディット前のコード状態を自動的にキャプチャします。このセーフティネットにより、野心的で大規模なタスクを実行する際に、いつでも以前のコード状態に戻ることができるという安心感を持って作業できます。15Claude で作業する際、チェックポイント機能は各エディット前のコード状態を自動的にキャプチャします。このセーフティネットにより、野心的で大規模なタスクを実行する際に、いつでも以前のコード状態に戻ることができるという安心感を持って作業できます。

14 16 

15### 自動追跡17<h3 id="automatic-tracking">

18 自動追跡

19</h3>

16 20 

17Claude Code は、ファイル編集ツールで行われたすべての変更を追跡します。21Claude Code は、ファイル編集ツールで行われたすべての変更を追跡します。

18 22 


20* チェックポイントはセッション間で保持されるため、再開した会話でアクセスできます24* チェックポイントはセッション間で保持されるため、再開した会話でアクセスできます

21* セッション終了後 30 日後に自動的にクリーンアップされます(設定可能)25* セッション終了後 30 日後に自動的にクリーンアップされます(設定可能)

22 26 

23### 巻き戻しと要約27<h3 id="rewind-and-summarize">

28 巻き戻しと要約

29</h3>

24 30 

25`Esc` キーを 2 回(`Esc` + `Esc`)押すか、`/rewind` コマンドを使用して巻き戻しメニューを開きます。スクロール可能なリストにセッションからの各プロンプトが表示されます。操作したいポイントを選択してからアクションを選択します31`/rewind` を実行するか、プロンプト入力が空の状態で `Esc` キーを 2 回押して巻き戻しメニューを開きます

32 

33<Note>

34 プロンプト入力にテキストが含まれている場合、ダブル `Esc` はメニューを開く代わりにテキストをクリアします。クリアされたテキストは入力履歴に保存されるため、巻き戻しメニューを終了した後に `Up` キーを押して呼び出すことができます。

35</Note>

36 

37巻き戻しメニューには、セッション中に送信した各プロンプトが表示されます。操作したいポイントを選択してから、アクションを選択します。

26 38 

27* **コードと会話を復元**: コードと会話の両方をそのポイントに戻します39* **コードと会話を復元**: コードと会話の両方をそのポイントに戻します

28* **会話を復元**: 現在のコードを保持しながら、そのメッセージに巻き戻します40* **会話を復元**: 現在のコードを保持しながら、そのメッセージに巻き戻します


35 47 

36「ここまで要約」を選択すると、会話の最後に留まり、入力フィールドは空になります。48「ここまで要約」を選択すると、会話の最後に留まり、入力フィールドは空になります。

37 49 

38#### 復元と要約の違い50<h4 id="restore-vs-summarize">

51 復元と要約の違い

52</h4>

39 53 

40復元オプションは状態を戻します。コード変更、会話履歴、またはその両方を取り消します。要約オプションは、ディスク上のファイルを変更せずに、会話の一部を AI 生成の要約に圧縮します。54復元オプションは状態を戻します。コード変更、会話履歴、またはその両方を取り消します。要約オプションは、ディスク上のファイルを変更せずに、会話の一部を AI 生成の要約に圧縮します。

41 55 


48 要約はセッションを同じ状態に保ち、コンテキストを圧縮します。元のセッションを保持したまま異なるアプローチを試したい場合は、代わりに [fork](/ja/sessions#branch-a-session)(`claude --continue --fork-session`)を使用してください。62 要約はセッションを同じ状態に保ち、コンテキストを圧縮します。元のセッションを保持したまま異なるアプローチを試したい場合は、代わりに [fork](/ja/sessions#branch-a-session)(`claude --continue --fork-session`)を使用してください。

49</Note>63</Note>

50 64 

51## 一般的なユースケース65<h2 id="common-use-cases">

66 一般的なユースケース

67</h2>

52 68 

53チェックポイントは以下の場合に特に便利です。69チェックポイントは以下の場合に特に便利です。

54 70 


57* **機能の反復**: 動作状態に戻すことができるという確信を持って変更を試験します73* **機能の反復**: 動作状態に戻すことができるという確信を持って変更を試験します

58* **コンテキストスペースの解放**: 冗長なデバッグセッションを中間地点から要約し、初期指示を保持します74* **コンテキストスペースの解放**: 冗長なデバッグセッションを中間地点から要約し、初期指示を保持します

59 75 

60## 制限事項76<h2 id="limitations">

77 制限事項

78</h2>

61 79 

62### Bash コマンドの変更は追跡されません80<h3 id="bash-command-changes-not-tracked">

81 Bash コマンドの変更は追跡されません

82</h3>

63 83 

64チェックポイント機能は、bash コマンドで変更されたファイルを追跡しません。たとえば、Claude Code が以下を実行する場合。84チェックポイント機能は、bash コマンドで変更されたファイルを追跡しません。たとえば、Claude Code が以下を実行する場合。

65 85 


71 91 

72これらのファイル変更は巻き戻しで取り消すことはできません。Claude のファイル編集ツールで行われた直接的なファイルエディットのみが追跡されます。92これらのファイル変更は巻き戻しで取り消すことはできません。Claude のファイル編集ツールで行われた直接的なファイルエディットのみが追跡されます。

73 93 

74### 外部の変更は追跡されません94<h3 id="external-changes-not-tracked">

95 外部の変更は追跡されません

96</h3>

75 97 

76チェックポイント機能は、現在のセッション内で編集されたファイルのみを追跡します。Claude Code の外部で手動で行ったファイルの変更や、他の同時セッションからのエディットは、通常キャプチャされません。ただし、現在のセッションと同じファイルを変更する場合は除きます。98チェックポイント機能は、現在のセッション内で編集されたファイルのみを追跡します。Claude Code の外部で手動で行ったファイルの変更や、他の同時セッションからのエディットは、通常キャプチャされません。ただし、現在のセッションと同じファイルを変更する場合は除きます。

77 99 

78### バージョン管理の代替ではありません100<h3 id="not-a-replacement-for-version-control">

101 バージョン管理の代替ではありません

102</h3>

79 103 

80チェックポイントは、クイックなセッションレベルの復旧用に設計されています。永続的なバージョン履歴とコラボレーションの場合。104チェックポイントは、クイックなセッションレベルの復旧用に設計されています。永続的なバージョン履歴とコラボレーションの場合。

81 105 


83* チェックポイントは適切なバージョン管理を補完しますが、置き換えるものではありません107* チェックポイントは適切なバージョン管理を補完しますが、置き換えるものではありません

84* チェックポイントを「ローカル取り消し」、Git を「永続履歴」と考えてください108* チェックポイントを「ローカル取り消し」、Git を「永続履歴」と考えてください

85 109 

86## 関連項目110<h2 id="see-also">

111 関連項目

112</h2>

87 113 

88* [Interactive mode](/ja/interactive-mode) - キーボードショートカットとセッションコントロール114* [Interactive mode](/ja/interactive-mode) - キーボードショートカットとセッションコントロール

89* [Commands](/ja/commands) - `/rewind` を使用したチェックポイントへのアクセス115* [Commands](/ja/commands) - `/rewind` を使用したチェックポイントへのアクセス

chrome.md +63 −23

Details

14 Chrome 統合はベータ版であり、現在 Google Chrome と Microsoft Edge で動作します。Brave、Arc、またはその他の Chromium ベースのブラウザではまだサポートされていません。WSL(Windows Subsystem for Linux)もサポートされていません。14 Chrome 統合はベータ版であり、現在 Google Chrome と Microsoft Edge で動作します。Brave、Arc、またはその他の Chromium ベースのブラウザではまだサポートされていません。WSL(Windows Subsystem for Linux)もサポートされていません。

15</Note>15</Note>

16 16 

17## 機能17<h2 id="capabilities">

18 機能

19</h2>

18 20 

19Chrome が接続されている場合、単一のワークフロー内でブラウザアクションとコーディングタスクをチェーンできます。21Chrome が接続されている場合、単一のワークフロー内でブラウザアクションとコーディングタスクをチェーンできます。

20 22 


26* **タスク自動化**:データ入力、フォーム入力、またはマルチサイトワークフローなどの反復的なブラウザタスクを自動化します28* **タスク自動化**:データ入力、フォーム入力、またはマルチサイトワークフローなどの反復的なブラウザタスクを自動化します

27* **セッション記録**:ブラウザインタラクションを GIF として記録して、何が起こったかを文書化または共有します29* **セッション記録**:ブラウザインタラクションを GIF として記録して、何が起こったかを文書化または共有します

28 30 

29## 前提条件31<h2 id="prerequisites">

32 前提条件

33</h2>

30 34 

31Claude Code を Chrome で使用する前に、以下が必要です。35Claude Code を Chrome で使用する前に、以下が必要です。

32 36 


39 Chrome 統合は Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry などのサードパーティプロバイダーを通じては利用できません。Claude にサードパーティプロバイダーを通じてのみアクセスする場合、この機能を使用するには別の claude.ai アカウントが必要です。43 Chrome 統合は Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry などのサードパーティプロバイダーを通じては利用できません。Claude にサードパーティプロバイダーを通じてのみアクセスする場合、この機能を使用するには別の claude.ai アカウントが必要です。

40</Note>44</Note>

41 45 

42## CLI で開始する46<h2 id="get-started-in-the-cli">

47 CLI で開始する

48</h2>

43 49 

44<Steps>50<Steps>

45 <Step title="Chrome で Claude Code を起動する">51 <Step title="Chrome で Claude Code を起動する">


62 </Step>68 </Step>

63</Steps>69</Steps>

64 70 

65いつでも `/chrome` を実行して接続ステータスを確認し、権限を管理するか拡張機能を再接続できます71いつでも `/chrome` を実行して接続ステータスを確認し、権限を管理し拡張機能を再接続するか、使用する接続されたブラウザを選択できますブラウザアクションが開始されるときに複数のブラウザが接続されている場合、Claude はいずれかを選択するよう促します。

66 72 

67VS Code については、[VS Code でのブラウザ自動化](/ja/vs-code#automate-browser-tasks-with-chrome) を参照してください。73VS Code については、[VS Code でのブラウザ自動化](/ja/vs-code#automate-browser-tasks-with-chrome) を参照してください。

68 74 

69### Chrome をデフォルトで有効にする75<h3 id="enable-chrome-by-default">

76 Chrome をデフォルトで有効にする

77</h3>

70 78 

71各セッションで `--chrome` を渡すことを避けるには、`/chrome` を実行して「Enabled by default」を選択します。79各セッションで `--chrome` を渡すことを避けるには、`/chrome` を実行して「デフォルトで有効」を選択します。

72 80 

73[VS Code 拡張機能](/ja/vs-code#automate-browser-tasks-with-chrome) では、Chrome 拡張機能がインストールされている場合、Chrome はいつでも利用可能です。追加のフラグは必要ありません。81[VS Code 拡張機能](/ja/vs-code#automate-browser-tasks-with-chrome) では、Chrome 拡張機能がインストールされている場合、Chrome はいつでも利用可能です。追加のフラグは必要ありません。

74 82 


76 CLI で Chrome をデフォルトで有効にすると、ブラウザツールが常にロードされるため、コンテキスト使用量が増加します。コンテキスト消費の増加に気付いた場合、この設定を無効にして、必要な場合にのみ `--chrome` を使用してください。84 CLI で Chrome をデフォルトで有効にすると、ブラウザツールが常にロードされるため、コンテキスト使用量が増加します。コンテキスト消費の増加に気付いた場合、この設定を無効にして、必要な場合にのみ `--chrome` を使用してください。

77</Note>85</Note>

78 86 

79### サイト権限を管理する87<h3 id="manage-site-permissions">

88 サイト権限を管理する

89</h3>

80 90 

81サイトレベルの権限は Chrome 拡張機能から継承されます。Chrome 拡張機能の設定で権限を管理して、Claude がブラウズ、クリック、入力できるサイトを制御します。91サイトレベルの権限は Chrome 拡張機能から継承されます。Chrome 拡張機能の設定で権限を管理して、Claude がブラウズ、クリック、入力できるサイトを制御します。

82 92 

83## ワークフロー例93<h2 id="example-workflows">

94 ワークフロー例

95</h2>

84 96 

85これらの例は、ブラウザアクションとコーディングタスクを組み合わせる一般的な方法を示しています。`/mcp` を実行して `claude-in-chrome` を選択すると、利用可能なブラウザツールの完全なリストが表示されます。97これらの例は、ブラウザアクションとコーディングタスクを組み合わせる一般的な方法を示しています。`/mcp` を実行して `claude-in-chrome` を選択すると、利用可能なブラウザツールの完全なリストが表示されます。

86 98 

87### ローカル Web アプリケーションをテストする99<h3 id="test-a-local-web-application">

100 ローカル Web アプリケーションをテストする

101</h3>

88 102 

89Web アプリを開発する場合、変更が正しく機能することを確認するよう Claude に依頼します。103Web アプリを開発する場合、変更が正しく機能することを確認するよう Claude に依頼します。

90 104 


96 110 

97Claude はローカルサーバーに移動し、フォームと対話し、観察したことを報告します。111Claude はローカルサーバーに移動し、フォームと対話し、観察したことを報告します。

98 112 

99### コンソールログでデバッグする113<h3 id="debug-with-console-logs">

114 コンソールログでデバッグする

115</h3>

100 116 

101Claude はコンソール出力を読み取って問題の診断を支援できます。ログが詳細になる可能性があるため、すべてのコンソール出力を要求するのではなく、探すパターンを Claude に伝えます。117Claude はコンソール出力を読み取って問題の診断を支援できます。ログが詳細になる可能性があるため、すべてのコンソール出力を要求するのではなく、探すパターンを Claude に伝えます。

102 118 


107 123 

108Claude はコンソールメッセージを読み取り、特定のパターンまたはエラータイプでフィルタリングできます。124Claude はコンソールメッセージを読み取り、特定のパターンまたはエラータイプでフィルタリングできます。

109 125 

110### フォーム入力を自動化する126<h3 id="automate-form-filling">

127 フォーム入力を自動化する

128</h3>

111 129 

112反復的なデータ入力タスクを高速化します。130反復的なデータ入力タスクを高速化します。

113 131 


119 137 

120Claude はローカルファイルを読み取り、Web インターフェースをナビゲートし、各レコードのデータを入力します。138Claude はローカルファイルを読み取り、Web インターフェースをナビゲートし、各レコードのデータを入力します。

121 139 

122### Google Docs でコンテンツをドラフトする140<h3 id="draft-content-in-google-docs">

141 Google Docs でコンテンツをドラフトする

142</h3>

123 143 

124API セットアップなしで Claude を使用してドキュメントに直接書き込みます。144API セットアップなしで Claude を使用してドキュメントに直接書き込みます。

125 145 


130 150 

131Claude はドキュメントを開き、エディターをクリックしてコンテンツを入力します。これは、ログインしているあらゆる Web アプリで機能します。Gmail、Notion、Sheets など。151Claude はドキュメントを開き、エディターをクリックしてコンテンツを入力します。これは、ログインしているあらゆる Web アプリで機能します。Gmail、Notion、Sheets など。

132 152 

133### Web ページからデータを抽出する153<h3 id="extract-data-from-web-pages">

154 Web ページからデータを抽出する

155</h3>

134 156 

135Web サイトから構造化情報を取得します。157Web サイトから構造化情報を取得します。

136 158 


141 163 

142Claude はページに移動し、コンテンツを読み取り、データを構造化形式にコンパイルします。164Claude はページに移動し、コンテンツを読み取り、データを構造化形式にコンパイルします。

143 165 

144### マルチサイトワークフローを実行する166<h3 id="run-multi-site-workflows">

167 マルチサイトワークフローを実行する

168</h3>

145 169 

146複数の Web サイト間でタスクを調整します。170複数の Web サイト間でタスクを調整します。

147 171 


153 177 

154Claude はタブ間で動作して情報を収集し、ワークフローを完了します。178Claude はタブ間で動作して情報を収集し、ワークフローを完了します。

155 179 

156### デモ GIF を記録する180<h3 id="record-a-demo-gif">

181 デモ GIF を記録する

182</h3>

157 183 

158ブラウザインタラクションの共有可能な記録を作成します。184ブラウザインタラクションの共有可能な記録を作成します。

159 185 


164 190 

165Claude はインタラクションシーケンスを記録し、GIF ファイルとして保存します。191Claude はインタラクションシーケンスを記録し、GIF ファイルとして保存します。

166 192 

167## トラブルシューティング193<h2 id="troubleshooting">

194 トラブルシューティング

195</h2>

168 196 

169### 拡張機能が検出されない197<h3 id="extension-not-detected">

198 拡張機能が検出されない

199</h3>

170 200 

171Claude Code が「Chrome extension not detected」を表示する場合201Claude Code setup-issues 行に `chrome` がリストされている場合

172 202 

1731. Chrome 拡張機能が `chrome://extensions` にインストールされ、有効になっていることを確認します2031. Chrome 拡張機能が `chrome://extensions` にインストールされ、有効になっていることを確認します

1742. `claude --version` を実行して Claude Code が最新であることを確認します2042. `claude --version` を実行して Claude Code が最新であることを確認します


192* **Linux**:`~/.config/microsoft-edge/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json`222* **Linux**:`~/.config/microsoft-edge/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json`

193* **Windows**:Windows レジストリで `HKCU\Software\Microsoft\Edge\NativeMessagingHosts\` を確認します223* **Windows**:Windows レジストリで `HKCU\Software\Microsoft\Edge\NativeMessagingHosts\` を確認します

194 224 

195### ブラウザが応答しない225<h3 id="browser-not-responding">

226 ブラウザが応答しない

227</h3>

196 228 

197Claude のブラウザコマンドが機能しなくなった場合:229Claude のブラウザコマンドが機能しなくなった場合:

198 230 


2002. Claude に新しいタブを作成して再度試すよう依頼します2322. Claude に新しいタブを作成して再度試すよう依頼します

2013. `chrome://extensions` で拡張機能を無効にしてから再度有効にして Chrome 拡張機能を再起動します2333. `chrome://extensions` で拡張機能を無効にしてから再度有効にして Chrome 拡張機能を再起動します

202 234 

203### 長いセッション中に接続が切れる235<h3 id="connection-drops-during-long-sessions">

236 長いセッション中に接続が切れる

237</h3>

204 238 

205Chrome 拡張機能のサービスワーカーは長時間のセッション中にアイドル状態になる可能性があり、接続が切れます。非アクティブ期間後にブラウザツールが機能しなくなった場合、`/chrome` を実行して「Reconnect extension」を選択します。239Chrome 拡張機能のサービスワーカーは長時間のセッション中にアイドル状態になる可能性があり、接続が切れます。非アクティブ期間後にブラウザツールが機能しなくなった場合、`/chrome` を実行して「Reconnect extension」を選択します。

206 240 

207### Windows 固有の問題241<h3 id="windows-specific-issues">

242 Windows 固有の問題

243</h3>

208 244 

209Windows では、以下の問題が発生する可能性があります。245Windows では、以下の問題が発生する可能性があります。

210 246 

211* **名前付きパイプの競合(EADDRINUSE)**:別のプロセスが同じ名前付きパイプを使用している場合、Claude Code を再起動します。Chrome を使用している他の Claude Code セッションを閉じます。247* **名前付きパイプの競合(EADDRINUSE)**:別のプロセスが同じ名前付きパイプを使用している場合、Claude Code を再起動します。Chrome を使用している他の Claude Code セッションを閉じます。

212* **ネイティブメッセージングホストエラー**:ネイティブメッセージングホストがスタートアップ時にクラッシュする場合、Claude Code を再インストールしてホスト設定を再生成してみてください。248* **ネイティブメッセージングホストエラー**:ネイティブメッセージングホストがスタートアップ時にクラッシュする場合、Claude Code を再インストールしてホスト設定を再生成してみてください。

213 249 

214### 一般的なエラーメッセージ250<h3 id="common-error-messages">

251 一般的なエラーメッセージ

252</h3>

215 253 

216これらは最も頻繁に遭遇するエラーと、それらを解決する方法です。254これらは最も頻繁に遭遇するエラーと、それらを解決する方法です。

217 255 


222| "No tab available" | Claude がタブの準備ができる前に動作しようとした | Claude に新しいタブを作成して再度試すよう依頼します |260| "No tab available" | Claude がタブの準備ができる前に動作しようとした | Claude に新しいタブを作成して再度試すよう依頼します |

223| "Receiving end does not exist" | 拡張機能サービスワーカーがアイドル状態になった | `/chrome` を実行して「Reconnect extension」を選択します |261| "Receiving end does not exist" | 拡張機能サービスワーカーがアイドル状態になった | `/chrome` を実行して「Reconnect extension」を選択します |

224 262 

225## 関連項目263<h2 id="see-also">

264 関連項目

265</h2>

226 266 

227* [コンピュータ使用](/ja/computer-use):ブラウザでタスクを実行できない場合にネイティブ macOS アプリを制御します267* [コンピュータ使用](/ja/computer-use):ブラウザでタスクを実行できない場合にネイティブ macOS アプリを制御します

228* [VS Code で Claude Code を使用する](/ja/vs-code#automate-browser-tasks-with-chrome):VS Code 拡張機能でのブラウザ自動化268* [VS Code で Claude Code を使用する](/ja/vs-code#automate-browser-tasks-with-chrome):VS Code 拡張機能でのブラウザ自動化

Details

28* [セキュリティと分離](#security-and-isolation):セッションの分離方法28* [セキュリティと分離](#security-and-isolation):セッションの分離方法

29* [制限事項](#limitations):レート制限とプラットフォーム制限29* [制限事項](#limitations):レート制限とプラットフォーム制限

30 30 

31## GitHub 認証オプション31<h2 id="github-authentication-options">

32 GitHub 認証オプション

33</h2>

32 34 

33クラウドセッションはコードをクローンしてブランチをプッシュするために GitHub リポジトリへのアクセスが必要です。2 つの方法でアクセスを許可できます:35クラウドセッションはコードをクローンしてブランチをプッシュするために GitHub リポジトリへのアクセスが必要です。2 つの方法でアクセスを許可できます:

34 36 


51 [Zero Data Retention](/ja/zero-data-retention) が有効な組織は `/web-setup` またはその他のクラウドセッション機能を使用できません。53 [Zero Data Retention](/ja/zero-data-retention) が有効な組織は `/web-setup` またはその他のクラウドセッション機能を使用できません。

52</Note>54</Note>

53 55 

54## クラウド環境56<h2 id="the-cloud-environment">

57 クラウド環境

58</h2>

55 59 

56各セッションはリポジトリがクローンされた新しい Anthropic 管理 VM で実行されます。このセクションではセッション開始時に利用可能なものと、それをカスタマイズする方法をカバーしています。60各セッションはリポジトリがクローンされた新しい Anthropic 管理 VM で実行されます。このセクションではセッション開始時に利用可能なものと、それをカスタマイズする方法をカバーしています。

57 61 

58### クラウドセッションで利用可能なもの62<h3 id="what-s-available-in-cloud-sessions">

63 クラウドセッションで利用可能なもの

64</h3>

59 65 

60クラウドセッションはリポジトリの新しいクローンから開始されます。リポジトリにコミットされたものはすべて利用可能です。自分のマシンにのみインストールまたは設定したものは利用できません。66クラウドセッションはリポジトリの新しいクローンから開始されます。リポジトリにコミットされたものはすべて利用可能です。自分のマシンにのみインストールまたは設定したものは利用できません。

61 67 


75 81 

76クラウドセッションで設定を利用可能にするには、リポジトリにコミットしてください。専用シークレットストアはまだ利用できません。環境変数とセットアップスクリプトの両方は環境設定に保存され、その環境を編集できる誰もが見ることができます。クラウドセッションでシークレットが必要な場合は、その可視性を念頭に置いて環境変数として追加してください。82クラウドセッションで設定を利用可能にするには、リポジトリにコミットしてください。専用シークレットストアはまだ利用できません。環境変数とセットアップスクリプトの両方は環境設定に保存され、その環境を編集できる誰もが見ることができます。クラウドセッションでシークレットが必要な場合は、その可視性を念頭に置いて環境変数として追加してください。

77 83 

78### インストール済みツール84<h3 id="installed-tools">

85 インストール済みツール

86</h3>

79 87 

80クラウドセッションには一般的な言語ランタイム、ビルドツール、データベースがプリインストールされています。以下の表はカテゴリ別に含まれるものをまとめています。88クラウドセッションには一般的な言語ランタイム、ビルドツール、データベースがプリインストールされています。以下の表はカテゴリ別に含まれるものをまとめています。

81 89 


97 105 

98正確なバージョンについては、Claude にクラウドセッションで `check-tools` を実行するよう依頼してください。このコマンドはクラウドセッションにのみ存在します。106正確なバージョンについては、Claude にクラウドセッションで `check-tools` を実行するよう依頼してください。このコマンドはクラウドセッションにのみ存在します。

99 107 

100### GitHub の問題とプルリクエストを操作する108<h3 id="work-with-github-issues-and-pull-requests">

109 GitHub の問題とプルリクエストを操作する

110</h3>

101 111 

102クラウドセッションには、Claude がセットアップなしで問題を読み取り、プルリクエストをリストし、diff を取得し、コメントを投稿できる組み込み GitHub ツールが含まれています。これらのツールは [GitHub プロキシ](#github-proxy)を通じて認証され、[GitHub 認証オプション](#github-authentication-options)で設定した方法を使用するため、トークンはコンテナに入りません。112クラウドセッションには、Claude がセットアップなしで問題を読み取り、プルリクエストをリストし、diff を取得し、コメントを投稿できる組み込み GitHub ツールが含まれています。これらのツールは [GitHub プロキシ](#github-proxy)を通じて認証され、[GitHub 認証オプション](#github-authentication-options)で設定した方法を使用するため、トークンはコンテナに入りません。

103 113 


113 </Step>123 </Step>

114</Steps>124</Steps>

115 125 

116### アーティファクトをセッションにリンク126<h3 id="link-artifacts-back-to-the-session">

127 アーティファクトをセッションにリンク

128</h3>

117 129 

118各クラウドセッションは claude.ai 上にトランスクリプト URL を持ち、セッションは `CLAUDE_CODE_REMOTE_SESSION_ID` 環境変数から独自の ID を読み取ることができます。これを使用して、PR 本文、コミットメッセージ、Slack 投稿、または生成されたレポートに追跡可能なリンクを配置し、レビュアーがそれを生成した実行を開くことができます。130各クラウドセッションは claude.ai 上にトランスクリプト URL を持ち、セッションは `CLAUDE_CODE_REMOTE_SESSION_ID` 環境変数から独自の ID を読み取ることができます。これを使用して、PR 本文、コミットメッセージ、Slack 投稿、または生成されたレポートに追跡可能なリンクを配置し、レビュアーがそれを生成した実行を開くことができます。

119 131 


123echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"135echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"

124```136```

125 137 

126### テストを実行し、サービスを開始し、パッケージを追加138<h3 id="run-tests-start-services-and-add-packages">

139 テストを実行し、サービスを開始し、パッケージを追加

140</h3>

127 141 

128Claude はタスクに取り組む際にテストを実行します。プロンプトで依頼してください。例えば「fix the failing tests in `tests/`」または「run pytest after each change」。pytest、jest、cargo test などのテストランナーはプリインストールされているため、すぐに機能します。142Claude はタスクに取り組む際にテストを実行します。プロンプトで依頼してください。例えば「fix the failing tests in `tests/`」または「run pytest after each change」。pytest、jest、cargo test などのテストランナーはプリインストールされているため、すぐに機能します。

129 143 


143 157 

144プリインストールされていないパッケージを追加するには、[セットアップスクリプト](#setup-scripts)を使用してください。スクリプトの出力は[キャッシュされ](#environment-caching)、そこにインストールしたパッケージはすべてのセッションの開始時に利用可能で、毎回再インストールする必要はありません。セッション中に Claude にパッケージをインストールするよう依頼することもできますが、それらのインストールは他のセッションに引き継がれません。158プリインストールされていないパッケージを追加するには、[セットアップスクリプト](#setup-scripts)を使用してください。スクリプトの出力は[キャッシュされ](#environment-caching)、そこにインストールしたパッケージはすべてのセッションの開始時に利用可能で、毎回再インストールする必要はありません。セッション中に Claude にパッケージをインストールするよう依頼することもできますが、それらのインストールは他のセッションに引き継がれません。

145 159 

146### リソース制限160<h3 id="resource-limits">

161 リソース制限

162</h3>

147 163 

148クラウドセッションは時間とともに変わる可能性のある概算リソース上限で実行されます:164クラウドセッションは時間とともに変わる可能性のある概算リソース上限で実行されます:

149 165 


153 169 

154大規模なビルドジョブやメモリ集約的なテストなど、大幅により多くのメモリを必要とするタスクは失敗するか終了される可能性があります。これらの制限を超えるワークロードについては、[Remote Control](/ja/remote-control)を使用して独自のハードウェアで Claude Code を実行してください。170大規模なビルドジョブやメモリ集約的なテストなど、大幅により多くのメモリを必要とするタスクは失敗するか終了される可能性があります。これらの制限を超えるワークロードについては、[Remote Control](/ja/remote-control)を使用して独自のハードウェアで Claude Code を実行してください。

155 171 

156### 環境を設定172<h3 id="configure-your-environment">

173 環境を設定

174</h3>

157 175 

158環境は[ネットワークアクセス](#network-access)、環境変数、セッション開始前に実行される[セットアップスクリプト](#setup-scripts)を制御します。設定なしで利用可能なものについては [Installed tools](#installed-tools) を参照してください。ウェブインターフェースまたはターミナルから環境を管理できます:176環境は[ネットワークアクセス](#network-access)、環境変数、セッション開始前に実行される[セットアップスクリプト](#setup-scripts)を制御します。設定なしで利用可能なものについては [Installed tools](#installed-tools) を参照してください。ウェブインターフェースまたはターミナルから環境を管理できます:

159 177 


172DATABASE_URL=postgres://localhost:5432/myapp190DATABASE_URL=postgres://localhost:5432/myapp

173```191```

174 192 

175## セットアップスクリプト193<h2 id="setup-scripts">

194 セットアップスクリプト

195</h2>

176 196 

177セットアップスクリプトは新しいクラウドセッションが開始されるときに実行される Bash スクリプトで、Claude Code が起動する前に実行されます。セットアップスクリプトを使用して依存関係をインストールし、ツールを設定するか、セッションが必要とするプリインストールされていないものを取得します。197セットアップスクリプトは新しいクラウドセッションが開始されるときに実行される Bash スクリプトで、Claude Code が起動する前に実行されます。セットアップスクリプトを使用して依存関係をインストールし、ツールを設定するか、セッションが必要とするプリインストールされていないものを取得します。

178 198 


195 パッケージをインストールするセットアップスクリプトはレジストリに到達するためにネットワークアクセスが必要です。デフォルトの **Trusted** ネットワークアクセスは npm、PyPI、RubyGems、crates.io を含む[一般的なパッケージレジストリ](#default-allowed-domains)への接続を許可します。環境が **None** ネットワークアクセスを使用する場合、スクリプトはパッケージのインストールに失敗します。215 パッケージをインストールするセットアップスクリプトはレジストリに到達するためにネットワークアクセスが必要です。デフォルトの **Trusted** ネットワークアクセスは npm、PyPI、RubyGems、crates.io を含む[一般的なパッケージレジストリ](#default-allowed-domains)への接続を許可します。環境が **None** ネットワークアクセスを使用する場合、スクリプトはパッケージのインストールに失敗します。

196</Note>216</Note>

197 217 

198### 環境キャッシング218<h3 id="environment-caching">

219 環境キャッシング

220</h3>

199 221 

200セットアップスクリプトは環境でセッションを開始するときに初めて実行されます。完了後、Anthropic はファイルシステムをスナップショットし、そのスナップショットを後のセッションの開始点として再利用します。新しいセッションはディスク上に依存関係、ツール、Docker イメージを既に持っており、セットアップスクリプトステップはスキップされます。これにより、スクリプトが大規模なツールチェーンをインストールするか、コンテナイメージをプルする場合でも、スタートアップは高速に保たれます。222セットアップスクリプトは環境でセッションを開始するときに初めて実行されます。完了後、Anthropic はファイルシステムをスナップショットし、そのスナップショットを後のセッションの開始点として再利用します。新しいセッションはディスク上に依存関係、ツール、Docker イメージを既に持っており、セットアップスクリプトステップはスキップされます。これにより、スクリプトが大規模なツールチェーンをインストールするか、コンテナイメージをプルする場合でも、スタートアップは高速に保たれます。

201 223 


205 227 

206キャッシングを有効にするか、スナップショットを自分で管理する必要はありません。228キャッシングを有効にするか、スナップショットを自分で管理する必要はありません。

207 229 

208### セットアップスクリプト対 SessionStart フック230<h3 id="setup-scripts-vs-sessionstart-hooks">

231 セットアップスクリプト対 SessionStart フック

232</h3>

209 233 

210クラウドが必要とするがラップトップがすでに持っているもの(言語ランタイムや CLI ツールなど)をインストールするにはセットアップスクリプトを使用します。クラウドとローカルの両方で実行する必要があるプロジェクトセットアップ(`npm install` など)には [SessionStart フック](/ja/hooks#sessionstart)を使用します。234クラウドが必要とするがラップトップがすでに持っているもの(言語ランタイムや CLI ツールなど)をインストールするにはセットアップスクリプトを使用します。クラウドとローカルの両方で実行する必要があるプロジェクトセットアップ(`npm install` など)には [SessionStart フック](/ja/hooks#sessionstart)を使用します。

211 235 


220 244 

221SessionStart フックはローカルのユーザーレベル `~/.claude/settings.json` でも定義できますが、ユーザーレベルの設定はクラウドセッションに引き継がれません。クラウドでは、リポジトリにコミットされたフックのみが実行されます。245SessionStart フックはローカルのユーザーレベル `~/.claude/settings.json` でも定義できますが、ユーザーレベルの設定はクラウドセッションに引き継がれません。クラウドでは、リポジトリにコミットされたフックのみが実行されます。

222 246 

223### SessionStart フックで依存関係をインストール247<h3 id="install-dependencies-with-a-sessionstart-hook">

248 SessionStart フックで依存関係をインストール

249</h3>

224 250 

225クラウドセッションのみで依存関係をインストールするには、リポジトリの `.claude/settings.json` に SessionStart フックを追加します:251クラウドセッションのみで依存関係をインストールするには、リポジトリの `.claude/settings.json` に SessionStart フックを追加します:

226 252 


267 293 

268カスタム Docker イメージで基本イメージを置き換えることはまだサポートされていません。[提供されたイメージ](#installed-tools)の上にセットアップスクリプトを使用して必要なものをインストールするか、`docker compose` を使用して Claude と一緒にイメージをコンテナとして実行してください。294カスタム Docker イメージで基本イメージを置き換えることはまだサポートされていません。[提供されたイメージ](#installed-tools)の上にセットアップスクリプトを使用して必要なものをインストールするか、`docker compose` を使用して Claude と一緒にイメージをコンテナとして実行してください。

269 295 

270## ネットワークアクセス296<h2 id="network-access">

297 ネットワークアクセス

298</h2>

271 299 

272ネットワークアクセスはクラウド環境からのアウトバウンド接続を制御します。各環境は 1 つのアクセスレベルを指定し、カスタム許可ドメインで拡張できます。デフォルトは **Trusted** で、パッケージレジストリおよび他の[許可リストドメイン](#default-allowed-domains)を許可します。300ネットワークアクセスはクラウド環境からのアウトバウンド接続を制御します。各環境は 1 つのアクセスレベルを指定し、カスタム許可ドメインで拡張できます。デフォルトは **Trusted** で、パッケージレジストリおよび他の[許可リストドメイン](#default-allowed-domains)を許可します。

273 301 


277 MCP コネクタトラフィックは Anthropic のサーバーを通じてルーティングされるため、セッションまたはルーチンで有効にするコネクタは **Allowed domains** に追加しなくても機能します。コネクタはセッションごとまたはルーチンごとに設定されます。Claude が到達できるツールを制限するために、不要なものを削除します。これは [Security and isolation](#security-and-isolation) の下で記載されている同じ Anthropic バウンドチャネルに依存しています。305 MCP コネクタトラフィックは Anthropic のサーバーを通じてルーティングされるため、セッションまたはルーチンで有効にするコネクタは **Allowed domains** に追加しなくても機能します。コネクタはセッションごとまたはルーチンごとに設定されます。Claude が到達できるツールを制限するために、不要なものを削除します。これは [Security and isolation](#security-and-isolation) の下で記載されている同じ Anthropic バウンドチャネルに依存しています。

278</Note>306</Note>

279 307 

280### アクセスレベル308<h3 id="access-levels">

309 アクセスレベル

310</h3>

281 311 

282環境を作成または編集するときにアクセスレベルを選択します:312環境を作成または編集するときにアクセスレベルを選択します:

283 313 


290 320 

291GitHub 操作は[別のプロキシ](#github-proxy)を使用し、この設定から独立しています。321GitHub 操作は[別のプロキシ](#github-proxy)を使用し、この設定から独立しています。

292 322 

293### 特定のドメインを許可323<h3 id="allow-specific-domains">

324 特定のドメインを許可

325</h3>

294 326 

295Trusted リストにないドメインを許可するには、環境のネットワークアクセス設定で **Custom** を選択します。**Allowed domains** フィールドが表示されます。1 行に 1 つのドメインを入力します:327Trusted リストにないドメインを許可するには、環境のネットワークアクセス設定で **Custom** を選択します。**Allowed domains** フィールドが表示されます。1 行に 1 つのドメインを入力します:

296 328 


302 334 

303ワイルドカードサブドメインマッチングに `*.` を使用します。**Also include default list of common package managers** をチェックして [Trusted ドメイン](#default-allowed-domains)をカスタムエントリと一緒に保つか、リストしたものだけを許可するためにチェックを外します。335ワイルドカードサブドメインマッチングに `*.` を使用します。**Also include default list of common package managers** をチェックして [Trusted ドメイン](#default-allowed-domains)をカスタムエントリと一緒に保つか、リストしたものだけを許可するためにチェックを外します。

304 336 

305### GitHub プロキシ337<h3 id="github-proxy">

338 GitHub プロキシ

339</h3>

306 340 

307セキュリティのため、すべての GitHub 操作は、すべての git インタラクションを透過的に処理する専用プロキシサービスを通じて行われます。サンドボックス内では、git クライアントはカスタムビルトのスコープ付き認証情報を使用して認証します。このプロキシは:341セキュリティのため、すべての GitHub 操作は、すべての git インタラクションを透過的に処理する専用プロキシサービスを通じて行われます。サンドボックス内では、git クライアントはカスタムビルトのスコープ付き認証情報を使用して認証します。このプロキシは:

308 342 


310* 安全性のため git push 操作を現在のワーキングブランチに制限します344* 安全性のため git push 操作を現在のワーキングブランチに制限します

311* セキュリティ境界を維持しながらシームレスなクローン、フェッチ、PR 操作を有効にします345* セキュリティ境界を維持しながらシームレスなクローン、フェッチ、PR 操作を有効にします

312 346 

313### セキュリティプロキシ347<h3 id="security-proxy">

348 セキュリティプロキシ

349</h3>

314 350 

315環境はセキュリティと不正使用防止のため HTTP/HTTPS ネットワークプロキシの背後で実行されます。すべてのアウトバウンドインターネットトラフィックはこのプロキシを通じて渡され、以下を提供します:351環境はセキュリティと不正使用防止のため HTTP/HTTPS ネットワークプロキシの背後で実行されます。すべてのアウトバウンドインターネットトラフィックはこのプロキシを通じて渡され、以下を提供します:

316 352 


318* レート制限と不正使用防止354* レート制限と不正使用防止

319* 強化されたセキュリティのためのコンテンツフィルタリング355* 強化されたセキュリティのためのコンテンツフィルタリング

320 356 

321### デフォルト許可ドメイン357<h3 id="default-allowed-domains">

358 デフォルト許可ドメイン

359</h3>

322 360 

323**Trusted** ネットワークアクセスを使用する場合、以下のドメインはデフォルトで許可されます。`*` でマークされたドメインはワイルドカードサブドメインマッチングを示すため、`*.gcr.io` は `gcr.io` のすべてのサブドメインを許可します。361**Trusted** ネットワークアクセスを使用する場合、以下のドメインはデフォルトで許可されます。`*` でマークされたドメインはワイルドカードサブドメインマッチングを示すため、`*.gcr.io` は `gcr.io` のすべてのサブドメインを許可します。

324 362 


576 </Accordion>614 </Accordion>

577</AccordionGroup>615</AccordionGroup>

578 616 

579## ウェブとターミナル間でタスクを移動617<h2 id="move-tasks-between-web-and-terminal">

618 ウェブとターミナル間でタスクを移動

619</h2>

580 620 

581これらのワークフローには [Claude Code CLI](/ja/quickstart) が同じ claude.ai アカウントにサインインしている必要があります。ターミナルから新しいクラウドセッションを開始するか、クラウドセッションをターミナルにプルしてローカルで続行できます。クラウドセッションはラップトップを閉じても保持され、Claude モバイルアプリを含む任意の場所から監視できます。621これらのワークフローには [Claude Code CLI](/ja/quickstart) が同じ claude.ai アカウントにサインインしている必要があります。ターミナルから新しいクラウドセッションを開始するか、クラウドセッションをターミナルにプルしてローカルで続行できます。クラウドセッションはラップトップを閉じても保持され、Claude モバイルアプリを含む任意の場所から監視できます。

582 622 


584 CLI からのセッションハンドオフは一方向です:`--teleport` でクラウドセッションをターミナルにプルできますが、既存のターミナルセッションをウェブにプッシュすることはできません。`--remote` フラグは現在のリポジトリの新しいクラウドセッションを作成します。[Desktop アプリ](/ja/desktop#continue-in-another-surface)は別のサーフェスに送信できる Continue in メニューを提供します。624 CLI からのセッションハンドオフは一方向です:`--teleport` でクラウドセッションをターミナルにプルできますが、既存のターミナルセッションをウェブにプッシュすることはできません。`--remote` フラグは現在のリポジトリの新しいクラウドセッションを作成します。[Desktop アプリ](/ja/desktop#continue-in-another-surface)は別のサーフェスに送信できる Continue in メニューを提供します。

585</Note>625</Note>

586 626 

587### ターミナルからウェブへ627<h3 id="from-terminal-to-web">

628 ターミナルからウェブへ

629</h3>

588 630 

589`--remote` フラグを使用してコマンドラインからクラウドセッションを開始します:631`--remote` フラグを使用してコマンドラインからクラウドセッションを開始します:

590 632 


600 642 

601Claude Code CLI で `/tasks` を使用して進捗をチェックするか、claude.ai または Claude モバイルアプリでセッションを開いて直接対話します。そこから Claude を操舵し、フィードバックを提供するか、他のすべての会話と同じように質問に答えることができます。643Claude Code CLI で `/tasks` を使用して進捗をチェックするか、claude.ai または Claude モバイルアプリでセッションを開いて直接対話します。そこから Claude を操舵し、フィードバックを提供するか、他のすべての会話と同じように質問に答えることができます。

602 644 

603#### クラウドタスクのヒント645<h4 id="tips-for-cloud-tasks">

646 クラウドタスクのヒント

647</h4>

604 648 

605**ローカルで計画し、リモートで実行する**:複雑なタスクの場合、Claude をプランモードで開始してアプローチについて協力し、その後ウェブに作業を送信します:649**ローカルで計画し、リモートで実行する**:複雑なタスクの場合、Claude をプランモードで開始してアプローチについて協力し、その後ウェブに作業を送信します:

606 650 


628 672 

629Claude Code CLI で `/tasks` を使用してすべてのセッションを監視します。セッションが完了したら、ウェブインターフェースから PR を作成するか、[セッションをテレポート](#from-web-to-terminal)してターミナルで作業を続行できます。673Claude Code CLI で `/tasks` を使用してすべてのセッションを監視します。セッションが完了したら、ウェブインターフェースから PR を作成するか、[セッションをテレポート](#from-web-to-terminal)してターミナルで作業を続行できます。

630 674 

631#### GitHub なしでローカルリポジトリを送信675<h4 id="send-local-repositories-without-github">

676 GitHub なしでローカルリポジトリを送信

677</h4>

632 678 

633GitHub に接続されていないリポジトリから `claude --remote` を実行する場合、Claude Code はローカルリポジトリをバンドルしてクラウドセッションに直接アップロードします。バンドルにはすべてのブランチ全体のリポジトリ履歴と、追跡されたファイルへのコミットされていない変更が含まれます。679GitHub に接続されていないリポジトリから `claude --remote` を実行する場合、Claude Code はローカルリポジトリをバンドルしてクラウドセッションに直接アップロードします。バンドルにはすべてのブランチ全体のリポジトリ履歴と、追跡されたファイルへのコミットされていない変更が含まれます。

634 680 


645* 追跡されていないファイルは含まれません。クラウドセッションが見るべきファイルで `git add` を実行します691* 追跡されていないファイルは含まれません。クラウドセッションが見るべきファイルで `git add` を実行します

646* バンドルから作成されたセッションは、[GitHub 認証](#github-authentication-options)も設定されていない限り、リモートにプッシュバックできません692* バンドルから作成されたセッションは、[GitHub 認証](#github-authentication-options)も設定されていない限り、リモートにプッシュバックできません

647 693 

648### ウェブからターミナルへ694<h3 id="from-web-to-terminal">

695 ウェブからターミナルへ

696</h3>

649 697 

650以下のいずれかを使用してクラウドセッションをターミナルにプルします:698以下のいずれかを使用してクラウドセッションをターミナルにプルします:

651 699 


658 706 

659`--teleport` は `--resume` とは異なります。`--resume` はこのマシンのローカル履歴から会話を再開し、クラウドセッションをリストしません。`--teleport` はクラウドセッションとそのブランチをプルします。707`--teleport` は `--resume` とは異なります。`--resume` はこのマシンのローカル履歴から会話を再開し、クラウドセッションをリストしません。`--teleport` はクラウドセッションとそのブランチをプルします。

660 708 

661#### テレポート要件709<h4 id="teleport-requirements">

710 テレポート要件

711</h4>

662 712 

663テレポートはセッションを再開する前にこれらの要件をチェックします。要件が満たされていない場合は、エラーが表示されるか、問題を解決するよう求められます。713テレポートはセッションを再開する前にこれらの要件をチェックします。要件が満たされていない場合は、エラーが表示されるか、問題を解決するよう求められます。

664 714 


669| ブランチが利用可能 | クラウドセッションからのブランチがリモートにプッシュされている必要があります。テレポートは自動的にフェッチしてチェックアウトします。 |719| ブランチが利用可能 | クラウドセッションからのブランチがリモートにプッシュされている必要があります。テレポートは自動的にフェッチしてチェックアウトします。 |

670| 同じアカウント | クラウドセッションで使用された同じ claude.ai アカウントに認証される必要があります。 |720| 同じアカウント | クラウドセッションで使用された同じ claude.ai アカウントに認証される必要があります。 |

671 721 

672#### `--teleport` が利用できない722<h4 id="teleport-is-unavailable">

723 `--teleport` が利用できない

724</h4>

673 725 

674テレポートには claude.ai サブスクリプション認証が必要です。API キー、Bedrock、Vertex AI、または Microsoft Foundry 経由で認証されている場合は、代わりに claude.ai アカウントでサインインするために `/login` を実行してください。claude.ai 経由で既にサインインしており、`--teleport` がまだ利用できない場合は、組織がクラウドセッションを無効にしている可能性があります。726テレポートには claude.ai サブスクリプション認証が必要です。API キー、Bedrock、Vertex AI、または Microsoft Foundry 経由で認証されている場合は、代わりに claude.ai アカウントでサインインするために `/login` を実行してください。claude.ai 経由で既にサインインしており、`--teleport` がまだ利用できない場合は、組織がクラウドセッションを無効にしている可能性があります。

675 727 

676## セッションの操作728<h2 id="work-with-sessions">

729 セッションの操作

730</h2>

677 731 

678セッションは claude.ai/code のサイドバーに表示されます。そこから変更を確認し、チームメイトと共有し、完了した作業をアーカイブするか、セッションを永続的に削除できます。732セッションは claude.ai/code のサイドバーに表示されます。そこから変更を確認し、チームメイトと共有し、完了した作業をアーカイブするか、セッションを永続的に削除できます。

679 733 

680### コンテキストを管理734<h3 id="manage-context">

735 コンテキストを管理

736</h3>

681 737 

682クラウドセッションは[組み込みコマンド](/ja/commands)をサポートしており、テキスト出力を生成します。`/model` や `/config` のようなインタラクティブターミナルピッカーを開くコマンドは利用できません。738クラウドセッションは[組み込みコマンド](/ja/commands)をサポートしており、テキスト出力を生成します。`/model` や `/config` のようなインタラクティブターミナルピッカーを開くコマンドは利用できません。

683 739 


693 749 

694[Subagents](/ja/sub-agents)はローカルと同じように機能します。Claude は Task ツールでそれらをスポーンして、研究または並列作業を別のコンテキストウィンドウにオフロードし、メイン会話を軽くすることができます。リポジトリの `.claude/agents/` で定義された Subagents は自動的にピックアップされます。[Agent teams](/ja/agent-teams)はデフォルトでオフですが、[環境変数](#configure-your-environment)に `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` を追加することで有効にできます。750[Subagents](/ja/sub-agents)はローカルと同じように機能します。Claude は Task ツールでそれらをスポーンして、研究または並列作業を別のコンテキストウィンドウにオフロードし、メイン会話を軽くすることができます。リポジトリの `.claude/agents/` で定義された Subagents は自動的にピックアップされます。[Agent teams](/ja/agent-teams)はデフォルトでオフですが、[環境変数](#configure-your-environment)に `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` を追加することで有効にできます。

695 751 

696### 変更を確認752<h3 id="review-changes">

753 変更を確認

754</h3>

697 755 

698各セッションは追加および削除された行数を示す diff インジケーター(例:`+42 -18`)を表示します。それを選択して diff ビューを開き、特定の行にインラインコメントを残し、次のメッセージで Claude に送信します。PR 作成を含む完全なウォークスルーについては [Review and iterate](/ja/web-quickstart#review-and-iterate)を参照してください。Claude が PR の CI 失敗とレビューコメントを自動的に監視するようにするには、[プルリクエストの自動修正](#auto-fix-pull-requests)を参照してください。756各セッションは追加および削除された行数を示す diff インジケーター(例:`+42 -18`)を表示します。それを選択して diff ビューを開き、特定の行にインラインコメントを残し、次のメッセージで Claude に送信します。PR 作成を含む完全なウォークスルーについては [Review and iterate](/ja/web-quickstart#review-and-iterate)を参照してください。Claude が PR の CI 失敗とレビューコメントを自動的に監視するようにするには、[プルリクエストの自動修正](#auto-fix-pull-requests)を参照してください。

699 757 

700### セッションを共有758<h3 id="share-sessions">

759 セッションを共有

760</h3>

701 761 

702セッションを共有するには、以下のアカウントタイプに従ってその可視性を切り替えます。その後、セッションリンクをそのまま共有します。受信者はリンクを開くと最新の状態を表示しますが、ビューはリアルタイムで更新されません。762セッションを共有するには、以下のアカウントタイプに従ってその可視性を切り替えます。その後、セッションリンクをそのまま共有します。受信者はリンクを開くと最新の状態を表示しますが、ビューはリアルタイムで更新されません。

703 763 

704#### Enterprise または Team アカウントから共有764<h4 id="share-from-an-enterprise-or-team-account">

765 Enterprise または Team アカウントから共有

766</h4>

705 767 

706Enterprise および Team アカウントの場合、2 つの可視性オプションは **Private** と **Team** です。Team 可視性により、セッションは claude.ai 組織の他のメンバーに表示されます。リポジトリアクセス検証はデフォルトで有効になっており、受信者のアカウントに接続された GitHub アカウントに基づいています。アカウントの表示名はアクセス権を持つすべての受信者に表示されます。[Claude in Slack](/ja/slack)セッションは自動的に Team 可視性で共有されます。768Enterprise および Team アカウントの場合、2 つの可視性オプションは **Private** と **Team** です。Team 可視性により、セッションは claude.ai 組織の他のメンバーに表示されます。リポジトリアクセス検証はデフォルトで有効になっており、受信者のアカウントに接続された GitHub アカウントに基づいています。アカウントの表示名はアクセス権を持つすべての受信者に表示されます。[Claude in Slack](/ja/slack)セッションは自動的に Team 可視性で共有されます。

707 769 

708#### Max または Pro アカウントから共有770<h4 id="share-from-a-max-or-pro-account">

771 Max または Pro アカウントから共有

772</h4>

709 773 

710Max および Pro アカウントの場合、2 つの可視性オプションは **Private** と **Public** です。Public 可視性により、セッションは claude.ai にログインしているすべてのユーザーに表示されます。774Max および Pro アカウントの場合、2 つの可視性オプションは **Private** と **Public** です。Public 可視性により、セッションは claude.ai にログインしているすべてのユーザーに表示されます。

711 775 


713 777 

714受信者がリポジトリアクセスを持つことを要求するか、共有セッションから名前を非表示にするには、Settings > Claude Code > Sharing settings に移動します。778受信者がリポジトリアクセスを持つことを要求するか、共有セッションから名前を非表示にするには、Settings > Claude Code > Sharing settings に移動します。

715 779 

716### セッションをアーカイブ780<h3 id="archive-sessions">

781 セッションをアーカイブ

782</h3>

717 783 

718セッションをアーカイブしてセッションリストを整理できます。アーカイブされたセッションはデフォルトのセッションリストから非表示になりますが、アーカイブされたセッションをフィルタリングして表示できます。784セッションをアーカイブしてセッションリストを整理できます。アーカイブされたセッションはデフォルトのセッションリストから非表示になりますが、アーカイブされたセッションをフィルタリングして表示できます。

719 785 

720セッションをアーカイブするには、サイドバーのセッションにマウスを合わせてアーカイブアイコンを選択します。786セッションをアーカイブするには、サイドバーのセッションにマウスを合わせてアーカイブアイコンを選択します。

721 787 

722### セッションを削除788<h3 id="delete-sessions">

789 セッションを削除

790</h3>

723 791 

724セッションを削除すると、セッションとそのデータが永続的に削除されます。このアクションは取り消せません。セッションは 2 つの方法で削除できます:792セッションを削除すると、セッションとそのデータが永続的に削除されます。このアクションは取り消せません。セッションは 2 つの方法で削除できます:

725 793 


728 796 

729セッションが削除される前に確認するよう求められます。797セッションが削除される前に確認するよう求められます。

730 798 

731## プルリクエストの自動修正799<h2 id="auto-fix-pull-requests">

800 プルリクエストの自動修正

801</h2>

732 802 

733Claude はプルリクエストを監視し、CI 失敗とレビューコメントに自動的に応答できます。Claude は PR の GitHub アクティビティをサブスクライブし、チェックが失敗するかレビュアーがコメントを残すと、Claude は調査し、明確な場合は修正をプッシュします。803Claude はプルリクエストを監視し、CI 失敗とレビューコメントに自動的に応答できます。Claude は PR の GitHub アクティビティをサブスクライブし、チェックが失敗するかレビュアーがコメントを残すと、Claude は調査し、明確な場合は修正をプッシュします。

734 804 


745 815 

746Auto-fix は PR ごとのトグルです。監視を停止するには、ウェブセッションで CI ステータスバーを開き、**Auto-fix** トグルをクリアするか、Claude に PR の監視を停止するよう指示します。816Auto-fix は PR ごとのトグルです。監視を停止するには、ウェブセッションで CI ステータスバーを開き、**Auto-fix** トグルをクリアするか、Claude に PR の監視を停止するよう指示します。

747 817 

748### Claude が PR アクティビティにどのように応答するか818<h3 id="how-claude-responds-to-pr-activity">

819 Claude が PR アクティビティにどのように応答するか

820</h3>

749 821 

750auto-fix がアクティブな場合、Claude は新しいレビューコメントと CI チェック失敗を含む PR の GitHub イベントを受け取ります。各イベントについて、Claude は調査して進め方を決定します:822auto-fix がアクティブな場合、Claude は新しいレビューコメントと CI チェック失敗を含む PR の GitHub イベントを受け取ります。各イベントについて、Claude は調査して進め方を決定します:

751 823 


753* **曖昧なリクエスト**:レビュアーのコメントが複数の方法で解釈される可能性がある場合、または建築的に重要なものが含まれている場合、Claude は行動する前にあなたに尋ねます825* **曖昧なリクエスト**:レビュアーのコメントが複数の方法で解釈される可能性がある場合、または建築的に重要なものが含まれている場合、Claude は行動する前にあなたに尋ねます

754* **重複または無アクション イベント**:イベントが重複している場合、または変更が不要な場合、Claude はセッションでそれを記録して続行します826* **重複または無アクション イベント**:イベントが重複している場合、または変更が不要な場合、Claude はセッションでそれを記録して続行します

755 827 

828ベースブランチが進み、マージコンフリクトが作成されるときに GitHub は webhook を発行しないため、auto-fix は単独でコンフリクトに反応することはできません。コンフリクトを解決するには、セッションを開き、Claude にリベースするよう依頼してください。

829 

756Claude は PR を解決する際に GitHub のレビューコメントスレッドに返信する場合があります。これらの返信はあなたの GitHub アカウントを使用して投稿されるため、あなたのユーザー名の下に表示されますが、各返信は Claude Code から来たものとしてラベル付けされるため、レビュアーはそれがエージェントによって書かれたものであり、あなたが直接書いたものではないことを知っています。830Claude は PR を解決する際に GitHub のレビューコメントスレッドに返信する場合があります。これらの返信はあなたの GitHub アカウントを使用して投稿されるため、あなたのユーザー名の下に表示されますが、各返信は Claude Code から来たものとしてラベル付けされるため、レビュアーはそれがエージェントによって書かれたものであり、あなたが直接書いたものではないことを知っています。

757 831 

758<Warning>832<Warning>

759 リポジトリが Atlantis、Terraform Cloud、または `issue_comment` イベントで実行されるカスタム GitHub Actions などのコメントトリガー自動化を使用する場合、Claude の返信がそれらのワークフローをトリガーする可能性があることに注意してください。auto-fix を有効にする前にリポジトリの自動化を確認し、PR コメントがインフラストラクチャをデプロイするか特権操作を実行できるリポジトリでは auto-fix を無効にすることを検討してください。833 リポジトリが Atlantis、Terraform Cloud、または `issue_comment` イベントで実行されるカスタム GitHub Actions などのコメントトリガー自動化を使用する場合、Claude の返信がそれらのワークフローをトリガーする可能性があることに注意してください。auto-fix を有効にする前にリポジトリの自動化を確認し、PR コメントがインフラストラクチャをデプロイするか特権操作を実行できるリポジトリでは auto-fix を無効にすることを検討してください。

760</Warning>834</Warning>

761 835 

762## セキュリティと分離836<h2 id="security-and-isolation">

837 セキュリティと分離

838</h2>

763 839 

764各クラウドセッションはいくつかのレイヤーを通じてマシンおよび他のセッションから分離されます:840各クラウドセッションはいくつかのレイヤーを通じてマシンおよび他のセッションから分離されます:

765 841 


768* **認証情報保護**:git 認証情報や署名キーなどの機密認証情報はサンドボックス内の Claude Code と一緒にありません。認証はスコープ付き認証情報を使用するセキュアプロキシを通じて処理されます。844* **認証情報保護**:git 認証情報や署名キーなどの機密認証情報はサンドボックス内の Claude Code と一緒にありません。認証はスコープ付き認証情報を使用するセキュアプロキシを通じて処理されます。

769* **セキュアな分析**:コードは PR を作成する前に分離された VM 内で分析および変更されます845* **セキュアな分析**:コードは PR を作成する前に分離された VM 内で分析および変更されます

770 846 

771## トラブルシューティング847<h2 id="troubleshooting">

848 トラブルシューティング

849</h2>

772 850 

773`API Error: 500`、`529 Overloaded`、`429`、または `Prompt is too long` などの会話に表示される実行時 API エラーについては、[エラーリファレンス](/ja/errors)を参照してください。これらのエラーとその修正は CLI および Desktop アプリと共有されます。以下のセクションはクラウドセッションに固有の問題をカバーしています。851`API Error: 500`、`529 Overloaded`、`429`、または `Prompt is too long` などの会話に表示される実行時 API エラーについては、[エラーリファレンス](/ja/errors)を参照してください。これらのエラーとその修正は CLI および Desktop アプリと共有されます。以下のセクションはクラウドセッションに固有の問題をカバーしています。

774 852 

775### セッション作成に失敗853<h3 id="session-creation-failed">

854 セッション作成に失敗

855</h3>

776 856 

777新しいセッションが `Session creation failed` で開始に失敗するか、プロビジョニングで停止する場合、Claude Code はクラウド環境を割り当てることができませんでした。857新しいセッションが `Session creation failed` で開始に失敗するか、プロビジョニングで停止する場合、Claude Code はクラウド環境を割り当てることができませんでした。

778 858 


780* 1 分後に再試行してください。容量はオンデマンドでプロビジョニングされます860* 1 分後に再試行してください。容量はオンデマンドでプロビジョニングされます

781* リポジトリが到達可能であることを確認してください。接続している GitHub アカウントは、Claude GitHub App 認可またはオンデマンドで `/web-setup` 経由で同期された `gh` トークンのいずれかを通じて、GitHub 上のリポジトリへのアクセス権を持つ必要があります。リポジトリに App をインストールする必要はありません。[GitHub 認証オプション](#github-authentication-options)を参照してください。861* リポジトリが到達可能であることを確認してください。接続している GitHub アカウントは、Claude GitHub App 認可またはオンデマンドで `/web-setup` 経由で同期された `gh` トークンのいずれかを通じて、GitHub 上のリポジトリへのアクセス権を持つ必要があります。リポジトリに App をインストールする必要はありません。[GitHub 認証オプション](#github-authentication-options)を参照してください。

782 862 

783### Remote Control セッションの有効期限切れまたはアクセス拒否863<h3 id="remote-control-session-expired-or-access-denied">

864 Remote Control セッションの有効期限切れまたはアクセス拒否

865</h3>

784 866 

785`--teleport` はクラウドセッションが使用する同じ Remote Control セッションインフラストラクチャを通じて接続するため、認証およびセッション有効期限エラーは Remote Control の表現で表示されます。`Remote Control session expired` または `Access denied` が表示される場合があります。接続トークンは短命で、アカウントにスコープされています。867`--teleport` はクラウドセッションが使用する同じ Remote Control セッションインフラストラクチャを通じて接続するため、認証およびセッション有効期限エラーは Remote Control の表現で表示されます。`Remote Control session expired` または `Access denied` が表示される場合があります。接続トークンは短命で、アカウントにスコープされています。

786 868 


788* セッションを所有する同じアカウントにサインインしていることを確認してください870* セッションを所有する同じアカウントにサインインしていることを確認してください

789* `Remote Control may not be available for this organization` が表示される場合、管理者がプランのリモートセッションを有効にしていません871* `Remote Control may not be available for this organization` が表示される場合、管理者がプランのリモートセッションを有効にしていません

790 872 

791### 環境の有効期限切れ873<h3 id="environment-expired">

874 環境の有効期限切れ

875</h3>

792 876 

793クラウドセッションは非アクティブ期間後に停止し、基盤となる環境は回収されます。ローカルターミナルから、これは `Could not resume session ... its environment has expired. Creating a fresh session instead.` として表示されます。ウェブでは、セッションはセッションリストで期限切れとしてマークされます。877クラウドセッションは非アクティブ期間後に停止し、基盤となる環境は回収されます。ローカルターミナルから、これは `Could not resume session ... its environment has expired. Creating a fresh session instead.` として表示されます。ウェブでは、セッションはセッションリストで期限切れとしてマークされます。

794 878 

795[claude.ai/code](https://claude.ai/code) からセッションを再度開いて、会話履歴が復元された新しい環境をプロビジョニングしてください。879[claude.ai/code](https://claude.ai/code) からセッションを再度開いて、会話履歴が復元された新しい環境をプロビジョニングしてください。

796 880 

797## 制限事項881<h2 id="limitations">

882 制限事項

883</h2>

798 884 

799クラウドセッションをワークフローに依存させる前に、これらの制約を考慮してください:885クラウドセッションをワークフローに依存させる前に、これらの制約を考慮してください:

800 886 


803* **プラットフォーム制限**:リポジトリのクローンとプルリクエストの作成には GitHub が必要です。自己ホスト型の [GitHub Enterprise Server](/ja/github-enterprise-server)インスタンスは Team および Enterprise プランでサポートされています。GitLab、Bitbucket、およびその他の非 GitHub リポジトリは[ローカルバンドル](#send-local-repositories-without-github)としてクラウドセッションに送信できますが、セッションはリモートに結果をプッシュバックできません889* **プラットフォーム制限**:リポジトリのクローンとプルリクエストの作成には GitHub が必要です。自己ホスト型の [GitHub Enterprise Server](/ja/github-enterprise-server)インスタンスは Team および Enterprise プランでサポートされています。GitLab、Bitbucket、およびその他の非 GitHub リポジトリは[ローカルバンドル](#send-local-repositories-without-github)としてクラウドセッションに送信できますが、セッションはリモートに結果をプッシュバックできません

804* **組織 IP 許可リスト**:クラウドセッションは Anthropic 管理インフラストラクチャから Anthropic API を呼び出すため、ネットワークからではありません。組織が [IP 許可リスト](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting)を有効にしている場合、すべてのクラウドセッションは認証エラーで失敗します。同じことが [Code Review](/ja/code-review) および [Routines](/ja/routines)に適用されます。[Anthropic サポート](https://support.claude.com/)に連絡して、Anthropic ホスト型サービスを組織の IP 許可リストから除外してください。890* **組織 IP 許可リスト**:クラウドセッションは Anthropic 管理インフラストラクチャから Anthropic API を呼び出すため、ネットワークからではありません。組織が [IP 許可リスト](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting)を有効にしている場合、すべてのクラウドセッションは認証エラーで失敗します。同じことが [Code Review](/ja/code-review) および [Routines](/ja/routines)に適用されます。[Anthropic サポート](https://support.claude.com/)に連絡して、Anthropic ホスト型サービスを組織の IP 許可リストから除外してください。

805 891 

806## 関連リソース892<h2 id="related-resources">

893 関連リソース

894</h2>

807 895 

808* [Ultraplan](/ja/ultraplan):クラウドセッションでプランを起案し、ブラウザで確認896* [Ultraplan](/ja/ultraplan):クラウドセッションでプランを起案し、ブラウザで確認

809* [Ultrareview](/ja/ultrareview):クラウドサンドボックスで深いマルチエージェントコードレビューを実行897* [Ultrareview](/ja/ultrareview):クラウドサンドボックスで深いマルチエージェントコードレビューを実行

claude-directory.md +41 −1414

Details

4 4 

5# .claude ディレクトリを探索する5# .claude ディレクトリを探索する

6 6 

7> Claude Code が CLAUDE.md、settings.json、hooks、skills、commands、subagents、rules、auto memory を読み込む場所。プロジェクト内の .claude ディレクトリとホームディレクトリの ~/.claude を探索します。7> Claude Code が CLAUDE.md、settings.json、hooks、skills、commands、subagents、workflows、rules、auto memory を読み込む場所。プロジェクト内の .claude ディレクトリとホームディレクトリの ~/.claude を探索します。

8 

9export const ClaudeExplorer = () => {

10 const A = useMemo(() => ({href, children}) => <a href={href} style={{

11 color: 'var(--ce-accent)',

12 textDecoration: 'none',

13 borderBottom: '1px dotted var(--ce-accent)'

14 }}>{children}</a>, []);

15 const C = useMemo(() => ({children}) => <code style={{

16 fontFamily: 'var(--ce-mono)',

17 fontSize: '0.92em',

18 padding: '1px 4px',

19 borderRadius: '3px',

20 background: 'var(--ce-surface)',

21 border: '0.5px solid var(--ce-border-subtle)'

22 }}>{children}</code>, []);

23 const commandsNote = useMemo(() => <>Commands and skills are now the same mechanism. For new workflows, use <A href="/en/skills">skills/</A> instead: same <C>/name</C> invocation, plus you can bundle supporting files.</>, []);

24 const FILE_TREE = useMemo(() => ({

25 project: {

26 label: 'your-project/',

27 children: [{

28 id: 'claude-md',

29 label: 'CLAUDE.md',

30 type: 'file',

31 icon: 'md',

32 color: '#6A9BCC',

33 badge: 'committed',

34 oneLiner: 'Project instructions Claude reads every session',

35 when: 'Loaded into context at the start of every session',

36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',

37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/en/skills">skill</A> or a path-scoped <A href="/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>],

38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',

39 example: `# Project conventions

40 

41## Commands

42- Build: \`npm run build\`

43- Test: \`npm test\`

44- Lint: \`npm run lint\`

45 

46## Stack

47- TypeScript with strict mode

48- React 19, functional components only

49 

50## Rules

51- Named exports, never default exports

52- Tests live next to source: \`foo.ts\` -> \`foo.test.ts\`

53- All API routes return \`{ data, error }\` shape`,

54 docsLink: '/en/memory'

55 }, {

56 id: 'mcp-json',

57 label: '.mcp.json',

58 type: 'file',

59 icon: 'json',

60 color: '#9B7BC4',

61 badge: 'committed',

62 oneLiner: 'Project-scoped MCP servers, shared with your team',

63 when: <>Servers connect when the session begins. Tool schemas are deferred by default and load on demand via <A href="/en/mcp#scale-with-mcp-tool-search">tool search</A></>,

64 description: <>Configures Model Context Protocol (MCP) servers that give Claude access to external tools: databases, APIs, browsers, and more. This file holds the project-scoped servers your whole team uses. Personal servers you want to keep to yourself go in <C>~/.claude.json</C> instead.</>,

65 tips: [<>Use environment variable references for secrets: <C>{'${GITHUB_TOKEN}'}</C></>, <>Lives at the project root, not inside <C>.claude/</C></>, <>For servers only you need, run <C>claude mcp add --scope user</C>. This writes to <C>~/.claude.json</C> instead of <C>.mcp.json</C></>],

66 exampleIntro: <>This example configures the GitHub MCP server so Claude can read issues and open pull requests. The <C>{'${GITHUB_TOKEN}'}</C> reference is read from your shell environment when Claude Code starts the server, so the token never lands in the file.</>,

67 example: `{

68 "mcpServers": {

69 "github": {

70 "command": "npx",

71 "args": ["-y", "@modelcontextprotocol/server-github"],

72 "env": {

73 "GITHUB_TOKEN": "\${GITHUB_TOKEN}"

74 }

75 }

76 }

77}`,

78 docsLink: '/en/mcp'

79 }, {

80 id: 'worktreeinclude',

81 label: '.worktreeinclude',

82 type: 'file',

83 icon: 'md',

84 color: '#8FA876',

85 badge: 'committed',

86 oneLiner: 'Gitignored files to copy into new worktrees',

87 when: <>Read when Claude creates a git worktree via <C>--worktree</C>, the <C>EnterWorktree</C> tool, or subagent <C>isolation: worktree</C></>,

88 description: <>Lists gitignored files to copy from your main repository into each new worktree. Worktrees are fresh checkouts, so untracked files like <C>.env</C> are missing by default. Patterns here use <C>.gitignore</C> syntax. Only files that match a pattern and are also gitignored get copied, so tracked files are never duplicated.</>,

89 tips: [<>Lives at the project root, not inside <C>.claude/</C></>, <>Git-only: if you configure a <A href="/en/hooks#worktreecreate">WorktreeCreate hook</A> for a different VCS, this file is not read. Copy files inside your hook script instead</>, <>Also applies to parallel sessions in the <A href="/en/desktop#work-in-parallel-with-sessions">desktop app</A></>],

90 exampleIntro: 'This example copies your local environment files and a secrets config into every worktree Claude creates. Comments start with # and blank lines are ignored, same as .gitignore.',

91 example: `# Local environment

92.env

93.env.local

94 

95# API credentials

96config/secrets.json`,

97 docsLink: '/en/worktrees#copy-gitignored-files-into-worktrees'

98 }, {

99 id: 'dot-claude',

100 label: '.claude/',

101 type: 'folder',

102 icon: 'folder',

103 color: 'var(--ce-accent)',

104 oneLiner: 'Project-level configuration, rules, and extensions',

105 description: 'Everything Claude Code reads that is specific to this project. If you use git, commit most files here so your team shares them; a few, like settings.local.json, are automatically gitignored. Each file badge shows which.',

106 children: [{

107 id: 'settings-json',

108 label: 'settings.json',

109 type: 'file',

110 icon: 'json',

111 color: 'var(--ce-text-3)',

112 badge: 'committed',

113 oneLiner: 'Permissions, hooks, and configuration',

114 when: <>Overrides global <C>~/.claude/settings.json</C>. Local settings, CLI flags, and managed settings override this</>,

115 description: 'Settings that Claude Code applies directly. Permissions control which commands and tools Claude can use; hooks run your scripts at specific points in a session. Unlike CLAUDE.md, which Claude reads as guidance, these are enforced whether Claude follows them or not.',

116 contains: [<><A href="/en/permissions">permissions</A>: allow, deny, or prompt before Claude uses specific tools or commands</>, <><A href="/en/hooks">hooks</A>: run your own scripts on events like before a tool call or after a file edit</>, <><A href="/en/statusline">statusLine</A>: customize the line shown at the bottom while Claude works</>, <><A href="/en/settings#available-settings">model</A>: pick a default model for this project</>, <><A href="/en/settings#environment-variables">env</A>: environment variables set in every session</>, <><A href="/en/output-styles">outputStyle</A>: select a custom system-prompt style from output-styles/</>],

117 tips: [<>Bash permission patterns support wildcards: <C>Bash(npm test *)</C> matches any command starting with <C>npm test</C></>, <>Array settings like <C>permissions.allow</C> combine across all scopes; scalar settings like <C>model</C> use the most specific value</>],

118 exampleIntro: <>This example allows <C>npm test</C> and <C>npm run</C> commands without prompting, blocks <C>rm -rf</C>, and runs Prettier on files after Claude edits or writes them.</>,

119 example: `{

120 "permissions": {

121 "allow": [

122 "Bash(npm test *)",

123 "Bash(npm run *)"

124 ],

125 "deny": [

126 "Bash(rm -rf *)"

127 ]

128 },

129 "hooks": {

130 "PostToolUse": [{

131 "matcher": "Edit|Write",

132 "hooks": [{

133 "type": "command",

134 "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"

135 }]

136 }]

137 }

138}`,

139 docsLink: '/en/settings'

140 }, {

141 id: 'settings-local-json',

142 label: 'settings.local.json',

143 type: 'file',

144 icon: 'json',

145 color: 'var(--ce-text-3)',

146 badge: 'gitignored',

147 oneLiner: 'Your personal settings overrides for this project',

148 when: 'Highest of the user-editable settings files; CLI flags and managed settings still take precedence',

149 description: 'Personal settings that take precedence over the project defaults. Same JSON format as settings.json, but not committed. Use this when you need different permissions or defaults than the team config.',

150 tips: [<>Same schema as settings.json. Array settings like <C>permissions.allow</C> combine across scopes; scalar settings like <C>model</C> use the local value</>, <>Claude Code adds this file to <C>~/.config/git/ignore</C> the first time it writes one. If you use a custom <C>core.excludesFile</C>, add the pattern there too. To share the ignore rule with your team, also add it to the project <C>.gitignore</C></>],

151 exampleIntro: 'This example adds Docker permissions on top of whatever the team settings.json allows.',

152 example: `{

153 "permissions": {

154 "allow": [

155 "Bash(docker *)"

156 ]

157 }

158}`,

159 docsLink: '/en/settings'

160 }, {

161 id: 'rules',

162 label: 'rules/',

163 type: 'folder',

164 icon: 'folder',

165 color: '#9B7BC4',

166 oneLiner: 'Topic-scoped instructions, optionally gated by file paths',

167 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,

168 description: [<>Project instructions split into topic files that can load conditionally based on file paths. A rule without <C>paths:</C> frontmatter loads at session start like CLAUDE.md; a rule with <C>paths:</C> loads only when Claude reads a matching file.</>, <>Like CLAUDE.md, rules are guidance Claude reads, not configuration Claude Code enforces. For guaranteed behavior use <A href="/en/hooks">hooks</A> or <A href="/en/permissions">permissions</A>.</>],

169 tips: [<>Use <C>paths:</C> frontmatter with globs to scope rules to directories or file types</>, <>Subdirectories work: <C>.claude/rules/frontend/react.md</C> is discovered automatically</>, 'When CLAUDE.md approaches 200 lines, start splitting into rules'],

170 docsLink: '/en/memory#organize-rules-with-claude/rules/',

171 children: [{

172 id: 'rule-testing',

173 label: 'testing.md',

174 type: 'file',

175 icon: 'md',

176 color: '#9B7BC4',

177 badge: 'committed',

178 oneLiner: 'Test conventions scoped to test files',

179 when: <>Loaded when Claude reads a file matching the <C>paths:</C> globs below</>,

180 description: <>An example rule that only loads when Claude is working on test files. The <C>paths:</C> globs in the frontmatter define which files trigger it; here, anything ending in .test.ts or .test.tsx. For other files, this rule is not loaded into context.</>,

181 example: `---

182paths:

183 - "**/*.test.ts"

184 - "**/*.test.tsx"

185 

186# Testing Rules

187 

188- Use descriptive test names: "should [expected] when [condition]"

189- Mock external dependencies, not internal modules

190- Clean up side effects in afterEach`

191 }, {

192 id: 'rule-api',

193 label: 'api-design.md',

194 type: 'file',

195 icon: 'md',

196 color: '#9B7BC4',

197 badge: 'committed',

198 oneLiner: 'API conventions scoped to backend code',

199 when: <>Loaded when Claude reads a file matching the <C>paths:</C> glob below</>,

200 description: <>A second example showing a rule scoped to backend code. The <C>paths:</C> glob matches files under src/api/, so these conventions load only when Claude is editing API routes.</>,

201 example: `---

202paths:

203 - "src/api/**/*.ts"

204 

205# API Design Rules

206 

207- All endpoints must validate input with Zod schemas

208- Return shape: { data: T } | { error: string }

209- Rate limit all public endpoints`

210 }]

211 }, {

212 id: 'skills',

213 label: 'skills/',

214 type: 'folder',

215 icon: 'folder',

216 color: '#D4A843',

217 oneLiner: 'Reusable prompts you or Claude invoke by name',

218 when: <>Invoked with <C>/skill-name</C> or when Claude matches the task to a skill</>,

219 description: <>Each skill is a folder with a SKILL.md file plus any supporting files it needs. By default, both you and Claude can invoke a skill. Use frontmatter to control that: <C>disable-model-invocation: true</C> for user-only workflows like <C>/deploy</C>, or <C>user-invocable: false</C> to hide from the <C>/</C> menu while Claude can still invoke it.</>,

220 tips: [<>Skills accept arguments: <C>/deploy staging</C> passes "staging" as <C>$ARGUMENTS</C>. Use <C>$0</C>, <C>$1</C>, and so on for positional access</>, <>The <C>description</C> frontmatter determines when Claude auto-invokes the skill</>, 'Bundle reference docs alongside SKILL.md. Claude knows the skill directory path and can read supporting files when you mention them'],

221 docsLink: '/en/skills',

222 children: [{

223 id: 'skill-review',

224 label: 'security-review/',

225 type: 'folder',

226 icon: 'folder',

227 color: '#D4A843',

228 oneLiner: 'A skill bundling SKILL.md with supporting files',

229 children: [{

230 id: 'skill-review-md',

231 label: 'SKILL.md',

232 type: 'file',

233 icon: 'md',

234 color: '#D4A843',

235 badge: 'committed',

236 oneLiner: 'Entrypoint: trigger, invocability, instructions',

237 when: <>User types <C>/security-review &lt;target&gt;</C>; Claude cannot auto-invoke this skill</>,

238 description: [<>This skill uses <C>disable-model-invocation: true</C> so only you can trigger it; Claude never invokes it on its own.</>, <>The <C>!`...`</C> line runs a shell command and injects its output into the prompt. <C>$ARGUMENTS</C> substitutes whatever you typed after the skill name. Claude sees the skill directory path, so mentioning a bundled file like checklist.md lets Claude read it.</>],

239 example: `---

240description: Reviews code changes for security vulnerabilities, authentication gaps, and injection risks

241disable-model-invocation: true

242argument-hint: <branch-or-path>

243 

244## Diff to review

245 

246!\`git diff $ARGUMENTS\`

247 

248Audit the changes above for:

249 

2501. Injection vulnerabilities (SQL, XSS, command)

2512. Authentication and authorization gaps

2523. Hardcoded secrets or credentials

253 

254Use checklist.md in this skill directory for the full review checklist.

255 

256Report findings with severity ratings and remediation steps.`

257 }, {

258 id: 'skill-checklist',

259 label: 'checklist.md',

260 type: 'file',

261 icon: 'md',

262 color: '#D4A843',

263 badge: 'committed',

264 oneLiner: 'Supporting file bundled with the skill',

265 when: 'Claude reads it on demand while running the skill',

266 description: <>Skills can bundle any supporting files: reference docs, templates, scripts. The skill directory path is prepended to SKILL.md, so Claude can read bundled files by name. For scripts in bash injection commands, use the <C>{'${CLAUDE_SKILL_DIR}'}</C> placeholder.</>,

267 example: `# Security Review Checklist

268 

269## Input Validation

270- [ ] All user input sanitized before DB queries

271- [ ] File upload MIME types validated

272- [ ] Path traversal prevented on file operations

273 

274## Authentication

275- [ ] JWT tokens expire after 24 hours

276- [ ] API keys stored in environment variables

277- [ ] Passwords hashed with bcrypt or argon2`

278 }]

279 }]

280 }, {

281 id: 'commands',

282 label: 'commands/',

283 type: 'folder',

284 icon: 'folder',

285 color: '#788C5D',

286 oneLiner: <>Single-file prompts invoked with <C>/name</C></>,

287 note: commandsNote,

288 when: <>User types <C>/command-name</C></>,

289 description: <>A file at <C>commands/deploy.md</C> creates <C>/deploy</C> the same way a skill at <C>skills/deploy/SKILL.md</C> does, and both can be auto-invoked by Claude. Skills use a directory with SKILL.md, letting you bundle reference docs, templates, or scripts alongside the prompt.</>,

290 tips: [<>Use <C>$ARGUMENTS</C> in the file to accept parameters: <C>/fix-issue 123</C></>, 'If a skill and command share a name, the skill takes precedence', 'New commands should usually be skills instead; commands remain supported'],

291 docsLink: '/en/skills',

292 children: [{

293 id: 'cmd-example',

294 label: 'fix-issue.md',

295 type: 'file',

296 icon: 'md',

297 color: '#788C5D',

298 badge: 'committed',

299 oneLiner: <>Invoked as <C>/fix-issue &lt;number&gt;</C></>,

300 note: commandsNote,

301 description: [<>An example command for fixing a GitHub issue. Type <C>/fix-issue 123</C> and the <C>!`...`</C> line runs <C>gh issue view 123</C> in your shell, injecting the output into the prompt before Claude sees it.</>, <><C>$ARGUMENTS</C> substitutes whatever you typed after the command name. For positional access, use <C>$0</C> <C>$1</C> and so on.</>],

302 example: `---

303argument-hint: <issue-number>

304 

305!\`gh issue view $ARGUMENTS\`

306 

307Investigate and fix the issue above.

308 

3091. Trace the bug to its root cause

3102. Implement the fix

3113. Write or update tests

3124. Summarize what you changed and why`

313 }]

314 }, {

315 id: 'output-styles',

316 label: 'output-styles/',

317 type: 'folder',

318 icon: 'folder',

319 color: '#5AA7A7',

320 oneLiner: 'Project-scoped output styles, if your team shares any',

321 when: 'Applied at session start when selected via the outputStyle setting',

322 description: <>Output styles are usually personal, so most live in <C>~/.claude/output-styles/</C>. Put one here if your team shares a style, like a review mode everyone uses. See <A href="#ce-global-output-styles">the Global tab</A> for the full explanation and example.</>,

323 docsLink: '/en/output-styles',

324 children: []

325 }, {

326 id: 'agents',

327 label: 'agents/',

328 type: 'folder',

329 icon: 'folder',

330 color: '#C46686',

331 oneLiner: 'Specialized subagents with their own context window',

332 when: 'Runs in its own context window when you or Claude invoke it',

333 description: 'Each markdown file defines a subagent with its own system prompt, tool access, and optionally its own model. Subagents run in a fresh context window, keeping the main conversation clean. Useful for parallel work or isolated tasks.',

334 tips: ['Each agent gets a fresh context window, separate from your main session', <>Restrict tool access per agent with the <C>tools:</C> frontmatter field</>, 'Type @ and pick an agent from the autocomplete to delegate directly'],

335 docsLink: '/en/sub-agents',

336 children: [{

337 id: 'agent-reviewer',

338 label: 'code-reviewer.md',

339 type: 'file',

340 icon: 'md',

341 color: '#C46686',

342 badge: 'committed',

343 oneLiner: 'Subagent for isolated code review',

344 when: 'Claude spawns it for review tasks, or you @-mention it from the autocomplete',

345 description: <>An example subagent restricted to read-only tools. The <C>description</C> frontmatter tells Claude when to delegate to it automatically; <C>tools:</C> limits it to Read, Grep, and Glob so it can inspect code but never edit. The body becomes the subagent's system prompt.</>,

346 example: `---

347name: code-reviewer

348description: Reviews code for correctness, security, and maintainability

349tools: Read, Grep, Glob

350 

351You are a senior code reviewer. Review for:

352 

3531. Correctness: logic errors, edge cases, null handling

3542. Security: injection, auth bypass, data exposure

3553. Maintainability: naming, complexity, duplication

356 

357Every finding must include a concrete fix.`

358 }]

359 }, {

360 id: 'agent-memory',

361 label: 'agent-memory/',

362 type: 'folder',

363 icon: 'folder',

364 color: '#C46686',

365 badge: 'committed',

366 autogen: true,

367 oneLiner: 'Subagent persistent memory, separate from your main session auto memory',

368 when: 'First 200 lines (capped at 25KB) of MEMORY.md loaded into the subagent system prompt when it runs',

369 description: <>Subagents with <C>memory: project</C> in their frontmatter get a dedicated memory directory here. This is distinct from your <A href="/en/memory#auto-memory">main session auto memory</A> at <C>~/.claude/projects/</C>: each subagent reads and writes its own MEMORY.md, not yours.</>,

370 tips: [<>Only created for subagents that set the <C>memory:</C> frontmatter field</>, <>This directory holds project-scoped subagent memory, meant to be shared with your team. To keep memory out of version control use <C>memory: local</C>, which writes to <C>.claude/agent-memory-local/</C> instead. For cross-project memory use <C>memory: user</C>, which writes to <C>~/.claude/agent-memory/</C></>, <>The main session auto memory is a different feature; see <C>~/.claude/projects/</C> in the Global tab</>],

371 docsLink: '/en/sub-agents#enable-persistent-memory',

372 children: [{

373 id: 'agent-memory-sub',

374 label: '<agent-name>/',

375 type: 'folder',

376 icon: 'folder',

377 color: '#C46686',

378 autogen: true,

379 children: [{

380 id: 'agent-memory-md',

381 label: 'MEMORY.md',

382 type: 'file',

383 icon: 'md',

384 color: '#C46686',

385 badge: 'committed',

386 autogen: true,

387 oneLiner: 'The subagent writes and maintains this file automatically',

388 when: 'Loaded into the subagent system prompt when the subagent starts',

389 description: <>Works the same as your <A href="/en/memory#auto-memory">main auto memory</A>: the subagent creates and updates this file itself. You do not write it. The subagent reads it at the start of each task and writes back what it learns.</>,

390 example: `# code-reviewer memory

391 

392## Patterns seen

393- Project uses custom Result<T, E> type, not exceptions

394- Auth middleware expects Bearer token in Authorization header

395- Tests use factory functions in test/factories/

396 

397## Recurring issues

398- Missing null checks on API responses (src/api/*)

399- Unhandled promise rejections in background jobs`

400 }]

401 }]

402 }]

403 }]

404 },

405 global: {

406 label: '~/',

407 children: [{

408 id: 'claude-json',

409 label: '.claude.json',

410 type: 'file',

411 icon: 'json',

412 color: 'var(--ce-text-3)',

413 badge: 'local',

414 oneLiner: 'App state and UI preferences',

415 when: <>Read at session start for your preferences and MCP servers. Claude Code writes back to it when you change settings in <C>/config</C> or approve trust prompts</>,

416 description: <>Holds state that does not belong in settings.json: theme, OAuth session, per-project trust decisions, your personal MCP servers, and UI toggles. Mostly managed through <C>/config</C> rather than editing directly.</>,

417 tips: [<>IDE toggles like <C>autoConnectIde</C> and <C>externalEditorContext</C> live here, not in settings.json</>, <>The <C>projects</C> key tracks per-project state like trust-dialog acceptance and last-session metrics. Permission rules you approve in-session go to <C>.claude/settings.local.json</C> instead</>, <>MCP servers here are yours only: user scope applies across all projects, local scope is per-project but not committed. Team-shared servers go in <C>.mcp.json</C> at the project root instead</>],

418 example: `{

419 "autoConnectIde": true,

420 "externalEditorContext": true,

421 "mcpServers": {

422 "my-tools": {

423 "command": "npx",

424 "args": ["-y", "@example/mcp-server"]

425 }

426 }

427}`,

428 docsLink: '/en/settings#global-config-settings'

429 }, {

430 id: 'global-dot-claude',

431 label: '.claude/',

432 type: 'folder',

433 icon: 'folder',

434 color: 'var(--ce-accent)',

435 oneLiner: 'Your personal configuration across all projects',

436 description: 'The global counterpart to your project .claude/ directory. Files here apply to every project you work in and are never committed to any repository.',

437 children: [{

438 id: 'global-claude-md',

439 label: 'CLAUDE.md',

440 type: 'file',

441 icon: 'md',

442 color: '#6A9BCC',

443 badge: 'local',

444 oneLiner: 'Personal preferences across every project',

445 when: 'Loaded at the start of every session, in every project',

446 description: 'Your global instruction file. Loaded alongside the project CLAUDE.md at session start, so both are in context together. When instructions conflict, project-level instructions take priority. Keep this to preferences that apply everywhere: response style, commit format, personal conventions.',

447 tips: ['Keep it short since it loads into context for every project, alongside that project\'s own CLAUDE.md', 'Good for response style, commit format, and personal conventions'],

448 example: `# Global preferences

449 

450- Keep explanations concise

451- Use conventional commit format

452- Show the terminal command to verify changes

453- Prefer composition over inheritance`,

454 docsLink: '/en/memory'

455 }, {

456 id: 'global-settings',

457 label: 'settings.json',

458 type: 'file',

459 icon: 'json',

460 color: 'var(--ce-text-3)',

461 badge: 'local',

462 oneLiner: 'Default settings for all projects',

463 when: 'Your defaults. Project and local settings.json override any keys you also set there',

464 description: [<>Same keys as project <C>settings.json</C>: permissions, hooks, model, environment variables, and the rest. Put settings here that you want in every project, like permissions you always allow, a preferred model, or a notification hook that runs regardless of which project you're in.</>, <>Settings follow a precedence order: project <C>settings.json</C> overrides any matching keys you set here. This is different from CLAUDE.md, where global and project files are both loaded into context rather than merged key by key.</>],

465 example: `{

466 "permissions": {

467 "allow": [

468 "Bash(git log *)",

469 "Bash(git diff *)"

470 ]

471 }

472}`,

473 docsLink: '/en/settings'

474 }, {

475 id: 'keybindings',

476 label: 'keybindings.json',

477 type: 'file',

478 icon: 'json',

479 color: 'var(--ce-text-3)',

480 badge: 'local',

481 oneLiner: 'Custom keyboard shortcuts',

482 when: 'Read at session start and hot-reloaded when you edit the file',

483 description: <>Rebind keyboard shortcuts in the interactive CLI. Run <C>/keybindings</C> to create or open this file with a schema reference. Ctrl+C, Ctrl+D, Ctrl+M, and Caps Lock are reserved and cannot be rebound.</>,

484 exampleIntro: <>This example binds <C>Ctrl+E</C> to open your external editor and unbinds <C>Ctrl+U</C> by setting it to <C>null</C>. The <C>context</C> field scopes bindings to a specific part of the CLI, here the main chat input.</>,

485 example: `{

486 "$schema": "https://www.schemastore.org/claude-code-keybindings.json",

487 "$docs": "https://code.claude.com/docs/en/keybindings",

488 "bindings": [

489 {

490 "context": "Chat",

491 "bindings": {

492 "ctrl+e": "chat:externalEditor",

493 "ctrl+u": null

494 }

495 }

496 ]

497}`,

498 docsLink: '/en/keybindings'

499 }, {

500 id: 'themes',

501 label: 'themes/',

502 type: 'folder',

503 icon: 'folder',

504 color: '#5AA7A7',

505 oneLiner: 'Custom color themes',

506 when: <>Read at session start and hot-reloaded when files change. Listed in <C>/theme</C></>,

507 description: <>Each <C>.json</C> file defines a custom color theme: a built-in <C>base</C> preset plus an <C>overrides</C> map of color tokens. Create one interactively with <C>/theme</C> or write the JSON by hand. Selecting a custom theme stores <C>custom:&lt;slug&gt;</C> as your theme preference.</>,

508 example: `{

509 "name": "Dracula",

510 "base": "dark",

511 "overrides": {

512 "claude": "#bd93f9",

513 "error": "#ff5555",

514 "success": "#50fa7b"

515 }

516}`,

517 docsLink: '/en/terminal-config#create-a-custom-theme',

518 children: []

519 }, {

520 id: 'global-projects',

521 label: 'projects/',

522 type: 'folder',

523 icon: 'folder',

524 color: '#E8A45C',

525 autogen: true,

526 oneLiner: "Auto memory: Claude's notes to itself, per project",

527 when: 'MEMORY.md loaded at session start; topic files read on demand',

528 description: 'Auto memory lets Claude accumulate knowledge across sessions without you writing anything. Claude saves notes as it works: build commands, debugging insights, architecture notes. Each project gets its own memory directory keyed by the repository path.',

529 tips: [<>On by default. Toggle with <C>/memory</C> or <C>autoMemoryEnabled</C> in settings</>, 'MEMORY.md is the index loaded each session. The first 200 lines, or 25KB, whichever comes first, are read', 'Topic files like debugging.md are read on demand, not at startup', 'These are plain markdown. Edit or delete them anytime'],

530 docsLink: '/en/memory#auto-memory',

531 children: [{

532 id: 'memory-dir',

533 label: '<project>/memory/',

534 type: 'folder',

535 icon: 'folder',

536 color: '#E8A45C',

537 autogen: true,

538 oneLiner: "Claude's accumulated knowledge for one project",

539 children: [{

540 id: 'memory-md',

541 label: 'MEMORY.md',

542 type: 'file',

543 icon: 'md',

544 color: '#E8A45C',

545 badge: 'local',

546 autogen: true,

547 oneLiner: 'Claude writes and maintains this file automatically',

548 when: 'First 200 lines (capped at 25KB) loaded at session start',

549 description: 'Claude creates and updates this file as it works; you do not write it yourself. It acts as an index that Claude reads at the start of every session, pointing to topic files for detail. You can edit or delete it, but Claude will keep updating it.',

550 example: `# Memory Index

551 

552## Project

553- [build-and-test.md](build-and-test.md): npm run build (~45s), Vitest, dev server on 3001

554- [architecture.md](architecture.md): API client singleton, refresh-token auth

555 

556## Reference

557- [debugging.md](debugging.md): auth token rotation and DB connection troubleshooting`,

558 docsLink: '/en/memory'

559 }, {

560 id: 'memory-topic',

561 label: 'debugging.md',

562 type: 'file',

563 icon: 'md',

564 color: '#E8A45C',

565 badge: 'local',

566 autogen: true,

567 oneLiner: 'Topic notes Claude writes when MEMORY.md gets long',

568 when: 'Claude reads this when a related task comes up',

569 description: 'An example of a topic file Claude creates when MEMORY.md grows too long. Claude picks the filename based on what it splits out: debugging.md, architecture.md, build-commands.md, or similar. You never create these yourself. Claude reads a topic file back only when the current task relates to it.',

570 example: `---

571name: Debugging patterns

572description: Auth token rotation and database connection troubleshooting for this project

573type: reference

574 

575## Auth Token Issues

576- Refresh token rotation: old token invalidated immediately

577- If 401 after refresh: check clock skew between client and server

578 

579## Database Connection Drops

580- Connection pool: max 10 in dev, 50 in prod

581- Always check \`docker compose ps\` first`

582 }]

583 }]

584 }, {

585 id: 'global-rules',

586 label: 'rules/',

587 type: 'folder',

588 icon: 'folder',

589 color: '#9B7BC4',

590 oneLiner: 'User-level rules that apply to every project',

591 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,

592 description: 'Same as project .claude/rules/ but applies everywhere. Use this for conventions you want across all your work, like personal code style or commit message format.',

593 docsLink: '/en/memory#organize-rules-with-claude/rules/',

594 children: []

595 }, {

596 id: 'global-skills',

597 label: 'skills/',

598 type: 'folder',

599 icon: 'folder',

600 color: '#D4A843',

601 oneLiner: 'Personal skills available in every project',

602 when: <>Invoked with <C>/skill-name</C> in any project</>,

603 description: 'Skills you built for yourself that work everywhere. Same structure as project skills: each is a folder with SKILL.md, scoped to your user account instead of a single project.',

604 docsLink: '/en/skills',

605 children: []

606 }, {

607 id: 'global-commands',

608 label: 'commands/',

609 type: 'folder',

610 icon: 'folder',

611 color: '#788C5D',

612 oneLiner: 'Personal single-file commands available in every project',

613 note: commandsNote,

614 when: <>User types <C>/command-name</C> in any project</>,

615 description: 'Same as project commands/ but scoped to your user account. Each markdown file becomes a command available everywhere.',

616 docsLink: '/en/skills',

617 children: []

618 }, {

619 id: 'global-output-styles',

620 label: 'output-styles/',

621 type: 'folder',

622 icon: 'folder',

623 color: '#5AA7A7',

624 oneLiner: 'Custom system-prompt sections that adjust how Claude works',

625 when: 'Applied at session start when selected via the outputStyle setting',

626 description: [<>Each markdown file defines an output style: a section appended to the system prompt that, by default, also drops the built-in software-engineering task instructions. Use this to adapt Claude Code for uses beyond coding, or to add teaching or review modes.</>, <>Select a built-in or custom style with <C>/config</C> or the <C>outputStyle</C> key in settings. Styles here are available in every project; project-level styles with the same name take precedence.</>],

627 tips: ['Built-in styles Explanatory and Learning are included with Claude Code; custom styles go here', <>Set <C>keep-coding-instructions: true</C> in frontmatter to keep the default task instructions alongside your additions</>, 'Changes take effect on the next session since the system prompt is fixed at startup for caching'],

628 docsLink: '/en/output-styles',

629 children: [{

630 id: 'output-style-example',

631 label: 'teaching.md',

632 type: 'file',

633 icon: 'md',

634 color: '#5AA7A7',

635 badge: 'local',

636 oneLiner: 'Example style that adds explanations and leaves small changes for you',

637 when: <>Active when <C>outputStyle</C> in settings is set to <C>teaching</C></>,

638 description: <>This style appends instructions to the system prompt: Claude adds a "Why this approach" note after each task and leaves TODO(human) markers for changes under 10 lines instead of writing them itself. Select it by setting <C>outputStyle</C> to the filename without .md, or to the <C>name</C> field if you set one in frontmatter.</>,

639 example: `---

640description: Explains reasoning and asks you to implement small pieces

641keep-coding-instructions: true

642 

643After completing each task, add a brief "Why this approach" note

644explaining the key design decision.

645 

646When a change is under 10 lines, ask the user to implement it

647themselves by leaving a TODO(human) marker instead of writing it.`

648 }]

649 }, {

650 id: 'global-agents',

651 label: 'agents/',

652 type: 'folder',

653 icon: 'folder',

654 color: '#C46686',

655 oneLiner: 'Personal subagents available in every project',

656 when: 'Claude delegates or you @-mention in any project',

657 description: 'Subagents defined here are available across all your projects. Same format as project agents.',

658 docsLink: '/en/sub-agents',

659 children: []

660 }, {

661 id: 'global-agent-memory',

662 label: 'agent-memory/',

663 type: 'folder',

664 icon: 'folder',

665 color: '#C46686',

666 autogen: true,

667 oneLiner: <>Persistent memory for subagents with <C>memory: user</C></>,

668 when: 'Loaded into the subagent system prompt when the subagent starts',

669 description: <>Subagents with <C>memory: user</C> in their frontmatter store knowledge here that persists across all projects. For project-scoped subagent memory, see <C>.claude/agent-memory/</C> instead.</>,

670 docsLink: '/en/sub-agents#enable-persistent-memory',

671 children: []

672 }]

673 }]

674 }

675 }), []);

676 const BADGE_STYLES = useMemo(() => ({

677 committed: {

678 bg: 'rgba(85,138,66,0.08)',

679 color: 'var(--ce-badge-committed)',

680 border: 'rgba(85,138,66,0.15)',

681 label: 'committed'

682 },

683 gitignored: {

684 bg: 'rgba(217,119,87,0.06)',

685 color: 'var(--ce-badge-gitignored)',

686 border: 'rgba(217,119,87,0.15)',

687 label: 'gitignored'

688 },

689 local: {

690 bg: 'rgba(115,114,108,0.06)',

691 color: 'var(--ce-badge-local)',

692 border: 'rgba(115,114,108,0.12)',

693 label: 'local only'

694 },

695 autogen: {

696 bg: 'rgba(232,164,92,0.1)',

697 color: 'var(--ce-badge-autogen)',

698 border: 'rgba(232,164,92,0.2)',

699 label: 'Claude writes'

700 }

701 }), []);

702 const allNodes = useMemo(() => {

703 const flatten = (nodes, acc, path, parentId) => {

704 for (const node of nodes) {

705 const nextPath = [...path, node.label];

706 acc[node.id] = {

707 ...node,

708 path: nextPath,

709 parentId

710 };

711 if (node.children) flatten(node.children, acc, nextPath, node.id);

712 }

713 return acc;

714 };

715 const project = flatten(FILE_TREE.project.children, {}, [FILE_TREE.project.label]);

716 const global = flatten(FILE_TREE.global.children, {}, [FILE_TREE.global.label]);

717 for (const id in project) project[id].root = 'project';

718 for (const id in global) global[id].root = 'global';

719 return {

720 ...project,

721 ...global

722 };

723 }, [FILE_TREE]);

724 const allFolderIds = useMemo(() => Object.keys(allNodes).filter(id => allNodes[id].type === 'folder'), [allNodes]);

725 const DEFAULT_EXPANDED = ['dot-claude', 'rules', 'skills', 'skill-review', 'commands', 'agents', 'agent-memory', 'agent-memory-sub', 'global-dot-claude', 'global-output-styles', 'global-projects', 'memory-dir'];

726 const [mounted, setMounted] = useState(false);

727 const [activeRoot, setActiveRoot] = useState('project');

728 const [selectedId, setSelectedId] = useState('claude-md');

729 const [expandedFolders, setExpandedFolders] = useState(() => new Set(DEFAULT_EXPANDED));

730 const [forceMobile, setForceMobile] = useState(false);

731 const [copiedId, setCopiedId] = useState(null);

732 const [isFullscreen, setIsFullscreen] = useState(false);

733 const copyTimeoutRef = useRef(null);

734 const rootRef = useRef(null);

735 useEffect(() => {

736 setMounted(true);

737 const applyHash = scroll => {

738 const hash = window.location.hash.slice(1);

739 if (!hash.startsWith('ce-')) return;

740 const id = hash.slice(3);

741 const node = allNodes[id];

742 if (!node) return;

743 setActiveRoot(node.root);

744 setSelectedId(id);

745 setExpandedFolders(new Set(allFolderIds));

746 if (scroll && rootRef.current) rootRef.current.scrollIntoView({

747 behavior: 'smooth',

748 block: 'start'

749 });

750 };

751 applyHash(false);

752 const onHashChange = () => applyHash(true);

753 const onFsChange = () => setIsFullscreen(!!document.fullscreenElement);

754 window.addEventListener('hashchange', onHashChange);

755 document.addEventListener('fullscreenchange', onFsChange);

756 return () => {

757 if (copyTimeoutRef.current) clearTimeout(copyTimeoutRef.current);

758 window.removeEventListener('hashchange', onHashChange);

759 document.removeEventListener('fullscreenchange', onFsChange);

760 };

761 }, []);

762 useEffect(() => {

763 if (!mounted || !rootRef.current) return;

764 const hash = window.location.hash.slice(1);

765 if (hash.startsWith('ce-') && allNodes[hash.slice(3)]) {

766 rootRef.current.scrollIntoView({

767 behavior: 'smooth',

768 block: 'start'

769 });

770 }

771 }, [mounted]);

772 if (!mounted) return null;

773 const selected = allNodes[selectedId];

774 const tree = FILE_TREE[activeRoot];

775 const isCopied = copiedId === selected.id;

776 const toggleFolder = id => {

777 const next = new Set(expandedFolders);

778 next.has(id) ? next.delete(id) : next.add(id);

779 setExpandedFolders(next);

780 };

781 const switchRoot = root => {

782 if (root === activeRoot) return;

783 setActiveRoot(root);

784 const firstId = FILE_TREE[root].children[0].id;

785 setSelectedId(firstId);

786 try {

787 history.replaceState(null, '', '#ce-' + firstId);

788 } catch (e) {}

789 };

790 const toggleFullscreen = () => {

791 if (!rootRef.current) return;

792 if (document.fullscreenElement) document.exitFullscreen(); else rootRef.current.requestFullscreen().catch(() => {});

793 };

794 const selectNode = n => {

795 setSelectedId(n.id);

796 if (n.type === 'folder' && !expandedFolders.has(n.id)) toggleFolder(n.id);

797 try {

798 history.replaceState(null, '', '#ce-' + n.id);

799 } catch (e) {}

800 };

801 const iconBtn = {

802 width: 28,

803 flexShrink: 0,

804 borderRadius: '6px',

805 border: 'none',

806 cursor: 'pointer',

807 background: 'transparent',

808 color: 'var(--ce-text-4)',

809 display: 'flex',

810 alignItems: 'center',

811 justifyContent: 'center'

812 };

813 const visibleFolderIds = allFolderIds.filter(id => allNodes[id].root === activeRoot);

814 const allExpanded = visibleFolderIds.every(id => expandedFolders.has(id));

815 const toggleAllFolders = () => {

816 const next = new Set(expandedFolders);

817 visibleFolderIds.forEach(id => allExpanded ? next.delete(id) : next.add(id));

818 setExpandedFolders(next);

819 };

820 const onTreeKeyDown = e => {

821 if (!['ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft'].includes(e.key)) return;

822 const visible = [];

823 const walk = nodes => {

824 for (const n of nodes) {

825 visible.push(n.id);

826 if (n.children && expandedFolders.has(n.id)) walk(n.children);

827 }

828 };

829 walk(tree.children);

830 const i = visible.indexOf(selectedId);

831 if (i === -1) return;

832 e.preventDefault();

833 if (e.key === 'ArrowDown' && i < visible.length - 1) selectNode(allNodes[visible[i + 1]]); else if (e.key === 'ArrowUp' && i > 0) selectNode(allNodes[visible[i - 1]]); else if (e.key === 'ArrowRight' && selected.type === 'folder') {

834 if (!expandedFolders.has(selectedId)) toggleFolder(selectedId); else if (selected.children && selected.children.length) selectNode(allNodes[selected.children[0].id]);

835 } else if (e.key === 'ArrowLeft') {

836 if (selected.type === 'folder' && expandedFolders.has(selectedId)) toggleFolder(selectedId); else if (selected.parentId) selectNode(allNodes[selected.parentId]);

837 }

838 };

839 const copyExample = (id, text) => {

840 const done = () => {

841 setCopiedId(id);

842 if (copyTimeoutRef.current) clearTimeout(copyTimeoutRef.current);

843 copyTimeoutRef.current = setTimeout(() => setCopiedId(null), 2000);

844 };

845 const fallback = () => {

846 const ta = document.createElement('textarea');

847 ta.value = text;

848 ta.style.position = 'fixed';

849 ta.style.opacity = '0';

850 document.body.appendChild(ta);

851 ta.select();

852 try {

853 if (document.execCommand('copy')) done();

854 } catch (e) {}

855 document.body.removeChild(ta);

856 };

857 if (navigator.clipboard) {

858 navigator.clipboard.writeText(text).then(done, fallback);

859 } else {

860 fallback();

861 }

862 };

863 const renderIcon = (icon, color, size) => {

864 const sz = size || 14;

865 if (icon === 'folder') {

866 return <svg width={sz} height={sz} viewBox="0 0 14 14" fill="none">

867 <path d="M1.5 3.5a1 1 0 0 1 1-1h2.6l1 1.2h5.4a1 1 0 0 1 1 1v5.8a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1V3.5z" fill={color} fillOpacity="0.15" stroke={color} strokeWidth="1" />

868 </svg>;

869 }

870 if (icon === 'json') {

871 return <svg width={sz} height={sz} viewBox="0 0 14 14" fill="none">

872 <rect x="2" y="1.5" width="10" height="11" rx="1.5" fill={color} fillOpacity="0.15" stroke={color} strokeWidth="1" />

873 <text x="7" y="9" fontSize="6" fontFamily="monospace" fill={color} textAnchor="middle" fontWeight="700">{'{}'}</text>

874 </svg>;

875 }

876 return <svg width={sz} height={sz} viewBox="0 0 14 14" fill="none">

877 <rect x="2" y="1.5" width="10" height="11" rx="1.5" fill={color} fillOpacity="0.15" stroke={color} strokeWidth="1" />

878 <line x1="4.5" y1="5" x2="9.5" y2="5" stroke={color} strokeWidth="1" />

879 <line x1="4.5" y1="7" x2="9.5" y2="7" stroke={color} strokeWidth="1" />

880 <line x1="4.5" y1="9" x2="8" y2="9" stroke={color} strokeWidth="1" />

881 </svg>;

882 };

883 const renderNode = (node, depth) => {

884 const isFolder = node.type === 'folder';

885 const isExpanded = expandedFolders.has(node.id);

886 const isSelected = selectedId === node.id;

887 return <div key={node.id}>

888 <button role="treeitem" tabIndex={-1} onClick={() => selectNode(node)} aria-selected={isSelected} aria-expanded={isFolder ? isExpanded : undefined} style={{

889 display: 'flex',

890 alignItems: 'center',

891 gap: '5px',

892 width: '100%',

893 padding: `4px 8px 4px ${8 + depth * 16}px`,

894 background: isSelected ? 'var(--ce-accent-bg)' : 'transparent',

895 borderTop: 'none',

896 borderRight: 'none',

897 borderBottom: 'none',

898 borderLeft: isSelected ? '2px solid var(--ce-accent)' : '2px solid transparent',

899 outline: 'none',

900 cursor: 'pointer',

901 textAlign: 'left',

902 fontFamily: 'var(--ce-mono)',

903 fontSize: '13.5px',

904 color: isSelected ? 'var(--ce-accent)' : 'var(--ce-text-2)',

905 fontWeight: isSelected ? 550 : 400,

906 transition: 'all 0.1s'

907 }}>

908 {isFolder ? <span onClick={e => {

909 e.stopPropagation();

910 toggleFolder(node.id);

911 }} style={{

912 fontSize: '14px',

913 color: 'var(--ce-text-4)',

914 width: '20px',

915 height: '20px',

916 display: 'inline-flex',

917 alignItems: 'center',

918 justifyContent: 'center',

919 cursor: 'pointer',

920 borderRadius: '4px',

921 marginLeft: '-6px',

922 flexShrink: 0

923 }} onMouseEnter={e => {

924 e.currentTarget.style.background = 'var(--ce-arrow-hover)';

925 e.currentTarget.style.color = 'var(--ce-text-2)';

926 }} onMouseLeave={e => {

927 e.currentTarget.style.background = 'transparent';

928 e.currentTarget.style.color = 'var(--ce-text-4)';

929 }}>{isExpanded ? '▾' : '▸'}</span> : <span style={{

930 width: '14px',

931 flexShrink: 0

932 }} />}

933 {renderIcon(node.icon, node.color)}

934 <span style={{

935 flex: 1,

936 overflow: 'hidden',

937 textOverflow: 'ellipsis',

938 whiteSpace: 'nowrap'

939 }}>{node.label}</span>

940 {node.badge && BADGE_STYLES[node.badge] && <span title={BADGE_STYLES[node.badge].label} style={{

941 width: 6,

942 height: 6,

943 borderRadius: '50%',

944 background: BADGE_STYLES[node.badge].color,

945 flexShrink: 0,

946 opacity: 0.7

947 }} />}

948 </button>

949 {isFolder && isExpanded && node.children && <div role="group">{node.children.map(child => renderNode(child, depth + 1))}</div>}

950 </div>;

951 };

952 return <>

953 <style>{`

954 .ce-root {

955 --ce-mono: var(--font-mono, ui-monospace, monospace);

956 --ce-accent: #D97757;

957 --ce-accent-bg: rgba(217,119,87,0.06);

958 --ce-accent-border: rgba(217,119,87,0.12);

959 --ce-bg: #fff;

960 --ce-surface: #FAFAF7;

961 --ce-surface-hover: #F0EEE6;

962 --ce-border: #E8E6DC;

963 --ce-border-subtle: #F0EEE6;

964 --ce-text: #141413;

965 --ce-text-2: #5E5D59;

966 --ce-text-3: #73726C;

967 --ce-text-4: #9C9A92;

968 --ce-text-5: #B8B6AE;

969 --ce-sep: #D1CFC5;

970 --ce-code-header: #F5F4ED;

971 --ce-code-bg: #1A1918;

972 --ce-arrow-hover: rgba(0,0,0,0.08);

973 --ce-badge-committed: #3d6b2e;

974 --ce-badge-gitignored: #b85c3a;

975 --ce-badge-local: #5e5d59;

976 --ce-badge-autogen: #b07520;

977 --ce-when-text: #4a7fb5;

978 }

979 .dark .ce-root {

980 --ce-bg: #1a1918;

981 --ce-surface: #232221;

982 --ce-surface-hover: #2e2d2b;

983 --ce-border: #3a3936;

984 --ce-border-subtle: #2e2d2b;

985 --ce-text: #e8e6dc;

986 --ce-text-2: #c4c2b8;

987 --ce-text-3: #9c9a92;

988 --ce-text-4: #73726c;

989 --ce-text-5: #5e5d59;

990 --ce-sep: #4a4946;

991 --ce-code-header: #2e2d2b;

992 --ce-code-bg: #0d0d0c;

993 --ce-arrow-hover: rgba(255,255,255,0.08);

994 --ce-badge-committed: #6fa85c;

995 --ce-badge-gitignored: #e08a60;

996 --ce-badge-local: #9c9a92;

997 --ce-badge-autogen: #e8a45c;

998 --ce-when-text: #8bb4e0;

999 }

1000 .ce-mobile-fallback { display: none; border: 1px solid rgba(0,0,0,0.1); background: rgba(0,0,0,0.03); }

1001 .dark .ce-mobile-fallback { border-color: rgba(255,255,255,0.15); background: rgba(255,255,255,0.04); }

1002 @media (max-width: 700px) {

1003 .ce-root:not(.ce-force) { display: none !important; }

1004 .ce-mobile-fallback { display: block; }

1005 }

1006 `}</style>

1007 {!forceMobile && <div className="ce-mobile-fallback" style={{

1008 padding: '14px 16px',

1009 borderRadius: '8px',

1010 fontSize: '14px'

1011 }}>

1012 The interactive explorer works best on a larger screen. See the <a href="#file-reference" style={{

1013 color: '#D97757'

1014 }}>file reference table</a> below, or <button onClick={() => setForceMobile(true)} style={{

1015 border: 'none',

1016 background: 'none',

1017 padding: 0,

1018 color: '#D97757',

1019 textDecoration: 'underline',

1020 cursor: 'pointer',

1021 font: 'inherit'

1022 }}>show the explorer anyway</button>.

1023 </div>}

1024 <div ref={rootRef} className={forceMobile ? 'ce-root ce-force' : 'ce-root'} style={{

1025 borderRadius: isFullscreen ? 0 : '12px',

1026 border: '1px solid var(--ce-border)',

1027 background: 'var(--ce-bg)',

1028 display: 'flex',

1029 alignItems: 'stretch',

1030 overflow: 'hidden',

1031 fontFamily: 'var(--font-sans, -apple-system, sans-serif)',

1032 ...isFullscreen && ({

1033 height: '100vh'

1034 })

1035 }}>

1036 {}

1037 <div style={{

1038 width: 'min(240px, 35%)',

1039 minWidth: '180px',

1040 flexShrink: 0,

1041 borderRight: '1px solid var(--ce-border-subtle)',

1042 background: 'var(--ce-surface)',

1043 display: 'flex',

1044 flexDirection: 'column'

1045 }}>

1046 <div style={{

1047 padding: '8px 8px 4px',

1048 borderBottom: '1px solid var(--ce-border-subtle)',

1049 display: 'flex',

1050 gap: '4px'

1051 }}>

1052 {['project', 'global'].map(root => <button key={root} onClick={() => switchRoot(root)} style={{

1053 flex: 1,

1054 padding: '6px 0',

1055 borderRadius: '6px',

1056 border: 'none',

1057 cursor: 'pointer',

1058 fontFamily: 'var(--ce-mono)',

1059 fontSize: '11.5px',

1060 background: activeRoot === root ? 'var(--ce-accent-bg)' : 'transparent',

1061 color: activeRoot === root ? 'var(--ce-accent)' : 'var(--ce-text-4)',

1062 fontWeight: activeRoot === root ? 600 : 430

1063 }}>

1064 {root === 'project' ? 'Project' : 'Global (~/)'}

1065 </button>)}

1066 <button onClick={toggleAllFolders} title={allExpanded ? 'Collapse all' : 'Expand all'} style={{

1067 ...iconBtn,

1068 fontSize: 11

1069 }}>

1070 {allExpanded ? '⊟' : '⊞'}

1071 </button>

1072 <button onClick={toggleFullscreen} title={isFullscreen ? 'Exit fullscreen' : 'Fullscreen'} style={{

1073 ...iconBtn,

1074 fontSize: 13

1075 }}>

1076 {isFullscreen ? '⤡' : '⛶'}

1077 </button>

1078 </div>

1079 <div role="tree" aria-label="Configuration files" tabIndex={0} onKeyDown={onTreeKeyDown} style={{

1080 padding: '6px 0',

1081 overflowY: 'auto',

1082 flex: 1,

1083 outline: 'none'

1084 }}>

1085 {tree.children.map(node => renderNode(node, 0))}

1086 </div>

1087 </div>

1088 

1089 {}

1090 <div style={{

1091 flex: 1,

1092 minWidth: 0,

1093 padding: '20px 24px',

1094 minHeight: '400px',

1095 overflowY: 'auto'

1096 }}>

1097 <span aria-live="polite" style={{

1098 position: 'absolute',

1099 width: 1,

1100 height: 1,

1101 overflow: 'hidden',

1102 clip: 'rect(0 0 0 0)'

1103 }}>{selected.label} selected</span>

1104 {}

1105 <div style={{

1106 fontFamily: 'var(--ce-mono)',

1107 fontSize: '11px',

1108 color: 'var(--ce-text-4)',

1109 marginBottom: '10px',

1110 cursor: 'default'

1111 }}>

1112 {selected.path.map((seg, i) => <span key={i}>

1113 <span style={{

1114 color: i === selected.path.length - 1 ? 'var(--ce-accent)' : 'var(--ce-text-4)'

1115 }}>{seg.replace(/\/$/, '')}</span>

1116 {i < selected.path.length - 1 && <span style={{

1117 color: 'var(--ce-sep)'

1118 }}> / </span>}

1119 </span>)}

1120 </div>

1121 

1122 {}

1123 <div style={{

1124 display: 'flex',

1125 alignItems: 'flex-start',

1126 gap: '10px',

1127 marginBottom: '10px'

1128 }}>

1129 <span style={{

1130 flexShrink: 0,

1131 display: 'flex'

1132 }}>{renderIcon(selected.icon, selected.color, 24)}</span>

1133 <div style={{

1134 flex: 1,

1135 minWidth: 0

1136 }}>

1137 <div style={{

1138 fontSize: '22px',

1139 fontWeight: 600,

1140 color: 'var(--ce-text)',

1141 letterSpacing: '-0.3px',

1142 lineHeight: '26px'

1143 }}>{selected.label}</div>

1144 {selected.oneLiner && <div style={{

1145 fontSize: '15px',

1146 color: 'var(--ce-text-3)',

1147 marginTop: '3px'

1148 }}>{selected.oneLiner}</div>}

1149 </div>

1150 <div style={{

1151 display: 'flex',

1152 gap: '4px',

1153 flexShrink: 0

1154 }}>

1155 {[selected.autogen && 'autogen', selected.badge].filter(Boolean).map(k => {

1156 const s = BADGE_STYLES[k];

1157 if (!s) return null;

1158 return <span key={k} style={{

1159 fontFamily: 'var(--ce-mono)',

1160 fontSize: '10px',

1161 fontWeight: 600,

1162 textTransform: 'uppercase',

1163 letterSpacing: '0.3px',

1164 padding: '2px 6px',

1165 borderRadius: '4px',

1166 background: s.bg,

1167 color: s.color,

1168 border: `0.5px solid ${s.border}`

1169 }}>{s.label}</span>;

1170 })}

1171 </div>

1172 </div>

1173 

1174 {}

1175 {selected.note && <div style={{

1176 padding: '10px 12px',

1177 borderRadius: '8px',

1178 marginBottom: '14px',

1179 background: 'rgba(217,119,87,0.06)',

1180 border: '1px solid rgba(217,119,87,0.2)',

1181 borderLeft: '3px solid var(--ce-accent)',

1182 fontSize: '15px',

1183 color: 'var(--ce-text-2)',

1184 lineHeight: 1.6

1185 }}>

1186 {selected.note}

1187 </div>}

1188 

1189 {}

1190 {selected.when && <div style={{

1191 padding: '8px 12px',

1192 borderRadius: '6px',

1193 background: 'rgba(106,155,204,0.06)',

1194 border: '0.5px solid rgba(106,155,204,0.12)',

1195 fontSize: '15px',

1196 color: 'var(--ce-when-text)',

1197 marginBottom: '16px'

1198 }}>

1199 <div style={{

1200 fontSize: '10px',

1201 fontWeight: 700,

1202 textTransform: 'uppercase',

1203 letterSpacing: '0.4px',

1204 opacity: 0.65,

1205 marginBottom: '3px'

1206 }}>When it loads</div>

1207 <div style={{

1208 fontWeight: 500

1209 }}>{selected.when}</div>

1210 </div>}

1211 

1212 {}

1213 {selected.description && <div style={{

1214 fontSize: '16px',

1215 color: 'var(--ce-text-2)',

1216 lineHeight: 1.65,

1217 marginBottom: '16px'

1218 }}>

1219 {Array.isArray(selected.description) ? selected.description.map((para, i) => <div key={i} style={{

1220 marginBottom: i < selected.description.length - 1 ? '12px' : 0

1221 }}>{para}</div>) : selected.description}

1222 </div>}

1223 

1224 {}

1225 {selected.contains && selected.contains.length > 0 && <div style={{

1226 marginBottom: '16px'

1227 }}>

1228 <div style={{

1229 fontSize: '11px',

1230 fontWeight: 700,

1231 color: 'var(--ce-text-4)',

1232 textTransform: 'uppercase',

1233 letterSpacing: '0.4px',

1234 marginBottom: '8px'

1235 }}>Common keys</div>

1236 {selected.contains.map((item, i) => <div key={i} style={{

1237 display: 'flex',

1238 gap: '7px',

1239 fontSize: '15px',

1240 color: 'var(--ce-text-2)',

1241 lineHeight: 1.5,

1242 marginBottom: '5px'

1243 }}>

1244 <span style={{

1245 fontSize: '7px',

1246 color: 'var(--ce-text-4)',

1247 marginTop: '6px'

1248 }}>●</span>

1249 <span>{item}</span>

1250 </div>)}

1251 </div>}

1252 

1253 {}

1254 {selected.tips && selected.tips.length > 0 && <div style={{

1255 padding: '12px 14px',

1256 borderRadius: '8px',

1257 background: 'var(--ce-surface)',

1258 border: '1px solid var(--ce-border-subtle)',

1259 marginBottom: '16px'

1260 }}>

1261 <div style={{

1262 fontSize: '11px',

1263 fontWeight: 700,

1264 color: 'var(--ce-accent)',

1265 textTransform: 'uppercase',

1266 letterSpacing: '0.4px',

1267 marginBottom: '6px'

1268 }}>Tips</div>

1269 {selected.tips.map((tip, i) => <div key={i} style={{

1270 display: 'flex',

1271 gap: '7px',

1272 fontSize: '14.5px',

1273 color: 'var(--ce-text-2)',

1274 marginBottom: i < selected.tips.length - 1 ? '5px' : 0

1275 }}>

1276 <span style={{

1277 fontSize: '7px',

1278 color: 'var(--ce-accent)',

1279 marginTop: '6px'

1280 }}>●</span>

1281 <span>{tip}</span>

1282 </div>)}

1283 </div>}

1284 

1285 {}

1286 {selected.example && <div style={{

1287 marginBottom: '16px'

1288 }}>

1289 {selected.exampleIntro && <div style={{

1290 fontSize: '15px',

1291 color: 'var(--ce-text-2)',

1292 lineHeight: 1.6,

1293 marginBottom: '10px'

1294 }}>

1295 {selected.exampleIntro}

1296 </div>}

1297 <div style={{

1298 display: 'flex',

1299 justifyContent: 'space-between',

1300 alignItems: 'center',

1301 padding: '6px 10px',

1302 background: 'var(--ce-code-header)',

1303 border: '1px solid var(--ce-border)',

1304 borderRadius: '8px 8px 0 0'

1305 }}>

1306 <span style={{

1307 fontFamily: 'var(--ce-mono)',

1308 fontSize: '11px',

1309 fontWeight: 600,

1310 color: 'var(--ce-text-3)'

1311 }}>{selected.label}</span>

1312 <button onClick={() => copyExample(selected.id, selected.example)} style={{

1313 padding: '3px 8px',

1314 borderRadius: '4px',

1315 fontSize: '11px',

1316 fontWeight: 600,

1317 cursor: 'pointer',

1318 transition: 'all 0.15s',

1319 background: isCopied ? 'rgba(85,138,66,0.08)' : 'var(--ce-code-header)',

1320 border: isCopied ? '0.5px solid rgba(85,138,66,0.2)' : '0.5px solid var(--ce-border)',

1321 color: isCopied ? '#558A42' : 'var(--ce-text-3)'

1322 }}>

1323 {isCopied ? '✓ Copied' : 'Copy'}

1324 </button>

1325 </div>

1326 <pre style={{

1327 margin: 0,

1328 padding: '12px 14px',

1329 background: 'var(--ce-code-bg)',

1330 color: '#E8E6DC',

1331 fontFamily: 'var(--ce-mono)',

1332 fontSize: '13px',

1333 lineHeight: 1.65,

1334 borderRadius: '0 0 8px 8px',

1335 overflowX: 'auto',

1336 whiteSpace: 'pre'

1337 }}>{selected.example}</pre>

1338 </div>}

1339 

1340 {}

1341 {selected.docsLink && <a href={selected.docsLink} style={{

1342 display: 'inline-flex',

1343 padding: '5px 12px',

1344 borderRadius: '6px',

1345 background: 'var(--ce-accent-bg)',

1346 border: '1px solid var(--ce-accent-border)',

1347 color: 'var(--ce-accent)',

1348 fontSize: '12px',

1349 fontWeight: 600,

1350 textDecoration: 'none'

1351 }}>Full docs →</a>}

1352 

1353 {}

1354 {selected.children && selected.children.length > 0 && <div style={{

1355 marginTop: '20px'

1356 }}>

1357 <div style={{

1358 fontSize: '11px',

1359 fontWeight: 700,

1360 color: 'var(--ce-text-4)',

1361 textTransform: 'uppercase',

1362 letterSpacing: '0.4px',

1363 marginBottom: '8px'

1364 }}>Contents</div>

1365 <div style={{

1366 display: 'flex',

1367 flexDirection: 'column',

1368 gap: '4px'

1369 }}>

1370 {selected.children.map(child => <button key={child.id} onClick={() => selectNode(child)} style={{

1371 display: 'flex',

1372 alignItems: 'center',

1373 gap: '8px',

1374 padding: '6px 8px',

1375 width: '100%',

1376 background: 'var(--ce-surface)',

1377 borderRadius: '6px',

1378 border: 'none',

1379 cursor: 'pointer',

1380 textAlign: 'left',

1381 transition: 'background 0.1s'

1382 }} onMouseEnter={e => e.currentTarget.style.background = 'var(--ce-surface-hover)'} onMouseLeave={e => e.currentTarget.style.background = 'var(--ce-surface)'}>

1383 {renderIcon(child.icon, child.color, 13)}

1384 <span style={{

1385 fontFamily: 'var(--ce-mono)',

1386 fontSize: '12px',

1387 color: 'var(--ce-text-2)'

1388 }}>{child.label}</span>

1389 {child.oneLiner && <span style={{

1390 fontSize: '11px',

1391 color: 'var(--ce-text-4)',

1392 overflow: 'hidden',

1393 textOverflow: 'ellipsis',

1394 whiteSpace: 'nowrap'

1395 }}>{child.oneLiner}</span>}

1396 </button>)}

1397 </div>

1398 </div>}

1399 </div>

1400 </div>

1401 </>;

1402};

1403 8 

1404Claude Code は、プロジェクトディレクトリとホームディレクトリの `~/.claude` から、指示、設定、skills、subagents、メモリを読み込みます。プロジェクトファイルを git にコミットしてチームと共有します。`~/.claude` 内のファイルは、すべてのプロジェクトに適用される個人設定です。9Claude Code は、プロジェクトディレクトリとホームディレクトリの `~/.claude` から、指示、設定、skills、subagents、メモリを読み込みます。プロジェクトファイルを git にコミットしてチームと共有します。`~/.claude` 内のファイルは、すべてのプロジェクトに適用される個人設定です。

1405 10 


1414 12 

1415ほとんどのユーザーは `CLAUDE.md` と `settings.json` のみを編集します。ディレクトリの残りはオプションです。必要に応じて skills、rules、または subagents を追加してください。13ほとんどのユーザーは `CLAUDE.md` と `settings.json` のみを編集します。ディレクトリの残りはオプションです。必要に応じて skills、rules、または subagents を追加してください。

1416 14 

1417## ディレクトリを探索する15<h2 id="explore-the-directory">

16 ディレクトリを探索する

17</h2>

1418 18 

1419ツリー内のファイルをクリックして、各ファイルの機能、読み込みタイミング、および例を確認してください。19ツリー内のファイルをクリックして、各ファイルの機能、読み込みタイミング、および例を確認してください。

1420 20 

1421<ClaudeExplorer />21<h2 id="what-s-not-shown">

1422 22 表示されていないもの

1423## 表示されていないもの23</h2>

1424 24 

1425エクスプローラーは、作成および編集するファイルをカバーしています。関連するいくつかのファイルは他の場所に存在します。25エクスプローラーは、作成および編集するファイルをカバーしています。関連するいくつかのファイルは他の場所に存在します。

1426 26 


1432 32 

1433`~/.claude` は、作業中に Claude Code が書き込むデータも保持します。トランスクリプト、プロンプト履歴、ファイルスナップショット、キャッシュ、ログです。以下の[アプリケーションデータ](#application-data)を参照してください。33`~/.claude` は、作業中に Claude Code が書き込むデータも保持します。トランスクリプト、プロンプト履歴、ファイルスナップショット、キャッシュ、ログです。以下の[アプリケーションデータ](#application-data)を参照してください。

1434 34 

1435## 適切なファイルを選択する35<h2 id="choose-the-right-file">

36 適切なファイルを選択する

37</h2>

1436 38 

1437異なる種類のカスタマイズは異なるファイルに存在します。このテーブルを使用して、変更がどこに属するかを見つけてください。39異なる種類のカスタマイズは異なるファイルに存在します。このテーブルを使用して、変更がどこに属するかを見つけてください。

1438 40 

1439| 実行したいこと | 編集 | スコープ | リファレンス |41| 実行したいこと | 編集 | スコープ | リファレンス |

1440| :---------------------------- | :---------------------------------------- | :------------- | :-------------------------------------------- |42| :-------------------------------- | :---------------------------------------- | :------------- | :-------------------------------------------- |

1441| Claude にプロジェクトコンテキストと規約を提供する | `CLAUDE.md` | プロジェクトまたはグローバル | [メモリ](/ja/memory) |43| Claude にプロジェクトコンテキストと規約を提供する | `CLAUDE.md` | プロジェクトまたはグローバル | [メモリ](/ja/memory) |

1442| 特定のツール呼び出しを許可またはブロックする | `settings.json` `permissions` または `hooks` | プロジェクトまたはグローバル | [パーミッション](/ja/permissions)、[Hooks](/ja/hooks) |44| 特定のツール呼び出しを許可またはブロックする | `settings.json` `permissions` または `hooks` | プロジェクトまたはグローバル | [パーミッション](/ja/permissions)、[Hooks](/ja/hooks) |

1443| ツール呼び出しの前後にスクリプトを実行する | `settings.json` `hooks` | プロジェクトまたはグローバル | [Hooks](/ja/hooks) |45| ツール呼び出しの前後にスクリプトを実行する | `settings.json` `hooks` | プロジェクトまたはグローバル | [Hooks](/ja/hooks) |


1445| 個人的なオーバーライドを git から除外する | `settings.local.json` | プロジェクトのみ | [設定スコープ](/ja/settings#settings-files) |47| 個人的なオーバーライドを git から除外する | `settings.local.json` | プロジェクトのみ | [設定スコープ](/ja/settings#settings-files) |

1446| `/name` で呼び出すプロンプトまたは機能を追加する | `skills/<name>/SKILL.md` | プロジェクトまたはグローバル | [Skills](/ja/skills) |48| `/name` で呼び出すプロンプトまたは機能を追加する | `skills/<name>/SKILL.md` | プロジェクトまたはグローバル | [Skills](/ja/skills) |

1447| 独自のツールを持つ特化した subagent を定義する | `agents/*.md` | プロジェクトまたはグローバル | [Subagents](/ja/sub-agents) |49| 独自のツールを持つ特化した subagent を定義する | `agents/*.md` | プロジェクトまたはグローバル | [Subagents](/ja/sub-agents) |

50| スクリプトから多くの subagent をオーケストレーションする | `workflows/*.js` | プロジェクトまたはグローバル | [動的ワークフロー](/ja/workflows) |

1448| MCP 経由で外部ツールを接続する | `.mcp.json` | プロジェクトのみ | [MCP](/ja/mcp) |51| MCP 経由で外部ツールを接続する | `.mcp.json` | プロジェクトのみ | [MCP](/ja/mcp) |

1449| Claude がレスポンスをフォーマットする方法を変更する | `output-styles/*.md` | プロジェクトまたはグローバル | [出力スタイル](/ja/output-styles) |52| Claude がレスポンスをフォーマットする方法を変更する | `output-styles/*.md` | プロジェクトまたはグローバル | [出力スタイル](/ja/output-styles) |

1450 53 

1451## ファイルリファレンス54<h2 id="file-reference">

55 ファイルリファレンス

56</h2>

1452 57 

1453このテーブルは、エクスプローラーがカバーするすべてのファイルをリストしています。プロジェクトスコープのファイルはリポジトリの `.claude/` の下に存在します(`CLAUDE.md`、`.mcp.json`、`.worktreeinclude` はルートにあります)。グローバルスコープのファイルは `~/.claude/` に存在し、すべてのプロジェクトに適用されます。58このテーブルは、エクスプローラーがカバーするすべてのファイルをリストしています。プロジェクトスコープのファイルはリポジトリの `.claude/` の下に存在します(`CLAUDE.md`、`.mcp.json`、`.worktreeinclude` はルートにあります)。グローバルスコープのファイルは `~/.claude/` に存在し、すべてのプロジェクトに適用されます。

1454 59 


1465ファイル名をクリックして、上記のエクスプローラーでそのノードを開きます。70ファイル名をクリックして、上記のエクスプローラーでそのノードを開きます。

1466 71 

1467| ファイル | スコープ | コミット | 機能 | リファレンス |72| ファイル | スコープ | コミット | 機能 | リファレンス |

1468| --------------------------------------------------- | -------------- | ---- | -------------------------------------- | --------------------------------------------------------------- |73| --------------------------------------------------- | -------------- | ---- | ------------------------------------------------------------------------- | --------------------------------------------------------------- |

1469| [`CLAUDE.md`](#ce-claude-md) | プロジェクトおよびグローバル | ✓ | 毎セッション読み込まれる指示 | [メモリ](/ja/memory) |74| [`CLAUDE.md`](#ce-claude-md) | プロジェクトおよびグローバル | ✓ | 毎セッション読み込まれる指示 | [メモリ](/ja/memory) |

1470| [`rules/*.md`](#ce-rules) | プロジェクトおよびグローバル | ✓ | トピックスコープの指示、オプションでパスゲート | [ルール](/ja/memory#organize-rules-with-claude/rules/) |75| [`rules/*.md`](#ce-rules) | プロジェクトおよびグローバル | ✓ | トピックスコープの指示、オプションでパスゲート | [ルール](/ja/memory#organize-rules-with-claude/rules/) |

1471| [`settings.json`](#ce-settings-json) | プロジェクトおよびグローバル | ✓ | パーミッション、hooks、環境変数、モデルデフォルト | [設定](/ja/settings) |76| [`settings.json`](#ce-settings-json) | プロジェクトおよびグローバル | ✓ | パーミッション、hooks、環境変数、モデルデフォルト | [設定](/ja/settings) |


1476| [`commands/*.md`](#ce-commands) | プロジェクトおよびグローバル | ✓ | シングルファイルプロンプト。skills と同じメカニズム | [Skills](/ja/skills) |81| [`commands/*.md`](#ce-commands) | プロジェクトおよびグローバル | ✓ | シングルファイルプロンプト。skills と同じメカニズム | [Skills](/ja/skills) |

1477| [`output-styles/*.md`](#ce-output-styles) | プロジェクトおよびグローバル | ✓ | カスタムシステムプロンプトセクション | [出力スタイル](/ja/output-styles) |82| [`output-styles/*.md`](#ce-output-styles) | プロジェクトおよびグローバル | ✓ | カスタムシステムプロンプトセクション | [出力スタイル](/ja/output-styles) |

1478| [`agents/*.md`](#ce-agents) | プロジェクトおよびグローバル | ✓ | 独自のプロンプトとツールを持つ subagent 定義 | [Subagents](/ja/sub-agents) |83| [`agents/*.md`](#ce-agents) | プロジェクトおよびグローバル | ✓ | 独自のプロンプトとツールを持つ subagent 定義 | [Subagents](/ja/sub-agents) |

84| [`workflows/*.js`](#ce-workflows) | プロジェクトおよびグローバル | ✓ | Claude によって書かれた動的ワークフロースクリプト、`/workflows` から保存。各ファイルは `/<name>` コマンドになります | [動的ワークフロー](/ja/workflows) |

1479| [`agent-memory/<name>/`](#ce-agent-memory) | プロジェクトおよびグローバル | ✓ | subagents の永続メモリ | [永続メモリ](/ja/sub-agents#enable-persistent-memory) |85| [`agent-memory/<name>/`](#ce-agent-memory) | プロジェクトおよびグローバル | ✓ | subagents の永続メモリ | [永続メモリ](/ja/sub-agents#enable-persistent-memory) |

1480| [`~/.claude.json`](#ce-claude-json) | グローバルのみ | | アプリ状態、OAuth、UI トグル、個人 MCP サーバー | [グローバル設定](/ja/settings#global-config-settings) |86| [`~/.claude.json`](#ce-claude-json) | グローバルのみ | | アプリ状態、OAuth、UI トグル、個人 MCP サーバー | [グローバル設定](/ja/settings#global-config-settings) |

1481| [`projects/<project>/memory/`](#ce-global-projects) | グローバルのみ | | Auto memory:Claude のセッション間のメモ | [Auto memory](/ja/memory#auto-memory) |87| [`projects/<project>/memory/`](#ce-global-projects) | グローバルのみ | | Auto memory:Claude のセッション間のメモ | [Auto memory](/ja/memory#auto-memory) |

1482| [`keybindings.json`](#ce-keybindings) | グローバルのみ | | カスタムキーボードショートカット | [キーバインディング](/ja/keybindings) |88| [`keybindings.json`](#ce-keybindings) | グローバルのみ | | カスタムキーボードショートカット | [キーバインディング](/ja/keybindings) |

1483| [`themes/*.json`](#ce-themes) | グローバルのみ | | カスタムカラーテーマ | [カスタムテーマ](/ja/terminal-config#create-a-custom-theme) |89| [`themes/*.json`](#ce-themes) | グローバルのみ | | カスタムカラーテーマ | [カスタムテーマ](/ja/terminal-config#create-a-custom-theme) |

1484 90 

1485## 設定をトラブルシューティングする91<h2 id="troubleshoot-configuration">

92 設定をトラブルシューティングする

93</h2>

1486 94 

1487設定、hook、またはファイルが有効になっていない場合は、[設定をデバッグする](/ja/debug-your-config)を参照して、検査コマンドと症状優先ルックアップテーブルを確認してください。95設定、hook、またはファイルが有効になっていない場合は、[設定をデバッグする](/ja/debug-your-config)を参照して、検査コマンドと症状優先ルックアップテーブルを確認してください。

1488 96 

1489## アプリケーションデータ97<h2 id="application-data">

98 アプリケーションデータ

99</h2>

1490 100 

1491作成する設定を超えて、`~/.claude` はセッション中に Claude Code が書き込むデータを保持します。これらのファイルはプレーンテキストです。ツールを通過するすべてのものはディスク上のトランスクリプトに記録されます。ファイルコンテンツ、コマンド出力、貼り付けられたテキスト。101作成する設定を超えて、`~/.claude` はセッション中に Claude Code が書き込むデータを保持します。これらのファイルはプレーンテキストです。ツールを通過するすべてのものはディスク上のトランスクリプトに記録されます。ファイルコンテンツ、コマンド出力、貼り付けられたテキスト。

1492 102 

1493### 自動的にクリーンアップされる103<h3 id="cleaned-up-automatically">

104 自動的にクリーンアップされる

105</h3>

1494 106 

1495以下のパス内のファイルは、[`cleanupPeriodDays`](/ja/settings#available-settings) より古い場合、起動時に削除されます。デフォルトは 30 日です。107以下のパス内のファイルは、[`cleanupPeriodDays`](/ja/settings#available-settings) より古い場合、起動時に削除されます。デフォルトは 30 日です。

1496 108 


1508| `shell-snapshots/` | Bash ツールによって使用されるキャプチャされたシェル環境。正常な終了時に削除されます。スイープはクラッシュ後に残されたものをクリアします。 |120| `shell-snapshots/` | Bash ツールによって使用されるキャプチャされたシェル環境。正常な終了時に削除されます。スイープはクラッシュ後に残されたものをクリアします。 |

1509| `backups/` | 設定マイグレーション前に取得された `~/.claude.json` のタイムスタンプ付きコピー |121| `backups/` | 設定マイグレーション前に取得された `~/.claude.json` のタイムスタンプ付きコピー |

1510| `feedback-bundles/` | `/feedback` によってサードパーティプロバイダーに書き込まれた編集済みトランスクリプトアーカイブ。Anthropic アカウントチームに送信するため |122| `feedback-bundles/` | `/feedback` によってサードパーティプロバイダーに書き込まれた編集済みトランスクリプトアーカイブ。Anthropic アカウントチームに送信するため |

123| `todos/`、`statsig/`、`logs/` | 古いバージョンのレガシーディレクトリ。現在は書き込まれません。スイープはコンテンツを削除してから空のディレクトリを削除します。 |

1511 124 

1512### 削除するまで保持される125<h3 id="kept-until-you-delete-them">

126 削除するまで保持される

127</h3>

1513 128 

1514以下のパスは自動クリーンアップの対象ではなく、無期限に保持されます。129以下のパスは自動クリーンアップの対象ではなく、無期限に保持されます。

1515 130 


1518| `history.jsonl` | 入力したすべてのプロンプト(タイムスタンプとプロジェクトパス付き)。上矢印リコール用に使用 |133| `history.jsonl` | 入力したすべてのプロンプト(タイムスタンプとプロジェクトパス付き)。上矢印リコール用に使用 |

1519| `stats-cache.json` | `/usage` で表示される集計トークンおよびコスト数 |134| `stats-cache.json` | `/usage` で表示される集計トークンおよびコスト数 |

1520| `remote-settings.json` | 組織の[サーバー管理設定](/ja/server-managed-settings)のキャッシュコピー。組織が設定を構成している場合のみ存在します。各起動時に更新されます。 |135| `remote-settings.json` | 組織の[サーバー管理設定](/ja/server-managed-settings)のキャッシュコピー。組織が設定を構成している場合のみ存在します。各起動時に更新されます。 |

1521| `todos/` | レガシーセッションごとのタスクリスト。現在のバージョンでは書き込まれません。削除しても安全です。 |

1522 136 

1523その他の小さなキャッシュおよびロックファイルは、使用する機能に応じて表示され、削除しても安全です。137その他の小さなキャッシュおよびロックファイルは、使用する機能に応じて表示され、削除しても安全です。

1524 138 

1525### プレーンテキストストレージ139<h3 id="plaintext-storage">

140 プレーンテキストストレージ

141</h3>

1526 142 

1527トランスクリプトと履歴は保存時に暗号化されません。OS ファイルパーミッションのみが保護です。ツールが `.env` ファイルを読み込むか、コマンドが認証情報を出力する場合、その値は `projects/<project>/<session>.jsonl` に書き込まれます。露出を減らすには:143トランスクリプトと履歴は保存時に暗号化されません。OS ファイルパーミッションのみが保護です。ツールが `.env` ファイルを読み込むか、コマンドが認証情報を出力する場合、その値は `projects/<project>/<session>.jsonl` に書き込まれます。露出を減らすには:

1528 144 


1530* [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/ja/env-vars) 環境変数を設定して、任意のモードでトランスクリプトとプロンプト履歴の書き込みをスキップします。非対話型モードでは、代わりに `-p` と一緒に `--no-session-persistence` を渡すか、Agent SDK で `persistSession: false` を設定できます。146* [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/ja/env-vars) 環境変数を設定して、任意のモードでトランスクリプトとプロンプト履歴の書き込みをスキップします。非対話型モードでは、代わりに `-p` と一緒に `--no-session-persistence` を渡すか、Agent SDK で `persistSession: false` を設定できます。

1531* [パーミッションルール](/ja/permissions)を使用して認証情報ファイルの読み込みを拒否します147* [パーミッションルール](/ja/permissions)を使用して認証情報ファイルの読み込みを拒否します

1532 148 

1533### ローカルデータをクリアする149<h3 id="clear-local-data">

150 ローカルデータをクリアする

151</h3>

1534 152 

1535`claude project purge` を実行して、1 つのプロジェクトに対して Claude Code が保持する状態を削除します:153`claude project purge` を実行して、1 つのプロジェクトに対して Claude Code が保持する状態を削除します。このコマンドには Claude Code v2.1.124 以降が必要です。以下を削除します

1536 154 

1537* `projects/` の下のトランスクリプトと自動メモリ155* `projects/` の下のトランスクリプトと自動メモリ

1538* セッションごとの `tasks/`、`debug/`、`file-history/` エントリ156* セッションごとの `tasks/`、`debug/`、`file-history/` エントリ


1575| `~/.claude/stats-cache.json` | `/usage` で表示される履歴合計 |193| `~/.claude/stats-cache.json` | `/usage` で表示される履歴合計 |

1576| `~/.claude/remote-settings.json` | なし。次の起動時に再取得されます。 |194| `~/.claude/remote-settings.json` | なし。次の起動時に再取得されます。 |

1577| `~/.claude/debug/`、`~/.claude/plans/`、`~/.claude/paste-cache/`、`~/.claude/image-cache/`、`~/.claude/session-env/`、`~/.claude/tasks/`、`~/.claude/shell-snapshots/`、`~/.claude/backups/` | ユーザー向けのもの |195| `~/.claude/debug/`、`~/.claude/plans/`、`~/.claude/paste-cache/`、`~/.claude/image-cache/`、`~/.claude/session-env/`、`~/.claude/tasks/`、`~/.claude/shell-snapshots/`、`~/.claude/backups/` | ユーザー向けのもの |

1578| `~/.claude/todos/` | なし。現在のバージョンでは書き込まれないレガシーディレクトリ。 |196| `~/.claude/todos/`、`~/.claude/statsig/`、`~/.claude/logs/` | なし。現在のバージョンでは書き込まれないレガシーディレクトリ。 |

1579 197 

1580`~/.claude.json`、`~/.claude/settings.json`、または `~/.claude/plugins/` は削除しないでください。これらは認証、設定、インストール済みプラグインを保持しています。198`~/.claude.json`、`~/.claude/settings.json`、または `~/.claude/plugins/` は削除しないでください。これらは認証、設定、インストール済みプラグインを保持しています。

1581 199 

1582## 関連リソース200<h2 id="related-resources">

201 関連リソース

202</h2>

1583 203 

1584* [Claude のメモリを管理する](/ja/memory):CLAUDE.md、rules、auto memory を書き込んで整理します204* [Claude のメモリを管理する](/ja/memory):CLAUDE.md、rules、auto memory を書き込んで整理します

1585* [設定を構成する](/ja/settings):パーミッション、hooks、環境変数、モデルデフォルトを設定します205* [設定を構成する](/ja/settings):パーミッション、hooks、環境変数、モデルデフォルトを設定します

Details

6 6 

7> AWS 認証、IAM アクセス制御、AWS Marketplace 請求を使用して、Anthropic が運営する Claude API を使用するように Claude Code を設定します。7> AWS 認証、IAM アクセス制御、AWS Marketplace 請求を使用して、Anthropic が運営する Claude API を使用するように Claude Code を設定します。

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79export const Experiment = ({flag, treatment, children}) => {

80 const VID_KEY = 'exp_vid';

81 const CONSENT_COUNTRIES = new Set(['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'RE', 'GP', 'MQ', 'GF', 'YT', 'BL', 'MF', 'PM', 'WF', 'PF', 'NC', 'AW', 'CW', 'SX', 'FO', 'GL', 'AX', 'GB', 'UK', 'AI', 'BM', 'IO', 'VG', 'KY', 'FK', 'GI', 'MS', 'PN', 'SH', 'TC', 'GG', 'JE', 'IM', 'CA', 'BR', 'IN']);

82 const fnv1a = s => {

83 let h = 0x811c9dc5;

84 for (let i = 0; i < s.length; i++) {

85 h ^= s.charCodeAt(i);

86 h += (h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24);

87 }

88 return h >>> 0;

89 };

90 const bucket = (seed, vid) => fnv1a(fnv1a(seed + vid) + '') % 10000 < 5000 ? 'control' : 'treatment';

91 const [decision] = useState(() => {

92 const params = new URLSearchParams(location.search);

93 const preBucketed = document.documentElement.dataset['gb_' + flag.replace(/-/g, '_')];

94 const force = params.get('gb-force');

95 if (force) {

96 for (const p of force.split(',')) {

97 const [k, v] = p.split(':');

98 if (k === flag) return {

99 variant: v || 'treatment',

100 track: false

101 };

102 }

103 }

104 if (navigator.globalPrivacyControl) {

105 return {

106 variant: 'control',

107 track: false

108 };

109 }

110 const prefsMatch = document.cookie.match(/(?:^|; )anthropic-consent-preferences=([^;]+)/);

111 if (prefsMatch) {

112 try {

113 if (JSON.parse(decodeURIComponent(prefsMatch[1])).analytics !== true) {

114 return {

115 variant: 'control',

116 track: false

117 };

118 }

119 } catch {

120 return {

121 variant: 'control',

122 track: false

123 };

124 }

125 } else {

126 const country = params.get('country')?.toUpperCase() || (document.cookie.match(/(?:^|; )cf_geo=([A-Z]{2})/) || [])[1];

127 if (!country || CONSENT_COUNTRIES.has(country)) {

128 return {

129 variant: 'control',

130 track: false

131 };

132 }

133 }

134 let vid;

135 try {

136 const ajsMatch = document.cookie.match(/(?:^|; )ajs_anonymous_id=([^;]+)/);

137 if (ajsMatch) {

138 vid = decodeURIComponent(ajsMatch[1]).replace(/^"|"$/g, '');

139 } else {

140 vid = localStorage.getItem(VID_KEY);

141 if (!vid) {

142 vid = crypto.randomUUID();

143 }

144 document.cookie = `ajs_anonymous_id=${vid}; domain=.claude.com; path=/; Secure; SameSite=Lax; max-age=31536000`;

145 }

146 try {

147 localStorage.setItem(VID_KEY, vid);

148 } catch {}

149 } catch {

150 return {

151 variant: 'control',

152 track: false

153 };

154 }

155 const variant = preBucketed === '1' ? 'treatment' : preBucketed === '0' ? 'control' : bucket(flag, vid);

156 return {

157 variant,

158 track: true,

159 vid

160 };

161 });

162 useEffect(() => {

163 if (!decision.track) return;

164 fetch('https://api.anthropic.com/api/event_logging/v2/batch', {

165 method: 'POST',

166 headers: {

167 'Content-Type': 'application/json',

168 'x-service-name': 'claude_code_docs'

169 },

170 body: JSON.stringify({

171 events: [{

172 event_type: 'GrowthbookExperimentEvent',

173 event_data: {

174 device_id: decision.vid,

175 anonymous_id: decision.vid,

176 timestamp: new Date().toISOString(),

177 experiment_id: flag,

178 variation_id: decision.variant === 'treatment' ? 1 : 0,

179 environment: 'production'

180 }

181 }]

182 }),

183 keepalive: true

184 }).catch(() => {});

185 }, []);

186 return decision.variant === 'treatment' ? treatment : children;

187};

188 

189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />

190 

191AWS 上の Claude Platform は、AWS 認証、IAM アクセス制御、AWS Marketplace 請求を備えた Anthropic が運営する Claude API です。リクエストは Anthropic の API に直接到達するため、[Claude API](https://platform.claude.com/docs) と同じモデルと機能を同じリリーススケジュールで取得できます。AWS 認証情報またはワークスペース API キーで認証し、AWS Marketplace を通じて支払います。9AWS 上の Claude Platform は、AWS 認証、IAM アクセス制御、AWS Marketplace 請求を備えた Anthropic が運営する Claude API です。リクエストは Anthropic の API に直接到達するため、[Claude API](https://platform.claude.com/docs) と同じモデルと機能を同じリリーススケジュールで取得できます。AWS 認証情報またはワークスペース API キーで認証し、AWS Marketplace を通じて支払います。

192 10 

193このガイドを使用して、AWS 上の Claude Platform を通じてすでにプロビジョニングしたワークスペースに Claude Code をポイントします。このガイドの前に行う AWS サブスクリプションとワークスペースのセットアップについては、[AWS 上の Claude Platform ドキュメント](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws)を参照してください。11このガイドを使用して、AWS 上の Claude Platform を通じてすでにプロビジョニングしたワークスペースに Claude Code をポイントします。このガイドの前に行う AWS サブスクリプションとワークスペースのセットアップについては、[AWS 上の Claude Platform ドキュメント](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws)を参照してください。


196 AWS Marketplace を通じてサブスクリプションすると、AWS アカウントに関連付けられた新しい Anthropic 組織がプロビジョニングされます。この組織は、Anthropic で既に持っている組織とは別であり、認証情報はそれらの間で転送されません。AWS にリンクされた組織のワークスペース ID と API キーを使用してください。既存の Claude Console アカウントからではなく。14 AWS Marketplace を通じてサブスクリプションすると、AWS アカウントに関連付けられた新しい Anthropic 組織がプロビジョニングされます。この組織は、Anthropic で既に持っている組織とは別であり、認証情報はそれらの間で転送されません。AWS にリンクされた組織のワークスペース ID と API キーを使用してください。既存の Claude Console アカウントからではなく。

197</Note>15</Note>

198 16 

199## 前提条件17<h2 id="prerequisites">

18 前提条件

19</h2>

200 20 

201Claude Code を設定する前に、以下が必要です。21Claude Code を設定する前に、以下が必要です。

202 22 


205* Anthropic サービスを呼び出す権限を持つ IAM プリンシパル、またはワークスペースにスコープされた API キー25* Anthropic サービスを呼び出す権限を持つ IAM プリンシパル、またはワークスペースにスコープされた API キー

206* 環境内、`~/.aws/credentials` 内、または SigV4 認証が必要な場合は接続された IAM ロールからの AWS 認証情報。AWS CLI は SSO ログインフローにのみ必要です。26* 環境内、`~/.aws/credentials` 内、または SigV4 認証が必要な場合は接続された IAM ロールからの AWS 認証情報。AWS CLI は SSO ログインフローにのみ必要です。

207 27 

208## セットアップ28<h2 id="setup">

29 セットアップ

30</h2>

209 31 

210### 1. AWS 認証情報を設定する32<h3 id="1-configure-aws-credentials">

33 1. AWS 認証情報を設定する

34</h3>

211 35 

212Claude Code は AWS 上の Claude Platform に対して 2 つの認証方法をサポートしています。チームがアクセスを管理する方法に合った方法を選択してください。36Claude Code は AWS 上の Claude Platform に対して 2 つの認証方法をサポートしています。チームがアクセスを管理する方法に合った方法を選択してください。

213 37 


248 `/login` および `/logout` コマンドは AWS 上の Claude Platform 認証を変更しません。認証は AWS 認証情報またはワークスペース API キーを通じて実行され、Claude.ai サブスクリプションを通じてではありません。72 `/login` および `/logout` コマンドは AWS 上の Claude Platform 認証を変更しません。認証は AWS 認証情報またはワークスペース API キーを通じて実行され、Claude.ai サブスクリプションを通じてではありません。

249</Note>73</Note>

250 74 

251### 2. Claude Code を設定する75<h3 id="2-configure-claude-code">

76 2. Claude Code を設定する

77</h3>

252 78 

253Claude Code をデフォルトの Anthropic API ではなく AWS 上の Claude Platform を通じてルーティングする環境変数を設定します。79Claude Code をデフォルトの Anthropic API ではなく AWS 上の Claude Platform を通じてルーティングする環境変数を設定します。

254 80 


262 88 

263AWS 上の Claude Platform は、環境に AWS 認証情報が存在する場合でもオプトインです。Bedrock と Foundry はプロバイダールーティングで優先されるため、設定されている場合は `CLAUDE_CODE_USE_BEDROCK` と `CLAUDE_CODE_USE_FOUNDRY` をアンセットします。89AWS 上の Claude Platform は、環境に AWS 認証情報が存在する場合でもオプトインです。Bedrock と Foundry はプロバイダールーティングで優先されるため、設定されている場合は `CLAUDE_CODE_USE_BEDROCK` と `CLAUDE_CODE_USE_FOUNDRY` をアンセットします。

264 90 

265### 3. モデルバージョンをピン留めする91<h3 id="3-pin-model-versions">

92 3. モデルバージョンをピン留めする

93</h3>

266 94 

267AWS 上の Claude Platform は、直接 Claude API と同じモデル ID を使用します。デフォルトのエイリアス `opus`、`sonnet`、`haiku` は、ワークスペースで利用可能な最新バージョンに解決されます。95AWS 上の Claude Platform は、直接 Claude API と同じモデル ID を使用します。デフォルトのエイリアス `opus`、`sonnet`、`haiku` は、ワークスペースで利用可能な最新バージョンに解決されます。

268 96 


274export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5102export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

275```103```

276 104 

277モデル ID とエイリアスの完全なリストについては、[モデル概要](https://platform.claude.com/docs/en/about-claude/models/overview)を参照してください。その他のモデル関連の変数については、[モデル設定](/ja/model-config)を参照してください。105モデル ID とエイリアスの完全なリストについては、[モデル概要](https://platform.claude.com/docs/en/about-claude/models/overview) を参照してください。その他のモデル関連の変数については、[モデル設定](/ja/model-config) を参照してください。

278 106 

279[プロンプトキャッシング](https://platform.claude.com/docs/en/build-with-claude/prompt-caching)は自動的に有効になります。1 時間のキャッシュ書き込みは 5 分の書き込みよりも高いレートで請求されます。5 分のデフォルトの代わりに 1 時間のキャッシュ TTL をリクエストするには、`ENABLE_PROMPT_CACHING_1H=1` を設定します。107[プロンプトキャッシング](/ja/prompt-caching) は自動的に有効になります。5 分のデフォルトの代わりに 1 時間のキャッシュ TTL をリクエストするには、`ENABLE_PROMPT_CACHING_1H=1` を設定します。API は 1 時間のキャッシュ書き込みをより高いレートで請求します。レートについては、[プロンプトキャッシング価格](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) を参照してください。

280 108 

281## Agent SDK を使用する109<h2 id="use-the-agent-sdk">

110 Agent SDK を使用する

111</h2>

282 112 

283[Agent SDK](/ja/agent-sdk/overview) は CLI と同じ環境変数を読み取るため、Claude Code サブプロセスを生成するプログラムは、呼び出しの前に `CLAUDE_CODE_USE_ANTHROPIC_AWS`、`ANTHROPIC_AWS_WORKSPACE_ID`、および `ANTHROPIC_AWS_API_KEY` または AWS 認証情報をエクスポートすることで AWS 上の Claude Platform をターゲットにできます。113[Agent SDK](/ja/agent-sdk/overview) は CLI と同じ環境変数を読み取るため、Claude Code サブプロセスを生成するプログラムは、呼び出しの前に `CLAUDE_CODE_USE_ANTHROPIC_AWS`、`ANTHROPIC_AWS_WORKSPACE_ID`、および `ANTHROPIC_AWS_API_KEY` または AWS 認証情報をエクスポートすることで AWS 上の Claude Platform をターゲットにできます。

284 114 


296 126 

297この例は SigV4 のアンビエント AWS 認証情報チェーンに依存しています。代わりにワークスペース API キーで認証するには、同じ方法で `ANTHROPIC_AWS_API_KEY` を設定します。より広い Agent SDK サーフェスについては、[Agent SDK 概要](/ja/agent-sdk/overview)を参照してください。127この例は SigV4 のアンビエント AWS 認証情報チェーンに依存しています。代わりにワークスペース API キーで認証するには、同じ方法で `ANTHROPIC_AWS_API_KEY` を設定します。より広い Agent SDK サーフェスについては、[Agent SDK 概要](/ja/agent-sdk/overview)を参照してください。

298 128 

299## 企業プロキシを通じてルーティングする129<h2 id="route-through-a-corporate-proxy">

130 企業プロキシを通じてルーティングする

131</h2>

300 132 

301プロキシまたは [LLM ゲートウェイ](/ja/llm-gateway)を通じてトラフィックをルーティングするには、`ANTHROPIC_AWS_BASE_URL` をプロキシのアドレスに設定します。Claude Code は同じワークスペースと認証ヘッダーを使用してそのアドレスにリクエストを送信するため、それらを変更せずに転送するゲートウェイが機能します。133プロキシまたは [LLM ゲートウェイ](/ja/llm-gateway)を通じてトラフィックをルーティングするには、`ANTHROPIC_AWS_BASE_URL` をプロキシのアドレスに設定します。Claude Code は同じワークスペースと認証ヘッダーを使用してそのアドレスにリクエストを送信するため、それらを変更せずに転送するゲートウェイが機能します。

302 134 


315export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com147export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com

316```148```

317 149 

318## トラブルシューティング150<h2 id="troubleshooting">

151 トラブルシューティング

152</h2>

319 153 

320`/status` を実行して、解決されたプロバイダーと明示的に設定されたワークスペース ID、リージョン、ベース URL オーバーライド、および認証スキップ設定を確認します。これは Claude Code が AWS 上の Claude Platform をターゲットにしているかどうかを確認する最速の方法です。154`/status` を実行して、解決されたプロバイダーと明示的に設定されたワークスペース ID、リージョン、ベース URL オーバーライド、および認証スキップ設定を確認します。これは Claude Code が AWS 上の Claude Platform をターゲットにしているかどうかを確認する最速の方法です。

321 155 

322### すべてのリクエストで `403 Forbidden` または `AccessDenied`156<h3 id="403-forbidden-or-accessdenied-on-every-request">

157 すべてのリクエストで `403 Forbidden` または `AccessDenied`

158</h3>

323 159 

324Claude Code が解決した IAM プリンシパルは、ワークスペースで Anthropic サービスを呼び出す権限がない可能性があります。AWS プロファイルに接続されたロール、または Claude Code を開始したランナーを確認し、[IAM アクション参照](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions)に記載されている `aws-external-anthropic` アクションがあることを確認します。160Claude Code が解決した IAM プリンシパルは、ワークスペースで Anthropic サービスを呼び出す権限がない可能性があります。AWS プロファイルに接続されたロール、または Claude Code を開始したランナーを確認し、[IAM アクション参照](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions)に記載されている `aws-external-anthropic` アクションがあることを確認します。

325 161 

326`ANTHROPIC_AWS_API_KEY` を設定した場合、キーは SigV4 よりも優先され、古いキーは同じエラーを生成します。AWS Console の **Claude Platform on AWS → API keys** でキーを再生成するか、変数をアンセットして AWS 認証情報にフォールバックします。162`ANTHROPIC_AWS_API_KEY` を設定した場合、キーは SigV4 よりも優先され、古いキーは同じエラーを生成します。AWS Console の **Claude Platform on AWS → API keys** でキーを再生成するか、変数をアンセットして AWS 認証情報にフォールバックします。

327 163 

328### リクエストがワークスペース不足エラーで失敗する164<h3 id="requests-fail-with-a-missing-workspace-error">

165 リクエストがワークスペース不足エラーで失敗する

166</h3>

329 167 

330`ANTHROPIC_AWS_WORKSPACE_ID` がアンセットまたは空の可能性があります。すべての AWS 上の Claude Platform リクエストにはワークスペース ID を含める必要があります。AWS 認証情報によって暗示されません。AWS Console サービスページの **Workspaces** の下で ID を見つけ、Claude Code を開始する前にエクスポートします。168`ANTHROPIC_AWS_WORKSPACE_ID` がアンセットまたは空の可能性があります。すべての AWS 上の Claude Platform リクエストにはワークスペース ID を含める必要があります。AWS 認証情報によって暗示されません。AWS Console サービスページの **Workspaces** の下で ID を見つけ、Claude Code を開始する前にエクスポートします。

331 169 

332### リクエストが依然として `api.anthropic.com` に送信される170<h3 id="requests-still-go-to-api-anthropic-com">

171 リクエストが依然として `api.anthropic.com` に送信される

172</h3>

333 173 

334`CLAUDE_CODE_USE_ANTHROPIC_AWS` がアンセットまたは truthy として解析されない値に設定されている可能性があります。`1` に設定し、`/status` を実行して解決されたプロバイダーを確認します。`CLAUDE_CODE_USE_BEDROCK` または `CLAUDE_CODE_USE_FOUNDRY` も設定されている場合、それらは AWS 上の Claude Platform よりも優先されます。174`CLAUDE_CODE_USE_ANTHROPIC_AWS` がアンセットまたは truthy として解析されない値に設定されている可能性があります。`1` に設定し、`/status` を実行して解決されたプロバイダーを確認します。`CLAUDE_CODE_USE_BEDROCK` または `CLAUDE_CODE_USE_FOUNDRY` も設定されている場合、それらは AWS 上の Claude Platform よりも優先されます。

335 175 

336## 追加リソース176<h2 id="additional-resources">

177 追加リソース

178</h2>

337 179 

338Claude Code を設定する前に行う AWS 上の Claude Platform サブスクリプション、ワークスペース、IAM セットアップはプラットフォームドキュメントで説明されています。180Claude Code を設定する前に行う AWS 上の Claude Platform サブスクリプション、ワークスペース、IAM セットアップはプラットフォームドキュメントで説明されています。

339 181 

cli-reference.md +26 −15

Details

6 6 

7> Claude Code コマンドラインインターフェースの完全なリファレンス。コマンドとフラグを含みます。7> Claude Code コマンドラインインターフェースの完全なリファレンス。コマンドとフラグを含みます。

8 8 

9## CLI コマンド9<h2 id="cli-commands">

10 CLI コマンド

11</h2>

10 12 

11これらのコマンドを使用して、セッションを開始し、コンテンツをパイプし、会話を再開し、更新を管理できます。13これらのコマンドを使用して、セッションを開始し、コンテンツをパイプし、会話を再開し、更新を管理できます。

12 14 

13| コマンド | 説明 | 例 |15| コマンド | 説明 | 例 |

14| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------- |16| :------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- |

15| `claude` | インタラクティブセッションを開始 | `claude` |17| `claude` | インタラクティブセッションを開始 | `claude` |

16| `claude "query"` | 初期プロンプト付きでインタラクティブセッションを開始 | `claude "explain this project"` |18| `claude "query"` | 初期プロンプト付きでインタラクティブセッションを開始 | `claude "explain this project"` |

17| `claude -p "query"` | SDK 経由でクエリを実行してから終了 | `claude -p "explain this function"` |19| `claude -p "query"` | SDK 経由でクエリを実行してから終了 | `claude -p "explain this function"` |


24| `claude auth login` | Anthropic アカウントにサインインします。`--email` を使用してメールアドレスを事前入力し、`--sso` を使用して SSO 認証を強制し、`--console` を使用して Claude サブスクリプションの代わりに Anthropic Console で API 使用料金をサインインできます | `claude auth login --console` |26| `claude auth login` | Anthropic アカウントにサインインします。`--email` を使用してメールアドレスを事前入力し、`--sso` を使用して SSO 認証を強制し、`--console` を使用して Claude サブスクリプションの代わりに Anthropic Console で API 使用料金をサインインできます | `claude auth login --console` |

25| `claude auth logout` | Anthropic アカウントからログアウト | `claude auth logout` |27| `claude auth logout` | Anthropic アカウントからログアウト | `claude auth logout` |

26| `claude auth status` | 認証ステータスを JSON として表示します。`--text` を使用して人間が読める形式で表示できます。ログイン済みの場合はコード 0 で終了し、ログインしていない場合は 1 で終了します | `claude auth status` |28| `claude auth status` | 認証ステータスを JSON として表示します。`--text` を使用して人間が読める形式で表示できます。ログイン済みの場合はコード 0 で終了し、ログインしていない場合は 1 で終了します | `claude auth status` |

27| `claude agents` | [エージェントビュー](/ja/agent-view) を開いて、並列バックグラウンドセッションを監視およびディスパッチします。`--cwd <path>` を使用して、そのディレクトリの下で開始されたセッションのみを表示します。`--permission-mode`、`--model`、または `--effort` を渡して、[ディスパッチされたセッションのデフォルト](/ja/agent-view#permission-mode-model-and-effort) を設定します。トップレベルの `claude` コマンドと同様に `--settings`、`--add-dir`、`--plugin-dir`、および `--mcp-config` を受け入れます。インタラクティブターミナルが必要です | `claude agents --cwd ~/projects/my-app` |29| `claude agents` | [エージェントビュー](/ja/agent-view) を開いて、並列バックグラウンドセッションを監視およびディスパッチします。`--cwd <path>` を使用して、そのディレクトリの下で開始されたセッションのみを表示するか、`--json` を使用してライブセッションを JSON 配列として出力してスクリプト作成用にします。`--permission-mode`、`--model`、`--effort`、または `--agent` を渡して、[ディスパッチされたセッションのデフォルト](/ja/agent-view#permission-mode-model-and-effort) を設定します。トップレベルの `claude` コマンドと同様に `--settings`、`--add-dir`、`--plugin-dir`、および `--mcp-config` を受け入れます。エージェントビューを開くにはインタラクティブターミナルが必要です | `claude agents --json` |

28| `claude attach <id>` | このターミナルで [バックグラウンドセッション](/ja/agent-view#manage-sessions-from-the-shell) に接続します | `claude attach 7c5dcf5d` |30| `claude attach <id>` | このターミナルで [バックグラウンドセッション](/ja/agent-view#manage-sessions-from-the-shell) に接続します | `claude attach 7c5dcf5d` |

29| `claude auto-mode defaults` | 組み込み [auto mode](/ja/permission-modes#eliminate-prompts-with-auto-mode) 分類器ルールを JSON として出力します。`claude auto-mode config` を使用して、設定が適用された有効な設定を確認してください | `claude auto-mode defaults > rules.json` |31| `claude auto-mode defaults` | 組み込み [auto mode](/ja/permission-modes#eliminate-prompts-with-auto-mode) 分類器ルールを JSON として出力します。`claude auto-mode config` を使用して、設定が適用された有効な設定を確認してください | `claude auto-mode defaults > rules.json` |

30| `claude daemon status` | バックグラウンドセッション [スーパーバイザー](/ja/agent-view#the-supervisor-process) の状態、バージョン、ソケットディレクトリ、および診断用のワーカー数を出力します。スーパーバイザーが実行されていない場合は 1 で終了します | `claude daemon status` |32| `claude daemon status` | バックグラウンドセッション [スーパーバイザー](/ja/agent-view#the-supervisor-process) の状態、バージョン、ソケットディレクトリ、および診断用のワーカー数を出力します。スーパーバイザーが実行されていない場合は 1 で終了します | `claude daemon status` |

33| `claude daemon stop --any` | バックグラウンドセッション [スーパーバイザー](/ja/agent-view#the-supervisor-process) とそれがホストするセッションを停止します。`--keep-workers` を渡して、バックグラウンドセッションを実行したままにして、次のスーパーバイザーが再接続できるようにします。`--any` はオンデマンドスーパーバイザーの停止を確認します。これはデフォルトです。これを使用して、[応答しないスーパーバイザー](/ja/agent-view#agent-view-says-the-background-service-did-not-respond) から回復します | `claude daemon stop --any --keep-workers` |

31| `claude logs <id>` | [バックグラウンドセッション](/ja/agent-view#manage-sessions-from-the-shell) からの最近の出力を出力します | `claude logs 7c5dcf5d` |34| `claude logs <id>` | [バックグラウンドセッション](/ja/agent-view#manage-sessions-from-the-shell) からの最近の出力を出力します | `claude logs 7c5dcf5d` |

32| `claude mcp` | Model Context Protocol(MCP)サーバーを設定 | [Claude Code MCP ドキュメント](/ja/mcp) を参照してください。 |35| `claude mcp` | Model Context Protocol(MCP)サーバーを設定 | [Claude Code MCP ドキュメント](/ja/mcp) を参照してください。 |

33| `claude plugin` | Claude Code [plugins](/ja/plugins) を管理します。エイリアス:`claude plugins`。サブコマンドについては [plugin reference](/ja/plugins-reference#cli-commands-reference) を参照してください | `claude plugin install code-review@claude-plugins-official` |36| `claude plugin` | Claude Code [plugins](/ja/plugins) を管理します。エイリアス:`claude plugins`。サブコマンドについては [plugin reference](/ja/plugins-reference#cli-commands-reference) を参照してください | `claude plugin install code-review@claude-plugins-official` |

34| `claude project purge [path]` | プロジェクトのすべてのローカル Claude Code 状態を削除します:トランスクリプト、タスクリスト、デバッグログ、ファイル編集履歴、プロンプト履歴行、および `~/.claude.json` 内のプロジェクトエントリ。`[path]` を省略して、インタラクティブリストから選択します。フラグ:`--dry-run` でプレビュー、`-y`/`--yes` で確認をスキップ、`-i`/`--interactive` で各項目を確認、`--all` ですべてのプロジェクト。[ローカルデータをクリア](/ja/claude-directory#clear-local-data) を参照してください | `claude project purge ~/work/repo --dry-run` |37| `claude project purge [path]` | プロジェクトのすべてのローカル Claude Code 状態を削除します:トランスクリプト、タスクリスト、デバッグログ、ファイル編集履歴、プロンプト履歴行、および `~/.claude.json` 内のプロジェクトエントリ。`[path]` を省略して、インタラクティブリストから選択します。フラグ:`--dry-run` でプレビュー、`-y`/`--yes` で確認をスキップ、`-i`/`--interactive` で各項目を確認、`--all` ですべてのプロジェクト。[ローカルデータをクリア](/ja/claude-directory#clear-local-data) を参照してください | `claude project purge ~/work/repo --dry-run` |

35| `claude remote-control` | [Remote Control](/ja/remote-control) サーバーを開始して、Claude.ai または Claude アプリから Claude Code を制御します。サーバーモード(ローカルインタラクティブセッションなし)で実行されます。[サーバーモードフラグ](/ja/remote-control#start-a-remote-control-session) を参照してください | `claude remote-control --name "My Project"` |38| `claude remote-control` | [Remote Control](/ja/remote-control) サーバーを開始して、Claude.ai または Claude アプリから Claude Code を制御します。サーバーモード(ローカルインタラクティブセッションなし)で実行されます。[サーバーモードフラグ](/ja/remote-control#start-a-remote-control-session) を参照してください | `claude remote-control --name "My Project"` |

36| `claude respawn <id>` | 会話を保持したまま、[バックグラウンドセッション](/ja/agent-view#manage-sessions-from-the-shell) を再開します。実行中または停止中。`--all` を使用してすべての実行中セッションを再開します。たとえば、更新された Claude Code バイナリを取得するため | `claude respawn 7c5dcf5d` |39| `claude respawn <id>` | 会話を保持したまま、[バックグラウンドセッション](/ja/agent-view#manage-sessions-from-the-shell) を再開します。実行中または停止中。`--all` を使用してすべての実行中セッションを再開します。たとえば、更新された Claude Code バイナリを取得するため | `claude respawn 7c5dcf5d` |

37| `claude rm <id>` | [バックグラウンドセッション](/ja/agent-view#manage-sessions-from-the-shell) をリストから削除します | `claude rm 7c5dcf5d` |40| `claude rm <id>` | [バックグラウンドセッション](/ja/agent-view#manage-sessions-from-the-shell) をリストから削除します。会話トランスクリプトはローカルマシンに残り、`claude --resume` を通じて利用可能です | `claude rm 7c5dcf5d` |

38| `claude setup-token` | CI とスクリプト用の長期間有効な OAuth トークンを生成します。ターミナルにトークンを出力し、保存しません。Claude サブスクリプションが必要です。[長期間有効なトークンを生成](/ja/authentication#generate-a-long-lived-token) を参照してください | `claude setup-token` |41| `claude setup-token` | CI とスクリプト用の長期間有効な OAuth トークンを生成します。ターミナルにトークンを出力し、保存しません。Claude サブスクリプションが必要です。[長期間有効なトークンを生成](/ja/authentication#generate-a-long-lived-token) を参照してください | `claude setup-token` |

39| `claude stop <id>` | [バックグラウンドセッション](/ja/agent-view#manage-sessions-from-the-shell) を停止します。`claude kill` も受け入れます | `claude stop 7c5dcf5d` |42| `claude stop <id>` | [バックグラウンドセッション](/ja/agent-view#manage-sessions-from-the-shell) を停止します。`claude kill` も受け入れます | `claude stop 7c5dcf5d` |

40| `claude ultrareview [target]` | [ultrareview](/ja/ultrareview#run-ultrareview-non-interactively) を非対話的に実行します。結果を stdout に出力し、成功時は 0 で終了し、失敗時は 1 で終了します。`--json` を使用して生のペイロードを取得し、`--timeout <minutes>` を使用して 30 分のデフォルトをオーバーライドできます | `claude ultrareview 1234 --json` |43| `claude ultrareview [target]` | [ultrareview](/ja/ultrareview#run-ultrareview-non-interactively) を非対話的に実行します。結果を stdout に出力し、成功時は 0 で終了し、失敗時は 1 で終了します。`--json` を使用して生のペイロードを取得し、`--timeout <minutes>` を使用して 30 分のデフォルトをオーバーライドできます | `claude ultrareview 1234 --json` |

41 44 

42サブコマンドを誤入力した場合、Claude Code は最も近い一致を提案して、セッションを開始せずに終了します。たとえば、`claude udpate` は `Did you mean claude update?` と出力します。45サブコマンドを誤入力した場合、Claude Code は最も近い一致を提案して、セッションを開始せずに終了します。たとえば、`claude udpate` は `Did you mean claude update?` と出力します。

43 46 

44## CLI フラグ47<h2 id="cli-flags">

48 CLI フラグ

49</h2>

45 50 

46これらのコマンドラインフラグを使用して Claude Code の動作をカスタマイズします。`claude --help` はすべてのフラグをリストしていないため、`--help` にフラグが表示されていないことは、そのフラグが利用できないことを意味しません。51これらのコマンドラインフラグを使用して Claude Code の動作をカスタマイズします。`claude --help` はすべてのフラグをリストしていないため、`--help` にフラグが表示されていないことは、そのフラグが利用できないことを意味しません。

47 52 

48| フラグ | 説明 | 例 |53| フラグ | 説明 | 例 |

49| :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |54| :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |

50| `--add-dir` | Claude がファイルを読み取り、編集するための追加の作業ディレクトリを追加します。ファイルアクセスを許可します。ほとんどの `.claude/` 設定は [これらのディレクトリから検出されません](/ja/permissions#additional-directories-grant-file-access-not-configuration)。各パスがディレクトリとして存在することを検証します。これらのディレクトリをセッション全体で永続化するには、設定で [`permissions.additionalDirectories`](/ja/settings#permission-settings) を設定してください | `claude --add-dir ../apps ../lib` |55| `--add-dir` | Claude がファイルを読み取り、編集するための追加の作業ディレクトリを追加します。ファイルアクセスを許可します。ほとんどの `.claude/` 設定は [これらのディレクトリから検出されません](/ja/permissions#additional-directories-grant-file-access-not-configuration)。各パスがディレクトリとして存在することを検証します。これらのディレクトリをセッション全体で永続化するには、設定で [`permissions.additionalDirectories`](/ja/settings#permission-settings) を設定してください | `claude --add-dir ../apps ../lib` |

51| `--agent` | 現在のセッションのエージェントを指定します(`agent` 設定をオーバーライドします) | `claude --agent my-custom-agent` |56| `--agent` | 現在のセッションのエージェントを指定します(`agent` 設定をオーバーライドします) | `claude --agent my-custom-agent` |

52| `--agents` | JSON 経由でカスタム subagents を動的に定義します。subagent [frontmatter](/ja/sub-agents#supported-frontmatter-fields) と同じフィールド名を使用し、さらにエージェントの指示用の `prompt` フィールドを追加します | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |57| `--agents` | JSON 経由でカスタム subagents を動的に定義します。subagent [frontmatter](/ja/sub-agents#supported-frontmatter-fields) と同じフィールド名を使用し、さらにエージェントの指示用の `prompt` フィールドを追加します | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |


56| `--append-system-prompt-file` | ファイルから追加のシステムプロンプトテキストを読み込み、デフォルトプロンプトに追加します | `claude --append-system-prompt-file ./extra-rules.txt` |61| `--append-system-prompt-file` | ファイルから追加のシステムプロンプトテキストを読み込み、デフォルトプロンプトに追加します | `claude --append-system-prompt-file ./extra-rules.txt` |

57| `--bare` | 最小限モード:hooks、skills、plugins、MCP サーバー、自動メモリ、CLAUDE.md の自動検出をスキップして、スクリプト化された呼び出しをより高速に開始します。Claude は Bash、ファイル読み取り、ファイル編集ツールにアクセスできます。[`CLAUDE_CODE_SIMPLE`](/ja/env-vars) を設定します。[bare mode](/ja/headless#start-faster-with-bare-mode) を参照してください | `claude --bare -p "query"` |62| `--bare` | 最小限モード:hooks、skills、plugins、MCP サーバー、自動メモリ、CLAUDE.md の自動検出をスキップして、スクリプト化された呼び出しをより高速に開始します。Claude は Bash、ファイル読み取り、ファイル編集ツールにアクセスできます。[`CLAUDE_CODE_SIMPLE`](/ja/env-vars) を設定します。[bare mode](/ja/headless#start-faster-with-bare-mode) を参照してください | `claude --bare -p "query"` |

58| `--betas` | API リクエストに含めるベータヘッダー(API キーユーザーのみ) | `claude --betas interleaved-thinking` |63| `--betas` | API リクエストに含めるベータヘッダー(API キーユーザーのみ) | `claude --betas interleaved-thinking` |

59| `--bg` | セッションを [バックグラウンドエージェント](/ja/agent-view) として開始し、すぐに戻ります。セッション ID と管理コマンドを出力します。`--agent` と組み合わせて特定の subagent を実行します | `claude --bg "investigate the flaky test"` |64| `--bg` | セッションを [バックグラウンドエージェント](/ja/agent-view) として開始し、すぐに戻ります。セッション ID と管理コマンドを出力します。`--exec` と組み合わせて、Claude セッションの代わりにシェルコマンドをバックグラウンドジョブとして実行するか、`--agent` と組み合わせて特定の subagent を実行します | `claude --bg "investigate the flaky test"` |

60| `--channels` | (研究プレビュー)Claude がこのセッションでリッスンすべき [channel](/ja/channels) 通知を持つ MCP サーバー。`plugin:<name>@<marketplace>` エントリのスペース区切りリスト。Claude.ai 認証が必要です | `claude --channels plugin:my-notifier@my-marketplace` |65| `--channels` | (研究プレビュー)Claude がこのセッションでリッスンすべき [channel](/ja/channels) 通知を持つ MCP サーバー。`plugin:<name>@<marketplace>` エントリのスペース区切りリスト。Claude.ai 認証が必要です | `claude --channels plugin:my-notifier@my-marketplace` |

61| `--chrome` | Web 自動化とテストのための [Chrome ブラウザ統合](/ja/chrome) を有効にします | `claude --chrome` |66| `--chrome` | Web 自動化とテストのための [Chrome ブラウザ統合](/ja/chrome) を有効にします | `claude --chrome` |

62| `--continue`, `-c` | 現在のディレクトリで最新の会話を読み込みます。このディレクトリを `/add-dir` で追加したセッションを含みます | `claude --continue` |67| `--continue`, `-c` | 現在のディレクトリで最新の会話を読み込みます。このディレクトリを `/add-dir` で追加したセッションを含みます | `claude --continue` |


65| `--debug` | オプションのカテゴリフィルタリング付きでデバッグモードを有効にします(例:`"api,hooks"` または `"!statsig,!file"`) | `claude --debug "api,mcp"` |70| `--debug` | オプションのカテゴリフィルタリング付きでデバッグモードを有効にします(例:`"api,hooks"` または `"!statsig,!file"`) | `claude --debug "api,mcp"` |

66| `--debug-file <path>` | デバッグログを特定のファイルパスに書き込みます。暗黙的にデバッグモードを有効にします。`CLAUDE_CODE_DEBUG_LOGS_DIR` より優先されます | `claude --debug-file /tmp/claude-debug.log` |71| `--debug-file <path>` | デバッグログを特定のファイルパスに書き込みます。暗黙的にデバッグモードを有効にします。`CLAUDE_CODE_DEBUG_LOGS_DIR` より優先されます | `claude --debug-file /tmp/claude-debug.log` |

67| `--disable-slash-commands` | このセッションのすべてのスキルとコマンドを無効にします | `claude --disable-slash-commands` |72| `--disable-slash-commands` | このセッションのすべてのスキルとコマンドを無効にします | `claude --disable-slash-commands` |

68| `--disallowedTools` | モデルのコンテキストから削除され使用できないツール | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |73| `--disallowedTools` | 拒否ルール。ベアツール名はそのツールをモデルのコンテキストから削除します。`Bash(rm *)` のようなスコープ付きルールはツールを利用可能なままにし一致する呼び出しのみを拒否します | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |

69| `--effort` | 現在のセッションの [努力レベル](/ja/model-config#adjust-effort-level) を設定します。オプション:`low`、`medium`、`high`、`xhigh`、`max`。利用可能なレベルはモデルによって異なります。[`effortLevel`](/ja/settings#available-settings) 設定をこのセッションでオーバーライドし、永続化されません | `claude --effort high` |74| `--effort` | 現在のセッションの [努力レベル](/ja/model-config#adjust-effort-level) を設定します。オプション:`low`、`medium`、`high`、`xhigh`、`max`。利用可能なレベルはモデルによって異なります。[`effortLevel`](/ja/settings#available-settings) 設定をこのセッションでオーバーライドし、永続化されません | `claude --effort high` |

70| `--enable-auto-mode` | {/* max-version: 2.1.110 */}v2.1.111 で削除されました。Auto mode は現在 `Shift+Tab` サイクルにデフォルトで含まれています。`--permission-mode auto` を使用して開始してください | `claude --permission-mode auto` |75| `--enable-auto-mode` | {/* max-version: 2.1.110 */}v2.1.111 で削除されました。Auto mode は現在 `Shift+Tab` サイクルにデフォルトで含まれています。`--permission-mode auto` を使用して開始してください | `claude --permission-mode auto` |

71| `--exclude-dynamic-system-prompt-sections` | システムプロンプトからマシンごとのセクション(作業ディレクトリ、環境情報、メモリパス、git リポジトリフラグ)を最初のユーザーメッセージに移動します。異なるユーザーとマシンで同じタスクを実行する場合、prompt-cache の再利用を改善します。デフォルトシステムプロンプトにのみ適用されます。`--system-prompt` または `--system-prompt-file` が設定されている場合は無視されます。スクリプト化された複数ユーザーのワークロードの場合は `-p` と一緒に使用してください | `claude -p --exclude-dynamic-system-prompt-sections "query"` |76| `--exclude-dynamic-system-prompt-sections` | システムプロンプトからマシンごとのセクション(作業ディレクトリ、環境情報、メモリパス、git リポジトリフラグ)を最初のユーザーメッセージに移動します。異なるユーザーとマシンで同じタスクを実行する場合、prompt-cache の再利用を改善します。デフォルトシステムプロンプトにのみ適用されます。`--system-prompt` または `--system-prompt-file` が設定されている場合は無視されます。スクリプト化された複数ユーザーのワークロードの場合は `-p` と一緒に使用してください | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

72| `--fallback-model` | デフォルトモデルが過負荷の場合、指定されたモデルへの自動フォールバックを有効にしますプリントモード(`-p`)と [バックグラウンドセッション](/ja/agent-view) で有効になります。バックグラウンドセッションは非インタラクティブで実行されます。インタラクティブセッションでは無視されます | `claude -p --fallback-model sonnet "query"` |77| `--exec` | シェルコマンドを PTY バックアップのバックグラウンドジョブとして実行しますClaude セッションを開始する代わりに `--bg` と一緒に使用してください | `claude --bg --exec 'pytest -x'` |

78| `--fallback-model` | デフォルトモデルが過負荷の場合、指定されたモデルへの自動フォールバックを有効にします。例えば、廃止されたモデル。プリントモード(`-p`)と [バックグラウンドセッション](/ja/agent-view) で有効になります。バックグラウンドセッションは非インタラクティブで実行されます。インタラクティブセッションでは無視されます | `claude -p --fallback-model sonnet "query"` |

73| `--fork-session` | 再開時に、元のセッション ID を再利用する代わりに新しいセッション ID を作成します(`--resume` または `--continue` と一緒に使用) | `claude --resume abc123 --fork-session` |79| `--fork-session` | 再開時に、元のセッション ID を再利用する代わりに新しいセッション ID を作成します(`--resume` または `--continue` と一緒に使用) | `claude --resume abc123 --fork-session` |

74| `--from-pr` | 特定のプルリクエストにリンクされたセッションを再開します。PR 番号、GitHub または GitHub Enterprise PR URL、GitLab マージリクエスト URL、または Bitbucket プルリクエスト URL を受け入れます。Claude がプルリクエストを作成するときに、セッションは自動的にリンクされます | `claude --from-pr 123` |80| `--from-pr` | 特定のプルリクエストにリンクされたセッションを再開します。PR 番号、GitHub または GitHub Enterprise PR URL、GitLab マージリクエスト URL、または Bitbucket プルリクエスト URL を受け入れます。Claude がプルリクエストを作成するときに、セッションは自動的にリンクされます | `claude --from-pr 123` |

75| `--ide` | 起動時に、正確に 1 つの有効な IDE が利用可能な場合、自動的に IDE に接続します | `claude --ide` |81| `--ide` | 起動時に、正確に 1 つの有効な IDE が利用可能な場合、自動的に IDE に接続します | `claude --ide` |

76| `--init` | セッション開始前に `init` マッチャーで [Setup hooks](/ja/hooks#setup) を実行します(プリントモードのみ) | `claude -p --init "query"` |82| `--init` | セッション開始前に `init` マッチャーで [Setup hooks](/ja/hooks#setup) を実行します(プリントモードのみ) | `claude -p --init "query"` |

77| `--init-only` | [Setup](/ja/hooks#setup) および `SessionStart` hooks を実行してから、会話を開始せずに終了します | `claude --init-only` |83| `--init-only` | [Setup](/ja/hooks#setup) および `SessionStart` hooks を実行してから、会話を開始せずに終了します | `claude --init-only` |

78| `--include-hook-events` | すべてのフックライフサイクルイベントを出力ストリームに含めます。`--output-format stream-json` が必要です | `claude -p --output-format stream-json --include-hook-events "query"` |84| `--include-hook-events` | すべてのフックライフサイクルイベントを出力ストリームに含めます。`--output-format stream-json` が必要です | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |

79| `--include-partial-messages` | 部分的なストリーミングイベントを出力に含めます。`--print` と `--output-format stream-json` が必要です | `claude -p --output-format stream-json --include-partial-messages "query"` |85| `--include-partial-messages` | 部分的なストリーミングイベントを出力に含めます。`--print` と `--output-format stream-json` が必要です | `claude -p --output-format stream-json --verbose --include-partial-messages "query"` |

80| `--input-format` | プリントモードの入力形式を指定します(オプション:`text`、`stream-json`) | `claude -p --output-format json --input-format stream-json` |86| `--input-format` | プリントモードの入力形式を指定します(オプション:`text`、`stream-json`) | `claude -p --output-format json --input-format stream-json` |

81| `--json-schema` | エージェントがワークフローを完了した後、JSON Schema に一致する検証済み JSON 出力を取得します(プリントモードのみ。[構造化出力](/ja/agent-sdk/structured-outputs) を参照) | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |87| `--json-schema` | エージェントがワークフローを完了した後、JSON Schema に一致する検証済み JSON 出力を取得します(プリントモードのみ。[構造化出力](/ja/agent-sdk/structured-outputs) を参照) | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

82| `--maintenance` | セッション開始前に `maintenance` マッチャーで [Setup hooks](/ja/hooks#setup) を実行します(プリントモードのみ) | `claude -p --maintenance "query"` |88| `--maintenance` | セッション開始前に `maintenance` マッチャーで [Setup hooks](/ja/hooks#setup) を実行します(プリントモードのみ) | `claude -p --maintenance "query"` |


93| `--plugin-dir` | このセッションのみのプラグインをディレクトリまたは `.zip` アーカイブから読み込みます。各フラグは 1 つのパスを取ります。複数のプラグインの場合はフラグを繰り返します:`--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |99| `--plugin-dir` | このセッションのみのプラグインをディレクトリまたは `.zip` アーカイブから読み込みます。各フラグは 1 つのパスを取ります。複数のプラグインの場合はフラグを繰り返します:`--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |

94| `--plugin-url` | このセッションのみのプラグイン `.zip` アーカイブを URL から取得します。複数のプラグインの場合はフラグを繰り返すか、スペース区切りの URL を単一の引用符で囲まれた値で渡します | `claude --plugin-url https://example.com/plugin.zip` |100| `--plugin-url` | このセッションのみのプラグイン `.zip` アーカイブを URL から取得します。複数のプラグインの場合はフラグを繰り返すか、スペース区切りの URL を単一の引用符で囲まれた値で渡します | `claude --plugin-url https://example.com/plugin.zip` |

95| `--print`, `-p` | インタラクティブモードなしで応答を出力します(プログラムによる使用の詳細については [Agent SDK ドキュメント](/ja/agent-sdk/overview) を参照) | `claude -p "query"` |101| `--print`, `-p` | インタラクティブモードなしで応答を出力します(プログラムによる使用の詳細については [Agent SDK ドキュメント](/ja/agent-sdk/overview) を参照) | `claude -p "query"` |

102| `--prompt-suggestions` | 各ターンの後に、予測される次のユーザープロンプトを含む `prompt_suggestion` メッセージを発行します。`--print`、`--output-format stream-json`、および `--verbose` が必要です。[プロンプト提案](/ja/interactive-mode#prompt-suggestions) を参照してください | `claude -p --prompt-suggestions --output-format stream-json --verbose "query"` |

96| `--remote` | 提供されたタスク説明で claude.ai に新しい [Web セッション](/ja/claude-code-on-the-web) を作成します | `claude --remote "Fix the login bug"` |103| `--remote` | 提供されたタスク説明で claude.ai に新しい [Web セッション](/ja/claude-code-on-the-web) を作成します | `claude --remote "Fix the login bug"` |

97| `--remote-control`, `--rc` | [Remote Control](/ja/remote-control#start-a-remote-control-session) を有効にしてインタラクティブセッションを開始し、claude.ai または Claude アプリからも制御できるようにします。オプションでセッションの名前を渡すことができます | `claude --remote-control "My Project"` |104| `--remote-control`, `--rc` | [Remote Control](/ja/remote-control#start-a-remote-control-session) を有効にしてインタラクティブセッションを開始し、claude.ai または Claude アプリからも制御できるようにします。オプションでセッションの名前を渡すことができます | `claude --remote-control "My Project"` |

98| `--remote-control-session-name-prefix <prefix>` | 明示的な名前が設定されていない場合、自動生成される [Remote Control](/ja/remote-control) セッション名のプレフィックス。デフォルトはマシンのホスト名で、`myhost-graceful-unicorn` のような名前が生成されます。同じ効果を得るには `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` を設定してください | `claude remote-control --remote-control-session-name-prefix dev-box` |105| `--remote-control-session-name-prefix <prefix>` | 明示的な名前が設定されていない場合、自動生成される [Remote Control](/ja/remote-control) セッション名のプレフィックス。デフォルトはマシンのホスト名で、`myhost-graceful-unicorn` のような名前が生成されます。同じ効果を得るには `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` を設定してください | `claude remote-control --remote-control-session-name-prefix dev-box` |

99| `--replay-user-messages` | stdin からのユーザーメッセージを stdout に再発行して確認します。`--input-format stream-json` と `--output-format stream-json` が必要です | `claude -p --input-format stream-json --output-format stream-json --replay-user-messages` |106| `--replay-user-messages` | stdin からのユーザーメッセージを stdout に再発行して確認します。`--input-format stream-json` と `--output-format stream-json` が必要です | `claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages` |

100| `--resume`, `-r` | ID または名前で特定のセッションを再開するか、セッションを選択するためのインタラクティブピッカーを表示します。このディレクトリを `/add-dir` で追加したセッションを含みます | `claude --resume auth-refactor` |107| `--resume`, `-r` | ID または名前で特定のセッションを再開するか、セッションを選択するためのインタラクティブピッカーを表示します。このディレクトリを `/add-dir` で追加したセッションを含みます。v2.1.144 以降、[バックグラウンドセッション](/ja/agent-view) はピッカーに `bg` でマークされて表示されます | `claude --resume auth-refactor` |

101| `--session-id` | 会話に特定のセッション ID を使用します(有効な UUID である必要があります) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |108| `--session-id` | 会話に特定のセッション ID を使用します(有効な UUID である必要があります) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

102| `--setting-sources` | 読み込む設定ソースのカンマ区切りリスト(`user`、`project`、`local`) | `claude --setting-sources user,project` |109| `--setting-sources` | 読み込む設定ソースのカンマ区切りリスト(`user`、`project`、`local`) | `claude --setting-sources user,project` |

103| `--settings` | 設定 JSON ファイルまたはインライン JSON 文字列へのパス。ここで設定した値は、このセッションの `settings.json` ファイル内の同じキーをオーバーライドします。省略したキーはファイルベースの値を保持します。[設定の優先順位](/ja/settings#settings-precedence) を参照してください | `claude --settings ./settings.json` |110| `--settings` | 設定 JSON ファイルまたはインライン JSON 文字列へのパス。ここで設定した値は、このセッションの `settings.json` ファイル内の同じキーをオーバーライドします。省略したキーはファイルベースの値を保持します。[設定の優先順位](/ja/settings#settings-precedence) を参照してください | `claude --settings ./settings.json` |


112| `--version`, `-v` | バージョン番号を出力します | `claude -v` |119| `--version`, `-v` | バージョン番号を出力します | `claude -v` |

113| `--worktree`, `-w` | Claude を `<repo>/.claude/worktrees/<name>` の分離された [git worktree](/ja/worktrees) で開始します。名前が指定されていない場合は、自動生成されます。`#<number>` または GitHub プルリクエスト URL を渡して、`origin` からその PR をフェッチし、worktree をそこからブランチします | `claude -w feature-auth` |120| `--worktree`, `-w` | Claude を `<repo>/.claude/worktrees/<name>` の分離された [git worktree](/ja/worktrees) で開始します。名前が指定されていない場合は、自動生成されます。`#<number>` または GitHub プルリクエスト URL を渡して、`origin` からその PR をフェッチし、worktree をそこからブランチします | `claude -w feature-auth` |

114 121 

115### システムプロンプトフラグ122<h3 id="system-prompt-flags">

123 システムプロンプトフラグ

124</h3>

116 125 

117Claude Code は、システムプロンプトをカスタマイズするための 4 つのフラグを提供します。すべて 4 つはインタラクティブモードと非インタラクティブモードの両方で機能します。126Claude Code は、システムプロンプトをカスタマイズするための 4 つのフラグを提供します。すべて 4 つはインタラクティブモードと非インタラクティブモードの両方で機能します。

118 127 


129 138 

130これらのフラグは現在の呼び出しにのみ適用されます。プロジェクト全体で切り替えて共有できる永続的なペルソナについては、[出力スタイル](/ja/output-styles) を使用してください。Claude が常に従うべきプロジェクト規約については、[CLAUDE.md](/ja/memory) を使用してください。[Agent SDK ガイドのシステムプロンプト](/ja/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) は、より詳細に同じ決定をカバーしています。139これらのフラグは現在の呼び出しにのみ適用されます。プロジェクト全体で切り替えて共有できる永続的なペルソナについては、[出力スタイル](/ja/output-styles) を使用してください。Claude が常に従うべきプロジェクト規約については、[CLAUDE.md](/ja/memory) を使用してください。[Agent SDK ガイドのシステムプロンプト](/ja/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) は、より詳細に同じ決定をカバーしています。

131 140 

132## 関連項目141<h2 id="see-also">

142 関連項目

143</h2>

133 144 

134* [Chrome 拡張機能](/ja/chrome) - ブラウザ自動化と Web テスト145* [Chrome 拡張機能](/ja/chrome) - ブラウザ自動化と Web テスト

135* [インタラクティブモード](/ja/interactive-mode) - ショートカット、入力モード、インタラクティブ機能146* [インタラクティブモード](/ja/interactive-mode) - ショートカット、入力モード、インタラクティブ機能

code-review.md +16 −1

Details

24* [`CLAUDE.md` と `REVIEW.md` を使用した](#customize-reviews)レビューのカスタマイズ24* [`CLAUDE.md` と `REVIEW.md` を使用した](#customize-reviews)レビューのカスタマイズ

25* [料金](#pricing)25* [料金](#pricing)

26* [トラブルシューティング](#troubleshooting)失敗した実行と欠落したコメント26* [トラブルシューティング](#troubleshooting)失敗した実行と欠落したコメント

27* [ローカルで差分をレビューする](#review-a-diff-locally) `/code-review` コマンドを使用

28 

29<Note>

30 GitHub アプリをインストールせずにターミナルでローカルに差分をレビューするには、任意の Claude Code セッションで `/code-review` コマンドを実行してください。[ローカルで差分をレビューする](#review-a-diff-locally)を参照してください。

31</Note>

27 32 

28## レビューの仕組み33## レビューの仕組み

29 34 


263* **Files changed 注釈**: PR の **Files changed** タブを開きます。結果はレビューコメントとは別に、diff 行に直接添付された注釈としてレンダリングされます。268* **Files changed 注釈**: PR の **Files changed** タブを開きます。結果はレビューコメントとは別に、diff 行に直接添付された注釈としてレンダリングされます。

264* **レビュー本文**: レビューが実行されている間に PR にプッシュした場合、一部の結果は現在の diff に存在しなくなった行を参照する場合があります。これらは、インラインコメントではなく、レビュー本文テキストの **Additional findings** 見出しの下に表示されます。269* **レビュー本文**: レビューが実行されている間に PR にプッシュした場合、一部の結果は現在の diff に存在しなくなった行を参照する場合があります。これらは、インラインコメントではなく、レビュー本文テキストの **Additional findings** 見出しの下に表示されます。

265 270 

271## ローカルで差分をレビューする

272 

273[`/code-review` コマンド](/ja/commands)はターミナルで差分をレビューし、GitHub App をインストールせずに実行します。任意の Claude Code セッションで実行します:現在の差分の正確性バグを報告し、{/* min-version: 2.1.151 */}再利用、簡素化、効率化のクリーンアップを報告します。`--comment` を渡してインライン PR コメントとして結果を投稿するか、`--fix` を渡してレビュー後に結果をワーキングツリーに適用します。

274 

275低い[努力レベル](/ja/model-config#adjust-effort-level)は、より少なく、より高い信頼度の結果を返し、`high` から `max` はより広いカバレッジを提供し、不確実な結果を含む場合があります。努力引数がない場合、レビューはセッションの現在の努力を使用します。現在の差分の代わりに特定のターゲットをレビューするためにパスまたは PR 参照を渡します。

276 

277`/code-review ultra --fix` はクラウドでより深い[ultrareview](/ja/ultrareview)を実行し、セッションに戻ってきたときに結果をワーキングツリーに適用します。

278 

279このコマンドは v2.1.147 より前は `/simplify` という名前で、デフォルトで修正を適用していました。{/* min-version: 2.1.154 */}v2.1.154 から、`/simplify` はバグを探さずに修正を適用するクリーンアップのみのレビューを実行します。バグ検出のために `/simplify` をスクリプト化した場合は、変更されていない `/code-review --fix` に切り替えてください。

280 

266## 関連リソース281## 関連リソース

267 282 

268Code Review は Claude Code の残りの部分と連携するように設計されています。PR を開く前にローカルでレビューを実行したい場合、自己ホスト型セットアップが必要な場合、または `CLAUDE.md` がツール全体で Claude の動作をどのように形成するかについてさらに詳しく知りたい場合、これらのページは次の良い停止点です:283Code Review は Claude Code の残りの部分と連携するように設計されています。PR を開く前にローカルでレビューを実行したい場合、自己ホスト型セットアップが必要な場合、または `CLAUDE.md` がツール全体で Claude の動作をどのように形成するかについてさらに詳しく知りたい場合、これらのページは次の良い停止点です:

269 284 

270* [Plugins](/ja/discover-plugins): プッシュ前にローカルでオンデマンドレビューを実行するための `code-review` プラグインを含むプラグインマーケットプレイスを参照285* [Commands](/ja/commands): ローカルの Claude Code セッションで `/code-review` を実行して、プッシュ前に差分をチェック

271* [GitHub Actions](/ja/github-actions): コードレビューを超えたカスタム自動化のための独自の GitHub Actions ワークフローで Claude を実行286* [GitHub Actions](/ja/github-actions): コードレビューを超えたカスタム自動化のための独自の GitHub Actions ワークフローで Claude を実行

272* [GitLab CI/CD](/ja/gitlab-ci-cd): GitLab パイプライン用の自己ホスト型 Claude 統合287* [GitLab CI/CD](/ja/gitlab-ci-cd): GitLab パイプライン用の自己ホスト型 Claude 統合

273* [Memory](/ja/memory): Claude Code 全体で `CLAUDE.md` ファイルがどのように機能するか288* [Memory](/ja/memory): Claude Code 全体で `CLAUDE.md` ファイルがどのように機能するか

commands.md +29 −16

Details

22 22 

23**並行して作業を実行する。** `/agents` は Claude が副次的なタスクを委譲できる[サブエージェント](/ja/sub-agents)のマネージャーを開き、`/tasks` は現在のセッションのバックグラウンドで実行されているものをリストします。`/background` はセッション全体をデタッチして[バックグラウンドエージェント](/ja/agent-view)として実行し続け、ターミナルを解放します。コードベース全体にまたがる大きな変更の場合、`/batch` はそれを独立したユニットに分解し、各ユニットを独自の[worktree](/ja/worktrees)で実行します。これらのアプローチがどのように関連しているかについては、[エージェントを並行して実行する](/ja/agents)を参照してください。23**並行して作業を実行する。** `/agents` は Claude が副次的なタスクを委譲できる[サブエージェント](/ja/sub-agents)のマネージャーを開き、`/tasks` は現在のセッションのバックグラウンドで実行されているものをリストします。`/background` はセッション全体をデタッチして[バックグラウンドエージェント](/ja/agent-view)として実行し続け、ターミナルを解放します。コードベース全体にまたがる大きな変更の場合、`/batch` はそれを独立したユニットに分解し、各ユニットを独自の[worktree](/ja/worktrees)で実行します。これらのアプローチがどのように関連しているかについては、[エージェントを並行して実行する](/ja/agents)を参照してください。

24 24 

25**リリース前。** `/diff` は変更内容を表示し、`/simplify` は最近のファイルをレビューして品質と効率の修正を適用し、`/review` または `/security-review` はより深い読み取り専用パスを提供します。25**リリース前。** `/diff` は変更内容を表示し、`/code-review` は diff の正確性のバグをチェックし、`--fix` で検出結果を適用できます。`/review` または `/security-review` はより深い読み取り専用パスを提供します。`/code-review ultra` はクラウドでマルチエージェントレビューを実行します。

26 26 

27**セッション間。** `/clear` は新しいタスクで新しく開始しながらプロジェクトメモリを保持します。`/resume` と `/branch` を使用して、以前の会話に戻るか、フォークできます。`/teleport` はウェブセッションをこのターミナルに引き込み、`/remote-control` を使用してこのローカルセッションを別のデバイスから続行できます。27**セッション間。** `/clear` は新しいタスクで新しく開始しながらプロジェクトメモリを保持します。`/resume` と `/branch` を使用して、以前の会話に戻るか、フォークできます。`/teleport` はウェブセッションをこのターミナルに引き込み、`/remote-control` を使用してこのローカルセッションを別のデバイスから続行できます。

28 28 


30 30 

31## すべてのコマンド31## すべてのコマンド

32 32 

33以下の表は Claude Code に含まれるすべてのコマンドをリストしています。**[スキル](/ja/skills#bundled-skills)** とマークされたエントリはバンドルされたスキルです。これらは自分で作成するスキルと同じメカニズムを使用します。Claude に渡されるプロンプトであり、Claude は関連する場合に自動的に呼び出すこともできます。その他はすべて、CLI にコード化された動作を持つ組み込みコマンドです。独自のコマンドを追加するには、[スキル](/ja/skills)を参照してください33以下の表は Claude Code に含まれるすべてのコマンドをリストしています。ほとんどは CLI にコード化された動作を持つ組み込みコマンドです。2 つの種類のエントリがマークされています

34 

35* **[スキル](/ja/skills#bundled-skills)**: バンドルされたスキル。自分で作成するスキルと同じように機能します。Claude に渡されるプロンプトであり、Claude は関連する場合に自動的に呼び出すこともできます。

36* **[ワークフロー](/ja/workflows#bundled-workflows)**: バンドルされた[動的ワークフロー](/ja/workflows)。多くのサブエージェント間で作業をファンアウトし、バックグラウンドで実行されます。

37 

38独自のコマンドを追加するには、[スキル](/ja/skills)を参照してください。

34 39 

35以下の表では、`<arg>` は必須引数を示し、`[arg]` はオプション引数を示します。40以下の表では、`<arg>` は必須引数を示し、`[arg]` はオプション引数を示します。

36 41 

37<Note>42<Note>

38 すべてのコマンドがすべてのユーザーに表示されるわけではありません。可用性はプラットフォーム、プラン、環境によって異なります。たとえば、`/desktop` は macOS と Windows にのみ表示され、`/upgrade` は Pro プランと Max プランにのみ表示されます。43 すべてのコマンドがすべてのユーザーに表示されるわけではありません。可用性はプラットフォーム、プラン、環境によって異なります。たとえば、`/desktop` は macOS と Windows にのみ表示され、Claude サブスクリプションでサインインしている場合のみ表示されます。また、`/upgrade` は Pro プランと Max プランにのみ表示されます。

39</Note>44</Note>

40 45 

41| コマンド | 目的 |46| コマンド | 目的 |

42| :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |47| :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

43| `/add-dir <path>` | 現在のセッション中にファイルアクセス用の作業ディレクトリを追加します。ほとんどの `.claude/` 設定は追加されたディレクトリから[検出されません](/ja/permissions#additional-directories-grant-file-access-not-configuration)。後で `--continue` または `--resume` を使用して、追加されたディレクトリからセッションを再開できます |48| `/add-dir <path>` | 現在のセッション中にファイルアクセス用の作業ディレクトリを追加します。ほとんどの `.claude/` 設定は追加されたディレクトリから[検出されません](/ja/permissions#additional-directories-grant-file-access-not-configuration)。後で `--continue` または `--resume` を使用して、追加されたディレクトリからセッションを再開できます |

44| `/agents` | [エージェント](/ja/sub-agents)設定を管理します |49| `/agents` | [エージェント](/ja/sub-agents)設定を管理します |

45| `/autofix-pr [prompt]` | 現在のブランチの PR を監視し、CI が失敗するか、レビュアーがコメントを残したときに修正をプッシュする [Claude Code on the web](/ja/claude-code-on-the-web#auto-fix-pull-requests) セッションを生成します。`gh pr view` で開いている PR を検出します。別の PR を監視するには、最初にそのブランチをチェックアウトしてください。デフォルトでは、リモートセッションはすべての CI 失敗とレビューコメントを修正するよう指示されます。プロンプトを渡して異なる指示を与えることができます。例えば `/autofix-pr only fix lint and type errors`。`gh` CLI と [Claude Code on the web](/ja/claude-code-on-the-web#who-can-use-claude-code-on-the-web) へのアクセスが必要です |50| `/autofix-pr [prompt]` | 現在のブランチの PR を監視し、CI が失敗するか、レビュアーがコメントを残したときに修正をプッシュする [Claude Code on the web](/ja/claude-code-on-the-web#auto-fix-pull-requests) セッションを生成します。`gh pr view` で開いている PR を検出します。別の PR を監視するには、最初にそのブランチをチェックアウトしてください。デフォルトでは、リモートセッションはすべての CI 失敗とレビューコメントを修正するよう指示されます。プロンプトを渡して異なる指示を与えることができます。例えば `/autofix-pr only fix lint and type errors`。`gh` CLI と [Claude Code on the web](/ja/claude-code-on-the-web#who-can-use-claude-code-on-the-web) へのアクセスが必要です |

46| `/batch <instruction>` | **[スキル](/ja/skills#bundled-skills)。** コードベース全体にわたる大規模な変更を並列で調整します。コードベースを調査し、作業を 5 ~ 30 個の独立したユニットに分解し計画を提示します承認されると、分離された [git worktree](/ja/worktrees) 内の各ユニットごとに 1 つのバックグラウンドサブエージェントを生成します。各サブエージェントはそのユニットを実装し、テストを実行し、プルリクエストを開きますgit リポジトリが必要です: `/batch migrate src/ from Solid to React` |51| `/background [prompt]` | 現在のセッションをデタッチして[バックグラウンドエージェント](/ja/agent-view)として実行しこのターミナルを解放しますデタッチする前に 1 つ以上の指示を送信するためにプロンプトを渡します`claude agents` でセッションを監視しますエイリアス: `/bg` |

52| `/batch <instruction>` | **[スキル](/ja/skills#bundled-skills)。** コードベース全体にわたる大規模な変更を並列で調整します。コードベースを調査し、作業を 5 ~ 30 個の独立したユニットに分解し、計画を提示します。承認されると、分離された [git worktree](/ja/worktrees) 内の各ユニットごとに 1 つの[バックグラウンドサブエージェント](/ja/sub-agents#run-subagents-in-foreground-or-background)を生成します。各サブエージェントはそのユニットを実装し、テストを実行し、プルリクエストを開きます。git リポジトリが必要です。例: `/batch migrate src/ from Solid to React` |

47| `/branch [name]` | この時点で現在の会話のブランチを作成します。ブランチに切り替え、元の会話を保持します。`/resume` で戻ることができます。エイリアス: `/fork`。[`CLAUDE_CODE_FORK_SUBAGENT`](/ja/env-vars) が設定されている場合、`/fork` は代わりに[フォークされたサブエージェント](/ja/sub-agents#fork-the-current-conversation)を生成し、このコマンドのエイリアスではなくなります |53| `/branch [name]` | この時点で現在の会話のブランチを作成します。ブランチに切り替え、元の会話を保持します。`/resume` で戻ることができます。エイリアス: `/fork`。[`CLAUDE_CODE_FORK_SUBAGENT`](/ja/env-vars) が設定されている場合、`/fork` は代わりに[フォークされたサブエージェント](/ja/sub-agents#fork-the-current-conversation)を生成し、このコマンドのエイリアスではなくなります |

48| `/btw <question>` | 会話に追加せずに[サイドクエスチョン](/ja/interactive-mode#side-questions-with-%2Fbtw)として素早く質問します |54| `/btw <question>` | 会話に追加せずに[サイドクエスチョン](/ja/interactive-mode#side-questions-with-%2Fbtw)として素早く質問します |

49| `/chrome` | [Chrome の Claude](/ja/chrome) 設定を構成します |55| `/chrome` | [Chrome の Claude](/ja/chrome) 設定を構成します |

50| `/claude-api [migrate\|managed-agents-onboard]` | **[スキル](/ja/skills#bundled-skills)。** プロジェクトの言語(Python、TypeScript、Java、Go、Ruby、C#、PHP、または cURL)と Managed Agents リファレンス用の Claude API リファレンス資料を読み込みます。ツール使用、ストリーミング、バッチ、構造化出力、および一般的な落とし穴をカバーしています。また、コードが `anthropic` または `@anthropic-ai/sdk` をインポートするときに自動的にアクティブになります。`/claude-api migrate` を実行して、既存の Claude API コードを新しいモデルにアップグレードします。Claude はスキャンするファイルとターゲットモデルを尋ね、モデル ID、思考設定、およびバージョン間で変更されたその他のパラメータを更新します。`/claude-api managed-agents-onboard` を実行して、新しい Managed Agent をゼロから作成するインタラクティブなウォークスルーを実施します |56| `/claude-api [migrate\|managed-agents-onboard]` | **[スキル](/ja/skills#bundled-skills)。** プロジェクトの言語(Python、TypeScript、Java、Go、Ruby、C#、PHP、または cURL)と Managed Agents リファレンス用の Claude API リファレンス資料を読み込みます。ツール使用、ストリーミング、バッチ、構造化出力、および一般的な落とし穴をカバーしています。また、コードが `anthropic` または `@anthropic-ai/sdk` をインポートするときに自動的にアクティブになります。`/claude-api migrate` を実行して、既存の Claude API コードを新しいモデルにアップグレードします。Claude はスキャンするファイルとターゲットモデルを尋ね、モデル ID、思考設定、およびバージョン間で変更されたその他のパラメータを更新します。`/claude-api managed-agents-onboard` を実行して、新しい Managed Agent をゼロから作成するインタラクティブなウォークスルーを実施します |

51| `/clear [name]` | 空のコンテキストで新しい会話を開始します。前の会話は `/resume` で利用可能なままです。前の会話にラベルを付けるために名前を渡します。`/resume` ピッカーで。同じ会話を続けながらコンテキストを解放するには、代わりに `/compact` を使用してください。エイリアス: `/reset`、`/new` |57| `/clear [name]` | 空のコンテキストで新しい会話を開始します。前の会話は `/resume` で利用可能なままです。前の会話にラベルを付けるために名前を渡します。`/resume` ピッカーで。同じ会話を続けながらコンテキストを解放するには、代わりに `/compact` を使用してください。エイリアス: `/reset`、`/new` |

58| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [target]` | **[スキル](/ja/skills#bundled-skills)。** 現在の diff を正確性バグについてレビューし、再利用、簡潔化、効率化のクリーンアップについてレビューします。`--fix` を渡して結果を作業ツリーに適用し、`--comment` を渡して GitHub PR にインラインコメントとして投稿し、`ultra` を渡してディープ[クラウドレビュー](/ja/ultrareview)を実行します。{/* min-version: 2.1.154 */}v2.1.154 以降、`/simplify` は別のクリーンアップのみのレビューを実行し、バグを探さずに修正を適用します。バグを見つけるには `/code-review` を使用してください。[diff をローカルでレビュー](/ja/code-review#review-a-diff-locally)を参照して、努力レベルとターゲット設定を確認してください |

52| `/color [color\|default]` | 現在のセッションのプロンプトバーの色を設定します。利用可能な色: `red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。`default` を使用してリセットするか、引数なしで実行するとランダムな色を選択します。[リモートコントロール](/ja/remote-control)が接続されている場合、色は claude.ai/code に同期されます |59| `/color [color\|default]` | 現在のセッションのプロンプトバーの色を設定します。利用可能な色: `red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。`default` を使用してリセットするか、引数なしで実行するとランダムな色を選択します。[リモートコントロール](/ja/remote-control)が接続されている場合、色は claude.ai/code に同期されます |

53| `/compact [instructions]` | 会話をここまで要約してコンテキストを解放します。オプションで要約のフォーカス指示を渡します。[コンパクション時にルール、スキル、メモリファイルがどのように処理されるか](/ja/context-window#what-survives-compaction)を参照してください |60| `/compact [instructions]` | 会話をここまで要約してコンテキストを解放します。オプションで要約のフォーカス指示を渡します。[コンパクション時にルール、スキル、メモリファイルがどのように処理されるか](/ja/context-window#what-survives-compaction)を参照してください |

54| `/config` | [設定](/ja/settings)インターフェースを開いて、テーマ、モデル、[出力スタイル](/ja/output-styles)、およびその他の設定を調整します。エイリアス: `/settings` |61| `/config` | [設定](/ja/settings)インターフェースを開いて、テーマ、モデル、[出力スタイル](/ja/output-styles)、およびその他の設定を調整します。エイリアス: `/settings` |


56| `/copy [N]` | 最後のアシスタント応答をクリップボードにコピーします。数字 `N` を渡して N 番目に新しい応答をコピーします。`/copy 2` は 2 番目に新しい応答をコピーします。コードブロックが存在する場合、個別ブロックまたは完全な応答を選択するインタラクティブピッカーを表示します。ピッカーで `w` を押して、クリップボードの代わりにファイルに選択内容を書き込みます。SSH 経由で便利です |63| `/copy [N]` | 最後のアシスタント応答をクリップボードにコピーします。数字 `N` を渡して N 番目に新しい応答をコピーします。`/copy 2` は 2 番目に新しい応答をコピーします。コードブロックが存在する場合、個別ブロックまたは完全な応答を選択するインタラクティブピッカーを表示します。ピッカーで `w` を押して、クリップボードの代わりにファイルに選択内容を書き込みます。SSH 経由で便利です |

57| `/cost` | `/usage` のエイリアス |64| `/cost` | `/usage` のエイリアス |

58| `/debug [description]` | **[スキル](/ja/skills#bundled-skills)。** 現在のセッションのデバッグログを有効にし、セッションデバッグログを読むことで問題をトラブルシューティングします。デバッグログはデフォルトではオフです。`claude --debug` で開始した場合を除き、セッション中に `/debug` を実行するとその時点からログのキャプチャを開始します。オプションで問題を説明して分析にフォーカスを当てます |65| `/debug [description]` | **[スキル](/ja/skills#bundled-skills)。** 現在のセッションのデバッグログを有効にし、セッションデバッグログを読むことで問題をトラブルシューティングします。デバッグログはデフォルトではオフです。`claude --debug` で開始した場合を除き、セッション中に `/debug` を実行するとその時点からログのキャプチャを開始します。オプションで問題を説明して分析にフォーカスを当てます |

59| `/desktop` | 現在のセッションを Claude Code デスクトップアプリで続行します。macOS と Windows のみエイリアス: `/app` |66| `/deep-research <question>` | **[ワークフロー](/ja/workflows#bundled-workflows)** 質問に関するウェブ検索をファンアウトし、ソースをフェッチして相互検証し、引用されたレポートを合成します |

67| `/desktop` | 現在のセッションを Claude Code デスクトップアプリで続行します。macOS と Windows が必要で、Claude サブスクリプションが必要です。エイリアス: `/app` |

60| `/diff` | コミットされていない変更と各ターンの diff を表示するインタラクティブ diff ビューアを開きます。左右矢印を使用して現在の git diff と個別の Claude ターンを切り替え、上下矢印でファイルをブラウズします |68| `/diff` | コミットされていない変更と各ターンの diff を表示するインタラクティブ diff ビューアを開きます。左右矢印を使用して現在の git diff と個別の Claude ターンを切り替え、上下矢印でファイルをブラウズします |

61| `/doctor` | Claude Code のインストールと設定を診断および検証します。結果はステータスアイコン付きで表示されます。`f` を押して Claude に報告された問題を修正させます |69| `/doctor` | Claude Code のインストールと設定を診断および検証します。結果はステータスアイコン付きで表示されます。`f` を押して Claude に報告された問題を修正させます |

62| `/effort [level\|auto]` | モデルの[努力レベル](/ja/model-config#adjust-effort-level)を設定します。`low`、`medium`、`high`、`xhigh`、または `max` を受け入れます。利用可能なレベルはモデルに依存し、`max` はセッションのみです。`auto` はモデルのデフォルトにリセットします。引数なしで、インタラクティブスライダーを開きます。左右矢印でレベルを選択し、`Enter` で適用します。現在の応答の完了を待たずに即座に有効になります |70| `/effort [level\|auto]` | モデルの[努力レベル](/ja/model-config#adjust-effort-level)を設定します。`low`、`medium`、`high`、`xhigh`、`max`、または `ultracode` を受け入れます。利用可能なレベルはモデルに依存し、`max` と `ultracode` はセッションのみです。`ultracode` は Claude Code 設定で、`xhigh` 推論と自動[ワークフロー](/ja/workflows#let-claude-decide-with-ultracode)オーケストレーションを組み合わせています。`auto` はモデルのデフォルトにリセットします。引数なしで、インタラクティブスライダーを開きます。左右矢印でレベルを選択し、`Enter` で適用します。現在の応答の完了を待たずに即座に有効になります |

63| `/exit` | CLI を終了します。接続されている[バックグラウンドセッション](/ja/agent-view#attach-to-a-session)では、これはデタッチされ、セッションは実行を続けます。エイリアス: `/quit` |71| `/exit` | CLI を終了します。接続されている[バックグラウンドセッション](/ja/agent-view#attach-to-a-session)では、これはデタッチされ、セッションは実行を続けます。エイリアス: `/quit` |

64| `/export [filename]` | 現在の会話をプレーンテキストとしてエクスポートします。ファイル名を指定すると、そのファイルに直接書き込みます。指定しない場合、クリップボードにコピーするか、ファイルに保存するダイアログを開きます |72| `/export [filename]` | 現在の会話をプレーンテキストとしてエクスポートします。ファイル名を指定すると、そのファイルに直接書き込みます。指定しない場合、クリップボードにコピーするか、ファイルに保存するダイアログを開きます |

65| `/fast [on\|off]` | [高速モード](/ja/fast-mode)のオン/オフを切り替えます |73| `/fast [on\|off]` | [高速モード](/ja/fast-mode)のオン/オフを切り替えます |

66| `/feedback [report]` | Claude Code に関するフィードバックを送信します。エイリアス: `/bug` |74| `/feedback [report]` | フィードバックを送信し、バグを報告するか、会話を共有します。エイリアス: `/bug`、`/share` |

67| `/fewer-permission-prompts` | **[スキル](/ja/skills#bundled-skills)。** トランスクリプトで一般的な読み取り専用 Bash と MCP ツール呼び出しをスキャンし、プロジェクト `.claude/settings.json` に優先度付きの許可リストを追加して権限プロンプトを削減します |75| `/fewer-permission-prompts` | **[スキル](/ja/skills#bundled-skills)。** トランスクリプトで一般的な読み取り専用 Bash と MCP ツール呼び出しをスキャンし、プロジェクト `.claude/settings.json` に優先度付きの許可リストを追加して権限プロンプトを削減します |

68| `/focus` | フォーカスビューを切り替えます。最後のプロンプト、編集 diffstats を含む 1 行のツール呼び出し要約、および最終応答のみを表示します。選択は複数セッション間で保持されます。設定で [`viewMode`](/ja/settings#available-settings) を設定してオーバーライドします。[フルスクリーンレンダリング](/ja/fullscreen)でのみ利用可能です |76| `/focus` | フォーカスビューを切り替えます。最後のプロンプト、編集 diffstats を含む 1 行のツール呼び出し要約、および最終応答のみを表示します。選択は複数セッション間で保持されます。設定で [`viewMode`](/ja/settings#available-settings) を設定してオーバーライドします。[フルスクリーンレンダリング](/ja/fullscreen)でのみ利用可能です |

69| `/goal [condition\|clear]` | [目標](/ja/goal)を設定します。Claude は条件が満たされるまでターン間で作業を続けます。引数なしで、現在または最後に達成された目標を表示します。`clear`、`stop`、`off`、`reset`、`none`、または `cancel` はアクティブな目標を早期に削除します |77| `/goal [condition\|clear]` | [目標](/ja/goal)を設定します。Claude は条件が満たされるまでターン間で作業を続けます。引数なしで、現在または最後に達成された目標を表示します。`clear`、`stop`、`off`、`reset`、`none`、または `cancel` はアクティブな目標を早期に削除します |


78| `/keybindings` | キーバインディング設定ファイルを開くか作成します |86| `/keybindings` | キーバインディング設定ファイルを開くか作成します |

79| `/login` | Anthropic アカウントにサインインします |87| `/login` | Anthropic アカウントにサインインします |

80| `/logout` | Anthropic アカウントからサインアウトします |88| `/logout` | Anthropic アカウントからサインアウトします |

81| `/loop [interval] [prompt]` | **[スキル](/ja/skills#bundled-skills)。** セッションが開いている間、プロンプトを繰り返し実行します。間隔を省略すると Claude は反復間で自動的にペースを調整します。プロンプトを省略すると Claude は自律的なメンテナンスチェックを実行するか、存在する場合は `.claude/loop.md` のプロンプトを実行します。例: `/loop 5m check if the deploy finished`。[スケジュールに従ってプロンプトを実行](/ja/scheduled-tasks)を参照してください。エイリアス: `/proactive` |89| `/loop [interval] [prompt]` | **[スキル](/ja/skills#bundled-skills)。** セッションが開いている間、プロンプトを繰り返し実行します。間隔を省略すると Claude は反復間で自動的にペースを調整します。プロンプトを省略すると、[利用可能な場合](/ja/scheduled-tasks#run-the-built-in-maintenance-prompt)、Claude は自律的なメンテナンスチェックを実行するか、`.claude/loop.md` のプロンプトを実行します。例: `/loop 5m check if the deploy finished`。[スケジュールに従ってプロンプトを実行](/ja/scheduled-tasks)を参照してください。エイリアス: `/proactive` |

82| `/mcp` | MCP サーバー接続と OAuth 認証を管理します |90| `/mcp` | MCP サーバー接続と OAuth 認証を管理します |

83| `/memory` | `CLAUDE.md` メモリファイルを編集し、[自動メモリ](/ja/memory#auto-memory)を有効または無効にし、自動メモリエントリを表示します |91| `/memory` | `CLAUDE.md` メモリファイルを編集し、[自動メモリ](/ja/memory#auto-memory)を有効または無効にし、自動メモリエントリを表示します |

84| `/mobile` | Claude モバイルアプリをダウンロードするための QR コードを表示します。エイリアス: `/ios`、`/android` |92| `/mobile` | Claude モバイルアプリをダウンロードするための QR コードを表示します。エイリアス: `/ios`、`/android` |

85| `/model [model]` | AI モデルを選択または変更します。サポートしているモデルの場合、左右矢印を使用して[努力レベルを調整](/ja/model-config#adjust-effort-level)します。引数なしで、会話に前の出力がある場合に確認を求めるピッカーを開きます。次の応答はキャッシュされたコンテキストなしで完全な履歴を再読み込みするためです。確認されると、現在の応答の完了を待たずに変更が適用されます |93| `/model [model]` | AI モデルを切り替えて、新しいセッションのデフォルトとして保存します。サポートしているモデルの場合、左右矢印を使用して[努力レベルを調整](/ja/model-config#adjust-effort-level)します。引数なしで、ピッカーを開きます`s` をピッカーの行で押して、現在のセッションのみのモデルを切り替えます。会話に前の出力がある場合、ピッカーは確認を求めます。次の応答はキャッシュされたコンテキストなしで完全な履歴を再読み込みするためです。確認されると、現在の応答の完了を待たずに変更が適用されます |

86| `/passes` | Claude Code の無料 1 週間を友人と共有します。アカウントが対象の場合のみ表示されます |94| `/passes` | Claude Code の無料 1 週間を友人と共有します。アカウントが対象の場合のみ表示されます |

87| `/permissions` | ツール権限のアクセス許可、確認、および拒否ルールを管理します。スコープ別にルールを表示し、ルールを追加または削除し、作業ディレクトリを管理し、[最近の自動モード拒否](/ja/auto-mode-config#review-denials)を確認できるインタラクティブダイアログを開きます。エイリアス: `/allowed-tools` |95| `/permissions` | ツール権限のアクセス許可、確認、および拒否ルールを管理します。スコープ別にルールを表示し、ルールを追加または削除し、作業ディレクトリを管理し、[最近の自動モード拒否](/ja/auto-mode-config#review-denials)を確認できるインタラクティブダイアログを開きます。エイリアス: `/allowed-tools` |

88| `/plan [description]` | プロンプトから直接 Plan Mode に入ります。オプションの説明を渡して Plan Mode に入り、すぐにそのタスクで開始します。例えば `/plan fix the auth bug` |96| `/plan [description]` | プロンプトから直接 Plan Mode に入ります。オプションの説明を渡して Plan Mode に入り、すぐにそのタスクで開始します。例えば `/plan fix the auth bug` |


94| `/recap` | 現在のセッションの 1 行の要約をオンデマンドで生成します。[セッション要約](/ja/interactive-mode#session-recap)を参照してください。これは、しばらく離れた後に表示される自動要約です |102| `/recap` | 現在のセッションの 1 行の要約をオンデマンドで生成します。[セッション要約](/ja/interactive-mode#session-recap)を参照してください。これは、しばらく離れた後に表示される自動要約です |

95| `/release-notes` | インタラクティブバージョンピッカーでチェンジログを表示します。特定のバージョンを選択してそのリリースノートを表示するか、すべてのバージョンを表示することを選択します |103| `/release-notes` | インタラクティブバージョンピッカーでチェンジログを表示します。特定のバージョンを選択してそのリリースノートを表示するか、すべてのバージョンを表示することを選択します |

96| `/reload-plugins` | すべてのアクティブな[プラグイン](/ja/plugins)を再読み込みして、再起動せずに保留中の変更を適用します。読み込まれた各コンポーネントのカウントを報告し、読み込みエラーをフラグします |104| `/reload-plugins` | すべてのアクティブな[プラグイン](/ja/plugins)を再読み込みして、再起動せずに保留中の変更を適用します。読み込まれた各コンポーネントのカウントを報告し、読み込みエラーをフラグします |

105| `/reload-skills` | {/* min-version: 2.1.152 */}[スキル](/ja/skills)とコマンドディレクトリを再スキャンして、セッション中にディスク上で追加または変更されたスキルが再起動なしで利用可能になるようにします。利用可能なスキルの数と追加または削除されたスキルの数を報告します |

97| `/remote-control` | このセッションを claude.ai から[リモートコントロール](/ja/remote-control)できるようにします。エイリアス: `/rc` |106| `/remote-control` | このセッションを claude.ai から[リモートコントロール](/ja/remote-control)できるようにします。エイリアス: `/rc` |

98| `/remote-env` | [`--remote` で開始されたウェブセッション](/ja/claude-code-on-the-web#configure-your-environment)のデフォルトリモート環境を構成します |107| `/remote-env` | [`--remote` で開始されたウェブセッション](/ja/claude-code-on-the-web#configure-your-environment)のデフォルトリモート環境を構成します |

99| `/rename [name]` | 現在のセッションの名前を変更してプロンプトバーに名前を表示します。名前を指定しない場合、会話履歴から自動生成されます |108| `/rename [name]` | 現在のセッションの名前を変更してプロンプトバーに名前を表示します。名前を指定しない場合、会話履歴から自動生成されます |

100| `/resume [session]` | ID または名前で会話を再開するか、セッションピッカーを開きます。エイリアス: `/continue` |109| `/resume [session]` | ID または名前で会話を再開するか、セッションピッカーを開きます。v2.1.144 以降、[バックグラウンドセッション](/ja/agent-view)はピッカーに `bg` とマークされて表示されます。エイリアス: `/continue` |

101| `/review [PR]` | 現在のセッションでプルリクエストをローカルでレビューします。より深いクラウドベースのレビューについては、[`/ultrareview`](/ja/ultrareview)を参照してください |110| `/review [PR]` | 現在のセッションでプルリクエストをローカルでレビューします。より深いクラウドベースのレビューについては、[`/code-review ultra`](/ja/ultrareview)を参照してください |

102| `/rewind` | 会話またはコードを前の時点に巻き戻すか、選択したメッセージから要約します。[チェックポイント](/ja/checkpointing)を参照してください。エイリアス: `/checkpoint`、`/undo` |111| `/rewind` | 会話またはコードを前の時点に巻き戻すか、選択したメッセージから要約します。[チェックポイント](/ja/checkpointing)を参照してください。エイリアス: `/checkpoint`、`/undo` |

112| `/run` | **[スキル](/ja/skills#bundled-skills)。** プロジェクトのアプリを起動して実行し、テストだけでなく実行中のアプリで変更が機能しているのを確認します。[アプリを実行して検証](/ja/skills#run-and-verify-your-app)を参照してください。{/* min-version: 2.1.145 */}Claude Code v2.1.145 以降が必要です |

113| `/run-skill-generator` | **[スキル](/ja/skills#bundled-skills)。** クリーンな環境からプロジェクトのアプリをビルド、起動、実行する方法を `/run` と `/verify` に教えるために、プロジェクトごとの[スキル](/ja/skills#run-and-verify-your-app)を作成します。{/* min-version: 2.1.145 */}Claude Code v2.1.145 以降が必要です |

103| `/sandbox` | [サンドボックスモード](/ja/sandboxing)を切り替えます。サポートされているプラットフォームでのみ利用可能です |114| `/sandbox` | [サンドボックスモード](/ja/sandboxing)を切り替えます。サポートされているプラットフォームでのみ利用可能です |

104| `/schedule [description]` | [ルーチン](/ja/routines)を作成、更新、リスト表示、または実行します。Claude がセットアップを会話形式でガイドします。エイリアス: `/routines` |115| `/schedule [description]` | [ルーチン](/ja/routines)を作成、更新、リスト表示、または実行します。Claude がセットアップを会話形式でガイドします。エイリアス: `/routines` |

105| `/scroll-speed` | マウスホイール[スクロール速度](/ja/fullscreen#mouse-wheel-scrolling)をインタラクティブに調整します。ダイアログが開いている間にスクロールできるルーラーで変更をプレビューできます。[フルスクリーンレンダリング](/ja/fullscreen)でのみ利用可能で、JetBrains IDE ターミナルでは利用できません |116| `/scroll-speed` | マウスホイール[スクロール速度](/ja/fullscreen#mouse-wheel-scrolling)をインタラクティブに調整します。ダイアログが開いている間にスクロールできるルーラーで変更をプレビューできます。[フルスクリーンレンダリング](/ja/fullscreen)でのみ利用可能で、JetBrains IDE ターミナルでは利用できません |

106| `/security-review` | 現在のブランチの保留中の変更をセキュリティ脆弱性について分析します。git diff をレビューし、インジェクション、認証の問題、データ露出などのリスクを特定します |117| `/security-review` | 現在のブランチの保留中の変更をセキュリティ脆弱性について分析します。git diff をレビューし、インジェクション、認証の問題、データ露出などのリスクを特定します |

107| `/setup-bedrock` | [Amazon Bedrock](/ja/amazon-bedrock) 認証、リージョン、モデルピンをインタラクティブウィザードで構成します。`CLAUDE_CODE_USE_BEDROCK=1` が設定されている場合のみ表示されます。初回 Bedrock ユーザーはログイン画面からこのウィザードにアクセスすることもできます |118| `/setup-bedrock` | [Amazon Bedrock](/ja/amazon-bedrock) 認証、リージョン、モデルピンをインタラクティブウィザードで構成します。`CLAUDE_CODE_USE_BEDROCK=1` が設定されている場合のみ表示されます。初回 Bedrock ユーザーはログイン画面からこのウィザードにアクセスすることもできます |

108| `/setup-vertex` | [Google Vertex AI](/ja/google-vertex-ai) 認証、プロジェクト、リージョン、モデルピンをインタラクティブウィザードで構成します。`CLAUDE_CODE_USE_VERTEX=1` が設定されている場合のみ表示されます。初回 Vertex AI ユーザーはログイン画面からこのウィザードにアクセスすることもできます |119| `/setup-vertex` | [Google Vertex AI](/ja/google-vertex-ai) 認証、プロジェクト、リージョン、モデルピンをインタラクティブウィザードで構成します。`CLAUDE_CODE_USE_VERTEX=1` が設定されている場合のみ表示されます。初回 Vertex AI ユーザーはログイン画面からこのウィザードにアクセスすることもできます |

109| `/simplify [focus]` | **[スキル](/ja/skills#bundled-skills)。** 最近変更されたファイルをコード再利用、品質効率の問題についてレビューします。その後修正します3 つのレビューエージェントを並列で生成しその結果を集約し修正を適用しますテキストを渡して特定の懸念事項にフォーカスを当てます: `/simplify focus on memory efficiency` |120| `/simplify [target]` | {/* min-version: 2.1.154 */}**[スキル](/ja/skills#bundled-skills)。** 変更されたコードをクリーンアップの機会についてレビューし修正を適用します4 つのレビュー[エージェント](/ja/sub-agents)が並列で実行され既存のヘルパーの再利用簡潔化、効率化、および変更が抽象化の正しいレベルにあるかどうかをカバーしますv2.1.154 以降、レビューは正確性バグを探しません。バグを見つけるには `/code-review` を使用してください。以前のバージョンでは `/simplify` `/code-review --fix` と同等です。特定のターゲットをレビューするためにパスまたは PR リファレンスを渡します |

110| `/skills` | 利用可能な[スキル](/ja/skills)をリスト表示します。`t` を押してトークン数でソートします。`Space` を押して[スキルを Claude または `/` メニューから非表示にし](/ja/skills#override-skill-visibility-from-settings)、`Enter` で保存します |121| `/skills` | 利用可能な[スキル](/ja/skills)をリスト表示します。`t` を押してトークン数でソートします。`Space` を押して[スキルを Claude または `/` メニューから非表示にし](/ja/skills#override-skill-visibility-from-settings)、`Enter` で保存します |

111| `/stats` | `/usage` のエイリアス。Stats タブで開きます |122| `/stats` | `/usage` のエイリアス。Stats タブで開きます |

112| `/status` | 設定インターフェース(ステータスタブ)を開いて、バージョン、モデル、アカウント、および接続性を表示します。Claude が応答中でも機能し、現在の応答の完了を待ちません |123| `/status` | 設定インターフェース(ステータスタブ)を開いて、バージョン、モデル、アカウント、および接続性を表示します。Claude が応答中でも機能し、現在の応答の完了を待ちません |


116| `/tasks` | バックグラウンドタスクをリストおよび管理します。`/bashes` としても利用可能です |127| `/tasks` | バックグラウンドタスクをリストおよび管理します。`/bashes` としても利用可能です |

117| `/team-onboarding` | Claude Code 使用履歴からチームオンボーディングガイドを生成します。Claude は過去 30 日間のセッション、コマンド、MCP サーバー使用状況を分析し、チームメイトが最初のメッセージとして貼り付けて素早くセットアップできるマークダウンガイドを作成します。claude.ai の Pro、Max、Team、Enterprise プランのサブスクライバーの場合、チームメイトが Claude Code で直接開くことができる共有リンクも返されます |128| `/team-onboarding` | Claude Code 使用履歴からチームオンボーディングガイドを生成します。Claude は過去 30 日間のセッション、コマンド、MCP サーバー使用状況を分析し、チームメイトが最初のメッセージとして貼り付けて素早くセットアップできるマークダウンガイドを作成します。claude.ai の Pro、Max、Team、Enterprise プランのサブスクライバーの場合、チームメイトが Claude Code で直接開くことができる共有リンクも返されます |

118| `/teleport` | [Claude Code on the web](/ja/claude-code-on-the-web#from-web-to-terminal) セッションをこのターミナルに引き込みます。ピッカーを開き、ブランチと会話をフェッチします。`/tp` としても利用可能です。claude.ai サブスクリプションが必要です |129| `/teleport` | [Claude Code on the web](/ja/claude-code-on-the-web#from-web-to-terminal) セッションをこのターミナルに引き込みます。ピッカーを開き、ブランチと会話をフェッチします。`/tp` としても利用可能です。claude.ai サブスクリプションが必要です |

119| `/terminal-setup` | Shift+Enter およびその他のショートカットのターミナルキーバインディングを構成します。VS Code、Cursor、Windsurf、Alacritty、または Zed などの必要なターミナルでのみ表示されます |130| `/terminal-setup` | Shift+Enter およびその他のショートカットのターミナルキーバインディングを構成します。VS Code、Cursor、Devin Desktop、Alacritty、または Zed などの必要なターミナルでのみ表示されます |

120| `/theme` | カラーテーマを変更します。ターミナルのダークまたはライトモードに従う `auto` オプション、ライトおよびダークバリアント、色覚異常対応(ダルトン化)テーマ、ANSI テーマ(ターミナルのカラーパレットを使用)、および `~/.claude/themes/` またはプラグインからの[カスタムテーマ](/ja/terminal-config#create-a-custom-theme)を含みます。**新しいカスタムテーマ…** を選択して作成します |131| `/theme` | カラーテーマを変更します。ターミナルのダークまたはライトモードに従う `auto` オプション、ライトおよびダークバリアント、色覚異常対応(ダルトン化)テーマ、ANSI テーマ(ターミナルのカラーパレットを使用)、および `~/.claude/themes/` またはプラグインからの[カスタムテーマ](/ja/terminal-config#create-a-custom-theme)を含みます。**新しいカスタムテーマ…** を選択して作成します |

121| `/tui [default\|fullscreen]` | ターミナル UI レンダラーを設定し、会話を保持したまま再起動します。`fullscreen` は[ちらつきなしの alt-screen レンダラー](/ja/fullscreen)を有効にします。引数なしで、アクティブなレンダラーを出力します |132| `/tui [default\|fullscreen]` | ターミナル UI レンダラーを設定し、会話を保持したまま再起動します。`fullscreen` は[ちらつきなしの alt-screen レンダラー](/ja/fullscreen)を有効にします。引数なしで、アクティブなレンダラーを出力します |

122| `/ultraplan <prompt>` | [ultraplan](/ja/ultraplan) セッションで計画を作成し、ブラウザでレビューし、リモートで実行するか、ターミナルに送り返します |133| `/ultraplan <prompt>` | [ultraplan](/ja/ultraplan) セッションで計画を作成し、ブラウザでレビューし、リモートで実行するか、ターミナルに送り返します |

123| `/ultrareview [PR]` | [ultrareview](/ja/ultrareview) を使用してクラウドサンドボックスで深い複数エージェントコードレビューを実行します。Pro と Max に 3 つの無料実行が含まれ、その後は [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) が必要です |134| `/ultrareview [PR]` | [ultrareview](/ja/ultrareview) を使用してクラウドサンドボックスで深い複数エージェントコードレビューを実行します。推奨される呼び出しは `/code-review ultra` であり、`/ultrareview` はエイリアスとして残ります。Pro と Max に 3 つの無料実行が含まれ、その後は [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) が必要です |

124| `/upgrade` | アップグレードページを開いて、より高いプランティアに切り替えます |135| `/upgrade` | アップグレードページを開いて、より高いプランティアに切り替えます |

125| `/usage` | セッションコスト、プラン使用制限、およびアクティビティ統計を表示します。サブスクリプション固有の詳細については、[コスト追跡ガイド](/ja/costs#using-the-%2Fusage-command)を参照してください。`/cost` と `/stats` はエイリアスです |136| `/usage` | セッションコスト、プラン使用制限、およびアクティビティ統計を表示します。ProMax、Team、または Enterprise プランの場合、スキル、サブエージェント、プラグイン、MCP サーバーごとの使用状況の内訳が含まれます。詳細については、[コスト追跡ガイド](/ja/costs#using-the-%2Fusage-command)を参照してください。`/cost` と `/stats` はエイリアスです |

126| `/usage-credits` | 制限に達したときに作業を続行するための usage credits を構成します。以前は `/extra-usage` |137| `/usage-credits` | 制限に達したときに作業を続行するための usage credits を構成します。以前は `/extra-usage` |

138| `/verify` | **[スキル](/ja/skills#bundled-skills)。** プロジェクトのアプリをビルドして実行し、結果を観察することで、コード変更が期待通りに機能することを確認します。テストまたは型チェックに依存するのではなく。[アプリを実行して検証](/ja/skills#run-and-verify-your-app)を参照してください。{/* min-version: 2.1.145 */}Claude Code v2.1.145 以降が必要です |

127| `/vim` | {/* max-version: 2.1.91 */}v2.1.92 で削除。Vim と通常編集モード間を切り替えるには、`/config` → エディタモードを使用してください |139| `/vim` | {/* max-version: 2.1.91 */}v2.1.92 で削除。Vim と通常編集モード間を切り替えるには、`/config` → エディタモードを使用してください |

128| `/voice [hold\|tap\|off]` | [音声ディクテーション](/ja/voice-dictation)を切り替えるか、特定のモードで有効にします。Claude.ai アカウントが必要です |140| `/voice [hold\|tap\|off]` | [音声ディクテーション](/ja/voice-dictation)を切り替えるか、特定のモードで有効にします。Claude.ai アカウントが必要です |

129| `/web-setup` | ローカル `gh` CLI 認証情報を使用して GitHub アカウントを [Claude Code on the web](/ja/web-quickstart#connect-from-your-terminal) に接続します。GitHub が接続されていない場合、`/schedule` は自動的にこれを求めます |141| `/web-setup` | ローカル `gh` CLI 認証情報を使用して GitHub アカウントを [Claude Code on the web](/ja/web-quickstart#connect-from-your-terminal) に接続します。GitHub が接続されていない場合、`/schedule` は自動的にこれを求めます |

142| `/workflows` | [ワークフロー](/ja/workflows#watch-the-run)進捗ビューを開いて、実行中および完了したワークフローを監視、一時停止、再開、または保存します |

130 143 

131## MCP プロンプト144## MCP プロンプト

132 145 

Details

17* [研究を subagent に委譲する](#delegate-research-to-subagents):メインコンテキストをクリーンに保つ17* [研究を subagent に委譲する](#delegate-research-to-subagents):メインコンテキストをクリーンに保つ

18* [Claude をスクリプトにパイプする](#pipe-claude-into-scripts):CI とバッチ処理用18* [Claude をスクリプトにパイプする](#pipe-claude-into-scripts):CI とバッチ処理用

19 19 

20## プロンプトレシピ20<h2 id="prompt-recipes">

21 プロンプトレシピ

22</h2>

21 23 

22これらは、未知のコード探索、デバッグ、リファクタリング、テスト作成、PR 作成などの日常的なタスク用のプロンプトパターンです。各パターンは任意の Claude Code サーフェスで機能します。プロジェクトに合わせて表現を調整してください。24これらは、未知のコード探索、デバッグ、リファクタリング、テスト作成、PR 作成などの日常的なタスク用のプロンプトパターンです。各パターンは任意の Claude Code サーフェスで機能します。プロジェクトに合わせて表現を調整してください。

23 25 

24### 新しいコードベースを理解する26<h3 id="understand-new-codebases">

27 新しいコードベースを理解する

28</h3>

25 29 

26#### コードベースの概要を素早く把握する30モノレポまたは大規模なコードベースで Claude Code を設定する場合は、[モノレポと大規模リポジトリ](/ja/large-codebases)を参照してください。

31 

32<h4 id="get-a-quick-codebase-overview">

33 コードベースの概要を素早く把握する

34</h4>

27 35 

28新しいプロジェクトに参加したばかりで、その構造を素早く理解する必要があるとします。36新しいプロジェクトに参加したばかりで、その構造を素早く理解する必要があるとします。

29 37 


69 * プロジェクト固有の用語の用語集をリクエストする77 * プロジェクト固有の用語の用語集をリクエストする

70</Tip>78</Tip>

71 79 

72#### 関連するコードを見つける80<h4 id="find-relevant-code">

81 関連するコードを見つける

82</h4>

73 83 

74特定の機能または機能に関連するコードを見つける必要があるとします。84特定の機能または機能に関連するコードを見つける必要があるとします。

75 85 


103 113 

104***114***

105 115 

106### バグを効率的に修正する116<h3 id="fix-bugs-efficiently">

117 バグを効率的に修正する

118</h3>

107 119 

108エラーメッセージが表示され、そのソースを見つけて修正する必要があるとします。120エラーメッセージが表示され、そのソースを見つけて修正する必要があるとします。

109 121 


137 149 

138***150***

139 151 

140### コードをリファクタリングする152<h3 id="refactor-code">

153 コードをリファクタリングする

154</h3>

141 155 

142古いコードを最新のパターンとプラクティスを使用するように更新する必要があるとします。156古いコードを最新のパターンとプラクティスを使用するように更新する必要があるとします。

143 157 


177 191 

178***192***

179 193 

180### テストを使用する194<h3 id="work-with-tests">

195 テストを使用する

196</h3>

181 197 

182カバーされていないコードのテストを追加する必要があるとします。198カバーされていないコードのテストを追加する必要があるとします。

183 199 


213 229 

214***230***

215 231 

216### プルリクエストを作成する232<h3 id="create-pull-requests">

233 プルリクエストを作成する

234</h3>

217 235 

218Claude に直接プルリクエストを作成するよう依頼するか(「create a pr for my changes」)、ステップバイステップで Claude をガイドできます:236Claude に直接プルリクエストを作成するよう依頼するか(「create a pr for my changes」)、ステップバイステップで Claude をガイドできます:

219 237 


243 Claude が生成した PR を送信する前にレビューし、Claude に潜在的なリスクや考慮事項を強調するよう依頼してください。261 Claude が生成した PR を送信する前にレビューし、Claude に潜在的なリスクや考慮事項を強調するよう依頼してください。

244</Tip>262</Tip>

245 263 

246### ドキュメントを処理する264<h3 id="handle-documentation">

265 ドキュメントを処理する

266</h3>

247 267 

248コードのドキュメントを追加または更新する必要があるとします。268コードのドキュメントを追加または更新する必要があるとします。

249 269 


283 303 

284***304***

285 305 

286### ノートと非コードフォルダで作業する306<h3 id="work-in-notes-and-non-code-folders">

307 ノートと非コードフォルダで作業する

308</h3>

287 309 

288Claude Code はどのディレクトリでも機能します。ノートボルト、ドキュメントフォルダ、またはマークダウンファイルの任意のコレクション内で実行して、コードと同じ方法でコンテンツを検索、編集、再編成します。310Claude Code はどのディレクトリでも機能します。ノートボルト、ドキュメントフォルダ、またはマークダウンファイルの任意のコレクション内で実行して、コードと同じ方法でコンテンツを検索、編集、再編成します。

289 311 


291 313 

292***314***

293 315 

294### 画像を使用する316<h3 id="work-with-images">

317 画像を使用する

318</h3>

295 319 

296コードベース内の画像を使用する必要があり、Claude の画像コンテンツ分析を支援したいとします。320コードベース内の画像を使用する必要があり、Claude の画像コンテンツ分析を支援したいとします。

297 321 


351 375 

352***376***

353 377 

354### ファイルとディレクトリを参照する378<h3 id="reference-files-and-directories">

379 ファイルとディレクトリを参照する

380</h3>

355 381 

356@ を使用して、Claude に読み込まれるのを待たずにファイルまたはディレクトリをすばやく含めます。382@ を使用して、Claude に読み込まれるのを待たずにファイルまたはディレクトリをすばやく含めます。

357 383 


392 418 

393***419***

394 420 

395### スケジュールで Claude を実行する421<h3 id="run-claude-on-a-schedule">

422 スケジュールで Claude を実行する

423</h3>

396 424 

397Claude に長時間実行されるタスクを自動的に定期的に処理させたいとします。例えば、毎朝オープン PR をレビューしたり、毎週依存関係を監査したり、夜間に CI の失敗をチェックしたりします。425Claude に長時間実行されるタスクを自動的に定期的に処理させたいとします。例えば、毎朝オープン PR をレビューしたり、毎週依存関係を監査したり、夜間に CI の失敗をチェックしたりします。

398 426 


411 439 

412***440***

413 441 

414### Claude にその機能について質問する442<h3 id="ask-claude-about-its-capabilities">

443 Claude にその機能について質問する

444</h3>

415 445 

416Claude は自分のドキュメントへの組み込みアクセスを持っており、自分の機能と制限について質問に答えることができます。446Claude は自分のドキュメントへの組み込みアクセスを持っており、自分の機能と制限について質問に答えることができます。

417 447 

418#### 質問例448<h4 id="example-questions">

449 質問例

450</h4>

419 451 

420```text theme={null}452```text theme={null}

421can Claude Code create pull requests?453can Claude Code create pull requests?


455 487 

456***488***

457 489 

458## 以前の会話を再開する490<h2 id="resume-previous-conversations">

491 以前の会話を再開する

492</h2>

459 493 

460タスクが複数回に分けて実行される場合は、コンテキストを再度説明するのではなく、中断したところから再開してください。Claude Code はすべての会話をローカルに保存します。494タスクが複数回に分けて実行される場合は、コンテキストを再度説明するのではなく、中断したところから再開してください。Claude Code はすべての会話をローカルに保存します。

461 495 


465 499 

466これにより、現在のディレクトリで最新のセッションが再開されます。まだセッションがない場合は、`No conversation found to continue` と出力して終了します。`claude --resume` を使用してリストから選択するか、実行中のセッション内から `/resume` を使用してください。[セッションを管理する](/ja/sessions)を参照して、名前付け、ブランチ、および完全なピッカーリファレンスを確認してください。500これにより、現在のディレクトリで最新のセッションが再開されます。まだセッションがない場合は、`No conversation found to continue` と出力して終了します。`claude --resume` を使用してリストから選択するか、実行中のセッション内から `/resume` を使用してください。[セッションを管理する](/ja/sessions)を参照して、名前付け、ブランチ、および完全なピッカーリファレンスを確認してください。

467 501 

468## worktree を使用して並列セッションを実行する502<h2 id="run-parallel-sessions-with-worktrees">

503 worktree を使用して並列セッションを実行する

504</h2>

469 505 

4701 つのターミナルで機能に取り組みながら、別のターミナルで Claude がバグを修正するようにします。編集が衝突しないようにしてください。各 worktree は独自のブランチ上の個別のチェックアウトです。5061 つのターミナルで機能に取り組みながら、別のターミナルで Claude がバグを修正するようにします。編集が衝突しないようにしてください。各 worktree は独自のブランチ上の個別のチェックアウトです。

471 507 


475 511 

476別の名前で 2 番目のターミナルで同じコマンドを実行して、分離された並列セッションを開始します。[Worktrees](/ja/worktrees)を参照して、クリーンアップ、`.worktreeinclude`、および非 git VCS サポートを確認してください。1 つの画面から並列セッションを監視するには、[バックグラウンドエージェント](/ja/agent-view)を参照してください。512別の名前で 2 番目のターミナルで同じコマンドを実行して、分離された並列セッションを開始します。[Worktrees](/ja/worktrees)を参照して、クリーンアップ、`.worktreeinclude`、および非 git VCS サポートを確認してください。1 つの画面から並列セッションを監視するには、[バックグラウンドエージェント](/ja/agent-view)を参照してください。

477 513 

478## 編集前に計画する514<h2 id="plan-before-editing">

515 編集前に計画する

516</h2>

479 517 

480ディスクに変更を加える前に確認したい変更については、計画モードに切り替えてください。Claude はファイルを読み込んで計画を提案しますが、承認されるまで編集は行いません。518ディスクに変更を加える前に確認したい変更については、計画モードに切り替えてください。Claude はファイルを読み込んで計画を提案しますが、承認されるまで編集は行いません。

481 519 


485 523 

486セッション中に `Shift+Tab` を押して計画モードに切り替えることもできます。[計画モード](/ja/permission-modes#analyze-before-you-edit-with-plan-mode)を参照して、承認フローとテキストエディタで計画を編集することを確認してください。524セッション中に `Shift+Tab` を押して計画モードに切り替えることもできます。[計画モード](/ja/permission-modes#analyze-before-you-edit-with-plan-mode)を参照して、承認フローとテキストエディタで計画を編集することを確認してください。

487 525 

488## 研究を subagent に委譲する526<h2 id="delegate-research-to-subagents">

527 研究を subagent に委譲する

528</h2>

489 529 

490大規模なコードベースの探索はコンテキストをファイル読み込みで満たします。探索を委譲して、結果のみが戻るようにしてください。530大規模なコードベースの探索はコンテキストをファイル読み込みで満たします。探索を委譲して、結果のみが戻るようにしてください。

491 531 


495 535 

496subagent は独自のコンテキストウィンドウでファイルを読み込み、要約を報告します。[Subagents](/ja/sub-agents)を参照して、独自のツールとプロンプトを持つカスタムエージェントを定義することを確認してください。536subagent は独自のコンテキストウィンドウでファイルを読み込み、要約を報告します。[Subagents](/ja/sub-agents)を参照して、独自のツールとプロンプトを持つカスタムエージェントを定義することを確認してください。

497 537 

498## Claude をスクリプトにパイプする538<h2 id="pipe-claude-into-scripts">

539 Claude をスクリプトにパイプする

540</h2>

499 541 

500CI、プリコミットフック、またはバッチ処理用に Claude を非対話的に実行します。stdin と stdout は任意の Unix ツールのように機能します。542CI、プリコミットフック、またはバッチ処理用に Claude を非対話的に実行します。stdin と stdout は任意の Unix ツールのように機能します。

501 543 


505 547 

506[非対話モード](/ja/headless)を参照して、出力形式、許可フラグ、およびファンアウトパターンを確認してください。548[非対話モード](/ja/headless)を参照して、出力形式、許可フラグ、およびファンアウトパターンを確認してください。

507 549 

508## 次のステップ550<h2 id="next-steps">

551 次のステップ

552</h2>

509 553 

510<CardGroup cols={2}>554<CardGroup cols={2}>

511 <Card title="ベストプラクティス" icon="lightbulb" href="/ja/best-practices">555 <Card title="ベストプラクティス" icon="lightbulb" href="/ja/best-practices">

Details

12 ここのすべてを下書きコピーとして扱い、完成したコピーではありません。各メッセージを組織の声で書き直し、例のタスクを自分のコードベースの実際のバグとモジュールに置き換え、送信前に `[括弧内のプレースホルダー]` を置き換えてください。採用を促進するアナウンスメントは、あなたの会社の誰かが書いたように読めるものです。12 ここのすべてを下書きコピーとして扱い、完成したコピーではありません。各メッセージを組織の声で書き直し、例のタスクを自分のコードベースの実際のバグとモジュールに置き換え、送信前に `[括弧内のプレースホルダー]` を置き換えてください。採用を促進するアナウンスメントは、あなたの会社の誰かが書いたように読めるものです。

13</Note>13</Note>

14 14 

15## ローンチコミュニケーション15<h2 id="launch-communications">

16 ローンチコミュニケーション

17</h2>

16 18 

172 つの形式での 1 つのアナウンスメント、および 2 つのオプションバリアント。ロールアウトに合ったものを選択し、そこから書き直してください。192 つの形式での 1 つのアナウンスメント、および 2 つのオプションバリアント。ロールアウトに合ったものを選択し、そこから書き直してください。

18 20 

19### 送信前に21<h3 id="before-you-send">

22 送信前に

23</h3>

20 24 

21アナウンスメントを送信する前に、このチェックリストを確認してください。各項目は、ローンチ当日のサポートスレッドになる可能性のあるギャップを解決します。25アナウンスメントを送信する前に、このチェックリストを確認してください。各項目は、ローンチ当日のサポートスレッドになる可能性のあるギャップを解決します。

22 26 


29| 最初の 48 時間のチャネルの指定された所有者 | 回答されないローンチ当日の質問は勢いを殺す |33| 最初の 48 時間のチャネルの指定された所有者 | 回答されないローンチ当日の質問は勢いを殺す |

30| C スイートのスポンサーがアナウンスメントを送信または共同署名するよう準備されている | エグゼクティブが送信したローンチは、管理者またはツーリングチームから送信されたものより、一貫して最初の週の採用率が高い |34| C スイートのスポンサーがアナウンスメントを送信または共同署名するよう準備されている | エグゼクティブが送信したローンチは、管理者またはツーリングチームから送信されたものより、一貫して最初の週の採用率が高い |

31 35 

32### アナウンスメント36<h3 id="the-announcement">

37 アナウンスメント

38</h3>

33 39 

34これを標準的な組織全体のロールアウトメッセージとして使用してください。Claude Code が何であるかをカバーし、2 分のインストールパスを提供し、読者に 1 つの具体的なタスクを試すよう促し、「私のコードはどこに行くのか?」に誰かが尋ねる前に答えます。40これを標準的な組織全体のロールアウトメッセージとして使用してください。Claude Code が何であるかをカバーし、2 分のインストールパスを提供し、読者に 1 つの具体的なタスクを試すよう促し、「私のコードはどこに行くのか?」に誰かが尋ねる前に答えます。

35 41 


106 </Tab>112 </Tab>

107</Tabs>113</Tabs>

108 114 

109### エグゼクティブスポンサーバリアント115<h3 id="executive-sponsor-variant">

116 エグゼクティブスポンサーバリアント

117</h3>

110 118 

111CTO、CIO、SVP エンジニアリングなどのスポンサーエグゼクティブから、彼らの名前と彼らのアカウントから送信してください。エグゼクティブの名前で送信されたローンチは、管理者またはツーリングチームからの同じメッセージより、一貫して高いオープンレートと高速な最初の週のアクティベーションを見ます。これは、オプションの実験ではなく、会社の優先事項を示します。119CTO、CIO、SVP エンジニアリングなどのスポンサーエグゼクティブから、彼らの名前と彼らのアカウントから送信してください。エグゼクティブの名前で送信されたローンチは、管理者またはツーリングチームからの同じメッセージより、一貫して高いオープンレートと高速な最初の週のアクティベーションを見ます。これは、オプションの実験ではなく、会社の優先事項を示します。

112 120 


156 </Tab>164 </Tab>

157</Tabs>165</Tabs>

158 166 

159### パイロットグループバリアント167<h3 id="pilot-group-variant">

168 パイロットグループバリアント

169</h3>

160 170 

161段階的なロールアウトに使用してください。パイロットコホートのみに送信してください。171段階的なロールアウトに使用してください。パイロットコホートのみに送信してください。

162 172 


181最速の方法です。191最速の方法です。

182```192```

183 193 

184### チャンピオン採用 DM194<h3 id="champion-recruitment-dm">

195 チャンピオン採用 DM

196</h3>

185 197 

186ローンチ後、`#claude-code` で最も活動的な 2 ~ 3 人に DM を送信してください。198ローンチ後、`#claude-code` で最も活動的な 2 ~ 3 人に DM を送信してください。

187 199 


196共有できます。208共有できます。

197```209```

198 210 

199## ティップス・アンド・トリックスキャンペーン211<h2 id="tips-and-tricks-campaign">

212 ティップス・アンド・トリックスキャンペーン

213</h2>

200 214 

201ローンチ後の機能アクティベーションを促進するために設計された、すぐに貼り付けられる Slack または Teams メッセージ。各メッセージは同じパターンに従います。フック、ペイオフ、「今すぐ試す」プロンプト、ドキュメントリンク。`#claude-code` で週に 1 ~ 2 回ドリップするか、チームのギャップに合った少数を選択してください。必須の順序なしで単独で機能します。215ローンチ後の機能アクティベーションを促進するために設計された、すぐに貼り付けられる Slack または Teams メッセージ。各メッセージは同じパターンに従います。フック、ペイオフ、「今すぐ試す」プロンプト、ドキュメントリンク。`#claude-code` で週に 1 ~ 2 回ドリップするか、チームのギャップに合った少数を選択してください。必須の順序なしで単独で機能します。

202 216 

203各ブロックからメッセージ本文を Slack または Teams に直接コピーしてください。送信前に `[括弧内のプレースホルダー]` を置き換えてください。217各ブロックからメッセージ本文を Slack または Teams に直接コピーしてください。送信前に `[括弧内のプレースホルダー]` を置き換えてください。

204 218 

205### 開始する219<h3 id="get-started">

220 開始する

221</h3>

206 222 

207**正しいモデルを選択する**223**正しいモデルを選択する**

208 224 


251📖 クイックスタート → https://code.claude.com/docs/ja/quickstart267📖 クイックスタート → https://code.claude.com/docs/ja/quickstart

252```268```

253 269 

254### プロジェクトメモリ270<h3 id="project-memory">

271 プロジェクトメモリ

272</h3>

255 273 

256**`/init` と CLAUDE.md**274**`/init` と CLAUDE.md**

257 275 


293📖 ファイルの参照 → https://code.claude.com/docs/ja/common-workflows311📖 ファイルの参照 → https://code.claude.com/docs/ja/common-workflows

294```312```

295 313 

296### コントロールとセキュリティ314<h3 id="control-and-safety">

315 コントロールとセキュリティ

316</h3>

297 317 

298**許可モード**318**許可モード**

299 319 


335📖 チェックポイント → https://code.claude.com/docs/ja/checkpointing355📖 チェックポイント → https://code.claude.com/docs/ja/checkpointing

336```356```

337 357 

338### ツールを接続する358<h3 id="connect-your-tools">

359 ツールを接続する

360</h3>

339 361 

340**MCP コネクタ**362**MCP コネクタ**

341 363 


357📖 MCP コネクタ → https://code.claude.com/docs/ja/mcp379📖 MCP コネクタ → https://code.claude.com/docs/ja/mcp

358```380```

359 381 

360### ワークフローを自動化する382<h3 id="automate-your-workflows">

383 ワークフローを自動化する

384</h3>

361 385 

362**スキル**386**スキル**

363 387 


397📖 フックガイド → https://code.claude.com/docs/ja/hooks-guide421📖 フックガイド → https://code.claude.com/docs/ja/hooks-guide

398```422```

399 423 

400### 日々の開発424<h3 id="day-to-day-development">

425 日々の開発

426</h3>

401 427 

402**スクリーンショットと画像**428**スクリーンショットと画像**

403 429 


438📖 プルリクエストの作成 → https://code.claude.com/docs/ja/common-workflows464📖 プルリクエストの作成 → https://code.claude.com/docs/ja/common-workflows

439```465```

440 466 

441### 共有とスケール467<h3 id="share-and-scale">

468 共有とスケール

469</h3>

442 470 

443**プラグイン**471**プラグイン**

444 472 


458📖 プラグイン → https://code.claude.com/docs/ja/plugins486📖 プラグイン → https://code.claude.com/docs/ja/plugins

459```487```

460 488 

461### セキュリティと管理489<h3 id="security-and-admin">

490 セキュリティと管理

491</h3>

462 492 

463**セキュリティアーキテクチャ**493**セキュリティアーキテクチャ**

464 494 


500📖 ベストプラクティス → https://code.claude.com/docs/ja/best-practices530📖 ベストプラクティス → https://code.claude.com/docs/ja/best-practices

501```531```

502 532 

503## クイックリファレンス533<h2 id="quick-reference">

534 クイックリファレンス

535</h2>

504 536 

505### FAQ 回答537<h3 id="faq-responses">

538 FAQ 回答

539</h3>

506 540 

507最も頻繁に聞かれる質問への 1 行の返信。541最も頻繁に聞かれる質問への 1 行の返信。

508 542 


515| 「これは Copilot とどう違いますか?」 | Copilot は行を自動補完します。Claude Code はファイルを読み、コマンドを実行し、マルチファイル編集を行うエージェントです。[概要 →](/ja/overview) |549| 「これは Copilot とどう違いますか?」 | Copilot は行を自動補完します。Claude Code はファイルを読み、コマンドを実行し、マルチファイル編集を行うエージェントです。[概要 →](/ja/overview) |

516| 「最初に何を試すべきですか?」 | 退屈だから先延ばしにしていたバグ。「\[ファイル] のテストは不安定です、理由を調べてください。」[クイックスタート →](/ja/quickstart) |550| 「最初に何を試すべきですか?」 | 退屈だから先延ばしにしていたバグ。「\[ファイル] のテストは不安定です、理由を調べてください。」[クイックスタート →](/ja/quickstart) |

517 551 

518### プロンプトテンプレート552<h3 id="prompt-templates">

553 プロンプトテンプレート

554</h3>

519 555 

520インストールしたが、何を尋ねるべきかわからないエンジニアと共有するスタータープロンプト。各プロンプトは実際のセッションに入力される方法で表現されます。括弧内の部分を自分のリポジトリのファイルに置き換えてください。556インストールしたが、何を尋ねるべきかわからないエンジニアと共有するスタータープロンプト。各プロンプトは実際のセッションに入力される方法で表現されます。括弧内の部分を自分のリポジトリのファイルに置き換えてください。

521 557 

computer-use.md +9 −2

Details

108 108 

109Claude がターンを終了すると、非表示のアプリは自動的に復元されます。109Claude がターンを終了すると、非表示のアプリは自動的に復元されます。

110 110 

111### スクリーンショットは自動的にダウンスケールされます

112 

113Claude Code はモデルに送信する前に、すべてのスクリーンショットをダウンスケールします。Retina またはその他の高解像度ディスプレイでディスプレイ解像度を下げたり、ウィンドウをリサイズしたりする必要はありません。16 インチ MacBook Pro をネイティブ Retina 解像度でキャプチャすると 3456×2234 でキャプチャされ、約 1372×887 にダウンスケールされ、アスペクト比が保持されます。

114 

115ターゲットサイズを変更する設定はありません。ダウンスケール後、オンスクリーンテキストまたはコントロールが Claude が読むには小さすぎる場合は、ディスプレイ解像度を変更するのではなく、アプリでそれらのサイズを増やします。

116 

111### いつでも停止117### いつでも停止

112 118 

113Claude がロックを取得すると、macOS 通知が表示されます。「Claude is using your computer · press Esc to stop」。どこからでも `Esc` を押して現在のアクションを直ちに中止するか、ターミナルで `Ctrl+C` を押します。どちらの方法でも、Claude はロックを解放し、アプリを表示し、制御をあなたに返します。119Claude がロックを取得すると、macOS 通知が表示されます。「Claude is using your computer · press Esc to stop」。どこからでも `Esc` を押して現在のアクションを直ちに中止するか、ターミナルで `Ctrl+C` を押します。どちらの方法でも、Claude はロックを解放し、アプリを表示し、制御をあなたに返します。


169 175 

170## Desktop アプリとの違い176## Desktop アプリとの違い

171 177 

172CLI と Desktop サーフェスは同じコンピュータ使用エンジンを共有します。Desktop 固有のコントロールの一部はまだ CLI にはありません178CLI と Desktop サーフェスは同じコンピュータ使用エンジンを共有します。いくつかの違いがあります

173 179 

174| 機能 | Desktop | CLI |180| 機能 | Desktop | CLI |

175| :---------- | :---------------------------------------------- | :--------------------------- |181| :---------- | :---------------------------------------------- | :--------------------------- |

182| プラットフォーム | macOS と Windows | macOS のみ |

176| 有効化 | **Settings > General** のトグル(**Desktop app** の下) | `/mcp` で `computer-use` を有効化 |183| 有効化 | **Settings > General** のトグル(**Desktop app** の下) | `/mcp` で `computer-use` を有効化 |

177| 拒否されたアプリリスト | 設定で設定可能 | まだ利用できません |184| 拒否されたアプリリスト | 設定で設定可能 | まだ利用できません |

178| 自動非表示トグル | オプション | 常にオン |185| 自動非表示トグル | オプション | 常にオン |


192 199 

193サーバーは適格なセットアップにのみ表示されます。以下を確認してください。200サーバーは適格なセットアップにのみ表示されます。以下を確認してください。

194 201 

195* macOS を使用しています。コンピュータ使用は Linux または Windows では利用できません。202* macOS を使用しています。コンピュータ使用は Linux または Windows では利用できません。Windows では、代わりに [Desktop でのコンピュータ使用](/ja/desktop#let-claude-use-your-computer)を使用してください。

196* Claude Code v2.1.85 以降を実行しています。`claude --version` を実行して確認します。203* Claude Code v2.1.85 以降を実行しています。`claude --version` を実行して確認します。

197* Pro または Max プランを使用しています。`/status` を実行してサブスクリプションを確認します。204* Pro または Max プランを使用しています。`/status` を実行してサブスクリプションを確認します。

198* claude.ai を通じて認証されています。コンピュータ使用は Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry などのサードパーティプロバイダーでは利用できません。サードパーティプロバイダーのみを通じて Claude にアクセスする場合、この機能を使用するには別の claude.ai アカウントが必要です。205* claude.ai を通じて認証されています。コンピュータ使用は Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry などのサードパーティプロバイダーでは利用できません。サードパーティプロバイダーのみを通じて Claude にアクセスする場合、この機能を使用するには別の claude.ai アカウントが必要です。

context-window.md +51 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# コンテキストウィンドウを探索する

6 

7> Claude Code のコンテキストウィンドウがセッション中にどのように満たされるかのインタラクティブなシミュレーション。自動的に読み込まれるもの、各ファイル読み込みのコスト、ルールとフックが発火するタイミングを確認できます。

8 

9Claude Code のコンテキストウィンドウには、セッションについて Claude が知っているすべてのものが含まれます。つまり、あなたの指示、読み込まれたファイル、Claude 自身の応答、およびターミナルに表示されないコンテンツです。以下のタイムラインは、何が読み込まれ、いつ読み込まれるかを説明します。[書かれた説明](#what-the-timeline-shows)で同じコンテンツをリストとして確認できます。

10 

11## タイムラインが示すもの

12 

13セッションは、代表的なトークン数を含む現実的なフローを通じて進みます。

14 

15* **何も入力する前に**: CLAUDE.md、自動メモリ、MCP ツール名、スキルの説明がすべてコンテキストに読み込まれます。あなた自身のセットアップは、[出力スタイル](/ja/output-styles)や[`--append-system-prompt`](/ja/cli-reference)からのテキストなど、ここにさらに多くのものを追加する可能性があります。これらはシステムプロンプトと同じ方法で入ります。

16* **Claude が作業するとき**: 各ファイル読み込みがコンテキストに追加され、[パススコープ付きルール](/ja/memory#path-specific-rules)は一致するファイルと一緒に自動的に読み込まれ、[PostToolUse フック](/ja/hooks-guide)は各編集後に発火します。

17* **フォローアップ プロンプト**: [サブエージェント](/ja/sub-agents)は独自の別のコンテキストウィンドウで研究を処理するため、大きなファイル読み込みはあなたのコンテキストウィンドウから外れます。サマリーと小さなメタデータトレーラーだけが戻ってきます。

18* **最後に**: `/compact` は会話をまとめられた構造化されたサマリーに置き換えます。ほとんどのスタートアップコンテンツは自動的に再度読み込まれます。以下の表は、各メカニズムに何が起こるかを示しています。

19 

20## コンパクション後に残るもの

21 

22長いセッションがコンパクションされると、Claude Code は会話履歴をコンテキストウィンドウに収まるようにまとめます。あなたの指示に何が起こるかは、それらがどのように読み込まれたかによって異なります。

23 

24| メカニズム | コンパクション後 |

25| :----------------------------- | :-------------------------------------------------------------------- |

26| システムプロンプトと出力スタイル | 変更なし。メッセージ履歴の一部ではありません |

27| プロジェクトルート CLAUDE.md とスコープなしルール | ディスクから再度注入されます |

28| 自動メモリ | ディスクから再度注入されます |

29| `paths:` frontmatter を持つルール | 一致するファイルが再度読み込まれるまで失われます |

30| サブディレクトリ内のネストされた CLAUDE.md | そのサブディレクトリ内のファイルが再度読み込まれるまで失われます |

31| 呼び出されたスキル本体 | 再度注入されます。スキルあたり 5,000 トークン、合計 25,000 トークンでキャップされます。最も古いものが最初にドロップされます |

32| フック | 適用されません。フックはコンテキストではなくコードとして実行されます |

33 

34パススコープ付きルールとネストされた CLAUDE.md ファイルは、トリガーファイルが読み込まれるときにメッセージ履歴に読み込まれるため、コンパクションはそれらを他のすべてのものと一緒にまとめます。一致するファイルが Claude によって再度読み込まれるときに再度読み込まれます。ルールがコンパクション全体で永続化する必要がある場合は、`paths:` frontmatter をドロップするか、プロジェクトルート CLAUDE.md に移動してください。

35 

36スキル本体はコンパクション後に再度注入されますが、大きなスキルはスキルあたりのキャップに収まるようにトリミングされ、合計予算を超えると最も古い呼び出されたスキルがドロップされます。トリミングはファイルの開始を保持するため、`SKILL.md` の上部に最も重要な指示を配置してください。

37 

38## あなた自身のセッションを確認する

39 

40ビジュアライゼーションは代表的な数値を使用しています。任意の時点でのあなたの実際のコンテキスト使用状況を確認するには、`/context` を実行して、カテゴリ別の詳細な内訳と最適化の提案を取得してください。`/memory` を実行して、スタートアップ時にどの CLAUDE.md と自動メモリファイルが読み込まれたかを確認してください。

41 

42## 関連リソース

43 

44タイムラインに示されている機能の詳細なカバレッジについては、これらのページを参照してください。

45 

46* [Claude Code を拡張する](/ja/features-overview): CLAUDE.md とスキルとルールとフックと MCP をいつ使用するか

47* [指示とメモリを保存する](/ja/memory): CLAUDE.md 階層と自動メモリ

48* [サブエージェント](/ja/sub-agents): 研究を別のコンテキストウィンドウに委譲する

49* [ベストプラクティス](/ja/best-practices): コンテキストを主な制約として管理する

50* [プロンプト キャッシング](/ja/prompt-caching): キャッシュされたプレフィックスを無効にするアクション

51* [トークン使用量を削減する](/ja/costs#reduce-token-usage): コンテキスト使用量を低く保つための戦略

costs.md +65 −23

Details

12 12 

13このページでは、[コストを追跡する方法](#track-your-costs)、[チームのコストを管理する方法](#managing-costs-for-teams)、および [トークン使用量を削減する方法](#reduce-token-usage) について説明します。13このページでは、[コストを追跡する方法](#track-your-costs)、[チームのコストを管理する方法](#managing-costs-for-teams)、および [トークン使用量を削減する方法](#reduce-token-usage) について説明します。

14 14 

15## コストを追跡する15<h2 id="track-your-costs">

16 コストを追跡する

17</h2>

16 18 

17### `/usage` コマンドを使用する19<h3 id="using-the-/usage-command">

20 `/usage` コマンドを使用する

21</h3>

18 22 

19<Note>23<Note>

20 `/usage` のセッションブロックは API トークン使用量を表示し、API ユーザーを対象としています。Claude Max および Pro サブスクライバーはサブスクリプションに使用量が含まれているため、セッションコスト数値は請求目的では関連がありません。サブスクライバーは同じ画面でプラン使用量バーとアクティビティ統計を表示します24 `/usage` のセッションブロックは API トークン使用量を表示し、API ユーザーを対象としています。Claude Max および Pro サブスクライバーはサブスクリプションに使用量が含まれているため、セッションコスト数値は請求目的では関連がありません。サブスクライバーは同じ画面でプラン使用量バー、アクティビティ統計、および使用量の内訳を表示します

21</Note>25</Note>

22 26 

23`/usage` コマンドは現在のセッションの詳細なトークン使用統計を提供します。ドル数値はトークン数から局所的に計算された推定値であり、実際の請求書と異なる場合があります。権限のある請求については、[Claude Console](https://platform.claude.com/usage) の使用量ページを参照してください。27`/usage` の上部のセッションブロックは、現在のセッションの詳細なトークン使用統計を表示します。ドル数値はトークン数から局所的に計算された推定値であり、実際の請求書と異なる場合があります。権限のある請求については、[Claude Console](https://platform.claude.com/usage) の使用量ページを参照してください。

24 28 

25```text theme={null}29```text theme={null}

26Total cost: $0.5530Total cost: $0.55


29Total code changes: 0 lines added, 0 lines removed33Total code changes: 0 lines added, 0 lines removed

30```34```

31 35 

32## チームのコストを管理する36Pro、Max、Team、または Enterprise プランでは、`/usage` はプラン制限に対してカウントされるものの内訳も表示します。最近の使用量をスキル、サブエージェント、プラグイン、および個別の MCP サーバーに属性付けし、それぞれが合計のパーセンテージとして表示されます。`d` または `w` を押して、過去 24 時間と過去 7 日間を切り替えることができます。数値は概算であり、このマシン上のローカルセッション履歴から計算されるため、他のデバイスまたは claude.ai からの使用量は含まれていません。

37 

38<h2 id="managing-costs-for-teams">

39 チームのコストを管理する

40</h2>

33 41 

34Claude API を使用する場合、Claude Code ワークスペース支出の合計に対して [ワークスペース支出制限を設定](https://platform.claude.com/docs/ja/build-with-claude/workspaces#workspace-limits) できます。管理者は Console で [コストと使用状況レポートを表示](https://platform.claude.com/docs/ja/build-with-claude/workspaces#usage-and-cost-tracking) できます。42Claude API を使用する場合、Claude Code ワークスペース支出の合計に対して [ワークスペース支出制限を設定](https://platform.claude.com/docs/ja/build-with-claude/workspaces#workspace-limits) できます。管理者は Console で [コストと使用状況レポートを表示](https://platform.claude.com/docs/ja/build-with-claude/workspaces#usage-and-cost-tracking) できます。

35 43 

44Pro および Max プランでは、`/usage-credits` コマンドを使用して使用クレジットの月間支出制限を設定できます。その制限に達しても使用クレジットがまだ利用可能な場合、Claude Code はプロンプトを表示して、制限を引き上げるか削除するよう促し、CLI を離れることなく続行できるようにします。制限の変更にはアカウントの請求アクセスが必要です。

45 

36<Note>46<Note>

37 Claude Code を Claude Console アカウントで初めて認証すると、「Claude Code」というワークスペースが自動的に作成されます。このワークスペースは、組織内のすべての Claude Code 使用量の一元化されたコスト追跡と管理を提供します。このワークスペースの API キーを作成することはできません。これは Claude Code 認証と使用量専用です。47 Claude Code を Claude Console アカウントで初めて認証すると、「Claude Code」というワークスペースが自動的に作成されます。このワークスペースは、組織内のすべての Claude Code 使用量の一元化されたコスト追跡と管理を提供します。このワークスペースの API キーを作成することはできません。これは Claude Code 認証と使用量専用です。

38 48 


41 51 

42Bedrock、Vertex、および Foundry では、Claude Code はクラウドからメトリクスを送信しません。コストメトリクスを取得するために、複数の大規模企業は [LiteLLM](/ja/llm-gateway#litellm-configuration) を使用していると報告しており、これは企業が [キーごとに支出を追跡](https://docs.litellm.ai/docs/proxy/virtual_keys#tracking-spend) するのに役立つオープンソースツールです。このプロジェクトは Anthropic と提携していないため、セキュリティについて監査されていません。52Bedrock、Vertex、および Foundry では、Claude Code はクラウドからメトリクスを送信しません。コストメトリクスを取得するために、複数の大規模企業は [LiteLLM](/ja/llm-gateway#litellm-configuration) を使用していると報告しており、これは企業が [キーごとに支出を追跡](https://docs.litellm.ai/docs/proxy/virtual_keys#tracking-spend) するのに役立つオープンソースツールです。このプロジェクトは Anthropic と提携していないため、セキュリティについて監査されていません。

43 53 

44### レート制限の推奨事項54<h3 id="rate-limit-recommendations">

55 レート制限の推奨事項

56</h3>

45 57 

46チーム向けに Claude Code を設定する場合、組織のサイズに基づいて、これらのユーザーあたりのトークン/分(TPM)およびリクエスト/分(RPM)の推奨事項を検討してください。58チーム向けに Claude Code を設定する場合、組織のサイズに基づいて、これらのユーザーあたりのトークン/分(TPM)およびリクエスト/分(RPM)の推奨事項を検討してください。

47 59 


62 大規模グループとのライブトレーニングセッションなど、異常に高い同時使用シナリオが予想される場合は、ユーザーあたりのより高い TPM 割り当てが必要になる場合があります。74 大規模グループとのライブトレーニングセッションなど、異常に高い同時使用シナリオが予想される場合は、ユーザーあたりのより高い TPM 割り当てが必要になる場合があります。

63</Note>75</Note>

64 76 

65### エージェントチームのトークンコスト77<h3 id="agent-team-token-costs">

78 エージェントチームのトークンコスト

79</h3>

66 80 

67[エージェントチーム](/ja/agent-teams) は複数の Claude Code インスタンスを生成し、各インスタンスは独自のコンテキストウィンドウを持ちます。トークン使用量はアクティブなチームメイトの数と各チームメイトが実行される期間に応じてスケーリングされます。81[エージェントチーム](/ja/agent-teams) は複数の Claude Code インスタンスを生成し、各インスタンスは独自のコンテキストウィンドウを持ちます。トークン使用量はアクティブなチームメイトの数と各チームメイトが実行される期間に応じてスケーリングされます。

68 82 


74* 作業が完了したらチームをクリーンアップします。アクティブなチームメイトはアイドル状態でもトークンを消費し続けます。88* 作業が完了したらチームをクリーンアップします。アクティブなチームメイトはアイドル状態でもトークンを消費し続けます。

75* エージェントチームはデフォルトで無効になっています。[settings.json](/ja/settings) または環境で `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` を設定して有効にします。[エージェントチームを有効にする](/ja/agent-teams#enable-agent-teams) を参照してください。89* エージェントチームはデフォルトで無効になっています。[settings.json](/ja/settings) または環境で `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` を設定して有効にします。[エージェントチームを有効にする](/ja/agent-teams#enable-agent-teams) を参照してください。

76 90 

77## トークン使用量を削減する91<h2 id="reduce-token-usage">

92 トークン使用量を削減する

93</h2>

78 94 

79トークンコストはコンテキストサイズに応じてスケーリングされます。Claude が処理するコンテキストが多いほど、より多くのトークンを使用します。Claude Code はプロンプトキャッシング(システムプロンプトなどの繰り返されるコンテンツのコストを削減)と自動コンパクション(コンテキスト制限に近づくと会話履歴を要約)を通じてコストを自動的に最適化します。95トークンコストはコンテキストサイズに応じてスケーリングされます。Claude が処理するコンテキストが多いほど、より多くのトークンを使用します。Claude Code は [プロンプトキャッシング](/ja/prompt-caching)(システムプロンプトなどの繰り返されるコンテンツのコストを削減)と自動コンパクション(コンテキスト制限に近づくと会話履歴を要約)を通じてコストを自動的に最適化します。

80 96 

81以下の戦略は、コンテキストを小さく保ち、メッセージあたりのコストを削減するのに役立ちます。97以下の戦略は、コンテキストを小さく保ち、メッセージあたりのコストを削減するのに役立ちます。

82 98 

83### コンテキストを積極的に管理する99<h3 id="manage-context-proactively">

100 コンテキストを積極的に管理する

101</h3>

84 102 

85`/usage` を使用して現在のトークン使用量を確認するか、[ステータスラインを設定](/ja/statusline#context-window-usage) してそれを継続的に表示します。103`/usage` を使用して現在のトークン使用量を確認するか、[ステータスラインを設定](/ja/statusline#context-window-usage) してそれを継続的に表示します。

86 104 


95When you are using compact, please focus on test output and code changes113When you are using compact, please focus on test output and code changes

96```114```

97 115 

98### 適切なモデルを選択する116<h3 id="choose-the-right-model">

117 適切なモデルを選択する

118</h3>

99 119 

100Sonnet はほとんどのコーディングタスクをうまく処理し、Opus よりもコストが低くなります。複雑なアーキテクチャの決定または複数ステップの推論のために Opus を予約します。`/model` を使用してセッション中にモデルを切り替えるか、`/config` でデフォルトを設定します。単純な subagent タスクの場合、[subagent 設定](/ja/sub-agents#choose-a-model) で `model: haiku` を指定します。120Sonnet はほとんどのコーディングタスクをうまく処理し、Opus よりもコストが低くなります。複雑なアーキテクチャの決定または複数ステップの推論のために Opus を予約します。`/model` を使用してセッション中にモデルを切り替えるか、`/config` でデフォルトを設定します。単純な subagent タスクの場合、[subagent 設定](/ja/sub-agents#choose-a-model) で `model: haiku` を指定します。

101 121 

102### MCP サーバーのオーバーヘッドを削減する122<h3 id="reduce-mcp-server-overhead">

123 MCP サーバーのオーバーヘッドを削減する

124</h3>

103 125 

104MCP ツール定義は [デフォルトで遅延](/ja/mcp#scale-with-mcp-tool-search) されるため、Claude が特定のツールを使用するまで、ツール名のみがコンテキストに入ります。`/context` を実行して、何がスペースを消費しているかを確認します。126MCP ツール定義は [デフォルトで遅延](/ja/mcp#scale-with-mcp-tool-search) されるため、Claude が特定のツールを使用するまで、ツール名のみがコンテキストに入ります。`/context` を実行して、何がスペースを消費しているかを確認します。

105 127 

106* **利用可能な場合は CLI ツールを優先する**: `gh`、`aws`、`gcloud`、`sentry-cli` などのツールは、ツールごとのリストを追加しないため、MCP サーバーよりもコンテキスト効率が高くなります。Claude はオーバーヘッドなしで CLI コマンドを直接実行できます。128* **利用可能な場合は CLI ツールを優先する**: `gh`、`aws`、`gcloud`、`sentry-cli` などのツールは、ツールごとのリストを追加しないため、MCP サーバーよりもコンテキスト効率が高くなります。Claude はオーバーヘッドなしで CLI コマンドを直接実行できます。

107* **未使用のサーバーを無効にする**: `/mcp` を実行して設定されたサーバーを確認し、積極的に使用していないサーバーを無効にします。129* **未使用のサーバーを無効にする**: `/mcp` を実行して設定されたサーバーを確認し、積極的に使用していないサーバーを無効にします。

108 130 

109### 型付き言語用のコードインテリジェンスプラグインをインストールする131<h3 id="install-code-intelligence-plugins-for-typed-languages">

132 型付き言語用のコードインテリジェンスプラグインをインストールする

133</h3>

110 134 

111[コードインテリジェンスプラグイン](/ja/discover-plugins#code-intelligence) は Claude にテキストベースの検索の代わりに正確なシンボルナビゲーションを提供し、不慣れなコードを探索する際の不要なファイル読み取りを削減します。単一の「定義に移動」呼び出しは、grep の後に複数の候補ファイルを読み取る必要があるものを置き換えます。インストールされた言語サーバーは編集後に型エラーを自動的に報告するため、Claude はコンパイラを実行せずにエラーをキャッチします。135[コードインテリジェンスプラグイン](/ja/discover-plugins#code-intelligence) は Claude にテキストベースの検索の代わりに正確なシンボルナビゲーションを提供し、不慣れなコードを探索する際の不要なファイル読み取りを削減します。単一の「定義に移動」呼び出しは、grep の後に複数の候補ファイルを読み取る必要があるものを置き換えます。インストールされた言語サーバーは編集後に型エラーを自動的に報告するため、Claude はコンパイラを実行せずにエラーをキャッチします。

112 136 

113### フックとスキルに処理をオフロードする137<h3 id="offload-processing-to-hooks-and-skills">

138 フックとスキルに処理をオフロードする

139</h3>

114 140 

115カスタム [フック](/ja/hooks) は Claude がそれを見る前にデータを前処理できます。Claude が 10,000 行のログファイルを読んでエラーを見つける代わりに、フックは `ERROR` に対して grep を実行し、一致する行のみを返すことができ、コンテキストを数万トークンから数百に削減します。141カスタム [フック](/ja/hooks) は Claude がそれを見る前にデータを前処理できます。Claude が 10,000 行のログファイルを読んでエラーを見つける代わりに、フックは `ERROR` に対して grep を実行し、一致する行のみを返すことができ、コンテキストを数万トークンから数百に削減します。

116 142 


160 </Tab>186 </Tab>

161</Tabs>187</Tabs>

162 188 

163### CLAUDE.md からスキルに指示を移動する189<h3 id="move-instructions-from-claude-md-to-skills">

190 CLAUDE.md からスキルに指示を移動する

191</h3>

164 192 

165[CLAUDE.md](/ja/memory) ファイルはセッション開始時にコンテキストに読み込まれます。PR レビューやデータベース移行などの特定のワークフロー用の詳細な指示が含まれている場合、関連のない作業を行っている場合でもそれらのトークンが存在します。[スキル](/ja/skills) はオンデマンドでのみ呼び出されたときに読み込まれるため、特殊な指示をスキルに移動することで、ベースコンテキストを小さく保ちます。CLAUDE.md を 200 行以下に保つことを目指し、必須のみを含めます。193[CLAUDE.md](/ja/memory) ファイルはセッション開始時にコンテキストに読み込まれます。PR レビューやデータベース移行などの特定のワークフロー用の詳細な指示が含まれている場合、関連のない作業を行っている場合でもそれらのトークンが存在します。[スキル](/ja/skills) はオンデマンドでのみ呼び出されたときに読み込まれるため、特殊な指示をスキルに移動することで、ベースコンテキストを小さく保ちます。CLAUDE.md を 200 行以下に保つことを目指し、必須のみを含めます。

166 194 

167### 拡張思考を調整する195<h3 id="adjust-extended-thinking">

196 拡張思考を調整する

197</h3>

168 198 

169拡張思考はデフォルトで有効になっています。これは複雑な計画と推論タスクのパフォーマンスを大幅に向上させるためです。思考トークンは出力トークンとして課金され、デフォルト予算はモデルに応じて数万トークンになる場合があります。深い推論が必要ない単純なタスクの場合、`/effort` で [努力レベル](/ja/model-config#adjust-effort-level) を低下させるか、`/model` で、`/config` で思考を無効にするか、`MAX_THINKING_TOKENS=8000` で予算を低下させることでコストを削減できます。199拡張思考はデフォルトで有効になっています。これは複雑な計画と推論タスクのパフォーマンスを大幅に向上させるためです。思考トークンは出力トークンとして課金され、デフォルト予算はモデルに応じて数万トークンになる場合があります。深い推論が必要ない単純なタスクの場合、`/effort` で [努力レベル](/ja/model-config#adjust-effort-level) を低下させるか、`/model` で、`/config` で思考を無効にするか、`MAX_THINKING_TOKENS=8000` で予算を低下させることでコストを削減できます。

170 200 

171### 詳細な操作を subagent に委任する201<h3 id="delegate-verbose-operations-to-subagents">

202 詳細な操作を subagent に委任する

203</h3>

172 204 

173テストの実行、ドキュメントの取得、またはログファイルの処理は、かなりのコンテキストを消費できます。これらを [subagent](/ja/sub-agents#isolate-high-volume-operations) に委任して、詳細な出力が subagent のコンテキストに留まり、メインの会話に戻るのはサマリーのみです。205テストの実行、ドキュメントの取得、またはログファイルの処理は、かなりのコンテキストを消費できます。これらを [subagent](/ja/sub-agents#isolate-high-volume-operations) に委任して、詳細な出力が subagent のコンテキストに留まり、メインの会話に戻るのはサマリーのみです。

174 206 

175### エージェントチームのコストを管理する207<h3 id="manage-agent-team-costs">

208 エージェントチームのコストを管理する

209</h3>

176 210 

177エージェントチームは、チームメイトがプランモードで実行される場合、標準セッションよりも約 7 倍多くのトークンを使用します。これは、各チームメイトが独自のコンテキストウィンドウを維持し、別の Claude インスタンスとして実行されるためです。チームメイトあたりのトークン使用量を制限するために、チームタスクを小さく自己完結させておきます。詳細については、[エージェントチーム](/ja/agent-teams) を参照してください。211エージェントチームは、チームメイトがプランモードで実行される場合、標準セッションよりも約 7 倍多くのトークンを使用します。これは、各チームメイトが独自のコンテキストウィンドウを維持し、別の Claude インスタンスとして実行されるためです。チームメイトあたりのトークン使用量を制限するために、チームタスクを小さく自己完結させておきます。詳細については、[エージェントチーム](/ja/agent-teams) を参照してください。

178 212 

179### 具体的なプロンプトを作成する213<h3 id="write-specific-prompts">

214 具体的なプロンプトを作成する

215</h3>

180 216 

181「このコードベースを改善する」のような曖昧なリクエストは、広範なスキャンをトリガーします。「auth.ts のログイン関数に入力検証を追加する」のような具体的なリクエストにより、Claude は最小限のファイル読み取りで効率的に作業できます。217「このコードベースを改善する」のような曖昧なリクエストは、広範なスキャンをトリガーします。「auth.ts のログイン関数に入力検証を追加する」のような具体的なリクエストにより、Claude は最小限のファイル読み取りで効率的に作業できます。

182 218 

183### 複雑なタスクで効率的に作業する219<h3 id="work-efficiently-on-complex-tasks">

220 複雑なタスクで効率的に作業する

221</h3>

184 222 

185より長いまたはより複雑な作業の場合、これらの習慣は間違った方向に進むことからの無駄なトークンを回避するのに役立ちます。223より長いまたはより複雑な作業の場合、これらの習慣は間違った方向に進むことからの無駄なトークンを回避するのに役立ちます。

186 224 

187* **複雑なタスクにはプランモードを使用する**: Shift+Tab を押して、実装の前に [プランモード](/ja/common-workflows#use-plan-mode-for-safe-code-analysis) に入ります。Claude はコードベースを探索し、承認のためのアプローチを提案し、初期方向が間違っている場合の高価な再作業を防ぎます。225* **複雑なタスクにはプランモードを使用する**: Shift+Tab を押して、実装の前に [プランモード](/ja/permission-modes#analyze-before-you-edit-with-plan-mode) に入ります。Claude はコードベースを探索し、承認のためのアプローチを提案し、初期方向が間違っている場合の高価な再作業を防ぎます。

188* **早期に方向を修正する**: Claude が間違った方向に向かい始めた場合は、Escape を押して直ちに停止します。`/rewind` を使用するか、Escape をダブルタップして、会話とコードを前のチェックポイントに復元します。226* **早期に方向を修正する**: Claude が間違った方向に向かい始めた場合は、Escape を押して直ちに停止します。`/rewind` を使用するか、Escape をダブルタップして、会話とコードを前のチェックポイントに復元します。

189* **検証ターゲットを指定する**: テストケースを含めるか、スクリーンショットを貼り付けるか、プロンプトで予想される出力を定義します。Claude が独自の作業を検証できる場合、修正をリクエストする必要がある前に問題をキャッチします。227* **検証ターゲットを指定する**: テストケースを含めるか、スクリーンショットを貼り付けるか、プロンプトで予想される出力を定義します。Claude が独自の作業を検証できる場合、修正をリクエストする必要がある前に問題をキャッチします。

190* **段階的にテストする**: 1 つのファイルを作成し、テストしてから続行します。これは、修正が安い場合に早期に問題をキャッチします。228* **段階的にテストする**: 1 つのファイルを作成し、テストしてから続行します。これは、修正が安い場合に早期に問題をキャッチします。

191 229 

192## バックグラウンドトークン使用量230<h2 id="background-token-usage">

231 バックグラウンドトークン使用量

232</h2>

193 233 

194Claude Code はアイドル状態でも、バックグラウンド機能にトークンを使用します。234Claude Code はアイドル状態でも、バックグラウンド機能にトークンを使用します。

195 235 


198 238 

199これらのバックグラウンドプロセスは、アクティブなインタラクションがなくても、少量のトークン(通常はセッションあたり 0.04 ドル未満)を消費します。239これらのバックグラウンドプロセスは、アクティブなインタラクションがなくても、少量のトークン(通常はセッションあたり 0.04 ドル未満)を消費します。

200 240 

201## Claude Code の動作の変更を理解する241<h2 id="understanding-changes-in-claude-code-behavior">

242 Claude Code の動作の変更を理解する

243</h2>

202 244 

203Claude Code は、コスト報告を含む機能の動作方法を変更する可能性のある定期的な更新を受け取ります。`claude --version` を実行して現在のバージョンを確認します。特定の請求に関する質問については、[Console アカウント](https://platform.claude.com/login) を通じて Anthropic サポートに連絡してください。245Claude Code は、コスト報告を含む機能の動作方法を変更する可能性のある定期的な更新を受け取ります。`claude --version` を実行して現在のバージョンを確認します。特定の請求に関する質問については、[Console アカウント](https://platform.claude.com/login) を通じて Anthropic サポートに連絡してください。

data-usage.md +36 −12

Details

6 6 

7> Anthropic の Claude のデータ使用ポリシーについて学習します7> Anthropic の Claude のデータ使用ポリシーについて学習します

8 8 

9## データポリシー9<h2 id="data-policies">

10 データポリシー

11</h2>

10 12 

11### データトレーニングポリシー13<h3 id="data-training-policy">

14 データトレーニングポリシー

15</h3>

12 16 

13**コンシューマーユーザー(Free、Pro、Max プラン)**:17**コンシューマーユーザー(Free、Pro、Max プラン)**:

14将来の Claude モデルの改善のためにデータを使用することを許可するかどうかを選択できます。この設定がオンの場合、Free、Pro、Max アカウントからのデータを使用して新しいモデルをトレーニングします(これらのアカウントから Claude Code を使用する場合も含みます)。18将来の Claude モデルの改善のためにデータを使用することを許可するかどうかを選択できます。この設定がオンの場合、Free、Pro、Max アカウントからのデータを使用して新しいモデルをトレーニングします(これらのアカウントから Claude Code を使用する場合も含みます)。

15 19 

16**商用ユーザー**:(Team および Enterprise プラン、API、サードパーティプラットフォーム、Claude Gov)既存のポリシーを維持します。Anthropic は、商用条件の下で Claude Code に送信されたコードまたはプロンプトを使用して生成モデルをトレーニングしません。ただし、カスタマーがモデル改善のためにデータを提供することを選択した場合は除きます(例えば、[Developer Partner Program](https://support.claude.com/ja/articles/11174108-about-the-development-partner-program))。20**商用ユーザー**:(Team および Enterprise プラン、API、サードパーティプラットフォーム、Claude Gov)既存のポリシーを維持します。Anthropic は、商用条件の下で Claude Code に送信されたコードまたはプロンプトを使用して生成モデルをトレーニングしません。ただし、カスタマーがモデル改善のためにデータを提供することを選択した場合は除きます(例えば、[Developer Partner Program](https://support.claude.com/ja/articles/11174108-about-the-development-partner-program))。

17 21 

18### Development Partner Program22<h3 id="development-partner-program">

23 Development Partner Program

24</h3>

19 25 

20[Development Partner Program](https://support.claude.com/ja/articles/11174108-about-the-development-partner-program) などを通じて、トレーニング用の資料を提供する方法に明示的にオプトインした場合、提供された資料を使用してモデルをトレーニングする可能性があります。組織管理者は、組織の Development Partner Program に明示的にオプトインできます。このプログラムは Anthropic ファーストパーティ API でのみ利用可能であり、Bedrock または Vertex ユーザーは利用できないことに注意してください。26[Development Partner Program](https://support.claude.com/ja/articles/11174108-about-the-development-partner-program) などを通じて、トレーニング用の資料を提供する方法に明示的にオプトインした場合、提供された資料を使用してモデルをトレーニングする可能性があります。組織管理者は、組織の Development Partner Program に明示的にオプトインできます。このプログラムは Anthropic ファーストパーティ API でのみ利用可能であり、Bedrock または Vertex ユーザーは利用できないことに注意してください。

21 27 

22### `/feedback` コマンドを使用したフィードバック28<h3 id="feedback-using-the-/feedback-command">

29 `/feedback` コマンドを使用したフィードバック

30</h3>

23 31 

24`/feedback` コマンドを使用して Claude Code に関するフィードバックを送信することを選択した場合、製品とサービスを改善するためにフィードバックを使用する可能性があります。`/feedback` を通じて共有されたトランスクリプトは 5 年間保持されます。32`/feedback` コマンドを使用して Claude Code に関するフィードバックを送信することを選択した場合、製品とサービスを改善するためにフィードバックを使用する可能性があります。`/feedback` を通じて共有されたトランスクリプトは 5 年間保持されます。

25 33 

26### セッション品質調査34<h3 id="session-quality-surveys">

35 セッション品質調査

36</h3>

27 37 

28Claude Code で「How is Claude doing this session?」プロンプトが表示されたときに、この調査に応答する場合(「Dismiss」を選択する場合を含む)、数値評価のみが記録されます。この調査の一部として、会話トランスクリプト、入力、出力、またはその他のセッションデータは収集または保存されません。サムズアップ/ダウンフィードバックまたは `/feedback` レポートとは異なり、このセッション品質調査は単純な製品満足度メトリックです。38Claude Code で「How is Claude doing this session?」プロンプトが表示されたときに、この調査に応答する場合(「Dismiss」を選択する場合を含む)、数値評価のみが記録されます。この調査の一部として、会話トランスクリプト、入力、出力、またはその他のセッションデータは収集または保存されません。サムズアップ/ダウンフィードバックまたは `/feedback` レポートとは異なり、このセッション品質調査は単純な製品満足度メトリックです。

29 39 


37 47 

38これらの調査を無効にするには、`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` を設定します。調査は、`DISABLE_TELEMETRY`、`DO_NOT_TRACK`、または `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` が設定されている場合にも無効になります。無効にする代わりに頻度を制御するには、設定ファイルで [`feedbackSurveyRate`](/ja/settings#available-settings) を `0` から `1` の間の確率に設定します。非必須トラフィックをブロックしているが、独自の [OpenTelemetry collector](/ja/monitoring-usage) を通じて調査応答をキャプチャしている組織は、`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1` を設定することで調査をオプトバックインできます。調査は、設定されたコレクターのみに数値評価をログします。トランスクリプト共有フォローアップおよび他のすべての Anthropic バウンドフィードバックトラフィックは無効のままです。48これらの調査を無効にするには、`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` を設定します。調査は、`DISABLE_TELEMETRY`、`DO_NOT_TRACK`、または `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` が設定されている場合にも無効になります。無効にする代わりに頻度を制御するには、設定ファイルで [`feedbackSurveyRate`](/ja/settings#available-settings) を `0` から `1` の間の確率に設定します。非必須トラフィックをブロックしているが、独自の [OpenTelemetry collector](/ja/monitoring-usage) を通じて調査応答をキャプチャしている組織は、`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1` を設定することで調査をオプトバックインできます。調査は、設定されたコレクターのみに数値評価をログします。トランスクリプト共有フォローアップおよび他のすべての Anthropic バウンドフィードバックトラフィックは無効のままです。

39 49 

40### データ保持50<h3 id="data-retention">

51 データ保持

52</h3>

41 53 

42Anthropic は、アカウントタイプと設定に基づいて Claude Code データを保持します。54Anthropic は、アカウントタイプと設定に基づいて Claude Code データを保持します。

43 55 


59 71 

60詳細については、[Commercial Terms of Service](https://www.anthropic.com/legal/commercial-terms)(Team、Enterprise、API ユーザー向け)または [Consumer Terms](https://www.anthropic.com/legal/consumer-terms)(Free、Pro、Max ユーザー向け)および [Privacy Policy](https://www.anthropic.com/legal/privacy) を確認してください。72詳細については、[Commercial Terms of Service](https://www.anthropic.com/legal/commercial-terms)(Team、Enterprise、API ユーザー向け)または [Consumer Terms](https://www.anthropic.com/legal/consumer-terms)(Free、Pro、Max ユーザー向け)および [Privacy Policy](https://www.anthropic.com/legal/privacy) を確認してください。

61 73 

62## データアクセス74<h2 id="data-access">

75 データアクセス

76</h2>

63 77 

64すべてのファーストパーティユーザーの場合、[ローカル Claude Code](#local-claude-code-data-flow-and-dependencies) および [リモート Claude Code](#cloud-execution-data-flow-and-dependencies) に対してログされるデータについて詳しく知ることができます。[Remote Control](/ja/remote-control) セッションは、すべての実行がマシン上で行われるため、ローカルデータフローに従います。リモート Claude Code の場合、Claude は Claude Code セッションを開始するリポジトリにアクセスします。Claude は接続したが、セッションを開始していないリポジトリにはアクセスしません。78すべてのファーストパーティユーザーの場合、[ローカル Claude Code](#local-claude-code-data-flow-and-dependencies) および [リモート Claude Code](#cloud-execution-data-flow-and-dependencies) に対してログされるデータについて詳しく知ることができます。[Remote Control](/ja/remote-control) セッションは、すべての実行がマシン上で行われるため、ローカルデータフローに従います。リモート Claude Code の場合、Claude は Claude Code セッションを開始するリポジトリにアクセスします。Claude は接続したが、セッションを開始していないリポジトリにはアクセスしません。

65 79 

66## ローカル Claude Code:データフローと依存関係80<h2 id="local-claude-code-data-flow-and-dependencies">

81 ローカル Claude Code:データフローと依存関係

82</h2>

67 83 

68以下の図は、インストール中および通常の操作中に Claude Code が外部サービスにどのように接続するかを示しています。実線は必須の接続を示し、破線はオプションまたはユーザーが開始したデータフローを表します。84以下の図は、インストール中および通常の操作中に Claude Code が外部サービスにどのように接続するかを示しています。実線は必須の接続を示し、破線はオプションまたはユーザーが開始したデータフローを表します。

69 85 


82 98 

83Claude Code は Anthropic の API 上に構築されています。API のセキュリティ制御(API ロギング手順を含む)の詳細については、[Anthropic Trust Center](https://trust.anthropic.com) のコンプライアンスアーティファクトを参照してください。99Claude Code は Anthropic の API 上に構築されています。API のセキュリティ制御(API ロギング手順を含む)の詳細については、[Anthropic Trust Center](https://trust.anthropic.com) のコンプライアンスアーティファクトを参照してください。

84 100 

85### クラウド実行:データフローと依存関係101<h3 id="cloud-execution-data-flow-and-dependencies">

102 クラウド実行:データフローと依存関係

103</h3>

86 104 

87[Claude Code on the web](/ja/claude-code-on-the-web) を使用する場合、セッションはローカルではなく Anthropic が管理する仮想マシンで実行されます。クラウド環境では:105[Claude Code on the web](/ja/claude-code-on-the-web) を使用する場合、セッションはローカルではなく Anthropic が管理する仮想マシンで実行されます。クラウド環境では:

88 106 


93 111 

94クラウド実行のセキュリティの詳細については、[Security](/ja/security#cloud-execution-security) を参照してください。112クラウド実行のセキュリティの詳細については、[Security](/ja/security#cloud-execution-security) を参照してください。

95 113 

96## テレメトリサービス114<h2 id="telemetry-services">

115 テレメトリサービス

116</h2>

97 117 

98Claude Code はユーザーのマシンから Anthropic に接続して、レイテンシ、信頼性、使用パターンなどの運用メトリックをログします。このログには、コードまたはファイルパスは含まれません。データは転送中に暗号化され、保存時に暗号化されます。テレメトリをオプトアウトするには、`DISABLE_TELEMETRY` 環境変数を設定します。118Claude Code はユーザーのマシンから Anthropic に接続して、レイテンシ、信頼性、使用パターンなどの運用メトリックをログします。このログには、コードまたはファイルパスは含まれません。データは転送中に暗号化され、保存時に暗号化されます。テレメトリをオプトアウトするには、`DISABLE_TELEMETRY` 環境変数を設定します。

99 119 


103 123 

104Bedrock や Vertex などのサードパーティプロバイダーを使用している場合、または Anthropic 認証情報が設定されていない場合、`/feedback` はレポートを Anthropic に送信する代わりに、`~/.claude/feedback-bundles/` の下のローカルアーカイブに書き込みます。既知の API キーおよびトークンパターンは、アーカイブが書き込まれる前に削除されます。Anthropic アカウント担当者にファイルを送信するか、サポートリクエストに添付するまで、何もマシンから出ません。124Bedrock や Vertex などのサードパーティプロバイダーを使用している場合、または Anthropic 認証情報が設定されていない場合、`/feedback` はレポートを Anthropic に送信する代わりに、`~/.claude/feedback-bundles/` の下のローカルアーカイブに書き込みます。既知の API キーおよびトークンパターンは、アーカイブが書き込まれる前に削除されます。Anthropic アカウント担当者にファイルを送信するか、サポートリクエストに添付するまで、何もマシンから出ません。

105 125 

106## API プロバイダーのデフォルト動作126<h2 id="default-behaviors-by-api-provider">

127 API プロバイダーのデフォルト動作

128</h2>

107 129 

108デフォルトでは、Bedrock、Vertex、Foundry、または Claude Platform on AWS を使用する場合、エラーレポート、テレメトリ、およびバグレポートは無効になります。セッション品質調査と WebFetch ドメインセーフティチェックは例外であり、プロバイダーに関係なく実行されます。`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` を設定することで、調査を含むすべての非必須トラフィックをオプトアウトできます。この変数は WebFetch チェックに影響を与えません。WebFetch チェックには独自のオプトアウトがあります。以下は完全なデフォルト動作です:130デフォルトでは、Bedrock、Vertex、Foundry、または Claude Platform on AWS を使用する場合、エラーレポート、テレメトリ、およびバグレポートは無効になります。セッション品質調査と WebFetch ドメインセーフティチェックは例外であり、プロバイダーに関係なく実行されます。`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` を設定することで、調査を含むすべての非必須トラフィックをオプトアウトできます。この変数は WebFetch チェックに影響を与えません。WebFetch チェックには独自のオプトアウトがあります。以下は完全なデフォルト動作です:

109 131 


119 141 

120v2.1.126 以降、ホストプラットフォームが `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` を設定する場合、メトリクスは Vertex、Bedrock、および Foundry でデフォルトでオンになり、標準の `DISABLE_TELEMETRY` オプトアウトに従います。Sentry エラーレポートと `/feedback` レポートは、これらのプロバイダーではデフォルトでオフのままです。142v2.1.126 以降、ホストプラットフォームが `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` を設定する場合、メトリクスは Vertex、Bedrock、および Foundry でデフォルトでオンになり、標準の `DISABLE_TELEMETRY` オプトアウトに従います。Sentry エラーレポートと `/feedback` レポートは、これらのプロバイダーではデフォルトでオフのままです。

121 143 

122### WebFetch ドメインセーフティチェック144<h3 id="webfetch-domain-safety-check">

145 WebFetch ドメインセーフティチェック

146</h3>

123 147 

124URL をフェッチする前に、WebFetch ツールは要求されたホスト名を `api.anthropic.com` に送信して、Anthropic が管理するセーフティブロックリストに対してチェックします。ホスト名のみが送信され、完全な URL、パス、またはページコンテンツは送信されません。結果はホスト名ごとに 5 分間キャッシュされます。148URL をフェッチする前に、WebFetch ツールは要求されたホスト名を `api.anthropic.com` に送信して、Anthropic が管理するセーフティブロックリストに対してチェックします。ホスト名のみが送信され、完全な URL、パス、またはページコンテンツは送信されません。結果はホスト名ごとに 5 分間キャッシュされます。

125 149 

Details

10 10 

11インストール、認証、接続の問題については、代わりに [トラブルシューティング インストールとログイン](/ja/troubleshoot-install) を参照してください。11インストール、認証、接続の問題については、代わりに [トラブルシューティング インストールとログイン](/ja/troubleshoot-install) を参照してください。

12 12 

13## コンテキストに読み込まれた内容を確認する13<h2 id="see-what-loaded-into-context">

14 コンテキストに読み込まれた内容を確認する

15</h2>

14 16 

15`/context` コマンドは、現在のセッションのコンテキストウィンドウを占めるすべてのものを表示します。カテゴリ別に分類されます:システムプロンプト、メモリファイル、スキル、MCP ツール、会話メッセージです。まず実行して、`CLAUDE.md`、ルール、またはスキルの説明が存在するかどうかを確認します。17`/context` コマンドは、現在のセッションのコンテキストウィンドウを占めるすべてのものを表示します。カテゴリ別に分類されます:システムプロンプト、メモリファイル、スキル、MCP ツール、会話メッセージです。まず実行して、`CLAUDE.md`、ルール、またはスキルの説明が存在するかどうかを確認します。

16 18 


38 CLAUDE.md と権限は異なる問題を解決します。CLAUDE.md は Claude にプロジェクトの仕組みを伝えるため、良い決定を下します。[権限](/ja/permissions) と [hooks](/ja/hooks) は Claude が何を決定するかに関わらず制限を強制します。CLAUDE.md は「ここではこのようにしています」に使用します。権限または hooks は、セキュリティ境界と、保証が必要な絶対に起こってはいけないことに使用します。40 CLAUDE.md と権限は異なる問題を解決します。CLAUDE.md は Claude にプロジェクトの仕組みを伝えるため、良い決定を下します。[権限](/ja/permissions) と [hooks](/ja/hooks) は Claude が何を決定するかに関わらず制限を強制します。CLAUDE.md は「ここではこのようにしています」に使用します。権限または hooks は、セキュリティ境界と、保証が必要な絶対に起こってはいけないことに使用します。

39</Note>41</Note>

40 42 

41## 解決された設定を確認する43<h2 id="check-resolved-settings">

44 解決された設定を確認する

45</h2>

42 46 

43設定はマネージド、ユーザー、プロジェクト、ローカルスコープ全体でマージされます。マネージド設定が存在する場合は常に優先されます。その他の場合、より近いスコープが、ローカル、プロジェクト、ユーザーの順序でより広いスコープをオーバーライドします。一部の設定は、コマンドラインフラグまたは [環境変数](/ja/env-vars) で設定することもでき、これは別のオーバーライドレイヤーとして機能します。設定が適用されないように見える場合、設定した値は通常、別のスコープまたは環境変数によってオーバーライドされています。47設定はマネージド、ユーザー、プロジェクト、ローカルスコープ全体でマージされます。マネージド設定が存在する場合は常に優先されます。その他の場合、より近いスコープが、ローカル、プロジェクト、ユーザーの順序でより広いスコープをオーバーライドします。一部の設定は、コマンドラインフラグまたは [環境変数](/ja/env-vars) で設定することもでき、これは別のオーバーライドレイヤーとして機能します。設定が適用されないように見える場合、設定した値は通常、別のスコープまたは環境変数によってオーバーライドされています。

44 48 


46 50 

47`/status` を実行して、マネージド設定が有効かどうかを含む、どの設定ソースがアクティブかを確認します。特定のキーに対してどのスコープが優先されるかを理解するには、[スコープの相互作用方法](/ja/settings#how-scopes-interact) を参照してください。51`/status` を実行して、マネージド設定が有効かどうかを含む、どの設定ソースがアクティブかを確認します。特定のキーに対してどのスコープが優先されるかを理解するには、[スコープの相互作用方法](/ja/settings#how-scopes-interact) を参照してください。

48 52 

49## MCP サーバーを確認する53<h2 id="check-mcp-servers">

54 MCP サーバーを確認する

55</h2>

50 56 

51`/mcp` を実行して、すべての設定されたサーバー、その接続ステータス、および現在のプロジェクトに対して承認したかどうかを確認します。サーバーは正しく定義されていても、いくつかの一般的な理由でツールを提供しない場合があります:57`/mcp` を実行して、すべての設定されたサーバー、その接続ステータス、および現在のプロジェクトに対して承認したかどうかを確認します。サーバーは正しく定義されていても、いくつかの一般的な理由でツールを提供しない場合があります:

52 58 


56 62 

57設定場所とスコープルールについては、[MCP](/ja/mcp) を参照してください。63設定場所とスコープルールについては、[MCP](/ja/mcp) を参照してください。

58 64 

59## Hooks を確認する65<h2 id="check-hooks">

66 Hooks を確認する

67</h2>

60 68 

61`/hooks` を実行して、現在のセッションに登録されているすべてのフックをイベント別にグループ化して一覧表示します。定義したフックが表示されない場合、それは読み込まれていません:hooks は設定ファイルの `"hooks"` キーの下に置かれ、スタンドアロンファイルではありません。69`/hooks` を実行して、現在のセッションに登録されているすべてのフックをイベント別にグループ化して一覧表示します。定義したフックが表示されない場合、それは読み込まれていません:hooks は設定ファイルの `"hooks"` キーの下に置かれ、スタンドアロンファイルではありません。

62 70 


66 74 

67`/hooks` がフックを表示しても発火しない場合、次のステップはフック評価をライブで監視することです。`claude --debug hooks` でセッションを開始し、ツール呼び出しをトリガーします。デバッグログは各イベント、チェックされたマッチャー、フックの終了コードと出力を記録します。ログ形式については [フックをデバッグする](/ja/hooks#debug-hooks) を、一般的な失敗パターンについては [hooks トラブルシューティング](/ja/hooks-guide#limitations-and-troubleshooting) を参照してください。75`/hooks` がフックを表示しても発火しない場合、次のステップはフック評価をライブで監視することです。`claude --debug hooks` でセッションを開始し、ツール呼び出しをトリガーします。デバッグログは各イベント、チェックされたマッチャー、フックの終了コードと出力を記録します。ログ形式については [フックをデバッグする](/ja/hooks#debug-hooks) を、一般的な失敗パターンについては [hooks トラブルシューティング](/ja/hooks-guide#limitations-and-troubleshooting) を参照してください。

68 76 

69## クリーン設定に対してテストする77<h2 id="test-against-a-clean-configuration">

78 クリーン設定に対してテストする

79</h2>

70 80 

71ターゲット化されたチェックが原因を特定しない場合、または設定が不明な状態にある場合は、通常のセットアップから何も読み込まないセッションと比較してください。[`CLAUDE_CONFIG_DIR`](/ja/env-vars) を空のディレクトリに指定して `~/.claude` の下のすべてをバイパスし、`.claude` フォルダ、`.mcp.json`、または `CLAUDE.md` がないディレクトリから起動して、プロジェクト設定もスキップします。81ターゲット化されたチェックが原因を特定しない場合、または設定が不明な状態にある場合は、通常のセットアップから何も読み込まないセッションと比較してください。[`CLAUDE_CONFIG_DIR`](/ja/env-vars) を空のディレクトリに指定して `~/.claude` の下のすべてをバイパスし、`.claude` フォルダ、`.mcp.json`、または `CLAUDE.md` がないディレクトリから起動して、プロジェクト設定もスキップします。

72 82 


82 92 

83問題がここで消える場合、原因は実際の `~/.claude` またはプロジェクト `.claude` ファイルのどこかにあります。ファイルを一度に 1 つずつ再導入します。ファイルを一時ディレクトリにコピーするか、プロジェクトから起動して、どれが原因かを見つけます。クリーンセッションで問題が続く場合、原因はユーザーおよびプロジェクト設定の外にあります。`/status` を実行してマネージド設定が有効かどうかを確認し、[環境変数](/ja/env-vars) を探して Claude Code に影響を与えます。その後、[トラブルシューティング](/ja/troubleshooting) を参照してください。93問題がここで消える場合、原因は実際の `~/.claude` またはプロジェクト `.claude` ファイルのどこかにあります。ファイルを一度に 1 つずつ再導入します。ファイルを一時ディレクトリにコピーするか、プロジェクトから起動して、どれが原因かを見つけます。クリーンセッションで問題が続く場合、原因はユーザーおよびプロジェクト設定の外にあります。`/status` を実行してマネージド設定が有効かどうかを確認し、[環境変数](/ja/env-vars) を探して Claude Code に影響を与えます。その後、[トラブルシューティング](/ja/troubleshooting) を参照してください。

84 94 

85## 一般的な原因を確認する95<h2 id="check-common-causes">

96 一般的な原因を確認する

97</h2>

86 98 

87ほとんどの設定の問題は、小さな場所とシンタックスルールのセットに遡ります。バグを想定する前にこれらを確認してください:99ほとんどの設定の問題は、小さな場所とシンタックスルールのセットに遡ります。バグを想定する前にこれらを確認してください:

88 100 


105| MCP サーバーが予期された環境変数なしで起動します | 変数は `settings.json` `env` にあり、MCP 子プロセスに伝播しません | 代わりに `.mcp.json` 内のサーバーごとの `env` を設定します。 |117| MCP サーバーが予期された環境変数なしで起動します | 変数は `settings.json` `env` にあり、MCP 子プロセスに伝播しません | 代わりに `.mcp.json` 内のサーバーごとの `env` を設定します。 |

106| `Bash(rm *)` 拒否ルールが `/bin/rm` または `find -delete` をブロックしません | プレフィックスルールは基になる実行可能ファイルではなく、リテラルコマンド文字列をマッチします | 各バリアントの明示的なパターンを追加するか、[PreToolUse フック](/ja/hooks-guide) または [サンドボックス](/ja/sandboxing) を使用して、ハード保証を取得します。 |118| `Bash(rm *)` 拒否ルールが `/bin/rm` または `find -delete` をブロックしません | プレフィックスルールは基になる実行可能ファイルではなく、リテラルコマンド文字列をマッチします | 各バリアントの明示的なパターンを追加するか、[PreToolUse フック](/ja/hooks-guide) または [サンドボックス](/ja/sandboxing) を使用して、ハード保証を取得します。 |

107 119 

108## 関連リソース120<h2 id="related-resources">

121 関連リソース

122</h2>

109 123 

110各設定サーフェスの完全なリファレンスについては、専用ページを参照してください:124各設定サーフェスの完全なリファレンスについては、専用ページを参照してください:

111 125 

desktop.md +211 −75

Details

34 34 

35[スケジュール済みの定期的な作業](/ja/desktop-scheduled-tasks)、[キーボードショートカット](#keyboard-shortcuts)、または[電話からタスクを送信](#sessions-from-dispatch)については、リンクされたページとセクションを参照してください。既にターミナルベースの CLI を使用している場合は、[CLI 比較](#coming-from-the-cli)を参照して、何が引き継がれるかを確認してください。35[スケジュール済みの定期的な作業](/ja/desktop-scheduled-tasks)、[キーボードショートカット](#keyboard-shortcuts)、または[電話からタスクを送信](#sessions-from-dispatch)については、リンクされたページとセクションを参照してください。既にターミナルベースの CLI を使用している場合は、[CLI 比較](#coming-from-the-cli)を参照して、何が引き継がれるかを確認してください。

36 36 

37## セッションを開始する37<h2 id="start-a-session">

38 セッションを開始する

39</h2>

38 40 

39最初のメッセージを送信する前に、プロンプト領域で 4 つのことを設定してください:41最初のメッセージを送信する前に、プロンプト領域で 4 つのことを設定してください:

40 42 


45 47 

46タスクを入力して**Enter**キーを押してセッションを開始します。各セッションは独自のコンテキストと変更を追跡します。48タスクを入力して**Enter**キーを押してセッションを開始します。各セッションは独自のコンテキストと変更を追跡します。

47 49 

48## コードの操作50<h2 id="work-with-code">

51 コードの操作

52</h2>

49 53 

50Claude に適切なコンテキストを提供し、それが独立して実行する量を制御し、変更内容を確認します。54Claude に適切なコンテキストを提供し、それが独立して実行する量を制御し、変更内容を確認します。

51 55 

52### プロンプトボックスを使用する56<h3 id="use-the-prompt-box">

57 プロンプトボックスを使用する

58</h3>

53 59 

54Claude に実行させたいことを入力して**Enter**キーを押して送信します。Claude はプロジェクトファイルを読み取り、[権限モード](#choose-a-permission-mode)に基づいて変更を加えてコマンドを実行します。いつでも Claude を中断できます:停止ボタンをクリックするか、修正を入力して**Enter**キーを押します。Claude は実行を停止し、入力に基づいて調整します。60Claude に実行させたいことを入力して**Enter**キーを押して送信します。Claude はプロジェクトファイルを読み取り、[権限モード](#choose-a-permission-mode)に基づいて変更を加えてコマンドを実行します。いつでも Claude を中断できます:停止ボタンをクリックするか、修正を入力して**Enter**キーを押します。Claude は実行を停止し、入力に基づいて調整します。

55 61 

56プロンプトボックスの横の\*\*+\*\*ボタンをクリックすると、ファイル添付、[スキル](#use-skills)、[コネクタ](#connect-external-tools)、および[プラグイン](#install-plugins)にアクセスできます。62プロンプトボックスの横の\*\*+\*\*ボタンをクリックすると、ファイル添付、[スキル](#use-skills)、[コネクタ](#connect-external-tools)、および[プラグイン](#install-plugins)にアクセスできます。

57 63 

58### ファイルとコンテキストをプロンプトに追加する64<h3 id="add-files-and-context-to-prompts">

65 ファイルとコンテキストをプロンプトに追加する

66</h3>

59 67 

60プロンプトボックスは外部コンテキストを取り込む 2 つの方法をサポートしています:68プロンプトボックスは外部コンテキストを取り込む 2 つの方法をサポートしています:

61 69 

62* **@mention ファイル**:`@`の後にファイル名を入力して、ファイルを会話コンテキストに追加します。Claude はそのファイルを読み取り、参照できます。@mention はリモートセッションでは利用できません。70* **@mention ファイル**:`@`の後にファイル名を入力して、ファイルを会話コンテキストに追加します。Claude はそのファイルを読み取り、参照できます。@mention はリモートセッションでは利用できません。

63* **ファイルを添付**:添付ボタンを使用するか、ファイルをプロンプトに直接ドラッグアンドドロップして、画像、PDF、およびその他のファイルをプロンプトに添付します。これはバグのスクリーンショット、デザインモックアップ、または参照ドキュメントを共有するのに便利です。71* **ファイルを添付**:添付ボタンを使用するか、ファイルをプロンプトに直接ドラッグアンドドロップして、画像、PDF、およびその他のファイルをプロンプトに添付します。これはバグのスクリーンショット、デザインモックアップ、または参照ドキュメントを共有するのに便利です。

64 72 

65### 権限モードを選択する73<h3 id="choose-a-permission-mode">

74 権限モードを選択する

75</h3>

66 76 

67権限モードは、セッション中に Claude がどの程度の自律性を持つかを制御します:ファイルの編集、コマンドの実行、またはその両方の前に確認するかどうかです。送信ボタンの横のモードセレクタを使用して、いつでもモードを切り替えることができます。Ask permissions で開始して Claude が実行する内容を正確に確認してから、慣れてきたら Auto accept edits または Plan mode に移動します。77権限モードは、セッション中に Claude がどの程度の自律性を持つかを制御します:ファイルの編集、コマンドの実行、またはその両方の前に確認するかどうかです。送信ボタンの横のモードセレクタを使用して、いつでもモードを切り替えることができます。Ask permissions で開始して Claude が実行する内容を正確に確認してから、慣れてきたら Auto accept edits または Plan mode に移動します。

68 78 


78 88 

79<span id="auto-mode-availability" />89<span id="auto-mode-availability" />

80 90 

81Auto mode は Max、Team、Enterprise、および API プランで利用可能な研究プレビューです。Pro プランまたはサードパーティプロバイダーでは利用できませんTeam、Enterprise、および API プランでは Claude Sonnet 4.6、Opus 4.6、または Opus 4.7 が必要です。Max プランでは Claude Opus 4.7 が必要です91Auto mode は Anthropic API のすべてのユーザーが利用できる研究プレビューです。Claude Opus 4.6 以降、または Sonnet 4.6 が必要です。Google Cloud Vertex AI にルーティングするエンタープライズデプロイメントでは、[`CLAUDE_CODE_ENABLE_AUTO_MODE`を設定](/ja/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry)するまで auto mode はオフになり、そこでは Claude Opus 4.7 と Opus 4.8 のみがサポートされています

82 92 

83<Tip title="ベストプラクティス">93<Tip title="ベストプラクティス">

84 複雑なタスクを Plan mode で開始して、Claude が変更を加える前にアプローチをマップアウトするようにします。プランを承認したら、Auto accept edits または Ask permissions に切り替えて実行します。このワークフローの詳細については、[最初に探索してからプランしてからコード化する](/ja/best-practices#explore-first-then-plan-then-code)を参照してください。94 複雑なタスクを Plan mode で開始して、Claude が変更を加える前にアプローチをマップアウトするようにします。プランを承認したら、Auto accept edits または Ask permissions に切り替えて実行します。このワークフローの詳細については、[最初に探索してからプランしてからコード化する](/ja/best-practices#explore-first-then-plan-then-code)を参照してください。


88 98 

89エンタープライズ管理者は利用可能な権限モードを制限できます。詳細については、[エンタープライズ設定](#enterprise-configuration)を参照してください。99エンタープライズ管理者は利用可能な権限モードを制限できます。詳細については、[エンタープライズ設定](#enterprise-configuration)を参照してください。

90 100 

91### アプリをプレビューする101<h3 id="preview-your-app">

102 アプリをプレビューする

103</h3>

92 104 

93Claude は dev サーバーを起動し、埋め込みブラウザを開いて変更を確認できます。これはフロントエンド Web アプリとバックエンドサーバーの両方で機能します:Claude は API エンドポイントをテストし、サーバーログを表示し、見つけた問題を反復処理できます。ほとんどの場合、Claude はプロジェクトファイルを編集した後、サーバーを自動的に起動します。いつでも Claude にプレビューを要求することもできます。デフォルトでは、Claude は編集後に[変更を自動検証](#auto-verify-changes)します。105Claude は dev サーバーを起動し、埋め込みブラウザを開いて変更を確認できます。これはフロントエンド Web アプリとバックエンドサーバーの両方で機能します:Claude は API エンドポイントをテストし、サーバーログを表示し、見つけた問題を反復処理できます。ほとんどの場合、Claude はプロジェクトファイルを編集した後、サーバーを自動的に起動します。いつでも Claude にプレビューを要求することもできます。デフォルトでは、Claude は編集後に[変更を自動検証](#auto-verify-changes)します。

94 106 


106 118 

107保存されたセッションデータをクリアするには、Settings → Claude Code で**Persist preview sessions**をオフに切り替えます。プレビューを完全に無効にするには、Settings → Claude Code で**Preview**をオフに切り替えます。119保存されたセッションデータをクリアするには、Settings → Claude Code で**Persist preview sessions**をオフに切り替えます。プレビューを完全に無効にするには、Settings → Claude Code で**Preview**をオフに切り替えます。

108 120 

109### diff ビューで変更を確認する121<h3 id="review-changes-with-diff-view">

122 diff ビューで変更を確認する

123</h3>

110 124 

111Claude がコードに変更を加えた後、diff ビューを使用して、プルリクエストを作成する前にファイルごとに変更を確認できます。125Claude がコードに変更を加えた後、diff ビューを使用して、プルリクエストを作成する前にファイルごとに変更を確認できます。

112 126 


119 133 

120Claude はコメントを読み取り、要求された変更を加えます。これは確認できる新しい diff として表示されます。134Claude はコメントを読み取り、要求された変更を加えます。これは確認できる新しい diff として表示されます。

121 135 

122### コードを確認する136<h3 id="review-your-code">

137 コードを確認する

138</h3>

123 139 

124diff ビューで、右上のツールバーの**Review code**をクリックして、Claude にコミット前に変更を評価するよう依頼します。Claude は現在の diff を検査し、diff ビューに直接コメントを残します。任意のコメントに応答するか、Claude に修正を依頼できます。140diff ビューで、右上のツールバーの**Review code**をクリックして、Claude にコミット前に変更を評価するよう依頼します。Claude は現在の diff を検査し、diff ビューに直接コメントを残します。任意のコメントに応答するか、Claude に修正を依頼できます。

125 141 

126レビューは高シグナル問題に焦点を当てています:コンパイルエラー、明確なロジックエラー、セキュリティ脆弱性、および明らかなバグです。スタイル、フォーマット、既存の問題、またはリンターが検出するものにはフラグを立てません。142レビューは高シグナル問題に焦点を当てています:コンパイルエラー、明確なロジックエラー、セキュリティ脆弱性、および明らかなバグです。スタイル、フォーマット、既存の問題、またはリンターが検出するものにはフラグを立てません。

127 143 

128### プルリクエストステータスを監視する144<h3 id="monitor-pull-request-status">

145 プルリクエストステータスを監視する

146</h3>

129 147 

130プルリクエストを開いた後、CI ステータスバーがセッションに表示されます。Claude Code は GitHub CLI を使用してチェック結果をポーリングし、失敗を表示します。148プルリクエストを開いた後、CI ステータスバーがセッションに表示されます。Claude Code は GitHub CLI を使用してチェック結果をポーリングし、失敗を表示します。

131 149 


138 PR 監視には、[GitHub CLI(`gh`)](https://cli.github.com/)がマシンにインストールされ、認証されている必要があります。`gh`がインストールされていない場合、Desktop は PR を作成しようとする最初の時点でインストールを促します。156 PR 監視には、[GitHub CLI(`gh`)](https://cli.github.com/)がマシンにインストールされ、認証されている必要があります。`gh`がインストールされていない場合、Desktop は PR を作成しようとする最初の時点でインストールを促します。

139</Note>157</Note>

140 158 

141## ワークスペースを配置する159<h2 id="arrange-your-workspace">

160 ワークスペースを配置する

161</h2>

142 162 

143Code タブはペインを任意のレイアウトで配置できるように構築されています:チャット、diff、プレビュー、ターミナル、ファイル、プラン、タスク、およびサブエージェント。ペインをヘッダーでドラッグして位置を変更するか、ペインエッジをドラッグしてサイズを変更します。macOS では**Cmd+\\**を、Windows では**Ctrl+\\**を押してフォーカスされたペインを閉じます。セッションツールバーの**Views**メニューから追加のペインを開きます。163Code タブはペインを任意のレイアウトで配置できるように構築されています:チャット、diff、プレビュー、ターミナル、ファイル、プラン、タスク、およびサブエージェント。ペインをヘッダーでドラッグして位置を変更するか、ペインエッジをドラッグしてサイズを変更します。macOS では**Cmd+\\**を、Windows では**Ctrl+\\**を押してフォーカスされたペインを閉じます。セッションツールバーの**Views**メニューから追加のペインを開きます。

144 164 


146 このセクションのペインレイアウト、ターミナル、ファイルエディタ、およびビューモードには Claude Desktop v1.2581.0 以降が必要です。macOS では**Claude → Check for Updates**を、Windows では**Help → Check for Updates**を開いて更新してください。166 このセクションのペインレイアウト、ターミナル、ファイルエディタ、およびビューモードには Claude Desktop v1.2581.0 以降が必要です。macOS では**Claude → Check for Updates**を、Windows では**Help → Check for Updates**を開いて更新してください。

147</Note>167</Note>

148 168 

149### ターミナルでコマンドを実行する169<h3 id="run-commands-in-the-terminal">

170 ターミナルでコマンドを実行する

171</h3>

150 172 

151統合ターミナルを使用すると、別のアプリに切り替えることなく、セッションと並行してコマンドを実行できます。**Views**メニューから開くか、macOS または Windows で**Ctrl+\`**を押します。ターミナルはセッションの作業ディレクトリで開き、Claude と同じ環境を共有するため、`npm test`や`git status`などのコマンドは Claude が編集しているのと同じファイルを見ます。2 番目のターミナルタブを開くには、ターミナルペインヘッダーの**+**をクリックするか、チャットのフォルダを右クリックして**Open in terminal**を選択します。ターミナルはローカルセッションでのみ利用可能です。173統合ターミナルを使用すると、別のアプリに切り替えることなく、セッションと並行してコマンドを実行できます。**Views**メニューから開くか、macOS または Windows で**Ctrl+\`**を押します。ターミナルはセッションの作業ディレクトリで開き、Claude と同じ環境を共有するため、`npm test`や`git status`などのコマンドは Claude が編集しているのと同じファイルを見ます。2 番目のターミナルタブを開くには、ターミナルペインヘッダーの**+**をクリックするか、チャットのフォルダを右クリックして**Open in terminal**を選択します。ターミナルはローカルセッションでのみ利用可能です。

152 174 

153### ファイルを開いて編集する175<h3 id="open-and-edit-files">

176 ファイルを開いて編集する

177</h3>

154 178 

155チャットまたは diff ビューアのファイルパスをクリックして、ファイルペインで開きます。HTML、PDF、画像、およびビデオパスは代わりに[プレビューペイン](#preview-your-app)で開きます。スポット編集を行い、**Save**をクリックして書き戻します。ファイルを開いてからディスク上で変更された場合、ペインは警告を表示し、オーバーライドまたは破棄できます。**Discard**をクリックして編集を元に戻すか、ペインヘッダーのパスをクリックして絶対パスをコピーします。179チャットまたは diff ビューアのファイルパスをクリックして、ファイルペインで開きます。HTML、PDF、画像、およびビデオパスは代わりに[プレビューペイン](#preview-your-app)で開きます。スポット編集を行い、**Save**をクリックして書き戻します。ファイルを開いてからディスク上で変更された場合、ペインは警告を表示し、オーバーライドまたは破棄できます。**Discard**をクリックして編集を元に戻すか、ペインヘッダーのパスをクリックして絶対パスをコピーします。

156 180 

157ファイルペインはローカルおよび SSH セッションで利用可能です。リモートセッションの場合、Claude に変更を加えるよう依頼します。181ファイルペインはローカルおよび SSH セッションで利用可能です。リモートセッションの場合、Claude に変更を加えるよう依頼します。

158 182 

159### ファイルを他のアプリで開く183<h3 id="open-files-in-other-apps">

184 ファイルを他のアプリで開く

185</h3>

160 186 

161チャット、diff ビューア、またはファイルペイン内のファイルパスを右クリックしてコンテキストメニューを開きます:187チャット、diff ビューア、またはファイルペイン内のファイルパスを右クリックしてコンテキストメニューを開きます:

162 188 


165* **Show in Finder**(macOS)、**Show in Explorer**(Windows):含まれるフォルダを開く191* **Show in Finder**(macOS)、**Show in Explorer**(Windows):含まれるフォルダを開く

166* **Copy path**:絶対パスをクリップボードにコピー192* **Copy path**:絶対パスをクリップボードにコピー

167 193 

168### ビューモードを切り替える194<h3 id="switch-view-modes">

195 ビューモードを切り替える

196</h3>

169 197 

170ビューモードは、チャットトランスクリプトに表示される詳細の量を制御します。送信ボタンの横の**Transcript view**ドロップダウンからモードを切り替えるか、macOS または Windows で**Ctrl+O**を押してモードをサイクルします。198ビューモードは、チャットトランスクリプトに表示される詳細の量を制御します。送信ボタンの横の**Transcript view**ドロップダウンからモードを切り替えるか、macOS または Windows で**Ctrl+O**を押してモードをサイクルします。

171 199 


177 205 

178Claude が特定のアクションを実行した理由をデバッグするときは Verbose を使用します。複数のセッションを実行していて結果をすばやくスキャンしたい場合は Summary を使用します。206Claude が特定のアクションを実行した理由をデバッグするときは Verbose を使用します。複数のセッションを実行していて結果をすばやくスキャンしたい場合は Summary を使用します。

179 207 

180### キーボードショートカット208<h3 id="keyboard-shortcuts">

209 キーボードショートカット

210</h3>

181 211 

182macOS で**Cmd+/**を、Windows で**Ctrl+/**を押して、Code タブで利用可能なすべてのショートカットを表示します。Windows では、以下のショートカットに対して**Cmd**の代わりに**Ctrl**を使用します。セッションサイクリング、ターミナルトグル、およびビューモードトグルはすべてのプラットフォームで**Ctrl**を使用します。212macOS で**Cmd+/**を、Windows で**Ctrl+/**を押して、Code タブで利用可能なすべてのショートカットを表示します。Windows では、以下のショートカットに対して**Cmd**の代わりに**Ctrl**を使用します。セッションサイクリング、ターミナルトグル、およびビューモードトグルはすべてのプラットフォームで**Ctrl**を使用します。

183 213 


203 233 

204これらのショートカットは Code タブにのみ適用されます。ターミナルベースの[インタラクティブモードショートカット](/ja/interactive-mode#keyboard-shortcuts)(モードをサイクルするための`Shift+Tab`など)は Desktop では適用されません。234これらのショートカットは Code タブにのみ適用されます。ターミナルベースの[インタラクティブモードショートカット](/ja/interactive-mode#keyboard-shortcuts)(モードをサイクルするための`Shift+Tab`など)は Desktop では適用されません。

205 235 

206### 使用状況を確認する236<h3 id="check-usage">

237 使用状況を確認する

238</h3>

207 239 

208モデルピッカーの横の使用状況リングをクリックして、現在のコンテキストウィンドウ使用状況とプラン使用状況を確認します。コンテキスト使用状況はセッションごと、プラン使用状況はすべての Claude Code サーフェス全体で共有されます。240モデルピッカーの横の使用状況リングをクリックして、現在のコンテキストウィンドウ使用状況とプラン使用状況を確認します。コンテキスト使用状況はセッションごと、プラン使用状況はすべての Claude Code サーフェス全体で共有されます。

209 241 

210## Claude にコンピュータを使用させる242<h2 id="let-claude-use-your-computer">

243 Claude にコンピュータを使用させる

244</h2>

211 245 

212コンピュータ使用により、Claude はアプリを開き、スクリーンを制御し、あなたがするのと同じ方法でマシンで直接作業できます。iOS シミュレータでネイティブアプリをテストするよう Claude に依頼したり、CLI がないデスクトップツールと対話したり、GUI を通じてのみ機能する何かを自動化したりします。246コンピュータ使用により、Claude はアプリを開き、スクリーンを制御し、あなたがするのと同じ方法でマシンで直接作業できます。iOS シミュレータでネイティブアプリをテストするよう Claude に依頼したり、CLI がないデスクトップツールと対話したり、GUI を通じてのみ機能する何かを自動化したりします。

213 247 


221 [サンドボックス化された Bash ツール](/ja/sandboxing)とは異なり、コンピュータ使用は実際のデスクトップで実行され、承認したものへのアクセス権があります。Claude は各アクションをチェックし、オンスクリーンコンテンツからの潜在的なプロンプトインジェクションにフラグを立てますが、信頼境界は異なります。ベストプラクティスについては、[コンピュータ使用安全ガイド](https://support.claude.com/en/articles/14128542)を参照してください。255 [サンドボックス化された Bash ツール](/ja/sandboxing)とは異なり、コンピュータ使用は実際のデスクトップで実行され、承認したものへのアクセス権があります。Claude は各アクションをチェックし、オンスクリーンコンテンツからの潜在的なプロンプトインジェクションにフラグを立てますが、信頼境界は異なります。ベストプラクティスについては、[コンピュータ使用安全ガイド](https://support.claude.com/en/articles/14128542)を参照してください。

222</Warning>256</Warning>

223 257 

224### コンピュータ使用が適用される場合258<h3 id="when-computer-use-applies">

259 コンピュータ使用が適用される場合

260</h3>

225 261 

226Claude はアプリまたはサービスと対話するための複数の方法を持ち、コンピュータ使用は最も広範で最も遅いです。最も正確なツールを最初に試します:262Claude はアプリまたはサービスと対話するための複数の方法を持ち、コンピュータ使用は最も広範で最も遅いです。最も正確なツールを最初に試します:

227 263 


232 268 

233[アプリごとのアクセス層](#app-permissions)はこれを強化します:ブラウザはビューのみに制限され、ターミナルと IDE はクリックのみに制限され、Claude をコンピュータ使用がアクティブな場合でも専用ツールに向けます。スクリーン制御は、ネイティブアプリ、ハードウェア制御パネル、iOS シミュレータ、または API のない独自ツールなど、他に何も到達できないものに予約されています。269[アプリごとのアクセス層](#app-permissions)はこれを強化します:ブラウザはビューのみに制限され、ターミナルと IDE はクリックのみに制限され、Claude をコンピュータ使用がアクティブな場合でも専用ツールに向けます。スクリーン制御は、ネイティブアプリ、ハードウェア制御パネル、iOS シミュレータ、または API のない独自ツールなど、他に何も到達できないものに予約されています。

234 270 

235### コンピュータ使用を有効にする271<h3 id="enable-computer-use">

272 コンピュータ使用を有効にする

273</h3>

236 274 

237コンピュータ使用はデフォルトでオフです。それが必要な何かをするよう Claude に依頼し、それがオフの場合、Claude は Settings でコンピュータ使用を有効にすれば、タスクを実行できることを伝えます。275コンピュータ使用はデフォルトでオフです。それが必要な何かをするよう Claude に依頼し、それがオフの場合、Claude は Settings でコンピュータ使用を有効にすれば、タスクを実行できることを伝えます。

238 276 


257 </Step>295 </Step>

258</Steps>296</Steps>

259 297 

260### アプリ権限298<h3 id="app-permissions">

299 アプリ権限

300</h3>

261 301 

262Claude が初めてアプリを使用する必要がある場合、セッションにプロンプトが表示されます。**Allow for this session**または**Deny**をクリックします。承認は現在のセッション、または[Dispatch が生成したセッション](#sessions-from-dispatch)では 30 分間有効です。302Claude が初めてアプリを使用する必要がある場合、セッションにプロンプトが表示されます。**Allow for this session**または**Deny**をクリックします。承認は現在のセッション、または[Dispatch が生成したセッション](#sessions-from-dispatch)では 30 分間有効です。

263 303 


276* **Denied apps**:ここにアプリを追加して、プロンプトなしで拒否します。Claude は許可されたアプリのアクションを通じて拒否されたアプリに間接的に影響を与える可能性がありますが、拒否されたアプリと直接対話することはできません。316* **Denied apps**:ここにアプリを追加して、プロンプトなしで拒否します。Claude は許可されたアプリのアクションを通じて拒否されたアプリに間接的に影響を与える可能性がありますが、拒否されたアプリと直接対話することはできません。

277* **Unhide apps when Claude finishes**:Claude が作業している間、他のウィンドウは非表示になり、承認されたアプリのみと対話します。Claude が完了すると、この設定をオフにしない限り、非表示のウィンドウが復元されます。317* **Unhide apps when Claude finishes**:Claude が作業している間、他のウィンドウは非表示になり、承認されたアプリのみと対話します。Claude が完了すると、この設定をオフにしない限り、非表示のウィンドウが復元されます。

278 318 

279## セッションを管理する319<h2 id="manage-sessions">

320 セッションを管理する

321</h2>

280 322 

281各セッションは独立した会話であり、独自のコンテキストと変更があります。複数のセッションを並列で実行するか、サイドチャットを分岐させるか、作業をクラウドに送信するか、Dispatch にセッションを電話から開始させることができます。323各セッションは独立した会話であり、独自のコンテキストと変更があります。複数のセッションを並列で実行するか、サイドチャットを分岐させるか、作業をクラウドに送信するか、Dispatch にセッションを電話から開始させることができます。

282 324 

283### セッションで並列に作業する325<h3 id="work-in-parallel-with-sessions">

326 セッションで並列に作業する

327</h3>

284 328 

285サイドバーの\*\*+ New session**をクリックするか、macOS で**Cmd+N**を、Windows で**Ctrl+N**を押して、複数のタスクを並列で作業します。**Ctrl+Tab**と**Ctrl+Shift+Tab\*\*を押してサイドバーのセッションをサイクルします。Git リポジトリの場合、各セッションは[Git worktrees](/ja/worktrees)を使用してプロジェクトの独立した分離コピーを取得するため、1 つのセッションの変更は、コミットするまで他のセッションに影響しません。329サイドバーの\*\*+ New session**をクリックするか、macOS で**Cmd+N**を、Windows で**Ctrl+N**を押して、複数のタスクを並列で作業します。**Ctrl+Tab**と**Ctrl+Shift+Tab\*\*を押してサイドバーのセッションをサイクルします。Git リポジトリの場合、各セッションは[Git worktrees](/ja/worktrees)を使用してプロジェクトの独立した分離コピーを取得するため、1 つのセッションの変更は、コミットするまで他のセッションに影響しません。

286 330 


298 342 

299デスクトップアプリは、Code セッションがタスクを完了し、現在そのセッションを表示していない場合に OS 通知を送信します。343デスクトップアプリは、Code セッションがタスクを完了し、現在そのセッションを表示していない場合に OS 通知を送信します。

300 344 

301### メインセッションを脱線させずにサイドクエスチョンを尋ねる345<h3 id="ask-a-side-question-without-derailing-the-session">

346 メインセッションを脱線させずにサイドクエスチョンを尋ねる

347</h3>

302 348 

303サイドチャットを使用すると、セッションのコンテキストを使用するが、メインの会話に何も追加しない質問を Claude に尋ねることができます。コードの一部を理解したい、仮定を確認したい、またはセッションを脱線させずにアイデアを探索したい場合に使用します。349サイドチャットを使用すると、セッションのコンテキストを使用するが、メインの会話に何も追加しない質問を Claude に尋ねることができます。コードの一部を理解したい、仮定を確認したい、またはセッションを脱線させずにアイデアを探索したい場合に使用します。

304 350 

305macOS で\*\*Cmd+;**を、Windows で**Ctrl+;\*\*を押してサイドチャットを開くか、プロンプトボックスで`/btw`を入力します。サイドチャットはその時点までのメインスレッドのすべてを読み取ることができます。完了したら、サイドチャットを閉じてメインセッションを続行します。サイドチャットはローカルおよび SSH セッションで利用可能です。351macOS で\*\*Cmd+;**を、Windows で**Ctrl+;\*\*を押してサイドチャットを開くか、プロンプトボックスで`/btw`を入力します。サイドチャットはその時点までのメインスレッドのすべてを読み取ることができます。完了したら、サイドチャットを閉じてメインセッションを続行します。サイドチャットはローカルおよび SSH セッションで利用可能です。

306 352 

307### バックグラウンドタスクを監視する353<h3 id="watch-background-tasks">

354 バックグラウンドタスクを監視する

355</h3>

308 356 

309タスクペインは、現在のセッション内で実行されているバックグラウンド作業を表示します:サブエージェント、バックグラウンドシェルコマンド、およびワークフロー。**Views**メニューから開くか、レイアウトにドラッグします。357タスクペインは、現在のセッション内で実行されているバックグラウンド作業を表示します:サブエージェント、バックグラウンドシェルコマンド、および[動的ワークフロー](/ja/workflows)。**Views**メニューから開くか、レイアウトにドラッグします。

310 358 

311任意のエントリをクリックして、サブエージェントペインで出力を確認するか、停止します。他のセッションが何をしているかを確認するには、[サイドバー](#work-in-parallel-with-sessions)を使用します。359任意のエントリをクリックして、サブエージェントペインで出力を確認するか、停止します。他のセッションが何をしているかを確認するには、[サイドバー](#work-in-parallel-with-sessions)を使用します。

312 360 

313### 長時間実行されるタスクをリモートで実行する361<h3 id="run-long-running-tasks-remotely">

362 長時間実行されるタスクをリモートで実行する

363</h3>

314 364 

315大規模なリファクタリング、テストスイート、マイグレーション、またはその他の長時間実行されるタスクの場合、セッションを開始するときに**Local**の代わりに**Remote**を選択します。リモートセッションは Anthropic のクラウドインフラストラクチャで実行され、アプリを閉じたりコンピュータをシャットダウンしたりしても続行します。いつでも戻ってきて進捗を確認するか、Claude を別の方向に導くことができます。[claude.ai/code](https://claude.ai/code)または Claude iOS アプリからリモートセッションを監視することもできます。365大規模なリファクタリング、テストスイート、マイグレーション、またはその他の長時間実行されるタスクの場合、セッションを開始するときに**Local**の代わりに**Remote**を選択します。リモートセッションは Anthropic のクラウドインフラストラクチャで実行され、アプリを閉じたりコンピュータをシャットダウンしたりしても続行します。いつでも戻ってきて進捗を確認するか、Claude を別の方向に導くことができます。[claude.ai/code](https://claude.ai/code)または Claude iOS アプリからリモートセッションを監視することもできます。

316 366 


318 368 

319リモートセッションがどのように機能するかについての詳細については、[Web 上の Claude Code](/ja/claude-code-on-the-web)を参照してください。369リモートセッションがどのように機能するかについての詳細については、[Web 上の Claude Code](/ja/claude-code-on-the-web)を参照してください。

320 370 

321### 別のサーフェスで続行する371<h3 id="continue-in-another-surface">

372 別のサーフェスで続行する

373</h3>

322 374 

323セッションツールバーの右下の VS Code アイコンからアクセスできる**Continue in**メニューを使用すると、セッションを別のサーフェスに移動できます:375セッションツールバーの右下の VS Code アイコンからアクセスできる**Continue in**メニューを使用すると、セッションを別のサーフェスに移動できます:

324 376 

325* **Claude Code on the Web**:ローカルセッションをリモートで実行し続けるために送信します。Desktop はブランチをプッシュし、会話の要約を生成し、完全なコンテキストを持つ新しいリモートセッションを作成します。その後、ローカルセッションをアーカイブするか保持するかを選択できます。これはクリーンなワーキングツリーが必要であり、SSH セッションでは利用できません。377* **Claude Code on the Web**:ローカルセッションをリモートで実行し続けるために送信します。Desktop はブランチをプッシュし、会話の要約を生成し、完全なコンテキストを持つ新しいリモートセッションを作成します。その後、ローカルセッションをアーカイブするか保持するかを選択できます。これはクリーンなワーキングツリーが必要であり、SSH セッションでは利用できません。

326* **Your IDE**:現在の作業ディレクトリでサポートされている IDE でプロジェクトを開きます。378* **Your IDE**:現在の作業ディレクトリでサポートされている IDE でプロジェクトを開きます。

327 379 

328### Dispatch からのセッション380<h3 id="sessions-from-dispatch">

381 Dispatch からのセッション

382</h3>

329 383 

330[Dispatch](https://support.claude.com/en/articles/13947068)は、[Cowork](https://claude.com/product/cowork#dispatch-and-computer-use)タブに存在する Claude との永続的な会話です。Dispatch にタスクをメッセージで送信すると、それをどのように処理するかを決定します。384[Dispatch](https://support.claude.com/en/articles/13947068)は、[Cowork](https://claude.com/product/cowork#dispatch-and-computer-use)タブに存在する Claude との永続的な会話です。Dispatch にタスクをメッセージで送信すると、それをどのように処理するかを決定します。

331 385 


339 393 

340Dispatch は、ターミナルから離れているときに Claude で作業する複数の方法の 1 つです。[プラットフォームと統合](/ja/platforms#work-when-you-are-away-from-your-terminal)を参照して、Remote Control、Channels、Slack、スケジュール済みタスクと比較してください。394Dispatch は、ターミナルから離れているときに Claude で作業する複数の方法の 1 つです。[プラットフォームと統合](/ja/platforms#work-when-you-are-away-from-your-terminal)を参照して、Remote Control、Channels、Slack、スケジュール済みタスクと比較してください。

341 395 

342## Claude Code を拡張する396<h2 id="extend-claude-code">

397 Claude Code を拡張する

398</h2>

343 399 

344外部サービスを接続し、再利用可能なワークフローを追加し、Claude の動作をカスタマイズし、プレビューサーバーを設定します。コネクタ、スキル、プラグインを 1 か所で管理するには、サイドバーの**Customize**をクリックします。400外部サービスを接続し、再利用可能なワークフローを追加し、Claude の動作をカスタマイズし、プレビューサーバーを設定します。コネクタ、スキル、プラグインを 1 か所で管理するには、サイドバーの**Customize**をクリックします。

345 401 

346### 外部ツールを接続する402<h3 id="connect-external-tools">

403 外部ツールを接続する

404</h3>

347 405 

348ローカルおよび[SSH](#ssh-sessions)セッションの場合、プロンプトボックスの横の\*\*+**ボタンをクリックして**Connectors**を選択し、Google Calendar、Slack、GitHub、Linear、Notion などの統合を追加します。セッションの前または中にコネクタを追加できます。**+\*\*ボタンはリモートセッションでは利用できませんが、[ルーチン](/ja/routines)はルーチン作成時にコネクタを設定します。406ローカルおよび[SSH](#ssh-sessions)セッションの場合、プロンプトボックスの横の\*\*+**ボタンをクリックして**Connectors**を選択し、Google Calendar、Slack、GitHub、Linear、Notion などの統合を追加します。セッションの前または中にコネクタを追加できます。**+\*\*ボタンはリモートセッションでは利用できませんが、[ルーチン](/ja/routines)はルーチン作成時にコネクタを設定します。

349 407 


353 411 

354コネクタは[MCP サーバー](/ja/mcp)であり、グラフィカルセットアップフローを備えています。サポートされているサービスとの迅速な統合に使用します。Connectors にリストされていない統合の場合、[設定ファイル](/ja/mcp#installing-mcp-servers)を介して MCP サーバーを手動で追加します。また、[カスタムコネクタを作成](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp)することもできます。412コネクタは[MCP サーバー](/ja/mcp)であり、グラフィカルセットアップフローを備えています。サポートされているサービスとの迅速な統合に使用します。Connectors にリストされていない統合の場合、[設定ファイル](/ja/mcp#installing-mcp-servers)を介して MCP サーバーを手動で追加します。また、[カスタムコネクタを作成](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp)することもできます。

355 413 

356### スキルを使用する414<h3 id="use-skills">

415 スキルを使用する

416</h3>

357 417 

358[スキル](/ja/skills)は Claude ができることを拡張します。Claude は関連する場合に自動的にロードするか、直接呼び出すことができます:プロンプトボックスで`/`を入力するか、**+**ボタンをクリックして**Slash commands**を選択して、利用可能なものを参照します。これには[組み込みコマンド](/ja/commands)、[カスタムスキル](/ja/skills#create-your-first-skill)、コードベースからのプロジェクトスキル、および[インストール済みプラグイン](/ja/plugins)からのスキルが含まれます。1 つを選択すると、入力フィールドで強調表示されます。その後にタスクを入力して、通常どおり送信します。418[スキル](/ja/skills)は Claude ができることを拡張します。Claude は関連する場合に自動的にロードするか、直接呼び出すことができます:プロンプトボックスで`/`を入力するか、**+**ボタンをクリックして**Slash commands**を選択して、利用可能なものを参照します。これには[組み込みコマンド](/ja/commands)、[カスタムスキル](/ja/skills#create-your-first-skill)、コードベースからのプロジェクトスキル、および[インストール済みプラグイン](/ja/plugins)からのスキルが含まれます。1 つを選択すると、入力フィールドで強調表示されます。その後にタスクを入力して、通常どおり送信します。

359 419 

360### プラグインをインストールする420<h3 id="install-plugins">

421 プラグインをインストールする

422</h3>

361 423 

362[プラグイン](/ja/plugins)は、スキル、エージェント、hooks、MCP サーバー、および LSP 設定を Claude Code に追加する再利用可能なパッケージです。ターミナルを使用せずにデスクトップアプリからプラグインをインストールできます。424[プラグイン](/ja/plugins)は、スキル、エージェント、hooks、MCP サーバー、および LSP 設定を Claude Code に追加する再利用可能なパッケージです。ターミナルを使用せずにデスクトップアプリからプラグインをインストールできます。

363 425 


365 427 

366プラグインはユーザーアカウント、特定のプロジェクト、またはローカルのみにスコープできます。組織がプラグインを一元管理する場合、それらのプラグインは CLI セッションと同じ方法で Desktop セッションで利用可能です。プラグインはリモートセッションでは利用できません。プラグインの作成を含む完全なプラグインリファレンスについては、[プラグイン](/ja/plugins)を参照してください。428プラグインはユーザーアカウント、特定のプロジェクト、またはローカルのみにスコープできます。組織がプラグインを一元管理する場合、それらのプラグインは CLI セッションと同じ方法で Desktop セッションで利用可能です。プラグインはリモートセッションでは利用できません。プラグインの作成を含む完全なプラグインリファレンスについては、[プラグイン](/ja/plugins)を参照してください。

367 429 

368### プレビューサーバーを設定する430<h3 id="configure-preview-servers">

431 プレビューサーバーを設定する

432</h3>

369 433 

370Claude は dev サーバーセットアップを自動的に検出し、セッションを開始するときに選択したフォルダのルートの`.claude/launch.json`に設定を保存します。Preview はこのフォルダを作業ディレクトリとして使用するため、親フォルダを選択した場合、独自の dev サーバーを持つサブフォルダは自動的に検出されません。サブフォルダのサーバーで作業するには、そのフォルダで直接セッションを開始するか、設定を手動で追加します。434Claude は dev サーバーセットアップを自動的に検出し、セッションを開始するときに選択したフォルダのルートの`.claude/launch.json`に設定を保存します。Preview はこのフォルダを作業ディレクトリとして使用するため、親フォルダを選択した場合、独自の dev サーバーを持つサブフォルダは自動的に検出されません。サブフォルダのサーバーで作業するには、そのフォルダで直接セッションを開始するか、設定を手動で追加します。

371 435 


387 451 

388同じプロジェクトから異なるサーバーを実行するために複数の設定を定義できます。たとえば、フロントエンドと API です。以下の[例](#examples)を参照してください。452同じプロジェクトから異なるサーバーを実行するために複数の設定を定義できます。たとえば、フロントエンドと API です。以下の[例](#examples)を参照してください。

389 453 

390#### 変更を自動検証する454<h4 id="auto-verify-changes">

455 変更を自動検証する

456</h4>

391 457 

392`autoVerify`が有効な場合、Claude はファイルを編集した後、コード変更を自動的に検証します。スクリーンショットを撮影し、エラーをチェックし、応答を完了する前に変更が機能することを確認します。458`autoVerify`が有効な場合、Claude はファイルを編集した後、コード変更を自動的に検証します。スクリーンショットを撮影し、エラーをチェックし、応答を完了する前に変更が機能することを確認します。

393 459 


403 469 

404無効にすると、プレビューツールは引き続き利用可能であり、いつでも Claude に検証を依頼できます。Auto-verify は編集後に自動的に実行します。470無効にすると、プレビューツールは引き続き利用可能であり、いつでも Claude に検証を依頼できます。Auto-verify は編集後に自動的に実行します。

405 471 

406#### 設定フィールド472<h4 id="configuration-fields">

473 設定フィールド

474</h4>

407 475 

408`configurations`配列の各エントリは、以下のフィールドを受け入れます:476`configurations`配列の各エントリは、以下のフィールドを受け入れます:

409 477 


419| `program` | string | `node`で実行するスクリプト。[`program`と`runtimeExecutable`を使用する場合](#when-to-use-program-vs-runtimeexecutable)を参照してください |487| `program` | string | `node`で実行するスクリプト。[`program`と`runtimeExecutable`を使用する場合](#when-to-use-program-vs-runtimeexecutable)を参照してください |

420| `args` | string\[] | `program`に渡される引数。`program`が設定されている場合のみ使用されます |488| `args` | string\[] | `program`に渡される引数。`program`が設定されている場合のみ使用されます |

421 489 

422##### `program`と`runtimeExecutable`を使用する場合490<h5 id="when-to-use-program-vs-runtimeexecutable">

491 `program`と`runtimeExecutable`を使用する場合

492</h5>

423 493 

424`runtimeExecutable`を`runtimeArgs`と共に使用して、パッケージマネージャーを通じて dev サーバーを起動します。たとえば、`"runtimeExecutable": "npm"`と`"runtimeArgs": ["run", "dev"]`は`npm run dev`を実行します。494`runtimeExecutable`を`runtimeArgs`と共に使用して、パッケージマネージャーを通じて dev サーバーを起動します。たとえば、`"runtimeExecutable": "npm"`と`"runtimeArgs": ["run", "dev"]`は`npm run dev`を実行します。

425 495 

426`node`で直接実行したいスタンドアロンスクリプトがある場合は`program`を使用します。たとえば、`"program": "server.js"`は`node server.js`を実行します。`args`で追加フラグを渡します。496`node`で直接実行したいスタンドアロンスクリプトがある場合は`program`を使用します。たとえば、`"program": "server.js"`は`node server.js`を実行します。`args`で追加フラグを渡します。

427 497 

428#### ポート競合498<h4 id="port-conflicts">

499 ポート競合

500</h4>

429 501 

430`autoPort`フィールドは、優先ポートが既に使用されている場合の処理を制御します:502`autoPort`フィールドは、優先ポートが既に使用されている場合の処理を制御します:

431 503 


435 507 

436Claude が別のポートを選択すると、割り当てられたポートを`PORT`環境変数を通じてサーバーに渡します。508Claude が別のポートを選択すると、割り当てられたポートを`PORT`環境変数を通じてサーバーに渡します。

437 509 

438#### 510<h4 id="examples">

511

512</h4>

439 513 

440これらの設定は、異なるプロジェクトタイプの一般的なセットアップを示しています:514これらの設定は、異なるプロジェクトタイプの一般的なセットアップを示しています:

441 515 


506 </Tab>580 </Tab>

507</Tabs>581</Tabs>

508 582 

509## 環境設定583<h2 id="environment-configuration">

584 環境設定

585</h2>

510 586 

511[セッションを開始する](#start-a-session)ときに選択する環境は、Claude が実行される場所と接続方法を決定します:587[セッションを開始する](#start-a-session)ときに選択する環境は、Claude が実行される場所と接続方法を決定します:

512 588 


514* **Remote**:Anthropic のクラウドインフラストラクチャで実行されます。アプリを閉じても、セッションは続行されます。590* **Remote**:Anthropic のクラウドインフラストラクチャで実行されます。アプリを閉じても、セッションは続行されます。

515* **SSH**:SSH 経由で接続するリモートマシンで実行されます。たとえば、独自のサーバー、クラウド VM、または dev コンテナなどです。591* **SSH**:SSH 経由で接続するリモートマシンで実行されます。たとえば、独自のサーバー、クラウド VM、または dev コンテナなどです。

516 592 

517### ローカルセッション593<h3 id="local-sessions">

594 ローカルセッション

595</h3>

518 596 

519デスクトップアプリは常にシェル環境全体を継承するわけではありません。macOS では、Dock または Finder からアプリを起動すると、`~/.zshrc` または `~/.bashrc` などのシェルプロファイルを読み取り、`PATH` と固定された Claude Code 変数セットを抽出しますが、そこでエクスポートする他の変数は取得されません。Windows では、アプリはユーザーおよびシステム環境変数を継承しますが、PowerShell プロファイルは読み取りません。597デスクトップアプリは常にシェル環境全体を継承するわけではありません。macOS では、Dock または Finder からアプリを起動すると、`~/.zshrc` または `~/.bashrc` などのシェルプロファイルを読み取り、`PATH` と固定された Claude Code 変数セットを抽出しますが、そこでエクスポートする他の変数は取得されません。Windows では、アプリはユーザーおよびシステム環境変数を継承しますが、PowerShell プロファイルは読み取りません。

520 598 

521ローカルセッションと dev サーバーの環境変数を設定するには、プロンプトボックスの環境ドロップダウンを開き、**Local** にマウスを合わせて、ギアアイコンをクリックしてローカル環境エディタを開きます。ここで保存する変数は、マシンに暗号化されて保存され、開始するすべてのローカルセッションとプレビューサーバーに適用されます。また、`~/.claude/settings.json` ファイルの `env` キーに変数を追加することもできます。ただし、これらは Claude セッションにのみ到達し、dev サーバーには到達しません。サポートされている変数の完全なリストについては、[環境変数](/ja/env-vars)を参照してください。599ローカルセッションと dev サーバーの環境変数を設定するには、プロンプトボックスの環境ドロップダウンを開き、**Local** にマウスを合わせて、ギアアイコンをクリックしてローカル環境エディタを開きます。ここで保存する変数は、マシンに暗号化されて保存され、開始するすべてのローカルセッションとプレビューサーバーに適用されます。また、`~/.claude/settings.json` ファイルの `env` キーに変数を追加することもできます。ただし、これらは Claude セッションにのみ到達し、dev サーバーには到達しません。サポートされている変数の完全なリストについては、[環境変数](/ja/env-vars)を参照してください。

522 600 

523[拡張思考](/ja/model-config#extended-thinking)はデフォルトで有効になっており、複雑な推論タスクのパフォーマンスを向上させますが、追加のトークンを使用します。思考を完全に無効にするには、ローカル環境エディタで `MAX_THINKING_TOKENS` を `0` に設定します。[適応的推論](/ja/model-config#adjust-effort-level)を持つモデルでは、適応的推論が思考の深さを制御するため、他の `MAX_THINKING_TOKENS` 値は無視されます。Opus 4.6 と Sonnet 4.6 では、固定思考予算を使用するために `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` を `1` に設定します。Opus 4.7 は常に適応的推論を使用し、固定予算モードはありません。601[拡張思考](/ja/model-config#extended-thinking)はデフォルトで有効になっており、複雑な推論タスクのパフォーマンスを向上させますが、追加のトークンを使用します。思考を完全に無効にするには、ローカル環境エディタで `MAX_THINKING_TOKENS` を `0` に設定します。[適応的推論](/ja/model-config#adjust-effort-level)を持つモデルでは、適応的推論が思考の深さを制御するため、他の `MAX_THINKING_TOKENS` 値は無視されます。Opus 4.6 と Sonnet 4.6 では、固定思考予算を使用するために `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` を `1` に設定します。Opus 4.7 以降は常に適応的推論を使用し、固定予算モードはありません。

524 602 

525### リモートセッション603<h3 id="remote-sessions">

604 リモートセッション

605</h3>

526 606 

527リモートセッションはアプリを閉じても、バックグラウンドで続行されます。使用状況は[サブスクリプションプランの制限](/ja/costs)にカウントされ、別の計算料金はありません。607リモートセッションはアプリを閉じても、バックグラウンドで続行されます。使用状況は[サブスクリプションプランの制限](/ja/costs)にカウントされ、別の計算料金はありません。

528 608 

529異なるネットワークアクセスレベルと環境変数を持つカスタムクラウド環境を作成できます。リモートセッションを開始するときに環境ドロップダウンを選択し、**Add environment** を選択します。ネットワークアクセスと環境変数の設定の詳細については、[クラウド環境](/ja/claude-code-on-the-web#the-cloud-environment)を参照してください。609異なるネットワークアクセスレベルと環境変数を持つカスタムクラウド環境を作成できます。リモートセッションを開始するときに環境ドロップダウンを選択し、**Add environment** を選択します。ネットワークアクセスと環境変数の設定の詳細については、[クラウド環境](/ja/claude-code-on-the-web#the-cloud-environment)を参照してください。

530 610 

531### SSH セッション611<h3 id="ssh-sessions">

612 SSH セッション

613</h3>

532 614 

533SSH セッションを使用すると、デスクトップアプリをインターフェイスとして使用しながら、リモートマシンで Claude Code を実行できます。これは、クラウド VM、dev コンテナ、または特定のハードウェアまたは依存関係を持つサーバーに存在するコードベースで作業するのに便利です。615SSH セッションを使用すると、デスクトップアプリをインターフェイスとして使用しながら、リモートマシンで Claude Code を実行できます。これは、クラウド VM、dev コンテナ、または特定のハードウェアまたは依存関係を持つサーバーに存在するコードベースで作業するのに便利です。

534 616 


543 625 

544リモートマシンは Linux または macOS を実行する必要があります。デスクトップは初回接続時にリモートマシンに Claude Code を自動的にインストールします。接続されると、SSH セッションは権限モード、コネクタ、プラグイン、および MCP サーバーをサポートします。626リモートマシンは Linux または macOS を実行する必要があります。デスクトップは初回接続時にリモートマシンに Claude Code を自動的にインストールします。接続されると、SSH セッションは権限モード、コネクタ、プラグイン、および MCP サーバーをサポートします。

545 627 

546#### チームの SSH 接続を事前設定する628<h4 id="pre-configure-ssh-connections-for-your-team">

629 チームの SSH 接続を事前設定する

630</h4>

547 631 

548管理者は、[管理設定](/ja/settings#settings-precedence)ファイルに `sshConfigs` を追加することで、SSH 接続をチームメンバーに配布できます。この方法で定義された接続は、各ユーザーの環境ドロップダウンに自動的に表示され、管理対象として表示されるため、ユーザーはそれらを選択できますが、アプリで編集または削除することはできません。632管理者は、[管理設定](/ja/settings#settings-precedence)ファイルに `sshConfigs` を追加することで、SSH 接続をチームメンバーに配布できます。この方法で定義された接続は、各ユーザーの環境ドロップダウンに自動的に表示され、管理対象として表示されるため、ユーザーはそれらを選択できますが、アプリで編集または削除することはできません。

549 633 


566 650 

567各エントリには `id`、`name`、および `sshHost` が必要です。`sshPort`、`sshIdentityFile`、および `startDirectory` フィールドはオプションです。ユーザーは、ダイアログを通じて追加された接続が保存される独自の `~/.claude/settings.json` に `sshConfigs` を追加することもできます。651各エントリには `id`、`name`、および `sshHost` が必要です。`sshPort`、`sshIdentityFile`、および `startDirectory` フィールドはオプションです。ユーザーは、ダイアログを通じて追加された接続が保存される独自の `~/.claude/settings.json` に `sshConfigs` を追加することもできます。

568 652 

569#### ユーザーが接続できる SSH ホストを制限する653<h4 id="restrict-which-ssh-hosts-users-can-connect-to">

654 ユーザーが接続できる SSH ホストを制限する

655</h4>

570 656 

571管理者は、[管理設定](/ja/settings#settings-precedence)ファイルに `sshHostAllowlist` を追加することで、Desktop の SSH セッションを承認されたホストのセットに制限できます。設定されると、ユーザーは解決されたホスト名がパターンの 1 つと一致するホストにのみ接続できます。SSH セッションを完全に無効にするには、空の配列に設定します。657管理者は、[管理設定](/ja/settings#settings-precedence)ファイルに `sshHostAllowlist` を追加することで、Desktop の SSH セッションを承認されたホストのセットに制限できます。設定されると、ユーザーは解決されたホスト名がパターンの 1 つと一致するホストにのみ接続できます。SSH セッションを完全に無効にするには、空の配列に設定します。

572 658 


582 668 

583`sshHostAllowlist` は管理設定からのみ読み取られます。ユーザーまたはプロジェクト設定の値は無視されます。Claude Desktop アプリのみがこの設定を尊重します。Claude Code CLI と IDE 拡張機能はこれを読み取らず、Bash ツールを通じて実行される `ssh` コマンドを制限しません。これは Desktop アプリが接続するホストを管理し、ネットワーク出力ではないため、ハード境界が必要な場合は組織のネットワークまたはゼロトラストコントロールと組み合わせてください。669`sshHostAllowlist` は管理設定からのみ読み取られます。ユーザーまたはプロジェクト設定の値は無視されます。Claude Desktop アプリのみがこの設定を尊重します。Claude Code CLI と IDE 拡張機能はこれを読み取らず、Bash ツールを通じて実行される `ssh` コマンドを制限しません。これは Desktop アプリが接続するホストを管理し、ネットワーク出力ではないため、ハード境界が必要な場合は組織のネットワークまたはゼロトラストコントロールと組み合わせてください。

584 670 

585## エンタープライズ設定671<h2 id="enterprise-configuration">

672 エンタープライズ設定

673</h2>

586 674 

587Team または Enterprise プランの組織は、管理コンソールコントロール、管理設定ファイル、およびデバイス管理ポリシーを通じてデスクトップアプリの動作を管理できます。675Team または Enterprise プランの組織は、管理コンソールコントロール、管理設定ファイル、およびデバイス管理ポリシーを通じてデスクトップアプリの動作を管理できます。

588 676 

589### 管理コンソールコントロール677<h3 id="admin-console-controls">

678 管理コンソールコントロール

679</h3>

590 680 

591これらの設定は[管理設定コンソール](https://claude.ai/admin-settings/claude-code)を通じて設定されます:681これらの設定は[管理設定コンソール](https://claude.ai/admin-settings/claude-code)を通じて設定されます:

592 682 

593* **Code in the desktop**:組織内のユーザーがデスクトップアプリで Claude Code にアクセスできるかどうかを制御します683* **Code in the desktop**:組織内のユーザーがデスクトップアプリで Claude Code にアクセスできるかどうかを制御します

594* **Code in the web**:組織の[Web セッション](/ja/claude-code-on-the-web)を有効または無効にします684* **Code in the web**:組織の[Web セッション](/ja/claude-code-on-the-web)を有効または無効にします

595* **Remote Control**:組織の[Remote Control](/ja/remote-control)を有効または無効にします685* **Remote Control**:組織の[Remote Control](/ja/remote-control)を有効または無効にします

596* **Disable Bypass permissions mode**:組織内のユーザーが bypass permissions モードを有効にするのを防ぎます686* **Bypass permissions モードを無効化**:組織内のユーザーが bypass permissions モードを有効にするのを防ぎます

597 687 

598### 管理設定688<h3 id="managed-settings">

689 管理設定

690</h3>

599 691 

600管理設定はプロジェクトおよびユーザー設定をオーバーライドし、Desktop が CLI セッションを生成するときに適用されます。これらのキーを組織の[管理設定](/ja/settings#settings-precedence)ファイルで設定するか、管理コンソールを通じてリモートでプッシュできます。692管理設定はプロジェクトおよびユーザー設定をオーバーライドし、Desktop が CLI セッションを生成するときに適用されます。これらのキーを組織の[管理設定](/ja/settings#settings-precedence)ファイルで設定するか、管理コンソールを通じてリモートでプッシュできます。

601 693 


612 704 

613`permissions.disableBypassPermissionsMode`と`disableAutoMode`はユーザーおよびプロジェクト設定でも機能しますが、管理設定に配置するとユーザーがそれらをオーバーライドするのを防ぎます。`autoMode`はユーザー設定、`.claude/settings.local.json`、および管理設定から読み取られますが、チェックイン済みの`.claude/settings.json`からは読み取られません:クローンされたリポジトリは独自の分類器ルールを注入できません。`allowManagedPermissionRulesOnly`と`allowManagedHooksOnly`を含む管理専用設定の完全なリストについては、[管理専用設定](/ja/permissions#managed-only-settings)を参照してください。705`permissions.disableBypassPermissionsMode`と`disableAutoMode`はユーザーおよびプロジェクト設定でも機能しますが、管理設定に配置するとユーザーがそれらをオーバーライドするのを防ぎます。`autoMode`はユーザー設定、`.claude/settings.local.json`、および管理設定から読み取られますが、チェックイン済みの`.claude/settings.json`からは読み取られません:クローンされたリポジトリは独自の分類器ルールを注入できません。`allowManagedPermissionRulesOnly`と`allowManagedHooksOnly`を含む管理専用設定の完全なリストについては、[管理専用設定](/ja/permissions#managed-only-settings)を参照してください。

614 706 

615### デバイス管理ポリシー707<h3 id="device-management-policies">

708 デバイス管理ポリシー

709</h3>

616 710 

617IT チームは、macOS の MDM または Windows のグループポリシーを通じてデスクトップアプリを管理できます。利用可能なポリシーには、Claude Code 機能の有効化または無効化、自動更新の制御、およびカスタムデプロイメント URL の設定が含まれます。711IT チームは、macOS の MDM または Windows のグループポリシーを通じてデスクトップアプリを管理できます。利用可能なポリシーには、Claude Code 機能の有効化または無効化、自動更新の制御、およびカスタムデプロイメント URL の設定が含まれます。

618 712 

619* **macOS**:Jamf または Kandji などのツールを使用して`com.anthropic.Claude`プリファレンスドメインを通じて設定します713* **macOS**:Jamf または Kandji などのツールを使用して`com.anthropic.Claude`プリファレンスドメインを通じて設定します

620* **Windows**:`SOFTWARE\Policies\Claude`のレジストリを通じて設定します714* **Windows**:`SOFTWARE\Policies\Claude`のレジストリを通じて設定します

621 715 

622### 認証と SSO716<h3 id="authentication-and-sso">

717 認証と SSO

718</h3>

623 719 

624エンタープライズ組織はすべてのユーザーに SSO を要求できます。プランレベルの詳細については[認証](/ja/authentication)を参照し、SAML および OIDC 設定については[SSO の設定](https://support.claude.com/en/articles/13132885-setting-up-single-sign-on-sso)を参照してください。720エンタープライズ組織はすべてのユーザーに SSO を要求できます。プランレベルの詳細については[認証](/ja/authentication)を参照し、SAML および OIDC 設定については[SSO の設定](https://support.claude.com/en/articles/13132885-setting-up-single-sign-on-sso)を参照してください。

625 721 

626### データ処理722<h3 id="data-handling">

723 データ処理

724</h3>

627 725 

628Claude Code はローカルセッションではコードをローカルで処理するか、リモートセッションでは Anthropic のクラウドインフラストラクチャで処理します。会話とコードコンテキストは処理のために Anthropic の API に送信されます。データ保持、プライバシー、およびコンプライアンスの詳細については、[データ処理](/ja/data-usage)を参照してください。726Claude Code はローカルセッションではコードをローカルで処理するか、リモートセッションでは Anthropic のクラウドインフラストラクチャで処理します。会話とコードコンテキストは処理のために Anthropic の API に送信されます。データ保持、プライバシー、およびコンプライアンスの詳細については、[データ処理](/ja/data-usage)を参照してください。

629 727 

630### デプロイメント728<h3 id="deployment">

729 デプロイメント

730</h3>

631 731 

632Desktop はエンタープライズデプロイメントツールを通じて配布できます:732Desktop はエンタープライズデプロイメントツールを通じて配布できます:

633 733 


638 738 

639完全なエンタープライズ設定リファレンスについては、[エンタープライズ設定ガイド](https://support.claude.com/en/articles/12622667-enterprise-configuration)を参照してください。739完全なエンタープライズ設定リファレンスについては、[エンタープライズ設定ガイド](https://support.claude.com/en/articles/12622667-enterprise-configuration)を参照してください。

640 740 

641## CLI から来ましたか?741<h2 id="coming-from-the-cli">

742 CLI から来ましたか?

743</h2>

642 744 

643既に Claude Code CLI を使用している場合、Desktop は同じ基盤となるエンジンをグラフィカルインターフェイスで実行します。同じマシン上で、同じプロジェクト上でも、両方を同時に実行できます。各々は個別のセッション履歴を保持しますが、CLAUDE.md ファイルを通じて設定とプロジェクトメモリを共有します。745既に Claude Code CLI を使用している場合、Desktop は同じ基盤となるエンジンをグラフィカルインターフェイスで実行します。同じマシン上で、同じプロジェクト上でも、両方を同時に実行できます。各々は個別のセッション履歴を保持しますが、CLAUDE.md ファイルを通じて設定とプロジェクトメモリを共有します。

644 746 

645CLI セッションを Desktop に移動するには、ターミナルで `/desktop` を実行します。Claude はセッションを保存し、デスクトップアプリで開いてから CLI を終了します。このコマンドは macOS と Windows でのみ利用可能です。747CLI セッションを Desktop に移動するには、ターミナルで `/desktop` を実行します。Claude はセッションを保存し、デスクトップアプリで開いてから CLI を終了します。このコマンドは macOS と Windows でのみ利用可能です。Claude サブスクリプションでサインインしている場合に利用できます。API キー認証では利用できず、Bedrock、Vertex、Foundry でも利用できません。

646 748 

647<Tip>749<Tip>

648 Desktop と CLI をいつ使用するか:並列セッションをウィンドウで管理したい場合、ペインを並べて配置したい場合、または変更をビジュアルで確認したい場合は Desktop を使用します。スクリプト、自動化、またはターミナルワークフローが必要な場合は CLI を使用します。750 Desktop と CLI をいつ使用するか:並列セッションをウィンドウで管理したい場合、ペインを並べて配置したい場合、または変更をビジュアルで確認したい場合は Desktop を使用します。スクリプト、自動化、またはターミナルワークフローが必要な場合は CLI を使用します。

649</Tip>751</Tip>

650 752 

651### CLI フラグの同等物753<h3 id="cli-flag-equivalents">

754 CLI フラグの同等物

755</h3>

652 756 

653このテーブルは、一般的な CLI フラグのデスクトップアプリの同等物を示しています。リストされていないフラグは、スクリプトまたは自動化用に設計されているため、デスクトップの同等物がありません。757このテーブルは、一般的な CLI フラグのデスクトップアプリの同等物を示しています。リストされていないフラグは、スクリプトまたは自動化用に設計されているため、デスクトップの同等物がありません。

654 758 


659| `--permission-mode` | 送信ボタンの横のモードセレクタ |763| `--permission-mode` | 送信ボタンの横のモードセレクタ |

660| `--dangerously-skip-permissions` | Bypass permissions モード。Settings → Claude Code → 「Allow bypass permissions mode」で有効にします。エンタープライズ管理者はこの設定を無効にできます。 |764| `--dangerously-skip-permissions` | Bypass permissions モード。Settings → Claude Code → 「Allow bypass permissions mode」で有効にします。エンタープライズ管理者はこの設定を無効にできます。 |

661| `--add-dir` | リモートセッションで **+** ボタンで複数のリポジトリを追加 |765| `--add-dir` | リモートセッションで **+** ボタンで複数のリポジトリを追加 |

662| `--allowedTools`、`--disallowedTools` | [設定ファイル](/ja/settings)の権限ルールは引き続き適用されます。Desktop の同等物はありません。 |766| `--allowedTools`、`--disallowedTools` | セッションごとの同等物はありません。[設定ファイル](/ja/settings)の権限ルールは引き続き適用されます。 |

663| `--verbose` | [Verbose ビューモード](#switch-view-modes)(Transcript view ドロップダウン) |767| `--verbose` | [Verbose ビューモード](#switch-view-modes)(Transcript view ドロップダウン) |

664| `--print`、`--output-format` | 利用できません。Desktop はインタラクティブのみです。 |768| `--print`、`--output-format` | 利用できません。Desktop はインタラクティブのみです。 |

665| `ANTHROPIC_MODEL` 環境変数 | 送信ボタンの横のモデルドロップダウン |769| `ANTHROPIC_MODEL` 環境変数 | 送信ボタンの横のモデルドロップダウン |

666| `MAX_THINKING_TOKENS` 環境変数 | ローカル環境エディタで設定します。[環境設定](#environment-configuration)を参照してください。 |770| `MAX_THINKING_TOKENS` 環境変数 | ローカル環境エディタで設定します。[環境設定](#environment-configuration)を参照してください。 |

667 771 

668### 共有設定772<h3 id="shared-configuration">

773 共有設定

774</h3>

669 775 

670Desktop と CLI は同じ設定ファイルを読み取るため、セットアップが引き継がれます:776Desktop と CLI は同じ設定ファイルを読み取るため、セットアップが引き継がれます:

671 777 


676* **モデル**:Sonnet、Opus、および Haiku は両方で利用可能です。Desktop では、送信ボタンの横のドロップダウンからモデルを選択します。セッション中にモデルを変更できます。782* **モデル**:Sonnet、Opus、および Haiku は両方で利用可能です。Desktop では、送信ボタンの横のドロップダウンからモデルを選択します。セッション中にモデルを変更できます。

677 783 

678<Note>784<Note>

679 **MCP サーバー:デスクトップチャットアプリと Claude Code**:Claude Desktop チャットアプリの `claude_desktop_config.json` で設定された MCP サーバーは Claude Code とは別であり、Code タブに表示されませんClaude Code で MCP サーバーを使用するには、`~/.claude.json` またはプロジェクトの `.mcp.json` ファイルで設定します詳細については、[MCP 設定](/ja/mcp#installing-mcp-servers)を参照してください785 **Claude Desktop チャットアプリからの MCP サーバー**:Desktop アプリは `claude_desktop_config.json` から MCP サーバーを Code タブセッションに読み込みますこれは `~/.claude.json` および `.mcp.json` からのサーバーと並行して行われます`claude_desktop_config.json` で定義されたサーバーは Desktop チャットサーフェスと Code タブの両方で利用可能です

786 

787 スタンドアロン CLI は `claude_desktop_config.json` を読み取りません。macOS と WSL では、`claude mcp add-from-claude-desktop` を実行して、これらのサーバーを `~/.claude.json` にコピーします。[Claude Desktop から MCP サーバーをインポート](/ja/mcp#import-mcp-servers-from-claude-desktop)を参照して、インポートフローとスコープオプションを確認してください。

680</Note>788</Note>

681 789 

682### 機能比較790<h3 id="feature-comparison">

791 機能比較

792</h3>

683 793 

684このテーブルは、CLI と Desktop の間のコア機能を比較しています。CLI フラグの完全なリストについては、[CLI リファレンス](/ja/cli-reference)を参照してください。794このテーブルは、CLI と Desktop の間のコア機能を比較しています。CLI フラグの完全なリストについては、[CLI リファレンス](/ja/cli-reference)を参照してください。

685 795 


699| Dispatch 統合 | 利用できません | [Dispatch セッション](#sessions-from-dispatch)(サイドバー) |809| Dispatch 統合 | 利用できません | [Dispatch セッション](#sessions-from-dispatch)(サイドバー) |

700| スクリプトと自動化 | [`--print`](/ja/cli-reference)、[Agent SDK](/ja/headless) | 利用できません |810| スクリプトと自動化 | [`--print`](/ja/cli-reference)、[Agent SDK](/ja/headless) | 利用できません |

701 811 

702### Desktop では利用できないもの812<h3 id="what-s-not-available-in-desktop">

813 Desktop では利用できないもの

814</h3>

703 815 

704以下の機能は CLI または VS Code 拡張機能でのみ利用可能です:816以下の機能は CLI または VS Code 拡張機能でのみ利用可能です:

705 817 

706* **サードパーティプロバイダー**:Desktop は Anthropic の API に直接接続します。エンタープライズデプロイメントは Vertex AI とゲートウェイプロバイダーを [管理設定](https://support.claude.com/en/articles/12622667-enterprise-configuration)経由で設定できます。Bedrock または Foundry の場合は、[CLI](/ja/quickstart)を使用します。818* **サードパーティプロバイダー**:Desktop は Anthropic の API に直接接続します。エンタープライズデプロイメントは Vertex AI とゲートウェイプロバイダーを [管理設定](https://support.claude.com/en/articles/12622667-enterprise-configuration)経由で設定できます。Bedrock または Foundry の場合は、[CLI](/ja/quickstart)を使用します。

707* **Linux**:デスクトップアプリは macOS と Windows でのみ利用可能です。Linux では、[CLI](/ja/quickstart)を使用します。819* **Linux**:デスクトップアプリは macOS と Windows でのみ利用可能です。Linux では、[CLI](/ja/quickstart)を使用します。

708* **インラインコード提案**:Desktop はオートコンプリートスタイルの提案を提供しません。会話型プロンプトと明示的なコード変更を通じて機能します。820* **インラインコード提案**:Desktop はオートコンプリートスタイルの提案を提供しません。会話型プロンプトと明示的なコード変更を通じて機能します。

709* **エージェントチーム**:マルチエージェントオーケストレーションは [CLI](/ja/agent-teams) および [Agent SDK](/ja/headless) を通じて利用可能であり、Desktop では利用できません821* **エージェントチーム**:並列 Claude Code セッションが互いにメッセージを送信するのは [CLI](/ja/agent-teams) で利用可能であり、Desktop では利用できません。1 つのセッション内でマルチエージェント作業を行う場合は、[動的ワークフロー](/ja/workflows)を使用します。これは Desktop で実行されます

710* **ターミナルダイアログコマンド**:`/permissions`、`/config`、`/agents`、`/doctor` などのターミナルで対話型パネルを開く組み込みコマンドは、Code タブでは利用できず、`isn't available in this environment` で応答します。[設定ファイル](/ja/settings)を直接編集して権限ルールと設定を管理するか、スタンドアロン CLI からコマンドを実行します。822* **ターミナルダイアログコマンド**:`/permissions`、`/config`、`/agents`、`/doctor` などのターミナルで対話型パネルを開く組み込みコマンドは、Code タブでは利用できず、`isn't available in this environment` で応答します。[設定ファイル](/ja/settings)を直接編集して権限ルールと設定を管理するか、スタンドアロン CLI からコマンドを実行します。

711 823 

712## トラブルシューティング824<h2 id="troubleshooting">

825 トラブルシューティング

826</h2>

713 827 

714以下のセクションでは、デスクトップアプリに固有の問題について説明します。チャットに表示される`API Error: 500`、`529 Overloaded`、`429`、または`Prompt is too long`などのランタイム API エラーについては、[エラーリファレンス](/ja/errors)を参照してください。これらのエラーとその修正は、CLI、Desktop、Web 全体で同じです。828以下のセクションでは、デスクトップアプリに固有の問題について説明します。チャットに表示される`API Error: 500`、`529 Overloaded`、`429`、または`Prompt is too long`などのランタイム API エラーについては、[エラーリファレンス](/ja/errors)を参照してください。これらのエラーとその修正は、CLI、Desktop、Web 全体で同じです。

715 829 

716### バージョンを確認する830<h3 id="check-your-version">

831 バージョンを確認する

832</h3>

717 833 

718実行しているデスクトップアプリのバージョンを確認するには:834実行しているデスクトップアプリのバージョンを確認するには:

719 835 


722 838 

723バージョン番号をクリックしてクリップボードにコピーします。839バージョン番号をクリックしてクリップボードにコピーします。

724 840 

725### Code タブの 403 またはエラー認証エラー841<h3 id="403-or-authentication-errors-in-the-code-tab">

842 Code タブの 403 またはエラー認証エラー

843</h3>

726 844 

727Code タブを使用するときに`Error 403: Forbidden`またはその他の認証エラーが表示される場合:845Code タブを使用するときに`Error 403: Forbidden`またはその他の認証エラーが表示される場合:

728 846 


7313. CLI は機能するが Desktop は機能しない場合、デスクトップアプリを完全に終了し(ウィンドウを閉じるだけではなく)、再度開いてサインインします。8493. CLI は機能するが Desktop は機能しない場合、デスクトップアプリを完全に終了し(ウィンドウを閉じるだけではなく)、再度開いてサインインします。

7324. インターネット接続とプロキシ設定を確認します。8504. インターネット接続とプロキシ設定を確認します。

733 851 

734### 起動時に空白または停止画面852<h3 id="blank-or-stuck-screen-on-launch">

853 起動時に空白または停止画面

854</h3>

735 855 

736アプリが開いても空白または応答しない画面が表示される場合:856アプリが開いても空白または応答しない画面が表示される場合:

737 857 


7392. 保留中の更新を確認します。アプリは起動時に自動更新されます。8592. 保留中の更新を確認します。アプリは起動時に自動更新されます。

7403. Windows では、**Windows Logs → Application**の Event Viewer でクラッシュログを確認します。8603. Windows では、**Windows Logs → Application**の Event Viewer でクラッシュログを確認します。

741 861 

742### 「Failed to load session862<h3 id="failed-to-load-session">

863 「Failed to load session」

864</h3>

743 865 

744`Failed to load session`が表示される場合、選択したフォルダが存在しなくなった可能性があります。Git リポジトリがインストールされていない Git LFS を必要とする可能性があります。またはファイル権限がアクセスを防ぐ可能性があります。別のフォルダを選択するか、アプリを再起動してみてください。866`Failed to load session`が表示される場合、選択したフォルダが存在しなくなった可能性があります。Git リポジトリがインストールされていない Git LFS を必要とする可能性があります。またはファイル権限がアクセスを防ぐ可能性があります。別のフォルダを選択するか、アプリを再起動してみてください。

745 867 

746### セッションがインストール済みツールを見つけられない868<h3 id="session-not-finding-installed-tools">

869 セッションがインストール済みツールを見つけられない

870</h3>

747 871 

748Claude が`npm`、`node`、またはその他の CLI コマンドなどのツールを見つけられない場合、ツールが通常のターミナルで機能することを確認し、シェルプロファイルが PATH を正しく設定していることを確認し、デスクトップアプリを再起動して環境変数を再度読み込みます。872Claude が`npm`、`node`、またはその他の CLI コマンドなどのツールを見つけられない場合、ツールが通常のターミナルで機能することを確認し、シェルプロファイルが PATH を正しく設定していることを確認し、デスクトップアプリを再起動して環境変数を再度読み込みます。

749 873 

750### Git および Git LFS エラー874<h3 id="git-and-git-lfs-errors">

875 Git および Git LFS エラー

876</h3>

751 877 

752Windows では、Code タブがローカルセッションを開始するために Git が必要です。「Git is required」が表示される場合、[Git for Windows](https://git-scm.com/downloads/win)をインストールしてアプリを再起動します。878Windows では、Code タブがローカルセッションを開始するために Git が必要です。「Git is required」が表示される場合、[Git for Windows](https://git-scm.com/downloads/win)をインストールしてアプリを再起動します。

753 879 

754「Git LFS is required by this repository but is not installed」が表示される場合、[git-lfs.com](https://git-lfs.com/)から Git LFS をインストールし、`git lfs install`を実行してアプリを再起動します。880「Git LFS is required by this repository but is not installed」が表示される場合、[git-lfs.com](https://git-lfs.com/)から Git LFS をインストールし、`git lfs install`を実行してアプリを再起動します。

755 881 

756### Windows で MCP サーバーが機能しない882<h3 id="mcp-servers-not-working-on-windows">

883 Windows で MCP サーバーが機能しない

884</h3>

757 885 

758MCP サーバートグルが応答しない場合、または Windows でサーバーが接続に失敗する場合、サーバーが設定で正しく設定されていることを確認し、アプリを再起動し、Task Manager でサーバープロセスが実行されていることを確認し、接続エラーについてサーバーログを確認します。886MCP サーバートグルが応答しない場合、または Windows でサーバーが接続に失敗する場合、サーバーが設定で正しく設定されていることを確認し、アプリを再起動し、Task Manager でサーバープロセスが実行されていることを確認し、接続エラーについてサーバーログを確認します。

759 887 

760### アプリが終了しない888<h3 id="app-won-t-quit">

889 アプリが終了しない

890</h3>

761 891 

762* **macOS**:Cmd+Q を押します。アプリが応答しない場合、Cmd+Option+Esc で Force Quit を使用し、Claude を選択して Force Quit をクリックします。892* **macOS**:Cmd+Q を押します。アプリが応答しない場合、Cmd+Option+Esc で Force Quit を使用し、Claude を選択して Force Quit をクリックします。

763* **Windows**:Ctrl+Shift+Esc で Task Manager を使用して Claude プロセスを終了します。893* **Windows**:Ctrl+Shift+Esc で Task Manager を使用して Claude プロセスを終了します。

764 894 

765### Windows 固有の問題895<h3 id="windows-specific-issues">

896 Windows 固有の問題

897</h3>

766 898 

767* **インストール後に PATH が更新されない**:新しいターミナルウィンドウを開きます。PATH の更新は新しいターミナルセッションにのみ適用されます。899* **インストール後に PATH が更新されない**:新しいターミナルウィンドウを開きます。PATH の更新は新しいターミナルセッションにのみ適用されます。

768* **同時インストールエラー**:別のインストールが進行中であるというエラーが表示されるが、実際には進行中でない場合、インストーラーを管理者として実行してみてください。900* **同時インストールエラー**:別のインストールが進行中であるというエラーが表示されるが、実際には進行中でない場合、インストーラーを管理者として実行してみてください。

769 901 

770### CLI で開くときに「Branch doesn't exist yet902<h3 id="branch-doesn-t-exist-yet-when-opening-in-cli">

903 CLI で開くときに「Branch doesn't exist yet」

904</h3>

771 905 

772リモートセッションはローカルマシンに存在しないブランチを作成できます。セッションツールバーのブランチ名をクリックしてコピーしてから、ローカルでフェッチします:906リモートセッションはローカルマシンに存在しないブランチを作成できます。セッションツールバーのブランチ名をクリックしてコピーしてから、ローカルでフェッチします:

773 907 


776git checkout <branch-name>910git checkout <branch-name>

777```911```

778 912 

779### まだ立ち往生していますか?913<h3 id="still-stuck">

914 まだ立ち往生していますか?

915</h3>

780 916 

781* [GitHub Issues](https://github.com/anthropics/claude-code/issues)でバグを検索またはファイルします917* [GitHub Issues](https://github.com/anthropics/claude-code/issues)でバグを検索またはファイルします

782* [Claude サポートセンター](https://support.claude.com/)にアクセスします918* [Claude サポートセンター](https://support.claude.com/)にアクセスします

Details

34 34 

35Chat と Cowork は [Claude Desktop サポート記事](https://support.claude.com/en/collections/16163169-claude-desktop)で説明されています。このページは **Code** タブに焦点を当てています。35Chat と Cowork は [Claude Desktop サポート記事](https://support.claude.com/en/collections/16163169-claude-desktop)で説明されています。このページは **Code** タブに焦点を当てています。

36 36 

37## インストール37<h2 id="install">

38 インストール

39</h2>

38 40 

39<Steps>41<Steps>

40 <Step title="インストールしてサインインする">42 <Step title="インストールしてサインインする">


48 50 

49デスクトップアプリには Claude Code が含まれています。Node.js または CLI を別途インストールする必要はありません。ターミナルから `claude` を使用するには、CLI を別途インストールしてください。[CLI を始める](/ja/quickstart)を参照してください。51デスクトップアプリには Claude Code が含まれています。Node.js または CLI を別途インストールする必要はありません。ターミナルから `claude` を使用するには、CLI を別途インストールしてください。[CLI を始める](/ja/quickstart)を参照してください。

50 52 

51## 最初のセッションを開始する53<h2 id="start-your-first-session">

54 最初のセッションを開始する

55</h2>

52 56 

53Code タブを開いた状態で、プロジェクトを選択して Claude に何かをさせます。57Code タブを開いた状態で、プロジェクトを選択して Claude に何かをさせます。

54 58 


57 **Local** を選択して、Claude をマシン上で実行し、ファイルを直接使用します。**Select folder** をクリックして、プロジェクトディレクトリを選択します。61 **Local** を選択して、Claude をマシン上で実行し、ファイルを直接使用します。**Select folder** をクリックして、プロジェクトディレクトリを選択します。

58 62 

59 <Tip>63 <Tip>

60 よく知っている小さなプロジェクトから始めてください。Claude Code が何ができるかを見るための最速の方法です。Windows では、ローカルセッションが機能するために [Git](https://git-scm.com/downloads/win)がインストールされている必要があります。ほとんどの Mac にはデフォルトで Git が含まれています。64 よく知っている小さなプロジェクトから始めてください。Claude Code が何ができるかを見るための最速の方法です。Windows では、ローカルセッションが機能するために [Git](https://git-scm.com/downloads/win) がインストールされている必要があります。ほとんどの Mac にはデフォルトで Git が含まれています。

61 </Tip>65 </Tip>

62 66 

63 以下も選択できます。67 以下も選択できます。

64 68 

65 * **Remote**: Anthropic のクラウドインフラストラクチャでセッションを実行します。アプリを閉じても続行します。リモートセッションは [Claude Code on the web](/ja/claude-code-on-the-web)と同じインフラストラクチャを使用します。69 * **Remote**: Anthropic のクラウドインフラストラクチャでセッションを実行します。アプリを閉じても続行します。リモートセッションは [Claude Code on the web](/ja/claude-code-on-the-web) と同じインフラストラクチャを使用します。

66 * **SSH**: SSH 経由でリモートマシンに接続します(独自のサーバー、クラウド VM、または dev コンテナー)。Claude Code はリモートマシンにインストールされている必要があります70 * **SSH**: SSH 経由でリモートマシンに接続します(独自のサーバー、クラウド VM、または dev コンテナー)。Desktop は初回接続時にリモートマシンに Claude Code を自動的にインストールします

67 </Step>71 </Step>

68 72 

69 <Step title="モデルを選択する">73 <Step title="モデルを選択する">

70 送信ボタンの横のドロップダウンからモデルを選択します。Opus、Sonnet、Haiku の比較については、[モデル](/ja/model-config#available-models)を参照してください。後でこのドロップダウンから同じモデルを変更できます。74 送信ボタンの横のドロップダウンからモデルを選択します。Opus、Sonnet、Haiku の比較については、[モデル](/ja/model-config#available-models) を参照してください。後でこのドロップダウンから同じモデルを変更できます。

71 </Step>75 </Step>

72 76 

73 <Step title="Claude に何をするかを伝える">77 <Step title="Claude に何をするかを伝える">


77 * `メイン関数のテストを追加する`81 * `メイン関数のテストを追加する`

78 * `このコードベースの指示を含む CLAUDE.md を作成する`82 * `このコードベースの指示を含む CLAUDE.md を作成する`

79 83 

80 [セッション](/ja/desktop#work-in-parallel-with-sessions)は、コードについて Claude との会話です。各セッションは独自のコンテキストと変更を追跡するため、複数のタスクに取り組む際に相互に干渉することなく作業できます。84 [セッション](/ja/desktop#work-in-parallel-with-sessions) は、コードについて Claude との会話です。各セッションは独自のコンテキストと変更を追跡するため、複数のタスクに取り組む際に相互に干渉することなく作業できます。

81 </Step>85 </Step>

82 86 

83 <Step title="変更をレビューして受け入れる">87 <Step title="変更をレビューして受け入れる">

84 デフォルトでは、Code タブは [Ask permissions モード](/ja/desktop#choose-a-permission-mode)で開始されます。このモードでは、Claude が変更を提案し、適用する前にあなたの承認を待ちます。以下が表示されます。88 デフォルトでは、Code タブは [Ask permissions モード](/ja/desktop#choose-a-permission-mode) で開始されます。このモードでは、Claude が変更を提案し、適用する前にあなたの承認を待ちます。以下が表示されます。

85 89 

86 1. 各ファイルで何が変わるかを正確に示す [diff ビュー](/ja/desktop#review-changes-with-diff-view)90 1. 各ファイルで何が変わるかを正確に示す [diff ビュー](/ja/desktop#review-changes-with-diff-view)

87 2. 各変更を承認または拒否する Accept/Reject ボタン91 2. 各変更を承認または拒否する Accept/Reject ボタン


91 </Step>95 </Step>

92</Steps>96</Steps>

93 97 

94## 次は何をしますか?98<h2 id="now-what">

99 次は何をしますか?

100</h2>

95 101 

96最初の編集が完了しました。Desktop ができることすべての完全なリファレンスについては、[Claude Code Desktop を使用する](/ja/desktop)を参照してください。次に試すべきことをいくつか紹介します。102最初の編集が完了しました。Desktop ができることすべての完全なリファレンスについては、[Claude Code Desktop を使用する](/ja/desktop)を参照してください。次に試すべきことをいくつか紹介します。

97 103 

98**割り込みと操舵。** Claude をいつでも割り込むことができます。間違った方向に進んでいる場合は、停止ボタンをクリックするか、修正を入力して **Enter** を押します。Claude は何をしているかを停止し、あなたの入力に基づいて調整します完了を待つか最初からやり直す必要はありません104**割り込みと操舵。** Claude をいつでも割り込むことができます。停止ボタンをクリックして直ちに割り込むか、修正を入力して **Enter** を押して実行中のアクションを停止せずに送信しますどちらの方法でも完了を待つか最初からやり直す必要はありません

99 105 

100**Claude により多くのコンテキストを提供する。** プロンプトボックスに `@filename` と入力して特定のファイルを会話に取り込み、添付ボタンを使用して画像と PDF を添付するか、ファイルをプロンプトに直接ドラッグアンドドロップします。Claude が持つコンテキストが多いほど、結果は良くなります。[ファイルとコンテキストを追加する](/ja/desktop#add-files-and-context-to-prompts)を参照してください。106**Claude により多くのコンテキストを提供する。** プロンプトボックスに `@filename` と入力して特定のファイルを会話に取り込み、添付ボタンを使用して画像と PDF を添付するか、ファイルをプロンプトに直接ドラッグアンドドロップします。Claude が持つコンテキストが多いほど、結果は良くなります。[ファイルとコンテキストを追加する](/ja/desktop#add-files-and-context-to-prompts)を参照してください。

101 107 


117 123 

118**準備ができたらスケールアップする。** サイドバーから [並列セッション](/ja/desktop#work-in-parallel-with-sessions)を開いて、複数のタスクに同時に取り組みます。各タスクは独自の Git worktree にあります。[タスクペイン](/ja/desktop#watch-background-tasks)を開いて、セッションが実行しているサブエージェントとバックグラウンドコマンドを監視します。[サイドチャット](/ja/desktop#ask-a-side-question-without-derailing-the-session)を開いて、メインスレッドを脱線させずに質問をします。[長時間実行される作業をクラウドに送信](/ja/desktop#run-long-running-tasks-remotely)して、アプリを閉じても続行するか、タスクが予想より長くかかる場合は [web またはあなたの IDE でセッションを続行](/ja/desktop#continue-in-another-surface)します。[GitHub、Slack、Linear などの外部ツールを接続](/ja/desktop#extend-claude-code)して、ワークフローをまとめます。124**準備ができたらスケールアップする。** サイドバーから [並列セッション](/ja/desktop#work-in-parallel-with-sessions)を開いて、複数のタスクに同時に取り組みます。各タスクは独自の Git worktree にあります。[タスクペイン](/ja/desktop#watch-background-tasks)を開いて、セッションが実行しているサブエージェントとバックグラウンドコマンドを監視します。[サイドチャット](/ja/desktop#ask-a-side-question-without-derailing-the-session)を開いて、メインスレッドを脱線させずに質問をします。[長時間実行される作業をクラウドに送信](/ja/desktop#run-long-running-tasks-remotely)して、アプリを閉じても続行するか、タスクが予想より長くかかる場合は [web またはあなたの IDE でセッションを続行](/ja/desktop#continue-in-another-surface)します。[GitHub、Slack、Linear などの外部ツールを接続](/ja/desktop#extend-claude-code)して、ワークフローをまとめます。

119 125 

120## CLI から来ましたか?126<h2 id="coming-from-the-cli">

127 CLI から来ましたか?

128</h2>

121 129 

122Desktop は、グラフィカルインターフェース付きの CLI と同じエンジンを実行します。同じプロジェクトで両方を同時に実行でき、設定(CLAUDE.md ファイル、MCP servers、hooks、スキル、設定)を共有します。機能、フラグの同等物、Desktop で利用できないものの完全な比較については、[CLI 比較](/ja/desktop#coming-from-the-cli)を参照してください。130Desktop は、グラフィカルインターフェース付きの CLI と同じエンジンを実行します。同じプロジェクトで両方を同時に実行でき、設定(CLAUDE.md ファイル、MCP servers、hooks、スキル、設定)を共有します。機能、フラグの同等物、Desktop で利用できないものの完全な比較については、[CLI 比較](/ja/desktop#coming-from-the-cli)を参照してください。

123 131 

124## 次のステップ132<h2 id="what-s-next">

133 次のステップ

134</h2>

125 135 

126* [Claude Code Desktop を使用する](/ja/desktop): 権限モード、並列セッション、diff ビュー、コネクター、エンタープライズ設定136* [Claude Code Desktop を使用する](/ja/desktop): 権限モード、並列セッション、diff ビュー、コネクター、エンタープライズ設定

127* [トラブルシューティング](/ja/desktop#troubleshooting): 一般的なエラーとセットアップの問題の解決策137* [トラブルシューティング](/ja/desktop#troubleshooting): 一般的なエラーとセットアップの問題の解決策

Details

10 10 

11Desktop アプリの **Routines** ページでは、ローカルスケジュール設定されたタスクとリモート [routines](/ja/routines) の両方を作成できます。ローカルタスクはマシン上で実行され、ファイルとツールに直接アクセスできますが、アプリが開いていてコンピュータが起動している場合にのみ実行されます。リモートルーチンは Anthropic が管理するクラウドインフラストラクチャで実行され、コンピュータがオフの場合でも実行でき、API 呼び出しや GitHub イベントでも実行できます。このページではローカルスケジュール設定されたタスクについて説明します。リモートルーチンとそのトリガーオプションについては、[Routines](/ja/routines) を参照してください。11Desktop アプリの **Routines** ページでは、ローカルスケジュール設定されたタスクとリモート [routines](/ja/routines) の両方を作成できます。ローカルタスクはマシン上で実行され、ファイルとツールに直接アクセスできますが、アプリが開いていてコンピュータが起動している場合にのみ実行されます。リモートルーチンは Anthropic が管理するクラウドインフラストラクチャで実行され、コンピュータがオフの場合でも実行でき、API 呼び出しや GitHub イベントでも実行できます。このページではローカルスケジュール設定されたタスクについて説明します。リモートルーチンとそのトリガーオプションについては、[Routines](/ja/routines) を参照してください。

12 12 

13## スケジュール設定オプションの比較13<h2 id="compare-scheduling-options">

14 スケジュール設定オプションの比較

15</h2>

14 16 

15Claude Code offers three ways to schedule recurring or one-off work:17Claude Code offers three ways to schedule recurring or one-off work:

16 18 


34 デフォルトでは、スケジュール設定されたタスクは、コミットされていない変更を含む、作業ディレクトリの現在の状態に対して実行されます。タスクを作成するときに worktree トグルを有効にすると、各実行が独立した Git worktree を取得します。これは [parallel sessions](/ja/desktop#work-in-parallel-with-sessions) と同じ方法です。36 デフォルトでは、スケジュール設定されたタスクは、コミットされていない変更を含む、作業ディレクトリの現在の状態に対して実行されます。タスクを作成するときに worktree トグルを有効にすると、各実行が独立した Git worktree を取得します。これは [parallel sessions](/ja/desktop#work-in-parallel-with-sessions) と同じ方法です。

35</Note>37</Note>

36 38 

37## スケジュール設定されたタスクを作成する39<h2 id="create-a-scheduled-task">

40 スケジュール設定されたタスクを作成する

41</h2>

38 42 

39サイドバーで **Routines** をクリックし、**New routine** をクリックして **Local** を選択します。これらのフィールドを設定します。43サイドバーで **Routines** をクリックし、**New routine** をクリックして **Local** を選択します。これらのフィールドを設定します。

40 44 


49 53 

50任意のセッションで実行したい内容を説明することで、タスクを作成することもできます。たとえば、「毎朝 9 時に実行される毎日のコードレビューを設定する」と言うと、定期的なタスクが作成され、「明日午後 3 時にデプロイをチェックするよう通知する」と言うと、実行後に自分自身を無効にする 1 回限りのタスクが作成されます。54任意のセッションで実行したい内容を説明することで、タスクを作成することもできます。たとえば、「毎朝 9 時に実行される毎日のコードレビューを設定する」と言うと、定期的なタスクが作成され、「明日午後 3 時にデプロイをチェックするよう通知する」と言うと、実行後に自分自身を無効にする 1 回限りのタスクが作成されます。

51 55 

52## スケジュール設定オプション56<h2 id="schedule-options">

57 スケジュール設定オプション

58</h2>

53 59 

54Schedule コントロールからプリセットを選択します。60Schedule コントロールからプリセットを選択します。

55 61 


61 67 

6215 分ごと、毎月 1 日、または特定の将来の時刻での 1 回限りの実行など、ピッカーが提供しないインターバルの場合は、任意の Desktop セッションで Claude に尋ねてスケジュールを設定します。プレーンテキストを使用します。たとえば、「6 時間ごとにすべてのテストを実行するタスクをスケジュール設定する」などです。6815 分ごと、毎月 1 日、または特定の将来の時刻での 1 回限りの実行など、ピッカーが提供しないインターバルの場合は、任意の Desktop セッションで Claude に尋ねてスケジュールを設定します。プレーンテキストを使用します。たとえば、「6 時間ごとにすべてのテストを実行するタスクをスケジュール設定する」などです。

63 69 

64## スケジュール設定されたタスクの実行方法70<h2 id="how-scheduled-tasks-run">

71 スケジュール設定されたタスクの実行方法

72</h2>

65 73 

66スケジュール設定されたタスクはマシン上で実行されます。Desktop はアプリが開いている間、毎分スケジュールをチェックし、開いている手動セッションとは独立して、タスクが期限を迎えたときに新しいセッションを開始します。各タスクは、スケジュール設定された時刻の後に数分の小さな遅延を取得して、API トラフィックを分散させます。遅延は決定的です。同じタスクは常に同じオフセットで開始されます。74スケジュール設定されたタスクはマシン上で実行されます。Desktop はアプリが開いている間、毎分スケジュールをチェックし、開いている手動セッションとは独立して、タスクが期限を迎えたときに新しいセッションを開始します。各タスクは、スケジュール設定された時刻の後に数分の小さな遅延を取得して、API トラフィックを分散させます。遅延は決定的です。同じタスクは常に同じオフセットで開始されます。

67 75 


69 77 

70タスクは Desktop アプリが実行されていて、コンピュータが起動している場合にのみ実行されます。コンピュータがスケジュール設定された時刻を通じてスリープ状態になった場合、実行はスキップされます。アイドルスリープを防ぐには、Settings の **Desktop app → General** で **Keep computer awake** を有効にします。ラップトップのふたを閉じるとスリープ状態になります。コンピュータがオフの場合でも実行する必要があるタスク、または API 呼び出しや GitHub イベントでトリガーする必要があるタスクの場合は、代わりにリモート [routine](/ja/routines) を作成します。78タスクは Desktop アプリが実行されていて、コンピュータが起動している場合にのみ実行されます。コンピュータがスケジュール設定された時刻を通じてスリープ状態になった場合、実行はスキップされます。アイドルスリープを防ぐには、Settings の **Desktop app → General** で **Keep computer awake** を有効にします。ラップトップのふたを閉じるとスリープ状態になります。コンピュータがオフの場合でも実行する必要があるタスク、または API 呼び出しや GitHub イベントでトリガーする必要があるタスクの場合は、代わりにリモート [routine](/ja/routines) を作成します。

71 79 

72## 見落とされた実行80<h2 id="missed-runs">

81 見落とされた実行

82</h2>

73 83 

74アプリが起動するか、コンピュータが起動すると、Desktop は各タスクが過去 7 日間に実行を見落としたかどうかをチェックします。見落とされた場合、Desktop は最近見落とされた時刻に対して正確に 1 つのキャッチアップ実行を開始し、それより古いものは破棄します。6 日間見落とされた毎日のタスクは、起動時に 1 回実行されます。Desktop はキャッチアップ実行が開始されたときに通知を表示します。84アプリが起動するか、コンピュータが起動すると、Desktop は各タスクが過去 7 日間に実行を見落としたかどうかをチェックします。見落とされた場合、Desktop は最近見落とされた時刻に対して正確に 1 つのキャッチアップ実行を開始し、それより古いものは破棄します。6 日間見落とされた毎日のタスクは、起動時に 1 回実行されます。Desktop はキャッチアップ実行が開始されたときに通知を表示します。

75 85 

76プロンプトを記述するときはこれを念頭に置いてください。午前 9 時にスケジュール設定されたタスクは、コンピュータが一日中スリープ状態だった場合、午後 11 時に実行される可能性があります。タイミングが重要な場合は、プロンプト自体にガードレールを追加します。たとえば、「今日のコミットのみをレビューします。午後 5 時以降の場合は、レビューをスキップして、見落とされたものの概要を投稿するだけです。」86プロンプトを記述するときはこれを念頭に置いてください。午前 9 時にスケジュール設定されたタスクは、コンピュータが一日中スリープ状態だった場合、午後 11 時に実行される可能性があります。タイミングが重要な場合は、プロンプト自体にガードレールを追加します。たとえば、「今日のコミットのみをレビューします。午後 5 時以降の場合は、レビューをスキップして、見落とされたものの概要を投稿するだけです。」

77 87 

78## スケジュール設定されたタスクの権限88<h2 id="permissions-for-scheduled-tasks">

89 スケジュール設定されたタスクの権限

90</h2>

79 91 

80各タスクには独自の権限モードがあり、タスクを作成または編集するときに設定します。`~/.claude/settings.json` からのルールも許可されます。スケジュール設定されたタスクセッションにも適用されます。タスクが Ask モードで実行され、権限がないツールを実行する必要がある場合、実行は承認されるまで停止します。セッションはサイドバーに開いたままなので、後で応答できます。92各タスクには独自の権限モードがあり、タスクを作成または編集するときに設定します。`~/.claude/settings.json` からのルールも許可されます。スケジュール設定されたタスクセッションにも適用されます。タスクが Ask モードで実行され、権限がないツールを実行する必要がある場合、実行は承認されるまで停止します。セッションはサイドバーに開いたままなので、後で応答できます。

81 93 

82停止を避けるには、タスクを作成した後に **Run now** をクリックし、権限プロンプトを監視し、各プロンプトに対して「常に許可」を選択します。そのタスクの将来の実行は、プロンプトなしで同じツールを自動承認します。タスクの詳細ページからこれらの承認をレビューして取り消すことができます。94停止を避けるには、タスクを作成した後に **Run now** をクリックし、権限プロンプトを監視し、各プロンプトに対して「常に許可」を選択します。そのタスクの将来の実行は、プロンプトなしで同じツールを自動承認します。タスクの詳細ページからこれらの承認をレビューして取り消すことができます。

83 95 

84## スケジュール設定されたタスクを管理する96<h2 id="manage-scheduled-tasks">

97 スケジュール設定されたタスクを管理する

98</h2>

85 99 

86**Routines** リストのタスクをクリックして、その詳細ページを開きます。ここから以下を実行できます。100**Routines** リストのタスクをクリックして、その詳細ページを開きます。ここから以下を実行できます。

87 101 


98 112 

99ディスク上のタスクのプロンプトを編集するには、`~/.claude/scheduled-tasks/<task-name>/SKILL.md` を開きます([`CLAUDE_CONFIG_DIR`](/ja/env-vars) が設定されている場合はその下)。ファイルは `name` と `description` の YAML frontmatter を使用し、プロンプトが本文です。変更は次の実行時に有効になります。スケジュール、フォルダ、モデル、および有効な状態はこのファイルにはありません。Edit フォームを通じて変更するか、Claude に尋ねます。113ディスク上のタスクのプロンプトを編集するには、`~/.claude/scheduled-tasks/<task-name>/SKILL.md` を開きます([`CLAUDE_CONFIG_DIR`](/ja/env-vars) が設定されている場合はその下)。ファイルは `name` と `description` の YAML frontmatter を使用し、プロンプトが本文です。変更は次の実行時に有効になります。スケジュール、フォルダ、モデル、および有効な状態はこのファイルにはありません。Edit フォームを通じて変更するか、Claude に尋ねます。

100 114 

101## 関連リソース115<h2 id="related-resources">

116 関連リソース

117</h2>

102 118 

103* [Routines](/ja/routines): Anthropic が管理するインフラストラクチャでタスクを実行し、スケジュール、API 呼び出し、または GitHub イベントに応答して実行します。コンピュータがオフの場合でも実行できます119* [Routines](/ja/routines): Anthropic が管理するインフラストラクチャでタスクを実行し、スケジュール、API 呼び出し、または GitHub イベントに応答して実行します。コンピュータがオフの場合でも実行できます

104* [Run prompts on a schedule](/ja/scheduled-tasks): CLI で `/loop` を使用したセッションスコープのスケジュール設定120* [Run prompts on a schedule](/ja/scheduled-tasks): CLI で `/loop` を使用したセッションスコープのスケジュール設定

devcontainer.md +22 −7

Details

32 Claude Code はコンテナ内で実行されるため、プロジェクトのツールチェーンの残りの部分と同じファイル、依存関係、ツールが表示されます。VS Code では、[Claude Code 拡張機能パネル](/ja/vs-code)を使用するか、統合ターミナルで `claude` を実行できます。どちらもコンテナ内で実行され、同じ `~/.claude` 設定を共有します。32 Claude Code はコンテナ内で実行されるため、プロジェクトのツールチェーンの残りの部分と同じファイル、依存関係、ツールが表示されます。VS Code では、[Claude Code 拡張機能パネル](/ja/vs-code)を使用するか、統合ターミナルで `claude` を実行できます。どちらもコンテナ内で実行され、同じ `~/.claude` 設定を共有します。

33</Accordion>33</Accordion>

34 34 

35## 開発コンテナに Claude Code を追加する35<h2 id="add-claude-code-to-your-dev-container">

36 開発コンテナに Claude Code を追加する

37</h2>

36 38 

37Claude Code は、[Claude Code Dev Container Feature](https://github.com/anthropics/devcontainer-features/tree/main/src/claude-code) を通じて任意の開発コンテナにインストールされます。39Claude Code は、[Claude Code Dev Container Feature](https://github.com/anthropics/devcontainer-features/tree/main/src/claude-code) を通じて任意の開発コンテナにインストールされます。

38 40 


88 ブラウザサインインが完了しても、コールバックがコンテナに到達しない場合は、ブラウザに表示されているコードをコピーして、ターミナルの `Paste code here if prompted` プロンプトに貼り付けます。これは、エディタのポート転送が localhost コールバックをルーティングしない場合に発生する可能性があります。90 ブラウザサインインが完了しても、コールバックがコンテナに到達しない場合は、ブラウザに表示されているコードをコピーして、ターミナルの `Paste code here if prompted` プロンプトに貼り付けます。これは、エディタのポート転送が localhost コールバックをルーティングしない場合に発生する可能性があります。

89</Note>91</Note>

90 92 

91## 再構築時に認証と設定を保持する93<h2 id="persist-authentication-and-settings-across-rebuilds">

94 再構築時に認証と設定を保持する

95</h2>

92 96 

93デフォルトでは、コンテナのホームディレクトリは再構築時に破棄されるため、エンジニアは毎回サインインし直す必要があります。Claude Code は認証トークン、ユーザー設定、セッション履歴を [`~/.claude`](/ja/claude-directory) に保存します。そのパスに名前付きボリュームをマウントして、再構築時にこの状態を保持します。97デフォルトでは、コンテナのホームディレクトリは再構築時に破棄されるため、エンジニアは毎回サインインし直す必要があります。Claude Code は認証トークン、ユーザー設定、セッション履歴を [`~/.claude`](/ja/claude-directory) に保存します。そのパスに名前付きボリュームをマウントして、再構築時にこの状態を保持します。

94 98 


106 110 

107GitHub Codespaces では、`~/.claude` は codespace の停止と開始の間で保持されますが、コンテナを再構築するときはまだクリアされるため、上記のボリュームマウントがそこにも適用されます。codespace 間で認証を実行するには、[Codespaces シークレット](https://docs.github.com/en/codespaces/managing-your-codespaces/managing-your-account-specific-secrets-for-github-codespaces)として `ANTHROPIC_API_KEY` または [`claude setup-token`](/ja/authentication#generate-a-long-lived-token) からの `CLAUDE_CODE_OAUTH_TOKEN` を保存します。Codespaces はシークレットを自動的にコンテナ内の環境変数として利用可能にします。111GitHub Codespaces では、`~/.claude` は codespace の停止と開始の間で保持されますが、コンテナを再構築するときはまだクリアされるため、上記のボリュームマウントがそこにも適用されます。codespace 間で認証を実行するには、[Codespaces シークレット](https://docs.github.com/en/codespaces/managing-your-codespaces/managing-your-account-specific-secrets-for-github-codespaces)として `ANTHROPIC_API_KEY` または [`claude setup-token`](/ja/authentication#generate-a-long-lived-token) からの `CLAUDE_CODE_OAUTH_TOKEN` を保存します。Codespaces はシークレットを自動的にコンテナ内の環境変数として利用可能にします。

108 112 

109## 組織ポリシーを適用する113<h2 id="enforce-organization-policy">

114 組織ポリシーを適用する

115</h2>

110 116 

111開発コンテナは、同じイメージと設定がすべてのエンジニアのマシンで実行されるため、組織ポリシーを適用するのに便利な場所です。117開発コンテナは、同じイメージと設定がすべてのエンジニアのマシンで実行されるため、組織ポリシーを適用するのに便利な場所です。

112 118 


134 140 

135[MCP サーバー](/ja/mcp)をコンテナ内で利用可能にするには、リポジトリルートの `.mcp.json` ファイルで[プロジェクトスコープ](/ja/mcp#mcp-installation-scopes)で定義して、開発コンテナ設定と一緒にチェックインします。ローカル stdio サーバーが依存するバイナリを Dockerfile にインストールし、リモートサーバードメインをネットワークアローリストに追加します。141[MCP サーバー](/ja/mcp)をコンテナ内で利用可能にするには、リポジトリルートの `.mcp.json` ファイルで[プロジェクトスコープ](/ja/mcp#mcp-installation-scopes)で定義して、開発コンテナ設定と一緒にチェックインします。ローカル stdio サーバーが依存するバイナリを Dockerfile にインストールし、リモートサーバードメインをネットワークアローリストに追加します。

136 142 

137## ネットワークエグレスを制限する143<h2 id="restrict-network-egress">

144 ネットワークエグレスを制限する

145</h2>

138 146 

139コンテナのアウトバウンドトラフィックを Claude Code が必要とするドメインのみに制限できます。推論と認証ドメインについては[ネットワークアクセス要件](/ja/network-config#network-access-requirements)を参照し、オプションのテレメトリとエラーレポート接続およびそれらを無効にする方法については[テレメトリサービス](/ja/data-usage#telemetry-services)を参照してください。147コンテナのアウトバウンドトラフィックを Claude Code が必要とするドメインのみに制限できます。推論と認証ドメインについては[ネットワークアクセス要件](/ja/network-config#network-access-requirements)を参照し、オプションのテレメトリとエラーレポート接続およびそれらを無効にする方法については[テレメトリサービス](/ja/data-usage#telemetry-services)を参照してください。

140 148 

141リファレンスコンテナには、Claude Code と開発ツールが必要とするドメイン以外のすべてのアウトバウンドトラフィックをブロックする [`init-firewall.sh`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/init-firewall.sh) スクリプトが含まれています。コンテナ内でファイアウォールを実行するには追加の権限が必要なため、リファレンスは `runArgs` を通じて `NET_ADMIN` と `NET_RAW` 機能を追加します。ファイアウォールスクリプトとこれらの機能は Claude Code 自体には必須ではありません。これらを除外して、代わりに独自のネットワークコントロールに依存することができます。149リファレンスコンテナには、Claude Code と開発ツールが必要とするドメイン以外のすべてのアウトバウンドトラフィックをブロックする [`init-firewall.sh`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/init-firewall.sh) スクリプトが含まれています。コンテナ内でファイアウォールを実行するには追加の権限が必要なため、リファレンスは `runArgs` を通じて `NET_ADMIN` と `NET_RAW` 機能を追加します。ファイアウォールスクリプトとこれらの機能は Claude Code 自体には必須ではありません。これらを除外して、代わりに独自のネットワークコントロールに依存することができます。

142 150 

143## 権限プロンプトなしで実行する151<h2 id="run-without-permission-prompts">

152 権限プロンプトなしで実行する

153</h2>

144 154 

145コンテナは Claude Code を非ルートユーザーとして実行し、コマンド実行をコンテナに限定するため、無人操作のために `--dangerously-skip-permissions` を渡すことができます。CLI はルートとして起動された場合、このフラグを拒否するため、`remoteUser` が非ルートアカウントに設定されていることを確認します。155コンテナは Claude Code を非ルートユーザーとして実行し、コマンド実行をコンテナに限定するため、無人操作のために `--dangerously-skip-permissions` を渡すことができます。CLI はルートとして起動された場合、このフラグを拒否するため、`remoteUser` が非ルートアカウントに設定されていることを確認します。

146 156 


148 158 

149安全チェックを無効にせずにプロンプトを減らしたい場合は、代わりに[自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)を検討してください。これは、実行前にアクションを確認するための分類器を備えています。エンジニアが `--dangerously-skip-permissions` をまったく使用できないようにするには、[管理設定](/ja/settings#permission-settings)で `permissions.disableBypassPermissionsMode` を `"disable"` に設定します。159安全チェックを無効にせずにプロンプトを減らしたい場合は、代わりに[自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)を検討してください。これは、実行前にアクションを確認するための分類器を備えています。エンジニアが `--dangerously-skip-permissions` をまったく使用できないようにするには、[管理設定](/ja/settings#permission-settings)で `permissions.disableBypassPermissionsMode` を `"disable"` に設定します。

150 160 

151## リファレンスコンテナを試す161<h2 id="try-the-reference-container">

162 リファレンスコンテナを試す

163</h2>

152 164 

153[`anthropics/claude-code`](https://github.com/anthropics/claude-code/tree/main/.devcontainer) リポジトリには、CLI、エグレスファイアウォール、永続ボリューム、Zsh ベースのシェルを組み合わせた開発コンテナの例が含まれています。これは、保守されたベースイメージではなく、動作する例として提供されています。独自の設定に適用する前に、ピースがどのように組み合わさるかを確認するために使用してください。165[`anthropics/claude-code`](https://github.com/anthropics/claude-code/tree/main/.devcontainer) リポジトリには、CLI、エグレスファイアウォール、永続ボリューム、Zsh ベースのシェルを組み合わせた開発コンテナの例が含まれています。これは、保守されたベースイメージではなく、動作する例として提供されています。独自の設定に適用する前に、ピースがどのように組み合わさるかを確認するために使用してください。

154 166 


180| [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/Dockerfile) | ベースイメージ、開発ツール、Claude Code インストール |192| [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/Dockerfile) | ベースイメージ、開発ツール、Claude Code インストール |

181| [`init-firewall.sh`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/init-firewall.sh) | 許可されたドメイン以外のすべてのアウトバウンドネットワークトラフィックをブロック |193| [`init-firewall.sh`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/init-firewall.sh) | 許可されたドメイン以外のすべてのアウトバウンドネットワークトラフィックをブロック |

182 194 

183## 次のステップ195<h2 id="next-steps">

196 次のステップ

197</h2>

184 198 

185Claude Code が開発コンテナで実行されたら、以下のページは組織ロールアウトの残りの部分をカバーしています。認証パスの選択、リポジトリ外での管理ポリシーの配信、使用状況の監視、Claude Code が保存および送信するものの理解です。199Claude Code が開発コンテナで実行されたら、以下のページは組織ロールアウトの残りの部分をカバーしています。認証パスの選択、リポジトリ外での管理ポリシーの配信、使用状況の監視、Claude Code が保存および送信するものの理解です。

186 200 


190* [ネットワークアクセス要件](/ja/network-config#network-access-requirements):プロキシとファイアウォール用の完全なドメインアローリスト204* [ネットワークアクセス要件](/ja/network-config#network-access-requirements):プロキシとファイアウォール用の完全なドメインアローリスト

191* [テレメトリサービスとオプトアウト](/ja/data-usage#telemetry-services):Claude Code がデフォルトで送信するもの、およびそれを無効にする環境変数205* [テレメトリサービスとオプトアウト](/ja/data-usage#telemetry-services):Claude Code がデフォルトで送信するもの、およびそれを無効にする環境変数

192* [`.claude` ディレクトリを探索する](/ja/claude-directory):ボリュームマウントが保持するもの(認証情報、設定、セッション履歴を含む)206* [`.claude` ディレクトリを探索する](/ja/claude-directory):ボリュームマウントが保持するもの(認証情報、設定、セッション履歴を含む)

207* [サンドボックス環境](/ja/sandbox-environments):開発コンテナと組み込み Bash サンドボックス、カスタムコンテナ、VM を比較します

193* [セキュリティモデル](/ja/security):Claude Code の権限システム、サンドボックス、プロンプトインジェクション保護がどのように組み合わさるか208* [セキュリティモデル](/ja/security):Claude Code の権限システム、サンドボックス、プロンプトインジェクション保護がどのように組み合わさるか

194* [権限モード](/ja/permission-modes):プランモードから自動モードからバイパスまでの完全な範囲、および各モードを使用する場合209* [権限モード](/ja/permission-modes):プランモードから自動モードからバイパスまでの完全な範囲、および各モードを使用する場合

Details

12 12 

13## マーケットプレイスの仕組み13## マーケットプレイスの仕組み

14 14 

15マーケットプレイスは、他の誰かが作成して共有したプラグインのカタログです。マーケットプレイスを使用するのは 2 段階のプロセスです15マーケットプレイスは、他の誰かが作成して共有したプラグインのカタログです。マーケットプレイスを使用するのは 2 段階のプロセスです

16 16 

17<Steps>17<Steps>

18 <Step title="マーケットプレイスを追加する">18 <Step title="マーケットプレイスを追加する">


39Claude Code がプラグインがどのマーケットプレイスにも見つからないと報告する場合、マーケットプレイスが見つからないか古い可能性があります。`/plugin marketplace update claude-plugins-official` を実行して更新するか、まだ追加していない場合は `/plugin marketplace add anthropics/claude-plugins-official` を実行してください。その後、インストールを再試行してください。39Claude Code がプラグインがどのマーケットプレイスにも見つからないと報告する場合、マーケットプレイスが見つからないか古い可能性があります。`/plugin marketplace update claude-plugins-official` を実行して更新するか、まだ追加していない場合は `/plugin marketplace add anthropics/claude-plugins-official` を実行してください。その後、インストールを再試行してください。

40 40 

41<Note>41<Note>

42 公式マーケットプレイスは Anthropic によって管理されています公式マーケットプレイスにプラグインを送信するにはアプリ内送信フォームのいずれかを使用してください42 公式マーケットプレイスは Anthropic によって管理されており、掲載は Anthropic の裁量ですアプリ内送信フォームはプラグインを[コミュニティマーケットプレイス](#community-marketplace)に追加します。公式マーケットプレイスには追加されません。プラグインを独立して配布するには[独自のマーケットプレイスを作成](/ja/plugin-marketplaces)してユーザーと共有してください

43 

44 * **Claude.ai**: [claude.ai/settings/plugins/submit](https://claude.ai/settings/plugins/submit)

45 * **Console**: [platform.claude.com/plugins/submit](https://platform.claude.com/plugins/submit)

46 

47 プラグインを独立して配布するには、[独自のマーケットプレイスを作成](/ja/plugin-marketplaces)してユーザーと共有してください。

48</Note>43</Note>

49 44 

50公式マーケットプレイスには、プラグインのいくつかのカテゴリが含まれています45公式マーケットプレイスには、プラグインのいくつかのカテゴリが含まれています

51 46 

52### コード インテリジェンス47### コード インテリジェンス

53 48 


77 72 

78#### コード インテリジェンス プラグインから Claude が得られるもの73#### コード インテリジェンス プラグインから Claude が得られるもの

79 74 

80コード インテリジェンス プラグインがインストールされ、その言語サーバーバイナリが利用可能になると、Claude は 2 つの機能を得られます75コード インテリジェンス プラグインがインストールされ、その言語サーバーバイナリが利用可能になると、Claude は 2 つの機能を得られます

81 76 

82* **自動診断**: Claude が行うすべてのファイル編集後、言語サーバーは変更を分析し、エラーと警告を自動的に報告します。Claude はコンパイラやリンターを実行することなく、型エラー、不足しているインポート、構文の問題を確認します。Claude がエラーを導入した場合、それに気付いて同じターンで問題を修正します。これはプラグインをインストール以外の設定は必要ありません。「diagnostics found」インジケーターが表示されたときに **Ctrl+O** を押すと、診断をインラインで確認できます。77* **自動診断**: Claude が行うすべてのファイル編集後、言語サーバーは変更を分析し、エラーと警告を自動的に報告します。Claude はコンパイラやリンターを実行することなく、型エラー、不足しているインポート、構文の問題を確認します。Claude がエラーを導入した場合、それに気付いて同じターンで問題を修正します。これはプラグインをインストール以外の設定は必要ありません。「diagnostics found」インジケーターが表示されたときに **Ctrl+O** を押すと、診断をインラインで確認できます。

83* **コード ナビゲーション**: Claude は言語サーバーを使用して定義にジャンプしたり、参照を見つけたり、ホバーで型情報を取得したり、シンボルをリストしたり、実装を見つけたり、呼び出し階層をトレースしたりできます。これらの操作により、Claude は grep ベースの検索よりも正確なナビゲーションが可能になりますが、言語と環境によって可用性が異なる場合があります。78* **コード ナビゲーション**: Claude は言語サーバーを使用して定義にジャンプしたり、参照を見つけたり、ホバーで型情報を取得したり、シンボルをリストしたり、実装を見つけたり、呼び出し階層をトレースしたりできます。これらの操作により、Claude は grep ベースの検索よりも正確なナビゲーションが可能になりますが、言語と環境によって可用性が異なる場合があります。


86 81 

87### 外部統合82### 外部統合

88 83 

89これらのプラグインは事前構成された [MCP サーバー](/ja/mcp)をバンドルしているため、手動セットアップなしで Claude を外部サービスに接続できます84これらのプラグインは事前構成された [MCP サーバー](/ja/mcp)をバンドルしているため、手動セットアップなしで Claude を外部サービスに接続できます

90 85 

91* **ソース管理**: `github`、`gitlab`86* **ソース管理**: `github`、`gitlab`

92* **プロジェクト管理**: `atlassian`(Jira/Confluence)、`asana`、`linear`、`notion`87* **プロジェクト管理**: `atlassian`(Jira/Confluence)、`asana`、`linear`、`notion`


95* **コミュニケーション**: `slack`90* **コミュニケーション**: `slack`

96* **監視**: `sentry`91* **監視**: `sentry`

97 92 

93### 自動セキュリティレビュー

94 

95`security-guidance` プラグインは Claude が行う各変更を一般的な脆弱性についてレビューし、Claude に見つかったものを修正するよう指示します。[Claude がコードを書く際にセキュリティの問題をキャッチする](/ja/security-guidance)を参照して、何をチェックするか、プロジェクト固有のルールを追加する方法を確認してください。

96 

98### 開発ワークフロー97### 開発ワークフロー

99 98 

100一般的な開発タスク用のスキルとエージェントを追加するプラグイン:99一般的な開発タスク用のスキルとエージェントを追加するプラグイン:


111* **explanatory-output-style**: 実装の選択に関する教育的な洞察110* **explanatory-output-style**: 実装の選択に関する教育的な洞察

112* **learning-output-style**: スキル構築のためのインタラクティブな学習モード111* **learning-output-style**: スキル構築のためのインタラクティブな学習モード

113 112 

113## コミュニティ マーケットプレイス

114 

115[`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community)のコミュニティ マーケットプレイスは、Anthropic の自動検証とセキュリティ スクリーニングに合格したサードパーティ プラグインをホストしています。各プラグインはカタログ内の特定のコミット SHA に固定されています。公式マーケットプレイスとは異なり、手動で追加します:

116 

117```shell theme={null}

118/plugin marketplace add anthropics/claude-plugins-community

119```

120 

121その後、`claude-community` マーケットプレイス名を使用してプラグインをインストールします:

122 

123```shell theme={null}

124/plugin install <plugin-name>@claude-community

125```

126 

127独自のプラグインをコミュニティ マーケットプレイスに送信するには、プラグイン作成ガイドの[プラグインをコミュニティ マーケットプレイスに送信する](/ja/plugins#submit-your-plugin-to-the-community-marketplace)を参照してください。

128 

114## 試してみる: デモマーケットプレイスを追加する129## 試してみる: デモマーケットプレイスを追加する

115 130 

116Anthropic は、プラグインシステムで何が可能かを示す例プラグインを含む [デモプラグインマーケットプレイス](https://github.com/anthropics/claude-code/tree/main/plugins)(`claude-code-plugins`)も管理しています。公式マーケットプレイスとは異なり、このマーケットプレイスは手動で追加する必要があります。131Anthropic は、プラグインシステムで何が可能かを示す例プラグインを含む [デモプラグインマーケットプレイス](https://github.com/anthropics/claude-code/tree/main/plugins)(`claude-code-plugins`)も管理しています。公式マーケットプレイスとは異なり、このマーケットプレイスは手動で追加する必要があります。


123 /plugin marketplace add anthropics/claude-code138 /plugin marketplace add anthropics/claude-code

124 ```139 ```

125 140 

126 これにより、マーケットプレイス カタログがダウンロードされ、そのプラグインが利用可能になります。141 これにより、マーケットプレイスカタログがダウンロードされ、そのプラグインが利用可能になります。

127 </Step>142 </Step>

128 143 

129 <Step title="利用可能なプラグインを参照する">144 <Step title="利用可能なプラグインを参照する">

130 `/plugin` を実行してプラグイン マネージャーを開きます。これにより、**Tab**(または後方に移動するには **Shift+Tab**)を使用して循環できる 4 つのタブを持つタブ付きインターフェースが開きます:145 `/plugin` を実行してプラグインマネージャーを開きます。これにより、**Tab**(または後方に移動するには **Shift+Tab**)を使用して循環できる 4 つのタブを持つタブ付きインターフェースが開きます:

131 146 

132 * **Discover**: すべてのマーケットプレイスから利用可能なプラグインを参照147 * **Discover**: すべてのマーケットプレイスから利用可能なプラグインを参照

133 * **Installed**: インストール済みプラグインを表示および管理148 * **Installed**: インストール済みプラグインを表示および管理

134 * **Marketplaces**: 追加したマーケットプレイスを追加、削除、または更新149 * **Marketplaces**: 追加したマーケットプレイスを追加、削除、または更新

135 * **Errors**: プラグイン読み込みエラーを表示150 * **Errors**: プラグイン読み込みエラーを表示

136 151 

137 **Discover** タブに移動して、追加したばかりのマーケットプレイスからプラグインを確認してください。152 **Discover** タブに移動して、追加したばかりのマーケットプレイスからプラグインを確認してください。{/* min-version: 2.1.154 */}現在の作業ディレクトリに関連するとマークされたプラグインは、**suggested for this directory** ラベル付きで上部に固定されます。

138 </Step>153 </Step>

139 154 

140 <Step title="プラグインをインストールする">155 <Step title="プラグインをインストールする">

141 プラグインを選択してその詳細を表示します。{/* min-version: 2.1.143 */}Claude Code v2.1.143 以降では、詳細ペインに **Context cost** の推定値が含まれておりインストール前にプラグインが毎ターン [コンテキストウィンドウ](/ja/features-overview#understand-context-costs) に追加するトークン数を確認できます。156 プラグインを選択してその詳細を表示します。詳細ペインにはプラグインに含まれるものおよびそのコストが表示されます:

142 157 

143 インストール スコープを選択します:158 * {/* min-version: 2.1.143 */}**Context cost** の推定値。毎ターン [コンテキストウィンドウ](/ja/features-overview#understand-context-costs) にプラグインが追加するトークン数を確認できます(Claude Code v2.1.143 以降)

159 * {/* min-version: 2.1.144 */}プラグインの **Last updated** 日付(v2.1.144 以降)

160 * {/* min-version: 2.1.145 */}プラグインのコマンド、エージェント、スキル、フック、MCP および LSP サーバーをリストアップする **Will install** セクション。インストール前に正確に何が追加されるかを確認できます(v2.1.145 以降)

161 

162 インストールスコープを選択します:

144 163 

145 * **User scope**: すべてのプロジェクト全体で自分用にインストール164 * **User scope**: すべてのプロジェクト全体で自分用にインストール

146 * **Project scope**: このリポジトリのすべてのコラボレーター用にインストール165 * **Project scope**: このリポジトリのすべてのコラボレーター用にインストール

147 * **Local scope**: このリポジトリ内で自分用にのみインストール166 * **Local scope**: このリポジトリ内で自分用にのみインストール

148 167 

149 たとえば、**commit-commands**(git ワークフロー スキルを追加するプラグイン)を選択して、ユーザー スコープにインストールします168 たとえば、**commit-commands**(git ワークフロースキルを追加するプラグイン)を選択して、ユーザースコープにインストールします

150 169 

151 コマンドラインから直接インストールすることもできます:170 コマンドラインから直接インストールすることもできます:

152 171 

153 ```shell theme={null}172 ```shell theme={null}

154 /plugin install commit-commands@anthropics-claude-code173 /plugin install commit-commands@claude-code-plugins

155 ```174 ```

156 175 

157 スコープの詳細については、[構成スコープ](/ja/settings#configuration-scopes)を参照してください。176 スコープの詳細については、[構成スコープ](/ja/settings#configuration-scopes)を参照してください。

158 </Step>177 </Step>

159 178 

160 <Step title="新しいプラグインを使用する">179 <Step title="新しいプラグインを使用する">

161 インストール後、`/reload-plugins` を実行してプラグインをアクティブ化します。プラグイン スキルはプラグイン名でネームスペース化されているため、**commit-commands** は `/commit-commands:commit` のようなスキルを提供します。180 インストール後、`/reload-plugins` を実行してプラグインをアクティブ化します。プラグインスキルはプラグイン名でネームスペース化されているため、**commit-commands** は `/commit-commands:commit` のようなスキルを提供します。

162 181 

163 ファイルに変更を加えて、以下を実行して試してみてください:182 ファイルに変更を加えて、以下を実行して試してみてください:

164 183 


166 /commit-commands:commit185 /commit-commands:commit

167 ```186 ```

168 187 

169 これにより、変更がステージされ、コミット メッセージが生成され、コミットが作成されます。188 これにより、変更がステージされ、コミットメッセージが生成され、コミットが作成されます。

170 189 

171 各プラグインは異なる方法で機能します。**Discover** タブのプラグインの説明またはそのホームページをチェックして提供されるスキルと機能を確認してください190 各プラグインは異なる方法で機能します。**Discover** タブのプラグインの詳細を確認して提供されるコマンドとスキルを確認するか、使用方法のガイダンスについてそのホームページにアクセスしてください

172 </Step>191 </Step>

173</Steps>192</Steps>

174 193 


314 333 

315Claude Code はすべてのアクティブなプラグインをリロードし、プラグイン、スキル、エージェント、フック、プラグイン MCP サーバー、プラグイン LSP サーバーのカウントを表示します。334Claude Code はすべてのアクティブなプラグインをリロードし、プラグイン、スキル、エージェント、フック、プラグイン MCP サーバー、プラグイン LSP サーバーのカウントを表示します。

316 335 

336リロードには次のリクエストでトークンコストがあります。新しくロードされたコンポーネントは会話に追加されたコンテンツで自身を発表し、既存の履歴はプロンプトキャッシュから読み込まれたままです。MCP サーバーを提供するプラグインは、そのツールが [tool search](/ja/mcp#scale-with-mcp-tool-search) によって遅延されていない場合、より多くのコストがかかります。変更はキャッシュを無効にし、次のリクエストは会話全体を再度読み込みます。詳細については、[プラグインの有効化または無効化](/ja/prompt-caching#enabling-or-disabling-a-plugin) を参照してください。

337 

317## マーケットプレイスを管理する338## マーケットプレイスを管理する

318 339 

319インタラクティブな `/plugin` インターフェースまたは CLI コマンドを使用してマーケットプレイスを管理できます。340インタラクティブな `/plugin` インターフェースまたは CLI コマンドを使用してマーケットプレイスを管理できます。

env-vars.md +117 −20

Details

4 4 

5# 環境変数5# 環境変数

6 6 

7> Claude Code の動作を制御する環境変数の完全なリファレンス7> Claude Code の動作を制御する環境変数のリファレンス

8 8 

9Claude Code は、その動作を制御するために以下の環境変数をサポートしています`claude` を起動する前にシェルで設定するか、[`settings.json`](/ja/settings#available-settings) `env` キーで設定して、すべてのセッションに適用するか、チーム全体にロールアウトしてください9環境変数は、モデル選択、認証、リクエストルーティング、機能トグルなど、Claude Code の動作を制御できます同じ動作の多くは、[設定ファイル](/ja/settings) フィールド、[CLI フラグ](/ja/cli-reference)、または `/model` などのセッション内コマンドを通じても設定できます

10 

11このページでは、以下の方法について説明します:

12 

13* シェルまたは設定ファイルで[環境変数を設定](#set-environment-variables)する方法

14* 動作を複数の方法で設定できる場合に[どの値が適用されるかを確認](#precedence)する方法

15* [Claude Code が読み取る変数を検索](#variables)する方法

16 

17<h2 id="set-environment-variables">

18 環境変数を設定する

19</h2>

20 

21シェルで設定した変数はそのターミナルセッション中に有効ですが、設定ファイルの変数は `claude` が実行されるたびに適用されます。

22 

23<h3 id="in-your-shell">

24 シェルで設定する

25</h3>

26 

27`claude` を起動する前に変数を設定します:

28 

29<Tabs>

30 <Tab title="macOS, Linux, WSL">

31 ```bash theme={null}

32 export API_TIMEOUT_MS="1200000"

33 claude

34 ```

35 

36 すべてのセッションで設定するには、`export` 行を `~/.bashrc`、`~/.zshrc`、またはシェルのプロファイルファイルに追加します。

37 </Tab>

38 

39 <Tab title="Windows PowerShell">

40 ```powershell theme={null}

41 $env:API_TIMEOUT_MS = "1200000"

42 claude

43 ```

44 

45 すべてのセッションで設定するには、`[Environment]::SetEnvironmentVariable("API_TIMEOUT_MS", "1200000", "User")` を実行して、新しいターミナルを開きます。

46 </Tab>

47 

48 <Tab title="Windows CMD">

49 ```batch theme={null}

50 set API_TIMEOUT_MS=1200000

51 claude

52 ```

53 

54 すべてのセッションで設定するには、`setx API_TIMEOUT_MS "1200000"` を実行して、新しいターミナルを開きます。

55 </Tab>

56</Tabs>

57 

58<h3 id="in-settings-files">

59 設定ファイルで設定する

60</h3>

61 

62`settings.json` ファイルの `env` キーの下に変数を追加します。Claude Code はスタートアップ時にファイルから直接読み込むため、`claude` がどのように起動されたかに関係なく有効になります。

63 

64```json ~/.claude/settings.json theme={null}

65{

66 "env": {

67 "API_TIMEOUT_MS": "1200000",

68 "BASH_DEFAULT_TIMEOUT_MS": "300000"

69 }

70}

71```

72 

73選択したファイルは、変数が適用される対象を制御します:

74 

75| ファイル | 適用対象 |

76| :---------------------------- | :------------------------------ |

77| `~/.claude/settings.json` | すべてのプロジェクトで、あなた |

78| `.claude/settings.json` | プロジェクトで作業しているすべての人。ソース管理にチェックイン |

79| `.claude/settings.local.json` | このプロジェクトでのみ、あなた。チェックインされない |

80| 管理設定 | 組織内のすべての人。管理者によってデプロイ |

81 

82各ファイルの場所については [設定ファイル](/ja/settings#settings-files) を、複数のファイルが同じ変数を設定する場合の組み合わせ方については [設定の優先順位](/ja/settings#settings-precedence) を参照してください。

83 

84<h2 id="precedence">

85 優先順位

86</h2>

87 

88同じ動作に環境変数と設定フィールドの両方がある場合、環境変数が優先されます。たとえば、`ANTHROPIC_MODEL` は `model` 設定をオーバーライドし、`CLAUDE_CODE_AUTO_CONNECT_IDE` は `autoConnectIde` をオーバーライドします。環境変数が設定されていない場合、設定フィールドが適用されます。

89 

90環境変数が CLI フラグおよびセッション内コマンドとどのように相互作用するかは機能によって異なります:`--model` と `/model` は `ANTHROPIC_MODEL` をオーバーライドしますが、`CLAUDE_CODE_EFFORT_LEVEL` は `/effort` をオーバーライドします。変数が別の設定ソースと相互作用する場合、[変数](#variables) リストの行は優先順位を示すか、それを文書化するページにリンクします。

91 

92Claude Code は起動時に環境変数を読み取るため、変更は `claude` を次に起動するときに有効になります。

93 

94<h2 id="variables">

95 変数

96</h2>

10 97 

11| 変数 | 目的 |98| 変数 | 目的 |

12| :------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |99| :------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


52| `BASH_MAX_OUTPUT_LENGTH` | bash 出力が完全な出力がファイルに保存され、Claude がパスと短いプレビューを受け取る前の最大文字数。[Bash ツール動作](/ja/tools-reference#bash-tool-behavior) を参照してください |139| `BASH_MAX_OUTPUT_LENGTH` | bash 出力が完全な出力がファイルに保存され、Claude がパスと短いプレビューを受け取る前の最大文字数。[Bash ツール動作](/ja/tools-reference#bash-tool-behavior) を参照してください |

53| `BASH_MAX_TIMEOUT_MS` | 長時間実行される bash コマンドに対してモデルが設定できる最大タイムアウト(デフォルト:600000、または 10 分) |140| `BASH_MAX_TIMEOUT_MS` | 長時間実行される bash コマンドに対してモデルが設定できる最大タイムアウト(デフォルト:600000、または 10 分) |

54| `CCR_FORCE_BUNDLE` | GitHub アクセスが利用可能な場合でも、[`claude --remote`](/ja/claude-code-on-the-web#send-local-repositories-without-github) がローカルリポジトリをバンドルしてアップロードするよう強制するには `1` に設定します |141| `CCR_FORCE_BUNDLE` | GitHub アクセスが利用可能な場合でも、[`claude --remote`](/ja/claude-code-on-the-web#send-local-repositories-without-github) がローカルリポジトリをバンドルしてアップロードするよう強制するには `1` に設定します |

55| `CLAUDECODE` | Claude Code がスポーンするシェル環境(Bash ツール、tmux セッション)で `1` に設定されます。[フック](/ja/hooks) または [ステータスライン](/ja/statusline) コマンドでは設定されません。スクリプトが Claude Code によってスポーンされたシェル内で実行されているかどうかを検出するために使用します |142| `CLAUDECODE` | Claude Code がスポーンするサブプロセス(Bash と PowerShell ツール、tmux セッション[フック](/ja/hooks) コマンド、[ステータスライン](/ja/statusline) コマンド、stdio [MCP サーバー](/ja/mcp) サブプロセス)で `1` に設定されます。スクリプトが Claude Code によってスポーンされたサブプロセス内で実行されているかどうかを検出するために使用します |

56| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | すべての組み込み [subagent](/ja/sub-agents) タイプ(Explore や Plan など)を無効にするには `1` に設定します。非対話モード(`-p` フラグ)でのみ適用されます。SDK ユーザーが白紙の状態を望む場合に役立ちます |143| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | すべての組み込み [subagent](/ja/sub-agents) タイプ(Explore や Plan など)を無効にするには `1` に設定します。非対話モード(`-p` フラグ)でのみ適用されます。SDK ユーザーが白紙の状態を望む場合に役立ちます |

57| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | SDK で作成された MCP サーバーからのツール名の `mcp__<server>__` プレフィックスをスキップするには `1` に設定します。ツールは元の名前を使用します。SDK 使用のみ |144| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | SDK で作成された MCP サーバーからのツール名の `mcp__<server>__` プレフィックスをスキップするには `1` に設定します。ツールは元の名前を使用します。SDK 使用のみ |

58| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | バックグラウンド subagent のスタルタイムアウト(ミリ秒)。デフォルト `600000`(10 分)。タイマーは各ストリーミング進捗イベントでリセットされます。ウィンドウ内に進捗が到着しない場合、subagent は中止され、タスクは失敗とマークされ、部分的な結果が親に表示されます |145| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | バックグラウンド subagent のスタルタイムアウト(ミリ秒)。デフォルト `600000`(10 分)。タイマーは各ストリーミング進捗イベントでリセットされます。ウィンドウ内に進捗が到着しない場合、subagent は中止され、タスクは失敗とマークされ、部分的な結果が親に表示されます |


61| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | メインセッションの各 Bash または PowerShell コマンドの後に元の作業ディレクトリに戻ります |148| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | メインセッションの各 Bash または PowerShell コマンドの後に元の作業ディレクトリに戻ります |

62| `CLAUDE_CODE_ACCESSIBILITY` | ネイティブターミナルカーソルを表示したままにし、反転テキストカーソルインジケーターを無効にするには `1` に設定します。macOS Zoom などのスクリーンマグニファイアーがカーソル位置を追跡できるようにします |149| `CLAUDE_CODE_ACCESSIBILITY` | ネイティブターミナルカーソルを表示したままにし、反転テキストカーソルインジケーターを無効にするには `1` に設定します。macOS Zoom などのスクリーンマグニファイアーがカーソル位置を追跡できるようにします |

63| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | `--add-dir` で指定されたディレクトリからメモリファイルを読み込むには `1` に設定します。`CLAUDE.md`、`.claude/CLAUDE.md`、`.claude/rules/*.md`、および `CLAUDE.local.md` を読み込みます。デフォルトでは、追加ディレクトリはメモリファイルを読み込みません |150| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | `--add-dir` で指定されたディレクトリからメモリファイルを読み込むには `1` に設定します。`CLAUDE.md`、`.claude/CLAUDE.md`、`.claude/rules/*.md`、および `CLAUDE.local.md` を読み込みます。デフォルトでは、追加ディレクトリはメモリファイルを読み込みません |

151| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | [フルスクリーンレンダリング](/ja/fullscreen) で増分更新を送信する代わりに、すべてのフレームで画面全体を再描画するには `1` に設定します。フルスクリーンモードで古いテキストまたは配置が間違ったテキストフラグメントが表示される場合に使用します。Claude Code は Windows のバックグラウンドセッションと [エージェントビュー](/ja/agent-view) でこれを自動的に有効にします |

64| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | 認証情報をリフレッシュする間隔(ミリ秒)([`apiKeyHelper`](/ja/settings#available-settings) を使用する場合) |152| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | 認証情報をリフレッシュする間隔(ミリ秒)([`apiKeyHelper`](/ja/settings#available-settings) を使用する場合) |

65| `CLAUDE_CODE_ATTRIBUTION_HEADER` | システムプロンプトの開始から属性ブロック(クライアントバージョンとプロンプトフィンガープリント)を省略するには `0` に設定します。これを無効にすると、[LLM ゲートウェイ](/ja/llm-gateway) を通じてルーティングする場合のプロンプトキャッシュヒット率が向上します。Anthropic API キャッシングは影響を受けません |153| `CLAUDE_CODE_ATTRIBUTION_HEADER` | システムプロンプトの開始から属性ブロック(クライアントバージョンとプロンプトフィンガープリント)を省略するには `0` に設定します。これを無効にすると、[LLM ゲートウェイ](/ja/llm-gateway) を通じてルーティングする場合のプロンプトキャッシュヒット率が向上します。Anthropic API キャッシングは影響を受けません |

66| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | オートコンパクション計算に使用されるコンテキスト容量をトークン単位で設定します。デフォルトはモデルのコンテキストウィンドウです:標準モデルの場合は 200K、[拡張コンテキスト](/ja/model-config#extended-context) モデルの場合は 1M。1M モデルで `500000` などの低い値を使用して、コンパクション目的でウィンドウを 500K として扱います。値はモデルの実際のコンテキストウィンドウでキャップされます。`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` はこの値のパーセンテージとして適用されます。この変数を設定すると、コンパクション閾値がステータスラインの `used_percentage` から分離されます。これは常にモデルの完全なコンテキストウィンドウを使用します |154| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | オートコンパクション計算に使用されるコンテキスト容量をトークン単位で設定します。デフォルトはモデルのコンテキストウィンドウです:標準モデルの場合は 200K、[拡張コンテキスト](/ja/model-config#extended-context) モデルの場合は 1M。1M モデルで `500000` などの低い値を使用して、コンパクション目的でウィンドウを 500K として扱います。値はモデルの実際のコンテキストウィンドウでキャップされます。`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` はこの値のパーセンテージとして適用されます。この変数を設定すると、コンパクション閾値がステータスラインの `used_percentage` から分離されます。これは常にモデルの完全なコンテキストウィンドウを使用します |


72| `CLAUDE_CODE_DEBUG_LOGS_DIR` | デバッグログファイルパスをオーバーライドします。名前に反して、これはディレクトリではなくファイルパスです。デバッグモードを `--debug`、`/debug`、または `DEBUG` 環境変数で別途有効にする必要があります。この変数を設定するだけではログが有効になりません。[`--debug-file`](/ja/cli-reference#cli-flags) フラグは両方を一度に行います。デフォルトは `~/.claude/debug/<session-id>.txt` です |160| `CLAUDE_CODE_DEBUG_LOGS_DIR` | デバッグログファイルパスをオーバーライドします。名前に反して、これはディレクトリではなくファイルパスです。デバッグモードを `--debug`、`/debug`、または `DEBUG` 環境変数で別途有効にする必要があります。この変数を設定するだけではログが有効になりません。[`--debug-file`](/ja/cli-reference#cli-flags) フラグは両方を一度に行います。デフォルトは `~/.claude/debug/<session-id>.txt` です |

73| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | デバッグログファイルに書き込まれる最小ログレベル。値:`verbose`、`debug`(デフォルト)、`info`、`warn`、`error`。フルステータスラインコマンド出力などの大量の診断を含めるには `verbose` に設定するか、ノイズを減らすには `error` に上げます |161| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | デバッグログファイルに書き込まれる最小ログレベル。値:`verbose`、`debug`(デフォルト)、`info`、`warn`、`error`。フルステータスラインコマンド出力などの大量の診断を含めるには `verbose` に設定するか、ノイズを減らすには `error` に上げます |

74| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | [1M コンテキストウィンドウ](/ja/model-config#extended-context) サポートを無効にするには `1` に設定します。設定すると、1M モデルバリアントはモデルピッカーで利用できなくなります。コンプライアンス要件のあるエンタープライズ環境に役立ちます |162| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | [1M コンテキストウィンドウ](/ja/model-config#extended-context) サポートを無効にするには `1` に設定します。設定すると、1M モデルバリアントはモデルピッカーで利用できなくなります。コンプライアンス要件のあるエンタープライズ環境に役立ちます |

75| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Opus 4.6 と Sonnet 4.6 の [適応的推論](/ja/model-config#adjust-effort-level) を無効にするには `1` に設定します。`MAX_THINKING_TOKENS` で制御される固定思考予算にフォールバックします。{/* min-version: 2.1.111 */}Opus 4.7 では効果がなく、常に適応的推論を使用します |163| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Opus 4.6 と Sonnet 4.6 の [適応的推論](/ja/model-config#adjust-effort-level) を無効にするには `1` に設定します。`MAX_THINKING_TOKENS` で制御される固定思考予算にフォールバックします。{/* min-version: 2.1.111 */}v2.1.111 以降、Opus 4.7 以降では効果がなく、常に適応的推論を使用します |

76| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | [バックグラウンドエージェントとエージェントビュー](/ja/agent-view) をオフにするには `1` に設定します:`claude agents`、`--bg`、`/background`、およびオンデマンドスーパーバイザー。[`disableAgentView`](/ja/settings#available-settings) 設定と同等です |164| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | [バックグラウンドエージェントとエージェントビュー](/ja/agent-view) をオフにするには `1` に設定します:`claude agents`、`--bg`、`/background`、およびオンデマンドスーパーバイザー。[`disableAgentView`](/ja/settings#available-settings) 設定と同等です |

77| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | [フルスクリーンレンダリング](/ja/fullscreen) を無効にするには `1` に設定します。クラシックなメインスクリーンレンダラーを使用します。会話はターミナルのネイティブなスクロールバックに留まるため、`Cmd+f` と tmux コピーモードが通常通り機能します。`CLAUDE_CODE_NO_FLICKER` と [`tui`](/ja/settings#available-settings) 設定より優先されます。`/tui default` で切り替えることもできます |165| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | [フルスクリーンレンダリング](/ja/fullscreen) を無効にするには `1` に設定します。クラシックなメインスクリーンレンダラーを使用します。会話はターミナルのネイティブなスクロールバックに留まるため、`Cmd+f` と tmux コピーモードが通常通り機能します。`CLAUDE_CODE_NO_FLICKER` と [`tui`](/ja/settings#available-settings) 設定より優先されます。`/tui default` で切り替えることもできます。バックグラウンドセッションから開かれた [エージェントビュー](/ja/agent-view) には適用されません。これらは常にフルスクリーンレンダリングを使用します |

78| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 添付ファイル処理を無効にするには `1` に設定します。`@` 構文を使用したファイルメンションはファイルコンテンツに展開される代わりにプレーンテキストとして送信されます |166| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 添付ファイル処理を無効にするには `1` に設定します。`@` 構文を使用したファイルメンションはファイルコンテンツに展開される代わりにプレーンテキストとして送信されます |

79| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | [自動メモリ](/ja/memory#auto-memory) を無効にするには `1` に設定します。`--bare` モードまたは [`autoMemoryEnabled: false`](/ja/settings#available-settings) が自動メモリを無効にする場合でも、自動メモリを強制的にオンにするには `0` に設定します。無効にすると、Claude は自動メモリファイルを作成または読み込みません |167| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | [自動メモリ](/ja/memory#auto-memory) を無効にするには `1` に設定します。`--bare` モードまたは [`autoMemoryEnabled: false`](/ja/settings#available-settings) が自動メモリを無効にする場合でも、自動メモリを強制的にオンにするには `0` に設定します。無効にすると、Claude は自動メモリファイルを作成または読み込みません |

80| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Bash と subagent ツールの `run_in_background` パラメータ、自動バックグラウンド化、Ctrl+B ショートカットを含む、すべてのバックグラウンドタスク機能を無効にするには `1` に設定します |168| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Bash と subagent ツールの `run_in_background` パラメータ、自動バックグラウンド化、Ctrl+B ショートカットを含む、すべてのバックグラウンドタスク機能を無効にするには `1` に設定します |


91| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | ストリーミングリクエストがストリーム中に失敗した場合の非ストリーミングフォールバックを無効にするには `1` に設定します。ストリーミングエラーは再試行レイヤーに伝播します。プロキシまたはゲートウェイがフォールバックで重複したツール実行を生成する場合に役立ちます |179| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | ストリーミングリクエストがストリーム中に失敗した場合の非ストリーミングフォールバックを無効にするには `1` に設定します。ストリーミングエラーは再試行レイヤーに伝播します。プロキシまたはゲートウェイがフォールバックで重複したツール実行を生成する場合に役立ちます |

92| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | 初回実行時に公式プラグインマーケットプレイスの自動追加をスキップするには `1` に設定します |180| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | 初回実行時に公式プラグインマーケットプレイスの自動追加をスキップするには `1` に設定します |

93| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | システム全体で管理されているスキルディレクトリからスキルを読み込むことをスキップするには `1` に設定します。コンテナまたは CI セッションがオペレーターがプロビジョニングしたスキルを読み込むべきでない場合に役立ちます |181| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | システム全体で管理されているスキルディレクトリからスキルを読み込むことをスキップするには `1` に設定します。コンテナまたは CI セッションがオペレーターがプロビジョニングしたスキルを読み込むべきでない場合に役立ちます |

94| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | 会話コンテキストに基づいて自動的にターミナルタイトルを更新することを無効にするには `1` に設定します |182| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | 会話コンテキストに基づいて自動的にターミナルタイトルを更新することを無効にするには `1` に設定します。Agent SDK と `claude -p` セッションでは、これはセッションタイトルを生成するバックグラウンド Haiku リクエストもスキップします |

95| `CLAUDE_CODE_DISABLE_THINKING` | モデルサポートまたは他の設定に関係なく、[拡張思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) を強制的に無効にするには `1` に設定します。`MAX_THINKING_TOKENS=0` よりも直接的です |183| `CLAUDE_CODE_DISABLE_THINKING` | モデルサポートまたは他の設定に関係なく、[拡張思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) を強制的に無効にするには `1` に設定します。`MAX_THINKING_TOKENS=0` よりも直接的です |

96| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | [フルスクリーンレンダリング](/ja/fullscreen) で仮想スクロールを無効にするには `1` に設定します。トランスクリプト内のすべてのメッセージをレンダリングします。フルスクリーンモードでのスクロールがメッセージが表示されるべき場所に空白領域を表示する場合に使用します |184| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | [フルスクリーンレンダリング](/ja/fullscreen) で仮想スクロールを無効にするには `1` に設定します。トランスクリプト内のすべてのメッセージをレンダリングします。フルスクリーンモードでのスクロールがメッセージが表示されるべき場所に空白領域を表示する場合に使用します |

185| `CLAUDE_CODE_DISABLE_WORKFLOWS` | [ワークフロー](/ja/workflows#turn-workflows-off) を無効にするには `1` に設定します。[`disableWorkflows`](/ja/settings#available-settings) 設定と同等です |

97| `CLAUDE_CODE_EFFORT_LEVEL` | サポートされているモデルの努力レベルを設定します。値:`low`、`medium`、`high`、`xhigh`、`max`、または `auto`(モデルのデフォルトを使用)。利用可能なレベルはモデルによって異なります。`/effort` および `effortLevel` 設定より優先されます。[努力レベルを調整](/ja/model-config#adjust-effort-level) を参照してください |186| `CLAUDE_CODE_EFFORT_LEVEL` | サポートされているモデルの努力レベルを設定します。値:`low`、`medium`、`high`、`xhigh`、`max`、または `auto`(モデルのデフォルトを使用)。利用可能なレベルはモデルによって異なります。`/effort` および `effortLevel` 設定より優先されます。[努力レベルを調整](/ja/model-config#adjust-effort-level) を参照してください |

187| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.158 */}Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry で [自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode) を利用可能にするには `1` に設定します。Claude Code v2.1.158 以降が必須です。Anthropic API では効果がなく、自動モードはデフォルトで利用可能です。[Bedrock、Vertex AI、または Foundry で自動モードを有効にする](/ja/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) を参照してください |

98| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | [セッションリキャップ](/ja/interactive-mode#session-recap) の利用可能性をオーバーライドします。`/config` トグルに関係なくリキャップを強制的にオフにするには `0` に設定します。[`awaySummaryEnabled`](/ja/settings#available-settings) が `false` の場合にリキャップを強制的にオンにするには `1` に設定します。設定と `/config` トグルより優先されます |188| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | [セッションリキャップ](/ja/interactive-mode#session-recap) の利用可能性をオーバーライドします。`/config` トグルに関係なくリキャップを強制的にオフにするには `0` に設定します。[`awaySummaryEnabled`](/ja/settings#available-settings) が `false` の場合にリキャップを強制的にオンにするには `1` に設定します。設定と `/config` トグルより優先されます |

99| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | [非対話モード](/ja/headless) でバックグラウンドインストールが完了した後、ターン境界でプラグイン状態をリフレッシュするには `1` に設定します。リフレッシュはセッション中にシステムプロンプトを変更するため、デフォルトではオフです。これにより、そのターンの [プロンプトキャッシング](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) が無効になります |189| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | [非対話モード](/ja/headless) でバックグラウンドインストールが完了した後、ターン境界でプラグイン状態をリフレッシュするには `1` に設定します。リフレッシュはセッション中にシステムプロンプトを変更するため、デフォルトではオフです。これにより、そのターンの [プロンプトキャッシング](/ja/prompt-caching) が無効になります |

100| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Anthropic バウンドの非必須トラフィックがブロックされている場合、「Claude の調子はどうですか?」セッション品質調査を独自の [OpenTelemetry コレクター](/ja/monitoring-usage) にルーティングするには `1` に設定します。調査の評価は OTEL イベントとしてのみ設定されたコレクターに出力されます。このモードでは調査データは Anthropic に送信されません。`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`、`DISABLE_TELEMETRY`、または `DO_NOT_TRACK` が設定されている場合に適用され、それ以外の場合は効果がありません。`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` と組織製品フィードバックポリシーが優先されます |190| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Anthropic バウンドの非必須トラフィックがブロックされている場合、「Claude の調子はどうですか?」セッション品質調査を独自の [OpenTelemetry コレクター](/ja/monitoring-usage) にルーティングするには `1` に設定します。調査の評価は OTEL イベントとしてのみ設定されたコレクターに出力されます。このモードでは調査データは Anthropic に送信されません。`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`、`DISABLE_TELEMETRY`、または `DO_NOT_TRACK` が設定されている場合に適用され、それ以外の場合は効果がありません。`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` と組織製品フィードバックポリシーが優先されます |

101| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | ツール呼び出し入力が Claude によって生成されるときに API からストリーミングされるかどうかを制御します。これがない場合、大きなツール入力(長いファイル書き込みなど)は Claude が生成を完了した後にのみ到着します。これは、ハングしているように見える可能性があります。Anthropic API 直接接続でデフォルトで有効です。Bedrock と Vertex では、デプロイされたコンテナがサポートしているモデルごとに有効です。`0` に設定してオプトアウトします。`1` に設定して、`ANTHROPIC_BASE_URL`、`ANTHROPIC_VERTEX_BASE_URL`、または `ANTHROPIC_BEDROCK_BASE_URL` を通じてプロキシにルーティングする場合に強制的に有効にします。Foundry と [ゲートウェイ](/ja/llm-gateway) 接続ではデフォルトでオフです |191| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | ツール呼び出し入力が Claude によって生成されるときに API からストリーミングされるかどうかを制御します。これがない場合、大きなツール入力(長いファイル書き込みなど)は Claude が生成を完了した後にのみ到着します。これは、ハングしているように見える可能性があります。Anthropic API 直接接続でデフォルトで有効です。Bedrock と Vertex では、デプロイされたコンテナがサポートしているモデルごとに有効です。`0` に設定してオプトアウトします。`1` に設定して、`ANTHROPIC_BASE_URL`、`ANTHROPIC_VERTEX_BASE_URL`、または `ANTHROPIC_BEDROCK_BASE_URL` を通じてプロキシにルーティングする場合に強制的に有効にします。Foundry と [ゲートウェイ](/ja/llm-gateway) 接続ではデフォルトでオフです |

102| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | `ANTHROPIC_BASE_URL` が LiteLLM、Kong、または内部プロキシなどの Anthropic 互換ゲートウェイを指している場合、ゲートウェイの `/v1/models` エンドポイントから `/model` ピッカーを入力するには `1` に設定します。共有 API キーでバックアップされたゲートウェイはそれ以外の場合、すべてのユーザーにキーがアクセスできるすべてのモデルを表示するため、デフォルトではオフです。検出されたモデルは依然として [`availableModels`](/ja/settings#available-settings) 許可リストでフィルタリングされます |192| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | `ANTHROPIC_BASE_URL` が LiteLLM、Kong、または内部プロキシなどの Anthropic 互換ゲートウェイを指している場合、ゲートウェイの `/v1/models` エンドポイントから `/model` ピッカーを入力するには `1` に設定します。共有 API キーでバックアップされたゲートウェイはそれ以外の場合、すべてのユーザーにキーがアクセスできるすべてのモデルを表示するため、デフォルトではオフです。検出されたモデルは依然として [`availableModels`](/ja/settings#available-settings) 許可リストでフィルタリングされます |

103| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | {/* max-version: 2.1.141 */}v2.1.142 で削除されました。[高速モード](/ja/fast-mode) Opus 4.7 がデフォルトです。Opus 4.6 を保持するには `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1` を設定します |193| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | {/* max-version: 2.1.141 */}v2.1.142 で削除されました。[高速モード](/ja/fast-mode) のデフォルトが Opus 4.6 から Opus 4.7 に移動したときです |

104| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | プロンプト提案を無効にするには `false` に設定します(`/config` の「プロンプト提案」トグル)。これらは Claude が応答した後にプロンプト入力に表示される灰色の予測です。[プロンプト提案](/ja/interactive-mode#prompt-suggestions) を参照してください |194| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | プロンプト提案を無効にするには `false` に設定します(`/config` の「プロンプト提案」トグル)。これらは Claude が応答した後にプロンプト入力に表示される灰色の予測です。[プロンプト提案](/ja/interactive-mode#prompt-suggestions) を参照してください |

105| `CLAUDE_CODE_ENABLE_TASKS` | セッションが構造化 Task ツール(`TaskCreate`、`TaskUpdate`、`TaskGet`、`TaskList`)を使用するか、従来の `TodoWrite` ツールを使用するかを制御します。{/* min-version: 2.1.142 */}Claude Code v2.1.142 以降、Task ツールはすべてのモードでデフォルトです。`TodoWrite` に戻すには `0` に設定します。[タスクリスト](/ja/interactive-mode#task-list) と [Task ツールへの移行](/ja/agent-sdk/todo-tracking#migrate-to-task-tools) を参照してください |195| `CLAUDE_CODE_ENABLE_TASKS` | セッションが構造化 Task ツール(`TaskCreate`、`TaskUpdate`、`TaskGet`、`TaskList`)を使用するか、従来の `TodoWrite` ツールを使用するかを制御します。{/* min-version: 2.1.142 */}Claude Code v2.1.142 以降、Task ツールはすべてのモードでデフォルトです。`TodoWrite` に戻すには `0` に設定します。[タスクリスト](/ja/interactive-mode#task-list) と [Task ツールへの移行](/ja/agent-sdk/todo-tracking#migrate-to-task-tools) を参照してください |

106| `CLAUDE_CODE_ENABLE_TELEMETRY` | OpenTelemetry データ収集をメトリクスとログ用に有効にするには `1` に設定します。OTel エクスポーターを設定する前に必須です。[監視](/ja/monitoring-usage) を参照してください |196| `CLAUDE_CODE_ENABLE_TELEMETRY` | OpenTelemetry データ収集をメトリクスとログ用に有効にするには `1` に設定します。OTel エクスポーターを設定する前に必須です。[監視](/ja/monitoring-usage) を参照してください |


109| `CLAUDE_CODE_EXTRA_BODY` | すべての API リクエストボディの最上位にマージする JSON オブジェクト。Claude Code が直接公開していないプロバイダー固有のパラメータを渡すのに役立ちます |199| `CLAUDE_CODE_EXTRA_BODY` | すべての API リクエストボディの最上位にマージする JSON オブジェクト。Claude Code が直接公開していないプロバイダー固有のパラメータを渡すのに役立ちます |

110| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | ファイル読み取りのデフォルトトークン制限をオーバーライドします。より大きなファイルを完全に読み取る必要がある場合に役立ちます |200| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | ファイル読み取りのデフォルトトークン制限をオーバーライドします。より大きなファイルを完全に読み取る必要がある場合に役立ちます |

111| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | ターミナルがサポートしているが自動検出されていない場合、DEC プライベートモード 2026 [同期出力](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) を強制的に有効にするには `1` に設定します。Emacs `eat` などのエミュレーターで役立ちます。これは BSU/ESU を実装していますが、機能プローブに応答しません。tmux では効果がありません |201| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | ターミナルがサポートしているが自動検出されていない場合、DEC プライベートモード 2026 [同期出力](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) を強制的に有効にするには `1` に設定します。Emacs `eat` などのエミュレーターで役立ちます。これは BSU/ESU を実装していますが、機能プローブに応答しません。tmux では効果がありません |

112| `CLAUDE_CODE_FORK_SUBAGENT` | [フォークされた subagent](/ja/sub-agents#fork-the-current-conversation) を有効にするには `1` に設定します。フォークされた subagent 、最初から開始する代わりに、メインセッションから完全な会話コンテキストを継承します有効にすると、`/fork` [`/branch`](/ja/commands) のエイリアスとして機能する代わりに、フォークされた subagent をスポーンします。すべての subagent スポーンはバックグラウンドで実行されます。対話モードと SDK または `claude -p` を通じて |202| `CLAUDE_CODE_FORK_SUBAGENT` | [フォークされた subagent](/ja/sub-agents#fork-the-current-conversation) をモデルのデフォルトにするには `1` に設定します:Claude は、一般的な subagent を使用する代わりにフォークをスポーンします。フォークは、最初から開始する代わりに、完全な会話コンテキストを継承する subagent ですすべての subagent スポーンはバックグラウンドで実行されます。明示的な [`/fork`](/ja/commands) コマンドはこの変数なしで機能します。対話モードと SDK または `claude -p` を通じて機能します |

113| `CLAUDE_CODE_GIT_BASH_PATH` | Windows のみ:Git Bash 実行可能ファイル(`bash.exe`)へのパス。Git Bash がインストールされているが PATH にない場合に使用します。[Windows セットアップ](/ja/setup#set-up-on-windows) を参照してください |203| `CLAUDE_CODE_GIT_BASH_PATH` | Windows のみ:Git Bash 実行可能ファイル(`bash.exe`)へのパス。Git Bash がインストールされているが PATH にない場合に使用します。[Windows セットアップ](/ja/setup#set-up-on-windows) を参照してください |

114| `CLAUDE_CODE_GLOB_HIDDEN` | Claude が [Glob ツール](/ja/tools-reference#glob-tool-behavior) を呼び出すときに結果からドットファイルを除外するには `false` に設定します。デフォルトで含まれます。`@` ファイルオートコンプリート、`ls`、Grep、または Read には影響しません |204| `CLAUDE_CODE_GLOB_HIDDEN` | Claude が [Glob ツール](/ja/tools-reference#glob-tool-behavior) を呼び出すときに結果からドットファイルを除外するには `false` に設定します。デフォルトで含まれます。`@` ファイルオートコンプリート、`ls`、Grep、または Read には影響しません |

115| `CLAUDE_CODE_GLOB_NO_IGNORE` | [Glob ツール](/ja/tools-reference#glob-tool-behavior) が `.gitignore` パターンを尊重するようにするには `false` に設定します。デフォルトでは、Glob は gitignored されたものを含むすべての一致するファイルを返します。`@` ファイルオートコンプリートには影響しません。これは独自の [`respectGitignore` 設定](/ja/settings#available-settings) を持っています |205| `CLAUDE_CODE_GLOB_NO_IGNORE` | [Glob ツール](/ja/tools-reference#glob-tool-behavior) が `.gitignore` パターンを尊重するようにするには `false` に設定します。デフォルトでは、Glob は gitignored されたものを含むすべての一致するファイルを返します。`@` ファイルオートコンプリートには影響しません。これは独自の [`respectGitignore` 設定](/ja/settings#available-settings) を持っています |


130| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Claude.ai 認証用の OAuth リフレッシュトークン。設定されている場合、`claude auth login` はブラウザを開く代わりにこのトークンを直接交換します。`CLAUDE_CODE_OAUTH_SCOPES` が必須です。自動化された環境での認証のプロビジョニングに役立ちます |220| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Claude.ai 認証用の OAuth リフレッシュトークン。設定されている場合、`claude auth login` はブラウザを開く代わりにこのトークンを直接交換します。`CLAUDE_CODE_OAUTH_SCOPES` が必須です。自動化された環境での認証のプロビジョニングに役立ちます |

131| `CLAUDE_CODE_OAUTH_SCOPES` | リフレッシュトークンが発行されたスペース区切りの OAuth スコープ(例:`"user:profile user:inference user:sessions:claude_code"`)。`CLAUDE_CODE_OAUTH_REFRESH_TOKEN` が設定されている場合は必須です |221| `CLAUDE_CODE_OAUTH_SCOPES` | リフレッシュトークンが発行されたスペース区切りの OAuth スコープ(例:`"user:profile user:inference user:sessions:claude_code"`)。`CLAUDE_CODE_OAUTH_REFRESH_TOKEN` が設定されている場合は必須です |

132| `CLAUDE_CODE_OAUTH_TOKEN` | Claude.ai 認証用の OAuth アクセストークン。SDK および自動化された環境での `/login` の代替。キーチェーンに保存された認証情報よりも優先されます。[`claude setup-token`](/ja/authentication#generate-a-long-lived-token) で生成します |222| `CLAUDE_CODE_OAUTH_TOKEN` | Claude.ai 認証用の OAuth アクセストークン。SDK および自動化された環境での `/login` の代替。キーチェーンに保存された認証情報よりも優先されます。[`claude setup-token`](/ja/authentication#generate-a-long-lived-token) で生成します |

133| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | [高速モード](/ja/fast-mode) Claude Opus 4.6 で保持するには `1` に設定しますデフォルトの Opus 4.7 の代わりに。変数が設定されている場合、`/fast` Opus 4.6 で実行されます。設定されていない場合、`/fast` は Opus 4.7 で実行されます |223| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}v2.1.160 で削除されました。現在は no-op です。以前は [高速モード](/ja/fast-mode) を現在のデフォルトの代わりに Claude Opus 4.6 にピンしていました。Opus 4.6 が廃止されるまで高速モード Opus 4.6 で実行するには最初に `/model` でモデルを選択してから、`/fast on` を実行します |

134| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | 保留中の OpenTelemetry スパンをフラッシュするためのタイムアウト(ミリ秒)(デフォルト:5000)。[監視](/ja/monitoring-usage) を参照してください |224| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | 保留中の OpenTelemetry スパンをフラッシュするためのタイムアウト(ミリ秒)(デフォルト:5000)。[監視](/ja/monitoring-usage) を参照してください |

135| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 動的 OpenTelemetry ヘッダーをリフレッシュする間隔(ミリ秒)(デフォルト:1740000 / 29 分)。[動的ヘッダー](/ja/monitoring-usage#dynamic-headers) を参照してください |225| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 動的 OpenTelemetry ヘッダーをリフレッシュする間隔(ミリ秒)(デフォルト:1740000 / 29 分)。[動的ヘッダー](/ja/monitoring-usage#dynamic-headers) を参照してください |

136| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | シャットダウン時に OpenTelemetry エクスポーターが完了するためのタイムアウト(ミリ秒)(デフォルト:2000)。終了時にメトリクスがドロップされる場合は増やしてください。[監視](/ja/monitoring-usage) を参照してください |226| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | シャットダウン時に OpenTelemetry エクスポーターが完了するためのタイムアウト(ミリ秒)(デフォルト:2000)。終了時にメトリクスがドロップされる場合は増やしてください。[監視](/ja/monitoring-usage) を参照してください |


142| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | GitHub `owner/repo` プラグインソースを SSH の代わりに HTTPS でクローンするには `1` に設定します。CI ランナー、コンテナ、または `github.com` 用に設定された SSH キーがない環境で役立ちます |232| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | GitHub `owner/repo` プラグインソースを SSH の代わりに HTTPS でクローンするには `1` に設定します。CI ランナー、コンテナ、または `github.com` 用に設定された SSH キーがない環境で役立ちます |

143| `CLAUDE_CODE_PLUGIN_SEED_DIR` | 1 つ以上の読み取り専用プラグインシードディレクトリへのパス。Unix では `:` で、Windows では `;` で区切られます。事前入力されたプラグインディレクトリをコンテナイメージにバンドルするために使用します。Claude Code はこれらのディレクトリからマーケットプレイスを登録し、再クローンなしで事前キャッシュされたプラグインを使用します。[コンテナ用のプラグインを事前入力](/ja/plugin-marketplaces#pre-populate-plugins-for-containers) を参照してください |233| `CLAUDE_CODE_PLUGIN_SEED_DIR` | 1 つ以上の読み取り専用プラグインシードディレクトリへのパス。Unix では `:` で、Windows では `;` で区切られます。事前入力されたプラグインディレクトリをコンテナイメージにバンドルするために使用します。Claude Code はこれらのディレクトリからマーケットプレイスを登録し、再クローンなしで事前キャッシュされたプラグインを使用します。[コンテナ用のプラグインを事前入力](/ja/plugin-marketplaces#pre-populate-plugins-for-containers) を参照してください |

144| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Claude Code が PowerShell をスポーンするときに `-ExecutionPolicy Bypass` を渡すことを停止するには `1` に設定します。ツール呼び出し、フック、ステータスラインコマンドの場合、マシンの有効な実行ポリシーを尊重します。デフォルトでは Claude Code はプロセススコープでバイパスを実行するため、`.ps1` スクリプトとモジュールインポートはデフォルト制限 Windows インストールで機能します。プロセススコープバイパスは、この設定に関係なく、グループポリシー `MachinePolicy` または `UserPolicy` をオーバーライドしません |234| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Claude Code が PowerShell をスポーンするときに `-ExecutionPolicy Bypass` を渡すことを停止するには `1` に設定します。ツール呼び出し、フック、ステータスラインコマンドの場合、マシンの有効な実行ポリシーを尊重します。デフォルトでは Claude Code はプロセススコープでバイパスを実行するため、`.ps1` スクリプトとモジュールインポートはデフォルト制限 Windows インストールで機能します。プロセススコープバイパスは、この設定に関係なく、グループポリシー `MachinePolicy` または `UserPolicy` をオーバーライドしません |

235| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | {/* min-version: 2.1.152 */}カスタムプロキシを指す場合、W3C トレースコンテキストを伝播するには `1` に設定します。`ANTHROPIC_BASE_URL` が指しています。伝播は、モデルと HTTP MCP リクエストの `traceparent` ヘッダーと、Bash、PowerShell、フックサブプロセスの `TRACEPARENT` 環境変数をカバーします。デフォルトでは、伝播は Anthropic API に直接接続されている場合にのみ有効になります。v2.1.152 で追加されました。[トレース(ベータ)](/ja/monitoring-usage#traces-beta) を参照してください |

145| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Claude Code を埋め込み、その代わりにモデルプロバイダーのルーティングを管理するホストプラットフォームによって設定されます。設定されている場合、`CLAUDE_CODE_USE_BEDROCK`、`ANTHROPIC_BASE_URL`、`ANTHROPIC_API_KEY` などのプロバイダー選択、エンドポイント、認証変数は設定ファイルで無視されるため、ユーザー設定はホストのルーティングをオーバーライドできません。Bedrock、Vertex、Foundry の自動テレメトリオプトアウトもスキップされるため、テレメトリは標準の `DISABLE_TELEMETRY` オプトアウトに従います。[API プロバイダーごとのデフォルト動作](/ja/data-usage#default-behaviors-by-api-provider) を参照してください |236| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Claude Code を埋め込み、その代わりにモデルプロバイダーのルーティングを管理するホストプラットフォームによって設定されます。設定されている場合、`CLAUDE_CODE_USE_BEDROCK`、`ANTHROPIC_BASE_URL`、`ANTHROPIC_API_KEY` などのプロバイダー選択、エンドポイント、認証変数は設定ファイルで無視されるため、ユーザー設定はホストのルーティングをオーバーライドできません。Bedrock、Vertex、Foundry の自動テレメトリオプトアウトもスキップされるため、テレメトリは標準の `DISABLE_TELEMETRY` オプトアウトに従います。[API プロバイダーごとのデフォルト動作](/ja/data-usage#default-behaviors-by-api-provider) を参照してください |

146| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | プロキシが呼び出し元の代わりに DNS 解決を実行できるようにするには `1` に設定します。プロキシがホスト名解決を処理する必要がある環境でオプトインします |237| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | プロキシが呼び出し元の代わりに DNS 解決を実行できるようにするには `1` に設定します。プロキシがホスト名解決を処理する必要がある環境でオプトインします |

147| `CLAUDE_CODE_REMOTE` | Claude Code が [クラウドセッション](/ja/claude-code-on-the-web) として実行されている場合に自動的に `true` に設定されます。フックまたはセットアップスクリプトからこれを読み取って、クラウド環境にいるかどうかを検出します |238| `CLAUDE_CODE_REMOTE` | Claude Code が [クラウドセッション](/ja/claude-code-on-the-web) として実行されている場合に自動的に `true` に設定されます。フックまたはセットアップスクリプトからこれを読み取って、クラウド環境にいるかどうかを検出します |


151| `CLAUDE_CODE_SCRIPT_CAPS` | `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` が設定されている場合、セッションごとに特定のスクリプトを呼び出すことができる回数を制限する JSON オブジェクト。キーはコマンドテキストに対して一致するサブストリングです。値は整数呼び出し制限です。例えば、`{"deploy.sh": 2}` は `deploy.sh` を最大 2 回呼び出すことを許可します。マッチングはサブストリングベースなので、`./scripts/deploy.sh $(evil)` などのシェル展開トリックは依然としてキャップに対してカウントされます。`xargs` または `find -exec` を通じた実行時ファンアウトは検出されません。これは多層防御制御です |242| `CLAUDE_CODE_SCRIPT_CAPS` | `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` が設定されている場合、セッションごとに特定のスクリプトを呼び出すことができる回数を制限する JSON オブジェクト。キーはコマンドテキストに対して一致するサブストリングです。値は整数呼び出し制限です。例えば、`{"deploy.sh": 2}` は `deploy.sh` を最大 2 回呼び出すことを許可します。マッチングはサブストリングベースなので、`./scripts/deploy.sh $(evil)` などのシェル展開トリックは依然としてキャップに対してカウントされます。`xargs` または `find -exec` を通じた実行時ファンアウトは検出されません。これは多層防御制御です |

152| `CLAUDE_CODE_SCROLL_SPEED` | [フルスクリーンレンダリング](/ja/fullscreen) でマウスホイールスクロール乗数を設定します。1~20 の値を受け入れます。ターミナルが増幅なしで 1 ノッチあたり 1 つのホイールイベントを送信する場合、`vim` に一致させるには `3` に設定します。JetBrains IDE ターミナルでは無視されます。Claude Code は独自のスクロール処理を使用します |243| `CLAUDE_CODE_SCROLL_SPEED` | [フルスクリーンレンダリング](/ja/fullscreen) でマウスホイールスクロール乗数を設定します。1~20 の値を受け入れます。ターミナルが増幅なしで 1 ノッチあたり 1 つのホイールイベントを送信する場合、`vim` に一致させるには `3` に設定します。JetBrains IDE ターミナルでは無視されます。Claude Code は独自のスクロール処理を使用します |

153| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | [SessionEnd](/ja/hooks#sessionend) フックの時間予算をオーバーライドします(ミリ秒)。セッション終了、`/clear`、および対話的な `/resume` を通じたセッション切り替えに適用されます。デフォルトでは予算は 1.5 秒で、設定ファイルで設定されたフックごとの最高 `timeout` に自動的に引き上げられます。最大 60 秒。プラグイン提供フックのタイムアウトは予算を引き上げません |244| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | [SessionEnd](/ja/hooks#sessionend) フックの時間予算をオーバーライドします(ミリ秒)。セッション終了、`/clear`、および対話的な `/resume` を通じたセッション切り替えに適用されます。デフォルトでは予算は 1.5 秒で、設定ファイルで設定されたフックごとの最高 `timeout` に自動的に引き上げられます。最大 60 秒。プラグイン提供フックのタイムアウトは予算を引き上げません |

154| `CLAUDE_CODE_SESSION_ID` | Bash と PowerShell ツールサブプロセスで現在のセッション ID に自動的に設定されます。[フック](/ja/hooks) に渡される `session_id` フィールドと一致します。`/clear` で更新されます。スクリプトと外部ツールを Claude Code セッションと相関させるために使用します |245| `CLAUDE_CODE_SESSION_ID` | Bash と PowerShell ツールサブプロセスで現在のセッション ID に自動的に設定されます。[フック](/ja/hooks) コマンドサブプロセスと stdio [MCP サーバー](/ja/mcp) サブプロセスでも設定されます。フックに渡される `session_id` フィールドと一致します。`/clear` で更新されます。スクリプトと外部ツールを Claude Code セッションと相関させるために使用します |

155| `CLAUDE_CODE_SHELL` | 自動シェル検出をオーバーライドします。ログインシェルが優先作業シェルと異なる場合に役立ちます(例:`bash` vs `zsh`) |246| `CLAUDE_CODE_SHELL` | 自動シェル検出をオーバーライドします。ログインシェルが優先作業シェルと異なる場合に役立ちます(例:`bash` vs `zsh`) |

156| `CLAUDE_CODE_SHELL_PREFIX` | Claude Code がスポーンするシェルコマンドをラップするコマンドプレフィックス:Bash ツール呼び出し、[フック](/ja/hooks) コマンド、stdio [MCP サーバー](/ja/mcp) スタートアップコマンド。ログまたは監査に役立ちます。例:`/path/to/logger.sh` を設定すると、各コマンドが `/path/to/logger.sh <command>` として実行されます |247| `CLAUDE_CODE_SHELL_PREFIX` | Claude Code がスポーンするシェルコマンドをラップするコマンドプレフィックス:Bash ツール呼び出し、[フック](/ja/hooks) コマンド、stdio [MCP サーバー](/ja/mcp) スタートアップコマンド。ログまたは監査に役立ちます。例:`/path/to/logger.sh` を設定すると、各コマンドが `/path/to/logger.sh <command>` として実行されます |

157| `CLAUDE_CODE_SIMPLE` | 最小限のシステムプロンプトと Bash、ファイル読み取り、ファイル編集ツールのみで実行するには `1` に設定します。`--mcp-config` からの MCP ツールは引き続き利用可能です。フック、スキル、プラグイン、MCP サーバー、自動メモリ、CLAUDE.md の自動検出を無効にします。OAuth トークンとキーチェーン認証情報は読み取られないため、Anthropic 認証は `ANTHROPIC_API_KEY` または `--settings` の `apiKeyHelper` から取得する必要があります。[`--bare`](/ja/headless#start-faster-with-bare-mode) CLI フラグと同等です |248| `CLAUDE_CODE_SIMPLE` | 最小限のシステムプロンプトと Bash、ファイル読み取り、ファイル編集ツールのみで実行するには `1` に設定します。`--mcp-config` からの MCP ツールは引き続き利用可能です。フック、スキル、プラグイン、MCP サーバー、自動メモリ、CLAUDE.md の自動検出を無効にします。OAuth トークンとキーチェーン認証情報は読み取られないため、Anthropic 認証は `ANTHROPIC_API_KEY` または `--settings` の `apiKeyHelper` から取得する必要があります。[`--bare`](/ja/headless#start-faster-with-bare-mode) CLI フラグと同等です |


167| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Anthropic とクラウドプロバイダーの認証情報をサブプロセス環境(Bash ツール、フック、MCP stdio サーバー)から削除するには `1` に設定します。親 Claude プロセスはこれらの認証情報を API 呼び出し用に保持しますが、子プロセスはそれらを読み取ることができず、シェル展開を通じてシークレットを流出させようとするプロンプトインジェクション攻撃への露出を減らします。Linux では、これは Bash サブプロセスを分離された PID 名前空間で実行するため、ホストプロセス環境を `/proc` 経由で読み取ることができません。副作用として、`ps`、`pgrep`、`kill` はホストプロセスを見たり、シグナルを送ったりできません。`allowed_non_write_users` が設定されている場合、`claude-code-action` はこれを自動的に設定します |258| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Anthropic とクラウドプロバイダーの認証情報をサブプロセス環境(Bash ツール、フック、MCP stdio サーバー)から削除するには `1` に設定します。親 Claude プロセスはこれらの認証情報を API 呼び出し用に保持しますが、子プロセスはそれらを読み取ることができず、シェル展開を通じてシークレットを流出させようとするプロンプトインジェクション攻撃への露出を減らします。Linux では、これは Bash サブプロセスを分離された PID 名前空間で実行するため、ホストプロセス環境を `/proc` 経由で読み取ることができません。副作用として、`ps`、`pgrep`、`kill` はホストプロセスを見たり、シグナルを送ったりできません。`allowed_non_write_users` が設定されている場合、`claude-code-action` はこれを自動的に設定します |

168| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | 非対話モード(`-p` フラグ)でプラグインインストールが完了するまで待機するには `1` に設定します。これがない場合、プラグインはバックグラウンドでインストールされ、最初のターンで利用できない可能性があります。`CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` と組み合わせて待機を制限します |259| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | 非対話モード(`-p` フラグ)でプラグインインストールが完了するまで待機するには `1` に設定します。これがない場合、プラグインはバックグラウンドでインストールされ、最初のターンで利用できない可能性があります。`CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` と組み合わせて待機を制限します |

169| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | 同期プラグインインストールのタイムアウト(ミリ秒)。超過すると、Claude Code はプラグインなしで続行し、エラーをログします。デフォルトなし:この変数がない場合、同期インストールは完了するまで待機します |260| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | 同期プラグインインストールのタイムアウト(ミリ秒)。超過すると、Claude Code はプラグインなしで続行し、エラーをログします。デフォルトなし:この変数がない場合、同期インストールは完了するまで待機します |

261| `CLAUDE_CODE_SYNC_SKILLS` | 非対話モード(`-p` フラグ)で有効な claude.ai スキルを `~/.claude/skills/` にダウンロードし、10 分ごとに再同期するには `1` に設定します。[Claude Code on the web](/ja/claude-code-on-the-web) セッションで自動的に設定されます。claude.ai 認証が必須です |

262| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | `CLAUDE_CODE_SYNC_SKILLS` が設定されている場合、最初のクエリが初期スキル同期を待機するタイムアウト(ミリ秒)(デフォルト:5000)。超過すると、クエリは続行され、残りのスキルダウンロードはバックグラウンドで続行されます |

170| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | diff 出力の構文強調表示を無効にするには `false` に設定します。色がターミナルセットアップに干渉する場合に役立ちます。コードブロックとファイルプレビューの強調表示も無効にするには、[`syntaxHighlightingDisabled`](/ja/settings) 設定を使用します |263| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | diff 出力の構文強調表示を無効にするには `false` に設定します。色がターミナルセットアップに干渉する場合に役立ちます。コードブロックとファイルプレビューの強調表示も無効にするには、[`syntaxHighlightingDisabled`](/ja/settings) 設定を使用します |

171| `CLAUDE_CODE_TASK_LIST_ID` | セッション間でタスクリストを共有します。複数の Claude Code インスタンスで同じ ID を設定して、共有タスクリストで調整します。[タスクリスト](/ja/interactive-mode#task-list) を参照してください |264| `CLAUDE_CODE_TASK_LIST_ID` | セッション間でタスクリストを共有します。複数の Claude Code インスタンスで同じ ID を設定して、共有タスクリストで調整します。[タスクリスト](/ja/interactive-mode#task-list) を参照してください |

172| `CLAUDE_CODE_TEAM_NAME` | このチームメイトが属するエージェントチームの名前。[エージェントチーム](/ja/agent-teams) メンバーで自動的に設定されます |265| `CLAUDE_CODE_TEAM_NAME` | このチームメイトが属するエージェントチームの名前。[エージェントチーム](/ja/agent-teams) メンバーで自動的に設定されます |

173| `CLAUDE_CODE_TMPDIR` | 内部一時ファイルに使用される一時ディレクトリをオーバーライドします。Claude Code はこのパスに `/claude-{uid}/`(Unix)または `/claude/`(Windows)を追加します。デフォルト:macOS では `/tmp`、Linux/Windows では `os.tmpdir()` |266| `CLAUDE_CODE_TMPDIR` | 内部一時ファイルに使用される一時ディレクトリをオーバーライドします。Claude Code はこのパスに `/claude-{uid}/`(Unix)または `/claude/`(Windows)を追加します。デフォルト:macOS では `/tmp`、Linux/Windows では `os.tmpdir()`。{/* min-version: 2.1.161 */}v2.1.161 以降、macOS と Linux では、Bash サブプロセスは、一部のツールが長いパスで失敗するため、オーバーライドが長いパスの場合、システムデフォルト下の短いフォールバック `$TMPDIR` を受け取ります。Claude Code 独自の一時ファイルは常にオーバーライドを使用します |

174| `CLAUDE_CODE_TMUX_TRUECOLOR` | tmux 内で 24 ビット truecolor 出力を許可するには `1` に設定します。デフォルトでは、`$TMUX` が設定されている場合、Claude Code は 256 色にクランプされます。tmux は設定されていない限り truecolor エスケープシーケンスを通過させないためです。`~/.tmux.conf` に `set -ga terminal-overrides ',*:Tc'` を追加した後、これを設定します。[ターミナル設定](/ja/terminal-config) で他の tmux 設定を参照してください |267| `CLAUDE_CODE_TMUX_TRUECOLOR` | tmux 内で 24 ビット truecolor 出力を許可するには `1` に設定します。デフォルトでは、`$TMUX` が設定されている場合、Claude Code は 256 色にクランプされます。tmux は設定されていない限り truecolor エスケープシーケンスを通過させないためです。`~/.tmux.conf` に `set -ga terminal-overrides ',*:Tc'` を追加した後、これを設定します。[ターミナル設定](/ja/terminal-config) で他の tmux 設定を参照してください |

175| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | [Claude Platform on AWS](/ja/claude-platform-on-aws) を使用します |268| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | [Claude Platform on AWS](/ja/claude-platform-on-aws) を使用します |

176| `CLAUDE_CODE_USE_BEDROCK` | [Bedrock](/ja/amazon-bedrock) を使用します |269| `CLAUDE_CODE_USE_BEDROCK` | [Bedrock](/ja/amazon-bedrock) を使用します |


180| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | PowerShell ツールを制御します。Windows では Git Bash がない場合、ツールは自動的に有効になります。無効にするには `0` に設定します。Windows に Git Bash がインストールされている場合、ツールは段階的にロールアウトされています:オプトインするには `1` に、オプトアウトするには `0` に設定します。Linux、macOS、WSL では、有効にするには `1` に設定します。これには PATH に `pwsh` が必須です。Windows で有効にすると、Claude は Git Bash を通じてルーティングする代わりに PowerShell コマンドをネイティブに実行できます。[PowerShell ツール](/ja/tools-reference#powershell-tool) を参照してください |273| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | PowerShell ツールを制御します。Windows では Git Bash がない場合、ツールは自動的に有効になります。無効にするには `0` に設定します。Windows に Git Bash がインストールされている場合、ツールは段階的にロールアウトされています:オプトインするには `1` に、オプトアウトするには `0` に設定します。Linux、macOS、WSL では、有効にするには `1` に設定します。これには PATH に `pwsh` が必須です。Windows で有効にすると、Claude は Git Bash を通じてルーティングする代わりに PowerShell コマンドをネイティブに実行できます。[PowerShell ツール](/ja/tools-reference#powershell-tool) を参照してください |

181| `CLAUDE_CODE_USE_VERTEX` | [Vertex](/ja/google-vertex-ai) を使用します |274| `CLAUDE_CODE_USE_VERTEX` | [Vertex](/ja/google-vertex-ai) を使用します |

182| `CLAUDE_CONFIG_DIR` | 設定ディレクトリをオーバーライドします(デフォルト:`~/.claude`)。すべての設定、認証情報、セッション履歴、プラグインはこのパスの下に保存されます。複数のアカウントを並行して実行する場合に役立ちます:例えば、`alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |275| `CLAUDE_CONFIG_DIR` | 設定ディレクトリをオーバーライドします(デフォルト:`~/.claude`)。すべての設定、認証情報、セッション履歴、プラグインはこのパスの下に保存されます。複数のアカウントを並行して実行する場合に役立ちます:例えば、`alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |

183| `CLAUDE_EFFORT` | Bash ツールサブプロセスとフックコマンドで、ターンのアクティブな [努力レベル](/ja/model-config#adjust-effort-level) に自動的に設定されます:`low`、`medium`、`high`、`xhigh`、または `max`。[フック](/ja/hooks) に渡される `effort.level` フィールドと一致します。現在のモデルが努力パラメータをサポートしている場合にのみ設定されます |276| `CLAUDE_EFFORT` | Bash ツールサブプロセスとフックコマンドで、ターンのアクティブな [努力レベル](/ja/model-config#adjust-effort-level) に自動的に設定されます:`low`、`medium`、`high`、`xhigh`、`max`。Ultracode は異なるレベルではなく、`xhigh` として報告されます。[フック](/ja/hooks) に渡される `effort.level` フィールドと一致します。現在のモデルが努力パラメータをサポートしている場合にのみ設定されます |

184| `CLAUDE_ENABLE_BYTE_WATCHDOG` | バイトレベルストリーミングアイドルウォッチドッグを強制的に有効にするには `1` に設定するか、強制的に無効にするには `0` に設定します。未設定の場合、ウォッチドッグは Anthropic API 接続でデフォルトで有効になります。バイトウォッチドッグは、`CLAUDE_STREAM_IDLE_TIMEOUT_MS` で設定された期間、ワイヤ上にバイトが到着しない場合に接続を中止します。最小 5 分で、イベントレベルウォッチドッグとは独立しています |277| `CLAUDE_ENABLE_BYTE_WATCHDOG` | バイトレベルストリーミングアイドルウォッチドッグを強制的に有効にするには `1` に設定するか、強制的に無効にするには `0` に設定します。未設定の場合、ウォッチドッグは Anthropic API 接続でデフォルトで有効になります。バイトウォッチドッグは、`CLAUDE_STREAM_IDLE_TIMEOUT_MS` で設定された期間、ワイヤ上にバイトが到着しない場合に接続を中止します。最小 5 分で、イベントレベルウォッチドッグとは独立しています |

185| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Amazon Bedrock `vnd.amazon.eventstream` レスポンスでバイトレベルストリーミングアイドルウォッチドッグを有効にするには `1` に設定します。デフォルトではオフです。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` でタイムアウトを設定します |278| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Amazon Bedrock `vnd.amazon.eventstream` レスポンスでバイトレベルストリーミングアイドルウォッチドッグを有効にするには `1` に設定します。デフォルトではオフです。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` でタイムアウトを設定します |

186| `CLAUDE_ENABLE_STREAM_WATCHDOG` | イベントレベルストリーミングアイドルウォッチドッグを有効にするには `1` に設定します。デフォルトではオフです。すべてのプロバイダーに適用されます。Bedrock では、`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` で独立したバイトレベルウォッチドッグも有効にできます。両方が設定されている場合、一緒に実行されます。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` でタイムアウトを設定します |279| `CLAUDE_ENABLE_STREAM_WATCHDOG` | イベントレベルストリーミングアイドルウォッチドッグを有効にするには `1` に設定します。デフォルトではオフです。すべてのプロバイダーに適用されます。Vertex と Foundry では、これが唯一利用可能なアイドルウォッチドッグです。Bedrock では、`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` で独立したバイトレベルウォッチドッグも有効にできます。両方が設定されている場合、一緒に実行されます。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` でタイムアウトを設定します |

187| `CLAUDE_ENV_FILE` | Claude Code が各 Bash コマンドの前に同じシェルプロセスで実行するシェルスクリプトへのパス。ファイル内のエクスポートはコマンドに表示されます。virtualenv または conda アクティベーションをコマンド間で永続化するために使用します。[SessionStart](/ja/hooks#persist-environment-variables)、[Setup](/ja/hooks#setup)、[CwdChanged](/ja/hooks#cwdchanged)、[FileChanged](/ja/hooks#filechanged) フックによって動的に入力されます |280| `CLAUDE_ENV_FILE` | Claude Code が各 Bash コマンドの前に同じシェルプロセスで実行するシェルスクリプトへのパス。ファイル内のエクスポートはコマンドに表示されます。virtualenv または conda アクティベーションをコマンド間で永続化するために使用します。[SessionStart](/ja/hooks#persist-environment-variables)、[Setup](/ja/hooks#setup)、[CwdChanged](/ja/hooks#cwdchanged)、[FileChanged](/ja/hooks#filechanged) フックによって動的に入力されます |

188| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 明示的な名前が指定されていない場合、自動生成される [Remote Control](/ja/remote-control) セッション名のプレフィックス。デフォルトはマシンのホスト名で、`myhost-graceful-unicorn` のような名前を生成します。`--remote-control-session-name-prefix` CLI フラグは単一の呼び出しに対して同じ値を設定します |281| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 明示的な名前が指定されていない場合、自動生成される [Remote Control](/ja/remote-control) セッション名のプレフィックス。デフォルトはマシンのホスト名で、`myhost-graceful-unicorn` のような名前を生成します。`--remote-control-session-name-prefix` CLI フラグは単一の呼び出しに対して同じ値を設定します |

189| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | ストリーミングアイドルウォッチドッグが停止した接続を閉じるまでのタイムアウト(ミリ秒)。デフォルトと最小 `300000`(5 分)の両方のバイトレベルとイベントレベルウォッチドッグの場合。低い値は拡張思考の一時停止とプロキシバッファリングを吸収するために自動的にクランプされます。サードパーティプロバイダーの場合、`CLAUDE_ENABLE_STREAM_WATCHDOG=1` が必須です。Bedrock では、`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` の場合にも適用されます |282| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | ストリーミングアイドルウォッチドッグが停止した接続を閉じるまでのタイムアウト(ミリ秒)。デフォルトと最小 `300000`(5 分)の両方のバイトレベルとイベントレベルウォッチドッグの場合。低い値は拡張思考の一時停止とプロキシバッファリングを吸収するために自動的にクランプされます。サードパーティプロバイダーの場合、`CLAUDE_ENABLE_STREAM_WATCHDOG=1` が必須です。Bedrock では、`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` の場合にも適用されます |


206| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku モデルのプロンプトキャッシングを無効にするには `1` に設定します |299| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku モデルのプロンプトキャッシングを無効にするには `1` に設定します |

207| `DISABLE_PROMPT_CACHING_OPUS` | Opus モデルのプロンプトキャッシングを無効にするには `1` に設定します |300| `DISABLE_PROMPT_CACHING_OPUS` | Opus モデルのプロンプトキャッシングを無効にするには `1` に設定します |

208| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet モデルのプロンプトキャッシングを無効にするには `1` に設定します |301| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet モデルのプロンプトキャッシングを無効にするには `1` に設定します |

209| `DISABLE_TELEMETRY` | テレメトリをオプトアウトするには `1` に設定します。テレメトリイベントにはコード、ファイルパス、bash コマンドなどのユーザーデータは含まれません。フィーチャーフラグも無効になるためまだロールアウト中の一部の機能は利用できない可能性があります |302| `DISABLE_TELEMETRY` | テレメトリをオプトアウトするには `1` に設定します。テレメトリイベントにはコード、ファイルパス、bash コマンドなどのユーザーデータは含まれません。フィーチャーフラグ取得も無効になります。`DISABLE_GROWTHBOOK` と同じ効果なので一部のフラグ付き機能は利用できない可能性があります |

210| `DISABLE_UPDATES` | すべての更新をブロックするには `1` に設定します。手動の `claude update` と `claude install` を含みます。`DISABLE_AUTOUPDATER` より厳密です。Claude Code を独自のチャネルを通じて配布し、ユーザーが自己更新すべきでない場合に使用します |303| `DISABLE_UPDATES` | すべての更新をブロックするには `1` に設定します。手動の `claude update` と `claude install` を含みます。`DISABLE_AUTOUPDATER` より厳密です。Claude Code を独自のチャネルを通じて配布し、ユーザーが自己更新すべきでない場合に使用します |

211| `DISABLE_UPGRADE_COMMAND` | `/upgrade` コマンドを非表示にするには `1` に設定します |304| `DISABLE_UPGRADE_COMMAND` | `/upgrade` コマンドを非表示にするには `1` に設定します |

212| `DO_NOT_TRACK` | テレメトリをオプトアウトするには `1` に設定します。`DISABLE_TELEMETRY` を設定するのと同等です。[標準クロスツール規約](https://consoledonottrack.com/) として尊重されます |305| `DO_NOT_TRACK` | テレメトリをオプトアウトするには `1` に設定します。`DISABLE_TELEMETRY` を設定するのと同等です。Claude Code はこれをクロスツール規約として尊重します。多くの開発者 CLI で認識されます |

213| `ENABLE_CLAUDEAI_MCP_SERVERS` | Claude Code で [claude.ai MCP サーバー](/ja/mcp#use-mcp-servers-from-claude-ai) を無効にするには `false` に設定します。ログインしているユーザーではデフォルトで有効です |306| `ENABLE_CLAUDEAI_MCP_SERVERS` | Claude Code で [claude.ai MCP サーバー](/ja/mcp#use-mcp-servers-from-claude-ai) を無効にするには `false` に設定します。ログインしているユーザーではデフォルトで有効です |

214| `ENABLE_PROMPT_CACHING_1H` | API キー、[Bedrock](/ja/amazon-bedrock)、[Vertex](/ja/google-vertex-ai)、[Foundry](/ja/microsoft-foundry)、[Claude Platform on AWS](/ja/claude-platform-on-aws) ユーザーの場合、デフォルトの 5 分の代わりに 1 時間のプロンプトキャッシュ TTL をリクエストするには `1` に設定します。サブスクリプションユーザーは 1 時間の TTL を自動的に受け取ります。1 時間キャッシュ書き込みはより高いレートで請求されます |307| `ENABLE_PROMPT_CACHING_1H` | API キー、[Bedrock](/ja/amazon-bedrock)、[Vertex](/ja/google-vertex-ai)、[Foundry](/ja/microsoft-foundry)、[Claude Platform on AWS](/ja/claude-platform-on-aws) ユーザーの場合、デフォルトの 5 分の代わりに 1 時間のプロンプトキャッシュ TTL をリクエストするには `1` に設定します。サブスクリプションユーザーは 1 時間の TTL を自動的に受け取ります。1 時間キャッシュ書き込みはより高いレートで請求されます |

215| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 非推奨。代わりに `ENABLE_PROMPT_CACHING_1H` を使用してください |308| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 非推奨。代わりに `ENABLE_PROMPT_CACHING_1H` を使用してください |


230| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | スタートアップ中に並列接続するリモート MCP サーバー(HTTP/SSE)の最大数(デフォルト:20) |323| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | スタートアップ中に並列接続するリモート MCP サーバー(HTTP/SSE)の最大数(デフォルト:20) |

231| `MCP_SERVER_CONNECTION_BATCH_SIZE` | スタートアップ中に並列接続するローカル MCP サーバー(stdio)の最大数(デフォルト:3) |324| `MCP_SERVER_CONNECTION_BATCH_SIZE` | スタートアップ中に並列接続するローカル MCP サーバー(stdio)の最大数(デフォルト:3) |

232| `MCP_TIMEOUT` | MCP サーバー起動のタイムアウト(ミリ秒)(デフォルト:30000、または 30 秒) |325| `MCP_TIMEOUT` | MCP サーバー起動のタイムアウト(ミリ秒)(デフォルト:30000、または 30 秒) |

233| `MCP_TOOL_TIMEOUT` | MCP ツール実行のタイムアウト(ミリ秒)(デフォルト:100000000、約 28 時間) |326| `MCP_TOOL_TIMEOUT` | MCP ツール実行のタイムアウト(ミリ秒)(デフォルト:100000000、約 28 時間)。`.mcp.json` のサーバーごとの `timeout` フィールドはそのサーバーのこれをオーバーライドします。1000 未満の値は 1 秒にフロアされます |

234| `NO_PROXY` | リクエストが直接発行されるドメインと IP のリスト。プロキシをバイパスします |327| `NO_PROXY` | リクエストが直接発行されるドメインと IP のリスト。プロキシをバイパスします |

235| `OTEL_LOG_RAW_API_BODIES` | Anthropic Messages API リクエストとレスポンス JSON を `api_request_body` / `api_response_body` ログイベントとして出力します。60 KB で切り詰められたインラインボディの場合は `1` に設定するか、切り詰められていないボディをディスクに書き込み、`body_ref` パスを出力する場合は `file:<dir>` に設定します。デフォルトでは無効です。ボディには会話履歴全体が含まれます。[監視](/ja/monitoring-usage#api-request-body-event) を参照してください |328| `OTEL_LOG_RAW_API_BODIES` | Anthropic Messages API リクエストとレスポンス JSON を `api_request_body` / `api_response_body` ログイベントとして出力します。60 KB で切り詰められたインラインボディの場合は `1` に設定するか、切り詰められていないボディをディスクに書き込み、`body_ref` パスを出力する場合は `file:<dir>` に設定します。デフォルトでは無効です。ボディには会話履歴全体が含まれます。[監視](/ja/monitoring-usage#api-request-body-event) を参照してください |

236| `OTEL_LOG_TOOL_CONTENT` | ツール入力と出力コンテンツを OpenTelemetry スパンイベントに含めるには `1` に設定します。機密データを保護するためにデフォルトで無効です。[監視](/ja/monitoring-usage) を参照してください |329| `OTEL_LOG_TOOL_CONTENT` | ツール入力と出力コンテンツを OpenTelemetry スパンイベントに含めるには `1` に設定します。機密データを保護するためにデフォルトで無効です。[監視](/ja/monitoring-usage) を参照してください |

237| `OTEL_LOG_TOOL_DETAILS` | ツール入力引数、MCP サーバー名、ツール失敗時の生エラー文字列、その他のツール詳細を OpenTelemetry トレースとログに含めるには `1` に設定します。PII を保護するためにデフォルトで無効です。[監視](/ja/monitoring-usage) を参照してください |330| `OTEL_LOG_TOOL_DETAILS` | ツール入力引数、MCP サーバー名、ツール失敗時の生エラー文字列、その他のツール詳細を OpenTelemetry トレースとログに含めるには `1` に設定します。PII を保護するためにデフォルトで無効です。[監視](/ja/monitoring-usage) を参照してください |

238| `OTEL_LOG_USER_PROMPTS` | ユーザープロンプトテキストを OpenTelemetry トレースとログに含めるには `1` に設定します。デフォルトで無効です(プロンプトは編集されます)。[監視](/ja/monitoring-usage) を参照してください |331| `OTEL_LOG_USER_PROMPTS` | ユーザープロンプトテキストを OpenTelemetry トレースとログに含めるには `1` に設定します。デフォルトで無効です(プロンプトは編集されます)。[監視](/ja/monitoring-usage) を参照してください |

239| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | メトリクス属性からアカウント UUID を除外するには `false` に設定します(デフォルト:含まれます)。[監視](/ja/monitoring-usage) を参照してください |332| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | メトリクス属性からアカウント UUID を除外するには `false` に設定します(デフォルト:含まれます)。[監視](/ja/monitoring-usage) を参照してください |

333| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | {/* min-version: 2.1.152 */}セッションエントリポイントをメトリクス属性に含めるには `true` に設定します(デフォルト:除外)。v2.1.152 で追加されました。[監視](/ja/monitoring-usage) を参照してください |

334| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | {/* min-version: 2.1.161 */}v2.1.161 以降、Claude Code は `OTEL_RESOURCE_ATTRIBUTES` キーをメトリクスデータポイントラベルに添付します。除外するには `false` に設定します(デフォルト:含まれます)。[監視](/ja/monitoring-usage#multi-team-organization-support) を参照してください |

240| `OTEL_METRICS_INCLUDE_SESSION_ID` | メトリクス属性からセッション ID を除外するには `false` に設定します(デフォルト:含まれます)。[監視](/ja/monitoring-usage) を参照してください |335| `OTEL_METRICS_INCLUDE_SESSION_ID` | メトリクス属性からセッション ID を除外するには `false` に設定します(デフォルト:含まれます)。[監視](/ja/monitoring-usage) を参照してください |

241| `OTEL_METRICS_INCLUDE_VERSION` | Claude Code バージョンをメトリクス属性に含めるには `true` に設定します(デフォルト:除外)。[監視](/ja/monitoring-usage) を参照してください |336| `OTEL_METRICS_INCLUDE_VERSION` | Claude Code バージョンをメトリクス属性に含めるには `true` に設定します(デフォルト:除外)。[監視](/ja/monitoring-usage) を参照してください |

242| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | [Skill ツール](/ja/skills#control-who-invokes-a-skill) に表示されるスキルメタデータの文字予算をオーバーライドします。予算はコンテキストウィンドウの 1% で動的にスケーリングされ、フォールバックは 8,000 文字です。後方互換性のために従来の名前が保持されています |337| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | [Skill ツール](/ja/skills#control-who-invokes-a-skill) に表示されるスキルメタデータの文字予算をオーバーライドします。予算はコンテキストウィンドウの 1% で動的にスケーリングされ、フォールバックは 8,000 文字です。後方互換性のために従来の名前が保持されています |


252| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Vertex AI を使用する場合、Claude Sonnet 4.5 のリージョンをオーバーライドします |347| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Vertex AI を使用する場合、Claude Sonnet 4.5 のリージョンをオーバーライドします |

253| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Vertex AI を使用する場合、Claude Opus 4.6 のリージョンをオーバーライドします |348| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Vertex AI を使用する場合、Claude Opus 4.6 のリージョンをオーバーライドします |

254| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Vertex AI を使用する場合、Claude Sonnet 4.6 のリージョンをオーバーライドします |349| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Vertex AI を使用する場合、Claude Sonnet 4.6 のリージョンをオーバーライドします |

255| `VERTEX_REGION_CLAUDE_4_7_OPUS` | {/* min-version: 2.1.111 */}Vertex AI を使用する場合、Claude Opus 4.7 のリージョンをオーバーライドします |350| `VERTEX_REGION_CLAUDE_4_7_OPUS` | {/* min-version: 2.1.111 */}Vertex AI を使用する場合、Claude Opus 4.7 のリージョンをオーバーライドします。v2.1.111 で追加されました |

256| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Vertex AI を使用する場合、Claude Haiku 4.5 のリージョンをオーバーライドします |351| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Vertex AI を使用する場合、Claude Haiku 4.5 のリージョンをオーバーライドします |

257 352 

258標準 OpenTelemetry エクスポーター変数(`OTEL_METRICS_EXPORTER`、`OTEL_LOGS_EXPORTER`、`OTEL_EXPORTER_OTLP_ENDPOINT`、`OTEL_EXPORTER_OTLP_PROTOCOL`、`OTEL_EXPORTER_OTLP_HEADERS`、`OTEL_METRIC_EXPORT_INTERVAL`、`OTEL_RESOURCE_ATTRIBUTES`、およびシグナル固有のバリアント)もサポートされています。設定の詳細は [監視](/ja/monitoring-usage) を参照してください。353標準 OpenTelemetry エクスポーター変数(`OTEL_METRICS_EXPORTER`、`OTEL_LOGS_EXPORTER`、`OTEL_EXPORTER_OTLP_ENDPOINT`、`OTEL_EXPORTER_OTLP_PROTOCOL`、`OTEL_EXPORTER_OTLP_HEADERS`、`OTEL_METRIC_EXPORT_INTERVAL`、`OTEL_RESOURCE_ATTRIBUTES`、およびシグナル固有のバリアント)もサポートされています。設定の詳細は [監視](/ja/monitoring-usage) を参照してください。

259 354 

260## 関連項目355<h2 id="see-also">

356 関連項目

357</h2>

261 358 

262* [設定](/ja/settings):`settings.json` で環境変数を設定して、すべてのセッションに適用します359* [設定](/ja/settings):すべての `settings.json` 設定(`env` キーを含む)

263* [CLI リファレンス](/ja/cli-reference):起動時フラグ360* [CLI リファレンス](/ja/cli-reference):起動時フラグ

264* [ネットワーク設定](/ja/network-config):プロキシと TLS セットアップ361* [ネットワーク設定](/ja/network-config):プロキシと TLS セットアップ

265* [監視](/ja/monitoring-usage):OpenTelemetry 設定362* [監視](/ja/monitoring-usage):OpenTelemetry 設定

errors.md +42 −17

Details

20 20 

21| メッセージ | セクション |21| メッセージ | セクション |

22| :-------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- |22| :-------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- |

23| `API Error: 500 ... Internal server error` | [サーバーエラー](#api-error-500-internal-server-error) |23| `API Error: 500 Internal server error` | [サーバーエラー](#api-error-500-internal-server-error) |

24| `API Error: Repeated 529 Overloaded errors` | [サーバーエラー](#api-error-repeated-529-overloaded-errors) |24| `API Error: Repeated 529 Overloaded errors` | [サーバーエラー](#api-error-repeated-529-overloaded-errors) |

25| `Request timed out` | [サーバーエラー](#request-timed-out)、またはメッセージがインターネット接続に言及している場合は[ネットワーク](#unable-to-connect-to-api) |25| `Request timed out` | [サーバーエラー](#request-timed-out)、またはメッセージがインターネット接続に言及している場合は[ネットワーク](#unable-to-connect-to-api) |

26| `<model> is temporarily unavailable, so auto mode cannot determine the safety of...` | [サーバーエラー](#auto-mode-cannot-determine-the-safety-of-an-action) |26| `<model> is temporarily unavailable, so auto mode cannot determine the safety of...` | [サーバーエラー](#auto-mode-cannot-determine-the-safety-of-an-action) |


33| `Not logged in · Please run /login` | [認証](#not-logged-in) |33| `Not logged in · Please run /login` | [認証](#not-logged-in) |

34| `Invalid API key` | [認証](#invalid-api-key) |34| `Invalid API key` | [認証](#invalid-api-key) |

35| `This organization has been disabled` | [認証](#this-organization-has-been-disabled) |35| `This organization has been disabled` | [認証](#this-organization-has-been-disabled) |

36| `Your organization has disabled Claude subscription access` | [認証](#your-organization-has-disabled-claude-subscription-access) |

36| `Routines are disabled by your organization's policy` | [認証](#routines-are-disabled-by-your-organizations-policy) |37| `Routines are disabled by your organization's policy` | [認証](#routines-are-disabled-by-your-organizations-policy) |

37| `OAuth token revoked` / `OAuth token has expired` | [認証](#oauth-token-revoked-or-expired) |38| `OAuth token revoked` / `OAuth token has expired` | [認証](#oauth-token-revoked-or-expired) |

38| `does not meet scope requirement user:profile` | [認証](#oauth-scope-requirement) |39| `does not meet scope requirement user:profile` | [認証](#oauth-scope-requirement) |


43| `Error during compaction: Conversation too long` | [リクエストエラー](#error-during-compaction-conversation-too-long) |44| `Error during compaction: Conversation too long` | [リクエストエラー](#error-during-compaction-conversation-too-long) |

44| `Request too large` | [リクエストエラー](#request-too-large) |45| `Request too large` | [リクエストエラー](#request-too-large) |

45| `Image was too large` | [リクエストエラー](#image-was-too-large) |46| `Image was too large` | [リクエストエラー](#image-was-too-large) |

47| `Unable to resize image` | [リクエストエラー](#unable-to-resize-image) |

46| `PDF too large` / `PDF is password protected` | [リクエストエラー](#pdf-errors) |48| `PDF too large` / `PDF is password protected` | [リクエストエラー](#pdf-errors) |

47| `Extra inputs are not permitted` | [リクエストエラー](#extra-inputs-are-not-permitted) |49| `Extra inputs are not permitted` | [リクエストエラー](#extra-inputs-are-not-permitted) |

48| `There's an issue with the selected model` | [リクエストエラー](#theres-an-issue-with-the-selected-model) |50| `There's an issue with the selected model` | [リクエストエラー](#theres-an-issue-with-the-selected-model) |


66 68 

67## サーバーエラー69## サーバーエラー

68 70 

69これらのエラーは、アカウントまたはリクエストではなく、Anthropic インフラストラクチャから発生します71これらのエラーは、アカウントまたはリクエストではなく、推論プロバイダーから発生します。Anthropic API では Anthropic インフラストラクチャを意味しますBedrock、Vertex AI、Foundry、またはカスタムゲートウェイでは、そのプロバイダーのインフラストラクチャを意味します。

70 72 

71### API Error: 500 Internal server error73### API Error: 500 Internal server error

72 74 

73Claude Code は、5xx ステータスの生の API レスポンスボディを表示します。以下の例は 500 レスポンスを示しています75Claude Code は、5xx レスポンスに対してステータスコードと API のエラーメッセージを表示します。以下の例は Anthropic API での 500 レスポンスを示しています

74 76 

75```text theme={null}77```text theme={null}

76API Error: 500 {"type":"error","error":{"type":"api_error","message":"Internal server error"}} · check status.claude.com78API Error: 500 Internal server error. This is a server-side issue, usually temporary — try again in a moment. If it persists, check https://status.claude.com.

77```79```

78 80 

81末尾の文は、サービスヘルスを確認する場所を示し、プロバイダーによって異なります。Bedrock、Vertex AI、および Foundry の設定は、そのプロバイダーのサービスステータスを示します。カスタム `ANTHROPIC_BASE_URL` はゲートウェイホストを示します。

82 

79これは API 内の予期しない障害を示しています。プロンプト、設定、またはアカウントが原因ではありません。83これは API 内の予期しない障害を示しています。プロンプト、設定、またはアカウントが原因ではありません。

80 84 

81**対応方法:**85**対応方法:**

82 86 

83* [status.claude.com](https://status.claude.com) でアクティブなインシデントを確認してください87* [status.claude.com](https://status.claude.com) またはメッセージに示されているプロバイダーのステータスページで、アクティブなインシデントを確認してください

84* 1 分待ってからメッセージを再度送信してください。元のメッセージはまだ会話に残っているため、長いプロンプトの場合は全体を貼り付ける代わりに `try again` と入力できます。88* 1 分待ってからメッセージを再度送信してください。元のメッセージはまだ会話に残っているため、長いプロンプトの場合は全体を貼り付ける代わりに `try again` と入力できます。

85* エラーが投稿されたインシデントなしで続く場合は、`/feedback` を実行して、Anthropic がリクエスト詳細で調査できるようにしてください。環境で `/feedback` が利用できない場合は、[エラーを報告する](#report-an-error) を参照してください。89* エラーが投稿されたインシデントなしで続く場合は、`/feedback` を実行して、Anthropic がリクエスト詳細で調査できるようにしてください。環境で `/feedback` が利用できない場合は、[エラーを報告する](#report-an-error) を参照してください。

86 90 

87### API Error: Repeated 529 Overloaded errors91### API Error: Repeated 529 Overloaded errors

88 92 

89API は、すべてのユーザー全体で一時的に容量に達しています。Claude Code は、このメッセージを表示する前に既に数回リトライしています93API は、すべてのユーザー全体で一時的に容量に達しています。Claude Code は、このメッセージを表示する前に既に数回リトライしています

90 94 

91```text theme={null}95```text theme={null}

92API Error: Repeated 529 Overloaded errors · check status.claude.com96API Error: Repeated 529 Overloaded errors. The API is at capacity — this is usually temporary. Try again in a moment. If it persists, check https://status.claude.com.

93```97```

94 98 

95529 は使用制限ではなく、クォータに対してカウントされません。99末尾の文は、500 エラーと同じ方法でプロバイダーによって異なります。529 は使用制限ではなく、クォータに対してカウントされません。

96 100 

97**対応方法:**101**対応方法:**

98 102 

99* [status.claude.com](https://status.claude.com) で容量に関する通知を確認してください103* [status.claude.com](https://status.claude.com) またはメッセージに示されているプロバイダーのステータスページで、容量に関する通知を確認してください

100* 数分後に再度試してください104* 数分後に再度試してください

101* `/model` を実行して別のモデルに切り替えて、容量がモデルごとに追跡されるため、作業を続けてください。Claude Code は、1 つのモデルが特に高い負荷を受けている場合、たとえば `Opus is experiencing high load, please use /model to switch to Sonnet` のようにこれを行うようにプロンプトを表示します。105* `/model` を実行して別のモデルに切り替えて、容量がモデルごとに追跡されるため、作業を続けてください。Claude Code は、1 つのモデルが特に高い負荷を受けている場合、たとえば `Opus is experiencing high load, please use /model to switch to Sonnet` のようにこれを行うようにプロンプトを表示します。

102 106 


204API キー、Amazon Bedrock プロジェクト、または Google Vertex AI プロジェクト用に設定されたレート制限に達しました。208API キー、Amazon Bedrock プロジェクト、または Google Vertex AI プロジェクト用に設定されたレート制限に達しました。

205 209 

206```text theme={null}210```text theme={null}

207API Error: Request rejected (429) · this may be a temporary capacity issue. If it persists, check status.claude.com.211API Error: Request rejected (429) · this may be a temporary capacity issue. If it persists, check https://status.claude.com.

208```212```

209 213 

210末尾の文は、サービスの健全性を確認する場所を示し、プロバイダーによって異なります。Bedrock および Vertex AI 設定では、Anthropic ステータスページの代わりにそのプロバイダーのサービスステータスを示します。214末尾の文は、サービスの健全性を確認する場所を示し、プロバイダーによって異なります。Bedrock および Vertex AI 設定では、Anthropic ステータスページの代わりにそのプロバイダーのサービスステータスを示します。カスタム `ANTHROPIC_BASE_URL` はゲートウェイホストを示します。

211 215 

212**対応方法:**216**対応方法:**

213 217 


484* 貼り付ける前に画像をリサイズしてください。API は、単一の画像の場合は最長辺で最大 8000 ピクセル、またはコンテキストに多くの画像がある場合は 2000 ピクセルの画像を受け入れます。488* 貼り付ける前に画像をリサイズしてください。API は、単一の画像の場合は最長辺で最大 8000 ピクセル、またはコンテキストに多くの画像がある場合は 2000 ピクセルの画像を受け入れます。

485* 全画面ではなく、関連する領域のより厳密なスクリーンショットを撮ってください489* 全画面ではなく、関連する領域のより厳密なスクリーンショットを撮ってください

486 490 

491### Unable to resize image

492 

493Claude Code は、API に送信する前に添付された画像をダウンスケールできませんでした。

494 

495```text theme={null}

496Unable to resize image — image processing is unavailable and dimensions could not be read from the file header. Please convert the image to PNG, JPEG, GIF, or WebP.

497Unable to resize image — dimensions exceed the 2000x2000px limit and image processing failed. Please resize the image to reduce its pixel dimensions.

498Unable to resize image (… raw, … base64). The image exceeds the … API limit and compression failed. Please resize the image manually or use a smaller image.

499Unable to resize image — could not verify image dimensions are within the 2000x2000px API limit.

500```

501 

502Claude Code は通常、大きな画像を自動的にリサイズします。これらのエラーは、ネイティブ画像プロセッサーがロードに失敗したか、エラーを返したため、画像を API 制限内に収まるようにリサイズできなかったことを意味します。

503 

504**対応方法:**

505 

506* メッセージが画像の変換を求めている場合は、PNG、JPEG、GIF、または WebP に変換して、再度添付してください。Claude Code はこれらの形式の寸法を画像プロセッサーなしで検証できます。

507* メッセージが寸法またはサイズ制限を報告している場合は、その制限以下に画像をリサイズまたは再圧縮してから添付してください。

508 

487### PDF errors509### PDF errors

488 510 

489添付した PDF を処理できませんでした。511添付した PDF を処理できませんでした。


518 540 

519### There's an issue with the selected model541### There's an issue with the selected model

520 542 

521設定されたモデル名が認識されなかったか、アカウントがそれへのアクセスを持っていません。543設定されたモデル名が認識されなかったか、アカウントがそれへのアクセスを持っていません。v2.1.160 以降、表示される末尾のヒントはサーフェスによって異なります。

522 544 

523```text theme={null}545```text theme={null}

524There's an issue with the selected model (claude-...). It may not exist or you may not have access to it. Run /model to select a different one.546There's an issue with the selected model (claude-...). It may not exist or you may not have access to it. Run /model to pick a different model.

525```547```

526 548 

527**対応方法:**549**対応方法:**

528 550 

529* `/model` を実行して、アカウントで利用可能なモデルから選択してください551* **インタラクティブ CLI**:`/model` を実行して、アカウントで利用可能なモデルから選択してください

530* 完全なバージョン ID ではなく、`sonnet``opus` などのエイリアスを使用してください。エイリアスは最新リリースを追跡するため古くなりません。[モデル設定](/ja/model-config)を参照してください552* **非対話型モード(`-p`)**:`--model` に有効なエイリアスまたは ID を渡すか、[`ANTHROPIC_MODEL`](/ja/env-vars)を設定してくださいエラーテキストはこのサーフェスで `Run --model` を表示します。

553* **Agent SDK**:モデルがプログラムで設定されているため、エラーテキストはヒントを省略します。TypeScript で[`Options` の `model`](/ja/agent-sdk/typescript#options)を設定するか、Python で[`ClaudeAgentOptions(model=...)`](/ja/agent-sdk/python#claudeagentoptions)を設定し、構造化された `model_not_found` エラーを処理して、独自の再試行またはモデルピッカーを表示してください。

554* `sonnet` や `opus` などのエイリアスを完全なバージョン ID ではなく使用してください。エイリアスは最新リリースを追跡するため、古くなりません。[モデル設定](/ja/model-config)を参照してください。

531* 間違ったモデルが戻り続ける場合は、古い ID がどこかに設定されています。[優先順位順](/ja/model-config#setting-your-model)で確認してください。`--model` フラグ、`ANTHROPIC_MODEL` 環境変数、その後 `.claude/settings.local.json`、プロジェクトの `.claude/settings.json`、および `~/.claude/settings.json` の `model` フィールド。古い値を削除すると、Claude Code はアカウントのデフォルトにフォールバックします。555* 間違ったモデルが戻り続ける場合は、古い ID がどこかに設定されています。[優先順位順](/ja/model-config#setting-your-model)で確認してください。`--model` フラグ、`ANTHROPIC_MODEL` 環境変数、その後 `.claude/settings.local.json`、プロジェクトの `.claude/settings.json`、および `~/.claude/settings.json` の `model` フィールド。古い値を削除すると、Claude Code はアカウントのデフォルトにフォールバックします。

532* Vertex AI デプロイメントについては、[Vertex AI トラブルシューティング](/ja/google-vertex-ai#troubleshooting)を参照してください。556* Vertex AI デプロイメントについては、[Vertex AI トラブルシューティング](/ja/google-vertex-ai#troubleshooting)を参照してください。

533 557 


547 571 

548### thinking.type.enabled is not supported for this model572### thinking.type.enabled is not supported for this model

549 573 

550Claude Code バージョンが Opus 4.7 の最小値より古いです。CLI は、モデルが受け入れなくなった思考設定を送信しました。574Claude Code バージョンが Opus 4.7 または Opus 4.8 の最小値より古いです。CLI は、モデルが受け入れなくなった思考設定を送信しました。

551 575 

552```text theme={null}576```text theme={null}

553API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.577API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.


555 579 

556**対応方法:**580**対応方法:**

557 581 

558* `claude update` を実行して v2.1.111 以降にアップグレードしてから、Claude Code を再起動してください582* `claude update` を実行して Claude Code を再起動してください。Opus 4.7 は v2.1.111 以降が必要です。Opus 4.8 は v2.1.154 以降が必要です

559* アップグレードできない場合は、`/model` を実行して Opus 4.6 または Sonnet を選択してください583* アップグレードできない場合は、`/model` を実行して Opus 4.6 または Sonnet を選択してください

560* Agent SDK でこれに遭遇した場合は、[SDK トラブルシューティング](/ja/agent-sdk/quickstart#troubleshooting)を参照してください584* Agent SDK でこれに遭遇した場合は、[SDK トラブルシューティング](/ja/agent-sdk/quickstart#troubleshooting)を参照してください

561 585 


588 612 

589**対応方法:**613**対応方法:**

590 614 

615* {/* max-version: 2.1.155 */}Opus 4.7 または Opus 4.8 を使用している場合は、まず `claude update` を実行してください。v2.1.156 より前のバージョンは、通常のツール使用中にこのエラーをトリガーでき、`/rewind` はそれをクリアしません。

591* `/rewind` を実行するか、Esc を 2 回押して、破損したターンの前のチェックポイントに戻り、そこから続行してください。[チェックポイント](/ja/checkpointing)を参照して、チェックポイントがどのように作成および復元されるかを確認してください。616* `/rewind` を実行するか、Esc を 2 回押して、破損したターンの前のチェックポイントに戻り、そこから続行してください。[チェックポイント](/ja/checkpointing)を参照して、チェックポイントがどのように作成および復元されるかを確認してください。

592 617 

593### Usage Policy refusal618### Usage Policy refusal

fast-mode.md +51 −26

Details

10 高速モードは[リサーチプレビュー](#research-preview)段階です。機能、価格設定、および利用可能性はフィードバックに基づいて変更される可能性があります。10 高速モードは[リサーチプレビュー](#research-preview)段階です。機能、価格設定、および利用可能性はフィードバックに基づいて変更される可能性があります。

11</Note>11</Note>

12 12 

13高速モードは Claude Opus の高速構成で、モデルを 2.5 倍高速化しますが、トークンあたりのコストは高くなります。迅速な反復やライブデバッグなどのインタラクティブな作業で速度が必要な場合は `/fast` でオンにし、コストがレイテンシーより重要な場合はオフにします。13高速モードは Claude Opus の高速構成で、モデルを最大 2.5 倍高速化しますが、トークンあたりのコストは高くなります。迅速な反復やライブデバッグなどのインタラクティブな作業で速度が必要な場合は `/fast` でオンにし、コストがレイテンシーより重要な場合はオフにします。

14 14 

15高速モードは異なるモデルではありません。Claude Opus を使用していますが、コスト効率よりも速度を優先する異なる API 構成です。同じ品質と機能が得られ、レスポンスが高速化されるだけです。高速モードは Opus 4.7 および Opus 4.6 でサポートされています。Sonnet、Haiku、または他のモデルでは利用できません。15高速モードは異なるモデルではありません。Claude Opus を使用していますが、コスト効率よりも速度を優先する異なる API 構成です。同じ品質と機能が得られ、レスポンスが高速化されるだけです。高速モードは Opus 4.8、Opus 4.7、および Opus 4.6 でサポートされています。Sonnet、Haiku、または他のモデルでは利用できません。

16 

17<Warning>

18 Opus 4.6 の高速モードは非推奨であり、Opus 4.8 のローンチ後約 30 日で削除される予定です。削除後、Opus 4.6 の高速モードは標準速度で標準価格にフォールバックします。高速化を維持するには Opus 4.8 または Opus 4.7 に移行してください。

19</Warning>

16 20 

17<Note>21<Note>

18 高速モードには Claude Code v2.1.36 以降が必要です。`claude --version` でバージョンを確認してください。22 高速モードには Claude Code v2.1.36 以降が必要です。`claude --version` でバージョンを確認してください。


20 24 

21知っておくべきこと:25知っておくべきこと:

22 26 

23* Claude Code CLI で `/fast` を使用して高速モードをオンにします。Claude Code VS Code Extension でも `/fast` で利用可能です27* Claude Code CLI で `/fast` を使用して高速モードをオンにします。VS Code Extension では高速モードはサポートされていません

24* 高速モード価格は Opus 4.7 Opus 4.6 の両方で $30/$150 MTok です。28* 高速モード価格は Opus 4.8 で $10/$50 MTok、Opus 4.7 および Opus 4.6 $30/$150 MTok です。

25* サブスクリプションプラン(Pro/Max/Team/Enterprise)の Claude Code ユーザーと Claude Console のすべてのユーザーが利用可能です。29* サブスクリプションプラン(Pro/Max/Team/Enterprise)の Claude Code ユーザーと Claude Console のすべてのユーザーが利用可能です。

26* サブスクリプションプラン(Pro/Max/Team/Enterprise)の Claude Code ユーザーの場合、高速モードは追加使用量のみで利用可能であり、サブスクリプションレート制限に含まれていません。30* サブスクリプションプラン(Pro/Max/Team/Enterprise)の Claude Code ユーザーの場合、高速モードは使用量クレジットのみで利用可能であり、サブスクリプションレート制限に含まれていません。

27 31 

28このページでは、[高速モードの切り替え](#toggle-fast-mode)、[コストのトレードオフ](#understand-the-cost-tradeoff)、[使用時期の判断](#decide-when-to-use-fast-mode)、[要件](#requirements)、[セッションごとのオプトイン](#require-per-session-opt-in)、および[レート制限の処理](#handle-rate-limits)について説明します。32このページでは、[高速モードの切り替え](#toggle-fast-mode)、[コストのトレードオフ](#understand-the-cost-tradeoff)、[使用時期の判断](#decide-when-to-use-fast-mode)、[要件](#requirements)、[セッションごとのオプトイン](#require-per-session-opt-in)、および[レート制限の処理](#handle-rate-limits)について説明します。

29 33 

30## 高速モードの切り替え34<h2 id="toggle-fast-mode">

35 高速モードの切り替え

36</h2>

31 37 

32次のいずれかの方法で高速モードを切り替えます:38次のいずれかの方法で高速モードを切り替えます:

33 39 


47 53 

48`/fast` を再度実行して高速モードを無効にすると、Opus に留まります。モデルは以前のモデルに戻りません。別のモデルに切り替えるには、`/model` を使用します。54`/fast` を再度実行して高速モードを無効にすると、Opus に留まります。モデルは以前のモデルに戻りません。別のモデルに切り替えるには、`/model` を使用します。

49 55 

50Opus 4.7 は Claude Code v2.1.142 以降の高速モードのデフォルトです。代わりに高速モードを Opus 4.6 にピンするには`CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1` を設定します56Opus 4.8 は Claude Code v2.1.154 以降の高速モードのデフォルトです。v2.1.142 から v2.1.153 では高速モードは Opus 4.7 がデフォルトです

51 57 

52## コストのトレードオフを理解する58<h2 id="understand-the-cost-tradeoff">

59 コストのトレードオフを理解する

60</h2>

53 61 

54高速モードは標準 Opus よりもトークンあたりの価格が高くなります:62高速モードは標準 Opus よりもトークンあたりの価格が高くなります。乗数はモデルによって異なります

55 63 

56| モード | 入力(MTok) | 出力(MTok) |64| モデル | 入力(MTok) | 出力(MTok) |

57| ----- | -------- | -------- |65| --------------------- | -------- | -------- |

58| 高速モード | \$30 | \$150 |66| Opus 4.8 | \$10 | \$50 |

67| Opus 4.7 および Opus 4.6 | \$30 | \$150 |

59 68 

60高速モード価格は完全な 1M トークンコンテキストウィンドウ全体で一定です。69高速モード価格は完全な 1M トークンコンテキストウィンドウ全体で一定です。比較対象となる標準 Opus レートについては、[Claude 価格リファレンス](https://platform.claude.com/docs/ja/about-claude/pricing)を参照してください。

61 70 

62会話の途中で高速モードに切り替えると、会話コンテキスト全体に対して完全な高速モードキャッシュなし入力トークン価格を支払います。これは最初から高速モードを有効にした場合よりもコストが高くなります71会話で初めて高速モードを有効にすると、会話コンテキスト全体に対して完全な高速モードキャッシュなし入力トークン価格を支払います。会話が進むほど、このコストは高くなるため、最初から高速モードを有効にする方が安くなりますコストは会話ごとに 1 回適用されるため、後で高速モードをオフにしてからオンに切り替えても、再度請求されることはありません。メカニズムについては、[高速モードがプロンプトキャッシュとどのように相互作用するか](/ja/prompt-caching#turning-on-fast-mode)を参照してください。

63 72 

64## 高速モードの使用時期を判断する73<h2 id="decide-when-to-use-fast-mode">

74 高速モードの使用時期を判断する

75</h2>

65 76 

66高速モードはレスポンスレイテンシーがコストより重要なインタラクティブな作業に最適です:77高速モードはレスポンスレイテンシーがコストより重要なインタラクティブな作業に最適です:

67 78 


75* バッチ処理または CI/CD パイプライン86* バッチ処理または CI/CD パイプライン

76* コストに敏感なワークロード87* コストに敏感なワークロード

77 88 

78### 高速モードと努力レベル89<h3 id="fast-mode-vs-effort-level">

90 高速モードと努力レベル

91</h3>

79 92 

80高速モードと努力レベルはどちらもレスポンス速度に影響しますが、方法が異なります:93高速モードと努力レベルはどちらもレスポンス速度に影響しますが、方法が異なります:

81 94 


86 99 

87両方を組み合わせることができます:単純なタスクで最大速度を得るために、低い[努力レベル](/ja/model-config#adjust-effort-level)で高速モードを使用します。100両方を組み合わせることができます:単純なタスクで最大速度を得るために、低い[努力レベル](/ja/model-config#adjust-effort-level)で高速モードを使用します。

88 101 

89## 要件102<h2 id="requirements">

103 要件

104</h2>

90 105 

91高速モードには以下のすべてが必要です:106高速モードには以下のすべてが必要です:

92 107 

93* **サードパーティクラウドプロバイダーでは利用不可**:高速モードは Amazon Bedrock、Google Vertex AI、または Microsoft Azure Foundry では利用できません。高速モードは Anthropic Console API および追加使用量を使用する Claude サブスクリプションプランで利用可能です108* **Anthropic API またはサブスクリプションのみ**:高速モードは Anthropic Console API および使用量クレジットを使用する Claude サブスクリプションプランで利用可能です。Amazon Bedrock、Google Vertex AI、Microsoft Azure Foundry、または AWS 上の Claude Platform では利用できません

94* **追加使用量が有効**:アカウントで追加使用量が有効になっている必要があります。これにより、プランに含まれる使用量を超えて請求できます。個人アカウントの場合、[Console 請求設定](https://platform.claude.com/settings/organization/billing)で有効にします。Team および Enterprise の場合、管理者が組織の追加使用量を有効にする必要があります109* **使用量クレジットが有効**:アカウントで使用量クレジットが有効になっている必要があります。これにより、プランに含まれる使用量を超えて請求できます。個人アカウントの場合、[Console 請求設定](https://platform.claude.com/settings/organization/billing)で有効にします。Team および Enterprise の場合、管理者が組織の使用量クレジットを有効にする必要があります

95 110 

96<Note>111<Note>

97 高速モード使用量は、プランに残りの使用量がある場合でも、追加使用量に直接請求されます。これは、高速モードトークンがプランに含まれる使用量にカウントされず、最初のトークンから高速モード料金で請求されることを意味します。112 高速モード使用量は、プランに残りの使用量がある場合でも、使用量クレジットに直接請求されます。これは、高速モードトークンがプランに含まれる使用量にカウントされず、最初のトークンから高速モード料金で請求されることを意味します。

98</Note>113</Note>

99 114 

100* **Team および Enterprise の管理者による有効化**:高速モードは Team および Enterprise 組織ではデフォルトで無効になっています。ユーザーがアクセスできるようにするには、管理者が明示的に[高速モードを有効にする](#enable-fast-mode-for-your-organization)必要があります。115* **Team および Enterprise の管理者による有効化**:高速モードは Team および Enterprise 組織ではデフォルトで無効になっています。ユーザーがアクセスできるようにするには、管理者が明示的に[高速モードを有効にする](#enable-fast-mode-for-your-organization)必要があります。


103 管理者が組織の高速モードを有効にしていない場合、`/fast` コマンドは「Fast mode has been disabled by your organization.」と表示されます。118 管理者が組織の高速モードを有効にしていない場合、`/fast` コマンドは「Fast mode has been disabled by your organization.」と表示されます。

104</Note>119</Note>

105 120 

106### 組織の高速モードを有効にする121<h3 id="enable-fast-mode-for-your-organization">

122 組織の高速モードを有効にする

123</h3>

107 124 

108管理者は以下で高速モードを有効にできます:125管理者は以下で高速モードを有効にできます:

109 126 


112 129 

113高速モードを完全に無効にするもう 1 つのオプションは、`CLAUDE_CODE_DISABLE_FAST_MODE=1` を設定することです。[環境変数](/ja/env-vars)を参照してください。130高速モードを完全に無効にするもう 1 つのオプションは、`CLAUDE_CODE_DISABLE_FAST_MODE=1` を設定することです。[環境変数](/ja/env-vars)を参照してください。

114 131 

115### セッションごとのオプトインが必要132<h3 id="require-per-session-opt-in">

133 セッションごとのオプトインが必要

134</h3>

116 135 

117デフォルトでは、高速モードはセッション全体で保持されます:ユーザーが高速モードを有効にすると、将来のセッションでもオンのままです。[Team](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) または [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) プランの管理者は、[管理設定](/ja/settings#settings-files)または[サーバー管理設定](/ja/server-managed-settings)で `fastModePerSessionOptIn` を `true` に設定することでこれを防ぐことができます。これにより、各セッションは高速モードがオフで開始され、ユーザーが `/fast` で明示的に有効にする必要があります。136デフォルトでは、高速モードはセッション全体で保持されます:ユーザーが高速モードを有効にすると、将来のセッションでもオンのままです。[Team](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_teams#team-&-enterprise) または [Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=fast_mode_enterprise) プランの管理者は、[管理設定](/ja/settings#settings-files)または[サーバー管理設定](/ja/server-managed-settings)で `fastModePerSessionOptIn` を `true` に設定することでこれを防ぐことができます。これにより、各セッションは高速モードがオフで開始され、ユーザーが `/fast` で明示的に有効にする必要があります。

118 137 


124 143 

125これは、ユーザーが複数の同時セッションを実行する組織でコストを制御するのに役立ちます。ユーザーは速度が必要な場合でも `/fast` で高速モードを有効にできますが、新しいセッションの開始時にリセットされます。ユーザーの高速モード設定は保存されたままなので、この設定を削除するとデフォルトの永続的な動作が復元されます。144これは、ユーザーが複数の同時セッションを実行する組織でコストを制御するのに役立ちます。ユーザーは速度が必要な場合でも `/fast` で高速モードを有効にできますが、新しいセッションの開始時にリセットされます。ユーザーの高速モード設定は保存されたままなので、この設定を削除するとデフォルトの永続的な動作が復元されます。

126 145 

127## レート制限の処理146<h2 id="handle-rate-limits">

147 レート制限の処理

148</h2>

128 149 

129高速モードは標準 Opus とは別のレート制限があります。Opus 4.7 および Opus 4.6 の高速モードは同じレート制限プールを共有します:どちらかのモデルでの使用は同じ制限から引き出されます。高速モードレート制限に達するか、追加使用量が不足した場合150高速モードは標準 Opus とは別のレート制限があります。Opus 4.8、Opus 4.7、および Opus 4.6 の高速モードは同じレート制限プールを共有します:どれかのモデルでの使用は同じ制限から引き出されます。高速モードレート制限に達するか、使用量クレジットが不足した場合

130 151 

1311. 高速モードは自動的に標準速度にフォールバックします1521. 高速モードは自動的に標準速度にフォールバックします

1322. `↯` アイコンがグレーに変わってクールダウンを示します1532. `↯` アイコンがグレーに変わってクールダウンを示します


135 156 

136クールダウンを待つ代わりに高速モードを手動で無効にするには、`/fast` を再度実行します。157クールダウンを待つ代わりに高速モードを手動で無効にするには、`/fast` を再度実行します。

137 158 

138## リサーチプレビュー159<h2 id="research-preview">

160 リサーチプレビュー

161</h2>

139 162 

140高速モードはリサーチプレビュー機能です。これは以下を意味します:163高速モードはリサーチプレビュー機能です。これは以下を意味します:

141 164 


145 168 

146通常の Anthropic サポートチャネルを通じて問題またはフィードバックを報告してください。169通常の Anthropic サポートチャネルを通じて問題またはフィードバックを報告してください。

147 170 

148## 関連項目171<h2 id="see-also">

172 関連項目

173</h2>

149 174 

150* [モデル構成](/ja/model-config):モデルを切り替えて努力レベルを調整する175* [モデル構成](/ja/model-config):モデルを切り替えて努力レベルを調整する

151* [コストを効果的に管理する](/ja/costs):トークン使用量を追跡してコストを削減する176* [コストを効果的に管理する](/ja/costs):トークン使用量を追跡してコストを削減する

Details

14 14 

15**Claude Code は初めてですか?** [CLAUDE.md](/ja/memory) でプロジェクト規約を開始します。その後、[特定のトリガーが発生したときに](#build-your-setup-over-time)他の拡張機能を追加してください。15**Claude Code は初めてですか?** [CLAUDE.md](/ja/memory) でプロジェクト規約を開始します。その後、[特定のトリガーが発生したときに](#build-your-setup-over-time)他の拡張機能を追加してください。

16 16 

17## 概要17<h2 id="overview">

18 概要

19</h2>

18 20 

19拡張機能は agentic ループのさまざまな部分に接続します。21拡張機能は agentic ループのさまざまな部分に接続します。

20 22 

21* **[CLAUDE.md](/ja/memory)** は、Claude がすべてのセッションで見る永続的なコンテキストを追加します23* **[CLAUDE.md](/ja/memory)** は、Claude がすべてのセッションで見る永続的なコンテキストを追加します

22* **[Skills](/ja/skills)** は再利用可能な知識と呼び出し可能なワークフローを追加します24* **[Skills](/ja/skills)** は再利用可能な知識と呼び出し可能なワークフローを追加します

25* **[Code intelligence](/ja/tools-reference#lsp-tool-behavior)** は Claude を言語サーバーに接続し、シンボルレベルのナビゲーションとライブ型エラーを実現します

23* **[MCP](/ja/mcp)** は Claude を外部サービスとツールに接続します26* **[MCP](/ja/mcp)** は Claude を外部サービスとツールに接続します

24* **[Subagents](/ja/sub-agents)** は独立したコンテキストで独自のループを実行し、サマリーを返します27* **[Subagents](/ja/sub-agents)** は独立したコンテキストで独自のループを実行し、サマリーを返します

25* **[Agent teams](/ja/agent-teams)** は、共有タスクとピアツーピアメッセージングを使用して複数の独立したセッションを調整します28* **[Agent teams](/ja/agent-teams)** は、共有タスクとピアツーピアメッセージングを使用して複数の独立したセッションを調整します


28 31 

29[Skills](/ja/skills) は最も柔軟な拡張機能です。スキルは知識、ワークフロー、または指示を含むマークダウンファイルです。`/deploy` のようなコマンドでスキルを呼び出すことができます。または Claude は関連する場合に自動的にスキルをロードできます。スキルは現在の会話で実行することも、subagents を介して独立したコンテキストで実行することもできます。32[Skills](/ja/skills) は最も柔軟な拡張機能です。スキルは知識、ワークフロー、または指示を含むマークダウンファイルです。`/deploy` のようなコマンドでスキルを呼び出すことができます。または Claude は関連する場合に自動的にスキルをロードできます。スキルは現在の会話で実行することも、subagents を介して独立したコンテキストで実行することもできます。

30 33 

31## 機能をあなたの目標に合わせる34<h2 id="match-features-to-your-goal">

35 機能をあなたの目標に合わせる

36</h2>

32 37 

33機能は、Claude がすべてのセッションで見る常時オンのコンテキストから、あなたまたは Claude が呼び出すことができるオンデマンド機能、特定のイベントで実行される背景自動化まで、さまざまです。以下の表は、利用可能な機能と各機能が適切な場合を示しています。38機能は、Claude がすべてのセッションで見る常時オンのコンテキストから、あなたまたは Claude が呼び出すことができるオンデマンド機能、特定のイベントで実行される背景自動化まで、さまざまです。以下の表は、利用可能な機能と各機能が適切な場合を示しています。

34 39 

35| 機能 | 機能 | 使用する場合 | 例 |40| 機能 | 機能 | 使用する場合 | 例 |

36| ---------------------------------- | --------------------------------------------- | -------------------------------- | ------------------------------------------------------------ |41| -------------------------------------------------------------- | --------------------------------------------- | -------------------------------- | ------------------------------------------------------------ |

37| **CLAUDE.md** | すべての会話で読み込まれる永続的なコンテキスト | プロジェクト規約、「常に X を実行する」ルール | 「pnpm を使用し、npm は使用しない。コミット前にテストを実行する。」 |42| **CLAUDE.md** | すべての会話で読み込まれる永続的なコンテキスト | プロジェクト規約、「常に X を実行する」ルール | 「pnpm を使用し、npm は使用しない。コミット前にテストを実行する。」 |

38| **Skill** | Claude が使用できる指示、知識、ワークフロー | 再利用可能なコンテンツ、リファレンスドキュメント、繰り返しタスク | `/deploy` はデプロイメントチェックリストを実行します。エンドポイントパターンを持つ API ドキュメントスキル |43| **Skill** | Claude が使用できる指示、知識、ワークフロー | 再利用可能なコンテンツ、リファレンスドキュメント、繰り返しタスク | `/deploy` はデプロイメントチェックリストを実行します。エンドポイントパターンを持つ API ドキュメントスキル |

39| **Subagent** | サマリー結果を返す独立した実行コンテキスト | コンテキスト分離、並列タスク、専門的なワーカー | 多くのファイルを読み取るが、主要な結果のみを返す研究タスク |44| **Subagent** | サマリー結果を返す独立した実行コンテキスト | コンテキスト分離、並列タスク、専門的なワーカー | 多くのファイルを読み取るが、主要な結果のみを返す研究タスク |

40| **[Agent teams](/ja/agent-teams)** | 複数の独立した Claude Code セッションを調整 | 並列研究、新機能開発、競合する仮説でのデバッグ | セキュリティ、パフォーマンス、テストを同時にチェックするレビュアーをスポーン |45| **[Agent teams](/ja/agent-teams)** | 複数の独立した Claude Code セッションを調整 | 並列研究、新機能開発、競合する仮説でのデバッグ | セキュリティ、パフォーマンス、テストを同時にチェックするレビュアーをスポーン |

46| **[Code intelligence](/ja/tools-reference#lsp-tool-behavior)** | 言語サーバーナビゲーションと診断 | 型付き言語、grep が遅いまたは不正確な大規模コードベース | ファイル全体を読む代わりにシンボルの定義にジャンプ |

41| **MCP** | 外部サービスに接続 | 外部データまたはアクション | データベースをクエリ、Slack に投稿、ブラウザを制御 |47| **MCP** | 外部サービスに接続 | 外部データまたはアクション | データベースをクエリ、Slack に投稿、ブラウザを制御 |

42| **Hook** | イベントで実行されるスクリプト、HTTP リクエスト、プロンプト、または subagent | すべてのマッチングイベントで実行する必要がある自動化 | すべてのファイル編集後に ESLint を実行 |48| **Hook** | イベントで実行されるスクリプト、HTTP リクエスト、プロンプト、または subagent | すべてのマッチングイベントで実行する必要がある自動化 | すべてのファイル編集後に ESLint を実行 |

43 49 

44**[Plugins](/ja/plugins)** はパッケージングレイヤーです。プラグインはスキル、フック、subagents、MCP サーバーを単一のインストール可能なユニットにバンドルします。プラグインスキルは名前空間化されています(`/my-plugin:review` のように)ため、複数のプラグインが共存できます。同じセットアップを複数のリポジトリで再利用したい場合、または **[marketplace](/ja/plugin-marketplaces)** を通じて他のユーザーに配布したい場合はプラグインを使用します。50**[Plugins](/ja/plugins)** はパッケージングレイヤーです。プラグインはスキル、フック、subagents、MCP サーバーを単一のインストール可能なユニットにバンドルします。プラグインスキルは名前空間化されています(`/my-plugin:review` のように)ため、複数のプラグインが共存できます。同じセットアップを複数のリポジトリで再利用したい場合、または **[marketplace](/ja/plugin-marketplaces)** を通じて他のユーザーに配布したい場合はプラグインを使用します。

45 51 

46### セットアップを時間をかけて構築する52<h3 id="build-your-setup-over-time">

53 セットアップを時間をかけて構築する

54</h3>

47 55 

48すべてを事前に設定する必要はありません。各機能には認識可能なトリガーがあり、ほとんどのチームはおおよそこの順序で追加します。56すべてを事前に設定する必要はありません。各機能には認識可能なトリガーがあり、ほとんどのチームはおおよそこの順序で追加します。

49 57 

50| トリガー | 追加 |58| トリガー | 追加 |

51| :-------------------------------------- | :------------------------------------- |59| :-------------------------------------------- | :------------------------------------------------------------------------------ |

52| Claude が規約またはコマンドを 2 回間違える | [CLAUDE.md](/ja/memory) に追加 |60| Claude が規約またはコマンドを 2 回間違える | [CLAUDE.md](/ja/memory) に追加 |

53| 同じプロンプトをタスクを開始するために何度も入力している | ユーザーが呼び出し可能な [skill](/ja/skills) として保存 |61| 同じプロンプトをタスクを開始するために何度も入力している | ユーザーが呼び出し可能な [skill](/ja/skills) として保存 |

54| 同じプレイブックまたは複数ステップの手順をチャットに 3 回目に貼り付けている | [skill](/ja/skills) としてキャプチャ |62| 同じプレイブックまたは複数ステップの手順をチャットに 3 回目に貼り付けている | [skill](/ja/skills) としてキャプチャ |

55| Claude が見ることができないブラウザタブからデータをコピーし続けている | そのシステムを [MCP server](/ja/mcp) として接続 |63| Claude が見ることができないブラウザタブからデータをコピーし続けている | そのシステムを [MCP server](/ja/mcp) として接続 |

64| Claude が多くのファイルを読み取ってシンボルが定義または使用されている場所を見つける | 言語用の [code intelligence plugin](/ja/discover-plugins#code-intelligence) をインストール |

56| サイドタスクが会話に再度参照しない出力で満杯になっている | [subagent](/ja/sub-agents) を通じてルーティング |65| サイドタスクが会話に再度参照しない出力で満杯になっている | [subagent](/ja/sub-agents) を通じてルーティング |

57| 何かが毎回聞かずに起こることを望んでいる | [hook](/ja/hooks-guide) を記述 |66| 何かが毎回聞かずに起こることを望んでいる | [hook](/ja/hooks-guide) を記述 |

58| 2 番目のリポジトリが同じセットアップを必要としている | [plugin](/ja/plugins) としてパッケージ化 |67| 2 番目のリポジトリが同じセットアップを必要としている | [plugin](/ja/plugins) としてパッケージ化 |

59 68 

60同じトリガーは、既に持っているものを更新する時期を示します。繰り返される間違いまたは繰り返されるレビューコメントは、チャットでの 1 回限りの修正ではなく、CLAUDE.md の編集です。手動で何度も調整するワークフローは、別の改訂が必要なスキルです。69同じトリガーは、既に持っているものを更新する時期を示します。繰り返される間違いまたは繰り返されるレビューコメントは、チャットでの 1 回限りの修正ではなく、CLAUDE.md の編集です。手動で何度も調整するワークフローは、別の改訂が必要なスキルです。

61 70 

62### 類似機能を比較する71<h3 id="compare-similar-features">

72 類似機能を比較する

73</h3>

63 74 

64一部の機能は似ているように見えることがあります。ここでは、それらを区別する方法を説明します。75一部の機能は似ているように見えることがあります。ここでは、それらを区別する方法を説明します。

65 76 


79 90 

80 **スキルはリファレンスまたはアクションです。** リファレンススキルは Claude がセッション全体で使用する知識を提供します(API スタイルガイドなど)。アクションスキルは Claude に特定の操作を実行するよう指示します(デプロイメントワークフローを実行する `/deploy` など)。91 **スキルはリファレンスまたはアクションです。** リファレンススキルは Claude がセッション全体で使用する知識を提供します(API スタイルガイドなど)。アクションスキルは Claude に特定の操作を実行するよう指示します(デプロイメントワークフローを実行する `/deploy` など)。

81 92 

82 **コンテキスト分離が必要な場合、または コンテキストウィンドウがいっぱいになっている場合は subagent を使用します。** subagent は数十のファイルを読み取るか、広範な検索を実行する可能性がありますが、メイン会話はサマリーのみを受け取ります。subagent の作業はメインコンテキストを消費しないため、中間作業を表示したままにする必要がない場合にも便利です。カスタム subagents は独自の指示を持つことができ、スキルをプリロードできます。93 **コンテキスト分離が必要な場合、またはコンテキストウィンドウがいっぱいになっている場合は subagent を使用します。** subagent は数十のファイルを読み取るか、広範な検索を実行する可能性がありますが、メイン会話はサマリーのみを受け取ります。subagent の作業はメインコンテキストを消費しないため、中間作業を表示したままにする必要がない場合にも便利です。カスタム subagents は独自の指示を持つことができ、スキルをプリロードできます。

83 94 

84 **それらは組み合わせることができます。** subagent は特定のスキルをプリロードできます(`skills:` フィールド)。スキルは `context: fork` を使用して独立したコンテキストで実行できます。詳細は [Skills](/ja/skills) を参照してください。95 **それらは組み合わせることができます。** subagent は特定のスキルをプリロードできます(`skills:` フィールド)。スキルは `context: fork` を使用して独立したコンテキストで実行できます。詳細は [Skills](/ja/skills) を参照してください。

85 </Tab>96 </Tab>


181 </Tab>192 </Tab>

182</Tabs>193</Tabs>

183 194 

184### 機能がどのようにレイヤーするかを理解する195<h3 id="understand-how-features-layer">

196 機能がどのようにレイヤーするかを理解する

197</h3>

185 198 

186機能は複数のレベルで定義できます。ユーザー全体、プロジェクトごと、プラグイン経由、または管理ポリシーを通じて。また、CLAUDE.md ファイルをサブディレクトリにネストしたり、スキルをモノレポの特定のパッケージに配置したりすることもできます。同じ機能が複数のレベルに存在する場合、ここでそれらがどのようにレイヤーするかを示します。199機能は複数のレベルで定義できます。ユーザー全体、プロジェクトごと、プラグイン経由、または管理ポリシーを通じて。また、CLAUDE.md ファイルをサブディレクトリにネストしたり、スキルをモノレポの特定のパッケージに配置したりすることもできます。同じ機能が複数のレベルに存在する場合、ここでそれらがどのようにレイヤーするかを示します。

187 200 


190* **MCP サーバー** は名前でオーバーライドします。ローカル > プロジェクト > ユーザー。[MCP スコープ](/ja/mcp#scope-hierarchy-and-precedence) を参照してください。203* **MCP サーバー** は名前でオーバーライドします。ローカル > プロジェクト > ユーザー。[MCP スコープ](/ja/mcp#scope-hierarchy-and-precedence) を参照してください。

191* **Hooks** はマージされます。すべての登録されたフックは、ソースに関係なく、マッチングイベントに対して発火します。[Hooks](/ja/hooks) を参照してください。204* **Hooks** はマージされます。すべての登録されたフックは、ソースに関係なく、マッチングイベントに対して発火します。[Hooks](/ja/hooks) を参照してください。

192 205 

193### 機能を組み合わせる206<h3 id="combine-features">

207 機能を組み合わせる

208</h3>

194 209 

195各拡張機能は異なる問題を解決します。CLAUDE.md は常時オンのコンテキストを処理し、スキルはオンデマンド知識とワークフローを処理し、MCP は外部接続を処理し、subagents は分離を処理し、フックは自動化を処理します。実際のセットアップはワークフローに基づいてそれらを組み合わせます。210各拡張機能は異なる問題を解決します。CLAUDE.md は常時オンのコンテキストを処理し、スキルはオンデマンド知識とワークフローを処理し、MCP は外部接続を処理し、subagents は分離を処理し、フックは自動化を処理します。実際のセットアップはワークフローに基づいてそれらを組み合わせます。

196 211 


203| **CLAUDE.md + Skills** | CLAUDE.md は常時オンのルールを保持します。スキルはオンデマンドでロードされるリファレンスマテリアルを保持します | CLAUDE.md は「API 規約に従う」と言い、スキルは完全な API スタイルガイドを含みます |218| **CLAUDE.md + Skills** | CLAUDE.md は常時オンのルールを保持します。スキルはオンデマンドでロードされるリファレンスマテリアルを保持します | CLAUDE.md は「API 規約に従う」と言い、スキルは完全な API スタイルガイドを含みます |

204| **Hook + MCP** | フックは MCP を通じて外部アクションをトリガーします | 編集後フックは Claude が重要なファイルを変更するときに Slack 通知を送信します |219| **Hook + MCP** | フックは MCP を通じて外部アクションをトリガーします | 編集後フックは Claude が重要なファイルを変更するときに Slack 通知を送信します |

205 220 

206## コンテキストコストを理解する221<h2 id="understand-context-costs">

222 コンテキストコストを理解する

223</h2>

207 224 

208追加する各機能は Claude のコンテキストの一部を消費します。多すぎるとコンテキストウィンドウがいっぱいになる可能性がありますが、Claude の効果を低下させるノイズを追加することもできます。スキルが正しくトリガーされない場合や、Claude が規約を失う場合があります。これらのトレードオフを理解することで、効果的なセットアップを構築するのに役立ちます。実行中のセッションでこれらの機能がどのように組み合わされるかのインタラクティブビューについては、[コンテキストウィンドウを探索する](/ja/context-window) を参照してください。225追加する各機能は Claude のコンテキストの一部を消費します。多すぎるとコンテキストウィンドウがいっぱいになる可能性がありますが、Claude の効果を低下させるノイズを追加することもできます。スキルが正しくトリガーされない場合や、Claude が規約を失う場合があります。これらのトレードオフを理解することで、効果的なセットアップを構築するのに役立ちます。実行中のセッションでこれらの機能がどのように組み合わされるかのインタラクティブビューについては、[コンテキストウィンドウを探索する](/ja/context-window) を参照してください。

209 226 

210### 機能別のコンテキストコスト227<h3 id="context-cost-by-feature">

228 機能別のコンテキストコスト

229</h3>

211 230 

212各機能には異なるロード戦略とコンテキストコストがあります。231各機能には異なるロード戦略とコンテキストコストがあります。

213 232 

214| 機能 | ロード時期 | ロード内容 | コンテキストコスト |233| 機能 | ロード時期 | ロード内容 | コンテキストコスト |

215| ------------- | ------------- | ------------------------- | ----------------------- |234| --------------------- | ---------------- | ------------------------ | ----------------------- |

216| **CLAUDE.md** | セッション開始 | 完全なコンテンツ | すべてのリクエスト |235| **CLAUDE.md** | セッション開始 | 完全なコンテンツ | すべてのリクエスト |

217| **Skills** | セッション開始 + 使用時 | 開始時の説明、使用時の完全なコンテンツ | 低い(毎リクエスト説明)\* |236| **Skills** | セッション開始 + 使用時 | 開始時の説明、使用時の完全なコンテンツ | 低い(毎リクエスト説明)\* |

218| **MCP サーバー** | セッション開始 | ツール名。完全な JSON スキーマはオンデマンド | 低い(ツール使用まで) |237| **MCP サーバー** | セッション開始 | ツール名。完全なスキーマはオンデマンド | 低い(ツール使用まで) |

238| **Code intelligence** | ファイル編集後およびオンデマンド | 編集後の診断。シンボル検索時の定義、参照、型情報 | 低い。ファイル読み取りを削減 |

219| **Subagents** | スポーン時 | 指定されたスキルを持つ新しいコンテキスト | メインセッションから分離 |239| **Subagents** | スポーン時 | 指定されたスキルを持つ新しいコンテキスト | メインセッションから分離 |

220| **Hooks** | トリガー時 | なし(外部で実行) | ゼロ(フックが追加コンテキストを返さない限り) |240| **Hooks** | トリガー時 | なし(外部で実行) | ゼロ(フックが追加コンテキストを返さない限り) |

221 241 

222\*デフォルトでは、スキル説明はセッション開始時にロードされるため、Claude はそれらを使用する時期を決定できます。スキルの frontmatter で `disable-model-invocation: true` を設定して、手動で呼び出すまで Claude から完全に非表示にします。これにより、自分でのみトリガーするスキルのコンテキストコストをゼロに削減します。書いていないスキルの場合は、ファイルを編集せずに同じことを行うために settings で [`skillOverrides`](/ja/skills#override-skill-visibility-from-settings) を設定します。242\*デフォルトでは、スキル説明はセッション開始時にロードされるため、Claude はそれらを使用する時期を決定できます。スキルの frontmatter で `disable-model-invocation: true` を設定して、手動で呼び出すまで Claude から完全に非表示にします。これにより、自分でのみトリガーするスキルのコンテキストコストをゼロに削減します。書いていないスキルの場合は、ファイルを編集せずに同じことを行うために settings で [`skillOverrides`](/ja/skills#override-skill-visibility-from-settings) を設定します。

223 243 

224### 機能がどのようにロードされるかを理解する244<h3 id="understand-how-features-load">

245 機能がどのようにロードされるかを理解する

246</h3>

225 247 

226各機能はセッション内の異なるポイントでロードされます。以下のタブは、各機能がいつロードされるか、およびコンテキストに何が入るかを説明しています。248各機能はセッション内の異なるポイントでロードされます。以下のタブは、各機能がいつロードされるか、およびコンテキストに何が入るかを説明しています。

227 249 


239 </Tab>261 </Tab>

240 262 

241 <Tab title="Skills">263 <Tab title="Skills">

242 スキルは Claude のツールキットの追加機能です。リファレンスマテリアル(API スタイルガイドなど)または `/<name>` でトリガーする呼び出し可能なワークフロー(`/deploy` など)です。Claude Code は `/simplify`、`/batch`、`/debug` などの[バンドルされたスキル](/ja/commands) を備えており、すぐに機能します。独自のスキルを作成することもできます。Claude は適切な場合にスキルを使用するか、直接呼び出すことができます。264 スキルは Claude のツールキットの追加機能です。リファレンスマテリアル(API スタイルガイドなど)または `/<name>` でトリガーする呼び出し可能なワークフロー(`/deploy` など)です。Claude Code は `/code-review`、`/batch`、`/debug` などの[バンドルされたスキル](/ja/commands) を備えており、すぐに機能します。独自のスキルを作成することもできます。Claude は適切な場合にスキルを使用するか、直接呼び出すことができます。

243 265 

244 **時期:** スキルの設定によって異なります。デフォルトでは、説明はセッション開始時にロードされ、完全なコンテンツは使用時にロードされます。ユーザーのみのスキル(`disable-model-invocation: true`)の場合、呼び出すまで何もロードされません。266 **時期:** スキルの設定によって異なります。デフォルトでは、説明はセッション開始時にロードされ、完全なコンテンツは使用時にロードされます。ユーザーのみのスキル(`disable-model-invocation: true`)の場合、呼び出すまで何もロードされません。

245 267 


261 283 

262 **コンテキストコスト:** [ツール検索](/ja/mcp#scale-with-mcp-tool-search) はデフォルトで有効になっているため、アイドル MCP ツールは最小限のコンテキストを消費します。284 **コンテキストコスト:** [ツール検索](/ja/mcp#scale-with-mcp-tool-search) はデフォルトで有効になっているため、アイドル MCP ツールは最小限のコンテキストを消費します。

263 285 

264 **信頼性に関する注記:** MCP 接続はセッション中に静かに失敗する可能性があります。サーバーが切断されると、そのツールは警告なく消えます。Claude は以前アクセスできたツールを使用しようとする可能性があります。Claude が以前アクセスできた MCP ツールを使用できなくなったことに気付いた場合は、`/mcp` で接続を確認してください。

265 

266 <Tip>`/mcp` を実行してサーバーごとのトークンコストを確認します。積極的に使用していないサーバーを切断します。</Tip>286 <Tip>`/mcp` を実行してサーバーごとのトークンコストを確認します。積極的に使用していないサーバーを切断します。</Tip>

267 </Tab>287 </Tab>

268 288 

289 <Tab title="Code intelligence">

290 **時期:** ファイル編集後、および Claude がコードをナビゲートするときのオンデマンド。

291 

292 **ロード内容:** 各ファイル編集後の型エラーと警告。Claude がシンボルを検索するときの定義、参照、型情報。

293 

294 **コンテキストコスト:** 低い。シンボル検索は多くの場合、広範なファイル読み取りを置き換えるため、ネットコンテキスト使用量は減少する可能性があります。

295 

296 <Tip>LSP ツールは、言語の[コード intelligence プラグイン](/ja/discover-plugins#code-intelligence) をインストールするまで非アクティブです。</Tip>

297 </Tab>

298 

269 <Tab title="Subagents">299 <Tab title="Subagents">

270 **時期:** オンデマンド、タスクのためにあなたまたは Claude がスポーンするとき。300 **時期:** オンデマンド、タスクのためにあなたまたは Claude がスポーンするとき。

271 301 


292 </Tab>322 </Tab>

293</Tabs>323</Tabs>

294 324 

295## 詳細を学ぶ325<h2 id="learn-more">

326 詳細を学ぶ

327</h2>

296 328 

297各機能には、セットアップ指示、例、設定オプションを含む独自のガイドがあります。329各機能には、セットアップ指示、例、設定オプションを含む独自のガイドがあります。

298 330 

fullscreen.md +40 −13

Details

18 フルスクリーンという用語は、`vim` のようにターミナルの描画サーフェスを Claude Code が占有する方法を説明しています。ターミナルウィンドウを最大化することとは関係なく、任意のウィンドウサイズで動作します。18 フルスクリーンという用語は、`vim` のようにターミナルの描画サーフェスを Claude Code が占有する方法を説明しています。ターミナルウィンドウを最大化することとは関係なく、任意のウィンドウサイズで動作します。

19</Note>19</Note>

20 20 

21## フルスクリーンレンダリングを有効にする21<h2 id="enable-fullscreen-rendering">

22 フルスクリーンレンダリングを有効にする

23</h2>

22 24 

23Claude Code の会話内で `/tui fullscreen` を実行してください。CLI は [`tui` 設定](/ja/settings#available-settings)を保存し、会話をそのままにしてフルスクリーンで再起動するため、コンテキストを失わずにセッション中に切り替えることができます。引数なしで `/tui` を実行して、どのレンダラーがアクティブかを確認してください。25Claude Code の会話内で `/tui fullscreen` を実行してください。CLI は [`tui` 設定](/ja/settings#available-settings)を保存し、会話をそのままにしてフルスクリーンで再起動するため、コンテキストを失わずにセッション中に切り替えることができます。引数なしで `/tui` を実行して、どのレンダラーがアクティブかを確認してください。

24 26 


30 32 

31`tui` 設定と環境変数は同等です。`/tui` コマンドは再起動されたプロセスから `CLAUDE_CODE_NO_FLICKER` をクリアして、書き込まれた設定が有効になるようにします。33`tui` 設定と環境変数は同等です。`/tui` コマンドは再起動されたプロセスから `CLAUDE_CODE_NO_FLICKER` をクリアして、書き込まれた設定が有効になるようにします。

32 34 

33## 変更内容35<h2 id="what-changes">

36 変更内容

37</h2>

34 38 

35フルスクリーンレンダリングは CLI がターミナルに描画する方法を変更します。入力ボックスは出力がストリーミングされるときに移動するのではなく、画面の下部に固定されたままになります。Claude が作業中に入力が固定されたままの場合、フルスクリーンレンダリングがアクティブです。レンダーツリーに保持されるのは表示されているメッセージのみなので、会話の長さに関係なくメモリは一定に保たれます。39フルスクリーンレンダリングは CLI がターミナルに描画する方法を変更します。入力ボックスは出力がストリーミングされるときに移動するのではなく、画面の下部に固定されたままになります。Claude が作業中に入力が固定されたままの場合、フルスクリーンレンダリングがアクティブです。レンダーツリーに保持されるのは表示されているメッセージのみなので、会話の長さに関係なくメモリは一定に保たれます。

36 40 


44 48 

45マウスキャプチャがワークフローに干渉する場合、ちらつきのないレンダリングを保持しながら[オフにする](#keep-native-text-selection)ことができます。49マウスキャプチャがワークフローに干渉する場合、ちらつきのないレンダリングを保持しながら[オフにする](#keep-native-text-selection)ことができます。

46 50 

47## マウスを使用する51<h2 id="use-the-mouse">

52 マウスを使用する

53</h2>

48 54 

49フルスクリーンレンダリングはマウスイベントをキャプチャし、Claude Code 内で処理します。55フルスクリーンレンダリングはマウスイベントをキャプチャし、Claude Code 内で処理します。

50 56 

51* **プロンプト入力をクリック**して、入力しているテキスト内の任意の場所にカーソルを配置します。57* **プロンプト入力をクリック**して、入力しているテキスト内の任意の場所にカーソルを配置します。

58* **`/` コマンドまたは `@` ファイルリストの候補をクリック**して受け入れます。ホバーするとカーソルの下の行がハイライトされます。

52* **折りたたまれたツール結果をクリック**して展開し、完全な出力を表示します。もう一度クリックして折りたたみます。ツール呼び出しとその結果は一緒に展開されます。表示するものがあるメッセージのみがクリック可能です。59* **折りたたまれたツール結果をクリック**して展開し、完全な出力を表示します。もう一度クリックして折りたたみます。ツール呼び出しとその結果は一緒に展開されます。表示するものがあるメッセージのみがクリック可能です。

53* **URL またはファイルパスをクリック**して開きます。Edit または Write の後に出力されたものなど、ツール出力内のファイルパスはデフォルトアプリケーションで開きます。プレーン `http://` および `https://` URL はブラウザで開きます。ほとんどのターミナルでは、マウスキャプチャが傍受するネイティブな `Cmd` クリックまたは `Ctrl` クリックが置き換わります。VS Code 統合ターミナルおよび同様の xterm.js ベースのターミナルでは、`Cmd` クリックを使い続けてください。Claude Code はリンクが 2 回開かれるのを避けるため、そこではターミナル独自のリンクハンドラに従います。60* **URL またはファイルパスをクリック**して開きます。Edit または Write の後に出力されたものなど、ツール出力内のファイルパスはデフォルトアプリケーションで開きます。プレーン `http://` および `https://` URL はブラウザで開きます。ほとんどのターミナルでは、マウスキャプチャが傍受するネイティブな `Cmd` クリックまたは `Ctrl` クリックが置き換わります。VS Code 統合ターミナルおよび同様の xterm.js ベースのターミナルでは、`Cmd` クリックを使い続けてください。Claude Code はリンクが 2 回開かれるのを避けるため、そこではターミナル独自のリンクハンドラに従います。

54* **クリックしてドラッグ**して、会話内の任意の場所のテキストを選択します。ダブルクリックで単語を選択し、iTerm2 の単語境界に一致するため、ファイルパスは 1 つのユニットとして選択されます。トリプルクリックで行を選択します。61* **クリックしてドラッグ**して、会話内の任意の場所のテキストを選択します。ダブルクリックで単語を選択し、iTerm2 の単語境界に一致するため、ファイルパスは 1 つのユニットとして選択されます。トリプルクリックで行を選択します。

55* **マウスホイールでスクロール**して会話を移動します。62* **マウスホイールでスクロール**して会話を移動します。

56 63 

57選択されたテキストはマウスリリース時にクリップボードに自動的にコピーされます。これをオフにするには、`/config` で \[Copy on select] をトグルします。オフの場合、`Ctrl+Shift+c` を押して手動でコピーします。kitty、WezTerm、Ghostty、iTerm2 など kitty キーボードプロトコルをサポートするターミナルでは、`Cmd+c` も機能します。選択がアクティブな場合、`Ctrl+c` はキャンセルではなくコピーします。64選択されたテキストはマウスリリース時にクリップボードに自動的にコピーされます。これをオフにするには、`/config` で Copy on select をトグルします。オフの場合、`Ctrl+Shift+c` を押して手動でコピーします。kitty、WezTerm、Ghostty、iTerm2 など kitty キーボードプロトコルをサポートするターミナルでは、`Cmd+c` も機能します。選択がアクティブな場合、`Ctrl+c` はキャンセルではなくコピーします。

58 65 

59選択がアクティブな場合、`Shift` を押しながら矢印キーを押して、キーボードから選択を拡張します。`Shift+↑` と `Shift+↓` は、選択が上部または下部のエッジに達したときにビューポートをスクロールします。`Shift+Home` と `Shift+End` は、現在の行の開始または終了まで拡張します。66選択がアクティブな場合、`Shift` を押しながら矢印キーを押して、キーボードから選択を拡張します。`Shift+↑` と `Shift+↓` は、選択が上部または下部のエッジに達したときにビューポートをスクロールします。`Shift+Home` と `Shift+End` は、現在の行の開始または終了まで拡張します。

60 67 

61## 会話をスクロールする68<h2 id="scroll-the-conversation">

69 会話をスクロールする

70</h2>

62 71 

63フルスクリーンレンダリングはアプリ内でスクロールを処理します。これらのショートカットを使用してナビゲートしてください。72フルスクリーンレンダリングはアプリ内でスクロールを処理します。これらのショートカットを使用してナビゲートしてください。

64 73 


73 82 

74これらのアクションは再バインド可能です。[スクロールアクション](/ja/keybindings#scroll-actions)を参照して、半ページおよび全ページバリアントを含むアクション名の完全なリストを確認してください。これらにはデフォルトバインディングがありません。83これらのアクションは再バインド可能です。[スクロールアクション](/ja/keybindings#scroll-actions)を参照して、半ページおよび全ページバリアントを含むアクション名の完全なリストを確認してください。これらにはデフォルトバインディングがありません。

75 84 

76### 自動フォロー85<h3 id="auto-follow">

86 自動フォロー

87</h3>

77 88 

78上にスクロールすると自動フォローが一時停止され、新しい出力があなたを下部に戻しません。`Ctrl+End` を押すか、下部にスクロールしてフォローを再開します。89上にスクロールすると自動フォローが一時停止され、新しい出力があなたを下部に戻しません。`Ctrl+End` を押すか、下部にスクロールしてフォローを再開します。

79 90 

80自動フォローを完全にオフにして、ビューが置いた場所に留まるようにするには、`/config` を開き、Auto-scroll をオフに設定します。自動スクロールが無効な場合、ビューは独自に下部にジャンプすることはありません。権限プロンプトおよび応答が必要なその他のダイアログは、この設定に関係なく、ビューにスクロールします。91自動フォローを完全にオフにして、ビューが置いた場所に留まるようにするには、`/config` を開き、Auto-scroll をオフに設定します。自動スクロールが無効な場合、ビューは独自に下部にジャンプすることはありません。権限プロンプトおよび応答が必要なその他のダイアログは、この設定に関係なく、ビューにスクロールします。

81 92 

82### マウスホイールスクロール93<h3 id="mouse-wheel-scrolling">

94 マウスホイールスクロール

95</h3>

83 96 

84マウスホイールスクロールには、ターミナルが Claude Code にマウスイベントを転送する必要があります。ほとんどのターミナルはアプリケーションがそれを要求するときにこれを行います。iTerm2 はそれをプロファイルごとの設定にします。ホイールが何もしませんが `PgUp` と `PgDn` が機能する場合は、\[設定] → \[プロファイル] → \[ターミナル] を開き、\[マウスレポートを有効にする] をオンにします。同じ設定は、クリックして展開とテキスト選択が機能するためにも必要です。97マウスホイールスクロールには、ターミナルが Claude Code にマウスイベントを転送する必要があります。ほとんどのターミナルはアプリケーションがそれを要求するときにこれを行います。iTerm2 はそれをプロファイルごとの設定にします。ホイールが何もしませんが `PgUp` と `PgDn` が機能する場合は、\[設定] → \[プロファイル] → \[ターミナル] を開き、\[マウスレポートを有効にする] をオンにします。同じ設定は、クリックして展開とテキスト選択が機能するためにも必要です。

85 98 


95 108 

96スクロール速度を対話的に調整するには、`/scroll-speed` を実行します。ダイアログには、開いている間にスクロールできるルーラーが表示されるため、変更をすぐに感じることができます。`←` と `→` を押して調整し、`r` を押して自動検出されたデフォルトにリセットし、`Enter` を押して保存します。このコマンドは `CLAUDE_CODE_SCROLL_SPEED` 環境変数が設定する同じ値を書き込み、`~/.claude/settings.json` に永続化されます。このコマンドは JetBrains IDE ターミナルでは利用できません。109スクロール速度を対話的に調整するには、`/scroll-speed` を実行します。ダイアログには、開いている間にスクロールできるルーラーが表示されるため、変更をすぐに感じることができます。`←` と `→` を押して調整し、`r` を押して自動検出されたデフォルトにリセットし、`Enter` を押して保存します。このコマンドは `CLAUDE_CODE_SCROLL_SPEED` 環境変数が設定する同じ値を書き込み、`~/.claude/settings.json` に永続化されます。このコマンドは JetBrains IDE ターミナルでは利用できません。

97 110 

98### JetBrains IDE ターミナルでのスクロール111<h3 id="scroll-in-the-jetbrains-ide-terminal">

112 JetBrains IDE ターミナルでのスクロール

113</h3>

99 114 

100JetBrains IDE ターミナルでは、Claude Code は独自のスクロール処理を適用し、`CLAUDE_CODE_SCROLL_SPEED` を無視します。ターミナルは他のエミュレータよりもはるかに高いレートでスクロールイベントを送信するため、他の場所で調整された乗数はここでオーバーシュートします。115JetBrains IDE ターミナルでは、Claude Code は独自のスクロール処理を適用し、`CLAUDE_CODE_SCROLL_SPEED` を無視します。ターミナルは他のエミュレータよりもはるかに高いレートでスクロールイベントを送信するため、他の場所で調整された乗数はここでオーバーシュートします。

101 116 

1022025.2 では、ターミナルにはスクロールホイールのバグもあり、偽のアローキーと間違った方向のイベントが発生します。Claude Code はこれを実行時に検出し、自動的に軽減するため、トラックパッドとマウスホイールスクロールは設定なしで機能します。最適なスクロール体験を得るには、2025.3 以降にアップグレードしてください。Claude Code は、バグを検出した場合、初回スクロール時にヒントを表示します。1172025.2 では、ターミナルにはスクロールホイールのバグもあり、偽のアローキーと間違った方向のイベントが発生します。Claude Code はこれを実行時に検出し、自動的に軽減するため、トラックパッドとマウスホイールスクロールは設定なしで機能します。最適なスクロール体験を得るには、2025.3 以降にアップグレードしてください。Claude Code は、バグを検出した場合、初回スクロール時にヒントを表示します。

103 118 

104## 会話を検索およびレビューする119<h2 id="search-and-review-the-conversation">

120 会話を検索およびレビューする

121</h2>

105 122 

106`Ctrl+o` を押してノーマルプロンプトとトランスクリプトモードを切り替えます。最後のプロンプト、編集 diffstats を含むツール呼び出しの 1 行の概要、および最終応答のみを表示する、より静かなビューの場合は、`/focus` を実行してください。この設定はセッション全体で保持されます。オフにするには、`/focus` をもう一度実行してください。123`Ctrl+o` を押してノーマルプロンプトとトランスクリプトモードを切り替えます。最後のプロンプト、編集 diffstats を含むツール呼び出しの 1 行の概要、および最終応答のみを表示する、より静かなビューの場合は、`/focus` を実行してください。この設定はセッション全体で保持されます。オフにするには、`/focus` をもう一度実行してください。

107 124 


124 141 

125`Esc` または `q` を押してプロンプトに戻ります。142`Esc` または `q` を押してプロンプトに戻ります。

126 143 

127## 会話をクリアする144<h2 id="clear-the-conversation">

145 会話をクリアする

146</h2>

128 147 

1292 秒以内に `Ctrl+L` を 2 回押して `/clear` を実行し、新しい会話を開始します。最初のプレスは画面を再描画してヒントを表示します。2 番目のプレスは会話をクリアします。macOS では、`Cmd+K` をダブルプレスしても `/clear` が実行されます。1482 秒以内に `Ctrl+L` を 2 回押して `/clear` を実行し、新しい会話を開始します。最初のプレスは画面を再描画してヒントを表示します。2 番目のプレスは会話をクリアします。macOS では、`Cmd+K` をダブルプレスしても `/clear` が実行されます。

130 149 

131## tmux で使用する150<h2 id="use-with-tmux">

151 tmux で使用する

152</h2>

132 153 

133フルスクリーンレンダリングは tmux 内で機能しますが、3 つの注意点があります。154フルスクリーンレンダリングは tmux 内で機能しますが、3 つの注意点があります。

134 155 


144 165 

145tmux は同期出力をサポートしていないため、Claude Code を直接ターミナルで実行する場合よりも、再描画中により多くのちらつきが見える可能性があります。特に SSH 経由でちらつきが目立つ場合は、Claude Code を tmux の外の独自のターミナルタブで実行してください。166tmux は同期出力をサポートしていないため、Claude Code を直接ターミナルで実行する場合よりも、再描画中により多くのちらつきが見える可能性があります。特に SSH 経由でちらつきが目立つ場合は、Claude Code を tmux の外の独自のターミナルタブで実行してください。

146 167 

147## ネイティブテキスト選択を保持する168<h2 id="keep-native-text-selection">

169 ネイティブテキスト選択を保持する

170</h2>

148 171 

149マウスキャプチャは最も一般的な摩擦点です。特に SSH 経由または tmux 内です。Claude Code がマウスイベントをキャプチャすると、ターミナルのネイティブなコピーオンセレクトが機能しなくなります。クリックアンドドラッグで行う選択は Claude Code 内に存在し、ターミナルの選択バッファには存在しないため、tmux コピーモード、Kitty ヒント、および同様のツールはそれを見ることができません。172マウスキャプチャは最も一般的な摩擦点です。特に SSH 経由または tmux 内です。Claude Code がマウスイベントをキャプチャすると、ターミナルのネイティブなコピーオンセレクトが機能しなくなります。クリックアンドドラッグで行う選択は Claude Code 内に存在し、ターミナルの選択バッファには存在しないため、tmux コピーモード、Kitty ヒント、および同様のツールはそれを見ることができません。

150 173 


160 183 

161マウスキャプチャが無効な場合、`PgUp`、`PgDn`、`Ctrl+Home`、`Ctrl+End` を使用したキーボードスクロールは引き続き機能し、ターミナルはネイティブに選択を処理します。クリックしてカーソルを配置、クリックしてツール出力を展開、URL クリック、Claude Code 内でのホイールスクロールが失われます。184マウスキャプチャが無効な場合、`PgUp`、`PgDn`、`Ctrl+Home`、`Ctrl+End` を使用したキーボードスクロールは引き続き機能し、ターミナルはネイティブに選択を処理します。クリックしてカーソルを配置、クリックしてツール出力を展開、URL クリック、Claude Code 内でのホイールスクロールが失われます。

162 185 

163## リサーチプレビュー186<h2 id="research-preview">

187 リサーチプレビュー

188</h2>

164 189 

165フルスクリーンレンダリングはリサーチプレビュー機能です。一般的なターミナルエミュレータでテストされていますが、あまり一般的でないターミナルまたは異常な設定でレンダリングの問題が発生する可能性があります。190フルスクリーンレンダリングはリサーチプレビュー機能です。一般的なターミナルエミュレータでテストされていますが、あまり一般的でないターミナルまたは異常な設定でレンダリングの問題が発生する可能性があります。

166 191 

167問題が発生した場合は、Claude Code 内で `/feedback` を実行して報告するか、[claude-code GitHub リポジトリ](https://github.com/anthropics/claude-code/issues)で issue を開いてください。ターミナルエミュレータの名前とバージョンを含めてください。192問題が発生した場合は、Claude Code 内で `/feedback` を実行して報告するか、[claude-code GitHub リポジトリ](https://github.com/anthropics/claude-code/issues)で issue を開いてください。ターミナルエミュレータの名前とバージョンを含めてください。

168 193 

169フルスクリーンレンダリングをオフにするには、`/tui default` を実行するか、その方法で有効にした場合は `CLAUDE_CODE_NO_FLICKER` をアンセットしてください。保存された `tui` 設定に関係なくクラシックレンダラーを強制するには、`CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1` を設定してください。クラシックレンダラーはターミナルのネイティブスクロールバックに会話を保持するため、`Cmd+f` と tmux コピーモードは通常通り機能します。194フルスクリーンレンダリングをオフにするには、`/tui default` を実行するか、その方法で有効にした場合は `CLAUDE_CODE_NO_FLICKER` をアンセットしてください。保存された `tui` 設定に関係なくクラシックレンダラーを強制するには、`CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1` を設定してください。クラシックレンダラーはターミナルのネイティブスクロールバックに会話を保持するため、`Cmd+f` と tmux コピーモードは通常通り機能します。

195 

196[agent view](/ja/agent-view) または `claude attach` から開かれたバックグラウンドセッションは常にフルスクリーンレンダリングを使用します。アタッチするターミナルは代替スクリーンバッファに入ってセッションを表示し、クラシックレンダラーはそこではスクロールバックまたはマウスハンドリングがないため、`tui` 設定と `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` はそれらに適用されません。

Details

13</Note>13</Note>

14 14 

15<Info>15<Info>

16 **Claude Opus 4.7 が利用可能になりました。** Claude Code GitHub Actions はデフォルトで Sonnet を使用します。Opus 4.7 を使用するには、[model パラメータ](#breaking-changes-reference) を `claude-opus-4-7` に設定してください。16 **Claude Opus 4.8 が利用可能になりました。** Claude Code GitHub Actions はデフォルトで Sonnet を使用します。Opus 4.8 を使用するには、[model パラメータ](#breaking-changes-reference) を `claude-opus-4-8` に設定してください。

17</Info>17</Info>

18 18 

19## Claude Code GitHub Actions を使用する理由19## Claude Code GitHub Actions を使用する理由

github-enterprise-server.md +221 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# Claude Code と GitHub Enterprise Server

6 

7> Claude Code を自社ホストの GitHub Enterprise Server インスタンスに接続して、Web セッション、コードレビュー、プラグインマーケットプレイスを利用できます。

8 

9<Note>

10 GitHub Enterprise Server サポートは Team プランと Enterprise プランで利用できます。

11</Note>

12 

13GitHub Enterprise Server(GHES)サポートにより、組織は github.com ではなく自社管理の GitHub インスタンスでホストされているリポジトリで Claude Code を使用できます。管理者が GHES インスタンスを接続すると、開発者はリポジトリごとの設定なしで Web セッションを実行し、自動コードレビューを取得し、内部マーケットプレイスからプラグインをインストールできます。

14 

15github.com 上のリポジトリについては、[Claude Code on the web](/ja/claude-code-on-the-web) および [Code Review](/ja/code-review) を参照してください。Claude を独自の CI インフラストラクチャで実行するには、[GitHub Actions](/ja/github-actions) を参照してください。

16 

17<h2 id="what-works-with-github-enterprise-server">

18 GitHub Enterprise Server で動作する機能

19</h2>

20 

21以下の表は、Claude Code のどの機能が GHES をサポートしているか、および github.com の動作との違いを示しています。

22 

23| 機能 | GHES サポート | 注記 |

24| :--------------------- | :-------- | :--------------------------------------------------------------------------------------------------------- |

25| Claude Code on the web | ✅ サポート | 管理者が GHES インスタンスを 1 回接続すると、開発者は通常通り `claude --remote` または [claude.ai/code](https://claude.ai/code) を使用できます |

26| Code Review | ✅ サポート | github.com と同じ自動 PR レビュー |

27| Claude Security | ✅ サポート | Enterprise プランの公開ベータで [claude.ai/security](https://claude.ai/security) で利用可能 |

28| Teleport セッション | ✅ サポート | `--teleport` で Web とターミナル間でセッションを移動 |

29| プラグインマーケットプレイス | ✅ サポート | `owner/repo` ショートハンドの代わりに完全な git URL を使用 |

30| 貢献度メトリクス | ✅ サポート | [分析ダッシュボード](/ja/analytics) への Webhook 経由で配信 |

31| GitHub Actions | ✅ サポート | 手動ワークフロー設定が必要。`/install-github-app` は github.com のみ |

32| GitHub MCP サーバー | ❌ サポートなし | GitHub MCP サーバーは GHES インスタンスでは動作しません |

33 

34<h2 id="admin-setup">

35 管理者セットアップ

36</h2>

37 

38管理者が GHES インスタンスを Claude Code に 1 回接続します。その後、組織の開発者は追加の設定なしで GHES リポジトリを使用できます。Claude 組織への管理者アクセスと、GHES インスタンスで GitHub App を作成する権限が必要です。

39 

40ガイド付きセットアップは GitHub App マニフェストを生成し、GHES インスタンスにリダイレクトして 1 クリックでアプリを作成します。環境がリダイレクトフローをブロックしている場合は、[代替手動セットアップ](#manual-setup) が利用可能です。

41 

42<Steps>

43 <Step title="Claude Code 管理者設定を開く">

44 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) にアクセスして、GitHub Enterprise Server セクションを見つけます。

45 </Step>

46 

47 <Step title="ガイド付きセットアップを開始">

48 **Connect** をクリックします。接続の表示名と GHES ホスト名(例:`github.example.com`)を入力します。GHES インスタンスが自己署名証明書またはプライベート認証局を使用している場合は、CA 証明書をオプションフィールドに貼り付けます。

49 </Step>

50 

51 <Step title="GitHub App を作成">

52 **Continue to GitHub Enterprise** をクリックします。ブラウザが事前入力されたアプリマニフェストを含む GHES インスタンスにリダイレクトされます。設定を確認して **Create GitHub App** をクリックします。GHES はアプリ認証情報が自動的に保存された状態で Claude にリダイレクトします。

53 </Step>

54 

55 <Step title="リポジトリにアプリをインストール">

56 GHES インスタンスの GitHub App ページから、Claude がアクセスする必要があるリポジトリまたは組織にアプリをインストールします。最初はサブセットで開始して、後で追加できます。

57 </Step>

58 

59 <Step title="機能を有効化">

60 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) に戻り、GHES リポジトリの [Code Review](/ja/code-review#set-up-code-review)、Claude Security、および [貢献度メトリクス](/ja/analytics#enable-contribution-metrics) を github.com と同じ設定で有効化します。

61 </Step>

62</Steps>

63 

64<h3 id="github-app-permissions">

65 GitHub App の権限

66</h3>

67 

68マニフェストは、Web セッション、Code Review、Claude Security、および貢献度メトリクス全体で Claude が必要とする権限と Webhook イベントで GitHub App を設定します。

69 

70| 権限 | アクセス | 用途 |

71| :--------------- | :-------- | :-------------------- |

72| Contents | 読み取りと書き込み | リポジトリのクローンとブランチのプッシュ |

73| Pull requests | 読み取りと書き込み | PR の作成とレビューコメントの投稿 |

74| Issues | 読み取りと書き込み | Issue メンションへの応答 |

75| Checks | 読み取りと書き込み | Code Review チェック実行の投稿 |

76| Actions | 読み取り | 自動修正用の CI ステータスの読み取り |

77| Repository hooks | 読み取りと書き込み | 貢献度メトリクス用の Webhook 受信 |

78| Metadata | 読み取り | すべてのアプリで GitHub が必須 |

79 

80アプリは `pull_request`、`issue_comment`、`pull_request_review_comment`、`pull_request_review`、および `check_run` イベントをサブスクライブします。

81 

82<h3 id="manual-setup">

83 手動セットアップ

84</h3>

85 

86ネットワーク設定によってガイド付きリダイレクトフローがブロックされている場合は、Connect の代わりに **Add manually** をクリックします。[上記の権限とイベント](#github-app-permissions) を使用して GHES インスタンスで GitHub App を作成し、フォームにアプリ認証情報を入力します。ホスト名、OAuth クライアント ID とシークレット、GitHub App ID、クライアント ID、クライアントシークレット、Webhook シークレット、および秘密鍵です。

87 

88<h3 id="network-requirements">

89 ネットワーク要件

90</h3>

91 

92GHES インスタンスは Anthropic インフラストラクチャから到達可能である必要があります。これにより Claude はリポジトリをクローンしてレビューコメントを投稿できます。GHES インスタンスがファイアウォールの背後にある場合は、[Anthropic API IP アドレス](https://platform.claude.com/docs/en/api/ip-addresses) をホワイトリストに登録します。

93 

94<h2 id="developer-workflow">

95 開発者ワークフロー

96</h2>

97 

98管理者が GHES インスタンスを接続した後、開発者側の設定は不要です。Claude Code は作業ディレクトリの git リモートから GHES ホスト名を自動的に検出します。

99 

100通常通り GHES インスタンスからリポジトリをクローンします。

101 

102```bash theme={null}

103git clone git@github.example.com:platform/api-service.git

104cd api-service

105```

106 

107次に Web セッションを開始します。Claude は git リモートから GHES ホストを検出し、セッションを組織の設定されたインスタンスを通じてルーティングします。

108 

109```bash theme={null}

110claude --remote "Add retry logic to the payment webhook handler"

111```

112 

113セッションは Anthropic インフラストラクチャで実行され、GHES からリポジトリをクローンし、変更をブランチにプッシュバックします。`/tasks` で、または [claude.ai/code](https://claude.ai/code) で進捗を監視します。diff レビュー、自動修正、ルーチンを含む完全なリモートセッションワークフローについては、[Claude Code on the web](/ja/claude-code-on-the-web) を参照してください。

114 

115<h3 id="teleport-sessions-to-your-terminal">

116 セッションをターミナルに Teleport

117</h3>

118 

119`claude --teleport` で Web セッションをローカルターミナルにプルします。Teleport は、ブランチをフェッチしてセッション履歴を読み込む前に、同じ GHES リポジトリのチェックアウトにいることを確認します。詳細については、[teleport 要件](/ja/claude-code-on-the-web#teleport-requirements) を参照してください。

120 

121<h2 id="plugin-marketplaces-on-ghes">

122 GHES 上のプラグインマーケットプレイス

123</h2>

124 

125GHES インスタンスでプラグインマーケットプレイスをホストして、組織全体に内部ツールを配布します。マーケットプレイス構造は github.com でホストされているマーケットプレイスと同じです。唯一の違いはそれらを参照する方法です。

126 

127<h3 id="add-a-ghes-marketplace">

128 GHES マーケットプレイスを追加

129</h3>

130 

131`owner/repo` ショートハンドは常に github.com に解決されます。GHES でホストされているマーケットプレイスの場合は、完全な git URL を使用します。

132 

133```bash theme={null}

134/plugin marketplace add git@github.example.com:platform/claude-plugins.git

135```

136 

137HTTPS URL も機能します。

138 

139```bash theme={null}

140/plugin marketplace add https://github.example.com/platform/claude-plugins.git

141```

142 

143マーケットプレイスの構築の完全なガイドについては、[プラグインマーケットプレイスの作成と配布](/ja/plugin-marketplaces) を参照してください。

144 

145<h3 id="allowlist-ghes-marketplaces-in-managed-settings">

146 管理設定で GHES マーケットプレイスをホワイトリストに登録

147</h3>

148 

149組織が [管理設定](/ja/settings) を使用して開発者が追加できるマーケットプレイスを制限している場合は、`hostPattern` ソースタイプを使用して、各リポジトリを列挙することなく GHES インスタンスからすべてのマーケットプレイスを許可します。

150 

151```json theme={null}

152{

153 "strictKnownMarketplaces": [

154 {

155 "source": "hostPattern",

156 "hostPattern": "^github\\.example\\.com$"

157 }

158 ]

159}

160```

161 

162開発者向けにマーケットプレイスを事前登録して、手動セットアップなしで表示されるようにすることもできます。この例は、内部ツールマーケットプレイスを組織全体で利用可能にします。

163 

164```json theme={null}

165{

166 "extraKnownMarketplaces": {

167 "internal-tools": {

168 "source": {

169 "source": "git",

170 "url": "git@github.example.com:platform/claude-plugins.git"

171 }

172 }

173 }

174}

175```

176 

177完全なスキーマについては、[strictKnownMarketplaces](/ja/settings#strictknownmarketplaces) および [extraKnownMarketplaces](/ja/settings#extraknownmarketplaces) 設定リファレンスを参照してください。

178 

179<h2 id="limitations">

180 制限事項

181</h2>

182 

183いくつかの機能は GHES では github.com と異なる動作をします。[機能表](#what-works-with-github-enterprise-server) はサポートをまとめています。このセクションでは回避策について説明します。

184 

185* **`/install-github-app` コマンド**:claude.ai で [管理者セットアップ](#admin-setup) フローに従ってください。GHES で GitHub Actions ワークフローも必要な場合は、[サンプルワークフロー](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) を手動で適応させてください。

186* **GitHub MCP サーバー**:代わりに GHES ホスト用に設定された `gh` CLI を使用してください。`gh auth login --hostname github.example.com` を実行して認証し、Claude はセッションで `gh` コマンドを使用できます。

187 

188<h2 id="troubleshooting">

189 トラブルシューティング

190</h2>

191 

192<h3 id="web-session-fails-to-clone-repository">

193 Web セッションがリポジトリのクローンに失敗

194</h3>

195 

196`claude --remote` がクローンエラーで失敗する場合は、管理者が GHES インスタンスのセットアップを完了し、GitHub App が作業しているリポジトリにインストールされていることを確認してください。管理者に確認して、Claude 設定に登録されているインスタンスホスト名が git リモートのホスト名と一致することを確認してください。

197 

198<h3 id="marketplace-add-fails-with-a-policy-error">

199 マーケットプレイス追加がポリシーエラーで失敗

200</h3>

201 

202GHES URL の `/plugin marketplace add` がブロックされている場合、組織はマーケットプレイスソースを制限しています。管理者に [管理設定](#allowlist-ghes-marketplaces-in-managed-settings) で GHES ホスト名の `hostPattern` エントリを追加するよう依頼してください。

203 

204<h3 id="ghes-instance-not-reachable">

205 GHES インスタンスに到達不可

206</h3>

207 

208レビューまたは Web セッションがタイムアウトする場合、GHES インスタンスは Anthropic インフラストラクチャから到達不可能な可能性があります。ファイアウォールが [Anthropic API IP アドレス](https://platform.claude.com/docs/en/api/ip-addresses) からのインバウンド接続を許可していることを確認してください。

209 

210<h2 id="related-resources">

211 関連リソース

212</h2>

213 

214これらのページは、このガイド全体で参照されている機能をより詳しく説明しています。

215 

216* [Claude Code on the web](/ja/claude-code-on-the-web):クラウドインフラストラクチャで Claude Code セッションを実行

217* [Code Review](/ja/code-review):自動 PR レビュー

218* [プラグインマーケットプレイス](/ja/plugin-marketplaces):プラグインカタログの構築と配布

219* [分析](/ja/analytics):使用状況と貢献度メトリクスの追跡

220* [管理設定](/ja/settings):組織全体のポリシー設定

221* [ネットワーク設定](/ja/network-config):ファイアウォールと IP ホワイトリストの要件

glossary.md +197 −71

Details

8 8 

9この用語集は Claude Code の用語を定義しています。各エントリは、その概念について詳しく説明されているページにリンクしています。トークン、temperature、RAG などのモデルレベルの概念については、[プラットフォーム用語集](https://platform.claude.com/docs/ja/about-claude/glossary)を参照してください。9この用語集は Claude Code の用語を定義しています。各エントリは、その概念について詳しく説明されているページにリンクしています。トークン、temperature、RAG などのモデルレベルの概念については、[プラットフォーム用語集](https://platform.claude.com/docs/ja/about-claude/glossary)を参照してください。

10 10 

11## A11<h2 id="a">

12 A

13</h2>

12 14 

13### Agent teams15<h3 id="agent-teams">

16 Agent teams

17</h3>

14 18 

15複数の独立した Claude Code セッションがチームリーダーによって調整され、共有タスクリストとピアツーピアメッセージングを備えています。単一のセッション内で実行され、親にのみレポートする [subagents](#subagent) とは異なり、チームメイトはそれぞれ独自のコンテキストウィンドウを持ち、任意のメンバーと直接対話できます。Agent teams は実験的機能であり、`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` を設定して有効にする必要があります。19複数の独立した Claude Code セッションがチームリーダーによって調整され、共有タスクリストとピアツーピアメッセージングを備えています。単一のセッション内で実行され、親にのみレポートする [subagents](#subagent) とは異なり、チームメイトはそれぞれ独自のコンテキストウィンドウを持ち、任意のメンバーと直接対話できます。Agent teams は実験的機能であり、`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` を設定して有効にする必要があります。

16 20 

17詳細情報: [Run agent teams](/ja/agent-teams)21詳細情報: [Run agent teams](/ja/agent-teams)

18 22 

19### Agentic coding23<h3 id="agentic-coding">

24 Agentic coding

25</h3>

20 26 

21AI がファイルを読み取り、コマンドを実行し、自律的に変更を加えることができるワークフロー。あなたが見守ったり、リダイレクトしたり、立ち去ったりできます。これは、テキストのみで応答するチャットベースのアシスタントとは異なり、自分で適用する必要があります。Claude Code は agentic です。なぜなら、アドバイスするだけでなく、行動できる [tools](#tool) を持っているからです。27AI がファイルを読み取り、コマンドを実行し、自律的に変更を加えることができるワークフロー。あなたが見守ったり、リダイレクトしたり、立ち去ったりできます。これは、テキストのみで応答するチャットベースのアシスタントとは異なり、自分で適用する必要があります。Claude Code は agentic です。なぜなら、アドバイスするだけでなく、行動できる [tools](#tool) を持っているからです。

22 28 

23詳細情報: [How Claude Code works](/ja/how-claude-code-works)29詳細情報: [How Claude Code works](/ja/how-claude-code-works)

24 30 

25### Agentic harness31<h3 id="agentic-harness">

32 Agentic harness

33</h3>

26 34 

27言語モデルを有能なコーディングエージェントに変える、ツール、コンテキスト管理、実行環境。Claude Code はハーネスです。Claude はその中のモデルです。ハーネスはファイルアクセス、シェル実行、権限ゲーティング、メモリロード、およびアクションをチェーンするループを提供します。35言語モデルを有能なコーディングエージェントに変える、ツール、コンテキスト管理、実行環境。Claude Code はハーネスです。Claude はその中のモデルです。ハーネスはファイルアクセス、シェル実行、権限ゲーティング、メモリロード、およびアクションをチェーンするループを提供します。

28 36 

29詳細情報: [How Claude Code works](/ja/how-claude-code-works)37詳細情報: [How Claude Code works](/ja/how-claude-code-works)

30 38 

31### Agentic loop39<h3 id="agentic-loop">

40 Agentic loop

41</h3>

32 42 

33Claude がすべてのタスクで実行するサイクル: コンテキストを収集し、アクションを実行し、結果を検証し、完了するまで繰り返します。各ツール使用は次のステップに情報を提供します。ループはいつでも中断してリダイレクトできます。[hooks](#hook)、[skills](#skill)、[MCP](#mcp-model-context-protocol) を含むほとんどの拡張ポイントは、このループの特定のフェーズにプラグインします。43Claude がすべてのタスクで実行するサイクル: コンテキストを収集し、アクションを実行し、結果を検証し、完了するまで繰り返します。各ツール使用は次のステップに情報を提供します。ループはいつでも中断してリダイレクトできます。[hooks](#hook)、[skills](#skill)、[MCP](#mcp-model-context-protocol) を含むほとんどの拡張ポイントは、このループの特定のフェーズにプラグインします。

34 44 

35詳細情報: [How Claude Code works](/ja/how-claude-code-works#the-agentic-loop)45詳細情報: [How Claude Code works](/ja/how-claude-code-works#the-agentic-loop)

36 46 

37### Auto memory47<h3 id="auto-memory">

48 Auto memory

49</h3>

38 50 

39Claude が自分自身のために書いたメモ。あなたの修正と設定に基づいて、git リポジトリごとに `~/.claude/projects/` に保存されます。同じリポジトリのすべてのワークツリーは 1 つの auto memory ディレクトリを共有します。`MEMORY.md` インデックスの最初の 200 行または 25 KB がすべてのセッションの開始時にロードされます。Auto memory は、あなたが書く [CLAUDE.md](#claude-md) に対する Claude が書いた対応物です。51Claude が自分自身のために書いたメモ。あなたの修正と設定に基づいて、git リポジトリごとに `~/.claude/projects/` に保存されます。同じリポジトリのすべてのワークツリーは 1 つの auto memory ディレクトリを共有します。`MEMORY.md` インデックスの最初の 200 行または 25 KB がすべてのセッションの開始時にロードされます。Auto memory は、あなたが書く [CLAUDE.md](#claude-md) に対する Claude が書いた対応物です。

40 52 

41詳細情報: [Auto memory](/ja/memory#auto-memory)53詳細情報: [Auto memory](/ja/memory#auto-memory)

42 54 

43### Auto mode55<h3 id="auto-mode">

56 Auto mode

57</h3>

44 58 

45[permission mode](#permission-mode) の一種。承認プロンプトを表示する代わりに、別の分類器モデルがバックグラウンドで各アクションをレビューします。分類器はスコープエスカレーション、信頼されていないインフラストラクチャ、および [prompt injection](#prompt-injection) をブロックします。ツール結果を見ることはないため、注入された指示がその決定に影響を与えることはできません。Auto mode は Max、Team、Enterprise、API プランで利用可能な研究プレビューです59[permission mode](#permission-mode) の一種。承認プロンプトを表示する代わりに、別の分類器モデルがバックグラウンドで各アクションをレビューします。分類器はスコープエスカレーション、信頼されていないインフラストラクチャ、および [prompt injection](#prompt-injection) をブロックします。ツール結果を見ることはないため、注入された指示がその決定に影響を与えることはできません。Auto mode は研究プレビューです

46 60 

47詳細情報: [Eliminate prompts with auto mode](/ja/permission-modes#eliminate-prompts-with-auto-mode)61詳細情報: [Eliminate prompts with auto mode](/ja/permission-modes#eliminate-prompts-with-auto-mode)

48 62 

49## B63<h2 id="b">

64 B

65</h2>

50 66 

51### Bare mode67<h3 id="bare-mode">

68 Bare mode

69</h3>

52 70 

53スタートアップフラグ `--bare`。hooks、skills、plugins、MCP servers、auto memory、CLAUDE.md の自動検出をスキップします。明示的に渡したフラグのみが有効になります。ローカル設定に関係なく、マシン間で同じ動作が必要な CI とスクリプト呼び出しに推奨されます。71スタートアップフラグ `--bare`。hooks、skills、plugins、MCP servers、auto memory、CLAUDE.md の自動検出をスキップします。明示的に渡したフラグのみが有効になります。ローカル設定に関係なく、マシン間で同じ動作が必要な CI とスクリプト呼び出しに推奨されます。

54 72 

55詳細情報: [Start faster with bare mode](/ja/headless#start-faster-with-bare-mode)73詳細情報: [Start faster with bare mode](/ja/headless#start-faster-with-bare-mode)

56 74 

57### Bundled skills75<h3 id="bundled-skills">

76 Bundled skills

77</h3>

58 78 

59Claude Code に含まれるプロンプトベースのプレイブック。`/batch`、`/simplify`、`/debug`、`/loop` など。固定ロジックを実行する組み込みコマンドとは異なり、bundled skills は Claude に詳細なプロンプトを与え、作業をオーケストレーションさせるため、エージェントを生成し、ファイルを読み取り、コードベースに適応できます。79Claude Code に含まれるプロンプトベースのプレイブック。`/batch`、`/code-review`、`/debug`、`/loop` など。固定ロジックを実行する組み込みコマンドとは異なり、bundled skills は Claude に詳細なプロンプトを与え、作業をオーケストレーションさせるため、エージェントを生成し、ファイルを読み取り、コードベースに適応できます。

60 80 

61詳細情報: [Bundled skills](/ja/skills#bundled-skills)81詳細情報: [Bundled skills](/ja/skills#bundled-skills)

62 82 

63## C83<h2 id="c">

84 C

85</h2>

64 86 

65### Channel87<h3 id="channel">

88 Channel

89</h3>

66 90 

67[MCP server](#mcp-model-context-protocol) の一種。実行中のセッションにイベントをプッシュして、Claude がターミナルから離れている間に発生することに反応できるようにします。チャネルは双方向にできます。Claude は受信イベントを読み取り、同じチャネルを通じて返信します。Telegram、Discord、iMessage は研究プレビューに含まれています。91[MCP server](#mcp-model-context-protocol) の一種。実行中のセッションにイベントをプッシュして、Claude がターミナルから離れている間に発生することに反応できるようにします。チャネルは双方向にできます。Claude は受信イベントを読み取り、同じチャネルを通じて返信します。Telegram、Discord、iMessage は研究プレビューに含まれています。

68 92 

69詳細情報: [Channels](/ja/channels)93詳細情報: [Channels](/ja/channels)

70 94 

71### Checkpoint95<h3 id="checkpoint">

96 Checkpoint

97</h3>

72 98 

73各プロンプト送信時に作成されたリストアポイント。Claude Code はすべての編集の前にファイルをスナップショットするため、チェックポイントでそれらを復元できます。`Esc` を 2 回押すか `/rewind` を実行して、コード、会話、またはその両方を以前のポイントに復元するか、選択したメッセージから会話の一部を要約します。チェックポイントはセッションに対してローカルであり、git とは別であり、Bash ツールを通じて行われた変更は追跡しません。99各プロンプト送信時に作成されたリストアポイント。Claude Code はすべての編集の前にファイルをスナップショットするため、チェックポイントでそれらを復元できます。`Esc` を 2 回押すか `/rewind` を実行して、コード、会話、またはその両方を以前のポイントに復元するか、選択したメッセージから会話の一部を要約します。チェックポイントはセッションに対してローカルであり、git とは別であり、Bash ツールを通じて行われた変更は追跡しません。

74 100 

75詳細情報: [Checkpointing](/ja/checkpointing)101詳細情報: [Checkpointing](/ja/checkpointing)

76 102 

77### `.claude` directory103<h3 id="claude-directory">

104 `.claude` directory

105</h3>

78 106 

79Claude Code がプロジェクトスコープの設定を読み取るディレクトリ: 設定、hooks、skills、subagents、rules、auto memory。プロジェクトはそのルートに `.claude/` を持ちます。ユーザーレベルのデフォルトは `~/.claude/` にあります。107Claude Code がプロジェクトスコープの設定を読み取るディレクトリ: 設定、hooks、skills、subagents、rules、auto memory。プロジェクトはそのルートに `.claude/` を持ちます。ユーザーレベルのデフォルトは `~/.claude/` にあります。

80 108 

81詳細情報: [The `.claude` directory](/ja/claude-directory)109詳細情報: [The `.claude` directory](/ja/claude-directory)

82 110 

83### CLAUDE.md111<h3 id="claude-md">

112 CLAUDE.md

113</h3>

84 114 

85Claude のために書く永続的な指示のマークダウンファイル。システムプロンプトの後、ユーザーメッセージとしてすべてのセッションの開始時にロードされます。プロジェクト規約、アーキテクチャノート、「常に X を行う」ルールをここに配置します。CLAUDE.md は [compaction](#compaction) を生き残り、その後ディスクから新しく再読み込みされます。115Claude のために書く永続的な指示のマークダウンファイル。システムプロンプトの後、ユーザーメッセージとしてすべてのセッションの開始時にロードされます。プロジェクト規約、アーキテクチャノート、「常に X を行う」ルールをここに配置します。プロジェクトルート CLAUDE.md は [compaction](#compaction) を生き残り、その後ディスクから新しく再読み込みされます。

86 116 

87CLAUDE.md は `./CLAUDE.md` または `./.claude/CLAUDE.md` のプロジェクトスコープに、`~/.claude/CLAUDE.md` のユーザースコープに、または組織の [managed policy](#managed-settings) として配置できます。より具体的な場所が優先されます117CLAUDE.md は `./CLAUDE.md` または `./.claude/CLAUDE.md` のプロジェクトスコープに、`~/.claude/CLAUDE.md` のユーザースコープに、または組織の [managed policy](#managed-settings) として配置できます。検出されたすべてのファイルは、互いにオーバーライドするのではなく、最も広いスコープから最も具体的なスコープへの順序で、コンテキストに連結されます

88 118 

89詳細情報: [CLAUDE.md files](/ja/memory#claude-md-files)119詳細情報: [CLAUDE.md files](/ja/memory#claude-md-files)

90 120 

91### Command121<h3 id="command">

122 Command

123</h3>

92 124 

93プロンプトに `/name` と入力して呼び出す再利用可能な指示。`/clear`、`/model`、`/compact` などの組み込みコマンドはセッションを制御します。`.claude/commands/` のファイルとして独自のコマンドを定義するか、[plugin](#plugin) からインストールできます。[Skills](#skill) は複数ステップのコマンドをパッケージ化するための推奨される方法です。125プロンプトに `/name` と入力して呼び出す再利用可能な指示。`/clear`、`/model`、`/compact` などの組み込みコマンドはセッションを制御します。`.claude/commands/` のファイルとして独自のコマンドを定義するか、[plugin](#plugin) からインストールできます。[Skills](#skill) は複数ステップのコマンドをパッケージ化するための推奨される方法です。

94 126 

95詳細情報: [Commands](/ja/commands) · [Skills](/ja/skills)127詳細情報: [Commands](/ja/commands) · [Skills](/ja/skills)

96 128 

97### Compaction129<h3 id="compaction">

130 Compaction

131</h3>

98 132 

99[context window](#context-window) がその制限に近づくときの会話の自動要約。古いツール出力が最初にクリアされ、次に会話が要約されます。プロジェクトルート CLAUDE.md と auto memory は compaction を生き残り、ディスクから再ロードされます。会話でのみ与えられた指示は失われる可能性があります。`/compact` を手動でトリガーするか、オプションで `/compact focus on the API changes` のようなフォーカスを指定します。133[context window](#context-window) がその制限に近づくときの会話の自動要約。古いツール出力が最初にクリアされ、次に会話が要約されます。プロジェクトルート CLAUDE.md と auto memory は compaction を生き残り、ディスクから再ロードされます。会話でのみ与えられた指示は失われる可能性があります。`/compact` を手動でトリガーするか、オプションで `/compact focus on the API changes` のようなフォーカスを指定します。

100 134 

101詳細情報: [What survives compaction](/ja/context-window#what-survives-compaction) · [When context fills up](/ja/how-claude-code-works#when-context-fills-up)135詳細情報: [What survives compaction](/ja/context-window#what-survives-compaction) · [When context fills up](/ja/how-claude-code-works#when-context-fills-up)

102 136 

103### Context window137<h3 id="context-window">

138 Context window

139</h3>

104 140 

105セッションの作業メモリ。会話履歴、ファイルコンテンツ、コマンド出力、CLAUDE.md、auto memory、ロードされたスキル、システム指示を保持します。作業を進めるにつれて、コンテキストが満杯になるまで [compaction](#compaction) がそれを要約します。`/context` を実行して、スペースを使用しているものを確認します。基礎となるモデル概念については、[プラットフォーム用語集](https://platform.claude.com/docs/ja/about-claude/glossary#context-window)を参照してください。141セッションの作業メモリ。会話履歴、ファイルコンテンツ、コマンド出力、CLAUDE.md、auto memory、ロードされたスキル、システム指示を保持します。作業を進めるにつれて、コンテキストが満杯になるまで [compaction](#compaction) がそれを要約します。`/context` を実行して、スペースを使用しているものを確認します。基礎となるモデル概念については、[プラットフォーム用語集](https://platform.claude.com/docs/ja/about-claude/glossary#context-window)を参照してください。

106 142 

107詳細情報: [Explore the context window](/ja/context-window)143詳細情報: [Explore the context window](/ja/context-window)

108 144 

109## D145<h2 id="d">

146 D

147</h2>

110 148 

111### Dispatch149<h3 id="dispatch">

150 Dispatch

151</h3>

112 152 

113電話で開始されたタスクルーター。Claude モバイルアプリからコーディングタスクを送信すると、Desktop アプリで Claude Code セッションを生成します。プロンプトは自動的に正しいツールにルーティングされます。Pro および Max プランで利用可能です。153電話で開始されたタスクルーター。Claude モバイルアプリからコーディングタスクを送信すると、Desktop アプリで Claude Code セッションを生成します。プロンプトは自動的に正しいツールにルーティングされます。Pro および Max プランで利用可能です。

114 154 

115詳細情報: [Sessions from Dispatch](/ja/desktop#sessions-from-dispatch)155詳細情報: [Sessions from Dispatch](/ja/desktop#sessions-from-dispatch)

116 156 

117## E157<h2 id="e">

158 E

159</h2>

118 160 

119### Effort level161<h3 id="effort-level">

162 Effort level

163</h3>

120 164 

121各ターンで Claude が適応的推論思考予算をどの程度使用するかを制御する設定。より高い努力はより多くの思考トークンとより深い推論を意味し、より低い努力はより速く、より安価です。Effort は Opus 4.7、Opus 4.6、Sonnet 4.6 でサポートされています。165各ターンで Claude が適応的推論思考予算をどの程度使用するかを制御する設定。より高い努力はより多くの思考トークンとより深い推論を意味し、より低い努力はより速く、より安価です。Effort は Opus 4.6 以降および Sonnet 4.6 でサポートされています。

122 166 

123詳細情報: [Adjust effort level](/ja/model-config#adjust-effort-level)167詳細情報: [Adjust effort level](/ja/model-config#adjust-effort-level)

124 168 

125### Extended thinking169<h3 id="extended-thinking">

170 Extended thinking

171</h3>

126 172 

127モデルが応答する前に実行する可視的なステップバイステップの推論。`MAX_THINKING_TOKENS` で思考トークンをキャップするか、[effort level](#effort-level) を調整できます。思考はターミナルのグレーイタリックテキストで表示されます。173モデルが応答する前に実行する可視的なステップバイステップの推論。`MAX_THINKING_TOKENS` で思考トークンをキャップするか、[effort level](#effort-level) を調整できます。思考はターミナルのグレーイタリックテキストで表示されます。

128 174 

129詳細情報: [Use extended thinking](/ja/model-config#extended-thinking)175詳細情報: [Use extended thinking](/ja/model-config#extended-thinking)

130 176 

131## H177<h2 id="h">

178 H

179</h2>

132 180 

133### Hook181<h3 id="hook">

182 Hook

183</h3>

134 184 

135Claude Code のライフサイクルの特定のポイント(ツール実行前、ファイル編集後、セッション開始時など)で自動的に実行されるユーザー定義ハンドラー。ハンドラーはシェルコマンド、HTTP エンドポイント、MCP ツール、LLM プロンプト、または subagent にできます。Hooks は決定論的です。モデルの裁量ではなく、固定ライフサイクルポイントで発火します。185Claude Code のライフサイクルの特定のポイント(ツール実行前、ファイル編集後、セッション開始時など)で自動的に実行されるユーザー定義ハンドラー。ハンドラーはシェルコマンド、HTTP エンドポイント、MCP ツール、LLM プロンプト、または subagent にできます。Hooks は決定論的です。モデルの裁量ではなく、固定ライフサイクルポイントで発火します。

136 186 


142 192 

143詳細情報: [Get started with hooks](/ja/hooks-guide) · [Hooks reference](/ja/hooks)193詳細情報: [Get started with hooks](/ja/hooks-guide) · [Hooks reference](/ja/hooks)

144 194 

145## M195<h2 id="m">

196 M

197</h2>

146 198 

147### Managed settings199<h3 id="managed-settings">

200 Managed settings

201</h3>

148 202 

149IT または DevOps によって組織全体で実施される設定ファイル。`~/.claude` の外の OS レベルパスに配置されます。ユーザーは managed settings をオーバーライドまたは除外することはできません。セキュリティポリシー、コンプライアンス要件、またはフロート全体の標準化されたツールに使用します。203IT または DevOps によって組織全体で実施される設定ファイル。`~/.claude` の外の OS レベルパスに配置されます。ユーザーは managed settings をオーバーライドまたは除外することはできません。セキュリティポリシー、コンプライアンス要件、またはフロート全体の標準化されたツールに使用します。

150 204 

151詳細情報: [Server-managed settings](/ja/server-managed-settings)205詳細情報: [Server-managed settings](/ja/server-managed-settings)

152 206 

153### MCP (Model Context Protocol)207<h3 id="mcp-model-context-protocol">

208 MCP (Model Context Protocol)

209</h3>

154 210 

155AI ツールを外部データソースとサービスに接続するためのオープン標準。MCP servers は Claude に Slack、Jira、データベース、ブラウザ、および数百の他の統合用の新しいツールを提供します。`/mcp` を使用するか、`.mcp.json` に追加してサーバーを接続します。プロトコル自体については、[プラットフォーム用語集](https://platform.claude.com/docs/ja/about-claude/glossary#mcp-model-context-protocol)を参照してください。211AI ツールを外部データソースとサービスに接続するためのオープン標準。MCP servers は Claude に Slack、Jira、データベース、ブラウザ、および数百の他の統合用の新しいツールを提供します。`/mcp` を使用するか、`.mcp.json` に追加してサーバーを接続します。プロトコル自体については、[プラットフォーム用語集](https://platform.claude.com/docs/ja/about-claude/glossary#mcp-model-context-protocol)を参照してください。

156 212 

157詳細情報: [Model Context Protocol](/ja/mcp)213詳細情報: [Model Context Protocol](/ja/mcp)

158 214 

159### MCP Tool Search215<h3 id="mcp-tool-search">

216 MCP Tool Search

217</h3>

160 218 

161コンテキスト節約メカニズム。MCP ツールスキーマを必要になるまで遅延させます。スタートアップ時にはツール名のみがロードされます。Claude は特定のツールを使用することを決定したときにオンデマンドで完全なスキーマを取得します。これにより、アイドル MCP servers がコンテキストをあまり消費しないようにします。219コンテキスト節約メカニズム。MCP ツールスキーマを必要になるまで遅延させます。スタートアップ時にはツール名のみがロードされます。Claude は特定のツールを使用することを決定したときにオンデマンドで完全なスキーマを取得します。これにより、アイドル MCP servers がコンテキストをあまり消費しないようにします。

162 220 

163詳細情報: [Scale with MCP Tool Search](/ja/mcp#scale-with-mcp-tool-search)221詳細情報: [Scale with MCP Tool Search](/ja/mcp#scale-with-mcp-tool-search)

164 222 

165## N223<h2 id="n">

224 N

225</h2>

166 226 

167### Non-interactive mode227<h3 id="non-interactive-mode">

228 Non-interactive mode

229</h3>

168 230 

169単一のプロンプトを実行して会話セッションなしで終了するモード。`-p` または `--print` で呼び出されます。CI、スクリプト、パイピングに使用されます。[Agent SDK](/ja/agent-sdk/overview) は Python および TypeScript の同等物です。以前は headless mode と呼ばれていました。231単一のプロンプトを実行して会話セッションなしで終了するモード。`-p` または `--print` で呼び出されます。CI、スクリプト、パイピングに使用されます。[Agent SDK](/ja/agent-sdk/overview) は Python および TypeScript の同等物です。以前は headless mode と呼ばれていました。

170 232 

171詳細情報: [Run Claude Code programmatically](/ja/headless)233詳細情報: [Run Claude Code programmatically](/ja/headless)

172 234 

173## O235<h2 id="o">

236 O

237</h2>

174 238 

175### Output style239<h3 id="output-style">

240 Output style

241</h3>

176 242 

177Claude のシステムプロンプトを変更して応答動作、トーン、または形式を変更する設定です。Output styles は、システムプロンプトの後にユーザーメッセージとして配信される [CLAUDE.md](#claude-md) とは異なり、デフォルトシステムプロンプトのソフトウェアエンジニアリング固有の部分をオフにします。組み込みスタイルには Default、Proactive、Explanatory、Learning が含まれます。243Claude のシステムプロンプトを変更して応答動作、トーン、または形式を変更する設定です。Output styles は、システムプロンプトの後にユーザーメッセージとして配信される [CLAUDE.md](#claude-md) とは異なり、デフォルトシステムプロンプトのソフトウェアエンジニアリング固有の部分をオフにします。組み込みスタイルには Default、Proactive、Explanatory、Learning が含まれます。

178 244 

179詳細情報: [Output styles](/ja/output-styles)245詳細情報: [Output styles](/ja/output-styles)

180 246 

181## P247<h2 id="p">

248 P

249</h2>

182 250 

183### Permission mode251<h3 id="permission-mode">

252 Permission mode

253</h3>

184 254 

185セッションのベースライン承認動作。CLI で `Shift+Tab` でサイクルするか、VS Code、Desktop、claude.ai のモードセレクターを使用します。利用可能なモードは `default`、`acceptEdits`、`plan`、`auto`、`dontAsk`、`bypassPermissions` です。255セッションのベースライン承認動作。CLI で `Shift+Tab` でサイクルするか、VS Code、Desktop、claude.ai のモードセレクターを使用します。利用可能なモードは `default`、`acceptEdits`、`plan`、`auto`、`dontAsk`、`bypassPermissions` です。

186 256 

187詳細情報: [パーミッションモードを選択する](/ja/permission-modes)257詳細情報: [Choose a permission mode](/ja/permission-modes)

188 258 

189### Permission rule259<h3 id="permission-rule">

260 Permission rule

261</h3>

190 262 

191ツール名と引数パターンに基づいてツール呼び出しを許可、質問、または拒否する設定エントリ。ルールは deny→ask→allow で評価され、最初にマッチしたものが優先されます。Permission rules は、より広い [permission mode](#permission-mode) の上に層状化された細粒度制御です。263ツール名と引数パターンに基づいてツール呼び出しを許可、質問、または拒否する設定エントリ。ルールは deny→ask→allow で評価され、最初にマッチしたものが優先されます。Permission rules は、より広い [permission mode](#permission-mode) の上に層状化された細粒度制御です。

192 264 

193詳細情報: [パーミッションを設定する](/ja/permissions)265詳細情報: [Configure permissions](/ja/permissions)

194 266 

195### Plan mode267<h3 id="plan-mode">

268 Plan mode

269</h3>

196 270 

197[permission mode](#permission-mode) の一種。Claude はソースファイルを編集せずに変更を研究および提案します。読み取り、検索、探索コマンドを実行でき、その後、何かに触れる前に承認用の計画を提示します。`/plan` を入力するか、`Shift+Tab` を押して plan mode に入ります。271[permission mode](#permission-mode) の一種。Claude はソースファイルを編集せずに変更を研究および提案します。読み取り、検索、探索コマンドを実行でき、その後、何かに触れる前に承認用の計画を提示します。`/plan` を入力するか、`Shift+Tab` を押して plan mode に入ります。

198 272 

199詳細情報: [編集する前に分析する(plan mode を使用)](/ja/permission-modes#analyze-before-you-edit-with-plan-mode)273詳細情報: [Analyze before you edit with plan mode](/ja/permission-modes#analyze-before-you-edit-with-plan-mode)

200 274 

201### Plugin275<h3 id="plugin">

276 Plugin

277</h3>

202 278 

203skills、hooks、subagents、MCP servers のバンドル。単一のインストール可能なユニットとしてパッケージ化されます。Plugin skills は `plugin-name:skill-name` として名前空間化されるため、複数のプラグインが共存できます。[marketplace](/ja/plugin-marketplaces) を通じてチーム全体にプラグインを配布します。279skills、hooks、subagents、MCP servers のバンドル。単一のインストール可能なユニットとしてパッケージ化されます。Plugin skills は `plugin-name:skill-name` として名前空間化されるため、複数のプラグインが共存できます。[marketplace](/ja/plugin-marketplaces) を通じてチーム全体にプラグインを配布します。

204 280 

205詳細情報: [Plugins](/ja/plugins)281詳細情報: [Plugins](/ja/plugins)

206 282 

207### Project trust283<h3 id="project-trust">

284 Project trust

285</h3>

208 286 

209Claude Code がその設定をロードする前に、ディレクトリを受け入れるダイアログ。受け入れはプロジェクトディレクトリごとに保存されます。ただし、ホームディレクトリの場合は、信頼は現在のセッションのみ保持され、起動するたびにプロンプトが再度表示されます。Trust は marketplace プラグインの自動インストールとプロジェクト定義フックの実行をゲートします。ディレクトリを信頼することは、その `.claude/settings.json`、`.mcp.json`、および他の設定ファイルが有効になることを意味します。287Claude Code がその設定をロードする前に、ディレクトリを受け入れるダイアログ。受け入れはプロジェクトディレクトリごとに保存されます。ただし、ホームディレクトリの場合は、信頼は現在のセッションのみ保持され、起動するたびにプロンプトが再度表示されます。Trust は marketplace プラグインの自動インストールとプロジェクト定義フックの実行をゲートします。ディレクトリを信頼することは、その `.claude/settings.json`、`.mcp.json`、および他の設定ファイルが有効になることを意味します。

210 288 

211詳細情報: [`.claude` ディレクトリ](/ja/claude-directory)289詳細情報: [The `.claude` directory](/ja/claude-directory)

212 290 

213### Prompt injection291<h3 id="prompt-injection">

292 Prompt injection

293</h3>

214 294 

215ファイル、ウェブページ、またはツール結果に埋め込まれた敵対的な指示。Claude を、あなたが決して求めなかったアクションにリダイレクトしようとします。Claude Code の防御には、権限システム、コマンドブロックリスト、信頼検証が含まれます。[Auto mode](#auto-mode) は、ツール結果の疑わしいコンテンツをスキャンするサーバー側プローブと、ツール結果を見ない分類器を追加します。そのため、注入されたテキストが承認決定に影響を与えることはできません。295ファイル、ウェブページ、またはツール結果に埋め込まれた敵対的な指示。Claude を、あなたが決して求めなかったアクションにリダイレクトしようとします。Claude Code の防御には、権限システム、コマンドブロックリスト、信頼検証が含まれます。[Auto mode](#auto-mode) は、ツール結果の疑わしいコンテンツをスキャンするサーバー側プローブと、ツール結果を見ない分類器を追加します。そのため、注入されたテキストが承認決定に影響を与えることはできません。

216 296 

217詳細情報: [プロンプトインジェクションから保護する](/ja/security#protect-against-prompt-injection)297詳細情報: [Protect against prompt injection](/ja/security#protect-against-prompt-injection)

218 298 

219## R299<h2 id="r">

300 R

301</h2>

220 302 

221### Remote Control303<h3 id="remote-control">

304 Remote Control

305</h3>

222 306 

223ローカル Claude Code セッションを電話またはブラウザから claude.ai 経由で続行する方法。コードはマシンに留まります。UI のみがリモートです。クラウドサンドボックスで実行される web 上の Claude Code とは異なります。307ローカル Claude Code セッションを電話またはブラウザから claude.ai 経由で続行する方法。コードはマシンに留まります。UI のみがリモートです。クラウドサンドボックスで実行される web 上の Claude Code とは異なります。

224 308 

225詳細情報: [Remote Control](/ja/remote-control)309詳細情報: [Remote Control](/ja/remote-control)

226 310 

227### Rules311<h3 id="rules">

312 Rules

313</h3>

228 314 

229`.claude/rules/` のモジュール化された指示ファイル。CLAUDE.md と一緒にロードされます。ルールは YAML `paths:` frontmatter でパススコープできるため、Claude が一致するファイルを読み取るときのみロードされ、関連になるまでコンテキストを精力的に保ちます。315`.claude/rules/` のモジュール化された指示ファイル。CLAUDE.md と一緒にロードされます。ルールは YAML `paths:` frontmatter でパススコープできるため、Claude が一致するファイルを読み取るときのみロードされ、関連になるまでコンテキストを精力的に保ちます。

230 316 

231詳細情報: [Organize rules with `.claude/rules/`](/ja/memory#organize-rules-with-claude/rules/)317詳細情報: [Organize rules with `.claude/rules/`](/ja/memory#organize-rules-with-claude/rules/)

232 318 

233## S319<h2 id="s">

320 S

321</h2>

234 322 

235### Sandboxing323<h3 id="sandboxing">

324 Sandboxing

325</h3>

236 326 

237Bash ツールの OS レベルのファイルシステムおよびネットワーク分離。コマンドは事前に定義した境界内で実行されるため、Claude はコマンドごとの承認プロンプトなしで自由に作業できます。Sandboxing は [permission rules](#permission-rule) とは別のレイヤーです。327Bash ツールの OS レベルのファイルシステムおよびネットワーク分離。コマンドは事前に定義した境界内で実行されるため、Claude はコマンドごとの承認プロンプトなしで自由に作業できます。Sandboxing は [permission rules](#permission-rule) とは別のレイヤーです。

238 328 

239詳細情報: [Sandboxing](/ja/sandboxing)329詳細情報: [Sandboxing](/ja/sandboxing)

240 330 

241### Session331<h3 id="session">

332 Session

333</h3>

242 334 

243現在のディレクトリに関連付けられた会話。独自の独立した [context window](#context-window) を持ちます。セッションは `claude -c` で再開でき、`--fork-session` でフォークして履歴を新しいセッション ID の下に保存でき、またはターミナル全体で並列実行できます。`/clear` を実行すると新しいセッションが開始されます。前のセッションは保存されたままで、`/resume` を通じて利用可能です。各セッションのトランスクリプトは `~/.claude/projects/` に保存されます。335現在のディレクトリに関連付けられた会話。独自の独立した [context window](#context-window) を持ちます。セッションは `claude -c` で再開でき、`--fork-session` でフォークして履歴を新しいセッション ID の下に保存でき、またはターミナル全体で並列実行できます。`/clear` を実行すると新しいセッションが開始されます。前のセッションは保存されたままで、`/resume` を通じて利用可能です。各セッションのトランスクリプトは `~/.claude/projects/` に保存されます。

244 336 

245詳細情報: [Work with sessions](/ja/how-claude-code-works#work-with-sessions)337詳細情報: [Work with sessions](/ja/how-claude-code-works#work-with-sessions)

246 338 

247### Settings layers339<h3 id="settings-layers">

340 Settings layers

341</h3>

248 342 

249Claude Code が設定を読み取る階層。優先順位の高い順から低い順: [managed policy](#managed-settings)、コマンドライン引数、`.claude/settings.local.json` のローカル設定、`.claude/settings.json` のプロジェクト設定、`~/.claude/settings.json` のユーザー設定。配列はレイヤー全体でマージされます。スカラーは高いレイヤーで低いレイヤーをオーバーライドします。343Claude Code が設定を読み取る階層。優先順位の高い順から低い順: [managed policy](#managed-settings)、コマンドライン引数、`.claude/settings.local.json` のローカル設定、`.claude/settings.json` のプロジェクト設定、`~/.claude/settings.json` のユーザー設定。配列はレイヤー全体でマージされます。スカラーは高いレイヤーで低いレイヤーをオーバーライドします。

250 344 

251詳細情報: [Settings files](/ja/settings#settings-files)345詳細情報: [Settings files](/ja/settings#settings-files)

252 346 

253### Skill347<h3 id="skill">

348 Skill

349</h3>

254 350 

255指示、知識、またはワークフローを含む `SKILL.md` ファイル。Claude はそれをツールキットに追加します。Claude は関連する場合に自動的にスキルをロードするか、`/skill-name` で直接呼び出します。Skills は Agent Skills オープン標準に従います。Claude Code はそれを呼び出し制御と subagent 実行で拡張します。351指示、知識、またはワークフローを含む `SKILL.md` ファイル。Claude はそれをツールキットに追加します。Claude は関連する場合に自動的にスキルをロードするか、`/skill-name` で直接呼び出します。Skills は Agent Skills オープン標準に従います。Claude Code はそれを呼び出し制御と subagent 実行で拡張します。

256 352 


258 354 

259詳細情報: [Extend Claude with skills](/ja/skills)355詳細情報: [Extend Claude with skills](/ja/skills)

260 356 

261### Subagent357<h3 id="subagent">

358 Subagent

359</h3>

262 360 

263独自のコンテキストウィンドウ、カスタムシステムプロンプト、特定のツールアクセス、独立した権限で実行される特化した AI アシスタント。委任されたタスクで機能し、メイン会話に要約を返します。大規模な探索をプライマリコンテキストから除外するか、並列研究を実行するために subagents を使用します。各エージェントが直接対話できる完全な独立したセッションである [agent teams](#agent-teams) とは異なります。361独自のコンテキストウィンドウ、カスタムシステムプロンプト、特定のツールアクセス、独立した権限で実行される特化した AI アシスタント。委任されたタスクで機能し、メイン会話に要約を返します。大規模な探索をプライマリコンテキストから除外するか、並列研究を実行するために subagents を使用します。各エージェントが直接対話できる完全な独立したセッションである [agent teams](#agent-teams) とは異なります。

264 362 


266 364 

267詳細情報: [Create custom subagents](/ja/sub-agents)365詳細情報: [Create custom subagents](/ja/sub-agents)

268 366 

269### Surface367<h3 id="surface">

368 Surface

369</h3>

270 370 

271Claude Code にアクセスする任意の場所: CLI、VS Code、JetBrains、Desktop、または claude.ai。すべてのサーフェスは同じエンジンを共有するため、CLAUDE.md、設定、スキルはすべてのサーフェスで同じように機能します。Slack と Chrome 拡張機能は、サーフェス自体ではなくサーフェスに接続する統合です。371Claude Code にアクセスする任意の場所: CLI、VS Code、JetBrains、Desktop、または claude.ai。すべてのサーフェスは同じエンジンを共有するため、CLAUDE.md、設定、スキルはすべてのサーフェスで同じように機能します。Slack と Chrome 拡張機能は、サーフェス自体ではなくサーフェスに接続する統合です。

272 372 

273詳細情報: [Platforms and integrations](/ja/platforms)373詳細情報: [Platforms and integrations](/ja/platforms)

274 374 

275## T375<h2 id="t">

376 T

377</h2>

276 378 

277### Teleport379<h3 id="teleport">

380 Teleport

381</h3>

278 382 

279コマンド `/teleport`。クラウド Claude Code セッションをローカルターミナルにプルします。Claude はブランチをフェッチし、会話履歴をロードし、web セッションの最後の状態から再開します。逆方向は `--remote` です。ローカルタスクを web で実行するために送信します。383コマンド `/teleport`。クラウド Claude Code セッションをローカルターミナルにプルします。Claude はブランチをフェッチし、会話履歴をロードし、web セッションの最後の状態から再開します。逆方向は `--remote` です。ローカルタスクを web で実行するために送信します。

280 384 

281詳細情報: [web からターミナルへ](/ja/claude-code-on-the-web#from-web-to-terminal)385詳細情報: [From web to terminal](/ja/claude-code-on-the-web#from-web-to-terminal)

282 386 

283### Tool387<h3 id="tool">

388 Tool

389</h3>

284 390 

285Claude が実行できるアクション: ファイルを読み取る、コードを編集する、シェルコマンドを実行する、web を検索する、subagent を生成する。Tools は Claude Code を agentic にするものです。それらなしでは、Claude はテキストのみで応答できます。各ツール使用は、[agentic loop](#agentic-loop) での Claude の次の決定に情報を提供する結果を返します。391Claude が実行できるアクション: ファイルを読み取る、コードを編集する、シェルコマンドを実行する、web を検索する、subagent を生成する。Tools は Claude Code を agentic にするものです。それらなしでは、Claude はテキストのみで応答できます。各ツール使用は、[agentic loop](#agentic-loop) での Claude の次の決定に情報を提供する結果を返します。

286 392 

287詳細情報: [Claude が利用可能なツール](/ja/tools-reference)393詳細情報: [Tools available to Claude](/ja/tools-reference)

394 

395<h3 id="turn">

396 Turn

397</h3>

398 

399Claude が [session](#session) 内で行う 1 つの完全な応答です。Turn は、メッセージを送信するときに開始され、Claude が応答を終了するときに終了します。その間に任意の数の [tool](#tool) 呼び出しがあります。[Stop hooks](#hook) は各 turn の終了時に発火します。セッションは多くの turn で構成され、[agentic loop](#agentic-loop) は 1 つの内部で何が起こるかを説明します。

400 

401詳細情報: [How Claude Code works](/ja/how-claude-code-works#the-agentic-loop)

402 

403<h2 id="v">

404 V

405</h2>

288 406 

289### Turn407<h3 id="verification-loop">

408 Verification loop

409</h3>

290 410 

291Claude が [セッション](#session) 内で行う 1 つの完全な応答ですTurn は、メッセージを送信するときに開始され、Claude が応答を終了するときに終了します。その間に任意の数の [ツール](#tool) 呼び出しがあります。[Stop hooks](#hook) は各 turn の終了時に発火しますセッションは多くの turn で構成され[agentic loop](#agentic-loop) は 1 つの内部で何が起こるかを説明します411セッションが作業が実際に完了したことを知る方法。テストスイート、ビルド、またはスクリーンショット比較など、Claude が実行できるチェックを提供します。Claude はチェックが成功するまで反復します。1 回の試行後に停止するのではなくVerification loop [`/goal`](/ja/goal)、無人実行、および [dynamic workflows](/ja/workflows) の前提条件ですそれなしではエージェントが完了したことを決定する唯一のものはエージェント自体です

292 412 

293詳細情報: [Claude Code の仕組み](/ja/how-claude-code-works#the-agentic-loop)413詳細情報: [Give Claude a way to verify its work](/ja/best-practices#give-claude-a-way-to-verify-its-work)

294 414 

295## W415<h2 id="w">

416 W

417</h2>

296 418 

297### Worktree isolation419<h3 id="worktree-isolation">

420 Worktree isolation

421</h3>

298 422 

299Claude を `.claude/worktrees/` の別の git worktree で実行する分離モード。`-w` フラグまたは subagent 設定の `isolation: worktree` で有効にされます。変更は別のブランチの別のディレクトリに留まるため、並列エージェントはお互いのファイルを上書きしません。423Claude を `.claude/worktrees/` の別の git worktree で実行する分離モード。`-w` フラグまたは subagent 設定の `isolation: worktree` で有効にされます。変更は別のブランチの別のディレクトリに留まるため、並列エージェントはお互いのファイルを上書きしません。

300 424 


302 426 

303***427***

304 428 

305## 非推奨および名前変更された用語429<h2 id="deprecated-and-renamed-terms">

430 非推奨および名前変更された用語

431</h2>

306 432 

307これらの用語は古いドキュメント、ブログ投稿、コミュニティコンテンツに表示されます。このサイトを検索するときは現在の名前を使用してください。433これらの用語は古いドキュメント、ブログ投稿、コミュニティコンテンツに表示されます。このサイトを検索するときは現在の名前を使用してください。

308 434 

goal.md +34 −12

Details

21 21 

22このページでは以下について説明します。22このページでは以下について説明します。

23 23 

24* [自律的なワークフロー アプローチの比較](#compare-to-other-autonomous-workflows):`/loop`、Stop hook、および自動モード24* [セッションを実行し続ける方法の比較](#compare-ways-to-keep-a-session-running):`/loop`、Stop hook、および自動モード

25* [ゴールの設定](#set-a-goal)と[効果的な条件の作成](#write-an-effective-condition)25* [ゴールの設定](#set-a-goal)と[効果的な条件の作成](#write-an-effective-condition)

26* [ステータスの確認](#check-status)、[早期クリア](#clear-a-goal)、および[非対話的な実行](#run-non-interactively)26* [ステータスの確認](#check-status)、[早期クリア](#clear-a-goal)、および[非対話的な実行](#run-non-interactively)

27* [評価の仕組み](#how-evaluation-works)と[要件](#requirements)を確認27* [評価の仕組み](#how-evaluation-works)と[要件](#requirements)を確認

28 28 

29## 他の自律的なワークフロー アプローチとの比較29<h2 id="compare-ways-to-keep-a-session-running">

30 セッションを実行し続ける方法の比較

31</h2>

30 32 

313 つのアプローチが、プロンプト間で現在のセッションを実行し続けます。次のターンを開始するべき内容に基づいて選択します。333 つのアプローチが、プロンプト間で現在のセッションを実行し続けます。次のターンを開始するべき内容に基づいて選択します。

32 34 


44 上記のアプローチは、現在のセッションを実行し続けます。また、夜間テストや朝のトリアージなど、開いているセッションとは無関係に実行される作業をスケジュールすることもできます。クラウドルーチンとデスクトップスケジュール済みタスクについては、[スケジューリング オプション](/ja/scheduled-tasks#compare-scheduling-options)を参照してください。46 上記のアプローチは、現在のセッションを実行し続けます。また、夜間テストや朝のトリアージなど、開いているセッションとは無関係に実行される作業をスケジュールすることもできます。クラウドルーチンとデスクトップスケジュール済みタスクについては、[スケジューリング オプション](/ja/scheduled-tasks#compare-scheduling-options)を参照してください。

45</Tip>47</Tip>

46 48 

47## `/goal` を使用する49<h2 id="use-/goal">

50 `/goal` を使用する

51</h2>

48 52 

49セッションごとに 1 つのゴールがアクティブになります。同じコマンドが引数に応じてゴールを設定、確認、およびクリアします。53セッションごとに 1 つのゴールがアクティブになります。同じコマンドが引数に応じてゴールを設定、確認、およびクリアします。

50 54 

51### ゴールを設定する55<h3 id="set-a-goal">

56 ゴールを設定する

57</h3>

52 58 

53`/goal` の後に、満たしたい条件を実行します。ゴールが既にアクティブな場合、新しいゴールがそれを置き換えます。59`/goal` の後に、満たしたい条件を実行します。ゴールが既にアクティブな場合、新しいゴールがそれを置き換えます。

54 60 


64 ゴールは条件が満たされるか、`/goal clear` を実行するまで実行され続けます。引数なしで `/goal` を実行して、これまでに費やされたターンとトークンを確認します。70 ゴールは条件が満たされるか、`/goal clear` を実行するまで実行され続けます。引数なしで `/goal` を実行して、これまでに費やされたターンとトークンを確認します。

65</Note>71</Note>

66 72 

67### 効果的な条件を作成する73<h3 id="write-an-effective-condition">

74 効果的な条件を作成する

75</h3>

68 76 

69[評価器](#how-evaluation-works)は、Claude が会話で表示した内容に対して条件を判断します。独立してコマンドを実行したりファイルを読み取ったりしないため、Claude 自身の出力が実証できるものとして条件を作成します。「`test/auth` のすべてのテストが成功する」は、Claude がテストを実行し、結果がトランスクリプトに表示されるため、評価器が読み取ることができるため、機能します。77[評価器](#how-evaluation-works)は、Claude が会話で表示した内容に対して条件を判断します。独立してコマンドを実行したりファイルを読み取ったりしないため、Claude 自身の出力が実証できるものとして条件を作成します。「`test/auth` のすべてのテストが成功する」は、Claude がテストを実行し、結果がトランスクリプトに表示されるため、評価器が読み取ることができるため、機能します。

70 78 


78 86 

79ゴールの実行時間を制限するには、条件に `or stop after 20 turns` などのターンまたは時間句を含めます。Claude はその句に対する進捗を各ターンで報告し、評価器は会話から判断します。87ゴールの実行時間を制限するには、条件に `or stop after 20 turns` などのターンまたは時間句を含めます。Claude はその句に対する進捗を各ターンで報告し、評価器は会話から判断します。

80 88 

81### ステータスを確認する89<h3 id="check-status">

90 ステータスを確認する

91</h3>

82 92 

83引数なしで `/goal` を実行して、現在の状態を確認します。93引数なしで `/goal` を実行して、現在の状態を確認します。

84 94 


96 106 

97ゴールがアクティブではないが、セッションの前半で達成された場合、ステータスは達成された条件とその期間、ターン数、およびトークン支出を表示します。107ゴールがアクティブではないが、セッションの前半で達成された場合、ステータスは達成された条件とその期間、ターン数、およびトークン支出を表示します。

98 108 

99### ゴールをクリアする109<h3 id="clear-a-goal">

110 ゴールをクリアする

111</h3>

100 112 

101`/goal clear` を実行して、条件が満たされる前にアクティブなゴールを削除します。113`/goal clear` を実行して、条件が満たされる前にアクティブなゴールを削除します。

102 114 


106 118 

107`stop`、`off`、`reset`、`none`、および `cancel` は `clear` のエイリアスとして受け入れられます。`/clear` を実行して新しい会話を開始すると、アクティブなゴールも削除されます。119`stop`、`off`、`reset`、`none`、および `cancel` は `clear` のエイリアスとして受け入れられます。`/clear` を実行して新しい会話を開始すると、アクティブなゴールも削除されます。

108 120 

109### アクティブなゴールで再開する121<h3 id="resume-with-an-active-goal">

122 アクティブなゴールで再開する

123</h3>

110 124 

111セッションが終了したときにまだアクティブだったゴールは、`--resume` または `--continue` でそのセッションを再開すると復元されます。条件は引き継がれますが、ターン数、タイマー、およびトークン支出ベースラインはすべて再開時にリセットされます。既に達成またはクリアされたゴールは復元されません。125セッションが終了したときにまだアクティブだったゴールは、`--resume` または `--continue` でそのセッションを再開すると復元されます。条件は引き継がれますが、ターン数、タイマー、およびトークン支出ベースラインはすべて再開時にリセットされます。既に達成またはクリアされたゴールは復元されません。

112 126 

113### 非対話的に実行する127<h3 id="run-non-interactively">

128 非対話的に実行する

129</h3>

114 130 

115`/goal` は[非対話的モード](/ja/headless)、[デスクトップ アプリ](/ja/desktop)、および[リモート コントロール](/ja/remote-control)で機能します。`-p` でゴールを設定すると、ループが単一の呼び出しで完了まで実行されます。131`/goal` は[非対話的モード](/ja/headless)、[デスクトップ アプリ](/ja/desktop)、および[リモート コントロール](/ja/remote-control)で機能します。`-p` でゴールを設定すると、ループが単一の呼び出しで完了まで実行されます。

116 132 


120 136 

121Ctrl+C でプロセスを中断して、条件が満たされる前に非対話的なゴールを停止します。137Ctrl+C でプロセスを中断して、条件が満たされる前に非対話的なゴールを停止します。

122 138 

123## 評価の仕組み139<h2 id="how-evaluation-works">

140 評価の仕組み

141</h2>

124 142 

125`/goal` は、セッションスコープの[プロンプトベースの Stop hook](/ja/hooks#prompt-based-hooks)のラッパーです。Claude がターンを終了するたびに、条件と会話がこれまでのところ、あなたが設定した[小さく高速なモデル](/ja/model-config)に送信されます。デフォルトは Haiku です。モデルはイエスまたはノーの決定と短い理由を返します。「ノー」は Claude に動作を続けるよう指示し、次のターンのガイダンスとして理由を含めます。「イエス」はゴールをクリアし、トランスクリプトに達成されたエントリを記録します。143`/goal` は、セッションスコープの[プロンプトベースの Stop hook](/ja/hooks#prompt-based-hooks)のラッパーです。Claude がターンを終了するたびに、条件と会話がこれまでのところ、あなたが設定した[小さく高速なモデル](/ja/model-config)に送信されます。デフォルトは Haiku です。モデルはイエスまたはノーの決定と短い理由を返します。「ノー」は Claude に動作を続けるよう指示し、次のターンのガイダンスとして理由を含めます。「イエス」はゴールをクリアし、トランスクリプトに達成されたエントリを記録します。

126 144 


130 評価トークンは、プロバイダー用に設定された小さく高速なモデルで課金され、通常はメインターン支出と比べて無視できます。148 評価トークンは、プロバイダー用に設定された小さく高速なモデルで課金され、通常はメインターン支出と比べて無視できます。

131</Note>149</Note>

132 150 

133## 要件151<h2 id="requirements">

152 要件

153</h2>

134 154 

135`/goal` は、評価器がフック システムの一部であるため、信頼ダイアログを受け入れたワークスペースでのみ実行されます。[`disableAllHooks`](/ja/hooks#disable-or-remove-hooks) がいずれかの設定レベルで設定されている場合、または [`allowManagedHooksOnly`](/ja/settings#hook-configuration) が管理設定で設定されている場合、`/goal` は利用できません。どちらの場合も、コマンドは何もしないのではなく、理由を伝えます。155`/goal` は、評価器がフック システムの一部であるため、信頼ダイアログを受け入れたワークスペースでのみ実行されます。[`disableAllHooks`](/ja/hooks#disable-or-remove-hooks) がいずれかの設定レベルで設定されている場合、または [`allowManagedHooksOnly`](/ja/settings#hook-configuration) が管理設定で設定されている場合、`/goal` は利用できません。どちらの場合も、コマンドは何もしないのではなく、理由を伝えます。

136 156 

137## 関連項目157<h2 id="see-also">

158 関連項目

159</h2>

138 160 

139* [プロンプトを `/loop` で繰り返し実行する](/ja/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop):条件が成立するまでではなく、時間間隔で再実行する161* [プロンプトを `/loop` で繰り返し実行する](/ja/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop):条件が成立するまでではなく、時間間隔で再実行する

140* [プロンプトベースの hook](/ja/hooks-guide#prompt-based-hooks):カスタム評価ロジックが必要な場合は、独自の Stop hook を作成する162* [プロンプトベースの hook](/ja/hooks-guide#prompt-based-hooks):カスタム評価ロジックが必要な場合は、独自の Stop hook を作成する

Details

6 6 

7> Google Vertex AI を通じた Claude Code の設定方法について学びます。セットアップ、IAM 設定、トラブルシューティングを含みます。7> Google Vertex AI を通じた Claude Code の設定方法について学びます。セットアップ、IAM 設定、トラブルシューティングを含みます。

8 8 

9export const ContactSalesCard = ({surface}) => {9<h2 id="prerequisites">

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;10 前提条件

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">11</h2>

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79<ContactSalesCard surface="vertex" />

80 

81## 前提条件

82 12 

83Claude Code を Vertex AI で設定する前に、以下を確認してください。13Claude Code を Vertex AI で設定する前に、以下を確認してください。

84 14 


90 20 

91Vertex AI 認証情報で サインインするには、以下の[Vertex AI でサインイン](#sign-in-with-vertex-ai)に従ってください。チーム全体に Claude Code をデプロイするには、[手動セットアップ](#set-up-manually)の手順を使用し、ロールアウト前に[モデルバージョンをピン留めして](#5-pin-model-versions)ください。21Vertex AI 認証情報で サインインするには、以下の[Vertex AI でサインイン](#sign-in-with-vertex-ai)に従ってください。チーム全体に Claude Code をデプロイするには、[手動セットアップ](#set-up-manually)の手順を使用し、ロールアウト前に[モデルバージョンをピン留めして](#5-pin-model-versions)ください。

92 22 

93## Vertex AI でサインイン23<h2 id="sign-in-with-vertex-ai">

24 Vertex AI でサインイン

25</h2>

94 26 

95Google Cloud 認証情報を持っていて、Vertex AI を通じて Claude Code の使用を開始したい場合、ログインウィザードがそれをガイドします。GCP 側の前提条件はプロジェクトごとに 1 回完了します。ウィザードが Claude Code 側を処理します。27Google Cloud 認証情報を持っていて、Vertex AI を通じて Claude Code の使用を開始したい場合、ログインウィザードがそれをガイドします。GCP 側の前提条件はプロジェクトごとに 1 回完了します。ウィザードが Claude Code 側を処理します。

96 28 


114 46 

115サインイン後、いつでも `/setup-vertex` を実行してウィザードを再度開き、認証情報、プロジェクト、リージョン、またはモデルピンを変更できます。47サインイン後、いつでも `/setup-vertex` を実行してウィザードを再度開き、認証情報、プロジェクト、リージョン、またはモデルピンを変更できます。

116 48 

117## リージョン設定49<h2 id="region-configuration">

50 リージョン設定

51</h2>

118 52 

119Claude Code は Vertex AI の[グローバル](https://cloud.google.com/blog/products/ai-machine-learning/global-endpoint-for-claude-models-generally-available-on-vertex-ai)、マルチリージョン、および地域別エンドポイントをサポートしています。`CLOUD_ML_REGION` を `global`、`eu` または `us` などのマルチリージョンロケーション、または `us-east5` などの特定のリージョンに設定します。Claude Code は各フォームの正しい Vertex AI ホスト名を選択します。これには、マルチリージョンロケーション用の `aiplatform.eu.rep.googleapis.com` および `aiplatform.us.rep.googleapis.com` ホストが含まれます。53Claude Code は Vertex AI の[グローバル](https://cloud.google.com/blog/products/ai-machine-learning/global-endpoint-for-claude-models-generally-available-on-vertex-ai)、マルチリージョン、および地域別エンドポイントをサポートしています。`CLOUD_ML_REGION` を `global`、`eu` または `us` などのマルチリージョンロケーション、または `us-east5` などの特定のリージョンに設定します。Claude Code は各フォームの正しい Vertex AI ホスト名を選択します。これには、マルチリージョンロケーション用の `aiplatform.eu.rep.googleapis.com` および `aiplatform.us.rep.googleapis.com` ホストが含まれます。

120 54 


122 Vertex AI は、すべてのエンドポイントタイプで Claude Code デフォルトモデルをサポートしていない場合があります。モデルの可用性は、[特定のリージョン](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations#genai-partner-models)、マルチリージョンロケーション、および[グローバルエンドポイント](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#supported_models)によって異なります。サポートされているロケーションに切り替えるか、サポートされているモデルを指定する必要がある場合があります。56 Vertex AI は、すべてのエンドポイントタイプで Claude Code デフォルトモデルをサポートしていない場合があります。モデルの可用性は、[特定のリージョン](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations#genai-partner-models)、マルチリージョンロケーション、および[グローバルエンドポイント](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#supported_models)によって異なります。サポートされているロケーションに切り替えるか、サポートされているモデルを指定する必要がある場合があります。

123</Note>57</Note>

124 58 

125## 手動でセットアップする59<h2 id="set-up-manually">

60 手動でセットアップする

61</h2>

126 62 

127ウィザードの代わりに環境変数を通じて Vertex AI を設定するには、例えば CI またはスクリプト化されたエンタープライズロールアウトで、以下の手順に従ってください。63ウィザードの代わりに環境変数を通じて Vertex AI を設定するには、例えば CI またはスクリプト化されたエンタープライズロールアウトで、以下の手順に従ってください。

128 64 

129### 1. Vertex AI API を有効にする65<h3 id="1-enable-vertex-ai-api">

66 1. Vertex AI API を有効にする

67</h3>

130 68 

131GCP プロジェクトで Vertex AI API を有効にします。69GCP プロジェクトで Vertex AI API を有効にします。

132 70 


138gcloud services enable aiplatform.googleapis.com76gcloud services enable aiplatform.googleapis.com

139```77```

140 78 

141### 2. モデルアクセスをリクエストする79<h3 id="2-request-model-access">

80 2. モデルアクセスをリクエストする

81</h3>

142 82 

143Vertex AI で Claude モデルへのアクセスをリクエストします。83Vertex AI で Claude モデルへのアクセスをリクエストします。

144 84 


1473. 目的の Claude モデルへのアクセスをリクエストします(例:Claude Sonnet 4.6)873. 目的の Claude モデルへのアクセスをリクエストします(例:Claude Sonnet 4.6)

1484. 承認を待ちます(24 ~ 48 時間かかる場合があります)884. 承認を待ちます(24 ~ 48 時間かかる場合があります)

149 89 

150### 3. GCP 認証情報を設定する90<h3 id="3-configure-gcp-credentials">

91 3) GCP 認証情報を設定する

92</h3>

151 93 

152Claude Code は標準的な Google Cloud 認証を使用します。94Claude Code は標準的な Google Cloud 認証を使用します。

153 95 


159 Claude Code は Vertex AI リクエストのプロジェクト ID として `ANTHROPIC_VERTEX_PROJECT_ID` を使用します。`GCLOUD_PROJECT` および `GOOGLE_CLOUD_PROJECT` 環境変数と `GOOGLE_APPLICATION_CREDENTIALS` で参照される認証情報ファイルがこれより優先されます。これらのいずれも設定されていない場合、プロジェクト ID は `gcloud` 設定またはアタッチされたサービスアカウントから解決されます。101 Claude Code は Vertex AI リクエストのプロジェクト ID として `ANTHROPIC_VERTEX_PROJECT_ID` を使用します。`GCLOUD_PROJECT` および `GOOGLE_CLOUD_PROJECT` 環境変数と `GOOGLE_APPLICATION_CREDENTIALS` で参照される認証情報ファイルがこれより優先されます。これらのいずれも設定されていない場合、プロジェクト ID は `gcloud` 設定またはアタッチされたサービスアカウントから解決されます。

160</Note>102</Note>

161 103 

162#### 高度な認証情報設定104<h4 id="advanced-credential-configuration">

105 高度な認証情報設定

106</h4>

163 107 

164Claude Code は `gcpAuthRefresh` 設定を通じて GCP の自動認証情報更新をサポートしています。Claude Code が GCP 認証情報の有効期限が切れているか読み込めないことを検出すると、リクエストを再試行する前に新しい認証情報を取得するために設定されたコマンドを実行します。108Claude Code は `gcpAuthRefresh` 設定を通じて GCP の自動認証情報更新をサポートしています。Claude Code が GCP 認証情報の有効期限が切れているか読み込めないことを検出すると、リクエストを再試行する前に新しい認証情報を取得するために設定されたコマンドを実行します。

165 109 


174 118 

175コマンドの出力はユーザーに表示されますが、対話的な入力はサポートされていません。これは、CLI が URL を表示し、ブラウザで認証を完了するブラウザベースの認証フローに適しています。認証が完了しない場合、更新コマンドは 3 分後にタイムアウトします。`.claude/settings.json` などのプロジェクト設定で `gcpAuthRefresh` を設定した場合、コマンドはワークスペース信頼プロンプトを受け入れた後にのみ実行されます。119コマンドの出力はユーザーに表示されますが、対話的な入力はサポートされていません。これは、CLI が URL を表示し、ブラウザで認証を完了するブラウザベースの認証フローに適しています。認証が完了しない場合、更新コマンドは 3 分後にタイムアウトします。`.claude/settings.json` などのプロジェクト設定で `gcpAuthRefresh` を設定した場合、コマンドはワークスペース信頼プロンプトを受け入れた後にのみ実行されます。

176 120 

177### 4. Claude Code を設定する121<h3 id="4-configure-claude-code">

122 4. Claude Code を設定する

123</h3>

178 124 

179次の環境変数を設定します。125次の環境変数を設定します。

180 126 


200 146 

201ほとんどのモデルバージョンには、対応する `VERTEX_REGION_CLAUDE_*` 変数があります。完全なリストについては、[環境変数リファレンス](/ja/env-vars)を参照してください。どのモデルがグローバルエンドポイントをサポートしているか、または地域別のみをサポートしているかを確認するには、[Vertex Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)を確認してください。147ほとんどのモデルバージョンには、対応する `VERTEX_REGION_CLAUDE_*` 変数があります。完全なリストについては、[環境変数リファレンス](/ja/env-vars)を参照してください。どのモデルがグローバルエンドポイントをサポートしているか、または地域別のみをサポートしているかを確認するには、[Vertex Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)を確認してください。

202 148 

203[prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching)は自動的に有効になります。これを無効にするには、`DISABLE_PROMPT_CACHING=1` を設定します。デフォルトの 5 分ではなく 1 時間のキャッシュ TTL をリクエストするには、`ENABLE_PROMPT_CACHING_1H=1` を設定します。1 時間の TTL でのキャッシュ書き込みはより高いレートで課金されます。レート制限を高くするには、Google Cloud サポートに連絡してください。Vertex AI を使用する場合、Google Cloud 認証情報を通じて認証が処理されるため、`/login` および `/logout` コマンドは無効になります。149[prompt caching](/ja/prompt-caching)は自動的に有効になります。これを無効にするには、`DISABLE_PROMPT_CACHING=1` を設定します。デフォルトの 5 分ではなく 1 時間のキャッシュ TTL をリクエストするには、`ENABLE_PROMPT_CACHING_1H=1` を設定します。1 時間の TTL でのキャッシュ書き込みはより高いレートで課金されます。レート制限を高くするには、Google Cloud サポートに連絡してください。Vertex AI を使用する場合、Google Cloud 認証情報を通じて認証が処理されるため、`/logout` コマンドは無効になります。

204 150 

205Claude Code は Vertex AI でデフォルトで [MCP tool search](/ja/mcp#scale-with-mcp-tool-search)を無効にしているため、MCP ツール定義は事前にロードされます。Vertex AI は Claude Sonnet 4.5 以降および Claude Opus 4.5 以降のツール検索をサポートしています。`ENABLE_TOOL_SEARCH=true` を設定して、これらのモデルで有効にします。Vertex AI の以前のモデルは必要なベータヘッダーを受け入れず、これらのモデルでツール検索を有効にするとリクエストが失敗します。151Claude Code は Vertex AI でデフォルトで [MCP tool search](/ja/mcp#scale-with-mcp-tool-search)を無効にしているため、MCP ツール定義は事前にロードされます。Vertex AI は Claude Sonnet 4.5 以降および Claude Opus 4.5 以降のツール検索をサポートしています。`ENABLE_TOOL_SEARCH=true` を設定して、これらのモデルで有効にします。Vertex AI の以前のモデルは必要なベータヘッダーを受け入れず、これらのモデルでツール検索を有効にするとリクエストが失敗します。

206 152 

207### 5. モデルバージョンをピン留めする153<h3 id="5-pin-model-versions">

154 5. モデルバージョンをピン留めする

155</h3>

208 156 

209<Warning>157<Warning>

210 複数のユーザーにデプロイする場合は、特定のモデルバージョンをピン留めしてください。ピン留めなしでは、`sonnet` および `opus` などのモデルエイリアスは最新バージョンに解決されます。これは、Anthropic がアップデートをリリースしたときに Vertex AI プロジェクトでまだ有効になっていない可能性があります。Claude Code は、最新が利用できない場合、起動時に[前のバージョンにフォールバック](#startup-model-checks)しますが、ピン留めすることで、ユーザーが新しいモデルに移行するタイミングを制御できます。158 複数のユーザーにデプロイする場合は、特定のモデルバージョンをピン留めしてください。ピン留めなしでは、`sonnet` および `opus` などのモデルエイリアスは最新バージョンに解決されます。これは、Anthropic がアップデートをリリースしたときに Vertex AI プロジェクトでまだ有効になっていない可能性があります。Claude Code は、最新が利用できない場合、起動時に[前のバージョンにフォールバック](#startup-model-checks)しますが、ピン留めすることで、ユーザーが新しいモデルに移行するタイミングを制御できます。


212 160 

213これらの環境変数を特定の Vertex AI モデル ID に設定します。161これらの環境変数を特定の Vertex AI モデル ID に設定します。

214 162 

215`ANTHROPIC_DEFAULT_OPUS_MODEL` がない場合、Vertex 上の `opus` エイリアスは Opus 4.6 に解決されます。最新モデルを使用するには、Opus 4.7 ID に設定します。163`ANTHROPIC_DEFAULT_OPUS_MODEL` がない場合、Vertex 上の `opus` エイリアスは Opus 4.6 に解決されます。最新モデルを使用するには、Opus 4.8 ID に設定します。

216 164 

217```bash theme={null}165```bash theme={null}

218export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-7'166export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'

219export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'167export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'

220export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'168export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'

221```169```


234モデルをさらにカスタマイズするには、以下を実行します。182モデルをさらにカスタマイズするには、以下を実行します。

235 183 

236```bash theme={null}184```bash theme={null}

237export ANTHROPIC_MODEL='claude-opus-4-7'185export ANTHROPIC_MODEL='claude-opus-4-8'

238export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'186export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'

239```187```

240 188 

241## 起動時のモデルチェック189<h2 id="startup-model-checks">

190 起動時のモデルチェック

191</h2>

242 192 

243Claude Code が Vertex AI で設定されて起動すると、使用するモデルがプロジェクトでアクセス可能であることを確認します。このチェックには Claude Code v2.1.98 以降が必要です。193Claude Code が Vertex AI で設定されて起動すると、使用するモデルがプロジェクトでアクセス可能であることを確認します。このチェックには Claude Code v2.1.98 以降が必要です。

244 194 


246 196 

247モデルをピン留めしていなくて、現在のデフォルトがプロジェクトで利用できない場合、Claude Code は現在のセッション用に前のバージョンにフォールバックし、通知を表示します。フォールバックは永続化されません。[Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)で新しいモデルを有効にするか、[バージョンをピン留めして](#5-pin-model-versions)選択を永続化してください。197モデルをピン留めしていなくて、現在のデフォルトがプロジェクトで利用できない場合、Claude Code は現在のセッション用に前のバージョンにフォールバックし、通知を表示します。フォールバックは永続化されません。[Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)で新しいモデルを有効にするか、[バージョンをピン留めして](#5-pin-model-versions)選択を永続化してください。

248 198 

249## IAM 設定199<h2 id="iam-configuration">

200 IAM 設定

201</h2>

250 202 

251必要な IAM 権限を割り当てます。203必要な IAM 権限を割り当てます。

252 204 


262 Claude Code 用に専用の GCP プロジェクトを作成して、コスト追跡とアクセス制御を簡素化してください。214 Claude Code 用に専用の GCP プロジェクトを作成して、コスト追跡とアクセス制御を簡素化してください。

263</Note>215</Note>

264 216 

265## 100 万トークンコンテキストウィンドウ217<h2 id="1m-token-context-window">

218 100 万トークンコンテキストウィンドウ

219</h2>

266 220 

267Claude Opus 4.7、Opus 4.6、および Sonnet 4.6 は、Vertex AI で[100 万トークンコンテキストウィンドウ](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window)をサポートしています。Claude Code は、100 万トークンモデルバリアントを選択すると、拡張コンテキストウィンドウを自動的に有効にします。221Claude Opus 4.6 以降および Sonnet 4.6 は、Vertex AI で[100 万トークンコンテキストウィンドウ](https://platform.claude.com/docs/ja/build-with-claude/context-windows#1m-token-context-window)をサポートしています。Claude Code は、100 万トークンモデルバリアントを選択すると、拡張コンテキストウィンドウを自動的に有効にします。

268 222 

269[セットアップウィザード](#sign-in-with-vertex-ai)は、モデルをピン留めするときに 100 万トークンコンテキストオプションを提供します。手動でピン留めされたモデルの代わりに有効にするには、モデル ID に `[1m]` を追加します。詳細については、[サードパーティデプロイメント用のモデルをピン留めする](/ja/model-config#pin-models-for-third-party-deployments)を参照してください。223[セットアップウィザード](#sign-in-with-vertex-ai)は、モデルをピン留めするときに 100 万トークンコンテキストオプションを提供します。手動でピン留めされたモデルの代わりに有効にするには、モデル ID に `[1m]` を追加します。詳細については、[サードパーティデプロイメント用のモデルをピン留めする](/ja/model-config#pin-models-for-third-party-deployments)を参照してください。

270 224 

271## トラブルシューティング225<h2 id="troubleshooting">

226 トラブルシューティング

227</h2>

272 228 

273「デフォルト認証情報を読み込めません」エラーが発生した場合:229「デフォルト認証情報を読み込めません」エラーが発生した場合:

274 230 


293* 地域別エンドポイントの場合、プライマリモデルと小型/高速モデルが選択したリージョンでサポートされていることを確認してください249* 地域別エンドポイントの場合、プライマリモデルと小型/高速モデルが選択したリージョンでサポートされていることを確認してください

294* より良い可用性のために `CLOUD_ML_REGION=global` に切り替えることを検討してください250* より良い可用性のために `CLOUD_ML_REGION=global` に切り替えることを検討してください

295 251 

296## 追加リソース252<h2 id="additional-resources">

253 追加リソース

254</h2>

297 255 

298* [Vertex AI ドキュメント](https://cloud.google.com/vertex-ai/docs)256* [Vertex AI ドキュメント](https://cloud.google.com/vertex-ai/docs)

299* [Vertex AI 価格](https://cloud.google.com/vertex-ai/pricing)257* [Vertex AI 価格](https://cloud.google.com/vertex-ai/pricing)

headless.md +39 −15

Details

20 20 

21このページでは、CLI(`claude -p`)経由で Agent SDK を使用することについて説明しています。構造化された出力、ツール承認コールバック、およびネイティブメッセージオブジェクトを備えた Python および TypeScript SDK パッケージについては、[完全な Agent SDK ドキュメント](/ja/agent-sdk/overview) を参照してください。21このページでは、CLI(`claude -p`)経由で Agent SDK を使用することについて説明しています。構造化された出力、ツール承認コールバック、およびネイティブメッセージオブジェクトを備えた Python および TypeScript SDK パッケージについては、[完全な Agent SDK ドキュメント](/ja/agent-sdk/overview) を参照してください。

22 22 

23## 基本的な使用方法23<h2 id="basic-usage">

24 基本的な使用方法

25</h2>

24 26 

25任意の `claude` コマンドに `-p`(または `--print`)フラグを追加して、非対話的に実行します。すべての [CLI オプション](/ja/cli-reference) は `-p` で機能します。以下を含みます。27任意の `claude` コマンドに `-p`(または `--print`)フラグを追加して、非対話的に実行します。すべての [CLI オプション](/ja/cli-reference) は `-p` で機能します。以下を含みます。

26 28 


34claude -p "What does the auth module do?"36claude -p "What does the auth module do?"

35```37```

36 38 

37### ベアモードでより高速に開始する39<h3 id="start-faster-with-bare-mode">

40 ベアモードでより高速に開始する

41</h3>

38 42 

39`--bare` を追加して、hooks、skills、plugins、MCP サーバー、auto memory、および CLAUDE.md の自動検出をスキップすることで、起動時間を短縮します。これがない場合、`claude -p` は対話型セッションと同じ [コンテキスト](/ja/how-claude-code-works#the-context-window) を読み込みます。これには、作業ディレクトリまたは `~/.claude` で設定されたすべてのものが含まれます。43`--bare` を追加して、hooks、skills、plugins、MCP サーバー、auto memory、および CLAUDE.md の自動検出をスキップすることで、起動時間を短縮します。これがない場合、`claude -p` は対話型セッションと同じ [コンテキスト](/ja/how-claude-code-works#the-context-window) を読み込みます。これには、作業ディレクトリまたは `~/.claude` で設定されたすべてのものが含まれます。

40 44 


62 `--bare` はスクリプトおよび SDK 呼び出しの推奨モードであり、将来のリリースで `-p` のデフォルトになります。66 `--bare` はスクリプトおよび SDK 呼び出しの推奨モードであり、将来のリリースで `-p` のデフォルトになります。

63</Note>67</Note>

64 68 

65## 69<h2 id="examples">

70

71</h2>

66 72 

67これらの例は、一般的な CLI パターンを強調しています。CI およびその他のスクリプト呼び出しの場合は、[`--bare`](#start-faster-with-bare-mode) を追加して、ローカルで設定されているものを取得しないようにします。73これらの例は、一般的な CLI パターンを強調しています。CI およびその他のスクリプト呼び出しの場合は、[`--bare`](#start-faster-with-bare-mode) を追加して、ローカルで設定されているものを取得しないようにします。

68 74 

69### Claude にデータをパイプする75<h3 id="pipe-data-through-claude">

76 Claude にデータをパイプする

77</h3>

70 78 

71非対話モードは stdin を読み取るため、他のコマンドラインツールと同様にデータをパイプして応答をリダイレクトできます。79非対話モードは stdin を読み取るため、他のコマンドラインツールと同様にデータをパイプして応答をリダイレクトできます。

72 80 


82 Claude Code v2.1.128 以降、パイプされた stdin は 10MB に制限されています。制限を超える場合、Claude Code は明確なエラーと 0 以外のステータスで終了します。より大きな入力を処理するには、コンテンツをファイルに書き込み、パイプする代わりにプロンプトでファイルパスを参照してください。90 Claude Code v2.1.128 以降、パイプされた stdin は 10MB に制限されています。制限を超える場合、Claude Code は明確なエラーと 0 以外のステータスで終了します。より大きな入力を処理するには、コンテンツをファイルに書き込み、パイプする代わりにプロンプトでファイルパスを参照してください。

83</Note>91</Note>

84 92 

85### ビルドスクリプトに Claude を追加する93<h3 id="add-claude-to-a-build-script">

94 ビルドスクリプトに Claude を追加する

95</h3>

86 96 

87非対話呼び出しをスクリプトでラップして、Claude をプロジェクト固有のリンターまたはレビュアーとして使用できます。97非対話呼び出しをスクリプトでラップして、Claude をプロジェクト固有のリンターまたはレビュアーとして使用できます。

88 98 


96}106}

97```107```

98 108 

99### 構造化された出力を取得する109<h3 id="get-structured-output">

110 構造化された出力を取得する

111</h3>

100 112 

101`--output-format` を使用して、応答がどのように返されるかを制御します。113`--output-format` を使用して、応答がどのように返されるかを制御します。

102 114 


135 ```147 ```

136</Tip>148</Tip>

137 149 

138### レスポンスをストリーミングする150<h3 id="stream-responses">

151 レスポンスをストリーミングする

152</h3>

139 153 

140`--output-format stream-json` を `--verbose` および `--include-partial-messages` と共に使用して、生成されるトークンをリアルタイムで受け取ります。各行はイベントを表す JSON オブジェクトです。154`--output-format stream-json` を `--verbose` および `--include-partial-messages` と共に使用して、生成されるトークンをリアルタイムで受け取ります。各行はイベントを表す JSON オブジェクトです。

141 155 


153API リクエストが再試行可能なエラーで失敗すると、Claude Code は再試行前に `system/api_retry` イベントを発行します。これを使用して、再試行の進行状況を表示したり、カスタムバックオフロジックを実装したりできます。167API リクエストが再試行可能なエラーで失敗すると、Claude Code は再試行前に `system/api_retry` イベントを発行します。これを使用して、再試行の進行状況を表示したり、カスタムバックオフロジックを実装したりできます。

154 168 

155| フィールド | 型 | 説明 |169| フィールド | 型 | 説明 |

156| ---------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |170| ---------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

157| `type` | `"system"` | メッセージタイプ |171| `type` | `"system"` | メッセージタイプ |

158| `subtype` | `"api_retry"` | これが再試行イベントであることを識別します |172| `subtype` | `"api_retry"` | これが再試行イベントであることを識別します |

159| `attempt` | 整数 | 現在の試行番号(1 から開始) |173| `attempt` | 整数 | 現在の試行番号(1 から開始) |

160| `max_retries` | 整数 | 許可される再試行の合計 |174| `max_retries` | 整数 | 許可される再試行の合計 |

161| `retry_delay_ms` | 整数 | 次の試行までのミリ秒 |175| `retry_delay_ms` | 整数 | 次の試行までのミリ秒 |

162| `error_status` | 整数または null | HTTP ステータスコード、または HTTP レスポンスのない接続エラーの場合は `null` |176| `error_status` | 整数または null | HTTP ステータスコード、または HTTP レスポンスのない接続エラーの場合は `null` |

163| `error` | 文字列 | エラーカテゴリ:`authentication_failed`、`oauth_org_not_allowed`、`billing_error`、`rate_limit`、`invalid_request`、`server_error`、`max_output_tokens`、または `unknown` |177| `error` | 文字列 | エラーカテゴリ:`authentication_failed`、`oauth_org_not_allowed`、`billing_error`、`rate_limit`、`overloaded`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、または `unknown` |

164| `uuid` | 文字列 | 一意のイベント識別子 |178| `uuid` | 文字列 | 一意のイベント識別子 |

165| `session_id` | 文字列 | イベントが属するセッション |179| `session_id` | 文字列 | イベントが属するセッション |

166 180 


185 199 

186コールバックとメッセージオブジェクトを使用したプログラムによるストリーミングについては、Agent SDK ドキュメントの [リアルタイムでレスポンスをストリーミングする](/ja/agent-sdk/streaming-output) を参照してください。200コールバックとメッセージオブジェクトを使用したプログラムによるストリーミングについては、Agent SDK ドキュメントの [リアルタイムでレスポンスをストリーミングする](/ja/agent-sdk/streaming-output) を参照してください。

187 201 

188### ツールを自動承認する202<h3 id="auto-approve-tools">

203 ツールを自動承認する

204</h3>

189 205 

190`--allowedTools` を使用して、Claude が確認を求めずに特定のツールを使用できるようにします。この例はテストスイートを実行し、失敗を修正し、Claude が許可を求めずに Bash コマンドを実行し、ファイルを読み取り/編集できるようにします。206`--allowedTools` を使用して、Claude が確認を求めずに特定のツールを使用できるようにします。この例はテストスイートを実行し、失敗を修正し、Claude が許可を求めずに Bash コマンドを実行し、ファイルを読み取り/編集できるようにします。

191 207 


200claude -p "Apply the lint fixes" --permission-mode acceptEdits216claude -p "Apply the lint fixes" --permission-mode acceptEdits

201```217```

202 218 

203### コミットを作成する219<h3 id="create-a-commit">

220 コミットを作成する

221</h3>

204 222 

205この例は、ステージされた変更を確認し、適切なメッセージを含むコミットを作成します。223この例は、ステージされた変更を確認し、適切なメッセージを含むコミットを作成します。

206 224 


212`--allowedTools` フラグは [パーミッションルール構文](/ja/settings#permission-rule-syntax) を使用します。末尾の ` *` はプレフィックスマッチングを有効にするため、`Bash(git diff *)` は `git diff` で始まるすべてのコマンドを許可します。スペースは重要です。スペースがない場合、`Bash(git diff*)` は `git diff-index` にも一致します。230`--allowedTools` フラグは [パーミッションルール構文](/ja/settings#permission-rule-syntax) を使用します。末尾の ` *` はプレフィックスマッチングを有効にするため、`Bash(git diff *)` は `git diff` で始まるすべてのコマンドを許可します。スペースは重要です。スペースがない場合、`Bash(git diff*)` は `git diff-index` にも一致します。

213 231 

214<Note>232<Note>

215 ユーザーが呼び出した [skills](/ja/skills)(`/commit` など)および [組み込みコマンド](/ja/commands) は、対話モードでのみ利用可能です。`-p` モードでは、代わりに実行したいタスクを説明してください。233 ユーザーが呼び出した [skills](/ja/skills)(`/code-review` など)および [組み込みコマンド](/ja/commands) は、対話モードでのみ利用可能です。`-p` モードでは、代わりに実行したいタスクを説明してください。

216</Note>234</Note>

217 235 

218### システムプロンプトをカスタマイズする236<h3 id="customize-the-system-prompt">

237 システムプロンプトをカスタマイズする

238</h3>

219 239 

220`--append-system-prompt` を使用して、Claude Code のデフォルト動作を保持しながら指示を追加します。この例は PR diff を Claude にパイプし、セキュリティ脆弱性をレビューするよう指示します。240`--append-system-prompt` を使用して、Claude Code のデフォルト動作を保持しながら指示を追加します。この例は PR diff を Claude にパイプし、セキュリティ脆弱性をレビューするよう指示します。

221 241 


227 247 

228デフォルトプロンプトを完全に置き換える `--system-prompt` を含む詳細なオプションについては、[システムプロンプトフラグ](/ja/cli-reference#system-prompt-flags) を参照してください。248デフォルトプロンプトを完全に置き換える `--system-prompt` を含む詳細なオプションについては、[システムプロンプトフラグ](/ja/cli-reference#system-prompt-flags) を参照してください。

229 249 

230### 会話を続ける250<h3 id="continue-conversations">

251 会話を続ける

252</h3>

231 253 

232`--continue` を使用して最新の会話を続けるか、`--resume` をセッション ID と共に使用して特定の会話を続けます。この例はレビューを実行し、その後フォローアッププロンプトを送信します。254`--continue` を使用して最新の会話を続けるか、`--resume` をセッション ID と共に使用して特定の会話を続けます。この例はレビューを実行し、その後フォローアッププロンプトを送信します。

233 255 


247claude -p "Continue that review" --resume "$session_id"269claude -p "Continue that review" --resume "$session_id"

248```270```

249 271 

250## 次のステップ272<h2 id="next-steps">

273 次のステップ

274</h2>

251 275 

252* [Agent SDK クイックスタート](/ja/agent-sdk/quickstart):Python または TypeScript で最初のエージェントを構築します276* [Agent SDK クイックスタート](/ja/agent-sdk/quickstart):Python または TypeScript で最初のエージェントを構築します

253* [CLI リファレンス](/ja/cli-reference):すべての CLI フラグとオプション277* [CLI リファレンス](/ja/cli-reference):すべての CLI フラグとオプション

hooks.md +650 −167

Details

12 12 

13フックは、Claude Code のライフサイクル内の特定のポイントで自動的に実行されるユーザー定義のシェル コマンド、HTTP エンドポイント、または LLM プロンプトです。このリファレンスを使用して、イベント スキーマ、設定オプション、JSON 入出力形式、非同期フック、HTTP フック、MCP ツール フックなどの高度な機能を検索してください。初めてフックを設定する場合は、代わりに[ガイド](/ja/hooks-guide)から始めてください。13フックは、Claude Code のライフサイクル内の特定のポイントで自動的に実行されるユーザー定義のシェル コマンド、HTTP エンドポイント、または LLM プロンプトです。このリファレンスを使用して、イベント スキーマ、設定オプション、JSON 入出力形式、非同期フック、HTTP フック、MCP ツール フックなどの高度な機能を検索してください。初めてフックを設定する場合は、代わりに[ガイド](/ja/hooks-guide)から始めてください。

14 14 

15## フック ライフサイクル15<h2 id="hook-lifecycle">

16 フック ライフサイクル

17</h2>

16 18 

17フックは Claude Code セッション中の特定のポイントで発火します。イベントが発火してマッチャーがマッチすると、Claude Code はイベントに関する JSON コンテキストをフック ハンドラーに渡します。コマンド フックの場合、入力は stdin に到着します。HTTP フックの場合、POST リクエスト本体として到着します。ハンドラーは入力を検査し、アクションを実行し、オプションで決定を返すことができます。イベントは 3 つのケイデンスに分類されます。セッションごとに 1 回(`SessionStart`、`SessionEnd`)、ターンごとに 1 回(`UserPromptSubmit`、`Stop`、`StopFailure`)、agentic ループ内のすべてのツール呼び出しで(`PreToolUse`、`PostToolUse`)です。19フックは Claude Code セッション中の特定のポイントで発火します。イベントが発火してマッチャーがマッチすると、Claude Code はイベントに関する JSON コンテキストをフック ハンドラーに渡します。コマンド フックの場合、入力は stdin に到着します。HTTP フックの場合、POST リクエスト本体として到着します。ハンドラーは入力を検査し、アクションを実行し、オプションで決定を返すことができます。イベントは 3 つのケイデンスに分類されます。セッションごとに 1 回(`SessionStart`、`SessionEnd`)、ターンごとに 1 回(`UserPromptSubmit`、`Stop`、`StopFailure`)、agentic ループ内のすべてのツール呼び出しで(`PreToolUse`、`PostToolUse`)です。

18 20 

19<div style={{maxWidth: "500px", margin: "0 auto"}}>21<div style={{maxWidth: "500px", margin: "0 auto"}}>

20 <Frame>22 <Frame>

21 <img src="https://mintcdn.com/claude-code/ZIW26Z9pnpsXLhbS/images/hooks-lifecycle.svg?fit=max&auto=format&n=ZIW26Z9pnpsXLhbS&q=85&s=ee23691324deb6501df09bfdae560b64" alt="オプションの Setup から SessionStart に流れ込み、その後、UserPromptSubmit、スラッシュ コマンド用の UserPromptExpansion、ネストされた agentic ループ(PreToolUse、PermissionRequest、PostToolUse、PostToolUseFailure、PostToolBatch、SubagentStart/Stop、TaskCreated、TaskCompleted)、Stop または StopFailure を含むターンごとのループ、その後 TeammateIdle、PreCompact、PostCompact、SessionEnd が続き、Elicitation と ElicitationResult は MCP ツール実行内にネストされ、PermissionDenied は PermissionRequest からの副分岐として自動モード拒否のため、WorktreeCreate、WorktreeRemove、Notification、ConfigChange、InstructionsLoaded、CwdChanged、FileChanged はスタンドアロン非同期イベントとして表示されるフック ライフサイクル図" width="520" height="1228" data-path="images/hooks-lifecycle.svg" />23 <img src="https://mintcdn.com/claude-code/uLsR38F1U_5zPppm/images/hooks-lifecycle.svg?fit=max&auto=format&n=uLsR38F1U_5zPppm&q=85&s=fbdbd78ad9f474da7d344879341341f0" alt="オプションの Setup から SessionStart に流れ込み、その後、UserPromptSubmit、スラッシュ コマンド用の UserPromptExpansion、ネストされた agentic ループ(PreToolUse、PermissionRequest、PostToolUse、PostToolUseFailure、PostToolBatch、SubagentStart/Stop、TaskCreated、TaskCompleted)、Stop または StopFailure を含むターンごとのループ、その後 TeammateIdle、PreCompact、PostCompact、SessionEnd が続き、Elicitation と ElicitationResult は MCP ツール実行内にネストされ、PermissionDenied は PermissionRequest からの副分岐として自動モード拒否のため、WorktreeCreate、WorktreeRemove、Notification、ConfigChange、InstructionsLoaded、CwdChanged、FileChanged はスタンドアロン非同期イベントとして表示されるフック ライフサイクル図" width="520" height="1228" data-path="images/hooks-lifecycle.svg" />

22 </Frame>24 </Frame>

23</div>25</div>

24 26 


37| `PostToolUseFailure` | After a tool call fails |39| `PostToolUseFailure` | After a tool call fails |

38| `PostToolBatch` | After a full batch of parallel tool calls resolves, before the next model call |40| `PostToolBatch` | After a full batch of parallel tool calls resolves, before the next model call |

39| `Notification` | When Claude Code sends a notification |41| `Notification` | When Claude Code sends a notification |

42| `MessageDisplay` | While assistant message text is displayed |

40| `SubagentStart` | When a subagent is spawned |43| `SubagentStart` | When a subagent is spawned |

41| `SubagentStop` | When a subagent finishes |44| `SubagentStop` | When a subagent finishes |

42| `TaskCreated` | When a task is being created via `TaskCreate` |45| `TaskCreated` | When a task is being created via `TaskCreate` |


56| `ElicitationResult` | After a user responds to an MCP elicitation, before the response is sent back to the server |59| `ElicitationResult` | After a user responds to an MCP elicitation, before the response is sent back to the server |

57| `SessionEnd` | When a session terminates |60| `SessionEnd` | When a session terminates |

58 61 

59### フックがどのように解決されるか62<h3 id="how-a-hook-resolves">

63 フックがどのように解決されるか

64</h3>

60 65 

61これらの部分がどのように組み合わさるかを理解するために、破壊的なシェル コマンドをブロックする `PreToolUse` フックを考えてみましょう。`matcher` は Bash ツール呼び出しに絞り込み、`if` 条件は `rm *` にマッチするコマンドにさらに絞り込むため、`block-rm.sh` は両方のフィルターがマッチするときのみ生成されます。66これらの部分がどのように組み合わさるかを理解するために、破壊的なシェル コマンドをブロックする `PreToolUse` フックを考えてみましょう。`matcher` は Bash ツール呼び出しに絞り込み、`if` 条件は `rm *` にマッチするコマンドにさらに絞り込むため、`block-rm.sh` は両方のフィルターがマッチするときのみ生成されます。

62 67 


96 }101 }

97 }'102 }'

98else103else

99 exit 0 # allow the command104 exit 0 # no decision; normal permission flow applies

100fi105fi

101```106```

102 107 


136 }141 }

137 ```142 ```

138 143 

139 コマンドが安全だった場合(`rm file.txt` など)、スクリプトは代わりに `exit 0` に到達し、これは Claude Code にツール呼び出しを許可するよう指示します144 コマンドが安全な `rm` バリアント(`rm file.txt` など)だった場合、スクリプトは代わりに `exit 0` に到達します。出力なしの終了コード 0 は、フックが報告する決定がないことを意味するため、ツール呼び出しは通常の[権限フロー](/ja/permissions)を通じて続行されますフックは呼び出しを拒否できますが、沈黙を保つことは承認を意味しません。

140 </Step>145 </Step>

141 146 

142 <Step title="Claude Code が結果に基づいて行動">147 <Step title="Claude Code が結果に基づいて行動">


146 151 

147以下の[設定](#configuration)セクションでは完全なスキーマについて説明し、各[フック イベント](#hook-events)セクションでは、コマンドが受け取る入力と返すことができる出力について説明しています。152以下の[設定](#configuration)セクションでは完全なスキーマについて説明し、各[フック イベント](#hook-events)セクションでは、コマンドが受け取る入力と返すことができる出力について説明しています。

148 153 

149## 設定154<h2 id="configuration">

155 設定

156</h2>

150 157 

151フックは JSON 設定ファイルで定義されます。設定には 3 つのネストレベルがあります。158フックは JSON 設定ファイルで定義されます。設定には 3 つのネストレベルがあります。

152 159 


160 このページでは各レベルに特定の用語を使用しています。**フック イベント**はライフサイクル ポイント、**マッチャー グループ**はフィルター、**フック ハンドラー**はシェル コマンド、HTTP エンドポイント、MCP ツール、プロンプト、または実行されるエージェントです。'フック'単独は一般的な機能を指します。167 このページでは各レベルに特定の用語を使用しています。**フック イベント**はライフサイクル ポイント、**マッチャー グループ**はフィルター、**フック ハンドラー**はシェル コマンド、HTTP エンドポイント、MCP ツール、プロンプト、または実行されるエージェントです。'フック'単独は一般的な機能を指します。

161</Note>168</Note>

162 169 

163### フック位置170<h3 id="hook-locations">

171 フック位置

172</h3>

164 173 

165フックを定義する場所によって、そのスコープが決まります。174フックを定義する場所によって、そのスコープが決まります。

166 175 


175 184 

176設定ファイル解決の詳細については、[設定](/ja/settings)を参照してください。エンタープライズ管理者は `allowManagedHooksOnly` を使用して、ユーザー、プロジェクト、プラグイン フックをブロックできます。管理設定で force-enabled されたプラグインからのフックは除外されるため、管理者は組織マーケットプレイスを通じて検証済みのフックを配布できます。[フック設定](/ja/settings#hook-configuration)を参照してください。185設定ファイル解決の詳細については、[設定](/ja/settings)を参照してください。エンタープライズ管理者は `allowManagedHooksOnly` を使用して、ユーザー、プロジェクト、プラグイン フックをブロックできます。管理設定で force-enabled されたプラグインからのフックは除外されるため、管理者は組織マーケットプレイスを通じて検証済みのフックを配布できます。[フック設定](/ja/settings#hook-configuration)を参照してください。

177 186 

178### マッチャー パターン187<h3 id="matcher-patterns">

188 マッチャー パターン

189</h3>

179 190 

180`matcher` フィールドは、フックが発火するタイミングをフィルタリングします。マッチャーの評価方法は、含まれている文字に依存します。191`matcher` フィールドは、フックが発火するタイミングをフィルタリングします。マッチャーの評価方法は、含まれている文字に依存します。

181 192 


190各イベント タイプは異なるフィールドでマッチします。201各イベント タイプは異なるフィールドでマッチします。

191 202 

192| イベント | マッチャーがフィルタリングするもの | マッチャー値の例 |203| イベント | マッチャーがフィルタリングするもの | マッチャー値の例 |

193| :----------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |204| :---------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

194| `PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied` | ツール名 | `Bash`、`Edit\|Write`、`mcp__.*` |205| `PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied` | ツール名 | `Bash`、`Edit\|Write`、`mcp__.*` |

195| `SessionStart` | セッションの開始方法 | `startup`、`resume`、`clear`、`compact` |206| `SessionStart` | セッションの開始方法 | `startup`、`resume`、`clear`、`compact` |

196| `Setup` | セットアップをトリガーした CLI フラグ | `init`、`maintenance` |207| `Setup` | セットアップをトリガーした CLI フラグ | `init`、`maintenance` |


202| `ConfigChange` | 設定ソース | `user_settings`、`project_settings`、`local_settings`、`policy_settings`、`skills` |213| `ConfigChange` | 設定ソース | `user_settings`、`project_settings`、`local_settings`、`policy_settings`、`skills` |

203| `CwdChanged` | マッチャー サポートなし | すべてのディレクトリ変更で常に発火 |214| `CwdChanged` | マッチャー サポートなし | すべてのディレクトリ変更で常に発火 |

204| `FileChanged` | 監視するリテラル ファイル名([FileChanged](#filechanged)を参照) | `.envrc\|.env` |215| `FileChanged` | 監視するリテラル ファイル名([FileChanged](#filechanged)を参照) | `.envrc\|.env` |

205| `StopFailure` | エラー タイプ | `rate_limit`、`authentication_failed`、`oauth_org_not_allowed`、`billing_error`、`invalid_request`、`server_error`、`max_output_tokens`、`unknown` |216| `StopFailure` | エラー タイプ | `rate_limit`、`overloaded`、`authentication_failed`、`oauth_org_not_allowed`、`billing_error`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`unknown` |

206| `InstructionsLoaded` | ロード理由 | `session_start`、`nested_traversal`、`path_glob_match`、`include`、`compact` |217| `InstructionsLoaded` | ロード理由 | `session_start`、`nested_traversal`、`path_glob_match`、`include`、`compact` |

207| `UserPromptExpansion` | コマンド名 | スキルまたはコマンド名 |218| `UserPromptExpansion` | コマンド名 | スキルまたはコマンド名 |

208| `Elicitation` | MCP サーバー名 | 設定された MCP サーバー名 |219| `Elicitation` | MCP サーバー名 | 設定された MCP サーバー名 |

209| `ElicitationResult` | MCP サーバー名 | `Elicitation` と同じ値 |220| `ElicitationResult` | MCP サーバー名 | `Elicitation` と同じ値 |

210| `UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove` | マッチャー サポートなし | すべての出現で常に発火 |221| `UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`MessageDisplay` | マッチャー サポートなし | すべての出現で常に発火 |

211 222 

212マッチャーは、Claude Code がフックに stdin で送信する[JSON 入力](#hook-input-and-output)からのフィールドに対して実行されます。ツール イベントの場合、そのフィールドは `tool_name` です。各[フック イベント](#hook-events)セクションでは、マッチャー値の完全なセットとそのイベントの入力スキーマをリストしています。223マッチャーは、Claude Code がフックに stdin で送信する[JSON 入力](#hook-input-and-output)からのフィールドに対して実行されます。ツール イベントの場合、そのフィールドは `tool_name` です。各[フック イベント](#hook-events)セクションでは、マッチャー値の完全なセットとそのイベントの入力スキーマをリストしています。

213 224 


235 246 

236ツール イベントの場合、個別のフック ハンドラーで [`if` フィールド](#common-fields)を設定することで、より狭くフィルタリングできます。`if` は[権限ルール構文](/ja/permissions)を使用してツール名と引数を一緒にマッチするため、`"Bash(git *)"` は `git *` に一致する Bash 入力のサブコマンドのいずれかに対して実行され、`"Edit(*.ts)"` は TypeScript ファイルのみに対して実行されます。247ツール イベントの場合、個別のフック ハンドラーで [`if` フィールド](#common-fields)を設定することで、より狭くフィルタリングできます。`if` は[権限ルール構文](/ja/permissions)を使用してツール名と引数を一緒にマッチするため、`"Bash(git *)"` は `git *` に一致する Bash 入力のサブコマンドのいずれかに対して実行され、`"Edit(*.ts)"` は TypeScript ファイルのみに対して実行されます。

237 248 

238#### MCP ツールをマッチ249<h4 id="match-mcp-tools">

250 MCP ツールをマッチ

251</h4>

239 252 

240[MCP](/ja/mcp) サーバー ツールはツール イベント(`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied`)で通常のツールとして表示されるため、他のツール名と同じ方法でマッチできます。253[MCP](/ja/mcp) サーバー ツールはツール イベント(`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied`)で通常のツールとして表示されるため、他のツール名と同じ方法でマッチできます。

241 254 


279}292}

280```293```

281 294 

282### フック ハンドラー フィールド295<h3 id="hook-handler-fields">

296 フック ハンドラー フィールド

297</h3>

283 298 

284内側の `hooks` 配列の各オブジェクトはフック ハンドラーです。マッチャーがマッチしたときに実行されるシェル コマンド、HTTP エンドポイント、MCP ツール、LLM プロンプト、またはエージェントです。5 つのタイプがあります。299内側の `hooks` 配列の各オブジェクトはフック ハンドラーです。マッチャーがマッチしたときに実行されるシェル コマンド、HTTP エンドポイント、MCP ツール、LLM プロンプト、またはエージェントです。5 つのタイプがあります。

285 300 


289* **[プロンプト フック](#prompt-and-agent-hook-fields)** (`type: "prompt"`): Claude モデルにプロンプトを送信して、単一ターンの評価を行います。モデルは yes/no 決定を JSON として返します。[プロンプト ベースのフック](#prompt-based-hooks)を参照してください。304* **[プロンプト フック](#prompt-and-agent-hook-fields)** (`type: "prompt"`): Claude モデルにプロンプトを送信して、単一ターンの評価を行います。モデルは yes/no 決定を JSON として返します。[プロンプト ベースのフック](#prompt-based-hooks)を参照してください。

290* **[エージェント フック](#prompt-and-agent-hook-fields)** (`type: "agent"`): Read、Grep、Glob などのツールを使用して条件を検証してから決定を返すことができるサブエージェントを生成します。エージェント フックは実験的であり、変更される可能性があります。[エージェント ベースのフック](#agent-based-hooks)を参照してください。305* **[エージェント フック](#prompt-and-agent-hook-fields)** (`type: "agent"`): Read、Grep、Glob などのツールを使用して条件を検証してから決定を返すことができるサブエージェントを生成します。エージェント フックは実験的であり、変更される可能性があります。[エージェント ベースのフック](#agent-based-hooks)を参照してください。

291 306 

292#### 共通フィールド307<h4 id="common-fields">

308 共通フィールド

309</h4>

293 310 

294これらのフィールドはすべてのフック タイプに適用されます。311これらのフィールドはすべてのフック タイプに適用されます。

295 312 


297| :-------------- | :-- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |314| :-------------- | :-- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

298| `type` | はい | `"command"`、`"http"`、`"mcp_tool"`、`"prompt"`、または `"agent"` |315| `type` | はい | `"command"`、`"http"`、`"mcp_tool"`、`"prompt"`、または `"agent"` |

299| `if` | いいえ | `"Bash(git *)"` または `"Edit(*.ts)"` などの権限ルール構文を使用してこのフックが実行されるタイミングをフィルタリングします。ツール呼び出しがパターンにマッチする場合のみ、フックが生成されます。または Bash コマンドが解析するには複雑すぎる場合。ツール イベントでのみ評価されます。`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied`。他のイベントでは、`if` が設定されたフックは実行されません。[権限ルール](/ja/permissions)と同じ構文を使用します |316| `if` | いいえ | `"Bash(git *)"` または `"Edit(*.ts)"` などの権限ルール構文を使用してこのフックが実行されるタイミングをフィルタリングします。ツール呼び出しがパターンにマッチする場合のみ、フックが生成されます。または Bash コマンドが解析するには複雑すぎる場合。ツール イベントでのみ評価されます。`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied`。他のイベントでは、`if` が設定されたフックは実行されません。[権限ルール](/ja/permissions)と同じ構文を使用します |

300| `timeout` | いいえ | キャンセルまでの秒数。デフォルト: `command`、`http`、`mcp_tool` は 600、`prompt` は 30、`agent` は 60。[`UserPromptSubmit`](#userpromptsubmit) は `command`、`http`、`mcp_tool` のデフォルトを 30 に低下させます |317| `timeout` | いいえ | キャンセルまでの秒数。デフォルト: `command`、`http`、`mcp_tool` は 600、`prompt` は 30、`agent` は 60。[`UserPromptSubmit`](#userpromptsubmit) は `command`、`http`、`mcp_tool` のデフォルトを 30 に低下させ、[`MessageDisplay`](#messagedisplay) はそれを 10 に低下させます |

301| `statusMessage` | いいえ | フックの実行中に表示されるカスタム スピナー メッセージ |318| `statusMessage` | いいえ | フックの実行中に表示されるカスタム スピナー メッセージ |

302| `once` | いいえ | `true` の場合、セッションごとに 1 回だけ実行してから削除されます。[スキル フロントマター](#hooks-in-skills-and-agents)でのみ尊重されます。設定ファイルとエージェント フロントマターでは無視されます |319| `once` | いいえ | `true` の場合、セッションごとに 1 回だけ実行してから削除されます。[スキル フロントマター](#hooks-in-skills-and-agents)でのみ尊重されます。設定ファイルとエージェント フロントマターでは無視されます |

303 320 

304`if` フィールドは正確に 1 つの権限ルールを保持します。ルールを組み合わせるための `&&`、`||`、またはリスト構文はありません。複数の条件を適用するには、各条件に対して個別のフック ハンドラーを定義します。Bash の場合、ルールは先頭の `VAR=value` 割り当てが削除された後のツール入力の各サブコマンドに対してマッチされるため、`if: "Bash(git push *)"` は `FOO=bar git push` と `npm test && git push` の両方にマッチします。コマンドが解析するには複雑すぎる場合、いずれかのサブコマンドがマッチすると、またはいつでもフックが実行されます。321`if` フィールドは正確に 1 つの権限ルールを保持します。ルールを組み合わせるための `&&`、`||`、またはリスト構文はありません。複数の条件を適用するには、各条件に対して個別のフック ハンドラーを定義します。Bash の場合、ルールは先頭の `VAR=value` 割り当てが削除された後のツール入力の各サブコマンドに対してマッチされるため、`if: "Bash(git push *)"` は `FOO=bar git push` と `npm test && git push` の両方にマッチします。コマンドが解析するには複雑すぎる場合、いずれかのサブコマンドがマッチすると、またはいつでもフックが実行されます。

305 322 

306#### コマンド フック フィールド323<h4 id="command-hook-fields">

324 コマンド フック フィールド

325</h4>

307 326 

308[共通フィールド](#common-fields)に加えて、コマンド フックはこれらのフィールドを受け入れます。327[共通フィールド](#common-fields)に加えて、コマンド フックはこれらのフィールドを受け入れます。

309 328 


317 336 

318<a id="exec-form-and-shell-form" />337<a id="exec-form-and-shell-form" />

319 338 

320##### Exec フォームとシェル フォーム339<h5 id="exec-form-and-shell-form">

340 Exec フォームとシェル フォーム

341</h5>

321 342 

322コマンド フックは `args` が設定されている場合は exec フォームで実行され、`args` が省略されている場合はシェル フォームで実行されます。フックが[パス プレースホルダー](#reference-scripts-by-path)を参照する場合は常に `args` を設定してください。各要素は引用符なしで 1 つの引数として渡されるためです。パイプや `&&` などのシェル機能が必要な場合、または両方の懸念が適用されない場合は `args` を省略してください。343コマンド フックは `args` が設定されている場合は exec フォームで実行され、`args` が省略されている場合はシェル フォームで実行されます。フックが[パス プレースホルダー](#reference-scripts-by-path)を参照する場合は常に `args` を設定してください。各要素は引用符なしで 1 つの引数として渡されるためです。パイプや `&&` などのシェル機能が必要な場合、または両方の懸念が適用されない場合は `args` を省略してください。

323 344 


354 Exec フォームでは、`command` は実行可能ファイル名またはパスのみです。`command` が空白を含むパス区切りなしの名前であり、`args` と一緒に空白を含む場合、Claude Code は警告をログします。生成が失敗するためです。`node script.js` という名前の実行可能ファイルはありません。余分なトークンを `args` に移動します。`C:\Program Files\nodejs\node.exe` などのスペースを含む絶対パスは、単一の有効な実行可能ファイルであり、警告をトリガーしません。375 Exec フォームでは、`command` は実行可能ファイル名またはパスのみです。`command` が空白を含むパス区切りなしの名前であり、`args` と一緒に空白を含む場合、Claude Code は警告をログします。生成が失敗するためです。`node script.js` という名前の実行可能ファイルはありません。余分なトークンを `args` に移動します。`C:\Program Files\nodejs\node.exe` などのスペースを含む絶対パスは、単一の有効な実行可能ファイルであり、警告をトリガーしません。

355</Note>376</Note>

356 377 

357#### HTTP フック フィールド378<h4 id="http-hook-fields">

379 HTTP フック フィールド

380</h4>

358 381 

359[共通フィールド](#common-fields)に加えて、HTTP フックはこれらのフィールドを受け入れます。382[共通フィールド](#common-fields)に加えて、HTTP フックはこれらのフィールドを受け入れます。

360 383 


393}416}

394```417```

395 418 

396#### MCP ツール フック フィールド419<h4 id="mcp-tool-hook-fields">

420 MCP ツール フック フィールド

421</h4>

397 422 

398[共通フィールド](#common-fields)に加えて、MCP ツール フックはこれらのフィールドを受け入れます。423[共通フィールド](#common-fields)に加えて、MCP ツール フックはこれらのフィールドを受け入れます。

399 424 


429}454}

430```455```

431 456 

432#### プロンプト フックとエージェント フック フィールド457<h4 id="prompt-and-agent-hook-fields">

458 プロンプト フックとエージェント フック フィールド

459</h4>

433 460 

434[共通フィールド](#common-fields)に加えて、プロンプト フックとエージェント フックはこれらのフィールドを受け入れます。461[共通フィールド](#common-fields)に加えて、プロンプト フックとエージェント フックはこれらのフィールドを受け入れます。

435 462 


440 467 

441すべてのマッチング フックは並列で実行され、同一のハンドラーは自動的に重複排除されます。コマンド フックはコマンド文字列と `args` で重複排除され、HTTP フックは URL で重複排除されます。ハンドラーは Claude Code の環境を持つ現在のディレクトリで実行されます。`$CLAUDE_CODE_REMOTE` 環境変数はリモート Web 環境で `"true"` に設定され、ローカル CLI では設定されません。468すべてのマッチング フックは並列で実行され、同一のハンドラーは自動的に重複排除されます。コマンド フックはコマンド文字列と `args` で重複排除され、HTTP フックは URL で重複排除されます。ハンドラーは Claude Code の環境を持つ現在のディレクトリで実行されます。`$CLAUDE_CODE_REMOTE` 環境変数はリモート Web 環境で `"true"` に設定され、ローカル CLI では設定されません。

442 469 

443### パスでフック スクリプトを参照470<h3 id="reference-scripts-by-path">

471 パスでフック スクリプトを参照

472</h3>

444 473 

445フックが実行されるときの作業ディレクトリに関係なく、プロジェクトまたはプラグイン ルートを基準にしてフック スクリプトを参照するには、これらのプレースホルダーを使用します。474フックが実行されるときの作業ディレクトリに関係なく、プロジェクトまたはプラグイン ルートを基準にしてフック スクリプトを参照するには、これらのプレースホルダーを使用します。

446 475 

447* `${CLAUDE_PROJECT_DIR}`: プロジェクト ルート。476* `${CLAUDE_PROJECT_DIR}`: プロジェクト ルート。Claude Code はこの変数を[stdio MCP サーバー](/ja/mcp#option-3-add-a-local-stdio-server)とプラグイン LSP サーバーの環境にも設定します。

448* `${CLAUDE_PLUGIN_ROOT}`: プラグインの インストール ディレクトリ、[プラグイン](/ja/plugins)にバンドルされたスクリプト用。プラグイン更新時に変更されます。477* `${CLAUDE_PLUGIN_ROOT}`: プラグインのインストール ディレクトリ、[プラグイン](/ja/plugins)にバンドルされたスクリプト用。プラグイン更新時に変更されます。

449* `${CLAUDE_PLUGIN_DATA}`: プラグインの[永続データ ディレクトリ](/ja/plugins-reference#persistent-data-directory)、プラグイン更新を通じて存続すべき依存関係と状態用。478* `${CLAUDE_PLUGIN_DATA}`: プラグインの[永続データ ディレクトリ](/ja/plugins-reference#persistent-data-directory)、プラグイン更新を通じて存続すべき依存関係と状態用。

450 479 

451パス プレースホルダーを参照するフックには[exec フォーム](#exec-form-and-shell-form)を優先してください。Exec フォームは各 `args` 要素を引用符なしで 1 つの引数として渡すため、スペースまたは特殊文字を含むパスは引用符が不要です。シェル フォームでは、各プレースホルダーをダブル クォートで囲みます。480パス プレースホルダーを参照するフックには[exec フォーム](#exec-form-and-shell-form)を優先してください。Exec フォームは各 `args` 要素を引用符なしで 1 つの引数として渡すため、スペースまたは特殊文字を含むパスは引用符が不要です。シェル フォームでは、各プレースホルダーをダブル クォートで囲みます。


504 </Tab>533 </Tab>

505</Tabs>534</Tabs>

506 535 

507### スキルとエージェントのフック536<h3 id="hooks-in-skills-and-agents">

537 スキルとエージェントのフック

538</h3>

508 539 

509設定ファイルとプラグインに加えて、フックは[スキル](/ja/skills)と[サブエージェント](/ja/sub-agents)でフロントマターを使用して直接定義できます。これらのフックはコンポーネントのライフサイクルにスコープされ、そのコンポーネントがアクティブな場合にのみ実行されます。540設定ファイルとプラグインに加えて、フックは[スキル](/ja/skills)と[サブエージェント](/ja/sub-agents)でフロントマターを使用して直接定義できます。これらのフックはコンポーネントのライフサイクルにスコープされ、そのコンポーネントがアクティブな場合にのみ実行されます。

510 541 


529 560 

530エージェントは YAML フロントマターで同じ形式を使用します。561エージェントは YAML フロントマターで同じ形式を使用します。

531 562 

532### `/hooks` メニュー563<h3 id="the-/hooks-menu">

564 `/hooks` メニュー

565</h3>

533 566 

534Claude Code で `/hooks` と入力して、設定されたフックの読み取り専用ブラウザーを開きます。メニューはすべてのフック イベントを表示し、設定されたフックの数を示し、マッチャーにドリルダウンでき、各フック ハンドラーの完全な詳細を表示します。これを使用して設定を検証し、フックがどの設定ファイルから定義されたかを確認するか、フックのコマンド、プロンプト、または URL を検査します。567Claude Code で `/hooks` と入力して、設定されたフックの読み取り専用ブラウザーを開きます。メニューはすべてのフック イベントを表示し、設定されたフックの数を示し、マッチャーにドリルダウンでき、各フック ハンドラーの完全な詳細を表示します。これを使用して設定を検証し、フックがどの設定ファイルから定義されたかを確認するか、フックのコマンド、プロンプト、または URL を検査します。

535 568 


544 577 

545フックを選択すると、詳細ビューが開き、そのイベント、マッチャー、タイプ、ソース ファイル、および完全なコマンド、プロンプト、または URL が表示されます。メニューは読み取り専用です。フックを追加、変更、または削除するには、設定 JSON を直接編集するか、Claude にその変更を依頼してください。578フックを選択すると、詳細ビューが開き、そのイベント、マッチャー、タイプ、ソース ファイル、および完全なコマンド、プロンプト、または URL が表示されます。メニューは読み取り専用です。フックを追加、変更、または削除するには、設定 JSON を直接編集するか、Claude にその変更を依頼してください。

546 579 

547### フックを無効化または削除580<h3 id="disable-or-remove-hooks">

581 フックを無効化または削除

582</h3>

548 583 

549フックを削除するには、設定 JSON ファイルからそのエントリを削除します。584フックを削除するには、設定 JSON ファイルからそのエントリを削除します。

550 585 


554 589 

555設定ファイルのフックへの直接編集は通常、ファイル ウォッチャーによって自動的に取得されます。590設定ファイルのフックへの直接編集は通常、ファイル ウォッチャーによって自動的に取得されます。

556 591 

557## フック入出力592<h2 id="hook-input-and-output">

593 フック入出力

594</h2>

558 595 

559コマンド フックは stdin 経由で JSON データを受け取り、終了コード、stdout、stderr を通じて結果を通信します。HTTP フックは同じ JSON をリクエスト本体として受け取り、HTTP レスポンス本体を通じて結果を通信します。このセクションでは、すべてのイベントに共通するフィールドと動作について説明します。[フック イベント](#hook-events)の各セクションには、その特定の入力スキーマと決定制御オプションが含まれています。596コマンド フックは stdin 経由で JSON データを受け取り、終了コード、stdout、stderr を通じて結果を通信します。HTTP フックは同じ JSON をリクエスト本体として受け取り、HTTP レスポンス本体を通じて結果を通信します。このセクションでは、すべてのイベントに共通するフィールドと動作について説明します。[フック イベント](#hook-events)の各セクションには、その特定の入力スキーマと決定制御オプションが含まれています。

560 597 

561macOS と Linux では、コマンド フックは v2.1.139 以降、制御端末のない独自のセッションで実行されます。フック プロセスと子プロセスは `/dev/tty` を開くことも、エスケープ シーケンスを Claude Code インターフェイスに直接送信することもできません。Windows には `/dev/tty` がありません。任意のプラットフォームでユーザーにメッセージを表示するには、JSON 出力で[`systemMessage`](#json-output)を返します。デスクトップ通知をトリガーしたり、ウィンドウ タイトルを設定したり、ベルを鳴らしたりするには、代わりに[`terminalSequence`](#emit-terminal-notifications)を返します。598macOS と Linux では、コマンド フックは v2.1.139 以降、制御端末のない独自のセッションで実行されます。フック プロセスと子プロセスは `/dev/tty` を開くことも、エスケープ シーケンスを Claude Code インターフェイスに直接送信することもできません。Windows には `/dev/tty` がありません。任意のプラットフォームでユーザーにメッセージを表示するには、JSON 出力で[`systemMessage`](#json-output)を返します。デスクトップ通知をトリガーしたり、ウィンドウ タイトルを設定したり、ベルを鳴らしたりするには、代わりに[`terminalSequence`](#emit-terminal-notifications)を返します。

562 599 

563### 共通入力フィールド600<h3 id="common-input-fields">

601 共通入力フィールド

602</h3>

564 603 

565フック イベントは、各[フック イベント](#hook-events)セクションで説明されているイベント固有のフィールドに加えて、これらのフィールドを JSON として受け取ります。コマンド フックの場合、この JSON は stdin 経由で到着します。HTTP フックの場合、POST リクエスト本体として到着します。604フック イベントは、各[フック イベント](#hook-events)セクションで説明されているイベント固有のフィールドに加えて、これらのフィールドを JSON として受け取ります。コマンド フックの場合、この JSON は stdin 経由で到着します。HTTP フックの場合、POST リクエスト本体として到着します。

566 605 

567| フィールド | 説明 |606| フィールド | 説明 |

568| :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |607| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

569| `session_id` | 現在のセッション識別子 |608| `session_id` | 現在のセッション識別子 |

570| `transcript_path` | 会話 JSON へのパス |609| `transcript_path` | 会話 JSON へのパス |

571| `cwd` | フックが呼び出されるときの現在の作業ディレクトリ |610| `cwd` | フックが呼び出されるときの現在の作業ディレクトリ |

572| `permission_mode` | 現在の[権限モード](/ja/permissions#permission-modes): `"default"`、`"plan"`、`"acceptEdits"`、`"auto"`、`"dontAsk"`、または `"bypassPermissions"`。すべてのイベントがこのフィールドを受け取るわけではありません。各イベントの JSON 例を確認してください |611| `permission_mode` | 現在の[権限モード](/ja/permissions#permission-modes): `"default"`、`"plan"`、`"acceptEdits"`、`"auto"`、`"dontAsk"`、または `"bypassPermissions"`。すべてのイベントがこのフィールドを受け取るわけではありません。各イベントの JSON 例を確認してください |

573| `effort` | アクティブな[努力レベル](/ja/model-config#adjust-effort-level)を保持する `level` フィールドを持つオブジェクト。ターンの場合: `"low"`、`"medium"`、`"high"`、`"xhigh"`、または `"max"`。リクエストされた努力レベルが現在のモデルがサポートしているものを超える場合これはモデルが実際に使用したダウングレードされたレベルでありリクエストしたレベルではありません。オブジェクトは[ステータス ライン](/ja/statusline#available-data)の `effort` フィールドと一致します。`PreToolUse`、`PostToolUse`、`Stop`、`SubagentStop` などのツール使用コンテキスト内で発火するイベント、および現在のモデルが努力パラメータをサポートする場合に存在します。レベルは、フック コマンドと Bash ツールに `$CLAUDE_EFFORT` 環境変数として利用可能です。 |612| `effort` | アクティブな[努力レベル](/ja/model-config#adjust-effort-level)を保持する `level` フィールドを持つオブジェクト。ターンの場合: `"low"`、`"medium"`、`"high"`、`"xhigh"`、または `"max"`。リクエストされたモデル努力が現在のモデルがサポートしているものを超える場合これはモデルが実際に使用したダウングレードされたレベルです。Ultracode は異なるレベルではなく`"xhigh"` として報告されます。オブジェクトは[ステータス ライン](/ja/statusline#available-data)の `effort` フィールドと一致します。`PreToolUse`、`PostToolUse`、`Stop`、`SubagentStop` などのツール使用コンテキスト内で発火するイベント、および現在のモデルが努力パラメータをサポートする場合に存在します。レベルは、フック コマンドと Bash ツールに `$CLAUDE_EFFORT` 環境変数として利用可能です。 |

574| `hook_event_name` | 発火したイベントの名前 |613| `hook_event_name` | 発火したイベントの名前 |

575 614 

576`--agent` で実行するか、サブエージェント内で実行する場合、2 つの追加フィールドが含まれます。615`--agent` で実行するか、サブエージェント内で実行する場合、2 つの追加フィールドが含まれます。


600 639 

601`tool_name` と `tool_input` フィールドはイベント固有です。各[フック イベント](#hook-events)セクションでは、そのイベントの追加フィールドについて説明しています。640`tool_name` と `tool_input` フィールドはイベント固有です。各[フック イベント](#hook-events)セクションでは、そのイベントの追加フィールドについて説明しています。

602 641 

603### 終了コード出力642<h3 id="exit-code-output">

643 終了コード出力

644</h3>

604 645 

605フック コマンドからの終了コードは、Claude Code にアクションが進行すべきか、ブロックされるべきか、無視されるべきかを伝えます。646フック コマンドからの終了コードは、Claude Code にアクションが進行すべきか、ブロックされるべきか、無視されるべきかを伝えます。

606 647 


622 exit 2 # ブロッキング エラー: ツール呼び出しが防止される663 exit 2 # ブロッキング エラー: ツール呼び出しが防止される

623fi664fi

624 665 

625exit 0 # 成功: ツール呼び出しが進行666exit 0 # 決定なし: 通常の権限フローが適用される

626```667```

627 668 

628<Warning>669<Warning>

629 ほとんどのフック イベントでは、終了コード 2 のみがアクションをブロックします。Claude Code は終了コード 1 を非ブロッキング エラーとして扱い、1 が従来の Unix 失敗コードであっても、アクションを進行させます。フックがポリシーを実施することを目的としている場合は、`exit 2` を使用してください。例外は `WorktreeCreate` で、0 以外の終了コードはワークツリー作成を中止します。670 ほとんどのフック イベントでは、終了コード 2 のみがアクションをブロックします。Claude Code は終了コード 1 を非ブロッキング エラーとして扱い、1 が従来の Unix 失敗コードであっても、アクションを進行させます。フックがポリシーを実施することを目的としている場合は、`exit 2` を使用してください。例外は `WorktreeCreate` で、0 以外の終了コードはワークツリー作成を中止します。

630</Warning>671</Warning>

631 672 

632#### イベントごとの終了コード 2 動作673<h4 id="exit-code-2-behavior-per-event">

674 イベントごとの終了コード 2 動作

675</h4>

633 676 

634終了コード 2 は、フックが「停止、これをしないでください」と通知する方法です。効果はイベントに依存します。一部のイベントはブロック可能なアクション(まだ発生していないツール呼び出しなど)を表し、他のイベントはすでに発生したか防止できないことを表すためです。677終了コード 2 は、フックが「停止、これをしないでください」と通知する方法です。効果はイベントに依存します。一部のイベントはブロック可能なアクション(まだ発生していないツール呼び出しなど)を表し、他のイベントはすでに発生したか防止できないことを表すためです。

635 678 


664| `WorktreeCreate` | はい | 0 以外の終了コードでワークツリー作成が失敗 |707| `WorktreeCreate` | はい | 0 以外の終了コードでワークツリー作成が失敗 |

665| `WorktreeRemove` | いいえ | 失敗はデバッグ モードでのみログ |708| `WorktreeRemove` | いいえ | 失敗はデバッグ モードでのみログ |

666| `InstructionsLoaded` | いいえ | 終了コードは無視 |709| `InstructionsLoaded` | いいえ | 終了コードは無視 |

710| `MessageDisplay` | いいえ | 元のテキストが表示される |

667 711 

668### HTTP レスポンス処理712<h3 id="http-response-handling">

713 HTTP レスポンス処理

714</h3>

669 715 

670HTTP フックは終了コードと stdout の代わりに HTTP ステータス コードとレスポンス本体を使用します。716HTTP フックは終了コードと stdout の代わりに HTTP ステータス コードとレスポンス本体を使用します。

671 717 


677 723 

678コマンド フックとは異なり、HTTP フックはステータス コードのみでブロッキング エラーを通知できません。ツール呼び出しをブロックまたは権限を拒否するには、適切な決定フィールドを含む JSON 本体を持つ 2xx レスポンスを返します。724コマンド フックとは異なり、HTTP フックはステータス コードのみでブロッキング エラーを通知できません。ツール呼び出しをブロックまたは権限を拒否するには、適切な決定フィールドを含む JSON 本体を持つ 2xx レスポンスを返します。

679 725 

680### JSON 出力726<h3 id="json-output">

727 JSON 出力

728</h3>

681 729 

682終了コードで許可またはブロックできますが、JSON 出力はより細かい制御を提供します。終了コード 2 でブロックする代わりに、終了 0 して stdout に JSON オブジェクトを出力します。Claude Code はその JSON から特定のフィールドを読み取り、ブロック、許可、またはユーザーへのエスカレーションを含む[決定制御](#decision-control)を通じた動作を制御します。730終了コードで許可またはブロックできますが、JSON 出力はより細かい制御を提供します。終了コード 2 でブロックする代わりに、終了 0 して stdout に JSON オブジェクトを出力します。Claude Code はその JSON から特定のフィールドを読み取り、ブロック、許可、またはユーザーへのエスカレーションを含む[決定制御](#decision-control)を通じた動作を制御します。

683 731 


709{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }757{ "continue": false, "stopReason": "Build failed, fix errors before continuing" }

710```758```

711 759 

712#### ターミナル通知を発行760<h4 id="emit-terminal-notifications">

761 ターミナル通知を発行

762</h4>

713 763 

714`terminalSequence` フィールドには Claude Code v2.1.141 以降が必要です。764`terminalSequence` フィールドには Claude Code v2.1.141 以降が必要です。

715 765 


743 `terminalSequence` は、以前に `/dev/tty` にエスケープ シーケンスを直接書き込んでいたフックの対応する置き換えです。許可リストはカーソルを移動したり色を変更したりできないシーケンスに制限されているため、フックはオンスクリーン プロンプトを破損することはできません。793 `terminalSequence` は、以前に `/dev/tty` にエスケープ シーケンスを直接書き込んでいたフックの対応する置き換えです。許可リストはカーソルを移動したり色を変更したりできないシーケンスに制限されているため、フックはオンスクリーン プロンプトを破損することはできません。

744</Note>794</Note>

745 795 

746#### Claude 用にコンテキストを追加796<h4 id="add-context-for-claude">

797 Claude 用にコンテキストを追加

798</h4>

747 799 

748`additionalContext` フィールドは、フックから Claude のコンテキスト ウィンドウに文字列を渡します。Claude Code は文字列をシステム リマインダーでラップし、フックが発火した時点で会話に挿入します。Claude は次のモデル リクエストでリマインダーを読み取りますが、インターフェイスではチャット メッセージとして表示されません。800`additionalContext` フィールドは、フックから Claude のコンテキスト ウィンドウに文字列を渡します。Claude Code は文字列をシステム リマインダーでラップし、フックが発火した時点で会話に挿入します。Claude は次のモデル リクエストでリマインダーを読み取りますが、インターフェイスではチャット メッセージとして表示されません。

749 801 


778 830 

779注入されたテキストはセッション トランスクリプトに保存されます。`PostToolUse` または `UserPromptSubmit` などの中盤イベントの場合、`--continue` または `--resume` で再開すると、フックを再実行する代わりに保存されたテキストが再生されるため、タイムスタンプやコミット SHA などの値は再開時に古くなります。`SessionStart` フックは `source` を `"resume"` に設定して再開時に再度実行されるため、コンテキストをリフレッシュできます。831注入されたテキストはセッション トランスクリプトに保存されます。`PostToolUse` または `UserPromptSubmit` などの中盤イベントの場合、`--continue` または `--resume` で再開すると、フックを再実行する代わりに保存されたテキストが再生されるため、タイムスタンプやコミット SHA などの値は再開時に古くなります。`SessionStart` フックは `source` を `"resume"` に設定して再開時に再度実行されるため、コンテキストをリフレッシュできます。

780 832 

781#### 決定制御833<h4 id="decision-control">

834 決定制御

835</h4>

782 836 

783すべてのイベントが JSON を通じたブロッキングまたは動作制御をサポートしているわけではありません。サポートするイベントは、その決定を表現するために異なるフィールド セットを使用します。フックを書く前に、このテーブルをクイック リファレンスとして使用してください。837すべてのイベントが JSON を通じたブロッキングまたは動作制御をサポートしているわけではありません。サポートするイベントは、その決定を表現するために異なるフィールド セットを使用します。フックを書く前に、このテーブルをクイック リファレンスとして使用してください。

784 838 

785| イベント | 決定パターン | キー フィールド |839| イベント | 決定パターン | キー フィールド |

786| :-------------------------------------------------------------------------------------------------------------------------- | :------------------------- | :------------------------------------------------------------------------------------------------------------------------- |840| :-------------------------------------------------------------------------------------------------------------------------- | :------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

787| UserPromptSubmit、UserPromptExpansion、PostToolUse、PostToolUseFailure、PostToolBatch、Stop、SubagentStop、ConfigChange、PreCompact | トップレベル `decision` | `decision: "block"`、`reason` |841| UserPromptSubmit、UserPromptExpansion、PostToolUse、PostToolUseFailure、PostToolBatch、Stop、SubagentStop、ConfigChange、PreCompact | トップレベル `decision` | `decision: "block"`、`reason` |

788| TeammateIdle、TaskCreated、TaskCompleted | 終了コードまたは `continue: false` | 終了コード 2 はアクションをブロックし、stderr フィードバックを使用します。JSON `{"continue": false, "stopReason": "..."}` はチームメイト全体を停止し、`Stop` フック動作と一致します |842| TeammateIdle、TaskCreated、TaskCompleted | 終了コードまたは `continue: false` | 終了コード 2 はアクションをブロックし、stderr フィードバックを使用します。JSON `{"continue": false, "stopReason": "..."}` はチームメイト全体を停止し、`Stop` フック動作と一致します |

789| PreToolUse | `hookSpecificOutput` | `permissionDecision`(allow/deny/ask/defer)、`permissionDecisionReason` |843| PreToolUse | `hookSpecificOutput` | `permissionDecision`(allow/deny/ask/defer)、`permissionDecisionReason` |


792| WorktreeCreate | パス戻り値 | コマンド フックは stdout にパスを出力します。HTTP フックは `hookSpecificOutput.worktreePath` 経由で返します。フック失敗またはパス欠落で作成が失敗 |846| WorktreeCreate | パス戻り値 | コマンド フックは stdout にパスを出力します。HTTP フックは `hookSpecificOutput.worktreePath` 経由で返します。フック失敗またはパス欠落で作成が失敗 |

793| Elicitation | `hookSpecificOutput` | `action`(accept/decline/cancel)、`content`(accept の場合のフォーム フィールド値) |847| Elicitation | `hookSpecificOutput` | `action`(accept/decline/cancel)、`content`(accept の場合のフォーム フィールド値) |

794| ElicitationResult | `hookSpecificOutput` | `action`(accept/decline/cancel)、`content`(フォーム フィールド値をオーバーライド) |848| ElicitationResult | `hookSpecificOutput` | `action`(accept/decline/cancel)、`content`(フォーム フィールド値をオーバーライド) |

849| MessageDisplay | `hookSpecificOutput` | `displayContent` は画面に表示されるテキストを置き換えます。表示のみ: トランスクリプトと Claude が見るものは元のままです |

850| SessionStart、Setup、SubagentStart | コンテキストのみ | `hookSpecificOutput.additionalContext` は Claude 用にコンテキストを追加します。SessionStart は [`initialUserMessage`、`watchPaths`、`sessionTitle`、および `reloadSkills`](#sessionstart-decision-control)も受け入れます。ブロッキングまたは決定制御なし |

795| WorktreeRemove、Notification、SessionEnd、PostCompact、InstructionsLoaded、StopFailure、CwdChanged、FileChanged | なし | 決定制御なし。ログやクリーンアップなどの副作用に使用 |851| WorktreeRemove、Notification、SessionEnd、PostCompact、InstructionsLoaded、StopFailure、CwdChanged、FileChanged | なし | 決定制御なし。ログやクリーンアップなどの副作用に使用 |

796 852 

797各パターンの実行例を以下に示します。853各パターンの実行例を以下に示します。


843 899 

844Bash コマンド検証、プロンプト フィルタリング、自動承認スクリプトを含む拡張例については、ガイドの[自動化できること](/ja/hooks-guide#what-you-can-automate)と[Bash コマンド バリデーター リファレンス実装](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py)を参照してください。900Bash コマンド検証、プロンプト フィルタリング、自動承認スクリプトを含む拡張例については、ガイドの[自動化できること](/ja/hooks-guide#what-you-can-automate)と[Bash コマンド バリデーター リファレンス実装](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py)を参照してください。

845 901 

846## フック イベント902<h2 id="hook-events">

903 フック イベント

904</h2>

847 905 

848各イベントは Claude Code のライフサイクル内のポイントに対応し、フックが実行できます。以下のセクションはライフサイクルに一致する順序で配置されています。セッション セットアップから agentic ループを経由してセッション終了まで。各セクションでは、イベントがいつ発火するか、サポートするマッチャー、受け取る JSON 入力、出力を通じた動作制御方法について説明しています。906各イベントは Claude Code のライフサイクル内のポイントに対応し、フックが実行できます。以下のセクションはライフサイクルに一致する順序で配置されています。セッション セットアップから agentic ループを経由してセッション終了まで。各セクションでは、イベントがいつ発火するか、サポートするマッチャー、受け取る JSON 入力、出力を通じた動作制御方法について説明しています。

849 907 

850### SessionStart908<h3 id="sessionstart">

909 SessionStart

910</h3>

851 911 

852Claude Code が新しいセッションを開始するか、既存のセッションを再開するときに実行されます。既存の問題や最近のコードベース変更など、開発コンテキストをロードしたり、環境変数をセットアップしたりするのに便利です。静的コンテキストでスクリプトが不要な場合は、代わりに[CLAUDE.md](/ja/memory)を使用してください。912Claude Code が新しいセッションを開始するか、既存のセッションを再開するときに実行されます。既存の問題や最近のコードベース変更など、開発コンテキストをロードしたり、環境変数をセットアップしたりするのに便利です。静的コンテキストでスクリプトが不要な場合は、代わりに[CLAUDE.md](/ja/memory)を使用してください。

853 913 


862| `clear` | `/clear` |922| `clear` | `/clear` |

863| `compact` | 自動またはマニュアル コンパクション |923| `compact` | 自動またはマニュアル コンパクション |

864 924 

865#### SessionStart 入力925<h4 id="sessionstart-input">

926 SessionStart 入力

927</h4>

866 928 

867[共通入力フィールド](#common-input-fields)に加えて、SessionStart フックは `source`、`model`、およびオプションで `agent_type` を受け取ります。`source` フィールドはセッションがどのように開始されたかを示します。新しいセッションの場合は `"startup"`、再開されたセッションの場合は `"resume"`、`/clear` の後は `"clear"`、コンパクション後は `"compact"`。`model` フィールドはモデル識別子を含みます。`claude --agent <name>` で Claude Code を開始する場合、`agent_type` フィールドはエージェント名を含みます。929[共通入力フィールド](#common-input-fields)に加えて、SessionStart フックは `source`、`model`、およびオプションで `agent_type` と `session_title` を受け取ります。`source` フィールドはセッションがどのように開始されたかを示します。新しいセッションの場合は `"startup"`、再開されたセッションの場合は `"resume"`、`/clear` の後は `"clear"`、コンパクション後は `"compact"`。`model` フィールドはモデル識別子を含みます。`claude --agent <name>` で Claude Code を開始する場合、`agent_type` フィールドはエージェント名を含みます。`session_title` フィールドは、例えば `--name` または `/rename` 経由で既に設定されている場合、現在のセッション タイトルを含みます。`sessionTitle` を発行するフックは、ユーザーが明示的に設定したタイトルを上書きしないように、最初に `session_title` をチェックできます。

868 930 

869```json theme={null}931```json theme={null}

870{932{


877}939}

878```940```

879 941 

880#### SessionStart 決定制御942<h4 id="sessionstart-decision-control">

943 SessionStart 決定制御

944</h4>

881 945 

882フック スクリプトが stdout に出力するテキストは Claude のコンテキストとして追加されます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、これらのイベント固有のフィールドを返すことができます。946フック スクリプトが stdout に出力するテキストは Claude のコンテキストとして追加されます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、これらのイベント固有のフィールドを返すことができます。

883 947 

884| フィールド | 説明 |948| フィールド | 説明 |

885| :------------------ | :------------------------------------------------------------------------------------------------------------------------ |949| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

886| `additionalContext` | Claude のコンテキストの開始時に追加される文字列。最初のプロンプトの前。[Claude のコンテキストを追加](#add-context-for-claude)を参照して、テキストがどのように配信されるか、何を含めるかを確認してください |950| `additionalContext` | Claude のコンテキストの開始時に追加される文字列。最初のプロンプトの前。[Claude のコンテキストを追加](#add-context-for-claude)を参照して、テキストがどのように配信されるか、何を含めるかを確認してください |

951| `initialUserMessage` | セッションの最初のユーザー メッセージとして使用される文字列。[非対話型モード](/ja/headless)(`-p`)で適用され、プロンプトが提供されない場合でも最初のターンになります。プロンプトが提供される場合、次のターンとして続きます。`additionalContext` とは異なり、既存のターンに付加されるのではなく、このターンを作成します |

952| `sessionTitle` | セッション タイトルを設定します。`/rename` と同じ効果があります。起動フォルダ、git ブランチ、またはワークツリー名からセッションを自動的に名前付けするのに使用します。`source` が `"startup"` または `"resume"` の場合のみ適用されます。`"clear"` と `"compact"` では無視されます |

953| `watchPaths` | このセッション中に[FileChanged](#filechanged)イベントを監視する絶対パスの配列 |

954| `reloadSkills` | ブール値。`true` の場合、Claude Code は SessionStart フックが完了した後に[スキル](/ja/skills)とコマンド ディレクトリを再スキャンするため、フックがインストールしたスキルは同じセッションで利用可能になり、最初のプロンプトから開始されます |

887 955 

888```json theme={null}956```json theme={null}

889{957{

890 "hookSpecificOutput": {958 "hookSpecificOutput": {

891 "hookEventName": "SessionStart",959 "hookEventName": "SessionStart",

892 "additionalContext": "Current branch: feat/auth-refactor\nUncommitted changes: src/auth.ts, src/login.tsx\nActive issue: #4211 Migrate to OAuth2"960 "additionalContext": "Current branch: feat/auth-refactor\nUncommitted changes: src/auth.ts, src/login.tsx\nActive issue: #4211 Migrate to OAuth2",

961 "sessionTitle": "auth-refactor"

893 }962 }

894}963}

895```964```

896 965 

897このイベントではプレーン stdout が既に Claude に到達するため、コンテキストのみをロードするフックは JSON を構築せずに stdout に直接出力できます。`suppressOutput` などの他のフィールドとコンテキストを組み合わせる必要がある場合は JSON 形式を使用します。966このイベントではプレーン stdout が既に Claude に到達するため、コンテキストのみをロードするフックは JSON を構築せずに stdout に直接出力できます。`suppressOutput` や `sessionTitle` などの他のフィールドとコンテキストを組み合わせる必要がある場合は JSON 形式を使用します。

898 967 

899#### 環境変数を永続化968SessionStart フックがスキルをインストールまたは更新する場合は `reloadSkills` を使用します。スキル検出は通常 SessionStart フックが完了する前に実行されるため、フックが `~/.claude/skills/` または `.claude/skills/` に書き込むファイルは、それ以外の場合は次のセッションにのみ表示されます。この例は共有スキル リポジトリを同期し、再スキャンをリクエストします。

969 

970```bash theme={null}

971#!/bin/bash

972 

973git -C ~/.claude/skills/team-skills pull --quiet 2>/dev/null || \

974 git clone --quiet https://git.example.com/your-org/team-skills.git ~/.claude/skills/team-skills

975 

976echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

977```

978 

979<h4 id="persist-environment-variables">

980 環境変数を永続化

981</h4>

900 982 

901SessionStart フックは `CLAUDE_ENV_FILE` 環境変数にアクセスでき、後続の Bash コマンド用に環境変数を永続化できるファイル パスを提供します。983SessionStart フックは `CLAUDE_ENV_FILE` 環境変数にアクセスでき、後続の Bash コマンド用に環境変数を永続化できるファイル パスを提供します。

902 984 


939 `CLAUDE_ENV_FILE` は SessionStart、[Setup](#setup)、[CwdChanged](#cwdchanged)、[FileChanged](#filechanged)フックで利用可能です。他のフック タイプはこの変数にアクセスできません。1021 `CLAUDE_ENV_FILE` は SessionStart、[Setup](#setup)、[CwdChanged](#cwdchanged)、[FileChanged](#filechanged)フックで利用可能です。他のフック タイプはこの変数にアクセスできません。

940</Note>1022</Note>

941 1023 

942### Setup1024<h3 id="setup">

1025 Setup

1026</h3>

943 1027 

944`--init-only` で Claude Code を起動するか、プリント モード(`-p`)で `--init` または `--maintenance` で起動するときのみ発火します。通常のスタートアップでは発火しません。CI またはスクリプトから明示的にトリガーする 1 回限りの依存関係インストールまたはスケジュール済みクリーンアップに使用します。通常のセッション スタートアップとは別です。セッションごとの初期化の場合は、代わりに[SessionStart](#sessionstart)を使用してください。1028`--init-only` で Claude Code を起動するか、プリント モード(`-p`)で `--init` または `--maintenance` で起動するときのみ発火します。通常のスタートアップでは発火しません。CI またはスクリプトから明示的にトリガーする 1 回限りの依存関係インストールまたはスケジュール済みクリーンアップに使用します。通常のセッション スタートアップとは別です。セッションごとの初期化の場合は、代わりに[SessionStart](#sessionstart)を使用してください。

945 1029 


954 1038 

955Setup はすべての起動で発火しないため、依存関係がインストールされている必要があるプラグインは Setup のみに依存できません。実用的なパターンは、最初の使用時に依存関係をチェックし、欠落している場合はインストールすることです。例えば、`${CLAUDE_PLUGIN_DATA}/node_modules` をテストし、欠落している場合は `npm install` を実行するフックまたはスキル。永続データ ディレクトリについては、[永続データ ディレクトリ](/ja/plugins-reference#persistent-data-directory)を参照して、インストールされた依存関係を保存する場所を確認してください。1039Setup はすべての起動で発火しないため、依存関係がインストールされている必要があるプラグインは Setup のみに依存できません。実用的なパターンは、最初の使用時に依存関係をチェックし、欠落している場合はインストールすることです。例えば、`${CLAUDE_PLUGIN_DATA}/node_modules` をテストし、欠落している場合は `npm install` を実行するフックまたはスキル。永続データ ディレクトリについては、[永続データ ディレクトリ](/ja/plugins-reference#persistent-data-directory)を参照して、インストールされた依存関係を保存する場所を確認してください。

956 1040 

957#### Setup 入力1041<h4 id="setup-input">

1042 Setup 入力

1043</h4>

958 1044 

959[共通入力フィールド](#common-input-fields)に加えて、Setup フックは `trigger` フィールドを受け取ります。これは `"init"` または `"maintenance"` に設定されます。1045[共通入力フィールド](#common-input-fields)に加えて、Setup フックは `trigger` フィールドを受け取ります。これは `"init"` または `"maintenance"` に設定されます。

960 1046 


968}1054}

969```1055```

970 1056 

971#### Setup 決定制御1057<h4 id="setup-decision-control">

1058 Setup 決定制御

1059</h4>

972 1060 

973Setup フックはブロックできません。終了コード 2 では、stderr がユーザーに表示されます。その他の非ゼロ終了コードでは、stderr は `--verbose` で起動した場合のみ表示されます。どちらの場合も実行は続行されます。Claude のコンテキストに情報を渡すには、JSON 出力で `additionalContext` を返します。プレーン stdout はデバッグ ログにのみ書き込まれます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、これらのイベント固有のフィールドを返すことができます。1061Setup フックはブロックできません。終了コード 2 では、stderr がユーザーに表示されます。その他の非ゼロ終了コードでは、stderr は `--verbose` で起動した場合のみ表示されます。どちらの場合も実行は続行されます。Claude のコンテキストに情報を渡すには、JSON 出力で `additionalContext` を返します。プレーン stdout はデバッグ ログにのみ書き込まれます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、これらのイベント固有のフィールドを返すことができます。

974 1062 


987 1075 

988Setup フックは `CLAUDE_ENV_FILE` にアクセスできます。そのファイルに書き込まれた変数は、[SessionStart フック](#persist-environment-variables)と同じように、セッション中の後続の Bash コマンドに永続化されます。`type: "command"` と `type: "mcp_tool"` フックのみがサポートされています。1076Setup フックは `CLAUDE_ENV_FILE` にアクセスできます。そのファイルに書き込まれた変数は、[SessionStart フック](#persist-environment-variables)と同じように、セッション中の後続の Bash コマンドに永続化されます。`type: "command"` と `type: "mcp_tool"` フックのみがサポートされています。

989 1077 

990### InstructionsLoaded1078<h3 id="instructionsloaded">

1079 InstructionsLoaded

1080</h3>

991 1081 

992`CLAUDE.md` または `.claude/rules/*.md` ファイルがコンテキストにロードされるときに発火します。このイベントはセッション開始時に熱心にロードされたファイルに対して発火し、後で Claude がネストされた `CLAUDE.md` を含むサブディレクトリにアクセスするときなど、遅延ロードされたファイルに対して再度発火します。または `paths:` フロントマターを持つ条件付きルールがマッチするとき。フックはブロッキングまたは決定制御をサポートしません。観測可能性の目的で非同期に実行されます。1082`CLAUDE.md` または `.claude/rules/*.md` ファイルがコンテキストにロードされるときに発火します。このイベントはセッション開始時に熱心にロードされたファイルに対して発火し、後で Claude がネストされた `CLAUDE.md` を含むサブディレクトリにアクセスするときなど、遅延ロードされたファイルに対して再度発火します。または `paths:` フロントマターを持つ条件付きルールがマッチするとき。フックはブロッキングまたは決定制御をサポートしません。観測可能性の目的で非同期に実行されます。

993 1083 

994マッチャーは `load_reason` に対して実行されます。例えば、`"matcher": "session_start"` を使用してセッション開始時にロードされたファイルのみに対して発火するか、`"matcher": "path_glob_match|nested_traversal"` を使用して遅延ロードのみに対して発火します。1084マッチャーは `load_reason` に対して実行されます。例えば、`"matcher": "session_start"` を使用してセッション開始時にロードされたファイルのみに対して発火するか、`"matcher": "path_glob_match|nested_traversal"` を使用して遅延ロードのみに対して発火します。

995 1085 

996#### InstructionsLoaded 入力1086<h4 id="instructionsloaded-input">

1087 InstructionsLoaded 入力

1088</h4>

997 1089 

998[共通入力フィールド](#common-input-fields)に加えて、InstructionsLoaded フックはこれらのフィールドを受け取ります。1090[共通入力フィールド](#common-input-fields)に加えて、InstructionsLoaded フックはこれらのフィールドを受け取ります。

999 1091 


1018}1110}

1019```1111```

1020 1112 

1021#### InstructionsLoaded 決定制御1113<h4 id="instructionsloaded-decision-control">

1114 InstructionsLoaded 決定制御

1115</h4>

1022 1116 

1023InstructionsLoaded フックは決定制御がありません。命令ロードをブロックまたは変更できません。このイベントを監査ログ、コンプライアンス追跡、または観測可能性に使用します。1117InstructionsLoaded フックは決定制御がありません。命令ロードをブロックまたは変更できません。このイベントを監査ログ、コンプライアンス追跡、または観測可能性に使用します。

1024 1118 

1025### UserPromptSubmit1119<h3 id="userpromptsubmit">

1120 UserPromptSubmit

1121</h3>

1026 1122 

1027ユーザーがプロンプトを送信するときに実行されます。Claude がそれを処理する前に。これにより、プロンプト/会話に基づいて追加コンテキストを追加したり、プロンプトを検証したり、特定のタイプのプロンプトをブロックしたりできます。1123ユーザーがプロンプトを送信するときに実行されます。Claude がそれを処理する前に。これにより、プロンプト/会話に基づいて追加コンテキストを追加したり、プロンプトを検証したり、特定のタイプのプロンプトをブロックしたりできます。

1028 1124 

1029`UserPromptSubmit` フックは `command`、`http`、`mcp_tool` タイプのデフォルト タイムアウトが 30 秒で、他のイベントでのこれらのタイプの 600 秒のデフォルトより短くなっています。このフックはすべてのプロンプトの前に実行され、モデル処理がそれが完了するまでブロックされるため、スタックしたフックはセッションを停止させます。フックにより多くの時間が必要な場合は、フック エントリで `timeout` フィールドを設定します。1125`UserPromptSubmit` フックは `command`、`http`、`mcp_tool` タイプのデフォルト タイムアウトが 30 秒で、他のイベントでのこれらのタイプの 600 秒のデフォルトより短くなっています。このフックはすべてのプロンプトの前に実行され、モデル処理がそれが完了するまでブロックされるため、スタックしたフックはセッションを停止させます。フックにより多くの時間が必要な場合は、フック エントリで `timeout` フィールドを設定します。

1030 1126 

1031#### UserPromptSubmit 入力1127<h4 id="userpromptsubmit-input">

1128 UserPromptSubmit 入力

1129</h4>

1032 1130 

1033[共通入力フィールド](#common-input-fields)に加えて、UserPromptSubmit フックはユーザーが送信したテキストを含む `prompt` フィールドを受け取ります。1131[共通入力フィールド](#common-input-fields)に加えて、UserPromptSubmit フックはユーザーが送信したテキストを含む `prompt` フィールドを受け取ります。

1034 1132 


1043}1141}

1044```1142```

1045 1143 

1046#### UserPromptSubmit 決定制御1144<h4 id="userpromptsubmit-decision-control">

1145 UserPromptSubmit 決定制御

1146</h4>

1047 1147 

1048`UserPromptSubmit` フックは、ユーザー プロンプトが処理されるかどうかを制御し、コンテキストを追加できます。すべての[JSON 出力フィールド](#json-output)が利用可能です。1148`UserPromptSubmit` フックは、ユーザー プロンプトが処理されるかどうかを制御し、コンテキストを追加できます。すべての[JSON 出力フィールド](#json-output)が利用可能です。

1049 1149 


1057プロンプトをブロックするには、`decision` を `"block"` に設定した JSON オブジェクトを返します。1157プロンプトをブロックするには、`decision` を `"block"` に設定した JSON オブジェクトを返します。

1058 1158 

1059| フィールド | 説明 |1159| フィールド | 説明 |

1060| :------------------ | :---------------------------------------------------------------------------- |1160| :----------------------- | :---------------------------------------------------------------------------- |

1061| `decision` | `"block"` はプロンプトが処理されるのを防ぎ、コンテキストから消去します。許可するには省略 |1161| `decision` | `"block"` はプロンプトが処理されるのを防ぎ、コンテキストから消去します。許可するには省略 |

1062| `reason` | `decision` が `"block"` のときにユーザーに表示されます。コンテキストに追加されません |1162| `reason` | `decision` が `"block"` のときにユーザーに表示されます。コンテキストに追加されません |

1063| `additionalContext` | Claude のコンテキストに追加される文字列。[Claude のコンテキストを追加](#add-context-for-claude)を参照してください |1163| `additionalContext` | Claude のコンテキストに追加される文字列。[Claude のコンテキストを追加](#add-context-for-claude)を参照してください |

1064| `sessionTitle` | セッション タイトルを設定します。プロンプト コンテンツに基づいてセッションを自動的に名前付けするのに使用 |1164| `sessionTitle` | セッション タイトルを設定します。プロンプト コンテンツに基づいてセッションを自動的に名前付けするのに使用 |

1165| `suppressOriginalPrompt` | `decision` が `"block"` のときに `true` の場合、ユーザーに表示されるブロック メッセージから元のプロンプト テキストを省略 |

1065 1166 

1066```json theme={null}1167```json theme={null}

1067{1168{


1079 JSON 形式は単純なユースケースには必須ではありません。コンテキストを追加するには、終了コード 0 で stdout にプレーン テキストを出力できます。プロンプトをブロックしたい場合、またはより構造化された制御が必要な場合は JSON を使用します。1180 JSON 形式は単純なユースケースには必須ではありません。コンテキストを追加するには、終了コード 0 で stdout にプレーン テキストを出力できます。プロンプトをブロックしたい場合、またはより構造化された制御が必要な場合は JSON を使用します。

1080</Note>1181</Note>

1081 1182 

1082### UserPromptExpansion1183<h3 id="userpromptexpansion">

1184 UserPromptExpansion

1185</h3>

1083 1186 

1084ユーザーが入力したスラッシュ コマンドが Claude に到達する前にプロンプトに展開されるときに実行されます。特定のコマンドを直接呼び出しからブロックしたり、特定のスキルのコンテキストを注入したり、ユーザーが呼び出すコマンドをログしたりするのに使用します。例えば、`deploy` にマッチするフックは、承認ファイルが存在しない限り `/deploy` をブロックできます。または、レビュー スキルにマッチするフックはチームのレビュー チェックリストを `additionalContext` として追加できます。1187ユーザーが入力したスラッシュ コマンドが Claude に到達する前にプロンプトに展開されるときに実行されます。特定のコマンドを直接呼び出しからブロックしたり、特定のスキルのコンテキストを注入したり、ユーザーが呼び出すコマンドをログしたりするのに使用します。例えば、`deploy` にマッチするフックは、承認ファイルが存在しない限り `/deploy` をブロックできます。または、レビュー スキルにマッチするフックはチームのレビュー チェックリストを `additionalContext` として追加できます。

1085 1188 


1087 1190 

1088`command_name` でマッチします。マッチャーを空のままにして、すべてのプロンプト タイプのスラッシュ コマンドで発火します。1191`command_name` でマッチします。マッチャーを空のままにして、すべてのプロンプト タイプのスラッシュ コマンドで発火します。

1089 1192 

1090#### UserPromptExpansion 入力1193<h4 id="userpromptexpansion-input">

1194 UserPromptExpansion 入力

1195</h4>

1091 1196 

1092[共通入力フィールド](#common-input-fields)に加えて、UserPromptExpansion フックは `expansion_type`、`command_name`、`command_args`、`command_source`、および元の `prompt` 文字列を受け取ります。`expansion_type` フィールドはスキルとカスタム コマンドの場合は `slash_command`、MCP サーバー プロンプトの場合は `mcp_prompt` です。1197[共通入力フィールド](#common-input-fields)に加えて、UserPromptExpansion フックは `expansion_type`、`command_name`、`command_args`、`command_source`、および元の `prompt` 文字列を受け取ります。`expansion_type` フィールドはスキルとカスタム コマンドの場合は `slash_command`、MCP サーバー プロンプトの場合は `mcp_prompt` です。

1093 1198 


1106}1211}

1107```1212```

1108 1213 

1109#### UserPromptExpansion 決定制御1214<h4 id="userpromptexpansion-decision-control">

1215 UserPromptExpansion 決定制御

1216</h4>

1110 1217 

1111`UserPromptExpansion` フックは展開をブロックするか、コンテキストを追加できます。すべての[JSON 出力フィールド](#json-output)が利用可能です。1218`UserPromptExpansion` フックは展開をブロックするか、コンテキストを追加できます。すべての[JSON 出力フィールド](#json-output)が利用可能です。

1112 1219 


1127}1234}

1128```1235```

1129 1236 

1130### PreToolUse1237<h3 id="messagedisplay">

1238 MessageDisplay

1239</h3>

1240 

1241アシスタント メッセージが画面にストリーミングされている間に実行されます。Claude Code はメッセージを増分で表示します。新しく完了した行のバッチがレンダリング準備ができるたびに、フックはそれらの行で 1 回実行され、Claude Code はフックの置換テキストをその場所にレンダリングします。長いメッセージは複数の呼び出しを生成します。短いメッセージは 1 つだけ生成する可能性があります。

1242 

1243MessageDisplay を使用して Claude の応答を画面に表示されるときに再フォーマット、編集、または圧縮します。

1244 

1245Claude Code は各バッチをフックが返されるまで保持するため、フックを高速に保ちます。フックが失敗またはタイムアウトした場合、Claude Code は元のテキストを表示します。このイベントのデフォルト タイムアウトは 10 秒です。フックにより多くの時間が必要な場合は、フック エントリで `timeout` フィールドを設定します。

1246 

1247MessageDisplay は表示のみです。置換テキストは画面にレンダリングされるものだけを変更します。トランスクリプトと Claude が見るものは元のテキストを保持するため、Claude は置換を見ず、詳細モードは元のテキストを表示します。フックはアシスタント メッセージ テキストのみを受け取るため、ツール結果とユーザーが入力したテキストは変更されずにレンダリングされます。

1248 

1249MessageDisplay はマッチャーをサポートせず、テキストをストリーミングするすべてのアシスタント メッセージに対して発火します。テキストなしのメッセージ(ツール呼び出しのみの応答など)はそれをトリガーしません。

1250 

1251非対話型実行(Agent SDK クエリと `claude -p` を含む)では、MessageDisplay はメッセージごとに行のバッチごとに 1 回ではなく 1 回実行されます。単一の呼び出しはメッセージが完了した後に到着し、完全なメッセージ テキストを含みます。`index` は `0`、`final` は `true`、`delta` は全体メッセージを保持します。各メッセージの `delta` テキストを収集するフックは、両方のモードで同じ合計テキストを受け取ります。

1252 

1253<h4 id="messagedisplay-input">

1254 MessageDisplay 入力

1255</h4>

1256 

1257[共通入力フィールド](#common-input-fields)に加えて、MessageDisplay フックはターンとメッセージの識別子、この呼び出しのメッセージ内での位置、および `delta` の新しいテキストを受け取ります。バッチ境界はテキストがどのようにストリーミングされるかに依存するため、行が特定の方法でグループ化されることを期待するのではなく、`index` と `final` を使用してメッセージを通じた進行状況を追跡します。

1258 

1259| フィールド | 説明 |

1260| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1261| `turn_id` | 現在のターンの UUID |

1262| `message_id` | 表示されるアシスタント メッセージの UUID。メッセージの同じバッチ全体で安定しています。これは API `msg_…` id ではないため、トランスクリプト メッセージ id と相関させることはできません |

1263| `index` | メッセージ内のこのバッチのゼロベースのインデックス |

1264| `final` | メッセージの最後のバッチで `true`。各メッセージは正確に 1 つの最終バッチを持ちます |

1265| `delta` | 前のバッチ以降の新しく完了した行。終了改行を含みます。常に完全な行です。ただし、最終バッチは行の途中で終わる可能性があります。対話型実行では、メッセージが改行で終わるときの最終バッチの delta は空なので、`final` ではなく、メッセージの終了信号として `final` を処理します。Agent SDK と `claude -p` 実行では、単一の呼び出しが全体メッセージを含みます |

1266 

1267```json theme={null}

1268{

1269 "session_id": "abc123",

1270 "transcript_path": "/Users/.../.claude/projects/.../transcript.jsonl",

1271 "cwd": "/Users/my-project",

1272 "hook_event_name": "MessageDisplay",

1273 "turn_id": "0c9e6a2f-7d41-4f4e-9a15-3f4f7c2b8d10",

1274 "message_id": "5b2a9c8e-1f63-4d8a-b7c4-9e0d2a6f1c3b",

1275 "index": 0,

1276 "final": false,

1277 "delta": "Here is the plan:\n"

1278}

1279```

1280 

1281<h4 id="messagedisplay-output">

1282 MessageDisplay 出力

1283</h4>

1284 

1285すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、MessageDisplay フックは `displayContent` を返して画面上の delta を置き換えることができます。

1286 

1287| フィールド | 説明 |

1288| :--------------- | :----------------------------------- |

1289| `displayContent` | delta の代わりに表示されるテキスト。元のテキストを表示するには省略 |

1290 

1291MessageDisplay フックは決定制御がありません。メッセージをブロックしたり、トランスクリプトに保存されたもの、または Claude に送信されたものを変更することはできません。

1292 

1293この例は Claude の応答からマークダウン フォーマットを削除して、プレーン テキスト表示を行います。スクリプトは stdin から各バッチを読み取り、`delta` から太字マーカーとインライン コード バッククォートを削除し、結果を `displayContent` として返します。

1294 

1295<Tabs>

1296 <Tab title="macOS/Linux">

1297 設定ファイルでイベントのコマンド フックを登録します。

1298 

1299 ```json theme={null}

1300 {

1301 "hooks": {

1302 "MessageDisplay": [

1303 {

1304 "hooks": [

1305 {

1306 "type": "command",

1307 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/plain-display.sh",

1308 "args": []

1309 }

1310 ]

1311 }

1312 ]

1313 }

1314 }

1315 ```

1316 

1317 このスクリプトをプロジェクトの `.claude/hooks/plain-display.sh` に保存し、`chmod +x` で実行可能にします。

1318 

1319 ```bash theme={null}

1320 #!/bin/bash

1321 jq '{hookSpecificOutput: {hookEventName: "MessageDisplay", displayContent: (.delta | gsub("\\*\\*"; "") | gsub("`"; ""))}}'

1322 ```

1323 

1324 スクリプトは `PATH` に `jq` が必要です。

1325 </Tab>

1326 

1327 <Tab title="Windows (PowerShell)">

1328 PowerShell 経由でスクリプトを実行するコマンド フックを登録します。

1329 

1330 ```json theme={null}

1331 {

1332 "hooks": {

1333 "MessageDisplay": [

1334 {

1335 "hooks": [

1336 {

1337 "type": "command",

1338 "command": "powershell.exe",

1339 "args": [

1340 "-NoProfile",

1341 "-ExecutionPolicy",

1342 "Bypass",

1343 "-File",

1344 "${CLAUDE_PROJECT_DIR}/.claude/hooks/plain-display.ps1"

1345 ]

1346 }

1347 ]

1348 }

1349 ]

1350 }

1351 }

1352 ```

1353 

1354 `-NoProfile` フラグは PowerShell プロファイルのロードをスキップしてフックを高速に開始し、`-ExecutionPolicy Bypass` は PowerShell がローカル スクリプト ファイルを実行できるようにします。

1355 

1356 このスクリプトをプロジェクトの `.claude/hooks/plain-display.ps1` に保存します。

1357 

1358 ```powershell theme={null}

1359 $batch = [Console]::In.ReadToEnd() | ConvertFrom-Json

1360 $text = $batch.delta -replace '\*\*', '' -replace '`', ''

1361 @{

1362 hookSpecificOutput = @{

1363 hookEventName = "MessageDisplay"

1364 displayContent = $text

1365 }

1366 } | ConvertTo-Json

1367 ```

1368 </Tab>

1369</Tabs>

1370 

1371マークダウンなしのバッチは変更されずに通過します。スクリプトが失敗した場合(例えば、`jq` が欠落している場合)、Claude Code は元のテキストを表示し、セッションではなく[デバッグ出力](#debug-hooks)でのみ失敗を記録します。

1372 

1373<h3 id="pretooluse">

1374 PreToolUse

1375</h3>

1131 1376 

1132Claude がツール パラメーターを作成した後、ツール呼び出しを処理する前に実行されます。ツール名でマッチします。`Bash`、`Edit`、`Write`、`Read`、`Glob`、`Grep`、`Agent`、`WebFetch`、`WebSearch`、`AskUserQuestion`、`ExitPlanMode`、および任意の[MCP ツール名](#match-mcp-tools)。1377Claude がツール パラメーターを作成した後、ツール呼び出しを処理する前に実行されます。ツール名でマッチします。`Bash`、`Edit`、`Write`、`Read`、`Glob`、`Grep`、`Agent`、`WebFetch`、`WebSearch`、`AskUserQuestion`、`ExitPlanMode`、および任意の[MCP ツール名](#match-mcp-tools)。

1133 1378 

1134[PreToolUse 決定制御](#pretooluse-decision-control)を使用して、ツールの使用を許可、拒否、質問、または遅延します。1379[PreToolUse 決定制御](#pretooluse-decision-control)を使用して、ツール呼び出しを許可、拒否、質問、または遅延します。

1135 1380 

1136#### PreToolUse 入力1381<h4 id="pretooluse-input">

1382 PreToolUse 入力

1383</h4>

1137 1384 

1138[共通入力フィールド](#common-input-fields)に加えて、PreToolUse フックは `tool_name`、`tool_input`、`tool_use_id` を受け取ります。`tool_input` フィールドはツールに依存します。1385[共通入力フィールド](#common-input-fields)に加えて、PreToolUse フックは `tool_name`、`tool_input`、`tool_use_id` を受け取ります。`tool_input` フィールドはツールに依存します。

1139 1386 

1140##### Bash1387<h5 id="bash">

1388 Bash

1389</h5>

1141 1390 

1142シェル コマンドを実行します。1391シェル コマンドを実行します。

1143 1392 


1148| `timeout` | 数値 | `120000` | ミリ秒単位のオプション タイムアウト |1397| `timeout` | 数値 | `120000` | ミリ秒単位のオプション タイムアウト |

1149| `run_in_background` | ブール値 | `false` | コマンドをバックグラウンドで実行するかどうか |1398| `run_in_background` | ブール値 | `false` | コマンドをバックグラウンドで実行するかどうか |

1150 1399 

1151##### Write1400<h5 id="write">

1401 Write

1402</h5>

1152 1403 

1153ファイルを作成または上書きします。1404ファイルを作成または上書きします。

1154 1405 


1157| `file_path` | 文字列 | `"/path/to/file.txt"` | 書き込むファイルへの絶対パス |1408| `file_path` | 文字列 | `"/path/to/file.txt"` | 書き込むファイルへの絶対パス |

1158| `content` | 文字列 | `"file content"` | ファイルに書き込むコンテンツ |1409| `content` | 文字列 | `"file content"` | ファイルに書き込むコンテンツ |

1159 1410 

1160##### Edit1411<h5 id="edit">

1412 Edit

1413</h5>

1161 1414 

1162既存ファイル内の文字列を置換します。1415既存ファイル内の文字列を置換します。

1163 1416 


1168| `new_string` | 文字列 | `"replacement text"` | 置換テキスト |1421| `new_string` | 文字列 | `"replacement text"` | 置換テキスト |

1169| `replace_all` | ブール値 | `false` | すべての出現を置換するかどうか |1422| `replace_all` | ブール値 | `false` | すべての出現を置換するかどうか |

1170 1423 

1171##### Read1424<h5 id="read">

1425 Read

1426</h5>

1172 1427 

1173ファイル コンテンツを読み取ります。1428ファイル コンテンツを読み取ります。

1174 1429 


1178| `offset` | 数値 | `10` | 読み取りを開始する行番号のオプション |1433| `offset` | 数値 | `10` | 読み取りを開始する行番号のオプション |

1179| `limit` | 数値 | `50` | 読み取る行数のオプション |1434| `limit` | 数値 | `50` | 読み取る行数のオプション |

1180 1435 

1181##### Glob1436<h5 id="glob">

1437 Glob

1438</h5>

1182 1439 

1183グロブ パターンにマッチするファイルを検索します。1440グロブ パターンにマッチするファイルを検索します。

1184 1441 


1187| `pattern` | 文字列 | `"**/*.ts"` | ファイルにマッチするグロブ パターン |1444| `pattern` | 文字列 | `"**/*.ts"` | ファイルにマッチするグロブ パターン |

1188| `path` | 文字列 | `"/path/to/dir"` | 検索するオプション ディレクトリ。デフォルトは現在の作業ディレクトリ |1445| `path` | 文字列 | `"/path/to/dir"` | 検索するオプション ディレクトリ。デフォルトは現在の作業ディレクトリ |

1189 1446 

1190##### Grep1447<h5 id="grep">

1448 Grep

1449</h5>

1191 1450 

1192正規表現でファイル コンテンツを検索します。1451正規表現でファイル コンテンツを検索します。

1193 1452 


1200| `-i` | ブール値 | `true` | 大文字小文字を区別しない検索 |1459| `-i` | ブール値 | `true` | 大文字小文字を区別しない検索 |

1201| `multiline` | ブール値 | `false` | 複数行マッチングを有効化 |1460| `multiline` | ブール値 | `false` | 複数行マッチングを有効化 |

1202 1461 

1203##### WebFetch1462<h5 id="webfetch">

1463 WebFetch

1464</h5>

1204 1465 

1205Web コンテンツを取得して処理します。1466Web コンテンツを取得して処理します。

1206 1467 


1209| `url` | 文字列 | `"https://example.com/api"` | コンテンツを取得する URL |1470| `url` | 文字列 | `"https://example.com/api"` | コンテンツを取得する URL |

1210| `prompt` | 文字列 | `"Extract the API endpoints"` | 取得したコンテンツで実行するプロンプト |1471| `prompt` | 文字列 | `"Extract the API endpoints"` | 取得したコンテンツで実行するプロンプト |

1211 1472 

1212##### WebSearch1473<h5 id="websearch">

1474 WebSearch

1475</h5>

1213 1476 

1214Web を検索します。1477Web を検索します。

1215 1478 


1219| `allowed_domains` | 配列 | `["docs.example.com"]` | オプション: これらのドメインからのみ結果を含める |1482| `allowed_domains` | 配列 | `["docs.example.com"]` | オプション: これらのドメインからのみ結果を含める |

1220| `blocked_domains` | 配列 | `["spam.example.com"]` | オプション: これらのドメインからの結果を除外 |1483| `blocked_domains` | 配列 | `["spam.example.com"]` | オプション: これらのドメインからの結果を除外 |

1221 1484 

1222##### Agent1485<h5 id="agent">

1486 Agent

1487</h5>

1223 1488 

1224[サブエージェント](/ja/sub-agents)を生成します。1489[サブエージェント](/ja/sub-agents)を生成します。

1225 1490 


1244 1509 

1245`run_in_background: true` 呼び出しの場合、ツールはサブエージェント起動後すぐに返されるため、`tool_response` は使用フィールドを含みません。`status: "async_launched"`、`agentId`、`description`、`prompt`、`outputFile` を含みます。1510`run_in_background: true` 呼び出しの場合、ツールはサブエージェント起動後すぐに返されるため、`tool_response` は使用フィールドを含みません。`status: "async_launched"`、`agentId`、`description`、`prompt`、`outputFile` を含みます。

1246 1511 

1247##### AskUserQuestion1512<h5 id="askuserquestion">

1513 AskUserQuestion

1514</h5>

1248 1515 

1249ユーザーに 1 つから 4 つの複数選択肢の質問をします。1516ユーザーに 1 つから 4 つの複数選択肢の質問をします。

1250 1517 


1253| `questions` | 配列 | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | 提示する質問。各質問には `question` 文字列、短い `header`、`options` 配列、およびオプションの `multiSelect` フラグがあります |1520| `questions` | 配列 | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | 提示する質問。各質問には `question` 文字列、短い `header`、`options` 配列、およびオプションの `multiSelect` フラグがあります |

1254| `answers` | オブジェクト | `{"Which framework?": "React"}` | オプション。質問テキストを選択されたオプション ラベルにマップします。複数選択の回答はラベルをコンマで結合します。Claude はこのフィールドを設定しません。`updatedInput` 経由で提供して、プログラムで回答します |1521| `answers` | オブジェクト | `{"Which framework?": "React"}` | オプション。質問テキストを選択されたオプション ラベルにマップします。複数選択の回答はラベルをコンマで結合します。Claude はこのフィールドを設定しません。`updatedInput` 経由で提供して、プログラムで回答します |

1255 1522 

1256##### ExitPlanMode1523<h5 id="exitplanmode">

1524 ExitPlanMode

1525</h5>

1257 1526 

1258Claude が[プラン モード](/ja/permission-modes#analyze-before-you-edit-with-plan-mode)を離れる前にプランを提示し、ユーザーに承認を求めます。Claude はツールを呼び出す前にプランをディスク上のファイルに書き込むため、モデルからのリテラル `tool_input` は `allowedPrompts` のみを含みます。Claude Code はプラン コンテンツとファイル パスをフックに渡す前に注入します。1527Claude が[プラン モード](/ja/permission-modes#analyze-before-you-edit-with-plan-mode)を離れる前にプランを提示し、ユーザーに承認を求めます。Claude はツールを呼び出す前にプランをディスク上のファイルに書き込むため、モデルからのリテラル `tool_input` は `allowedPrompts` のみを含みます。Claude Code はプラン コンテンツとファイル パスをフックに渡す前に注入します。

1259 1528 


1265 1534 

1266`PostToolUse` では、`tool_response` は `plan` と `filePath` フィールドを含むオブジェクトで、承認されたプランと内部ステータス フラグを保持します。ディスクからファイルを再度読み取るのではなく、`tool_response.plan` でプラン コンテンツを読み取ります。1535`PostToolUse` では、`tool_response` は `plan` と `filePath` フィールドを含むオブジェクトで、承認されたプランと内部ステータス フラグを保持します。ディスクからファイルを再度読み取るのではなく、`tool_response.plan` でプラン コンテンツを読み取ります。

1267 1536 

1268#### PreToolUse 決定制御1537<h4 id="pretooluse-decision-control">

1538 PreToolUse 決定制御

1539</h4>

1269 1540 

1270`PreToolUse` フックはツール呼び出しが進行するかどうかを制御できます。トップレベル `decision` フィールドを使用する他のフックとは異なり、PreToolUse は `hookSpecificOutput` オブジェクト内に決定を返します。これにより、より豊かな制御が可能になります。4 つの結果(許可、拒否、質問、遅延)と、実行前にツール入力を変更する機能。1541`PreToolUse` フックはツール呼び出しが進行するかどうかを制御できます。トップレベル `decision` フィールドを使用する他のフックとは異なり、PreToolUse は `hookSpecificOutput` オブジェクト内に決定を返します。これにより、より豊かな制御が可能になります。4 つの結果(許可、拒否、質問、遅延)と、実行前にツール入力を変更する機能。

1271 1542 


1300 PreToolUse は以前、トップレベル `decision` と `reason` フィールドを使用していましたが、このイベントでは非推奨です。代わりに `hookSpecificOutput.permissionDecision` と `hookSpecificOutput.permissionDecisionReason` を使用してください。非推奨の値 `"approve"` と `"block"` は `"allow"` と `"deny"` にマップされます。PostToolUse と Stop などの他のイベントは、現在の形式としてトップレベル `decision` と `reason` を使用し続けます。1571 PreToolUse は以前、トップレベル `decision` と `reason` フィールドを使用していましたが、このイベントでは非推奨です。代わりに `hookSpecificOutput.permissionDecision` と `hookSpecificOutput.permissionDecisionReason` を使用してください。非推奨の値 `"approve"` と `"block"` は `"allow"` と `"deny"` にマップされます。PostToolUse と Stop などの他のイベントは、現在の形式としてトップレベル `decision` と `reason` を使用し続けます。

1301</Note>1572</Note>

1302 1573 

1303#### ツール呼び出しを後で再開するために遅延1574<h4 id="defer-a-tool-call-for-later">

1575 ツール呼び出しを後で再開するために遅延

1576</h4>

1304 1577 

1305`"defer"` は `claude -p` をサブプロセスとして実行し、その JSON 出力を読み取る Agent SDK アプリまたはカスタム UI などの統合用です。これにより、その呼び出しプロセスは Claude をツール呼び出しで一時停止し、独自のインターフェースを通じて入力を収集し、中断したところから再開できます。Claude Code は[非対話型モード](/ja/headless)で `-p` フラグでのみこの値を尊重します。対話型セッションではログ警告を記録し、フック結果を無視します。1578`"defer"` は `claude -p` をサブプロセスとして実行し、その JSON 出力を読み取る Agent SDK アプリまたはカスタム UI などの統合用です。これにより、その呼び出しプロセスは Claude をツール呼び出しで一時停止し、独自のインターフェースを通じて入力を収集し、中断したところから再開できます。Claude Code は[非対話型モード](/ja/headless)で `-p` フラグでのみこの値を尊重します。対話型セッションではログ警告を記録し、フック結果を無視します。

1306 1579 


1342 `--resume` は前のセッションから権限モードを復元します。遅延されたときにアクティブだった権限モードが復元されるため、再開時に `--permission-mode` を再度渡す必要はありません。例外は `plan` と `bypassPermissions` で、これらは決して引き継がれません。再開時に `--permission-mode` を明示的に渡すと、復元された値がオーバーライドされます。1615 `--resume` は前のセッションから権限モードを復元します。遅延されたときにアクティブだった権限モードが復元されるため、再開時に `--permission-mode` を再度渡す必要はありません。例外は `plan` と `bypassPermissions` で、これらは決して引き継がれません。再開時に `--permission-mode` を明示的に渡すと、復元された値がオーバーライドされます。

1343</Note>1616</Note>

1344 1617 

1345### PermissionRequest1618<h3 id="permissionrequest">

1619 PermissionRequest

1620</h3>

1346 1621 

1347ユーザーに権限ダイアログが表示されるときに実行されます。1622ユーザーに権限ダイアログが表示されるときに実行されます。

1348[PermissionRequest 決定制御](#permissionrequest-decision-control)を使用して、ユーザーに代わって許可または拒否します。1623[PermissionRequest 決定制御](#permissionrequest-decision-control)を使用して、ユーザーに代わって許可または拒否します。

1349 1624 

1350ツール名でマッチします。PreToolUse と同じ値。1625ツール名でマッチします。PreToolUse と同じ値。

1351 1626 

1352#### PermissionRequest 入力1627<h4 id="permissionrequest-input">

1628 PermissionRequest 入力

1629</h4>

1353 1630 

1354PermissionRequest フックは PreToolUse フックのような `tool_name` と `tool_input` フィールドを受け取りますが、`tool_use_id` はありません。オプションの `permission_suggestions` 配列には、ユーザーが通常権限ダイアログで見る「常に許可」オプションが含まれています。違いはフックが発火するタイミングです。PermissionRequest フックはユーザーに権限ダイアログが表示されようとしているときに実行され、PreToolUse フックは権限ステータスに関係なくツール実行前に実行されます。1631PermissionRequest フックは PreToolUse フックのような `tool_name` と `tool_input` フィールドを受け取りますが、`tool_use_id` はありません。オプションの `permission_suggestions` 配列には、ユーザーが通常権限ダイアログで見る「常に許可」オプションが含まれています。違いはフックが発火するタイミングです。PermissionRequest フックはユーザーに権限ダイアログが表示されようとしているときに実行され、PreToolUse フックは権限ステータスに関係なくツール実行前に実行されます。

1355 1632 


1376}1653}

1377```1654```

1378 1655 

1379#### PermissionRequest 決定制御1656<h4 id="permissionrequest-decision-control">

1657 PermissionRequest 決定制御

1658</h4>

1380 1659 

1381`PermissionRequest` フックは権限リクエストを許可または拒否できます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、フック スクリプトはこれらのイベント固有のフィールドを持つ `decision` オブジェクトを返すことができます。1660`PermissionRequest` フックは権限リクエストを許可または拒否できます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、フック スクリプトはこれらのイベント固有のフィールドを持つ `decision` オブジェクトを返すことができます。

1382 1661 


1402}1681}

1403```1682```

1404 1683 

1405#### 権限更新エントリ1684<h4 id="permission-update-entries">

1685 権限更新エントリ

1686</h4>

1406 1687 

1407`updatedPermissions` 出力フィールドと[`permission_suggestions` 入力フィールド](#permissionrequest-input)の両方が同じエントリ オブジェクトの配列を使用します。各エントリには、その他のフィールドを決定する `type` と、変更が書き込まれる場所を制御する `destination` があります。1688`updatedPermissions` 出力フィールドと[`permission_suggestions` 入力フィールド](#permissionrequest-input)の両方が同じエントリ オブジェクトの配列を使用します。各エントリには、その他のフィールドを決定する `type` と、変更が書き込まれる場所を制御する `destination` があります。

1408 1689 


1411| `addRules` | `rules`、`behavior`、`destination` | 権限ルールを追加します。`rules` は `{toolName, ruleContent?}` オブジェクトの配列です。ツール全体にマッチするには `ruleContent` を省略します。`behavior` は `"allow"`、`"deny"`、または `"ask"` |1692| `addRules` | `rules`、`behavior`、`destination` | 権限ルールを追加します。`rules` は `{toolName, ruleContent?}` オブジェクトの配列です。ツール全体にマッチするには `ruleContent` を省略します。`behavior` は `"allow"`、`"deny"`、または `"ask"` |

1412| `replaceRules` | `rules`、`behavior`、`destination` | `destination` で指定された `behavior` のすべてのルールを提供されたルールに置き換えます |1693| `replaceRules` | `rules`、`behavior`、`destination` | `destination` で指定された `behavior` のすべてのルールを提供されたルールに置き換えます |

1413| `removeRules` | `rules`、`behavior`、`destination` | 指定された `behavior` の一致するルールを削除 |1694| `removeRules` | `rules`、`behavior`、`destination` | 指定された `behavior` の一致するルールを削除 |

1414| `setMode` | `mode`、`destination` | 権限モードを変更します。有効なモードは `default`、`acceptEdits`、`dontAsk`、`bypassPermissions`、`plan` |1695| `setMode` | `mode`、`destination` | 権限モードを変更します。有効なモードは `default`、`auto`、`acceptEdits`、`dontAsk`、`bypassPermissions`、`plan` |

1415| `addDirectories` | `directories`、`destination` | 作業ディレクトリを追加します。`directories` はパス文字列の配列 |1696| `addDirectories` | `directories`、`destination` | 作業ディレクトリを追加します。`directories` はパス文字列の配列 |

1416| `removeDirectories` | `directories`、`destination` | 作業ディレクトリを削除 |1697| `removeDirectories` | `directories`、`destination` | 作業ディレクトリを削除 |

1417 1698 


1430 1711 

1431フックは受け取った `permission_suggestions` の 1 つを独自の `updatedPermissions` 出力として反映できます。これは、ユーザーがダイアログで「常に許可」オプションを選択するのと同等です。1712フックは受け取った `permission_suggestions` の 1 つを独自の `updatedPermissions` 出力として反映できます。これは、ユーザーがダイアログで「常に許可」オプションを選択するのと同等です。

1432 1713 

1433### PostToolUse1714<h3 id="posttooluse">

1715 PostToolUse

1716</h3>

1434 1717 

1435ツールが正常に完了した直後に実行されます。1718ツールが正常に完了した直後に実行されます。

1436 1719 

1437ツール名でマッチします。PreToolUse と同じ値。1720ツール名でマッチします。PreToolUse と同じ値。

1438 1721 

1439#### PostToolUse 入力1722<h4 id="posttooluse-input">

1723 PostToolUse 入力

1724</h4>

1440 1725 

1441`PostToolUse` フックはツールがすでに正常に実行された後に発火します。入力には、ツールに送信された引数である `tool_input` と、返された結果である `tool_response` の両方が含まれます。両方の正確なスキーマはツールに依存します。1726`PostToolUse` フックはツールがすでに正常に実行された後に発火します。入力には、ツールに送信された引数である `tool_input` と、返された結果である `tool_response` の両方が含まれます。両方の正確なスキーマはツールに依存します。

1442 1727 


1465| :------------ | :---------------------------------------------------- |1750| :------------ | :---------------------------------------------------- |

1466| `duration_ms` | オプション。ツール実行時間(ミリ秒)。権限プロンプトと PreToolUse フックに費やされた時間は除外 |1751| `duration_ms` | オプション。ツール実行時間(ミリ秒)。権限プロンプトと PreToolUse フックに費やされた時間は除外 |

1467 1752 

1468#### PostToolUse 決定制御1753<h4 id="posttooluse-decision-control">

1754 PostToolUse 決定制御

1755</h4>

1469 1756 

1470`PostToolUse` フックはツール実行後に Claude にフィードバックを提供できます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、フック スクリプトはこれらのイベント固有のフィールドを返すことができます。1757`PostToolUse` フックはツール実行後に Claude にフィードバックを提供できます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、フック スクリプトはこれらのイベント固有のフィールドを返すことができます。

1471 1758 


1500 置換値はツールの出力形状と一致する必要があります。組み込みツールは単純な文字列ではなく構造化オブジェクトを返します。例えば、`Bash` は `stdout`、`stderr`、`interrupted`、`isImage` フィールドを持つオブジェクトを返します。組み込みツールの場合、ツールの出力スキーマと一致しない値は無視され、元の出力が使用されます。MCP ツール出力はスキーマ検証なしで渡されます。Claude が必要とするエラー詳細を削除すると、Claude が誤った仮定で進行する可能性があります。1787 置換値はツールの出力形状と一致する必要があります。組み込みツールは単純な文字列ではなく構造化オブジェクトを返します。例えば、`Bash` は `stdout`、`stderr`、`interrupted`、`isImage` フィールドを持つオブジェクトを返します。組み込みツールの場合、ツールの出力スキーマと一致しない値は無視され、元の出力が使用されます。MCP ツール出力はスキーマ検証なしで渡されます。Claude が必要とするエラー詳細を削除すると、Claude が誤った仮定で進行する可能性があります。

1501</Warning>1788</Warning>

1502 1789 

1503### PostToolUseFailure1790<h3 id="posttoolusefailure">

1791 PostToolUseFailure

1792</h3>

1504 1793 

1505ツール実行が失敗するときに実行されます。このイベントはエラーをスロー、または失敗結果を返すツール呼び出しに対して発火します。これを使用して失敗をログ、アラートを送信、または Claude に是正フィードバックを提供します。1794ツール実行が失敗するときに実行されます。このイベントはエラーをスロー、または失敗結果を返すツール呼び出しに対して発火します。これを使用して失敗をログ、アラートを送信、または Claude に是正フィードバックを提供します。

1506 1795 

1507ツール名でマッチします。PreToolUse と同じ値。1796ツール名でマッチします。PreToolUse と同じ値。

1508 1797 

1509#### PostToolUseFailure 入力1798<h4 id="posttoolusefailure-input">

1799 PostToolUseFailure 入力

1800</h4>

1510 1801 

1511PostToolUseFailure フックは PostToolUse と同じ `tool_name` と `tool_input` フィールドを受け取り、エラー情報をトップレベル フィールドとして受け取ります。1802PostToolUseFailure フックは PostToolUse と同じ `tool_name` と `tool_input` フィールドを受け取り、エラー情報をトップレベル フィールドとして受け取ります。

1512 1803 


1535| `is_interrupt` | 失敗がユーザー割り込みによって引き起こされたかどうかを示すオプション ブール値 |1826| `is_interrupt` | 失敗がユーザー割り込みによって引き起こされたかどうかを示すオプション ブール値 |

1536| `duration_ms` | オプション。ツール実行時間(ミリ秒)。権限プロンプトと PreToolUse フックに費やされた時間は除外 |1827| `duration_ms` | オプション。ツール実行時間(ミリ秒)。権限プロンプトと PreToolUse フックに費やされた時間は除外 |

1537 1828 

1538#### PostToolUseFailure 決定制御1829<h4 id="posttoolusefailure-decision-control">

1830 PostToolUseFailure 決定制御

1831</h4>

1539 1832 

1540`PostToolUseFailure` フックはツール失敗後に Claude にコンテキストを提供できます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、フック スクリプトはこれらのイベント固有のフィールドを返すことができます。1833`PostToolUseFailure` フックはツール失敗後に Claude にコンテキストを提供できます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、フック スクリプトはこれらのイベント固有のフィールドを返すことができます。

1541 1834 


1552}1845}

1553```1846```

1554 1847 

1555### PostToolBatch1848<h3 id="posttoolbatch">

1849 PostToolBatch

1850</h3>

1556 1851 

1557バッチ内のすべてのツール呼び出しが解決された後、Claude Code が次のモデル リクエストを送信する前に、1 回実行されます。`PostToolUse` はツールごとに 1 回発火します。つまり、Claude が並列ツール呼び出しを行うときに同時に発火します。`PostToolBatch` は完全なバッチで正確に 1 回発火するため、単一のツールではなく、実行されたツールのセットに依存するコンテキストを注入するのに適切な場所です。このイベントにはマッチャーがありません。1852バッチ内のすべてのツール呼び出しが解決された後、Claude Code が次のモデル リクエストを送信する前に、1 回実行されます。`PostToolUse` はツールごとに 1 回発火します。つまり、Claude が並列ツール呼び出しを行うときに同時に発火します。`PostToolBatch` は完全なバッチで正確に 1 回発火するため、単一のツールではなく、実行されたツールのセットに依存するコンテキストを注入するのに適切な場所です。このイベントにはマッチャーがありません。

1558 1853 

1559#### PostToolBatch 入力1854<h4 id="posttoolbatch-input">

1855 PostToolBatch 入力

1856</h4>

1560 1857 

1561[共通入力フィールド](#common-input-fields)に加えて、PostToolBatch フックはバッチ内のすべてのツール呼び出しを説明する `tool_calls` 配列を受け取ります。1858[共通入力フィールド](#common-input-fields)に加えて、PostToolBatch フックはバッチ内のすべてのツール呼び出しを説明する `tool_calls` 配列を受け取ります。

1562 1859 


1590 `tool_response` の形状は `PostToolUse` のものと異なります。`PostToolUse` はツールの構造化 `Output` オブジェクト(`Write` の場合は `{filePath: "...", success: true}` など)を渡します。`PostToolBatch` はモデルが見るシリアル化された `tool_result` コンテンツを渡します。1887 `tool_response` の形状は `PostToolUse` のものと異なります。`PostToolUse` はツールの構造化 `Output` オブジェクト(`Write` の場合は `{filePath: "...", success: true}` など)を渡します。`PostToolBatch` はモデルが見るシリアル化された `tool_result` コンテンツを渡します。

1591</Note>1888</Note>

1592 1889 

1593#### PostToolBatch 決定制御1890<h4 id="posttoolbatch-decision-control">

1891 PostToolBatch 決定制御

1892</h4>

1594 1893 

1595`PostToolBatch` フックは Claude のコンテキストを注入できます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、フック スクリプトはこれらのイベント固有のフィールドを返すことができます。1894`PostToolBatch` フックは Claude のコンテキストを注入できます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、フック スクリプトはこれらのイベント固有のフィールドを返すことができます。

1596 1895 


1609 1908 

1610`decision: "block"` または `continue: false` を返すと、次のモデル呼び出しの前に agentic ループが停止します。1909`decision: "block"` または `continue: false` を返すと、次のモデル呼び出しの前に agentic ループが停止します。

1611 1910 

1612### PermissionDenied1911<h3 id="permissiondenied">

1912 PermissionDenied

1913</h3>

1613 1914 

1614[自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)分類器がツール呼び出しを拒否するときに実行されます。このフックは自動モードでのみ発火します。手動で権限ダイアログを拒否するとき、`PreToolUse` フックがコールをブロックするとき、または `deny` ルールがマッチするときは実行されません。これを使用して分類器の拒否をログ、設定を調整、またはモデルがツール呼び出しを再試行できることを伝えます。1915[自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)分類器がツール呼び出しを拒否するときに実行されます。このフックは自動モードでのみ発火します。手動で権限ダイアログを拒否するとき、`PreToolUse` フックがコールをブロックするとき、または `deny` ルールがマッチするときは実行されません。これを使用して分類器の拒否をログ、設定を調整、またはモデルがツール呼び出しを再試行できることを伝えます。

1615 1916 

1616ツール名でマッチします。PreToolUse と同じ値。1917ツール名でマッチします。PreToolUse と同じ値。

1617 1918 

1618#### PermissionDenied 入力1919<h4 id="permissiondenied-input">

1920 PermissionDenied 入力

1921</h4>

1619 1922 

1620[共通入力フィールド](#common-input-fields)に加えて、PermissionDenied フックは `tool_name`、`tool_input`、`tool_use_id`、`reason` を受け取ります。1923[共通入力フィールド](#common-input-fields)に加えて、PermissionDenied フックは `tool_name`、`tool_input`、`tool_use_id`、`reason` を受け取ります。

1621 1924 


1640| :------- | :--------------------- |1943| :------- | :--------------------- |

1641| `reason` | ツール呼び出しが拒否された理由の分類器の説明 |1944| `reason` | ツール呼び出しが拒否された理由の分類器の説明 |

1642 1945 

1643#### PermissionDenied 決定制御1946<h4 id="permissiondenied-decision-control">

1947 PermissionDenied 決定制御

1948</h4>

1644 1949 

1645PermissionDenied フックはモデルが拒否されたツール呼び出しを再試行できることを伝えることができます。`hookSpecificOutput.retry` を `true` に設定した JSON オブジェクトを返します。1950PermissionDenied フックはモデルが拒否されたツール呼び出しを再試行できることを伝えることができます。`hookSpecificOutput.retry` を `true` に設定した JSON オブジェクトを返します。

1646 1951 


1655 1960 

1656`retry` が `true` の場合、Claude Code は会話にメッセージを追加し、モデルがツール呼び出しを再試行できることを伝えます。拒否自体は反転されません。フックが JSON を返さない場合、または `retry: false` を返す場合、拒否は立ったままで、モデルは元の拒否メッセージを受け取ります。1961`retry` が `true` の場合、Claude Code は会話にメッセージを追加し、モデルがツール呼び出しを再試行できることを伝えます。拒否自体は反転されません。フックが JSON を返さない場合、または `retry: false` を返す場合、拒否は立ったままで、モデルは元の拒否メッセージを受け取ります。

1657 1962 

1658### Notification1963<h3 id="notification">

1964 Notification

1965</h3>

1659 1966 

1660Claude Code が通知を送信するときに実行されます。通知タイプでマッチします。`permission_prompt`、`idle_prompt`、`auth_success`、`elicitation_dialog`、`elicitation_complete`、`elicitation_response`。マッチャーを省略して、すべての通知タイプのフックを実行します。1967Claude Code が通知を送信するときに実行されます。通知タイプでマッチします。`permission_prompt`、`idle_prompt`、`auth_success`、`elicitation_dialog`、`elicitation_complete`、`elicitation_response`。マッチャーを省略して、すべての通知タイプのフックを実行します。

1661 1968 


1688}1995}

1689```1996```

1690 1997 

1691#### Notification 入力1998<h4 id="notification-input">

1999 Notification 入力

2000</h4>

1692 2001 

1693[共通入力フィールド](#common-input-fields)に加えて、Notification フックは通知テキストを含む `message`、オプションの `title`、発火したタイプを示す `notification_type` を受け取ります。2002[共通入力フィールド](#common-input-fields)に加えて、Notification フックは通知テキストを含む `message`、オプションの `title`、発火したタイプを示す `notification_type` を受け取ります。

1694 2003 


1698 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",2007 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

1699 "cwd": "/Users/...",2008 "cwd": "/Users/...",

1700 "hook_event_name": "Notification",2009 "hook_event_name": "Notification",

1701 "message": "Claude needs your permission to use Bash",2010 "message": "Claude needs your permission",

1702 "title": "Permission needed",2011 "title": "Permission needed",

1703 "notification_type": "permission_prompt"2012 "notification_type": "permission_prompt"

1704}2013}


1706 2015 

1707Notification フックは通知をブロックまたは変更できません。これらは副作用(外部サービスへの通知の転送など)を目的としています。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)(`systemMessage` など)が適用されます。2016Notification フックは通知をブロックまたは変更できません。これらは副作用(外部サービスへの通知の転送など)を目的としています。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)(`systemMessage` など)が適用されます。

1708 2017 

1709### SubagentStart2018<h3 id="subagentstart">

2019 SubagentStart

2020</h3>

1710 2021 

1711Agent ツール経由でサブエージェントが生成されるときに実行されます。エージェント タイプ名でフィルタリングするマッチャーをサポート(`general-purpose`、`Explore`、`Plan` などの組み込みエージェント、または[カスタム サブエージェント](/ja/sub-agents)の場合はエージェントのフロントマターの `name` フィールド。ファイル名ではありません)。2022Agent ツール経由でサブエージェントが生成されるときに実行されます。エージェント タイプ名でフィルタリングするマッチャーをサポート(`general-purpose`、`Explore`、`Plan` などの組み込みエージェント、または[カスタム サブエージェント](/ja/sub-agents)の場合はエージェントのフロントマターの `name` フィールド。ファイル名ではありません)。

1712 2023 

1713#### SubagentStart 入力2024<h4 id="subagentstart-input">

2025 SubagentStart 入力

2026</h4>

1714 2027 

1715[共通入力フィールド](#common-input-fields)に加えて、SubagentStart フックはサブエージェントの一意の識別子を含む `agent_id` とエージェント名を含む `agent_type`(`"general-purpose"`、`"Explore"`、`"Plan"` などの組み込みエージェント、またはカスタム エージェント名)を受け取ります。2028[共通入力フィールド](#common-input-fields)に加えて、SubagentStart フックはサブエージェントの一意の識別子を含む `agent_id` とエージェント名を含む `agent_type`(`"general-purpose"`、`"Explore"`、`"Plan"` などの組み込みエージェント、またはカスタム エージェント名)を受け取ります。

1716 2029 


1740}2053}

1741```2054```

1742 2055 

1743### SubagentStop2056<h3 id="subagentstop">

2057 SubagentStop

2058</h3>

1744 2059 

1745Claude Code サブエージェントが応答を終了したときに実行されます。エージェント タイプでマッチします。SubagentStart と同じ値。2060Claude Code サブエージェントが応答を終了したときに実行されます。エージェント タイプでマッチします。SubagentStart と同じ値。

1746 2061 

1747#### SubagentStop 入力2062<h4 id="subagentstop-input">

2063 SubagentStop 入力

2064</h4>

1748 2065 

1749[共通入力フィールド](#common-input-fields)に加えて、SubagentStop フックは `stop_hook_active`、`agent_id`、`agent_type`、`agent_transcript_path`、`last_assistant_message` を受け取ります。`agent_type` フィールドはマッチャー フィルタリングに使用される値です。`transcript_path` はメイン セッションのトランスクリプト、`agent_transcript_path` はネストされた `subagents/` フォルダに保存されたサブエージェント独自のトランスクリプトです。`last_assistant_message` フィールドはサブエージェントの最終応答のテキスト コンテンツを含むため、フックはトランスクリプト ファイルを解析せずにアクセスできます。2066[共通入力フィールド](#common-input-fields)に加えて、SubagentStop フックは `stop_hook_active`、`agent_id`、`agent_type`、`agent_transcript_path`、`last_assistant_message` を受け取ります。`agent_type` フィールドはマッチャー フィルタリングに使用される値です。`transcript_path` はメイン セッションのトランスクリプト、`agent_transcript_path` はネストされた `subagents/` フォルダに保存されたサブエージェント独自のトランスクリプトです。`last_assistant_message` フィールドはサブエージェントの最終応答のテキスト コンテンツを含むため、フックはトランスクリプト ファイルを解析せずにアクセスできます。

1750 2067 

2068SubagentStop フックは、Claude Code v2.1.145 以降で利用可能な、[Stop 入力](#stop-input)で説明されている `background_tasks` と `session_crons` 配列も受け取ります。両方の配列はサブエージェントではなく親セッションにスコープされています。

2069 

1751```json theme={null}2070```json theme={null}

1752{2071{

1753 "session_id": "abc123",2072 "session_id": "abc123",


1759 "agent_id": "def456",2078 "agent_id": "def456",

1760 "agent_type": "Explore",2079 "agent_type": "Explore",

1761 "agent_transcript_path": "~/.claude/projects/.../abc123/subagents/agent-def456.jsonl",2080 "agent_transcript_path": "~/.claude/projects/.../abc123/subagents/agent-def456.jsonl",

1762 "last_assistant_message": "Analysis complete. Found 3 potential issues..."2081 "last_assistant_message": "Analysis complete. Found 3 potential issues...",

2082 "background_tasks": [],

2083 "session_crons": []

1763}2084}

1764```2085```

1765 2086 

1766SubagentStop フックは[Stop フック](#stop-decision-control)と同じ決定制御形式を使用します。`additionalContext` をサポートしません。`decision: "block"` を `reason` と一緒に返すとサブエージェントを実行し続け、`reason` をサブエージェントの次の命令として配信します。サブエージェントが戻った後に親セッションにコンテキストを注入するには、代わりに `Agent` ツール上の [`PostToolUse`](#posttooluse)フックを使用します。2087SubagentStop フックは[Stop フック](#stop-decision-control)と同じ決定制御形式を使用します。`additionalContext` をサポートしません。`decision: "block"` を `reason` と一緒に返すとサブエージェントを実行し続け、`reason` をサブエージェントの次の命令として配信します。サブエージェントが戻った後に親セッションにコンテキストを注入するには、代わりに `Agent` ツール上の [`PostToolUse`](#posttooluse)フックを使用します。

1767 2088 

1768### TaskCreated2089<h3 id="taskcreated">

2090 TaskCreated

2091</h3>

1769 2092 

1770タスクが `TaskCreate` ツール経由で作成されるときに実行されます。命名規則を実施したり、タスク説明を要求したり、特定のタスクが作成されるのを防いだりするのに使用します。2093タスクが `TaskCreate` ツール経由で作成されるときに実行されます。命名規則を実施したり、タスク説明を要求したり、特定のタスクが作成されるのを防いだりするのに使用します。

1771 2094 

1772`TaskCreated` フックが終了コード 2 で終了すると、タスクは作成されず、stderr メッセージはモデルへのフィードバックとしてフィードバックされます。チームメイト全体を停止する代わりに再実行するには、`{"continue": false, "stopReason": "..."}` を含む JSON を返します。TaskCreated フックはマッチャーをサポートせず、すべての出現で発火します。2095`TaskCreated` フックが終了コード 2 で終了すると、タスクは作成されず、stderr メッセージはモデルへのフィードバックとしてフィードバックされます。チームメイト全体を停止する代わりに再実行するには、`{"continue": false, "stopReason": "..."}` を含む JSON を返します。TaskCreated フックはマッチャーをサポートせず、すべての出現で発火します。

1773 2096 

1774#### TaskCreated 入力2097<h4 id="taskcreated-input">

2098 TaskCreated 入力

2099</h4>

1775 2100 

1776[共通入力フィールド](#common-input-fields)に加えて、TaskCreated フックは `task_id`、`task_subject`、およびオプションで `task_description`、`teammate_name`、`team_name` を受け取ります。2101[共通入力フィールド](#common-input-fields)に加えて、TaskCreated フックは `task_id`、`task_subject`、およびオプションで `task_description`、`teammate_name`、`team_name` を受け取ります。

1777 2102 


1798| `teammate_name` | タスクを作成しているチームメイトの名前。存在しない可能性があります |2123| `teammate_name` | タスクを作成しているチームメイトの名前。存在しない可能性があります |

1799| `team_name` | チームの名前。存在しない可能性があります |2124| `team_name` | チームの名前。存在しない可能性があります |

1800 2125 

1801#### TaskCreated 決定制御2126<h4 id="taskcreated-decision-control">

2127 TaskCreated 決定制御

2128</h4>

1802 2129 

1803TaskCreated フックはタスク作成を制御する 2 つの方法をサポートしています。2130TaskCreated フックはタスク作成を制御する 2 つの方法をサポートしています。

1804 2131 


1820exit 02147exit 0

1821```2148```

1822 2149 

1823### TaskCompleted2150<h3 id="taskcompleted">

2151 TaskCompleted

2152</h3>

1824 2153 

1825タスクが完了としてマークされるときに実行されます。これは 2 つの状況で発火します。任意のエージェントが TaskUpdate ツール経由でタスクを明示的に完了としてマークするとき、または[エージェント チーム](/ja/agent-teams)チームメイトが進行中のタスクでターンを終了するとき。これを使用してチームメイトが作業を停止する前に品質ゲートを実施します。例えば、lint チェックの合格を要求したり、出力ファイルが存在することを確認したりします。2154タスクが完了としてマークされるときに実行されます。これは 2 つの状況で発火します。任意のエージェントが TaskUpdate ツール経由でタスクを明示的に完了としてマークするとき、または[エージェント チーム](/ja/agent-teams)チームメイトが進行中のタスクでターンを終了するとき。これを使用してチームメイトが作業を停止する前に品質ゲートを実施します。例えば、lint チェックの合格を要求したり、出力ファイルが存在することを確認したりします。

1826 2155 

1827`TaskCompleted` フックが終了コード 2 で終了すると、タスクは完了としてマークされず、stderr メッセージはモデルへのフィードバックとしてフィードバックされます。チームメイト全体を停止する代わりに再実行するには、`{"continue": false, "stopReason": "..."}` を含む JSON を返します。TaskCompleted フックはマッチャーをサポートせず、すべての出現で発火します。2156`TaskCompleted` フックが終了コード 2 で終了すると、タスクは完了としてマークされず、stderr メッセージはモデルへのフィードバックとしてフィードバックされます。チームメイト全体を停止する代わりに再実行するには、`{"continue": false, "stopReason": "..."}` を含む JSON を返します。TaskCompleted フックはマッチャーをサポートせず、すべての出現で発火します。

1828 2157 

1829#### TaskCompleted 入力2158<h4 id="taskcompleted-input">

2159 TaskCompleted 入力

2160</h4>

1830 2161 

1831[共通入力フィールド](#common-input-fields)に加えて、TaskCompleted フックは `task_id`、`task_subject`、およびオプションで `task_description`、`teammate_name`、`team_name` を受け取ります。2162[共通入力フィールド](#common-input-fields)に加えて、TaskCompleted フックは `task_id`、`task_subject`、およびオプションで `task_description`、`teammate_name`、`team_name` を受け取ります。

1832 2163 


1853| `teammate_name` | タスクを完了しているチームメイトの名前。存在しない可能性があります |2184| `teammate_name` | タスクを完了しているチームメイトの名前。存在しない可能性があります |

1854| `team_name` | チームの名前。存在しない可能性があります |2185| `team_name` | チームの名前。存在しない可能性があります |

1855 2186 

1856#### TaskCompleted 決定制御2187<h4 id="taskcompleted-decision-control">

2188 TaskCompleted 決定制御

2189</h4>

1857 2190 

1858TaskCompleted フックはタスク完了を制御する 2 つの方法をサポートしています。2191TaskCompleted フックはタスク完了を制御する 2 つの方法をサポートしています。

1859 2192 


1876exit 02209exit 0

1877```2210```

1878 2211 

1879### Stop2212<h3 id="stop">

2213 Stop

2214</h3>

1880 2215 

1881メイン Claude Code エージェントが応答を終了したときに実行されます。ユーザー割り込みが原因で停止が発生した場合は実行されません。API エラーは代わりに[StopFailure](#stopfailure)を発火させます。2216メイン Claude Code エージェントが応答を終了したときに実行されます。ユーザー割り込みが原因で停止が発生した場合は実行されません。API エラーは代わりに[StopFailure](#stopfailure)を発火させます。

1882 2217 


1884 [`/goal`](/ja/goal)コマンドは、セッション スコープのプロンプト ベースの Stop フックの組み込みショートカットです。Claude が条件が成立するまで作業を続けるようにしたいが、フック設定を書きたくない場合に使用します。2219 [`/goal`](/ja/goal)コマンドは、セッション スコープのプロンプト ベースの Stop フックの組み込みショートカットです。Claude が条件が成立するまで作業を続けるようにしたいが、フック設定を書きたくない場合に使用します。

1885</Tip>2220</Tip>

1886 2221 

1887#### Stop 入力2222<h4 id="stop-input">

2223 Stop 入力

2224</h4>

2225 

2226[共通入力フィールド](#common-input-fields)に加えて、Stop フックは `stop_hook_active`、`last_assistant_message`、`background_tasks`、`session_crons` を受け取ります。`stop_hook_active` フィールドは、Claude Code がすでに stop フックの結果として続行している場合は `true` です。この値をチェックするか、Claude Code が無限に実行されるのを防ぐためにトランスクリプトを処理します。`last_assistant_message` フィールドは Claude の最終応答のテキスト コンテンツを含むため、フックはトランスクリプト ファイルを解析せずにアクセスできます。

2227 

2228`background_tasks` と `session_crons` 配列は、Claude Code v2.1.145 以降で利用可能で、フックが「セッションが完了」と「セッションが一時停止してバックグラウンド作業が再開されるのを待機」を区別できます。タスク レジストリに到達可能な場合は両方の配列が存在し、何も進行中または予定されていない場合は空です。

2229 

2230`background_tasks` の各エントリは 1 つの進行中のタスクを説明し、これらのフィールドを使用します。

1888 2231 

1889[共通入力フィールド](#common-input-fields)に加えて、Stop フックは `stop_hook_active` と `last_assistant_message` を受け取ります。`stop_hook_active` フィールドは、Claude Code がすでに stop フックの結果として続行している場合は `true` です。この値をチェックするか、Claude Code が無限に実行されるのを防ぐためにトランスクリプトを処理します。`last_assistant_message` フィールドは Claude の最終応答のテキスト コンテンツを含むため、フックはトランスクリプト ファイルを解析せずにアクセスできます。2232| フィールド | 説明 |

2233| :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2234| `id` | タスク識別子 |

2235| `type` | フレンドリーなタスク タイプ ラベル(`shell`、`subagent`、`monitor`、`workflow`、`teammate`、`cloud session`、`MCP task` など)。各ラベルは Claude Code のどの機能がタスクを作成したかを識別します。認識されないタイプの場合は生の判別式にフォールバック |

2236| `status` | 現在のタスク ステータス |

2237| `description` | フリー テキスト説明。1000 文字でキャップされ、クリップされた場合は文字列内に `… [+N chars]` マーカー |

2238| `command` | シェル コマンド ライン。1000 文字でキャップ。`shell` タスクの場合のみ存在 |

2239| `agent_type` | サブエージェント タイプ名。`subagent` タスクの場合のみ存在 |

2240| `server` | MCP サーバー名。`monitor` と `MCP task` タスクの場合のみ存在 |

2241| `tool` | MCP ツール名。`monitor` と `MCP task` タスクの場合のみ存在 |

2242| `name` | ワークフロー名。`workflow` タスクの場合のみ存在 |

2243 

2244`session_crons` の各エントリは 1 つのセッション スコープのスケジュール済みウェイクアップを説明し、`CronCreate`、`ScheduleWakeup`、`/loop` から取得されます。

2245 

2246| フィールド | 説明 |

2247| :---------- | :--------------------------------------------------------------------------- |

2248| `id` | Cron タスク識別子 |

2249| `schedule` | Cron 式(例:`0 9 * * 1-5`) |

2250| `recurring` | スケジュールが単一の発火時刻をエンコードする 1 回限りのウェイクアップの場合は `false`、すべてのマッチで再発火するタスクの場合は `true` |

2251| `prompt` | Cron が発火するときに送信されるプロンプト。1000 文字でキャップされ、同じ `… [+N chars]` マーカー |

2252 

2253この例は、1 つの進行中のシェル タスクと 1 つの定期的な cron を含む Stop 入力を示しています。

1890 2254 

1891```json theme={null}2255```json theme={null}

1892{2256{


1896 "permission_mode": "default",2260 "permission_mode": "default",

1897 "hook_event_name": "Stop",2261 "hook_event_name": "Stop",

1898 "stop_hook_active": true,2262 "stop_hook_active": true,

1899 "last_assistant_message": "I've completed the refactoring. Here's a summary..."2263 "last_assistant_message": "I've completed the refactoring. Here's a summary...",

2264 "background_tasks": [

2265 {

2266 "id": "task-001",

2267 "type": "shell",

2268 "status": "running",

2269 "description": "tail logs",

2270 "command": "tail -f /var/log/syslog"

2271 }

2272 ],

2273 "session_crons": [

2274 {

2275 "id": "cron-001",

2276 "schedule": "0 9 * * 1-5",

2277 "recurring": true,

2278 "prompt": "check the build"

2279 }

2280 ]

1900}2281}

1901```2282```

1902 2283 

1903#### Stop 決定制御2284<h4 id="stop-decision-control">

2285 Stop 決定制御

2286</h4>

1904 2287 

1905`Stop` と `SubagentStop` フックは Claude が続行するかどうかを制御できます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、フック スクリプトはこれらのイベント固有のフィールドを返すことができます。2288`Stop` と `SubagentStop` フックは Claude が続行するかどうかを制御できます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、フック スクリプトはこれらのイベント固有のフィールドを返すことができます。

1906 2289 


1916}2299}

1917```2300```

1918 2301 

1919### StopFailure2302<h3 id="stopfailure">

2303 StopFailure

2304</h3>

1920 2305 

1921[Stop](#stop)の代わりに、ターンが API エラーのために終了するときに実行されます。出力と終了コードは無視されます。Claude が API エラーのため応答を完了できない場合、失敗をログ、アラートを送信、または回復アクションを実行するのに使用します。2306[Stop](#stop)の代わりに、ターンが API エラーのために終了するときに実行されます。出力と終了コードは無視されます。Claude が API エラーのため応答を完了できない場合、失敗をログ、アラートを送信、または回復アクションを実行するのに使用します。

1922 2307 

1923#### StopFailure 入力2308<h4 id="stopfailure-input">

2309 StopFailure 入力

2310</h4>

1924 2311 

1925[共通入力フィールド](#common-input-fields)に加えて、StopFailure フックは `error`、オプションの `error_details`、およびオプションの `last_assistant_message` を受け取ります。`error` フィールドはエラー タイプを識別し、マッチャー フィルタリングに使用されます。2312[共通入力フィールド](#common-input-fields)に加えて、StopFailure フックは `error`、オプションの `error_details`、およびオプションの `last_assistant_message` を受け取ります。`error` フィールドはエラー タイプを識別し、マッチャー フィルタリングに使用されます。

1926 2313 

1927| フィールド | 説明 |2314| フィールド | 説明 |

1928| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- |2315| :----------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1929| `error` | エラー タイプ: `rate_limit`、`authentication_failed`、`oauth_org_not_allowed`、`billing_error`、`invalid_request`、`server_error`、`max_output_tokens`、または `unknown` |2316| `error` | エラー タイプ: `rate_limit`、`overloaded`、`authentication_failed`、`oauth_org_not_allowed`、`billing_error`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、または `unknown` |

1930| `error_details` | 利用可能な場合、エラーに関する追加詳細 |2317| `error_details` | 利用可能な場合、エラーに関する追加詳細 |

1931| `last_assistant_message` | 会話に表示されるレンダリングされたエラー テキスト。`Stop` と `SubagentStop` とは異なり、このフィールドは Claude の会話出力ではなく、`"API Error: Rate limit reached"` などの API エラー文字列を含みます |2318| `last_assistant_message` | 会話に表示されるレンダリングされたエラー テキスト。`Stop` と `SubagentStop` とは異なり、このフィールドは Claude の会話出力ではなく、`"API Error: Rate limit reached"` などの API エラー文字列を含みます |

1932 2319 


1944 2331 

1945StopFailure フックは決定制御がありません。通知とログの目的でのみ実行されます。2332StopFailure フックは決定制御がありません。通知とログの目的でのみ実行されます。

1946 2333 

1947### TeammateIdle2334<h3 id="teammateidle">

2335 TeammateIdle

2336</h3>

1948 2337 

1949[エージェント チーム](/ja/agent-teams)チームメイトがターンを終了した後、アイドル状態になろうとしているときに実行されます。これを使用してチームメイトが作業を停止する前に品質ゲートを実施します。例えば、lint チェックの合格を要求したり、出力ファイルが存在することを確認したりします。2338[エージェント チーム](/ja/agent-teams)チームメイトがターンを終了した後、アイドル状態になろうとしているときに実行されます。これを使用してチームメイトが作業を停止する前に品質ゲートを実施します。例えば、lint チェックの合格を要求したり、出力ファイルが存在することを確認したりします。

1950 2339 

1951`TeammateIdle` フックが終了コード 2 で終了すると、チームメイトは stderr メッセージをフィードバックとして受け取り、アイドル状態になる代わりに作業を続行します。チームメイト全体を停止する代わりに再実行するには、`{"continue": false, "stopReason": "..."}` を含む JSON を返します。TeammateIdle フックはマッチャーをサポートせず、すべての出現で発火します。2340`TeammateIdle` フックが終了コード 2 で終了すると、チームメイトは stderr メッセージをフィードバックとして受け取り、アイドル状態になる代わりに作業を続行します。チームメイト全体を停止する代わりに再実行するには、`{"continue": false, "stopReason": "..."}` を含む JSON を返します。TeammateIdle フックはマッチャーをサポートせず、すべての出現で発火します。

1952 2341 

1953#### TeammateIdle 入力2342<h4 id="teammateidle-input">

2343 TeammateIdle 入力

2344</h4>

1954 2345 

1955[共通入力フィールド](#common-input-fields)に加えて、TeammateIdle フックは `teammate_name` と `team_name` を受け取ります。2346[共通入力フィールド](#common-input-fields)に加えて、TeammateIdle フックは `teammate_name` と `team_name` を受け取ります。

1956 2347 


1971| `teammate_name` | アイドル状態になろうとしているチームメイトの名前 |2362| `teammate_name` | アイドル状態になろうとしているチームメイトの名前 |

1972| `team_name` | チームの名前 |2363| `team_name` | チームの名前 |

1973 2364 

1974#### TeammateIdle 決定制御2365<h4 id="teammateidle-decision-control">

2366 TeammateIdle 決定制御

2367</h4>

1975 2368 

1976TeammateIdle フックはチームメイト動作を制御する 2 つの方法をサポートしています。2369TeammateIdle フックはチームメイト動作を制御する 2 つの方法をサポートしています。

1977 2370 


1991exit 02384exit 0

1992```2385```

1993 2386 

1994### ConfigChange2387<h3 id="configchange">

2388 ConfigChange

2389</h3>

1995 2390 

1996セッション中に設定ファイルが変更されるときに実行されます。設定変更を監査したり、セキュリティ ポリシーを実施したり、設定ファイルへの不正な変更をブロックしたりするのに使用します。2391セッション中に設定ファイルが変更されるときに実行されます。設定変更を監査したり、セキュリティ ポリシーを実施したり、設定ファイルへの不正な変更をブロックしたりするのに使用します。

1997 2392 


2027}2422}

2028```2423```

2029 2424 

2030#### ConfigChange 入力2425<h4 id="configchange-input">

2426 ConfigChange 入力

2427</h4>

2031 2428 

2032[共通入力フィールド](#common-input-fields)に加えて、ConfigChange フックは `source` とオプションで `file_path` を受け取ります。`source` フィールドは、どのタイプの設定が変更されたかを示し、`file_path` は変更されたファイルへのパスを提供します。2429[共通入力フィールド](#common-input-fields)に加えて、ConfigChange フックは `source` とオプションで `file_path` を受け取ります。`source` フィールドは、どのタイプの設定が変更されたかを示し、`file_path` は変更されたファイルへのパスを提供します。

2033 2430 


2042}2439}

2043```2440```

2044 2441 

2045#### ConfigChange 決定制御2442<h4 id="configchange-decision-control">

2443 ConfigChange 決定制御

2444</h4>

2046 2445 

2047ConfigChange フックは設定変更が有効になるのをブロックできます。終了コード 2 または JSON `decision` を使用して変更を防止します。ブロックされた場合、新しい設定は実行中のセッションに適用されません。2446ConfigChange フックは設定変更が有効になるのをブロックできます。終了コード 2 または JSON `decision` を使用して変更を防止します。ブロックされた場合、新しい設定は実行中のセッションに適用されません。

2048 2447 


2060 2459 

2061`policy_settings` の変更はブロックできません。フックは `policy_settings` ソースに対して引き続き発火するため、監査ログに使用できますが、ブロッキング決定は無視されます。これにより、エンタープライズ管理設定が常に有効になることが保証されます。2460`policy_settings` の変更はブロックできません。フックは `policy_settings` ソースに対して引き続き発火するため、監査ログに使用できますが、ブロッキング決定は無視されます。これにより、エンタープライズ管理設定が常に有効になることが保証されます。

2062 2461 

2063### CwdChanged2462<h3 id="cwdchanged">

2463 CwdChanged

2464</h3>

2064 2465 

2065セッション中に作業ディレクトリが変更されるときに実行されます。例えば、Claude が `cd` コマンドを実行するとき。これを使用してディレクトリ変更に反応します。環境変数をリロードしたり、プロジェクト固有のツールチェーンをアクティブにしたり、セットアップ スクリプトを自動的に実行したりします。[FileChanged](#filechanged)とペアになり、[direnv](https://direnv.net/)などのツール用に、ディレクトリごとの環境を管理します。2466セッション中に作業ディレクトリが変更されるときに実行されます。例えば、Claude が `cd` コマンドを実行するとき。これを使用してディレクトリ変更に反応します。環境変数をリロードしたり、プロジェクト固有のツールチェーンをアクティブにしたり、セットアップ スクリプトを自動的に実行したりします。[FileChanged](#filechanged)とペアになり、[direnv](https://direnv.net/)などのツール用に、ディレクトリごとの環境を管理します。

2066 2467 


2068 2469 

2069CwdChanged はマッチャーをサポートせず、すべてのディレクトリ変更で発火します。2470CwdChanged はマッチャーをサポートせず、すべてのディレクトリ変更で発火します。

2070 2471 

2071#### CwdChanged 入力2472<h4 id="cwdchanged-input">

2473 CwdChanged 入力

2474</h4>

2072 2475 

2073[共通入力フィールド](#common-input-fields)に加えて、CwdChanged フックは `old_cwd` と `new_cwd` を受け取ります。2476[共通入力フィールド](#common-input-fields)に加えて、CwdChanged フックは `old_cwd` と `new_cwd` を受け取ります。

2074 2477 


2083}2486}

2084```2487```

2085 2488 

2086#### CwdChanged 出力2489<h4 id="cwdchanged-output">

2490 CwdChanged 出力

2491</h4>

2087 2492 

2088すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、CwdChanged フックは `watchPaths` を返して、[FileChanged](#filechanged)が監視するファイル パスを動的に設定できます。2493すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、CwdChanged フックは `watchPaths` を返して、[FileChanged](#filechanged)が監視するファイル パスを動的に設定できます。

2089 2494 


2093 2498 

2094CwdChanged フックは決定制御がありません。ディレクトリ変更をブロックできません。2499CwdChanged フックは決定制御がありません。ディレクトリ変更をブロックできません。

2095 2500 

2096### FileChanged2501<h3 id="filechanged">

2502 FileChanged

2503</h3>

2097 2504 

2098監視されたファイルがディスク上で変更されるときに実行されます。プロジェクト設定ファイルが変更されたときに環境変数をリロードするのに便利です。2505監視されたファイルがディスク上で変更されるときに実行されます。プロジェクト設定ファイルが変更されたときに環境変数をリロードするのに便利です。

2099 2506 


2104 2511 

2105FileChanged フックは `CLAUDE_ENV_FILE` にアクセスできます。そのファイルに書き込まれた変数は、[SessionStart フック](#persist-environment-variables)と同じように、セッション中の後続の Bash コマンドに永続化されます。2512FileChanged フックは `CLAUDE_ENV_FILE` にアクセスできます。そのファイルに書き込まれた変数は、[SessionStart フック](#persist-environment-variables)と同じように、セッション中の後続の Bash コマンドに永続化されます。

2106 2513 

2107#### FileChanged 入力2514<h4 id="filechanged-input">

2515 FileChanged 入力

2516</h4>

2108 2517 

2109[共通入力フィールド](#common-input-fields)に加えて、FileChanged フックは `file_path` と `event` を受け取ります。2518[共通入力フィールド](#common-input-fields)に加えて、FileChanged フックは `file_path` と `event` を受け取ります。

2110 2519 


2124}2533}

2125```2534```

2126 2535 

2127#### FileChanged 出力2536<h4 id="filechanged-output">

2537 FileChanged 出力

2538</h4>

2128 2539 

2129すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、FileChanged フックは `watchPaths` を返して、監視されるファイル パスを動的に更新できます。2540すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、FileChanged フックは `watchPaths` を返して、監視されるファイル パスを動的に更新できます。

2130 2541 


2134 2545 

2135FileChanged フックは決定制御がありません。ファイル変更をブロックできません。2546FileChanged フックは決定制御がありません。ファイル変更をブロックできません。

2136 2547 

2137### WorktreeCreate2548<h3 id="worktreecreate">

2549 WorktreeCreate

2550</h3>

2138 2551 

2139`claude --worktree` を実行するか、[サブエージェントが `isolation: "worktree"` を使用](/ja/sub-agents#choose-the-subagent-scope)する場合、Claude Code は `git worktree` を使用して分離された作業コピーを作成します。WorktreeCreate フックを設定する場合、デフォルトの git 動作を置き換え、SVN、Perforce、Mercurial などの別のバージョン管理システムを使用できます。2552`claude --worktree` を実行するか、[サブエージェントが `isolation: "worktree"` を使用](/ja/sub-agents#choose-the-subagent-scope)する場合、Claude Code は `git worktree` を使用して分離された作業コピーを作成します。WorktreeCreate フックを設定する場合、デフォルトの git 動作を置き換え、SVN、Perforce、Mercurial などの別のバージョン管理システムを使用できます。

2140 2553 


2163 2576 

2164フックは stdin から JSON 入力からワークツリー `name` を読み取り、新しいディレクトリに新しいコピーをチェックアウトし、ディレクトリ パスを出力します。最後の行の `echo` は Claude Code が読み取るワークツリー パスです。他の出力を stderr にリダイレクトして、パスに干渉しないようにします。2577フックは stdin から JSON 入力からワークツリー `name` を読み取り、新しいディレクトリに新しいコピーをチェックアウトし、ディレクトリ パスを出力します。最後の行の `echo` は Claude Code が読み取るワークツリー パスです。他の出力を stderr にリダイレクトして、パスに干渉しないようにします。

2165 2578 

2166#### WorktreeCreate 入力2579<h4 id="worktreecreate-input">

2580 WorktreeCreate 入力

2581</h4>

2167 2582 

2168[共通入力フィールド](#common-input-fields)に加えて、WorktreeCreate フックは `name` フィールドを受け取ります。これは新しいワークツリーのスラッグ識別子で、ユーザーが指定するか自動生成されます(例えば、`bold-oak-a3f2`)。2583[共通入力フィールド](#common-input-fields)に加えて、WorktreeCreate フックは `name` フィールドを受け取ります。これは新しいワークツリーのスラッグ識別子で、ユーザーが指定するか自動生成されます(例えば、`bold-oak-a3f2`)。

2169 2584 


2177}2592}

2178```2593```

2179 2594 

2180#### WorktreeCreate 出力2595<h4 id="worktreecreate-output">

2596 WorktreeCreate 出力

2597</h4>

2181 2598 

2182WorktreeCreate フックは標準的な許可/ブロック決定モデルを使用しません。代わりに、フックの成功または失敗が結果を決定します。フックは作成されたワークツリー ディレクトリへの絶対パスを返す必要があります。2599WorktreeCreate フックは標準的な許可/ブロック決定モデルを使用しません。代わりに、フックの成功または失敗が結果を決定します。フックは作成されたワークツリー ディレクトリへの絶対パスを返す必要があります。

2183 2600 


2186 2603 

2187フックが失敗するか出力を生成しない場合、ワークツリー作成はエラーで失敗します。2604フックが失敗するか出力を生成しない場合、ワークツリー作成はエラーで失敗します。

2188 2605 

2189### WorktreeRemove2606<h3 id="worktreeremove">

2607 WorktreeRemove

2608</h3>

2190 2609 

2191[WorktreeCreate](#worktreecreate)のクリーンアップ対応。このフックはワークツリーが削除されるときに発火します。`--worktree` セッションを終了して削除を選択するか、`isolation: "worktree"` を持つサブエージェントが完了するとき。git ベースのワークツリーの場合、Claude は `git worktree remove` で自動的にクリーンアップを処理します。git 以外のバージョン管理システムの WorktreeCreate フックを設定した場合、クリーンアップを処理するために WorktreeRemove フックとペアにします。なければ、ワークツリー ディレクトリはディスク上に残ります。2610[WorktreeCreate](#worktreecreate)のクリーンアップ対応。このフックはワークツリーが削除されるときに発火します。`--worktree` セッションを終了して削除を選択するか、`isolation: "worktree"` を持つサブエージェントが完了するとき。git ベースのワークツリーの場合、Claude は `git worktree remove` で自動的にクリーンアップを処理します。git 以外のバージョン管理システムの WorktreeCreate フックを設定した場合、クリーンアップを処理するために WorktreeRemove フックとペアにします。なければ、ワークツリー ディレクトリはディスク上に残ります。

2192 2611 


2209}2628}

2210```2629```

2211 2630 

2212#### WorktreeRemove 入力2631<h4 id="worktreeremove-input">

2632 WorktreeRemove 入力

2633</h4>

2213 2634 

2214[共通入力フィールド](#common-input-fields)に加え、WorktreeRemove フックは削除されるワークツリーへの絶対パスである `worktree_path` フィールドを受け取ります。2635[共通入力フィールド](#common-input-fields)に加え、WorktreeRemove フックは削除されるワークツリーへの絶対パスである `worktree_path` フィールドを受け取ります。

2215 2636 


2225 2646 

2226WorktreeRemove フックは決定制御がありません。ワークツリー削除をブロックできませんが、バージョン管理状態の削除やアーカイブ変更などのクリーンアップ タスクを実行できます。フック失敗はデバッグ モードでのみログされます。2647WorktreeRemove フックは決定制御がありません。ワークツリー削除をブロックできませんが、バージョン管理状態の削除やアーカイブ変更などのクリーンアップ タスクを実行できます。フック失敗はデバッグ モードでのみログされます。

2227 2648 

2228### PreCompact2649<h3 id="precompact">

2650 PreCompact

2651</h3>

2229 2652 

2230Claude Code がコンパクション操作を実行しようとしている前に実行されます。2653Claude Code がコンパクション操作を実行しようとしている前に実行されます。

2231 2654 


2240 2663 

2241自動コンパクションのブロックは、いつ発火するかに応じて異なる効果があります。コンテキスト制限の前にコンパクションがプロアクティブにトリガーされた場合、Claude Code はそれをスキップし、会話は非圧縮で続行されます。コンテキスト制限エラーから回復するためにコンパクションがトリガーされた場合、基礎となるエラーが表示され、現在のリクエストが失敗します。2664自動コンパクションのブロックは、いつ発火するかに応じて異なる効果があります。コンテキスト制限の前にコンパクションがプロアクティブにトリガーされた場合、Claude Code はそれをスキップし、会話は非圧縮で続行されます。コンテキスト制限エラーから回復するためにコンパクションがトリガーされた場合、基礎となるエラーが表示され、現在のリクエストが失敗します。

2242 2665 

2243#### PreCompact 入力2666<h4 id="precompact-input">

2667 PreCompact 入力

2668</h4>

2244 2669 

2245[共通入力フィールド](#common-input-fields)に加えて、PreCompact フックは `trigger` と `custom_instructions` を受け取ります。`manual` の場合、`custom_instructions` はユーザーが `/compact` に渡すものを含みます。`auto` の場合、`custom_instructions` は空です。2670[共通入力フィールド](#common-input-fields)に加えて、PreCompact フックは `trigger` と `custom_instructions` を受け取ります。`manual` の場合、`custom_instructions` はユーザーが `/compact` に渡すものを含みます。`auto` の場合、`custom_instructions` は空です。

2246 2671 


2255}2680}

2256```2681```

2257 2682 

2258### PostCompact2683<h3 id="postcompact">

2684 PostCompact

2685</h3>

2259 2686 

2260Claude Code がコンパクション操作を完了した後に実行されます。このイベントを使用して、新しいコンパクト状態に反応します。例えば、生成されたサマリーをログしたり、外部状態を更新したりします。2687Claude Code がコンパ クション操作を完了した後に実行されます。このイベントを使用して、新しいコンパクト状態に反応します。例えば、生成されたサマリーをログしたり、外部状態を更新したりします。

2261 2688 

2262`PreCompact` と同じマッチャー値が適用されます。2689`PreCompact` と同じマッチャー値が適用されます。

2263 2690 


2266| `manual` | `/compact` の後 |2693| `manual` | `/compact` の後 |

2267| `auto` | コンテキスト ウィンドウが満杯のときの自動コンパクション後 |2694| `auto` | コンテキスト ウィンドウが満杯のときの自動コンパクション後 |

2268 2695 

2269#### PostCompact 入力2696<h4 id="postcompact-input">

2697 PostCompact 入力

2698</h4>

2270 2699 

2271[共通入力フィールド](#common-input-fields)に加えて、PostCompact フックは `trigger` と `compact_summary` を受け取ります。`compact_summary` フィールドはコンパクション操作によって生成された会話サマリーを含みます。2700[共通入力フィールド](#common-input-fields)に加えて、PostCompact フックは `trigger` と `compact_summary` を受け取ります。`compact_summary` フィールドはコンパクション操作によって生成された会話サマリーを含みます。

2272 2701 


2283 2712 

2284PostCompact フックは決定制御がありません。コンパクション結果に影響を与えることはできませんが、フォローアップ タスクを実行できます。2713PostCompact フックは決定制御がありません。コンパクション結果に影響を与えることはできませんが、フォローアップ タスクを実行できます。

2285 2714 

2286### SessionEnd2715<h3 id="sessionend">

2716 SessionEnd

2717</h3>

2287 2718 

2288Claude Code セッションが終了するときに実行されます。クリーンアップ タスク、セッション統計のログ、またはセッション状態の保存に便利です。終了理由でフィルタリングするマッチャーをサポートします。2719Claude Code セッションが終了するときに実行されます。クリーンアップ タスク、セッション統計のログ、またはセッション状態の保存に便利です。終了理由でフィルタリングするマッチャーをサポートします。

2289 2720 


2298| `bypass_permissions_disabled` | バイパス権限モードが無効化 |2729| `bypass_permissions_disabled` | バイパス権限モードが無効化 |

2299| `other` | その他の終了理由 |2730| `other` | その他の終了理由 |

2300 2731 

2301#### SessionEnd 入力2732<h4 id="sessionend-input">

2733 SessionEnd 入力

2734</h4>

2302 2735 

2303[共通入力フィールド](#common-input-fields)に加えて、SessionEnd フックはセッションが終了した理由を示す `reason` フィールドを受け取ります。上記の[理由テーブル](#sessionend)をすべての値について参照してください。2736[共通入力フィールド](#common-input-fields)に加えて、SessionEnd フックはセッションが終了した理由を示す `reason` フィールドを受け取ります。上記の[理由テーブル](#sessionend)をすべての値について参照してください。

2304 2737 


2320CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude2753CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude

2321```2754```

2322 2755 

2323### Elicitation2756<h3 id="elicitation">

2757 Elicitation

2758</h3>

2324 2759 

2325MCP サーバーがタスク中にユーザー入力をリクエストするときに実行されます。デフォルトでは、Claude Code はユーザーが応答するためのインタラクティブ ダイアログを表示します。フックはこのリクエストをインターセプトして、プログラムで応答し、ダイアログを完全にスキップできます。2760MCP サーバーがタスク中にユーザー入力をリクエストするときに実行されます。デフォルトでは、Claude Code はユーザーが応答するためのインタラクティブ ダイアログを表示します。フックはこのリクエストをインターセプトして、プログラムで応答し、ダイアログを完全にスキップできます。

2326 2761 

2327マッチャー フィールドは MCP サーバー名に対してマッチします。2762マッチャー フィールドは MCP サーバー名に対してマッチします。

2328 2763 

2329#### Elicitation 入力2764<h4 id="elicitation-input">

2765 Elicitation 入力

2766</h4>

2330 2767 

2331[共通入力フィールド](#common-input-fields)に加えて、Elicitation フックは `mcp_server_name`、`message`、およびオプションで `mode`、`url`、`elicitation_id`、`requested_schema` フィールドを受け取ります。2768[共通入力フィールド](#common-input-fields)に加えて、Elicitation フックは `mcp_server_name`、`message`、およびオプションで `mode`、`url`、`elicitation_id`、`requested_schema` フィールドを受け取ります。

2332 2769 


2367}2804}

2368```2805```

2369 2806 

2370#### Elicitation 出力2807<h4 id="elicitation-output">

2808 Elicitation 出力

2809</h4>

2371 2810 

2372ダイアログを表示せずにプログラムで応答するには、`hookSpecificOutput` を含む JSON オブジェクトを返します。2811ダイアログを表示せずにプログラムで応答するには、`hookSpecificOutput` を含む JSON オブジェクトを返します。

2373 2812 


2390 2829 

2391終了コード 2 は elicitation を拒否し、stderr をユーザーに表示します。2830終了コード 2 は elicitation を拒否し、stderr をユーザーに表示します。

2392 2831 

2393### ElicitationResult2832<h3 id="elicitationresult">

2833 ElicitationResult

2834</h3>

2394 2835 

2395ユーザーが MCP elicitation に応答した後に実行されます。フックは応答を観察、変更、またはブロックしてから、MCP サーバーに送り返すことができます。2836ユーザーが MCP elicitation に応答した後に実行されます。フックは応答を観察、変更、またはブロックしてから、MCP サーバーに送り返すことができます。

2396 2837 

2397マッチャー フィールドは MCP サーバー名に対してマッチします。2838マッチャー フィールドは MCP サーバー名に対してマッチします。

2398 2839 

2399#### ElicitationResult 入力2840<h4 id="elicitationresult-input">

2841 ElicitationResult 入力

2842</h4>

2400 2843 

2401[共通入力フィールド](#common-input-fields)に加えて、ElicitationResult フックは `mcp_server_name`、`action`、およびオプションで `mode`、`elicitation_id`、`content` フィールドを受け取ります。2844[共通入力フィールド](#common-input-fields)に加えて、ElicitationResult フックは `mcp_server_name`、`action`、およびオプションで `mode`、`elicitation_id`、`content` フィールドを受け取ります。

2402 2845 


2415}2858}

2416```2859```

2417 2860 

2418#### ElicitationResult 出力2861<h4 id="elicitationresult-output">

2862 ElicitationResult 出力

2863</h4>

2419 2864 

2420ユーザーの応答をオーバーライドするには、`hookSpecificOutput` を含む JSON オブジェクトを返します。2865ユーザーの応答をオーバーライドするには、`hookSpecificOutput` を含む JSON オブジェクトを返します。

2421 2866 


2436 2881 

2437終了コード 2 はレスポンスをブロックし、有効なアクションを `decline` に変更します。2882終了コード 2 はレスポンスをブロックし、有効なアクションを `decline` に変更します。

2438 2883 

2439## プロンプト ベースのフック2884<h2 id="prompt-based-hooks">

2885 プロンプト ベースのフック

2886</h2>

2440 2887 

2441コマンド、HTTP、MCP ツール フックに加えて、Claude Code はプロンプト ベースのフック(`type: "prompt"`)をサポートしており、LLM を使用してアクションを許可またはブロックするかどうかを評価し、エージェント フック(`type: "agent"`)はツール アクセスを持つ agentic ベリファイアーを生成します。すべてのイベントがすべてのフック タイプをサポートしているわけではありません。2888コマンド、HTTP、MCP ツール フックに加えて、Claude Code はプロンプト ベースのフック(`type: "prompt"`)をサポートしており、LLM を使用してアクションを許可またはブロックするかどうかを評価し、エージェント フック(`type: "agent"`)はツール アクセスを持つ agentic ベリファイアーを生成します。すべてのイベントがすべてのフック タイプをサポートしているわけではありません。

2442 2889 

24435 つのフック タイプ(`command`、`http`、`mcp_tool`、`prompt`、`agent`)すべてをサポートするイベント:28905 つのフック タイプ(`command`、`http`、`mcp_tool`、`prompt`、`agent`)すべてをサポートするイベント:

2444 2891 

2892* `PermissionDenied`

2445* `PermissionRequest`2893* `PermissionRequest`

2446* `PostToolBatch`2894* `PostToolBatch`

2447* `PostToolUse`2895* `PostToolUse`


2451* `SubagentStop`2899* `SubagentStop`

2452* `TaskCompleted`2900* `TaskCompleted`

2453* `TaskCreated`2901* `TaskCreated`

2902* `TeammateIdle`

2454* `UserPromptExpansion`2903* `UserPromptExpansion`

2455* `UserPromptSubmit`2904* `UserPromptSubmit`

2456 2905 


2463* `FileChanged`2912* `FileChanged`

2464* `InstructionsLoaded`2913* `InstructionsLoaded`

2465* `Notification`2914* `Notification`

2466* `PermissionDenied`

2467* `PostCompact`2915* `PostCompact`

2468* `PreCompact`2916* `PreCompact`

2469* `SessionEnd`2917* `SessionEnd`

2470* `StopFailure`2918* `StopFailure`

2471* `SubagentStart`2919* `SubagentStart`

2472* `TeammateIdle`

2473* `WorktreeCreate`2920* `WorktreeCreate`

2474* `WorktreeRemove`2921* `WorktreeRemove`

2475 2922 

2476`SessionStart` と `Setup` は `command` と `mcp_tool` フックをサポートしています。これらは `http`、`prompt`、`agent` フックをサポートしていません。2923`SessionStart` と `Setup` は `command` と `mcp_tool` フックをサポートしています。これらは `http`、`prompt`、`agent` フックをサポートしていません。

2477 2924 

2478### プロンプト ベースのフックの仕組み2925<h3 id="how-prompt-based-hooks-work">

2926 プロンプト ベースのフックの仕組み

2927</h3>

2479 2928 

2480プロンプト ベースのフックは Bash コマンドを実行する代わりに:2929プロンプト ベースのフックは Bash コマンドを実行する代わりに:

2481 2930 


24832. LLM は決定を含む構造化 JSON で応答29322. LLM は決定を含む構造化 JSON で応答

24843. Claude Code は決定を自動的に処理29333. Claude Code は決定を自動的に処理

2485 2934 

2486### プロンプト フック設定2935<h3 id="prompt-hook-configuration">

2936 プロンプト フック設定

2937</h3>

2487 2938 

2488`type` を `"prompt"` に設定し、`command` の代わりに `prompt` 文字列を提供します。`$ARGUMENTS` プレースホルダーを使用して、フックの JSON 入力データをプロンプト テキストに注入します。Claude Code は結合されたプロンプトと入力を高速 Claude モデルに送信し、JSON 決定を返します。2939`type` を `"prompt"` に設定し、`command` の代わりに `prompt` 文字列を提供します。`$ARGUMENTS` プレースホルダーを使用して、フックの JSON 入力データをプロンプト テキストに注入します。Claude Code は結合されたプロンプトと入力を高速 Claude モデルに送信し、JSON 決定を返します。

2489 2940 


2514| `timeout` | いいえ | タイムアウト(秒単位)。デフォルト:30 |2965| `timeout` | いいえ | タイムアウト(秒単位)。デフォルト:30 |

2515| `continueOnBlock` | いいえ | プロンプトが `ok: false` を返すとき、理由を Claude にフィードバックして、停止する代わりにターンを続行します。デフォルト:`false`。結果の `decision: "block"` に `continue: true` として実装されます。イベント ごとの動作については、[レスポンス スキーマ](#response-schema)を参照してください |2966| `continueOnBlock` | いいえ | プロンプトが `ok: false` を返すとき、理由を Claude にフィードバックして、停止する代わりにターンを続行します。デフォルト:`false`。結果の `decision: "block"` に `continue: true` として実装されます。イベント ごとの動作については、[レスポンス スキーマ](#response-schema)を参照してください |

2516 2967 

2517### レスポンス スキーマ2968<h3 id="response-schema">

2969 レスポンス スキーマ

2970</h3>

2518 2971 

2519LLM は以下を含む JSON で応答する必要があります:2972LLM は以下を含む JSON で応答する必要があります:

2520 2973 


2537* `PostToolUse`:デフォルトではターンが終了し、理由は警告行としてチャットに表示されます。`continueOnBlock: true` を設定して、理由を Claude にフィードバックし、ターンを続行する代わりに使用します2990* `PostToolUse`:デフォルトではターンが終了し、理由は警告行としてチャットに表示されます。`continueOnBlock: true` を設定して、理由を Claude にフィードバックし、ターンを続行する代わりに使用します

2538* `PostToolBatch`、`UserPromptSubmit`、`UserPromptExpansion`:ターンが終了し、理由は警告行として表示されます。これらのイベントは `continue` に関係なく `decision: "block"` でターンを終了します2991* `PostToolBatch`、`UserPromptSubmit`、`UserPromptExpansion`:ターンが終了し、理由は警告行として表示されます。これらのイベントは `continue` に関係なく `decision: "block"` でターンを終了します

2539* `PostToolUseFailure`、`TaskCreated`、`TaskCompleted`:理由は Claude にツール エラーとして返されます。`PreToolUse` と同様です2992* `PostToolUseFailure`、`TaskCreated`、`TaskCompleted`:理由は Claude にツール エラーとして返されます。`PreToolUse` と同様です

2993* `TeammateIdle`:デフォルトではチームメイトが停止し、理由は警告行として表示されます。`continueOnBlock: true` を設定して、理由をチームメイトにフィードバックし、代わりに作業を続行させます

2540* `PermissionRequest`:`ok: false` は効果がありません。フックから承認を拒否するには、[コマンド フック](#command-hook-fields)を使用して `hookSpecificOutput.decision.behavior: "deny"` を返します2994* `PermissionRequest`:`ok: false` は効果がありません。フックから承認を拒否するには、[コマンド フック](#command-hook-fields)を使用して `hookSpecificOutput.decision.behavior: "deny"` を返します

2995* `PermissionDenied`:`ok: false` は効果がありません。拒否は既に発生しているためです。このイベントが読み取る唯一の出力は `hookSpecificOutput.retry` です。プロンプト フックとエージェント フックはこれを設定できません。これらはこのイベントで実行されますが、その出力は破棄されます。`retry` を返すには、[コマンド フック](#command-hook-fields)を使用してください

2541 2996 

2542任意のイベントでより細かい制御が必要な場合は、[決定制御](#decision-control)で説明されているイベント ごとのフィールドを使用して、[コマンド フック](#command-hook-fields)を使用してください。2997任意のイベントでより細かい制御が必要な場合は、[決定制御](#decision-control)で説明されているイベント ごとのフィールドを使用して、[コマンド フック](#command-hook-fields)を使用してください。

2543 2998 

2544### 例:マルチ基準 Stop フック2999<h3 id="example-multi-criteria-stop-hook">

3000 例:マルチ基準 Stop フック

3001</h3>

2545 3002 

2546この `Stop` フックは詳細なプロンプトを使用して、Claude が停止することを許可する前に 3 つの条件をチェックします。`"ok"` が `false` の場合、Claude は提供された理由を次の指示として受け取り、作業を続行します。`SubagentStop` フックは同じ形式を使用して、[サブエージェント](/ja/sub-agents)が停止すべきかどうかを評価します:3003この `Stop` フックは詳細なプロンプトを使用して、Claude が停止することを許可する前に 3 つの条件をチェックします。`"ok"` が `false` の場合、Claude は提供された理由を次の指示として受け取り、作業を続行します。`SubagentStop` フックは同じ形式を使用して、[サブエージェント](/ja/sub-agents)が停止すべきかどうかを評価します:

2547 3004 


2563}3020}

2564```3021```

2565 3022 

2566## エージェント ベースのフック3023<h2 id="agent-based-hooks">

3024 エージェント ベースのフック

3025</h2>

2567 3026 

2568<Warning>3027<Warning>

2569 エージェント フックは実験的です。動作と設定は将来のリリースで変更される可能性があります。本番ワークフローの場合は、[コマンド フック](#command-hook-fields)を優先してください。3028 エージェント フックは実験的です。動作と設定は将来のリリースで変更される可能性があります。本番ワークフローの場合は、[コマンド フック](#command-hook-fields)を優先してください。


2571 3030 

2572エージェント ベースのフック(`type: "agent"`)はプロンプト ベースのフックのようですが、マルチターン ツール アクセスを備えています。単一の LLM 呼び出しの代わりに、エージェント フックはサブエージェントを生成し、ファイルを読み取り、コードを検索し、コードベースを検査して条件を検証できます。エージェント フックはプロンプト ベースのフックと同じイベントをサポートしています。3031エージェント ベースのフック(`type: "agent"`)はプロンプト ベースのフックのようですが、マルチターン ツール アクセスを備えています。単一の LLM 呼び出しの代わりに、エージェント フックはサブエージェントを生成し、ファイルを読み取り、コードを検索し、コードベースを検査して条件を検証できます。エージェント フックはプロンプト ベースのフックと同じイベントをサポートしています。

2573 3032 

2574### エージェント フックの仕組み3033<h3 id="how-agent-hooks-work">

3034 エージェント フックの仕組み

3035</h3>

2575 3036 

2576エージェント フックが発火するとき:3037エージェント フックが発火するとき:

2577 3038 


2582 3043 

2583エージェント フックは、フック入力データのみを評価するのではなく、実際のファイルを検査したりテスト出力を検査したりする必要がある場合に便利です。3044エージェント フックは、フック入力データのみを評価するのではなく、実際のファイルを検査したりテスト出力を検査したりする必要がある場合に便利です。

2584 3045 

2585### エージェント フック設定3046<h3 id="agent-hook-configuration">

3047 エージェント フック設定

3048</h3>

2586 3049 

2587`type` を `"agent"` に設定し、`prompt` 文字列を提供します。設定フィールドは[プロンプト フック](#prompt-hook-configuration)と同じですが、より長いデフォルト タイムアウトです:3050`type` を `"agent"` に設定し、`prompt` 文字列を提供します。設定フィールドは[プロンプト フック](#prompt-hook-configuration)と同じですが、より長いデフォルト タイムアウトです:

2588 3051 


2615}3078}

2616```3079```

2617 3080 

2618## バックグラウンドでフックを実行3081<h2 id="run-hooks-in-the-background">

3082 バックグラウンドでフックを実行

3083</h2>

2619 3084 

2620デフォルトでは、フックは完了するまで Claude の実行をブロックします。デプロイメント、テスト スイート、外部 API 呼び出しなどの長時間実行タスクの場合、`"async": true` を設定してフックをバックグラウンドで実行し、Claude が作業を続行できるようにします。非同期フックはブロックまたは Claude の動作を制御できません。`decision`、`permissionDecision`、`continue` などのレスポンス フィールドは、制御しようとしたアクションがすでに完了しているため、効果がありません。3085デフォルトでは、フックは完了するまで Claude の実行をブロックします。デプロイメント、テスト スイート、外部 API 呼び出しなどの長時間実行タスクの場合、`"async": true` を設定してフックをバックグラウンドで実行し、Claude が作業を続行できるようにします。非同期フックはブロックまたは Claude の動作を制御できません。`decision`、`permissionDecision`、`continue` などのレスポンス フィールドは、制御しようとしたアクションがすでに完了しているため、効果がありません。

2621 3086 

2622### 非同期フックを設定3087<h3 id="configure-an-async-hook">

3088 非同期フックを設定

3089</h3>

2623 3090 

2624コマンド フックの設定に `"async": true` を追加して、Claude をブロックせずにバックグラウンドで実行します。このフィールドは `type: "command"` フックでのみ利用可能です。3091コマンド フックの設定に `"async": true` を追加して、Claude をブロックせずにバックグラウンドで実行します。このフィールドは `type: "command"` フックでのみ利用可能です。

2625 3092 


2647 3114 

2648`timeout` フィールドはバックグラウンド プロセスの最大時間(秒単位)を設定します。指定されない場合、非同期フックは同期フックと同じ 10 分のデフォルトを使用します。3115`timeout` フィールドはバックグラウンド プロセスの最大時間(秒単位)を設定します。指定されない場合、非同期フックは同期フックと同じ 10 分のデフォルトを使用します。

2649 3116 

2650### 非同期フックの実行方法3117<h3 id="how-async-hooks-execute">

3118 非同期フックの実行方法

3119</h3>

2651 3120 

2652非同期フックが発火すると、Claude Code はフック プロセスを開始し、完了を待たずにすぐに続行します。フックは同期フックと同じ JSON 入力を stdin 経由で受け取ります。3121非同期フックが発火すると、Claude Code はフック プロセスを開始し、完了を待たずにすぐに続行します。フックは同期フックと同じ JSON 入力を stdin 経由で受け取ります。

2653 3122 


2655 3124 

2656非同期フック完了通知はデフォルトで抑制されます。これらを表示するには、`Ctrl+O` で詳細モードを有効にするか、`--verbose` で Claude Code を開始します。3125非同期フック完了通知はデフォルトで抑制されます。これらを表示するには、`Ctrl+O` で詳細モードを有効にするか、`--verbose` で Claude Code を開始します。

2657 3126 

2658### 例: ファイル変更後にテストを実行3127<h3 id="example-run-tests-after-file-changes">

3128 例: ファイル変更後にテストを実行

3129</h3>

2659 3130 

2660このフックは Claude がファイルを書き込むたびにバックグラウンドでテスト スイートを開始し、テストが完了したら結果を Claude に報告します。このスクリプトをプロジェクトの `.claude/hooks/run-tests-async.sh` に保存し、`chmod +x` で実行可能にします。3131このフックは Claude がファイルを書き込むたびにバックグラウンドでテスト スイートを開始し、テストが完了したら結果を Claude に報告します。このスクリプトをプロジェクトの `.claude/hooks/run-tests-async.sh` に保存し、`chmod +x` で実行可能にします。

2661 3132 


2707}3178}

2708```3179```

2709 3180 

2710### 制限事項3181<h3 id="limitations">

3182 制限事項

3183</h3>

2711 3184 

2712非同期フックは同期フックと比べていくつかの制約があります。3185非同期フックは同期フックと比べていくつかの制約があります。

2713 3186 


2716* フック出力は次の会話ターンで配信されます。セッションがアイドル状態の場合、レスポンスは次のユーザー操作まで待機します。例外: `asyncRewake` フックが終了コード 2 で終了すると、セッションがアイドル状態でも Claude を直ちに起動します。3189* フック出力は次の会話ターンで配信されます。セッションがアイドル状態の場合、レスポンスは次のユーザー操作まで待機します。例外: `asyncRewake` フックが終了コード 2 で終了すると、セッションがアイドル状態でも Claude を直ちに起動します。

2717* 各実行は個別のバックグラウンド プロセスを作成します。同じ非同期フックの複数の発火全体で重複排除はありません。3190* 各実行は個別のバックグラウンド プロセスを作成します。同じ非同期フックの複数の発火全体で重複排除はありません。

2718 3191 

2719## セキュリティに関する考慮事項3192<h2 id="security-considerations">

3193 セキュリティに関する考慮事項

3194</h2>

2720 3195 

2721### 免責事項3196<h3 id="disclaimer">

3197 免責事項

3198</h3>

2722 3199 

2723コマンド フックはシステム ユーザーの完全な権限で実行されます。3200コマンド フックはシステム ユーザーの完全な権限で実行されます。

2724 3201 


2726 コマンド フックはユーザー アカウントの完全な権限でシェル コマンドを実行します。ユーザー アカウントがアクセスできるファイルを変更、削除、またはアクセスできます。フック コマンドを設定に追加する前に、すべてのフック コマンドを確認してテストしてください。3203 コマンド フックはユーザー アカウントの完全な権限でシェル コマンドを実行します。ユーザー アカウントがアクセスできるファイルを変更、削除、またはアクセスできます。フック コマンドを設定に追加する前に、すべてのフック コマンドを確認してテストしてください。

2727</Warning>3204</Warning>

2728 3205 

2729### セキュリティ ベストプラクティス3206<h3 id="security-best-practices">

3207 セキュリティ ベストプラクティス

3208</h3>

2730 3209 

2731フックを書くときは、これらのプラクティスに留意してください。3210フックを書くときは、これらのプラクティスに留意してください。

2732 3211 


2736* **絶対パスを使用**: スクリプトの完全なパスを指定します。exec 形式では、`${CLAUDE_PROJECT_DIR}` を使用し、パスは引用符で囲む必要がありません。シェル形式では、ダブル クォートで囲みます3215* **絶対パスを使用**: スクリプトの完全なパスを指定します。exec 形式では、`${CLAUDE_PROJECT_DIR}` を使用し、パスは引用符で囲む必要がありません。シェル形式では、ダブル クォートで囲みます

2737* **機密ファイルをスキップ**: `.env`、`.git/`、キーなどを避ける3216* **機密ファイルをスキップ**: `.env`、`.git/`、キーなどを避ける

2738 3217 

2739## Windows PowerShell ツール3218<h2 id="windows-powershell-tool">

3219 Windows PowerShell ツール

3220</h2>

2740 3221 

2741Windows では、コマンド フックで `"shell": "powershell"` を設定することで、個別のフックを PowerShell で実行できます。フックは PowerShell を直接生成するため、`CLAUDE_CODE_USE_POWERSHELL_TOOL` が設定されているかどうかに関係なく機能します。Claude Code は `pwsh.exe`(PowerShell 7 以上)を自動検出し、`powershell.exe`(5.1)にフォールバックします。3222Windows では、コマンド フックで `"shell": "powershell"` を設定することで、個別のフックを PowerShell で実行できます。フックは PowerShell を直接生成するため、`CLAUDE_CODE_USE_POWERSHELL_TOOL` が設定されているかどうかに関係なく機能します。Claude Code は `pwsh.exe`(PowerShell 7 以上)を自動検出し、`powershell.exe`(5.1)にフォールバックします。

2742 3223 


2759}3240}

2760```3241```

2761 3242 

2762## フックをデバッグ3243<h2 id="debug-hooks">

3244 フックをデバッグ

3245</h2>

2763 3246 

2764フック実行の詳細、マッチしたフック、終了コード、完全な stdout と stderr はデバッグ ログ ファイルに書き込まれます。`claude --debug-file <path>` で既知の場所にログを書き込むか、`claude --debug` を実行してログを `~/.claude/debug/<session-id>.txt` で読み取ります。`--debug` フラグはターミナルに出力しません。3247フック実行の詳細、マッチしたフック、終了コード、完全な stdout と stderr はデバッグ ログ ファイルに書き込まれます。`claude --debug-file <path>` で既知の場所にログを書き込むか、`claude --debug` を実行してログを `~/.claude/debug/<session-id>.txt` で読み取ります。`--debug` フラグはターミナルに出力しません。

2765 3248 

hooks-guide.md +104 −39

Details

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# hooks でワークフローを自動化する5# hooks でアクションを自動化する

6 6 

7> Claude Code がファイルを編集したり、タスクを完了したり、入力が必要になったりしたときに、シェルコマンドを自動的に実行します。コードをフォーマットし、通知を送信し、コマンドを検証し、プロジェクトルールを適用します。7> Claude Code がファイルを編集したり、タスクを完了したり、入力が必要になったりしたときに、シェルコマンドを自動的に実行します。コードをフォーマットし、通知を送信し、コマンドを検証し、プロジェクトルールを適用します。

8 8 


16 このガイドでは一般的なユースケースと始め方をカバーしています。完全なイベントスキーマ、JSON 入力/出力形式、非同期 hooks や MCP ツール hooks などの高度な機能については、[Hooks リファレンス](/ja/hooks) を参照してください。16 このガイドでは一般的なユースケースと始め方をカバーしています。完全なイベントスキーマ、JSON 入力/出力形式、非同期 hooks や MCP ツール hooks などの高度な機能については、[Hooks リファレンス](/ja/hooks) を参照してください。

17</Tip>17</Tip>

18 18 

19## 最初の hook をセットアップする19<h2 id="set-up-your-first-hook">

20 最初の hook をセットアップする

21</h2>

20 22 

21Hook を作成するには、[設定ファイル](#configure-hook-location) に `hooks` ブロックを追加します。このチュートリアルではデスクトップ通知 hook を作成するため、Claude があなたの入力を待っているときにアラートを受け取ることができます。ターミナルを監視する代わりに。23Hook を作成するには、[設定ファイル](#configure-hook-location) に `hooks` ブロックを追加します。このチュートリアルではデスクトップ通知 hook を作成するため、Claude があなたの入力を待っているときにアラートを受け取ることができます。ターミナルを監視する代わりに。

22 24 


79 `/hooks` メニューは読み取り専用です。Hooks を追加、変更、または削除するには、設定 JSON を直接編集するか、Claude に変更を依頼します。81 `/hooks` メニューは読み取り専用です。Hooks を追加、変更、または削除するには、設定 JSON を直接編集するか、Claude に変更を依頼します。

80</Tip>82</Tip>

81 83 

82## 自動化できるもの84<h2 id="what-you-can-automate">

85 自動化できるもの

86</h2>

83 87 

84Hooks を使用すると、Claude Code のライフサイクルの主要なポイントでコードを実行できます:編集後にファイルをフォーマットし、実行前にコマンドをブロックし、Claude が入力を必要とするときに通知を送信し、セッション開始時にコンテキストを注入するなど。Hook イベントの完全なリストについては、[Hooks リファレンス](/ja/hooks#hook-lifecycle) を参照してください。88Hooks を使用すると、Claude Code のライフサイクルの主要なポイントでコードを実行できます:編集後にファイルをフォーマットし、実行前にコマンドをブロックし、Claude が入力を必要とするときに通知を送信し、セッション開始時にコンテキストを注入するなど。Hook イベントの完全なリストについては、[Hooks リファレンス](/ja/hooks#hook-lifecycle) を参照してください。

85 89 


93* [ディレクトリまたはファイルが変更されたときに環境をリロードする](#reload-environment-when-directory-or-files-change)97* [ディレクトリまたはファイルが変更されたときに環境をリロードする](#reload-environment-when-directory-or-files-change)

94* [特定の許可プロンプトを自動承認する](#auto-approve-specific-permission-prompts)98* [特定の許可プロンプトを自動承認する](#auto-approve-specific-permission-prompts)

95 99 

96### Claude が入力を必要とするときに通知を受け取る100本番環境での hooks の例として、別のモデルレビューを実行し、その結果をセッションにフィードバックする場合は、[`security-guidance` プラグインが Claude Code と統合する方法](/ja/security-guidance#how-the-plugin-integrates-with-claude-code) を参照してください。

101 

102<h3 id="get-notified-when-claude-needs-input">

103 Claude が入力を必要とするときに通知を受け取る

104</h3>

97 105 

98Claude が作業を完了して入力を必要とするときはいつでもデスクトップ通知を取得し、ターミナルをチェックせずに他のタスクに切り替えることができます。106Claude が作業を完了して入力を必要とするときはいつでもデスクトップ通知を取得し、ターミナルをチェックせずに他のタスクに切り替えることができます。

99 107 


184 192 

185`/hooks` と入力して `Notification` を選択し、hook が登録されていることを確認します。完全なイベントスキーマについては、[Notification リファレンス](/ja/hooks#notification) を参照してください。193`/hooks` と入力して `Notification` を選択し、hook が登録されていることを確認します。完全なイベントスキーマについては、[Notification リファレンス](/ja/hooks#notification) を参照してください。

186 194 

187### 編集後にコードを自動フォーマットする195<h3 id="auto-format-code-after-edits">

196 編集後にコードを自動フォーマットする

197</h3>

188 198 

189Claude が編集するすべてのファイルで [Prettier](https://prettier.io/) を自動的に実行し、手動操作なしでフォーマットの一貫性を保ちます。199Claude が編集するすべてのファイルで [Prettier](https://prettier.io/) を自動的に実行し、手動操作なしでフォーマットの一貫性を保ちます。

190 200 


212 このページの Bash の例は JSON 解析に `jq` を使用します。`brew install jq`(macOS)、`apt-get install jq`(Debian/Ubuntu)でインストールするか、[`jq` ダウンロード](https://jqlang.github.io/jq/download/) を参照してください。222 このページの Bash の例は JSON 解析に `jq` を使用します。`brew install jq`(macOS)、`apt-get install jq`(Debian/Ubuntu)でインストールするか、[`jq` ダウンロード](https://jqlang.github.io/jq/download/) を参照してください。

213</Note>223</Note>

214 224 

215### 保護されたファイルへの編集をブロックする225<h3 id="block-edits-to-protected-files">

226 保護されたファイルへの編集をブロックする

227</h3>

216 228 

217Claude が `.env`、`package-lock.json`、`.git/` 内のものなどの機密ファイルを変更するのを防ぎます。Claude は編集がブロックされた理由を説明するフィードバックを受け取るため、アプローチを調整できます。229Claude が `.env`、`package-lock.json`、`.git/` 内のものなどの機密ファイルを変更するのを防ぎます。Claude は編集がブロックされた理由を説明するフィードバックを受け取るため、アプローチを調整できます。

218 230 


273 </Step>285 </Step>

274</Steps>286</Steps>

275 287 

276### 圧縮後にコンテキストを再注入する288<h3 id="re-inject-context-after-compaction">

289 圧縮後にコンテキストを再注入する

290</h3>

277 291 

278Claude のコンテキストウィンドウがいっぱいになると、圧縮は会話を要約してスペースを解放します。これは重要な詳細を失う可能性があります。`compact` マッチャーで `SessionStart` hook を使用して、すべての圧縮後に重要なコンテキストを再注入します。292Claude のコンテキストウィンドウがいっぱいになると、圧縮は会話を要約してスペースを解放します。これは重要な詳細を失う可能性があります。`compact` マッチャーで `SessionStart` hook を使用して、すべての圧縮後に重要なコンテキストを再注入します。

279 293 


299 313 

300`echo` を `git log --oneline -5` などの動的出力を生成するコマンドに置き換えて、最近のコミットを表示できます。すべてのセッション開始時にコンテキストを注入する場合は、代わりに [CLAUDE.md](/ja/memory) を使用することを検討してください。環境変数については、リファレンスの [`CLAUDE_ENV_FILE`](/ja/hooks#persist-environment-variables) を参照してください。314`echo` を `git log --oneline -5` などの動的出力を生成するコマンドに置き換えて、最近のコミットを表示できます。すべてのセッション開始時にコンテキストを注入する場合は、代わりに [CLAUDE.md](/ja/memory) を使用することを検討してください。環境変数については、リファレンスの [`CLAUDE_ENV_FILE`](/ja/hooks#persist-environment-variables) を参照してください。

301 315 

302### 設定変更を監査する316<h3 id="audit-configuration-changes">

317 設定変更を監査する

318</h3>

303 319 

304セッション中に設定またはスキルファイルが変更されたときを追跡します。`ConfigChange` イベントは外部プロセスまたはエディタが設定ファイルを変更したときに発火するため、コンプライアンスのために変更をログに記録したり、不正な変更をブロックしたりできます。320セッション中に設定またはスキルファイルが変更されたときを追跡します。`ConfigChange` イベントは外部プロセスまたはエディタが設定ファイルを変更したときに発火するため、コンプライアンスのために変更をログに記録したり、不正な変更をブロックしたりできます。

305 321 


325 341 

326マッチャーは設定タイプでフィルタリングします:`user_settings`、`project_settings`、`local_settings`、`policy_settings`、または `skills`。変更が有効になるのをブロックするには、終了コード 2 で終了するか、`{"decision": "block"}` を返します。完全な入力スキーマについては、[ConfigChange リファレンス](/ja/hooks#configchange) を参照してください。342マッチャーは設定タイプでフィルタリングします:`user_settings`、`project_settings`、`local_settings`、`policy_settings`、または `skills`。変更が有効になるのをブロックするには、終了コード 2 で終了するか、`{"decision": "block"}` を返します。完全な入力スキーマについては、[ConfigChange リファレンス](/ja/hooks#configchange) を参照してください。

327 343 

328### ディレクトリまたはファイルが変更されたときに環境をリロードする344<h3 id="reload-environment-when-directory-or-files-change">

345 ディレクトリまたはファイルが変更されたときに環境をリロードする

346</h3>

329 347 

330一部のプロジェクトは、どのディレクトリにいるかに応じて異なる環境変数を設定します。[direnv](https://direnv.net/) などのツールはシェルで自動的にこれを行いますが、Claude の Bash ツールはそれらの変更を自動的に取得しません。348一部のプロジェクトは、どのディレクトリにいるかに応じて異なる環境変数を設定します。[direnv](https://direnv.net/) などのツールはシェルで自動的にこれを行いますが、Claude の Bash ツールはそれらの変更を自動的に取得しません。

331 349 


382 400 

383入力スキーマ、`watchPaths` 出力、および `CLAUDE_ENV_FILE` の詳細については、[CwdChanged](/ja/hooks#cwdchanged) および [FileChanged](/ja/hooks#filechanged) リファレンスエントリを参照してください。401入力スキーマ、`watchPaths` 出力、および `CLAUDE_ENV_FILE` の詳細については、[CwdChanged](/ja/hooks#cwdchanged) および [FileChanged](/ja/hooks#filechanged) リファレンスエントリを参照してください。

384 402 

385### 特定の許可プロンプトを自動承認する403<h3 id="auto-approve-specific-permission-prompts">

404 特定の許可プロンプトを自動承認する

405</h3>

386 406 

387常に許可するツール呼び出しの承認ダイアログをスキップします。この例は `ExitPlanMode` を自動承認します。これは Claude がプランの提示を終了して続行するよう求めるときに呼び出すツールです。プランが準備できるたびにプロンプトが表示されることはありません。407常に許可するツール呼び出しの承認ダイアログをスキップします。この例は `ExitPlanMode` を自動承認します。これは Claude がプランの提示を終了して続行するよう求めるときに呼び出すツールです。プランが準備できるたびにプロンプトが表示されることはありません。

388 408 


434 454 

435マッチャーをできるだけ狭く保ちます。`.*` でマッチングするか、マッチャーを空のままにすると、ファイル書き込みやシェルコマンドを含むすべての許可プロンプトが自動承認されます。決定フィールドの完全なセットについては、[PermissionRequest リファレンス](/ja/hooks#permissionrequest-decision-control) を参照してください。455マッチャーをできるだけ狭く保ちます。`.*` でマッチングするか、マッチャーを空のままにすると、ファイル書き込みやシェルコマンドを含むすべての許可プロンプトが自動承認されます。決定フィールドの完全なセットについては、[PermissionRequest リファレンス](/ja/hooks#permissionrequest-decision-control) を参照してください。

436 456 

437## hooks の仕組み457<h2 id="how-hooks-work">

458 hooks の仕組み

459</h2>

438 460 

439Hook イベントは Claude Code のライフサイクルの特定のポイントで発火します。イベントが発火すると、すべてのマッチングする hooks が並列で実行され、同一の hook コマンドは自動的に重複排除されます。以下の表は各イベントとそれがトリガーされるときを示しています:461Hook イベントは Claude Code のライフサイクルの特定のポイントで発火します。イベントが発火すると、すべてのマッチングする hooks が並列で実行され、同一の hook コマンドは自動的に重複排除されます。以下の表は各イベントとそれがトリガーされるときを示しています:

440 462 


451| `PostToolUseFailure` | After a tool call fails |473| `PostToolUseFailure` | After a tool call fails |

452| `PostToolBatch` | After a full batch of parallel tool calls resolves, before the next model call |474| `PostToolBatch` | After a full batch of parallel tool calls resolves, before the next model call |

453| `Notification` | When Claude Code sends a notification |475| `Notification` | When Claude Code sends a notification |

476| `MessageDisplay` | While assistant message text is displayed |

454| `SubagentStart` | When a subagent is spawned |477| `SubagentStart` | When a subagent is spawned |

455| `SubagentStop` | When a subagent finishes |478| `SubagentStop` | When a subagent finishes |

456| `TaskCreated` | When a task is being created via `TaskCreate` |479| `TaskCreated` | When a task is being created via `TaskCreate` |


477* `"type": "prompt"`:シングルターン LLM 評価。[プロンプトベースの hooks](#prompt-based-hooks) を参照してください。500* `"type": "prompt"`:シングルターン LLM 評価。[プロンプトベースの hooks](#prompt-based-hooks) を参照してください。

478* `"type": "agent"`:ツールアクセス付きマルチターン検証。エージェント hooks は実験的であり、変更される可能性があります。[エージェントベースの hooks](#agent-based-hooks) を参照してください。501* `"type": "agent"`:ツールアクセス付きマルチターン検証。エージェント hooks は実験的であり、変更される可能性があります。[エージェントベースの hooks](#agent-based-hooks) を参照してください。

479 502 

480### 複数の hooks からの結果を組み合わせる503<h3 id="combine-results-from-multiple-hooks">

504 複数の hooks からの結果を組み合わせる

505</h3>

481 506 

482複数の hooks が同じイベントにマッチする場合、すべての hook のコマンドが完了してから Claude Code は結果をマージします。1 つの hook が `deny` を返しても、兄弟 hooks の実行は停止されません。1 つの hook の `deny` が別の hook の副作用を抑制することに依存しないでください。507複数の hooks が同じイベントにマッチする場合、すべての hook のコマンドが完了してから Claude Code は結果をマージします。1 つの hook が `deny` を返しても、兄弟 hooks の実行は停止されません。1 つの hook の `deny` が別の hook の副作用を抑制することに依存しないでください。

483 508 


509 534 

510Claude が `rm -rf /tmp/build` を実行しようとするとき、両方の hooks が並列で実行されます。ログ hook はコマンドを `~/.claude/bash.log` に書き込み、0 で終了します。これは決定がないことを報告します。ガードレール hook は 2 で終了し、ツール呼び出しを拒否します。deny が勝つため、Claude Code はコマンドをブロックし、Claude にガードレールの stderr を表示します。ログエントリはまだ書き込まれます。なぜなら、ログ hook は既に実行されているからです。535Claude が `rm -rf /tmp/build` を実行しようとするとき、両方の hooks が並列で実行されます。ログ hook はコマンドを `~/.claude/bash.log` に書き込み、0 で終了します。これは決定がないことを報告します。ガードレール hook は 2 で終了し、ツール呼び出しを拒否します。deny が勝つため、Claude Code はコマンドをブロックし、Claude にガードレールの stderr を表示します。ログエントリはまだ書き込まれます。なぜなら、ログ hook は既に実行されているからです。

511 536 

512### 入力を読み取り、出力を返す537<h3 id="read-input-and-return-output">

538 入力を読み取り、出力を返す

539</h3>

513 540 

514Hooks は stdin、stdout、stderr、および終了コードを通じて Claude Code と通信します。イベントが発火すると、Claude Code はイベント固有のデータを JSON としてスクリプトの stdin に渡します。スクリプトはそのデータを読み取り、作業を行い、終了コードを通じて Claude Code に次に何をするかを伝えます。541Hooks は stdin、stdout、stderr、および終了コードを通じて Claude Code と通信します。イベントが発火すると、Claude Code はイベント固有のデータを JSON としてスクリプトの stdin に渡します。スクリプトはそのデータを読み取り、作業を行い、終了コードを通じて Claude Code に次に何をするかを伝えます。

515 542 

516#### Hook 入力543<h4 id="hook-input">

544 Hook 入力

545</h4>

517 546 

518すべてのイベントには `session_id` と `cwd` などの共通フィールドが含まれていますが、各イベントタイプは異なるデータを追加します。たとえば、Claude が Bash コマンドを実行するとき、`PreToolUse` hook は stdin で次のようなものを受け取ります:547すべてのイベントには `session_id` と `cwd` などの共通フィールドが含まれていますが、各イベントタイプは異なるデータを追加します。たとえば、Claude が Bash コマンドを実行するとき、`PreToolUse` hook は stdin で次のようなものを受け取ります:

519 548 


531 560 

532スクリプトはその JSON を解析し、これらのフィールドのいずれかに基づいて動作できます。`UserPromptSubmit` hooks は代わりに `prompt` テキストを取得し、`SessionStart` hooks は `source`(startup、resume、clear、compact)を取得するなど。リファレンスの [共通入力フィールド](/ja/hooks#common-input-fields) で共有フィールドを参照し、各イベントのセクションでイベント固有のスキーマを参照してください。561スクリプトはその JSON を解析し、これらのフィールドのいずれかに基づいて動作できます。`UserPromptSubmit` hooks は代わりに `prompt` テキストを取得し、`SessionStart` hooks は `source`(startup、resume、clear、compact)を取得するなど。リファレンスの [共通入力フィールド](/ja/hooks#common-input-fields) で共有フィールドを参照し、各イベントのセクションでイベント固有のスキーマを参照してください。

533 562 

534#### Hook 出力563<h4 id="hook-output">

564 Hook 出力

565</h4>

535 566 

536スクリプトは stdout または stderr に書き込み、特定のコードで終了することで、Claude Code に次に何をするかを伝えます。たとえば、コマンドをブロックしたい `PreToolUse` hook:567スクリプトは stdout または stderr に書き込み、特定のコードで終了することで、Claude Code に次に何をするかを伝えます。たとえば、コマンドをブロックしたい `PreToolUse` hook:

537 568 


545 exit 2 # exit 2 = アクションをブロック576 exit 2 # exit 2 = アクションをブロック

546fi577fi

547 578 

548exit 0 # exit 0 = 続行させる579exit 0 # exit 0 = 決定なし。通常の許可フローが適用されます

549```580```

550 581 

551終了コードは次に何が起こるかを決定します:582終了コードは次に何が起こるかを決定します:

552 583 

553* **終了 0**:アクションが続行されます。`UserPromptSubmit`、`UserPromptExpansion`、および `SessionStart` hooks の場合、stdout に書き込むすべてのものが Claude のコンテキストに追加されます。584* **終了 0**:hook は異議を報告せず、アクションは通常どおり進行します。`PreToolUse` hook の場合、これはツール呼び出しを承認しません:通常の [許可フロー](/ja/permissions) が引き続き適用されます。`UserPromptSubmit`、`UserPromptExpansion`、および `SessionStart` hooks の場合、stdout に書き込むすべてのものが Claude のコンテキストに追加されます。

554* **終了 2**:アクションがブロックされます。stderr に理由を書き込み、Claude はそれをフィードバックとして受け取るため、調整できます。一部のイベントはブロックできません:`SessionStart`、`Setup`、`Notification` などの場合、終了 2 は stderr をユーザーに表示し、実行は続行されます。[イベントごとの終了コード 2 の動作](/ja/hooks#exit-code-2-behavior-per-event) で完全なリストを参照してください。585* **終了 2**:アクションがブロックされます。stderr に理由を書き込み、Claude はそれをフィードバックとして受け取るため、調整できます。一部のイベントはブロックできません:`SessionStart`、`Setup`、`Notification` などの場合、終了 2 は stderr をユーザーに表示し、実行は続行されます。[イベントごとの終了コード 2 の動作](/ja/hooks#exit-code-2-behavior-per-event) で完全なリストを参照してください。

555* **その他の終了コード**:アクションが続行されます。トランスクリプトは `<hook name> hook error` 通知を表示し、その後 stderr の最初の行が続きます。完全な stderr は [デバッグログ](/ja/hooks#debug-hooks) に記録されます。586* **その他の終了コード**:アクションが続行されます。トランスクリプトは `<hook name> hook error` 通知を表示し、その後 stderr の最初の行が続きます。完全な stderr は [デバッグログ](/ja/hooks#debug-hooks) に記録されます。

556 587 

557#### 構造化 JSON 出力588<h4 id="structured-json-output">

589 構造化 JSON 出力

590</h4>

558 591 

559終了コードは 2 つのオプションを提供します:許可またはブロック。より多くの制御のために、終了 0 して stdout に JSON オブジェクトを出力します。592終了コードはブロックするか沈黙するかのみを許可します。より多くの制御のために、終了 0 して stdout に JSON オブジェクトを出力します。

560 593 

561<Note>594<Note>

562 終了 2 で stderr メッセージでブロックするか、終了 0 で JSON で構造化制御を使用します。混在させないでください:Claude Code は終了 2 のときに JSON を無視します。595 終了 2 で stderr メッセージでブロックするか、終了 0 で JSON で構造化制御を使用します。混在させないでください:Claude Code は終了 2 のときに JSON を無視します。


588 621 

589`UserPromptSubmit` hooks の場合、代わりに `additionalContext` を使用して Claude のコンテキストにテキストを注入します。プロンプトベースの hooks(`type: "prompt"`)は出力を異なる方法で処理します:[プロンプトベースの hooks](#prompt-based-hooks) を参照してください。622`UserPromptSubmit` hooks の場合、代わりに `additionalContext` を使用して Claude のコンテキストにテキストを注入します。プロンプトベースの hooks(`type: "prompt"`)は出力を異なる方法で処理します:[プロンプトベースの hooks](#prompt-based-hooks) を参照してください。

590 623 

591### マッチャーで hooks をフィルタリングする624<h3 id="filter-hooks-with-matchers">

625 マッチャーで hooks をフィルタリングする

626</h3>

592 627 

593マッチャーなしでは、hook はそのイベントのすべての発生で発火します。マッチャーを使用すると、それを絞り込むことができます。たとえば、ファイル編集後にのみフォーマッターを実行したい場合(すべてのツール呼び出しの後ではなく)、`PostToolUse` hook にマッチャーを追加します:628マッチャーなしでは、hook はそのイベントのすべての発生で発火します。マッチャーを使用すると、それを絞り込むことができます。たとえば、ファイル編集後にのみフォーマッターを実行したい場合(すべてのツール呼び出しの後ではなく)、`PostToolUse` hook にマッチャーを追加します:

594 629 


616各イベントタイプは特定のフィールドでマッチします:651各イベントタイプは特定のフィールドでマッチします:

617 652 

618| イベント | マッチャーがフィルタリングするもの | マッチャー値の例 |653| イベント | マッチャーがフィルタリングするもの | マッチャー値の例 |

619| :------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |654| :----------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

620| `PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied` | ツール名 | `Bash`、`Edit\|Write`、`mcp__.*` |655| `PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied` | ツール名 | `Bash`、`Edit\|Write`、`mcp__.*` |

621| `SessionStart` | セッションがどのように開始されたか | `startup`、`resume`、`clear`、`compact` |656| `SessionStart` | セッションがどのように開始されたか | `startup`、`resume`、`clear`、`compact` |

622| `Setup` | どの CLI フラグがセットアップをトリガーしたか | `init`、`maintenance` |657| `Setup` | どの CLI フラグがセットアップをトリガーしたか | `init`、`maintenance` |


626| `PreCompact`、`PostCompact` | 圧縮をトリガーしたもの | `manual`、`auto` |661| `PreCompact`、`PostCompact` | 圧縮をトリガーしたもの | `manual`、`auto` |

627| `SubagentStop` | エージェントタイプ | `SubagentStart` と同じ値 |662| `SubagentStop` | エージェントタイプ | `SubagentStart` と同じ値 |

628| `ConfigChange` | 設定ソース | `user_settings`、`project_settings`、`local_settings`、`policy_settings`、`skills` |663| `ConfigChange` | 設定ソース | `user_settings`、`project_settings`、`local_settings`、`policy_settings`、`skills` |

629| `StopFailure` | エラータイプ | `rate_limit`、`authentication_failed`、`oauth_org_not_allowed`、`billing_error`、`invalid_request`、`server_error`、`max_output_tokens`、`unknown` |664| `StopFailure` | エラータイプ | `rate_limit`、`overloaded`、`authentication_failed`、`oauth_org_not_allowed`、`billing_error`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`unknown` |

630| `InstructionsLoaded` | ロード理由 | `session_start`、`nested_traversal`、`path_glob_match`、`include`、`compact` |665| `InstructionsLoaded` | ロード理由 | `session_start`、`nested_traversal`、`path_glob_match`、`include`、`compact` |

631| `Elicitation` | MCP サーバー名 | 設定した MCP サーバー名 |666| `Elicitation` | MCP サーバー名 | 設定した MCP サーバー名 |

632| `ElicitationResult` | MCP サーバー名 | `Elicitation` と同じ値 |667| `ElicitationResult` | MCP サーバー名 | `Elicitation` と同じ値 |

633| `FileChanged` | リテラルファイル名を監視([FileChanged](/ja/hooks#filechanged) を参照) | `.envrc\|.env` |668| `FileChanged` | リテラルファイル名を監視([FileChanged](/ja/hooks#filechanged) を参照) | `.envrc\|.env` |

634| `UserPromptExpansion` | コマンド名 | スキルまたはコマンド名 |669| `UserPromptExpansion` | コマンド名 | スキルまたはコマンド名 |

635| `UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`CwdChanged` | マッチャーサポートなし | すべての発生で常に発火 |670| `UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`CwdChanged`、`MessageDisplay` | マッチャーサポートなし | すべての発生で常に発火 |

636 671 

637異なるイベントタイプのマッチャーを示すいくつかの例:672異なるイベントタイプのマッチャーを示すいくつかの例:

638 673 


708 743 

709完全なマッチャー構文については、[Hooks リファレンス](/ja/hooks#configuration) を参照してください。744完全なマッチャー構文については、[Hooks リファレンス](/ja/hooks#configuration) を参照してください。

710 745 

711#### `if` フィールドでツール名と引数でフィルタリングする746<h4 id="filter-by-tool-name-and-arguments-with-the-if-field">

747 `if` フィールドでツール名と引数でフィルタリングする

748</h4>

712 749 

713<Note>750<Note>

714 `if` フィールドには Claude Code v2.1.85 以降が必要です。以前のバージョンはそれを無視し、マッチしたすべての呼び出しで hook を実行します。751 `if` フィールドには Claude Code v2.1.85 以降が必要です。以前のバージョンはそれを無視し、マッチしたすべての呼び出しで hook を実行します。


741 778 

742`if` はツールイベントでのみ機能します:`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、および `PermissionDenied`。他のイベントに追加すると、hook が実行されるのを防ぎます。779`if` はツールイベントでのみ機能します:`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、および `PermissionDenied`。他のイベントに追加すると、hook が実行されるのを防ぎます。

743 780 

744### hook の場所を設定する781<h3 id="configure-hook-location">

782 hook の場所を設定する

783</h3>

745 784 

746Hook を追加する場所がそのスコープを決定します:785Hook を追加する場所がそのスコープを決定します:

747 786 


758 797 

759Claude Code が実行中に設定ファイルを直接編集する場合、ファイルウォッチャーは通常、hook の変更を自動的に取得します。798Claude Code が実行中に設定ファイルを直接編集する場合、ファイルウォッチャーは通常、hook の変更を自動的に取得します。

760 799 

761## プロンプトベースの hooks800<h2 id="prompt-based-hooks">

801 プロンプトベースの hooks

802</h2>

762 803 

763決定論的なルールではなく判断が必要な決定については、`type: "prompt"` hooks を使用します。シェルコマンドを実行する代わりに、Claude Code はプロンプトと hook の入力データを Claude モデル(デフォルトでは Haiku)に送信して決定を下します。より多くの機能が必要な場合は、`model` フィールドで異なるモデルを指定できます。804決定論的なルールではなく判断が必要な決定については、`type: "prompt"` hooks を使用します。シェルコマンドを実行する代わりに、Claude Code はプロンプトと hook の入力データを Claude モデル(デフォルトでは Haiku)に送信して決定を下します。より多くの機能が必要な場合は、`model` フィールドで異なるモデルを指定できます。

764 805 


791 832 

792完全な設定オプションについては、リファレンスの [プロンプトベースの hooks](/ja/hooks#prompt-based-hooks) を参照してください。833完全な設定オプションについては、リファレンスの [プロンプトベースの hooks](/ja/hooks#prompt-based-hooks) を参照してください。

793 834 

794## エージェントベースの hooks835<h2 id="agent-based-hooks">

836 エージェントベースの hooks

837</h2>

795 838 

796<Warning>839<Warning>

797 エージェント hooks は実験的です。動作と設定は将来のリリースで変更される可能性があります。本番ワークフローについては、[コマンド hooks](/ja/hooks#command-hook-fields) を優先してください。840 エージェント hooks は実験的です。動作と設定は将来のリリースで変更される可能性があります。本番ワークフローについては、[コマンド hooks](/ja/hooks#command-hook-fields) を優先してください。


825 868 

826完全な設定オプションについては、リファレンスの [エージェントベースの hooks](/ja/hooks#agent-based-hooks) を参照してください。869完全な設定オプションについては、リファレンスの [エージェントベースの hooks](/ja/hooks#agent-based-hooks) を参照してください。

827 870 

828## HTTP hooks871<h2 id="http-hooks">

872 HTTP hooks

873</h2>

829 874 

830`type: "http"` hooks を使用して、シェルコマンドを実行する代わりに、イベントデータを HTTP エンドポイントに POST します。エンドポイントはコマンド hook が stdin で受け取るのと同じ JSON を受け取り、HTTP レスポンスボディを使用して同じ JSON 形式で結果を返します。875`type: "http"` hooks を使用して、シェルコマンドを実行する代わりに、イベントデータを HTTP エンドポイントに POST します。エンドポイントはコマンド hook が stdin で受け取るのと同じ JSON を受け取り、HTTP レスポンスボディを使用して同じ JSON 形式で結果を返します。

831 876 


860 905 

861完全な設定オプションとレスポンス処理については、リファレンスの [HTTP hooks](/ja/hooks#http-hook-fields) を参照してください。906完全な設定オプションとレスポンス処理については、リファレンスの [HTTP hooks](/ja/hooks#http-hook-fields) を参照してください。

862 907 

863## 制限とトラブルシューティング908<h2 id="limitations-and-troubleshooting">

909 制限とトラブルシューティング

910</h2>

864 911 

865### 制限912<h3 id="limitations">

913 制限

914</h3>

866 915 

867* コマンド hooks は stdout、stderr、および終了コードを通じてのみ通信します。これらは `/` コマンドまたはツール呼び出しをトリガーできません。`additionalContext` を通じて返されたテキストは、Claude が平文として読むシステムリマインダーとして注入されます。HTTP hooks はレスポンスボディを通じて通信します。916* コマンド hooks は stdout、stderr、および終了コードを通じてのみ通信します。これらは `/` コマンドまたはツール呼び出しをトリガーできません。`additionalContext` を通じて返されたテキストは、Claude が平文として読むシステムリマインダーとして注入されます。HTTP hooks はレスポンスボディを通じて通信します。

868* Hook タイムアウトはタイプによって異なります。`timeout` フィールド(秒単位)で hook ごとにオーバーライドできます。917* Hook タイムアウトはタイプによって異なります。`timeout` フィールド(秒単位)で hook ごとにオーバーライドできます。

869 * `command`、`http`、`mcp_tool`:10 分。`UserPromptSubmit` はこれらを 30 秒に短縮します。918 * `command`、`http`、`mcp_tool`:10 分。`UserPromptSubmit` はこれらを 30 秒に短縮し、`MessageDisplay` はこれらを 10 秒に短縮します。

870 * `prompt`:30 秒。919 * `prompt`:30 秒。

871 * `agent`:60 秒。920 * `agent`:60 秒。

872* `PostToolUse` hooks はツールが既に実行されているため、アクションを元に戻すことはできません。921* `PostToolUse` hooks はツールが既に実行されているため、アクションを元に戻すことはできません。


874* `Stop` hooks はタスク完了時だけでなく、Claude が応答を終了するたびに発火します。ユーザーの割り込みでは発火しません。API エラーは代わりに [StopFailure](/ja/hooks#stopfailure) を発火させます。923* `Stop` hooks はタスク完了時だけでなく、Claude が応答を終了するたびに発火します。ユーザーの割り込みでは発火しません。API エラーは代わりに [StopFailure](/ja/hooks#stopfailure) を発火させます。

875* 複数の PreToolUse hooks が [`updatedInput`](/ja/hooks#pretooluse) を返してツールの引数を書き直す場合、最後に完了したものが勝ちます。Hooks は並列で実行されるため、順序は非決定的です。同じツールの入力を変更する複数の hooks を持つことを避けてください。924* 複数の PreToolUse hooks が [`updatedInput`](/ja/hooks#pretooluse) を返してツールの引数を書き直す場合、最後に完了したものが勝ちます。Hooks は並列で実行されるため、順序は非決定的です。同じツールの入力を変更する複数の hooks を持つことを避けてください。

876 925 

877### Hooks と許可モード926<h3 id="hooks-and-permission-modes">

927 Hooks と許可モード

928</h3>

878 929 

879PreToolUse hooks は任意の許可モードチェックの前に発火します。`permissionDecision: "deny"` を返す hook は、`bypassPermissions` モードまたは `--dangerously-skip-permissions` でもツールをブロックします。これにより、ユーザーが許可モードを変更してバイパスできないポリシーを適用できます。930PreToolUse hooks は任意の許可モードチェックの前に発火します。`permissionDecision: "deny"` を返す hook は、`bypassPermissions` モードまたは `--dangerously-skip-permissions` でもツールをブロックします。これにより、ユーザーが許可モードを変更してバイパスできないポリシーを適用できます。

880 931 

881逆は真ではありません:`"allow"` を返す hook は、設定からの deny ルールをバイパスしません。Hooks は制限を厳しくできますが、許可ルールが許可する範囲を超えて緩和することはできません。932逆は真ではありません:`"allow"` を返す hook は、設定からの deny ルールをバイパスしません。Hooks は制限を厳しくできますが、許可ルールが許可する範囲を超えて緩和することはできません。

882 933 

883### Hook が発火しない934<h3 id="hook-not-firing">

935 Hook が発火しない

936</h3>

884 937 

885Hook は設定されていますが、実行されません。938Hook は設定されていますが、実行されません。

886 939 


889* 正しいイベントタイプをトリガーしていることを確認します(例:`PreToolUse` はツール実行前に発火し、`PostToolUse` は後に発火します)942* 正しいイベントタイプをトリガーしていることを確認します(例:`PreToolUse` はツール実行前に発火し、`PostToolUse` は後に発火します)

890* 非インタラクティブモード(`-p`)で `PermissionRequest` hooks を使用している場合は、代わりに `PreToolUse` に切り替えます943* 非インタラクティブモード(`-p`)で `PermissionRequest` hooks を使用している場合は、代わりに `PreToolUse` に切り替えます

891 944 

892### Hook エラーが出力に表示される945<h3 id="hook-error-in-output">

946 Hook エラーが出力に表示される

947</h3>

893 948 

894トランスクリプトに「PreToolUse hook error: ...」というメッセージが表示されます。949トランスクリプトに「PreToolUse hook error: ...」というメッセージが表示されます。

895 950 


902* 「jq: command not found」が表示される場合は、`jq` をインストールするか、JSON 解析に Python/Node.js を使用します957* 「jq: command not found」が表示される場合は、`jq` をインストールするか、JSON 解析に Python/Node.js を使用します

903* スクリプトがまったく実行されていない場合は、実行可能にします:`chmod +x ./my-hook.sh`958* スクリプトがまったく実行されていない場合は、実行可能にします:`chmod +x ./my-hook.sh`

904 959 

905### `/hooks` に設定された hooks が表示されない960<h3 id="/hooks-shows-no-hooks-configured">

961 `/hooks` に設定された hooks が表示されない

962</h3>

906 963 

907設定ファイルを編集しましたが、hooks がメニューに表示されません。964設定ファイルを編集しましたが、hooks がメニューに表示されません。

908 965 


910* JSON が有効であることを確認します(末尾のコンマとコメントは許可されていません)967* JSON が有効であることを確認します(末尾のコンマとコメントは許可されていません)

911* 設定ファイルが正しい場所にあることを確認します:プロジェクト hooks の場合は `.claude/settings.json`、グローバル hooks の場合は `~/.claude/settings.json`968* 設定ファイルが正しい場所にあることを確認します:プロジェクト hooks の場合は `.claude/settings.json`、グローバル hooks の場合は `~/.claude/settings.json`

912 969 

913### Stop hook がブロック上限に達する970<h3 id="stop-hook-hits-the-block-cap">

971 Stop hook がブロック上限に達する

972</h3>

914 973 

915Claude は無限ループで作業を続け、停止する代わりに、Stop hook が連続して 8 回ブロックしたという警告でターンを終了します。974Claude は無限ループで作業を続け、停止する代わりに、Stop hook が連続して 8 回ブロックしたという警告でターンを終了します。

916 975 


927 986 

928Hook が収束するために 8 回以上の反復が正当に必要な場合は、[`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/ja/env-vars) で上限を引き上げます。987Hook が収束するために 8 回以上の反復が正当に必要な場合は、[`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/ja/env-vars) で上限を引き上げます。

929 988 

930### JSON 検証に失敗しました989<h3 id="json-validation-failed">

990 JSON 検証に失敗しました

991</h3>

931 992 

932Claude Code は hook スクリプトが有効な JSON を出力しているにもかかわらず、JSON 解析エラーを表示します。993Claude Code は hook スクリプトが有効な JSON を出力しているにもかかわらず、JSON 解析エラーを表示します。

933 994 


949 1010 

950`$-` 変数はシェルフラグを含み、`i` はインタラクティブを意味します。Hooks は非インタラクティブシェルで実行されるため、echo はスキップされます。1011`$-` 変数はシェルフラグを含み、`i` はインタラクティブを意味します。Hooks は非インタラクティブシェルで実行されるため、echo はスキップされます。

951 1012 

952### デバッグ技術1013<h3 id="debug-techniques">

1014 デバッグ技術

1015</h3>

953 1016 

954トランスクリプトビュー(`Ctrl+O` で切り替え)は、発火した各 hook の 1 行のサマリーを表示します:成功は無音、ブロッキングエラーは stderr を表示し、非ブロッキングエラーは `<hook name> hook error` 通知を表示し、その後 stderr の最初の行が続きます。1017トランスクリプトビュー(`Ctrl+O` で切り替え)は、発火した各 hook の 1 行のサマリーを表示します:成功は無音、ブロッキングエラーは stderr を表示し、非ブロッキングエラーは `<hook name> hook error` 通知を表示し、その後 stderr の最初の行が続きます。

955 1018 

956完全な実行詳細(どの hooks がマッチしたか、それらの終了コード、stdout、stderr など)については、デバッグログを読みます。`claude --debug-file /tmp/claude.log` で Claude Code を開始して既知のパスに書き込み、別のターミナルで `tail -f /tmp/claude.log` を実行します。そのフラグなしで開始した場合は、セッション中に `/debug` を実行してログを有効にし、ログパスを見つけます。1019完全な実行詳細(どの hooks がマッチしたか、それらの終了コード、stdout、stderr など)については、デバッグログを読みます。`claude --debug-file /tmp/claude.log` で Claude Code を開始して既知のパスに書き込み、別のターミナルで `tail -f /tmp/claude.log` を実行します。そのフラグなしで開始した場合は、セッション中に `/debug` を実行してログを有効にし、ログパスを見つけます。

957 1020 

958## 詳細を学ぶ1021<h2 id="learn-more">

1022 詳細を学ぶ

1023</h2>

959 1024 

960* [Hooks リファレンス](/ja/hooks):完全なイベントスキーマ、JSON 出力形式、非同期 hooks、および MCP ツール hooks1025* [Hooks リファレンス](/ja/hooks):完全なイベントスキーマ、JSON 出力形式、非同期 hooks、および MCP ツール hooks

961* [セキュリティに関する考慮事項](/ja/hooks#security-considerations):共有または本番環境に hooks をデプロイする前に確認してください1026* [セキュリティに関する考慮事項](/ja/hooks#security-considerations):共有または本番環境に hooks をデプロイする前に確認してください

Details

10 10 

11このガイドでは、コアアーキテクチャ、組み込み機能、および [Claude Code を効果的に使用するためのヒント](#work-effectively-with-claude-code) について説明します。ステップバイステップのウォークスルーについては、[一般的なワークフロー](/ja/common-workflows) を参照してください。スキル、MCP、フックなどの拡張機能については、[Claude Code を拡張する](/ja/features-overview) を参照してください。11このガイドでは、コアアーキテクチャ、組み込み機能、および [Claude Code を効果的に使用するためのヒント](#work-effectively-with-claude-code) について説明します。ステップバイステップのウォークスルーについては、[一般的なワークフロー](/ja/common-workflows) を参照してください。スキル、MCP、フックなどの拡張機能については、[Claude Code を拡張する](/ja/features-overview) を参照してください。

12 12 

13## agentic ループ13<h2 id="the-agentic-loop">

14 agentic ループ

15</h2>

14 16 

15Claude にタスクを与えると、3 つのフェーズを通じて作業します。**コンテキストの収集**、**アクションの実行**、**結果の検証** です。これらのフェーズは相互に融合します。Claude はツールを使用して、コードを理解するためのファイル検索、変更を加えるための編集、作業を確認するためのテスト実行など、様々な場面で活用します。17Claude にタスクを与えると、3 つのフェーズを通じて作業します。**コンテキストの収集**、**アクションの実行**、**結果の検証** です。これらのフェーズは相互に融合します。Claude はツールを使用して、コードを理解するためのファイル検索、変更を加えるための編集、作業を確認するためのテスト実行など、様々な場面で活用します。

16 18 


22 24 

23agentic ループは 2 つのコンポーネントによって駆動されます。推論する [モデル](#models) と、アクションを実行する [ツール](#tools) です。Claude Code は Claude の周りの **agentic ハーネス** として機能します。言語モデルを有能なコーディングエージェントに変えるツール、コンテキスト管理、実行環境を提供します。25agentic ループは 2 つのコンポーネントによって駆動されます。推論する [モデル](#models) と、アクションを実行する [ツール](#tools) です。Claude Code は Claude の周りの **agentic ハーネス** として機能します。言語モデルを有能なコーディングエージェントに変えるツール、コンテキスト管理、実行環境を提供します。

24 26 

25### モデル27<h3 id="models">

28 モデル

29</h3>

26 30 

27Claude Code は Claude モデルを使用して、コードを理解し、タスクについて推論します。Claude は任意の言語のコードを読み、コンポーネントがどのように接続されているかを理解し、目標を達成するために何を変更する必要があるかを判断できます。複雑なタスクの場合、作業をステップに分割し、実行し、学んだことに基づいて調整します。31Claude Code は Claude モデルを使用して、コードを理解し、タスクについて推論します。Claude は任意の言語のコードを読み、コンポーネントがどのように接続されているかを理解し、目標を達成するために何を変更する必要があるかを判断できます。複雑なタスクの場合、作業をステップに分割し、実行し、学んだことに基づいて調整します。

28 32 


30 34 

31このガイドで「Claude が選択する」または「Claude が決定する」と言う場合、モデルが推論を行っています。35このガイドで「Claude が選択する」または「Claude が決定する」と言う場合、モデルが推論を行っています。

32 36 

33### ツール37<h3 id="tools">

38 ツール

39</h3>

34 40 

35ツールは Claude Code を agentic にするものです。ツールがなければ、Claude はテキストで応答することしかできません。ツールがあれば、Claude はアクションを実行できます。コードを読み、ファイルを編集し、コマンドを実行し、ウェブを検索し、外部サービスと相互作用します。各ツール使用は情報を返し、ループにフィードバックされ、Claude の次の決定に情報を与えます。41ツールは Claude Code を agentic にするものです。ツールがなければ、Claude はテキストで応答することしかできません。ツールがあれば、Claude はアクションを実行できます。コードを読み、ファイルを編集し、コマンドを実行し、ウェブを検索し、外部サービスと相互作用します。各ツール使用は情報を返し、ループにフィードバックされ、Claude の次の決定に情報を与えます。

36 42 


59 65 

60**基本機能の拡張:** 組み込みツールが基盤です。[スキル](/ja/skills) で Claude が知ることを拡張し、[MCP](/ja/mcp) で外部サービスに接続し、[フック](/ja/hooks) でワークフローを自動化し、[subagent](/ja/sub-agents) にタスクをオフロードできます。これらの拡張は、コア agentic ループの上に層を形成します。ニーズに合った拡張を選択するためのガイダンスについては、[Claude Code を拡張する](/ja/features-overview) を参照してください。66**基本機能の拡張:** 組み込みツールが基盤です。[スキル](/ja/skills) で Claude が知ることを拡張し、[MCP](/ja/mcp) で外部サービスに接続し、[フック](/ja/hooks) でワークフローを自動化し、[subagent](/ja/sub-agents) にタスクをオフロードできます。これらの拡張は、コア agentic ループの上に層を形成します。ニーズに合った拡張を選択するためのガイダンスについては、[Claude Code を拡張する](/ja/features-overview) を参照してください。

61 67 

62## Claude がアクセスできるもの68<h2 id="what-claude-can-access">

69 Claude がアクセスできるもの

70</h2>

63 71 

64このガイドはターミナルに焦点を当てています。Claude Code は [VS Code](/ja/vs-code)、[JetBrains IDE](/ja/jetbrains)、その他の環境でも実行されます。72このガイドはターミナルに焦点を当てています。Claude Code は [VS Code](/ja/vs-code)、[JetBrains IDE](/ja/jetbrains)、その他の環境でも実行されます。

65 73 


74 82 

75Claude はプロジェクト全体を見ることができるため、プロジェクト全体で作業できます。「認証バグを修正して」と Claude に求めると、関連ファイルを検索し、複数のファイルを読んでコンテキストを理解し、それらを横断して調整された編集を行い、テストを実行して修正を検証し、求めればコミットします。これは現在のファイルのみを見るインラインコードアシスタントとは異なります。83Claude はプロジェクト全体を見ることができるため、プロジェクト全体で作業できます。「認証バグを修正して」と Claude に求めると、関連ファイルを検索し、複数のファイルを読んでコンテキストを理解し、それらを横断して調整された編集を行い、テストを実行して修正を検証し、求めればコミットします。これは現在のファイルのみを見るインラインコードアシスタントとは異なります。

76 84 

77## 環境とインターフェース85<h2 id="environments-and-interfaces">

86 環境とインターフェース

87</h2>

78 88 

79上記で説明した agentic ループ、ツール、機能は、Claude Code を使用するあらゆる場所で同じです。変わるのは、コードが実行される場所とそれとの相互作用方法です。89上記で説明した agentic ループ、ツール、機能は、Claude Code を使用するあらゆる場所で同じです。変わるのは、コードが実行される場所とそれとの相互作用方法です。

80 90 

81### 実行環境91<h3 id="execution-environments">

92 実行環境

93</h3>

82 94 

83Claude Code は 3 つの環境で実行され、各環境はコード実行場所に対して異なるトレードオフを持ちます。95Claude Code は 3 つの環境で実行され、各環境はコード実行場所に対して異なるトレードオフを持ちます。

84 96 


88| **クラウド** | Anthropic 管理 VM | タスクをオフロード、ローカルにないリポジトリで作業 |100| **クラウド** | Anthropic 管理 VM | タスクをオフロード、ローカルにないリポジトリで作業 |

89| **リモートコントロール** | マシン、ブラウザから制御 | ウェブ UI を使用しながらすべてをローカルに保つ |101| **リモートコントロール** | マシン、ブラウザから制御 | ウェブ UI を使用しながらすべてをローカルに保つ |

90 102 

91### インターフェース103<h3 id="interfaces">

104 インターフェース

105</h3>

92 106 

93Claude Code には、ターミナル、[デスクトップアプリ](/ja/desktop)、[IDE 拡張機能](/ja/vs-code)、[claude.ai/code](https://claude.ai/code)、[リモートコントロール](/ja/remote-control)、[Slack](/ja/slack)、[CI/CD パイプライン](/ja/github-actions) を通じてアクセスできます。インターフェースは Claude の表示方法と相互作用方法を決定しますが、基盤となる agentic ループは同じです。完全なリストについては、[Claude Code をどこでも使用する](/ja/overview#use-claude-code-everywhere) を参照してください。107Claude Code には、ターミナル、[デスクトップアプリ](/ja/desktop)、[IDE 拡張機能](/ja/vs-code)、[claude.ai/code](https://claude.ai/code)、[リモートコントロール](/ja/remote-control)、[Slack](/ja/slack)、[CI/CD パイプライン](/ja/github-actions) を通じてアクセスできます。インターフェースは Claude の表示方法と相互作用方法を決定しますが、基盤となる agentic ループは同じです。完全なリストについては、[Claude Code をどこでも使用する](/ja/overview#use-claude-code-everywhere) を参照してください。

94 108 

95## セッションで作業する109<h2 id="work-with-sessions">

110 セッションで作業する

111</h2>

96 112 

97Claude Code は作業中にローカルで会話を保存します。各メッセージ、ツール使用、結果は `~/.claude/projects/` の下のプレーンテキスト JSONL ファイルに書き込まれ、[巻き戻し](#undo-changes-with-checkpoints)、[再開、フォーク](#resume-or-fork-sessions) セッションが可能になります。Claude がコード変更を行う前に、影響を受けるファイルのスナップショットも作成されるため、必要に応じて元に戻すことができます。パス、保持期間、このデータをクリアする方法については、[`~/.claude` のアプリケーションデータ](/ja/claude-directory#application-data) を参照してください。113Claude Code は作業中にローカルで会話を保存します。各メッセージ、ツール使用、結果は `~/.claude/projects/` の下のプレーンテキスト JSONL ファイルに書き込まれ、[巻き戻し](#undo-changes-with-checkpoints)、[再開、フォーク](#resume-or-fork-sessions) セッションが可能になります。Claude がコード変更を行う前に、影響を受けるファイルのスナップショットも作成されるため、必要に応じて元に戻すことができます。パス、保持期間、このデータをクリアする方法については、[`~/.claude` のアプリケーションデータ](/ja/claude-directory#application-data) を参照してください。

98 114 

99**セッションは独立しています。** 各新規セッションは、前のセッションの会話履歴なしで、新しいコンテキストウィンドウで開始されます。Claude は [自動メモリ](/ja/memory#auto-memory) を使用してセッション間で学習を保持でき、[CLAUDE.md](/ja/memory) に独自の永続的な指示を追加できます。115**セッションは独立しています。** 各新規セッションは、前のセッションの会話履歴なしで、新しいコンテキストウィンドウで開始されます。Claude は [自動メモリ](/ja/memory#auto-memory) を使用してセッション間で学習を保持でき、[CLAUDE.md](/ja/memory) に独自の永続的な指示を追加できます。

100 116 

101### ブランチ間で作業する117<h3 id="work-across-branches">

118 ブランチ間で作業する

119</h3>

102 120 

103各 Claude Code 会話は、現在のディレクトリに結び付けられたセッションです。`/resume` ピッカーはデフォルトで現在の worktree からのセッションを表示し、キーボードショートカットを使用してリストを他の worktree またはプロジェクトに拡張できます。ピッカーショートカットの完全なリストと名前解決の仕組みについては、[セッションを管理する](/ja/sessions#use-the-session-picker) を参照してください。121各 Claude Code 会話は、現在のディレクトリに結び付けられたセッションです。`/resume` ピッカーはデフォルトで現在の worktree からのセッションを表示し、キーボードショートカットを使用してリストを他の worktree またはプロジェクトに拡張できます。ピッカーショートカットの完全なリストと名前解決の仕組みについては、[セッションを管理する](/ja/sessions#use-the-session-picker) を参照してください。

104 122 


106 124 

107セッションはディレクトリに結び付けられているため、[git worktree](/ja/worktrees) を使用して並列 Claude Code セッションを実行できます。これは個別のブランチ用に別のディレクトリを作成します。125セッションはディレクトリに結び付けられているため、[git worktree](/ja/worktrees) を使用して並列 Claude Code セッションを実行できます。これは個別のブランチ用に別のディレクトリを作成します。

108 126 

109### セッションを再開またはフォークする127<h3 id="resume-or-fork-sessions">

128 セッションを再開またはフォークする

129</h3>

110 130 

111`claude --continue` または `claude --resume` でセッションを再開すると、同じセッション ID を使用して中断したところから再開し、新しいメッセージを既存の会話に追加します。`--fork-session` または `/branch` でフォークすると、履歴を新しいセッション ID にコピーし、元のセッションは変更されません。131`claude --continue` または `claude --resume` でセッションを再開すると、同じセッション ID を使用して中断したところから再開し、新しいメッセージを既存の会話に追加します。`--fork-session` または `/branch` でフォークすると、履歴を新しいセッション ID にコピーし、元のセッションは変更されません。

112 132 


114 134 

115再開フラグ、`/resume` ピッカー、命名、同じセッションが 2 つのターミナルで開いている場合の動作については、[セッションを管理する](/ja/sessions) を参照してください。135再開フラグ、`/resume` ピッカー、命名、同じセッションが 2 つのターミナルで開いている場合の動作については、[セッションを管理する](/ja/sessions) を参照してください。

116 136 

117### コンテキストウィンドウ137<h3 id="the-context-window">

138 コンテキストウィンドウ

139</h3>

118 140 

119Claude のコンテキストウィンドウは、会話履歴、ファイルコンテンツ、コマンド出力、[CLAUDE.md](/ja/memory)、[自動メモリ](/ja/memory#auto-memory)、読み込まれたスキル、システム指示を保持します。作業を進めると、コンテキストが満杯になります。Claude は自動的にコンパクト化しますが、会話の早い段階からの指示が失われる可能性があります。永続的なルールを CLAUDE.md に入れ、`/context` を実行してスペースを使用しているものを確認してください。141Claude のコンテキストウィンドウは、会話履歴、ファイルコンテンツ、コマンド出力、[CLAUDE.md](/ja/memory)、[自動メモリ](/ja/memory#auto-memory)、読み込まれたスキル、システム指示を保持します。作業を進めると、コンテキストが満杯になります。Claude は自動的にコンパクト化しますが、会話の早い段階からの指示が失われる可能性があります。永続的なルールを CLAUDE.md に入れ、`/context` を実行してスペースを使用しているものを確認してください。

120 142 

121対話的なウォークスルーについては、[コンテキストウィンドウを探索する](/ja/context-window) を参照してください。143対話的なウォークスルーについては、[コンテキストウィンドウを探索する](/ja/context-window) を参照してください。

122 144 

123#### コンテキストが満杯になったとき145<h4 id="when-context-fills-up">

146 コンテキストが満杯になったとき

147</h4>

124 148 

125Claude Code はコンテキストウィンドウの制限に近づくと、自動的にコンテキストを管理します。古いツール出力をクリアし、必要に応じて会話を要約します。リクエストと主要なコードスニペットは保持されます。会話の早い段階からの詳細な指示は失われる可能性があります。会話履歴に依存するのではなく、永続的なルールを CLAUDE.md に入れてください。149Claude Code はコンテキストウィンドウの制限に近づくと、自動的にコンテキストを管理します。古いツール出力をクリアし、必要に応じて会話を要約します。リクエストと主要なコードスニペットは保持されます。会話の早い段階からの詳細な指示は失われる可能性があります。会話履歴に依存するのではなく、永続的なルールを CLAUDE.md に入れてください。

126 150 


130 154 

131`/context` を実行してスペースを使用しているものを確認してください。MCP ツール定義はデフォルトで遅延され、[ツール検索](/ja/mcp#scale-with-mcp-tool-search) を通じてオンデマンドで読み込まれるため、Claude が特定のツールを使用するまで、ツール名のみがコンテキストを消費します。`/mcp` を実行してサーバーごとのコストを確認してください。155`/context` を実行してスペースを使用しているものを確認してください。MCP ツール定義はデフォルトで遅延され、[ツール検索](/ja/mcp#scale-with-mcp-tool-search) を通じてオンデマンドで読み込まれるため、Claude が特定のツールを使用するまで、ツール名のみがコンテキストを消費します。`/mcp` を実行してサーバーごとのコストを確認してください。

132 156 

133#### スキルと subagent でコンテキストを管理する157<h4 id="manage-context-with-skills-and-subagents">

158 スキルと subagent でコンテキストを管理する

159</h4>

134 160 

135コンパクト化を超えて、他の機能を使用してコンテキストに読み込まれるものを制御できます。161コンパクト化を超えて、他の機能を使用してコンテキストに読み込まれるものを制御できます。

136 162 


140 166 

141各機能のコストについては [コンテキストコスト](/ja/features-overview#understand-context-costs) を参照し、コンテキスト管理のヒントについては [トークン使用量を削減する](/ja/costs#reduce-token-usage) を参照してください。167各機能のコストについては [コンテキストコスト](/ja/features-overview#understand-context-costs) を参照し、コンテキスト管理のヒントについては [トークン使用量を削減する](/ja/costs#reduce-token-usage) を参照してください。

142 168 

143## チェックポイントと権限で安全に保つ169<h2 id="stay-safe-with-checkpoints-and-permissions">

170 チェックポイントと権限で安全に保つ

171</h2>

144 172 

145Claude には 2 つの安全メカニズムがあります。チェックポイントはファイル変更を元に戻すことができ、権限は Claude ができることを制御します。173Claude には 2 つの安全メカニズムがあります。チェックポイントはファイル変更を元に戻すことができ、権限は Claude ができることを制御します。

146 174 

147### チェックポイントで変更を元に戻す175<h3 id="undo-changes-with-checkpoints">

176 チェックポイントで変更を元に戻す

177</h3>

148 178 

149**すべてのファイル編集は可逆的です。** Claude がファイルを編集する前に、現在のコンテンツのスナップショットを作成します。何か問題が発生した場合、`Esc` を 2 回押して前の状態に巻き戻すか、Claude に元に戻すよう求めてください。179**すべてのファイル編集は可逆的です。** Claude がファイルを編集する前に、現在のコンテンツのスナップショットを作成します。何か問題が発生した場合、`Esc` を 2 回押して前の状態に巻き戻すか、Claude に元に戻すよう求めてください。

150 180 

151チェックポイントはセッションに対してローカルで、git とは別です。ファイル変更のみをカバーします。リモートシステム(データベース、API、デプロイメント)に影響するアクションはチェックポイントできません。これが Claude が外部の副作用を持つコマンドを実行する前に求める理由です。181チェックポイントはセッションに対してローカルで、git とは別です。ファイル変更のみをカバーします。リモートシステム(データベース、API、デプロイメント)に影響するアクションはチェックポイントできません。これが Claude が外部の副作用を持つコマンドを実行する前に求める理由です。

152 182 

153### Claude ができることを制御する183<h3 id="control-what-claude-can-do">

184 Claude ができることを制御する

185</h3>

154 186 

155`Shift+Tab` を押して権限モードをサイクルします。187`Shift+Tab` を押して権限モードをサイクルします。

156 188 


163 195 

164***196***

165 197 

166## Claude Code を効果的に使用する198<h2 id="work-effectively-with-claude-code">

199 Claude Code を効果的に使用する

200</h2>

167 201 

168これらのヒントは Claude Code からより良い結果を得るのに役立ちます。202これらのヒントは Claude Code からより良い結果を得るのに役立ちます。

169 203 

170### Claude Code に助けを求める204<h3 id="ask-claude-code-for-help">

205 Claude Code に助けを求める

206</h3>

171 207 

172Claude Code はそれの使用方法を教えることができます。「フックをセットアップするにはどうすればいいですか?」や「CLAUDE.md を構造化する最良の方法は何ですか?」などの質問をすると、Claude が説明します。208Claude Code はそれの使用方法を教えることができます。「フックをセットアップするにはどうすればいいですか?」や「CLAUDE.md を構造化する最良の方法は何ですか?」などの質問をすると、Claude が説明します。

173 209 


177* `/agents` はカスタム subagent を設定するのに役立ちます213* `/agents` はカスタム subagent を設定するのに役立ちます

178* `/doctor` はインストールの一般的な問題を診断します214* `/doctor` はインストールの一般的な問題を診断します

179 215 

180### 会話です216<h3 id="it-s-a-conversation">

217 会話です

218</h3>

181 219 

182Claude Code は会話的です。完璧なプロンプトは必要ありません。何を望むかで始めて、その後改善します。220Claude Code は会話的です。完璧なプロンプトは必要ありません。何を望むかで始めて、その後改善します。

183 221 


195 233 

196最初の試みが正しくない場合、最初からやり直す必要はありません。反復します。234最初の試みが正しくない場合、最初からやり直す必要はありません。反復します。

197 235 

198#### 中断して操舵する236<h4 id="interrupt-and-steer">

237 中断して操舵する

238</h4>

199 239 

200任意の時点で Claude を中断できます。間違った道を進んでいる場合は、修正を入力して Enter を押すだけです。Claude は何をしているかを停止し、入力に基づいてアプローチを調整します完了を待つか、最初からやり直す必要はありません。240任意の時点で Claude をリダイレクトできますターンが終了するのを待つか、最初からやり直す必要はありません。

201 241 

202### 最初から具体的に242* **`Esc` を押す** と Claude が直ちに停止します。実行中のツール呼び出しがキャンセルされ、Claude は次の指示を待ちます。

243* **修正を入力して `Enter` を押す** と、実行中のツールを停止せずに送信できます。Claude は現在のアクションが完了するとすぐにそれを読み、次のステップを決定する前に調整します。

244 

245<h3 id="be-specific-upfront">

246 最初から具体的に

247</h3>

203 248 

204最初のプロンプトがより正確であるほど、必要な修正が少なくなります。特定のファイルを参照し、制約を述べ、例のパターンを指摘します。249最初のプロンプトがより正確であるほど、必要な修正が少なくなります。特定のファイルを参照し、制約を述べ、例のパターンを指摘します。

205 250 


211 256 

212曖昧なプロンプトは機能しますが、より多くの時間を操舵に費やします。上記のような具体的なプロンプトは、最初の試みで成功することが多いです。257曖昧なプロンプトは機能しますが、より多くの時間を操舵に費やします。上記のような具体的なプロンプトは、最初の試みで成功することが多いです。

213 258 

214### Claude が検証するものを与える259<h3 id="give-claude-something-to-verify-against">

260 Claude が検証するものを与える

261</h3>

215 262 

216Claude は独自の作業を確認できるときにより良いパフォーマンスを発揮します。テストケース、期待される UI のスクリーンショット、または望む出力を含めます。263Claude は独自の作業を確認できるときにより良いパフォーマンスを発揮します。テストケース、期待される UI のスクリーンショット、または望む出力を含めます。

217 264 


222 269 

223ビジュアル作業の場合、デザインのスクリーンショットを貼り付けて、Claude に実装と比較するよう求めます。270ビジュアル作業の場合、デザインのスクリーンショットを貼り付けて、Claude に実装と比較するよう求めます。

224 271 

225### 実装する前に探索する272<h3 id="explore-before-implementing">

273 実装する前に探索する

274</h3>

226 275 

227複雑な問題の場合、研究とコーディングを分離します。Plan Mode(`Shift+Tab` を 2 回)を使用してコードベースを最初に分析します。276複雑な問題の場合、研究とコーディングを分離します。Plan Mode(`Shift+Tab` を 2 回)を使用してコードベースを最初に分析します。

228 277 


233 282 

234プランを確認し、会話を通じて改善し、Claude に実装させます。このフェーズアプローチは、コードに直接ジャンプするよりも良い結果を生成します。283プランを確認し、会話を通じて改善し、Claude に実装させます。このフェーズアプローチは、コードに直接ジャンプするよりも良い結果を生成します。

235 284 

236### 指示するのではなく委譲する285<h3 id="delegate-don-t-dictate">

286 指示するのではなく委譲する

287</h3>

237 288 

238有能な同僚に委譲することを考えてください。コンテキストと方向を与え、Claude が詳細を理解することを信頼します。289有能な同僚に委譲することを考えてください。コンテキストと方向を与え、Claude が詳細を理解することを信頼します。

239 290 


244 295 

245どのファイルを読むか、どのコマンドを実行するかを指定する必要はありません。Claude がそれを理解します。296どのファイルを読むか、どのコマンドを実行するかを指定する必要はありません。Claude がそれを理解します。

246 297 

247## 次のステップ298<h2 id="what-s-next">

299 次のステップ

300</h2>

248 301 

249<CardGroup cols={2}>302<CardGroup cols={2}>

250 <Card title="機能で拡張する" icon="puzzle-piece" href="/ja/features-overview">303 <Card title="機能で拡張する" icon="puzzle-piece" href="/ja/features-overview">

Details

6 6 

7> Claude Code セッションのキーボードショートカット、入力モード、インタラクティブ機能の完全なリファレンス。7> Claude Code セッションのキーボードショートカット、入力モード、インタラクティブ機能の完全なリファレンス。

8 8 

9## キーボードショートカット9<h2 id="keyboard-shortcuts">

10 キーボードショートカット

11</h2>

10 12 

11<Note>13<Note>

12 キーボードショートカットはプラットフォームとターミナルによって異なる場合があります。[フルスクリーンレンダリング](/ja/fullscreen) では、トランスクリプトビューアで `?` を押すと、利用可能なショートカットが表示されます。14 キーボードショートカットはプラットフォームとターミナルによって異なる場合があります。[フルスクリーンレンダリング](/ja/fullscreen) では、トランスクリプトビューアで `?` を押すと、利用可能なショートカットが表示されます。


20 詳細は [ターミナル設定](/ja/terminal-config) を参照してください。22 詳細は [ターミナル設定](/ja/terminal-config) を参照してください。

21</Note>23</Note>

22 24 

23### 一般的なコントロール25<h3 id="general-controls">

26 一般的なコントロール

27</h3>

24 28 

25| ショートカット | 説明 | コンテキスト |29| ショートカット | 説明 | コンテキスト |

26| :----------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |30| :------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

27| `Ctrl+C` | 現在の入力または生成をキャンセル | 標準割り込み |31| `Ctrl+C` | 割り込み、または入力をクリア | 実行中の操作を割り込みます。何も実行されていない場合、最初の押下でプロンプト入力をクリアし、2 回目の押下で Claude Code を終了します |

28| `Ctrl+X Ctrl+K` | このセッション内のすべてのバックグラウンド [サブエージェント](/ja/sub-agents#run-subagents-in-foreground-or-background) を終了します。3 秒以内に 2 回押して確認 | サブエージェント制御 |32| `Ctrl+X Ctrl+K` | このセッション内のすべてのバックグラウンド [サブエージェント](/ja/sub-agents#run-subagents-in-foreground-or-background) を終了します。3 秒以内に 2 回押して確認 | サブエージェント制御 |

29| `Ctrl+D` | Claude Code セッションを終了 | EOF シグナル |33| `Ctrl+D` | Claude Code セッションを終了 | EOF シグナル |

30| `Ctrl+G` または `Ctrl+X Ctrl+E` | デフォルトテキストエディタで開く | プロンプトまたはカスタム応答をデフォルトテキストエディタで編集します。`Ctrl+X Ctrl+E` は readline ネイティブバインディングです。`/config` で「外部エディタで最後の応答を表示」をオンにすると、Claude の前の応答を `#` でコメント化されたコンテキストとしてプロンプトの上に追加します。保存時にコメントブロックは削除されます |34| `Ctrl+G` または `Ctrl+X Ctrl+E` | デフォルトテキストエディタで開く | プロンプトまたはカスタム応答をデフォルトテキストエディタで編集します。`Ctrl+X Ctrl+E` は readline ネイティブバインディングです。`/config` で「外部エディタで最後の応答を表示」をオンにすると、Claude の前の応答を `#` でコメント化されたコンテキストとしてプロンプトの上に追加します。保存時にコメントブロックは削除されます |

31| `Ctrl+L` | 画面を再描画 | 完全なターミナル再描画を強制します。入力と会話履歴は保持されます。ディスプレイが破損したり部分的に空白になった場合に、これを使用して復旧します |35| `Ctrl+L` | 画面を再描画 | 完全なターミナル再描画を強制します。入力と会話履歴は保持されます。ディスプレイが破損したり部分的に空白になった場合に、これを使用して復旧します |

32| `Ctrl+O` | トランスクリプトビューアを切り替え | 詳細なツール使用と実行を表示します。また MCP 呼び出しを展開します。デフォルトでは「Slack を 3 回呼び出し」のような 1 行に折りたたまれます |36| `Ctrl+O` | トランスクリプトビューアを切り替え | 詳細なツール使用と実行を表示します。また MCP 呼び出しを展開します。デフォルトでは「Slack を 3 回呼び出し」のような 1 行に折りたたまれます |

33| `Ctrl+R` | コマンド履歴を逆順検索 | 前のコマンドをインタラクティブに検索 |37| `Ctrl+R` | コマンド履歴を逆順検索 | 前のコマンドをインタラクティブに検索 |

34| `Ctrl+V` または `Cmd+V`(iTerm2)または `Alt+V`(Windows) | クリップボードから画像を貼り付け | カーソルに `[Image #N]` チップを挿入して、プロンプト内で位置的に参照できます |38| `Ctrl+V` または `Cmd+V`(iTerm2)または `Alt+V`(Windows および WSL) | クリップボードから画像を貼り付け | カーソルに `[Image #N]` チップを挿入して、プロンプト内で位置的に参照できます。WSL では、`Ctrl+V` と `Alt+V` の両方がバインドされています。ターミナルが `Ctrl+V` をインターセプトする場合は `Alt+V` を使用してください |

35| `Ctrl+B` | バックグラウンドで実行中のタスク | bash コマンドとエージェントをバックグラウンドで実行します。Tmux ユーザーは 2 回押す |39| `Ctrl+B` | バックグラウンドで実行中のタスク | bash コマンドとエージェントをバックグラウンドで実行します。Tmux ユーザーは 2 回押す |

36| `Ctrl+T` | タスクリストを切り替え | ターミナルステータス領域の [タスクリスト](#task-list) を表示または非表示 |40| `Ctrl+T` | タスクリストを切り替え | ターミナルステータス領域の [タスクリスト](#task-list) を表示または非表示 |

37| `Left/Right 矢印` | ダイアログタブを循環 | 権限ダイアログとメニューのタブ間を移動 |41| `Left/Right 矢印` | ダイアログタブを循環 | 権限ダイアログとメニューのタブ間を移動 |

38| `Up/Down 矢印` または `Ctrl+P`/`Ctrl+N` | カーソルを移動またはコマンド履歴を移動 | 複数行入力では、最初にカーソルをプロンプト内で移動します。カーソルが既に上端または下端にある場合、もう一度押すとコマンド履歴を移動します |42| `Up/Down 矢印` または `Ctrl+P`/`Ctrl+N` | カーソルを移動またはコマンド履歴を移動 | 複数行入力では、最初にカーソルをプロンプト内で移動します。カーソルが既に上端または下端にある場合、もう一度押すとコマンド履歴を移動します |

39| `Esc` | Claude を割り込み | 現在の応答またはツール呼び出しを途中で停止して、リダイレクトできます。Claude はこれまでの作業を保持します |43| `Esc` | Claude を割り込み | 現在の応答またはツール呼び出しを途中で停止して、リダイレクトできます。Claude はこれまでの作業を保持します |

40| `Esc` + `Esc` | 巻き戻しまたは要約 | コードおよび/または会話を前の時点に復元するか選択したメッセージから要約 |44| `Esc` + `Esc` | 入力ドラフトをクリア、または巻き戻し | プロンプト入力にテキストが含まれている場合、ダブル `Esc` でクリアし、ドラフトを履歴に保存して `Up` で呼び出せます。入力が空の場合、ダブル `Esc` で [巻き戻しメニュー](/ja/checkpointing) を開き前の時点からコードと会話を復元または要約できます |

41| `Shift+Tab` または `Alt+M`(一部の設定) | 権限モードを切り替え | `default`、`acceptEdits`、`plan`、および `auto` や `bypassPermissions` などの有効にしたモード間を循環します。[権限モード](/ja/permission-modes) を参照してください。 |45| `Shift+Tab` または `Alt+M`(一部の設定) | 権限モードを切り替え | `default`、`acceptEdits`、`plan`、および `auto` や `bypassPermissions` などの有効にしたモード間を循環します。[権限モード](/ja/permission-modes) を参照してください。 |

42| `Option+P`(macOS)または `Alt+P`(Windows/Linux) | モデルを切り替え | プロンプトをクリアせずにモデルを切り替え |46| `Option+P`(macOS)または `Alt+P`(Windows/Linux) | モデルを切り替え | プロンプトをクリアせずにモデルを切り替え |

43| `Option+T`(macOS)または `Alt+T`(Windows/Linux) | 拡張思考を切り替え | 拡張思考モードを有効または無効にします。{/* min-version: 2.1.132 */}v2.1.132 以降、このショートカットは macOS で Option を Meta として設定しなくても機能します |47| `Option+T`(macOS)または `Alt+T`(Windows/Linux) | 拡張思考を切り替え | 拡張思考モードを有効または無効にします。{/* min-version: 2.1.132 */}v2.1.132 以降、このショートカットは macOS で Option を Meta として設定しなくても機能します |

44| `Option+O`(macOS)または `Alt+O`(Windows/Linux) | 高速モードを切り替え | [高速モード](/ja/fast-mode) を有効または無効にします |48| `Option+O`(macOS)または `Alt+O`(Windows/Linux) | 高速モードを切り替え | [高速モード](/ja/fast-mode) を有効または無効にします |

45 49 

46### テキスト編集50<h3 id="text-editing">

51 テキスト編集

52</h3>

47 53 

48| ショートカット | 説明 | コンテキスト |54| ショートカット | 説明 | コンテキスト |

49| :------------------- | :-------------- | :------------------------------------------------------------------------------------------------------------------------ |55| :------------------- | :-------------- | :------------------------------------------------------------------------------------------------------------------------ |


57| `Alt+B` | カーソルを 1 単語戻す | 単語ナビゲーション。macOS では [Option を Meta として](#keyboard-shortcuts) 設定が必要 |63| `Alt+B` | カーソルを 1 単語戻す | 単語ナビゲーション。macOS では [Option を Meta として](#keyboard-shortcuts) 設定が必要 |

58| `Alt+F` | カーソルを 1 単語進める | 単語ナビゲーション。macOS では [Option を Meta として](#keyboard-shortcuts) 設定が必要 |64| `Alt+F` | カーソルを 1 単語進める | 単語ナビゲーション。macOS では [Option を Meta として](#keyboard-shortcuts) 設定が必要 |

59 65 

60### テーマと表示66<h3 id="theme-and-display">

67 テーマと表示

68</h3>

61 69 

62| ショートカット | 説明 | コンテキスト |70| ショートカット | 説明 | コンテキスト |

63| :------- | :------------------ | :---------------------------------------------------------- |71| :------- | :------------------ | :---------------------------------------------------------- |

64| `Ctrl+T` | コードブロックの構文強調表示を切り替え | `/theme` ピッカーメニュー内でのみ機能します。Claude の応答のコードが構文色付けを使用するかどうかを制御 |72| `Ctrl+T` | コードブロックの構文強調表示を切り替え | `/theme` ピッカーメニュー内でのみ機能します。Claude の応答のコードが構文色付けを使用するかどうかを制御 |

65 73 

66### 複数行入力74<h3 id="multiline-input">

75 複数行入力

76</h3>

67 77 

68| 方法 | ショートカット | コンテキスト |78| 方法 | ショートカット | コンテキスト |

69| :---------- | :------------- | :------------------------------------------------------------------------------------------- |79| :---------- | :------------- | :------------------------------------------------------------------------------------------- |

70| クイック脱出 | `\` + `Enter` | すべてのターミナルで機能 |80| クイック脱出 | `\` + `Enter` | すべてのターミナルで機能 |

71| Option キー | `Option+Enter` | macOS で [Option を Meta として](/ja/terminal-config#enable-option-key-shortcuts-on-macos) 有効にした後 |81| Option キー | `Option+Enter` | macOS で [Option を Meta として](/ja/terminal-config#enable-option-key-shortcuts-on-macos) 有効にした後 |

72| Shift+Enter | `Shift+Enter` | iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal でネイティブ |82| Shift+Enter | `Shift+Enter` | iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal、Windows Terminal でネイティブ |

73| 制御シーケンス | `Ctrl+J` | 設定なしで任意のターミナルで機能 |83| 制御シーケンス | `Ctrl+J` | 設定なしで任意のターミナルで機能 |

74| ペーストモード | 直接貼り付け | コードブロック、ログの場合 |84| ペーストモード | 直接貼り付け | コードブロック、ログの場合 |

75 85 

76<Tip>86<Tip>

77 Shift+Enter は設定なしで iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal で機能します。VS Code、Cursor、Windsurf、Alacritty、Zed の場合は、`/terminal-setup` を実行してバインディングをインストールしてください。87 Shift+Enter は設定なしで iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal、Windows Terminal で機能します。VS Code、Cursor、Devin Desktop、Alacritty、Zed の場合は、`/terminal-setup` を実行してバインディングをインストールしてください。

78</Tip>88</Tip>

79 89 

80### クイックコマンド90<h3 id="quick-commands">

91 クイックコマンド

92</h3>

81 93 

82| ショートカット | 説明 | 注記 |94| ショートカット | 説明 | 注記 |

83| :------ | :---------- | :---------------------------------------- |95| :------ | :---------- | :---------------------------------------- |


85| `!` で開始 | Bash モード | コマンドを直接実行し、実行出力をセッションに追加 |97| `!` で開始 | Bash モード | コマンドを直接実行し、実行出力をセッションに追加 |

86| `@` | ファイルパスメンション | ファイルパスオートコンプリートをトリガー |98| `@` | ファイルパスメンション | ファイルパスオートコンプリートをトリガー |

87 99 

88### トランスクリプトビューア100<h3 id="transcript-viewer">

101 トランスクリプトビューア

102</h3>

89 103 

90トランスクリプトビューアが開いている場合(`Ctrl+O` で切り替え)、これらのショートカットが利用可能です。[フルスクリーンレンダリング](/ja/fullscreen) では、`?` を押すとビューア内に完全なショートカットリファレンスパネルが表示されます。`Ctrl+E` は [`transcript:toggleShowAll`](/ja/keybindings) で再バインド可能です。104トランスクリプトビューアが開いている場合(`Ctrl+O` で切り替え)、これらのショートカットが利用可能です。[フルスクリーンレンダリング](/ja/fullscreen) では、`?` を押すとビューア内に完全なショートカットリファレンスパネルが表示されます。`Ctrl+E` は [`transcript:toggleShowAll`](/ja/keybindings) で再バインド可能です。

91 105 


98| `v` | 会話を一時ファイルに書き込み、`$VISUAL` または `$EDITOR` で開きます。[フルスクリーンレンダリング](/ja/fullscreen) が必要 |112| `v` | 会話を一時ファイルに書き込み、`$VISUAL` または `$EDITOR` で開きます。[フルスクリーンレンダリング](/ja/fullscreen) が必要 |

99| `q`、`Ctrl+C`、`Esc` | トランスクリプトビューを終了します。すべて [`transcript:exit`](/ja/keybindings) で再バインド可能です |113| `q`、`Ctrl+C`、`Esc` | トランスクリプトビューを終了します。すべて [`transcript:exit`](/ja/keybindings) で再バインド可能です |

100 114 

101### 音声入力115<h3 id="voice-input">

116 音声入力

117</h3>

102 118 

103| ショートカット | 説明 | 注記 |119| ショートカット | 説明 | 注記 |

104| :------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |120| :------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |

105| `Space` を押し続ける | 音声ディクテーション | [音声ディクテーション](/ja/voice-dictation) を有効にする必要があります。押し続けて記録するか、`/voice tap` を実行してタップトグルを使用します。[再バインド可能](/ja/voice-dictation#rebind-the-dictation-key) |121| `Space` を押し続ける | 音声ディクテーション | [音声ディクテーション](/ja/voice-dictation) を有効にする必要があります。押し続けて記録するか、`/voice tap` を実行してタップトグルを使用します。[再バインド可能](/ja/voice-dictation#rebind-the-dictation-key) |

106 122 

107## コマンド123<h2 id="commands">

124 コマンド

125</h2>

108 126 

109Claude Code で `/` を入力すると、利用可能なすべてのコマンドが表示されます。または `/` の後に任意の文字を入力してフィルタリングできます。`/` メニューには、組み込みコマンド、バンドルされたユーザー作成の [スキル](/ja/skills)、および [プラグイン](/ja/plugins) と [MCP サーバー](/ja/mcp#use-mcp-prompts-as-commands) によって提供されるコマンドが表示されます。すべてのコマンドがすべてのユーザーに表示されるわけではありません。プラットフォームまたはプランに依存するものもあるためです。127Claude Code で `/` を入力すると、利用可能なすべてのコマンドが表示されます。または `/` の後に任意の文字を入力してフィルタリングできます。`/` メニューには、組み込みコマンド、バンドルされたユーザー作成の [スキル](/ja/skills)、および [プラグイン](/ja/plugins) と [MCP サーバー](/ja/mcp#use-mcp-prompts-as-commands) によって提供されるコマンドが表示されます。すべてのコマンドがすべてのユーザーに表示されるわけではありません。プラットフォームまたはプランに依存するものもあるためです。

110 128 

111Claude Code に含まれるコマンドの完全なリストについては、[コマンドリファレンス](/ja/commands) を参照してください。129Claude Code に含まれるコマンドの完全なリストについては、[コマンドリファレンス](/ja/commands) を参照してください。

112 130 

113## Vim エディタモード131<h2 id="vim-editor-mode">

132 Vim エディタモード

133</h2>

114 134 

115`/config` → エディタモードで Vim スタイルの編集を有効にします。135`/config` → エディタモードで Vim スタイルの編集を有効にします。

116 136 

117### モード切り替え137<h3 id="mode-switching">

138 モード切り替え

139</h3>

118 140 

119| コマンド | アクション | モードから |141| コマンド | アクション | モードから |

120| :---- | :-------------- | :------------ |142| :---- | :-------------- | :------------ |


128| `v` | 文字単位のビジュアル選択を開始 | NORMAL |150| `v` | 文字単位のビジュアル選択を開始 | NORMAL |

129| `V` | 行単位のビジュアル選択を開始 | NORMAL |151| `V` | 行単位のビジュアル選択を開始 | NORMAL |

130 152 

131### ナビゲーション(NORMAL モード)153<h3 id="navigation-normal-mode">

154 ナビゲーション(NORMAL モード)

155</h3>

132 156 

133| コマンド | アクション |157| コマンド | アクション |

134| :-------------- | :------------------------ |158| :-------------- | :------------------------ |


148| `T{char}` | 前の文字の出現位置の直後にジャンプ |172| `T{char}` | 前の文字の出現位置の直後にジャンプ |

149| `;` | 最後の f/F/t/T モーションを繰り返す |173| `;` | 最後の f/F/t/T モーションを繰り返す |

150| `,` | 最後の f/F/t/T モーションを逆順で繰り返す |174| `,` | 最後の f/F/t/T モーションを逆順で繰り返す |

175| `/` | リバース履歴検索を開く、`Ctrl+R` と同じ |

151 176 

152<Note>177<Note>

153 Vim ノーマルモードでは、カーソルが入力の開始または終了にあり、それ以上移動できない場合、`j`/`k` と矢印キーはコマンド履歴を移動します。178 Vim ノーマルモードでは、カーソルが入力の開始または終了にあり、それ以上移動できない場合、`j`/`k` と矢印キーはコマンド履歴を移動します。

154</Note>179</Note>

155 180 

156### 編集(NORMAL モード)181<h3 id="editing-normal-mode">

182 編集(NORMAL モード)

183</h3>

157 184 

158| コマンド | アクション |185| コマンド | アクション |

159| :------------- | :-------------- |186| :------------- | :-------------- |


174| `u` | 元に戻す |201| `u` | 元に戻す |

175| `.` | 最後の変更を繰り返す |202| `.` | 最後の変更を繰り返す |

176 203 

177### テキストオブジェクト(NORMAL モード)204<h3 id="text-objects-normal-mode">

205 テキストオブジェクト(NORMAL モード)

206</h3>

178 207 

179テキストオブジェクトは `d`、`c`、`y` などのオペレータで機能します:208テキストオブジェクトは `d`、`c`、`y` などのオペレータで機能します:

180 209 


188| `i[`/`a[` | 内部/周囲の角括弧 |217| `i[`/`a[` | 内部/周囲の角括弧 |

189| `i{`/`a{` | 内部/周囲の波括弧 |218| `i{`/`a{` | 内部/周囲の波括弧 |

190 219 

191### ビジュアルモード220<h3 id="visual-mode">

221 ビジュアルモード

222</h3>

192 223 

193文字単位の選択は `v` を、行単位の選択は `V` を押します。モーションは選択を拡張し、オペレータはそれに直接作用します。224文字単位の選択は `v` を、行単位の選択は `V` を押します。モーションは選択を拡張し、オペレータはそれに直接作用します。

194 225 


208 239 

209`Ctrl+V` を使用したブロック単位のビジュアルモードはサポートされていません。240`Ctrl+V` を使用したブロック単位のビジュアルモードはサポートされていません。

210 241 

211## コマンド履歴242<h2 id="command-history">

243 コマンド履歴

244</h2>

212 245 

213Claude Code は現在のセッションのコマンド履歴を保持します:246Claude Code は現在のセッションのコマンド履歴を保持します:

214 247 

215* 入力履歴は作業ディレクトリごとに保存されます248* 入力履歴は作業ディレクトリごとに保存されます

216* `/clear` を実行して新しいセッションを開始すると、入力履歴がリセットされます。前のセッションの会話は保持され、再開できます。249* `/clear` を実行して新しいセッションを開始すると、入力履歴がリセットされます。前のセッションの会話は保持され、再開できます。

250* 同じプロンプトを 2 回連続で送信すると、1 つの履歴エントリが記録されるため、Up キーを押すと前の異なるプロンプトにステップします

217* Up/Down 矢印を使用して移動します(上記のキーボードショートカットを参照)251* Up/Down 矢印を使用して移動します(上記のキーボードショートカットを参照)

218* **注記**: 履歴展開(`!`)はデフォルトで無効です252* **注記**: 履歴展開(`!`)はデフォルトで無効です

219 253 

220### Ctrl+R での逆順検索254<h3 id="reverse-search-with-ctrl-r">

255 Ctrl+R での逆順検索

256</h3>

221 257 

222`Ctrl+R` を押してコマンド履歴をインタラクティブに検索します:258`Ctrl+R` を押してコマンド履歴をインタラクティブに検索します:

223 259 


234 270 

235検索は検索用語が強調表示されたマッチングコマンドを表示するため、前の入力を見つけて再利用できます。271検索は検索用語が強調表示されたマッチングコマンドを表示するため、前の入力を見つけて再利用できます。

236 272 

237## バックグラウンド bash コマンド273<h2 id="background-bash-commands">

274 バックグラウンド bash コマンド

275</h2>

238 276 

239Claude Code はバックグラウンドで bash コマンドを実行することをサポートしており、長時間実行されるプロセスが実行されている間も作業を続けることができます。277Claude Code はバックグラウンドで bash コマンドを実行することをサポートしており、長時間実行されるプロセスが実行されている間も作業を続けることができます。

240 278 

241### バックグラウンド実行の仕組み279<h3 id="how-backgrounding-works">

280 バックグラウンド実行の仕組み

281</h3>

242 282 

243Claude Code がコマンドをバックグラウンドで実行すると、コマンドを非同期で実行し、すぐにバックグラウンドタスク ID を返します。Claude Code は、コマンドがバックグラウンドで実行され続けている間、新しいプロンプトに応答できます。283Claude Code がコマンドをバックグラウンドで実行すると、コマンドを非同期で実行し、すぐにバックグラウンドタスク ID を返します。Claude Code は、コマンドがバックグラウンドで実行され続けている間、新しいプロンプトに応答できます。

244 284 


264* 開発サーバー304* 開発サーバー

265* 長時間実行プロセス(docker、terraform)305* 長時間実行プロセス(docker、terraform)

266 306 

267### `!` プレフィックス付き Bash モード307<h3 id="shell-mode-with-prefix">

308 `!` プレフィックス付き Bash モード

309</h3>

268 310 

269入力に `!` をプレフィックスして、Claude を経由せずに bash コマンドを直接実行します:311入力に `!` をプレフィックスして、Claude を経由せずに bash コマンドを直接実行します:

270 312 


286 328 

287これは会話コンテキストを保持しながら、クイックシェル操作に便利です。329これは会話コンテキストを保持しながら、クイックシェル操作に便利です。

288 330 

289## プロンプト提案331<h2 id="prompt-suggestions">

332 プロンプト提案

333</h2>

290 334 

291セッションを最初に開くと、グレーアウトされた例コマンドがプロンプト入力に表示され、開始するのに役立ちます。Claude Code はプロジェクトの git 履歴からこれを選択するため、最近作業しているファイルが反映されます。335セッションを最初に開くと、グレーアウトされた例コマンドがプロンプト入力に表示され、開始するのに役立ちます。Claude Code はプロジェクトの git 履歴からこれを選択するため、最近作業しているファイルが反映されます。

292 336 


297 341 

298提案は、親会話のプロンプトキャッシュを再利用するバックグラウンドリクエストとして実行されるため、追加コストは最小限です。Claude Code はキャッシュがコールドの場合、不要なコストを避けるために提案生成をスキップします。342提案は、親会話のプロンプトキャッシュを再利用するバックグラウンドリクエストとして実行されるため、追加コストは最小限です。Claude Code はキャッシュがコールドの場合、不要なコストを避けるために提案生成をスキップします。

299 343 

300提案は会話の最初のターン後、非インタラクティブモードおよびプランモードで自動的にスキップされます344提案は会話の最初のターン後、プランモードで自動的にスキップされます。プリントモードではデフォルトでオフになっています。[`--prompt-suggestions`](/ja/cli-reference#cli-flags) を `--output-format stream-json --verbose` と共に渡して各ターン後に `prompt_suggestion` メッセージを出力する代わりに使用します

301 345 

302プロンプト提案を完全に無効にするには、環境変数を設定するか、`/config` で設定を切り替えます:346プロンプト提案を完全に無効にするには、環境変数を設定するか、`/config` で設定を切り替えます:

303 347 


305export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false349export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false

306```350```

307 351 

308## /btw でのサイドクエスチョン352<h2 id="side-questions-with-/btw">

353 /btw でのサイドクエスチョン

354</h2>

309 355 

310`/btw` を使用して、会話履歴に追加せずに現在の作業に関する簡単な質問をします。これは、高速な回答が必要だが、メインコンテキストを乱したくない、または Claude を長時間実行中のタスクから脱線させたくない場合に便利です。356`/btw` を使用して、会話履歴に追加せずに現在の作業に関する簡単な質問をします。これは、高速な回答が必要だが、メインコンテキストを乱したくない、または Claude を長時間実行中のタスクから脱線させたくない場合に便利です。

311 357 


317 363 

318* **Claude が作業中に利用可能**: Claude が応答を処理している間でも `/btw` を実行できます。サイドクエスチョンは独立して実行され、メインターンを中断しません。364* **Claude が作業中に利用可能**: Claude が応答を処理している間でも `/btw` を実行できます。サイドクエスチョンは独立して実行され、メインターンを中断しません。

319* **ツールアクセスなし**: サイドクエスチョンは既にコンテキストにあるものからのみ回答します。Claude はサイドクエスチョンに回答する際、ファイルを読み取ったり、コマンドを実行したり、検索したりできません。365* **ツールアクセスなし**: サイドクエスチョンは既にコンテキストにあるものからのみ回答します。Claude はサイドクエスチョンに回答する際、ファイルを読み取ったり、コマンドを実行したり、検索したりできません。

320* **単一応答**: フォローアップターンはありませんバックアンドフォースが必要な場合は通常のプロンプトを使用してください366* **単一応答**: オーバーレイにはフォローアップターンはありませんスレッドを続行するには`f` でそれを独自のセッションにフォークします

321* **低コスト**: サイドクエスチョンは親会話のプロンプトキャッシュを再利用するため、追加コストは最小限です。367* **低コスト**: サイドクエスチョンは親会話のプロンプトキャッシュを再利用するため、追加コストは最小限です。

322 368 

323**Space****Enter**または **Escape** を押して回答を却下しプロンプトに戻ります369回答が表示されたらオーバーレイは以下のキーを受け入れます。同じセッションからの以前のサイドクエスチョンは現在の回答の上に薄い色のリストとして表示されます。これらは会話履歴から外れていますがクリアするまでオーバーレイに表示されたままです

370 

371| キー | アクション |

372| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |

373| `Space`、`Enter`、`Escape` | 回答を却下してプロンプトに戻ります |

374| `Up` / `Down` | 回答をスクロールします |

375| `f` | 新しいセッションにフォークします。フォークは親会話にこの質問と回答を実際のトランスクリプトターンとして継承するため、完全なツールアクセスで続行できます。元のセッションは [`/resume`](/ja/commands) の下に保持されます。ローカルセッションでのみ利用可能 |

376| `x` | 現在の回答の上に表示されている以前の `/btw` 交換のリストをクリアします |

324 377 

325`/btw` は [subagent](/ja/sub-agents) の逆です:完全な会話を見ることができますがツールがない一方、subagent は完全なツールを持っていますが空のコンテキストで開始します。このセッションから Claude が既に知っていることについて質問するには `/btw` を使用します。新しいことを見つけるには subagent を使用します。378`/btw` は [subagent](/ja/sub-agents) の逆です:完全な会話を見ることができますがツールがない一方、subagent は完全なツールを持っていますが空のコンテキストで開始します。このセッションから Claude が既に知っていることについて質問するには `/btw` を使用します。新しいことを見つけるには subagent を使用します。

326 379 

327## タスクリスト380<h2 id="task-list">

381 タスクリスト

382</h2>

328 383 

329複雑なマルチステップ作業に取り組む場合、Claude はタスクリストを作成して進捗を追跡します。タスクはターミナルのステータス領域に表示され、保留中、進行中、または完了を示すインジケータが表示されます。384複雑なマルチステップ作業に取り組む場合、Claude はタスクリストを作成して進捗を追跡します。タスクはターミナルのステータス領域に表示され、保留中、進行中、または完了を示すインジケータが表示されます。

330 385 


333* タスクはコンテキストコンパクション全体で保持され、Claude がより大きなプロジェクトで整理された状態を保つのに役立ちます388* タスクはコンテキストコンパクション全体で保持され、Claude がより大きなプロジェクトで整理された状態を保つのに役立ちます

334* タスクリストをセッション全体で共有するには、`CLAUDE_CODE_TASK_LIST_ID` を `~/.claude/tasks/` の名前付きディレクトリに使用するように設定します:`CLAUDE_CODE_TASK_LIST_ID=my-project claude`389* タスクリストをセッション全体で共有するには、`CLAUDE_CODE_TASK_LIST_ID` を `~/.claude/tasks/` の名前付きディレクトリに使用するように設定します:`CLAUDE_CODE_TASK_LIST_ID=my-project claude`

335 390 

336## セッション要約391<h2 id="session-recap">

392 セッション要約

393</h2>

337 394 

338ターミナルから離れた後に戻ると、Claude Code はセッションで今までに何が起こったかの 1 行の要約を表示します。要約は、最後に完了したターン以降少なくとも 3 分が経過し、ターミナルがフォーカスされていない場合、バックグラウンドで 1 回生成されるため、切り替え時に準備ができています。要約はセッションに少なくとも 3 ターンがある場合にのみ表示され、連続して 2 回表示されることはありません。395ターミナルから離れた後に戻ると、Claude Code はセッションで今までに何が起こったかの 1 行の要約を表示します。要約は、最後に完了したターン以降少なくとも 3 分が経過し、ターミナルがフォーカスされていない場合、バックグラウンドで 1 回生成されるため、切り替え時に準備ができています。要約はセッションに少なくとも 3 ターンがある場合にのみ表示され、連続して 2 回表示されることはありません。

339 396 


341 398 

342セッション要約はすべてのプランとプロバイダーでデフォルトでオンです。要約は非インタラクティブモードでは常にスキップされます。399セッション要約はすべてのプランとプロバイダーでデフォルトでオンです。要約は非インタラクティブモードでは常にスキップされます。

343 400 

344## PR レビューステータス401<h2 id="pr-review-status">

402 PR レビューステータス

403</h2>

345 404 

346オープンなプルリクエストを持つブランチで作業する場合、Claude Code はフッターにクリック可能な PR リンクを表示します(例:「PR #446」)。リンクには、レビュー状態を示す色付きの下線があります:405オープンなプルリクエストを持つブランチで作業する場合、Claude Code はフッターにクリック可能な PR リンクを表示します(例:「PR #446」)。リンクには、レビュー状態を示す色付きの下線があります:

347 406 


349* 黄:レビュー保留中408* 黄:レビュー保留中

350* 赤:変更をリクエスト409* 赤:変更をリクエスト

351* グレー:ドラフト410* グレー:ドラフト

352* 紫:マージ済み

353 411 

354`Cmd+click`(Mac)または `Ctrl+click`(Windows/Linux)でリンクをクリックして、プルリクエストをブラウザで開きます。ステータスは 60 秒ごとに自動的に更新されます412プルリクエストがマージされるか閉じられると、バッジは消えます。`Cmd+click`(Mac)または `Ctrl+click`(Windows/Linux)でリンクをクリックして、プルリクエストをブラウザで開きます。ステータスは 60 秒ごとに更新され、セッション内で `gh pr` または `git push` コマンドが実行された直後に即座に更新されます

355 413 

356<Note>414<Note>

357 PR ステータスには、`gh` CLI がインストールされ、認証されている必要があります(`gh auth login`)。415 PR ステータスには、`gh` CLI がインストールされ、認証されている必要があります(`gh auth login`)。

358</Note>416</Note>

359 417 

360## 関連項目418<h2 id="see-also">

419 関連項目

420</h2>

361 421 

362* [スキル](/ja/skills) - カスタムプロンプトとワークフロー422* [スキル](/ja/skills) - カスタムプロンプトとワークフロー

363* [チェックポイント](/ja/checkpointing) - Claude の編集を巻き戻し、前の状態を復元423* [チェックポイント](/ja/checkpointing) - Claude の編集を巻き戻し、前の状態を復元

jetbrains.md +1 −1

Details

23 23 

24* **クイック起動**: `Cmd+Esc`(Mac)または `Ctrl+Esc`(Windows/Linux)を使用してエディタから Claude Code を直接開くか、UI の Claude Code ボタンをクリックします24* **クイック起動**: `Cmd+Esc`(Mac)または `Ctrl+Esc`(Windows/Linux)を使用してエディタから Claude Code を直接開くか、UI の Claude Code ボタンをクリックします

25* **Diff ビューイング**: コードの変更をターミナルではなく IDE の diff ビューアに直接表示できます25* **Diff ビューイング**: コードの変更をターミナルではなく IDE の diff ビューアに直接表示できます

26* **選択コンテキスト**: IDE の現在の選択またはタブが Claude Code と自動的に共有されます26* **選択コンテキスト**: IDE の現在の選択またはタブが Claude Code と自動的に共有されます。[`Read` 拒否ルール](/ja/permissions#read-and-edit)は、一致するファイルのこの共有をブロックします

27* **ファイル参照ショートカット**: `Cmd+Option+K`(Mac)または `Alt+Ctrl+K`(Linux/Windows)を使用して `@src/auth.ts#L1-99` などのファイル参照を挿入します27* **ファイル参照ショートカット**: `Cmd+Option+K`(Mac)または `Alt+Ctrl+K`(Linux/Windows)を使用して `@src/auth.ts#L1-99` などのファイル参照を挿入します

28* **診断共有**: IDE からの診断エラー(lint、構文エラーなど)が作業中に Claude と自動的に共有されます28* **診断共有**: IDE からの診断エラー(lint、構文エラーなど)が作業中に Claude と自動的に共有されます

29 29 

keybindings.md +128 −43

Details

12 12 

13Claude Code はカスタマイズ可能なキーボードショートカットをサポートしています。`/keybindings` を実行して、`~/.claude/keybindings.json` に設定ファイルを作成または開きます。13Claude Code はカスタマイズ可能なキーボードショートカットをサポートしています。`/keybindings` を実行して、`~/.claude/keybindings.json` に設定ファイルを作成または開きます。

14 14 

15## 設定ファイル15<h2 id="configuration-file">

16 設定ファイル

17</h2>

16 18 

17キーバインディング設定ファイルは、`bindings` 配列を持つオブジェクトです。各ブロックはコンテキストとキーストロークからアクションへのマップを指定します。19キーバインディング設定ファイルは、`bindings` 配列を持つオブジェクトです。各ブロックはコンテキストとキーストロークからアクションへのマップを指定します。

18 20 


42}44}

43```45```

44 46 

45## コンテキスト47<h2 id="contexts">

48 コンテキスト

49</h2>

46 50 

47各バインディングブロックは、バインディングが適用される**コンテキスト**を指定します。51各バインディングブロックは、バインディングが適用される**コンテキスト**を指定します。

48 52 


69| `Scroll` | 会話スクロールとフルスクリーンモードでのテキスト選択 |73| `Scroll` | 会話スクロールとフルスクリーンモードでのテキスト選択 |

70| `Doctor` | `/doctor` 診断スクリーン |74| `Doctor` | `/doctor` 診断スクリーン |

71 75 

72## 利用可能なアクション76<h2 id="available-actions">

77 利用可能なアクション

78</h2>

73 79 

74アクションは `namespace:action` 形式に従います。例えば、`chat:submit` はメッセージを送信し、`app:toggleTodos` はタスクリストを表示します。各コンテキストには特定のアクションが利用可能です。80アクションは `namespace:action` 形式に従います。例えば、`chat:submit` はメッセージを送信し、`app:toggleTodos` はタスクリストを表示します。各コンテキストには特定のアクションが利用可能です。

75 81 

76### アプリアクション82<h3 id="app-actions">

83 アプリアクション

84</h3>

77 85 

78`Global` コンテキストで利用可能なアクション:86`Global` コンテキストで利用可能なアクション:

79 87 


85| `app:toggleTodos` | Ctrl+T | タスクリストの表示を切り替え |93| `app:toggleTodos` | Ctrl+T | タスクリストの表示を切り替え |

86| `app:toggleTranscript` | Ctrl+O | 詳細トランスクリプトの表示を切り替え |94| `app:toggleTranscript` | Ctrl+O | 詳細トランスクリプトの表示を切り替え |

87 95 

88### 履歴アクション96<h3 id="history-actions">

97 履歴アクション

98</h3>

89 99 

90コマンド履歴をナビゲートするためのアクション:100コマンド履歴をナビゲートするためのアクション:

91 101 


95| `history:previous` | Up | 前の履歴項目 |105| `history:previous` | Up | 前の履歴項目 |

96| `history:next` | Down | 次の履歴項目 |106| `history:next` | Down | 次の履歴項目 |

97 107 

98### チャットアクション108<h3 id="chat-actions">

109 チャットアクション

110</h3>

99 111 

100`Chat` コンテキストで利用可能なアクション:112`Chat` コンテキストで利用可能なアクション:

101 113 


114| `chat:undo` | Ctrl+\_、Ctrl+Shift+- | 最後のアクションを元に戻す |126| `chat:undo` | Ctrl+\_、Ctrl+Shift+- | 最後のアクションを元に戻す |

115| `chat:externalEditor` | Ctrl+G、Ctrl+X Ctrl+E | 外部エディタで開く |127| `chat:externalEditor` | Ctrl+G、Ctrl+X Ctrl+E | 外部エディタで開く |

116| `chat:stash` | Ctrl+S | 現在のプロンプトを保存 |128| `chat:stash` | Ctrl+S | 現在のプロンプトを保存 |

117| `chat:imagePaste` | Ctrl+V(Windows では Alt+V) | 画像を貼り付け |129| `chat:imagePaste` | Ctrl+V(Windows では Alt+V) | クリップボードから画像を貼り付けます。WSL では、両方のショートカットがデフォルトでバインドされています |

118 130 

119\*VT モードなし(Node \<24.2.0/\<22.17.0、Bun \<1.2.23)の Windows では、デフォルトは Meta+M です。131\*VT モードなし(Node \<24.2.0/\<22.17.0、Bun \<1.2.23)の Windows では、デフォルトは Meta+M です。

120 132 

121### オートコンプリートアクション133<h3 id="autocomplete-actions">

134 オートコンプリートアクション

135</h3>

122 136 

123`Autocomplete` コンテキストで利用可能なアクション:137`Autocomplete` コンテキストで利用可能なアクション:

124 138 


129| `autocomplete:previous` | Up | 前の提案 |143| `autocomplete:previous` | Up | 前の提案 |

130| `autocomplete:next` | Down | 次の提案 |144| `autocomplete:next` | Down | 次の提案 |

131 145 

132### 確認アクション146<h3 id="confirmation-actions">

147 確認アクション

148</h3>

133 149 

134`Confirmation` コンテキストで利用可能なアクション:150`Confirmation` コンテキストで利用可能なアクション:

135 151 


145| `confirm:cycleMode` | Shift+Tab | 権限モードをサイクル |161| `confirm:cycleMode` | Shift+Tab | 権限モードをサイクル |

146| `confirm:toggleExplanation` | Ctrl+E | 権限説明を切り替え |162| `confirm:toggleExplanation` | Ctrl+E | 権限説明を切り替え |

147 163 

148### 権限アクション164<h3 id="permission-actions">

165 権限アクション

166</h3>

149 167 

150権限ダイアログの `Confirmation` コンテキストで利用可能なアクション:168権限ダイアログの `Confirmation` コンテキストで利用可能なアクション:

151 169 

152| アクション | デフォルト | 説明 |170| アクション | デフォルト | 説明 |

153| :----------------------- | :----- | :------------ |171| :----------------------- | :------- | :------------------------------------------------------------------------------- |

154| `permission:toggleDebug` | Ctrl+D | 権限デバッグ情報を切り替え |172| `permission:toggleDebug` | (アンバインド) | 権限デバッグ情報を切り替えます。Ctrl+D の以前のデフォルトは v2.1.146 で削除されました。これは `app:exit` をシャドウしていたためです |

155 173 

156### トランスクリプトアクション174<h3 id="transcript-actions">

175 トランスクリプトアクション

176</h3>

157 177 

158`Transcript` コンテキストで利用可能なアクション:178`Transcript` コンテキストで利用可能なアクション:

159 179 


162| `transcript:toggleShowAll` | Ctrl+E | すべてのコンテンツの表示を切り替え |182| `transcript:toggleShowAll` | Ctrl+E | すべてのコンテンツの表示を切り替え |

163| `transcript:exit` | q、Ctrl+C、Escape | トランスクリプトビューを終了 |183| `transcript:exit` | q、Ctrl+C、Escape | トランスクリプトビューを終了 |

164 184 

165### 履歴検索アクション185<h3 id="history-search-actions">

186 履歴検索アクション

187</h3>

166 188 

167`HistorySearch` コンテキストで利用可能なアクション:189`HistorySearch` コンテキストで利用可能なアクション:

168 190 


174| `historySearch:execute` | Enter | 選択したコマンドを実行 |196| `historySearch:execute` | Enter | 選択したコマンドを実行 |

175| `historySearch:cycleScope` | Ctrl+S | スコープをサイクル:セッション、プロジェクト、すべて |197| `historySearch:cycleScope` | Ctrl+S | スコープをサイクル:セッション、プロジェクト、すべて |

176 198 

177### タスクアクション199<h3 id="task-actions">

200 タスクアクション

201</h3>

178 202 

179`Task` コンテキストで利用可能なアクション:203`Task` コンテキストで利用可能なアクション:

180 204 


182| :---------------- | :----- | :--------------- |206| :---------------- | :----- | :--------------- |

183| `task:background` | Ctrl+B | 現在のタスクをバックグラウンドに |207| `task:background` | Ctrl+B | 現在のタスクをバックグラウンドに |

184 208 

185### テーマアクション209<h3 id="theme-actions">

210 テーマアクション

211</h3>

186 212 

187`ThemePicker` コンテキストで利用可能なアクション:213`ThemePicker` コンテキストで利用可能なアクション:

188 214 


190| :------------------------------- | :----- | :--------------- |216| :------------------------------- | :----- | :--------------- |

191| `theme:toggleSyntaxHighlighting` | Ctrl+T | シンタックスハイライトを切り替え |217| `theme:toggleSyntaxHighlighting` | Ctrl+T | シンタックスハイライトを切り替え |

192 218 

193### ヘルプアクション219<h3 id="help-actions">

220 ヘルプアクション

221</h3>

194 222 

195`Help` コンテキストで利用可能なアクション:223`Help` コンテキストで利用可能なアクション:

196 224 


198| :------------- | :----- | :---------- |226| :------------- | :----- | :---------- |

199| `help:dismiss` | Escape | ヘルプメニューを閉じる |227| `help:dismiss` | Escape | ヘルプメニューを閉じる |

200 228 

201### タブアクション229<h3 id="tabs-actions">

230 タブアクション

231</h3>

202 232 

203`Tabs` コンテキストで利用可能なアクション:233`Tabs` コンテキストで利用可能なアクション:

204 234 


207| `tabs:next` | Tab、Right | 次のタブ |237| `tabs:next` | Tab、Right | 次のタブ |

208| `tabs:previous` | Shift+Tab、Left | 前のタブ |238| `tabs:previous` | Shift+Tab、Left | 前のタブ |

209 239 

210### 添付ファイルアクション240<h3 id="attachments-actions">

241 添付ファイルアクション

242</h3>

211 243 

212`Attachments` コンテキストで利用可能なアクション:244`Attachments` コンテキストで利用可能なアクション:

213 245 


218| `attachments:remove` | Backspace、Delete | 選択した添付ファイルを削除 |250| `attachments:remove` | Backspace、Delete | 選択した添付ファイルを削除 |

219| `attachments:exit` | Down、Escape | 添付ファイルナビゲーションを終了 |251| `attachments:exit` | Down、Escape | 添付ファイルナビゲーションを終了 |

220 252 

221### フッターアクション253<h3 id="footer-actions">

254 フッターアクション

255</h3>

222 256 

223`Footer` コンテキストで利用可能なアクション:257`Footer` コンテキストで利用可能なアクション:

224 258 


231| `footer:openSelected` | Enter | 選択したフッター項目を開く |265| `footer:openSelected` | Enter | 選択したフッター項目を開く |

232| `footer:clearSelection` | Escape | フッター選択をクリア |266| `footer:clearSelection` | Escape | フッター選択をクリア |

233 267 

234### メッセージセレクタアクション268<h3 id="message-selector-actions">

269 メッセージセレクタアクション

270</h3>

235 271 

236`MessageSelector` コンテキストで利用可能なアクション:272`MessageSelector` コンテキストで利用可能なアクション:

237 273 


243| `messageSelector:bottom` | Ctrl+Down、Shift+Down、Meta+Down、Shift+J | 最下部にジャンプ |279| `messageSelector:bottom` | Ctrl+Down、Shift+Down、Meta+Down、Shift+J | 最下部にジャンプ |

244| `messageSelector:select` | Enter | メッセージを選択 |280| `messageSelector:select` | Enter | メッセージを選択 |

245 281 

246### Diff アクション282<h3 id="diff-actions">

283 Diff アクション

284</h3>

247 285 

248`DiffDialog` コンテキストで利用可能なアクション:286`DiffDialog` コンテキストで利用可能なアクション:

249 287 

250| アクション | デフォルト | 説明 |288| アクション | デフォルト | 説明 |

251| :-------------------- | :--------- | :------------ |289| :-------------------- | :--------- | :------------------------------- |

252| `diff:dismiss` | Escape | Diff ビューアを閉じる |290| `diff:dismiss` | Escape | Diff ビューアを閉じる |

253| `diff:previousSource` | Left | 前の Diff ソース |291| `diff:previousSource` | Left | 前の Diff ソース |

254| `diff:nextSource` | Right | 次の Diff ソース |292| `diff:nextSource` | Right | 次の Diff ソース |

255| `diff:previousFile` | Up | Diff の前のファイル |293| `diff:previousFile` | Up、K | ファイルリストの前のファイル。詳細ビューで 1 行上にスクロール |

256| `diff:nextFile` | Down | Diff の次のファイル |294| `diff:nextFile` | Down、J | ファイルリストの次のファイル。詳細ビューで 1 行下にスクロール |

257| `diff:viewDetails` | Enter | Diff の詳細を表示 |295| `diff:viewDetails` | Enter | Diff の詳細を表示 |

258| `diff:back` | (コンテキスト固有) | Diff ビューアで戻る |296| `diff:back` | (コンテキスト固有) | Diff ビューアで戻る |

259 297 

260### モデルピッカーアクション298Diff 詳細ビューは、ページャースタイルのキーを標準的な[スクロールアクション](#scroll-actions)にバインドします。これらのバインディングは `DiffDialog` コンテキストの一部であり、詳細ビューにのみ適用されます。[スクロールアクション](#scroll-actions)の下に記載されている `Scroll` コンテキストのデフォルトは変わりません。

299 

300| アクション | デフォルト | 説明 |

301| :-------------------- | :------------ | :----------------- |

302| `scroll:pageUp` | PageUp | ビューポートの半分だけ上にスクロール |

303| `scroll:pageDown` | PageDown | ビューポートの半分だけ下にスクロール |

304| `scroll:fullPageUp` | Shift+Space、B | ビューポート全体だけ上にスクロール |

305| `scroll:fullPageDown` | Space | ビューポート全体だけ下にスクロール |

306| `scroll:top` | G、Home | 最上部にジャンプ |

307| `scroll:bottom` | Shift+G、End | 最下部にジャンプ |

308 

309<h3 id="model-picker-actions">

310 モデルピッカーアクション

311</h3>

261 312 

262`ModelPicker` コンテキストで利用可能なアクション:313`ModelPicker` コンテキストで利用可能なアクション:

263 314 

264| アクション | デフォルト | 説明 |315| アクション | デフォルト | 説明 |

265| :--------------------------- | :---- | :------- |316| :---------------------------- | :---- | :----------------------- |

266| `modelPicker:decreaseEffort` | Left | 努力レベルを低下 |317| `modelPicker:decreaseEffort` | Left | 努力レベルを低下 |

267| `modelPicker:increaseEffort` | Right | 努力レベルを増加 |318| `modelPicker:increaseEffort` | Right | 努力レベルを増加 |

319| `modelPicker:thisSessionOnly` | s | ハイライトされたモデルをこのセッションのみに適用 |

268 320 

269### 選択アクション321<h3 id="select-actions">

322 選択アクション

323</h3>

270 324 

271`Select` コンテキストで利用可能なアクション:325`Select` コンテキストで利用可能なアクション:

272 326 


277| `select:accept` | Enter | 選択を受け入れ |331| `select:accept` | Enter | 選択を受け入れ |

278| `select:cancel` | Escape | 選択をキャンセル |332| `select:cancel` | Escape | 選択をキャンセル |

279 333 

280### プラグインアクション334<h3 id="plugin-actions">

335 プラグインアクション

336</h3>

281 337 

282`Plugin` コンテキストで利用可能なアクション:338`Plugin` コンテキストで利用可能なアクション:

283 339 


287| `plugin:install` | I | 選択したプラグインをインストール |343| `plugin:install` | I | 選択したプラグインをインストール |

288| `plugin:favorite` | F | 選択したプラグインをお気に入りにして、インストール済みタブの上部付近にソートされるようにします |344| `plugin:favorite` | F | 選択したプラグインをお気に入りにして、インストール済みタブの上部付近にソートされるようにします |

289 345 

290### 設定アクション346<h3 id="settings-actions">

347 設定アクション

348</h3>

291 349 

292`Settings` コンテキストで利用可能なアクション:350`Settings` コンテキストで利用可能なアクション:

293 351 


297| `settings:retry` | R | 使用状況データの読み込みを再試行(エラー時) |355| `settings:retry` | R | 使用状況データの読み込みを再試行(エラー時) |

298| `settings:close` | Enter | 変更を保存して設定パネルを閉じます。Escape は変更を破棄して閉じます |356| `settings:close` | Enter | 変更を保存して設定パネルを閉じます。Escape は変更を破棄して閉じます |

299 357 

300### Doctor アクション358<h3 id="doctor-actions">

359 Doctor アクション

360</h3>

301 361 

302`Doctor` コンテキストで利用可能なアクション:362`Doctor` コンテキストで利用可能なアクション:

303 363 


305| :----------- | :---- | :--------------------------------------------------- |365| :----------- | :---- | :--------------------------------------------------- |

306| `doctor:fix` | F | 診断レポートを Claude に送信して、報告された問題を修正します。問題が見つかった場合のみアクティブ |366| `doctor:fix` | F | 診断レポートを Claude に送信して、報告された問題を修正します。問題が見つかった場合のみアクティブ |

307 367 

308### 音声アクション368<h3 id="voice-actions">

369 音声アクション

370</h3>

309 371 

310[音声ディクテーション](/ja/voice-dictation)が有効な場合、`Chat` コンテキストで利用可能なアクション:372[音声ディクテーション](/ja/voice-dictation)が有効な場合、`Chat` コンテキストで利用可能なアクション:

311 373 


313| :----------------- | :---- | :-------------------------------------------- |375| :----------------- | :---- | :-------------------------------------------- |

314| `voice:pushToTalk` | Space | プロンプトをディクテートします。`/voice` モードに応じて押し続けるか、タップします |376| `voice:pushToTalk` | Space | プロンプトをディクテートします。`/voice` モードに応じて押し続けるか、タップします |

315 377 

316### スクロールアクション378<h3 id="scroll-actions">

379 スクロールアクション

380</h3>

317 381 

318[フルスクリーンレンダリング](/ja/fullscreen)が有効な場合、`Scroll` コンテキストで利用可能なアクション:382[フルスクリーンレンダリング](/ja/fullscreen)が有効な場合、`Scroll` コンテキストで利用可能なアクション:

319 383 


338| `selection:extendLineStart` | Shift+Home | アクティブな選択を行の開始位置に拡張 |402| `selection:extendLineStart` | Shift+Home | アクティブな選択を行の開始位置に拡張 |

339| `selection:extendLineEnd` | Shift+End | アクティブな選択を行の終了位置に拡張 |403| `selection:extendLineEnd` | Shift+End | アクティブな選択を行の終了位置に拡張 |

340 404 

341## キーストロークシンタックス405<h2 id="keystroke-syntax">

406 キーストロークシンタックス

407</h2>

342 408 

343### モディファイア409<h3 id="modifiers">

410 モディファイア

411</h3>

344 412 

345`+` セパレータでモディファイアキーを使用します。413`+` セパレータでモディファイアキーを使用します。

346 414 


360ctrl+shift+c 複数のモディファイア428ctrl+shift+c 複数のモディファイア

361```429```

362 430 

363### 大文字431<h3 id="uppercase-letters">

432 大文字

433</h3>

364 434 

365スタンドアロンの大文字は Shift を意味します。例えば、`K` は `shift+k` と同等です。これは大文字と小文字のキーが異なる意味を持つ vim スタイルのバインディングに便利です。435スタンドアロンの大文字は Shift を意味します。例えば、`K` は `shift+k` と同等です。これは大文字と小文字のキーが異なる意味を持つ vim スタイルのバインディングに便利です。

366 436 

367モディファイア付きの大文字(例:`ctrl+K`)はスタイル的に扱われ、Shift を意味**しません** — `ctrl+K` は `ctrl+k` と同じです。437モディファイア付きの大文字(例:`ctrl+K`)はスタイル的に扱われ、Shift を意味**しません** — `ctrl+K` は `ctrl+k` と同じです。

368 438 

369### コード439<h3 id="chords">

440 コード

441</h3>

370 442 

371コードはスペースで区切られたキーストロークのシーケンスです。443コードはスペースで区切られたキーストロークのシーケンスです。

372 444 


374ctrl+k ctrl+s Ctrl+K を押して、リリースしてから Ctrl+S446ctrl+k ctrl+s Ctrl+K を押して、リリースしてから Ctrl+S

375```447```

376 448 

377### 特殊キー449<h3 id="special-keys">

450 特殊キー

451</h3>

378 452 

379* `escape` または `esc` - Escape キー453* `escape` または `esc` - Escape キー

380* `enter` または `return` - Enter キー454* `enter` または `return` - Enter キー


383* `up`、`down`、`left`、`right` - 矢印キー457* `up`、`down`、`left`、`right` - 矢印キー

384* `backspace`、`delete` - Delete キー458* `backspace`、`delete` - Delete キー

385 459 

386## デフォルトショートカットをアンバインド460<h2 id="unbind-default-shortcuts">

461 デフォルトショートカットをアンバインド

462</h2>

387 463 

388アクションを `null` に設定して、デフォルトショートカットをアンバインドします。464アクションを `null` に設定して、デフォルトショートカットをアンバインドします。

389 465 


419 495 

420プレフィックス上の一部のコードをアンバインドしても、すべてをアンバインドしない場合、プレフィックスを押すと残りのバインディングのコード待機モードに入ります。496プレフィックス上の一部のコードをアンバインドしても、すべてをアンバインドしない場合、プレフィックスを押すと残りのバインディングのコード待機モードに入ります。

421 497 

422## 予約済みショートカット498<h2 id="reserved-shortcuts">

499 予約済みショートカット

500</h2>

423 501 

424これらのショートカットは再バインドできません。502これらのショートカットは再バインドできません。

425 503 


430| Ctrl+M | ターミナルの Enter と同じ(どちらも CR を送信) |508| Ctrl+M | ターミナルの Enter と同じ(どちらも CR を送信) |

431| Caps Lock | ターミナルアプリケーションに配信されない |509| Caps Lock | ターミナルアプリケーションに配信されない |

432 510 

433## ターミナルの競合511<h2 id="terminal-conflicts">

512 ターミナルの競合

513</h2>

434 514 

435一部のショートカットはターミナルマルチプレクサと競合する可能性があります。515一部のショートカットはターミナルマルチプレクサと競合する可能性があります。

436 516 


440| Ctrl+A | GNU screen プレフィックス |520| Ctrl+A | GNU screen プレフィックス |

441| Ctrl+Z | Unix プロセス一時停止(SIGTSTP) |521| Ctrl+Z | Unix プロセス一時停止(SIGTSTP) |

442 522 

443## Vim モードの相互作用523<h2 id="vim-mode-interaction">

524 Vim モードの相互作用

525</h2>

444 526 

445Vim モードが `/config` → エディタモードで有効な場合、キーバインディングと Vim モードは独立して動作します。527Vim モードが `/config` → エディタモードで有効な場合、キーバインディングと Vim モードは独立して動作します。

446 528 


449* Vim モードの Escape キーは INSERT から NORMAL モードに切り替わります。`chat:cancel` をトリガーしません531* Vim モードの Escape キーは INSERT から NORMAL モードに切り替わります。`chat:cancel` をトリガーしません

450* ほとんどの Ctrl+key ショートカットは Vim モードを通過してキーバインディングシステムに渡されます532* ほとんどの Ctrl+key ショートカットは Vim モードを通過してキーバインディングシステムに渡されます

451* Vim NORMAL モードでは、`?` はヘルプメニューを表示します(Vim の動作)533* Vim NORMAL モードでは、`?` はヘルプメニューを表示します(Vim の動作)

534* Vim NORMAL モードでは、`/` は履歴検索を開きます。標準モードの Ctrl+R と同じです

452 535 

453## 検証536<h2 id="validation">

537 検証

538</h2>

454 539 

455Claude Code はキーバインディングを検証し、以下の警告を表示します。540Claude Code はキーバインディングを検証し、以下の警告を表示します。

456 541 

large-codebases.md +511 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# モノレポまたは大規模コードベースで Claude Code をセットアップする

6 

7> ネストされた CLAUDE.md ファイル、スパースワークツリー、コード インテリジェンス、パッケージごとのスキルを使用して、モノレポと大規模シングルツリーコードベース向けに Claude Code を設定し、Claude が作業中のコードに焦点を当てるようにします。

8 

9大規模コードベースは、数百万行のコードを持つ 1 つのリポジトリ、または多くのパッケージを持つモノレポです。Claude Code はどのサイズでも動作しますが、コードベースが成長するにつれて、小規模プロジェクト向けにチューニングされたデフォルト設定は、タスクに関連しない命令とファイル読み取りでコンテキストウィンドウを満たし、トークンを消費して Claude のパフォーマンスを低下させます。

10 

11このガイドでは、個々の開発者とエンジニアリングチームが Claude をタスクが触れるコードベースの部分にスコープする方法を示します。各セクションでは、設定が個人用マシンに固有か、リポジトリにコミットされるかを記載しています。

12 

13<h2 id="what-this-guide-covers">

14 このガイドで説明する内容

15</h2>

16 

17[下の表](#settings-on-this-page)は各設定とその目的を一覧表示しています。[その後のファイルツリー](#the-example-monorepo)は、このページのすべてのコード例が参照するサンプルモノレポです。

18 

19<h3 id="settings-on-this-page">

20 このページの設定

21</h3>

22 

23以下の各設定は独立しています。相互に置き換わるのではなく層状に重なるため、リポジトリに適したものを適用してください。[Claude を開始する場所を選択](#choose-where-to-start-claude)は設定ファイルが存在する場所を決定するため、最初にそれを読んでください。[すべてをまとめる](#put-it-together)はそれらすべてを組み合わせたものを示しています。

24 

25| 実行したいこと | 使用するもの |

26| :-------------------------------------------------------- | :--------------------------------------------------------------------------------------- |

27| すべてのサブシステムをカバーする 1 つのルートファイルの代わりに、タッチするコードの規約のみを読み込む | ディレクトリごとの [CLAUDE.md ファイル](#layer-claude-md-files-by-directory) |

28| 作業しないパッケージの CLAUDE.md ファイルを除外する | [`claudeMdExcludes`](#exclude-irrelevant-claude-md-files) |

29| Claude がビルド出力、生成されたコード、ベンダー依存関係を開くのをブロックする | `permissions.deny` の [`Read` 拒否ルール](#block-reads-of-generated-and-vendored-code) |

30| ファイルをスキャンする代わりに言語サーバーを通じてシンボルの定義または呼び出し元を見つける | [コード インテリジェンス プラグイン](#reduce-file-reads-with-code-intelligence) |

31| Claude がワークツリーを作成するときにタスクが必要とするディレクトリのみをチェックアウトする | [`worktree.sparsePaths`](#check-out-only-the-directories-you-need) |

32| 同じセッションから兄弟パッケージまたは別のリポジトリを読み取り、編集する | [`--add-dir`](#grant-access-across-packages-or-repositories) または `additionalDirectories` |

33| 関連する場合にのみ読み込まれる 1 つの領域に固有の手順を Claude に提供する | ディレクトリごとの [スキル](#add-per-directory-skills) |

34| 多くのディレクトリごとの CLAUDE.md ファイルを、すべてがインストールする 1 つの規約セットに置き換える | 内部マーケットプレイスの [プラグイン](#centralize-conventions-when-layering-stops-scaling) |

35 

36<Tip>

37 [サブエージェントで調査を実行する](/ja/best-practices#use-subagents-for-investigation)など、任意のリポジトリでコンテキストを小さく保つワークフロー技術については、[Claude Code のベストプラクティス](/ja/best-practices)を参照してください。組織内のすべての開発者にベースライン設定をロールアウトするには、[組織向けに Claude Code をセットアップする](/ja/admin-setup)を参照してください。

38</Tip>

39 

40<h3 id="the-example-monorepo">

41 サンプルモノレポ

42</h3>

43 

44このページ全体の例は、3 つのパッケージを持つモノレポを参照しています。同じパターンは大規模シングルツリーコードベースで機能します。例が `packages/api/` を使用する場合は、`src/backend/` や `lib/core/` などの独自のサブシステムディレクトリに置き換えてください。

45 

46```text theme={null}

47monorepo/

48 CLAUDE.md # ルート命令

49 packages/

50 api/

51 CLAUDE.md # API 固有の命令

52 .claude/skills/

53 src/

54 web/

55 CLAUDE.md # フロントエンド固有の命令

56 .claude/skills/

57 src/

58 shared/

59 CLAUDE.md # 共有ライブラリ命令

60 src/

61```

62 

63<h2 id="choose-where-to-start-claude">

64 Claude を開始する場所を選択

65</h2>

66 

67`claude` を起動する場所は、Claude が追加の許可なしで読み取り、編集できるファイル、起動時に読み込まれる CLAUDE.md ファイル、および適用されるプロジェクト設定を決定します。

68 

69| 開始場所 | ファイルアクセス | 起動時に読み込まれる CLAUDE.md | 使用する場合 |

70| :------- | :--------------------- | :------------------------------------------------- | :------------------------------- |

71| リポジトリルート | すべてのファイル | ルートのみ。サブディレクトリファイルは Claude がそこを読むときにオンデマンドで読み込まれます | タスクが複数のパッケージまたはサブシステムにまたがる |

72| サブディレクトリ | そのサブツリーのみ、さらに許可を付与するまで | そのディレクトリのプラス、すべての祖先 | 作業が 1 つのパッケージまたはサブシステムにスコープされている |

73 

74`.claude/settings.json` のプロジェクト設定は開始ディレクトリからのみ読み込まれ、CLAUDE.md ファイルのように親ディレクトリから継承されません。リポジトリルートの `.claude/settings.json` はルートから開始する場合にのみ適用されます。

75 

76以下の各セクションでは、その設定ファイルがリポジトリルートまたは開始するサブディレクトリに属するか、およびコミットされるか、ローカルに保持されるかを記載しています。

77 

78<h2 id="layer-claude-md-files-by-directory">

79 CLAUDE.md ファイルをディレクトリごとに層状にする

80</h2>

81 

82大規模コードベースでは、リポジトリルートの単一の CLAUDE.md は、すべてのサブシステムの規約をカバーするために成長する傾向があり、現在のタスクに関連しない命令でコンテキストを消費するか、有用であるには一般的すぎます。命令をディレクトリごとのファイルに分割すると、Claude はリポジトリ全体のルールと、作業中のコードの規約のみを読み込みます。

83 

84Claude Code は起動時に作業ディレクトリとすべての親ディレクトリから [CLAUDE.md](/ja/memory) ファイルを読み込み、その後、Claude がそこでファイルを読むときにオンデマンドで各サブディレクトリのファイルを読み込みます。ルートファイルはリポジトリ全体のルールを設定し、各サブディレクトリは独自のルールを追加します。

85 

86一般的な分割は 2 つのレベルです。

87 

88* **ルート `CLAUDE.md`**: コーディング標準、コミット規約、リポジトリレイアウトなど、どこにでも適用される命令

89* **サブディレクトリごとの `CLAUDE.md`**: その領域のスタックに固有の規約。モノレポではパッケージごとに 1 つ。大規模シングルツリーでは `src/db/` や `src/api/` などのサブシステムごとに 1 つ

90 

91これらのファイルをリポジトリにコミットして、チームメイトが継承するようにします。各ディレクトリの所有者は通常、そのファイルを保守します。

92 

93ルート `CLAUDE.md` は Claude をリポジトリ構造に向けます。

94 

95```markdown CLAUDE.md theme={null}

96これは packages/ の下に 3 つのパッケージを持つモノレポです。

97 

98- packages/api: Express、TypeScript、PostgreSQL を使用した Node.js REST API

99- packages/web: Vite、TypeScript、TailwindCSS を使用した React フロントエンド

100- packages/shared: api と web の両方で使用される共有 TypeScript ユーティリティ

101 

102モノレポルートではなく、パッケージディレクトリからコマンドを実行します。

103各パッケージには独自の tsconfig.json、package.json、テストスイートがあります。

104```

105 

106各サブディレクトリの `CLAUDE.md`(ここでは `packages/api/CLAUDE.md`)は、その領域のスタックに固有のコンテキストを追加します。

107 

108```markdown packages/api/CLAUDE.md theme={null}

109このパッケージは REST API サーバーです。

110 

111- テストを実行: `npm test`(Vitest を使用)

112- 開発サーバーを実行: `npm run dev`(ポート 3001)

113- データベースマイグレーション: `npm run migrate`

114- 環境変数: `.env.example` を `.env` にコピー

115 

116API ルートは src/routes/ にあります。各ルートファイルは Express ルーターをエクスポートします。

117データベースクエリは src/db/ の Knex を使用します。ルートハンドラーで生の SQL 文字列を書かないでください。

118```

119 

120`packages/api/` から Claude を開始すると、`packages/api/CLAUDE.md` とルート `CLAUDE.md` の両方が読み込まれます。Claude はローカル命令をリポジトリ全体のルールと一緒に見て、`packages/web/` からの命令はコンテキストに含まれません。同じことは非モノレポツリーのすべてのサブディレクトリに当てはまります。

121 

122ファイルを最新に保つためのいくつかの方法は、コードベースとモデルが変わるにつれて。

123 

124* **プルリクエストで確認**: CLAUDE.md の編集を他のドキュメント変更と同じように扱い、規約がコードを追跡するようにします

125* **主要なモデルリリース後に再検討**: 古いモデルの制限を回避した命令は、新しいモデルがケースを独自に処理すると、オーバーヘッドになる可能性があります。たとえば、単一ファイルのリファクタリングを強制するルールは、制限がなくなると削除できます

126* **Stop フックを追加して更新を提案**: [`Stop` フック](/ja/hooks#stop)は Claude が応答を終了したときにセッショントランスクリプトへのパスを受け取るため、スクリプトはセッションを確認し、ギャップが新鮮なうちに CLAUDE.md の更新を提案できます

127 

128CLAUDE.md ファイルがどのように読み込まれ、相互作用するかについての詳細は、[メモリとプロジェクト命令](/ja/memory)を参照してください。

129 

130<h3 id="choose-between-per-directory-claude-md-and-path-scoped-rules">

131 ディレクトリごとの CLAUDE.md とパススコープルールの選択

132</h3>

133 

134ディレクトリごとの `CLAUDE.md` ファイルと `.claude/rules/` の下の [パススコープルール](/ja/memory#path-specific-rules)の両方により、ツリーの一部に命令をターゲットできます。ファイルが存在する場所と読み込まれるタイミングが異なります。

135 

136| アプローチ | ファイルの場所 | 読み込まれるタイミング | 使用する場合 |

137| :-------------------------- | :--------------------- | :--------------------------------------------------- | :------------------------------------------- |

138| ディレクトリごとの `CLAUDE.md` | ディレクトリ内、そのコードと一緒に | そのディレクトリから開始したときの起動時、または Claude がそこでファイルを読むときのオンデマンド | ディレクトリ所有者が独自の規約を保守します。命令はコードでバージョン管理されます |

139| `.claude/rules/` のパススコープルール | リポジトリルートの中央 `.claude/` | Claude がルールの `paths:` グロブに一致するファイルで動作するとき | すべての規約を 1 つの場所に置きたい、または同じルールが多くの散在したパスに適用される |

140 

141スキルもカバーする比較については、[同様の機能を比較](/ja/features-overview#compare-similar-features)を参照してください。

142 

143<h3 id="exclude-irrelevant-claude-md-files">

144 関連のない CLAUDE.md ファイルを除外する

145</h3>

146 

147リポジトリルートから Claude を開始すると、各サブディレクトリの CLAUDE.md は Claude がそのディレクトリ内のファイルを読むとすぐに読み込まれます。`claudeMdExcludes` 設定は特定のファイルをパスまたはグロブパターンでスキップして、読み込まれないようにします。

148 

149他のチームのパッケージ、レガシーコード、ベンダーサブツリーなど、作業しないディレクトリに使用します。除外リストは静的で、タスクごとのスイッチではありません。今日は 1 つのパッケージに焦点を当て、明日は別のパッケージに焦点を当てるには、除外を編集する代わりに [そのパッケージのディレクトリから Claude を開始](#choose-where-to-start-claude)してください。

150 

151これらの除外をご自身のみに使用する場合は、gitignore されてコミットされない `.claude/settings.local.json` に設定を配置します。パターンはグロブ構文を使用して絶対ファイルパスに対してマッチするため、相対スタイルのパターンを `**/` で開始して、ツリーのどこにでもマッチするようにします。以下の例は他のチームが所有するパッケージを除外します。

152 

153```json .claude/settings.local.json theme={null}

154{

155 "claudeMdExcludes": [

156 "**/packages/admin-dashboard/**",

157 "**/packages/legacy-*/**"

158 ]

159}

160```

161 

162これはそれらのパッケージの下のすべての CLAUDE.md とルールファイルをスキップします。ルート CLAUDE.md と作業するパッケージは通常どおり読み込まれます。

163 

164これらのパターンは他の一般的なケースをカバーしています。

165 

166* `"**/packages/*/CLAUDE.md"`: ルートを保持しながら、すべてのパッケージの CLAUDE.md を除外します

167* `"**/packages/web/**"`: ルールを含む web パッケージの下のすべてを除外します

168* `"/home/user/monorepo/legacy/CLAUDE.md"`: 絶対パスで 1 つの特定のファイルを除外します

169 

170管理ポリシー CLAUDE.md ファイルは除外できないため、組織全体の命令は常に適用されます。`claudeMdExcludes` は任意の [設定スコープ](/ja/settings#configuration-scopes)で設定できます。ユーザー、プロジェクト、ローカル、または管理。配列はスコープ全体でマージされるため、チームはプロジェクトレベルのデフォルトを設定でき、個人はローカルオーバーライドを追加できます。

171 

172完全な除外ドキュメントについては、[特定の CLAUDE.md ファイルを除外](/ja/memory#exclude-specific-claude-md-files)を参照してください。

173 

174<h2 id="reduce-what-claude-reads">

175 Claude が読む内容を削減する

176</h2>

177 

178命令は Claude のコンテキストに入るもののほんの一部です。ファイル読み取りは、コードベースとともに成長するもう 1 つのコストです。以下の設定は関連のないパスの読み取りをブロックし、徹底的なファイルスキャンを言語サーバーのルックアップに置き換えます。

179 

180<h3 id="block-reads-of-generated-and-vendored-code">

181 生成されたコードとベンダーコードの読み取りをブロックする

182</h3>

183 

184Claude のコンテンツ検索はデフォルトで `.gitignore` を尊重するため、`node_modules/`、`dist/`、`build/` などのそこにリストされているパスは、追加の設定なしで検索結果から除外されます。

185 

186ベンダー SDK やコミットされた生成コードなど、チェックインされているパスについては、`permissions.deny` に `Read` 拒否ルールを追加して、検索がそれらをリストしている場合でも Claude がそれらのファイルを開くのをブロックします。

187 

188これらの除外をリポジトリで作業するすべての人に適用するには、`.claude/settings.json` にコミットします。個人的に保つには、代わりに `.claude/settings.local.json` を使用します。このページの他のプロジェクト設定と同様に、これらのファイルは開始ディレクトリからのみ読み込まれます。リポジトリルートから Claude を開始する場合はそこに配置するか、サブディレクトリから開始する場合は各パッケージの `.claude/` に配置します。開始ディレクトリに関係なく、すべてのセッションで同じ拒否ルールを適用するには、[管理設定](/ja/settings#settings-files)で設定します。ユーザーとプロジェクト設定はこれをオーバーライドできません。

189 

190以下の例はビルドアーティファクトとベンダー SDK をブロックします。

191 

192```json .claude/settings.json theme={null}

193{

194 "permissions": {

195 "deny": [

196 "Read(./**/dist/**)",

197 "Read(./**/build/**)",

198 "Read(./**/*.generated.*)",

199 "Read(./vendor/**)"

200 ]

201 }

202}

203```

204 

205拒否ルールは Claude の組み込みファイルツールと認識される Bash ファイルコマンド(`cat`、`head`、`grep`、`find` を含む)をカバーします。拒否されたパスが引数として渡される場合。再帰的検索の出力から拒否されたパスをフィルタリングしたり、ファイルを自分で開く任意のサブプロセスをカバーしたりしません。完全なパターン構文については、[Read および Edit 許可ルール](/ja/permissions#read-and-edit)を参照してください。

206 

207<h3 id="reduce-file-reads-with-code-intelligence">

208 コード インテリジェンスでファイル読み取りを削減する

209</h3>

210 

211大規模コードベースでは、シンボルが定義または使用されている場所を見つけることは、多くのファイル読み取りと grep 呼び出しを消費する可能性があります。[コード インテリジェンス プラグイン](/ja/discover-plugins#code-intelligence)は Claude を言語サーバーに接続して、ツリーをスキャンする代わりに、定義にジャンプしたり、参照を見つけたり、型エラーを直接表示したりできます。

212 

213公式マーケットプレイスには TypeScript、Python、Go、Rust、その他の一般的な言語用のプラグインがあります。以下の例は TypeScript プラグインをインストールします。

214 

215```shell theme={null}

216/plugin install typescript-lsp@claude-plugins-official

217```

218 

219プラグインを自分でインストールするのではなく、リポジトリ内のすべての人に対して有効にするには、[`enabledPlugins` プロジェクト設定](/ja/settings#plugin-settings)に追加します。

220 

221コード インテリジェンス プラグインには、各開発者のマシンに言語の言語サーバーバイナリが必要です。[各言語が必要とするバイナリ](/ja/discover-plugins#code-intelligence)を参照してください。公式マーケットプレイスからのインストールには、マーケットプレイスがホストされている GitHub へのネットワークアクセスが必要です。制限されたネットワークでは、代わりに [内部 Git ホストまたはローカルパスからマーケットプレイスを追加](/ja/discover-plugins#add-from-other-git-hosts)してください。

222 

223これは上記の `claudeMdExcludes` と `Read` 拒否ルールとよく組み合わされます。これらは関連のないコンテンツをコンテキストから除外し、コード インテリジェンスは Claude が定義を見つけるために残りを読むのを防ぎます。

224 

225<h2 id="scope-worktrees-and-file-access">

226 ワークツリーとファイルアクセスをスコープする

227</h2>

228 

229これらの設定は、ワークツリーでディスク上にあるもの、および開始ポイントを超えて Claude が読み取り、書き込みできるディレクトリを制御します。

230 

231<h3 id="check-out-only-the-directories-you-need">

232 必要なディレクトリのみをチェックアウトする

233</h3>

234 

235`--worktree` フラグは新しい git ワークツリーでセッションを開始して、変更がメインチェックアウトから分離されたままになるようにします。デフォルトではリポジトリ全体をチェックアウトします。大規模リポジトリでは、`worktree.sparsePaths` 設定は git sparse-checkout を使用して、リストされたディレクトリとルートレベルのファイルのみをディスクに書き込むため、ワークツリーはより速く開始し、より少ないスペースを使用します。

236 

237このディレクトリで作業するすべての人が同じパスを必要とする場合は、設定を `.claude/settings.json` にコミットします。自分用にパスを追加するには、`.claude/settings.local.json` を使用します。リストはスコープ全体でマージされるため、ローカルファイルはコミットされたリストにパスを追加できますが、削除することはできません。以下の例はコミットされたファイルを示しています。

238 

239```json .claude/settings.json theme={null}

240{

241 "worktree": {

242 "sparsePaths": [

243 ".claude",

244 "packages/api",

245 "packages/shared"

246 ]

247 }

248}

249```

250 

251Claude がワークツリーを作成するとき、フルツリーの代わりに `.claude/`、`packages/api/`、`packages/shared/` のみをチェックアウトします。`sparsePaths` のパスはリポジトリルートに相対的で、Claude を開始するサブディレクトリに関係なく。任意のディレクトリパスがここで機能し、パッケージルートのみではありません。

252 

253これは特に [サブエージェント ワークツリー分離](/ja/worktrees#isolate-subagents-with-worktrees)に役立ちます。サブエージェントはサブタスク用に生成される並列 Claude インスタンスで、ワークツリーで実行されるそれぞれは、フルツリーの代わりに軽量チェックアウトを取得します。セッション内のすべてのワークツリーは同じ `sparsePaths` を共有するため、1 つのサブエージェントが `packages/api/` を必要とし、別のサブエージェントが `packages/web/` を必要とする場合は、両方をリストします。

254 

255`sparsePaths` にはディレクトリをリストし、個別のファイルはリストしません。`package.json`、`tsconfig.base.json`、ロックファイルなどのルートレベルのファイルは、リストするディレクトリと一緒に常にチェックアウトされます。ルートレベルのディレクトリはそうではないため、ワークツリー内でリポジトリルートの `.claude/settings.json`、`.claude/rules/`、または `.claude/skills/` を利用可能にしたい場合は、リストに `.claude` を含めます。

256 

257`node_modules` などの大規模ディレクトリをワークツリー全体で複製するのを避けるには、同じ `.claude/settings.json` で `sparsePaths` を `symlinkDirectories` とペアにします。

258 

259```json .claude/settings.json theme={null}

260{

261 "worktree": {

262 "sparsePaths": [

263 ".claude",

264 "packages/api",

265 "packages/shared"

266 ],

267 "symlinkDirectories": [

268 "node_modules"

269 ]

270 }

271}

272```

273 

274これは各ワークツリーの `node_modules/` からメインリポジトリのコピーへのシンボリックリンクを作成し、ディスク上で複製するのではなく。

275 

276<Note>

277 `sparsePaths` と `symlinkDirectories` 設定は、ワークツリーが作成される前に開始ディレクトリから読み込まれます。作成後、セッションの作業ディレクトリはワークツリールートで、起動したサブディレクトリではありません。したがって、ワークツリー内のプロジェクト設定はワークツリールートの `.claude/settings.json`(リポジトリルートのファイルのチェックアウトされたコピー)から読み込まれます。許可ルールやフックなど、ワークツリー内で必要な他の設定は、リポジトリルートの `.claude/settings.json` に配置します。

278</Note>

279 

280完全なワークツリー設定リファレンスについては、[ワークツリー設定](/ja/settings#worktree-settings)を参照してください。

281 

282<h3 id="grant-access-across-packages-or-repositories">

283 パッケージまたはリポジトリ全体でアクセスを付与する

284</h3>

285 

286このセクションは、サブディレクトリから Claude を開始するとき、またはタスクが複数のチェックアウトにまたがるときに適用されます。単一の大規模ツリーのリポジトリルートから開始する場合、Claude はすでにすべてのファイルにアクセスでき、これをスキップできます。

287 

288`packages/api/` から Claude を開始すると、そのディレクトリ内のファイルを読み取り、書き込みできます。タスクが `api` と `web` の両方がインポートする共有型を更新するなど、パッケージ全体の変更を必要とする場合は、兄弟ディレクトリへのアクセスを付与する必要があります。同じメカニズムは、別にチェックアウトされたリポジトリへのアクセスを付与します。

289 

290`.claude/settings.json` の `additionalDirectories` 設定は、作業ディレクトリの外のディレクトリへのアクセスを Claude に与えます。以下の例は 2 つの兄弟パッケージへのアクセスを付与します。

291 

292```json .claude/settings.json theme={null}

293{

294 "permissions": {

295 "additionalDirectories": [

296 "../shared",

297 "../web"

298 ]

299 }

300}

301```

302 

303相対パスは Claude を開始するディレクトリに対して解決されます。この設定では、Claude は `packages/api/` から作業しながら `packages/shared/` と `packages/web/` のファイルを読み取り、編集できます。

304 

305設定を編集せずに実行時にディレクトリを付与することもできます。Claude を開始するときに `--add-dir` を渡すことで。

306 

307```bash theme={null}

308claude --add-dir ../shared

309```

310 

311ディレクトリを追加する方法に関係なく、Claude はそのファイルを読み取り、編集できます。ディレクトリの CLAUDE.md、`.claude/rules/` ファイル、スキルも読み込まれるかどうかは、追加方法によって異なります。

312 

313| 追加方法 | CLAUDE.md とルールを読み込む | スキルを読み込む |

314| :--------------------------------- | :------------------ | :------- |

315| `additionalDirectories` 設定 | しない | しない |

316| `--add-dir` フラグまたは `/add-dir` コマンド | 以下の環境変数のみ | はい |

317 

318`--add-dir` または `/add-dir` で追加されたディレクトリから CLAUDE.md とルールファイルを読み込むには、`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` 環境変数を設定します。

319 

320```bash theme={null}

321CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared

322```

323 

324環境変数は `additionalDirectories` 設定にリストされているディレクトリには影響しません。詳細については、[追加ディレクトリから読み込む](/ja/memory#load-from-additional-directories)を参照してください。

325 

326この領域のすべての人が必要とする兄弟ディレクトリについては、`additionalDirectories` を `.claude/settings.json` にコミットします。個人的な選択または 1 回限りのアクセスについては、`.claude/settings.local.json` を使用するか、起動時に `--add-dir` を渡します。

327 

328<h2 id="add-per-directory-skills">

329 ディレクトリごとのスキルを追加する

330</h2>

331 

332任意のサブディレクトリは、独自のスタックにスコープされた [スキル](/ja/skills)を定義できます。スキルは Claude がそれが関連していると判断したときにオンデマンドで読み込まれるため、API 固有のツーリングはフロントエンド作業中にコンテキストを消費しません。

333 

334スキルはディレクトリ内の `.claude/skills/` の下に存在します。そのエリアのコードと一緒にコミットして、リポジトリをクローンする人は誰でもそれらを取得します。モノレポではこれはパッケージごとに 1 つのスキルセットになります。大規模シングルツリーコードベースでは、`src/db/.claude/skills/` などのサブシステムごとに 1 つです。

335 

336サブディレクトリ内にスキルディレクトリを作成します。

337 

338```bash theme={null}

339mkdir -p packages/api/.claude/skills/api-testing

340```

341 

342その後、そのディレクトリ内に `SKILL.md` を書き込みます。ここでは `packages/api/.claude/skills/api-testing/SKILL.md`。この例は Claude に API パッケージのテストパターンを教えます。

343 

344```markdown packages/api/.claude/skills/api-testing/SKILL.md theme={null}

345---

346name: api-testing

347description: API パッケージのテストパターン。packages/api/ でテストを書き込み、または変更するときに使用します。

348---

349 

350## テスト構造

351 

352テストは `src/__tests__/` にあり、`src/` ディレクトリ構造をミラーリングしています。

353各ルートファイルには対応する `.test.ts` ファイルがあります。

354 

355## テストを実行

356 

357- すべてのテスト: `npm test`

358- 単一ファイル: `npm test -- src/__tests__/routes/users.test.ts`

359- ウォッチモード: `npm test -- --watch`

360 

361## テストユーティリティ

362 

363- `src/__tests__/helpers/db.ts`: データベーステスト用に `setupTestDb()` と `teardownTestDb()` を提供

364- `src/__tests__/helpers/auth.ts`: 認証されたエンドポイント用に `createTestUser()` と `getAuthToken()` を提供

365 

366## パターン

367 

368- HTTP アサーションには生の fetch ではなく `supertest` を使用

369- データベーステストを常にロールバックするトランザクションでラップ

370- `src/__tests__/mocks/` で外部サービスをモック

371```

372 

373別のサブディレクトリは同じ方法で異なるスキルを保持します。`packages/web/.claude/skills/component-patterns/` はテストの代わりにフロントエンドのコンポーネント規約を説明します。Claude が `packages/api/` のファイルで動作するとき、api-testing スキルを読み込みます。`packages/web/` で動作するとき、component-patterns を読み込みます。どちらのディレクトリのスキルも他のタスク中に読み込まれません。

374 

375ファイルパターンで配置の代わりにスキルをスコープすることもできます。[`paths` frontmatter フィールド](/ja/skills#frontmatter-reference)はグロブパターンを取り、Claude はマッチするファイルで動作するときのみ自動的にスキルを読み込みます。これは、リポジトリルートの `.claude/skills/` に存在するが、データベースマイグレーションスキルなど、`**/migrations/**` にスコープされた特定のファイルにのみ適用されるスキルに使用します。

376 

377スキルの作成と整理の詳細については、[スキル](/ja/skills)を参照してください。

378 

379<h3 id="keep-skills-discoverable">

380 スキルを発見可能に保つ

381</h3>

382 

383多くのディレクトリに分散されたスキルでは、Claude が選択できるリストは大きくなる可能性があります。Claude は発見されたすべてのスキルの名前と説明を読むことでスキルを選択し、選択されたスキルのフルコンテンツのみがコンテキストに読み込まれます。このセクションでは、そのリストを小さく保つ方法と、短縮に耐える説明を書く方法をカバーしています。

384 

385スコープ内のスキルは、Claude を開始する場所によって異なります。

386 

387* **`packages/api/` などのサブディレクトリから**: そのディレクトリのスキル、リポジトリルートまでのすべての親、およびユーザーとエンタープライズレベル

388* **リポジトリルートから**: セッション中に Claude が触れるすべてのサブディレクトリのスキル。数百に蓄積する可能性があります

389* **[`--add-dir`](#grant-access-across-packages-or-repositories)で兄弟を追加した後**: そのスキルのスキルも読み込まれます。`additionalDirectories` 設定はファイルアクセスのみを付与し、スキルを読み込みません

390 

391名前は常に読み込まれますが、[多くの場合、説明は短縮されます](/ja/skills#skill-descriptions-are-cut-short)。これは Claude がスキルが適用されるかどうかを決定するために使用するキーワードを削除する可能性があります。説明を短く保ち、「`packages/api/` でテストを書き込み、または変更する」などのリクエストに含まれる単語で先頭に配置します。

392 

393多くのディレクトリが共有するスキル(PR 規約やデプロイチェックリストなど)については、リポジトリルートの `.claude/skills/` に配置して、任意の開始ディレクトリから読み込まれるようにします。共有スキルが独自のバージョン履歴を必要とするか、リポジトリ全体で動作する必要がある場合は、代わりに [プラグイン](/ja/plugins)としてパッケージ化します。プラグインスキルは `plugin-name:skill-name` 名前空間を使用するため、ディレクトリごとのスキルと衝突することはありません。プラットフォームチームは 1 つの場所でそれらをバージョン管理し、更新できます。

394 

395使用されていないスキルを見つけるには、OpenTelemetry [ログエクスポーター](/ja/monitoring-usage)を有効にし、`OTEL_LOG_TOOL_DETAILS=1` を設定して、スキル名が編集されずに記録されるようにします。[`skill_activated` イベント](/ja/monitoring-usage#skill-activated-event)は `skill.name` 属性のすべての呼び出しを記録し、`invocation_trigger` はコマンド、Claude、またはネストされたスキルが呼び出したかどうかを記録します。これは統合または廃止するものを示します。

396 

397<h2 id="centralize-conventions-when-layering-stops-scaling">

398 レイアリングが拡張を停止したときに規約を一元化する

399</h2>

400 

401ディレクトリごとの CLAUDE.md ファイルは、コードベースが成長するにつれて管理が難しくなる可能性があります。規約は漂流し、ファイルは古くなり、誰もルートを所有していません。これを解決することは通常、各開発者が独自の領域で作業するのではなく、リポジトリの Claude Code セットアップを保守するチームに該当します。

402 

403常に読み込まれる CLAUDE.md から規約と参照コンテンツを、タスクに関連する場合にのみ読み込まれるメカニズムに移動します。

404 

405* [スキル](/ja/skills): Claude がタスクに関連する場合にのみ読み込む参照資料

406* [プラグイン](/ja/plugins): プラットフォームチームが一元的に所有するスキル、フック、コマンドのバージョン管理されたバンドル

407* [MCP サーバー](/ja/mcp): 組織がすでにリポジトリ上でコード検索または RAG インデックスを実行している場合は、MCP ツールとして公開して、Claude がファイルを直接読む代わりにクエリを実行するようにします

408 

409プラットフォームチームがこれらを一元的に適用する方法については、[サーバー管理またはエンドポイント管理設定](/ja/server-managed-settings#choose-between-server-managed-and-endpoint-managed-settings)を参照してください。

410 

411<h3 id="recommend-the-right-plugin-at-session-start">

412 セッション開始時に正しいプラグインを推奨する

413</h3>

414 

415規約がプラグインに存在すると、チームメイトがツリーの不慣れな部分で Claude を開始しても、その領域の所有者が保守するプラグインについてのシグナルがありません。[`SessionStart` フック](/ja/hooks#sessionstart)はこのギャップを埋めることができます。フックが stdout に出力するものはすべて、最初のプロンプトの前に Claude のコンテキストに追加されるためです。

416 

417たとえば、[フック入力](/ja/hooks#common-input-fields)から起動ディレクトリを読み取り、リポジトリにコミットされたパスからプラグインへのマップで検索し、Claude が最初の応答で中継する推奨事項を出力するスクリプトを書くことができます。フックを書き込み、登録する方法については、[フックでアクションを自動化](/ja/hooks-guide)を参照してください。

418 

419<h2 id="put-it-together">

420 すべてをまとめる

421</h2>

422 

423以下の組み合わせ設定はモノレポレイアウトを使用します。同じファイルは大規模シングルツリーのすべてのサブディレクトリで機能します。プロジェクト設定は Claude を開始するディレクトリからのみ読み込まれるため、各サブディレクトリの `.claude/settings.json` はルートファイルに層状にされるのではなく、自己完結型である必要があります。

424 

425例は `worktree`、`additionalDirectories`、`Read` 拒否ルールを `.claude/settings.json` にコミットして、`packages/api/` のすべての開発者が同じ兄弟アクセス、スパースパス、除外を取得するようにします。以下のファイルは `packages/api/` のコミットされたエリアごとの設定です。

426 

427```json packages/api/.claude/settings.json theme={null}

428{

429 "worktree": {

430 "sparsePaths": [

431 ".claude",

432 "packages/api",

433 "packages/shared"

434 ],

435 "symlinkDirectories": [

436 "node_modules"

437 ]

438 },

439 "permissions": {

440 "additionalDirectories": [

441 "../shared"

442 ],

443 "deny": [

444 "Read(./**/dist/**)",

445 "Read(./**/build/**)"

446 ]

447 }

448}

449```

450 

451このセッションは `packages/api/` から開始するため、兄弟パッケージの CLAUDE.md ファイルはすでにスコープ外であるため、`claudeMdExcludes` はここで必要ありません。ルートからセッションも開始する場合は、代わりにリポジトリルートの `.claude/settings.local.json` に追加します。

452 

453`additionalDirectories` エントリは `packages/api/` から直接 Claude を開始するときに適用されます。このセッションから作成されたワークツリー内では、作業ディレクトリはワークツリールートであるため、この設定ファイルは読み込まれません。兄弟パッケージはワークツリー内で既にアクセス可能ですが、拒否ルールはリポジトリルートの `.claude/settings.json` に 2 番目のコピーが必要です。ワークツリーセッションがそれらを取得するため、[ワークツリー設定ノート](#check-out-only-the-directories-you-need)が説明するように。

454 

455```json .claude/settings.json theme={null}

456{

457 "permissions": {

458 "deny": [

459 "Read(./**/dist/**)",

460 "Read(./**/build/**)"

461 ]

462 }

463}

464```

465 

466セットアップ後、リポジトリはこのレイアウトを持ちます。

467 

468```text theme={null}

469monorepo/

470 CLAUDE.md

471 .claude/settings.json # ワークツリーセッション用の拒否ルール

472 packages/

473 api/

474 CLAUDE.md

475 .claude/settings.json # ワークツリー、additionalDirectories、拒否ルール

476 .claude/skills/api-testing/SKILL.md

477 web/

478 CLAUDE.md

479 .claude/skills/component-patterns/SKILL.md

480 shared/

481 CLAUDE.md

482```

483 

484このセットアップで `packages/api/` から Claude を開始すると。

485 

486* ルート CLAUDE.md と `packages/api/CLAUDE.md` を読み込み、`packages/web/CLAUDE.md` をスキップ

487* `packages/api/` と `packages/shared/` のファイルを読み取り、編集できます

488* `packages/api/` の `dist/` と `build/` の下のビルド出力の読み取りをスキップ

489* オンデマンドで利用可能な api-testing スキルを持ちます

490* `.claude/`、`packages/api/`、`packages/shared/`、ルートレベルのファイルを含むワークツリーを作成し、ルート設定ファイルからワークツリー全体に適用される拒否ルール

491 

492<h2 id="scope-and-plan-changes-that-span-packages">

493 パッケージにまたがる変更をスコープし、計画する

494</h2>

495 

496上記の設定は Claude が見るものを制御します。共有型を更新し、それを使用するすべての呼び出しサイトを更新するなど、単一の変更が複数のパッケージに触れる場合、タスクをスコープし、シーケンスする方法も結果に影響します。

497 

498クロスパッケージの変更を一貫性のあるものに保つのに役立つ 2 つの技術。

499 

500* **1 つのセッションで Claude に全体の変更を与える**: 共有編集とその呼び出しサイトを一緒に引き渡すことで、各編集の背後にある決定を一貫性のあるものに保ちます。パッケージごとに再導出するのではなく

501* **編集する前に計画をファイルに保存**: [最初に計画](/ja/best-practices#explore-first-then-plan-then-code)し、Claude に計画をリポジトリのマークダウンファイルに書き込むよう依頼します。長いクロスパッケージセッションは [コンテキストをコンパクト化](/ja/context-window#what-survives-compaction)します。計画は会話履歴が存在しない場合でも生き残ります。

502 

503<h2 id="next-steps">

504 次のステップ

505</h2>

506 

507このセットアップが完了したら、それを改善できます。

508 

509* [フック](/ja/hooks-guide)を使用して、Claude がファイルを編集した後、ディレクトリごとのリンターまたは型チェッカーを実行

510* [コストを効果的に管理](/ja/costs)を確認して、コードベースサイズがトークン使用量にどのように影響するか、および広範なロールアウト前に支出制限を設定する方法を理解

511* Claude ブログの [Claude Code が大規模コードベースでどのように機能するか](https://claude.com/blog/how-claude-code-works-in-large-codebases-best-practices-and-where-to-start)を読んで、組織的なロールアウトパターンと所有権モデルについて学びます。このページのリポジトリごとの設定の上に位置します。

llm-gateway.md +48 −16

Details

14* **監査ログ** - コンプライアンスのためのすべてのモデル相互作用の追跡14* **監査ログ** - コンプライアンスのためのすべてのモデル相互作用の追跡

15* **モデルルーティング** - コード変更なしでプロバイダー間の切り替え15* **モデルルーティング** - コード変更なしでプロバイダー間の切り替え

16 16 

17## Gateway要件17<h2 id="gateway-requirements">

18 Gateway要件

19</h2>

18 20 

19LLM gatewayがClaude Codeと連携するには、以下の要件を満たす必要があります:21LLM gatewayがClaude Codeと連携するには、以下の要件を満たす必要があります:

20 22 


51 53 

52Claude Codeはまた、クライアントバージョンと会話から派生したフィンガープリントを含む短い帰属ブロックをシステムプロンプトの前に付加します。Anthropic APIはこのブロックを処理前に削除するため、ファーストパーティプロンプトキャッシングには影響しません。gatewayが完全なリクエストボディをキーとしたプロンプトキャッシュを実装している場合は、[`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/ja/env-vars)を設定して、それを省略してください。54Claude Codeはまた、クライアントバージョンと会話から派生したフィンガープリントを含む短い帰属ブロックをシステムプロンプトの前に付加します。Anthropic APIはこのブロックを処理前に削除するため、ファーストパーティプロンプトキャッシングには影響しません。gatewayが完全なリクエストボディをキーとしたプロンプトキャッシュを実装している場合は、[`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/ja/env-vars)を設定して、それを省略してください。

53 55 

54## 設定56<h2 id="configuration">

57 設定

58</h2>

55 59 

56### モデル選択60<h3 id="model-selection">

61 モデル選択

62</h3>

57 63 

58デフォルトでは、Claude Code は選択した API 形式の標準モデル名を使用します。64デフォルトでは、Claude Code は選択した API 形式の標準モデル名を使用します。

59 65 


65 71 

66ゲートウェイが検出フィルターと一致しないモデル名を使用している場合は、[モデル設定](/ja/model-config)に記載されている環境変数を使用して、手動で追加してください。72ゲートウェイが検出フィルターと一致しないモデル名を使用している場合は、[モデル設定](/ja/model-config)に記載されている環境変数を使用して、手動で追加してください。

67 73 

68## LiteLLM設定74<h2 id="litellm-configuration">

75 LiteLLM設定

76</h2>

69 77 

70<Warning>78<Warning>

71 LiteLLM PyPI バージョン 1.82.7 および 1.82.8 は、認証情報を盗むマルウェアで侵害されました。これらのバージョンをインストールしないでください。既にインストールしている場合:79 LiteLLM PyPI バージョン 1.82.7 および 1.82.8 は、認証情報を盗むマルウェアで侵害されました。これらのバージョンをインストールしないでください。既にインストールしている場合:


77 LiteLLM はサードパーティのプロキシサービスです。Anthropic は、LiteLLM のセキュリティまたは機能を推奨、保守、または監査していません。このガイドは情報提供目的で提供されており、古くなる可能性があります。自己判断で使用してください。85 LiteLLM はサードパーティのプロキシサービスです。Anthropic は、LiteLLM のセキュリティまたは機能を推奨、保守、または監査していません。このガイドは情報提供目的で提供されており、古くなる可能性があります。自己判断で使用してください。

78</Warning>86</Warning>

79 87 

80### 前提条件88<h3 id="prerequisites">

89 前提条件

90</h3>

81 91 

82* Claude Code が最新バージョンに更新されている92* Claude Code が最新バージョンに更新されている

83* LiteLLM Proxy Server がデプロイされてアクセス可能93* LiteLLM Proxy Server がデプロイされてアクセス可能

84* 選択したプロバイダーを通じて Claude モデルへのアクセス94* 選択したプロバイダーを通じて Claude モデルへのアクセス

85 95 

86### 基本的な LiteLLM セットアップ96<h3 id="basic-litellm-setup">

97 基本的な LiteLLM セットアップ

98</h3>

87 99 

88**Claude Code を設定する**:100**Claude Code を設定する**:

89 101 

90#### 認証方法102<h4 id="authentication-methods">

103 認証方法

104</h4>

91 105 

92##### 静的 API キー106<h5 id="static-api-key">

107 静的 API キー

108</h5>

93 109 

94固定 API キーを使用した最も簡単な方法:110固定 API キーを使用した最も簡単な方法:

95 111 


107 123 

108この値は `Authorization` ヘッダーとして送信されます。124この値は `Authorization` ヘッダーとして送信されます。

109 125 

110##### ヘルパーを使用した動的 API キー126<h5 id="dynamic-api-key-with-helper">

127 ヘルパーを使用した動的 API キー

128</h5>

111 129 

112キーのローテーションまたはユーザーごとの認証の場合:130キーのローテーションまたはユーザーごとの認証の場合:

113 131 


144 162 

145この値は `Authorization` および `X-Api-Key` ヘッダーとして送信されます。`apiKeyHelper` は `ANTHROPIC_AUTH_TOKEN` または `ANTHROPIC_API_KEY` より優先度が低くなります。163この値は `Authorization` および `X-Api-Key` ヘッダーとして送信されます。`apiKeyHelper` は `ANTHROPIC_AUTH_TOKEN` または `ANTHROPIC_API_KEY` より優先度が低くなります。

146 164 

147#### 統合エンドポイント(推奨)165<h4 id="unified-endpoint-recommended">

166 統合エンドポイント(推奨)

167</h4>

148 168 

149LiteLLM の[Anthropic 形式エンドポイント](https://docs.litellm.ai/docs/anthropic_unified)を使用:169LiteLLM の[Anthropic 形式エンドポイント](https://docs.litellm.ai/docs/anthropic_unified)を使用:

150 170 


158* フェイルオーバー178* フェイルオーバー

159* コスト追跡とエンドユーザー追跡の一貫したサポート179* コスト追跡とエンドユーザー追跡の一貫したサポート

160 180 

161#### プロバイダー固有のパススルーエンドポイント(代替)181<h4 id="provider-specific-pass-through-endpoints-alternative">

182 プロバイダー固有のパススルーエンドポイント(代替)

183</h4>

162 184 

163##### LiteLLM を通じた Claude API185<h5 id="claude-api-through-litellm">

186 LiteLLM を通じた Claude API

187</h5>

164 188 

165[パススルーエンドポイント](https://docs.litellm.ai/docs/pass_through/anthropic_completion)を使用:189[パススルーエンドポイント](https://docs.litellm.ai/docs/pass_through/anthropic_completion)を使用:

166 190 


168export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic192export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic

169```193```

170 194 

171##### LiteLLM を通じた Amazon Bedrock195<h5 id="amazon-bedrock-through-litellm">

196 LiteLLM を通じた Amazon Bedrock

197</h5>

172 198 

173[パススルーエンドポイント](https://docs.litellm.ai/docs/pass_through/bedrock)を使用:199[パススルーエンドポイント](https://docs.litellm.ai/docs/pass_through/bedrock)を使用:

174 200 


178export CLAUDE_CODE_USE_BEDROCK=1204export CLAUDE_CODE_USE_BEDROCK=1

179```205```

180 206 

181##### LiteLLM を通じた Google Vertex AI207<h5 id="google-vertex-ai-through-litellm">

208 LiteLLM を通じた Google Vertex AI

209</h5>

182 210 

183[パススルーエンドポイント](https://docs.litellm.ai/docs/pass_through/vertex_ai)を使用:211[パススルーエンドポイント](https://docs.litellm.ai/docs/pass_through/vertex_ai)を使用:

184 212 


190export CLOUD_ML_REGION=us-east5218export CLOUD_ML_REGION=us-east5

191```219```

192 220 

193##### AWS を通じた Claude Platform221<h5 id="claude-platform-on-aws-through-a-gateway">

222 AWS を通じた Claude Platform

223</h5>

194 224 

195[Claude Platform on AWS](/ja/claude-platform-on-aws) エンドポイントに転送するゲートウェイにルーティング:225[Claude Platform on AWS](/ja/claude-platform-on-aws) エンドポイントに転送するゲートウェイにルーティング:

196 226 


203 233 

204詳細については、[LiteLLM ドキュメント](https://docs.litellm.ai/)を参照してください。234詳細については、[LiteLLM ドキュメント](https://docs.litellm.ai/)を参照してください。

205 235 

206## 追加リソース236<h2 id="additional-resources">

237 追加リソース

238</h2>

207 239 

208* [LiteLLMドキュメント](https://docs.litellm.ai/)240* [LiteLLMドキュメント](https://docs.litellm.ai/)

209* [Claude Code設定](/ja/settings)241* [Claude Code設定](/ja/settings)

managed-mcp.md +379 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# 組織の MCP サーバーアクセスを制御する

6 

7> 管理対象設定ファイル、許可リスト、ブロックリストを使用して、ユーザーが追加または接続できる MCP サーバーを制限します。

8 

9デフォルトでは、Claude Code を実行している誰もが、選択した任意の [MCP サーバー](/ja/mcp) に接続できます。Anthropic は、[Anthropic Directory](https://claude.ai/directory) に追加する前に、[リスティング基準](https://claude.com/docs/connectors/building/review-criteria) に対してコネクターをレビューしていますが、MCP サーバーのセキュリティ監査や管理は行いません。管理者として、組織内で実行されるサーバーを制限できます。固定の承認済みセットをデプロイすることから、MCP 全体を無効にすることまで可能です。

10 

11このページでは、以下の方法について説明します。

12 

13* [パターンを選択する](#choose-a-pattern)。必要な制御レベルに合わせたパターンを選択します

14* [`managed-mcp.json` で固定サーバーセットをデプロイする](#exclusive-control-with-managed-mcp-json)。[MCP 全体を無効にする](#disable-mcp-entirely)方法も含まれます

15* [許可リストとブロックリストでサーバーを制御する](#policy-based-control-with-allowlists-and-denylists)

16* [制限がサーバーをブロックするときにユーザーに何が起こるかを伝える](#how-restrictions-appear-to-users)

17* [組織が実際に使用するサーバーを監視する](#monitor-mcp-usage)

18 

19<Note>

20 [セキュリティ](/ja/security)ページでは、MCP の脅威モデルと、サーバーを承認する前に評価する方法について説明しています。[実施する内容を決定する](/ja/admin-setup#decide-what-to-enforce)では、MCP 制限と他の管理制御について説明しています。

21</Note>

22 

23<h2 id="choose-a-pattern">

24 パターンを選択する

25</h2>

26 

27Claude Code は、さまざまな制限レベルをサポートしています。各パターンは、以下で説明する 1 つまたは両方のメカニズムを使用します。固定セットをデプロイするための `managed-mcp.json` と、ユーザーが設定できる内容をフィルタリングするための `allowedMcpServers`/`deniedMcpServers` です。

28 

29| パターン | 機能 | 設定 |

30| :-------------- | :---------------------------------------------- | :--------------------------------------------------------------------------------------------- |

31| **MCP を無効にする** | サーバーはどこにも読み込まれません | 空のサーバーマップを含む `managed-mcp.json` |

32| **固定デプロイ** | すべてのユーザーが同じサーバーを取得し、他のサーバーを追加できません | 必要なサーバーを含む `managed-mcp.json` |

33| **承認済みカタログ** | 承認済みサーバーのリストを公開します。ユーザーは必要なものを追加し、他のものはブロックされます | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |

34| **プラグインサーバーのみ** | サーバーはプラグインからのみ取得できます。ユーザーは独自のサーバーを追加できません | [`strictPluginOnlyCustomization`](/ja/settings#strictpluginonlycustomization)。リストに `mcp` を含めます |

35| **ソフト許可リスト** | ユーザーが独自の設定で拡張できる許可リストを実施します | `allowManagedMcpServersOnly` なしの `allowedMcpServers` |

36| **ブロックリストのみ** | 既知の悪いサーバーをブロックし、他のすべてを許可します | `deniedMcpServers` |

37| **制限なし** | ユーザーは何でも追加できます | 管理対象 MCP 設定をデプロイしません |

38 

39<Note>

40 Claude Code には、ユーザーが参照してインストールできる組み込み MCP サーバーレジストリはありません。承認済みカタログパターンの場合、承認済みリストとその `claude mcp add` コマンドをユーザーが見つけられる場所(内部 wiki など)で共有するか、[管理対象プラグインマーケットプレイス](/ja/plugin-marketplaces#managed-marketplace-restrictions)を通じてサーバーをプラグインとして配布して、ユーザーが `/plugin` から参照してインストールできるようにします。

41</Note>

42 

43<h2 id="exclusive-control-with-managed-mcp-json">

44 managed-mcp.json による排他的制御

45</h2>

46 

47`managed-mcp.json` ファイルをデプロイすると、Claude Code はそのファイルで定義されたサーバーのみを読み込みます。ユーザーは、プラグイン提供のサーバーを含む他の MCP サーバーを追加、変更、または使用することはできません。また、このファイルは [管理対象セットと共に許可する](#allow-claude-ai-connectors-alongside-the-managed-set)場合を除き、claude.ai コネクターも抑制します。

48 

492 つの他の設定は、管理対象セットをさらにフィルタリングできます。

50 

51* `allowedMcpServers` と `deniedMcpServers` は管理対象サーバーにも適用されるため、管理対象サーバーがそれらを通過しない場合は読み込まれません。

52* ユーザー独自の `deniedMcpServers` は設定からマージされるため、ユーザーは管理対象サーバーを自分自身でブロックできます。

53 

54チェックの完全な順序については、[サーバーの評価方法](#how-a-server-is-evaluated)を参照してください。

55 

56`managed-mcp.json` はスタンドアロンファイルであるため、[サーバー管理設定](/ja/server-managed-settings)を通じて配信することはできません。管理者権限を持つシステムパスに書き込むことができるプロセスは、それをデプロイできます。大規模では、通常は Jamf などのデバイス管理ツール、macOS 上の設定プロファイル、Windows 上のグループポリシーまたは Intune、または Linux 上の選択したフリート管理を通じて行われます。Claude Code は、以下のパスのいずれかでファイルを探します。

57 

58| プラットフォーム | パス |

59| :---------- | :--------------------------------------------------------- |

60| macOS | `/Library/Application Support/ClaudeCode/managed-mcp.json` |

61| Linux と WSL | `/etc/claude-code/managed-mcp.json` |

62| Windows | `C:\Program Files\ClaudeCode\managed-mcp.json` |

63 

64ファイルは、プロジェクト [`.mcp.json`](/ja/mcp#project-scope) ファイルと同じ形式を使用します。

65 

66```json theme={null}

67{

68 "mcpServers": {

69 "github": {

70 "type": "http",

71 "url": "https://api.githubcopilot.com/mcp/"

72 },

73 "sentry": {

74 "type": "http",

75 "url": "https://mcp.sentry.dev/mcp"

76 },

77 "company-internal": {

78 "type": "stdio",

79 "command": "/usr/local/bin/company-mcp-server",

80 "args": ["--config", "/etc/company/mcp-config.json"],

81 "env": {

82 "COMPANY_API_URL": "https://internal.example.com"

83 }

84 }

85 }

86}

87```

88 

89<h3 id="authenticate-with-per-user-credentials">

90 ユーザーごとの認証情報で認証する

91</h3>

92 

93マシン上の任意のユーザーがこのファイルを読むことができるため、`env` ブロックに API キーまたは他の認証情報を保存しないでください。代わりに、以下のいずれかを使用してユーザーごとの認証情報を渡します。

94 

95* [`${VAR}` 展開](/ja/mcp#environment-variable-expansion-in-mcp-json)。各ユーザーの環境からシークレットを読み取ります。

96* [OAuth またはユーザーごとのヘッダー](/ja/mcp#authenticate-with-remote-mcp-servers)。各ユーザーが自分として認証します。

97* [`headersHelper`](/ja/mcp#use-dynamic-headers-for-custom-authentication)。接続時に認証情報を生成します。

98 

99<h3 id="validate-the-configuration">

100 設定を検証する

101</h3>

102 

103ファイルが有効であることを確認するには、管理対象マシンで 2 つのチェックを実行します。

104 

1051. `claude mcp list` は `managed-mcp.json` 内のサーバーのみを表示します。ユーザー独自のサーバーがまだ表示される場合、ファイルが読み込まれていません。パスと権限を確認してください。

1062. `claude mcp add --transport http test https://example.com/mcp` は `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` で失敗します。URL は実際のサーバーである必要はありません。ポリシーチェックが何かに接続される前にコマンドを拒否するためです。

107 

108<h3 id="disable-mcp-entirely">

109 MCP 全体を無効にする

110</h3>

111 

112空のサーバーマップを含む `managed-mcp.json` をデプロイして、すべての MCP サーバーをブロックします。

113 

114```json theme={null}

115{

116 "mcpServers": {}

117}

118```

119 

120ユーザーは `/mcp` に MCP サーバーを表示しません。`claude mcp add` は上記のエンタープライズポリシーエラーで失敗します。ユーザーが以前に設定したサーバーは、次回セッションを開始するときに読み込みを停止します。ポリシーが理由であることについて警告はありません。

121 

122<h3 id="allow-claude-ai-connectors-alongside-the-managed-set">

123 管理対象セットと共に claude.ai コネクターを許可する

124</h3>

125 

126`managed-mcp.json` をデプロイすると、デフォルトでは [claude.ai コネクター](/ja/mcp#use-mcp-servers-from-claude-ai)が抑制されます。これには、管理者が claude.ai 管理コンソールで組織向けに設定したコネクターも含まれます。これらのコネクターを `managed-mcp.json` 内のサーバーと共に読み込むには、[管理設定ソース](/ja/admin-setup#decide-how-settings-reach-devices)で `"allowAllClaudeAiMcps": true` を設定します。Claude Code v2.1.149 以降が必要です。

127 

128この設定が有効になると、Claude Code は `managed-mcp.json` がデプロイされていない場合に読み込むのと同じ claude.ai コネクターを読み込みます。[許可リストと拒否リスト](#policy-based-control-with-allowlists-and-denylists)は引き続きこれらのコネクターに適用されるため、`deniedMcpServers` で特定のコネクターをブロックできます。この設定は claude.ai コネクターのみに影響します。プラグイン提供のサーバーは抑制されたままです。

129 

130Claude Code は、この設定を管理者制御のポリシー層からのみ読み取ります。サーバー管理設定、MDM デプロイされた plist または HKLM レジストリキー、またはシステム `managed-settings.json` ファイルです。これをユーザーまたはプロジェクト設定に配置しても効果がないため、ユーザーは排他的制御が抑制したコネクターを再度有効にすることはできません。

131 

132<h2 id="policy-based-control-with-allowlists-and-denylists">

133 許可リストとブロックリストによるポリシーベースの制御

134</h2>

135 

136許可リストとブロックリストは、設定されたサーバーのどれが読み込まれることを許可するかをフィルタリングします。これらはレジストリではありません。サーバーは、ユーザー、プラグイン、または `managed-mcp.json` によって追加される前に、許可リストまたはブロックリストが適用されます。ユーザーにサーバーをデプロイするには、[`managed-mcp.json`](#exclusive-control-with-managed-mcp-json) を使用します。

137 

138許可リストを権限あるものにするには、[管理設定ソース](/ja/admin-setup#decide-how-settings-reach-devices)(サーバー管理設定またはデプロイされた `managed-settings.json` ファイルなど)で `allowedMcpServers` と `allowManagedMcpServersOnly: true` を一緒に設定します。[許可リストを管理設定のみに制限する](#restrict-the-allowlist-to-managed-settings-only)は設定を示しています。`allowManagedMcpServersOnly` がない場合、すべての設定ソース(ユーザー独自の `~/.claude/settings.json` を含む)からの許可リストがマージされるため、ユーザーは許可リストが許可する内容を拡張できます。ブロックリストは関係なくすべてのソースからマージされます。

139 

140<Note>

141 `allowManagedMcpServersOnly` は `allowManagedPermissionRulesOnly` とは別です。後者は [権限ルール](/ja/permissions#managed-settings)のみをロックダウンします。そのフラグを設定しても、MCP 許可リストは実施されません。

142</Note>

143 

144<h3 id="match-servers-by-url-command-or-name">

145 URL、コマンド、または名前でサーバーを一致させる

146</h3>

147 

148`allowedMcpServers` と `deniedMcpServers` はエントリのリストです。各エントリは、URL、コマンド、または名前でサーバーを識別する単一のキーを持つオブジェクトです。

149 

150| キー | 一致 | 用途 |

151| :-------------- | :----------------------------------- | :------------------------- |

152| `serverUrl` | リモートサーバー URL。正確またはワイルドカード `*` を使用 | HTTP および SSE サーバー |

153| `serverCommand` | stdio サーバーを開始する正確なコマンドと引数 | Stdio サーバー |

154| `serverName` | ユーザーが割り当てたラベル。完全一致のみ。ワイルドカードは展開されません | どちらのタイプでも、ただし下の警告を参照してください |

155 

156`allowedMcpServers` を設定しないことは、空の配列に設定することとは異なります。

157 

158| 設定 | 設定なし(デフォルト) | 空の配列 `[]` | 入力済み |

159| :------------------ | :-------------- | :------------- | :---------------- |

160| `allowedMcpServers` | すべてのサーバーが許可されます | サーバーは許可されません | 一致するサーバーのみが許可されます |

161| `deniedMcpServers` | サーバーはブロックされません | サーバーはブロックされません | 一致するサーバーがブロックされます |

162 

163<Warning>

164 `serverName` エントリのみを使用する許可リストはセキュリティ制御ではありません。名前は、`claude mcp add` を実行するか設定ファイルを編集するときにユーザーが割り当てるラベルであり、基になるサーバーではないため、ユーザーは任意のサーバーを `github` と呼ぶことができます。実際に実行されるサーバーを実施するには、`serverCommand` または `serverUrl` エントリを追加します。

165</Warning>

166 

167<h3 id="how-a-server-is-evaluated">

168 サーバーの評価方法

169</h3>

170 

171`managed-mcp.json` からのサーバーを含む、サーバーを読み込む前に、Claude Code は順序に 3 つのチェックを実行します。

172 

1731. **リストをマージします。** すべての設定ソースからの許可リストとブロックリストエントリが 1 つの許可リストと 1 つのブロックリストに結合されます。`allowManagedMcpServersOnly` が `true` の場合、管理対象許可リストのみが保持されます。ブロックリストは常にすべてのソースからマージされます。

1742. **ブロックリストをチェックします。** URL、コマンド、または名前でブロックリストエントリと一致するサーバーはブロックされます。ブロックリスト一致をオーバーライドするものはありません。

1753. **許可リストをチェックします。** `allowedMcpServers` がどこにも設定されていない場合、ブロックリストを通過したすべてのサーバーが読み込まれます。設定されている場合、サーバーが一致する必要があるものは、その種類に依存し、以下の表に示されています。

176 

177| サーバータイプ | 一致するときに許可されます |

178| :----------------- | :------------------------------------------------------------------------------------- |

179| リモート(HTTP または SSE) | `serverUrl` エントリ。`serverName` 一致は、許可リストに `serverUrl` エントリが含まれていない場合にのみカウントされます |

180| Stdio | `serverCommand` エントリ。`serverName` 一致は、許可リストに `serverCommand` エントリが含まれていない場合にのみカウントされます |

181 

182これらのチェック内で 2 つの一致ルールが適用されます。

183 

184* **コマンドは正確に一致します。** すべての引数、順序通り。`["npx", "-y", "server"]` は `["npx", "server"]` または `["npx", "-y", "server", "--flag"]` と一致しません。

185* **URL は `*` ワイルドカード** をパターン内の任意の場所(スキームを含む)でサポートします。ホスト名の一致は大文字と小文字を区別しません。末尾の FQDN ドットを無視します。したがって、`https://Mcp.Example.com/*` は `https://mcp.example.com/api` と一致します。パスは大文字と小文字を区別したままです。

186 

187| パターン | 許可 |

188| :-------------------------- | :------------------------------------ |

189| `https://mcp.example.com/*` | 特定のドメイン上のすべてのパス |

190| `https://mcp.example.com` | そのドメイン上のすべてのパスも。パスのないパターンは任意のパスと一致します |

191| `https://*.example.com/*` | `example.com` の任意のサブドメイン |

192| `http://localhost:*/*` | localhost 上の任意のポート |

193| `*://mcp.example.com/*` | 特定のドメインへの任意のスキーム |

194 

195<h3 id="example-configuration">

196 設定例

197</h3>

198 

199以下の設定は、ブロックリストを含むハード許可リストを設定します。強調表示された行は、リストの残りの部分がどのように評価されるかを変更し、ブロック後のコールアウトは各行を説明しています。

200 

201```json {3,5,11} theme={null}

202{

203 "allowedMcpServers": [

204 { "serverUrl": "https://api.githubcopilot.com/*" },

205 { "serverUrl": "https://mcp.sentry.dev/*" },

206 { "serverCommand": ["npx", "-y", "@modelcontextprotocol/server-filesystem", "."] },

207 { "serverCommand": ["python", "/usr/local/bin/approved-server.py"] },

208 { "serverUrl": "https://mcp.example.com/*" },

209 { "serverUrl": "https://*.internal.example.com/*" }

210 ],

211 "deniedMcpServers": [

212 { "serverName": "dangerous-server" },

213 { "serverCommand": ["npx", "-y", "unapproved-package"] },

214 { "serverUrl": "https://*.untrusted.example.com/*" }

215 ]

216}

217```

218 

219* **3 行目**:最初の `serverUrl` エントリ。1 つが存在すると、すべてのリモートサーバーが URL パターンと一致する必要があるため、ユーザーは許可された名前を付けることで許可されていないリモートサーバーを取得することはできません。

220* **5 行目**:最初の `serverCommand` エントリ。stdio サーバーでも同じ効果があるため、すべてのローカルサーバーが正確にリストされたコマンドと一致する必要があります。

221* **11 行目**:ブロックリスト内の `serverName` エントリ。ブロックリストエントリは常に適用されるため、`dangerous-server` という名前のサーバーは URL またはコマンドに関係なくブロックされます。

222 

223この許可リスト内の `serverName` エントリは、両方のトランスポートタイプが既に厳密なエントリを持っているため、何とも一致しません。

224 

225以下のアコーディオンは、他の許可リストとブロックリストの組み合わせに対してサーバーがどのように評価されるかについて説明しています。

226 

227<Accordion title="URL のみの許可リスト">

228 ```json theme={null}

229 {

230 "allowedMcpServers": [

231 { "serverUrl": "https://mcp.example.com/*" },

232 { "serverUrl": "https://*.internal.example.com/*" }

233 ]

234 }

235 ```

236 

237 | サーバー | 結果 |

238 | :------------------------------------------------- | :--------------------------- |

239 | `https://mcp.example.com/api` の HTTP サーバー | 許可:URL パターンと一致 |

240 | `https://api.internal.example.com/mcp` の HTTP サーバー | 許可:ワイルドカードサブドメインと一致 |

241 | `https://external.example.com/mcp` の HTTP サーバー | ブロック:URL パターンと一致しません |

242 | 任意のコマンドを持つ Stdio サーバー | ブロック:一致する名前またはコマンドエントリがありません |

243</Accordion>

244 

245<Accordion title="コマンドのみの許可リスト">

246 ```json theme={null}

247 {

248 "allowedMcpServers": [

249 { "serverCommand": ["npx", "-y", "approved-package"] }

250 ]

251 }

252 ```

253 

254 | サーバー | 結果 |

255 | :------------------------------------------------- | :-------------------- |

256 | `["npx", "-y", "approved-package"]` を持つ Stdio サーバー | 許可:コマンドと一致 |

257 | `["node", "server.js"]` を持つ Stdio サーバー | ブロック:コマンドと一致しません |

258 | `my-api` という名前の HTTP サーバー | ブロック:一致する名前エントリがありません |

259</Accordion>

260 

261<Accordion title="混合名とコマンド許可リスト">

262 ```json theme={null}

263 {

264 "allowedMcpServers": [

265 { "serverName": "github" },

266 { "serverCommand": ["npx", "-y", "approved-package"] }

267 ]

268 }

269 ```

270 

271 | サーバー | 結果 |

272 | :--------------------------------------------------------------------- | :----------------------------------------------- |

273 | `local-tool` という名前で `["npx", "-y", "approved-package"]` を持つ Stdio サーバー | 許可:コマンドと一致 |

274 | `local-tool` という名前で `["node", "server.js"]` を持つ Stdio サーバー | ブロック:コマンドエントリが存在しますが一致しません |

275 | `github` という名前で `["node", "server.js"]` を持つ Stdio サーバー | ブロック:stdio サーバーはコマンドエントリが存在する場合、コマンドと一致する必要があります |

276 | `github` という名前の HTTP サーバー | 許可:名前と一致 |

277 | `other-api` という名前の HTTP サーバー | ブロック:名前が一致しません |

278</Accordion>

279 

280<Accordion title="名前のみの許可リスト">

281 ```json theme={null}

282 {

283 "allowedMcpServers": [

284 { "serverName": "github" },

285 { "serverName": "internal-tool" }

286 ]

287 }

288 ```

289 

290 | サーバー | 結果 |

291 | :------------------------------------------- | :------------- |

292 | 任意のコマンドを持つ `github` という名前の Stdio サーバー | 許可:コマンド制限なし |

293 | 任意のコマンドを持つ `internal-tool` という名前の Stdio サーバー | 許可:コマンド制限なし |

294 | `github` という名前の HTTP サーバー | 許可:名前と一致 |

295 | `other` という名前の任意のサーバー | ブロック:名前が一致しません |

296</Accordion>

297 

298<Accordion title="ブロックリストオーバーライド付き許可リスト">

299 ```json theme={null}

300 {

301 "allowedMcpServers": [

302 { "serverUrl": "https://*.example.com/*" }

303 ],

304 "deniedMcpServers": [

305 { "serverUrl": "https://staging.example.com/*" }

306 ]

307 }

308 ```

309 

310 | サーバー | 結果 |

311 | :-------------------------------------------- | :------------------------------- |

312 | `https://mcp.example.com/api` の HTTP サーバー | 許可:許可リスト URL パターンと一致、ブロックリスト一致なし |

313 | `https://staging.example.com/api` の HTTP サーバー | ブロック:両方と一致しますが、ブロックリストが優先されます |

314 | `https://other.com/mcp` の HTTP サーバー | ブロック:許可リストと一致しません |

315</Accordion>

316 

317<h3 id="restrict-the-allowlist-to-managed-settings-only">

318 許可リストを管理設定のみに制限する

319</h3>

320 

321管理対象許可リストが適用される唯一のものにするには、管理設定ファイルで `allowManagedMcpServersOnly` を設定します。

322 

323```json theme={null}

324{

325 "allowManagedMcpServersOnly": true,

326 "allowedMcpServers": [

327 { "serverUrl": "https://api.githubcopilot.com/*" },

328 { "serverUrl": "https://*.internal.example.com/*" }

329 ]

330}

331```

332 

333`allowManagedMcpServersOnly` が `true` の場合、ユーザー、プロジェクト、ローカル設定からの許可リストは無視されます。ブロックリストはすべてのソースからマージされるため、ユーザーは常に自分自身のサーバーをブロックできます。

334 

335<h2 id="how-restrictions-appear-to-users">

336 制限がユーザーにどのように表示されるか

337</h2>

338 

339制限がサーバーをブロックすると、ユーザーは `claude mcp add` からエラーを表示するか、サーバーが静かに読み込みを停止します。このテーブルを使用して、これらのレポートを認識し、変更をロールアウトする前にユーザーに何が起こるかを伝えます。

340 

341| 制限 | ユーザーが表示するもの |

342| :--------------------------------------------------- | :--------------------------------------------------------------------------------------------------------- |

343| `managed-mcp.json` が存在し、ユーザーが `claude mcp add` を実行する | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |

344| サーバーがブロックリスト上にあり、ユーザーが `claude mcp add` を実行する | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

345| サーバーが許可リスト上にはなく、ユーザーが `claude mcp add` を実行する | `Cannot add MCP server "<name>": not allowed by enterprise policy` |

346| 以前に設定されたサーバーがポリシーによってブロックされるようになった | サーバーは `/mcp` と `claude mcp list` から警告なく静かに消えます |

347 

348最後のケースでは、ユーザーはポリシーがサーバーが消えた理由であることについてシグナルを取得しません。新しい制限をロールアウトするときに、影響を受けるユーザーにどのサーバーがブロックされているかを伝えます。

349 

350<h2 id="monitor-mcp-usage">

351 MCP 使用状況を監視する

352</h2>

353 

354[OpenTelemetry エクスポート](/ja/monitoring-usage)が設定されている場合、Claude Code はユーザーが呼び出す MCP サーバーとツールを記録できます。`OTEL_LOG_TOOL_DETAILS=1` を設定して、ツールイベントに MCP サーバーとツール名を含めます。その後、コレクターで集計して、ユーザーが実際に接続するサーバーを確認します。エクスポーターを設定し、完全なイベントスキーマについては、[監視](/ja/monitoring-usage)を参照してください。

355 

356<h2 id="configuration-summary">

357 設定の概要

358</h2>

359 

360このページで説明するすべてのファイルと設定、それが制御するもの、および配信方法:

361 

362| サーフェス | 制御するもの | 場所 | 配信方法 |

363| :--------------------------- | :--------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |

364| `managed-mcp.json` | 固定サーバーセット、排他的制御 | システムパス:`/Library/Application Support/ClaudeCode/`、`/etc/claude-code/`、または `C:\Program Files\ClaudeCode\` | MDM、GPO、フリート管理、または管理者権限を持つプロセス。サーバー管理設定を通じて設定することはできません |

365| `allowedMcpServers` | 許可されたサーバーの許可リスト | 任意の [設定ファイル](/ja/settings#settings-files)。`allowManagedMcpServersOnly` が設定されていない限り、すべてのソースからのエントリがマージされます | 実施のため、[管理設定ソース](/ja/admin-setup#decide-how-settings-reach-devices):サーバー管理設定、`managed-settings.json`、MDM プロファイル、またはレジストリ |

366| `deniedMcpServers` | ブロックされたサーバーのブロックリスト | 任意の設定ファイル。すべてのソースからのエントリがマージされます | `allowedMcpServers` と同じ |

367| `allowManagedMcpServersOnly` | 許可リストを管理ソースのみにロックします | 管理設定ソースのみ。設定は他の場所では効果がありません | `allowedMcpServers` と同じ |

368| `allowAllClaudeAiMcps` | `managed-mcp.json` と一緒に claude.ai コネクタを読み込みます。これらを抑制する代わりに | 管理設定ソースのみ。設定は他の場所では効果がありません | `allowedMcpServers` と同じ |

369 

370<h2 id="related-resources">

371 関連リソース

372</h2>

373 

374* [実施する内容を決定する](/ja/admin-setup#decide-what-to-enforce):MCP 制限と権限ルール、サンドボックス化、および他の管理制御

375* [MCP 経由で Claude Code をツールに接続する](/ja/mcp):トランスポート、スコープ、認証を含む完全な MCP リファレンス

376* [設定](/ja/settings):設定階層と管理設定がどのように優先されるか

377* [サーバー管理設定](/ja/server-managed-settings):Claude.ai 管理コンソールから `allowedMcpServers` と `deniedMcpServers` を配信します

378* [セキュリティ](/ja/security):これらの制御が防御する脅威モデル

379* [Claude Enterprise Administrator Guide](https://claude.com/resources/tutorials/claude-enterprise-administrator-guide):SSO、SCIM、シート管理、およびロールアウトプレイブック

mcp.md +32 −232

Details

10 10 

11別のツール(課題追跡ツールや監視ダッシュボードなど)からチャットにデータをコピーしている場合は、サーバーを接続してください。接続すると、Claude は貼り付けたものから作業する代わりに、そのシステムを直接読み取り、操作できます。11別のツール(課題追跡ツールや監視ダッシュボードなど)からチャットにデータをコピーしている場合は、サーバーを接続してください。接続すると、Claude は貼り付けたものから作業する代わりに、そのシステムを直接読み取り、操作できます。

12 12 

13初めてサーバーを接続する場合は、ステップバイステップのウォークスルーについて [MCP クイックスタート](/ja/mcp-quickstart) から始めてください。このページは完全なリファレンスです。

14 

13## MCP でできること15## MCP でできること

14 16 

15MCP サーバーが接続されている場合、Claude Code に以下のことを依頼できます:17MCP サーバーが接続されている場合、Claude Code に以下のことを依頼できます:


41 /plugin install mcp-server-dev@claude-plugins-official43 /plugin install mcp-server-dev@claude-plugins-official

42 ```44 ```

43 45 

44 次に `/reload-plugins` を実行して、現在のセッションでアクティブにします。46 Claude Code がマーケットプレイスが見つからないと報告する場合は、まず `/plugin marketplace add anthropics/claude-plugins-official` を実行してから、インストールを再試行してください。インストール後、`/reload-plugins` を実行して、現在のセッションでアクティブにします。

45 </Step>47 </Step>

46 48 

47 <Step title="ビルドスキルを実行する">49 <Step title="ビルドスキルを実行する">


55 57 

56## MCP サーバーのインストール58## MCP サーバーのインストール

57 59 

58MCP サーバーは、ニーズに応じて 3 つの異なる方法で設定できます60MCP サーバーは、ニーズに応じて複数の方法で設定できます

59 61 

60### オプション 1:リモート HTTP サーバーを追加する62### オプション 1:リモート HTTP サーバーを追加する

61 63 


123 これにより、Claude のフラグとサーバーのフラグの間の競合を防ぎます。125 これにより、Claude のフラグとサーバーのフラグの間の競合を防ぎます。

124</Note>126</Note>

125 127 

128### オプション 4:リモート WebSocket サーバーを追加する

129 

130WebSocket サーバーは永続的な双方向接続を保持し、Claude に予期しないイベントをプッシュするリモート MCP サーバーに適しています。サーバーがリクエストにのみ応答する場合は HTTP を使用してください。HTTP は OAuth と `claude mcp add --transport` フラグをサポートしていますが、WebSocket はどちらもサポートしていません。

131 

132WebSocket サーバーを `.mcp.json` または `claude mcp add-json` で設定します:

133 

134```bash theme={null}

135claude mcp add-json events-server \

136 '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'

137```

138 

139`type: "ws"` エントリは `http` と同じ `url`、`headers`、`headersHelper`、`timeout`、`alwaysLoad` フィールドを受け入れます。認証はヘッダーのみなので、`headers` に静的トークンを渡すか、[`headersHelper`](#use-dynamic-headers-for-custom-authentication) で接続時に生成してください。`claude mcp add --transport` フラグは `ws` を受け入れません。

140 

126### サーバーの管理141### サーバーの管理

127 142 

128設定後、これらのコマンドで MCP サーバーを管理できます:143設定後、これらのコマンドで MCP サーバーを管理できます:


141/mcp156/mcp

142```157```

143 158 

159`.mcp.json` からのプロジェクトスコープサーバーで承認待ちのものは、`claude mcp list` に `⏸ Pending approval` として表示されます。`claude` をインタラクティブに実行して、それらを確認して承認してください。`claude mcp get <name>` は保留中のサーバーを `⏸ Pending approval` として表示し、拒否されたサーバーを `✗ Rejected` として表示します。

160 

144`/mcp` パネルは、接続されている各サーバーの横にツール数を表示し、ツール機能をアドバタイズしているが、ツールを公開していないサーバーにフラグを立てます。161`/mcp` パネルは、接続されている各サーバーの横にツール数を表示し、ツール機能をアドバタイズしているが、ツールを公開していないサーバーにフラグを立てます。

145 162 

146リクエストがまだバックグラウンドで接続中のサーバーからのツールを必要とする場合、Claude はそのサーバーが接続されるまで待機してから続行します。デフォルトで有効になっている [ツール検索](#scale-with-mcp-tool-search) を使用すると、待機は `ToolSearch` 呼び出し内で発生します。Vertex AI、カスタム `ANTHROPIC_BASE_URL`、または `ENABLE_TOOL_SEARCH=false` などのツール検索がない設定では、Claude は代わりに `WaitForMcpServers` ツールを使用します。163リクエストがまだバックグラウンドで接続中のサーバーからのツールを必要とする場合、Claude はそのサーバーが接続されるまで待機してから続行します。デフォルトで有効になっている [ツール検索](#scale-with-mcp-tool-search) を使用すると、待機は `ToolSearch` 呼び出し内で発生します。Vertex AI、カスタム `ANTHROPIC_BASE_URL`、または `ENABLE_TOOL_SEARCH=false` などのツール検索がない設定では、Claude は代わりに `WaitForMcpServers` ツールを使用します。


170 * `user`:すべてのプロジェクト全体で利用可能(古いバージョンでは `global` と呼ばれていました)187 * `user`:すべてのプロジェクト全体で利用可能(古いバージョンでは `global` と呼ばれていました)

171 * `--env` フラグで環境変数を設定します(例:`--env KEY=value`)188 * `--env` フラグで環境変数を設定します(例:`--env KEY=value`)

172 * `MCP_TIMEOUT` 環境変数を使用して MCP サーバーのスタートアップタイムアウトを設定します(例:`MCP_TIMEOUT=10000 claude` は 10 秒のタイムアウトを設定します)189 * `MCP_TIMEOUT` 環境変数を使用して MCP サーバーのスタートアップタイムアウトを設定します(例:`MCP_TIMEOUT=10000 claude` は 10 秒のタイムアウトを設定します)

190 * サーバーごとのツール実行タイムアウトを設定するには、そのサーバーの `.mcp.json` エントリに `timeout` フィールドをミリ秒単位で追加します。例えば、10 分の場合は `"timeout": 600000` です。これはそのサーバーのみの `MCP_TOOL_TIMEOUT` 環境変数をオーバーライドします

173 * Claude Code は MCP ツール出力が 10,000 トークンを超えると警告を表示します。この制限を増やすには、`MAX_MCP_OUTPUT_TOKENS` 環境変数を設定します(例:`MAX_MCP_OUTPUT_TOKENS=50000`)191 * Claude Code は MCP ツール出力が 10,000 トークンを超えると警告を表示します。この制限を増やすには、`MAX_MCP_OUTPUT_TOKENS` 環境変数を設定します(例:`MAX_MCP_OUTPUT_TOKENS=50000`)

174 * `/mcp` を使用して、OAuth 2.0 認証が必要なリモートサーバーで認証します192 * `/mcp` を使用して、OAuth 2.0 認証が必要なリモートサーバーで認証します

175</Tip>193</Tip>

176 194 

195サーバーごとの `timeout` はツール呼び出しごとのハードウォールクロック制限であり、サーバーからの進捗通知はそれを延長しません。1000 未満の値は 1 秒に切り下げられます。HTTP および SSE サーバーの場合、リクエストごとのフェッチ最初バイト予算には、この値に関係なく 60 秒の最小値があるため、ツール呼び出しウォッチドッグのみが小さい値を尊重します。

196 

177### プラグイン提供の MCP サーバー197### プラグイン提供の MCP サーバー

178 198 

179[プラグイン](/ja/plugins) は MCP サーバーをバンドルでき、プラグインが有効になると自動的にツールと統合を提供します。プラグイン MCP サーバーはユーザーが設定したサーバーと同じように機能します。199[プラグイン](/ja/plugins) は MCP サーバーをバンドルでき、プラグインが有効になると自動的にツールと統合を提供します。プラグイン MCP サーバーはユーザーが設定したサーバーと同じように機能します。


222* **自動ライフサイクル**:セッション起動時に、有効なプラグインのサーバーが自動的に接続されます。セッション中にプラグインを有効または無効にする場合は、`/reload-plugins` を実行して MCP サーバーを接続または切断してください242* **自動ライフサイクル**:セッション起動時に、有効なプラグインのサーバーが自動的に接続されます。セッション中にプラグインを有効または無効にする場合は、`/reload-plugins` を実行して MCP サーバーを接続または切断してください

223* **環境変数**:バンドルされたプラグインファイルに `${CLAUDE_PLUGIN_ROOT}` を使用し、プラグイン更新を通じて保持される [永続的な状態](/ja/plugins-reference#persistent-data-directory) に `${CLAUDE_PLUGIN_DATA}` を使用し、安定したプロジェクトルートに `${CLAUDE_PROJECT_DIR}` を使用します243* **環境変数**:バンドルされたプラグインファイルに `${CLAUDE_PLUGIN_ROOT}` を使用し、プラグイン更新を通じて保持される [永続的な状態](/ja/plugins-reference#persistent-data-directory) に `${CLAUDE_PLUGIN_DATA}` を使用し、安定したプロジェクトルートに `${CLAUDE_PROJECT_DIR}` を使用します

224* **ユーザー環境アクセス**:手動で設定されたサーバーと同じ環境変数へのアクセス244* **ユーザー環境アクセス**:手動で設定されたサーバーと同じ環境変数へのアクセス

225* **複数のトランスポートタイプ**:stdio、SSE、HTTP トランスポートをサポート(トランスポートサポートはサーバーによって異なる場合があります)245* **複数のトランスポートタイプ**:stdio、SSE、HTTP、WebSocket トランスポートをサポート(トランスポートサポートはサーバーによって異なる場合があります)

226 246 

227**プラグイン MCP サーバーの表示**:247**プラグイン MCP サーバーの表示**:

228 248 


320 340 

321### スコープの階層と優先順位341### スコープの階層と優先順位

322 342 

323同じサーバーが複数の場所で定義されている場合、Claude Code はそれに 1 回接続し、最も優先度の高いソースからの定義を使用します343同じサーバーが複数の場所で定義されている場合、Claude Code はそれに 1 回接続し、最も優先度の高いソースからの定義を使用します。その定義全体が使用され、フィールドはスコープ全体でマージされません。

324 344 

3251. ローカルスコープ3451. ローカルスコープ

3262. プロジェクトスコープ3462. プロジェクトスコープ


462 482 

463Claude Code は、サーバーが `401 Unauthorized` または `403 Forbidden` で応答するときに、リモートサーバーが認証を必要とするとマークします。どちらのステータスコードでも、サーバーは `/mcp` でフラグが立てられ、OAuth フローを完了できます。認可サーバーを指す `WWW-Authenticate` ヘッダーを返すカスタムサーバーは、他のリモートサーバーと同じ自動検出を取得します。483Claude Code は、サーバーが `401 Unauthorized` または `403 Forbidden` で応答するときに、リモートサーバーが認証を必要とするとマークします。どちらのステータスコードでも、サーバーは `/mcp` でフラグが立てられ、OAuth フローを完了できます。認可サーバーを指す `WWW-Authenticate` ヘッダーを返すカスタムサーバーは、他のリモートサーバーと同じ自動検出を取得します。

464 484 

485`headers.Authorization` をサーバー用に設定し、サーバーがそのヘッダーを拒否する場合、Claude Code は OAuth にフォールバックするのではなく、接続が失敗したと報告します。トークンが MCP エンドポイント用に有効であることを確認するか、OAuth フローを使用するためにヘッダーを削除してください。

486 

465<Steps>487<Steps>

466 <Step title="認証が必要なサーバーを追加する">488 <Step title="認証が必要なサーバーを追加する">

467 例:489 例:


766 </Step>788 </Step>

767</Steps>789</Steps>

768 790 

791v2.1.161 以降、以前にサインインしたことのないコネクタは、claude.ai セクションの最後にある `Show unused connectors` 行の背後に折りたたまれているため、組織がプロビジョニングしたリストがパネルを埋めることはありません。その行を選択して展開します。以前にサインインしたコネクタは、現在再認証が必要な場合でも表示されたままです。

792 

793Claude.ai コネクタは、アクティブな [認証方法](/ja/authentication#authentication-precedence) が Claude.ai サブスクリプションである場合にのみ取得されます。`ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、`apiKeyHelper`、または Bedrock や Vertex などのサードパーティプロバイダーがアクティブな場合は読み込まれません。以前に `/login` を実行した場合でも同様です。`/mcp` で追加したコネクタがリストされない場合は、`/status` を実行してアクティブな認証方法を確認し、その環境変数を設定解除するか `apiKeyHelper` 設定を削除してから、`/login` を実行して Claude.ai アカウントを選択します。

794 

769Claude Code で追加したサーバーは、同じ URL を指す claude.ai コネクタより [優先](#scope-hierarchy-and-precedence) されます。この場合、`/mcp` はコネクタを非表示としてリストし、代わりにコネクタを使用する場合は重複を削除する方法を表示します。795Claude Code で追加したサーバーは、同じ URL を指す claude.ai コネクタより [優先](#scope-hierarchy-and-precedence) されます。この場合、`/mcp` はコネクタを非表示としてリストし、代わりにコネクタを使用する場合は重複を削除する方法を表示します。

770 796 

771Claude Code で claude.ai MCP サーバーを無効にするには、`ENABLE_CLAUDEAI_MCP_SERVERS` 環境変数を `false` に設定します:797Claude Code で claude.ai MCP サーバーを無効にするには、`ENABLE_CLAUDEAI_MCP_SERVERS` 環境変数を `false` に設定します:


933 959 

934## MCP ツール検索でスケーリングする960## MCP ツール検索でスケーリングする

935 961 

936ツール検索は MCP コンテキスト使用量を低く保つことで、ツール定義をオンデマンドで遅延させます。セッション開始時にはツール名のみがロードされるため、より多くの MCP サーバーを追加してもコンテキストウィンドウへの影響は最小限です。962ツール検索は MCP コンテキスト使用量を低く保つことで、ツール定義をオンデマンドで遅延させます。セッション開始時にはツール名とサーバー命令のみがロードされるため、より多くの MCP サーバーを追加してもコンテキストウィンドウへの影響は最小限です。

937 963 

938### 仕組み964### 仕組み

939 965 


1052 1078 

1053## 管理対象 MCP 設定1079## 管理対象 MCP 設定

1054 1080 

1055MCP サーバーの集中管理が必要な組織の場合Claude Code 2 つの設定オプションをサポートしています:1081MCP サーバーへのアクセスを集中管理する必要がある組織の場合は[管理対象 MCP 設定](/ja/managed-mcp)を参照してください。`managed-mcp.json` を使用した固定サーバーセットのデプロイ、`allowedMcpServers` と `deniedMcpServers` によるサーバーの制限、およびサーバーがブロックされた場合にユーザーに表示される内容について説明しています。

1056 

10571. **`managed-mcp.json` による排他的制御**:ユーザーが変更または拡張できない固定の MCP サーバーセットをデプロイします

10582. **許可リスト/拒否リストによるポリシーベースの制御**:ユーザーが独自のサーバーを追加できるようにしますが、許可されているサーバーを制限します

1059 

1060これらのオプションにより、IT 管理者は以下を実行できます:

1061 

1062* **従業員がアクセスできる MCP サーバーを制御する**:組織全体で承認された MCP サーバーの標準化されたセットをデプロイします

1063* **不正な MCP サーバーを防止する**:ユーザーが未承認の MCP サーバーを追加するのを制限します

1064* **MCP を完全に無効にする**:必要に応じて MCP 機能を完全に削除します

1065 

1066### オプション 1:`managed-mcp.json` による排他的制御

1067 

1068`managed-mcp.json` ファイルをデプロイすると、すべての MCP サーバーに対して**排他的な制御**が行われます。ユーザーはこのファイルで定義されているもの以外の MCP サーバーを追加、変更、または使用することはできません。これは、完全な制御を望む組織にとって最も単純なアプローチです。

1069 

1070システム管理者は、設定ファイルをシステム全体のディレクトリにデプロイします:

1071 

1072* macOS:`/Library/Application Support/ClaudeCode/managed-mcp.json`

1073* Linux および WSL:`/etc/claude-code/managed-mcp.json`

1074* Windows:`C:\Program Files\ClaudeCode\managed-mcp.json`

1075 

1076<Note>

1077 これらはシステム全体のパス(`~/Library/...` のようなユーザーホームディレクトリではない)であり、管理者権限が必要です。IT 管理者によってデプロイされるように設計されています。

1078</Note>

1079 

1080`managed-mcp.json` ファイルは標準的な `.mcp.json` ファイルと同じ形式を使用します:

1081 

1082```json theme={null}

1083{

1084 "mcpServers": {

1085 "github": {

1086 "type": "http",

1087 "url": "https://api.githubcopilot.com/mcp/"

1088 },

1089 "sentry": {

1090 "type": "http",

1091 "url": "https://mcp.sentry.dev/mcp"

1092 },

1093 "company-internal": {

1094 "type": "stdio",

1095 "command": "/usr/local/bin/company-mcp-server",

1096 "args": ["--config", "/etc/company/mcp-config.json"],

1097 "env": {

1098 "COMPANY_API_URL": "https://internal.company.com"

1099 }

1100 }

1101 }

1102}

1103```

1104 

1105### オプション 2:許可リストと拒否リストによるポリシーベースの制御

1106 

1107排他的な制御を行う代わりに、管理者はユーザーが独自の MCP サーバーを設定できるようにしながら、許可されているサーバーに制限を適用できます。このアプローチは、[管理対象設定ファイル](/ja/settings#settings-files)の `allowedMcpServers` と `deniedMcpServers` を使用します。

1108 

1109<Note>

1110 **オプションの選択**:固定のサーバーセットをデプロイしてユーザーのカスタマイズを行わない場合はオプション 1(`managed-mcp.json`)を使用します。ユーザーがポリシー制約内で独自のサーバーを追加できるようにする場合はオプション 2(許可リスト/拒否リスト)を使用します。

1111</Note>

1112 

1113#### 制限オプション

1114 

1115許可リストまたは拒否リストの各エントリは、3 つの方法でサーバーを制限できます:

1116 

11171. **サーバー名による** (`serverName`):設定されたサーバーの名前と一致します

11182. **コマンドによる** (`serverCommand`):stdio サーバーを起動するために使用される正確なコマンドと引数と一致します

11193. **URL パターンによる** (`serverUrl`):ワイルドカードサポート付きのリモートサーバー URL と一致します

1120 

1121**重要**:各エントリは `serverName`、`serverCommand`、または `serverUrl` のいずれか 1 つだけを持つ必要があります。

1122 

1123#### 設定例

1124 

1125```json theme={null}

1126{

1127 "allowedMcpServers": [

1128 // サーバー名で許可

1129 { "serverName": "github" },

1130 { "serverName": "sentry" },

1131 

1132 // 正確なコマンドで許可(stdio サーバーの場合)

1133 { "serverCommand": ["npx", "-y", "@modelcontextprotocol/server-filesystem"] },

1134 { "serverCommand": ["python", "/usr/local/bin/approved-server.py"] },

1135 

1136 // URL パターンで許可(リモートサーバーの場合)

1137 { "serverUrl": "https://mcp.company.com/*" },

1138 { "serverUrl": "https://*.internal.corp/*" }

1139 ],

1140 "deniedMcpServers": [

1141 // サーバー名でブロック

1142 { "serverName": "dangerous-server" },

1143 

1144 // 正確なコマンドでブロック(stdio サーバーの場合)

1145 { "serverCommand": ["npx", "-y", "unapproved-package"] },

1146 

1147 // URL パターンでブロック(リモートサーバーの場合)

1148 { "serverUrl": "https://*.untrusted.com/*" }

1149 ]

1150}

1151```

1152 

1153#### コマンドベースの制限の仕組み

1154 

1155**完全一致**:

1156 

1157* コマンド配列は**完全に**一致する必要があります。コマンドと正しい順序のすべての引数

1158* 例:`["npx", "-y", "server"]` は `["npx", "server"]` または `["npx", "-y", "server", "--flag"]` と一致しません

1159 

1160**Stdio サーバーの動作**:

1161 

1162* 許可リストに**任意の** `serverCommand` エントリが含まれている場合、stdio サーバーはそれらのコマンドの 1 つと一致する必要があります

1163* Stdio サーバーはコマンド制限が存在する場合、名前だけでは通過できません

1164* これにより、管理者は実行が許可されているコマンドを強制できます

1165 

1166**非 stdio サーバーの動作**:

1167 

1168* リモートサーバー(HTTP、SSE、WebSocket)は、許可リストに `serverUrl` エントリが存在する場合、URL ベースのマッチングを使用します

1169* URL エントリが存在しない場合、リモートサーバーは名前ベースのマッチングにフォールバックします

1170* コマンド制限はリモートサーバーには適用されません

1171 

1172#### URL ベースの制限の仕組み

1173 

1174URL パターンは `*` を使用してワイルドカードをサポートし、任意の文字シーケンスと一致します。これはドメイン全体またはサブドメイン全体を許可するのに役立ちます。

1175 

1176**ワイルドカード例**:

1177 

1178* `https://mcp.company.com/*` - 特定のドメイン上のすべてのパスを許可

1179* `https://*.example.com/*` - example.com の任意のサブドメインを許可

1180* `http://localhost:*/*` - localhost 上の任意のポートを許可

1181 

1182ホスト名マッチングは大文字と小文字を区別せず、末尾の FQDN ドットを無視し、DNS セマンティクスと一致します。`*://Mcp.Example.com/*` のようなパターンは `https://mcp.example.com/api` と一致し、`https://mcp.example.com.` は `https://mcp.example.com` と同じように扱われます。スキームとパスは大文字と小文字を区別します。

1183 

1184**リモートサーバーの動作**:

1185 

1186* 許可リストに**任意の** `serverUrl` エントリが含まれている場合、リモートサーバーはそれらの URL パターンの 1 つと一致する必要があります

1187* リモートサーバーは URL 制限が存在する場合、名前だけでは通過できません

1188* これにより、管理者は許可されているリモートエンドポイントを強制できます

1189 

1190<Accordion title="例:URL のみの許可リスト">

1191 ```json theme={null}

1192 {

1193 "allowedMcpServers": [

1194 { "serverUrl": "https://mcp.company.com/*" },

1195 { "serverUrl": "https://*.internal.corp/*" }

1196 ]

1197 }

1198 ```

1199 

1200 **結果**:

1201 

1202 * `https://mcp.company.com/api` の HTTP サーバー:✅ 許可(URL パターンと一致)

1203 * `https://api.internal.corp/mcp` の HTTP サーバー:✅ 許可(ワイルドカードサブドメインと一致)

1204 * `https://external.com/mcp` の HTTP サーバー:❌ ブロック(URL パターンと一致しない)

1205 * 任意のコマンドの Stdio サーバー:❌ ブロック(一致する名前またはコマンドエントリがない)

1206</Accordion>

1207 

1208<Accordion title="例:コマンドのみの許可リスト">

1209 ```json theme={null}

1210 {

1211 "allowedMcpServers": [

1212 { "serverCommand": ["npx", "-y", "approved-package"] }

1213 ]

1214 }

1215 ```

1216 

1217 **結果**:

1218 

1219 * `["npx", "-y", "approved-package"]` の Stdio サーバー:✅ 許可(コマンドと一致)

1220 * `["node", "server.js"]` の Stdio サーバー:❌ ブロック(コマンドと一致しない)

1221 * 「my-api」という名前の HTTP サーバー:❌ ブロック(一致する名前エントリがない)

1222</Accordion>

1223 

1224<Accordion title="例:混合名とコマンド許可リスト">

1225 ```json theme={null}

1226 {

1227 "allowedMcpServers": [

1228 { "serverName": "github" },

1229 { "serverCommand": ["npx", "-y", "approved-package"] }

1230 ]

1231 }

1232 ```

1233 

1234 **結果**:

1235 

1236 * 「local-tool」という名前で `["npx", "-y", "approved-package"]` の Stdio サーバー:✅ 許可(コマンドと一致)

1237 * 「local-tool」という名前で `["node", "server.js"]` の Stdio サーバー:❌ ブロック(コマンドエントリが存在しますが一致しない)

1238 * 「github」という名前で `["node", "server.js"]` の Stdio サーバー:❌ ブロック(stdio サーバーはコマンドエントリが存在する場合、コマンドと一致する必要があります)

1239 * 「github」という名前の HTTP サーバー:✅ 許可(名前と一致)

1240 * 「other-api」という名前の HTTP サーバー:❌ ブロック(名前と一致しない)

1241</Accordion>

1242 

1243<Accordion title="例:名前のみの許可リスト">

1244 ```json theme={null}

1245 {

1246 "allowedMcpServers": [

1247 { "serverName": "github" },

1248 { "serverName": "internal-tool" }

1249 ]

1250 }

1251 ```

1252 

1253 **結果**:

1254 

1255 * 任意のコマンドで「github」という名前の Stdio サーバー:✅ 許可(コマンド制限なし)

1256 * 任意のコマンドで「internal-tool」という名前の Stdio サーバー:✅ 許可(コマンド制限なし)

1257 * 「github」という名前の HTTP サーバー:✅ 許可(名前と一致)

1258 * 「other」という名前のサーバー:❌ ブロック(名前と一致しない)

1259</Accordion>

1260 

1261#### 許可リストの動作(`allowedMcpServers`)

1262 

1263* `undefined`(デフォルト):制限なし。ユーザーは任意の MCP サーバーを設定できます

1264* 空の配列 `[]`:完全なロックダウン。ユーザーは MCP サーバーを設定できません

1265* エントリのリスト:ユーザーは名前、コマンド、または URL パターンで一致するサーバーのみを設定できます

1266 

1267#### 拒否リストの動作(`deniedMcpServers`)

1268 

1269* `undefined`(デフォルト):サーバーはブロックされません

1270* 空の配列 `[]`:サーバーはブロックされません

1271* エントリのリスト:指定されたサーバーはすべてのスコープ全体で明示的にブロックされます

1272 

1273#### 重要な注意事項

1274 

1275* **オプション 1 とオプション 2 を組み合わせることができます**:`managed-mcp.json` が存在する場合、排他的な制御があり、ユーザーはサーバーを追加できません。許可リスト/拒否リストは管理対象サーバー自体に引き続き適用されます。

1276* **拒否リストは絶対的な優先順位を持ちます**:サーバーが拒否リストエントリ(名前、コマンド、または URL による)と一致する場合、許可リストに含まれていても、ブロックされます

1277* 名前ベース、コマンドベース、URL ベースの制限は一緒に機能します:サーバーは名前エントリ、コマンドエントリ、または URL パターンのいずれかと一致する場合に通過します(拒否リストでブロックされていない限り)

1278 

1279<Note>

1280 **`managed-mcp.json` を使用する場合**:ユーザーは `claude mcp add` または設定ファイルを通じて MCP サーバーを追加できません。`allowedMcpServers` と `deniedMcpServers` の設定は、実際にロードされる管理対象サーバーをフィルタリングするために引き続き適用されます。

1281</Note>

mcp-quickstart.md +407 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# MCP サーバーに接続する

6 

7> MCP サーバーを Claude Code に追加し、接続を確認し、ディスク上の設定を見つけます。

8 

9[Model Context Protocol(MCP)](https://modelcontextprotocol.io/introduction)により、Claude Code は問題トラッカーの検索、データベースのクエリ、Web ブラウザの制御など、組み込みセット以外のツールを使用できます。これらのツールは MCP サーバーから提供され、マシン上で実行されるか、ホストされたサービスとして実行されます。

10 

11このガイドでは、Claude Code CLI を使用して 1 つの MCP サーバーをエンドツーエンドで接続する手順を説明します。最後には、サーバーが接続され応答している状態になり、その設定がディスク上のどこにあるかを知り、最も一般的な接続エラーを修正する方法を知ることができます。

12 

13<Note>

14 MCP サーバーは、デスクトップアプリ、VS Code、Web など、他のサーフェスからも追加できます。[他のサーフェスから接続する](#connect-from-other-surfaces)を参照してください。

15</Note>

16 

17Claude Code で MCP サーバーを接続および設定するすべての方法については、[MCP リファレンス](/ja/mcp)を参照してください。

18 

19<h2 id="before-you-begin">

20 開始する前に

21</h2>

22 

23以下があることを確認してください。

24 

25* [Claude Code がインストール](/ja/quickstart)され、認証されている

26* プロジェクトディレクトリで開いているターミナル。空のディレクトリを含む、任意のディレクトリが機能します。

27 

28<h2 id="add-and-verify-a-server">

29 サーバーを追加して確認する

30</h2>

31 

32以下の例は、[Claude Code ドキュメンテーション MCP サーバー](https://code.claude.com/docs/mcp)に接続します。これは Claude Code ドキュメント全体にフルテキスト検索を備えたホストされたサーバーです。認証や特別な設定は必要ないため、セットアップフローをテストするための最初のサーバーとして適しています。

33 

34手順はすべてのサーバーで同じです。追加し、接続ステータスを確認し、セッションで使用し、最後にオプションのクリーンアップステップを実行します。[追加の MCP サーバーの例](#additional-mcp-server-examples)に示されているブラウザサインインなど、一部のサーバーはステップを追加します。接続するサーバーの詳細については、[Anthropic Directory](/ja/mcp#find-and-build-mcp-servers)を参照してください。

35 

36<Steps>

37 <Step title="MCP サーバーを追加する">

38 Claude Code にサーバーを登録します。`claude` セッション内ではなく、ターミナルで実行します。会話を開始する前にサーバーを設定しています。

39 

40 ```bash theme={null}

41 claude mcp add --transport http claude-code-docs https://code.claude.com/docs/mcp

42 ```

43 

44 コマンドの部分:

45 

46 * `claude mcp add`:Claude Code にサーバーを登録します。

47 * `--transport http`:サーバーはローカルプロセスとして実行されるのではなく、URL でホストされています。

48 * `claude-code-docs`:自分で作成する名前。同じサーバーを `docs` と呼ぶことも同じように機能します。Claude Code は選択した名前を使用して、Claude の出力でサーバーのツールにラベルを付け、`claude mcp remove` などのコマンドでサーバーを参照します。

49 * `https://code.claude.com/docs/mcp`:サーバーがホストされている URL。

50 

51 コマンドは `Added HTTP MCP server claude-code-docs with URL: https://code.claude.com/docs/mcp to local config` のような確認を出力します。`local config` の部分は、サーバーがあなたに登録されていることを意味します。このプロジェクトでは、別のプロジェクトで Claude Code を開始した場合、このサーバーはそこでアクティブではありません。すべてのプロジェクトに対して一度サーバーを登録するには、ユーザースコープで追加します。これは[サーバースコープを変更する](#change-server-scope)で説明されています。

52 </Step>

53 

54 <Step title="接続ステータスを確認する">

55 サーバーがサーバーリストに表示されることを確認し、そのステータスを確認します。

56 

57 ```bash theme={null}

58 claude mcp list

59 ```

60 

61 サーバーはステータスインジケーター付きで表示されます。

62 

63 | ステータス | 意味 |

64 | :----------------------- | :------------------------------------------------------------------------------------------------------------------------------- |

65 | `✓ Connected` | 使用可能です。これは `claude-code-docs` で表示されるはずです |

66 | `! Needs authentication` | サーバーに到達可能ですが、ブラウザサインインが必要です。または `--header` で渡されたトークンが必要です。[サインインが必要なサーバーに接続する](#connect-a-server-that-requires-sign-in)を参照してください |

67 | `✗ Failed to connect` | サーバーが応答しませんでした。[トラブルシューティング](#troubleshooting)を参照してください |

68 | `✗ Connection error` | 接続試行がエラーをスローしました。[トラブルシューティング](#troubleshooting)を参照してください |

69 | `⏸ Pending approval` | まだ承認していないプロジェクトスコープのサーバー。[.mcp.json を直接編集する](#edit-mcp-json-directly)を参照してください |

70 </Step>

71 

72 <Step title="サーバーを使用する">

73 セッションを開始し、Claude に名前で新しいサーバーを使用するよう依頼します。

74 

75 ```bash theme={null}

76 claude

77 ```

78 

79 ```text theme={null}

80 Use the claude-code-docs server to look up what MCP_TIMEOUT does

81 ```

82 

83 <Info>

84 Claude は関連するツールを自動的に選択するため、通常はプロンプトでサーバーに名前を付ける必要はありません。ここで名前を付けることで、Web フェッチなど同じ質問に答えることができる別のツールではなく、新しいサーバーを通じてデモンストレーションが進むことを保証します。

85 </Info>

86 

87 Claude が初めてサーバーを呼び出すとき、新しいツールを使用する許可を求めます。続行するには承認してください。Claude の出力のツール呼び出しはサーバー名でラベル付けされており、これにより答えが Claude の組み込み知識ではなく MCP サーバーから来たことを確認できます。

88 </Step>

89 

90 <Step title="サーバーを削除する">

91 このステップはオプションです。実験が終わったら、サーバーを削除できます。

92 

93 ```bash theme={null}

94 claude mcp remove claude-code-docs

95 ```

96 

97 <Note>

98 接続されたサーバーはそれぞれ、ツール名とサーバー命令がすべてのセッションに読み込まれるため、[Claude のコンテキストウィンドウ](/ja/how-claude-code-works#the-context-window)にスペースを取ります。使用しなくなったサーバーを削除すると、そのスペースが解放されます。

99 </Note>

100 </Step>

101</Steps>

102 

103<h2 id="where-servers-are-saved">

104 サーバーが保存される場所

105</h2>

106 

107`claude mcp add` コマンドは、サーバーの詳細を設定ファイルに書き込みます。デフォルトでは、`local` スコープでサーバーを登録します。これはあなたのみが使用でき、現在のプロジェクトでのみアクティブです。`--scope user` を渡してすべてのプロジェクトに対して一度登録するか、`--scope project` を渡してチームメイトと共有します。[サーバースコープを変更する](#change-server-scope)では両方を説明しています。

108 

109<Note>

110 `claude mcp add` は PowerShell やコマンドプロンプトを含むすべてのシェルで同じように機能します。`claude` セッション内では、`/mcp` コマンドを使用して、既に追加したサーバーを確認および管理します。

111</Note>

112 

113サーバーを追加する他の方法があり、それぞれこのページの後半で説明されています。

114 

115* [ローカルサーバーを追加する](#add-a-local-server):URL に接続する代わりに、マシン上でプログラムを実行します。

116* [.mcp.json を直接編集する](#edit-mcp-json-directly):コマンドを使用する代わりに、JSON エントリを自分で書き込みます。

117* [サインインが必要なサーバーに接続する](#connect-a-server-that-requires-sign-in):ツールが機能する前にブラウザサインインが必要なホストされたサーバーを追加します。

118 

119<h3 id="find-your-configuration-on-disk">

120 ディスク上の設定を見つける

121</h3>

122 

123`claude mcp add` コマンドは、`--scope` フラグに応じて、2 つのファイルに分散された 3 つのスコープのいずれかにサーバーを書き込みます。これらのファイルを直接編集する必要はありませんが、どこにあるかを知ることはデバッグとバージョン管理に役立ちます。

124 

125| スコープ | ファイル | 利用可能な対象 |

126| :-------- | :----------------------------------------- | :--------------------- |

127| `local` | `~/.claude.json`、このプロジェクトのエントリの下 | あなたのみ、このプロジェクトのみ。デフォルト |

128| `project` | プロジェクトルートの `.mcp.json` | プロジェクトをクローンした全員 |

129| `user` | `~/.claude.json`、トップレベルの `mcpServers` キーの下 | あなたのみ、すべてのプロジェクト |

130 

131Windows では、`~/.claude.json` は `%USERPROFILE%\.claude.json`(通常は `C:\Users\YourName\.claude.json`)に解決されます。[`CLAUDE_CONFIG_DIR`](/ja/env-vars)を設定している場合、Claude Code はそのディレクトリ内から `.claude.json` を読み込みます。

132 

133`claude mcp get claude-code-docs` を実行して、どのスコープがサーバーの定義を保持しているかを確認します。同じサーバーが複数で定義されている場合のスコープの相互作用については、[MCP インストールスコープ](/ja/mcp#mcp-installation-scopes)を参照してください。

134 

135<h2 id="change-server-scope">

136 サーバースコープを変更する

137</h2>

138 

139サーバーのスコープは追加時に固定されるため、スコープを変更するには、エントリを削除して新しいスコープで再度追加することを意味します。以下の両方のケースは、最初のウォークスルーからローカルエントリを削除することから始まるため、サーバーは定義が 1 つだけです。そのウォークスルーの最後で既に削除している場合は、このコマンドをスキップしてください。

140 

141```bash theme={null}

142claude mcp remove claude-code-docs --scope local

143```

144 

145<h3 id="use-a-server-in-all-your-projects">

146 すべてのプロジェクトでサーバーを使用する

147</h3>

148 

149サーバーを `user` スコープで再度追加して、開くすべてのプロジェクトでアクティブにします。これはあなたのみが使用できます。

150 

151```bash theme={null}

152claude mcp add --scope user --transport http claude-code-docs https://code.claude.com/docs/mcp

153```

154 

155<h3 id="share-a-server-with-your-team">

156 チームとサーバーを共有する

157</h3>

158 

159サーバーを `project` スコープで再度追加します。これはプロジェクトルートの `.mcp.json` に書き込みます。

160 

161```bash theme={null}

162claude mcp add --scope project --transport http claude-code-docs https://code.claude.com/docs/mcp

163```

164 

165`.mcp.json` をバージョン管理にコミットします。リポジトリをクローンして Claude Code を開始するチームメイトは、サーバーを承認するプロンプトを表示し、その後、彼らのためにも接続します。

166 

167<h2 id="additional-mcp-server-examples">

168 追加の MCP サーバーの例

169</h2>

170 

171最初のウォークスルーは、サインインなしで接続するホストされたサーバーを使用しました。以下の例は、他の 2 つの一般的な形状をカバーしており、同じ追加、確認、使用フローを使用しています。

172 

173<h3 id="add-a-local-server">

174 ローカルサーバーを追加する

175</h3>

176 

177ローカル stdio サーバーは、Claude Code が URL 経由で到達するサービスではなく、マシン上でサブプロセスとして開始するプログラムです。ブラウザ、ファイルシステム、データベースソケットなどのローカルリソースへのアクセスが必要なツールに使用します。

178 

179[Playwright MCP サーバー](https://github.com/microsoft/playwright-mcp)は試すのに適しています。Claude にブラウザを提供し、ナビゲート、クリック、読み取りができます。アカウントは必要ありません。`npx` を通じて実行されるため、[Node.js](https://nodejs.org/en/download) 18 以降が必要です。

180 

181<Steps>

182 <Step title="Playwright サーバーを追加する">

183 Claude Code が実行して開始するコマンドでサーバーを登録します。

184 

185 ```bash theme={null}

186 claude mcp add playwright -- npx -y @playwright/mcp@latest

187 ```

188 

189 このコマンドはホストされた例と 3 つの方法で異なります。

190 

191 * ローカルサーバーはデフォルトの `stdio` トランスポートを使用するため、`--transport` フラグはありません。

192 * `--` セパレーターの後のすべてはサーバーを開始するために Claude Code が実行するコマンドです。

193 * `-y` は、`npx` にプロンプトなしでパッケージをインストールするよう指示します。

194 

195 Playwright はマシンに既にインストールされている Chrome を駆動します。別のブラウザを使用するには、`@playwright/mcp@latest` の後に `--browser` を追加します。例えば `--browser firefox`。

196 </Step>

197 

198 <Step title="接続を確認する">

199 `Added` 確認はエントリが保存されたことを意味し、コマンドが実行されることではありません。接続を確認します。

200 

201 ```bash theme={null}

202 claude mcp list

203 ```

204 

205 最初のチェックは `npx` がパッケージをダウンロードしている間に `✗ Failed to connect` を表示できるため、少し待ってから再度実行してください。

206 </Step>

207 

208 <Step title="ブラウザを使用する">

209 Claude にブラウザが必要なタスクを与えます。

210 

211 ```text theme={null}

212 Use playwright to open https://example.com and tell me the page title

213 ```

214 

215 ブラウザウィンドウが開き、動作を確認でき、Claude の出力のツール呼び出しは `playwright` サーバー名とアクション(`browser_navigate` など)でラベル付けされます。

216 

217 ローカル開発サーバーを指すことで、変更後もページが引き続きレンダリングされることを確認するか、バグレポートを段階的に実行させてみてください。

218 </Step>

219</Steps>

220 

221<h3 id="connect-a-server-that-requires-sign-in">

222 サインインが必要なサーバーに接続する

223</h3>

224 

225Sentry、Linear、Notion などのホストされたサービスは、MCP サーバーを OAuth の背後で実行します。サーバーの URL を追加し、ブラウザを通じてサインインします。

226 

227以下の手順は Sentry を例として使用しています。別のサービスに接続するには、その URL を置き換えます。これは [Anthropic Directory](/ja/mcp#find-and-build-mcp-servers) またはサービスのドキュメントで見つけることができます。

228 

229<Steps>

230 <Step title="サーバーを追加する">

231 `add` コマンドはドキュメントサーバーと同じですが、Sentry の URL を使用します。

232 

233 ```bash theme={null}

234 claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

235 ```

236 

237 追加後、`claude mcp list` はサーバーを `! Needs authentication` で表示します。これは予想されています。次のステップでサインインが完了します。

238 </Step>

239 

240 <Step title="ブラウザで認証する">

241 Claude Code セッションを開始し、MCP パネルを開きます。

242 

243 ```text theme={null}

244 /mcp

245 ```

246 

247 リストから `sentry` を選択し、Enter キーを押して、`Authenticate` を選択します。ブラウザが Sentry のサインインページに開きます。そこで接続を承認します。

248 

249 Claude Code に戻ると、サーバーのステータスが接続に変わります。サインインが失敗するか、ブラウザが開かない場合は、[トラブルシューティング](#troubleshooting)を参照してください。

250 </Step>

251 

252 <Step title="サーバーを使用する">

253 Claude に `What Sentry projects do I have access to?` のようなサービスが必要な何かを尋ね、出力で `sentry` サーバー名でラベル付けされたツール呼び出しを探します。

254 </Step>

255</Steps>

256 

257OAuth の代わりに静的トークンで認証するサーバーは、`--header "Authorization: Bearer <token>"` で追加時にトークンを取得します。[GitHub の例](/ja/mcp#example-connect-to-github-for-code-reviews)で実装されたバージョンを参照してください。

258 

259<h2 id="edit-mcp-json-directly">

260 .mcp.json を直接編集する

261</h2>

262 

263[スコープテーブル](#find-your-configuration-on-disk)のすべてのファイルは、サーバーエントリに同じ JSON 形式を使用します。このセクションは `.mcp.json`(プロジェクトスコープファイル)を編集します。これはリポジトリにチェックインされるため、手で書く価値があり、チームの設定コードとしても機能します。

264 

265プロジェクトルートに `.mcp.json` を作成します。以下の例は、このガイドの両方のサーバーを定義しています。HTTP 経由で到達するホストされたドキュメントサーバーと、ローカル `stdio` プロセスとしての Playwright サーバー。

266 

267```json theme={null}

268{

269 "mcpServers": {

270 "claude-code-docs": {

271 "type": "http",

272 "url": "https://code.claude.com/docs/mcp"

273 },

274 "playwright": {

275 "type": "stdio",

276 "command": "npx",

277 "args": ["-y", "@playwright/mcp@latest"]

278 }

279 }

280}

281```

282 

283フィールドはサーバータイプによって異なります。

284 

285* HTTP サーバーの場合、`url` は Claude Code が接続するエンドポイントです。

286* stdio サーバーの場合、`command` と `args` は実行するプログラムです。

287 

288ファイルを保存した後、プロジェクトで新しい Claude Code セッションを開始します。Claude Code はスタートアップ時に `.mcp.json` を読み込みます。

289 

290Claude Code がプロジェクトスコープのサーバーを初めて見るとき、それを承認するよう求めます。プロンプトが存在するため、クローンしたリポジトリは同意なしにマシン上でプロセスを起動できません。プロンプトを承認するか、見逃した場合は後で承認するために `/mcp` を実行します。

291 

292承認したら、`/mcp` を実行し、サーバーが接続として表示されることを確認します。代わりにエラーが表示される場合は、[トラブルシューティング](#troubleshooting)を参照してください。

293 

294<h2 id="connect-from-other-surfaces">

295 他のサーフェスから接続する

296</h2>

297 

298このガイドは `claude mcp` CLI コマンドを使用しますが、すべての Claude Code サーフェスは MCP サーバーに接続できます。

299 

300* **Claude Code デスクトップアプリ**:[Connectors UI](/ja/desktop#connect-external-tools)を通じてサーバーを追加します。

301* **Claude Desktop チャットアプリ**:Claude Code とは別のアプリです。`claude_desktop_config.json` からサーバーを CLI にコピーするには、macOS または WSL で `claude mcp add-from-claude-desktop` を実行します。

302* **VS Code**:[MCP で外部ツールに接続する](/ja/vs-code#connect-to-external-tools-with-mcp)を参照してください。

303* **Web 上の Claude Code**:リポジトリから `.mcp.json` を読み込みます。[.mcp.json を直接編集する](#edit-mcp-json-directly)を参照してください。

304* **Claude.ai**:[claude.ai/customize/connectors](https://claude.ai/customize/connectors) で追加したコネクタは、そのアカウントでサインインするとき CLI に自動的に読み込まれます。[Claude.ai から MCP サーバーを使用する](/ja/mcp#use-mcp-servers-from-claude-ai)を参照してください。

305 

306<h2 id="troubleshooting">

307 トラブルシューティング

308</h2>

309 

310サーバーが接続しない場合は、セッション内の `/mcp` またはシェルから `claude mcp list` でそのステータスを確認し、以下の症状と照合してください。`/mcp` パネルでは、セッションを離れずに再接続または認証することもできます。

311 

312<AccordionGroup>

313 <Accordion title="/mcp は'No MCP servers configured'を表示します">

314 Claude Code は現在のディレクトリのサーバーを見つけませんでした。最も一般的な原因:

315 

316 * 別のプロジェクトから `claude mcp add` を実行しました。ローカルスコープのサーバーは追加したプロジェクトに関連付けられています。リポジトリルート、または git リポジトリにいなかった場合は正確なディレクトリ。現在いるプロジェクトからサーバーを再度追加するか、`--scope user` で追加してプロジェクトに関連付けられないようにします。

317 * 設定ファイルを間違ったパスで編集しました。正しいファイルは `~/.claude.json` と `<project>/.mcp.json` です。Claude Code は `~/.claude/config/mcp.json`、`~/.claude/mcp.json`、`%APPDATA%\Claude\mcp.json` などのパスを読み込みません。

318 </Accordion>

319 

320 <Accordion title="ステータスは「Failed to connect」または「Connection error」を表示します">

321 両方のステータスはサーバーが開始しなかったか、URL が応答しなかったことを意味します。[サインインが必要なサーバーに接続する](#connect-a-server-that-requires-sign-in)で説明されているブラウザサインインではなく、トークンを期待する HTTP サーバーにも表示される可能性があります。

322 

323 HTTP サーバーの場合、URL がマシンから到達可能であることを確認します。

324 

325 ```bash theme={null}

326 curl -I https://mcp.sentry.dev/mcp

327 ```

328 

329 PowerShell では、`curl` の代わりに `curl.exe` を使用して、リクエストが `Invoke-WebRequest` エイリアスではなく実際の curl バイナリに送信されるようにします。

330 

331 応答は、どの種類の問題があるかを示します。

332 

333 * `404` または `405`:サーバーは稼働しています。多くの MCP エンドポイントは POST リクエストのみに応答するため、これでも URL がマシンから到達可能であることが確認されます。

334 * `401` または `403`:サーバーは稼働しており、認証が必要です。[サインインが必要なサーバーに接続する](#connect-a-server-that-requires-sign-in)でブラウザサインインを使用するか、GitHub のようなトークンを取得するサーバーの場合は、`claude mcp add` コマンドで `--header "Authorization: Bearer <token>"` で渡します。

335 * 応答がない:URL とネットワークを確認します。

336 

337 stdio サーバーの場合、設定されたコマンドをターミナルで直接実行して、基になるエラーを確認します。このガイドの Playwright サーバーの場合、実行します。

338 

339 ```bash theme={null}

340 npx -y @playwright/mcp@latest

341 ```

342 

343 次に起こることは、問題がどこにあるかを示します。

344 

345 * コマンドが開始され、入力を待ちます。サーバー自体は機能しています。`claude mcp get <name>` を実行し、そこに表示されるコマンドが実行したばかりのコマンドと一致することを確認します。表示されるコマンドが入力したものと異なる場合、サーバーコマンドの前に `--` セパレーターを省略した可能性があります。サーバーを削除し、`--` を配置して再度追加します。`.mcp.json` を手で書いた場合は、その構文と場所を確認します。

346 * コマンドエラー:メッセージは Node.js やブラウザなど、不足しているものに名前を付けます。

347 </Accordion>

348 

349 <Accordion title="接続がスタートアップでタイムアウトしました">

350 サーバーはデフォルトの 30 秒スタートアップタイムアウトより長くかかりました。stdio サーバーの最初の実行は、`npx` がパッケージをダウンロードしている間に遅くなる可能性があります。[`MCP_TIMEOUT`](/ja/env-vars)環境変数でミリ秒単位で制限を増やします。

351 

352 ```bash theme={null}

353 MCP_TIMEOUT=60000 claude

354 ```

355 

356 PowerShell では、同じ行のコマンドの前に変数を設定します。

357 

358 ```powershell theme={null}

359 $env:MCP_TIMEOUT = "60000"; claude

360 ```

361 </Accordion>

362 

363 <Accordion title="サーバーは既に存在します">

364 同じスコープで同じ名前のサーバーを既に追加しています。既存のエントリを削除するか、別の名前を選択します。

365 

366 ```bash theme={null}

367 claude mcp remove claude-code-docs

368 ```

369 

370 名前が複数のスコープに存在する場合、`remove` は `exists in multiple scopes` を報告します。削除するコピーを選択するために `--scope` を渡します。例えば `claude mcp remove claude-code-docs --scope local`。

371 </Accordion>

372 

373 <Accordion title="サーバーは接続しますが、ツールが表示されません">

374 セッション内で `/mcp` を実行し、サーバーを選択してそのツールリストを確認します。リストが空の場合、サーバーは開始しましたが、ツールを登録しませんでした。これは通常、API キーなどの必要な環境変数が不足していることを意味します。

375 

376 `claude mcp add` で `--env KEY=value` を使用して変数を渡すか、サーバーの `.mcp.json` エントリの `env` フィールドで渡します。サーバーのドキュメントは必要な変数をリストします。

377 </Accordion>

378 

379 <Accordion title=".mcp.json への変更が有効になりません">

380 Claude Code はセッション開始時に `.mcp.json` を読み込みます。ファイルを編集した後、セッションを終了して再開します。

381 

382 サーバーがまだ表示されない場合は、`/mcp` を実行し、解析警告を探します。Claude Code は不正な形式のエントリをスキップし、そこに問題のあるフィールドを表示します。

383 

384 以前にプロンプトを拒否した場合は、プロジェクト承認をリセットします。

385 

386 ```bash theme={null}

387 claude mcp reset-project-choices

388 ```

389 </Accordion>

390 

391 <Accordion title="OAuth サインインが失敗するか、ブラウザが開きません">

392 `/mcp` を実行し、サーバーを選択して、再度 `Authenticate` を選択します。ブラウザが自動的に開かない場合は、ターミナルに表示される URL をコピーして手動で開きます。固定コールバックポートと事前設定された認証情報については、[リモート MCP サーバーで認証する](/ja/mcp#authenticate-with-remote-mcp-servers)を参照してください。

393 </Accordion>

394</AccordionGroup>

395 

396<h2 id="next-steps">

397 次のステップ

398</h2>

399 

4001 つのサーバーが接続されたら、MCP が有効にする残りを探索します。

401 

402* [Anthropic Directory](/ja/mcp#find-and-build-mcp-servers) で[より多くの MCP サーバーを見つける](/ja/mcp#find-and-build-mcp-servers)

403* インストールスコープを使用して[チームとサーバーを共有する](/ja/mcp#mcp-installation-scopes)

404* [組織の MCP アクセスを管理する](/ja/managed-mcp)(管理設定とポリシーコントロール)

405* [プロンプトで MCP リソースを参照する](/ja/mcp#use-mcp-resources)(@ メンション付き)

406* [`/` メニューから MCP プロンプトをコマンドとして実行する](/ja/mcp#use-mcp-prompts-as-commands)

407* [MCP SDK を使用して独自のサーバーを構築する](https://modelcontextprotocol.io/quickstart/server)

memory.md +5 −5

Details

20 20 

21## CLAUDE.md と自動メモリ21## CLAUDE.md と自動メモリ

22 22 

23Claude Code には 2 つの相互補完的なメモリシステムがあります。どちらも各会話の開始時に読み込まれます。Claude はこれらをコンテキストとして扱い、強制的な設定ではありません。指示がより具体的で簡潔であるほど、Claude はそれに従う可能性が高くなります。23Claude Code には 2 つの相互補完的なメモリシステムがあります。どちらも各会話の開始時に読み込まれます。Claude はこれらをコンテキストとして扱い、強制的な設定ではありません。指示がより具体的で簡潔であるほど、Claude はそれに従う可能性が高くなります。アクションをブロックするには、Claude の判断に関わらず [PreToolUse hook](/ja/hooks-guide) を使用してください。

24 24 

25| | CLAUDE.md ファイル | 自動メモリ |25| | CLAUDE.md ファイル | 自動メモリ |

26| :----------- | :---------------------------- | :----------------------------- |26| :----------- | :---------------------------- | :----------------------------- |


94 94 

95CLAUDE.md ファイルは `@path/to/import` 構文を使用して追加ファイルをインポートできます。インポートされたファイルは展開され、それらを参照する CLAUDE.md と一緒に起動時にコンテキストに読み込まれます。95CLAUDE.md ファイルは `@path/to/import` 構文を使用して追加ファイルをインポートできます。インポートされたファイルは展開され、それらを参照する CLAUDE.md と一緒に起動時にコンテキストに読み込まれます。

96 96 

97相対パスと絶対パスの両方が許可されます。相対パスはワーキングディレクトリではなく、インポートを含むファイルに相対的に解決されます。インポートされたファイルは他のファイルを再帰的にインポートでき、最大深度は 5 ホップです。97相対パスと絶対パスの両方が許可されます。相対パスはワーキングディレクトリではなく、インポートを含むファイルに相対的に解決されます。インポートされたファイルは他のファイルを再帰的にインポートでき、最大深度は 4 ホップです。

98 98 

99README、package.json、およびワークフローガイドを取得するには、CLAUDE.md の任意の場所で `@` 構文を使用してそれらを参照します。99README、package.json、およびワークフローガイドを取得するには、CLAUDE.md の任意の場所で `@` 構文を使用してそれらを参照します。

100 100 


150 150 

151Claude は現在のワーキングディレクトリの下のサブディレクトリ内の `CLAUDE.md` および `CLAUDE.local.md` ファイルも発見します。起動時に読み込む代わりに、Claude がそれらのサブディレクトリ内のファイルを読むときに含まれます。151Claude は現在のワーキングディレクトリの下のサブディレクトリ内の `CLAUDE.md` および `CLAUDE.local.md` ファイルも発見します。起動時に読み込む代わりに、Claude がそれらのサブディレクトリ内のファイルを読むときに含まれます。

152 152 

153他のチームの CLAUDE.md ファイルが取得される大規模なモノレポで作業する場合は、[`claudeMdExcludes`](#exclude-specific-claude-md-files) を使用してそれらをスキップします。153他のチームの CLAUDE.md ファイルが取得される大規模なモノレポで作業する場合は、[`claudeMdExcludes`](#exclude-specific-claude-md-files) を使用してそれらをスキップします。大規模なリポジトリのルートおよびディレクトリごとの CLAUDE.md ファイルとルールの完全なレイアウトについては、[モノレポと大規模リポジトリ](/ja/large-codebases)を参照してください。

154 154 

155CLAUDE.md ファイル内のブロックレベル HTML コメント(`<!-- maintainer notes -->`)は、コンテンツが Claude のコンテキストに注入される前に削除されます。コンテキストトークンを費やさずに人間のメンテナーのためにメモを残すために使用します。コードブロック内のコメントは保持されます。Read ツールで CLAUDE.md ファイルを直接開くと、コメントは表示されたままになります。155CLAUDE.md ファイル内のブロックレベル HTML コメント(`<!-- maintainer notes -->`)は、コンテンツが Claude のコンテキストに注入される前に削除されます。コンテキストトークンを費やさずに人間のメンテナーのためにメモを残すために使用します。コードブロック内のコメントは保持されます。Read ツールで CLAUDE.md ファイルを直接開くと、コメントは表示されたままになります。

156 156 


345 345 

346各プロジェクトは `~/.claude/projects/<project>/memory/` に独自のメモリディレクトリを取得します。`<project>` パスは git リポジトリから派生しているため、同じリポジトリ内のすべてのワーキングツリーとサブディレクトリは 1 つの自動メモリディレクトリを共有します。git リポジトリの外では、プロジェクトルートが代わりに使用されます。346各プロジェクトは `~/.claude/projects/<project>/memory/` に独自のメモリディレクトリを取得します。`<project>` パスは git リポジトリから派生しているため、同じリポジトリ内のすべてのワーキングツリーとサブディレクトリは 1 つの自動メモリディレクトリを共有します。git リポジトリの外では、プロジェクトルートが代わりに使用されます。

347 347 

348自動メモリを別の場所に保存するには、`~/.claude/settings.json` のユーザー設定で `autoMemoryDirectory` を設定します。348自動メモリを別の場所に保存するには、`settings.json` `autoMemoryDirectory` を設定します。これは任意の[設定スコープ](/ja/settings#settings-precedence)から読み込まれます。ユーザー、プロジェクト、ローカル、ポリシー、または `--settings` です。

349 349 

350```json theme={null}350```json theme={null}

351{351{


353}353}

354```354```

355 355 

356値は絶対パスであるか、`~/` で始まる必要があります。この設定はポリシーおよびユーザー設定から受け入れられ、`--settings` フラグからも受け入れられます。プロジェクトまたはローカル設定からは受け入れられません。両方のファイルはプロジェクトディレクトリ内に存在し、クローンされたリポジトリは自動メモリ書き込みを機密の場所にリダイレクトするためにどちらかを提供する可能性があるためです356値は絶対パスであるか、`~/` で始まる必要があります。プロジェクトの `.claude/settings.json` または `.claude/settings.local.json` で設定する場合値はそのフォルダのワークスペーストラストダイアログを受け入れた後にのみ尊重されますこれは hooks を管理するのと同じゲートです。

357 357 

358ディレクトリには `MEMORY.md` エントリポイントとオプションのトピックファイルが含まれます。358ディレクトリには `MEMORY.md` エントリポイントとオプションのトピックファイルが含まれます。

359 359 

Details

6 6 

7> Microsoft Foundry を通じて Claude Code を構成する方法について学びます。セットアップ、構成、トラブルシューティングを含みます。7> Microsoft Foundry を通じて Claude Code を構成する方法について学びます。セットアップ、構成、トラブルシューティングを含みます。

8 8 

9export const ContactSalesCard = ({surface}) => {9<h2 id="prerequisites">

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;10 前提条件

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">11</h2>

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79<ContactSalesCard surface="foundry" />

80 

81## 前提条件

82 12 

83Microsoft Foundry で Claude Code を構成する前に、以下を確認してください:13Microsoft Foundry で Claude Code を構成する前に、以下を確認してください:

84 14 


90 Claude Code を複数のユーザーにデプロイする場合は、[モデルバージョンをピン留めして](#4-pin-model-versions)、Anthropic が新しいモデルをリリースしたときの破損を防いでください。20 Claude Code を複数のユーザーにデプロイする場合は、[モデルバージョンをピン留めして](#4-pin-model-versions)、Anthropic が新しいモデルをリリースしたときの破損を防いでください。

91</Note>21</Note>

92 22 

93## セットアップ23<h2 id="setup">

24 セットアップ

25</h2>

94 26 

95### 1. Microsoft Foundry リソースをプロビジョニングする27<h3 id="1-provision-microsoft-foundry-resource">

28 1. Microsoft Foundry リソースをプロビジョニングする

29</h3>

96 30 

97まず、Azure で Claude リソースを作成します:31まず、Azure で Claude リソースを作成します:

98 32 


103 * Claude Sonnet37 * Claude Sonnet

104 * Claude Haiku38 * Claude Haiku

105 39 

106### 2. Azure 認証情報を構成する40<h3 id="2-configure-azure-credentials">

41 2) Azure 認証情報を構成する

42</h3>

107 43 

108Claude Code は Microsoft Foundry の 2 つの認証方法をサポートしています。セキュリティ要件に最適な方法を選択してください。44Claude Code は Microsoft Foundry の 2 つの認証方法をサポートしています。セキュリティ要件に最適な方法を選択してください。

109 45 


130```66```

131 67 

132<Note>68<Note>

133 Microsoft Foundry を使用する場合、認証が Azure 認証情報を通じて処理されるため、`/login` および `/logout` コマンドは無効になります69 Microsoft Foundry を使用する場合、認証が Azure 認証情報を通じて処理されるため、`/logout` コマンドは利用できません

134</Note>70</Note>

135 71 

136### 3. Claude Code を構成する72<h3 id="3-configure-claude-code">

73 3. Claude Code を構成する

74</h3>

137 75 

138Microsoft Foundry を有効にするには、以下の環境変数を設定します:76Microsoft Foundry を有効にするには、以下の環境変数を設定します:

139 77 


147# export ANTHROPIC_FOUNDRY_BASE_URL=https://{resource}.services.ai.azure.com/anthropic85# export ANTHROPIC_FOUNDRY_BASE_URL=https://{resource}.services.ai.azure.com/anthropic

148```86```

149 87 

150### 4. モデルバージョンをピン留めする88<h3 id="4-pin-model-versions">

89 4. モデルバージョンをピン留めする

90</h3>

151 91 

152<Warning>92<Warning>

153 すべてのデプロイメントに対して特定のモデルバージョンをピン留めしてください。モデルエイリアス(`sonnet`、`opus`、`haiku`)をピン留めなしで使用する場合、Claude Code は Foundry アカウントで利用できない新しいモデルバージョンを使用しようとする可能性があり、Anthropic がアップデートをリリースしたときに既存のユーザーが破損します。Azure デプロイメントを作成するときは、「最新に自動更新」ではなく、特定のモデルバージョンを選択してください。93 すべてのデプロイメントに対して特定のモデルバージョンをピン留めしてください。モデルエイリアス(`sonnet`、`opus`、`haiku`)をピン留めなしで使用する場合、Claude Code は Foundry アカウントで利用できない新しいモデルバージョンを使用しようとする可能性があり、Anthropic がアップデートをリリースしたときに既存のユーザーが破損します。Azure デプロイメントを作成するときは、「最新に自動更新」ではなく、特定のモデルバージョンを選択してください。


155 95 

156モデル変数をステップ 1 で作成したデプロイメント名と一致するように設定します。96モデル変数をステップ 1 で作成したデプロイメント名と一致するように設定します。

157 97 

158`ANTHROPIC_DEFAULT_OPUS_MODEL` がない場合、Foundry の `opus` エイリアスは Opus 4.6 に解決されます。最新のモデルを使用するために Opus 4.7 ID に設定します:98`ANTHROPIC_DEFAULT_OPUS_MODEL` がない場合、Foundry の `opus` エイリアスは Opus 4.6 に解決されます。最新のモデルを使用するために Opus 4.8 ID に設定します:

159 99 

160```bash theme={null}100```bash theme={null}

161export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-7'101export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'

162export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'102export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'

163export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'103export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'

164```104```


167 107 

168現在および従来のモデル ID については、[モデル概要](https://platform.claude.com/docs/en/about-claude/models/overview)を参照してください。環境変数の完全なリストについては、[モデル構成](/ja/model-config#pin-models-for-third-party-deployments)を参照してください。108現在および従来のモデル ID については、[モデル概要](https://platform.claude.com/docs/en/about-claude/models/overview)を参照してください。環境変数の完全なリストについては、[モデル構成](/ja/model-config#pin-models-for-third-party-deployments)を参照してください。

169 109 

170[プロンプトキャッシング](https://platform.claude.com/docs/en/build-with-claude/prompt-caching)は自動的に有効になります。デフォルトの 5 分ではなく 1 時間のキャッシュ TTL をリクエストするには、以下の変数を設定します。1 時間の TTL でのキャッシュ書き込みはより高いレートで課金されます:110[プロンプトキャッシング](/ja/prompt-caching)は自動的に有効になります。デフォルトの 5 分ではなく 1 時間のキャッシュ TTL をリクエストするには、以下の変数を設定します。1 時間の TTL でのキャッシュ書き込みはより高いレートで課金されます:

171 111 

172```bash theme={null}112```bash theme={null}

173export ENABLE_PROMPT_CACHING_1H=1113export ENABLE_PROMPT_CACHING_1H=1

174```114```

175 115 

176### 5. Claude Code を実行する116<h3 id="5-run-claude-code">

117 5. Claude Code を実行する

118</h3>

177 119 

178環境変数を設定したら、プロジェクトディレクトリから Claude Code を起動します:120環境変数を設定したら、プロジェクトディレクトリから Claude Code を起動します:

179 121 


183 125 

184Claude Code は環境から `CLAUDE_CODE_USE_FOUNDRY` およびその他の Foundry 変数を読み込み、最初のプロンプトで Azure リソースに接続します。Bedrock および Vertex AI とは異なり、Foundry には対話型セットアップウィザードがないため、ステップ 3 およびステップ 4 の環境変数が唯一の構成パスです。126Claude Code は環境から `CLAUDE_CODE_USE_FOUNDRY` およびその他の Foundry 変数を読み込み、最初のプロンプトで Azure リソースに接続します。Bedrock および Vertex AI とは異なり、Foundry には対話型セットアップウィザードがないため、ステップ 3 およびステップ 4 の環境変数が唯一の構成パスです。

185 127 

186## Azure RBAC 構成128<h2 id="azure-rbac-configuration">

129 Azure RBAC 構成

130</h2>

187 131 

188`Azure AI User` および `Cognitive Services User` デフォルトロールには、Claude モデルを呼び出すために必要なすべての権限が含まれています。132`Azure AI User` および `Cognitive Services User` デフォルトロールには、Claude モデルを呼び出すために必要なすべての権限が含まれています。

189 133 


203 147 

204詳細については、[Microsoft Foundry RBAC ドキュメント](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry)を参照してください。148詳細については、[Microsoft Foundry RBAC ドキュメント](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry)を参照してください。

205 149 

206## トラブルシューティング150<h2 id="troubleshooting">

151 トラブルシューティング

152</h2>

207 153 

208「Failed to get token from azureADTokenProvider: ChainedTokenCredential authentication failed」というエラーが表示される場合:154「Failed to get token from azureADTokenProvider: ChainedTokenCredential authentication failed」というエラーが表示される場合:

209 155 

210* 環境で Entra ID を構成するか、`ANTHROPIC_FOUNDRY_API_KEY` を設定してください。156* 環境で Entra ID を構成するか、`ANTHROPIC_FOUNDRY_API_KEY` を設定してください。

211 157 

212## その他のリソース158<h2 id="additional-resources">

159 その他のリソース

160</h2>

213 161 

214* [Microsoft Foundry ドキュメント](https://learn.microsoft.com/en-us/azure/ai-foundry/what-is-azure-ai-foundry)162* [Microsoft Foundry ドキュメント](https://learn.microsoft.com/en-us/azure/ai-foundry/what-is-azure-ai-foundry)

215* [Microsoft Foundry モデル](https://ai.azure.com/explore/models)163* [Microsoft Foundry モデル](https://ai.azure.com/explore/models)

model-config.md +130 −63

Details

6 6 

7> Claude Code のモデル設定について学習します。`opusplan` などのモデルエイリアスを含みます7> Claude Code のモデル設定について学習します。`opusplan` などのモデルエイリアスを含みます

8 8 

9## 利用可能なモデル9<h2 id="available-models">

10 利用可能なモデル

11</h2>

10 12 

11Claude Code の `model` 設定では、以下のいずれかを設定できます。13Claude Code の `model` 設定では、以下のいずれかを設定できます。

12 14 


21 `ANTHROPIC_BASE_URL` は、リクエストの送信先を変更しますが、どのモデルが応答するかは変更しません。Claude を LLM ゲートウェイ経由でルーティングするには、[LLM ゲートウェイ設定](/ja/llm-gateway)を参照してください。23 `ANTHROPIC_BASE_URL` は、リクエストの送信先を変更しますが、どのモデルが応答するかは変更しません。Claude を LLM ゲートウェイ経由でルーティングするには、[LLM ゲートウェイ設定](/ja/llm-gateway)を参照してください。

22</Note>24</Note>

23 25 

24### モデルエイリアス26<h3 id="model-aliases">

27 モデルエイリアス

28</h3>

25 29 

26モデルエイリアスは、正確なバージョン番号を覚えることなくモデル設定を選択するための便利な方法を提供します。30モデルエイリアスは、正確なバージョン番号を覚えることなくモデル設定を選択するための便利な方法を提供します。

27 31 


36| **`opus[1m]`** | 長いセッション用に [100 万トークンのコンテキストウィンドウ](https://platform.claude.com/docs/ja/build-with-claude/context-windows#1m-token-context-window) を備えた Opus を使用 |40| **`opus[1m]`** | 長いセッション用に [100 万トークンのコンテキストウィンドウ](https://platform.claude.com/docs/ja/build-with-claude/context-windows#1m-token-context-window) を備えた Opus を使用 |

37| **`opusplan`** | Plan Mode 中は `opus` を使用し、実行中は `sonnet` に自動的に切り替わる特別なモード |41| **`opusplan`** | Plan Mode 中は `opus` を使用し、実行中は `sonnet` に自動的に切り替わる特別なモード |

38 42 

39Anthropic API および [Claude Platform on AWS](/ja/claude-platform-on-aws) では、`opus` は Opus 4.7 に解決され、`sonnet` は Sonnet 4.6 に解決されます。Bedrock、Vertex、Foundry では、`opus` は Opus 4.6 に解決され、`sonnet` は Sonnet 4.5 に解決されます。より新しいモデルは、完全なモデル名を明示的に選択するか、`ANTHROPIC_DEFAULT_OPUS_MODEL` または `ANTHROPIC_DEFAULT_SONNET_MODEL` を設定することで、これらのプロバイダーで利用可能です。43Anthropic API では、`opus` は Opus 4.8 に解決され、`sonnet` は Sonnet 4.6 に解決されます。[Claude Platform on AWS](/ja/claude-platform-on-aws) では、`opus` は Opus 4.7 に解決され、`sonnet` は Sonnet 4.6 に解決されます。Bedrock、Vertex、Foundry では、`opus` は Opus 4.6 に解決され、`sonnet` は Sonnet 4.5 に解決されます。より新しいモデルは、完全なモデル名を明示的に選択するか、`ANTHROPIC_DEFAULT_OPUS_MODEL` または `ANTHROPIC_DEFAULT_SONNET_MODEL` を設定することで、これらのプロバイダーで利用可能です。

40 44 

41エイリアスはプロバイダーの推奨バージョンを指し、時間とともに更新されます。特定のバージョンに固定するには、完全なモデル名(例:`claude-opus-4-7`)を使用するか、`ANTHROPIC_DEFAULT_OPUS_MODEL` などの対応する環境変数を設定します。45エイリアスはプロバイダーの推奨バージョンを指し、時間とともに更新されます。特定のバージョンに固定するには、完全なモデル名(例:`claude-opus-4-8`)を使用するか、`ANTHROPIC_DEFAULT_OPUS_MODEL` などの対応する環境変数を設定します。

42 46 

43<Note>47<Note>

44 Opus 4.7 には Claude Code v2.1.111 以降が必要です。`claude update` を実行してアップグレードしてください。48 Opus 4.8 には Claude Code v2.1.154 以降が必要です。`claude update` を実行してアップグレードしてください。

45</Note>49</Note>

46 50 

47### モデルの設定51<h3 id="setting-your-model">

52 モデルの設定

53</h3>

48 54 

49モデルは、優先度順に複数の方法で設定できます。55モデルは、優先度順に複数の方法で設定できます。

50 56 


533. **環境変数** - `ANTHROPIC_MODEL=<alias|name>` を設定593. **環境変数** - `ANTHROPIC_MODEL=<alias|name>` を設定

544. **設定** - 設定ファイルで `model` フィールドを使用して永続的に設定604. **設定** - 設定ファイルで `model` フィールドを使用して永続的に設定

55 61 

56`/model` の選択はユーザー設定に保存され、再起動後も保持されます。v2.1.117 以降では、プロジェクトの `.claude/settings.json` が異なるモデルを指定している場合Claude Code はあなたの選択を `.claude/settings.local.json` にも書き込むため、再起動後もそのプロジェクトで継続して適用されます管理設定が優先され、次の起動時に再度適用されます62v2.1.153 以降では、`/model` はあなたの選択をデフォルトとして新しいセッションに保存しユーザー設定の `model` フィールドに書き込みますピッカーでは以下のようになります

57 63 

58起動時のアクティブなモデルがあなた自身の選択ではなく、プロジェクトまたは管理設定から来ている場合、起動ヘッダーはどの設定ファイルがそれを設定したかを表示します。`/model` を実行して、現在のセッションでオーバーライドします。64* `Enter`:モデルを切り替えてデフォルトとして保存

65* `s`:このセッションのみモデルを切り替え

66 

67`/model <name>` を直接入力すると、`Enter` のように動作します。プロジェクトおよび管理設定は引き続き優先され、次の起動時に再度適用されます。

68 

69v2.1.144 から v2.1.152 では、`/model` は現在のセッションにのみ適用され、ピッカーで `d` を押すとデフォルトが保存されました。

70 

71`--model` フラグと `ANTHROPIC_MODEL` 環境変数は、それらで起動したセッションにのみ適用されます。異なるターミナルで異なるモデルを同時に実行するには、`/model` で切り替えるのではなく、各ターミナルを独自の `--model` フラグで起動します。

72 

73`claude --resume`、`--continue`、または `/resume` ピッカーで開始された再開セッションは、現在の `model` 設定に関係なく、トランスクリプトが保存されたときに使用していたモデルを保持します。そのモデルが廃止されている場合、セッションは通常の優先度順序にフォールスルーします。これにより、別のセッションの `/model` 選択が再開時のモデルを変更するのを防ぎます。

74 

75起動時のアクティブなモデルがあなた自身の選択ではなく、プロジェクトまたは管理設定から来ている場合、起動ヘッダーはどの設定ファイルがそれを設定したかを表示します。`/model` を実行してオーバーライドします。プロジェクトまたは管理設定は次の起動時に再度適用されます。

59 76 

60使用例:77使用例:

61 78 


78}95}

79```96```

80 97 

81## モデル選択の制限98<h2 id="restrict-model-selection">

99 モデル選択の制限

100</h2>

82 101 

83エンタープライズ管理者は、[管理設定またはポリシー設定](/ja/settings#settings-files) で `availableModels` を使用して、ユーザーが選択できるモデルを制限できます。102エンタープライズ管理者は、[管理設定またはポリシー設定](/ja/settings#settings-files) で `availableModels` を使用して、ユーザーが選択できるモデルを制限できます。

84 103 


90}109}

91```110```

92 111 

93### デフォルトモデルの動作112<h3 id="default-model-behavior">

113 デフォルトモデルの動作

114</h3>

94 115 

95モデルピッカーの Default オプションは `availableModels` の影響を受けません。常に利用可能であり、[ユーザーのサブスクリプション層に基づいた](#default-model-setting) システムのランタイムデフォルトを表します。116モデルピッカーの Default オプションは `availableModels` の影響を受けません。常に利用可能であり、[ユーザーのサブスクリプション層に基づいた](#default-model-setting) システムのランタイムデフォルトを表します。

96 117 

97`availableModels: []` の場合でも、ユーザーはそのティアの Default モデルで Claude Code を使用できます。118`availableModels: []` の場合でも、ユーザーはそのティアの Default モデルで Claude Code を使用できます。

98 119 

99### ユーザーが実行するモデルの制御120<h3 id="control-the-model-users-run-on">

121 ユーザーが実行するモデルの制御

122</h3>

100 123 

101`model` 設定は初期選択であり、強制ではありません。セッション開始時にアクティブなモデルを設定しますが、ユーザーは `/model` を開いて Default を選択することができ、これはそのティアのシステムデフォルトに解決されます。`model` が何に設定されているかに関係なく。124`model` 設定は初期選択であり、強制ではありません。セッション開始時にアクティブなモデルを設定しますが、ユーザーは `/model` を開いて Default を選択することができ、これはそのティアのシステムデフォルトに解決されます。`model` が何に設定されているかに関係なく。

102 125 


120 143 

121`env` ブロックがない場合、ユーザーがピッカーで Default を選択すると、最新の Sonnet リリースが取得され、`model` と `availableModels` のバージョンピンがバイパスされます。144`env` ブロックがない場合、ユーザーがピッカーで Default を選択すると、最新の Sonnet リリースが取得され、`model` と `availableModels` のバージョンピンがバイパスされます。

122 145 

123### マージ動作146<h3 id="merge-behavior">

147 マージ動作

148</h3>

124 149 

125`availableModels` がユーザー設定とプロジェクト設定など複数のレベルで設定されている場合、配列はマージされ、重複排除されます。厳密なアローリストを適用するには、最優先度を持つ管理設定またはポリシー設定で `availableModels` を設定します。150`availableModels` がユーザー設定とプロジェクト設定など複数のレベルで設定されている場合、配列はマージされ、重複排除されます。厳密なアローリストを適用するには、最優先度を持つ管理設定またはポリシー設定で `availableModels` を設定します。

126 151 

127### Mantle モデル ID152<h3 id="mantle-model-ids">

153 Mantle モデル ID

154</h3>

128 155 

129[Bedrock Mantle エンドポイント](/ja/amazon-bedrock#use-the-mantle-endpoint) が有効な場合、`availableModels` の `anthropic.` で始まるエントリは、カスタムオプションとして `/model` ピッカーに追加され、Mantle エンドポイントにルーティングされます。これは [サードパーティデプロイメント用のモデルのピン留め](#pin-models-for-third-party-deployments) で説明されているエイリアスのみマッチングの例外です。設定はピッカーをリストされたエントリに制限するため、標準エイリアスと一緒に Mantle ID を含めます。156[Bedrock Mantle エンドポイント](/ja/amazon-bedrock#use-the-mantle-endpoint) が有効な場合、`availableModels` の `anthropic.` で始まるエントリは、カスタムオプションとして `/model` ピッカーに追加され、Mantle エンドポイントにルーティングされます。これは [サードパーティデプロイメント用のモデルのピン留め](#pin-models-for-third-party-deployments) で説明されているエイリアスのみマッチングの例外です。設定はピッカーをリストされたエントリに制限するため、標準エイリアスと一緒に Mantle ID を含めます。

130 157 

131## 特別なモデルの動作158<h2 id="special-model-behavior">

159 特別なモデルの動作

160</h2>

132 161 

133### `default` モデル設定162<h3 id="default-model-setting">

163 `default` モデル設定

164</h3>

134 165 

135`default` の動作はアカウントタイプによって異なります。166`default` の動作はアカウントタイプによって異なります。

136 167 

137* **MaxTeam Premium**:Opus 4.7 がデフォルト168* **MaxTeam Premium、Enterprise 従量課金、Anthropic API**:Opus 4.8 がデフォルト

138* **Pro、Team Standard、Enterprise、Anthropic API**:Sonnet 4.6 がデフォルト169* **AWS 上の Claude Platform**:Opus 4.7 がデフォルト

170* **Pro、Team Standard、Enterprise サブスクリプションシート**:Sonnet 4.6 がデフォルト

139* **Bedrock、Vertex、Foundry**:Sonnet 4.5 がデフォルト171* **Bedrock、Vertex、Foundry**:Sonnet 4.5 がデフォルト

140 172 

141Claude Code は、Opus の使用量閾値に達した場合自動的に Sonnet にフォールバックする可能性があります173Enterprise 従量課金とはサブスクリプションシートではなく使用量で請求される Enterprise 組織を意味します

142 174 

143<Note>175Claude Code は、Opus の使用量閾値に達した場合、自動的に Sonnet にフォールバックする可能性があります。

144 2026 年 4 月 23 日に、Enterprise 従量課金および Anthropic API ユーザーのデフォルトモデルが Opus 4.7 に変更されます。別のデフォルトを保つには、[サーバー管理設定](/ja/server-managed-settings)で `ANTHROPIC_MODEL` または `model` フィールドを設定します。

145</Note>

146 176 

147### `opusplan` モデル設定177<h3 id="opusplan-model-setting">

178 `opusplan` モデル設定

179</h3>

148 180 

149`opusplan` モデルエイリアスは、自動化されたハイブリッドアプローチを提供します。181`opusplan` モデルエイリアスは、自動化されたハイブリッドアプローチを提供します。

150 182 


155 187 

156Plan Mode の Opus フェーズは標準的な 200K コンテキストウィンドウで実行されます。[拡張コンテキスト](#extended-context)で説明されている自動 1M アップグレードは `opus` モデル設定に適用され、`opusplan` には拡張されません。188Plan Mode の Opus フェーズは標準的な 200K コンテキストウィンドウで実行されます。[拡張コンテキスト](#extended-context)で説明されている自動 1M アップグレードは `opus` モデル設定に適用され、`opusplan` には拡張されません。

157 189 

158### 努力レベルの調整190<h3 id="adjust-effort-level">

191 努力レベルの調整

192</h3>

159 193 

160[努力レベル](https://platform.claude.com/docs/ja/build-with-claude/effort)は適応的推論を制御し、タスクの複雑さに基づいて各ステップで思考するかどうか、どの程度思考するかをモデルが決定できるようにします。低い努力はシンプルなタスクではより高速で安価ですが、高い努力は複雑な問題に対してより深い推論を提供します。194[努力レベル](https://platform.claude.com/docs/ja/build-with-claude/effort)は適応的推論を制御し、タスクの複雑さに基づいて各ステップで思考するかどうか、どの程度思考するかをモデルが決定できるようにします。低い努力はシンプルなタスクではより高速で安価ですが、高い努力は複雑な問題に対してより深い推論を提供します。

161 195 

162努力は Opus 4.7、Opus 4.6、Sonnet 4.6 でサポートされています利用可能なレベルはモデルによって異なります196利用可能な努力レベルはモデルによって異なりますここに記載されていないモデルは努力をサポートしていません

163 197 

164| モデル | レベル |198| モデル | レベル |

165| :-------------------- | :---------------------------------- |199| :-------------------- | :---------------------------------- |

166| Opus 4.7 | `low`、`medium`、`high`、`xhigh`、`max` |200| Opus 4.8 と Opus 4.7 | `low`、`medium`、`high`、`xhigh`、`max` |

167| Opus 4.6 と Sonnet 4.6 | `low`、`medium`、`high`、`max` |201| Opus 4.6 と Sonnet 4.6 | `low`、`medium`、`high`、`max` |

168 202 

169アクティブなモデルがサポートしないレベルを設定した場合、Claude Code は設定したレベル以下の最高サポートレベルにフォールバックします。例えば、`xhigh` は Opus 4.6 では `high` として実行されます。203アクティブなモデルがサポートしないレベルを設定した場合、Claude Code は設定したレベル以下の最高サポートレベルにフォールバックします。例えば、`xhigh` は Opus 4.6 では `high` として実行されます。

170 204 

171v2.1.117 以降、Opus 4.7 のデフォルト努力は `xhigh` で、Opus 4.6Sonnet 4.6 のデフォルト努力は `high` です。205デフォルト努力は Opus 4.8、Opus 4.6Sonnet 4.6 では `high` で、Opus 4.7 では `xhigh` です。

172 206 

173Opus 4.7 を初めて実行する場合、Claude Code は、以前に Opus 4.6 または Sonnet 4.6 に対して別の努力レベルを設定していても、`xhigh` を適用します。切り替え後に `/effort` を再度実行して、別のレベルを選択します。207Opus 4.8 または Opus 4.7 を初めて実行する場合、Claude Code は、別のモデルに対して以前に異なるレベルを設定していても、そのモデルのデフォルト努力を適用します。Opus 4.8 では `high`、Opus 4.7 では `xhigh` です。切り替え後に `/effort` を再度実行して、別のレベルを選択します。

174 208 

175`low`、`medium`、`high`、`xhigh` はセッション全体で保持されます。`max` はトークン支出に制約がない最も深い推論を提供し、`CLAUDE_CODE_EFFORT_LEVEL` 環境変数を通じて設定された場合を除き、現在のセッションのみに適用されます。209`low`、`medium`、`high`、`xhigh` はセッション全体で保持されます。`max` はトークン支出に制約がない最も深い推論を提供し、`CLAUDE_CODE_EFFORT_LEVEL` 環境変数を通じて設定された場合を除き、現在のセッションのみに適用されます。

176 210 

177#### 努力レベルの選択211`/effort` メニューは `ultracode` も提供します。Ultracode はモデル努力レベルではなく Claude Code 設定です。モデルに `xhigh` を送信し、さらに Claude が実質的なタスク用に[動的ワークフロー](/ja/workflows)をオーケストレートします。現在のセッションのみに適用されます。`/effort` を通じて設定するか、`--settings` または Agent SDK 制御リクエストを通じて `"ultracode": true` を渡します。これは `effortLevel` 設定、`--effort` フラグ、`CLAUDE_CODE_EFFORT_LEVEL` の一部ではありません。

212 

213<h4 id="choose-an-effort-level">

214 努力レベルの選択

215</h4>

178 216 

179各レベルはトークン支出と機能をトレードオフします。デフォルトはほとんどのコーディングタスクに適しています。別のバランスが必要な場合は調整します。217各レベルはトークン支出と機能をトレードオフします。デフォルトはほとんどのコーディングタスクに適しています。別のバランスが必要な場合は調整します。

180 218 

181| レベル | 使用する場合 |219| レベル | 使用する場合 |

182| :------- | :---------------------------------------------------------------------------- |220| :---------- | :---------------------------------------------------------------------------------- |

183| `low` | インテリジェンスに敏感でない短くスコープされたレイテンシに敏感なタスク用に予約 |221| `low` | インテリジェンスに敏感でない短くスコープされたレイテンシに敏感なタスク用に予約 |

184| `medium` | インテリジェンスをトレードオフできるコスト敏感な作業のトークン使用量を削減 |222| `medium` | インテリジェンスをトレードオフできるコスト敏感な作業のトークン使用量を削減 |

185| `high` | トークン使用量とインテリジェンスのバランス。インテリジェンスに敏感な作業の最小値として使用するか`xhigh` に対してトークン支出を削減するために使用 |223| `high` | トークン使用量とインテリジェンスのバランス。Opus 4.8Opus 4.6、Sonnet 4.6 でのデフォルト |

186| `xhigh` | ほとんどのコーディングおよび agentic coding タスクに最適な結果。Opus 4.7 での推奨デフォルト |224| `xhigh` | より高いトークン支出での深い推論。Opus 4.7 でのデフォルト |

187| `max` | 難しいタスクのパフォーマンスを改善できますが、収益逓減を示す可能性があり、過度な思考の傾向があります。広く採用する前にテスト |225| `max` | 難しいタスクのパフォーマンスを改善できますが、収益逓減を示す可能性があり、過度な思考の傾向があります。広く採用する前にテスト |

226| `ultracode` | 各実質的なタスク用に `xhigh` ごとのメッセージ推論で[動的ワークフロー](/ja/workflows)を計画する Claude Code 設定。セッションのみ |

188 227 

189努力スケールはモデルごとに調整されるため、同じレベル名はモデル全体で同じ基盤値を表しません。228努力スケールはモデルごとに調整されるため、同じレベル名はモデル全体で同じ基盤値を表しません。

190 229 

191#### 1 回限りの深い推論に ultrathink を使用230<h4 id="use-ultrathink-for-one-off-deep-reasoning">

231 1 回限りの深い推論に ultrathink を使用

232</h4>

192 233 

193セッション設定を変更せずに 1 回限りの深い推論を行うには、プロンプトの任意の場所に `ultrathink` を含めます。Claude Code はキーワードを認識し、インコンテキスト命令を追加します。API に送信される努力レベルは変更されません。「think」、「think hard」、「think more」などの他のフレーズは通常のプロンプトテキストとして渡され、キーワードとして認識されません。234セッション設定を変更せずに 1 回限りの深い推論を行うには、プロンプトの任意の場所に `ultrathink` を含めます。Claude Code はキーワードを認識し、インコンテキスト命令を追加します。API に送信される努力レベルは変更されません。「think」、「think hard」、「think more」などの他のフレーズは通常のプロンプトテキストとして渡され、キーワードとして認識されません。

194 235 

195#### 努力レベルの設定236<h4 id="set-the-effort-level">

237 努力レベルの設定

238</h4>

196 239 

197努力は以下のいずれかを通じて変更できます。240努力は以下のいずれかを通じて変更できます。

198 241 


200* **`/model` 内**:モデルを選択する際に左右矢印キーを使用して努力スライダーを調整243* **`/model` 内**:モデルを選択する際に左右矢印キーを使用して努力スライダーを調整

201* **`--effort` フラグ**:Claude Code を起動する際にレベル名を渡して、単一セッションのレベルを設定244* **`--effort` フラグ**:Claude Code を起動する際にレベル名を渡して、単一セッションのレベルを設定

202* **環境変数**:`CLAUDE_CODE_EFFORT_LEVEL` をレベル名または `auto` に設定245* **環境変数**:`CLAUDE_CODE_EFFORT_LEVEL` をレベル名または `auto` に設定

203* **設定**:設定ファイルで `effortLevel` を `low`、`medium`、`high`、`xhigh` に設定します。`max` は[セッションのみ](#adjust-effort-level)であり、ここでは受け入れられません246* **設定**:設定ファイルで `effortLevel` を `low`、`medium`、`high`、`xhigh` に設定します。`max` と `ultracode` は[セッションのみ](#adjust-effort-level)であり、ここでは受け入れられません

204* **Skill と subagent frontmatter**:[skill](/ja/skills#frontmatter-reference)または[subagent](/ja/sub-agents#supported-frontmatter-fields)markdown ファイルで `effort` を設定して、その skill または subagent が実行される際の努力レベルをオーバーライド247* **Skill と subagent frontmatter**:[skill](/ja/skills#frontmatter-reference)または[subagent](/ja/sub-agents#supported-frontmatter-fields)markdown ファイルで `effort` を設定して、その skill または subagent が実行される際の努力レベルをオーバーライド

205 248 

206環境変数がすべての他の方法より優先され、次に設定されたレベル、次にモデルのデフォルトが優先されます。Frontmatter 努力は、その skill または subagent がアクティブな場合に適用され、セッションレベルをオーバーライドしますが、環境変数はオーバーライドしません。249環境変数がすべての他の方法より優先され、次に設定されたレベル、次にモデルのデフォルトが優先されます。Frontmatter 努力は、その skill または subagent がアクティブな場合に適用され、セッションレベルをオーバーライドしますが、環境変数はオーバーライドしません。

207 250 

208努力スライダーは、サポートされているモデルが選択されている場合、`/model` に表示されます。現在の努力レベルはロゴとスピナーの横にも表示されます(例:「with low effort」)。`/model` を開かなくても、どの設定がアクティブかを確認できます。251努力スライダーは、サポートされているモデルが選択されている場合、`/model` に表示されます。現在の努力レベルはロゴとスピナーの横にも表示されます(例:「with low effort」)。`/model` を開かなくても、どの設定がアクティブかを確認できます。

209 252 

210#### 適応的推論と固定思考予算253<h4 id="adaptive-reasoning-and-fixed-thinking-budgets">

254 適応的推論と固定思考予算

255</h4>

211 256 

212適応的推論は各ステップで思考をオプションにするため、Claude はルーチンプロンプトにより速く応答でき、より深い思考から利益を得るステップのために深い思考を予約できます。現在のレベルが生成するよりも Claude がより頻繁に、またはより少なく思考することを望む場合、プロンプトまたは `CLAUDE.md` で直接そう言うことができます。モデルはその努力設定内でそのガイダンスに応答します。257適応的推論は各ステップで思考をオプションにするため、Claude はルーチンプロンプトにより速く応答でき、より深い思考から利益を得るステップのために深い思考を予約できます。現在のレベルが生成するよりも Claude がより頻繁に、またはより少なく思考することを望む場合、プロンプトまたは `CLAUDE.md` で直接そう言うことができます。モデルはその努力設定内でそのガイダンスに応答します。

213 258 

214Opus 4.7 は常に適応的推論を使用します。固定思考予算モードと `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` はそれに適用されません。259Opus 4.7 以降は常に適応的推論を使用します。固定思考予算モードと `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` はそれに適用されません。

215 260 

216Opus 4.6 と Sonnet 4.6 では、`CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` を設定して、`MAX_THINKING_TOKENS` で制御される以前の固定思考予算に戻すことができます。[環境変数](/ja/env-vars)を参照してください。261Opus 4.6 と Sonnet 4.6 では、`CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` を設定して、`MAX_THINKING_TOKENS` で制御される以前の固定思考予算に戻すことができます。[環境変数](/ja/env-vars)を参照してください。

217 262 

218### 拡張思考263<h3 id="extended-thinking">

264 拡張思考

265</h3>

219 266 

220拡張思考は、Claude が応答する前に発する推論です。[適応的推論](#adjust-effort-level)をサポートするモデルでは、努力レベルは思考がどの程度発生するかの主要な制御です。以下の設定は思考をオンまたはオフにし、それがどのように表示されるかを制御します。267拡張思考は、Claude が応答する前に発する推論です。[適応的推論](#adjust-effort-level)をサポートするモデルでは、努力レベルは思考がどの程度発生するかの主要な制御です。以下の設定は思考をオンまたはオフにし、それがどのように表示されるかを制御します。

221 268 


227 274 

228思考出力はデフォルトで折りたたまれています。`Ctrl+O` を押して詳細モードをトグルし、推論をグレーのイタリック体テキストとして表示します。Anthropic API 上のインタラクティブセッションはデフォルトで編集された思考ブロックを受け取るため、展開時に完全な要約を利用可能にしたい場合は[設定](/ja/settings)で `showThinkingSummaries: true` を設定します。折りたたまれたまたは編集された場合でも、生成されたすべての思考トークンに対して課金されます。275思考出力はデフォルトで折りたたまれています。`Ctrl+O` を押して詳細モードをトグルし、推論をグレーのイタリック体テキストとして表示します。Anthropic API 上のインタラクティブセッションはデフォルトで編集された思考ブロックを受け取るため、展開時に完全な要約を利用可能にしたい場合は[設定](/ja/settings)で `showThinkingSummaries: true` を設定します。折りたたまれたまたは編集された場合でも、生成されたすべての思考トークンに対して課金されます。

229 276 

230### 拡張コンテキスト277<h3 id="extended-context">

278 拡張コンテキスト

279</h3>

231 280 

232Opus 4.7、Opus 4.6Sonnet 4.6 は、大規模なコードベースを持つ長いセッション用に[100 万トークンのコンテキストウィンドウ](https://platform.claude.com/docs/ja/build-with-claude/context-windows#1m-token-context-window)をサポートしています。281Opus 4.6 以降と Sonnet 4.6 は、大規模なコードベースを持つ長いセッション用に[100 万トークンのコンテキストウィンドウ](https://platform.claude.com/docs/ja/build-with-claude/context-windows#1m-token-context-window)をサポートしています。

233 282 

234利用可能性はモデルとプランによって異なります。Max、Team、Enterprise プランでは、Opus は追加設定なしで自動的に 1M コンテキストにアップグレードされます。これは Team Standard と Team Premium の両方のシートに適用されます。Sonnet with 1M context は自動アップグレードの一部ではなく、Max を含むすべてのサブスクリプションプランで[追加使用](https://support.claude.com/ja/articles/12429409-extra-usage-for-paid-claude-plans)が必要です。283利用可能性はモデルとプランによって異なります。Max、Team、Enterprise プランでは、Opus は追加設定なしで自動的に 1M コンテキストにアップグレードされます。これは Team Standard と Team Premium の両方のシートに適用されます。Sonnet with 1M context は自動アップグレードの一部ではなく、Max を含むすべてのサブスクリプションプランで[使用クレジット](https://support.claude.com/ja/articles/12429409-extra-usage-for-paid-claude-plans)が必要です。

235 284 

236| プラン | Opus with 1M context | Sonnet with 1M context |285| プラン | Opus with 1M context | Sonnet with 1M context |

237| ------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |286| ------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |

238| Max、Team、Enterprise | サブスクリプションに含まれる | [追加使用](https://support.claude.com/ja/articles/12429409-extra-usage-for-paid-claude-plans)が必要 |287| Max、Team、Enterprise | サブスクリプションに含まれる | [使用クレジット](https://support.claude.com/ja/articles/12429409-extra-usage-for-paid-claude-plans)が必要 |

239| Pro | [追加使用](https://support.claude.com/ja/articles/12429409-extra-usage-for-paid-claude-plans)が必要 | [追加使用](https://support.claude.com/ja/articles/12429409-extra-usage-for-paid-claude-plans)が必要 |288| Pro | [使用クレジット](https://support.claude.com/ja/articles/12429409-extra-usage-for-paid-claude-plans)が必要 | [使用クレジット](https://support.claude.com/ja/articles/12429409-extra-usage-for-paid-claude-plans)が必要 |

240| API と従量課金 | フルアクセス | フルアクセス |289| API と従量課金 | フルアクセス | フルアクセス |

241 290 

2421M コンテキストを完全に無効にするには、`CLAUDE_CODE_DISABLE_1M_CONTEXT=1` を設定します。これにより、1M モデルバリアントがモデルピッカーから削除されます。[環境変数](/ja/env-vars)を参照してください。2911M コンテキストを完全に無効にするには、`CLAUDE_CODE_DISABLE_1M_CONTEXT=1` を設定します。これにより、1M モデルバリアントがモデルピッカーから削除されます。[環境変数](/ja/env-vars)を参照してください。

243 292 

2441M コンテキストウィンドウは標準モデル価格を使用し、200K を超えるトークンに対するプレミアムはありません。拡張コンテキストがサブスクリプションに含まれているプランでは、使用量はサブスクリプションでカバーされたままです。拡張コンテキストに追加使用でアクセスするプランではトークンは追加使用に請求されます2931M コンテキストウィンドウは標準モデル価格を使用し、200K を超えるトークンに対するプレミアムはありません。拡張コンテキストがサブスクリプションに含まれているプランでは、使用量はサブスクリプションでカバーされたままです。拡張コンテキストに使用クレジットでアクセスするプランではトークンは使用クレジットに請求されます

245 294 

246アカウントが 1M コンテキストをサポートしている場合、オプションは Claude Code の最新バージョンのモデルピッカー(`/model`)に表示されます。表示されない場合は、セッションを再起動してみてください。295アカウントが 1M コンテキストをサポートしている場合、オプションは Claude Code の最新バージョンのモデルピッカー(`/model`)に表示されます。表示されない場合は、セッションを再起動してみてください。

247 296 


253/model sonnet[1m]302/model sonnet[1m]

254 303 

255# または完全なモデル名に [1m] を追加304# または完全なモデル名に [1m] を追加

256/model claude-opus-4-7[1m]305/model claude-opus-4-8[1m]

257```306```

258 307 

259## 現在のモデルの確認308<h2 id="checking-your-current-model">

309 現在のモデルの確認

310</h2>

260 311 

261現在使用しているモデルは、複数の方法で確認できます。312現在使用しているモデルは、複数の方法で確認できます。

262 313 

2631. [ステータスライン](/ja/statusline) 内(設定されている場合)3141. [ステータスライン](/ja/statusline) 内(設定されている場合)

2642. `/status` 内。アカウント情報も表示されます。3152. `/status` 内。アカウント情報も表示されます。

265 316 

266## カスタムモデルオプションの追加317<h2 id="add-a-custom-model-option">

318 カスタムモデルオプションの追加

319</h2>

267 320 

268`ANTHROPIC_CUSTOM_MODEL_OPTION` を使用して、組み込みエイリアスを置き換えることなく、単一のカスタムエントリを `/model` ピッカーに追加します。これは Claude Code がデフォルトでリストしないモデル ID のテストに役立ちます。LLM ゲートウェイデプロイメントの場合、Claude Code は `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` が設定されているときにゲートウェイの `/v1/models` エンドポイントからピッカーを自動的に入力するため、この変数が必要なのはディスカバリーが無効になっているか、必要なモデルを返さない場合のみです。[LLM ゲートウェイモデル選択](/ja/llm-gateway#model-selection)を参照してください。321`ANTHROPIC_CUSTOM_MODEL_OPTION` を使用して、組み込みエイリアスを置き換えることなく、単一のカスタムエントリを `/model` ピッカーに追加します。これは Claude Code がデフォルトでリストしないモデル ID のテストに役立ちます。LLM ゲートウェイデプロイメントの場合、Claude Code は `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` が設定されているときにゲートウェイの `/v1/models` エンドポイントからピッカーを自動的に入力するため、この変数が必要なのはディスカバリーが無効になっているか、必要なモデルを返さない場合のみです。[LLM ゲートウェイモデル選択](/ja/llm-gateway#model-selection)を参照してください。

269 322 


279 332 

280Claude Code は `ANTHROPIC_CUSTOM_MODEL_OPTION` で設定されたモデル ID の検証をスキップするため、API エンドポイントが受け入れる任意の文字列を使用できます。333Claude Code は `ANTHROPIC_CUSTOM_MODEL_OPTION` で設定されたモデル ID の検証をスキップするため、API エンドポイントが受け入れる任意の文字列を使用できます。

281 334 

282## 環境変数335<h2 id="environment-variables">

336 環境変数

337</h2>

283 338 

284以下の環境変数を使用できます。これらは完全な **モデル名**(または API プロバイダーの同等のもの)である必要があり、エイリアスがマップするモデル名を制御します。339以下の環境変数を使用できます。これらは完全な **モデル名**(または API プロバイダーの同等のもの)である必要があり、エイリアスがマップするモデル名を制御します。

285 340 

286| 環境変数 | 説明 |341| 環境変数 | 説明 |

287| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |342| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

288| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus` に使用するモデル、または Plan Mode がアクティブな場合の `opusplan` に使用するモデル。 |343| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus` に使用するモデル、または Plan Mode がアクティブな場合の `opusplan` に使用するモデル。 |

289| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet` に使用するモデル、または Plan Mode がアクティブでない場合の `opusplan` に使用するモデル。 |344| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet` に使用するモデル、または Plan Mode がアクティブでない場合の `opusplan` に使用するモデル。 |

290| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku` に使用するモデル、または [バックグラウンド機能](/ja/costs#background-token-usage) に使用するモデル |345| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku` に使用するモデル、または [バックグラウンド機能](/ja/costs#background-token-usage) に使用するモデル |

291| `CLAUDE_CODE_SUBAGENT_MODEL` | すべての [subagents](/ja/sub-agents#choose-a-model) に使用するモデル。呼び出しごとの `model` パラメータと subagent 定義の `model` frontmatter の両方をオーバーライドします |346| `CLAUDE_CODE_SUBAGENT_MODEL` | すべての [subagents](/ja/sub-agents#choose-a-model) と [agent teams](/ja/agent-teams) に使用するモデル。呼び出しごとの `model` パラメータと subagent 定義の `model` frontmatter をオーバーライドします。`inherit` に設定して、代わりに通常のモデル解決を使用します |

292 347 

293注:`ANTHROPIC_SMALL_FAST_MODEL` は `ANTHROPIC_DEFAULT_HAIKU_MODEL` の代わりに非推奨です。348注:`ANTHROPIC_SMALL_FAST_MODEL` は `ANTHROPIC_DEFAULT_HAIKU_MODEL` の代わりに非推奨です。

294 349 

295### サードパーティデプロイメント用のモデルのピン留め350<h3 id="pin-models-for-third-party-deployments">

351 サードパーティデプロイメント用のモデルのピン留め

352</h3>

296 353 

297[Bedrock](/ja/amazon-bedrock)、[Vertex AI](/ja/google-vertex-ai)、[Foundry](/ja/microsoft-foundry)、または [Claude Platform on AWS](/ja/claude-platform-on-aws) を通じて Claude Code をデプロイする場合、ユーザーへのロールアウト前にモデルバージョンをピン留めします。354[Bedrock](/ja/amazon-bedrock)、[Vertex AI](/ja/google-vertex-ai)、[Foundry](/ja/microsoft-foundry)、または [Claude Platform on AWS](/ja/claude-platform-on-aws) を通じて Claude Code をデプロイする場合、ユーザーへのロールアウト前にモデルバージョンをピン留めします。

298 355 


306 363 

307| プロバイダー | 例 |364| プロバイダー | 例 |

308| :-------- | :------------------------------------------------------------------- |365| :-------- | :------------------------------------------------------------------- |

309| Bedrock | `export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-7'` |366| Bedrock | `export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` |

310| Vertex AI | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-7'` |367| Vertex AI | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |

311| Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-7'` |368| Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |

312 369 

313`ANTHROPIC_DEFAULT_SONNET_MODEL` と `ANTHROPIC_DEFAULT_HAIKU_MODEL` に同じパターンを適用します。すべてのプロバイダー全体の現在および従来のモデル ID については、[モデル概要](https://platform.claude.com/docs/ja/about-claude/models/overview) を参照してください。ユーザーを新しいモデルバージョンにアップグレードするには、これらの環境変数を更新して再デプロイします。370`ANTHROPIC_DEFAULT_SONNET_MODEL` と `ANTHROPIC_DEFAULT_HAIKU_MODEL` に同じパターンを適用します。すべてのプロバイダー全体の現在および従来のモデル ID については、[モデル概要](https://platform.claude.com/docs/ja/about-claude/models/overview) を参照してください。ユーザーを新しいモデルバージョンにアップグレードするには、これらの環境変数を更新して再デプロイします。

314 371 

315ピン留めされたモデルの [拡張コンテキスト](#extended-context) を有効にするには、`ANTHROPIC_DEFAULT_OPUS_MODEL` または `ANTHROPIC_DEFAULT_SONNET_MODEL` のモデル ID に `[1m]` を追加します。372ピン留めされたモデルの [拡張コンテキスト](#extended-context) を有効にするには、`ANTHROPIC_DEFAULT_OPUS_MODEL` または `ANTHROPIC_DEFAULT_SONNET_MODEL` のモデル ID に `[1m]` を追加します。

316 373 

317```bash theme={null}374```bash theme={null}

318export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-7[1m]'375export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]'

319```376```

320 377 

321`[1m]` サフィックスは、`opusplan` を含むそのエイリアスのすべての使用に 1M コンテキストウィンドウを適用します。Claude Code は、モデル ID をプロバイダーに送信する前にサフィックスを削除します。Opus 4.7 や Sonnet 4.6 など、基盤となるモデルが 1M コンテキストをサポートする場合にのみ `[1m]` を追加します378`[1m]` サフィックスは、`opus` `sonnet` エイリアスのすべての使用に 1M コンテキストウィンドウを適用します。これは `opusplan` plan-mode Opus フェーズを拡張しません。これは [200K で上限が設定されたままです](#opusplan-model-setting)

379 

380* Claude Code は、モデル ID をプロバイダーに送信する前にサフィックスを削除します。

381* 基盤となるモデルが [1M コンテキストをサポート](https://platform.claude.com/docs/ja/build-with-claude/context-windows#1m-token-context-window) する場合にのみ `[1m]` を追加します。

382* サフィックスはモデルごとではなく、変数ごとに読み取られます。Bedrock、Vertex、Foundry では、1 つの変数で `[1m]` なしのモデル ID は、別の変数が同じモデルをサフィックス付きで設定している場合でも、200K コンテキストを使用します。

322 383 

323<Note>384<Note>

324 `settings.availableModels` アローリストは、サードパーティプロバイダーを使用する場合でも適用されます。フィルタリングはプロバイダー固有のモデル ID ではなく、モデルエイリアス(`opus`、`sonnet`、`haiku`)で一致します。385 `settings.availableModels` アローリストは、サードパーティプロバイダーを使用する場合でも適用されます。フィルタリングはプロバイダー固有のモデル ID ではなく、モデルエイリアス(`opus`、`sonnet`、`haiku`)で一致します。

325</Note>386</Note>

326 387 

327### ピン留めされたモデルの表示と機能のカスタマイズ388<h3 id="customize-pinned-model-display-and-capabilities">

389 ピン留めされたモデルの表示と機能のカスタマイズ

390</h3>

328 391 

329サードパーティプロバイダーでモデルをピン留めする場合、プロバイダー固有の ID は `/model` ピッカーにそのまま表示され、Claude Code はモデルがサポートする機能を認識しない可能性があります。ピン留めされた各モデルの表示名と機能を宣言するコンパニオン環境変数でオーバーライドできます。392サードパーティプロバイダーでモデルをピン留めする場合、プロバイダー固有の ID は `/model` ピッカーにそのまま表示され、Claude Code はモデルがサポートする機能を認識しない可能性があります。ピン留めされた各モデルの表示名と機能を宣言するコンパニオン環境変数でオーバーライドできます。

330 393 


360export ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES='effort,xhigh_effort,max_effort,thinking,adaptive_thinking,interleaved_thinking'423export ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES='effort,xhigh_effort,max_effort,thinking,adaptive_thinking,interleaved_thinking'

361```424```

362 425 

363### バージョンごとのモデル ID のオーバーライド426<h3 id="override-model-ids-per-version">

427 バージョンごとのモデル ID のオーバーライド

428</h3>

364 429 

365上記のファミリーレベルの環境変数は、ファミリーエイリアスごとに 1 つのモデル ID を設定します。同じファミリー内の複数のバージョンを異なるプロバイダー ID にマップする必要がある場合は、代わりに `modelOverrides` 設定を使用します。430上記のファミリーレベルの環境変数は、ファミリーエイリアスごとに 1 つのモデル ID を設定します。同じファミリー内の複数のバージョンを異なるプロバイダー ID にマップする必要がある場合は、代わりに `modelOverrides` 設定を使用します。

366 431 


386 451 

387`modelOverrides` は `availableModels` と一緒に機能します。アローリストは Anthropic モデル ID に対して評価され、オーバーライド値に対してではないため、`availableModels` の `"opus"` などのエントリは、Opus バージョンが ARN にマップされている場合でも一致し続けます。452`modelOverrides` は `availableModels` と一緒に機能します。アローリストは Anthropic モデル ID に対して評価され、オーバーライド値に対してではないため、`availableModels` の `"opus"` などのエントリは、Opus バージョンが ARN にマップされている場合でも一致し続けます。

388 453 

389### プロンプトキャッシング設定454<h3 id="prompt-caching-configuration">

455 プロンプトキャッシング設定

456</h3>

390 457 

391Claude Code は [プロンプトキャッシング](https://platform.claude.com/docs/ja/build-with-claude/prompt-caching) を自動的に使用してパフォーマンスを最適化し、コストを削減します。プロンプトキャッシングをグローバルに、または特定のモデルティアに対して無効にできます。458Claude Code は [プロンプトキャッシング](/ja/prompt-caching) を自動的に使用してパフォーマンスを最適化し、コストを削減します。プロンプトキャッシングをグローバルに、または特定のモデルティアに対して無効にできます。

392 459 

393| 環境変数 | 説明 |460| 環境変数 | 説明 |

394| ------------------------------- | -------------------------------------------------- |461| ------------------------------- | ----------------------------------------------------- |

395| `DISABLE_PROMPT_CACHING` | `1` に設定して、すべてのモデルのプロンプトキャッシングを無効にします(モデル固有の設定より優先) |462| `DISABLE_PROMPT_CACHING` | `1` に設定して、すべてのモデルのプロンプトキャッシングを無効にします。モデル固有の設定より優先されます |

396| `DISABLE_PROMPT_CACHING_HAIKU` | `1` に設定して、Haiku モデルのみのプロンプトキャッシングを無効にします |463| `DISABLE_PROMPT_CACHING_HAIKU` | `1` に設定して、Haiku モデルのみのプロンプトキャッシングを無効にします |

397| `DISABLE_PROMPT_CACHING_SONNET` | `1` に設定して、Sonnet モデルのみのプロンプトキャッシングを無効にします |464| `DISABLE_PROMPT_CACHING_SONNET` | `1` に設定して、Sonnet モデルのみのプロンプトキャッシングを無効にします |

398| `DISABLE_PROMPT_CACHING_OPUS` | `1` に設定して、Opus モデルのみのプロンプトキャッシングを無効にします |465| `DISABLE_PROMPT_CACHING_OPUS` | `1` に設定して、Opus モデルのみのプロンプトキャッシングを無効にします |

399 466 

400これらの環境変数は、プロンプトキャッシング動作に対する細かい制御を提供します。グローバル `DISABLE_PROMPT_CACHING` 設定はモデル固有の設定より優先され、必要に応じてすべてのキャッシングをすばやく無効にできます。モデル固有の設定は、特定のモデルをデバッグする場合や異なるキャッシング実装を持つ可能性があるクラウドプロバイダーと連携する場合など選択的な制御に役立ちます467キャッシュ TTL を変更する方法またはキャッシュミスをトリガーするものについて詳しくは[Claude Code がプロンプトキャッシングを使用する方法](/ja/prompt-caching) を参照してください

monitoring-usage.md +292 −94

Details

8 8 

9OpenTelemetry (OTel) を通じてテレメトリデータをエクスポートすることで、組織全体で Claude Code の使用状況、コスト、ツールアクティビティを追跡します。Claude Code はメトリクスを標準メトリクスプロトコル経由で時系列データとしてエクスポートし、イベントをログ/イベントプロトコル経由でエクスポートし、オプションで [トレースプロトコル](#traces-beta)経由で分散トレースをエクスポートします。メトリクス、ログ、トレースのバックエンドを設定して、監視要件に合わせます。9OpenTelemetry (OTel) を通じてテレメトリデータをエクスポートすることで、組織全体で Claude Code の使用状況、コスト、ツールアクティビティを追跡します。Claude Code はメトリクスを標準メトリクスプロトコル経由で時系列データとしてエクスポートし、イベントをログ/イベントプロトコル経由でエクスポートし、オプションで [トレースプロトコル](#traces-beta)経由で分散トレースをエクスポートします。メトリクス、ログ、トレースのバックエンドを設定して、監視要件に合わせます。

10 10 

11## クイックスタート11<h2 id="quick-start">

12 クイックスタート

13</h2>

12 14 

13環境変数を使用して OpenTelemetry を設定します:15環境変数を使用して OpenTelemetry を設定します:

14 16 


41 43 

42完全な設定オプションについては、[OpenTelemetry 仕様](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options)を参照してください。44完全な設定オプションについては、[OpenTelemetry 仕様](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options)を参照してください。

43 45 

44## 管理者設定46<h2 id="administrator-configuration">

47 管理者設定

48</h2>

45 49 

46管理者は、[管理設定ファイル](/ja/settings#settings-files)を通じてすべてのユーザーの OpenTelemetry 設定を設定できます。これにより、組織全体のテレメトリ設定を一元管理できます。設定がどのように適用されるかについては、[設定の優先順位](/ja/settings#settings-precedence)を参照してください。50管理者は、[管理設定ファイル](/ja/settings#settings-files)を通じてすべてのユーザーの OpenTelemetry 設定を設定できます。これにより、組織全体のテレメトリ設定を一元管理できます。設定がどのように適用されるかについては、[設定の優先順位](/ja/settings#settings-precedence)を参照してください。

47 51 


66 70 

67Claude Code は、Bash ツール、フック、MCP サーバー、言語サーバーを含む、生成するサブプロセスに `OTEL_*` 環境変数を渡しません。OpenTelemetry でインストルメント化されたアプリケーションを Bash ツール経由で実行する場合、Claude Code のエクスポーターエンドポイントまたはヘッダーを継承しないため、そのアプリケーションが独自のテレメトリをエクスポートする必要がある場合は、コマンド内でこれらの変数を直接設定してください。71Claude Code は、Bash ツール、フック、MCP サーバー、言語サーバーを含む、生成するサブプロセスに `OTEL_*` 環境変数を渡しません。OpenTelemetry でインストルメント化されたアプリケーションを Bash ツール経由で実行する場合、Claude Code のエクスポーターエンドポイントまたはヘッダーを継承しないため、そのアプリケーションが独自のテレメトリをエクスポートする必要がある場合は、コマンド内でこれらの変数を直接設定してください。

68 72 

69## 設定の詳細73<h2 id="configuration-details">

74 設定の詳細

75</h2>

70 76 

71### 一般的な設定変数77<h3 id="common-configuration-variables">

78 一般的な設定変数

79</h3>

72 80 

73| 環境変数 | 説明 | 例の値 |81| 環境変数 | 説明 | 例の値 |

74| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |82| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |


91| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | メトリクスの時間性設定 (デフォルト: `delta`)。バックエンドが累積時間性を期待する場合は `cumulative` に設定 | `delta`、`cumulative` |99| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | メトリクスの時間性設定 (デフォルト: `delta`)。バックエンドが累積時間性を期待する場合は `cumulative` に設定 | `delta`、`cumulative` |

92| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 動的ヘッダーを更新するための間隔 (デフォルト: 1740000ms / 29 分) | `900000` |100| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 動的ヘッダーを更新するための間隔 (デフォルト: 1740000ms / 29 分) | `900000` |

93 101 

94### mTLS 認証102<h3 id="mtls-authentication">

103 mTLS 認証

104</h3>

95 105 

96OTLP エクスポーターのクライアント証明書を設定する方法は、そのシグナルに使用されている OTLP プロトコルに依存し、`OTEL_EXPORTER_OTLP_PROTOCOL` またはシグナルごとのオーバーライドで設定されます。同じ設定がメトリクス、ログ、トレースに適用されます。106OTLP エクスポーターのクライアント証明書を設定する方法は、そのシグナルに使用されている OTLP プロトコルに依存し、`OTEL_EXPORTER_OTLP_PROTOCOL` またはシグナルごとのオーバーライドで設定されます。同じ設定がメトリクス、ログ、トレースに適用されます。

97 107 


102 112 

103`grpc` の場合、OpenTelemetry SDK は標準 OTLP 変数を直接読み取るため、シグナルごとのメトリクス変数を設定する既存の設定は引き続き機能します。113`grpc` の場合、OpenTelemetry SDK は標準 OTLP 変数を直接読み取るため、シグナルごとのメトリクス変数を設定する既存の設定は引き続き機能します。

104 114 

105### メトリクスカーディナリティ制御115<h3 id="metrics-cardinality-control">

116 メトリクスカーディナリティ制御

117</h3>

106 118 

107以下の環境変数は、カーディナリティを管理するためにメトリクスに含まれる属性を制御します:119以下の環境変数は、カーディナリティを管理するためにメトリクスに含まれる属性を制御します:

108 120 

109| 環境変数 | 説明 | デフォルト値 | 無効化する例 |121| 環境変数 | 説明 | デフォルト値 | 無効化する例 |

110| ----------------------------------- | ----------------------------------------------------- | ------- | ------- |122| ------------------------------------------ | ------------------------------------------------------ | ------- | ------- |

111| `OTEL_METRICS_INCLUDE_SESSION_ID` | メトリクスに session.id 属性を含める | `true` | `false` |123| `OTEL_METRICS_INCLUDE_SESSION_ID` | メトリクスに session.id 属性を含める | `true` | `false` |

112| `OTEL_METRICS_INCLUDE_VERSION` | メトリクスに app.version 属性を含める | `false` | `true` |124| `OTEL_METRICS_INCLUDE_VERSION` | メトリクスに app.version 属性を含める | `false` | `true` |

113| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | メトリクスに user.account\_uuid および user.account\_id 属性を含める | `true` | `false` |125| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | メトリクスに user.account\_uuid および user.account\_id 属性を含める | `true` | `false` |

126| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | メトリクスに app.entrypoint 属性を含める | `false` | `true` |

127| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | `OTEL_RESOURCE_ATTRIBUTES` からのキーをメトリクスデータポイントの属性として含める | `true` | `false` |

114 128 

115これらの変数は、メトリクスのカーディナリティを制御するのに役立ちます。これはメトリクスバックエンドのストレージ要件とクエリパフォーマンスに影響します。カーディナリティが低いほど、一般的にパフォーマンスが向上し、ストレージコストが低くなりますが、分析用のより詳細なデータは少なくなります。129これらの変数は、メトリクスのカーディナリティを制御するのに役立ちます。これはメトリクスバックエンドのストレージ要件とクエリパフォーマンスに影響します。カーディナリティが低いほど、一般的にパフォーマンスが向上し、ストレージコストが低くなりますが、分析用のより詳細なデータは少なくなります。

116 130 

117### トレース (ベータ)131<h3 id="traces-beta">

132 トレース (ベータ)

133</h3>

118 134 

119分散トレースは、各ユーザープロンプトをそれがトリガーする API リクエストとツール実行にリンクするスパンをエクスポートします。これにより、トレーシングバックエンドで完全なリクエストを単一のトレースとして表示できます。135分散トレースは、各ユーザープロンプトをそれがトリガーする API リクエストとツール実行にリンクするスパンをエクスポートします。これにより、トレーシングバックエンドで完全なリクエストを単一のトレースとして表示できます。

120 136 


132 148 

133トレースがアクティブな場合、Bash および PowerShell サブプロセスは、アクティブなツール実行スパンの W3C トレースコンテキストを含む `TRACEPARENT` 環境変数を自動的に継承します。これにより、`TRACEPARENT` を読み取るサブプロセスは、同じトレースの下に独自のスパンを親にすることができ、Claude が実行するスクリプトとコマンドを通じたエンドツーエンドの分散トレースが可能になります。149トレースがアクティブな場合、Bash および PowerShell サブプロセスは、アクティブなツール実行スパンの W3C トレースコンテキストを含む `TRACEPARENT` 環境変数を自動的に継承します。これにより、`TRACEPARENT` を読み取るサブプロセスは、同じトレースの下に独自のスパンを親にすることができ、Claude が実行するスクリプトとコマンドを通じたエンドツーエンドの分散トレースが可能になります。

134 150 

151トレースがアクティブで Claude Code が Anthropic API に直接接続されている場合、各モデルリクエストは W3C `traceparent` ヘッダーを含み、これは `claude_code.llm_request` スパンのコンテキストに設定され、API の `traceresponse` ヘッダーはスパンリンクとして記録されます。これらは、Claude Code のクライアント側スパンをサーバー側トレースに接続し、準拠した仲介者を通じて接続します。アウトバウンド HTTP MCP リクエストは同じ方法で `traceparent` を含みます。ヘッダーはサードパーティプロバイダーには送信されません。

152 

153デフォルトでは、モデルおよび HTTP MCP リクエストの `traceparent` ヘッダーは、`ANTHROPIC_BASE_URL` が設定されていないか Anthropic API を指している場合にのみ送信されます。一部のプロキシは認識されないヘッダーを拒否するためです。サブプロセス `TRACEPARENT` 変数は一貫性のために同じスイッチで制御されます。カスタム `ANTHROPIC_BASE_URL` プロキシを通じて Claude Code を実行し、トレースコンテキストを伝播させたい場合は、`CLAUDE_CODE_PROPAGATE_TRACEPARENT=1` を設定します。

154 

135Agent SDK および `-p` で開始された非対話型セッションでは、Claude Code は各インタラクションスパンを開始するときに独自の環境から `TRACEPARENT` と `TRACESTATE` も読み取ります。これにより、埋め込みプロセスがアクティブな W3C トレースコンテキストをサブプロセスに渡すことができるため、Claude Code のスパンは呼び出し元の分散トレースの子として表示されます。対話型セッションは、CI またはコンテナ環境からの環境値を誤って継承するのを避けるため、インバウンド `TRACEPARENT` を無視します。155Agent SDK および `-p` で開始された非対話型セッションでは、Claude Code は各インタラクションスパンを開始するときに独自の環境から `TRACEPARENT` と `TRACESTATE` も読み取ります。これにより、埋め込みプロセスがアクティブな W3C トレースコンテキストをサブプロセスに渡すことができるため、Claude Code のスパンは呼び出し元の分散トレースの子として表示されます。対話型セッションは、CI またはコンテナ環境からの環境値を誤って継承するのを避けるため、インバウンド `TRACEPARENT` を無視します。

136 156 

137#### スパン階層157<h4 id="span-hierarchy">

158 スパン階層

159</h4>

138 160 

139各ユーザープロンプトは `claude_code.interaction` ルートスパンを開始します。API 呼び出し、ツール呼び出し、フック実行はその子として記録されます。ツールスパンには 2 つの子スパンがあります: 1 つは権限決定の待機に費やされた時間用、もう 1 つは実行自体用です。Task ツールがサブエージェントを生成する場合、サブエージェントの API とツールスパンは親の `claude_code.tool` スパンの下にネストされます。161各ユーザープロンプトは `claude_code.interaction` ルートスパンを開始します。API 呼び出し、ツール呼び出し、フック実行はその子として記録されます。ツールスパンには 2 つの子スパンがあります: 1 つは権限決定の待機に費やされた時間用、もう 1 つは実行自体用です。Agent ツール、またはレガシー Task ツールがサブエージェントを生成する場合、サブエージェントの API とツールスパンは親の `claude_code.tool` スパンの下にネストされます。

140 162 

141```text theme={null}163```text theme={null}

142claude_code.interaction164claude_code.interaction


145└── claude_code.tool167└── claude_code.tool

146 ├── claude_code.tool.blocked_on_user168 ├── claude_code.tool.blocked_on_user

147 ├── claude_code.tool.execution169 ├── claude_code.tool.execution

148 └── (Task ツール) サブエージェント claude_code.llm_request / claude_code.tool スパン170 └── (Agent ツール) サブエージェント claude_code.llm_request / claude_code.tool スパン

149```171```

150 172 

151Agent SDK および `claude -p` セッションでは、`TRACEPARENT` が環境に設定されている場合、`claude_code.interaction` 自体が呼び出し元のスパンの子になります。173Agent SDK および `claude -p` セッションでは、`TRACEPARENT` が環境に設定されている場合、`claude_code.interaction` 自体が呼び出し元のスパンの子になります。

152 174 

153#### スパン属性175<h4 id="span-attributes">

176 スパン属性

177</h4>

154 178 

155すべてのスパンは [標準属性](#standard-attributes)と、その名前に一致する `span.type` 属性を持ちます。以下の表は、各スパンに設定される追加属性をリストしています。`llm_request`、`tool.execution`、および `hook` スパンは、失敗を記録するときに OpenTelemetry ステータス `ERROR` を設定します。他のスパンは常にステータス `UNSET` で終了します。179すべてのスパンは [標準属性](#standard-attributes)と、その名前に一致する `span.type` 属性を持ちます。以下の表は、各スパンに設定される追加属性をリストしています。`llm_request`、`tool.execution`、および `hook` スパンは、失敗を記録するときに OpenTelemetry ステータス `ERROR` を設定します。他のスパンは常にステータス `UNSET` で終了します。

156 180 


197**`claude_code.tool`**221**`claude_code.tool`**

198 222 

199| 属性 | 説明 | ゲート |223| 属性 | 説明 | ゲート |

200| --------------- | ------------------------------- | ----------------------- |224| ----------------- | ------------------------------------------------------------ | ----------------------- |

201| `tool_name` | ツール名 | |225| `tool_name` | ツール名 | |

202| `duration_ms` | 権限待機と実行を含む実時間 | |226| `duration_ms` | 権限待機と実行を含む実時間 | |

203| `result_tokens` | ツール結果のおおよそのトークンサイズ | |227| `result_tokens` | ツール結果のおおよそのトークンサイズ | |

228| `agent_id` | ツールを実行したサブエージェントまたはチームメイトの識別子。メインセッションでは存在しません | |

229| `parent_agent_id` | このエージェントを生成したエージェントの識別子。メインセッションおよびそこから直接生成されたエージェントでは存在しません | |

204| `file_path` | Read、Edit、Write ツールのターゲットファイルパス | `OTEL_LOG_TOOL_DETAILS` |230| `file_path` | Read、Edit、Write ツールのターゲットファイルパス | `OTEL_LOG_TOOL_DETAILS` |

205| `full_command` | Bash ツールのコマンド文字列 | `OTEL_LOG_TOOL_DETAILS` |231| `full_command` | Bash ツールのコマンド文字列 | `OTEL_LOG_TOOL_DETAILS` |

206| `skill_name` | Skill ツールのスキル名 | `OTEL_LOG_TOOL_DETAILS` |232| `skill_name` | Skill ツールのスキル名 | `OTEL_LOG_TOOL_DETAILS` |

207| `subagent_type` | Task ツールのサブエージェントタイプ | `OTEL_LOG_TOOL_DETAILS` |233| `subagent_type` | Agent ツールまたはレガシー Task ツールのサブエージェントタイプ | `OTEL_LOG_TOOL_DETAILS` |

208 234 

209`OTEL_LOG_TOOL_CONTENT=1` の場合、このスパンは、属性にツールの入力と出力ボディを含む `tool.output` スパンイベントも記録します。属性ごとに 60 KB で切り詰められます。235`OTEL_LOG_TOOL_CONTENT=1` の場合、このスパンは、属性にツールの入力と出力ボディを含む `tool.output` スパンイベントも記録します。属性ごとに 60 KB で切り詰められます。

210 236 


244 `new_context`、`system_prompt_preview`、`user_system_prompt`、`tool_input`、`response.model_output` などの追加のコンテンツを含む属性は、詳細なベータトレースがアクティブな場合にのみ出力されます。これらは安定したスパンスキーマの一部ではありません。`user_system_prompt` はさらに `OTEL_LOG_USER_PROMPTS=1` が必要です。これは `systemPrompt` SDK オプションまたは `--system-prompt` および `--append-system-prompt` フラグを通じて提供するシステムプロンプトテキストのみを含み、60 KB で切り詰められ、リクエストごとではなくセッションごとに 1 回出力されます。270 `new_context`、`system_prompt_preview`、`user_system_prompt`、`tool_input`、`response.model_output` などの追加のコンテンツを含む属性は、詳細なベータトレースがアクティブな場合にのみ出力されます。これらは安定したスパンスキーマの一部ではありません。`user_system_prompt` はさらに `OTEL_LOG_USER_PROMPTS=1` が必要です。これは `systemPrompt` SDK オプションまたは `--system-prompt` および `--append-system-prompt` フラグを通じて提供するシステムプロンプトテキストのみを含み、60 KB で切り詰められ、リクエストごとではなくセッションごとに 1 回出力されます。

245</Note>271</Note>

246 272 

247### 動的ヘッダー273<h3 id="dynamic-headers">

274 動的ヘッダー

275</h3>

248 276 

249動的認証が必要なエンタープライズ環境では、ヘッダーを動的に生成するスクリプトを設定できます。動的ヘッダーは `http/protobuf` および `http/json` プロトコルにのみ適用されます。`grpc` エクスポーターは静的な `OTEL_EXPORTER_OTLP_HEADERS` 値のみを使用します。277動的認証が必要なエンタープライズ環境では、ヘッダーを動的に生成するスクリプトを設定できます。動的ヘッダーは `http/protobuf` および `http/json` プロトコルにのみ適用されます。`grpc` エクスポーターは静的な `OTEL_EXPORTER_OTLP_HEADERS` 値のみを使用します。

250 278 

251#### 設定ファイルの設定279<h4 id="settings-configuration">

280 設定ファイルの設定

281</h4>

252 282 

253`.claude/settings.json` に追加します:283`.claude/settings.json` に追加します:

254 284 


258}288}

259```289```

260 290 

261#### スクリプト要件291値は、スペースを含むパスを含む実行可能ファイルへのパス、またはシェルコマンドラインと引数です。Windows では、値は常にシェルを通じて実行されるため、JSON 値内にスペースを含むパスをクォートで囲みます。

292 

293<h4 id="script-requirements">

294 スクリプト要件

295</h4>

262 296 

263スクリプトは HTTP ヘッダーを表す文字列キーと値のペアを持つ有効な JSON を出力する必要があります:297スクリプトは HTTP ヘッダーを表す文字列キーと値のペアを持つ有効な JSON を出力する必要があります:

264 298 


268echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"302echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"

269```303```

270 304 

271#### リフレッシュ動作305ヘルパーが失敗するか、これらの要件を満たさない出力を出力する場合、Claude Code は以下のエラーを報告します:

306 

307* `/doctor` 出力

308* [`--debug`](/ja/cli-reference#cli-flags) で実行するか、セッション内で `/debug` を実行した後のデバッグログ

309* stderr、`-p` で開始された非対話型セッション内

310 

311<h4 id="refresh-behavior">

312 リフレッシュ動作

313</h4>

272 314 

273ヘッダーヘルパースクリプトはスタートアップ時に実行され、その後定期的に実行されてトークンリフレッシュをサポートします。デフォルトでは、スクリプトは 29 分ごとに実行されます。`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` 環境変数で間隔をカスタマイズします。315ヘッダーヘルパースクリプトはスタートアップ時に実行され、その後定期的に実行されてトークンリフレッシュをサポートします。デフォルトでは、スクリプトは 29 分ごとに実行されます。`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` 環境変数で間隔をカスタマイズします。

274 316 

275### マルチチーム組織サポート317<h3 id="multi-team-organization-support">

318 マルチチーム組織サポート

319</h3>

276 320 

277複数のチームまたは部門を持つ組織は、`OTEL_RESOURCE_ATTRIBUTES` 環境変数を使用してカスタム属性を追加し、異なるグループを区別できます:321複数のチームまたは部門を持つ組織は、`OTEL_RESOURCE_ATTRIBUTES` 環境変数を使用してカスタム属性を追加し、異なるグループを区別できます:

278 322 


288* チーム固有のダッシュボードを作成する332* チーム固有のダッシュボードを作成する

289* 特定のチームのアラートを設定する333* 特定のチームのアラートを設定する

290 334 

335Claude Code はこれらの値をすべてのメトリクスデータポイントとイベントレコードの属性として、OTLP リソースブロックで送信することに加えて、属性として付加します。ほとんどのメトリクスバックエンドはデータポイント属性をクエリ可能なラベルとして公開しているため、カスタムキーで直接メトリクスをグループ化およびフィルタリングできます。カスタムキーは、`user.id` または `session.id` などの [標準属性](#standard-attributes)をオーバーライドしません: キーが衝突する場合、Claude Code は組み込み値を保持します。

336 

337各カスタムキーはすべてのメトリクスシリーズのラベルになるため、高カーディナリティ値はメトリクスバックエンドのストレージコストを増加させます。カスタム属性をリソースブロックのみで送信し、データポイントラベルから省略するには、`OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false` を設定します。[メトリクスカーディナリティ制御](#metrics-cardinality-control)を参照してください。

338 

291<Warning>339<Warning>

292 **OTEL\_RESOURCE\_ATTRIBUTES の重要なフォーマット要件:**340 **OTEL\_RESOURCE\_ATTRIBUTES の重要なフォーマット要件:**

293 341 


315 注: 値をクォートで囲むことはスペースをエスケープしません。例えば、`org.name="My Company"` は `My Company` ではなく、リテラル値 `"My Company"` (クォート付き) になります。363 注: 値をクォートで囲むことはスペースをエスケープしません。例えば、`org.name="My Company"` は `My Company` ではなく、リテラル値 `"My Company"` (クォート付き) になります。

316</Warning>364</Warning>

317 365 

318### 設定例366<h3 id="example-configurations">

367 設定例

368</h3>

319 369 

320`claude` を実行する前にこれらの環境変数を設定します。各ブロックは、異なるエクスポーターまたはデプロイメントシナリオの完全な設定を示しています:370`claude` を実行する前にこれらの環境変数を設定します。各ブロックは、異なるエクスポーターまたはデプロイメントシナリオの完全な設定を示しています:

321 371 


362export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317412export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317

363```413```

364 414 

365## 利用可能なメトリクスとイベント415<h2 id="available-metrics-and-events">

416 利用可能なメトリクスとイベント

417</h2>

366 418 

367### 標準属性419<h3 id="standard-attributes">

420 標準属性

421</h3>

368 422 

369すべてのメトリクスとイベントは、これらの標準属性を共有します:423すべてのメトリクスとイベントは、これらの標準属性を共有します:

370 424 

371| 属性 | 説明 | 制御者 |425| 属性 | 説明 | 制御者 |

372| ------------------- | ------------------------------------------------------------------ | ------------------------------------------------- |426| ------------------------------------ | ------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |

373| `session.id` | 一意のセッション識別子 | `OTEL_METRICS_INCLUDE_SESSION_ID` (デフォルト: true) |427| `session.id` | 一意のセッション識別子 | `OTEL_METRICS_INCLUDE_SESSION_ID` (デフォルト: true) |

374| `app.version` | 現在の Claude Code バージョン | `OTEL_METRICS_INCLUDE_VERSION` (デフォルト: false) |428| `app.version` | 現在の Claude Code バージョン | `OTEL_METRICS_INCLUDE_VERSION` (デフォルト: false) |

429| `app.entrypoint` | セッションがどのように起動されたか。例: `cli`、`sdk-cli`、`sdk-ts`、`sdk-py`、または `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (デフォルト: false) |

375| `organization.id` | 組織 UUID (認証時) | 利用可能な場合は常に含まれます |430| `organization.id` | 組織 UUID (認証時) | 利用可能な場合は常に含まれます |

376| `user.account_uuid` | アカウント UUID (認証時) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (デフォルト: true) |431| `user.account_uuid` | アカウント UUID (認証時) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (デフォルト: true) |

377| `user.account_id` | Anthropic 管理 API と一致するタグ付き形式のアカウント ID (認証時)。例: `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (デフォルト: true) |432| `user.account_id` | Anthropic 管理 API と一致するタグ付き形式のアカウント ID (認証時)。例: `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (デフォルト: true) |

378| `user.id` | Claude Code インストールごとに生成される匿名デバイス/インストール識別子 | 常に含まれます |433| `user.id` | Claude Code インストールごとに生成される匿名デバイス/インストール識別子 | 常に含まれます |

379| `user.email` | ユーザーメールアドレス (OAuth 経由で認証時) | 利用可能な場合は常に含まれます |434| `user.email` | ユーザーメールアドレス (OAuth 経由で認証時) | 利用可能な場合は常に含まれます |

380| `terminal.type` | ターミナルタイプ。例: `iTerm.app`、`vscode`、`cursor`、`tmux` | 検出された場合は常に含まれます |435| `terminal.type` | ターミナルタイプ。例: `iTerm.app`、`vscode`、`cursor`、`tmux` | 検出された場合は常に含まれます |

436| Keys from `OTEL_RESOURCE_ATTRIBUTES` | カスタム属性 (例: `department` または `team.id`)。[マルチチームの組織サポート](#multi-team-organization-support)を参照してください | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (デフォルト: true) |

381 437 

382イベントには、以下の追加属性が含まれます。これらはメトリクスに添付されることはありません。これらはバウンドされていないカーディナリティを引き起こすためです:438イベントには、以下の追加属性が含まれます。これらはメトリクスに添付されることはありません。これらはバウンドされていないカーディナリティを引き起こすためです:

383 439 

384* `prompt.id`: ユーザープロンプトを次のプロンプトまでのすべての後続イベントと相関させる UUID。[イベント相関属性](#event-correlation-attributes)を参照してください。440* `prompt.id`: ユーザープロンプトを次のプロンプトまでのすべての後続イベントと相関させる UUID。[イベント相関属性](#event-correlation-attributes)を参照してください。

385* `workspace.host_paths`: デスクトップアプリで選択されたホストワークスペースディレクトリ (文字列配列として)441* `workspace.host_paths`: デスクトップアプリで選択されたホストワークスペースディレクトリ (文字列配列として)

386 442 

387### メトリクス443<h3 id="metrics">

444 メトリクス

445</h3>

388 446 

389Claude Code は以下のメトリクスをエクスポートします:447Claude Code は以下のメトリクスをエクスポートします:

390 448 


399| `claude_code.code_edit_tool.decision` | コード編集ツールの権限決定の数 | count |457| `claude_code.code_edit_tool.decision` | コード編集ツールの権限決定の数 | count |

400| `claude_code.active_time.total` | 合計アクティブ時間 (秒単位) | s |458| `claude_code.active_time.total` | 合計アクティブ時間 (秒単位) | s |

401 459 

402### メトリクスの詳細460<h3 id="metric-details">

461 メトリクスの詳細

462</h3>

403 463 

404各メトリクスには、上記の標準属性が含まれます。追加のコンテキスト固有の属性を持つメトリクスは以下に記載されています。464各メトリクスには、上記の標準属性が含まれます。追加のコンテキスト固有の属性を持つメトリクスは以下に記載されています。

405 465 

406#### セッションカウンター466<h4 id="session-counter">

467 セッションカウンター

468</h4>

407 469 

408各セッションの開始時にインクリメントされます。470各セッションの開始時にインクリメントされます。

409 471 


412* すべての[標準属性](#standard-attributes)474* すべての[標準属性](#standard-attributes)

413* `start_type`: セッションがどのように開始されたか。`"fresh"`、`"resume"`、または `"continue"` のいずれか475* `start_type`: セッションがどのように開始されたか。`"fresh"`、`"resume"`、または `"continue"` のいずれか

414 476 

415#### コード行カウンター477<h4 id="lines-of-code-counter">

478 コード行カウンター

479</h4>

416 480 

417コードが追加または削除されたときにインクリメントされます。481コードが追加または削除されたときにインクリメントされます。

418 482 


421* すべての[標準属性](#standard-attributes)485* すべての[標準属性](#standard-attributes)

422* `type`: (`"added"`、`"removed"`)486* `type`: (`"added"`、`"removed"`)

423 487 

424#### プルリクエストカウンター488<h4 id="pull-request-counter">

489 プルリクエストカウンター

490</h4>

425 491 

426Claude Code を介してシェルコマンドまたは MCP ツールを通じてプルリクエストまたはマージリクエストを作成するときにインクリメントされます。492Claude Code を介してシェルコマンドまたは MCP ツールを通じてプルリクエストまたはマージリクエストを作成するときにインクリメントされます。

427 493 


429 495 

430* すべての[標準属性](#standard-attributes)496* すべての[標準属性](#standard-attributes)

431 497 

432#### コミットカウンター498<h4 id="commit-counter">

499 コミットカウンター

500</h4>

433 501 

434Claude Code を介して git コミットを作成するときにインクリメントされます。502Claude Code を介して git コミットを作成するときにインクリメントされます。

435 503 


437 505 

438* すべての[標準属性](#standard-attributes)506* すべての[標準属性](#standard-attributes)

439 507 

440#### コストカウンター508<h4 id="cost-counter">

509 コストカウンター

510</h4>

441 511 

442各 API リクエスト後にインクリメントされます。512各 API リクエスト後にインクリメントされます。

443 513 


452* `skill.name`: リクエストに対してアクティブなスキル。Skill ツール、`/` コマンド、またはスポーンされたサブエージェントによって継承されます。組み込み、バンドル、ユーザー定義、および公式マーケットプレイスプラグインスキル名はそのまま表示されます。サードパーティプラグインスキル名は `"third-party"` に置き換えられます。アクティブなスキルがない場合は存在しません。522* `skill.name`: リクエストに対してアクティブなスキル。Skill ツール、`/` コマンド、またはスポーンされたサブエージェントによって継承されます。組み込み、バンドル、ユーザー定義、および公式マーケットプレイスプラグインスキル名はそのまま表示されます。サードパーティプラグインスキル名は `"third-party"` に置き換えられます。アクティブなスキルがない場合は存在しません。

453* `plugin.name`: アクティブなスキルまたはサブエージェントがプラグインによって提供される場合の所有プラグイン。公式マーケットプレイスプラグイン名はそのまま表示されます。サードパーティプラグイン名は `"third-party"` に置き換えられます。スキルもサブエージェントも所有プラグインを持たない場合は存在しません。523* `plugin.name`: アクティブなスキルまたはサブエージェントがプラグインによって提供される場合の所有プラグイン。公式マーケットプレイスプラグイン名はそのまま表示されます。サードパーティプラグイン名は `"third-party"` に置き換えられます。スキルもサブエージェントも所有プラグインを持たない場合は存在しません。

454* `marketplace.name`: 所有プラグインがインストールされたマーケットプレイス。公式マーケットプレイスプラグインに対してのみ出力されます。それ以外の場合は存在しません。524* `marketplace.name`: 所有プラグインがインストールされたマーケットプレイス。公式マーケットプレイスプラグインに対してのみ出力されます。それ以外の場合は存在しません。

525* `mcp_server.name`: リクエストを生成したターンで実行された MCP サーバー。組み込み、claude.ai プロキシ、および公式レジストリサーバー名はそのまま表示されます。ユーザー設定サーバー名は `"custom"` に置き換えられます。MCP ツールが実行されなかった場合は存在しません。

526* `mcp_tool.name`: リクエストを生成したターンで実行された MCP ツール。`mcp_server.name` と同じ編集が適用されます。MCP ツールが実行されなかった場合は存在しません。

455 527 

456#### トークンカウンター528<h4 id="token-counter">

529 トークンカウンター

530</h4>

457 531 

458各 API リクエスト後にインクリメントされます。532各 API リクエスト後にインクリメントされます。

459 533 


465* `query_source`: リクエストを発行したサブシステムのカテゴリ。`"main"`、`"subagent"`、または `"auxiliary"` のいずれか539* `query_source`: リクエストを発行したサブシステムのカテゴリ。`"main"`、`"subagent"`、または `"auxiliary"` のいずれか

466* `speed`: 高速モードを使用した場合は `"fast"`。それ以外の場合は存在しません540* `speed`: 高速モードを使用した場合は `"fast"`。それ以外の場合は存在しません

467* `effort`: リクエストに適用された[努力レベル](/ja/model-config#adjust-effort-level)。詳細は [コストカウンター](#cost-counter)を参照してください。541* `effort`: リクエストに適用された[努力レベル](/ja/model-config#adjust-effort-level)。詳細は [コストカウンター](#cost-counter)を参照してください。

468* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`: リクエストのスキル、プラグイン、およびエージェント属性。定義と編集動作については [コストカウンター](#cost-counter)を参照してください。542* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`: リクエストのスキル、プラグイン、エージェント、および MCP 属性。定義と編集動作については [コストカウンター](#cost-counter)を参照してください。

469 543 

470#### コード編集ツール決定カウンター544<h4 id="code-edit-tool-decision-counter">

545 コード編集ツール決定カウンター

546</h4>

471 547 

472ユーザーが Edit、Write、または NotebookEdit ツールの使用を受け入れるか拒否するときにインクリメントされます。548ユーザーが Edit、Write、または NotebookEdit ツールの使用を受け入れるか拒否するときにインクリメントされます。

473 549 


479* `source`: 決定ソース。`"config"`、`"hook"`、`"user_permanent"`、`"user_temporary"`、`"user_abort"`、または `"user_reject"` のいずれか。詳細は [ツール決定イベント](#tool-decision-event)を参照してください。555* `source`: 決定ソース。`"config"`、`"hook"`、`"user_permanent"`、`"user_temporary"`、`"user_abort"`、または `"user_reject"` のいずれか。詳細は [ツール決定イベント](#tool-decision-event)を参照してください。

480* `language`: 編集されたファイルのプログラミング言語。例: `"TypeScript"`、`"Python"`、`"JavaScript"`、`"Markdown"`。認識されないファイル拡張子の場合は `"unknown"` を返します。556* `language`: 編集されたファイルのプログラミング言語。例: `"TypeScript"`、`"Python"`、`"JavaScript"`、`"Markdown"`。認識されないファイル拡張子の場合は `"unknown"` を返します。

481 557 

482#### アクティブ時間カウンター558<h4 id="active-time-counter">

559 アクティブ時間カウンター

560</h4>

483 561 

484Claude Code を積極的に使用している実際の時間を追跡します (アイドル時間ではありません)。このメトリクスは、ユーザーインタラクション (入力、応答の読み取り) 中および CLI 処理 (ツール実行、AI 応答生成) 中にインクリメントされます。562Claude Code を積極的に使用している実際の時間を追跡します (アイドル時間ではありません)。このメトリクスは、ユーザーインタラクション (入力、応答の読み取り) 中および CLI 処理 (ツール実行、AI 応答生成) 中にインクリメントされます。

485 563 


488* すべての[標準属性](#standard-attributes)566* すべての[標準属性](#standard-attributes)

489* `type`: キーボードインタラクションの場合は `"user"`、ツール実行と AI 応答の場合は `"cli"`567* `type`: キーボードインタラクションの場合は `"user"`、ツール実行と AI 応答の場合は `"cli"`

490 568 

491### イベント569<h3 id="events">

570 イベント

571</h3>

492 572 

493Claude Code は、OpenTelemetry ログ/イベント経由で以下のイベントをエクスポートします (`OTEL_LOGS_EXPORTER` が設定されている場合):573Claude Code は、OpenTelemetry ログ/イベント経由で以下のイベントをエクスポートします (`OTEL_LOGS_EXPORTER` が設定されている場合):

494 574 

495#### イベント相関属性575<h4 id="event-correlation-attributes">

576 イベント相関属性

577</h4>

496 578 

497ユーザーがプロンプトを送信すると、Claude Code は複数の API 呼び出しを行い、複数のツールを実行する場合があります。`prompt.id` 属性を使用すると、それらのすべてのイベントを、それらをトリガーした単一のプロンプトに結び付けることができます。579ユーザーがプロンプトを送信すると、Claude Code は複数の API 呼び出しを行い、複数のツールを実行する場合があります。`prompt.id` 属性を使用すると、それらのすべてのイベントを、それらをトリガーした単一のプロンプトに結び付けることができます。

498 580 


506 `prompt.id` は、各プロンプトが一意の ID を生成し、時系列が増え続けるため、メトリクスから意図的に除外されています。イベントレベルの分析と監査証跡にのみ使用してください。588 `prompt.id` は、各プロンプトが一意の ID を生成し、時系列が増え続けるため、メトリクスから意図的に除外されています。イベントレベルの分析と監査証跡にのみ使用してください。

507</Note>589</Note>

508 590 

509#### ユーザープロンプトイベント591<h4 id="user-prompt-event">

592 ユーザープロンプトイベント

593</h4>

510 594 

511ユーザーがプロンプトを送信するときにログされます。595ユーザーがプロンプトを送信するときにログされます。

512 596 


523* `command_name`: プロンプトがコマンドを呼び出す場合のコマンド名。`compact` または `debug` などの組み込みおよびバンドルされたコマンド名はそのまま出力されます。`reset` などのエイリアスは、正規名ではなく入力されたとおりに出力されます。カスタム、プラグイン、MCP コマンド名は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `custom` または `mcp` に折りたたまれます607* `command_name`: プロンプトがコマンドを呼び出す場合のコマンド名。`compact` または `debug` などの組み込みおよびバンドルされたコマンド名はそのまま出力されます。`reset` などのエイリアスは、正規名ではなく入力されたとおりに出力されます。カスタム、プラグイン、MCP コマンド名は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `custom` または `mcp` に折りたたまれます

524* `command_source`: コマンドが存在する場合のコマンドの起源: `builtin`、`custom`、または `mcp`。プラグイン提供のコマンドは `custom` として報告されます608* `command_source`: コマンドが存在する場合のコマンドの起源: `builtin`、`custom`、または `mcp`。プラグイン提供のコマンドは `custom` として報告されます

525 609 

526#### ツール結果イベント610<h4 id="tool-result-event">

611 ツール結果イベント

612</h4>

527 613 

528ツールが実行を完了するときにログされます。614ツールが実行を完了するときにログされます。ツール呼び出しが拒否された場合は出力されません。[ツール決定イベント](#tool-decision-event)を参照してください。

529 615 

530**イベント名**: `claude_code.tool_result`616**イベント名**: `claude_code.tool_result`

531 617 


541* `duration_ms`: 実行時間 (ミリ秒単位)627* `duration_ms`: 実行時間 (ミリ秒単位)

542* `error_type`: ツールが失敗した場合のエラーカテゴリ文字列。例: `"Error:ENOENT"` または `"ShellError"`628* `error_type`: ツールが失敗した場合のエラーカテゴリ文字列。例: `"Error:ENOENT"` または `"ShellError"`

543* `error` (`OTEL_LOG_TOOL_DETAILS=1` の場合): ツールが失敗した場合の完全なエラーメッセージ629* `error` (`OTEL_LOG_TOOL_DETAILS=1` の場合): ツールが失敗した場合の完全なエラーメッセージ

544* `decision_type`: `"accept"` または `"reject"`630* `decision_type`: 常に `"accept"` です。このイベントはツール実行後にのみ出力されます (拒否された呼び出しはツール結果を生成しません)

545* `decision_source`: 決定ソース。`"config"`、`"hook"`、`"user_permanent"`、`"user_temporary"`、`"user_abort"`、または `"user_reject"` のいずれか。詳細は [ツール決定イベント](#tool-decision-event)を参照してください。631* `decision_source`: 権限決定がどこから来たか。`"config"`、`"hook"`、`"user_permanent"`、または `"user_temporary"` のいずれか。詳細は [ツール決定イベント](#tool-decision-event)を参照してください。拒否のみのソースである `"user_abort"` と `"user_reject"` はこのイベントに表示されません。

546* `tool_input_size_bytes`: JSON シリアル化されたツール入力のサイズ (バイト単位)632* `tool_input_size_bytes`: JSON シリアル化されたツール入力のサイズ (バイト単位)

547* `tool_result_size_bytes`: ツール結果のサイズ (バイト単位)633* `tool_result_size_bytes`: ツール結果のサイズ (バイト単位)

548* `mcp_server_scope`: MCP サーバースコープ識別子 (MCP ツール用)634* `mcp_server_scope`: MCP サーバースコープ識別子 (MCP ツール用)

549* `tool_parameters` (`OTEL_LOG_TOOL_DETAILS=1` の場合): ツール固有のパラメーターを含む JSON 文字列:635* `tool_parameters` (`OTEL_LOG_TOOL_DETAILS=1` の場合): ツール固有のパラメーターを含む JSON 文字列:

550 * Bash ツールの場合: `bash_command`、`full_command`、`timeout`、`description`、`dangerouslyDisableSandbox`、および `git_commit_id` (git commit コマンドが成功した場合のコミット SHA) を含む636 * Bash ツールの場合: `bash_command`、`full_command`、`timeout`、`description`、`dangerouslyDisableSandbox`、および `git_commit_id` (git commit コマンドが成功した場合のコミット SHA) を含む

637 * WorkspaceBash ツールの場合: `bash_command`、`full_command`、`timeout` を含む

551 * MCP ツール: `mcp_server_name`、`mcp_tool_name` を含む638 * MCP ツール: `mcp_server_name`、`mcp_tool_name` を含む

552 * Skill ツール: `skill_name` を含む639 * Skill ツール: `skill_name` を含む

553 * Task ツール: `subagent_type` を含む640 * Agent ツールまたはレガシー Task ツール: `subagent_type` を含む

554* `tool_input` (`OTEL_LOG_TOOL_DETAILS=1` の場合): JSON シリアル化されたツール引数。512 文字を超える個別の値は切り詰められ、全体のペイロードは約 4 K 文字に制限されます。すべてのツール (MCP ツールを含む) に適用されます。641* `tool_input` (`OTEL_LOG_TOOL_DETAILS=1` の場合): JSON シリアル化されたツール引数。512 文字を超える個別の値は切り詰められ、全体のペイロードは約 4 K 文字に制限されます。すべてのツール (MCP ツールを含む) に適用されます。

555 642 

556#### API リクエストイベント643<h4 id="api-request-event">

644 API リクエストイベント

645</h4>

557 646 

558Claude への各 API リクエストについてログされます。647Claude への各 API リクエストについてログされます。

559 648 


576* `speed`: `"fast"` または `"normal"`、高速モードがアクティブであったかどうかを示します665* `speed`: `"fast"` または `"normal"`、高速モードがアクティブであったかどうかを示します

577* `query_source`: リクエストを発行したサブシステム。例: `"repl_main_thread"`、`"compact"`、またはサブエージェント名666* `query_source`: リクエストを発行したサブシステム。例: `"repl_main_thread"`、`"compact"`、またはサブエージェント名

578* `effort`: リクエストに適用された[努力レベル](/ja/model-config#adjust-effort-level): `"low"`、`"medium"`、`"high"`、`"xhigh"`、または `"max"`。モデルが努力をサポートしない場合は存在しません。667* `effort`: リクエストに適用された[努力レベル](/ja/model-config#adjust-effort-level): `"low"`、`"medium"`、`"high"`、`"xhigh"`、または `"max"`。モデルが努力をサポートしない場合は存在しません。

668* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`: リクエストのスキル、プラグイン、エージェント、および MCP 属性。定義と編集動作については [コストカウンター](#cost-counter)を参照してください。

579 669 

580#### API エラーイベント670<h4 id="api-error-event">

671 API エラーイベント

672</h4>

581 673 

582Claude への API リクエストが失敗するときにログされます。674Claude への API リクエストが失敗するときにログされます。

583 675 


598* `speed`: `"fast"` または `"normal"`、高速モードがアクティブであったかどうかを示します690* `speed`: `"fast"` または `"normal"`、高速モードがアクティブであったかどうかを示します

599* `query_source`: リクエストを発行したサブシステム。例: `"repl_main_thread"`、`"compact"`、またはサブエージェント名691* `query_source`: リクエストを発行したサブシステム。例: `"repl_main_thread"`、`"compact"`、またはサブエージェント名

600* `effort`: リクエストに適用された[努力レベル](/ja/model-config#adjust-effort-level)。モデルが努力をサポートしない場合は存在しません。692* `effort`: リクエストに適用された[努力レベル](/ja/model-config#adjust-effort-level)。モデルが努力をサポートしない場合は存在しません。

693* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`: リクエストのスキル、プラグイン、エージェント、および MCP 属性。定義と編集動作については [コストカウンター](#cost-counter)を参照してください。

601 694 

602#### API リクエストボディイベント695<h4 id="api-request-body-event">

696 API リクエストボディイベント

697</h4>

603 698 

604`OTEL_LOG_RAW_API_BODIES` が設定されている場合、各 API リクエスト試行についてログされます。調整されたパラメーターでの再試行ごとに 1 つのイベントが出力されます。699`OTEL_LOG_RAW_API_BODIES` が設定されている場合、各 API リクエスト試行についてログされます。調整されたパラメーターでの再試行ごとに 1 つのイベントが出力されます。

605 700 


618* `model`: リクエストパラメーターからのモデル識別子713* `model`: リクエストパラメーターからのモデル識別子

619* `query_source`: リクエストを発行したサブシステム (例: `"compact"`)714* `query_source`: リクエストを発行したサブシステム (例: `"compact"`)

620 715 

621#### API レスポンスボディイベント716<h4 id="api-response-body-event">

717 API レスポンスボディイベント

718</h4>

622 719 

623`OTEL_LOG_RAW_API_BODIES` が設定されている場合、各成功した API レスポンスについてログされます。720`OTEL_LOG_RAW_API_BODIES` が設定されている場合、各成功した API レスポンスについてログされます。

624 721 


638* `query_source`: リクエストを発行したサブシステム735* `query_source`: リクエストを発行したサブシステム

639* `request_id`: レスポンスの `request-id` ヘッダーからの Anthropic API リクエスト ID。例: `"req_011..."`。API が返す場合のみ存在します。736* `request_id`: レスポンスの `request-id` ヘッダーからの Anthropic API リクエスト ID。例: `"req_011..."`。API が返す場合のみ存在します。

640 737 

641#### ツール決定イベント738<h4 id="tool-decision-event">

739 ツール決定イベント

740</h4>

642 741 

643ツール権限決定 (受け入れ/拒否) が行われるときにログされます。742ツール権限決定 (受け入れ/拒否) が行われるときにログされます。

644 743 


659 * `"user_permanent"`: ユーザーが権限プロンプトで「はい、今後も同じ対象に対して聞かないでください」を選択し、個人設定に許可ルールを保存した場合に出力されます。インタラクティブ CLI では、その選択自体に対してのみ出力されます。後で保存されたルールに一致する呼び出しは代わりに `"config"` を出力します。Agent SDK または非インタラクティブ `-p` セッションでは、初期選択と後のルール一致の両方が `"user_permanent"` を出力します。受け入れとして扱われます。758 * `"user_permanent"`: ユーザーが権限プロンプトで「はい、今後も同じ対象に対して聞かないでください」を選択し、個人設定に許可ルールを保存した場合に出力されます。インタラクティブ CLI では、その選択自体に対してのみ出力されます。後で保存されたルールに一致する呼び出しは代わりに `"config"` を出力します。Agent SDK または非インタラクティブ `-p` セッションでは、初期選択と後のルール一致の両方が `"user_permanent"` を出力します。受け入れとして扱われます。

660 * `"user_temporary"`: ユーザーが権限プロンプトで「はい」を選択した場合、またはファイル編集または読み取りプロンプトで「このセッション中は...」オプションのいずれかを選択した場合に出力されます。インタラクティブ CLI では、その選択自体に対してのみ出力されます。後でそのセッションスコープの許可に一致する呼び出しは代わりに `"config"` を出力します。Agent SDK または非インタラクティブ `-p` セッションでは、選択と後の一致の両方が `"user_temporary"` を出力します。受け入れとして扱われます。759 * `"user_temporary"`: ユーザーが権限プロンプトで「はい」を選択した場合、またはファイル編集または読み取りプロンプトで「このセッション中は...」オプションのいずれかを選択した場合に出力されます。インタラクティブ CLI では、その選択自体に対してのみ出力されます。後でそのセッションスコープの許可に一致する呼び出しは代わりに `"config"` を出力します。Agent SDK または非インタラクティブ `-p` セッションでは、選択と後の一致の両方が `"user_temporary"` を出力します。受け入れとして扱われます。

661 * `"user_abort"`: ユーザーが権限プロンプトを回答なしで閉じた場合に出力されます。拒否として扱われます。760 * `"user_abort"`: ユーザーが権限プロンプトを回答なしで閉じた場合に出力されます。拒否として扱われます。

662 * `"user_reject"`: ユーザーがプロンプトされたときに「いいえ」を選択した場合または呼び出しが個人設定内の拒否ルールに一致した場合に出力されます。拒否として扱われます。761 * `"user_reject"`: ユーザーがプロンプトされたときに「いいえ」を選択した場合に出力されます。インタラクティブ CLI ではその選択自体に対してのみ出力されますユーザーの個人設定内の拒否ルールに一致する呼び出しは代わりに `"config"` を出力します。Agent SDK または非インタラクティブ `-p` セッションでは、個人設定内の拒否ルールに一致する呼び出しは `"user_reject"` を出力します。拒否として扱われます。

762* `tool_parameters` (`OTEL_LOG_TOOL_DETAILS=1` の場合): ツール固有のパラメーターを含む JSON 文字列。[ツール結果イベント](#tool-result-event)と同じ形状ですが、`git_commit_id` などの実行後フィールドを除きます。受け入れられた呼び出しの場合、`tool_result` と値が異なる場合があります。権限決定が `updatedInput` を介してツール入力を書き直す場合。この属性を使用して、`decision` が `"reject"` の場合にどのコマンドが拒否されたかを確認します。

763 * Bash ツールの場合: `bash_command`、`full_command`、`timeout`、`description`、`dangerouslyDisableSandbox` を含む

764 * WorkspaceBash ツールの場合: `bash_command`、`full_command`、`timeout` を含む

765 * MCP ツール: `mcp_server_name`、`mcp_tool_name` を含む

766 * Skill ツール: `skill_name` を含む

767 * Agent ツールまたはレガシー Task ツール: `subagent_type` を含む

663 768 

664#### 権限モード変更イベント769<h4 id="permission-mode-changed-event">

770 権限モード変更イベント

771</h4>

665 772 

666権限モードが変更されるときにログされます。例えば、`Shift+Tab` サイクリング、プランモード終了、または自動モードゲートチェックから。773権限モードが変更されるときにログされます。例えば、`Shift+Tab` サイクリング、プランモード終了、または自動モードゲートチェックから。

667 774 


677* `to_mode`: 新しい権限モード784* `to_mode`: 新しい権限モード

678* `trigger`: 変更の原因。`"shift_tab"`、`"exit_plan_mode"`、`"auto_gate_denied"`、または `"auto_opt_in"` のいずれか。SDK またはブリッジから発生する場合は存在しません785* `trigger`: 変更の原因。`"shift_tab"`、`"exit_plan_mode"`、`"auto_gate_denied"`、または `"auto_opt_in"` のいずれか。SDK またはブリッジから発生する場合は存在しません

679 786 

680#### 認証イベント787<h4 id="auth-event">

788 認証イベント

789</h4>

681 790 

682`/login` または `/logout` が完了するときにログされます。791`/login` または `/logout` が完了するときにログされます。

683 792 


695* `error_category`: アクションが失敗した場合のカテゴリエラー種別。生のエラーメッセージは含まれません804* `error_category`: アクションが失敗した場合のカテゴリエラー種別。生のエラーメッセージは含まれません

696* `status_code`: アクションが HTTP エラーで失敗した場合の HTTP ステータスコード (文字列)805* `status_code`: アクションが HTTP エラーで失敗した場合の HTTP ステータスコード (文字列)

697 806 

698#### MCP サーバー接続イベント807<h4 id="mcp-server-connection-event">

808 MCP サーバー接続イベント

809</h4>

699 810 

700MCP サーバーが接続、切断、または接続に失敗するときにログされます。811MCP サーバーが接続、切断、または接続に失敗するときにログされます。

701 812 


715* `server_name` (`OTEL_LOG_TOOL_DETAILS=1` の場合): 設定されたサーバー名826* `server_name` (`OTEL_LOG_TOOL_DETAILS=1` の場合): 設定されたサーバー名

716* `error` (`OTEL_LOG_TOOL_DETAILS=1` の場合): 接続が失敗した場合の完全なエラーメッセージ827* `error` (`OTEL_LOG_TOOL_DETAILS=1` の場合): 接続が失敗した場合の完全なエラーメッセージ

717 828 

718#### 内部エラーイベント829<h4 id="internal-error-event">

830 内部エラーイベント

831</h4>

719 832 

720Claude Code が予期しない内部エラーをキャッチするときにログされます。エラークラス名と errno スタイルコードのみが記録されます。エラーメッセージとスタックトレースは含まれません。このイベントは、Bedrock、Vertex、Foundry に対して実行している場合、または `DISABLE_ERROR_REPORTING` が設定されている場合は出力されません。833Claude Code が予期しない内部エラーをキャッチするときにログされます。エラークラス名と errno スタイルコードのみが記録されます。エラーメッセージとスタックトレースは含まれません。このイベントは、Bedrock、Vertex、Foundry に対して実行している場合、または `DISABLE_ERROR_REPORTING` が設定されている場合は出力されません。

721 834 


730* `error_name`: エラークラス名。例: `"TypeError"` または `"SyntaxError"`843* `error_name`: エラークラス名。例: `"TypeError"` または `"SyntaxError"`

731* `error_code`: エラーに存在する場合の Node.js errno コード。例: `"ENOENT"`844* `error_code`: エラーに存在する場合の Node.js errno コード。例: `"ENOENT"`

732 845 

733#### プラグインインストールイベント846<h4 id="plugin-installed-event">

847 プラグインインストールイベント

848</h4>

734 849 

735プラグインがインストール完了するときにログされます。`claude plugin install` CLI コマンドと対話型 `/plugin` UI の両方から。850プラグインがインストール完了するときにログされます。`claude plugin install` CLI コマンドと対話型 `/plugin` UI の両方から。

736 851 


748* `plugin.version`: マーケットプレイスエントリで宣言されている場合のプラグインバージョン。サードパーティマーケットプレイスの場合、`OTEL_LOG_TOOL_DETAILS=1` の場合のみ含まれます863* `plugin.version`: マーケットプレイスエントリで宣言されている場合のプラグインバージョン。サードパーティマーケットプレイスの場合、`OTEL_LOG_TOOL_DETAILS=1` の場合のみ含まれます

749* `marketplace.name`: プラグインがインストールされたマーケットプレイス。サードパーティマーケットプレイスの場合、`OTEL_LOG_TOOL_DETAILS=1` の場合のみ含まれます864* `marketplace.name`: プラグインがインストールされたマーケットプレイス。サードパーティマーケットプレイスの場合、`OTEL_LOG_TOOL_DETAILS=1` の場合のみ含まれます

750 865 

751#### プラグイン読み込みイベント866<h4 id="plugin-loaded-event">

867 プラグイン読み込みイベント

868</h4>

752 869 

753セッション開始時に有効なプラグインごとに 1 回ログされます。このイベントを使用して、フリート全体でどのプラグインがアクティブであるかをインベントリします。これは、インストールアクション自体を記録する `plugin_installed` を補完します。870セッション開始時に有効なプラグインごとに 1 回ログされます。このイベントを使用して、フリート全体でどのプラグインがアクティブであるかをインベントリします。これは、インストールアクション自体を記録する `plugin_installed` を補完します。

754 871 


772* `command_path_count`: プラグインが宣言するコマンドディレクトリの数889* `command_path_count`: プラグインが宣言するコマンドディレクトリの数

773* `agent_path_count`: プラグインが宣言するエージェントディレクトリの数890* `agent_path_count`: プラグインが宣言するエージェントディレクトリの数

774 891 

775#### スキル有効化イベント892<h4 id="skill-activated-event">

893 スキル有効化イベント

894</h4>

776 895 

777スキルが呼び出されるときにログされます。Claude が Skill ツールを通じてそれを呼び出すか、`/` コマンドとして実行するかどうかにかかわらず。896スキルが呼び出されるときにログされます。Claude が Skill ツールを通じてそれを呼び出すか、`/` コマンドとして実行するかどうかにかかわらず。

778 897 


790* `plugin.name` (`OTEL_LOG_TOOL_DETAILS=1` またはプラグインが公式マーケットプレイスからの場合): スキルがプラグインによって提供される場合の所有プラグインの名前909* `plugin.name` (`OTEL_LOG_TOOL_DETAILS=1` またはプラグインが公式マーケットプレイスからの場合): スキルがプラグインによって提供される場合の所有プラグインの名前

791* `marketplace.name` (`OTEL_LOG_TOOL_DETAILS=1` またはプラグインが公式マーケットプレイスからの場合): スキルがプラグインによって提供される場合、所有プラグインがインストールされたマーケットプレイス910* `marketplace.name` (`OTEL_LOG_TOOL_DETAILS=1` またはプラグインが公式マーケットプレイスからの場合): スキルがプラグインによって提供される場合、所有プラグインがインストールされたマーケットプレイス

792 911 

793#### @ メンションイベント912<h4 id="at-mention-event">

913 @ メンションイベント

914</h4>

794 915 

795Claude Code がプロンプト内の `@` メンションを解決するときにログされます。すべてのメンションがイベントを出力するわけではありません。権限拒否、ファイルサイズ超過、PDF 参照添付、ディレクトリリスト失敗などの早期終了パスはログなしで返されます。916Claude Code がプロンプト内の `@` メンションを解決するときにログされます。すべてのメンションがイベントを出力するわけではありません。権限拒否、ファイルサイズ超過、PDF 参照添付、ディレクトリリスト失敗などの早期終了パスはログなしで返されます。

796 917 


805* `mention_type`: メンションのタイプ (`"file"`、`"directory"`、`"agent"`、`"mcp_resource"`)926* `mention_type`: メンションのタイプ (`"file"`、`"directory"`、`"agent"`、`"mcp_resource"`)

806* `success`: メンションが正常に解決されたかどうか (`"true"` または `"false"`)927* `success`: メンションが正常に解決されたかどうか (`"true"` または `"false"`)

807 928 

808#### API 再試行枯渇イベント929<h4 id="api-retries-exhausted-event">

930 API 再試行枯渇イベント

931</h4>

809 932 

810API リクエストが複数回の試行後に失敗した場合に 1 回ログされます。最終的な `api_error` イベントと一緒に出力されます。933API リクエストが複数回の試行後に失敗した場合に 1 回ログされます。最終的な `api_error` イベントと一緒に出力されます。

811 934 


824* `total_retry_duration_ms`: すべての試行にわたる実時間947* `total_retry_duration_ms`: すべての試行にわたる実時間

825* `speed`: `"fast"` または `"normal"`948* `speed`: `"fast"` または `"normal"`

826 949 

827#### フック登録イベント950<h4 id="hook-registered-event">

951 フック登録イベント

952</h4>

828 953 

829セッション開始時に設定されたフックごとに 1 回ログされます。このイベントを使用して、フリート全体でどのフックがアクティブであるかをインベントリします。これは、実行ごとの `hook_execution_start` および `hook_execution_complete` イベントを補完します。954セッション開始時に設定されたフックごとに 1 回ログされます。このイベントを使用して、フリート全体でどのフックがアクティブであるかをインベントリします。これは、実行ごとの `hook_execution_start` および `hook_execution_complete` イベントを補完します。

830 955 


843* `plugin.name` (`hook_source` が `"pluginHook"` の場合): 貢献するプラグインの名前。公式マーケットプレイスおよび組み込みバンドルの外部にあるプラグインの場合、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り値は `"third-party"` です968* `plugin.name` (`hook_source` が `"pluginHook"` の場合): 貢献するプラグインの名前。公式マーケットプレイスおよび組み込みバンドルの外部にあるプラグインの場合、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り値は `"third-party"` です

844* `plugin_id_hash` (`hook_source` が `"pluginHook"` の場合): プラグイン名とマーケットプレイスの決定論的ハッシュ。設定されたエクスポーターにのみ送信されます。その名前を記録することなく、貢献するプラグインの数をカウントできます969* `plugin_id_hash` (`hook_source` が `"pluginHook"` の場合): プラグイン名とマーケットプレイスの決定論的ハッシュ。設定されたエクスポーターにのみ送信されます。その名前を記録することなく、貢献するプラグインの数をカウントできます

845 970 

846#### フック実行開始イベント971<h4 id="hook-execution-start-event">

972 フック実行開始イベント

973</h4>

847 974 

8481 つ以上のフックがフックイベントの実行を開始するときにログされます。9751 つ以上のフックがフックイベントの実行を開始するときにログされます。

849 976 


862* `hook_source`: `"policySettings"` または `"merged"`989* `hook_source`: `"policySettings"` または `"merged"`

863* `hook_definitions`: JSON シリアル化されたフック設定。詳細なベータトレースと `OTEL_LOG_TOOL_DETAILS=1` の両方が有効な場合にのみ含まれます990* `hook_definitions`: JSON シリアル化されたフック設定。詳細なベータトレースと `OTEL_LOG_TOOL_DETAILS=1` の両方が有効な場合にのみ含まれます

864 991 

865#### フック実行完了イベント992<h4 id="hook-execution-complete-event">

993 フック実行完了イベント

994</h4>

866 995 

867フックイベントのすべてのフックが完了するときにログされます。996フックイベントのすべてのフックが完了するときにログされます。

868 997 


886* `hook_source`: `"policySettings"` または `"merged"`1015* `hook_source`: `"policySettings"` または `"merged"`

887* `hook_definitions`: JSON シリアル化されたフック設定。詳細なベータトレースと `OTEL_LOG_TOOL_DETAILS=1` の両方が有効な場合にのみ含まれます1016* `hook_definitions`: JSON シリアル化されたフック設定。詳細なベータトレースと `OTEL_LOG_TOOL_DETAILS=1` の両方が有効な場合にのみ含まれます

888 1017 

889#### 圧縮イベント1018<h4 id="hook-plugin-metrics-event">

1019 フックプラグインメトリクスイベント

1020</h4>

1021 

1022公式マーケットプレイスプラグインフックが呼び出しごとのメトリクスを出力するときにログされます。公式 Anthropic マーケットプレイスからインストールされたプラグインのみがこれらを出力できます。サードパーティマーケットプレイスプラグインとユーザー設定フックはこのイベントに出力されません。プラグイン動作 (検出率、コスト、期間など) を監視するには、このイベントを使用して、独自の可観測性スタックから監視します。

1023 

1024**イベント名**: `claude_code.hook_plugin_metrics`

1025 

1026**属性**:

1027 

1028* すべての[標準属性](#standard-attributes)

1029* `event.name`: `"hook_plugin_metrics"`

1030* `event.timestamp`: ISO 8601 タイムスタンプ

1031* `event.sequence`: セッション内のイベントを順序付けするための単調増加カウンター

1032* `plugin_id`: `<name>@<marketplace>` 形式のプラグイン識別子

1033* `hook_event`: メトリクスを出力したフックイベントタイプ

1034* 最大 20 個のプラグイン出力メトリクスキー。名前は `^[a-z][a-z0-9_]{0,39}$` と一致します。値はブール値または数値です。

1035 

1036<h4 id="compaction-event">

1037 圧縮イベント

1038</h4>

890 1039 

891会話圧縮が完了するときにログされます。1040会話圧縮が完了するときにログされます。

892 1041 


904* `pre_tokens`: 圧縮前のおおよそのトークン数1053* `pre_tokens`: 圧縮前のおおよそのトークン数

905* `post_tokens`: 圧縮後のおおよそのトークン数1054* `post_tokens`: 圧縮後のおおよそのトークン数

906* `error`: 圧縮が失敗した場合のエラーメッセージ1055* `error`: 圧縮が失敗した場合のエラーメッセージ

1056* `precompute_reuse`: `trigger` が `"manual"` の場合のみ設定されます。自動圧縮は、コンテキストウィンドウが満杯になる前に、バックグラウンドで概要を準備できます。この属性は、`/compact` がその準備された概要を再利用したかどうかを記録します。`"hit"` は再利用されたことを意味します。`"miss_custom_instructions"`、`"miss_hook"`、および `"miss_not_ready"` は、代わりに新しい概要が計算された理由を示します。{/* min-version: 2.1.153 */}Claude Code v2.1.153 以降が必要です

907 1057 

908#### フィードバック調査イベント1058<h4 id="feedback-survey-event">

1059 フィードバック調査イベント

1060</h4>

909 1061 

910セッション品質調査が表示または回答されるときにログされます。調査が収集する内容と制御方法については、[セッション品質調査](/ja/data-usage#session-quality-surveys)を参照してください。1062セッション品質調査が表示または回答されるときにログされます。調査が収集する内容と制御方法については、[セッション品質調査](/ja/data-usage#session-quality-surveys)を参照してください。

911 1063 


923* `response`: `responded` イベントでのユーザーの選択1075* `response`: `responded` イベントでのユーザーの選択

924* `enabled_via_override`: [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/ja/env-vars) が設定されている場合は `true`。文字列ではなくブール値として出力されます。`session` 調査イベントに存在します。この属性をフィルタリングして、フリート全体でオーバーライドが適用されていることを確認します1076* `enabled_via_override`: [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/ja/env-vars) が設定されている場合は `true`。文字列ではなくブール値として出力されます。`session` 調査イベントに存在します。この属性をフィルタリングして、フリート全体でオーバーライドが適用されていることを確認します

925 1077 

926## メトリクスとイベントデータの解釈1078<h2 id="interpret-metrics-and-events-data">

1079 メトリクスとイベントデータの解釈

1080</h2>

927 1081 

928エクスポートされたメトリクスとイベントは、さまざまな分析をサポートします:1082エクスポートされたメトリクスとイベントは、さまざまな分析をサポートします:

929 1083 

930### 使用状況監視1084<h3 id="usage-monitoring">

1085 使用状況監視

1086</h3>

931 1087 

932| メトリクス | 分析の機会 |1088| メトリクス | 分析の機会 |

933| ------------------------------------------------------------- | ---------------------------------------------------------------------------- |1089| ------------------------------------------------------------- | ---------------------------------------------------------------------------- |


936| `claude_code.lines_of_code.count` | コード追加/削除を追跡して生産性を測定 |1092| `claude_code.lines_of_code.count` | コード追加/削除を追跡して生産性を測定 |

937| `claude_code.commit.count` & `claude_code.pull_request.count` | 開発ワークフローへの影響を理解 |1093| `claude_code.commit.count` & `claude_code.pull_request.count` | 開発ワークフローへの影響を理解 |

938 1094 

939### コスト監視1095<h3 id="cost-monitoring">

1096 コスト監視

1097</h3>

940 1098 

941`claude_code.cost.usage` メトリクスは以下に役立ちます:1099`claude_code.cost.usage` メトリクスは以下に役立ちます:

942 1100 


948 コストメトリクスは概算です。公式な請求データについては、API プロバイダー (Claude Console、Amazon Bedrock、または Google Cloud Vertex) を参照してください。1106 コストメトリクスは概算です。公式な請求データについては、API プロバイダー (Claude Console、Amazon Bedrock、または Google Cloud Vertex) を参照してください。

949</Note>1107</Note>

950 1108 

951### アラートとセグメンテーション1109<h3 id="alerting-and-segmentation">

1110 アラートとセグメンテーション

1111</h3>

952 1112 

953検討すべき一般的なアラート:1113検討すべき一般的なアラート:

954 1114 


958 1118 

959すべてのメトリクスは、`user.account_uuid`、`user.account_id`、`organization.id`、`session.id`、`model`、および `app.version` でセグメント化できます。1119すべてのメトリクスは、`user.account_uuid`、`user.account_id`、`organization.id`、`session.id`、`model`、および `app.version` でセグメント化できます。

960 1120 

961### 再試行枯渇の検出1121<h3 id="detect-retry-exhaustion">

1122 再試行枯渇の検出

1123</h3>

962 1124 

963Claude Code は失敗した API リクエストを内部的に再試行し、あきらめた後にのみ単一の `claude_code.api_error` イベントを出力するため、イベント自体がそのリクエストの終端信号です。中間再試行試行は個別のイベントとしてログされません。1125Claude Code は失敗した API リクエストを内部的に再試行し、あきらめた後にのみ単一の `claude_code.api_error` イベントを出力するため、イベント自体がそのリクエストの終端信号です。中間再試行試行は個別のイベントとしてログされません。

964 1126 


966 1128 

967セッションが回復したものと停止したものを区別するには、イベントを `session.id` でグループ化し、エラーの後に後続の `api_request` イベントが存在するかどうかを確認します。1129セッションが回復したものと停止したものを区別するには、イベントを `session.id` でグループ化し、エラーの後に後続の `api_request` イベントが存在するかどうかを確認します。

968 1130 

969### イベント分析1131<h3 id="event-analysis">

1132 イベント分析

1133</h3>

970 1134 

971イベントデータは Claude Code インタラクションに関する詳細な洞察を提供します:1135イベントデータは Claude Code インタラクションに関する詳細な洞察を提供します:

972 1136 


979 1143 

980**パフォーマンス監視**: API リクエスト期間とツール実行時間を追跡して、パフォーマンスボトルネックを特定します。1144**パフォーマンス監視**: API リクエスト期間とツール実行時間を追跡して、パフォーマンスボトルネックを特定します。

981 1145 

982## 監査セキュリティイベント1146<h2 id="audit-security-events">

1147 監査セキュリティイベント

1148</h2>

983 1149 

984OpenTelemetry イベントは Claude Code アクティビティの監査データソースです。すべてのイベントは、ツール呼び出し、MCP アクティビティ、権限決定をそれらをトリガーしたユーザーに結び付ける ID 属性を持ち、OTLP ログエクスポーターは、これらのイベントを OTLP レシーバーを持つセキュリティ情報およびイベント管理 (SIEM) プラットフォーム、または SIEM にフォワードする OpenTelemetry Collector に配信できます。1150OpenTelemetry イベントは Claude Code アクティビティの監査データソースです。すべてのイベントは、ツール呼び出し、MCP アクティビティ、権限決定をそれらをトリガーしたユーザーに結び付ける ID 属性を持ち、OTLP ログエクスポーターは、これらのイベントを OTLP レシーバーを持つセキュリティ情報およびイベント管理SIEMプラットフォーム、または SIEM にフォワードする OpenTelemetry Collector に配信できます。

985 1151 

986### 属性アクションをユーザーに関連付ける1152<h3 id="attribute-actions-to-users">

1153 属性アクションをユーザーに関連付ける

1154</h3>

987 1155 

988各イベントの [標準属性](#standard-attributes)には、認証されたユーザーの ID が含まれます: Claude アカウントでサインインしている場合は `user.email`、`user.account_uuid`、`user.account_id`、および `organization.id`、さらにインストールスコープの `user.id` とセッションごとの `session.id`。1156各イベントの [標準属性](#standard-attributes) には、認証されたユーザーの ID が含まれますClaude アカウントでサインインしている場合は `user.email`、`user.account_uuid`、`user.account_id`、および `organization.id`、さらにインストールスコープの `user.id` とセッションごとの `session.id`。

989 1157 

990MCP ツール呼び出し、Bash コマンド、ファイル編集は、セッションを開始した開発者に属性付けられます。Claude Code は個別のサービスアカウントの下では機能しません。各イベントに記録される ID は、開発者自身の Claude アカウントです。1158MCP ツール呼び出し、Bash コマンド、ファイル編集は、セッションを開始した開発者に属性付けられます。Claude Code は個別のサービスアカウントの下では機能しません。各イベントに記録される ID は、開発者自身の Claude アカウントです。

991 1159 

992Claude Code が直接 API キーで認証する場合、または Bedrock、Vertex AI、または Microsoft Foundry に対して認証する場合、セッションに Claude アカウントはなく、`user.id` と `session.id` のみが入力されます。これらのデプロイメントでは、`OTEL_RESOURCE_ATTRIBUTES` を使用してユーザー ID を自分で添付し、[管理設定](#administrator-configuration)ファイルまたはローンチラッパーを通じてユーザーごとに設定します:1160Claude Code が直接 API キーで認証する場合、または Bedrock、Vertex AI、または Microsoft Foundry に対して認証する場合、セッションに Claude アカウントはなく、`user.id` と `session.id` のみが入力されます。これらのデプロイメントでは、`OTEL_RESOURCE_ATTRIBUTES` を使用してユーザー ID を自分で添付し、[管理設定](#administrator-configuration) ファイルまたはローンチラッパーを通じてユーザーごとに設定します

993 1161 

994```bash theme={null}1162```bash theme={null}

995export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."1163export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."

996```1164```

997 1165 

998### MCP アクティビティを監査する1166<h3 id="audit-mcp-activity">

1167 MCP アクティビティを監査する

1168</h3>

999 1169 

1000完全なコール詳細で MCP サーバーアクティビティをキャプチャするには、ログエクスポーターを有効にし、`OTEL_LOG_TOOL_DETAILS=1` を設定します。その後、各 MCP 操作は、標準 ID 属性と共にサーバー名、ツール名、呼び出し引数を含む構造化イベントを生成します:1170完全なコール詳細で MCP サーバーアクティビティをキャプチャするには、ログエクスポーターを有効にし、`OTEL_LOG_TOOL_DETAILS=1` を設定します。その後、各 MCP 操作は、標準 ID 属性と共にサーバー名、ツール名、呼び出し引数を含む構造化イベントを生成します

1001 1171 

1002| イベント | MCP に対して記録するもの |1172| イベント | MCP に対して記録するもの |

1003| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |1173| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |

1004| `mcp_server_connection` | `server_name`、`transport_type`、`server_scope`、およびエラー詳細を含むサーバー接続、切断、接続失敗 |1174| `mcp_server_connection` | `server_name`、`transport_type`、`server_scope`、およびエラー詳細を含むサーバー接続、切断、接続失敗 |

1005| `tool_result` | `tool_name` および `mcp_server_scope` を含む各 MCP ツール呼び出し、`mcp_server_name` および `mcp_tool_name` を含む `tool_parameters` ペイロード、および呼び出し引数を含む `tool_input` ペイロード |1175| `tool_result` | `tool_name` および `mcp_server_scope` を含む各 MCP ツール呼び出し、`mcp_server_name` および `mcp_tool_name` を含む `tool_parameters` ペイロード、および呼び出し引数を含む `tool_input` ペイロード |

1006| `tool_decision` | 呼び出しが許可されたか拒否されたか、および決定が設定、フック、またはユーザーから来たかどうか |1176| `tool_decision` | 呼び出しが許可されたか拒否されたか、および決定が設定、フック、またはユーザーから来たかどうか、および `mcp_server_name` と `mcp_tool_name` を含む `tool_parameters` ペイロード |

1177 

1178`OTEL_LOG_TOOL_DETAILS` がない場合、これらのイベントは識別詳細を削除します:

1007 1179 

1008`OTEL_LOG_TOOL_DETAILS` がない場合、`tool_result` イベントは依然として `tool_name` および `mcp_server_scope` を持ちますが、`mcp_server_name`/`mcp_tool_name` の分類と引数を省略し`mcp_server_connection` イベントは `server_name` とエラーメッセージを省略します。1180* `tool_result``tool_name` `mcp_server_scope` を保持し、`mcp_server_name``mcp_tool_name`、および引数を省略

1181* `tool_decision`:`tool_name` を保持し、`tool_parameters` を省略

1182* `mcp_server_connection`:`server_name` とエラーメッセージを省略

1009 1183 

1010### セキュリティの質問をイベントにマップする1184<h3 id="map-security-questions-to-events">

1185 セキュリティの質問をイベントにマップする

1186</h3>

1011 1187 

1012検出ルールを構築する場合、監視したいシグナルを検索し、対応するイベントと属性についてバックエンドをクエリします:1188検出ルールを構築する場合、監視したいシグナルを検索し、対応するイベントと属性についてバックエンドをクエリします

1013 1189 

1014| シグナル | イベント | キー属性 |1190| シグナル | イベント | キー属性 |

1015| ----------------------- | -------------------------------------------- | ---------------------------------------------------------- |1191| ----------------------- | ----------------------------------------------------------------------- | ---------------------------------------------------------- |

1016| ツール呼び出しが許可または拒否され、何によって | `tool_decision` | `decision`、`source`、`tool_name` |1192| ツール呼び出しが許可または拒否され、何によって | `tool_decision` | `decision`、`source`、`tool_name`、`tool_parameters` |

1017| 権限モードのエスカレーション | `permission_mode_changed` | `from_mode`、`to_mode`、`trigger` |1193| 権限モードのエスカレーション | `permission_mode_changed` | `from_mode`、`to_mode`、`trigger` |

1018| ポリシーフックがアクションをブロック | `hook_execution_complete` | `hook_event`、`num_blocking` |1194| ポリシーフックがアクションをブロック | `hook_execution_complete` | `hook_event`、`num_blocking` |

1019| ログイン、ログアウト、認証失敗 | `auth` | `action`、`success`、`error_category` |1195| ログイン、ログアウト、認証失敗 | `auth` | `action`、`success`、`error_category` |

1020| MCP サーバー接続または失敗 | `mcp_server_connection` | `status`、`server_name`、`error_code` |1196| MCP サーバー接続または失敗 | `mcp_server_connection` | `status`、`server_name`、`error_code` |

1021| プラグインがインストールされ、そのソース | `plugin_installed` | `plugin.name`、`marketplace.name`、`marketplace.is_official` |1197| プラグインがインストールされ、そのソース | `plugin_installed` | `plugin.name`、`marketplace.name`、`marketplace.is_official` |

1022| 実行されたコマンドとタッチされたファイル | `tool_result` with `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters``tool_input` |1198| 実行されたコマンドとタッチされたファイル | `tool_result`(実行)または `tool_decision`(拒否)(`OTEL_LOG_TOOL_DETAILS=1` の場合) | `tool_parameters``tool_input`(`tool_result` のみ) |

1023 1199 

1024Claude Code は生のイベントストリームのみを出力します。異常検出、ベースライン化、セッション間の相関、アラートは SIEM または可観測性バックエンドの責任です。1200Claude Code は生のイベントストリームのみを出力します。異常検出、ベースライン化、セッション間の相関、アラートは SIEM または可観測性バックエンドの責任です。

1025 1201 

1026### SIEM にイベントを送信する1202<h3 id="send-events-to-a-siem">

1203 SIEM にイベントを送信する

1204</h3>

1027 1205 

1028`OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` を SIEM の OTLP レシーバーに、または SIEM のネイティブ取り込み API にフォワードする OpenTelemetry Collector に指定します。以下の管理設定の例は、MCP および Bash 監査のための完全なツール詳細を有効にして、イベントのみをエクスポートします:1206`OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` を SIEM の OTLP レシーバーに、または SIEM のネイティブ取り込み API にフォワードする OpenTelemetry Collector に指定します。以下の管理設定の例は、MCP および Bash 監査のための完全なツール詳細を有効にして、イベントのみをエクスポートします

1029 1207 

1030```json theme={null}1208```json theme={null}

1031{1209{


1040}1218}

1041```1219```

1042 1220 

1043## バックエンドに関する考慮事項1221<h2 id="backend-considerations">

1222 バックエンドに関する考慮事項

1223</h2>

1044 1224 

1045メトリクス、ログ、トレースバックエンドの選択により、実行できる分析のタイプが決まります:1225メトリクス、ログ、トレースバックエンドの選択により、実行できる分析のタイプが決まります:

1046 1226 

1047### メトリクスの場合1227<h3 id="for-metrics">

1228 メトリクスの場合

1229</h3>

1048 1230 

1049* **時系列データベース (例: Prometheus)**: レート計算、集約メトリクス1231* **時系列データベース (例: Prometheus)**: レート計算、集約メトリクス

1050* **カラムナーストア (例: ClickHouse)**: 複雑なクエリ、一意のユーザー分析1232* **カラムナーストア (例: ClickHouse)**: 複雑なクエリ、一意のユーザー分析

1051* **フル機能の可観測性プラットフォーム (例: Honeycomb、Datadog)**: 高度なクエリ、可視化、アラート1233* **フル機能の可観測性プラットフォーム (例: Honeycomb、Datadog)**: 高度なクエリ、可視化、アラート

1052 1234 

1053### イベント/ログの場合1235<h3 id="for-events/logs">

1236 イベント/ログの場合

1237</h3>

1054 1238 

1055* **ログ集約システム (例: Elasticsearch、Loki)**: 全文検索、ログ分析1239* **ログ集約システム (例: Elasticsearch、Loki)**: 全文検索、ログ分析

1056* **カラムナーストア (例: ClickHouse)**: 構造化イベント分析1240* **カラムナーストア (例: ClickHouse)**: 構造化イベント分析

1057* **フル機能の可観測性プラットフォーム (例: Honeycomb、Datadog)**: メトリクスとイベント間の相関1241* **フル機能の可観測性プラットフォーム (例: Honeycomb、Datadog)**: メトリクスとイベント間の相関

1058 1242 

1059### トレースの場合1243<h3 id="for-traces">

1244 トレースの場合

1245</h3>

1060 1246 

1061分散トレースストレージとスパン相関をサポートするバックエンドを選択します:1247分散トレースストレージとスパン相関をサポートするバックエンドを選択します:

1062 1248 


1065 1251 

1066日次/週次/月次アクティブユーザー (DAU/WAU/MAU) メトリクスが必要な組織の場合は、効率的な一意値クエリをサポートするバックエンドを検討してください。1252日次/週次/月次アクティブユーザー (DAU/WAU/MAU) メトリクスが必要な組織の場合は、効率的な一意値クエリをサポートするバックエンドを検討してください。

1067 1253 

1068## サービス情報1254<h2 id="service-information">

1255 サービス情報

1256</h2>

1069 1257 

1070すべてのメトリクスとイベントは、以下のリソース属性でエクスポートされます:1258すべてのメトリクスとイベントは、以下のリソース属性でエクスポートされます:

1071 1259 


1077* `wsl.version`: WSL バージョン番号 (Windows Subsystem for Linux で実行している場合のみ存在)1265* `wsl.version`: WSL バージョン番号 (Windows Subsystem for Linux で実行している場合のみ存在)

1078* メーター名: `com.anthropic.claude_code`1266* メーター名: `com.anthropic.claude_code`

1079 1267 

1080## ROI 測定リソース1268<h2 id="roi-measurement-resources">

1269 ROI 測定リソース

1270</h2>

1081 1271 

1082テレメトリセットアップ、コスト分析、生産性メトリクス、自動レポート生成を含む Claude Code の投資収益率 (ROI) 測定に関する包括的なガイドについては、[Claude Code ROI 測定ガイド](https://github.com/anthropics/claude-code-monitoring-guide)を参照してください。このリポジトリは、すぐに使用できる Docker Compose 設定、Prometheus と OpenTelemetry セットアップ、Linear などのツールと統合された生産性レポート生成テンプレートを提供します。1272テレメトリセットアップ、コスト分析、生産性メトリクス、自動レポート生成を含む Claude Code の投資収益率 (ROI) 測定に関する包括的なガイドについては、[Claude Code ROI 測定ガイド](https://github.com/anthropics/claude-code-monitoring-guide)を参照してください。このリポジトリは、すぐに使用できる Docker Compose 設定、Prometheus と OpenTelemetry セットアップ、Linear などのツールと統合された生産性レポート生成テンプレートを提供します。

1083 1273 

1084## セキュリティとプライバシー1274<h2 id="security-and-privacy">

1275 セキュリティとプライバシー

1276</h2>

1085 1277 

1086* OpenTelemetry エクスポートはオプトインであり、明示的な設定が必要です。Anthropic の個別の運用テレメトリと無効化方法については、[データ使用](/ja/data-usage#telemetry-services)を参照してください1278* OpenTelemetry エクスポートはオプトインであり、明示的な設定が必要です。Anthropic の個別の運用テレメトリと無効化方法については、[データ使用](/ja/data-usage#telemetry-services)を参照してください

1087* 生のファイルコンテンツとコードスニペットはメトリクスやイベントに含まれません。トレーススパンは別のデータパスです: 以下の `OTEL_LOG_TOOL_CONTENT` の項目を参照してください1279* 生のファイルコンテンツとコードスニペットはメトリクスやイベントに含まれません。トレーススパンは別のデータパスです: 以下の `OTEL_LOG_TOOL_CONTENT` の項目を参照してください

1088* OAuth 経由で認証された場合、`user.email` はテレメトリ属性に含まれます。これが組織にとって懸念事項である場合は、テレメトリバックエンドと協力してこのフィールドをフィルタリングまたはマスクしてください1280* OAuth 経由で認証された場合、`user.email` はテレメトリ属性に含まれます。これが組織にとって懸念事項である場合は、テレメトリバックエンドと協力してこのフィールドをフィルタリングまたはマスクしてください

1089* ユーザープロンプトコンテンツはデフォルトでは収集されません。プロンプト長のみが記録されます。プロンプトコンテンツを含めるには、`OTEL_LOG_USER_PROMPTS=1` を設定します1281* ユーザープロンプトコンテンツはデフォルトでは収集されません。プロンプト長のみが記録されます。プロンプトコンテンツを含めるには、`OTEL_LOG_USER_PROMPTS=1` を設定します

1090* ツール入力引数とパラメーターはデフォルトではログされません。これらを含めるには、`OTEL_LOG_TOOL_DETAILS=1` を設定します。有効にすると、`tool_result` イベントには Bash コマンド、MCP サーバーとツール名、スキル名を含む `tool_parameters` 属性、およびファイルパス、URL、検索パターン、その他の引数を含む `tool_input` 属性が含まれます。`user_prompt` イベントには、カスタム、プラグインMCP コマンドの逐語的な `command_name` が含まれます。トレーススパンには同じ `tool_input` 属性と `file_path` などの入力派生属性が含まれます512 文字を超える個別の値は切り詰められ、合計は約 4 K 文字に制限されますが引数には機密値が含まれる可能性があります必要に応じてこれらの属性をフィルタリングまたはマスクするようにテレメトリバックエンドを設定してください1282* ツール入力引数とパラメーターはデフォルトではログされません。これらを含めるには、`OTEL_LOG_TOOL_DETAILS=1` を設定します。このデータは設定した OTEL エンドポイントにのみ送信されAnthropic には送信されません引数には機密値が含まれる可能性があるため必要に応じてテレメトリバックエンドを設定してこれらの属性をフィルタリングまたはマスクしてください有効にすると:

1091* ツール入力と出力コンテンツはデフォルトではトレーススパンでログされません。これを含めるには、`OTEL_LOG_TOOL_CONTENT=1` を設定します。有効にすると、スパンイベントには 60 KB で切り詰められたツール入力と出力コンテンツが含まれます。これには Read ツール結果からの生のファイルコンテンツと Bash コマンド出力が含まれる可能性があります必要に応じてこれらの属性をフィルタリングまたはマスクするようにテレメトリバックエンドを設定してください1283 * `tool_result` および `tool_decision` イベントには、Bash コマンド、MCP サーバーとツール名、スキル名を含む `tool_parameters` 属性が含まれます`full_command` などのフィールドは切り詰められずに出力されます

1284 * `tool_result` イベントには、ファイルパス、URL、検索パターン、その他の引数を含む `tool_input` 属性が追加で含まれます。512 文字を超える個別の値は切り詰められ、合計は約 4 K 文字に制限されます

1285 * `user_prompt` イベントには、カスタム、プラグイン、MCP コマンドの逐語的な `command_name` が含まれます

1286 * トレーススパンには同じ `tool_input` 属性と `file_path` などの入力派生属性が含まれ、`tool_input` と同じ切り詰めが適用されます

1287* ツール入力と出力コンテンツはデフォルトではトレーススパンでログされません。これを含めるには、`OTEL_LOG_TOOL_CONTENT=1` を設定します。有効にすると、スパンイベントには 60 KB でスパンごとに切り詰められたツール入力と出力コンテンツが含まれます。これには Read ツール結果からの生のファイルコンテンツと Bash コマンド出力が含まれる可能性があります。必要に応じてテレメトリバックエンドを設定してこれらの属性をフィルタリングまたはマスクしてください

1092* 生の Anthropic Messages API リクエストとレスポンスボディはデフォルトではログされません。これらを含めるには、`OTEL_LOG_RAW_API_BODIES` を設定します。`=1` の場合、各 API 呼び出しは `api_request_body` および `api_response_body` ログイベントを出力し、その `body` 属性は JSON シリアル化されたペイロードで、60 KB で切り詰められます。`=file:<dir>` の場合、切り詰められていないボディはそのディレクトリの下の `.request.json` および `.response.json` ファイルに書き込まれ、イベントはテレメトリストリームではなくログコレクターまたはサイドカーで配信されるディレクトリを含む `body_ref` パスを持ちます。両方のモードで、ボディには完全な会話履歴 (システムプロンプト、すべての前のユーザーとアシスタントターン、ツール結果) が含まれるため、これを有効にすることは他の `OTEL_LOG_*` コンテンツフラグが明かすすべてのものに同意することを意味します。Claude の拡張思考コンテンツは、他の設定に関係なく、これらのボディから常にマスクされます1288* 生の Anthropic Messages API リクエストとレスポンスボディはデフォルトではログされません。これらを含めるには、`OTEL_LOG_RAW_API_BODIES` を設定します。`=1` の場合、各 API 呼び出しは `api_request_body` および `api_response_body` ログイベントを出力し、その `body` 属性は JSON シリアル化されたペイロードで、60 KB で切り詰められます。`=file:<dir>` の場合、切り詰められていないボディはそのディレクトリの下の `.request.json` および `.response.json` ファイルに書き込まれ、イベントはテレメトリストリームではなくログコレクターまたはサイドカーで配信されるディレクトリを含む `body_ref` パスを持ちます。両方のモードで、ボディには完全な会話履歴 (システムプロンプト、すべての前のユーザーとアシスタントターン、ツール結果) が含まれるため、これを有効にすることは他の `OTEL_LOG_*` コンテンツフラグが明かすすべてのものに同意することを意味します。Claude の拡張思考コンテンツは、他の設定に関係なく、これらのボディから常にマスクされます

1093 1289 

1094## Amazon Bedrock での Claude Code の監視1290<h2 id="monitor-claude-code-on-amazon-bedrock">

1291 Amazon Bedrock での Claude Code の監視

1292</h2>

1095 1293 

1096Amazon Bedrock での Claude Code 使用状況監視ガイダンスの詳細については、[Claude Code 監視実装 (Bedrock)](https://github.com/aws-solutions-library-samples/guidance-for-claude-code-with-amazon-bedrock/blob/main/assets/docs/MONITORING.md)を参照してください。1294Amazon Bedrock での Claude Code 使用状況監視ガイダンスの詳細については、[Claude Code 監視実装 (Bedrock)](https://github.com/aws-solutions-library-samples/guidance-for-claude-code-with-amazon-bedrock/blob/main/assets/docs/MONITORING.md)を参照してください。

network-config.md +28 −15

Details

12 このページに表示されているすべての環境変数は、[`settings.json`](/ja/settings) でも設定できます。12 このページに表示されているすべての環境変数は、[`settings.json`](/ja/settings) でも設定できます。

13</Note>13</Note>

14 14 

15## プロキシ設定15<h2 id="proxy-configuration">

16 プロキシ設定

17</h2>

16 18 

17### 環境変数19<h3 id="environment-variables">

20 環境変数

21</h3>

18 22 

19Claude Code は標準的なプロキシ環境変数に対応しています。23Claude Code は標準的なプロキシ環境変数に対応しています。

20 24 


37 Claude Code は SOCKS プロキシをサポートしていません。41 Claude Code は SOCKS プロキシをサポートしていません。

38</Note>42</Note>

39 43 

40### 基本認証44<h3 id="basic-authentication">

45 基本認証

46</h3>

41 47 

42プロキシが基本認証を必要とする場合は、プロキシ URL に認証情報を含めます。48プロキシが基本認証を必要とする場合は、プロキシ URL に認証情報を含めます。

43 49 


53 高度な認証(NTLM、Kerberos など)が必要なプロキシの場合は、認証方法をサポートする LLM Gateway サービスの使用を検討してください。59 高度な認証(NTLM、Kerberos など)が必要なプロキシの場合は、認証方法をサポートする LLM Gateway サービスの使用を検討してください。

54</Tip>60</Tip>

55 61 

56## CA 証明書ストア62<h2 id="ca-certificate-store">

63 CA 証明書ストア

64</h2>

57 65 

58デフォルトでは、Claude Code は、バンドルされた Mozilla CA 証明書とオペレーティングシステムの証明書ストアの両方を信頼しています。CrowdStrike Falcon や Zscaler などのエンタープライズ TLS インスペクションプロキシは、ルート証明書が OS 信頼ストアにインストールされている場合、追加の設定なしで動作します。66デフォルトでは、Claude Code はバンドルされた Mozilla CA 証明書とオペレーティングシステムの証明書ストアの両方を信頼しています。CrowdStrike Falcon や Zscaler などのエンタープライズ TLS インスペクションプロキシは、ルート証明書が OS 信頼ストアにインストールされている場合、追加の設定なしで動作します。

59 67 

60<Note>68`CLAUDE_CODE_CERT_STORE` はカンマ区切りのソースリストを受け入れます。認識される値は、Claude Code に付属する Mozilla CA セットの場合は `bundled`、オペレーティングシステムの信頼ストアの場合は `system` です。デフォルトは `bundled,system` です。

61 システム CA ストア統合には、ネイティブ Claude Code バイナリ配布が必要です。Node.js ランタイムで実行している場合、システム CA ストアは自動的にマージされません。その場合は、`NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem` を設定して、エンタープライズルート CA を信頼してください。

62</Note>

63 

64`CLAUDE_CODE_CERT_STORE` は、カンマ区切りのソースリストを受け入れます。認識される値は、Claude Code に付属する Mozilla CA セットの場合は `bundled`、オペレーティングシステムの信頼ストアの場合は `system` です。デフォルトは `bundled,system` です。

65 69 

66バンドルされた Mozilla CA セットのみを信頼するには:70バンドルされた Mozilla CA セットのみを信頼するには:

67 71 


79 `CLAUDE_CODE_CERT_STORE` には、専用の `settings.json` スキーマキーがありません。`~/.claude/settings.json` の `env` ブロック、またはプロセス環境で直接設定してください。83 `CLAUDE_CODE_CERT_STORE` には、専用の `settings.json` スキーマキーがありません。`~/.claude/settings.json` の `env` ブロック、またはプロセス環境で直接設定してください。

80</Note>84</Note>

81 85 

82## カスタム CA 証明書86<h2 id="custom-ca-certificates">

87 カスタム CA 証明書

88</h2>

83 89 

84エンタープライズ環境でカスタム CA を使用している場合は、Claude Code をそれを直接信頼するように設定します。90エンタープライズ環境でカスタム CA を使用している場合は、Claude Code をそれを直接信頼するように設定します。

85 91 


87export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem93export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem

88```94```

89 95 

90## mTLS 認証96<h2 id="mtls-authentication">

97 mTLS 認証

98</h2>

91 99 

92クライアント証明書認証が必要なエンタープライズ環境の場合:100クライアント証明書認証が必要なエンタープライズ環境の場合:

93 101 


102export CLAUDE_CODE_CLIENT_KEY_PASSPHRASE="your-passphrase"110export CLAUDE_CODE_CLIENT_KEY_PASSPHRASE="your-passphrase"

103```111```

104 112 

105## ネットワークアクセス要件113<h2 id="network-access-requirements">

114 ネットワークアクセス要件

115</h2>

106 116 

107Claude Code は以下の URL へのアクセスが必要です。プロキシ設定とファイアウォールルールでこれらをホワイトリストに登録してください。特にコンテナ化された環境または制限されたネットワーク環境では重要です。117Claude Code は以下の URL へのアクセスが必要です。プロキシ設定とファイアウォールルールでこれらをホワイトリストに登録してください。特にコンテナ化された環境または制限されたネットワーク環境では重要です。

108 118 

109| URL | 必要な用途 |119| URL | 必要な用途 |

110| ------------------------------ | --------------------------------------------------------------------------- |120| ------------------------------ | ------------------------------------------------------------------------------------ |

111| `api.anthropic.com` | Claude API リクエスト |121| `api.anthropic.com` | Claude API リクエスト |

112| `claude.ai` | claude.ai アカウント認証 |122| `claude.ai` | claude.ai アカウント認証 |

113| `platform.claude.com` | Anthropic Console アカウント認証 |123| `platform.claude.com` | Anthropic Console アカウント認証 |

114| `downloads.claude.ai` | プラグイン実行可能ファイルのダウンロード、ネイティブインストーラーおよびネイティブ自動更新プログラム |124| `downloads.claude.ai` | プラグイン実行可能ファイルのダウンロード、ネイティブインストーラーおよびネイティブ自動更新プログラム |

115| `storage.googleapis.com` | {/* max-version: 2.1.115 */}2.1.116 より前のバージョンのネイティブインストーラーおよびネイティブ自動更新プログラム |125| `storage.googleapis.com` | {/* max-version: 2.1.115 */}2.1.116 より前のバージョンのネイティブインストーラーおよびネイティブ自動更新プログラム |

116| `bridge.claudeusercontent.com` | [Chrome の Claude](/ja/chrome) 拡張機能 WebSocket ブリッジ |126| `bridge.claudeusercontent.com` | [Chrome の Claude](/ja/chrome) 拡張機能 WebSocket ブリッジ |

127| `raw.githubusercontent.com` | [`/release-notes`](/ja/commands) のチェンジログフィード、更新後に表示されるリリースノート、プラグインマーケットプレイスのインストール数 |

117 128 

118npm を通じて Claude Code をインストールするか、独自のバイナリ配布を管理する場合、エンドユーザーは `downloads.claude.ai` または `storage.googleapis.com` へのアクセスが不要な場合があります。129npm を通じて Claude Code をインストールするか、独自のバイナリ配布を管理する場合、エンドユーザーは `downloads.claude.ai` または `storage.googleapis.com` へのアクセスが不要な場合があります。

119 130 


125 136 

126ファイアウォールの背後にある自社ホスト型の [GitHub Enterprise Server](/ja/github-enterprise-server) インスタンスの場合は、Anthropic インフラストラクチャがリポジトリをクローンしてレビューコメントを投稿できるように、同じ [Anthropic API IP アドレス](https://platform.claude.com/docs/en/api/ip-addresses) をホワイトリストに登録してください。137ファイアウォールの背後にある自社ホスト型の [GitHub Enterprise Server](/ja/github-enterprise-server) インスタンスの場合は、Anthropic インフラストラクチャがリポジトリをクローンしてレビューコメントを投稿できるように、同じ [Anthropic API IP アドレス](https://platform.claude.com/docs/en/api/ip-addresses) をホワイトリストに登録してください。

127 138 

128## その他のリソース139<h2 id="additional-resources">

140 その他のリソース

141</h2>

129 142 

130* [Claude Code 設定](/ja/settings)143* [Claude Code 設定](/ja/settings)

131* [環境変数リファレンス](/ja/env-vars)144* [環境変数リファレンス](/ja/env-vars)

output-styles.md +29 −13

Details

12 12 

13プロジェクト、規約、またはコードベースに関する指示については、代わりに [CLAUDE.md](/ja/memory) を使用してください。13プロジェクト、規約、またはコードベースに関する指示については、代わりに [CLAUDE.md](/ja/memory) を使用してください。

14 14 

15## 組み込み出力スタイル15<h2 id="built-in-output-styles">

16 組み込み出力スタイル

17</h2>

16 18 

17Claude Code の **Default** 出力スタイルは既存のシステムプロンプトであり、ソフトウェアエンジニアリングタスクを効率的に完了するのに役立つように設計されています。19Claude Code の **Default** 出力スタイルは既存のシステムプロンプトであり、ソフトウェアエンジニアリングタスクを効率的に完了するのに役立つように設計されています。

18 20 

193 つの追加の組み込み出力スタイルがあります。213 つの追加の組み込み出力スタイルがあります。

20 22 

21* **Proactive**: Claude は即座に実行し、日常的な決定で一時停止する代わりに合理的な仮定を立て、計画よりもアクションを優先します。これは [オートモード](/ja/permission-modes#eliminate-prompts-with-auto-mode) と同じガイダンスを適用しますがパーミッションモードは変更しないため、ツールが実行される前にパーミッションプロンプトが表示されます。23* **Proactive**: Claude は即座に実行し、日常的な決定で一時停止する代わりに合理的な仮定を立て、計画よりもアクションを優先します。これは [オートモード](/ja/permission-modes#eliminate-prompts-with-auto-mode) が適用するより強力な自律実行ガイダンスでありパーミッションモードを変更せずに機能するため、ツールが実行される前にパーミッションプロンプトが表示されます。

22 24 

23* **Explanatory**: ソフトウェアエンジニアリングタスクの完了を支援しながら、教育的な「Insights」を提供します。実装の選択肢とコードベースのパターンを理解するのに役立ちます。25* **Explanatory**: ソフトウェアエンジニアリングタスクの完了を支援しながら、教育的な「Insights」を提供します。実装の選択肢とコードベースのパターンを理解するのに役立ちます。

24 26 

25* **Learning**: 協調的な学習型モードです。Claude はコーディング中に「Insights」を共有するだけでなく、小さな戦略的なコードの一部を自分で実装するよう求めます。Claude Code はコード内に `TODO(human)` マーカーを追加して、実装するべき箇所を示します。27* **Learning**: 協調的な学習型モードです。Claude はコーディング中に「Insights」を共有するだけでなく、小さな戦略的なコードの一部を自分で実装するよう求めます。Claude Code はコード内に `TODO(human)` マーカーを追加して、実装するべき箇所を示します。

26 28 

27## 出力スタイルを変更する29<h2 id="change-your-output-style">

30 出力スタイルを変更する

31</h2>

28 32 

29`/config` を実行し、**Output style** を選択してメニューからスタイルを選択します。選択内容は [ローカルプロジェクトレベル](/ja/settings) の `.claude/settings.local.json` に保存されます。33`/config` を実行し、**Output style** を選択してメニューからスタイルを選択します。選択内容は [ローカルプロジェクトレベル](/ja/settings) の `.claude/settings.local.json` に保存されます。

30 34 

35<Note>{/* max-version: 2.1.90 */}スタンドアロン `/output-style` コマンドは v2.1.73 で廃止され、v2.1.91 で削除されました。`/config` を使用するか、`outputStyle` 設定を直接編集してください。</Note>

36 

31メニューなしでスタイルを設定するには、設定ファイルの `outputStyle` フィールドを直接編集します。37メニューなしでスタイルを設定するには、設定ファイルの `outputStyle` フィールドを直接編集します。

32 38 

33```json theme={null}39```json theme={null}


36}42}

37```43```

38 44 

39出力スタイルはセッション開始時にシステムプロンプトで設定されるため変更は新しいセッションを開始した次回に有効になりますこれにより、会話全体を通じてシステムプロンプトが安定しプロンプトキャッシングがレイテンシとコストを削減できます45出力スタイルはシステムプロンプトの一部でありClaude Code はセッション開始時に 1 回読み込みます変更は `/clear` または新しいセッション後に有効になります。出力スタイルの変更がキャッシュに与える影響については[Claude Code がプロンプトキャッシングを使用する方法](/ja/prompt-caching#changing-output-style) を参照してください

40 46 

41## カスタム出力スタイルを作成する47<h2 id="create-a-custom-output-style">

48 カスタム出力スタイルを作成する

49</h2>

42 50 

43カスタム出力スタイルは Markdown ファイルです。メタデータ用の frontmatter、その後にシステムプロンプトに追加する指示が続きます。51カスタム出力スタイルは Markdown ファイルです。メタデータ用の frontmatter、その後にシステムプロンプトに追加する指示が続きます。

44 52 


72 </Step>80 </Step>

73 81 

74 <Step title="スタイルに切り替える">82 <Step title="スタイルに切り替える">

75 `/config` を実行し、**Output style** でスタイルを選択します。次のセッションを開始したときに有効になります83 `/config` を実行し、**Output style** でスタイルを選択します。`/clear` の後、または次のセッションを開始したときに有効になります

76 </Step>84 </Step>

77</Steps>85</Steps>

78 86 

79[プラグイン](/ja/plugins-reference) は `output-styles/` ディレクトリで出力スタイルを配布することもできます。87[プラグイン](/ja/plugins-reference) は `output-styles/` ディレクトリで出力スタイルを配布することもできます。

80 88 

81### Frontmatter89<h3 id="frontmatter">

90 Frontmatter

91</h3>

82 92 

83出力スタイルファイルは、これらの frontmatter フィールドをサポートしています。93出力スタイルファイルは、これらの frontmatter フィールドをサポートしています。

84 94 


89| `keep-coding-instructions` | Claude Code の組み込みソフトウェアエンジニアリング指示を保持する | `false` |99| `keep-coding-instructions` | Claude Code の組み込みソフトウェアエンジニアリング指示を保持する | `false` |

90| `force-for-plugin` | プラグイン出力スタイルのみ: プラグインが有効になるたびに、ユーザーが選択する必要なく、このスタイルを自動的に適用します。ユーザーの `outputStyle` 設定をオーバーライドします。複数の有効なプラグインがこれを設定する場合、Claude Code は最初に読み込まれたものを使用します。 | `false` |100| `force-for-plugin` | プラグイン出力スタイルのみ: プラグインが有効になるたびに、ユーザーが選択する必要なく、このスタイルを自動的に適用します。ユーザーの `outputStyle` 設定をオーバーライドします。複数の有効なプラグインがこれを設定する場合、Claude Code は最初に読み込まれたものを使用します。 | `false` |

91 101 

92## 出力スタイルの仕組み102<h2 id="how-output-styles-work">

103 出力スタイルの仕組み

104</h2>

93 105 

94出力スタイルは Claude Code のシステムプロンプトを直接変更します。106出力スタイルは Claude Code のシステムプロンプトを直接変更します。

95 107 


99 111 

100トークン使用量はスタイルによって異なります。システムプロンプトに指示を追加するとインプットトークンが増加しますが、プロンプトキャッシングはセッション内の最初のリクエスト後にこのコストを削減します。組み込みの Explanatory および Learning スタイルは、設計上 Default よりも長い応答を生成するため、アウトプットトークンが増加します。カスタムスタイルの場合、アウトプットトークン使用量は、指示が Claude に生成させるものに依存します。112トークン使用量はスタイルによって異なります。システムプロンプトに指示を追加するとインプットトークンが増加しますが、プロンプトキャッシングはセッション内の最初のリクエスト後にこのコストを削減します。組み込みの Explanatory および Learning スタイルは、設計上 Default よりも長い応答を生成するため、アウトプットトークンが増加します。カスタムスタイルの場合、アウトプットトークン使用量は、指示が Claude に生成させるものに依存します。

101 113 

102## 関連機能との比較114<h2 id="comparisons-to-related-features">

115 関連機能との比較

116</h2>

103 117 

104Claude Code の動作をカスタマイズするいくつかの機能があります。出力スタイルはシステムプロンプトを直接変更し、すべての応答に適用されます。その他は、デフォルトシステムプロンプトを変更せずに指示を追加するか、特定のタスクにスコープします。118Claude Code の動作をカスタマイズするいくつかの機能があります。出力スタイルはシステムプロンプトを直接変更し、すべての応答に適用されます。その他は、デフォルトシステムプロンプトを変更せずに指示を追加するか、特定のタスクにスコープします。

105 119 


111| [エージェント](/ja/sub-agents) | 独自のシステムプロンプト、モデル、ツールを持つサブエージェントを実行する | フォーカスされたタスク用に個別にスコープされたヘルパーが必要な場合 |125| [エージェント](/ja/sub-agents) | 独自のシステムプロンプト、モデル、ツールを持つサブエージェントを実行する | フォーカスされたタスク用に個別にスコープされたヘルパーが必要な場合 |

112| [スキル](/ja/skills) | 呼び出されたときまたは関連する場合にタスク固有の指示を読み込む | 再利用可能なワークフローがある場合 |126| [スキル](/ja/skills) | 呼び出されたときまたは関連する場合にタスク固有の指示を読み込む | 再利用可能なワークフローがある場合 |

113 127 

114## 関連リソース128<h2 id="related-resources">

129 関連リソース

130</h2>

115 131 

116* [設定](/ja/settings): `outputStyle` フィールドが存在する場所と設定の優先順位の仕組み132* [設定](/ja/settings): `outputStyle` フィールドが存在する場所と設定の優先順位の仕組み

117* [パーミッションモード](/ja/permission-modes): Proactive スタイルはパーミッションモードを変更せずにオートモードをミラーリングします133* [パーミッションモード](/ja/permission-modes): Proactive スタイルがオートモードとどのように比較されるか

118* [プラグイン](/ja/plugins): スキル、フック、エージェントと一緒に出力スタイルをパッケージ化して配布します134* [プラグイン](/ja/plugins): スキル、フック、エージェントと一緒に出力スタイルをパッケージ化して配布する

119* [設定をデバッグする](/ja/debug-your-config): 出力スタイルが有効にならない理由を診断します135* [設定をデバッグする](/ja/debug-your-config): 出力スタイルが有効にならない理由を診断する

overview.md +13 −5

Details

8 8 

9Claude Code は AI を活用したコーディングアシスタントで、機能の構築、バグの修正、開発タスクの自動化を支援します。コードベース全体を理解し、複数のファイルとツール間で作業して目標を達成できます。9Claude Code は AI を活用したコーディングアシスタントで、機能の構築、バグの修正、開発タスクの自動化を支援します。コードベース全体を理解し、複数のファイルとツール間で作業して目標を達成できます。

10 10 

11## はじめに11<h2 id="get-started">

12 はじめに

13</h2>

12 14 

13環境を選択してはじめましょう。ほとんどのサーフェスには [Claude サブスクリプション](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_pricing)または [Anthropic Console](https://console.anthropic.com/) アカウントが必要です。Terminal CLI と VS Code は [サードパーティプロバイダー](/ja/third-party-integrations)もサポートしています。15環境を選択してはじめましょう。ほとんどのサーフェスには [Claude サブスクリプション](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_pricing)または [Anthropic Console](https://console.anthropic.com/) アカウントが必要です。Terminal CLI と VS Code は [サードパーティプロバイダー](/ja/third-party-integrations)もサポートしています。

14 16 


128 </Tab>130 </Tab>

129</Tabs>131</Tabs>

130 132 

131## できること133<h2 id="what-you-can-do">

134 できること

135</h2>

132 136 

133Claude Code を使用できるいくつかの方法を紹介します:137Claude Code を使用できるいくつかの方法を紹介します:

134 138 


158 </Accordion>162 </Accordion>

159 163 

160 <Accordion title="MCP でツールを接続する" icon="plug">164 <Accordion title="MCP でツールを接続する" icon="plug">

161 [Model Context Protocol(MCP)](/ja/mcp) は、AI ツールを外部データソースに接続するためのオープンスタンダードです。MCP を使用すると、Claude Code は Google Drive のデザインドキュメントを読み取り、Jira のチケットを更新し、Slack からデータをプルするか、独自のカスタムツーリングを使用できます。165 [Model Context Protocol(MCP)](/ja/mcp) は、AI ツールを外部データソースに接続するためのオープンスタンダードです。MCP を使用すると、Claude Code は Google Drive のデザインドキュメントを読み取り、Jira のチケットを更新し、Slack からデータをプルするか、独自のカスタムツーリングを使用できます。[MCP クイックスタート](/ja/mcp-quickstart) は、最初のサーバーをエンドツーエンドで接続します。

162 </Accordion>166 </Accordion>

163 167 

164 <Accordion title="指示、スキル、フックでカスタマイズする" icon="sliders">168 <Accordion title="指示、スキル、フックでカスタマイズする" icon="sliders">


211 </Accordion>215 </Accordion>

212</AccordionGroup>216</AccordionGroup>

213 217 

214## Claude Code をどこでも使用する218<h2 id="use-claude-code-everywhere">

219 Claude Code をどこでも使用する

220</h2>

215 221 

216各サーフェスは同じ基盤となる Claude Code エンジンに接続するため、CLAUDE.md ファイル、設定、MCP サーバーはすべてのサーフェスで機能します。222各サーフェスは同じ基盤となる Claude Code エンジンに接続するため、CLAUDE.md ファイル、設定、MCP サーバーはすべてのサーフェスで機能します。

217 223 


229| ライブ Web アプリケーションをデバッグする | [Chrome](/ja/chrome) |235| ライブ Web アプリケーションをデバッグする | [Chrome](/ja/chrome) |

230| 独自のワークフロー用のカスタムエージェントを構築する | [Agent SDK](/ja/agent-sdk/overview) |236| 独自のワークフロー用のカスタムエージェントを構築する | [Agent SDK](/ja/agent-sdk/overview) |

231 237 

232## 次のステップ238<h2 id="next-steps">

239 次のステップ

240</h2>

233 241 

234Claude Code をインストールしたら、これらのガイドでさらに詳しく学べます。242Claude Code をインストールしたら、これらのガイドでさらに詳しく学べます。

235 243 

Details

8 8 

9Claude がファイルを編集、シェルコマンドを実行、またはネットワークリクエストを行いたい場合、一時停止してアクションを承認するよう求めます。パーミッションモードは、その一時停止がどのくらいの頻度で発生するかを制御します。選択するモードはセッションのフローを形作ります。デフォルトモードではアクションが来るたびにレビューし、より緩いモードでは Claude が長い中断のない作業を行い、完了時に報告できます。機密作業には監視を強化し、信頼できる方向性には中断を減らしてください。9Claude がファイルを編集、シェルコマンドを実行、またはネットワークリクエストを行いたい場合、一時停止してアクションを承認するよう求めます。パーミッションモードは、その一時停止がどのくらいの頻度で発生するかを制御します。選択するモードはセッションのフローを形作ります。デフォルトモードではアクションが来るたびにレビューし、より緩いモードでは Claude が長い中断のない作業を行い、完了時に報告できます。機密作業には監視を強化し、信頼できる方向性には中断を減らしてください。

10 10 

11## 利用可能なモード11<h2 id="available-modes">

12 利用可能なモード

13</h2>

12 14 

13各モードは利便性と監視のバランスが異なります。以下の表は、各モードでパーミッションプロンプトなしで Claude が実行できることを示しています。15各モードは利便性と監視のバランスが異なります。以下の表は、各モードでパーミッションプロンプトなしで Claude が実行できることを示しています。

14 16 


25 27 

26モードはベースラインを設定します。[パーミッションルール](/ja/permissions#manage-permissions)を上に層状にして、`bypassPermissions` を除くすべてのモードで特定のツールを事前承認またはブロックします。`bypassPermissions` はパーミッション層全体をスキップします。28モードはベースラインを設定します。[パーミッションルール](/ja/permissions#manage-permissions)を上に層状にして、`bypassPermissions` を除くすべてのモードで特定のツールを事前承認またはブロックします。`bypassPermissions` はパーミッション層全体をスキップします。

27 29 

28## パーミッションモードを切り替える30<h2 id="switch-permission-modes">

31 パーミッションモードを切り替える

32</h2>

29 33 

30セッション中、起動時、または永続的なデフォルトとしてモードを切り替えることができます。モードは Claude にチャットで尋ねるのではなく、これらのコントロールを通じて設定されます。以下からインターフェースを選択して、変更方法を確認してください。34セッション中、起動時、または永続的なデフォルトとしてモードを切り替えることができます。モードは Claude にチャットで尋ねるのではなく、これらのコントロールを通じて設定されます。以下からインターフェースを選択して、変更方法を確認してください。

31 35 


102 </Tab>106 </Tab>

103</Tabs>107</Tabs>

104 108 

105## acceptEdits モードでファイル編集を自動承認する109<h2 id="auto-approve-file-edits-with-acceptedits-mode">

110 acceptEdits モードでファイル編集を自動承認する

111</h2>

106 112 

107`acceptEdits` モードでは Claude はプロンプトなしに作業ディレクトリ内のファイルを作成および編集できます。このモードがアクティブな間、ステータスバーは `⏵⏵ accept edits on` を表示します。113`acceptEdits` モードでは Claude はプロンプトなしに作業ディレクトリ内のファイルを作成および編集できます。このモードがアクティブな間、ステータスバーは `⏵⏵ accept edits on` を表示します。

108 114 


116claude --permission-mode acceptEdits122claude --permission-mode acceptEdits

117```123```

118 124 

119## 計画モードで編集前に分析する125<h2 id="analyze-before-you-edit-with-plan-mode">

126 計画モードで編集前に分析する

127</h2>

120 128 

121計画モードは Claude に変更を加えずに調査と提案を行うよう指示します。Claude はファイルを読み、シェルコマンドを実行して探索し、計画を書きますが、ソースを編集しません。パーミッションプロンプトはデフォルトモードと同じように適用されます。129計画モードは Claude に変更を加えずに調査と提案を行うよう指示します。Claude はファイルを読み、シェルコマンドを実行して探索し、計画を書きますが、ソースを編集しません。パーミッションプロンプトはデフォルトモードと同じように適用されます。

122 130 


128 136 

129計画モードを終了するには `Shift+Tab` を再度押し、計画を承認しません。137計画モードを終了するには `Shift+Tab` を再度押し、計画を承認しません。

130 138 

131### 計画をレビューして承認する139<h3 id="review-and-approve-a-plan">

140 計画をレビューして承認する

141</h3>

132 142 

133計画の準備ができたら、Claude はそれを提示し、どのように進めるかを尋ねます。そのプロンプトから以下を実行できます。143計画の準備ができたら、Claude はそれを提示し、どのように進めるかを尋ねます。そのプロンプトから以下を実行できます。

134 144 


144 154 

145計画を受け入れると、`--name` または `/rename` で既に名前を設定していない限り、計画コンテンツからセッションに自動的に名前が付けられます。155計画を受け入れると、`--name` または `/rename` で既に名前を設定していない限り、計画コンテンツからセッションに自動的に名前が付けられます。

146 156 

147### 計画モードをデフォルトとして設定する157<h3 id="set-plan-mode-as-the-default">

158 計画モードをデフォルトとして設定する

159</h3>

148 160 

149プロジェクトのデフォルトとして計画モードを設定するには、`.claude/settings.json` で `defaultMode` を設定します。161プロジェクトのデフォルトとして計画モードを設定するには、`.claude/settings.json` で `defaultMode` を設定します。

150 162 


156}168}

157```169```

158 170 

159## 自動モードでプロンプトを削除する171<h2 id="eliminate-prompts-with-auto-mode">

172 自動モードでプロンプトを削除する

173</h2>

160 174 

161<Note>175<Note>

162 自動モードには Claude Code v2.1.83 以降が必要です。176 自動モードには Claude Code v2.1.83 以降が必要です。


164 178 

165自動モードでは Claude はパーミッションプロンプトなしで実行できます。別の分類器モデルはアクション実行前にアクションをレビューし、リクエストを超えてエスカレートするもの、認識されないインフラストラクチャをターゲットにするもの、または Claude が読んだ敵対的なコンテンツによって駆動されているように見えるものをブロックします。179自動モードでは Claude はパーミッションプロンプトなしで実行できます。別の分類器モデルはアクション実行前にアクションをレビューし、リクエストを超えてエスカレートするもの、認識されないインフラストラクチャをターゲットにするもの、または Claude が読んだ敵対的なコンテンツによって駆動されているように見えるものをブロックします。

166 180 

167自動モードはまた Claude に即座に実行し、明確化の質問を最小化するよう指示します。パーミッションプロンプトを保持しながらその動作を取得するには、代わりに [プロアクティブ出力スタイル](/ja/output-styles) を設定してください。181自動モードはまた Claude に即座に実行し、明確化の質問を最小化するよう指示します。パーミッションプロンプトを保持しながらより強い自律的な動作を取得するには、代わりに [プロアクティブ出力スタイル](/ja/output-styles) を設定してください。

168 182 

169<Warning>183<Warning>

170 自動モードはリサーチプレビューです。プロンプトを削除しますが、安全性を保証しません。一般的な方向を信頼するタスクに使用し、機密操作のレビューの代わりとしては使用しないでください。184 自動モードはリサーチプレビューです。プロンプトを削除しますが、安全性を保証しません。一般的な方向を信頼するタスクに使用し、機密操作のレビューの代わりとしては使用しないでください。


172 186 

173自動モードはアカウントがこれらすべての要件を満たす場合にのみ利用可能です。187自動モードはアカウントがこれらすべての要件を満たす場合にのみ利用可能です。

174 188 

175* **プラン**:Max、Team、Enterprise、または API。Pro では利用できません189* **プラン**:すべてのプラン

176* **管理者**:Team と Enterprise では、管理者がユーザーがオンにできるようにする前に [Claude Code 管理設定](https://claude.ai/admin-settings/claude-code) で有効にする必要があります。管理者は [管理設定](/ja/permissions#managed-settings) で `permissions.disableAutoMode` を `"disable"` に設定することでロックオフすることもできます。190* **管理者**:Team と Enterprise では、管理者がユーザーがオンにできるようにする前に [Claude Code 管理設定](https://claude.ai/admin-settings/claude-code) で有効にする必要があります。管理者は [管理設定](/ja/permissions#managed-settings) で `permissions.disableAutoMode` を `"disable"` に設定することでロックオフすることもできます。

177* **モデル**:Team、Enterprise、API プランで Claude Sonnet 4.6、Opus 4.6、または Opus 4.7。Max プランで Claude Opus 4.7 のみ。Haiku および claude-3 モデルを含む他のモデルはサポートされていません191* **モデル**:Anthropic API では Claude Opus 4.6 以降または Sonnet 4.6。Amazon BedrockGoogle Cloud Vertex AI、Microsoft Foundry では Claude Opus 4.7 Opus 4.8 のみ。Sonnet 4.5、Opus 4.5、Haiku、claude-3 モデルを含む古いモデルはどのプロバイダーでもサポートされていません

178* **プロバイダー**:Anthropic API のみ。Bedrock、Vertex、Foundry では利用できません192* **プロバイダー**:Anthropic API ではデフォルトで利用可能ですAmazon Bedrock、Google Cloud Vertex AIMicrosoft Foundry では、[`CLAUDE_CODE_ENABLE_AUTO_MODE` を設定](#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) するまで自動モードはオフです

179 193 

180Claude Code が自動モードを利用不可と報告する場合、これらの要件のいずれかが満たされていません。これは一時的な停止ではありません。モデルに名前を付けて自動モードが「アクションの安全性を判断できない」と言う別のメッセージは一時的な分類器停止です。[エラーリファレンス](/ja/errors#auto-mode-cannot-determine-the-safety-of-an-action) を参照してください。194Claude Code が自動モードを利用不可と報告する場合、これらの要件のいずれかが満たされていません。これは一時的な停止ではありません。モデルに名前を付けて自動モードが「アクションの安全性を判断できない」と言う別のメッセージは一時的な分類器停止です。[エラーリファレンス](/ja/errors#auto-mode-cannot-determine-the-safety-of-an-action) を参照してください。

181 195 

182[設定](/ja/settings#available-settings) で `defaultMode: "auto"` を設定し、セッションがエラーなしで `default` モードで開始する場合、設定は `.claude/settings.json` または `.claude/settings.local.json` にある可能性があります。Claude Code はこれらのファイルから `auto` を無視するため、リポジトリは自動モードを自身に付与することはできません。`~/.claude/settings.json` に移動してください。196[設定](/ja/settings#available-settings) で `defaultMode: "auto"` を設定し、セッションがエラーなしで `default` モードで開始する場合、設定は `.claude/settings.json` または `.claude/settings.local.json` にある可能性があります。Claude Code はこれらのファイルから `auto` を無視するため、リポジトリは自動モードを自身に付与することはできません。`~/.claude/settings.json` に移動してください。

183 197 

184### 分類器がデフォルトでブロックするもの198<h3 id="enable-auto-mode-on-bedrock-vertex-ai-or-foundry">

199 Bedrock、Vertex AI、または Foundry で自動モードを有効にする

200</h3>

201 

202[Amazon Bedrock](/ja/amazon-bedrock)、[Google Cloud Vertex AI](/ja/google-vertex-ai)、[Microsoft Foundry](/ja/microsoft-foundry) では、`CLAUDE_CODE_ENABLE_AUTO_MODE` が `1` に設定されるまで自動モードは `Shift+Tab` サイクルに表示されません。これらのプロバイダーでは Claude Opus 4.7 と Opus 4.8 のみがサポートされています。

203 

2041 人の開発者に対して有効にするには、`~/.claude/settings.json` の `env` ブロックに変数を追加します。

205 

206```json theme={null}

207{

208 "env": {

209 "CLAUDE_CODE_ENABLE_AUTO_MODE": "1"

210 }

211}

212```

213 

214組織全体に対して有効にするには、同じ `env` ブロックを [管理設定](/ja/settings#settings-files) に追加します。

215 

216変数が設定されると、自動モードはすべてのセッションの `Shift+Tab` サイクルに表示されます。デフォルトの開始モードにするには、ユーザーまたは管理設定で `"permissions": {"defaultMode": "auto"}` も設定します。これらのプロバイダーでは、`CLAUDE_CODE_ENABLE_AUTO_MODE` も設定されていない限り、Claude Code は `defaultMode: "auto"` を無視します。

217 

218開発者が自動モードを有効にするのを防ぐには、管理設定で `disableAutoMode` を `"disable"` に設定します。これは有効化変数をオーバーライドします。

219 

220[LLM ゲートウェイ](/ja/llm-gateway) を通じて接続し、`ANTHROPIC_BASE_URL` で設定されている場合、ゲートウェイが Anthropic API を通じてリクエストをルーティングするため、有効化変数なしで自動モードに既にアクセス可能な場合があります。`disableAutoMode` 設定はその設定で同じ方法で適用されます。

221 

222<h3 id="what-the-classifier-blocks-by-default">

223 分類器がデフォルトでブロックするもの

224</h3>

185 225 

186分類器は作業ディレクトリとリポジトリの設定されたリモートを信頼します。その他すべては [信頼できるインフラストラクチャを設定](/ja/auto-mode-config) するまで外部として扱われます。226分類器は作業ディレクトリとリポジトリの設定されたリモートを信頼します。その他すべては [信頼できるインフラストラクチャを設定](/ja/auto-mode-config) するまで外部として扱われます。

187 227 


206 246 

207サンドボックスネットワークアクセスリクエストはデフォルトで許可されるのではなく、分類器を通じてルーティングされます。`claude auto-mode defaults` を実行して完全なルールリストを確認してください。日常的なアクションがブロックされている場合、管理者は `autoMode.environment` 設定を通じて信頼できるリポジトリ、バケット、サービスを追加できます。[自動モードを設定](/ja/auto-mode-config) を参照してください。247サンドボックスネットワークアクセスリクエストはデフォルトで許可されるのではなく、分類器を通じてルーティングされます。`claude auto-mode defaults` を実行して完全なルールリストを確認してください。日常的なアクションがブロックされている場合、管理者は `autoMode.environment` 設定を通じて信頼できるリポジトリ、バケット、サービスを追加できます。[自動モードを設定](/ja/auto-mode-config) を参照してください。

208 248 

209### 会話で述べる境界249<h3 id="boundaries-you-state-in-conversation">

250 会話で述べる境界

251</h3>

210 252 

211分類器は会話で述べる境界をブロック信号として扱います。Claude に「プッシュしないで」または「デプロイ前にレビューを待って」と言う場合、分類器はデフォルトルールが許可する場合でも一致するアクションをブロックします。境界は後のメッセージで解除するまで有効です。Claude 独自の判断が条件が満たされたことは解除しません。253分類器は会話で述べる境界をブロック信号として扱います。Claude に「プッシュしないで」または「デプロイ前にレビューを待って」と言う場合、分類器はデフォルトルールが許可する場合でも一致するアクションをブロックします。境界は後のメッセージで解除するまで有効です。Claude 独自の判断が条件が満たされたことは解除しません。

212 254 

213境界はルールとして保存されません。分類器はチェックのたびにトランスクリプトから再読み込みするため、[コンテキストコンパクション](/ja/costs#reduce-token-usage) が述べたメッセージを削除する場合、境界は失われる可能性があります。ハード保証の場合、代わりに [deny ルール](/ja/permissions#permission-rule-syntax) を追加します。255境界はルールとして保存されません。分類器はチェックのたびにトランスクリプトから再読み込みするため、[コンテキストコンパクション](/ja/costs#reduce-token-usage) が述べたメッセージを削除する場合、境界は失われる可能性があります。ハード保証の場合、代わりに [deny ルール](/ja/permissions#permission-rule-syntax) を追加します。

214 256 

215### 自動モードがフォールバックする場合257<h3 id="when-auto-mode-falls-back">

258 自動モードがフォールバックする場合

259</h3>

216 260 

217拒否されたアクションはそれぞれ通知を表示し、`/permissions` の Recently denied タブに表示されます。そこで `r` を押して手動承認で再試行できます。261拒否されたアクションはそれぞれ通知を表示し、`/permissions` の Recently denied タブに表示されます。そこで `r` を押して手動承認で再試行できます。

218 262 


226 <Accordion title="分類器がアクションを評価する方法">270 <Accordion title="分類器がアクションを評価する方法">

227 各アクションは固定の決定順序を通過します。最初に一致するステップが勝ちます。271 各アクションは固定の決定順序を通過します。最初に一致するステップが勝ちます。

228 272 

229 1. [allow または deny ルール](/ja/permissions#manage-permissions) に一致するアクションは即座に解決されます273 1. [allow または deny ルール](/ja/permissions#manage-permissions) に一致するアクションは即座に解決されます。ただし、[保護されたパス](#protected-paths) への書き込みは、allow ルールが一致する場合でも分類器にルーティングされます

230 2. 読み取り専用アクションと作業ディレクトリ内のファイル編集は自動承認されます。[保護されたパス](#protected-paths) への書き込みを除く274 2. 読み取り専用アクションと作業ディレクトリ内のファイル編集は自動承認されます。[保護されたパス](#protected-paths) への書き込みを除く

231 3. その他すべては分類器に送られます275 3. その他すべては分類器に送られます

232 4. 分類器がブロックする場合、Claude は理由を受け取り、別のアプローチを試みます276 4. 分類器がブロックする場合、Claude は理由を受け取り、別のアプローチを試みます


256 </Accordion>300 </Accordion>

257</AccordionGroup>301</AccordionGroup>

258 302 

259## dontAsk モードで事前承認済みツールのみを許可する303<h2 id="allow-only-pre-approved-tools-with-dontask-mode">

304 dontAsk モードで事前承認済みツールのみを許可する

305</h2>

260 306 

261`dontAsk` モードはプロンプトが表示されるすべてのツール呼び出しを自動的に拒否します。`permissions.allow` ルールと [読み取り専用 Bash コマンド](/ja/permissions#read-only-commands)に一致するアクションのみが実行できます。明示的な `ask` ルールはプロンプトするのではなく拒否されます。これにより、モードは CI パイプラインまたは Claude が実行を許可されているものを事前に定義する制限環境で完全に非対話的になります。307`dontAsk` モードはプロンプトが表示されるすべてのツール呼び出しを自動的に拒否します。`permissions.allow` ルールと [読み取り専用 Bash コマンド](/ja/permissions#read-only-commands)に一致するアクションのみが実行できます。明示的な `ask` ルールはプロンプトするのではなく拒否されます。これにより、モードは CI パイプラインまたは Claude が実行を許可されているものを事前に定義する制限環境で完全に非対話的になります。

262 308 


266claude --permission-mode dontAsk312claude --permission-mode dontAsk

267```313```

268 314 

269## bypassPermissions モードですべてのチェックをスキップする315<h2 id="skip-all-checks-with-bypasspermissions-mode">

316 bypassPermissions モードですべてのチェックをスキップする

317</h2>

270 318 

271`bypassPermissions` モードはパーミッションプロンプトと安全チェックを無効にするため、ツール呼び出しは即座に実行されます。v2.1.126 以降、これには[保護されたパス](#protected-paths)への書き込みが含まれます。これより前のバージョンではまだプロンプトが表示されていました。ファイルシステムのルートまたはホームディレクトリを対象とした削除(`rm -rf /` や `rm -rf ~` など)は、モデルエラーに対する回路遮断器として機能するため、引き続きプロンプトが表示されます。このモードは、Claude Code がホストシステムに損害を与えることができないコンテナ、VM、またはインターネットアクセスのない dev container のような隔離環境でのみ使用してください。319`bypassPermissions` モードはパーミッションプロンプトと安全チェックを無効にするため、ツール呼び出しは即座に実行されます。v2.1.126 以降、これには[保護されたパス](#protected-paths)への書き込みが含まれます。これより前のバージョンではまだプロンプトが表示されていました。ファイルシステムのルートまたはホームディレクトリを対象とした削除(`rm -rf /` や `rm -rf ~` など)は、モデルエラーに対する回路遮断器として機能するため、引き続きプロンプトが表示されます。このモードは、Claude Code がホストシステムに損害を与えることができないコンテナ、VM、またはインターネットアクセスのない dev container のような隔離環境でのみ使用してください。

272 320 


290 `bypassPermissions` はプロンプトインジェクションまたは意図しないアクションに対する保護を提供しません。プロンプトなしで背景安全チェックの場合、代わりに[自動モード](#eliminate-prompts-with-auto-mode)を使用してください。管理者は[管理設定](/ja/permissions#managed-settings)で `permissions.disableBypassPermissionsMode` を `"disable"` に設定することでこのモードをブロックできます。338 `bypassPermissions` はプロンプトインジェクションまたは意図しないアクションに対する保護を提供しません。プロンプトなしで背景安全チェックの場合、代わりに[自動モード](#eliminate-prompts-with-auto-mode)を使用してください。管理者は[管理設定](/ja/permissions#managed-settings)で `permissions.disableBypassPermissionsMode` を `"disable"` に設定することでこのモードをブロックできます。

291</Warning>339</Warning>

292 340 

293## 保護されたパス341<h2 id="protected-paths">

342 保護されたパス

343</h2>

344 

345パスの小さなセットへの書き込みは、`bypassPermissions` を除くすべてのモードで自動承認されることはありません。これはリポジトリ状態と Claude 独自の設定の偶発的な破損を防ぎます。

294 346 

295パスの小さなセットへの書き込みは、`bypassPermissions` を除くすべてのモードで自動承認されることはありません。これはリポジトリ状態と Claude 独自の設定の偶発的な破損を防ぎます。`default`、`acceptEdits`、`plan` では、これらの書き込みはプロンプトが表示されます。`auto` では分類器にルーティングされます。`dontAsk` では拒否されます。`bypassPermissions` では許可されます。347| モード | 保護されたパスへの書き込み |

348| :----------------------------- | :------------ |

349| `default`、`acceptEdits`、`plan` | プロンプト表示 |

350| `auto` | 分類器にルーティング |

351| `dontAsk` | 拒否 |

352| `bypassPermissions` | 許可 |

296 353 

297保護されたディレクトリ:354保護されたディレクトリ:

298 355 

299* `.git`356* `.git`

357* `.config/git`

300* `.vscode`358* `.vscode`

301* `.idea`359* `.idea`

302* `.husky`360* `.husky`

361* `.cargo`

362* `.devcontainer`

363* `.yarn`

364* `.mvn`

303* `.claude`。ただし `.claude/commands`、`.claude/agents`、`.claude/skills`、`.claude/worktrees` は除く。Claude はこれらで定期的にコンテンツを作成します365* `.claude`。ただし `.claude/commands`、`.claude/agents`、`.claude/skills`、`.claude/worktrees` は除く。Claude はこれらで定期的にコンテンツを作成します

304 366 

305保護されたファイル:367保護されたファイル:

306 368 

307* `.gitconfig`、`.gitmodules`369* `.gitconfig`、`.gitmodules`

308* `.bashrc`、`.bash_profile`、`.zshrc`、`.zprofile`、`.profile`370* `.bashrc`、`.bash_profile`、`.bash_login`、`.bash_aliases`、`.bash_logout`、`.zshrc`、`.zprofile`、`.zshenv`、`.zlogin`、`.zlogout`、`.profile`、`.envrc`

309* `.ripgreprc`371* `.npmrc`、`.yarnrc`、`.yarnrc.yml`、`.pnp.cjs`、`.pnp.loader.mjs`、`.pnpmfile.cjs`、`bunfig.toml`、`.bunfig.toml`

372* `.bazelrc`、`.bazelversion`、`.bazeliskrc`

373* `.pre-commit-config.yaml`、`lefthook.yml`、`lefthook.yaml`、`.lefthook.yml`、`.lefthook.yaml`

374* `gradle-wrapper.properties`、`maven-wrapper.properties`

375* `.devcontainer.json`

376* `.ripgreprc`、`pyrightconfig.json`

310* `.mcp.json`、`.claude.json`377* `.mcp.json`、`.claude.json`

311 378 

312## 関連項目379<h2 id="see-also">

380 関連項目

381</h2>

313 382 

314* [Permissions](/ja/permissions):allow、ask、deny ルール。管理ポリシー383* [Permissions](/ja/permissions):allow、ask、deny ルール。管理ポリシー

315* [Configure auto mode](/ja/auto-mode-config):分類器に組織が信頼するインフラストラクチャを伝える384* [Configure auto mode](/ja/auto-mode-config):分類器に組織が信頼するインフラストラクチャを伝える

permissions.md +91 −33

Details

8 8 

9Claude Code は、エージェントが実行できることと実行できないことを正確に指定できるようにするため、きめ細かい権限をサポートしています。権限設定はバージョン管理にチェックインでき、組織内のすべての開発者に配布できるほか、個々の開発者がカスタマイズできます。9Claude Code は、エージェントが実行できることと実行できないことを正確に指定できるようにするため、きめ細かい権限をサポートしています。権限設定はバージョン管理にチェックインでき、組織内のすべての開発者に配布できるほか、個々の開発者がカスタマイズできます。

10 10 

11## 権限システム11<h2 id="permission-system">

12 権限システム

13</h2>

12 14 

13Claude Code は、パワーと安全性のバランスを取るために、段階的な権限システムを使用しています。15Claude Code は、パワーと安全性のバランスを取るために、段階的な権限システムを使用しています。

14 16 


18| Bash コマンド | シェル実行 | はい | プロジェクトディレクトリとコマンドごとに永続的 |20| Bash コマンド | シェル実行 | はい | プロジェクトディレクトリとコマンドごとに永続的 |

19| ファイル変更 | Edit/Write ファイル | はい | セッション終了まで |21| ファイル変更 | Edit/Write ファイル | はい | セッション終了まで |

20 22 

21## 権限を管理する23<h2 id="manage-permissions">

24 権限を管理する

25</h2>

22 26 

23`/permissions` を使用して、Claude Code のツール権限を表示および管理できます。この UI は、すべての権限ルールと、それらが取得される settings.json ファイルをリストします。27`/permissions` を使用して、Claude Code のツール権限を表示および管理できます。この UI は、すべての権限ルールと、それらが取得される settings.json ファイルをリストします。

24 28 


28 32 

29ルールは順序で評価されます。**deny -> ask -> allow**。最初にマッチしたルールが優先されるため、deny ルールは常に優先されます。33ルールは順序で評価されます。**deny -> ask -> allow**。最初にマッチしたルールが優先されるため、deny ルールは常に優先されます。

30 34 

35Deny ルールは、ツール名を指定するか、ツール内のパターンをスコープするかによって異なる動作をします。`Bash` のようなベアツール名は、ツールを Claude のコンテキストから完全に削除するため、Claude はそれを見ることはありません。`Bash(rm *)` のようなスコープ付きルールは、ツールを利用可能なままにし、Claude が試みたときにマッチする呼び出しをブロックします。

36 

31<Note>37<Note>

32 権限ルールは Claude Code によって実装されており、モデルによってではありません。プロンプトまたは `CLAUDE.md` の指示は、Claude が何をしようとするかを形作りますが、Claude Code が許可する内容は変わりません。アクセスを付与または取り消すには、`/permissions`、ここで説明されているルール、[permission mode](/ja/permission-modes)、または [PreToolUse hook](#extend-permissions-with-hooks) を使用してください。38 権限ルールは Claude Code によって実装されており、モデルによってではありません。プロンプトまたは `CLAUDE.md` の指示は、Claude が何をしようとするかを形作りますが、Claude Code が許可する内容は変わりません。アクセスを付与または取り消すには、`/permissions`、ここで説明されているルール、[permission mode](/ja/permission-modes)、または [PreToolUse hook](#extend-permissions-with-hooks) を使用してください。

33</Note>39</Note>

34 40 

35## 権限モード41<h2 id="permission-modes">

42 権限モード

43</h2>

36 44 

37Claude Code は、ツールの承認方法を制御するいくつかの権限モードをサポートしています。[権限モード](/ja/permission-modes)を参照して、各モードをいつ使用するかを確認してください。[設定ファイル](/ja/settings#settings-files)で `defaultMode` を設定します。45Claude Code は、ツールの承認方法を制御するいくつかの権限モードをサポートしています。[権限モード](/ja/permission-modes)を参照して、各モードをいつ使用するかを確認してください。[設定ファイル](/ja/settings#settings-files)で `defaultMode` を設定します。

38 46 


46| `bypassPermissions` | すべての権限プロンプトをスキップします。ファイルシステムルートまたはホームディレクトリの削除(`rm -rf /` など)は回路遮断器として引き続きプロンプトを表示します |54| `bypassPermissions` | すべての権限プロンプトをスキップします。ファイルシステムルートまたはホームディレクトリの削除(`rm -rf /` など)は回路遮断器として引き続きプロンプトを表示します |

47 55 

48<Warning>56<Warning>

49 `bypassPermissions` モードはすべての権限プロンプトをスキップします。`.git`、`.claude`、`.vscode`、`.idea`、`.husky` への書き込みを含みます。ファイルシステムルートまたはホームディレクトリを対象とした削除(`rm -rf /` や `rm -rf ~` など)は、モデルエラーに対する回路遮断器として引き続きプロンプトを表示します。このモードは、Claude Code が損害を引き起こせないコンテナや VM などの隔離された環境でのみ使用してください。管理者は、[管理設定](#managed-settings)で `permissions.disableBypassPermissionsMode` を `"disable"` に設定することで、このモードを防止できます。57 `bypassPermissions` モードはすべての権限プロンプトをスキップします。`.git`、`.config/git`、`.claude`、`.vscode`、`.idea`、`.husky`、`.cargo`、`.devcontainer`、`.yarn`、`.mvn` への書き込みを含みます。ファイルシステムルートまたはホームディレクトリを対象とした削除(`rm -rf /` や `rm -rf ~` など)は、モデルエラーに対する回路遮断器として引き続きプロンプトを表示します。このモードは、Claude Code が損害を引き起こせないコンテナや VM などの隔離された環境でのみ使用してください。管理者は、[管理設定](#managed-settings)で `permissions.disableBypassPermissionsMode` を `"disable"` に設定することで、このモードを防止できます。

50</Warning>58</Warning>

51 59 

52`bypassPermissions` または `auto` モードが使用されるのを防ぐには、任意の[設定ファイル](/ja/settings#settings-files)で `permissions.disableBypassPermissionsMode` または `permissions.disableAutoMode` を `"disable"` に設定します。これらは、オーバーライドできない[管理設定](#managed-settings)で最も有用です。60`bypassPermissions` または `auto` モードが使用されるのを防ぐには、任意の[設定ファイル](/ja/settings#settings-files)で `permissions.disableBypassPermissionsMode` または `permissions.disableAutoMode` を `"disable"` に設定します。これらは、オーバーライドできない[管理設定](#managed-settings)で最も有用です。

53 61 

54## 権限ルール構文62<h2 id="permission-rule-syntax">

63 権限ルール構文

64</h2>

55 65 

56権限ルールは、`Tool` または `Tool(specifier)` の形式に従います。66権限ルールは、`Tool` または `Tool(specifier)` の形式に従います。

57 67 

58### ツールのすべての使用をマッチさせる68<h3 id="match-all-uses-of-a-tool">

69 ツールのすべての使用をマッチさせる

70</h3>

59 71 

60ツールのすべての使用をマッチさせるには、括弧なしでツール名を使用します。72ツールのすべての使用をマッチさせるには、括弧なしでツール名を使用します。

61 73 


65| `WebFetch` | すべてのウェブフェッチリクエストをマッチさせます |77| `WebFetch` | すべてのウェブフェッチリクエストをマッチさせます |

66| `Read` | すべてのファイル読み取りをマッチさせます |78| `Read` | すべてのファイル読み取りをマッチさせます |

67 79 

68`Bash(*)` は `Bash` と同等で、すべての Bash コマンドをマッチさせます。80`Bash(*)` は `Bash` と同等で、すべての Bash コマンドをマッチさせます。拒否ルールとして、両方の形式は Claude のコンテキストからツールを削除します。

69 81 

70### 細かい制御のためにスペシファイアを使用する82<h3 id="use-specifiers-for-fine-grained-control">

83 細かい制御のためにスペシファイアを使用する

84</h3>

71 85 

72括弧内にスペシファイアを追加して、特定のツール使用をマッチさせます。86括弧内にスペシファイアを追加して、特定のツール使用をマッチさせます。

73 87 


77| `Read(./.env)` | 現在のディレクトリの `.env` ファイルを読み取ることをマッチさせます |91| `Read(./.env)` | 現在のディレクトリの `.env` ファイルを読み取ることをマッチさせます |

78| `WebFetch(domain:example.com)` | example.com へのフェッチリクエストをマッチさせます |92| `WebFetch(domain:example.com)` | example.com へのフェッチリクエストをマッチさせます |

79 93 

80### ワイルドカードパターン94<h3 id="wildcard-patterns">

95 ワイルドカードパターン

96</h3>

81 97 

82Bash ルールは `*` を使用したグロブパターンをサポートしています。ワイルドカードはコマンド内の任意の位置に表示できます。この設定により、npm および git commit コマンドが許可され、git push がブロックされます。98Bash ルールは `*` を使用したグロブパターンをサポートしています。ワイルドカードはコマンド内の任意の位置に表示できます。この設定により、npm および git commit コマンドが許可され、git push がブロックされます。

83 99 


102 118 

103権限ダイアログは、コマンドプレフィックスに対して「はい、今後は聞かない」を選択すると、スペース区切り形式を書き込みます。`:*` 形式はパターンの末尾でのみ認識されます。`Bash(git:* push)` のようなパターンでは、コロンはリテラル文字として扱われ、git コマンドにはマッチしません。119権限ダイアログは、コマンドプレフィックスに対して「はい、今後は聞かない」を選択すると、スペース区切り形式を書き込みます。`:*` 形式はパターンの末尾でのみ認識されます。`Bash(git:* push)` のようなパターンでは、コロンはリテラル文字として扱われ、git コマンドにはマッチしません。

104 120 

105## ツール固有の権限ルール121<h2 id="tool-specific-permission-rules">

122 ツール固有の権限ルール

123</h2>

106 124 

107### Bash125<h3 id="bash">

126 Bash

127</h3>

108 128 

109Bash 権限ルールは `*` を使用したワイルドカードマッチングをサポートしています。ワイルドカードは、開始、中央、終了を含むコマンド内の任意の位置に表示できます。129Bash 権限ルールは `*` を使用したワイルドカードマッチングをサポートしています。ワイルドカードは、開始、中央、終了を含むコマンド内の任意の位置に表示できます。

110 130 


118 138 

119`*` が末尾にスペース付きで表示される場合(`Bash(ls *)` など)、単語境界を強制し、プレフィックスの後にスペースまたは文字列の終わりが続く必要があります。たとえば、`Bash(ls *)` は `ls -la` にマッチしますが `lsof` にはマッチしません。対照的に、スペースなしの `Bash(ls*)` は、単語境界制約がないため、`ls -la` と `lsof` の両方にマッチします。139`*` が末尾にスペース付きで表示される場合(`Bash(ls *)` など)、単語境界を強制し、プレフィックスの後にスペースまたは文字列の終わりが続く必要があります。たとえば、`Bash(ls *)` は `ls -la` にマッチしますが `lsof` にはマッチしません。対照的に、スペースなしの `Bash(ls*)` は、単語境界制約がないため、`ls -la` と `lsof` の両方にマッチします。

120 140 

121#### 複合コマンド141<h4 id="compound-commands">

142 複合コマンド

143</h4>

122 144 

123<Tip>145<Tip>

124 Claude Code はシェルオペレータを認識しているため、`Bash(safe-cmd *)` のようなルールは、`safe-cmd && other-cmd` コマンドを実行する権限を与えません。認識されるコマンド区切り文字は `&&`、`||`、`;`、`|`、`|&`、`&`、および改行です。ルールは各サブコマンドを独立して個別にマッチさせる必要があります。146 Claude Code はシェルオペレータを認識しているため、`Bash(safe-cmd *)` のようなルールは、`safe-cmd && other-cmd` コマンドを実行する権限を与えません。認識されるコマンド区切り文字は `&&`、`||`、`;`、`|`、`|&`、`&`、および改行です。ルールは各サブコマンドを独立して個別にマッチさせる必要があります。


126 148 

127「はい、今後は聞かない」で複合コマンドを承認すると、Claude Code は複合文字列全体の単一ルールではなく、承認が必要な各サブコマンドの個別ルールを保存します。たとえば、`git status && npm test` を承認すると、`npm test` のルールが保存されるため、将来の `npm test` 呼び出しは `&&` の前に何があるかに関係なく認識されます。`cd` をサブディレクトリに移動するようなサブコマンドは、そのパスの独自の Read ルールを生成します。単一の複合コマンドに対して最大 5 つのルールが保存される場合があります。149「はい、今後は聞かない」で複合コマンドを承認すると、Claude Code は複合文字列全体の単一ルールではなく、承認が必要な各サブコマンドの個別ルールを保存します。たとえば、`git status && npm test` を承認すると、`npm test` のルールが保存されるため、将来の `npm test` 呼び出しは `&&` の前に何があるかに関係なく認識されます。`cd` をサブディレクトリに移動するようなサブコマンドは、そのパスの独自の Read ルールを生成します。単一の複合コマンドに対して最大 5 つのルールが保存される場合があります。

128 150 

129#### プロセスラッパー151<h4 id="process-wrappers">

152 プロセスラッパー

153</h4>

130 154 

131Bash ルールをマッチさせる前に、Claude Code は固定されたプロセスラッパーセットをストリップするため、`Bash(npm test *)` のようなルールは `timeout 30 npm test` もマッチさせます。認識されるラッパーは `timeout`、`time`、`nice`、`nohup`、`stdbuf` です。155Bash ルールをマッチさせる前に、Claude Code は固定されたプロセスラッパーセットをストリップするため、`Bash(npm test *)` のようなルールは `timeout 30 npm test` もマッチさせます。認識されるラッパーは `timeout`、`time`、`nice`、`nohup`、`stdbuf` です。

132 156 


136 160 

137`watch`、`setsid`、`ionice`、`flock` などの Exec ラッパーは常にプロンプトを表示し、`Bash(watch *)` のようなプレフィックスルールで自動承認することはできません。同じことが `-exec` または `-delete` を使用する `find` にも適用されます。`Bash(find *)` ルールはこれらの形式をカバーしません。特定の呼び出しを承認するには、完全なコマンド文字列の正確一致ルールを記述します。161`watch`、`setsid`、`ionice`、`flock` などの Exec ラッパーは常にプロンプトを表示し、`Bash(watch *)` のようなプレフィックスルールで自動承認することはできません。同じことが `-exec` または `-delete` を使用する `find` にも適用されます。`Bash(find *)` ルールはこれらの形式をカバーしません。特定の呼び出しを承認するには、完全なコマンド文字列の正確一致ルールを記述します。

138 162 

139#### 読み取り専用コマンド163<h4 id="read-only-commands">

164 読み取り専用コマンド

165</h4>

140 166 

141Claude Code は、Bash コマンドの組み込みセットを読み取り専用として認識し、すべてのモードで権限プロンプトなしで実行します。これには `ls`、`cat`、`echo`、`pwd`、`head`、`tail`、`grep`、`find`、`wc`、`which`、`diff`、`stat`、`du`、`cd`、および `git` の読み取り専用形式が含まれます。セットは設定不可能です。これらのコマンドの 1 つにプロンプトを要求するには、それに対して `ask` または `deny` ルールを追加します。167Claude Code は、Bash コマンドの組み込みセットを読み取り専用として認識し、すべてのモードで権限プロンプトなしで実行します。これには `ls`、`cat`、`echo`、`pwd`、`head`、`tail`、`grep`、`find`、`wc`、`which`、`diff`、`stat`、`du`、`cd`、および `git` の読み取り専用形式が含まれます。セットは設定不可能です。これらのコマンドの 1 つにプロンプトを要求するには、それに対して `ask` または `deny` ルールを追加します。

142 168 


162 WebFetch のみを使用しても、ネットワークアクセスは防止されません。Bash が許可されている場合、Claude は `curl`、`wget` または他のツールを使用して任意の URL に到達できます。188 WebFetch のみを使用しても、ネットワークアクセスは防止されません。Bash が許可されている場合、Claude は `curl`、`wget` または他のツールを使用して任意の URL に到達できます。

163</Warning>189</Warning>

164 190 

165### PowerShell191<h3 id="powershell">

192 PowerShell

193</h3>

166 194 

167PowerShell 権限ルールは Bash ルールと同じ形式を使用しています。`*` を使用したワイルドカードは任意の位置でマッチし、`:*` サフィックスは末尾の ` *` と同等であり、ベア `PowerShell` または `PowerShell(*)` はすべてのコマンドをマッチさせます。この設定により、`Get-ChildItem` および `git commit` コマンドが許可され、`Remove-Item` がブロックされます。195PowerShell 権限ルールは Bash ルールと同じ形式を使用しています。`*` を使用したワイルドカードは任意の位置でマッチし、`:*` サフィックスは末尾の ` *` と同等であり、ベア `PowerShell` または `PowerShell(*)` はすべてのコマンドをマッチさせます。この設定により、`Get-ChildItem` および `git commit` コマンドが許可され、`Remove-Item` がブロックされます。

168 196 


184 212 

185Claude Code は PowerShell AST を解析し、複合コマンド内の各コマンドを独立してチェックします。パイプオペレータ `|`、ステートメント区切り文字 `;`、および PowerShell 7 以降のチェーンオペレータ `&&` と `||` は複合コマンドをサブコマンドに分割します。複合コマンドが許可されるには、ルールがすべてのサブコマンドをマッチさせる必要があります。213Claude Code は PowerShell AST を解析し、複合コマンド内の各コマンドを独立してチェックします。パイプオペレータ `|`、ステートメント区切り文字 `;`、および PowerShell 7 以降のチェーンオペレータ `&&` と `||` は複合コマンドをサブコマンドに分割します。複合コマンドが許可されるには、ルールがすべてのサブコマンドをマッチさせる必要があります。

186 214 

187### Read と Edit215<h3 id="read-and-edit">

216 Read と Edit

217</h3>

188 218 

189`Edit` ルールは、ファイルを編集するすべての組み込みツールに適用されます。Claude は、Grep や Glob などのファイルを読み取るすべての組み込みツールに `Read` ルールを適用するためにベストエフォートを試みます。219`Edit` ルールは、ファイルを編集するすべての組み込みツールに適用されます。Claude は、Grep や Glob などのファイルを読み取るすべての組み込みツールに `Read` ルールを適用するためにベストエフォートを試みます。また、プロンプト内の `@file` メンションや、接続された [IDE](/ja/vs-code#the-built-in-ide-mcp-server) が Claude と共有する選択およびオープンファイルコンテキストにも適用します。

190 220 

191<Warning>221<Warning>

192 Read と Edit deny ルールは Claude の組み込みファイルツールと、Bash で Claude Code が認識するファイルコマンド(`cat`、`head`、`tail`、`sed` など)に適用されます。これらは、Python または Node スクリプトがファイルを自分で開くような、ファイルを間接的に読み書きする任意のサブプロセスには適用されません。パスへのすべてのプロセスのアクセスをブロックする OS レベルの強制については、[サンドボックスを有効にしてください](/ja/sandboxing)。222 Read と Edit deny ルールは Claude の組み込みファイルツールと、Bash で Claude Code が認識するファイルコマンド(`cat`、`head`、`tail`、`sed` など)に適用されます。これらは、Python または Node スクリプトがファイルを自分で開くような、ファイルを間接的に読み書きする任意のサブプロセスには適用されません。パスへのすべてのプロセスのアクセスをブロックする OS レベルの強制については、[サンドボックスを有効にしてください](/ja/sandboxing)。


232 262 

233たとえば、`Read(./project/**)` が許可され、`Read(~/.ssh/**)` が拒否されている場合、`./project/key` にあるシンボリックリンクが `~/.ssh/id_rsa` を指している場合、ターゲットが allow ルールに失敗し、deny ルールにマッチするため、ブロックされます。263たとえば、`Read(./project/**)` が許可され、`Read(~/.ssh/**)` が拒否されている場合、`./project/key` にあるシンボリックリンクが `~/.ssh/id_rsa` を指している場合、ターゲットが allow ルールに失敗し、deny ルールにマッチするため、ブロックされます。

234 264 

235### WebFetch265<h3 id="webfetch">

266 WebFetch

267</h3>

236 268 

237* `WebFetch(domain:example.com)` は example.com へのフェッチリクエストをマッチさせます269* `WebFetch(domain:example.com)` は example.com へのフェッチリクエストをマッチさせます

238 270 

239### MCP271<h3 id="mcp">

272 MCP

273</h3>

240 274 

241* `mcp__puppeteer` は `puppeteer` サーバーによって提供されるツール(Claude Code で設定された名前)をマッチさせます275* `mcp__puppeteer` は `puppeteer` サーバーによって提供されるツール(Claude Code で設定された名前)をマッチさせます

242* `mcp__puppeteer__*` ワイルドカード構文は、`puppeteer` サーバーからのすべてのツールもマッチさせます276* `mcp__puppeteer__*` ワイルドカード構文は、`puppeteer` サーバーからのすべてのツールもマッチさせます

243* `mcp__puppeteer__puppeteer_navigate` は `puppeteer` サーバーによって提供される `puppeteer_navigate` ツールをマッチさせます277* `mcp__puppeteer__puppeteer_navigate` は `puppeteer` サーバーによって提供される `puppeteer_navigate` ツールをマッチさせます

244 278 

245### Agent(subagents279<h3 id="agent-subagents">

280 Agent(subagents)

281</h3>

246 282 

247`Agent(AgentName)` ルールを使用して、Claude が使用できる [subagents](/ja/sub-agents) を制御します。283`Agent(AgentName)` ルールを使用して、Claude が使用できる [subagents](/ja/sub-agents) を制御します。

248 284 


260}296}

261```297```

262 298 

263## フックで権限を拡張する299<h2 id="extend-permissions-with-hooks">

300 フックで権限を拡張する

301</h2>

264 302 

265[Claude Code フック](/ja/hooks-guide)は、実行時に権限評価を実行するカスタムシェルコマンドを登録する方法を提供します。Claude Code がツール呼び出しを行うと、PreToolUse フックは権限プロンプトの前に実行されます。フック出力はツール呼び出しを拒否し、プロンプトを強制し、またはプロンプトをスキップしてコールを続行させることができます。303[Claude Code フック](/ja/hooks-guide)は、実行時に権限評価を実行するカスタムシェルコマンドを登録する方法を提供します。Claude Code がツール呼び出しを行うと、PreToolUse フックは権限プロンプトの前に実行されます。フック出力はツール呼び出しを拒否し、プロンプトを強制し、またはプロンプトをスキップしてコールを続行させることができます。

266 304 


268 306 

269ブロッキングフックは allow ルールよりも優先されます。終了コード 2 で終了するフックは、権限ルールが評価される前にツール呼び出しを停止するため、allow ルールがコールを許可する場合でもブロックが適用されます。プロンプトなしですべての Bash コマンドを実行し、ブロックしたい少数のコマンドを除外するには、allow リストに `"Bash"` を追加し、それらの特定のコマンドを拒否する PreToolUse フックを登録します。適応できるフックスクリプトについては、[保護されたファイルへの編集をブロックする](/ja/hooks-guide#block-edits-to-protected-files)を参照してください。307ブロッキングフックは allow ルールよりも優先されます。終了コード 2 で終了するフックは、権限ルールが評価される前にツール呼び出しを停止するため、allow ルールがコールを許可する場合でもブロックが適用されます。プロンプトなしですべての Bash コマンドを実行し、ブロックしたい少数のコマンドを除外するには、allow リストに `"Bash"` を追加し、それらの特定のコマンドを拒否する PreToolUse フックを登録します。適応できるフックスクリプトについては、[保護されたファイルへの編集をブロックする](/ja/hooks-guide#block-edits-to-protected-files)を参照してください。

270 308 

271## 作業ディレクトリ309<h2 id="working-directories">

310 作業ディレクトリ

311</h2>

272 312 

273デフォルトでは、Claude は起動されたディレクトリ内のファイルにアクセスできます。このアクセスを拡張できます。313デフォルトでは、Claude は起動されたディレクトリ内のファイルにアクセスできます。このアクセスを拡張できます。

274 314 


278 318 

279追加ディレクトリ内のファイルは、元の作業ディレクトリと同じ権限ルールに従います。プロンプトなしで読み取り可能になり、ファイル編集権限は現在の権限モードに従います。319追加ディレクトリ内のファイルは、元の作業ディレクトリと同じ権限ルールに従います。プロンプトなしで読み取り可能になり、ファイル編集権限は現在の権限モードに従います。

280 320 

281### 追加ディレクトリはファイルアクセスを許可し、設定ではありません321<h3 id="additional-directories-grant-file-access-not-configuration">

322 追加ディレクトリはファイルアクセスを許可し、設定ではありません

323</h3>

282 324 

283ディレクトリを追加すると、Claude がファイルを読み取りおよび編集できる場所が拡張されます。そのディレクトリを完全な設定ルートにはしません。ほとんどの `.claude/` 設定は追加ディレクトリから検出されませんが、いくつかのタイプは例外として読み込まれます。325ディレクトリを追加すると、Claude がファイルを読み取りおよび編集できる場所が拡張されます。そのディレクトリを完全な設定ルートにはしません。ほとんどの `.claude/` 設定は追加ディレクトリから検出されませんが、いくつかのタイプは例外として読み込まれます。

284 326 

327これらの例外は、`--add-dir` フラグまたは `/add-dir` コマンドで追加されたディレクトリにのみ適用されます。設定ファイルの `permissions.additionalDirectories` にリストされているディレクトリは、ファイルアクセスのみを許可し、以下の設定は読み込みません。

328 

285次の設定タイプは `--add-dir` ディレクトリから読み込まれます。329次の設定タイプは `--add-dir` ディレクトリから読み込まれます。

286 330 

287| 設定 | `--add-dir` から読み込まれます |331| 設定 | `--add-dir` から読み込まれます |


296* **プラグイン**:設定を [プラグイン](/ja/plugins)としてパッケージ化および配布し、チームがインストールできるようにします340* **プラグイン**:設定を [プラグイン](/ja/plugins)としてパッケージ化および配布し、チームがインストールできるようにします

297* **設定ディレクトリから起動する**:使用する `.claude/` 設定を含むディレクトリから Claude Code を実行します341* **設定ディレクトリから起動する**:使用する `.claude/` 設定を含むディレクトリから Claude Code を実行します

298 342 

299## 権限がサンドボックスとどのように相互作用するか343<h2 id="how-permissions-interact-with-sandboxing">

344 権限がサンドボックスとどのように相互作用するか

345</h2>

300 346 

301権限と[サンドボックス](/ja/sandboxing)は、補完的なセキュリティレイヤーです。347権限と[サンドボックス](/ja/sandboxing)は、補完的なセキュリティレイヤーです。

302 348 


312 358 

313サンドボックスが `autoAllowBashIfSandboxed: true` で有効になっている場合(デフォルト)、サンドボックス化された Bash コマンドは、権限に `ask: Bash(*)` が含まれている場合でもプロンプトなしで実行されます。サンドボックス境界はコマンドごとのプロンプトの代わりになります。明示的な deny ルールは引き続き適用され、`/`、ホームディレクトリ、またはその他の重要なシステムパスをターゲットとする `rm` または `rmdir` コマンドは、引き続きプロンプトをトリガーします。[サンドボックスモード](/ja/sandboxing#sandbox-modes)を参照して、この動作を変更してください。359サンドボックスが `autoAllowBashIfSandboxed: true` で有効になっている場合(デフォルト)、サンドボックス化された Bash コマンドは、権限に `ask: Bash(*)` が含まれている場合でもプロンプトなしで実行されます。サンドボックス境界はコマンドごとのプロンプトの代わりになります。明示的な deny ルールは引き続き適用され、`/`、ホームディレクトリ、またはその他の重要なシステムパスをターゲットとする `rm` または `rmdir` コマンドは、引き続きプロンプトをトリガーします。[サンドボックスモード](/ja/sandboxing#sandbox-modes)を参照して、この動作を変更してください。

314 360 

315## 管理設定361<h2 id="managed-settings">

362 管理設定

363</h2>

316 364 

317Claude Code 設定の一元的な制御が必要な組織の場合、管理者はユーザーまたはプロジェクト設定でオーバーライドできない管理設定をデプロイできます。これらのポリシー設定は通常の設定ファイルと同じ形式に従い、MDM/OS レベルのポリシー、管理設定ファイル、または[サーバー管理設定](/ja/server-managed-settings)を通じて配信できます。配信メカニズムとファイルの場所については、[設定ファイル](/ja/settings#settings-files)を参照してください。365Claude Code 設定の一元的な制御が必要な組織の場合、管理者はユーザーまたはプロジェクト設定でオーバーライドできない管理設定をデプロイできます。これらのポリシー設定は通常の設定ファイルと同じ形式に従い、MDM/OS レベルのポリシー、管理設定ファイル、または[サーバー管理設定](/ja/server-managed-settings)を通じて配信できます。配信メカニズムとファイルの場所については、[設定ファイル](/ja/settings#settings-files)を参照してください。

318 366 

319### 管理のみの設定367<h3 id="managed-only-settings">

368 管理のみの設定

369</h3>

320 370 

321一部の設定は管理設定でのみ有効です。ユーザーまたはプロジェクト設定ファイルに配置しても効果がありません。371以下の設定は管理設定からのみ読み込まれます。ユーザーまたはプロジェクト設定ファイルに配置しても効果がありません。

322 372 

323| 設定 | 説明 |373| 設定 | 説明 |

324| :--------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |374| :--------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

375| `allowAllClaudeAiMcps` | `true` の場合、claude.ai コネクタはデプロイされた `managed-mcp.json` と並行して読み込まれ、その排他的な制御によって抑制されません。[管理 MCP 設定](/ja/managed-mcp)を参照してください |

325| `allowedChannelPlugins` | メッセージをプッシュできるチャネルプラグインのホワイトリスト。設定されている場合、デフォルトの Anthropic ホワイトリストを置き換えます。`channelsEnabled: true` が必要です。[チャネルプラグインの実行を制限する](/ja/channels#restrict-which-channel-plugins-can-run)を参照してください |376| `allowedChannelPlugins` | メッセージをプッシュできるチャネルプラグインのホワイトリスト。設定されている場合、デフォルトの Anthropic ホワイトリストを置き換えます。`channelsEnabled: true` が必要です。[チャネルプラグインの実行を制限する](/ja/channels#restrict-which-channel-plugins-can-run)を参照してください |

326| `allowManagedHooksOnly` | `true` の場合、管理フック、SDK フック、および管理設定 `enabledPlugins` で強制有効にされたプラグインからのフックのみが読み込まれます。ユーザー、プロジェクト、およびその他すべてのプラグインフックはブロックされます |377| `allowManagedHooksOnly` | `true` の場合、管理フック、SDK フック、および管理設定 `enabledPlugins` で強制有効にされたプラグインからのフックのみが読み込まれます。ユーザー、プロジェクト、およびその他すべてのプラグインフックはブロックされます |

327| `allowManagedMcpServersOnly` | `true` の場合、管理設定からの `allowedMcpServers` のみが尊重されます。`deniedMcpServers` はすべてのソースからマージされます。[管理 MCP 設定](/ja/mcp#managed-mcp-configuration)を参照してください |378| `allowManagedMcpServersOnly` | `true` の場合、管理設定からの `allowedMcpServers` のみが尊重されます。`deniedMcpServers` はすべてのソースからマージされます。[管理 MCP 設定](/ja/managed-mcp)を参照してください |

328| `allowManagedPermissionRulesOnly` | `true` の場合、ユーザーおよびプロジェクト設定が `allow`、`ask`、または `deny` 権限ルールを定義することを防止します。管理設定のルールのみが適用されます |379| `allowManagedPermissionRulesOnly` | `true` の場合、ユーザーおよびプロジェクト設定が `allow`、`ask`、または `deny` 権限ルールを定義することを防止します。管理設定のルールのみが適用されます。MCP サーバーのホワイトリストには影響しません。その場合は、`allowManagedMcpServersOnly` を設定してください |

329| `blockedMarketplaces` | マーケットプレイスソースのブロックリスト。ブロックされたソースはダウンロード前にチェックされるため、ファイルシステムに触れることはありません。[管理マーケットプレイス制限](/ja/plugin-marketplaces#managed-marketplace-restrictions)を参照してください |380| `blockedMarketplaces` | マーケットプレイスソースのブロックリスト。ブロックされたソースはダウンロード前にチェックされるため、ファイルシステムに触れることはありません。[管理マーケットプレイス制限](/ja/plugin-marketplaces#managed-marketplace-restrictions)を参照してください |

330| `channelsEnabled` | 組織の[チャネル](/ja/channels)を許可します。各プランのデフォルトについては、[エンタープライズコントロール](/ja/channels#enterprise-controls)を参照してください |381| `channelsEnabled` | 組織の[チャネル](/ja/channels)を許可します。各プランのデフォルトについては、[エンタープライズコントロール](/ja/channels#enterprise-controls)を参照してください |

331| `forceRemoteSettingsRefresh` | `true` の場合、リモート管理設定が新しく取得されるまで CLI 起動をブロックし、取得に失敗した場合は終了します。[フェイルクローズ強制](/ja/server-managed-settings#enforce-fail-closed-startup)を参照してください |382| `forceRemoteSettingsRefresh` | `true` の場合、リモート管理設定が新しく取得されるまで CLI 起動をブロックし、取得に失敗した場合は終了します。[フェイルクローズ強制](/ja/server-managed-settings#enforce-fail-closed-startup)を参照してください |


333| `sandbox.filesystem.allowManagedReadPathsOnly` | `true` の場合、管理設定からの `filesystem.allowRead` パスのみが尊重されます。`denyRead` はすべてのソースからマージされます |384| `sandbox.filesystem.allowManagedReadPathsOnly` | `true` の場合、管理設定からの `filesystem.allowRead` パスのみが尊重されます。`denyRead` はすべてのソースからマージされます |

334| `sandbox.network.allowManagedDomainsOnly` | `true` の場合、管理設定からの `allowedDomains` と `WebFetch(domain:...)` allow ルールのみが尊重されます。許可されていないドメインはユーザーに促すことなく自動的にブロックされます。拒否されたドメインはすべてのソースからマージされます |385| `sandbox.network.allowManagedDomainsOnly` | `true` の場合、管理設定からの `allowedDomains` と `WebFetch(domain:...)` allow ルールのみが尊重されます。許可されていないドメインはユーザーに促すことなく自動的にブロックされます。拒否されたドメインはすべてのソースからマージされます |

335| `strictKnownMarketplaces` | ユーザーが追加およびインストールできるプラグインマーケットプレイスソースを制御します。[管理マーケットプレイス制限](/ja/plugin-marketplaces#managed-marketplace-restrictions)を参照してください |386| `strictKnownMarketplaces` | ユーザーが追加およびインストールできるプラグインマーケットプレイスソースを制御します。[管理マーケットプレイス制限](/ja/plugin-marketplaces#managed-marketplace-restrictions)を参照してください |

387| `strictPluginOnlyCustomization` | ユーザーおよびプロジェクトソースからのスキル、エージェント、フック、および MCP サーバーをブロックして、プラグインまたは管理設定からのみ取得できるようにします。`true` は 4 つすべてのサーフェスをロックします。`["skills", "hooks"]` などの配列は、指定されたものだけをロックします。[`strictPluginOnlyCustomization`](/ja/settings#strictpluginonlycustomization)を参照してください |

336| `wslInheritsWindowsSettings` | Windows HKLM レジストリキーまたは `C:\Program Files\ClaudeCode\managed-settings.json` で `true` の場合、WSL は `/etc/claude-code` に加えて Windows ポリシーチェーンから管理設定を読み込みます。[設定ファイル](/ja/settings#settings-files)を参照してください |388| `wslInheritsWindowsSettings` | Windows HKLM レジストリキーまたは `C:\Program Files\ClaudeCode\managed-settings.json` で `true` の場合、WSL は `/etc/claude-code` に加えて Windows ポリシーチェーンから管理設定を読み込みます。[設定ファイル](/ja/settings#settings-files)を参照してください |

337 389 

338`disableBypassPermissionsMode` は通常、組織ポリシーを強制するために管理設定に配置されますが、任意のスコープから機能します。ユーザーは独自の設定で設定して、自分自身をバイパスモードからロックアウトできます。390`disableBypassPermissionsMode` は通常、組織ポリシーを強制するために管理設定に配置されますが、任意のスコープから機能します。ユーザーは独自の設定で設定して、自分自身をバイパスモードからロックアウトできます。


341 Team および Enterprise プランでは、管理者が [Claude Code 管理設定](https://claude.ai/admin-settings/claude-code)で[リモートコントロール](/ja/remote-control)と[ウェブセッション](/ja/claude-code-on-the-web)を組織全体で有効または無効にします。リモートコントロールは、[`disableRemoteControl`](/ja/settings#available-settings)管理設定でデバイスごとに無効にすることもできます。ウェブセッションにはデバイスごとの管理設定キーはありません。393 Team および Enterprise プランでは、管理者が [Claude Code 管理設定](https://claude.ai/admin-settings/claude-code)で[リモートコントロール](/ja/remote-control)と[ウェブセッション](/ja/claude-code-on-the-web)を組織全体で有効または無効にします。リモートコントロールは、[`disableRemoteControl`](/ja/settings#available-settings)管理設定でデバイスごとに無効にすることもできます。ウェブセッションにはデバイスごとの管理設定キーはありません。

342</Note>394</Note>

343 395 

344## 設定の優先順位396<h2 id="settings-precedence">

397 設定の優先順位

398</h2>

345 399 

346権限ルールは、他のすべての Claude Code 設定と同じ[設定優先順位](/ja/settings#settings-precedence)に従います。400権限ルールは、他のすべての Claude Code 設定と同じ[設定優先順位](/ja/settings#settings-precedence)に従います。

347 401 


357 411 

358たとえば、ユーザー設定で権限が許可されており、プロジェクト設定で拒否されている場合、拒否ルールがそれをブロックします。逆も同様です。ユーザーレベルの deny がプロジェクトレベルの allow をブロックします。これは、任意のスコープからの deny ルールが allow ルールの前に評価されるためです。412たとえば、ユーザー設定で権限が許可されており、プロジェクト設定で拒否されている場合、拒否ルールがそれをブロックします。逆も同様です。ユーザーレベルの deny がプロジェクトレベルの allow をブロックします。これは、任意のスコープからの deny ルールが allow ルールの前に評価されるためです。

359 413 

360## 設定例414<h2 id="example-configurations">

415 設定例

416</h2>

361 417 

362この[リポジトリ](https://github.com/anthropics/claude-code/tree/main/examples/settings)には、一般的なデプロイメントシナリオのスターター設定が含まれています。これらを出発点として使用し、ニーズに合わせて調整してください。418この[リポジトリ](https://github.com/anthropics/claude-code/tree/main/examples/settings)には、一般的なデプロイメントシナリオのスターター設定が含まれています。これらを出発点として使用し、ニーズに合わせて調整してください。

363 419 

364## 関連項目420<h2 id="see-also">

421 関連項目

422</h2>

365 423 

366* [設定](/ja/settings)。権限設定テーブルを含む完全な設定リファレンス424* [設定](/ja/settings)。権限設定テーブルを含む完全な設定リファレンス

367* [auto モードを設定する](/ja/auto-mode-config)。auto モード分類器が組織が信頼するインフラストラクチャを伝えます425* [auto モードを設定する](/ja/auto-mode-config)。auto モード分類器が組織が信頼するインフラストラクチャを伝えます

platforms.md +21 −7

Details

8 8 

9Claude Code は、どこでも同じ基盤となるエンジンを実行しますが、各サーフェスは異なる作業方法に合わせて調整されています。このページは、ワークフローに適したプラットフォームを選択し、既に使用しているツールを接続するのに役立ちます。9Claude Code は、どこでも同じ基盤となるエンジンを実行しますが、各サーフェスは異なる作業方法に合わせて調整されています。このページは、ワークフローに適したプラットフォームを選択し、既に使用しているツールを接続するのに役立ちます。

10 10 

11## Claude Code を実行する場所11<h2 id="where-to-run-claude-code">

12 Claude Code を実行する場所

13</h2>

12 14 

13プロジェクトがどこにあるか、どのように作業したいかに基づいてプラットフォームを選択します。15プロジェクトがどこにあるか、どのように作業したいかに基づいてプラットフォームを選択します。

14 16 


25 27 

26同じプロジェクトで複数のサーフェスを混在させることができます。設定、プロジェクトメモリ、MCP サーバーはローカルサーフェス全体で共有されます。28同じプロジェクトで複数のサーフェスを混在させることができます。設定、プロジェクトメモリ、MCP サーバーはローカルサーフェス全体で共有されます。

27 29 

28## ツールを接続する30<h2 id="connect-your-tools">

31 ツールを接続する

32</h2>

29 33 

30統合により、Claude はコードベース外のサービスと連携できます。34統合により、Claude はコードベース外のサービスと連携できます。

31 35 


39 43 

40ここにリストされていない統合については、[MCP サーバー](/ja/mcp)と[コネクター](/ja/desktop#connect-external-tools)により、ほぼすべてのものを接続できます。Linear、Notion、Google Drive、または独自の内部 API など。44ここにリストされていない統合については、[MCP サーバー](/ja/mcp)と[コネクター](/ja/desktop#connect-external-tools)により、ほぼすべてのものを接続できます。Linear、Notion、Google Drive、または独自の内部 API など。

41 45 

42## ターミナルから離れているときに作業する46<h2 id="work-when-you-are-away-from-your-terminal">

47 ターミナルから離れているときに作業する

48</h2>

43 49 

44Claude Code offers several ways to work when you're not at your terminal. They differ in what triggers the work, where Claude runs, and how much you need to set up.50Claude Code offers several ways to work when you're not at your terminal. They differ in what triggers the work, where Claude runs, and how much you need to set up.

45 51 


53 59 

54どこから始めるべきか不確かな場合は、[CLI をインストール](/ja/quickstart)してプロジェクトディレクトリで実行します。ターミナルを使用したくない場合は、[Desktop](/ja/desktop-quickstart) がグラフィカルインターフェースで同じエンジンを提供します。60どこから始めるべきか不確かな場合は、[CLI をインストール](/ja/quickstart)してプロジェクトディレクトリで実行します。ターミナルを使用したくない場合は、[Desktop](/ja/desktop-quickstart) がグラフィカルインターフェースで同じエンジンを提供します。

55 61 

56## 関連リソース62<h2 id="related-resources">

63 関連リソース

64</h2>

57 65 

58### プラットフォーム66<h3 id="platforms">

67 プラットフォーム

68</h3>

59 69 

60* [CLI クイックスタート](/ja/quickstart):ターミナルでインストールして最初のコマンドを実行70* [CLI クイックスタート](/ja/quickstart):ターミナルでインストールして最初のコマンドを実行

61* [Desktop](/ja/desktop):ビジュアル Diff レビュー、並列セッション、コンピューター使用、Dispatch71* [Desktop](/ja/desktop):ビジュアル Diff レビュー、並列セッション、コンピューター使用、Dispatch


64* [Claude Code on the web](/ja/claude-code-on-the-web):切断後も実行し続けるクラウドセッション74* [Claude Code on the web](/ja/claude-code-on-the-web):切断後も実行し続けるクラウドセッション

65* モバイル:コンピューターから離れている間にタスクを開始および監視するための [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) および [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) 用 Claude アプリ75* モバイル:コンピューターから離れている間にタスクを開始および監視するための [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) および [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) 用 Claude アプリ

66 76 

67### 統合77<h3 id="integrations">

78 統合

79</h3>

68 80 

69* [Chrome](/ja/chrome):ログインしたセッションでブラウザタスクを自動化81* [Chrome](/ja/chrome):ログインしたセッションでブラウザタスクを自動化

70* [Computer use](/ja/computer-use):Claude が macOS でアプリを開いてスクリーンを制御できるようにする82* [Computer use](/ja/computer-use):Claude が macOS でアプリを開いてスクリーンを制御できるようにする


73* [Code Review](/ja/code-review):すべてのプルリクエストで自動レビュー85* [Code Review](/ja/code-review):すべてのプルリクエストで自動レビュー

74* [Slack](/ja/slack):チームチャットからタスクを送信、PR を取得86* [Slack](/ja/slack):チームチャットからタスクを送信、PR を取得

75 87 

76### リモートアクセス88<h3 id="remote-access">

89 リモートアクセス

90</h3>

77 91 

78* [Dispatch](/ja/desktop#sessions-from-dispatch):携帯電話からタスクをメッセージして Desktop セッションを生成92* [Dispatch](/ja/desktop#sessions-from-dispatch):携帯電話からタスクをメッセージして Desktop セッションを生成

79* [Remote Control](/ja/remote-control):携帯電話またはブラウザから実行中のセッションを操作93* [Remote Control](/ja/remote-control):携帯電話またはブラウザから実行中のセッションを操作

Details

16 依存関係のバージョン制約には、Claude Code v2.1.110 以降が必要です。16 依存関係のバージョン制約には、Claude Code v2.1.110 以降が必要です。

17</Note>17</Note>

18 18 

19## 依存関係のバージョンを制約する理由19<h2 id="why-constrain-dependency-versions">

20 依存関係のバージョンを制約する理由

21</h2>

20 22 

212 つのチームがプラグインを公開する内部マーケットプレイスを考えてみてください。プラットフォームチームは、シークレットバックエンドをラップする MCP サーバーである `secrets-vault` を保守しています。デプロイチームは、デプロイ中に認証情報を取得するために `secrets-vault` を呼び出す `deploy-kit` を保守しています。232 つのチームがプラグインを公開する内部マーケットプレイスを考えてみてください。プラットフォームチームは、シークレットバックエンドをラップする MCP サーバーである `secrets-vault` を保守しています。デプロイチームは、デプロイ中に認証情報を取得するために `secrets-vault` を呼び出す `deploy-kit` を保守しています。

22 24 


24 26 

25バージョン制約を使用すると、`deploy-kit` は `secrets-vault` が `~2.1.0` 範囲内にあることが必要であることを宣言します。`deploy-kit` がインストールされているエンジニアは、最高の一致する `2.1.x` パッチに留まります。デプロイチームは、より広い制約を持つ新しい `deploy-kit` バージョンを公開することで、独自のスケジュールでアップグレードします。27バージョン制約を使用すると、`deploy-kit` は `secrets-vault` が `~2.1.0` 範囲内にあることが必要であることを宣言します。`deploy-kit` がインストールされているエンジニアは、最高の一致する `2.1.x` パッチに留まります。デプロイチームは、より広い制約を持つ新しい `deploy-kit` バージョンを公開することで、独自のスケジュールでアップグレードします。

26 28 

27## バージョン制約を使用して依存関係を宣言する29<h2 id="declare-a-dependency-with-a-version-constraint">

30 バージョン制約を使用して依存関係を宣言する

31</h2>

28 32 

29プラグインの `.claude-plugin/plugin.json` の `dependencies` 配列に依存関係をリストします。各エントリは、プラグイン名またはバージョン制約を持つオブジェクトのいずれかです。33プラグインの `.claude-plugin/plugin.json` の `dependencies` 配列に依存関係をリストします。各エントリは、プラグイン名またはバージョン制約を持つオブジェクトのいずれかです。

30 34 


51 55 

52`version` フィールドは、キャレット、チルダ、ハイフン、比較演算子範囲を含む、Node の `semver` パッケージでサポートされている任意の式を受け入れます。`^2.0.0-0` のようなプレリリースサフィックスで範囲がオプトインしない限り、`2.0.0-beta.1` などのプレリリースバージョンは除外されます。56`version` フィールドは、キャレット、チルダ、ハイフン、比較演算子範囲を含む、Node の `semver` パッケージでサポートされている任意の式を受け入れます。`^2.0.0-0` のようなプレリリースサフィックスで範囲がオプトインしない限り、`2.0.0-beta.1` などのプレリリースバージョンは除外されます。

53 57 

54## 別のマーケットプレイスからプラグインに依存する58<h2 id="depend-on-a-plugin-from-another-marketplace">

59 別のマーケットプレイスからプラグインに依存する

60</h2>

55 61 

56デフォルトでは、Claude Code は、それを宣言するプラグインとは異なるマーケットプレイスに存在する依存関係の自動インストールを拒否します。これにより、1 つのマーケットプレイスが、確認していないソースからプラグインを静かにプルインするのを防ぎます。62デフォルトでは、Claude Code は、それを宣言するプラグインとは異なるマーケットプレイスに存在する依存関係の自動インストールを拒否します。これにより、1 つのマーケットプレイスが、確認していないソースからプラグインを静かにプルインするのを防ぎます。

57 63 


78 84 

79フィールドが欠落しているか、ターゲットマーケットプレイスが含まれていない場合、インストールは `cross-marketplace` エラーで失敗し、設定するフィールドに名前を付けます。ユーザーは依然として依存関係を手動で最初にインストールできます。これにより、アローリストを変更することなく制約が満たされます。85フィールドが欠落しているか、ターゲットマーケットプレイスが含まれていない場合、インストールは `cross-marketplace` エラーで失敗し、設定するフィールドに名前を付けます。ユーザーは依然として依存関係を手動で最初にインストールできます。これにより、アローリストを変更することなく制約が満たされます。

80 86 

81## バージョン解決のためのタグプラグインリリース87<h2 id="tag-plugin-releases-for-version-resolution">

88 バージョン解決のためのタグプラグインリリース

89</h2>

82 90 

83バージョン制約は、マーケットプレイスリポジトリの git タグに対して解決されます。Claude Code が依存関係の利用可能なバージョンを見つけるには、アップストリームプラグインのリリースが特定の命名規則を使用してタグ付けされている必要があります。91バージョン制約は、マーケットプレイスリポジトリの git タグに対して解決されます。Claude Code が依存関係の利用可能なバージョンを見つけるには、アップストリームプラグインのリリースが特定の命名規則を使用してタグ付けされている必要があります。

84 92 


100 `npm` マーケットプレイスソースの場合、タグベースの解決は git バックアップソースにのみ適用されるため、制約はどのバージョンが取得されるかを制御しません。制約は依然としてロード時にチェックされ、インストールされたバージョンが満たさない場合、依存プラグインは `dependency-version-unsatisfied` で無効になります。108 `npm` マーケットプレイスソースの場合、タグベースの解決は git バックアップソースにのみ適用されるため、制約はどのバージョンが取得されるかを制御しません。制約は依然としてロード時にチェックされ、インストールされたバージョンが満たさない場合、依存プラグインは `dependency-version-unsatisfied` で無効になります。

101</Note>109</Note>

102 110 

103## 制約がどのように相互作用するか111<h2 id="how-constraints-interact">

112 制約がどのように相互作用するか

113</h2>

104 114 

105複数のインストール済みプラグインが同じ依存関係を制約する場合、Claude Code はそれらの範囲を交差させ、依存関係をすべての範囲を満たす最高バージョンに解決します。下の表は、一般的な組み合わせがどのように解決されるかを示しています。115複数のインストール済みプラグインが同じ依存関係を制約する場合、Claude Code はそれらの範囲を交差させ、依存関係をすべての範囲を満たす最高バージョンに解決します。下の表は、一般的な組み合わせがどのように解決されるかを示しています。

106 116 


114 124 

115依存関係を制約する最後のプラグインをアンインストールすると、依存関係は保持されなくなり、次の更新でマーケットプレイスエントリの追跡を再開します。125依存関係を制約する最後のプラグインをアンインストールすると、依存関係は保持されなくなり、次の更新でマーケットプレイスエントリの追跡を再開します。

116 126 

117## 依存関係を持つプラグインを有効または無効にする127<h2 id="enable-or-disable-a-plugin-with-dependencies">

128 依存関係を持つプラグインを有効または無効にする

129</h2>

118 130 

119プラグインを有効にすると、それが依存するプラグインも有効になり、別の有効なプラグインがまだそれを必要としている場合、プラグインを無効にすることはブロックされます。両方の動作には Claude Code v2.1.143 以降が必要です。以前のバージョンは、名前付きプラグインのみを有効または無効にし、次のロード時に `dependency-unsatisfied` エラーを表示します。131プラグインを有効にすると、それが依存するプラグインも有効になり、別の有効なプラグインがまだそれを必要としている場合、プラグインを無効にすることはブロックされます。両方の動作には Claude Code v2.1.143 以降が必要です。以前のバージョンは、名前付きプラグインのみを有効または無効にし、次のロード時に `dependency-unsatisfied` エラーを表示します。

120 132 


127| 依存関係が、ターゲットスコープより優先度の高いスコープで `false` に設定されている | 有効化が失敗します。そのスコープで依存関係を有効にするか、`--scope` を渡してそこに書き込みます。 |139| 依存関係が、ターゲットスコープより優先度の高いスコープで `false` に設定されている | 有効化が失敗します。そのスコープで依存関係を有効にするか、`--scope` を渡してそこに書き込みます。 |

128| すべての依存関係がインストールされ、許可されている | 有効化が成功し、プラグインと、ターゲットスコープでまだ有効になっていない各依存関係に対して `true` を書き込みます。 |140| すべての依存関係がインストールされ、許可されている | 有効化が成功し、プラグインと、ターゲットスコープでまだ有効になっていない各依存関係に対して `true` を書き込みます。 |

129 141 

142これは、依存関係がマニフェストで [`defaultEnabled: false`](/ja/plugins-reference#default-enablement) を設定している場合でも当てはまります。Claude Code はそれに対して明示的な `true` を書き込むためです。同じことがインストール時にも適用されます。アクティブなプラグインを満たすために取得された依存関係は、独自のデフォルトに関係なく `true` でインストールされます。

143 

130プラグインを無効にすると、別の有効なプラグインがまだそれに依存している場合、Claude Code は拒否します。エラーはそれに依存するプラグインに名前を付け、正しい順序でそれらを無効にする連鎖コマンドを提供します。144プラグインを無効にすると、別の有効なプラグインがまだそれに依存している場合、Claude Code は拒否します。エラーはそれに依存するプラグインに名前を付け、正しい順序でそれらを無効にする連鎖コマンドを提供します。

131 145 

132たとえば、`deploy-kit` が `secrets-vault` に依存している場合、`secrets-vault` だけを無効にすると、次のような出力で失敗します。146たとえば、`deploy-kit` が `secrets-vault` に依存している場合、`secrets-vault` だけを無効にすると、次のような出力で失敗します。


138 152 

139エラーから連鎖コマンドをコピーして、1 つのステップで完全なセットを無効にします。153エラーから連鎖コマンドをコピーして、1 つのステップで完全なセットを無効にします。

140 154 

141## 孤立した自動インストール依存関係を削除する155<h2 id="remove-orphaned-auto-installed-dependencies">

156 孤立した自動インストール依存関係を削除する

157</h2>

142 158 

143自動インストール依存関係は、それらをインストールしたプラグインがアンインストールされた後もディスク上に留まります。これは、依存プラグインを再インストールしたい場合や、依存関係を直接使用し続けたい場合に備えてです。それらをクリーンアップするには、`claude plugin prune` を実行して、インストール済みプラグインがもう必要としない自動インストール依存関係をリストし、確認プロンプトの後に削除します。これには Claude Code v2.1.121 以降が必要です。159自動インストール依存関係は、それらをインストールしたプラグインがアンインストールされた後もディスク上に留まります。これは、依存プラグインを再インストールしたい場合や、依存関係を直接使用し続けたい場合に備えてです。それらをクリーンアップするには、`claude plugin prune` を実行して、インストール済みプラグインがもう必要としない自動インストール依存関係をリストし、確認プロンプトの後に削除します。これには Claude Code v2.1.121 以降が必要です。

144 160 


156claude plugin uninstall deploy-kit --prune172claude plugin uninstall deploy-kit --prune

157```173```

158 174 

159## 依存関係エラーを解決する175<h2 id="resolve-dependency-errors">

176 依存関係エラーを解決する

177</h2>

160 178 

161依存関係の問題は、`claude plugin list`、`/plugin` インターフェイス、および `/doctor` に表示されます。影響を受けるプラグインは、エラーを解決するまで無効になります。最も一般的なエラーとその修正は以下にリストされています。179依存関係の問題は、`claude plugin list`、`/plugin` インターフェイス、および `/doctor` に表示されます。影響を受けるプラグインは、エラーを解決するまで無効になります。最も一般的なエラーとその修正は以下にリストされています。

162 180 


169 187 

170これらのエラーをプログラムで確認するには、`claude plugin list --json` を実行し、各プラグインの `errors` フィールドを読みます。188これらのエラーをプログラムで確認するには、`claude plugin list --json` を実行し、各プラグインの `errors` フィールドを読みます。

171 189 

172## 関連項目190<h2 id="see-also">

191 関連項目

192</h2>

173 193 

174* [プラグインの作成](/ja/plugins): スキル、エージェント、フックを使用してプラグインを構築します194* [プラグインの作成](/ja/plugins): スキル、エージェント、フックを使用してプラグインを構築します

175* [プラグインマーケットプレイスの作成と配布](/ja/plugin-marketplaces): チーム向けのプラグインをホストします195* [プラグインマーケットプレイスの作成と配布](/ja/plugin-marketplaces): チーム向けのプラグインをホストします

plugin-hints.md +164 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# CLI からプラグインを推奨する

6 

7> CLI から 1 行のマーカーを出力して、Claude Code ユーザーに公式プラグインのインストールを促します。

8 

9CLI または SDK を保守していて、公式の Anthropic マーケットプレイスにプラグインがある場合、ツールは Claude Code ユーザーにそのプラグインのインストールを促すことができます。CLI は Claude Code 内で実行されていることを検出すると、stderr に 1 行のマーカーを書き込みます。Claude Code はマーカーを読み取り、出力から削除し、ユーザーに 1 回限りのインストールプロンプトを表示します。

10 

11Claude Code はコマンド出力からヒント行を削除してからモデルに送信するため、マーカーは会話に表示されず、トークン使用量にカウントされません。このプロトコルは追加のコマンドを必要とせず、Claude Code の外でユーザーが実行する場合に CLI が出力する内容を変更しません。

12 

13このページは CLI および SDK メンテナー向けです。プラグインのインストールを探している場合は、[プラグインの発見とインストール](/ja/discover-plugins)を参照してください。

14 

15<h2 id="how-it-works">

16 仕組み

17</h2>

18 

19Claude Code は、Bash および PowerShell ツールを通じて実行するすべてのコマンド、および [hook](/ja/hooks) コマンドに対して、[`CLAUDECODE`](/ja/env-vars) 環境変数を `1` に設定します。CLI がその変数を検出すると、自己終了型の `<claude-code-hint />` タグを stderr に書き込みます。hook コマンドではヒントタグは削除され、無視されます。Bash および PowerShell ツール出力のみがインストールプロンプトをトリガーします。

20 

21Claude Code がコマンド出力を受け取ると、以下を実行します。

22 

231. ヒント行をスキャンし、出力がモデルに到達する前に削除します

242. ヒントが公式 Anthropic マーケットプレイスのプラグインをターゲットにしていることを確認します

253. プラグインがまだインストールされていないこと、および以前にプロンプトが表示されていないことを確認します

264. ヒントを出力したコマンドの名前を表示するインストールプロンプトをユーザーに表示します

27 

28Claude Code はプラグインを自動的にインストールすることはありません。ユーザーが常に確認します。

29 

30<h2 id="emit-the-hint">

31 ヒントを出力する

32</h2>

33 

34`CLAUDECODE` 環境変数でゲートを設定して、マーカーが人間のユーザーのターミナルに表示されないようにします。次に、タグを stderr に独立した行として書き込みます。

35 

36以下の例は、公式マーケットプレイスの `example-cli` という名前のプラグインのヒントを出力します。

37 

38<CodeGroup>

39 ```javascript Node.js theme={null}

40 if (process.env.CLAUDECODE) {

41 process.stderr.write(

42 '<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />\n',

43 )

44 }

45 ```

46 

47 ```python Python theme={null}

48 import os, sys

49 

50 if os.environ.get("CLAUDECODE"):

51 print(

52 '<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />',

53 file=sys.stderr,

54 )

55 ```

56 

57 ```go Go theme={null}

58 if os.Getenv("CLAUDECODE") != "" {

59 fmt.Fprintln(os.Stderr,

60 `<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />`)

61 }

62 ```

63 

64 ```shell Shell theme={null}

65 [ -n "$CLAUDECODE" ] &&

66 printf '%s\n' '<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />' >&2

67 ```

68</CodeGroup>

69 

70公式マーケットプレイスのプラグイン名で `example-cli` を置き換えます。

71 

72<h2 id="choose-where-to-emit">

73 出力場所を選択する

74</h2>

75 

76ヒントを出力するコードパスを制御します。Claude Code はプラグイン別に重複排除するため、すべての呼び出しで出力しても欠点はありません。うまく機能するタッチポイントは以下の通りです。

77 

78| 配置 | 機能する理由 |

79| :------------- | :------------------------------------- |

80| `--help` 出力 | Claude は不慣れな CLI を探索するときにヘルプを実行することが多い |

81| 不明なサブコマンドエラー | Claude がインターフェイスについて混乱している瞬間に到達します |

82| ログインまたは認証成功 | ユーザーはすでにセットアップの心構えができています |

83| 初回実行ウェルカムメッセージ | 自然なオンボーディングの瞬間 |

84 

85<h2 id="what-the-user-sees">

86 ユーザーに表示される内容

87</h2>

88 

89ヒントがすべてのチェックに合格すると、Claude Code は以下のようなプロンプトを表示します。

90 

91```text theme={null}

92─────────────────────────────────────────────────────────────

93 プラグイン推奨

94 

95 example-cli コマンドはプラグインのインストールを提案しています。

96 

97 プラグイン: example-cli

98 マーケットプレイス: claude-plugins-official

99 example-cli デプロイメント向けの公式統合

100 

101 インストールしますか?

102 ❯ 1. はい、example-cli をインストール

103 2. いいえ

104 3. いいえ、プラグインインストールヒントを再度表示しない

105 

106─────────────────────────────────────────────────────────────

107```

108 

109プロンプトはヒントを生成したコマンドの名前を表示するため、ユーザーはツールと推奨するプラグイン間の不一致を検出できます。ユーザーが 30 秒以内に応答しない場合、プロンプトは**いいえ**として却下されます。

110 

111プロンプト頻度は制限されています。

112 

113* **プラグインごとに 1 回**: プロンプトが表示された後、Claude Code はプラグインを記録し、ユーザーの回答に関係なく、二度とそのプラグインのプロンプトを表示しません。

114* **セッションごとに 1 回**: マシン上のすべての CLI にわたって、Claude Code セッションごとに最大 1 つのヒントプロンプトが表示されます。

115 

116**はい**を選択するとプラグインがユーザースコープにインストールされます。**いいえ、プラグインインストールヒントを再度表示しない**を選択すると、ユーザーのすべての将来のヒントプロンプトが無効になります。

117 

118<h2 id="hint-format">

119 ヒント形式

120</h2>

121 

122ヒントは 3 つの必須属性を持つ自己終了型タグです。

123 

124```text theme={null}

125<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />

126```

127 

128| 属性 | 必須 | 説明 |

129| :------ | :- | :------------------------------ |

130| `v` | はい | プロトコルバージョン。`1` が唯一サポートされている値です |

131| `type` | はい | ヒントの種類。`plugin` が唯一サポートされている値です |

132| `value` | はい | `name@marketplace` 形式のプラグイン識別子 |

133 

134属性値は二重引用符で引用するか、引用符なしで残すことができます。引用符なしの値は空白を含むことはできません。エスケープシーケンスはサポートされていません。

135 

136<h2 id="requirements">

137 要件

138</h2>

139 

140Claude Code はヒントに対して行動する前に 2 つの条件を適用します。どちらかのチェックに失敗したヒントは削除されます。

141 

142* **独立した行**: タグは独立した行を占める必要があります。ログステートメント内など、行の途中に埋め込まれたタグは無視されます。行の先頭と末尾の空白は許可されます。

143* **公式マーケットプレイス**: `value` は `claude-plugins-official` などの Anthropic 管理マーケットプレイスのプラグインを参照する必要があります。他のマーケットプレイスを指すヒントは静かに削除されます。

144 

145ヒント行は、バージョンまたはタイプが認識されない場合でも、常に出力からモデルに到達する前に削除されるため、マーカーはトークン使用量にカウントされません。

146 

147残りのガイダンスは推奨されていますが、強制されていません。Claude Code は CLI がそれに従っているかどうかを観察することはできません。

148 

149* **stderr に書き込む**: stderr は `example-cli deploy | jq` などのシェルパイプラインからタグを除外します。Claude Code は両方のストリームをスキャンするため、stdout も機能します。

150* **`CLAUDECODE` でゲートを設定する**: `CLAUDECODE` 環境変数が設定されている場合のみ出力します。これにより、ユーザーが CLI を直接実行するときにマーカーが表示されるのを防ぎます。

151 

152<h2 id="get-your-plugin-into-the-official-marketplace">

153 公式マーケットプレイスにプラグインを取得する

154</h2>

155 

156ヒントプロトコルは、公式 Anthropic マーケットプレイス `claude-plugins-official` にリストされているプラグインに対してのみ有効です。Anthropic はそのマーケットプレイスを裁量で管理し、アプリ内送信フォームはプラグインを[コミュニティマーケットプレイス](/ja/plugins#submit-your-plugin-to-the-community-marketplace)に追加します。これはヒントプロトコルがチェックしません。Anthropic パートナー連絡先と協力している場合は、公式マーケットプレイスのリストを調整するために彼らに連絡してください。

157 

158<h2 id="see-also">

159 関連項目

160</h2>

161 

162* [プラグインを作成する](/ja/plugins): CLI が推奨するプラグインを構築します

163* [プラグインマーケットプレイスを作成および配布する](/ja/plugin-marketplaces): 公式マーケットプレイスの外でプラグインをホストします

164* [環境変数](/ja/env-vars): `CLAUDECODE` および関連変数の完全なリファレンス

Details

10 10 

11既存のマーケットプレイスからプラグインをインストールしたいですか?[既成プラグインの検出とインストール](/ja/discover-plugins)を参照してください。11既存のマーケットプレイスからプラグインをインストールしたいですか?[既成プラグインの検出とインストール](/ja/discover-plugins)を参照してください。

12 12 

13## 概要13<h2 id="overview">

14 概要

15</h2>

14 16 

15マーケットプレイスの作成と配布には、以下が含まれます。17マーケットプレイスの作成と配布には、以下が含まれます。

16 18 


21 23 

22マーケットプレイスがライブになったら、リポジトリに変更をプッシュして更新できます。ユーザーは `/plugin marketplace update` でローカルコピーを更新します。24マーケットプレイスがライブになったら、リポジトリに変更をプッシュして更新できます。ユーザーは `/plugin marketplace update` でローカルコピーを更新します。

23 25 

24## チュートリアル:ローカルマーケットプレイスの作成26<h2 id="walkthrough-create-a-local-marketplace">

27 チュートリアル:ローカルマーケットプレイスの作成

28</h2>

25 29 

26この例では、1 つのプラグイン(コードレビュー用の `quality-review` skill)を含むマーケットプレイスを作成します。ディレクトリ構造を作成し、skill を追加し、プラグインマニフェストとマーケットプレイスカタログを作成してから、インストールしてテストします。30この例では、1 つのプラグイン(コードレビュー用の `quality-review` skill)を含むマーケットプレイスを作成します。ディレクトリ構造を作成し、skill を追加し、プラグインマニフェストとマーケットプレイスカタログを作成してから、インストールしてテストします。

27 31 


115 プラグイン間でファイルを共有する必要がある場合は、symlinks を使用します。詳細については、[プラグインキャッシングとファイル解決](/ja/plugins-reference#plugin-caching-and-file-resolution)を参照してください。119 プラグイン間でファイルを共有する必要がある場合は、symlinks を使用します。詳細については、[プラグインキャッシングとファイル解決](/ja/plugins-reference#plugin-caching-and-file-resolution)を参照してください。

116</Note>120</Note>

117 121 

118## マーケットプレイスファイルの作成122<h2 id="create-the-marketplace-file">

123 マーケットプレイスファイルの作成

124</h2>

119 125 

120リポジトリルートに `.claude-plugin/marketplace.json` を作成します。このファイルは、マーケットプレイスの名前、所有者情報、およびソースを含むプラグインのリストを定義します。126リポジトリルートに `.claude-plugin/marketplace.json` を作成します。このファイルは、マーケットプレイスの名前、所有者情報、およびソースを含むプラグインのリストを定義します。

121 127 


150}156}

151```157```

152 158 

153## マーケットプレイススキーマ159<h2 id="marketplace-schema">

160 マーケットプレイススキーマ

161</h2>

154 162 

155### 必須フィールド163<h3 id="required-fields">

164 必須フィールド

165</h3>

156 166 

157| フィールド | タイプ | 説明 | 例 |167| フィールド | タイプ | 説明 | 例 |

158| :-------- | :----- | :---------------------------------------------------------------------------------------------------------------- | :------------- |168| :-------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------- |

159| `name` | string | マーケットプレイス識別子(ケバブケース、スペースなし)。これは公開向けです。ユーザーはプラグインをインストールするときに表示されます(例:`/plugin install my-tool@your-marketplace`)。 | `"acme-tools"` |169| `name` | string | マーケットプレイス識別子(ケバブケース、スペースなし)。これは公開向けです。ユーザーはプラグインをインストールするときに表示されます(例:`/plugin install my-tool@your-marketplace`)。各ユーザーは、マーケットプレイス名ごとに 1 つのマーケットプレイスのみを登録できます。同じ名前の 2 番目のマーケットプレイスを追加すると、最初のマーケットプレイスが置き換わります。1 つのマーケットプレイス名の下に複数のプラグインを公開するには、すべてを [単一の `marketplace.json`](#create-the-marketplace-file) にリストします。 | `"acme-tools"` |

160| `owner` | object | マーケットプレイスメンテナー情報([以下のフィールドを参照](#owner-fields)) | |170| `owner` | object | マーケットプレイスメンテナー情報([以下のフィールドを参照](#owner-fields)) | |

161| `plugins` | array | 利用可能なプラグインのリスト | 以下を参照 |171| `plugins` | array | 利用可能なプラグインのリスト | 以下を参照 |

162 172 

163<Note>173<Note>

164 **予約名**:以下のマーケットプレイス名は Anthropic の公式使用のために予約されており、サードパーティのマーケットプレイスでは使用できません`claude-code-marketplace`、`claude-code-plugins`、`claude-plugins-official`、`anthropic-marketplace`、`anthropic-plugins`、`agent-skills`、`anthropic-agent-skills`、`knowledge-work-plugins`、`life-sciences`。公式マーケットプレイスになりすましている名前(`official-claude-plugins` や `anthropic-tools-v2` など)もブロックされています。174 **予約名**:以下のマーケットプレイス名は Anthropic の公式使用のために予約されており、サードパーティのマーケットプレイスでは使用できません`claude-code-marketplace`、`claude-code-plugins`、`claude-plugins-official`、`anthropic-marketplace`、`anthropic-plugins`、`agent-skills`、`anthropic-agent-skills`、`knowledge-work-plugins`、`life-sciences`、`claude-for-legal`、`claude-for-financial-services`、`financial-services-plugins`。公式マーケットプレイスになりすましている名前(`official-claude-plugins` や `anthropic-tools-v2` など)もブロックされています。

165</Note>175</Note>

166 176 

167### 所有者フィールド177<h3 id="owner-fields">

178 所有者フィールド

179</h3>

168 180 

169| フィールド | タイプ | 必須 | 説明 |181| フィールド | タイプ | 必須 | 説明 |

170| :------ | :----- | :-- | :------------- |182| :------ | :----- | :-- | :------------- |

171| `name` | string | はい | メンテナーまたはチームの名前 |183| `name` | string | はい | メンテナーまたはチームの名前 |

172| `email` | string | いいえ | メンテナーの連絡先メール |184| `email` | string | いいえ | メンテナーの連絡先メール |

173 185 

174### オプションフィールド186<h3 id="optional-fields">

187 オプションフィールド

188</h3>

175 189 

176| フィールド | タイプ | 説明 |190| フィールド | タイプ | 説明 |

177| :------------------------------------ | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |191| :------------------------------------ | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


183 197 

184`description` と `version` は後方互換性のため `metadata` の下でも受け入れられます。198`description` と `version` は後方互換性のため `metadata` の下でも受け入れられます。

185 199 

186## プラグインエントリ200<h2 id="plugin-entries">

201 プラグインエントリ

202</h2>

187 203 

188`plugins` 配列内の各プラグインエントリは、プラグインとその場所を説明します。[プラグインマニフェストスキーマ](/ja/plugins-reference#plugin-manifest-schema)のフィールド(`description`、`version`、`author`、`commands`、`hooks` など)を含めることができます。さらに、これらのマーケットプレイス固有のフィールド:`source`、`category`、`tags`、`strict` があります。204`plugins` 配列内の各プラグインエントリは、プラグインとその場所を説明します。[プラグインマニフェストスキーマ](/ja/plugins-reference#plugin-manifest-schema)のフィールド(`description`、`version`、`author`、`commands`、`hooks` など)を含めることができます。さらに、これらのマーケットプレイス固有のフィールド:`source`、`category`、`tags`、`strict` があります。

189 205 

190### 必須フィールド206<h3 id="required-fields">

207 必須フィールド

208</h3>

191 209 

192| フィールド | タイプ | 説明 |210| フィールド | タイプ | 説明 |

193| :------- | :------------- | :------------------------------------------------------------------------------------------------ |211| :------- | :------------- | :------------------------------------------------------------------------------------------------ |

194| `name` | string | プラグイン識別子(ケバブケース、スペースなし)。これは公開向けです。ユーザーはインストール時に表示されます(例:`/plugin install my-plugin@marketplace`)。 |212| `name` | string | プラグイン識別子(ケバブケース、スペースなし)。これは公開向けです。ユーザーはインストール時に表示されます(例:`/plugin install my-plugin@marketplace`)。 |

195| `source` | string\|object | プラグインを取得する場所(以下の[プラグインソース](#plugin-sources)を参照) |213| `source` | string\|object | プラグインを取得する場所(以下の[プラグインソース](#plugin-sources)を参照) |

196 214 

197### オプションプラグインフィールド215<h3 id="optional-plugin-fields">

216 オプションプラグインフィールド

217</h3>

198 218 

199**標準メタデータフィールド:**219**標準メタデータフィールド:**

200 220 

201| フィールド | タイプ | 説明 |221| フィールド | タイプ | 説明 |

202| :------------ | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |222| :--------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

203| `displayName` | string | {/* min-version: 2.1.143 */}UI サーフェスに表示される人間が読める名前。省略された場合は `name` にフォールバックします。スペースと任意の大文字小文字を含めることができます。名前空間指定またはルックアップには使用されません。Claude Code v2.1.143 以降が必要です。 |223| `displayName` | string | {/* min-version: 2.1.143 */}UI サーフェスに表示される人間が読める名前。省略された場合は `name` にフォールバックします。スペースと任意の大文字小文字を含めることができます。名前空間指定またはルックアップには使用されません。Claude Code v2.1.143 以降が必要です。 |

204| `description` | string | プラグインの簡潔な説明 |224| `description` | string | プラグインの簡潔な説明 |

205| `version` | string | プラグインバージョン。設定されている場合(ここまたは `plugin.json` で)、プラグインはこの文字列にピン留めされ、ユーザーは変更時にのみ更新を受け取ります。省略すると、git コミット SHA にフォールバックします。[バージョン解決](#version-resolution-and-release-channels)を参照してください。 |225| `version` | string | プラグインバージョン。設定されている場合(ここまたは `plugin.json` で)、プラグインはこの文字列にピン留めされ、ユーザーは変更時にのみ更新を受け取ります。省略すると、git コミット SHA にフォールバックします。[バージョン解決](#version-resolution-and-release-channels)を参照してください。 |


211| `category` | string | 整理用のプラグインカテゴリ |231| `category` | string | 整理用のプラグインカテゴリ |

212| `tags` | array | 検索可能性用のタグ |232| `tags` | array | 検索可能性用のタグ |

213| `strict` | boolean | `plugin.json` がコンポーネント定義の権限であるかどうかを制御します(デフォルト:true)。以下の[厳密モード](#strict-mode)を参照してください。 |233| `strict` | boolean | `plugin.json` がコンポーネント定義の権限であるかどうかを制御します(デフォルト:true)。以下の[厳密モード](#strict-mode)を参照してください。 |

234| `defaultEnabled` | boolean | {/* min-version: 2.1.154 */}プラグインがインストール後に有効になるかどうか(デフォルト:true)。ユーザーがオプトインするまでプラグインを無効にしてインストールする場合は `false` に設定します。プラグインの `plugin.json` 内の同じフィールドより優先されます。[デフォルト有効化](/ja/plugins-reference#default-enablement)を参照してください。Claude Code v2.1.154 以降が必要です。 |

214 235 

215**コンポーネント設定フィールド:**236**コンポーネント設定フィールド:**

216 237 


223| `mcpServers` | string\|object | MCP サーバー設定または MCP 設定ファイルへのパス |244| `mcpServers` | string\|object | MCP サーバー設定または MCP 設定ファイルへのパス |

224| `lspServers` | string\|object | LSP サーバー設定または LSP 設定ファイルへのパス |245| `lspServers` | string\|object | LSP サーバー設定または LSP 設定ファイルへのパス |

225 246 

226## プラグインソース247<h2 id="plugin-sources">

248 プラグインソース

249</h2>

227 250 

228プラグインソースは、マーケットプレイスに一覧表示されている各個別プラグインを取得する場所を Claude Code に指示します。これらは `marketplace.json` 内の各プラグインエントリの `source` フィールドで設定されます。251プラグインソースは、マーケットプレイスに一覧表示されている各個別プラグインを取得する場所を Claude Code に指示します。これらは `marketplace.json` 内の各プラグインエントリの `source` フィールドで設定されます。

229 252 


246 例えば、`acme-corp/plugin-catalog`(マーケットプレイスソース)でホストされているマーケットプレイスは、`acme-corp/code-formatter`(プラグインソース)から取得されたプラグインを一覧表示できます。マーケットプレイスソースとプラグインソースは異なるリポジトリを指し、独立して固定されます。269 例えば、`acme-corp/plugin-catalog`(マーケットプレイスソース)でホストされているマーケットプレイスは、`acme-corp/code-formatter`(プラグインソース)から取得されたプラグインを一覧表示できます。マーケットプレイスソースとプラグインソースは異なるリポジトリを指し、独立して固定されます。

247</Note>270</Note>

248 271 

249### 相対パス272<h3 id="relative-paths">

273 相対パス

274</h3>

250 275 

251同じリポジトリ内のプラグインの場合、`./` で始まるパスを使用します。276同じリポジトリ内のプラグインの場合、`./` で始まるパスを使用します。

252 277 


263 相対パスは、ユーザーが Git(GitHub、GitLab、または Git URL)経由でマーケットプレイスを追加する場合にのみ機能します。ユーザーが `marketplace.json` ファイルへの直接 URL でマーケットプレイスを追加する場合、相対パスは正しく解決されません。URL ベースの配布の場合は、GitHub、npm、または Git URL ソースを使用してください。詳細については、[トラブルシューティング](#plugins-with-relative-paths-fail-in-url-based-marketplaces)を参照してください。288 相対パスは、ユーザーが Git(GitHub、GitLab、または Git URL)経由でマーケットプレイスを追加する場合にのみ機能します。ユーザーが `marketplace.json` ファイルへの直接 URL でマーケットプレイスを追加する場合、相対パスは正しく解決されません。URL ベースの配布の場合は、GitHub、npm、または Git URL ソースを使用してください。詳細については、[トラブルシューティング](#plugins-with-relative-paths-fail-in-url-based-marketplaces)を参照してください。

264</Note>289</Note>

265 290 

266### GitHub リポジトリ291<h3 id="github-repositories">

292 GitHub リポジトリ

293</h3>

267 294 

268```json theme={null}295```json theme={null}

269{296{


295| `ref` | string | オプション。Git ブランチまたはタグ(デフォルトはリポジトリのデフォルトブランチ) |322| `ref` | string | オプション。Git ブランチまたはタグ(デフォルトはリポジトリのデフォルトブランチ) |

296| `sha` | string | オプション。完全な 40 文字の Git コミット SHA で正確なバージョンに固定 |323| `sha` | string | オプション。完全な 40 文字の Git コミット SHA で正確なバージョンに固定 |

297 324 

298### Git リポジトリ325<h3 id="git-repositories">

326 Git リポジトリ

327</h3>

299 328 

300```json theme={null}329```json theme={null}

301{330{


327| `ref` | string | オプション。Git ブランチまたはタグ(デフォルトはリポジトリのデフォルトブランチ) |356| `ref` | string | オプション。Git ブランチまたはタグ(デフォルトはリポジトリのデフォルトブランチ) |

328| `sha` | string | オプション。完全な 40 文字の Git コミット SHA で正確なバージョンに固定 |357| `sha` | string | オプション。完全な 40 文字の Git コミット SHA で正確なバージョンに固定 |

329 358 

330### Git サブディレクトリ359<h3 id="git-subdirectories">

360 Git サブディレクトリ

361</h3>

331 362 

332`git-subdir` を使用して、Git リポジトリのサブディレクトリ内に存在するプラグインを指します。Claude Code はスパースな部分クローンを使用してサブディレクトリのみを取得し、大規模なモノレポの帯域幅を最小化します。363`git-subdir` を使用して、Git リポジトリのサブディレクトリ内に存在するプラグインを指します。Claude Code はスパースな部分クローンを使用してサブディレクトリのみを取得し、大規模なモノレポの帯域幅を最小化します。

333 364 


366| `ref` | string | オプション。Git ブランチまたはタグ(デフォルトはリポジトリのデフォルトブランチ) |397| `ref` | string | オプション。Git ブランチまたはタグ(デフォルトはリポジトリのデフォルトブランチ) |

367| `sha` | string | オプション。完全な 40 文字の Git コミット SHA で正確なバージョンに固定 |398| `sha` | string | オプション。完全な 40 文字の Git コミット SHA で正確なバージョンに固定 |

368 399 

369### npm パッケージ400<h3 id="npm-packages">

401 npm パッケージ

402</h3>

370 403 

371npm パッケージとして配布されるプラグインは、`npm install` を使用してインストールされます。これは、公開 npm レジストリまたはチームがホストするプライベートレジストリ上の任意のパッケージで機能します。404npm パッケージとして配布されるプラグインは、`npm install` を使用してインストールされます。これは、公開 npm レジストリまたはチームがホストするプライベートレジストリ上の任意のパッケージで機能します。

372 405 


413| `version` | string | オプション。バージョンまたはバージョン範囲(例:`2.1.0`、`^2.0.0`、`~1.5.0`) |446| `version` | string | オプション。バージョンまたはバージョン範囲(例:`2.1.0`、`^2.0.0`、`~1.5.0`) |

414| `registry` | string | オプション。カスタム npm レジストリ URL。デフォルトはシステム npm レジストリ(通常は npmjs.org) |447| `registry` | string | オプション。カスタム npm レジストリ URL。デフォルトはシステム npm レジストリ(通常は npmjs.org) |

415 448 

416### 高度なプラグインエントリ449<h3 id="advanced-plugin-entries">

450 高度なプラグインエントリ

451</h3>

417 452 

418この例は、commands、agents、hooks、MCP サーバーのカスタムパスを含む、多くのオプションフィールドを使用するプラグインエントリを示しています。453この例は、commands、agents、hooks、MCP サーバーのカスタムパスを含む、多くのオプションフィールドを使用するプラグインエントリを示しています。

419 454 


470* **`${CLAUDE_PLUGIN_ROOT}`**:hooks と MCP サーバー設定でこの変数を使用して、プラグインのインストールディレクトリ内のファイルを参照します。プラグインはインストール時にキャッシュロケーションにコピーされるため、これは必要です。永続的なデータまたはプラグイン更新後も保持する必要がある状態については、代わりに [`${CLAUDE_PLUGIN_DATA}`](/ja/plugins-reference#persistent-data-directory) を使用します。505* **`${CLAUDE_PLUGIN_ROOT}`**:hooks と MCP サーバー設定でこの変数を使用して、プラグインのインストールディレクトリ内のファイルを参照します。プラグインはインストール時にキャッシュロケーションにコピーされるため、これは必要です。永続的なデータまたはプラグイン更新後も保持する必要がある状態については、代わりに [`${CLAUDE_PLUGIN_DATA}`](/ja/plugins-reference#persistent-data-directory) を使用します。

471* **`strict: false`**:これが false に設定されているため、プラグインは独自の `plugin.json` を必要としません。マーケットプレイスエントリがすべてを定義します。以下の[厳密モード](#strict-mode)を参照してください。506* **`strict: false`**:これが false に設定されているため、プラグインは独自の `plugin.json` を必要としません。マーケットプレイスエントリがすべてを定義します。以下の[厳密モード](#strict-mode)を参照してください。

472 507 

473### 厳密モード508<h3 id="strict-mode">

509 厳密モード

510</h3>

474 511 

475`strict` フィールドは、`plugin.json` がコンポーネント定義(skills、agents、hooks、MCP サーバー、出力スタイル)の権限であるかどうかを制御します。512`strict` フィールドは、`plugin.json` がコンポーネント定義(skills、agents、hooks、MCP サーバー、出力スタイル)の権限であるかどうかを制御します。

476 513 


484* **`strict: true`**:プラグインは独自の `plugin.json` を持ち、独自のコンポーネントを管理します。マーケットプレイスエントリは上に追加の skills または hooks を追加できます。これはデフォルトで、ほとんどのプラグインで機能します。521* **`strict: true`**:プラグインは独自の `plugin.json` を持ち、独自のコンポーネントを管理します。マーケットプレイスエントリは上に追加の skills または hooks を追加できます。これはデフォルトで、ほとんどのプラグインで機能します。

485* **`strict: false`**:マーケットプレイスオペレーターが完全に制御したい場合。プラグインリポジトリは生ファイルを提供し、マーケットプレイスエントリはそれらのファイルのどれが skills、agents、hooks などとして公開されるかを定義します。マーケットプレイスがプラグイン作成者の意図と異なる方法でプラグインのコンポーネントを再構成またはキュレートする場合に便利です。522* **`strict: false`**:マーケットプレイスオペレーターが完全に制御したい場合。プラグインリポジトリは生ファイルを提供し、マーケットプレイスエントリはそれらのファイルのどれが skills、agents、hooks などとして公開されるかを定義します。マーケットプレイスがプラグイン作成者の意図と異なる方法でプラグインのコンポーネントを再構成またはキュレートする場合に便利です。

486 523 

487## マーケットプレイスのホストと配布524<h2 id="host-and-distribute-marketplaces">

525 マーケットプレイスのホストと配布

526</h2>

488 527 

489### GitHub でホスト(推奨)528<h3 id="host-on-github-recommended">

529 GitHub でホスト(推奨)

530</h3>

490 531 

491GitHub は最も簡単な配布方法を提供します。532GitHub は最も簡単な配布方法を提供します。

492 533 


496 537 

497**メリット**:組み込みバージョン管理、問題追跡、チームコラボレーション機能。538**メリット**:組み込みバージョン管理、問題追跡、チームコラボレーション機能。

498 539 

499### 他の Git サービスでホスト540<h3 id="host-on-other-git-services">

541 他の Git サービスでホスト

542</h3>

500 543 

501GitLab、Bitbucket、自己ホスト型サーバーなど、任意の Git ホスティングサービスが機能します。ユーザーは完全なリポジトリ URL で追加します。544GitLab、Bitbucket、自己ホスト型サーバーなど、任意の Git ホスティングサービスが機能します。ユーザーは完全なリポジトリ URL で追加します。

502 545 


504/plugin marketplace add https://gitlab.com/company/plugins.git547/plugin marketplace add https://gitlab.com/company/plugins.git

505```548```

506 549 

507### プライベートリポジトリ550<h3 id="private-repositories">

551 プライベートリポジトリ

552</h3>

508 553 

509Claude Code はプライベートリポジトリからプラグインをインストールすることをサポートしています。手動インストールと更新の場合、Claude Code は既存の Git 認証情報ヘルパーを使用するため、HTTPS アクセスは `gh auth login`、macOS キーチェーン、または `git-credential-store` 経由で機能し、ターミナルと同じように動作します。SSH アクセスは、ホストが既に `known_hosts` ファイルにあり、キーが `ssh-agent` に読み込まれている限り機能します。Claude Code はホストフィンガープリントとキーパスフレーズの対話的な SSH プロンプトを抑制するためです。554Claude Code はプライベートリポジトリからプラグインをインストールすることをサポートしています。手動インストールと更新の場合、Claude Code は既存の Git 認証情報ヘルパーを使用するため、HTTPS アクセスは `gh auth login`、macOS キーチェーン、または `git-credential-store` 経由で機能し、ターミナルと同じように動作します。SSH アクセスは、ホストが既に `known_hosts` ファイルにあり、キーが `ssh-agent` に読み込まれている限り機能します。Claude Code はホストフィンガープリントとキーパスフレーズの対話的な SSH プロンプトを抑制するためです。

510 555 


526 CI/CD 環境の場合、トークンをシークレット環境変数として設定します。GitHub Actions は同じ組織内のリポジトリに対して `GITHUB_TOKEN` を自動的に提供します。571 CI/CD 環境の場合、トークンをシークレット環境変数として設定します。GitHub Actions は同じ組織内のリポジトリに対して `GITHUB_TOKEN` を自動的に提供します。

527</Note>572</Note>

528 573 

529### 配布前にローカルでテスト574<h3 id="test-locally-before-distribution">

575 配布前にローカルでテスト

576</h3>

530 577 

531共有する前にマーケットプレイスをローカルでテストします。578共有する前にマーケットプレイスをローカルでテストします。

532 579 


537 584 

538add コマンドの完全な範囲(GitHub、Git URL、ローカルパス、リモート URL)については、[マーケットプレイスの追加](/ja/discover-plugins#add-marketplaces)を参照してください。585add コマンドの完全な範囲(GitHub、Git URL、ローカルパス、リモート URL)については、[マーケットプレイスの追加](/ja/discover-plugins#add-marketplaces)を参照してください。

539 586 

540### チーム向けマーケットプレイスの要求587<h3 id="require-marketplaces-for-your-team">

588 チーム向けマーケットプレイスの要求

589</h3>

541 590 

542リポジトリを設定して、チームメンバーがプロジェクトフォルダを信頼するときにマーケットプレイスをインストールするよう自動的に促されるようにできます。マーケットプレイスを `.claude/settings.json` に追加します。591リポジトリを設定して、チームメンバーがプロジェクトフォルダを信頼するときにマーケットプレイスをインストールするよう自動的に促されるようにできます。マーケットプレイスを `.claude/settings.json` に追加します。

543 592 


571 ローカル `directory` または `file` ソースを相対パスで使用する場合、パスはリポジトリのメインチェックアウトに対して解決されます。Git worktrees から Claude Code を実行する場合、パスはメインチェックアウトを指し続けるため、すべての worktrees は同じマーケットプレイスロケーションを共有します。マーケットプレイス状態は、プロジェクトごとではなく、ユーザーごとに 1 回 `~/.claude/plugins/known_marketplaces.json` に保存されます。620 ローカル `directory` または `file` ソースを相対パスで使用する場合、パスはリポジトリのメインチェックアウトに対して解決されます。Git worktrees から Claude Code を実行する場合、パスはメインチェックアウトを指し続けるため、すべての worktrees は同じマーケットプレイスロケーションを共有します。マーケットプレイス状態は、プロジェクトごとではなく、ユーザーごとに 1 回 `~/.claude/plugins/known_marketplaces.json` に保存されます。

572</Note>621</Note>

573 622 

574### コンテナ用にプラグインを事前入力する623<h3 id="pre-populate-plugins-for-containers">

624 コンテナ用にプラグインを事前入力する

625</h3>

575 626 

576コンテナイメージと CI 環境の場合、ビルド時にプラグインディレクトリを事前入力して、Claude Code が実行時にクローンすることなく、マーケットプレイスとプラグインが既に利用可能な状態で起動するようにできます。`CLAUDE_CODE_PLUGIN_SEED_DIR` 環境変数をこのディレクトリを指すように設定します。627コンテナイメージと CI 環境の場合、ビルド時にプラグインディレクトリを事前入力して、Claude Code が実行時にクローンすることなく、マーケットプレイスとプラグインが既に利用可能な状態で起動するようにできます。`CLAUDE_CODE_PLUGIN_SEED_DIR` 環境変数をこのディレクトリを指すように設定します。

577 628 


607* **変更がブロックされます**:シードで管理されているマーケットプレイスに対して `/plugin marketplace remove` または `/plugin marketplace update` を実行すると、管理者にシードイメージを更新するよう指示するガイダンスで失敗します。658* **変更がブロックされます**:シードで管理されているマーケットプレイスに対して `/plugin marketplace remove` または `/plugin marketplace update` を実行すると、管理者にシードイメージを更新するよう指示するガイダンスで失敗します。

608* **設定と構成**:`extraKnownMarketplaces` または `enabledPlugins` がシードに既に存在するマーケットプレイスを宣言している場合、Claude Code はクローンする代わりにシードコピーを使用します。659* **設定と構成**:`extraKnownMarketplaces` または `enabledPlugins` がシードに既に存在するマーケットプレイスを宣言している場合、Claude Code はクローンする代わりにシードコピーを使用します。

609 660 

610### 管理マーケットプレイスの制限661<h3 id="managed-marketplace-restrictions">

662 管理マーケットプレイスの制限

663</h3>

611 664 

612プラグインソースを厳密に制御する必要がある組織の場合、管理者は管理設定の [`strictKnownMarketplaces`](/ja/settings#strictknownmarketplaces) 設定を使用して、ユーザーが追加できるプラグインマーケットプレイスを制限できます。665プラグインソースを厳密に制御する必要がある組織の場合、管理者は管理設定の [`strictKnownMarketplaces`](/ja/settings#strictknownmarketplaces) 設定を使用して、ユーザーが追加できるプラグインマーケットプレイスを制限できます。

613 666 


619| 空配列 `[]` | 完全なロックダウン。ユーザーは新しいマーケットプレイスを追加できません |672| 空配列 `[]` | 完全なロックダウン。ユーザーは新しいマーケットプレイスを追加できません |

620| ソースのリスト | ユーザーはホワイトリストと正確に一致するマーケットプレイスのみを追加できます |673| ソースのリスト | ユーザーはホワイトリストと正確に一致するマーケットプレイスのみを追加できます |

621 674 

622#### 一般的な設定675<h4 id="common-configurations">

676 一般的な設定

677</h4>

623 678 

624すべてのマーケットプレイス追加を無効にする:679すべてのマーケットプレイス追加を無効にする:

625 680 


683 `strictKnownMarketplaces` はユーザーが追加できるものを制限しますが、マーケットプレイスを自動的に登録しません。許可されたマーケットプレイスをユーザーが `/plugin marketplace add` を実行せずに自動的に利用可能にするには、同じ `managed-settings.json` で [`extraKnownMarketplaces`](/ja/settings#extraknownmarketplaces) と組み合わせます。[両方を一緒に使用する](/ja/settings#strictknownmarketplaces)を参照してください。738 `strictKnownMarketplaces` はユーザーが追加できるものを制限しますが、マーケットプレイスを自動的に登録しません。許可されたマーケットプレイスをユーザーが `/plugin marketplace add` を実行せずに自動的に利用可能にするには、同じ `managed-settings.json` で [`extraKnownMarketplaces`](/ja/settings#extraknownmarketplaces) と組み合わせます。[両方を一緒に使用する](/ja/settings#strictknownmarketplaces)を参照してください。

684</Note>739</Note>

685 740 

686#### 制限の仕組み741<h4 id="how-restrictions-work">

742 制限の仕組み

743</h4>

687 744 

688制限はネットワークまたはファイルシステム操作の前にチェックされます。チェックはマーケットプレイス追加時およびプラグインのインストール、更新、リフレッシュ、自動更新時に実行されます。マーケットプレイスがポリシー設定前に追加され、そのソースがホワイトリストと一致しなくなった場合、Claude Code はそこからプラグインをインストールまたは更新することを拒否します。同じ強制が `blockedMarketplaces` に適用されます。745制限はネットワークまたはファイルシステム操作の前にチェックされます。チェックはマーケットプレイス追加時およびプラグインのインストール、更新、リフレッシュ、自動更新時に実行されます。マーケットプレイスがポリシー設定前に追加され、そのソースがホワイトリストと一致しなくなった場合、Claude Code はそこからプラグインをインストールまたは更新することを拒否します。同じ強制が `blockedMarketplaces` に適用されます。

689 746 


700 757 

701完全な設定詳細(サポートされているすべてのソースタイプと `extraKnownMarketplaces` との比較を含む)については、[strictKnownMarketplaces リファレンス](/ja/settings#strictknownmarketplaces)を参照してください。758完全な設定詳細(サポートされているすべてのソースタイプと `extraKnownMarketplaces` との比較を含む)については、[strictKnownMarketplaces リファレンス](/ja/settings#strictknownmarketplaces)を参照してください。

702 759 

703### バージョン解決とリリースチャネル760<h3 id="version-resolution-and-release-channels">

761 バージョン解決とリリースチャネル

762</h3>

704 763 

705プラグインバージョンはキャッシュパスと更新検出を決定します。解決されたバージョンがユーザーが既に持っているものと一致する場合、`/plugin update` と自動更新はプラグインをスキップします。764プラグインバージョンはキャッシュパスと更新検出を決定します。解決されたバージョンがユーザーが既に持っているものと一致する場合、`/plugin update` と自動更新はプラグインをスキップします。

706 765 


718 `plugin.json` とマーケットプレイスエントリの両方で `version` を設定することを避けてください。`plugin.json` の値は常に無言で優先されるため、古いマニフェストバージョンが `marketplace.json` で設定したバージョンをマスクできます。777 `plugin.json` とマーケットプレイスエントリの両方で `version` を設定することを避けてください。`plugin.json` の値は常に無言で優先されるため、古いマニフェストバージョンが `marketplace.json` で設定したバージョンをマスクできます。

719</Warning>778</Warning>

720 779 

721#### リリースチャネルの設定780<h4 id="set-up-release-channels">

781 リリースチャネルの設定

782</h4>

722 783 

723プラグインの「安定」と「最新」リリースチャネルをサポートするには、同じリポジトリの異なる ref または SHA を指す 2 つのマーケットプレイスを設定できます。その後、[管理設定](/ja/settings#settings-files)を通じて 2 つのマーケットプレイスを異なるユーザーグループに割り当てることができます。784プラグインの「安定」と「最新」リリースチャネルをサポートするには、同じリポジトリの異なる ref または SHA を指す 2 つのマーケットプレイスを設定できます。その後、[管理設定](/ja/settings#settings-files)を通じて 2 つのマーケットプレイスを異なるユーザーグループに割り当てることができます。

724 785 


726 各チャネルは異なるバージョンに解決される必要があります。明示的なバージョンを使用する場合、`plugin.json` は各ピンされた ref で異なる `version` を宣言する必要があります。`version` を省略する場合、異なるコミット SHA が既にチャネルを区別しています。2 つの ref が同じバージョン文字列に解決される場合、Claude Code はそれらを同一として扱い、更新をスキップします。787 各チャネルは異なるバージョンに解決される必要があります。明示的なバージョンを使用する場合、`plugin.json` は各ピンされた ref で異なる `version` を宣言する必要があります。`version` を省略する場合、異なるコミット SHA が既にチャネルを区別しています。2 つの ref が同じバージョン文字列に解決される場合、Claude Code はそれらを同一として扱い、更新をスキップします。

727</Warning>788</Warning>

728 789 

729##### 790<h5 id="example">

791

792</h5>

730 793 

731```json theme={null}794```json theme={null}

732{795{


760}823}

761```824```

762 825 

763##### チャネルをユーザーグループに割り当てる826<h5 id="assign-channels-to-user-groups">

827 チャネルをユーザーグループに割り当てる

828</h5>

764 829 

765管理設定を通じて各マーケットプレイスを適切なユーザーグループに割り当てます。例えば、安定グループは以下を受け取ります。830管理設定を通じて各マーケットプレイスを適切なユーザーグループに割り当てます。例えば、安定グループは以下を受け取ります。

766 831 


792}857}

793```858```

794 859 

795#### プラグイン依存関係バージョンをピンする860<h4 id="pin-dependency-versions">

861 プラグイン依存関係バージョンをピンする

862</h4>

796 863 

797プラグインは依存関係を semver 範囲に制限して、依存関係の更新が依存プラグインを破壊しないようにできます。`{plugin-name}--v{version}` Git タグ規約、範囲構文、および同じ依存関係に対する複数の制約がどのように組み合わされるかについては、[プラグイン依存関係バージョンを制限する](/ja/plugin-dependencies)を参照してください。864プラグインは依存関係を semver 範囲に制限して、依存関係の更新が依存プラグインを破壊しないようにできます。`{plugin-name}--v{version}` Git タグ規約、範囲構文、および同じ依存関係に対する複数の制約がどのように組み合わされるかについては、[プラグイン依存関係バージョンを制限する](/ja/plugin-dependencies)を参照してください。

798 865 

799## 検証とテスト866<h2 id="validation-and-testing">

867 検証とテスト

868</h2>

800 869 

801共有する前にマーケットプレイスをテストします。870共有する前にマーケットプレイスをテストします。

802 871 


826 895 

827完全なプラグインテストワークフローについては、[プラグインをローカルでテスト](/ja/plugins#test-your-plugins-locally)を参照してください。技術的なトラブルシューティングについては、[プラグインリファレンス](/ja/plugins-reference)を参照してください。896完全なプラグインテストワークフローについては、[プラグインをローカルでテスト](/ja/plugins#test-your-plugins-locally)を参照してください。技術的なトラブルシューティングについては、[プラグインリファレンス](/ja/plugins-reference)を参照してください。

828 897 

829## CLI からマーケットプレイスを管理する898<h2 id="manage-marketplaces-from-the-cli">

899 CLI からマーケットプレイスを管理する

900</h2>

830 901 

831Claude Code は、スクリプトと自動化のための非対話的な `claude plugin marketplace` サブコマンドを提供します。これらは、対話的なセッション内で利用可能な `/plugin marketplace` コマンドと同等です。902Claude Code は、スクリプトと自動化のための非対話的な `claude plugin marketplace` サブコマンドを提供します。これらは、対話的なセッション内で利用可能な `/plugin marketplace` コマンドと同等です。

832 903 

833### プラグインマーケットプレイス追加904<h3 id="plugin-marketplace-add">

905 プラグインマーケットプレイス追加

906</h3>

834 907 

835GitHub リポジトリ、Git URL、リモート URL、またはローカルパスからマーケットプレイスを追加します。908GitHub リポジトリ、Git URL、リモート URL、またはローカルパスからマーケットプレイスを追加します。

836 909 


891claude plugin marketplace add acme-corp/monorepo --sparse .claude-plugin plugins964claude plugin marketplace add acme-corp/monorepo --sparse .claude-plugin plugins

892```965```

893 966 

894### プラグインマーケットプレイスリスト967<h3 id="plugin-marketplace-list">

968 プラグインマーケットプレイスリスト

969</h3>

895 970 

896設定されたすべてのマーケットプレイスをリストします。971設定されたすべてのマーケットプレイスをリストします。

897 972 


905| :------- | :--------- |980| :------- | :--------- |

906| `--json` | JSON として出力 |981| `--json` | JSON として出力 |

907 982 

908### プラグインマーケットプレイス削除983`--json` を使用すると、各エントリには `name`、`source`、およびソース固有のフィールドが含まれます:GitHub ソースの場合は `repo`、Git および URL ソースの場合は `url`、ローカルソースの場合は `path`。GitHub および Git ソースには、マーケットプレイスが固定されたブランチまたはタグで追加された場合、`ref` フィールドも含まれます。

984 

985<h3 id="plugin-marketplace-remove">

986 プラグインマーケットプレイス削除

987</h3>

909 988 

910設定されたマーケットプレイスを削除します。エイリアス `rm` も受け入れられます。989設定されたマーケットプレイスを削除します。エイリアス `rm` も受け入れられます。

911 990 

912```bash theme={null}991```bash theme={null}

913claude plugin marketplace remove <name>992claude plugin marketplace remove <name> [options]

914```993```

915 994 

916**引数:**995**引数:**

917 996 

918* `<name>`:削除するマーケットプレイス名。`claude plugin marketplace list` で表示されます。これは渡したソースではなく、`marketplace.json` の `name` です997* `<name>`:削除するマーケットプレイス名。`claude plugin marketplace list` で表示されます。これは渡したソースではなく、`marketplace.json` の `name` です

919 998 

999**オプション:**

1000 

1001| オプション | 説明 | デフォルト |

1002| :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |

1003| `--scope <scope>` | 削除を単一の設定スコープに制限します:`user`、`project`、または `local`。[プラグインインストールスコープ](/ja/plugins-reference#plugin-installation-scopes)を参照してください。省略した場合、宣言はすべての編集可能なスコープから削除されます。指定した場合、そのスコープの宣言のみが削除されます。マーケットプレイスが別のスコープで引き続き宣言されている場合、共有状態、キャッシュ、およびインストール済みプラグインデータは保持されます | (すべてのスコープ) |

1004 

920<Warning>1005<Warning>

921 マーケットプレイスを削除すると、そこからインストールしたプラグインもアンインストールされます。インストール済みプラグインを失わずにマーケットプレイスを更新するには、`claude plugin marketplace update` を使用してください。1006 マーケットプレイスを最後に残ったスコープから削除すると、そこからインストールしたプラグインもアンインストールされます。インストール済みプラグインを失わずにマーケットプレイスを更新するには、`claude plugin marketplace update` を使用してください。

922</Warning>1007</Warning>

923 1008 

924### プラグインマーケットプレイス更新1009<h3 id="plugin-marketplace-update">

1010 プラグインマーケットプレイス更新

1011</h3>

925 1012 

926マーケットプレイスをソースから更新して、新しいプラグインとバージョン変更を取得します。1013マーケットプレイスをソースから更新して、新しいプラグインとバージョン変更を取得します。

927 1014 


935 1022 

936`remove` と `update` の両方は、読み取り専用のシード管理マーケットプレイスに対して実行すると失敗します。すべてのマーケットプレイスを更新する場合、シード管理エントリはスキップされ、他のマーケットプレイスは引き続き更新されます。シード提供プラグインを変更するには、管理者にシードイメージを更新するよう依頼してください。[コンテナ用にプラグインを事前入力する](#pre-populate-plugins-for-containers)を参照してください。1023`remove` と `update` の両方は、読み取り専用のシード管理マーケットプレイスに対して実行すると失敗します。すべてのマーケットプレイスを更新する場合、シード管理エントリはスキップされ、他のマーケットプレイスは引き続き更新されます。シード提供プラグインを変更するには、管理者にシードイメージを更新するよう依頼してください。[コンテナ用にプラグインを事前入力する](#pre-populate-plugins-for-containers)を参照してください。

937 1024 

938## トラブルシューティング1025<h2 id="troubleshooting">

1026 トラブルシューティング

1027</h2>

939 1028 

940### マーケットプレイスが読み込まれない1029<h3 id="marketplace-not-loading">

1030 マーケットプレイスが読み込まれない

1031</h3>

941 1032 

942**症状**:マーケットプレイスを追加できない、またはそこからプラグインが表示されない1033**症状**:マーケットプレイスを追加できない、またはそこからプラグインが表示されない

943 1034 


945 1036 

946* マーケットプレイス URL がアクセス可能であることを確認します1037* マーケットプレイス URL がアクセス可能であることを確認します

947* `.claude-plugin/marketplace.json` が指定されたパスに存在することを確認します1038* `.claude-plugin/marketplace.json` が指定されたパスに存在することを確認します

948* `claude plugin validate` または `/plugin validate` を使用して JSON 構文が有効であることを確認します1039* `claude plugin validate` または `/plugin validate` を使用して JSON 構文が有効であることを確認します。skill、agent、command frontmatter をチェックするには、各プラグインディレクトリに対してコマンドを実行します

949* プライベートリポジトリの場合、アクセス権限があることを確認します1040* プライベートリポジトリの場合、アクセス権限があることを確認します

950 1041 

951### マーケットプレイス検証エラー1042<h3 id="marketplace-validation-errors">

1043 マーケットプレイス検証エラー

1044</h3>

1045 

1046マーケットプレイスディレクトリから `claude plugin validate .` または `/plugin validate .` を実行して、問題をチェックします。マーケットプレイスディレクトリを指定した場合、バリデーターは `marketplace.json` のみをチェックします:スキーマ、重複するプラグイン名、ソースパストラバーサル、および各参照される `plugin.json` に対するバージョン不一致。

952 1047 

953マーケットプレイスディレクトリから `claude plugin validate .` または `/plugin validate .` を実行して問題をチェックしますバリデーターは `plugin.json`、skill/agent/command frontmatter、および `hooks/hooks.json` の構文とスキーマエラーをチェックします。一般的なエラー:1048個別のプラグインの `plugin.json` およびその skill、agent、command、hook ファイルを検証するにはプラグインディレクトリ自体に対してコマンドを実行します例えば `claude plugin validate ./plugins/my-plugin`。一般的なエラー:

954 1049 

955| エラー | 原因 | 解決策 |1050| エラー | 原因 | 解決策 |

956| :------------------------------------------------ | :---------------------------------- | :--------------------------------------------------------------------- |1051| :------------------------------------------------ | :---------------------------------- | :------------------------------------------------------------------------------------ |

957| `File not found: .claude-plugin/marketplace.json` | マニフェストが見つかりません | 必須フィールドを含む `.claude-plugin/marketplace.json` を作成します |1052| `File not found: .claude-plugin/marketplace.json` | マニフェストが見つかりません | 必須フィールドを含む `.claude-plugin/marketplace.json` を作成します |

958| `Invalid JSON syntax: Unexpected token...` | JSON 構文エラー | コンマの欠落、余分なコンマ、または引用符なしの文字列をチェックします |1053| `Invalid JSON syntax: Unexpected token...` | marketplace.json の JSON 構文エラー | コンマの欠落、余分なコンマ、または引用符なしの文字列をチェックします |

959| `Duplicate plugin name "x" found in marketplace` | 2 つのプラグインが同じ名前を共有しています | 各プラグインに一意の `name` 値を指定します |1054| `Duplicate plugin name "x" found in marketplace` | 2 つのプラグインが同じ名前を共有しています | 各プラグインに一意の `name` 値を指定します |

960| `plugins[0].source: Path contains ".."` | ソースパスに `..` が含まれています | マーケットプレイスルートに相対的なパスを使用し、`..` なしで使用します。[相対パス](#relative-paths)を参照してください |1055| `plugins[0].source: Path contains ".."` | ソースパスに `..` が含まれています | マーケットプレイスルートに相対的なパスを使用し、`..` なしで使用します。[相対パス](#relative-paths)を参照してください |

961| `YAML frontmatter failed to parse: ...` | skill、agent、またはコマンドファイルの YAML が無効です | frontmatter ブロックの YAML 構文を修正します。実行時にこのファイルはメタデータなしで読み込まれます。 |1056| `YAML frontmatter failed to parse: ...` | skill、agent、またはコマンドファイルの YAML が無効です | frontmatter ブロックの YAML 構文を修正します。実行時にこのファイルはメタデータなしで読み込まれます。プラグインディレクトリを検証する場合のみ報告されます |

962| `Invalid JSON syntax: ...`(hooks.json) | 不正な形式の `hooks/hooks.json` | JSON 構文を修正します。不正な形式の `hooks/hooks.json` はプラグイン全体の読み込みを防ぎます。 |1057| `Invalid JSON syntax: ...`(hooks.json) | 不正な形式の `hooks/hooks.json` | JSON 構文を修正します。不正な形式の `hooks/hooks.json` はプラグイン全体の読み込みを防ぎます。プラグインディレクトリを検証する場合のみ報告されます |

963 1058 

964**警告**(ブロッキングなし):1059**警告**(ブロッキングなし):

965 1060 


967* `No marketplace description provided`:ユーザーがマーケットプレイスを理解するのに役立つように、トップレベルの `description` を追加します1062* `No marketplace description provided`:ユーザーがマーケットプレイスを理解するのに役立つように、トップレベルの `description` を追加します

968* `Plugin name "x" is not kebab-case`:プラグイン名に大文字、スペース、または特殊文字が含まれています。小文字、数字、ハイフンのみに名前を変更します(例:`my-plugin`)。Claude Code は他の形式を受け入れますが、Claude.ai マーケットプレイス同期はそれらを拒否します。1063* `Plugin name "x" is not kebab-case`:プラグイン名に大文字、スペース、または特殊文字が含まれています。小文字、数字、ハイフンのみに名前を変更します(例:`my-plugin`)。Claude Code は他の形式を受け入れますが、Claude.ai マーケットプレイス同期はそれらを拒否します。

969 1064 

970### プラグインインストール失敗1065<h3 id="plugin-installation-failures">

1066 プラグインインストール失敗

1067</h3>

971 1068 

972**症状**:マーケットプレイスは表示されますが、プラグインインストールが失敗します1069**症状**:マーケットプレイスは表示されますが、プラグインインストールが失敗します

973 1070 


978* GitHub ソースの場合、リポジトリが公開されているか、アクセス権限があることを確認します1075* GitHub ソースの場合、リポジトリが公開されているか、アクセス権限があることを確認します

979* プラグインソースを手動でクローン/ダウンロードしてテストします1076* プラグインソースを手動でクローン/ダウンロードしてテストします

980 1077 

981### プライベートリポジトリ認証が失敗する1078<h3 id="private-repository-authentication-fails">

1079 プライベートリポジトリ認証が失敗する

1080</h3>

982 1081 

983**症状**:プライベートリポジトリからプラグインをインストールするときに認証エラーが発生します1082**症状**:プライベートリポジトリからプラグインをインストールするときに認証エラーが発生します

984 1083 


998* GitLab の場合、トークンが少なくとも `read_repository` スコープを持つことを確認します1097* GitLab の場合、トークンが少なくとも `read_repository` スコープを持つことを確認します

999* トークンが期限切れになっていないことを確認します1098* トークンが期限切れになっていないことを確認します

1000 1099 

1001### オフライン環境でマーケットプレイス更新が失敗する1100<h3 id="marketplace-updates-fail-in-offline-environments">

1101 オフライン環境でマーケットプレイス更新が失敗する

1102</h3>

1002 1103 

1003**症状**:マーケットプレイス `git pull` が失敗し、Claude Code が既存のキャッシュをワイプするため、プラグインが利用不可になります。1104**症状**:マーケットプレイス `git pull` が失敗し、Claude Code が既存のキャッシュをワイプするため、プラグインが利用不可になります。

1004 1105 


1012 1113 

1013この変数を設定すると、Claude Code は `git pull` 失敗時に古いマーケットプレイスクローンを保持し、最後の既知の良好な状態を使用し続けます。リポジトリに到達できないオフライン展開の場合は、代わりに [`CLAUDE_CODE_PLUGIN_SEED_DIR`](#pre-populate-plugins-for-containers) を使用してビルド時にプラグインディレクトリを事前入力します。1114この変数を設定すると、Claude Code は `git pull` 失敗時に古いマーケットプレイスクローンを保持し、最後の既知の良好な状態を使用し続けます。リポジトリに到達できないオフライン展開の場合は、代わりに [`CLAUDE_CODE_PLUGIN_SEED_DIR`](#pre-populate-plugins-for-containers) を使用してビルド時にプラグインディレクトリを事前入力します。

1014 1115 

1015### Git 操作がタイムアウトする1116<h3 id="git-operations-time-out">

1117 Git 操作がタイムアウトする

1118</h3>

1016 1119 

1017**症状**:プラグインインストールまたはマーケットプレイス更新が「Git clone timed out after 120s」または「Git pull timed out after 120s」などのタイムアウトエラーで失敗します。1120**症状**:プラグインインストールまたはマーケットプレイス更新が「Git clone timed out after 120s」または「Git pull timed out after 120s」などのタイムアウトエラーで失敗します。

1018 1121 


1024export CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS=300000 # 5 分1127export CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS=300000 # 5 分

1025```1128```

1026 1129 

1027### 相対パスを持つプラグインが URL ベースのマーケットプレイスで失敗する1130<h3 id="plugins-with-relative-paths-fail-in-url-based-marketplaces">

1131 相対パスを持つプラグインが URL ベースのマーケットプレイスで失敗する

1132</h3>

1028 1133 

1029**症状**:URL(`https://example.com/marketplace.json` など)経由でマーケットプレイスを追加しましたが、`"./plugins/my-plugin"` のような相対パスソースを持つプラグインが「path not found」エラーでインストールに失敗します。1134**症状**:URL(`https://example.com/marketplace.json` など)経由でマーケットプレイスを追加しましたが、`"./plugins/my-plugin"` のような相対パスソースを持つプラグインが「path not found」エラーでインストールに失敗します。

1030 1135 


1038 ```1143 ```

1039* **Git ベースのマーケットプレイスを使用**:マーケットプレイスを Git リポジトリでホストし、Git URL で追加します。Git ベースのマーケットプレイスはリポジトリ全体をクローンするため、相対パスが正しく機能します。1144* **Git ベースのマーケットプレイスを使用**:マーケットプレイスを Git リポジトリでホストし、Git URL で追加します。Git ベースのマーケットプレイスはリポジトリ全体をクローンするため、相対パスが正しく機能します。

1040 1145 

1041### インストール後にファイルが見つからない1146<h3 id="files-not-found-after-installation">

1147 インストール後にファイルが見つからない

1148</h3>

1042 1149 

1043**症状**:プラグインはインストールされますが、ファイルへの参照が失敗します。特に、プラグインディレクトリの外部のファイル1150**症状**:プラグインはインストールされますが、ファイルへの参照が失敗します。特に、プラグインディレクトリの外部のファイル

1044 1151 


1048 1155 

1049追加のデバッグツールと一般的な問題については、[デバッグと開発ツール](/ja/plugins-reference#debugging-and-development-tools)を参照してください。1156追加のデバッグツールと一般的な問題については、[デバッグと開発ツール](/ja/plugins-reference#debugging-and-development-tools)を参照してください。

1050 1157 

1051## 関連項目1158<h2 id="see-also">

1159 関連項目

1160</h2>

1052 1161 

1053* [既成プラグインの検出とインストール](/ja/discover-plugins) - 既存のマーケットプレイスからプラグインをインストール1162* [既成プラグインの検出とインストール](/ja/discover-plugins) - 既存のマーケットプレイスからプラグインをインストール

1054* [プラグイン](/ja/plugins) - 独自のプラグインの作成1163* [プラグイン](/ja/plugins) - 独自のプラグインの作成

plugins.md +93 −26

Details

10 10 

11既存のプラグインをインストールしたいですか?[プラグインを検出してインストールする](/ja/discover-plugins)を参照してください。完全な技術仕様については、[プラグインリファレンス](/ja/plugins-reference)を参照してください。11既存のプラグインをインストールしたいですか?[プラグインを検出してインストールする](/ja/discover-plugins)を参照してください。完全な技術仕様については、[プラグインリファレンス](/ja/plugins-reference)を参照してください。

12 12 

13## プラグインとスタンドアロン設定を使い分ける13<h2 id="when-to-use-plugins-vs-standalone-configuration">

14 プラグインとスタンドアロン設定を使い分ける

15</h2>

14 16 

15Claude Code では、カスタムスキル、エージェント、フックを追加する 2 つの方法をサポートしています。17Claude Code では、カスタムスキル、エージェント、フックを追加する 2 つの方法をサポートしています。

16 18 

17| アプローチ | スキル名 | 最適な用途 |19| アプローチ | スキル名 | 最適な用途 |

18| :------------------------------------------------ | :------------------- | :--------------------------------------------------- |20| :------------------------------------------------------------------------------ | :------------------- | :--------------------------------------------------- |

19| **スタンドアロン**(`.claude/` ディレクトリ) | `/hello` | 個人的なワークフロー、プロジェクト固有のカスタマイズ、クイック実験 |21| **スタンドアロン**(`.claude/` ディレクトリ) | `/hello` | 個人的なワークフロー、プロジェクト固有のカスタマイズ、クイック実験 |

20| **プラグイン**(`.claude-plugin/plugin.json` を含むディレクトリ) | `/plugin-name:hello` | チームメンバーとの共有、コミュニティへの配布、バージョン管理されたリリース、プロジェクト全体で再利用可能 |22| **プラグイン**(スキル、エージェント、フック、または `.claude-plugin/plugin.json` マニフェストを含む自己完結型ディレクトリ) | `/plugin-name:hello` | チームメンバーとの共有、コミュニティへの配布、バージョン管理されたリリース、プロジェクト全体で再利用可能 |

21 23 

22**スタンドアロン設定を使用する場合**:24**スタンドアロン設定を使用する場合**:

23 25 


38 `.claude/` でスタンドアロン設定を使用してクイック反復を行い、共有する準備ができたら[既存の設定をプラグインに変換](#convert-existing-configurations-to-plugins)してください。40 `.claude/` でスタンドアロン設定を使用してクイック反復を行い、共有する準備ができたら[既存の設定をプラグインに変換](#convert-existing-configurations-to-plugins)してください。

39</Tip>41</Tip>

40 42 

41## クイックスタート43<h2 id="quickstart">

44 クイックスタート

45</h2>

42 46 

43このクイックスタートでは、カスタムスキルを使用してプラグインを作成する手順を説明します。マニフェスト(プラグインを定義する設定ファイル)を作成し、スキルを追加して、`--plugin-dir` フラグを使用してローカルでテストします。47このクイックスタートでは、カスタムスキルを使用してプラグインを作成する手順を説明します。マニフェスト(プラグインを定義する設定ファイル)を作成し、スキルを追加して、`--plugin-dir` フラグを使用してローカルでテストします。

44 48 

45### 前提条件49<h3 id="prerequisites">

50 前提条件

51</h3>

46 52 

47* Claude Code [インストール済みで認証済み](/ja/quickstart#step-1-install-claude-code)53* Claude Code [インストール済みで認証済み](/ja/quickstart#step-1-install-claude-code)

48 54 


50 `/plugin` コマンドが表示されない場合は、Claude Code を最新バージョンに更新してください。アップグレード手順については、[トラブルシューティング](/ja/troubleshooting)を参照してください。56 `/plugin` コマンドが表示されない場合は、Claude Code を最新バージョンに更新してください。アップグレード手順については、[トラブルシューティング](/ja/troubleshooting)を参照してください。

51</Note>57</Note>

52 58 

53### 最初のプラグインを作成する59<h3 id="create-your-first-plugin">

60 最初のプラグインを作成する

61</h3>

54 62 

55<Steps>63<Steps>

56 <Step title="プラグインディレクトリを作成する">64 <Step title="プラグインディレクトリを作成する">

57 すべてのプラグインは、マニフェストとスキル、エージェント、またはフックを含む独自のディレクトリに存在します。今すぐ作成してください。65 すべてのプラグインは、スキル、エージェント、またはフックを含む独自のディレクトリに存在し、オプションで `.claude-plugin/plugin.json` マニフェストと一緒に配置されます。今すぐ作成してください。

58 66 

59 ```bash theme={null}67 ```bash theme={null}

60 mkdir my-first-plugin68 mkdir my-first-plugin


171 `--plugin-dir` フラグは開発とテストに役立ちます。プラグインを他のユーザーと共有する準備ができたら、[プラグインマーケットプレイスを作成して配布する](/ja/plugin-marketplaces)を参照してください。179 `--plugin-dir` フラグは開発とテストに役立ちます。プラグインを他のユーザーと共有する準備ができたら、[プラグインマーケットプレイスを作成して配布する](/ja/plugin-marketplaces)を参照してください。

172</Tip>180</Tip>

173 181 

174## プラグイン構造の概要182<h2 id="develop-a-plugin-in-your-skills-directory">

183 スキルディレクトリでプラグインを開発する

184</h2>

185 

186毎回起動時に `--plugin-dir` を渡す代わりに、スキルディレクトリにプラグインを保持して、Claude Code に自動的に読み込ませることができます。`claude plugin init` がスキャフォルドします。

187 

188```bash theme={null}

189claude plugin init my-tool

190```

191 

192これにより、`.claude-plugin/plugin.json` マニフェストとスターター `SKILL.md` を含む `~/.claude/skills/my-tool/` が作成されます。次のセッションでは、マーケットプレイスやインストール手順なしで `my-tool@skills-dir` として読み込まれます。

193 

194自動読み込みルール、個人スコープ対プロジェクトスコープ、ワークスペース信頼要件、および更新または削除方法については、[スキルディレクトリプラグイン](/ja/plugins-reference#skills-directory-plugins)を参照してください。

195 

196<h2 id="plugin-structure-overview">

197 プラグイン構造の概要

198</h2>

175 199 

176スキルを使用してプラグインを作成しましたが、プラグインにはさらに多くの機能を含めることができます。カスタムエージェント、フック、MCP サーバー、LSP サーバー、バックグラウンドモニターです。200スキルを使用してプラグインを作成しましたが、プラグインにはさらに多くの機能を含めることができます。カスタムエージェント、フック、MCP サーバー、LSP サーバー、バックグラウンドモニターです。

177 201 


196 **次のステップ**:さらに多くの機能を追加する準備ができましたか?[より複雑なプラグインを開発する](#develop-more-complex-plugins)にジャンプして、エージェント、フック、MCP サーバー、LSP サーバーを追加してください。すべてのプラグインコンポーネントの完全な技術仕様については、[プラグインリファレンス](/ja/plugins-reference)を参照してください。220 **次のステップ**:さらに多くの機能を追加する準備ができましたか?[より複雑なプラグインを開発する](#develop-more-complex-plugins)にジャンプして、エージェント、フック、MCP サーバー、LSP サーバーを追加してください。すべてのプラグインコンポーネントの完全な技術仕様については、[プラグインリファレンス](/ja/plugins-reference)を参照してください。

197</Note>221</Note>

198 222 

199## より複雑なプラグインを開発する223<h2 id="develop-more-complex-plugins">

224 より複雑なプラグインを開発する

225</h2>

200 226 

201基本的なプラグインに慣れたら、より高度な拡張機能を作成できます。227基本的なプラグインに慣れたら、より高度な拡張機能を作成できます。

202 228 

203### プラグインにスキルを追加する229<h3 id="add-skills-to-your-plugin">

230 プラグインにスキルを追加する

231</h3>

204 232 

205プラグインには、Claude の機能を拡張する[エージェントスキル](/ja/skills)を含めることができます。スキルはモデル呼び出し型です。Claude はタスクコンテキストに基づいて自動的にそれらを使用します。233プラグインには、Claude の機能を拡張する[エージェントスキル](/ja/skills)を含めることができます。スキルはモデル呼び出し型です。Claude はタスクコンテキストに基づいて自動的にそれらを使用します。

206 234 


231 259 

232プラグインをインストールした後、`/reload-plugins` を実行してスキルを読み込みます。段階的な開示とツール制限を含む完全なスキル作成ガイダンスについては、[エージェントスキル](/ja/skills)を参照してください。260プラグインをインストールした後、`/reload-plugins` を実行してスキルを読み込みます。段階的な開示とツール制限を含む完全なスキル作成ガイダンスについては、[エージェントスキル](/ja/skills)を参照してください。

233 261 

234### プラグインに LSP サーバーを追加する262<h3 id="add-lsp-servers-to-your-plugin">

263 プラグインに LSP サーバーを追加する

264</h3>

235 265 

236<Tip>266<Tip>

237 TypeScript、Python、Rust などの一般的な言語については、公式マーケットプレイスから事前構築された LSP プラグインをインストールしてください。既に対応されていない言語のサポートが必要な場合にのみ、カスタム LSP プラグインを作成してください。267 TypeScript、Python、Rust などの一般的な言語については、公式マーケットプレイスから事前構築された LSP プラグインをインストールしてください。既に対応されていない言語のサポートが必要な場合にのみ、カスタム LSP プラグインを作成してください。


255 285 

256完全な LSP 設定オプションについては、[LSP サーバー](/ja/plugins-reference#lsp-servers)を参照してください。286完全な LSP 設定オプションについては、[LSP サーバー](/ja/plugins-reference#lsp-servers)を参照してください。

257 287 

258### プラグインにバックグラウンドモニターを追加する288<h3 id="add-background-monitors-to-your-plugin">

289 プラグインにバックグラウンドモニターを追加する

290</h3>

259 291 

260バックグラウンドモニターを使用すると、プラグインはログ、ファイル、または外部ステータスをバックグラウンドで監視し、イベントが到着したときに Claude に通知できます。Claude Code はプラグインがアクティブな場合、各モニターを自動的に開始するため、Claude にモニターの開始を指示する必要はありません。292バックグラウンドモニターを使用すると、プラグインはログ、ファイル、または外部ステータスをバックグラウンドで監視し、イベントが到着したときに Claude に通知できます。Claude Code はプラグインがアクティブな場合、各モニターを自動的に開始するため、Claude にモニターの開始を指示する必要はありません。

261 293 


273 305 

274`command` からの各 stdout 行は、セッション中に Claude への通知として配信されます。`when` トリガーと変数置換を含む完全なスキーマについては、[モニター](/ja/plugins-reference#monitors)を参照してください。306`command` からの各 stdout 行は、セッション中に Claude への通知として配信されます。`when` トリガーと変数置換を含む完全なスキーマについては、[モニター](/ja/plugins-reference#monitors)を参照してください。

275 307 

276### プラグインでデフォルト設定を配布する308<h3 id="ship-default-settings-with-your-plugin">

309 プラグインでデフォルト設定を配布する

310</h3>

277 311 

278プラグインは、プラグインルートに `settings.json` ファイルを含めて、プラグインが有効になったときにデフォルト設定を適用できます。現在、`agent` と `subagentStatusLine` キーのみがサポートされています。312プラグインは、プラグインルートに `settings.json` ファイルを含めて、プラグインが有効になったときにデフォルト設定を適用できます。現在、`agent` と `subagentStatusLine` キーのみがサポートされています。

279 313 


287 321 

288この例は、プラグインの `agents/` ディレクトリで定義された `security-reviewer` エージェントをアクティブにします。`settings.json` の設定は、`plugin.json` で宣言された `settings` よりも優先されます。不明なキーは無視されます。322この例は、プラグインの `agents/` ディレクトリで定義された `security-reviewer` エージェントをアクティブにします。`settings.json` の設定は、`plugin.json` で宣言された `settings` よりも優先されます。不明なキーは無視されます。

289 323 

290### 複雑なプラグインを整理する324<h3 id="organize-complex-plugins">

325 複雑なプラグインを整理する

326</h3>

291 327 

292多くのコンポーネントを持つプラグインの場合、ディレクトリ構造を機能別に整理してください。完全なディレクトリレイアウトと整理パターンについては、[プラグインディレクトリ構造](/ja/plugins-reference#plugin-directory-structure)を参照してください。328多くのコンポーネントを持つプラグインの場合、ディレクトリ構造を機能別に整理してください。完全なディレクトリレイアウトと整理パターンについては、[プラグインディレクトリ構造](/ja/plugins-reference#plugin-directory-structure)を参照してください。

293 329 

294### プラグインをローカルでテストする330<h3 id="test-your-plugins-locally">

331 プラグインをローカルでテストする

332</h3>

295 333 

296開発中にプラグインをテストするには、`--plugin-dir` フラグを使用してください。これにより、インストールを必要とせずにプラグインが直接読み込まれます。334開発中にプラグインをテストするには、`--plugin-dir` フラグを使用してください。これにより、インストールを必要とせずにプラグインが直接読み込まれます。

297 335 


335claude --plugin-url "https://example.com/my-plugin.zip https://example.com/other.zip"373claude --plugin-url "https://example.com/my-plugin.zip https://example.com/other.zip"

336```374```

337 375 

338### プラグインの問題をデバッグする376<h3 id="debug-plugin-issues">

377 プラグインの問題をデバッグする

378</h3>

339 379 

340プラグインが期待どおりに機能しない場合:380プラグインが期待どおりに機能しない場合:

341 381 


3432. **コンポーネントを個別にテストする**:各スキル、エージェント、フックを個別に確認してください3832. **コンポーネントを個別にテストする**:各スキル、エージェント、フックを個別に確認してください

3443. **検証とデバッグツールを使用する**:CLI コマンドとトラブルシューティング技術については、[デバッグと開発ツール](/ja/plugins-reference#debugging-and-development-tools)を参照してください3843. **検証とデバッグツールを使用する**:CLI コマンドとトラブルシューティング技術については、[デバッグと開発ツール](/ja/plugins-reference#debugging-and-development-tools)を参照してください

345 385 

346### プラグインを共有する386<h3 id="share-your-plugins">

387 プラグインを共有する

388</h3>

347 389 

348プラグインを共有する準備ができたら:390プラグインを共有する準備ができたら:

349 391 


354 396 

355プラグインがマーケットプレイスに登録されたら、他のユーザーは[プラグインを検出してインストールする](/ja/discover-plugins)の指示を使用してインストールできます。プラグインをチーム内に保つには、[プライベートリポジトリ](/ja/plugin-marketplaces#private-repositories)でマーケットプレイスをホストしてください。397プラグインがマーケットプレイスに登録されたら、他のユーザーは[プラグインを検出してインストールする](/ja/discover-plugins)の指示を使用してインストールできます。プラグインをチーム内に保つには、[プライベートリポジトリ](/ja/plugin-marketplaces#private-repositories)でマーケットプレイスをホストしてください。

356 398 

357### プラグインを公式マーケットプレイスに送信する399<h3 id="submit-your-plugin-to-the-community-marketplace">

400 プラグインをコミュニティマーケットプレイスに送信する

401</h3>

402 

403Anthropic は Claude Code プラグイン用に 2 つの公開マーケットプレイスを管理しています。

404 

405* **`claude-plugins-official`**:Anthropic によって管理されているキュレーションされたプラグインセット。すべての Claude Code インストールで自動的に利用可能です。

406* **`claude-community`**:レビュー後にサードパーティの送信が登録される公開コミュニティマーケットプレイス。ユーザーは `/plugin marketplace add anthropics/claude-plugins-community` で追加し、`@claude-community` としてインストールします。

358 407 

359プラグインを公式 Anthropic マーケットプレイスに送信するにはアプリ内送信フォームの 1 つを使用してください。408プラグインをコミュニティマーケットプレイスレビュー用に送信するにはアプリ内フォームの 1 つを使用してください。

360 409 

361* **Claude.ai**:[claude.ai/settings/plugins/submit](https://claude.ai/settings/plugins/submit)410* **Claude.ai**:[claude.ai/settings/plugins/submit](https://claude.ai/settings/plugins/submit)

362* **Console**:[platform.claude.com/plugins/submit](https://platform.claude.com/plugins/submit)411* **Console**:[platform.claude.com/plugins/submit](https://platform.claude.com/plugins/submit)

363 412 

364プラグインが登録されたら独自の CLI Claude Code ユーザーにインストールを促すことができます[CLI からプラグインを推奨する](/ja/plugin-hints)を参照してください413送信する前にローカルで `claude plugin validate` を実行してくださいレビューパイプラインはすべての送信に対して同じチェックを実行し、自動化されたセーフティスクリーニングも行います

414 

415承認されたプラグインは、[`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) カタログ内の特定のコミット SHA にピン留めされ、CI はリポジトリに新しいコミットをプッシュするたびに自動的にピンをバンプします。公開カタログはレビューパイプラインから毎晩同期されるため、承認と `marketplace.json` にプラグインが表示されるまでの間に遅延が生じる可能性があります。プラグインがインストール可能かどうかを確認するには、[コミュニティカタログ](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json)でその名前を検索してください。

416 

417公式マーケットプレイス `claude-plugins-official` は別途キュレーションされています。Anthropic はどのプラグインを含めるかを裁量で決定します。申請プロセスはなく、送信フォームは公式マーケットプレイスにプラグインを追加しません。

418 

419Anthropic がプラグインを公式マーケットプレイスにリストしている場合、CLI は Claude Code ユーザーにインストールを促すことができます。[CLI からプラグインを推奨する](/ja/plugin-hints)を参照してください。

365 420 

366<Note>421<Note>

367 完全な技術仕様、デバッグ技術、配布戦略については、[プラグインリファレンス](/ja/plugins-reference)を参照してください。422 完全な技術仕様、デバッグ技術、配布戦略については、[プラグインリファレンス](/ja/plugins-reference)を参照してください。

368</Note>423</Note>

369 424 

370## 既存の設定をプラグインに変換する425<h2 id="convert-existing-configurations-to-plugins">

426 既存の設定をプラグインに変換する

427</h2>

371 428 

372`.claude/` ディレクトリにスキルまたはフックが既にある場合は、それらをプラグインに変換して、より簡単に共有および配布できます。429`.claude/` ディレクトリにスキルまたはフックが既にある場合は、それらをプラグインに変換して、より簡単に共有および配布できます。

373 430 

374### 移行手順431<h3 id="migration-steps">

432 移行手順

433</h3>

375 434 

376<Steps>435<Steps>

377 <Step title="プラグイン構造を作成する">436 <Step title="プラグイン構造を作成する">


441 </Step>500 </Step>

442</Steps>501</Steps>

443 502 

444### 移行時の変更点503<h3 id="what-changes-when-migrating">

504 移行時の変更点

505</h3>

445 506 

446| スタンドアロン(`.claude/`) | プラグイン |507| スタンドアロン(`.claude/`) | プラグイン |

447| :------------------------- | :----------------------------- |508| :------------------------- | :----------------------------- |


454 移行後、重複を避けるために `.claude/` から元のファイルを削除できます。読み込まれたときは、プラグインバージョンが優先されます。515 移行後、重複を避けるために `.claude/` から元のファイルを削除できます。読み込まれたときは、プラグインバージョンが優先されます。

455</Note>516</Note>

456 517 

457## 次のステップ518<h2 id="next-steps">

519 次のステップ

520</h2>

458 521 

459Claude Code のプラグインシステムを理解したので、異なる目標のための推奨パスを以下に示します。522Claude Code のプラグインシステムを理解したので、異なる目標のための推奨パスを以下に示します。

460 523 

461### プラグインユーザー向け524<h3 id="for-plugin-users">

525 プラグインユーザー向け

526</h3>

462 527 

463* [プラグインを検出してインストールする](/ja/discover-plugins):マーケットプレイスを参照してプラグインをインストール528* [プラグインを検出してインストールする](/ja/discover-plugins):マーケットプレイスを参照してプラグインをインストール

464* [チームマーケットプレイスを設定する](/ja/discover-plugins#configure-team-marketplaces):チーム用のリポジトリレベルプラグインを設定529* [チームマーケットプレイスを設定する](/ja/discover-plugins#configure-team-marketplaces):チーム用のリポジトリレベルプラグインを設定

465 530 

466### プラグイン開発者向け531<h3 id="for-plugin-developers">

532 プラグイン開発者向け

533</h3>

467 534 

468* [マーケットプレイスを作成して配布する](/ja/plugin-marketplaces):プラグインをパッケージ化して共有535* [マーケットプレイスを作成して配布する](/ja/plugin-marketplaces):プラグインをパッケージ化して共有

469* [プラグインリファレンス](/ja/plugins-reference):完全な技術仕様536* [プラグインリファレンス](/ja/plugins-reference):完全な技術仕様

Details

14 14 

15**プラグイン**は、Claude Code をカスタム機能で拡張する自己完結型のコンポーネントディレクトリです。プラグインコンポーネントには、skills、agents、hooks、MCP servers、LSP servers、monitors が含まれます。15**プラグイン**は、Claude Code をカスタム機能で拡張する自己完結型のコンポーネントディレクトリです。プラグインコンポーネントには、skills、agents、hooks、MCP servers、LSP servers、monitors が含まれます。

16 16 

17## プラグインコンポーネントリファレンス17<h2 id="plugin-components-reference">

18 プラグインコンポーネントリファレンス

19</h2>

18 20 

19### Skills21<h3 id="skills">

22 Skills

23</h3>

20 24 

21プラグインは Claude Code に skills を追加し、`/name` ショートカットを作成します。これらは、あなたまたは Claude が呼び出すことができます。25プラグインは Claude Code に skills を追加し、`/name` ショートカットを作成します。これらは、あなたまたは Claude が呼び出すことができます。

22 26 


44 48 

45詳細については、[Skills](/ja/skills)を参照してください。49詳細については、[Skills](/ja/skills)を参照してください。

46 50 

47### Agents51<h3 id="agents">

52 Agents

53</h3>

48 54 

49プラグインは、特定のタスク用の特化した subagents を提供できます。Claude は必要に応じて自動的にそれらを呼び出すことができます。55プラグインは、特定のタスク用の特化した subagents を提供できます。Claude は必要に応じて自動的にそれらを呼び出すことができます。

50 56 


78 84 

79詳細については、[Subagents](/ja/sub-agents)を参照してください。85詳細については、[Subagents](/ja/sub-agents)を参照してください。

80 86 

81### Hooks87<h3 id="hooks">

88 Hooks

89</h3>

82 90 

83プラグインは Claude Code イベントに自動的に応答するイベントハンドラーを提供できます。91プラグインは Claude Code イベントに自動的に応答するイベントハンドラーを提供できます。

84 92 


121| `PostToolUseFailure` | After a tool call fails |129| `PostToolUseFailure` | After a tool call fails |

122| `PostToolBatch` | After a full batch of parallel tool calls resolves, before the next model call |130| `PostToolBatch` | After a full batch of parallel tool calls resolves, before the next model call |

123| `Notification` | When Claude Code sends a notification |131| `Notification` | When Claude Code sends a notification |

132| `MessageDisplay` | While assistant message text is displayed |

124| `SubagentStart` | When a subagent is spawned |133| `SubagentStart` | When a subagent is spawned |

125| `SubagentStop` | When a subagent finishes |134| `SubagentStop` | When a subagent finishes |

126| `TaskCreated` | When a task is being created via `TaskCreate` |135| `TaskCreated` | When a task is being created via `TaskCreate` |


148* `prompt`: LLM でプロンプトを評価(コンテキストの `$ARGUMENTS` プレースホルダーを使用)157* `prompt`: LLM でプロンプトを評価(コンテキストの `$ARGUMENTS` プレースホルダーを使用)

149* `agent`: 複雑な検証タスク用のツール付き agentic verifier を実行158* `agent`: 複雑な検証タスク用のツール付き agentic verifier を実行

150 159 

151### MCP servers160<h3 id="mcp-servers">

161 MCP servers

162</h3>

152 163 

153プラグインは Model Context Protocol(MCP)servers をバンドルして、Claude Code を外部ツールおよびサービスに接続できます。164プラグインは Model Context Protocol(MCP)servers をバンドルして、Claude Code を外部ツールおよびサービスに接続できます。

154 165 


184* サーバー機能は Claude の既存ツールとシームレスに統合されます195* サーバー機能は Claude の既存ツールとシームレスに統合されます

185* プラグインサーバーはユーザー MCP servers とは独立して設定できます196* プラグインサーバーはユーザー MCP servers とは独立して設定できます

186 197 

187### LSP servers198<h3 id="lsp-servers">

199 LSP servers

200</h3>

188 201 

189<Tip>202<Tip>

190 LSP プラグインを使用したいですか?公式マーケットプレイスからインストールしてください。`/plugin` Discover タブで「lsp」を検索してください。このセクションでは、公式マーケットプレイスでカバーされていない言語用の LSP プラグインを作成する方法を説明しています。203 LSP プラグインを使用したいですか?公式マーケットプレイスからインストールしてください。`/plugin` Discover タブで「lsp」を検索してください。このセクションでは、公式マーケットプレイスでカバーされていない言語用の LSP プラグインを作成する方法を説明しています。


251| `settings` | `workspace/didChangeConfiguration` 経由で渡される設定 |264| `settings` | `workspace/didChangeConfiguration` 経由で渡される設定 |

252| `workspaceFolder` | サーバーのワークスペースフォルダーパス |265| `workspaceFolder` | サーバーのワークスペースフォルダーパス |

253| `startupTimeout` | サーバー起動を待つ最大時間(ミリ秒) |266| `startupTimeout` | サーバー起動を待つ最大時間(ミリ秒) |

254| `shutdownTimeout` | グレースフルシャットダウンを待つ最大時間(ミリ秒) |

255| `restartOnCrash` | サーバーがクラッシュした場合に自動的に再起動するかどうか |

256| `maxRestarts` | 諦める前の最大再起動試行回数 |267| `maxRestarts` | 諦める前の最大再起動試行回数 |

257 268 

258<Warning>269<Warning>


269 280 

270言語サーバーをまずインストールしてから、マーケットプレイスからプラグインをインストールしてください。281言語サーバーをまずインストールしてから、マーケットプレイスからプラグインをインストールしてください。

271 282 

272### Monitors283<h3 id="monitors">

284 Monitors

285</h3>

273 286 

274プラグインは、プラグインがアクティブな場合に Claude Code が自動的に開始するバックグラウンド monitors を宣言できます。各 monitor はセッションの期間中シェルコマンドを実行し、すべての stdout 行を Claude に通知として配信するため、Claude は自分自身に開始するよう求められることなく、ログエントリ、ステータス変更、またはポーリングされたイベントに反応できます。287プラグインは、プラグインがアクティブな場合に Claude Code が自動的に開始するバックグラウンド monitors を宣言できます。各 monitor はセッションの期間中シェルコマンドを実行し、すべての stdout 行を Claude に通知として配信するため、Claude は自分自身に開始するよう求められることなく、ログエントリ、ステータス変更、またはポーリングされたイベントに反応できます。

275 288 


321 334 

322セッション中にプラグインを無効にしても、既に実行中の monitors は停止しません。セッションが終了するときに停止します。335セッション中にプラグインを無効にしても、既に実行中の monitors は停止しません。セッションが終了するときに停止します。

323 336 

324### Themes337<h3 id="themes">

338 Themes

339</h3>

325 340 

326プラグインは、`/theme` に組み込みプリセットおよびユーザーのローカルテーマと一緒に表示される色テーマを配布できます。テーマは `themes/` 内の JSON ファイルで、`base` プリセットと色トークンのスパース `overrides` マップを持ちます。Themes は[実験的コンポーネント](#experimental-components)です。341プラグインは、`/theme` に組み込みプリセットおよびユーザーのローカルテーマと一緒に表示される色テーマを配布できます。テーマは `themes/` 内の JSON ファイルで、`base` プリセットと色トークンのスパース `overrides` マップを持ちます。Themes は[実験的コンポーネント](#experimental-components)です。

327 342 


341 356 

342***357***

343 358 

344## プラグインインストールスコープ359<h2 id="plugin-installation-scopes">

360 プラグインインストールスコープ

361</h2>

345 362 

346プラグインをインストールするときは、プラグインが利用可能な場所と他のユーザーが使用できるかどうかを決定する**スコープ**を選択します。363プラグインをインストールするときは、プラグインが利用可能な場所と他のユーザーが使用できるかどうかを決定する**スコープ**を選択します。

347 364 


356 373 

357***374***

358 375 

359## プラグインマニフェストスキーマ376<h2 id="skills-directory-plugins">

377 Skills ディレクトリプラグイン

378</h2>

379 

380`.claude-plugin/plugin.json` マニフェストを含む skills ディレクトリの下のフォルダは、次のセッションで `<name>@skills-dir` という名前のプラグインとして読み込まれます。マーケットプレイスもインストール手順もありません。[`plugin init`](#plugin-init)でスキャフォルドしてください。マーケットプレイスインストールとは異なり、プラグインはプラグインキャッシュにコピーされるのではなく、所定の場所で検出されます。

381 

382skills ディレクトリツリーは 3 つの異なるものをサポートします:

383 

384| 何を持っているか | それは何か |

385| :-------------------------------------------- | :--------------------------------------------------------- |

386| `<skills-dir>/foo/SKILL.md` マニフェストなし | `foo` という名前の単純な[skill](/ja/skills) |

387| `<skills-dir>/foo/.claude-plugin/plugin.json` | プラグイン `foo@skills-dir`。独自の skills、agents、hooks などをバンドルできます |

388| `<plugin>/skills/bar/SKILL.md` | プラグイン内にパッケージされた skill `bar` |

389 

390<h3 id="choose-where-the-plugin-loads-from">

391 プラグインが読み込まれる場所を選択

392</h3>

393 

394| Skills ディレクトリ | スコープ | 読み込み |

395| :---------------------- | :------- | :--------------------------------------------- |

396| `~/.claude/skills/` | personal | すべてのプロジェクトで。場所があなただけのものだから |

397| `<cwd>/.claude/skills/` | project | そのフォルダのワークスペース[信頼ダイアログ](/ja/settings)を受け入れた後のみ |

398 

399プロジェクトスコーププラグインはリポジトリにチェックインされ、クローンしたすべての共同作業者に到達します。そのコンテンツはあなたではなくリポジトリから来るため、`.claude/settings.json` を管理するのと同じ信頼ゲートの後にのみ読み込まれます。コードを実行するコンポーネントはさらに制限されます:

400 

401* 宣言する MCP servers は、プロジェクト `.mcp.json` と同じ[サーバーごとの承認](/ja/mcp)を通過します

402* LSP servers はワークスペースを信頼した後にのみ開始します

403* [バックグラウンド monitors](#monitors)は読み込まれません

404 

405個人スコーププラグインにはこれらの制限はありません。

406 

407<Warning>

408 プロジェクトスコープ `@skills-dir` プラグインは、Claude Code を開始したディレクトリの `.claude/skills/` からのみ読み込まれます。plain skills と commands が行うように[リポジトリルートまでウォークアップ](/ja/skills#automatic-discovery-from-parent-and-nested-directories)しません。そのため、サブディレクトリから起動するとリポジトリルートに存在するプラグインが見つかりません。リポジトリルートから起動するか、ディレクトリを変更した後に `/reload-plugins` を実行してください。

409</Warning>

410 

411<h3 id="edit-reload-and-disable-a-skills-directory-plugin">

412 Skills ディレクトリプラグインを編集、再読み込み、無効化

413</h3>

414 

415skill の `SKILL.md` に加えた変更は現在のセッションで即座に有効になります。プラグインの他のコンポーネント(`hooks/`、`.mcp.json`、`agents/`、`output-styles/` など)への変更は有効になりません。`/reload-plugins` を実行するか Claude Code を再起動してそれらを取得してください。[ライブ変更検出](/ja/skills#live-change-detection)を参照してください。

416 

417skills ディレクトリプラグインの読み込みを停止するには、そのフォルダを削除するか、名前で無効にしてください。マーケットプレイスから何もインストールされなかったため、`uninstall` ステップはありません。

418 

419```bash theme={null}

420claude plugin disable my-tool@skills-dir

421```

422 

423***

424 

425<h2 id="plugin-manifest-schema">

426 プラグインマニフェストスキーマ

427</h2>

360 428 

361`.claude-plugin/plugin.json` ファイルはプラグインのメタデータと設定を定義します。このセクションでは、サポートされているすべてのフィールドとオプションを説明しています。429`.claude-plugin/plugin.json` ファイルはプラグインのメタデータと設定を定義します。このセクションでは、サポートされているすべてのフィールドとオプションを説明しています。

362 430 

363マニフェストはオプションです。省略された場合、Claude Code は[デフォルト場所](#file-locations-reference)のコンポーネントを自動検出し、ディレクトリ名からプラグイン名を導出します。メタデータを提供するか、カスタムコンポーネントパスが必要な場合はマニフェストを使用してください。431マニフェストはオプションです。省略された場合、Claude Code は[デフォルト場所](#file-locations-reference)のコンポーネントを自動検出し、ディレクトリ名からプラグイン名を導出します。メタデータを提供するか、カスタムコンポーネントパスが必要な場合はマニフェストを使用してください。

364 432 

365### 完全なスキーマ433<h3 id="complete-schema">

434 完全なスキーマ

435</h3>

366 436 

367```json theme={null}437```json theme={null}

368{438{


397}467}

398```468```

399 469 

400### 必須フィールド470<h3 id="required-fields">

471 必須フィールド

472</h3>

401 473 

402マニフェストを含める場合、`name` は唯一の必須フィールドです。474マニフェストを含める場合、`name` は唯一の必須フィールドです。

403 475 


407 479 

408この名前はコンポーネントの名前空間に使用されます。たとえば、UI では、名前が `plugin-dev` のプラグインのエージェント `agent-creator` は `plugin-dev:agent-creator` として表示されます。480この名前はコンポーネントの名前空間に使用されます。たとえば、UI では、名前が `plugin-dev` のプラグインのエージェント `agent-creator` は `plugin-dev:agent-creator` として表示されます。

409 481 

410### メタデータフィールド482<h3 id="unrecognized-fields">

483 認識されないフィールド

484</h3>

485 

486Claude Code は認識しないトップレベルフィールドを無視します。別のエコシステムからのメタデータを `plugin.json` に保持でき、プラグインは引き続き読み込まれます。これにより、VS Code または Cursor 拡張マニフェスト、npm `package.json`、または MCPB/DXT バンドルマニフェストとしても機能する 1 つのマニフェストを保持することが実用的になります。

487 

488`claude plugin validate` は認識されないフィールドを警告として報告し、エラーではありません。フィールドが認識されたフィールドから 1 文字または 2 文字異なる場合、警告は意図された可能性のある名前を提案します。認識されないフィールド警告のみを持つプラグインは検証に合格し、実行時に読み込まれます。

489 

490型が間違っているフィールドは引き続き失敗します。たとえば、`keywords` 値が配列ではなく文字列である場合は読み込みエラーであり、`claude plugin validate` はそれをエラーとして報告します。

491 

492`--strict` を渡して警告をエラーとして扱います。CI で使用して、公開前に別のツールのマニフェストから残されたスペルミスのあるフィールド名またはフィールドをキャッチします。ただし、プラグインは実行時に読み込まれます。

493 

494```bash theme={null}

495claude plugin validate ./my-plugin --strict

496```

497 

498<h3 id="metadata-fields">

499 メタデータフィールド

500</h3>

411 501 

412| フィールド | 型 | 説明 | 例 |502| フィールド | 型 | 説明 | 例 |

413| :------------ | :----- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |503| :--------------- | :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |

414| `$schema` | string | エディタのオートコンプリートと検証用の JSON Schema URL。Claude Code はロード時にこのフィールドを無視します。 | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |504| `$schema` | string | エディタのオートコンプリートと検証用の JSON Schema URL。Claude Code はロード時にこのフィールドを無視します。 | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |

415| `displayName` | string | {/* min-version: 2.1.143 */}`/plugin` ピッカーおよび他の UI サーフェスに表示される人間が読める名前。省略された場合は `name` にフォールバックします。`name` とは異なり、スペースと任意の大文字小文字を含むことができます。名前空間またはルックアップには使用されません。Claude Code v2.1.143 以降が必要です。 | `"Deployment Tools"` |505| `displayName` | string | {/* min-version: 2.1.143 */}`/plugin` ピッカーおよび他の UI サーフェスに表示される人間が読める名前。省略された場合は `name` にフォールバックします。`name` とは異なり、スペースと任意の大文字小文字を含むことができます。名前空間またはルックアップには使用されません。Claude Code v2.1.143 以降が必要です。 | `"Deployment Tools"` |

416| `version` | string | オプション。セマンティックバージョン。これを設定するとプラグインをそのバージョン文字列にピン留めするため、ユーザーはバージョンをバンプしたときのみ更新を受け取ります。省略された場合、Claude Code は git コミット SHA にフォールバックするため、すべてのコミットが新しいバージョンとして扱われます。マーケットプレイスエントリにも設定されている場合、`plugin.json` が優先されます。[バージョン管理](#version-management)を参照してください。 | `"2.1.0"` |506| `version` | string | オプション。セマンティックバージョン。これを設定するとプラグインをそのバージョン文字列にピン留めするため、ユーザーはバージョンをバンプしたときのみ更新を受け取ります。省略された場合、Claude Code は git コミット SHA にフォールバックするため、すべてのコミットが新しいバージョンとして扱われます。マーケットプレイスエントリにも設定されている場合、`plugin.json` が優先されます。[バージョン管理](#version-management)を参照してください。 | `"2.1.0"` |


420| `repository` | string | ソースコード URL | `"https://github.com/user/plugin"` |510| `repository` | string | ソースコード URL | `"https://github.com/user/plugin"` |

421| `license` | string | ライセンス識別子 | `"MIT"`、`"Apache-2.0"` |511| `license` | string | ライセンス識別子 | `"MIT"`、`"Apache-2.0"` |

422| `keywords` | array | 検出タグ | `["deployment", "ci-cd"]` |512| `keywords` | array | 検出タグ | `["deployment", "ci-cd"]` |

513| `defaultEnabled` | boolean | {/* min-version: 2.1.154 */}ユーザーが設定を設定していない場合、プラグインが有効な状態で開始するかどうか。デフォルトは `true`。[デフォルト有効化](#default-enablement)を参照してください。Claude Code v2.1.154 以降が必要です。 | `false` |

514 

515<h3 id="default-enablement">

516 デフォルト有効化

517</h3>

423 518 

424### コンポーネントパスフィールド519`plugin.json` で `defaultEnabled: false` を設定して、無効な状態でインストールされるプラグインを配布します。ユーザーは `claude plugin enable <plugin>` または `/plugin` インターフェイスでそれをオンにします。外部サービスに接続するプラグインなど、ユーザーがオプトインすべきコストまたはスコープを追加するプラグインに使用します。これには Claude Code v2.1.154 以降が必要です。以前のバージョンはフィールドを無視し、インストール時にプラグインを有効にします。

520 

521`defaultEnabled` は、他に何もプラグインの状態を決定していない場合のフォールバックです。2 つのことがそれより優先されます:

522 

523* **ユーザーの設定**: 任意の設定スコープの `enabledPlugins` のプラグインのエントリ。書き込まれると、プラグイン更新と再インストール全体で保持されるため、後のリリースで `defaultEnabled` を変更しても既存ユーザーをフリップしません。

524* **依存関係要件**: プラグインがアクティブな別のプラグインによって必要とされる場合、Claude Code はインストール時または有効化時にそれに対して `true` を書き込みます。これにより明示的な設定が与えられるため、独自のデフォルトはもはや適用されません。[依存関係を持つプラグインを有効または無効にする](/ja/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies)を参照してください。

525 

526同じフィールドはプラグインのマーケットプレイスエントリに表示でき、`plugin.json` の値より優先されます。[オプションプラグインフィールド](/ja/plugin-marketplaces#optional-plugin-fields)を参照してください。

527 

528<h3 id="component-path-fields">

529 コンポーネントパスフィールド

530</h3>

425 531 

426| フィールド | 型 | 説明 | 例 |532| フィールド | 型 | 説明 | 例 |

427| :---------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------- |533| :---------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------- |


438| `channels` | array | メッセージ注入用のチャネル宣言(Telegram、Slack、Discord スタイル)。[チャネル](#channels)を参照してください | 下記を参照 |544| `channels` | array | メッセージ注入用のチャネル宣言(Telegram、Slack、Discord スタイル)。[チャネル](#channels)を参照してください | 下記を参照 |

439| `dependencies` | array | このプラグインが必要とする他のプラグイン。オプションで semver バージョン制約付き。[プラグイン依存関係バージョンを制約](/ja/plugin-dependencies)を参照してください | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |545| `dependencies` | array | このプラグインが必要とする他のプラグイン。オプションで semver バージョン制約付き。[プラグイン依存関係バージョンを制約](/ja/plugin-dependencies)を参照してください | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |

440 546 

441### 実験的コンポーネント547<h3 id="experimental-components">

548 実験的コンポーネント

549</h3>

442 550 

443`experimental` キーの下のコンポーネント、`themes` と `monitors` は、安定化する間にリリース間でマニフェストスキーマが変更される可能性があります。それらを宣言する場所は別の移行です。トップレベルはまだ機能し、`claude plugin validate` は警告を表示し、将来のリリースでは `experimental.*` が必要になります。551`experimental` キーの下のコンポーネント、`themes` と `monitors` は、安定化する間にリリース間でマニフェストスキーマが変更される可能性があります。それらを宣言する場所は別の移行です。トップレベルはまだ機能し、`claude plugin validate` は警告を表示し、将来のリリースでは `experimental.*` が必要になります。

444 552 

445### ユーザー設定553<h3 id="user-configuration">

554 ユーザー設定

555</h3>

446 556 

447`userConfig` フィールドは、プラグインが有効になったときに Claude Code がユーザーにプロンプトする値を宣言します。ユーザーに `settings.json` を手動で編集させる代わりにこれを使用してください。557`userConfig` フィールドは、プラグインが有効になったときに Claude Code がユーザーにプロンプトする値を宣言します。ユーザーに `settings.json` を手動で編集させる代わりにこれを使用してください。

448 558 


481 591 

482機密でない値は `settings.json` の `pluginConfigs[<plugin-id>].options` に保存されます。機密値はシステムキーチェーン(またはキーチェーンが利用できない場合は `~/.claude/.credentials.json`)に移動します。キーチェーンストレージは OAuth トークンと共有され、約 2 KB の合計制限があるため、機密値は小さく保ってください。592機密でない値は `settings.json` の `pluginConfigs[<plugin-id>].options` に保存されます。機密値はシステムキーチェーン(またはキーチェーンが利用できない場合は `~/.claude/.credentials.json`)に移動します。キーチェーンストレージは OAuth トークンと共有され、約 2 KB の合計制限があるため、機密値は小さく保ってください。

483 593 

484### チャネル594<h3 id="channels">

595 チャネル

596</h3>

485 597 

486`channels` フィールドを使用すると、プラグインは 1 つ以上のメッセージチャネルを宣言して、会話にコンテンツを注入できます。各チャネルはプラグインが提供する MCP サーバーにバインドされます。598`channels` フィールドを使用すると、プラグインは 1 つ以上のメッセージチャネルを宣言して、会話にコンテンツを注入できます。各チャネルはプラグインが提供する MCP サーバーにバインドされます。

487 599 


510 622 

511`server` フィールドは必須で、プラグインの `mcpServers` のキーと一致する必要があります。オプションのチャネルごとの `userConfig` はトップレベルフィールドと同じスキーマを使用し、プラグインがプラグイン有効化時にボットトークンまたはオーナー ID をプロンプトできるようにします。623`server` フィールドは必須で、プラグインの `mcpServers` のキーと一致する必要があります。オプションのチャネルごとの `userConfig` はトップレベルフィールドと同じスキーマを使用し、プラグインがプラグイン有効化時にボットトークンまたはオーナー ID をプロンプトできるようにします。

512 624 

513### パス動作ルール625<h3 id="path-behavior-rules">

626 パス動作ルール

627</h3>

514 628 

515カスタムパスがプラグインのデフォルトディレクトリを置き換えるか拡張するかは、フィールドによって異なります:629カスタムパスがプラグインのデフォルトディレクトリを置き換えるか拡張するかは、フィールドによって異なります:

516 630 


544}658}

545```659```

546 660 

547### 環境変数661<h3 id="environment-variables">

662 環境変数

663</h3>

548 664 

549Claude Code は、プラグインパスを参照するための 3 つの変数を提供します。すべては skill コンテンツ、エージェントコンテンツ、hook コマンド、monitor コマンド、MCP または LSP サーバー設定に表示される場所にインラインで置換されます。すべては hook プロセスおよび MCP または LSP サーバーサブプロセスに環境変数としてエクスポートされます。665Claude Code は、プラグインパスを参照するための 3 つの変数を提供します。すべては skill コンテンツ、エージェントコンテンツ、hook コマンド、monitor コマンド、MCP または LSP サーバー設定に表示される場所にインラインで置換されます。すべては hook プロセスおよび MCP または LSP サーバーサブプロセスに環境変数としてエクスポートされます。

550 666 


573}689}

574```690```

575 691 

576#### 永続データディレクトリ692<h4 id="persistent-data-directory">

693 永続データディレクトリ

694</h4>

577 695 

578`${CLAUDE_PLUGIN_DATA}` ディレクトリは `~/.claude/plugins/data/{id}/` に解決されます。ここで `{id}` はプラグイン識別子で、`a-z`、`A-Z`、`0-9`、`_`、`-` 以外の文字が `-` に置き換えられます。`formatter@my-marketplace` としてインストールされたプラグインの場合、ディレクトリは `~/.claude/plugins/data/formatter-my-marketplace/` です。696`${CLAUDE_PLUGIN_DATA}` ディレクトリは `~/.claude/plugins/data/{id}/` に解決されます。ここで `{id}` はプラグイン識別子で、`a-z`、`A-Z`、`0-9`、`_`、`-` 以外の文字が `-` に置き換えられます。`formatter@my-marketplace` としてインストールされたプラグインの場合、ディレクトリは `~/.claude/plugins/data/formatter-my-marketplace/` です。

579 697 


620 738 

621***739***

622 740 

623## プラグインキャッシングとファイル解決741<h2 id="plugin-caching-and-file-resolution">

742 プラグインキャッシングとファイル解決

743</h2>

624 744 

625プラグインは 2 つの方法で指定されます:745プラグインは 2 つの方法で指定されます:

626 746 


633 753 

634Claude の Glob および Grep ツールは検索中に孤立したバージョンディレクトリをスキップするため、ファイル結果には古いプラグインコードが含まれません。754Claude の Glob および Grep ツールは検索中に孤立したバージョンディレクトリをスキップするため、ファイル結果には古いプラグインコードが含まれません。

635 755 

636### パストラバーサル制限756<h3 id="path-traversal-limitations">

757 パストラバーサル制限

758</h3>

637 759 

638インストールされたプラグインはディレクトリの外側のファイルを参照できません。プラグインルートの外側をトラバースするパス(`../shared-utils` など)は、これらの外部ファイルがキャッシュにコピーされないため、インストール後は機能しません。760インストールされたプラグインはディレクトリの外側のファイルを参照できません。プラグインルートの外側をトラバースするパス(`../shared-utils` など)は、これらの外部ファイルがキャッシュにコピーされないため、インストール後は機能しません。

639 761 

640### マーケットプレイス内でシンボリックリンクを使用してファイルを共有762<h3 id="share-files-within-a-marketplace-with-symlinks">

763 マーケットプレイス内でシンボリックリンクを使用してファイルを共有

764</h3>

641 765 

642プラグインが同じマーケットプレイスの他の部分とファイルを共有する必要がある場合、プラグインディレクトリ内にシンボリックリンクを作成できます。プラグインがキャッシュにコピーされるときにシンボリックリンクがどのように処理されるかは、そのターゲットがどこに解決されるかによって異なります:766プラグインが同じマーケットプレイスの他の部分とファイルを共有する必要がある場合、プラグインディレクトリ内にシンボリックリンクを作成できます。プラグインがキャッシュにコピーされるときにシンボリックリンクがどのように処理されるかは、そのターゲットがどこに解決されるかによって異なります:

643 767 


657 781 

658***782***

659 783 

660## プラグインディレクトリ構造784<h2 id="plugin-directory-structure">

785 プラグインディレクトリ構造

786</h2>

661 787 

662### 標準プラグインレイアウト788<h3 id="standard-plugin-layout">

789 標準プラグインレイアウト

790</h3>

663 791 

664完全なプラグインは次の構造に従います:792完全なプラグインは次の構造に従います:

665 793 


708 836 

709プラグインルートの `CLAUDE.md` ファイルはプロジェクトコンテキストとして読み込まれません。プラグインは CLAUDE.md ではなく、skills、agents、hooks を通じてコンテキストを提供します。Claude のコンテキストに読み込まれる命令を配布するには、[skill](#skills) に配置してください。837プラグインルートの `CLAUDE.md` ファイルはプロジェクトコンテキストとして読み込まれません。プラグインは CLAUDE.md ではなく、skills、agents、hooks を通じてコンテキストを提供します。Claude のコンテキストに読み込まれる命令を配布するには、[skill](#skills) に配置してください。

710 838 

711### ファイル場所リファレンス839<h3 id="file-locations-reference">

840 ファイル場所リファレンス

841</h3>

712 842 

713| コンポーネント | デフォルト場所 | 目的 |843| コンポーネント | デフォルト場所 | 目的 |

714| :-------------- | :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------- |844| :-------------- | :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------- |


727 857 

728***858***

729 859 

730## CLI コマンドリファレンス860<h2 id="cli-commands-reference">

861 CLI コマンドリファレンス

862</h2>

731 863 

732Claude Code は非対話的なプラグイン管理用の CLI コマンドを提供します。スクリプトと自動化に役立ちます。864Claude Code は非対話的なプラグイン管理用の CLI コマンドを提供します。スクリプトと自動化に役立ちます。

733 865 

734### plugin install866<h3 id="plugin-init">

867 plugin init

868</h3>

869 

870`~/.claude/skills/<name>/` に新しいプラグインをスキャフォルドします。次の Claude Code セッションで、マーケットプレイスもインストール手順もなく、`<name>@skills-dir` として自動的に読み込まれます。

871 

872[Skills ディレクトリプラグイン](#skills-directory-plugins)のスコープと信頼要件を参照してください。

873 

874```bash theme={null}

875claude plugin init <name> [options]

876```

877 

878**引数:**

879 

880* `<name>`: プラグイン名。skill 名前空間と `~/.claude/skills/` の下のディレクトリ名になるため、スペースやパス区切り文字を含むことはできません。

881 

882**オプション:**

883 

884| オプション | 説明 | デフォルト |

885| :----------------------- | :--------------------------------------------------------------------------------------- | :---------------------- |

886| `--description <text>` | マニフェスト説明 | |

887| `--author <name>` | 著者名 | `git config user.name` |

888| `--author-email <email>` | 著者メール | `git config user.email` |

889| `--with <components...>` | コンポーネントフォルダもスキャフォルド。有効な値: `skills`、`agents`、`hooks`、`mcp`、`lsp`、`output-style`、`channel` | |

890| `-f, --force` | ターゲットの既存 `.claude-plugin/` を上書き | |

891| `-h, --help` | コマンドのヘルプを表示 | |

892 

893**エイリアス:** `new`

894 

895各 `--with` 値は、そのコンポーネントのスターターファイルを追加し、編集準備ができています:

896 

897| コンポーネント | スキャフォルドされるもの |

898| :------------- | :-------------------------------------------------------------------------------------- |

899| `skills` | デフォルトの横に追加の名前空間 `<name>:example` skill |

900| `agents` | `agents/` subagent 定義 |

901| `hooks` | サンプルイベントハンドラー付き `hooks/hooks.json` |

902| `mcp` | HTTP と stdio サーバーの例を含む `.mcp.json` |

903| `lsp` | `.lsp.json` 言語サーバーの例 |

904| `output-style` | プラグインが有効な場合に自動的に適用される `output-styles/<name>.md` |

905| `channel` | MCP ベースの[チャネル](/ja/channels): stdio サーバー(`server.ts`)、その `.mcp.json`、および `package.json` |

906 

907スキャフォルドされたプラグインはマーケットプレイスではなく `@skills-dir` ソースを使用します。管理者は `strictKnownMarketplaces` でこのソースをブロックするか、[管理設定](/ja/plugin-marketplaces#managed-marketplace-restrictions)の `blockedMarketplaces` に `{"source": "skills-dir"}` を追加することでブロックできます。ブロックされると、`plugin init` は書き込み前に失敗します。

908 

909**例:**

910 

911```bash theme={null}

912# 最小限のプラグインをスキャフォルド

913claude plugin init my-helper

914 

915# skill と hook フォルダでスキャフォルド

916claude plugin init my-helper --with skills hooks

917 

918# 既存のスキャフォルドを上書き

919claude plugin init my-helper --force

920```

921 

922<h3 id="plugin-install">

923 plugin install

924</h3>

735 925 

736利用可能なマーケットプレイスからプラグインをインストールします。926利用可能なマーケットプレイスからプラグインをインストールします。

737 927 


765claude plugin install formatter@my-marketplace --scope local955claude plugin install formatter@my-marketplace --scope local

766```956```

767 957 

768### plugin uninstall958<h3 id="plugin-uninstall">

959 plugin uninstall

960</h3>

769 961 

770インストール済みプラグインを削除します。962インストール済みプラグインを削除します。

771 963 


791 983 

792デフォルトでは、最後に残っているスコープからアンインストールすると、プラグインの `${CLAUDE_PLUGIN_DATA}` ディレクトリも削除されます。たとえば、新しいバージョンをテストした後に再インストールする場合は、`--keep-data` を使用して保持します。984デフォルトでは、最後に残っているスコープからアンインストールすると、プラグインの `${CLAUDE_PLUGIN_DATA}` ディレクトリも削除されます。たとえば、新しいバージョンをテストした後に再インストールする場合は、`--keep-data` を使用して保持します。

793 985 

794### plugin prune986<h3 id="plugin-prune">

987 plugin prune

988</h3>

795 989 

796インストール済みプラグインによって不要になった自動インストール プラグイン依存関係を削除します。Claude Code が別のプラグインの [`dependencies`](/ja/plugin-dependencies) フィールドを満たすために取得した依存関係は削除されます。直接インストールしたプラグインは決して削除されません。990インストール済みプラグインによって不要になった自動インストール プラグイン依存関係を削除します。Claude Code が別のプラグインの [`dependencies`](/ja/plugin-dependencies) フィールドを満たすために取得した依存関係は削除されます。直接インストールしたプラグインは決して削除されません。

797 991 


816 `claude plugin prune` には Claude Code v2.1.121 以降が必要です。1010 `claude plugin prune` には Claude Code v2.1.121 以降が必要です。

817</Note>1011</Note>

818 1012 

819### plugin enable1013<h3 id="plugin-enable">

1014 plugin enable

1015</h3>

820 1016 

821無効なプラグインを有効にします。プラグインが [dependencies](/ja/plugin-dependencies) を宣言している場合、Claude Code はそれらを同じスコープで推移的に有効にし、依存関係がインストールされていない場合はコマンドが失敗します。1017無効なプラグインを有効にします。プラグインが [dependencies](/ja/plugin-dependencies) を宣言している場合、Claude Code はそれらを同じスコープで推移的に有効にし、依存関係がインストールされていない場合はコマンドが失敗します。

822 1018 


835| `-s, --scope <scope>` | 有効にするスコープ: `user`、`project`、または `local` | `user` |1031| `-s, --scope <scope>` | 有効にするスコープ: `user`、`project`、または `local` | `user` |

836| `-h, --help` | コマンドのヘルプを表示 | |1032| `-h, --help` | コマンドのヘルプを表示 | |

837 1033 

838### plugin disable1034<h3 id="plugin-disable">

1035 plugin disable

1036</h3>

839 1037 

840プラグインをアンインストールせずに無効にします。別の有効なプラグインが [ターゲットに依存している](/ja/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies) 場合は失敗します。エラーメッセージには、最初にすべての依存プラグインを無効にするチェーンコマンドが含まれます。1038プラグインをアンインストールせずに無効にします。別の有効なプラグインが [ターゲットに依存している](/ja/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies) 場合は失敗します。エラーメッセージには、最初にすべての依存プラグインを無効にするチェーンコマンドが含まれます。

841 1039 


854| `-s, --scope <scope>` | 無効にするスコープ: `user`、`project`、または `local` | `user` |1052| `-s, --scope <scope>` | 無効にするスコープ: `user`、`project`、または `local` | `user` |

855| `-h, --help` | コマンドのヘルプを表示 | |1053| `-h, --help` | コマンドのヘルプを表示 | |

856 1054 

857### plugin update1055<h3 id="plugin-update">

1056 plugin update

1057</h3>

858 1058 

859プラグインを最新バージョンに更新します。1059プラグインを最新バージョンに更新します。

860 1060 


875 1075 

876***1076***

877 1077 

878### plugin list1078<h3 id="plugin-list">

1079 plugin list

1080</h3>

879 1081 

880インストール済みプラグインをバージョン、ソースマーケットプレイス、有効状態とともにリストします。1082インストール済みプラグインをバージョン、ソースマーケットプレイス、有効状態とともにリストします。

881 1083 


891| `--available` | マーケットプレイスから利用可能なプラグインを含めます。`--json` が必要です | |1093| `--available` | マーケットプレイスから利用可能なプラグインを含めます。`--json` が必要です | |

892| `-h, --help` | コマンドのヘルプを表示 | |1094| `-h, --help` | コマンドのヘルプを表示 | |

893 1095 

894### plugin details1096<h3 id="plugin-details">

1097 plugin details

1098</h3>

895 1099 

896プラグインのコンポーネントインベントリと予想トークンコストを表示します。出力には、プラグインが提供するすべてのコンポーネントがリストアップされ、Skills、Agents、Hooks、MCP サーバー、LSP サーバーとしてグループ化され、各セッションに追加されるトークン数の推定値が表示されます。Skills グループには `skills/` と `commands/` エントリの両方が含まれます。1100プラグインのコンポーネントインベントリと予想トークンコストを表示します。出力には、プラグインが提供するすべてのコンポーネントがリストアップされ、Skills、Agents、Hooks、MCP サーバー、LSP サーバーとしてグループ化され、各セッションに追加されるトークン数の推定値が表示されます。Skills グループには `skills/` と `commands/` エントリの両方が含まれます。

897 1101 


917この例は、2 つのスキルを持つプラグインの出力がどのように見えるかを示しています。1121この例は、2 つのスキルを持つプラグインの出力がどのように見えるかを示しています。

918 1122 

919```1123```

920security-guidance 1.2.01124dependency-guard 1.2.0

921 Real-time security analysis for Claude Code sessions1125 Dependency analysis for Claude Code sessions

922 Source: security-guidance@claude-code-marketplace1126 Source: dependency-guard@example-marketplace

923 1127 

924Component inventory1128Component inventory

925 Skills (2) scan-dependencies, review-changes1129 Skills (2) scan-dependencies, review-changes


942 1146 

943Always-on の合計は、アクティブなモデルの `count_tokens` API を使用して計算されます。コンポーネントごとの数値は、その合計から比例的にスケーリングされます。API に到達できない場合、コマンドは文字ベースの推定値にフォールバックします。1147Always-on の合計は、アクティブなモデルの `count_tokens` API を使用して計算されます。コンポーネントごとの数値は、その合計から比例的にスケーリングされます。API に到達できない場合、コマンドは文字ベースの推定値にフォールバックします。

944 1148 

945### plugin tag1149<h3 id="plugin-tag">

1150 plugin tag

1151</h3>

946 1152 

947現在のディレクトリ内のプラグインのリリース git タグを作成します。プラグインのフォルダ内から実行してください。[プラグインリリースにタグを付ける](/ja/plugin-dependencies#tag-plugin-releases-for-version-resolution)を参照してください。1153現在のディレクトリ内のプラグインのリリース git タグを作成します。プラグインのフォルダ内から実行してください。[プラグインリリースにタグを付ける](/ja/plugin-dependencies#tag-plugin-releases-for-version-resolution)を参照してください。

948 1154 


961 1167 

962***1168***

963 1169 

964## デバッグと開発ツール1170<h2 id="debugging-and-development-tools">

1171 デバッグと開発ツール

1172</h2>

965 1173 

966### デバッグコマンド1174<h3 id="debugging-commands">

1175 デバッグコマンド

1176</h3>

967 1177 

968`claude --debug` を使用してプラグイン読み込みの詳細を確認します:1178`claude --debug` を使用してプラグイン読み込みの詳細を確認します:

969 1179 


974* Skill、agent、hook 登録1184* Skill、agent、hook 登録

975* MCP サーバー初期化1185* MCP サーバー初期化

976 1186 

977### 一般的な問題1187<h3 id="common-issues">

1188 一般的な問題

1189</h3>

978 1190 

979| 問題 | 原因 | 解決策 |1191| 問題 | 原因 | 解決策 |

980| :---------------------------------- | :-------------------------- | :----------------------------------------------------------------------------------------------------------------------------- |1192| :---------------------------------- | :-------------------------- | :----------------------------------------------------------------------------------------------------------------------------- |


985| パスエラー | 絶対パスが使用されている | すべてのパスは相対的で `./` で始まる必要があります |1197| パスエラー | 絶対パスが使用されている | すべてのパスは相対的で `./` で始まる必要があります |

986| LSP `Executable not found in $PATH` | 言語サーバーがインストールされていない | バイナリをインストール(例: `npm install -g typescript-language-server typescript`) |1198| LSP `Executable not found in $PATH` | 言語サーバーがインストールされていない | バイナリをインストール(例: `npm install -g typescript-language-server typescript`) |

987 1199 

988### エラーメッセージの例1200<h3 id="example-error-messages">

1201 エラーメッセージの例

1202</h3>

989 1203 

990**マニフェスト検証エラー**:1204**マニフェスト検証エラー**:

991 1205 


999* `Plugin directory not found at path: ./plugins/my-plugin. Check that the marketplace entry has the correct path.`: marketplace.json の `source` パスが存在しないディレクトリを指している1213* `Plugin directory not found at path: ./plugins/my-plugin. Check that the marketplace entry has the correct path.`: marketplace.json の `source` パスが存在しないディレクトリを指している

1000* `Plugin my-plugin has conflicting manifests: both plugin.json and marketplace entry specify components.`: 重複するコンポーネント定義を削除するか、marketplace エントリから `strict: false` を削除1214* `Plugin my-plugin has conflicting manifests: both plugin.json and marketplace entry specify components.`: 重複するコンポーネント定義を削除するか、marketplace エントリから `strict: false` を削除

1001 1215 

1002### Hook トラブルシューティング1216<h3 id="hook-troubleshooting">

1217 Hook トラブルシューティング

1218</h3>

1003 1219 

1004**Hook スクリプトが実行されない**:1220**Hook スクリプトが実行されない**:

1005 1221 

10061. スクリプトが実行可能であることを確認: `chmod +x ./scripts/your-script.sh`12221. スクリプトが実行可能であることを確認: `chmod +x ./scripts/your-script.sh`

10072. shebang 行を確認: 最初の行は `#!/bin/bash` または `#!/usr/bin/env bash` である必要があります12232. shebang 行を確認: 最初の行は `#!/bin/bash` または `#!/usr/bin/env bash` である必要があります

10083. パスが `${CLAUDE_PLUGIN_ROOT}` を使用していることを確認: `"command": "${CLAUDE_PLUGIN_ROOT}/scripts/your-script.sh"`12243. パスが `${CLAUDE_PLUGIN_ROOT}` を使用していることを確認: `"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/your-script.sh"`

10094. スクリプトを手動でテスト: `./scripts/your-script.sh`12254. スクリプトを手動でテスト: `./scripts/your-script.sh`

1010 1226 

1011**Hook が予期されたイベントでトリガーされない**:1227**Hook が予期されたイベントでトリガーされない**:


10142. マッチャーパターンがツールと一致することを確認: ファイル操作の場合 `"matcher": "Write|Edit"`12302. マッチャーパターンがツールと一致することを確認: ファイル操作の場合 `"matcher": "Write|Edit"`

10153. hook タイプが有効であることを確認: `command`、`http`、`mcp_tool`、`prompt`、または `agent`12313. hook タイプが有効であることを確認: `command`、`http`、`mcp_tool`、`prompt`、または `agent`

1016 1232 

1017### MCP サーバートラブルシューティング1233<h3 id="mcp-server-troubleshooting">

1234 MCP サーバートラブルシューティング

1235</h3>

1018 1236 

1019**サーバーが起動しない**:1237**サーバーが起動しない**:

1020 1238 


10292. サーバーが MCP プロトコルを正しく実装していることを確認12472. サーバーが MCP プロトコルを正しく実装していることを確認

10303. デバッグ出力で接続タイムアウトを確認12483. デバッグ出力で接続タイムアウトを確認

1031 1249 

1032### ディレクトリ構造の間違い1250<h3 id="directory-structure-mistakes">

1251 ディレクトリ構造の間違い

1252</h3>

1033 1253 

1034**症状**: プラグインは読み込まれるがコンポーネント(skills、agents、hooks)が不足している。1254**症状**: プラグインは読み込まれるがコンポーネント(skills、agents、hooks)が不足している。

1035 1255 


1054 1274 

1055***1275***

1056 1276 

1057## 配布とバージョン管理リファレンス1277<h2 id="distribution-and-versioning-reference">

1278 配布とバージョン管理リファレンス

1279</h2>

1058 1280 

1059### バージョン管理1281<h3 id="version-management">

1282 バージョン管理

1283</h3>

1060 1284 

1061Claude Code はプラグインのバージョンをキャッシュキーとして使用し、更新が利用可能かどうかを判断します。`/plugin update` を実行するか自動更新が実行されると、Claude Code は現在のバージョンを計算し、既にインストールされているものと一致する場合は更新をスキップします。1285Claude Code はプラグインのバージョンをキャッシュキーとして使用し、更新が利用可能かどうかを判断します。`/plugin update` を実行するか自動更新が実行されると、Claude Code は現在のバージョンを計算し、既にインストールされているものと一致する場合は更新をスキップします。

1062 1286 


1082 1306 

1083***1307***

1084 1308 

1085## 関連項目1309<h2 id="see-also">

1310 関連項目

1311</h2>

1086 1312 

1087* [プラグイン](/ja/plugins) - チュートリアルと実践的な使用法1313* [プラグイン](/ja/plugins) - チュートリアルと実践的な使用法

1088* [プラグインマーケットプレイス](/ja/plugin-marketplaces) - マーケットプレイスの作成と管理1314* [プラグインマーケットプレイス](/ja/plugin-marketplaces) - マーケットプレイスの作成と管理

prompt-caching.md +304 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# Claude Code がプロンプトキャッシングを使用する方法

6 

7> Claude Code はプロンプトキャッシングを自動的に管理します。モデル切り替えがキャッシュなしの遅いターンをトリガーする理由、`/compact` のコスト、CLAUDE.md の編集がセッション中に適用されない理由、キャッシュヒット率を確認する方法を確認してください。

8 

9プロンプトキャッシングにより、Claude Code はより高速で費用効率的になります。キャッシングがなければ、API はターンごとに完全な履歴を再処理します。キャッシングがあれば、既に処理したものを再利用し、変更されたものに対してのみ新しい作業を行います。

10 

11Claude Code はプロンプトキャッシングを自動的に処理します。ただし、[無効にする](#disable-prompt-caching)ことはできます。プロンプトキャッシングの仕組みを理解することは依然として有用です。キャッシュを無効にするアクションがあり、次の応答が遅くなり、再構築中により高くなるためです。このページでは、どのアクションがそうであるか、一部の設定が再起動を待つ理由、使用量が高く見える場合にキャッシュパフォーマンスを確認する方法について説明します。

12 

13<h2 id="how-the-cache-is-organized">

14 キャッシュの構成方法

15</h2>

16 

17Claude Code でメッセージを送信するたびに、新しい API リクエストが行われます。モデルはリクエスト間で何も記憶しないため、Claude Code は完全なコンテキストを再送信します。システムプロンプト、プロジェクトコンテキスト、すべての以前のメッセージとツール結果、および新しいメッセージです。新しいコンテンツは最後に追加されます。つまり、各リクエストのほとんどは前のリクエストと同じです。プロンプトキャッシングは、API が変更されなかった部分を再処理しないようにする方法です。

18 

19API は、プリフィックスと呼ばれる各リクエストの開始を、最近処理したコンテンツと照合することでキャッシュします。通常のターンでは、プリフィックスは前のリクエスト全体であり、最新の交換のみが新しいものです。一致は正確であるため、プリフィックスのどこかの変更は、その後のすべてを再計算します。ファイルごとまたはセグメントごとのキャッシングはありません。API リファレンスの[プロンプトキャッシングの仕組み](https://platform.claude.com/docs/ja/build-with-claude/prompt-caching#how-prompt-caching-works)を参照して、基礎となるメカニズムを確認してください。

20 

21<img src="https://mintcdn.com/claude-code/VbDJw--l6T9a9Wvm/images/prompt-caching-prefix.svg?fit=max&auto=format&n=VbDJw--l6T9a9Wvm&q=85&s=f2e8f0b8298a50305fe428ca3f1d1594" className="dark:hidden" alt="4 つのターンが成長する水平バーとして表示されます。各ターンのリクエストには、前のターンのすべてと最新の交換が最後に追加されたものが含まれます。ターン 2 と 3 では、変更されていないプリフィックスはキャッシュから読み取られ、新しい交換のみが処理されます。ターン 4 では、システムプロンプトが変更されたため、プリフィックスは一致しなくなり、リクエスト全体が再処理されて書き込まれます。" width="720" height="454" data-path="images/prompt-caching-prefix.svg" />

22 

23<img src="https://mintcdn.com/claude-code/VbDJw--l6T9a9Wvm/images/prompt-caching-prefix-dark.svg?fit=max&auto=format&n=VbDJw--l6T9a9Wvm&q=85&s=7434a04e08187edd26ec6c3dd332f624" className="hidden dark:block" alt="4 つのターンが成長する水平バーとして表示されます。各ターンのリクエストには、前のターンのすべてと最新の交換が最後に追加されたものが含まれます。ターン 2 と 3 では、変更されていないプリフィックスはキャッシュから読み取られ、新しい交換のみが処理されます。ターン 4 では、システムプロンプトが変更されたため、プリフィックスは一致しなくなり、リクエスト全体が再処理されて書き込まれます。" width="720" height="454" data-path="images/prompt-caching-prefix-dark.svg" />

24 

25プリフィックスマッチングを最大限に活用するために、Claude Code は各リクエストを順序付けして、ターン間で変更されることがめったにないコンテンツが最初に来るようにします。

26 

27| レイヤー | コンテンツ | 変更される場合 |

28| ------------ | -------------------------- | ---------------------------------------------- |

29| システムプロンプト | コア命令、ツール定義、出力スタイル | 読み込まれたツール定義のセットが変更されるか、Claude Code がアップグレードされる |

30| プロジェクトコンテキスト | CLAUDE.md、自動メモリ、スコープなしのルール | セッション開始時、または `/clear` または `/compact` の後 |

31| 会話 | メッセージ、Claude の応答、ツール結果 | すべてのターン |

32 

33会話レイヤーへの変更は、システムプロンプトとプロジェクトコンテキストをキャッシュしたままにします。システムプロンプトへの変更は、すべての後続コンテンツが異なるプリフィックスの後ろに配置されるため、すべてを無効にします。3 番目の列は、完全なリストではなく一般的なトリガーを示しており、以下のセクションでは、セッション開始時に固定される出力スタイルなどのコンテンツを含む完全なセットについて説明します。

34 

35プリフィックスマッチルールは、このページのほとんどの動作を説明しています。たとえば、[Plan mode](/ja/permission-modes#analyze-before-you-edit-with-plan-mode) と[スキル読み込み](/ja/skills)は、会話メッセージとして命令を追加するため、キャッシュされたプリフィックスはそのままです。

36 

372 つの設定はプロンプトテキストの一部ではないため、レイヤーテーブルに表示されません。ただし、どちらもキャッシュキーの一部です。

38 

39* **モデル**: 各モデルは独自のキャッシュを持ちます。モデルを切り替えると、コンテンツが同じであっても、リクエスト全体が再計算されます。以下の[モデルの切り替え](#switching-models)を参照してください。

40* **努力レベル**: 各努力レベルは同じモデルに対して独自のキャッシュを持ちます。セッション中に変更すると、リクエスト全体が再計算され、Claude Code は変更を適用する前に確認を求めます。以下の[努力レベルの変更](#changing-effort-level)を参照してください。

41 

42<Tip>

43 セッションの最初にモデルと努力レベルを選択してから、タスク間の自然な区切りのために `/compact` を保存します。タスク中に行う変更が少ないほど、キャッシュヒット率が高くなります。

44</Tip>

45 

46<h3 id="where-the-cache-lives">

47 キャッシュが存在する場所

48</h3>

49 

50キャッシングはサーバー側で行われ、モデルを提供するインフラストラクチャで行われます。その場所は、認証方法によって異なります。

51 

52* **API キー、Claude サブスクリプション、または[Claude Platform on AWS](/ja/claude-platform-on-aws)**: キャッシュは Anthropic のインフラストラクチャに存在し、[Claude API](https://platform.claude.com/docs) を通じてアクセスされます

53* **Bedrock または Vertex AI**: キャッシュはクラウドプロバイダーのサービングインフラストラクチャに存在します

54* **Foundry**: リクエストは Anthropic のインフラストラクチャにルーティングされます

55* **カスタム `ANTHROPIC_BASE_URL` または[LLM gateway](/ja/llm-gateway)**: キャッシュはリクエストが転送される場所に存在し、キャッシングが機能するかどうかはゲートウェイに依存します

56 

57各プロバイダーが保存および処理するものについては、[データ使用](/ja/data-usage)を参照してください。キャッシュがどこに存在するかに関わらず、エントリは非アクティブ期間後に期限切れになり、以下の[キャッシュライフタイム](#cache-lifetime)は TTL とそれを延長する方法について説明します。

58 

59<h2 id="actions-that-invalidate-the-cache">

60 キャッシュを無効にするアクション

61</h2>

62 

63これらのアクションにより、次のリクエストはキャッシュの一部またはすべてをミスします。1 回限りの遅く、より高価なターンが表示され、その後、新しいプリフィックスがキャッシュされます。ほとんどは、コストがあることを知ったら、タスク中に回避可能です。モデル切り替えは、その後の遅いターンに気付くまで無料に感じることができます。

64 

65* [モデルの切り替え](#switching-models)

66* [努力レベルの変更](#changing-effort-level)

67* [高速モードの有効化](#turning-on-fast-mode)

68* [MCP サーバーの接続または切断](#connecting-or-disconnecting-an-mcp-server)

69* [プラグインの有効化または無効化](#enabling-or-disabling-a-plugin)

70* [ツール全体の拒否](#denying-an-entire-tool)

71* [会話のコンパクト化](#compacting-the-conversation)

72* [Claude Code のアップグレード](#upgrading-claude-code)

73 

74<h3 id="switching-models">

75 モデルの切り替え

76</h3>

77 

78各モデルは独自のキャッシュを持ちます。[`/model`](/ja/model-config#setting-your-model) で切り替えると、次のリクエストはコンテンツが同じであっても、キャッシュヒットなしで会話履歴全体を読み取ります。

79 

80[`opusplan` モデル設定](/ja/model-config#opusplan-model-setting)は、Plan Mode 中に Opus に、実行中に Sonnet に解決されるため、各 Plan Mode トグルはモデル切り替えであり、新しいキャッシュを開始します。

81 

82<h3 id="changing-effort-level">

83 努力レベルの変更

84</h3>

85 

86キャッシュは[努力レベル](/ja/model-config#adjust-effort-level)とモデルの両方によってキー付けされるため、`/effort` で切り替えると、次のリクエストはキャッシュヒットなしで会話履歴全体を読み取ります。会話が開始されたら、Claude Code はキャッシュを無効にする努力レベルの変更を適用する前に確認ダイアログを表示します。モデルのデフォルトを明示的に設定するなど、既に有効な同じレベルに解決される変更は、ダイアログをスキップしてキャッシュを保持します。

87 

88<h3 id="turning-on-fast-mode">

89 高速モードの有効化

90</h3>

91 

92[高速モード](/ja/fast-mode)を有効にすると、キャッシュキーの一部であるリクエストヘッダーが追加されるため、次のリクエストはキャッシュヒットなしで会話履歴全体を読み取ります。これらのキャッシュされていない入力トークンは[高速モードレート](/ja/fast-mode#understand-the-cost-tradeoff)で課金されます。これが、セッションの開始時に有効にする方が、長いセッションの深くで有効にするよりもコストが低い理由です。非 Opus モデルから高速モードを有効にすると、[モデルも切り替わります](#switching-models)。これにより、独自に新しいキャッシュが開始されます。

93 

94コストはキャッシュごとに 1 回適用されます。最初の高速モードターンの後、Claude Code はヘッダーを送信し続け、リクエストの速度設定のみを変更します。これはキャッシュキーの一部ではありません。高速モードをオフにする、[レート制限後の標準速度への自動フォールバック](/ja/fast-mode#handle-rate-limits)、および後で再度有効にすることはすべてキャッシュを保持します。`/clear` と `/compact` はこれをリセットします。これらはとにかくそれらのポイントでキャッシュを再構築するためです。

95 

96<Note>

97 トグル間でヘッダーを保持するには、Claude Code v2.1.86 以降が必要です。以前のバージョンでは、高速モードトグルとレート制限フォールバックのたびにキャッシュが無効になります。

98</Note>

99 

100<h3 id="connecting-or-disconnecting-an-mcp-server">

101 MCP サーバーの接続または切断

102</h3>

103 

104ツール定義はシステムプロンプトレイヤーに存在するため、リクエスト間でリクエスト内のツール定義のセットが変更されるとキャッシュが無効になります。[MCP サーバー](/ja/mcp)の変更がこれを行うかどうかは、そのツールが[ツール検索](/ja/mcp#scale-with-mcp-tool-search)によって遅延されるか、プリフィックスに読み込まれるかによって異なります。

105 

106* **遅延ツール**、サポートされているモデルのデフォルト:サーバーの接続、切断、またはツールリストの変更は、新しいコンテンツのみを追加し、既にキャッシュされているものを妨害しません。

107* **プリフィックスに読み込まれるツール**:それらへの変更はキャッシュを無効にします。これは[ツール検索が利用不可または無効](/ja/mcp#configure-tool-search)な場合に発生します。Haiku モデル、Vertex AI、またはカスタム `ANTHROPIC_BASE_URL` ゲートウェイなど。また、[`alwaysLoad`](/ja/mcp#exempt-a-server-from-deferral)とマークされたサーバーまたはツール、および[しきい値ベースの読み込み](/ja/mcp#configure-tool-search)によって前もって保持される定義についても発生します。

108 

109ツールがプリフィックスに読み込まれる場合、無効化の最も一般的な原因は、セッション中にサーバーが接続または切断されることです。これはアクションなしで発生する可能性があります。stdio サーバーのプロセスが終了するか、HTTP セッションが期限切れになるか、サーバーが[一時的な障害後に自動的に再接続](/ja/mcp#automatic-reconnection)します。接続されたサーバーは、ツールリストを変更する[動的ツール更新](/ja/mcp#dynamic-tool-updates)をプッシュすることもできます。

110 

111MCP 設定を編集しても、それ自体ではキャッシュは変更されません。新しい設定は再起動後にのみ有効になります。これは、サーバーが接続または切断されるときです。

112 

113<h3 id="enabling-or-disabling-a-plugin">

114 プラグインの有効化または無効化

115</h3>

116 

117[プラグイン](/ja/plugins)は複数のコンポーネントタイプをバンドルし、変更のコストはプラグインが提供するコンポーネントによって異なります。Skills、commands、agents、hooks、LSP サーバー、monitors、themes は決してキャッシュを無効にしません。リクエストに追加するものはすべて既存の会話の後に追加されるため、次のリクエストは新しいコンテンツに対して支払いますが、それでもその前のすべてをキャッシュから読み取ります。

118 

119例外は[MCP サーバー](/ja/plugins-reference#mcp-servers)を提供するプラグインです。1 つを有効化または無効化することは、[MCP サーバーの接続または切断](#connecting-or-disconnecting-an-mcp-server)と同じルールに従います。サーバーのツールが遅延されるとキャッシュが保持され、プリフィックスに読み込まれると次のリクエストは会話全体を再度読み取ります。

120 

121プラグインの変更は、[`/reload-plugins`](/ja/discover-plugins#apply-plugin-changes-without-restarting)を実行するか、新しいセッションを開始するときに適用されます。コスト(追加されたアナウンスメントまたは完全な再読み取り)は、`/plugin install`、`/plugin enable`、または `/plugin disable` を実行するときではなく、リロード後の最初のターンに表示されます。

122 

123セッションの前半で有効にしたプラグインを無効にすると、以前のリクエスト形状が復元されます。そのプリフィックスがまだ[キャッシュライフタイム](#cache-lifetime)内にある場合、次のリクエストは再構築するのではなく、古いキャッシュエントリを読み取ります。

124 

125<h3 id="denying-an-entire-tool">

126 ツール全体の拒否

127</h3>

128 

129`Bash` や `WebFetch` のような裸のツール名を[拒否ルール](/ja/permissions#manage-permissions)として追加すると、そのツールは Claude のコンテキストから完全に削除されます。組み込みツール定義はシステムプロンプトレイヤーに読み込まれるため、これらのルールの 1 つを追加または削除するとセッション中にキャッシュが無効になります。変更は、`/permissions` を通じて追加するか、[設定ファイルを直接編集](/ja/settings#when-edits-take-effect)するかにかかわらず、次のターンで有効になります。

130 

131裸のツール名、または同等の `Bash(*)` 形式のみがこの効果を持ちます。`Bash(rm *)` のようなスコープ付き拒否ルール、およびすべての許可ルールと質問ルールは、Claude が見るツールを変更しません。Claude Code は Claude が呼び出しを試みるときにそれらをチェックし、プリフィックスをそのままにします。

132 

133<h3 id="compacting-the-conversation">

134 会話のコンパクト化

135</h3>

136 

137[コンパクト化](/ja/context-window#what-survives-compaction)は、メッセージ履歴を要約に置き換えます。設計上、これは会話レイヤーを無効にします。次のリクエストには、古いものとプリフィックスを共有しない新しい、より短い履歴があるためです。Claude Code はシステムプロンプトレイヤーを再利用し、ディスクからプロジェクトコンテキストを再度読み込みます。これは、セッション開始以降 CLAUDE.md とメモリが変更されていない場合にのみキャッシュヒットします。

138 

139要約を生成するために、Claude Code は、会話と同じシステムプロンプト、ツール、履歴を持つ 1 回限りのリクエストを送信し、最終ユーザーメッセージとして要約命令を追加します。プリフィックスを共有するため、そのリクエストは既存のキャッシュを読み取り、完全な履歴を再処理しません。コンパクト化の時間のほとんどは、キャッシュミスではなく、要約の生成に費やされます。その後のターンは、はるかに短い要約に対してのみ会話キャッシュを再構築するため、コンパクト化後のターンは遅い部分ではありません。

140 

141<Tip>

142 コンパクト化は、不要になったコンテンツを破棄する場合に有利に機能します。オーバーヘッドが発生するタイミングを選択するには、タスク間などの作業の自然な区切りで `/compact` を実行します。完全に放棄したいパスに進んだ場合は、代わりに[`/rewind`](#rewinding-the-conversation)を使用して以前のターンに戻ります。巻き戻しは、コンパクト化が行うように新しいものを構築するのではなく、既にキャッシュされているプリフィックスに切り詰めます。

143</Tip>

144 

145<h3 id="upgrading-claude-code">

146 Claude Code のアップグレード

147</h3>

148 

149新しい Claude Code バージョンは通常、システムプロンプトまたはツール定義を更新するため、アップグレード後の最初のリクエストはキャッシュを最初から再構築します。[自動更新](/ja/setup#auto-updates)は新しいバージョンをバックグラウンドでダウンロードしますが、次の起動時に適用され、セッション中には適用されません。そのため、セッション中のサプライズではなく、再起動後のキャッシュなしの最初のターンとして表示されます。`DISABLE_AUTOUPDATER=1` を設定して、アップグレードが適用されるタイミングを制御します。

150 

151<Note>

152 アップグレード後に[セッションを再開](/ja/sessions#resume-a-session)すると、履歴が異なるシステムプロンプトの後ろに配置されるため、キャッシュヒットなしで会話履歴全体が再処理されます。コストは再開された会話の長さに応じてスケーリングされるため、長いセッションに戻る最初のターンは、送信する最も高価なリクエストになる可能性があります。

153</Note>

154 

155<h2 id="actions-that-keep-the-cache">

156 キャッシュを保持するアクション

157</h2>

158 

159これらのアクションは、会話の最後に追加するか、リクエストにまったく触れません。CLAUDE.md の編集や出力スタイルの変更など、一部は、設定変更が再起動を待つ理由でもあります。

160 

161* [リポジトリ内のファイルの編集](#editing-files-in-your-repository)

162* [セッション中の CLAUDE.md の編集](#editing-claude-md-mid-session)

163* [出力スタイルの変更](#changing-output-style)

164* [権限モードの変更](#changing-permission-mode)

165* [スキルとコマンドの呼び出し](#invoking-skills-and-commands)

166* [`/recap` の実行](#running-%2Frecap)

167* [会話の巻き戻し](#rewinding-the-conversation)

168* [サブエージェントの生成](#subagents-and-the-cache)

169 

170<h3 id="editing-files-in-your-repository">

171 リポジトリ内のファイルの編集

172</h3>

173 

174ファイルコンテンツはコンテキストに入るのは Claude が読むときだけであり、読み取りは会話に追加されます。Claude が以前読んだファイルを編集しても、履歴内の以前の読み取りは遡及的に変更されません。代わりに、Claude Code はファイルが変更されたことを示す `<system-reminder>` を追加し、必要に応じて Claude が再度読み取ります。

175 

176<h3 id="editing-claude-md-mid-session">

177 セッション中の CLAUDE.md の編集

178</h3>

179 

180プロジェクトルートとユーザーレベルの CLAUDE.md ファイルはセッション開始時に 1 回読み取られ、メモリに保持されます。セッション中に編集してもキャッシュは無効になりませんが、編集も適用されません。Claude はセッション開始時に読み込まれたバージョンで作業を続けます。新しいコンテンツは次の `/clear`、`/compact`、または再起動時に読み込まれます。

181 

182[サブディレクトリ内のネストされた CLAUDE.md ファイル](/ja/memory)と[`paths:` frontmatter を持つルール](/ja/memory#path-specific-rules)は、Claude が最初に一致するファイルを読むときに後で読み込まれます。読み込まれる前に編集すると、有効になります。読み込まれた後、コンテンツは会話履歴の一部であるため、セッション中の編集は遡及的に変更されません。

183 

184<h3 id="changing-output-style">

185 出力スタイルの変更

186</h3>

187 

188[出力スタイル](/ja/output-styles)はシステムプロンプトの一部であり、Claude Code はセッション開始時に 1 回読み取ります。`/config` または `outputStyle` 設定を使用してセッション中に変更してもキャッシュは無効になりませんが、変更も適用されません。Claude はセッション開始時に読み込まれたスタイルを使用し続けます。新しいスタイルは次の `/clear` または再起動時に読み込まれます。

189 

190<h3 id="changing-permission-mode">

191 権限モードの変更

192</h3>

193 

194[権限モード](/ja/permission-modes)間の切り替え(デフォルトから編集受け入れへなど)は、システムプロンプトまたはツール定義を変更しないため、モード変更はキャッシュセーフです。例外は、[`opusplan`](/ja/model-config#opusplan-model-setting) モデル設定を使用した Plan mode です。これは、Plan mode に入るか出るときにモデルを Opus と Sonnet の間で切り替えます。これにより、モード切り替えは[モデル切り替え](#switching-models)になります。

195 

196<h3 id="invoking-skills-and-commands">

197 スキルとコマンドの呼び出し

198</h3>

199 

200[スキル](/ja/skills)と[コマンド](/ja/commands)は、呼び出しポイントでユーザーメッセージとして命令を注入します。会話内の以前のものは何も変わりません。

201 

202<h3 id="running-/recap">

203 `/recap` の実行

204</h3>

205 

206[`/recap`](/ja/interactive-mode#session-recap)は、ターミナルに表示するための要約を生成します。`/compact` とは異なり、メッセージ履歴を置き換えるのではなく、コマンド出力として要約を追加するため、キャッシュされたプリフィックスはそのままです。

207 

208<h3 id="rewinding-the-conversation">

209 会話の巻き戻し

210</h3>

211 

212[`/rewind`](/ja/checkpointing)は、会話を以前のターンに切り詰めます。残りの履歴は、その時点でキャッシュが構築されたのと同じコンテンツであり、システムプロンプトとプロジェクトコンテキストレイヤーは変更されないため、次のリクエストは以前のキャッシュエントリにヒットします。それ以降のすべてのターンはそのプリフィックスを通じて読み取られており、元のターンが TTL より長い前であっても、エントリを温かく保ちました。

213 

214会話と一緒にファイルチェックポイントを復元しても、キャッシュに対する個別の効果はありません。ファイルコンテンツはコンテキストに入るのは Claude が読むときだけであり、[リポジトリ内のファイルの編集](#editing-files-in-your-repository)と同じです。

215 

216<h2 id="cache-lifetime">

217 キャッシュライフタイム

218</h2>

219 

220キャッシュされたプリフィックスは、非アクティブ期間後に期限切れになります。キャッシュにヒットするすべてのリクエストはタイマーをリセットするため、作業を続ける限りキャッシュは温かく保たれます。十分に長いギャップの後、次のリクエストは完全な入力を再計算し、キャッシュを再確立します。これが、立ち去った後の最初のターンが顕著に遅い理由です。

221 

222Time to Live(TTL)は、キャッシュが生き残るギャップの長さを制御します。API は 2 つを提供します。5 分の TTL と、より長い休憩を通じてキャッシュを温かく保つ[1 時間の TTL](https://platform.claude.com/docs/ja/build-with-claude/prompt-caching#1-hour-cache-duration)ですが、[キャッシュ書き込みをより高いレートで請求](/ja/build-with-claude/prompt-caching#pricing)します。Claude Code は認証方法に基づいて TTL を選択し、環境変数でオーバーライドできます。

223 

224<h3 id="on-a-claude-subscription">

225 Claude サブスクリプション上

226</h3>

227 

228Claude サブスクリプションでは、Claude Code は 1 時間の TTL を自動的にリクエストします。使用量はトークンごとに請求されるのではなく、プランに含まれるため、より長い TTL は追加費用がかからず、キャッシュが温かく保たれる期間にのみ影響します。

229 

230プランの使用量制限を超えており、Claude Code が[使用クレジット](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)を引き出している場合、その使用量に対して請求されるため、Claude Code は自動的に TTL を 5 分に低下させます。

231 

232<h3 id="on-an-api-key-or-third-party-provider">

233 API キーまたはサードパーティプロバイダー上

234</h3>

235 

236API キー、Bedrock、Vertex、Foundry、または Claude Platform on AWS では、トークンごとのレートを支払うため、TTL はデフォルトでより安い 5 分のままです。[1 時間の TTL](https://platform.claude.com/docs/ja/build-with-claude/prompt-caching#1-hour-cache-duration)にオプトインするには、`ENABLE_PROMPT_CACHING_1H=1` を設定します。

237 

238Bedrock では、プロンプトキャッシングサポート、最小キャッシュ可能プリフィックス長、および 1 時間の TTL 可用性はすべてモデルによって異なります。キャッシュトークン数がゼロのままの場合は、Bedrock ドキュメントの[サポートされているモデル、リージョン、制限](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html#prompt-caching-models)を確認してください。

239 

240<h3 id="override-the-ttl">

241 TTL をオーバーライドする

242</h3>

243 

244`FORCE_PROMPT_CACHING_5M=1` を設定して、認証に関わらず 5 分の TTL を強制します。これは、キャッシング動作をデバッグする場合、2 つの TTL を比較する場合、または[管理設定](/ja/settings#settings-files)で設定された `ENABLE_PROMPT_CACHING_1H` をオーバーライドする場合に便利です。

245 

246<h2 id="cache-scope">

247 キャッシュスコープ

248</h2>

249 

250Claude Code では、キャッシュは事実上 1 つのマシンとディレクトリにスコープされます。システムプロンプトは、作業ディレクトリ、プラットフォーム、シェル、OS バージョン、および自動メモリパスを埋め込むため、異なるディレクトリの 2 つのセッションは異なるプリフィックスを構築し、互いのキャッシュをミスします。これには、同じリポジトリの worktrees が含まれます。各 worktree は独自の作業ディレクトリを持つためです。

251 

252同じディレクトリで並行して実行するセッションは、一致するプリフィックスを構築し、互いのキャッシュを読み取ります。順序付きセッションは、起動時の git ステータススナップショットが一致する場合にのみプリフィックスを共有します。システムプロンプトはブランチと最近のコミットもキャプチャするためです。

253 

254基礎となる API キャッシュはより広いです。キャッシュは組織間で分離され、一部のプロバイダーでは、[組織内のワークスペース間](https://platform.claude.com/docs/ja/build-with-claude/prompt-caching#cache-storage-and-sharing)で分離されます。これらの境界内で、同じモデルとプリフィックスを持つ 2 つのリクエストは同じキャッシュを読み取ります。自動化されたプロセスのフリートを実行する Agent SDK 呼び出し元については、[ユーザーとマシン間でプロンプトキャッシングを改善](/ja/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines)を参照して、システムプロンプトのマシンごとのセクションを抑制し、マシン間でキャッシュを共有します。

255 

256<h2 id="check-cache-performance">

257 キャッシュパフォーマンスを確認する

258</h2>

259 

260キャッシュパフォーマンスは、API がすべての応答で報告する 2 つのトークン数として表示されます。最も直接的な方法は、`current_usage` オブジェクトを読み取る[statusline スクリプト](/ja/statusline)を監視することです。

261 

262| フィールド | 意味 |

263| ----------------------------- | -------------------------------------------- |

264| `cache_creation_input_tokens` | このターンでキャッシュに書き込まれたトークン。キャッシュ書き込みレートで請求されます |

265| `cache_read_input_tokens` | このターンでキャッシュから提供されたトークン。標準入力レートの約 10% で請求されます |

266 

267読み取りから作成への比率が高いほど、キャッシングが機能しています。作成がターンごとに高いままの場合、プリフィックスで何かが変更されています。[キャッシュを無効にするアクション](#actions-that-invalidate-the-cache)セクションは、通常の原因をリストします。

268 

269組織全体の可視性については、OpenTelemetry エクスポーターはユーザーとセッションごとにキャッシュ読み取りと作成トークンを報告します。メトリックとイベント属性リファレンスについては、[使用状況の監視](/ja/monitoring-usage)を参照してください。

270 

271<h2 id="subagents-and-the-cache">

272 サブエージェントとキャッシュ

273</h2>

274 

275[サブエージェント](/ja/sub-agents)は、親とは別に、独自のシステムプロンプトとツールセットを持つ独自の会話を開始します。独自のキャッシュを構築し、最初の呼び出しでキャッシュヒットなしで開始し、独自のターン全体で温まります。サブエージェントは、サブスクリプション上でも 5 分の TTL を使用します。自動 1 時間の TTL はメイン会話に適用されるためです。

276 

277親のキャッシュは影響を受けません。親の側から、サブエージェントの呼び出しと結果は会話に追加され、親のプリフィックスはそのままです。

278 

279一方、[フォーク](/ja/sub-agents#fork-the-current-conversation)は、親のシステムプロンプト、ツール、会話履歴を正確に継承するため、最初のリクエストは親のキャッシュを読み取ります。[会話のコンパクト化](#compacting-the-conversation)で説明されているコンパクト化要約呼び出しは、同じプリフィックス共有アプローチを使用します。

280 

281<h2 id="disable-prompt-caching">

282 プロンプトキャッシングを無効にする

283</h2>

284 

285キャッシング動作を特定のモデルまたはプロバイダーでデバッグするときは、キャッシングを無効にすることが時々役立ちます。オフにするには、これらの環境変数のいずれかを `1` に設定します。

286 

287| 変数 | 効果 |

288| ------------------------------- | ------------------ |

289| `DISABLE_PROMPT_CACHING` | すべてのモデルに対して無効にする |

290| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku のみに対して無効にする |

291| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet のみに対して無効にする |

292| `DISABLE_PROMPT_CACHING_OPUS` | Opus のみに対して無効にする |

293 

294組織全体でキャッシングポリシーを設定するには、これらのいずれかまたは[TTL 変数](#cache-lifetime)を[管理設定](/ja/settings#settings-files)の `env` ブロックに入れます。通常の使用では、キャッシングを有効のままにしてください。

295 

296<h2 id="related-resources">

297 関連リソース

298</h2>

299 

300* [Claude Code の構築から学んだ教訓: プロンプトキャッシングがすべて](https://claude.com/blog/lessons-from-building-claude-code-prompt-caching-is-everything): Plan mode、遅延ツール読み込み、コンパクト化の設計根拠

301* [コンテキストウィンドウを探索](/ja/context-window): コンテキストに読み込まれるもの、いつ読み込まれるか

302* [トークン使用量を削減](/ja/costs#reduce-token-usage): コンテキストサイズを管理するためのキャッシング以外の戦略

303* [コストを追跡および削減](/ja/agent-sdk/cost-tracking): Agent SDK 呼び出し元のキャッシュトークン追跡と TTL 設定

304* [プロンプトキャッシング](https://platform.claude.com/docs/ja/build-with-claude/prompt-caching): 基礎となる API メカニズム、ブレークポイント、価格設定

prompt-library.md +76 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# プロンプトライブラリ

6 

7> Claude Code 用のコピー&ペーストプロンプト。タスクと役割でタグ付けされています。

8 

9これは Claude Code にコピーして使用するプロンプトのライブラリです。試したことのない作業方法を探索したり、どこから始めたらよいかわからない場合に使用してください。

10 

11プロンプトは、[一般的なワークフロー](/ja/common-workflows)、[ベストプラクティス](/ja/best-practices)、[Anthropic チームが Claude Code をどのように使用しているか](https://claude.com/blog/how-anthropic-teams-use-claude-code)など、様々な Anthropic ガイドから収集されています。これらはスクリプトではなく、出発点です。任意のプロンプトの下にある **このプロンプトが機能する理由** を開くと、その背後にあるパターンを確認できるため、独自のプロンプトを作成できます。

12 

13<h2 id="what-makes-these-prompts-work">

14 これらのプロンプトを機能させるもの

15</h2>

16 

17上記のプロンプトはいくつかのパターンを共有しています。それらを認識することは、ここで任意のプロンプトを独自のタスクに適応させるのに役立ちます。

18 

19**ステップではなく結果を説明してください。** 何をしたいかを言い、Claude にファイルを見つけさせてください。以下のプロンプトは、単一のファイルパスを名前付けなくても機能します。

20 

21```text theme={null}

22add rate limiting to the public API and make sure existing tests still pass

23```

24 

25**自分の作業をチェックする方法を与えてください。** 同じプロンプトで実行、テスト、比較、または検証を依頼して、Claude が 1 回の試行後に停止する代わりに反復するようにしてください。

26 

27```text theme={null}

28write the migration, run it against the dev database, and confirm the schema matches

29```

30 

31**参照を指してください。** 既存のファイル、テスト、またはパターンに名前を付けて、新しいコードが既に持っているものと一致するようにしてください。

32 

33```text theme={null}

34add a settings page that follows the same layout as the profile page

35```

36 

37**測定可能なターゲットを述べてください。** 目標がパフォーマンスまたはカバレッジの場合、メトリックとしきい値を指定して、完了が明確になるようにしてください。

38 

39```text theme={null}

40get the bundle size under 200KB and show me what you removed

41```

42 

43**アーティファクトを与えてください。** エラー、ログ、スクリーンショット、プラン出力をプロンプトに直接ペーストするか、`@` を入力してファイルを参照してください。Claude はあなたの説明ではなくソースを読みます。

44 

45```text theme={null}

46why is the build failing? @build.log

47```

48 

49**答えてほしい方法を言ってください。** 形式、長さ、または対象者に名前を付けて、説明がどのように使用するかに適合するようにしてください。すべての応答のデフォルトとして形式を作成するには、[出力スタイル](/ja/output-styles)を設定してください。

50 

51```text theme={null}

52explain how the payment retry logic works as an HTML page with a diagram, then open it in my browser

53```

54 

55各パターンの詳細については、[ベストプラクティス](/ja/best-practices)を参照してください。

56 

57<h2 id="where-these-come-from">

58 これらはどこから来ているのか

59</h2>

60 

61これらのプロンプトは、公開されている Anthropic リソースのパターンに基づいています。各カードはそのソースにリンクしています:

62 

63* [一般的なワークフロー](/ja/common-workflows): コアタスクのステップバイステップガイド

64* [ベストプラクティス](/ja/best-practices): プロンプティングパターンとプロジェクトセットアップ

65* [Anthropic チームが Claude Code をどのように使用しているか](https://claude.com/blog/how-anthropic-teams-use-claude-code): エンジニアリング、プロダクト、デザイン、データチームからの実際のワークフロー。[法務](https://claude.com/blog/how-anthropic-uses-claude-legal)、[マーケティング](https://claude.com/blog/how-anthropic-uses-claude-marketing)、[サイバーセキュリティ](https://claude.com/blog/how-anthropic-uses-claude-cybersecurity)の詳細なダイブ

66* [agentic coding スケーリングガイド](https://resources.anthropic.com/hubfs/Scaling%20agentic%20coding%20across%20your%20organization.pdf): エンタープライズ採用ガイド

67 

68これらのパターンのビデオウォークスルーについては、Anthropic Academy の無料 [Claude Code in Action](https://anthropic.skilljar.com/claude-code-in-action)コースを参照してください。

69 

70<h2 id="related-resources">

71 関連リソース

72</h2>

73 

74このページのプロンプトは出発点です。1 つがプロジェクトで機能したら、次のステップはそれを繰り返し可能にすることです。[スキル](/ja/skills)として保存して、チーム内の誰でも `/command` として実行でき、Claude が学習したコンベンションを [CLAUDE.md](/ja/memory)に記録して、すべてのセッションがその文脈で開始されるようにしてください。より大きなまたはより危険な変更については、[プランモード](/ja/permission-modes#analyze-before-you-edit-with-plan-mode)は編集が発生する前にファイルリストを表示します。

75 

76チーム全体に Claude Code を導入している場合は、管理設定とポリシーについては [管理](/ja/admin-setup)を、このワークがプランでどのように請求されるかについては [コストと使用状況](/ja/costs)を参照してください。

quickstart.md +44 −18

Details

8 8 

9このクイックスタートガイドを使用すれば、数分で AI を活用したコーディング支援を利用できます。このガイドを終了する頃には、一般的な開発タスクに Claude Code を使用する方法を理解できるようになります。9このクイックスタートガイドを使用すれば、数分で AI を活用したコーディング支援を利用できます。このガイドを終了する頃には、一般的な開発タスクに Claude Code を使用する方法を理解できるようになります。

10 10 

11## 始める前に11<h2 id="before-you-begin">

12 始める前に

13</h2>

12 14 

13以下を確認してください:15以下を確認してください:

14 16 


21 このガイドはターミナル CLI について説明しています。Claude Code は[ウェブ](https://claude.ai/code)、[デスクトップアプリ](/ja/desktop)、[VS Code](/ja/vs-code) および [JetBrains IDE](/ja/jetbrains)、[Slack](/ja/slack)、および [GitHub Actions](/ja/github-actions) と [GitLab](/ja/gitlab-ci-cd) を使用した CI/CD でも利用できます。[すべてのインターフェース](/ja/overview#use-claude-code-everywhere)を参照してください。23 このガイドはターミナル CLI について説明しています。Claude Code は[ウェブ](https://claude.ai/code)、[デスクトップアプリ](/ja/desktop)、[VS Code](/ja/vs-code) および [JetBrains IDE](/ja/jetbrains)、[Slack](/ja/slack)、および [GitHub Actions](/ja/github-actions) と [GitLab](/ja/gitlab-ci-cd) を使用した CI/CD でも利用できます。[すべてのインターフェース](/ja/overview#use-claude-code-everywhere)を参照してください。

22</Note>24</Note>

23 25 

24## ステップ 1:Claude Code をインストールする26<h2 id="step-1-install-claude-code">

27 ステップ 1:Claude Code をインストールする

28</h2>

25 29 

26To install Claude Code, use one of the following methods:30To install Claude Code, use one of the following methods:

27 31 


79 83 

80You can also install with [apt, dnf, or apk](/en/setup#install-with-linux-package-managers) on Debian, Fedora, RHEL, and Alpine.84You can also install with [apt, dnf, or apk](/en/setup#install-with-linux-package-managers) on Debian, Fedora, RHEL, and Alpine.

81 85 

82## ステップ 2:アカウントにログインする86<h2 id="step-2-log-in-to-your-account">

87 ステップ 2:アカウントにログインする

88</h2>

83 89 

84Claude Code を使用するにはアカウントが必要です。`claude` コマンドでインタラクティブセッションを開始すると、ログインが必要になります90Claude Code を使用するにはアカウントが必要です。`claude` コマンドでインタラクティブセッションを開始すると、初回使用時にログインするよう求められます

85 91 

86```bash theme={null}92```bash theme={null}

87claude93claude

88# 初回使用時にログインするよう求められます

89```94```

90 95 

91```bash theme={null}96Claude サブスクリプションまたは Console アカウントの場合は、プロンプトに従ってブラウザで認証を完了してください。後でアカウントを切り替えるか再認証するには、実行中のセッション内で `/login` と入力します:

97 

98```text theme={null}

92/login99/login

93# プロンプトに従ってアカウントでログインします

94```100```

95 101 

96以下のいずれかのアカウントタイプを使用してログインできます:102以下のいずれかのアカウントタイプを使用してログインできます:


99* [Claude Console](https://console.anthropic.com/)(プリペイドクレジット付き API アクセス)。初回ログイン時に、コスト追跡を一元化するために「Claude Code」ワークスペースが Console に自動的に作成されます。105* [Claude Console](https://console.anthropic.com/)(プリペイドクレジット付き API アクセス)。初回ログイン時に、コスト追跡を一元化するために「Claude Code」ワークスペースが Console に自動的に作成されます。

100* [Amazon Bedrock、Google Vertex AI、または Microsoft Foundry](/ja/third-party-integrations)(エンタープライズクラウドプロバイダー)106* [Amazon Bedrock、Google Vertex AI、または Microsoft Foundry](/ja/third-party-integrations)(エンタープライズクラウドプロバイダー)

101 107 

102ログイン後、認証情報がシステムに保存され、再度ログインする必要はありません。後でアカウントを切り替えるには、`/login` コマンドを使用します。108ログイン後、認証情報が保存され、再度ログインする必要はありません。

103 109 

104## ステップ 3:最初のセッションを開始する110<h2 id="step-3-start-your-first-session">

111 ステップ 3:最初のセッションを開始する

112</h2>

105 113 

106任意のプロジェクトディレクトリでターミナルを開き、Claude Code を開始します:114任意のプロジェクトディレクトリでターミナルを開き、Claude Code を開始します:

107 115 


116 ログイン後(ステップ 2)、認証情報がシステムに保存されます。詳細については、[認証情報管理](/ja/authentication#credential-management)を参照してください。124 ログイン後(ステップ 2)、認証情報がシステムに保存されます。詳細については、[認証情報管理](/ja/authentication#credential-management)を参照してください。

117</Tip>125</Tip>

118 126 

119## ステップ 4:最初の質問をする127<h2 id="step-4-ask-your-first-question">

128 ステップ 4:最初の質問をする

129</h2>

120 130 

121コードベースを理解することから始めましょう。以下のコマンドのいずれかを試してください:131コードベースを理解することから始めましょう。以下のコマンドのいずれかを試してください:

122 132 


156 Claude Code は必要に応じてプロジェクトファイルを読み込みます。コンテキストを手動で追加する必要はありません。166 Claude Code は必要に応じてプロジェクトファイルを読み込みます。コンテキストを手動で追加する必要はありません。

157</Note>167</Note>

158 168 

159## ステップ 5:最初のコード変更を行う169<h2 id="step-5-make-your-first-code-change">

170 ステップ 5:最初のコード変更を行う

171</h2>

160 172 

161次に、Claude Code に実際のコーディングを行わせましょう。簡単なタスクを試してください:173次に、Claude Code に実際のコーディングを行わせましょう。簡単なタスクを試してください:

162 174 


175 Claude Code はファイルを変更する前に常に許可を求めます。個別の変更を承認するか、セッション中に「すべて承認」モードを有効にすることができます。187 Claude Code はファイルを変更する前に常に許可を求めます。個別の変更を承認するか、セッション中に「すべて承認」モードを有効にすることができます。

176</Note>188</Note>

177 189 

178## ステップ 6:Claude Code で Git を使用する190<h2 id="step-6-use-git-with-claude-code">

191 ステップ 6:Claude Code で Git を使用する

192</h2>

179 193 

180Claude Code は Git 操作を会話形式にします:194Claude Code は Git 操作を会話形式にします:

181 195 


201マージコンフリクトの解決を手伝ってください215マージコンフリクトの解決を手伝ってください

202```216```

203 217 

204## ステップ 7:バグを修正するか機能を追加する218<h2 id="step-7-fix-a-bug-or-add-a-feature">

219 ステップ 7:バグを修正するか機能を追加する

220</h2>

205 221 

206Claude はデバッグと機能実装に長けています。222Claude はデバッグと機能実装に長けています。

207 223 


224* ソリューションを実装する240* ソリューションを実装する

225* 利用可能な場合はテストを実行する241* 利用可能な場合はテストを実行する

226 242 

227## ステップ 8:他の一般的なワークフローを試す243<h2 id="step-8-test-out-other-common-workflows">

244 ステップ 8:他の一般的なワークフローを試す

245</h2>

228 246 

229Claude と連携する方法は多数あります:247Claude と連携する方法は多数あります:

230 248 


256 有能な同僚と話すように Claude と話してください。実現したいことを説明すれば、それを実現するのに役立ちます。274 有能な同僚と話すように Claude と話してください。実現したいことを説明すれば、それを実現するのに役立ちます。

257</Tip>275</Tip>

258 276 

259## 必須コマンド277<h2 id="essential-commands">

278 必須コマンド

279</h2>

260 280 

261日常的に使用する最も重要なコマンドは以下の通りです:281日常的に使用する最も重要なコマンドは以下の通りです:

262 282 


273 293 

274コマンドの完全なリストについては、[CLI リファレンス](/ja/cli-reference)を参照してください。294コマンドの完全なリストについては、[CLI リファレンス](/ja/cli-reference)を参照してください。

275 295 

276## 初心者向けのプロのヒント296<h2 id="pro-tips-for-beginners">

297 初心者向けのプロのヒント

298</h2>

277 299 

278詳細については、[ベストプラクティス](/ja/best-practices)と[一般的なワークフロー](/ja/common-workflows)を参照してください。300詳細については、[ベストプラクティス](/ja/best-practices)と[一般的なワークフロー](/ja/common-workflows)を参照してください。

279 301 


314 </Accordion>336 </Accordion>

315</AccordionGroup>337</AccordionGroup>

316 338 

317## 次のステップ339<h2 id="what-s-next">

340 次のステップ

341</h2>

318 342 

319基本を学習したので、より高度な機能を探索してください:343基本を学習したので、より高度な機能を探索してください:

320 344 


336 </Card>360 </Card>

337</CardGroup>361</CardGroup>

338 362 

339## ヘルプを取得する363<h2 id="getting-help">

364 ヘルプを取得する

365</h2>

340 366 

341* **Claude Code 内**:`/help` を入力するか、「how do I...」と質問する367* **Claude Code 内**:`/help` を入力するか、「how do I...」と質問する

342* **ドキュメント**:ここにいます!他のガイドを参照してください368* **ドキュメント**:ここにいます!他のガイドを参照してください

Details

1223. 既存の会話履歴の最後の意味のあるメッセージ1223. 既存の会話履歴の最後の意味のあるメッセージ

1234. `myhost-graceful-unicorn` のような自動生成名。ここで `myhost` はマシンのホスト名または `--remote-control-session-name-prefix` で設定したプレフィックスです1234. `myhost-graceful-unicorn` のような自動生成名。ここで `myhost` はマシンのホスト名または `--remote-control-session-name-prefix` で設定したプレフィックスです

124 124 

125明示的な名前を設定しなかった場合、タイトルはプロンプトを送信すると更新されて反映されます。125明示的な名前を設定しなかった場合、タイトルはプロンプトを送信すると更新されて反映されます。claude.ai または Claude アプリからセッションの名前を変更すると、`claude --resume` に表示されるローカルタイトルも更新されます。

126 126 

127環境に既にアクティブなセッションがある場合は、それを続行するか新しいセッションを開始するかを尋ねられます。127環境に既にアクティブなセッションがある場合は、それを続行するか新しいセッションを開始するかを尋ねられます。

128 128 

routines.md +85 −24

Details

26 26 

27このページでは、ルーティンの作成、各トリガータイプの構成、実行の管理、および使用制限の適用方法について説明します。27このページでは、ルーティンの作成、各トリガータイプの構成、実行の管理、および使用制限の適用方法について説明します。

28 28 

29## ユースケースの例29<h2 id="example-use-cases">

30 ユースケースの例

31</h2>

30 32 

31各例は、トリガータイプと、ルーティンが適している作業の種類をペアにしています。無人で実行でき、繰り返し可能で、明確な成果に結びついています。33各例は、トリガータイプと、ルーティンが適している作業の種類をペアにしています。無人で実行でき、繰り返し可能で、明確な成果に結びついています。

32 34 


44 46 

45以下のセクションでは、ルーティンの作成と各トリガータイプの構成について説明します。47以下のセクションでは、ルーティンの作成と各トリガータイプの構成について説明します。

46 48 

47## ルーティンを作成する49<h2 id="create-a-routine">

50 ルーティンを作成する

51</h2>

48 52 

49Web の [claude.ai/code/routines](https://claude.ai/code/routines)、Desktop アプリ、または CLI からルーティンを作成します。3 つのサーフェスすべてが同じクラウドアカウントに書き込むため、1 つで作成したルーティンは他のサーフェスに即座に表示されます。Desktop アプリで、サイドバーの **Routines** をクリックしてから **New routine** をクリックし、**Remote** を選択します。代わりに **Local** を選択すると、[Desktop スケジュール済みタスク](/ja/desktop-scheduled-tasks) が作成されます。これはクラウドではなくマシンで実行されます。53Web の [claude.ai/code/routines](https://claude.ai/code/routines)、Desktop アプリ、または CLI からルーティンを作成します。3 つのサーフェスすべてが同じクラウドアカウントに書き込むため、1 つで作成したルーティンは他のサーフェスに即座に表示されます。Desktop アプリで、サイドバーの **Routines** をクリックしてから **New routine** をクリックし、**Remote** を選択します。代わりに **Local** を選択すると、[Desktop スケジュール済みタスク](/ja/desktop-scheduled-tasks) が作成されます。これはクラウドではなくマシンで実行されます。

50 54 


54 58 

55ルーティンは個別の claude.ai アカウントに属します。チームメイトと共有されず、アカウントの日次実行許容量に対してカウントされます。ルーティンが接続された GitHub ID またはコネクタを通じて行うことはすべて、あなたとして表示されます。コミットとプルリクエストは GitHub ユーザーを持ち、Slack メッセージ、Linear チケット、またはその他のコネクタアクションはそれらのサービスのリンクされたアカウントを使用します。59ルーティンは個別の claude.ai アカウントに属します。チームメイトと共有されず、アカウントの日次実行許容量に対してカウントされます。ルーティンが接続された GitHub ID またはコネクタを通じて行うことはすべて、あなたとして表示されます。コミットとプルリクエストは GitHub ユーザーを持ち、Slack メッセージ、Linear チケット、またはその他のコネクタアクションはそれらのサービスのリンクされたアカウントを使用します。

56 60 

57### Web から作成する61<h3 id="create-from-the-web">

62 Web から作成する

63</h3>

58 64 

59<Steps>65<Steps>

60 <Step title="作成フォームを開く">66 <Step title="作成フォームを開く">


114 </Step>120 </Step>

115</Steps>121</Steps>

116 122 

117### CLI から作成する123<h3 id="create-from-the-cli">

124 CLI から作成する

125</h3>

118 126 

119任意のセッションで `/schedule` を実行して、スケジュール済みルーティンを会話形式で作成します。`/schedule daily PR review at 9am` のような定期ルーティンや `/schedule clean up feature flag in one week` のような 1 回限りのルーティンのように、説明を直接渡すこともできます。Claude は Web フォームが収集するのと同じ情報を通じて、ルーティンをアカウントに保存します。127任意のセッションで `/schedule` を実行して、スケジュール済みルーティンを会話形式で作成します。`/schedule daily PR review at 9am` のような定期ルーティンや `/schedule clean up feature flag in one week` のような 1 回限りのルーティンのように、説明を直接渡すこともできます。Claude は Web フォームが収集するのと同じ情報を通じて、ルーティンをアカウントに保存します。

120 128 


122 130 

123CLI は既存のルーティンの管理もサポートしています。`/schedule list` を実行してすべてのルーティンを表示し、`/schedule update` を実行して 1 つを変更するか、`/schedule run` を実行してすぐにトリガーします。131CLI は既存のルーティンの管理もサポートしています。`/schedule list` を実行してすべてのルーティンを表示し、`/schedule update` を実行して 1 つを変更するか、`/schedule run` を実行してすぐにトリガーします。

124 132 

125## トリガーを構成する133<h2 id="configure-triggers">

134 トリガーを構成する

135</h2>

126 136 

127ルーティンはトリガーの 1 つが一致したときに開始されます。同じルーティンにスケジュール、API、GitHub トリガーの任意の組み合わせを接続でき、ルーティンの編集フォームの **Select a trigger** セクションからいつでも追加または削除できます。137ルーティンはトリガーの 1 つが一致したときに開始されます。同じルーティンにスケジュール、API、GitHub トリガーの任意の組み合わせを接続でき、ルーティンの編集フォームの **Select a trigger** セクションからいつでも追加または削除できます。

128 138 

129### スケジュールトリガーを追加する139<h3 id="add-a-schedule-trigger">

140 スケジュールトリガーを追加する

141</h3>

130 142 

131スケジュールトリガーは定期的なペースでルーティンを実行するか、特定の将来の時刻に 1 回実行します。**Select a trigger** セクションでプリセット周波数を選択します。時間ごと、毎日、平日、または毎週。時間はローカルゾーンで入力され、自動的に変換されるため、ルーティンはクラウドインフラストラクチャがどこにあるかに関係なく、その壁時計時間で実行されます。143スケジュールトリガーは定期的なペースでルーティンを実行するか、特定の将来の時刻に 1 回実行します。**Select a trigger** セクションでプリセット周波数を選択します。時間ごと、毎日、平日、または毎週。時間はローカルゾーンで入力され、自動的に変換されるため、ルーティンはクラウドインフラストラクチャがどこにあるかに関係なく、その壁時計時間で実行されます。

132 144 


134 146 

1352 時間ごと、または毎月の最初など、カスタム間隔の場合は、フォームで最も近いプリセットを選択してから、CLI で `/schedule update` を実行して特定の cron 式を設定します。最小間隔は 1 時間です。より頻繁に実行される式は拒否されます。1472 時間ごと、または毎月の最初など、カスタム間隔の場合は、フォームで最も近いプリセットを選択してから、CLI で `/schedule update` を実行して特定の cron 式を設定します。最小間隔は 1 時間です。より頻繁に実行される式は拒否されます。

136 148 

137#### 1 回限りの実行をスケジュールする149<h4 id="schedule-a-one-off-run">

150 1 回限りの実行をスケジュールする

151</h4>

138 152 

1391 回限りのスケジュールは、特定のタイムスタンプでルーティンを 1 回だけ実行します。週の後半に自分自身に通知したり、ロールアウトが完了した後にクリーンアップ PR を開いたり、アップストリームの変更がランディングしたときにフォローアップタスクをキックオフしたりするために使用します。ルーティンが実行された後、自動的に無効になり、Web UI は **Ran** としてマークします。再度実行するには、ルーティンを編集して新しい 1 回限りの時刻を設定します。1531 回限りのスケジュールは、特定のタイムスタンプでルーティンを 1 回だけ実行します。週の後半に自分自身に通知したり、ロールアウトが完了した後にクリーンアップ PR を開いたり、アップストリームの変更がランディングしたときにフォローアップタスクをキックオフしたりするために使用します。ルーティンが実行された後、自動的に無効になり、Web UI は **Ran** としてマークします。再度実行するには、ルーティンを編集して新しい 1 回限りの時刻を設定します。

140 154 


152 166 

1531 回限りの実行は日次ルーティン実行上限にカウントされません。これらは他のセッションと同様に、プランの通常のサブスクリプション使用量を消費します。詳細については、[使用量と制限](#usage-and-limits) を参照してください。1671 回限りの実行は日次ルーティン実行上限にカウントされません。これらは他のセッションと同様に、プランの通常のサブスクリプション使用量を消費します。詳細については、[使用量と制限](#usage-and-limits) を参照してください。

154 168 

155### API トリガーを追加する169<h3 id="add-an-api-trigger">

170 API トリガーを追加する

171</h3>

156 172 

157API トリガーはルーティンに専用 HTTP エンドポイントを提供します。ルーティンのベアラートークンでエンドポイントに POST すると、新しいセッションが開始され、セッション URL が返されます。これを使用して Claude Code をアラートシステム、デプロイパイプライン、内部ツール、または認証済み HTTP リクエストを実行できる任意の場所に接続します。173API トリガーはルーティンに専用 HTTP エンドポイントを提供します。ルーティンのベアラートークンでエンドポイントに POST すると、新しいセッションが開始され、セッション URL が返されます。これを使用して Claude Code をアラートシステム、デプロイパイプライン、内部ツール、または認証済み HTTP リクエストを実行できる任意の場所に接続します。

158 174 


178 194 

179各ルーティンは独自のトークンを持ち、そのルーティンのトリガーのみにスコープされています。ローテーションまたは取り消すには、同じモーダルに戻り、**Regenerate** または **Revoke** をクリックします。195各ルーティンは独自のトークンを持ち、そのルーティンのトリガーのみにスコープされています。ローテーションまたは取り消すには、同じモーダルに戻り、**Regenerate** または **Revoke** をクリックします。

180 196 

181#### ルーティンをトリガーする197<h4 id="trigger-a-routine">

198 ルーティンをトリガーする

199</h4>

182 200 

183`Authorization` ヘッダーのベアラートークンで `/fire` エンドポイントに POST リクエストを送信します。リクエスト本文は、アラート本文またはログの失敗など、実行固有のコンテキスト用のオプションの `text` フィールドを受け入れます。保存されたプロンプトと共にルーティンに渡されます。値はフリーフォームテキストで、解析されません。JSON または別の構造化ペイロードを送信する場合、ルーティンはリテラル文字列として受け取ります。201`Authorization` ヘッダーのベアラートークンで `/fire` エンドポイントに POST リクエストを送信します。リクエスト本文は、アラート本文またはログの失敗など、実行固有のコンテキスト用のオプションの `text` フィールドを受け入れます。保存されたプロンプトと共にルーティンに渡されます。値はフリーフォームテキストで、解析されません。JSON または別の構造化ペイロードを送信する場合、ルーティンはリテラル文字列として受け取ります。

184 202 


209 `/fire` エンドポイントは `experimental-cc-routine-2026-04-01` ベータヘッダーの下で出荷されます。リクエストと応答の形状、レート制限、トークンセマンティクスは、機能がリサーチプレビュー段階にある間に変更される可能性があります。破壊的な変更は新しい日付付きベータヘッダーバージョンの背後で出荷され、最新の 2 つの前のヘッダーバージョンは引き続き機能するため、呼び出し元は移行する時間があります。227 `/fire` エンドポイントは `experimental-cc-routine-2026-04-01` ベータヘッダーの下で出荷されます。リクエストと応答の形状、レート制限、トークンセマンティクスは、機能がリサーチプレビュー段階にある間に変更される可能性があります。破壊的な変更は新しい日付付きベータヘッダーバージョンの背後で出荷され、最新の 2 つの前のヘッダーバージョンは引き続き機能するため、呼び出し元は移行する時間があります。

210</Warning>228</Warning>

211 229 

212#### API リファレンス230<h4 id="api-reference">

231 API リファレンス

232</h4>

213 233 

214すべてのエラー応答、検証ルール、フィールド制限を含む完全な API リファレンスについては、Claude Platform ドキュメントの [API 経由でルーティンをトリガーする](https://platform.claude.com/docs/ja/api/claude-code/routines-fire) を参照してください。234すべてのエラー応答、検証ルール、フィールド制限を含む完全な API リファレンスについては、Claude Platform ドキュメントの [API 経由でルーティンをトリガーする](https://platform.claude.com/docs/ja/api/claude-code/routines-fire) を参照してください。

215 235 

216`/fire` エンドポイントは claude.ai ユーザーのみが利用でき、Claude Platform API サーフェスの一部ではありません。236`/fire` エンドポイントは claude.ai ユーザーのみが利用でき、Claude Platform API サーフェスの一部ではありません。

217 237 

218### GitHub トリガーを追加する238<h3 id="add-a-github-trigger">

239 GitHub トリガーを追加する

240</h3>

219 241 

220GitHub トリガーは、接続されたリポジトリで一致するイベントが発生したときに、新しいセッションを自動的に開始します。一致する各イベントは独自のセッションを開始します。242GitHub トリガーは、接続されたリポジトリで一致するイベントが発生したときに、新しいセッションを自動的に開始します。一致する各イベントは独自のセッションを開始します。

221 243 


247 </Step>269 </Step>

248</Steps>270</Steps>

249 271 

250#### サポートされているイベント272<h4 id="supported-events">

273 サポートされているイベント

274</h4>

251 275 

252GitHub トリガーは、次のいずれかのイベントカテゴリにサブスクライブできます。各カテゴリ内で、`pull_request.opened` などの特定のアクションを選択するか、カテゴリ内のすべてのアクションに反応することができます。276GitHub トリガーは、次のいずれかのイベントカテゴリにサブスクライブできます。各カテゴリ内で、`pull_request.opened` などの特定のアクションを選択するか、カテゴリ内のすべてのアクションに反応することができます。

253 277 


256| プルリクエスト | PR がオープン、クローズ、割り当て、ラベル付け、同期、またはその他の方法で更新されたとき |280| プルリクエスト | PR がオープン、クローズ、割り当て、ラベル付け、同期、またはその他の方法で更新されたとき |

257| リリース | リリースが作成、公開、編集、または削除されたとき |281| リリース | リリースが作成、公開、編集、または削除されたとき |

258 282 

259#### プルリクエストをフィルタリングする283<h4 id="filter-pull-requests">

284 プルリクエストをフィルタリングする

285</h4>

260 286 

261フィルタを使用して、新しいセッションを開始するプルリクエストを絞り込みます。すべてのフィルタ条件がルーティンをトリガーするために一致する必要があります。利用可能なフィルタフィールドは次のとおりです。287フィルタを使用して、新しいセッションを開始するプルリクエストを絞り込みます。すべてのフィルタ条件がルーティンをトリガーするために一致する必要があります。利用可能なフィルタフィールドは次のとおりです。

262 288 


281* **レビュー準備完了のみ**: ドラフト `false`。ドラフトをスキップして、ルーティンが PR がレビュー準備完了のときのみ実行されるようにします。307* **レビュー準備完了のみ**: ドラフト `false`。ドラフトをスキップして、ルーティンが PR がレビュー準備完了のときのみ実行されるようにします。

282* **ラベルゲート付きバックポート**: ラベルに `needs-backport` を含む。メンテナーが PR にタグを付けたときのみ、別のブランチへのポートルーティンをトリガーします。308* **ラベルゲート付きバックポート**: ラベルに `needs-backport` を含む。メンテナーが PR にタグを付けたときのみ、別のブランチへのポートルーティンをトリガーします。

283 309 

284#### セッションがイベントにマップされる方法310<h4 id="how-sessions-map-to-events">

311 セッションがイベントにマップされる方法

312</h4>

285 313 

286一致する各 GitHub イベントは新しいセッションを開始します。GitHub トリガー付きルーティンではイベント間のセッション再利用は利用できないため、2 つの PR 更新は 2 つの独立したセッションを生成します。314一致する各 GitHub イベントは新しいセッションを開始します。GitHub トリガー付きルーティンではイベント間のセッション再利用は利用できないため、2 つの PR 更新は 2 つの独立したセッションを生成します。

287 315 

288## ルーティンを管理する316<h2 id="manage-routines">

317 ルーティンを管理する

318</h2>

289 319 

290リストのルーティンをクリックして、詳細ページを開きます。詳細ページには、ルーティンのリポジトリ、コネクタ、プロンプト、スケジュール、API トークン、GitHub トリガー、および過去の実行のリストが表示されます。320リストのルーティンをクリックして、詳細ページを開きます。詳細ページには、ルーティンのリポジトリ、コネクタ、プロンプト、スケジュール、API トークン、GitHub トリガー、および過去の実行のリストが表示されます。

291 321 

292### 実行を表示して操作する322<h3 id="view-and-interact-with-runs">

323 実行を表示して操作する

324</h3>

293 325 

294任意の実行をクリックして、完全なセッションとして開きます。そこから Claude が何をしたかを確認し、変更をレビューし、プルリクエストを作成するか、会話を続行できます。各実行セッションは他のセッションと同じように機能します。セッションタイトルの横のドロップダウンメニューを使用して、名前変更、アーカイブ、または削除します。326任意の実行をクリックして、完全なセッションとして開きます。そこから Claude が何をしたかを確認し、変更をレビューし、プルリクエストを作成するか、会話を続行できます。各実行セッションは他のセッションと同じように機能します。セッションタイトルの横のドロップダウンメニューを使用して、名前変更、アーカイブ、または削除します。

295 327 


297 実行リストの緑色のステータスは、セッションが開始され、インフラストラクチャエラーなしで終了したことを意味します。プロンプト内のタスクが成功したことを意味するものではありません。実行を開く際にトランスクリプトを読み、Claude が実際に何をしたかを確認してください。ブロックされたネットワークリクエスト、欠落しているコネクタツール、およびタスクレベルの失敗はすべて、ステータスインジケータではなくそこに表示されます。329 実行リストの緑色のステータスは、セッションが開始され、インフラストラクチャエラーなしで終了したことを意味します。プロンプト内のタスクが成功したことを意味するものではありません。実行を開く際にトランスクリプトを読み、Claude が実際に何をしたかを確認してください。ブロックされたネットワークリクエスト、欠落しているコネクタツール、およびタスクレベルの失敗はすべて、ステータスインジケータではなくそこに表示されます。

298</Note>330</Note>

299 331 

300### ルーティンを編集して制御する332<h3 id="edit-and-control-routines">

333 ルーティンを編集して制御する

334</h3>

301 335 

302ルーティン詳細ページから以下を実行できます。336ルーティン詳細ページから以下を実行できます。

303 337 


306* 鉛筆アイコンをクリックして **Edit routine** を開き、名前、プロンプト、リポジトリ、環境、コネクタ、またはルーティンのトリガーを変更します。**Select a trigger** セクションは、スケジュール、API トークン、GitHub イベントトリガーを追加または削除する場所です。340* 鉛筆アイコンをクリックして **Edit routine** を開き、名前、プロンプト、リポジトリ、環境、コネクタ、またはルーティンのトリガーを変更します。**Select a trigger** セクションは、スケジュール、API トークン、GitHub イベントトリガーを追加または削除する場所です。

307* 削除アイコンをクリックしてルーティンを削除します。ルーティンによって作成された過去のセッションはセッションリストに残ります。341* 削除アイコンをクリックしてルーティンを削除します。ルーティンによって作成された過去のセッションはセッションリストに残ります。

308 342 

309### リポジトリとブランチパーミッション343<h3 id="repositories-and-branch-permissions">

344 リポジトリとブランチパーミッション

345</h3>

310 346 

311ルーティンはリポジトリをクローンするために GitHub アクセスが必要です。CLI で `/schedule` を使用してルーティンを作成する場合、Claude はアカウントに GitHub が接続されているかどうかを確認し、接続されていない場合は `/web-setup` を実行するよう促します。[GitHub 認証オプション](/ja/claude-code-on-the-web#github-authentication-options) を参照して、アクセスを付与する 2 つの方法を確認してください。347ルーティンはリポジトリをクローンするために GitHub アクセスが必要です。CLI で `/schedule` を使用してルーティンを作成する場合、Claude はアカウントに GitHub が接続されているかどうかを確認し、接続されていない場合は `/web-setup` を実行するよう促します。[GitHub 認証オプション](/ja/claude-code-on-the-web#github-authentication-options) を参照して、アクセスを付与する 2 つの方法を確認してください。

312 348 


314 350 

315デフォルトでは、Claude は `claude/` プレフィックス付きブランチにのみプッシュできます。これにより、ルーティンが保護されたまたは長期的なブランチを誤って変更するのを防ぎます。特定のリポジトリのこの制限を削除するには、ルーティンを作成または編集するときにそのリポジトリに対して **Allow unrestricted branch pushes** を有効にします。351デフォルトでは、Claude は `claude/` プレフィックス付きブランチにのみプッシュできます。これにより、ルーティンが保護されたまたは長期的なブランチを誤って変更するのを防ぎます。特定のリポジトリのこの制限を削除するには、ルーティンを作成または編集するときにそのリポジトリに対して **Allow unrestricted branch pushes** を有効にします。

316 352 

317### コネクタ353<h3 id="connectors">

354 コネクタ

355</h3>

318 356 

319ルーティンは接続された MCP コネクタを使用して、各実行中に外部サービスから読み取り、外部サービスに書き込むことができます。たとえば、サポートリクエストをトリアージするルーティンは Slack チャネルから読み取り、Linear で問題を作成する可能性があります。357ルーティンは接続された MCP コネクタを使用して、各実行中に外部サービスから読み取り、外部サービスに書き込むことができます。たとえば、サポートリクエストをトリアージするルーティンは Slack チャネルから読み取り、Linear で問題を作成する可能性があります。

320 358 


324 362 

325ルーティンフォームの外でコネクタを管理または追加するには、claude.ai で **Settings > Connectors** にアクセスするか、CLI で `/schedule update` を使用してください。363ルーティンフォームの外でコネクタを管理または追加するには、claude.ai で **Settings > Connectors** にアクセスするか、CLI で `/schedule update` を使用してください。

326 364 

327### 環境とネットワークアクセス365<h3 id="environments-and-network-access">

366 環境とネットワークアクセス

367</h3>

328 368 

329各ルーティンは、ネットワークアクセス、環境変数、セットアップスクリプトを制御する [クラウド環境](/ja/claude-code-on-the-web#the-cloud-environment) で実行されます。ルーティンは毎回実行時に環境のネットワークポリシーを継承します。369各ルーティンは、ネットワークアクセス、環境変数、セットアップスクリプトを制御する [クラウド環境](/ja/claude-code-on-the-web#the-cloud-environment) で実行されます。ルーティンは毎回実行時に環境のネットワークポリシーを継承します。

330 370 


356 396 

357アクセスレベルとデフォルト許可リストの詳細については、[ネットワークアクセス](/ja/claude-code-on-the-web#network-access) を参照してください。397アクセスレベルとデフォルト許可リストの詳細については、[ネットワークアクセス](/ja/claude-code-on-the-web#network-access) を参照してください。

358 398 

359## 使用と制限399<h2 id="usage-and-limits">

400 使用と制限

401</h2>

360 402 

361ルーティンは対話型セッションと同じ方法でサブスクリプション使用量を削減します。標準的なサブスクリプション制限に加えて、ルーティンはアカウントごとに 1 日に開始できる実行数の上限があります。現在の消費と残りの日次ルーティン実行数は [claude.ai/code/routines](https://claude.ai/code/routines) または [claude.ai/settings/usage](https://claude.ai/settings/usage) で確認してください。403ルーティンは対話型セッションと同じ方法でサブスクリプション使用量を削減します。標準的なサブスクリプション制限に加えて、ルーティンはアカウントごとに 1 日に開始できる実行数の上限があります。現在の消費と残りの日次ルーティン実行数は [claude.ai/code/routines](https://claude.ai/code/routines) または [claude.ai/settings/usage](https://claude.ai/settings/usage) で確認してください。

362 404 


364 406 

3651 回限りの実行は日次ルーティン実行上限にはカウントされません。他のセッションと同じように通常のサブスクリプション使用量を削減しますが、アカウントごとの日次ルーティン実行許容量から除外されます。4071 回限りの実行は日次ルーティン実行上限にはカウントされません。他のセッションと同じように通常のサブスクリプション使用量を削減しますが、アカウントごとの日次ルーティン実行許容量から除外されます。

366 408 

367## トラブルシューティング409<h2 id="troubleshooting">

410 トラブルシューティング

411</h2>

368 412 

369### 「ルーティンは組織のポリシーによって無効になっています」413<h3 id="/schedule-returns-unknown-command">

414 `/schedule` が「Unknown command」を返す

415</h3>

416 

417CLI は、その要件の 1 つが満たされていない場合、`/schedule` を非表示にします。原因は通常、以下のいずれかです。

418 

419* Console API キーまたは Bedrock、Vertex、Foundry などのクラウドプロバイダーで認証されています。`/schedule` には claude.ai サブスクリプションログインが必要です。`ANTHROPIC_API_KEY` または `ANTHROPIC_AUTH_TOKEN` がシェルに設定されている場合、または `apiKeyHelper` が `settings.json` に設定されている場合は、これらが claude.ai ログインより優先されるため、まず削除してください

420* `DISABLE_TELEMETRY`、`DO_NOT_TRACK`、`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`、または `DISABLE_GROWTHBOOK` がシェル環境または [`settings.json` ファイル](/ja/settings#available-settings)の `env` ブロックに設定されています。これらは機能フラグの取得を無効にします。`/schedule` はこれに依存しています

421* Claude Code のウェブセッション内にいます。代わりに [ウェブ UI](https://claude.ai/code/routines) からルーティンを管理してください

422* {/* min-version: 2.1.81 */}CLI が v2.1.81 より古いバージョンです。`claude update` を実行してください

423 

424CLI がどのように構成されているかに関わらず、[claude.ai/code/routines](https://claude.ai/code/routines) でいつでもルーティンを作成および管理できます。

425 

426<h3 id="routines-are-disabled-by-your-organization-s-policy">

427 「ルーティンは組織のポリシーによって無効になっています」

428</h3>

370 429 

371Team または Enterprise 管理者が [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) の **Routines** トグルをオフにしている可能性があります。これはサーバー側の組織設定であるため、ローカル構成からオーバーライドすることはできません。組織のルーティンを有効にするよう管理者に連絡してください。430Team または Enterprise 管理者が [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) の **Routines** トグルをオフにしている可能性があります。これはサーバー側の組織設定であるため、ローカル構成からオーバーライドすることはできません。組織のルーティンを有効にするよう管理者に連絡してください。

372 431 

373## 関連リソース432<h2 id="related-resources">

433 関連リソース

434</h2>

374 435 

375* [`/loop` とセッション内スケジューリング](/ja/scheduled-tasks): オープン CLI セッション内でローカルタスクをスケジュール436* [`/loop` とセッション内スケジューリング](/ja/scheduled-tasks): オープン CLI セッション内でローカルタスクをスケジュール

376* [Desktop スケジュール済みタスク](/ja/desktop-scheduled-tasks): マシンで実行され、ローカルファイルへのアクセスを持つローカルスケジュール済みタスク437* [Desktop スケジュール済みタスク](/ja/desktop-scheduled-tasks): マシンで実行され、ローカルファイルへのアクセスを持つローカルスケジュール済みタスク

sandbox-environments.md +163 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# サンドボックス環境を選択する

6 

7> Claude Code のサンドボックスオプションを比較します。組み込みのサンドボックス化された Bash ツール、サンドボックスランタイム、dev コンテナ、Docker、VM があります。脅威モデルに適した分離を選択してください。

8 

9Claude Code を分離することで、セッションがホスト上で読み取り、書き込み、ネットワークにアクセスできる内容を制限します。これは、Claude に権限プロンプトを少なくして作業させたり、無人で実行したり、完全に信頼していないコードを指定したりする場合に最も重要です。

10 

11Claude Code は、軽量なコマンド単位のサンドボックスから完全に独立した仮想マシンまで、複数の種類の分離環境で実行できます。このページでは、以下の方法について説明します。

12 

13* [利用可能な分離アプローチを比較](#compare-sandboxing-approaches)します。何を分離するか、何が必要か、セットアップにどの程度の手間がかかるかについて説明します

14* [目標と脅威モデルに合ったアプローチを選択](#choose-an-approach)します

15* [選択したアプローチを開始](#sandboxed-bash-tool)します。組み込みの Bash サンドボックスから専用の仮想マシンまで

16* [組織内のすべての開発者に対して分離を強制](#enforce-isolation-across-an-organization)します

17 

18<Info>

19 より広いセキュリティモデルについては、[セキュリティ](/ja/security)を参照してください。Agent SDK デプロイメントについては、[セキュアなデプロイメント](/ja/agent-sdk/secure-deployment)を参照してください。

20</Info>

21 

22<h2 id="compare-sandboxing-approaches">

23 サンドボックス化アプローチの比較

24</h2>

25 

26以下の表の最初の 2 つのアプローチはコンテナなしでホストオペレーティングシステム上で実行されます。残りは Claude Code をコンテナまたは仮想マシン内に配置します。

27 

28| アプローチ | 何が分離されるか | Docker が必要 | セットアップの手間 |

29| :-------------------------------------------- | :--------------------------------------------- | :--------- | :------------------------------ |

30| [サンドボックス化された Bash ツール](#sandboxed-bash-tool) | Bash コマンドとその子プロセス | いいえ | macOS では最小限。Linux と WSL2 では低い |

31| [サンドボックスランタイム](#sandbox-runtime) | Claude Code プロセス全体(ファイルツール、MCP サーバー、hooks を含む) | いいえ | 低い |

32| [Dev コンテナ](#dev-containers) | 完全な開発環境 | はい | 中程度 |

33| [カスタムコンテナ](#custom-container) | 完全な開発環境 | はい | 中程度から高い |

34| [仮想マシン](#virtual-machine) | 完全なオペレーティングシステム | いいえ | 高い |

35| [Web 上の Claude Code](#claude-code-on-the-web) | 完全なオペレーティングシステム(Anthropic がホスト) | いいえ | なし。Claude サブスクリプションと GitHub が必要 |

36 

37[サンドボックス化された Bash ツール](/ja/sandboxing)は Claude Code に組み込まれており、Bash コマンドのみを制限します。組み込みファイルツール、MCP サーバー、hooks はホスト上で直接実行されます。表内の他のすべてのアプローチは、Claude Code プロセス全体を分離境界内に配置するため、ファイルツール、MCP サーバー、hooks も制限されます。

38 

39<Warning>

40 サンドボックス分離はセキュリティ侵害の影響を軽減しますが、リスクを完全に排除することはできません。ネットワーク出力を許可するアプローチは、エージェントが読み取ることができるデータをリークする可能性があり、プロジェクトディレクトリを書き込み可能にマウントするアプローチはそのコードを変更する可能性があります。ハード制御としてサンドボックスに依存する前に、[セキュリティの制限事項](/ja/sandboxing#security-limitations)を確認してください。

41 

42 分離はモデルに送信される内容を変更しません。プロンプトと Claude が読み取るファイルは、サンドボックスの有無にかかわらず、Anthropic API または設定されたプロバイダーに送信されます。Claude Code が送信する内容と削減方法については、[データ使用](/ja/data-usage)を参照してください。

43</Warning>

44 

45<h2 id="choose-an-approach">

46 アプローチを選択する

47</h2>

48 

49目標を以下の行と照合してから、その後に続く詳細セクションを読んでください。

50 

51| 実現したいこと | 開始するもの |

52| :---------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ |

53| 自分のマシンでの日常的な作業中に権限プロンプトを減らす | [サンドボックス化された Bash ツール](/ja/sandboxing)(`/sandbox` で有効化) |

54| Claude に `--dangerously-skip-permissions` または自動モードで無人で作業させる | 事前設定された [dev コンテナ](/ja/devcontainer)、任意のコンテナまたは VM、または [サンドボックスランタイム](#sandbox-runtime) |

55| Bash だけでなく MCP サーバーと hooks も分離し、Docker なしで実行する | サンドボックスランタイム |

56| 信頼できないリポジトリで作業する | 専用の仮想マシン、または Claude サブスクリプションと接続された GitHub アカウントがある場合は [Web 上の Claude Code](/ja/claude-code-on-the-web) |

57| チーム全体でサンドボックス化された環境を標準化する | 事前設定された [dev コンテナ](/ja/devcontainer)(リポジトリにコピー) |

58| ローカルセットアップなしのデバイスから Claude Code を使用する | [Web 上の Claude Code](/ja/claude-code-on-the-web)(Claude サブスクリプションと接続された GitHub アカウントが必要) |

59| 組織内のすべての開発者に対して分離を要求する | [組織全体で分離を強制](#enforce-isolation-across-an-organization) |

60| ネイティブ Windows ホストで作業する | コンテナまたは VM、または WSL2 内で Bash サンドボックスを実行 |

61 

62<h3 id="how-isolation-relates-to-permission-modes">

63 分離が権限モードとどのように関連するか

64</h3>

65 

66[権限モード](/ja/permission-modes)は、ツール呼び出しが実行されるかどうか、および最初にプロンプトが表示されるかどうかを決定します。分離は、コマンドが実行されたら何にアクセスできるかを制限します。この 2 つは連携して機能します。権限モードがアクションを確認なしで実行させる場合、分離境界はそれらのアクションが到達できる内容を制限します。

67 

68`--dangerously-skip-permissions` はアクション単位のレビューを完全に削除するため、分離境界は Claude ができることを制限する唯一のものです。常にコンテナ、VM、または [サンドボックスランタイム](#sandbox-runtime)内で実行してください。ファイルツール、MCP サーバー、hooks も境界内にあります。

69 

70[自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)はプロンプトを、アクションをレビューして要求を超えてエスカレートするもの、認識されていないインフラストラクチャをターゲットにするもの、または Claude が読み取った敵対的なコンテンツによって駆動されているように見えるものをブロックする分類器に置き換えます。分類器はアクション単位の制御であり、分離境界ではないため、分離境界は無人実行の防御層を追加し、`--dangerously-skip-permissions` の場合のように必須ではありません。

71 

72[サンドボックス化された Bash ツール](#sandboxed-bash-tool)単独では Bash のみを制限するため、どちらのモードでも完全に無人で実行するには不十分です。アプローチを重ねることができます。サンドボックス化された Bash ツールをコンテナまたは VM 内で実行すると、外側の環境境界の上に OS レベルのコマンド制限が得られます。Bash サンドボックス自体が権限ルールおよび権限モードとどのように相互作用するかについては、[サンドボックス化が権限および権限モードとどのように関連するか](/ja/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes)を参照してください。

73 

74<h2 id="sandboxed-bash-tool">

75 サンドボックス化された Bash ツール

76</h2>

77 

78<Note>

79 このオプションはネイティブ Windows をサポートしていません。Windows ホストでは、WSL2 または以下のコンテナまたは VM アプローチのいずれかを使用してください。

80</Note>

81 

82サンドボックス化された Bash ツールは Claude Code に組み込まれています。オペレーティングシステムプリミティブを使用して、Claude が実行するすべての Bash コマンドのファイルシステムとネットワークアクセスを制限します。Seatbelt(macOS の組み込みサンドボックス)と Linux および WSL2 の [bubblewrap](https://github.com/containers/bubblewrap) を使用します。デフォルトでは、作業ディレクトリへの書き込みを許可し、コマンドが新しいネットワークドメインを必要とする最初の時点でプロンプトを表示します。

83 

84`/sandbox` コマンドで有効にします。[サンドボックス化](/ja/sandboxing)ガイドでは、承認モード、デフォルト境界、および拡大または縮小する方法について説明しています。

85 

86コマンド単位のサンドボックスはセッションで実行されるすべてをカバーしていません。

87 

88* Read、Edit、WebFetch などの他の [組み込みツール](/ja/tools-reference)は Claude Code プロセス内で実行され、任意のコードを生成しません。[権限ルール](/ja/permissions)がパスまたはドメインでそれらをゲートします。

89* [MCP](/ja/mcp)サーバーと hooks は、ホスト上で制約なく実行される別のプロセスです。

90 

91組み込みツール、MCP サーバー、hooks をすべて 1 つの OS 境界の背後に配置するには、Claude Code プロセス全体を [サンドボックスランタイム](#sandbox-runtime)、[dev コンテナ](#dev-containers)、または [カスタムコンテナ](#custom-container)内で実行してください。

92 

93<h2 id="sandbox-runtime">

94 サンドボックスランタイム

95</h2>

96 

97[`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime)パッケージは、組み込みの Bash サンドボックスが使用するのと同じ Seatbelt または bubblewrap 分離でプロセス全体をラップします。Claude Code をそれを通して実行すると、Bash だけでなく、セッション内のすべてのツール、hook、MCP サーバーが制限されます。ランタイムはベータ研究プレビューであり、パッケージが進化するにつれて設定形式が変わる可能性があります。

98 

99ランタイムはデフォルトですべての書き込みとネットワークアクセスを拒否するため、Claude Code を起動する前に設定してください。`~/.srt-settings.json` または `--settings` で渡すファイルで、少なくともプロジェクトディレクトリと Claude Code の設定パス `~/.claude` および `~/.claude.json` への書き込みアクセスを許可します。セッションが必要とするネットワークドメイン(`api.anthropic.com` または設定されたプロバイダーのエンドポイントを含む)を許可します。完全な設定スキーマについては、パッケージ [README](https://github.com/anthropic-experimental/sandbox-runtime) を参照してください。

100 

101設定ファイルが配置されたら、`npx` で Claude Code を起動し、ラップするコマンドとして `claude` を渡します。

102 

103```bash theme={null}

104npx @anthropic-ai/sandbox-runtime claude

105```

106 

107Claude Code はサンドボックス内で起動し、設定したファイルシステムとネットワーク境界があります。同じコマンドは、スタンドアロン MCP サーバーまたは他のヘルパープロセスのサンドボックス化に機能します。

108 

109<h2 id="dev-containers">

110 Dev コンテナ

111</h2>

112 

113Dev コンテナは Claude Code を Docker コンテナ内で実行します。VS Code または互換性のあるエディターが管理し、プロジェクトがマウントされます。リポジトリの `.devcontainer/` ディレクトリで独自に定義できます。

114 

115claude-code リポジトリは、デフォルト拒否 iptables ファイアウォールを備えた [example dev container](/ja/devcontainer)を出発点として公開しています。リポジトリにコピーし、ファイアウォール許可リスト、ベースイメージ、ピン留めされた Claude Code バージョンを環境に合わせて調整します。ファイアウォールが未承認の出力をブロックするため、このような設定は無人作業のために `--dangerously-skip-permissions` で Claude Code を実行することをサポートしています。

116 

117<h2 id="custom-container">

118 カスタムコンテナ

119</h2>

120 

121Claude Code は、独自のネットワークポリシー、マウントされたボリューム、seccomp プロファイルを備えた任意の Docker または OCI コンテナイメージで実行できます。これは、既存のコンテナインフラストラクチャまたは CI ランナーを持つ組織にとって最も一般的なパスです。

122 

123複数のマネージドサンドボックスおよびリモート実行サービスがコンテナをホストできます。操作するコンテナと同じチェックリストが適用されます。書き込み可能にマウントされているもの、その内部で到達可能な認証情報とトークン、ネットワーク出力ポリシーが許可するものを確認します。

124 

125コマンド単位の制限のためにコンテナ内に組み込みの Bash サンドボックスを重ねることができます。特権のないコンテナには、[サンドボックス化のトラブルシューティング](/ja/sandboxing#troubleshooting)で説明されている nested-sandbox 設定が必要です。

126 

127<h2 id="virtual-machine">

128 仮想マシン

129</h2>

130 

131専用の仮想マシンは、独自のカーネルと、クラウドまたはmicroVM デプロイメントでは独自の仮想化ハードウェアを備えた最強の分離を提供します。オプションには、クラウドインスタンス、ローカルハイパーバイザー、Firecracker などの microVM が含まれます。

132 

133信頼できないコードを評価する場合、セキュリティポリシーがエージェントとホスト間のカーネルレベルの分離を要求する場合、またはホストレベルのアプローチがコンプライアンス要件を満たさない場合に、このアプローチを使用します。Docker Desktop の [sandboxes feature](https://docs.docker.com/ai/sandboxes/)は、独自の Docker デーモンとワークスペース同期を備えた microVM を提供し、Docker Desktop が既にインストールされているホストで Claude Code を実行できます。

134 

135<h2 id="claude-code-on-the-web">

136 Web 上の Claude Code

137</h2>

138 

139[Web 上の Claude Code](/ja/claude-code-on-the-web)は、各セッションを分離された Anthropic 管理の仮想マシンで実行します。ネットワークプロキシはデフォルト許可リストを強制し、別のプロキシはサンドボックス内のリポジトリアクセスのためにスコープ付き認証情報を発行しながら、GitHub トークンをサンドボックスの外に保持します。

140 

141完全な VM 分離が必要だが、インフラストラクチャを自分でプロビジョニングしたくない場合、またはローカル開発環境がないデバイスからタスクを委任する場合に、このアプローチを使用します。Claude サブスクリプションと接続された GitHub アカウントが必要であり、セッションは GitHub からリポジトリをクローンします。プラン可用性と GitHub 認証オプションについては、[Web 上の Claude Code](/ja/claude-code-on-the-web)を参照してください。

142 

143<h2 id="enforce-isolation-across-an-organization">

144 組織全体で分離を強制する

145</h2>

146 

147個々の開発者は上記のいずれかのアプローチにオプトインできます。組織が強制できるもの、およびどのツールで強制できるかは、アプローチによって異なります。

148 

149* **組み込み Bash サンドボックス**:Claude Code が自体で強制する唯一のアプローチ。[管理設定](/ja/settings#settings-files)を通じて `sandbox` 設定キーを配信します。MDM で管理されるファイルとして、または Claude.ai の [サーバー管理設定](/ja/server-managed-settings)を通じて。デプロイするキーと開発者がポリシーを拡大するのを防ぐ方法については、[管理設定でサンドボックス化を強制](/ja/sandboxing#enforce-sandboxing-with-managed-settings)を参照してください。

150* **Dev コンテナ**:[example dev container](/ja/devcontainer)をリポジトリにコミットして、チーム全体で環境を標準化します。Claude Code がコンテナを要求しないため、これは強制境界ではなく慣例です。開発者が Claude Code をその外で実行できないようにする場合は、組織のデバイス管理またはソフトウェア許可リストツールでそれを強制します。

151* **カスタムコンテナと VM**:承認されたイメージを通じて Claude Code を配布し、組織のデバイス管理またはソフトウェア許可リストツールを使用して、その外でのインストールを防止します。

152 

153<h2 id="see-also">

154 関連項目

155</h2>

156 

157これらのページでは、上記のアプローチの設定とポリシーの詳細について説明しています。

158 

159* [サンドボックス化](/ja/sandboxing):組み込みのサンドボックス化された Bash ツールを設定します

160* [Dev コンテナ](/ja/devcontainer):事前設定された Docker 開発コンテナ

161* [セキュリティ](/ja/security):完全な Claude Code セキュリティモデル

162* [セキュアなデプロイメント](/ja/agent-sdk/secure-deployment):Agent SDK アプリケーションの分離ガイダンス

163* [設定](/ja/settings#sandbox-settings):管理設定配信を含むすべてのサンドボックス設定キー

sandboxing.md +263 −162

Details

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# サンドボックス化された Bash ツールを設定する

6 6 

7> Claude Code のサンドボックス化された bash ツールがファイルシステムとネットワークの分離を提供し、より安全で自律的なエージェント実行を実現する方法について学びます。7> Claude Code のサンドボックス化された Bash ツールがファイルシステムとネットワークの分離を提供し、より安全で自律的なエージェント実行を実現する方法について学びます。

8 8 

9## 概要9Bash サンドボックスを使用すると、Claude はほとんどのシェルコマンドを実行できます。各コマンドの実行許可を求める代わりに、コマンドがアクセスできるファイルとネットワークドメインを定義し、オペレーティングシステムがすべての Bash コマンドとその子プロセスに対してその境界を実施します。

10 10 

11Claude Code はネイティブサンドボックス機能を備えており、エージェント実行のためのより安全な環境を提供しながら、継続的な許可プロンプトの必要性を軽減します。各 bash コマンドの実行許可を求める代わりに、サンドボックス化により事前に定義された境界が作成されClaude Code はリスクを軽減しながらより自由に動作できます11このページでは以下の方法について説明します

12 12 

13サンドボックス化された bash ツールは OS レベルのプリミティブを使用してファイルシステムとネットワークの両方の分離を実施します。13* [サンドボックスを有効化](#get-started)しサンドボックス化されたコマンドがどのように承認されるかを選択する

14* [サンドボックス化を設定](#configure-sandboxing)して、コマンドがアクセスできるパスとネットワークドメインを定義する

15* [サンドボックス化を許可ルールと許可モードと組み合わせる](#how-sandboxing-relates-to-permissions-and-permission-modes)

16* [組織全体でサンドボックス化を実施](#configure-the-sandbox-for-your-organization)する(管理設定を使用)

14 17 

15## サンドボックス化が重要な理由18<Note>

16 19 dev コンテナ、カスタムコンテナ、仮想マシンなどの他の分離アプローチを比較するには、[Sandbox environments](/ja/sandbox-environments) を参照してください。Bash 以外のツールの許可プロンプトを削減するには、[permission modes](/ja/permission-modes) を参照してください。

17従来の許可ベースのセキュリティでは、bash コマンドごとに継続的なユーザー承認が必要です。これは制御を提供しますが、以下の問題につながる可能性があります。20</Note>

18 

19* **承認疲れ**:「承認」を繰り返しクリックすると、ユーザーが承認内容に注意を払わなくなる可能性があります

20* **生産性の低下**:継続的な中断により開発ワークフローが遅くなります

21* **自律性の制限**:Claude Code は承認を待つ際に効率的に動作できません

22 

23サンドボックス化はこれらの課題に以下の方法で対処します。

24 

251. **明確な境界を定義**:Claude Code がアクセスできるディレクトリとネットワークホストを正確に指定します

262. **許可プロンプトを削減**:サンドボックス内の安全なコマンドは承認を必要としません

273. **セキュリティを維持**:サンドボックス外のリソースへのアクセス試行は即座に通知をトリガーします

284. **自律性を有効化**:Claude Code は定義された制限内でより独立して実行できます

29 21 

30<Warning>22<h2 id="get-started">

31 効果的なサンドボックス化には、ファイルシステムとネットワークの両方の分離が**必要**です。ネットワーク分離がない場合、侵害されたエージェントは SSH キーなどの機密ファイルを流出させる可能性があります。ファイルシステム分離がない場合、侵害されたエージェントはシステムリソースにバックドアを仕掛けてネットワークアクセスを取得する可能性があります。サンドボックス化を設定する際は、設定がこれらのシステムのバイパスを作成しないことを確認することが重要です。23 開始方法

32</Warning>24</h2>

33 25 

34## 仕組み26サンドボックスは Claude Code に組み込まれており、macOS、Linux、WSL2 で実行されます。ネイティブ Windows はサポートされていません。Windows では、Claude Code を WSL2 ディストリビューション内で実行してください。

35 27 

36### ファイルシステム分離28macOS では、インストールするものはありません。サンドボックス化は組み込みの Seatbelt フレームワークを使用します。Linux と WSL2 では、サンドボックスは 2 つのパッケージに依存しており、[Linux と WSL2 をセットアップする](#set-up-linux-and-wsl2)で説明されています。まだインストールしていない場合でも、`/sandbox` で開始できます。そのパネルには、何が不足しているかが表示されます。

37 29 

38サンドボックス化された bash ツールはファイルシステムアクセスを特定のディレクトリに制限します。30<Steps>

31 <Step title="/sandbox を実行する">

32 Claude Code セッションを開始し、`/sandbox` コマンドを実行します。

39 33 

40* **デフォルトの書き込み動作**:現在の作業ディレクトリとそのサブディレクトリへの読み取りおよび書き込みアクセス34 ```text theme={null}

41* **デフォルトの読み取り動作**:特定の拒否ディレクトリを除く、コンピュータ全体への読み取りアクセス35 /sandbox

42* **ブロックされたアクセス**:明示的な許可なしに現在の作業ディレクトリ外のファイルを変更できません36 ```

43* **設定可能**:設定を通じてカスタム許可パスと拒否パスを定義します

44 37 

45`sandbox.filesystem.allowWrite` を設定で使用して、追加のパスへの書き込みアクセスを付与できます。これらの制限は OS レベル(macOS の Seatbelt、Linux の bubblewrap)で実施されるため、Claude のファイルツールだけでなく、`kubectl`、`terraform``npm` などのツールを含むすべてのサブプロセスコマンドに適用されます38 これにより3 つのタブを持つサンドボックスパネルが開きます

46 39 

47### ネットワーク分離40 * **Mode**:サンドボックス化されたコマンドがどのように承認されるかを選択します。次のステップで説明します

41 * **Overrides**:サンドボックス内で失敗するコマンドがサンドボックス化されていない状態で実行にフォールバックできるかどうかを選択します。これは [`allowUnsandboxedCommands`](/ja/settings#sandbox-settings) 設定です

42 * **Config**:解決されたサンドボックス設定を表示します

48 43 

49ネットワークアクセスはサンドボックス外で実行されるプロキシサーバーを通じて制御されます44 パネルに Dependencies タブのみが表示される場合、必要なパッケージが不足しています[Linux と WSL2 をセットアップする](#set-up-linux-and-wsl2)で説明されているようにインストールし、Claude Code を再起動して、`/sandbox` を再度実行してください。

45 </Step>

50 46 

51* **ドメイン制限**:承認されたドメインのみにアクセスできます47 <Step title="モードを選択する">

52* **ユーザー確認**:新しいドメインリクエストは許可プロンプトをトリガーします([`allowManagedDomainsOnly`](/ja/settings#sandbox-settings) が有効な場合を除き、許可されていないドメインを自動的にブロックします)48 Mode タブで、自動許可または通常の許可を選択します。自動許可はサンドボックス化されたコマンドをプロンプトなしで実行し、通常の許可はコマンドがサンドボックス化されている場合でも通常の許可プロンプトを保持します。自動許可モードでもプロンプトが表示されるコマンドについては、[Sandbox modes](#sandbox-modes) を参照してください。

53* **カスタムプロキシサポート**:高度なユーザーは発信トラフィックにカスタムルールを実装できます49 </Step>

54* **包括的なカバレッジ**:制限はすべてのスクリプト、プログラム、およびコマンドによって生成されるサブプロセスに適用されます

55 50 

56### OS レベルの実施51 <Step title="Bash コマンドを実行する">

52 Claude にコマンド(ビルドやテストスイートなど)を実行するよう依頼します。デフォルトでは、サンドボックス内のコマンドは作業ディレクトリにのみ書き込みできます。コマンドが新しいネットワークドメインにアクセスする必要がある場合、Claude Code は承認を求めます。

57 53 

58サンドボックス化された bash ツールは OS セキュリティプリミティブを活用します54 サンドボックス化されていない状態で実行できないコマンドは、通常の許可フローにフォールバックしますこれらの境界を広げたり狭めたりするには、[サンドボックス化を設定](#configure-sandboxing)を参照してください。

55 </Step>

56</Steps>

59 57 

60* **macOS**:Seatbelt をサンドボックス実施に使用します58パネルでモードを選択すると、プロジェクトのローカル設定 `.claude/settings.local.json` に書き込まれます。これは現在のプロジェクトに適用され、git にチェックインされません。すべてのプロジェクトでサンドボックスを有効化するには、ユーザー設定 `~/.claude/settings.json` で [`sandbox.enabled`](/ja/settings#sandbox-settings) を `true` に設定します。組織内のすべての開発者にサンドボックス化を実施するには、[管理設定](#enforce-sandboxing-with-managed-settings)を使用します。

61* **Linux**:分離に [bubblewrap](https://github.com/containers/bubblewrap) を使用します

62* **WSL2**:Linux と同じく bubblewrap を使用します

63 

64WSL1 は bubblewrap が WSL2 でのみ利用可能なカーネル機能を必要とするため、サポートされていません。

65 59 

66これらの OS レベルの制限により、Claude Code のコマンドによって生成されたすべての子プロセスが同じセキュリティ境界を継承することが保証されます。60<Warning>

61 デフォルトでは、依存関係が不足しているか、プラットフォームがサポートされていないためにサンドボックスが起動できない場合、Claude Code は警告を表示してサンドボックス化なしでコマンドを実行します。これをハード失敗にするには、[`sandbox.failIfUnavailable`](/ja/settings#sandbox-settings) を `true` に設定します。これは、セキュリティゲートとしてサンドボックス化を必要とする管理デプロイメント向けです。

62</Warning>

67 63 

68## 開始方法64<h3 id="set-up-linux-and-wsl2">

65 Linux と WSL2 をセットアップする

66</h3>

69 67 

70### 前提条件68Linux と WSL2 では、サンドボックスは 2 つのパッケージに依存しています。

71 69 

72**macOS** では、サンドボックス化は組み込みの Seatbelt フレームワークを使用してすぐに動作します。70* [`bubblewrap`](https://github.com/containers/bubblewrap):ファイルシステム分離を実施する非特権サンドボックス化ツール

71* [`socat`](http://www.dest-unreach.org/socat/):サンドボックスプロキシを通じてネットワークトラフィックをルーティングするために使用されるリレー

73 72 

74**Linux と WSL2** では、まず必要なパッケージをインストールしてください73ディストリビューションのパッケージマネージャーでインストールします

75 74 

76<Tabs>75<Tabs>

77 <Tab title="Ubuntu/Debian">76 <Tab title="Ubuntu/Debian">


87 </Tab>86 </Tab>

88</Tabs>87</Tabs>

89 88 

90WSL1 は必要な Linux 名前空間プリミティブが不足しているためサンドボックス化をサポートしていません。`Sandboxing requires WSL2` が表示される場合はディストリビューションを WSL2 にアップグレードするか、Claude Code をサンドボックス化なしで実行してください89インストール後、`/sandbox` Dependencies タブに、`ripgrep`、`bubblewrap`、`socat`、および seccomp フィルターがプラットフォームで利用可能かどうかが表示されます。Ripgrep はネイティブ Claude Code バイナリにバンドルされていますseccomp フィルターはオプションで、Unix ドメインソケットのブロッキングを追加します。不足している場合は、`npm install -g @anthropic-ai/sandbox-runtime` でインストールしてください。

91 90 

92WSL2 では、サンドボックス化されたコマンドは `cmd.exe`、`powershell.exe`または `/mnt/c/` 下のものなどの Windows バイナリを起動できませんWSL はこれらを Unix ソケット経由で Windows ホストに渡しますがサンドボックスはこれをブロックします。コマンドが Windows バイナリを呼び出す必要がある場合は[`excludedCommands`](/ja/settings#sandbox-settings) に追加して、サンドボックス外で実行するようにしてください91必要な依存関係が不足している場合Dependencies タブはインストールするまで唯一のタブとして表示されます依存関係チェックはスタートアップ時に実行されるためパッケージをインストール後に Claude Code を再起動して、`/sandbox` がそれらを検出するようにしてください

93 92 

94### サンドボックス化を有効化93<AccordionGroup>

94 <Accordion title="Ubuntu 24.04 以降:bubblewrap がユーザー名前空間を作成できるようにする">

95 Ubuntu 24.04 以降では、デフォルトの AppArmor ポリシーが bubblewrap が分離に必要とするユーザー名前空間の作成を防止します。

95 96 

96`/sandbox` コマンドを実行してサンドボックス化を有効化できます97 WSL2 内を含む、環境がこの制限を実施しているかどうかを確認するには、`sysctl kernel.apparmor_restrict_unprivileged_userns` を実行しますキーが存在しないか 0 を返す場合は、このステップをスキップしてください。1 を返す場合は、`bwrap` にこの機能を付与する AppArmor プロファイルを追加します。

97 98 

98```text theme={null}99 ```bash theme={null}

99/sandbox100 sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'

100```101 abi <abi/4.0>,

102 include <tunables/global>

103 

104 profile bwrap /usr/bin/bwrap flags=(unconfined) {

105 userns,

106 include if exists <local/bwrap>

107 }

108 EOF

109 ```

110 

111 プロファイルは `bwrap` 自体にのみ適用され、サンドボックス内で実行されるコマンドには適用されません。AppArmor を再度読み込んで適用します。

112 

113 ```bash theme={null}

114 sudo systemctl reload apparmor

115 ```

116 </Accordion>

101 117 

102これはサンドボックスモードを選択できるメニューを開きます。必要な依存関係(Linux の `bubblewrap` や `socat` など)が不足している場合、メニューはプラットフォームのインストール手順を表示します。118 <Accordion title="WSL2 に関する注記">

119 PowerShell から `wsl -l -v` で WSL バージョンを確認します。`Sandboxing requires WSL2` が表示される場合、ディストリビューションは WSL1 で実行されています。WSL2 にアップグレードするか、Claude Code をサンドボックス化なしで実行してください。

103 120 

104デフォルトではサンドボックスが起動できない場合(依存関係の不足またはサポートされていないプラットフォーム)Claude Code は警告を表示してサンドボックス化なしでコマンドを実行しますこれをハード失敗にするには、[`sandbox.failIfUnavailable`](/ja/settings#sandbox-settings) を `true` に設定します。これはセキュリティゲートとしてサンドボックス化を必要とする管理デプロイメント向けです121 WSL2 ではサンドボックス化されたコマンドは `cmd.exe``powershell.exe`、または `/mnt/c/` 下のものなどの Windows バイナリを起動できませんWSL はこれらを Unix ソケット経由で Windows ホストに渡しますがサンドボックスはこれをブロックします。コマンドが Windows バイナリを呼び出す必要がある場合は、[`excludedCommands`](/ja/settings#sandbox-settings) に追加してサンドボックス外で実行するようにしてください

122 </Accordion>

123</AccordionGroup>

105 124 

106### サンドボックスモード125<h3 id="sandbox-modes">

126 サンドボックスモード

127</h3>

107 128 

108Claude Code は 2 つのサンドボックスモードを提供します。129Claude Code は 2 つのサンドボックスモードを提供します。

109 130 

110**自動許可モード**:Bash コマンドはサンドボックス内で実行を試みられ、許可なしに自動的に許可されます。サンドボックス化できないコマンド(許可されていないホストへのネットワークアクセスが必要なコマンドなど)は通常の許可フローにフォールバックします。明示的な拒否ルールは常に尊重されます。また`rm` または `rmdir` コマンドが `/`、ホームディレクトリ、または他の重要なシステムパスをターゲットにしている場合でも許可プロンプトがトリガーされます。Ask ルールは通常の許可フローにフォールバックするコマンドにのみ適用されます131**自動許可モード**:Bash コマンドはサンドボックス内で実行を試みられ、許可なしに自動的に許可されます。サンドボックス化できないコマンド(許可されていないホストへのネットワークアクセスが必要なコマンドなど)通常の許可フローにフォールバックします。そこで Claude Code [許可ルール](/ja/permissions)を確認しそれらのルールが既に許可していないコマンドについてプロンプトを表示します

111 132 

112**通常の許可モード**:すべての bash コマンドは、サンドボックス化されている場合でも標準的な許可フローを通じます。これはより多くの制御を提供しますがより多くの承認が必要です133自動許可モードでも以下が適用されます

113 134 

114両方のモードで、サンドボックスは同じファイルシステムとネットワーク制限を実施します。違いは、サンドボックス化されたコマンドが自動承認されるか明示的な許可が必要かだけです。135* 明示的な [拒否ルール](/ja/permissions)は常に尊重されます

136* `/`、ホームディレクトリ、または他の重要なシステムパスをターゲットにする `rm` または `rmdir` コマンドは、依然として許可プロンプトをトリガーします

137* [Ask ルール](/ja/permissions)は、通常の許可フローにフォールバックするコマンドに適用されます

138 

139**通常の許可モード**:すべての Bash コマンドは、サンドボックス化されている場合でも、通常の許可フローを通じます。これはより多くの制御を提供しますが、より多くの承認が必要です。

140 

141両方のモードで、サンドボックスは同じファイルシステムとネットワーク制限を実施します。違いは、サンドボックス化されたコマンドが自動承認されるか、明示的な許可が必要かだけです。

142 

143一部のコマンドはサンドボックス内でまったく実行できません。これは、それと互換性がないツール、または許可していないホストが必要なツールなどです。タスクを失敗させたり、サンドボックス化をオフにするよう要求したりするのではなく、Claude Code には意図的なエスケープハッチが含まれています。サンドボックス制限のためにコマンドが失敗した場合、Claude は失敗を分析し、`dangerouslyDisableSandbox` パラメータでコマンドを再試行する可能性があります。再試行されたコマンドはサンドボックス外で実行されるため、通常の許可フローを通じて実行され、承認が必要です。

144 

145このエスケープハッチは、[サンドボックス設定](/ja/settings#sandbox-settings)で `"allowUnsandboxedCommands": false` を設定することで無効化できます。無効化されると、`dangerouslyDisableSandbox` パラメータは完全に無視され、すべてのコマンドはサンドボックス化されるか、`excludedCommands` に明示的にリストされている必要があります。

115 146 

116<Info>147<Info>

117 自動許可モードは許可モード設定とは独立して動作します。「編集を受け入れる」モードでない場合でも、自動許可が有効な場合、サンドボックス化された bash コマンドは自動的に実行されます。これは、ファイル編集ツールが通常は承認を必要とする場合でも、サンドボックス境界内のファイルを変更する bash コマンドはプロンプトなしに実行されることを意味します。148 自動許可モードは許可モード設定とは独立して動作します。「編集を受け入れる」モードでない場合でも、自動許可が有効な場合、サンドボックス化された Bash コマンドは自動的に実行されます。これは、ファイル編集ツールが通常は承認を必要とする場合でも、サンドボックス境界内のファイルを変更する Bash コマンドはプロンプトなしに実行されることを意味します。

118</Info>149</Info>

119 150 

120### サンドボックス化を設定151<h2 id="configure-sandboxing">

152 サンドボックス化を設定する

153</h2>

121 154 

122`settings.json` ファイルを通じてサンドボックス動作をカスタマイズします。完全な設定リファレンスについては [Settings](/ja/settings#sandbox-settings) を参照してください。155`settings.json` ファイルを通じてサンドボックス動作をカスタマイズします。完全な設定リファレンスについては [Settings](/ja/settings#sandbox-settings) を参照してください。

123 156 

124#### 特定のパスへのサブプロセス書き込みアクセスの付与

125 

126デフォルトでは、サンドボックス化されたコマンドは現在の作業ディレクトリにのみ書き込みできます。`kubectl`、`terraform`、`npm` などのサブプロセスコマンドがプロジェクトディレクトリ外に書き込む必要がある場合、`sandbox.filesystem.allowWrite` を使用して特定のパスへのアクセスを付与します。157デフォルトでは、サンドボックス化されたコマンドは現在の作業ディレクトリにのみ書き込みできます。`kubectl`、`terraform`、`npm` などのサブプロセスコマンドがプロジェクトディレクトリ外に書き込む必要がある場合、`sandbox.filesystem.allowWrite` を使用して特定のパスへのアクセスを付与します。

127 158 

128```json theme={null}159```json theme={null}


138 169 

139これらのパスは OS レベルで実施されるため、サンドボックス内で実行されるすべてのコマンド(その子プロセスを含む)がそれらを尊重します。これは、`excludedCommands` でツールをサンドボックスから除外するのではなく、ツールが特定の場所への書き込みアクセスを必要とする場合の推奨アプローチです。170これらのパスは OS レベルで実施されるため、サンドボックス内で実行されるすべてのコマンド(その子プロセスを含む)がそれらを尊重します。これは、`excludedCommands` でツールをサンドボックスから除外するのではなく、ツールが特定の場所への書き込みアクセスを必要とする場合の推奨アプローチです。

140 171 

141`allowWrite`(または `denyWrite`/`denyRead`/`allowRead`)が複数の [設定スコープ](/ja/settings#settings-precedence) で定義されている場合、配列は**マージ**されますつまり、すべてのスコープからのパスが結合され、置き換えられません。たとえば、管理設定が `/opt/company-tools` への書き込みを許可し、ユーザーが個人設定で `~/.kube` を追加する場合、両方のパスが最終的なサンドボックス設定に含まれます。これは、ユーザーとプロジェクトが、より高い優先度のスコープで設定されたパスを複製または上書きすることなく、リストを拡張できることを意味します。172同じファイルシステム配列が複数の [設定スコープ](/ja/settings#settings-precedence)で定義されている場合、配列はマージされます。すべてのスコープからのパスが結合され、置き換えられません。

142 173 

143パスプレフィックスはパスの解決方法を制御します。174パスプレフィックスはパスの解決方法を制御します。

144 175 


148| `~/` | ホームディレクトリからの相対パス | `~/.kube` は `$HOME/.kube` になります |179| `~/` | ホームディレクトリからの相対パス | `~/.kube` は `$HOME/.kube` になります |

149| `./` またはプレフィックスなし | プロジェクト設定の場合はプロジェクトルートからの相対パス、またはユーザー設定の場合は `~/.claude` からの相対パス | `.claude/settings.json` の `./output` は `<project-root>/output` に解決されます |180| `./` またはプレフィックスなし | プロジェクト設定の場合はプロジェクトルートからの相対パス、またはユーザー設定の場合は `~/.claude` からの相対パス | `.claude/settings.json` の `./output` は `<project-root>/output` に解決されます |

150 181 

151古い `//path` プレフィックスは絶対パスの場合でも機能します。以前に単一スラッシュ `/path` を使用してプロジェクト相対解決を期待していた場合は、`./path` に切り替えてください。この構文は [Read と Edit 許可ルール](/ja/permissions#read-and-edit) とは異なります。これらは絶対パスに `//path` を使用し、プロジェクト相対に `/path` を使用します。サンドボックスファイルシステムパスは標準的な規則を使用します。`/tmp/build` は絶対パスです。182この構文は [Read と Edit 許可ルール](/ja/permissions#read-and-edit)とは異なります。これらは絶対パスに `//path` を使用し、プロジェクト相対に `/path` を使用します。サンドボックスファイルシステムパスは標準的な規則を使用します。`/tmp/build` は絶対パスです。

152 183 

153`sandbox.filesystem.denyWrite` と `sandbox.filesystem.denyRead` を使用して書き込みまたは読み取りアクセスを拒否することもできます。これらは `Edit(...)` と `Read(...)` 許可ルールからのパスとマージされます。拒否された領域内の特定のパスの読み取りを再度許可するには、`sandbox.filesystem.allowRead` を使用します。これは `denyRead` より優先されます。管理設定で `allowManagedReadPathsOnly` が有効な場合、管理 `allowRead` エントリのみが尊重されます。ユーザー、プロジェクト、ローカルの `allowRead` エントリは無視されます。`denyRead` はすべてのソースからマージされます184`sandbox.filesystem.denyWrite` と `sandbox.filesystem.denyRead` を使用して書き込みまたは読み取りアクセスを拒否することもでき、`sandbox.filesystem.allowRead` を使用して拒否された領域内の特定のパスの読み取りを再度許可できます

154 185 

155たとえば、ホームディレクトリ全体からの読み取りをブロックしながら、現在のプロジェクトからの読み取りを許可するには、プロジェクトの `.claude/settings.json` に以下を追加します186以下の例は、ホームディレクトリ全体からの読み取りをブロックしながら、現在のプロジェクトからの読み取りを許可します。プロジェクトの `.claude/settings.json` に配置してください相対パス `.` はプロジェクト設定に存在する場合にのみプロジェクトルートに解決されるためです。

156 187 

157```json theme={null}188```json theme={null}

158{189{


166}197}

167```198```

168 199 

169この設定がプロジェクト設定に存在するため、`allowRead` `.` はプロジェクトルートに解決されます。同じ設定を `~/.claude/settings.json` に配置した場合、`.` は `~/.claude` に解決され、プロジェクトファイルは `denyRead` ルールによってブロックされたままになります。200`.` `allowRead` に含まれるのは、この設定がプロジェクト設定に存在するためです。同じ設定を `~/.claude/settings.json` に配置した場合、`.` は `~/.claude` に解決され、プロジェクトファイルは `denyRead` ルールによってブロックされたままになります。

170 201 

171<Tip>202<h2 id="how-sandboxing-works">

172 すべてのコマンドがサンドボックス化と互換性があるわけではありません。サンドボックスを最大限に活用するのに役立つ可能性のあるいくつかのメモ:203 サンドボックス化の仕組み

204</h2>

173 205 

174 * 多くの CLI ツールは特定のホストへのアクセスを必要とします。これらのツールを使用すると、特定のホストへのアクセス許可をリクエストします。許可を付与すると、これらのホストに今後アクセスでき、サンドボックス内で安全に実行できるようになります。206<h3 id="filesystem-isolation">

175 * `watchman` はサンドボックス内での実行と互換性がありません。`jest` を実行している場合は、`jest --no-watchman` の使用を検討してください207 ファイルシステム分離

176 * `docker` はサンドボックス内での実行と互換性がありません。`excludedCommands` で `docker *` を指定して、サンドボックス外で実行するように強制することを検討してください。208</h3>

177</Tip>

178 209 

179<Note>210サンドボックス化された Bash ツールはファイルシステムアクセスを特定のディレクトリに制限します。

180 Claude Code には、必要に応じてコマンドをサンドボックス外で実行できるようにする意図的なエスケープハッチメカニズムが含まれています。コマンドがサンドボックス制限(ネットワーク接続の問題や互換性のないツールなど)により失敗した場合、Claude は失敗を分析するよう促され、`dangerouslyDisableSandbox` パラメータでコマンドを再試行する可能性があります。このパラメータを使用するコマンドは、実行するユーザー許可を必要とする通常の Claude Code 許可フローを通じます。これにより、Claude Code は特定のツールまたはネットワーク操作がサンドボックス制約内で機能できないエッジケースを処理できます。211 

212* **デフォルトの書き込み動作**:現在の作業ディレクトリとそのサブディレクトリへの読み取りおよび書き込みアクセス

213* **デフォルトの読み取り動作**:特定の拒否ディレクトリを除く、コンピュータ全体への読み取りアクセス。このデフォルトは `~/.aws/credentials` や `~/.ssh/` などの認証情報ファイルの読み取りを許可することに注意してください。これらをブロックするには、`denyRead` に追加してください。

214* **ブロックされたアクセス**:明示的な許可なしに現在の作業ディレクトリ外のファイルを変更できません。これには `~/.bashrc` などのシェル設定ファイルと `/bin/` のシステムバイナリが含まれます。

215* **Git worktrees**:作業ディレクトリが[リンクされた git worktree](/ja/worktrees)の場合、サンドボックスはメインリポジトリの共有 `.git` ディレクトリへの書き込みも許可するため、`git commit` などのコマンドが refs とインデックスを更新できます。そのディレクトリ内の `hooks/` と `config` への書き込みは引き続き拒否されます。

216* **設定可能**:設定を通じてカスタム許可パスと拒否パスを定義します

181 217 

182 このエスケープハッチは、[サンドボックス設定](/ja/settings#sandbox-settings) `"allowUnsandboxedCommands": false` を設定することで無効化できます。無効化されると、`dangerouslyDisableSandbox` パラメータは完全に無視されすべてのコマンドはサンドボックス化されるか、`excludedCommands` に明示的にリストされている必要があります218`sandbox.filesystem.allowWrite` を設定で使用して、追加のパスへの書き込みアクセスを付与できます。これらの制限は OS レベルで実施されるため、Claude のファイルツールだけでなく、`kubectl`、`terraform`、`npm` などのツールを含むすべてのサブプロセスコマンドに適用されます

219 

220<h3 id="network-isolation">

221 ネットワーク分離

222</h3>

223 

224ネットワークアクセスはサンドボックス外で実行されるプロキシサーバーを通じて制御されます。

225 

226* **ドメイン制限**:事前に許可されたドメインはありません。コマンドが新しいドメインにアクセスする必要がある場合、Claude Code はプロンプトを表示します。[`allowedDomains`](/ja/settings#sandbox-settings)でドメインを事前に許可してプロンプトを回避します。

227* **管理ロックダウン**:[`allowManagedDomainsOnly`](/ja/settings#sandbox-settings)が管理設定で設定されている場合、許可されていないドメインはプロンプトの代わりに自動的にブロックされ、管理設定からの `allowedDomains` のみが尊重されます。

228* **カスタムプロキシサポート**:高度なユーザーは発信トラフィックにカスタムルールを実装できます

229* **包括的なカバレッジ**:制限はすべてのスクリプト、プログラム、およびコマンドによって生成されるサブプロセスに適用されます

230 

231<Note>

232 組み込みプロキシは要求されたホスト名に基づいて許可リストを実施し、TLS トラフィックを終了または検査しません。このデザインのセキュリティ上の影響については [Security limitations](#security-limitations) を参照してください。脅威モデルが TLS 検査を必要とする場合は、[Custom proxy configuration](#custom-proxy-configuration) を参照してください。

183</Note>233</Note>

184 234 

185## セキュリティ上の利点235<h3 id="os-level-enforcement">

236 OS レベルの実施

237</h3>

186 238 

187### プロンプトインジェクションからの保護239サンドボックス化された Bash ツールは OS セキュリティプリミティブを活用します。

188 240 

189攻撃者がプロンプトインジェクションを通じて Claude Code の動作を正常に操作した場合でも、サンドボックスはシステムのセキュリティを確保します。241* **macOS**:サンドボックス実施に Seatbelt を使用します

242* **Linux**:分離に [bubblewrap](https://github.com/containers/bubblewrap) を使用します

243* **WSL2**:Linux と同じく bubblewrap を使用します

190 244 

191**ファイルシステム保護:**245WSL1 は bubblewrap が WSL2 でのみ利用可能なカーネル機能を必要とするため、サポートされていません。これらの OS レベルの制限により、Claude Code のコマンドによって生成されたすべての子プロセスが同じセキュリティ境界を継承することが保証されます。

192 246 

193* `~/.bashrc` などの重要な設定ファイルを変更できません247これらの同じプリミティブは、スタンドアロン [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) パッケージとして利用可能です。[Sandbox environments](/ja/sandbox-environments#sandbox-runtime) ページでは、Claude Code プロセス全体をラップするための別のアプローチとしてこれについて説明しています。

194* `/bin/` のシステムレベルファイルを変更できません

195* [Claude 許可設定](/ja/permissions#manage-permissions) で拒否されたファイルを読み取ることができません

196 248 

197**ネットワーク保護:**249<h2 id="how-sandboxing-relates-to-permissions-and-permission-modes">

250 サンドボックス化が許可と許可モードにどのように関連するか

251</h2>

198 252 

199* 攻撃者が制御するサーバーへのデータ流出はできません253サンドボックス化、[許可ルール](/ja/permissions)、および [許可モード](/ja/permission-modes)は補完的なレイヤーです。以下のセクションでは、サンドボックスが各レイヤーとどのように相互作用するかについて説明します。

200* 許可されていないドメインから悪意のあるスクリプトをダウンロードできません

201* 承認されていないサービスへの予期しない API 呼び出しを行うことができません

202* 明示的に許可されていないドメインに連絡することはできません

203 254 

204**監視と制御:**255<h3 id="permission-rules">

256 許可ルール

257</h3>

205 258 

206* サンドボックス外のすべてのアクセス試行は OS レベルでブロックされます259許可ルールとサンドボックス化は異なるものを制御します。

207* 境界がテストされるときに即座に通知を受け取ります

208* リクエストを拒否、1 回だけ許可、または設定を永続的に更新することを選択できます

209 260 

210### 攻撃面の削減261* **許可ルール**は Claude Code が使用できるツールを制御し、任意のツールが実行される前に評価されます。これらは Bash、Read、Edit、WebFetch、MCP、およびその他のツールを含むすべてのツールに適用されます。

262* **サンドボックス化**は、Bash コマンドがファイルシステムとネットワークレベルでアクセスできるものを制限する OS レベルの実施を提供します。これは Bash コマンドとその子プロセスにのみ適用されます。

211 263 

212サンドボックス化は以下からの潜在的な損害を制限します2642 つのレイヤーは実施方法も異なりますClaude Code はコマンド文字列に基づいて、また自動モードではコマンドが安全かどうかについての別の分類器の判断に基づいて、コマンドが実行される前に許可決定を評価します。オペレーティングシステムは実行中のプロセスにサンドボックス境界を実施するため、モデルが何を実行することを選択したかに関係なく、許可されたコマンドが名前が示唆するもの以上のことを行う場合でも、それは保持されます。

213 265 

214* **悪意のある依存関係**:有害なコードを含む NPM パッケージまたは他の依存関係266ファイルシステムとネットワーク制限は、サンドボックス設定と許可ルールの両方を通じて設定されます。

215* **侵害されたスクリプト**:セキュリティ脆弱性を持つビルドスクリプトまたはツール

216* **ソーシャルエンジニアリング**:ユーザーに危険なコマンドを実行させるための攻撃

217* **プロンプトインジェクション**:Claude に危険なコマンドを実行させるための攻撃

218 267 

219### 透過的な操作268| 設定またはルール | 機能 |

269| :------------------------------------------------------------- | :------------------------------------------------------------ |

270| `sandbox.filesystem.allowWrite` | 作業ディレクトリ外のパスへのサブプロセス書き込みアクセスを付与します |

271| `sandbox.filesystem.denyWrite` と `sandbox.filesystem.denyRead` | 特定のパスへのサブプロセスアクセスをブロックします |

272| `sandbox.filesystem.allowRead` | `denyRead` 領域内の特定のパスの読み取りを再度許可します |

273| `Edit` 許可ルール | 特定のパスへの書き込みアクセスを付与します。`sandbox.filesystem.allowWrite` と同じ方法です |

274| `Read` と `Edit` 拒否ルール | 特定のファイルまたはディレクトリへのアクセスをブロックします |

275| `WebFetch` 許可および拒否ルール | ドメインアクセスを制御します |

276| サンドボックス `allowedDomains` | Bash コマンドが到達できるドメインを制御します |

277| サンドボックス `deniedDomains` | より広い `allowedDomains` ワイルドカードが許可する場合でも、特定のドメインをブロックします |

220 278 

221Claude Code がサンドボックス外のネットワークリソースにアクセスしようとする場合:279`sandbox.filesystem` 設定と許可ルールからのパスは、最終的なサンドボックス設定にマージされます。

222 280 

2231. 操作は OS レベルでブロックされます281[claude-code リポジトリの examples ディレクトリ](https://github.com/anthropics/claude-code/tree/main/examples/settings)には、一般的なデプロイメントシナリオ(サンドボックス固有の例を含む)のスターター設定が含まれています。これらを出発点として使用し、ニーズに合わせて調整してください。

2242. 即座に通知を受け取ります

2253. 以下を選択できます。

226 * リクエストを拒否する

227 * 1 回だけ許可する

228 * サンドボックス設定を永続的に更新して許可する

229 282 

230## セキュリティ上の制限283<h3 id="permission-modes">

284 許可モード

285</h3>

231 286 

232* ネットワークサンドボックス化の制限:ネットワークフィルタリングシステムはプロセスが接続を許可されるドメインを制限することで動作しますプロキシを通じて渡されるトラフィックを検査することはなくユーザーはポリシーで許可されたドメインが信頼できるドメインのみであることを確認する責任があります287`/sandbox` は [許可モード](/ja/permission-modes)ではありません。許可モードはツール呼び出しが実行されるかどうかおよび最初にプロンプトが表示されるかどうかを決定しますが、サンドボックスは Bash コマンドが実行されたら何にアクセスできるかを制限しますこれらは制御対象と1 回のアクション プロンプトを置き換えるものが異なります

233 288 

234<Warning>289| | 制御対象 | プロンプトを置き換えるもの |

235 ユーザーは、データ流出を許可する可能性のある `github.com` などの広いドメインを許可することに伴う潜在的なリスクに注意する必要があります。また、場合によっては [ドメインフロンティング](https://en.wikipedia.org/wiki/Domain_fronting) を通じてネットワークフィルタリングをバイパスすることが可能な場合があります。290| :----------------------------------------------------------------- | :------------------------- | :------------------------------------------------------------------------------------------------------------ |

236</Warning>291| `/sandbox` | Bash コマンドが実行されたら何にアクセスできるか | [自動許可モード](#sandbox-modes)のサンドボックス境界自体 |

292| [Auto mode](/ja/permission-modes#eliminate-prompts-with-auto-mode) | 各ツール呼び出しが実行されるかどうか | アクションをレビューする分類器 |

293| `--dangerously-skip-permissions` | 各ツール呼び出しが実行されるかどうか | なし。[Protected path](/ja/permission-modes#protected-paths) チェックもスキップされます。`/` またはホームディレクトリを削除することだけがプロンプトを表示します |

237 294 

238* Unix ソケットを通じた権限昇格:`allowUnixSockets` 設定は、サンドボックスバイパスにつながる可能性のある強力なシステムサービスへのアクセスを不注意に付与する可能性があります。たとえば、`/var/run/docker.sock` へのアクセスを許可するために使用される場合docker ソケットを悪用してホストシステムへのアクセスを効果的に付与しますユーザーはサンドボックスを通じて許可する Unix ソケットを慎重に検討することをお勧めします295サンドボックスの [自動許可モード](#sandbox-modes)は [自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)とは別です。自動許可はサンドボックス境界がそれらを含むため Bash コマンドを承認し自動モードは分類器を使用してアクションをレビューします。2 つは独立して動作し、組み合わせることができます無人実行の分離境界を選択するには、[Sandbox environments](/ja/sandbox-environments#how-isolation-relates-to-permission-modes) を参照してください

239* ファイルシステム許可昇格:過度に広いファイルシステム書き込み許可は権限昇格攻撃を有効にする可能性があります。`$PATH` の実行可能ファイルを含むディレクトリ、システム設定ディレクトリ、またはユーザーシェル設定ファイル(`.bashrc`、`.zshrc`)への書き込みを許可すると、他のユーザーまたはシステムプロセスがこれらのファイルにアクセスするときに異なるセキュリティコンテキストでコード実行につながる可能性があります。

240* Linux サンドボックス強度:Linux 実装は強力なファイルシステムとネットワーク分離を提供しますが、特権のない名前空間なしで Docker 環境内で動作できるようにする `enableWeakerNestedSandbox` モードが含まれています。このオプションはセキュリティを大幅に弱め、追加の分離が別の方法で実施される場合にのみ使用する必要があります。

241 296 

242## サンドボックス化が許可とどのように関連するか297<h2 id="configure-the-sandbox-for-your-organization">

298 組織のサンドボックスを設定する

299</h2>

243 300 

244サンドボックス化と [許可](/ja/permissions) は一緒に動作する補完的なセキュリティレイヤーです301管理者はすべてのユーザーにサンドボックス化を要求し開発者がポリシーを広げるのを防ぎ、サンドボックストラフィックを企業プロキシを通じてルーティングできます

245 302 

246* **許可** は Claude Code が使用できるツールを制御し、任意のツールが実行される前に評価されます。これらは Bash、Read、Edit、WebFetch、MCP などすべてのツールに適用されます。303<h3 id="enforce-sandboxing-with-managed-settings">

247* **サンドボックス化** は、Bash コマンドがファイルシステムとネットワークレベルでアクセスできるものを制限する OS レベルの実施を提供します。これは Bash コマンドとその子プロセスにのみ適用されます。304 管理設定でサンドボックス化を実施する

305</h3>

248 306 

249ファイルシステムとネットワーク制限はサンドボックス設定と許可ルールの両方を通じて設定されます307すべての開発者にサンドボックスを要求するには[管理設定](/ja/settings#settings-files)を通じて `sandbox` キーを配信しますMDM で管理されるファイルまたは Claude.ai の [server-managed settings](/ja/server-managed-settings)を通じて配信します。

250 308 

251* `sandbox.filesystem.allowWrite` を使用して作業ディレクトリ外のパスへのサブプロセス書き込みアクセスを付与します309以下の管理設定構成はサンドボックスを有効化し、サンドボックスが初期化できない場合は Claude Code の起動を拒否しモデルがサンドボックス外でコマンドを再試行するのを防止します。

252* `sandbox.filesystem.denyWrite` と `sandbox.filesystem.denyRead` を使用して、特定のパスへのサブプロセスアクセスをブロックします

253* `sandbox.filesystem.allowRead` を使用して、`denyRead` 領域内の特定のパスの読み取りを再度許可します

254* `Read` と `Edit` 拒否ルールを使用して、特定のファイルまたはディレクトリへのアクセスをブロックします

255* `WebFetch` 許可/拒否ルールを使用してドメインアクセスを制御します

256* サンドボックス `allowedDomains` を使用して、Bash コマンドが到達できるドメインを制御します

257* サンドボックス `deniedDomains` を使用して、より広い `allowedDomains` ワイルドカードが許可する場合でも、特定のドメインをブロックします

258 310 

259`sandbox.filesystem` 設定と許可ルールからのパスは、最終的なサンドボックス設定にマージされます。311```json theme={null}

312{

313 "sandbox": {

314 "enabled": true,

315 "failIfUnavailable": true,

316 "allowUnsandboxedCommands": false

317 }

318}

319```

320 

321`enabled` を超える 2 つのキーは、サンドボックスがコマンドを実行できない場合に何が起こるかを制御します。

322 

323* **`failIfUnavailable`**:Linux の bubblewrap などの不足している依存関係は、警告を表示してサンドボックス化されていない実行にフォールバックするのではなく、Claude Code の起動をブロックします

324* **`allowUnsandboxedCommands: false`**:`dangerouslyDisableSandbox` エスケープハッチは無視されるため、サンドボックス内で失敗するコマンドはサンドボックス外で再試行できません

325 

326それらと一緒に検討する価値のある 2 つの追加があります。サンドボックス化なしで実行する必要がある組織承認ツールについて `excludedCommands` を追加します。`~/.aws` や `~/.ssh` などの認証情報ディレクトリについて [`denyRead`](#filesystem-isolation) エントリを追加します。デフォルトの読み取りポリシーはこれらを許可します。

327 

328サンドボックスはネイティブ Windows では実行されないため、フリートに Windows ホストが含まれている場合、この設定を macOS と Linux にスコープするか、それらのユーザーに WSL2 またはコンテナ内で Claude Code を実行させてください。

260 329 

261この [リポジトリ](https://github.com/anthropics/claude-code/tree/main/examples/settings) には、一般的なデプロイメントシナリオ(サンドボックス固有の例を含む)のスターター設定が含まれています。これらを出発点として使用し、ニーズに合わせて調整してください。330<h3 id="keep-developers-from-widening-the-policy">

331 開発者がポリシーを広げるのを防ぐ

332</h3>

262 333 

263## 高度な使用方法334`enabled` と `failIfUnavailable` などのブール値キーの場合、Claude Code は管理値を使用し、開発者がローカルで設定したものを無視します。`excludedCommands` と `allowRead` などの配列キーの場合、Claude Code はすべてのスコープからエントリをマージするため、開発者はポリシーを広げるエントリを追加できます。

264 335 

265### カスタムプロキシ設定336管理設定で `allowManagedReadPathsOnly` を `true` に設定して、管理設定からの `allowRead` エントリのみが尊重されるようにします。ユーザー、プロジェクト、ローカルの `allowRead` エントリは無視されます。これにより、開発者は組織承認パスを超えて読み取りアクセスを広げるのを防止します。ネットワークドメインを同じ方法で管理値にロックするには、[`allowManagedDomainsOnly`](/ja/settings#sandbox-settings)を設定します。

337 

338`excludedCommands` には同等の管理のみロックダウンがないため、開発者は常にサンドボックス外で実行する追加コマンドを追加するエントリを追加できます。管理リストを狭く保ちます。

339 

340<h3 id="custom-proxy-configuration">

341 カスタムプロキシ設定

342</h3>

266 343 

267高度なネットワークセキュリティを必要とする組織の場合、カスタムプロキシを実装して以下を行うことができます。344高度なネットワークセキュリティを必要とする組織の場合、カスタムプロキシを実装して以下を行うことができます。

268 345 


271* すべてのネットワークリクエストをログに記録する348* すべてのネットワークリクエストをログに記録する

272* 既存のセキュリティインフラストラクチャと統合する349* 既存のセキュリティインフラストラクチャと統合する

273 350 

351Claude Code をプロキシにポイントするには、[サンドボックス設定](/ja/settings#sandbox-settings)でプロキシポートを設定します。

352 

274```json theme={null}353```json theme={null}

275{354{

276 "sandbox": {355 "sandbox": {


282}361}

283```362```

284 363 

285### 既存のセキュリティツールとの統合364<h2 id="troubleshooting">

365 トラブルシューティング

366</h2>

286 367 

287サンドボックス化された bash ツールは以下と連携します368一部のコマンドはサンドボックス内で失敗しますが、サンドボックス外では機能します以下の修正は最も一般的なケースをカバーしています。

288 369 

289* **許可ルール**:[許可設定](/ja/permissions) と組み合わせて多層防御を実現します370* **コマンドがホスト許可なしエラーで失敗する**:多くの CLI ツールは特定のホストに到達する必要があります。プロンプトが表示されたときに許可を付与すると、ホストが許可リストに追加されるため、ツールは将来サンドボックス内で実行されます。

290* **開発コンテナ**:[dev containers](/ja/devcontainer) と共に使用して追加の分離を実現します371* **`jest` がハングまたは失敗する**:`watchman` はサンドボックスと互換性がありません。代わりに `jest --no-watchman` を実行してください。

291* **エンタープライズポリシー**:[管理設定](/ja/settings#settings-precedence) を通じてサンドボックス設定を実施します372* **Go ベースの CLI が macOS で TLS 検証に失敗する**:`gh`、`gcloud`、`terraform` などのツールは Seatbelt の下で TLS 検証に失敗する可能性があります。これらのツールを `excludedCommands` にリストして、サンドボックス外で実行してください。`httpProxyPort` を MITM プロキシとカスタム CA で使用している場合は、代わりに [`enableWeakerNetworkIsolation`](/ja/settings#sandbox-settings) `true` に設定してください。

373* **`docker` コマンドが失敗する**:`docker` はサンドボックスと互換性がありません。`docker *` を `excludedCommands` に追加して、サンドボックス外で実行してください。

374* **Bubblewrap がコンテナ内で起動に失敗する**:非特権コンテナでは、bubblewrap は新しい `/proc` ファイルシステムをマウントできません。[`enableWeakerNestedSandbox`](/ja/settings#sandbox-settings)を `true` に設定して、内部サンドボックスがコンテナの既存の `/proc` をバインドマウントするようにしてください。このオプションは、外部コンテナが既に必要な分離境界を提供する場合にのみ使用してください。新しい `/proc` マウントが隠すサンドボックス化されたコマンドにプロセス情報を公開するためです。

375* **Linux の Seccomp フィルター**:seccomp フィルターは Unix ドメインソケットをブロックするために必要です。`/sandbox` の Dependencies タブに、それが利用可能かどうかが表示されます。不足している場合は、`npm install -g @anthropic-ai/sandbox-runtime` を実行してヘルパーをインストールしてください。

376* **`--dangerously-skip-permissions` が root として失敗する**:このフラグは Linux と macOS で root として実行するか sudo 経由で実行する場合にブロックされます。root アクセスと許可プロンプトなしを組み合わせるとシステム上のあらゆるファイルまたはサービスを変更できるためです。チェックは認識されたサンドボックス内で自動的にスキップされます。コンテナで自律的に実行するには、[dev container](/ja/devcontainer)設定を使用してください。これは Claude Code を非 root ユーザーとして実行します。

292 377 

293## ベストプラクティス378<h2 id="limitations">

379 制限事項

380</h2>

294 381 

2951. **制限的に開始**:最小限の許可で開始し必要に応じて拡張します382サンドボックス化はリスクを軽減しますが完全な分離境界ではありません。ハードセキュリティ制御として依存する前に、以下の制限事項を確認してください。

2962. **ログを監視**:サンドボックス違反の試みを確認して、Claude Code のニーズを理解します

2973. **環境固有の設定を使用**:開発環境と本番環境で異なるサンドボックスルールを使用します

2984. **許可と組み合わせる**:包括的なセキュリティのためにサンドボックス化を IAM ポリシーと共に使用します

2995. **設定をテスト**:サンドボックス設定が正当なワークフローをブロックしないことを確認します

300 383 

301## オープンソース384<h3 id="security-limitations">

385 セキュリティ上の制限

386</h3>

302 387 

303サンドボックスランタイムは、独自のエージェントプロジェクトで使用するためのオープンソース npm パッケージとして利用可能です。これによりより広い AI エージェントコミュニティがより安全で安全な自律システムを構築できます。これはサンドボックス化したい他のプログラムをサンドボックス化するためにも使用できますたとえば、MCP サーバーをサンドボックス化するには、以下を実行できます388* **ネットワークフィルタリング**:ネットワークフィルタリングシステムはプロセスが接続を許可されるドメインを制限することで動作します。組み込みプロキシは発信トラフィックを終了または TLS 検査を実行しないため暗号化された接続の内容は検査されません許可リストに含まれるドメインのみが信頼できることを確認する責任があります

304 389 

305```bash theme={null}390<Warning>

306npx @anthropic-ai/sandbox-runtime <command-to-sandbox>391 `github.com` などの広いドメインを許可すると、データ流出のパスが作成される可能性があります。プロキシは TLS を検査せずにクライアント提供のホスト名から許可決定を行うため、サンドボックス内で実行されるコードは [ドメインフロンティング](https://en.wikipedia.org/wiki/Domain_fronting)または同様の技術を使用して許可リスト外のホストに到達する可能性があります。脅威モデルがより強力な保証を必要とする場合は、TLS を終了してトラフィックを検査し、CA 証明書をサンドボックス内にインストールする [カスタムプロキシ](#custom-proxy-configuration)を設定してください。より強力な TLS 対応ネットワーク分離は開発の活発な領域です。

307```392</Warning>

308 393 

309実装の詳細とソースコードについては、[GitHub リポジトリ](https://github.com/anthropic-experimental/sandbox-runtime) を参照してください394* **Unix ソケットを通じた権限昇格**:`allowUnixSockets` 設定は、サンドボックスバイパスにつながる可能性のある強力なシステムサービスへのアクセスを不注意に付与する可能性があります。たとえば、`/var/run/docker.sock` へのアクセスを許可すると、Docker ソケットを通じてホストシステムへのアクセスが効果的に付与されますサンドボックスを通じて許可する Unix ソケットを慎重に検討してください。

395* **ファイルシステム許可昇格**:過度に広いファイルシステム書き込み許可は権限昇格攻撃を有効にする可能性があります。`$PATH` の実行可能ファイルを含むディレクトリ、システム設定ディレクトリ、またはユーザーシェル設定ファイル(`.bashrc` または `.zshrc`)への書き込みを許可すると、他のユーザーまたはシステムプロセスがこれらのファイルにアクセスするときに異なるセキュリティコンテキストでコード実行につながる可能性があります。

396* **Linux サンドボックス強度**:Linux 実装は強力なファイルシステムとネットワーク分離を提供しますが、特権のない名前空間なしで Docker 環境内で動作できるようにする `enableWeakerNestedSandbox` モードが含まれています。このオプションはセキュリティを大幅に弱め、追加の分離が別の方法で実施される場合にのみ使用する必要があります。

397* **設定ファイルが保護されている**:サンドボックスは自動的に Claude Code の `settings.json` ファイルのすべてのスコープと管理設定ディレクトリへの書き込みアクセスを拒否するため、サンドボックス化されたコマンドは独自のポリシーを変更できません。

310 398 

311## 制限事項399<h3 id="platform-and-tool-compatibility">

400 プラットフォームとツールの互換性

401</h3>

312 402 

313* **パフォーマンスオーバーヘッド**:最小限ですが一部のファイルシステム操作はわずかに遅くなる可能性があります403* **プラットフォームサポート**:macOSLinux、WSL2 をサポートします。WSL1 とネイティブ Windows はサポートされていません。

314* **互換性**:特定のシステムアクセスパターンを必要とするツールの中には、設定調整が必要な場合やサンドボックス外で実行する必要がある場合があります404* **パフォーマンスオーバーヘッド**:最小限ですが一部のファイルシステム操作はわずかに遅くなる可能性があります。

315* **プラットフォームサポート**:macOSLinuxWSL2 をサポートします。WSL1 はサポートされていません。ネイティブ Windows サポートは計画中です405* **ツール互換性**:特定のシステムアクセスパターンを必要とするツールの中には設定調整が必要な場合やサンドボックス外で実行する必要がある場合があります

316 406 

317## サンドボックス化がカバーしていないもの407<h3 id="scope">

408 スコープ

409</h3>

318 410 

319サンドボックスは Bash サブプロセスを分離します。他のツールは異なる境界の下で動作します。411サンドボックスは Bash サブプロセスを分離します。他のツールは異なる境界の下で動作します。

320 412 

321* **組み込みファイルツール**:Read、Edit、Write はサンドボックスを通じて実行するのではなく、許可システムを直接使用します。[許可](/ja/permissions) を参照してください。413* **組み込みファイルツール**:Read、Edit、Write はサンドボックスを通じて実行するのではなく、許可システムを直接使用します。[permissions](/ja/permissions) を参照してください。

322* **コンピュータ使用**:Claude が macOS でアプリを開いてスクリーンを制御する場合、分離された環境ではなく実際のデスクトップで実行されます。アプリごとの許可プロンプトが各アプリケーションをゲートします。[CLI でのコンピュータ使用](/ja/computer-use) または [Desktop でのコンピュータ使用](/ja/desktop#let-claude-use-your-computer) を参照してください。414* **コンピュータ使用**:Claude がアプリを開いてスクリーンを制御する場合、分離された環境ではなく実際のデスクトップで実行されます。アプリごとの許可プロンプトが各アプリケーションをゲートします。[CLI でのコンピュータ使用](/ja/computer-use)または [Desktop でのコンピュータ使用](/ja/desktop#let-claude-use-your-computer)を参照してください。

415* **環境変数**:サンドボックス化された Bash コマンドはデフォルトで親プロセス環境を継承します。そこに設定されたすべての認証情報を含みます。サブプロセスから Anthropic とクラウドプロバイダーの認証情報を削除するには、[`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/ja/env-vars)を設定してください。

416* **サブエージェント**:[subagents](/ja/sub-agents)は親セッションと同じプロセスで実行され、同じサンドボックス設定を使用します。親セッションでサンドボックス化が有効な場合、サブエージェント内の Bash コマンドはサンドボックス化されます。

417 

418<Warning>

419 効果的なサンドボックス化にはファイルシステムとネットワークの両方の分離が必要です。ネットワーク分離がない場合、侵害されたエージェントは SSH キーなどの機密ファイルを流出させる可能性があります。ファイルシステム分離がない場合、侵害されたエージェントはシステムリソースにバックドアを仕掛けてネットワークアクセスを取得する可能性があります。デフォルトを広げるときは、`allowWrite` パス、広い `allowedDomains` エントリ、または `excludedCommands` 例外が反対側の制限を元に戻さないことを確認してください。

420</Warning>

323 421 

324## 関連項目422<h2 id="see-also">

423 関連項目

424</h2>

325 425 

326* [Security](/ja/security) - 包括的なセキュリティ機能とベストプラクティス426* [Sandbox environments](/ja/sandbox-environments):組み込みサンドボックスと dev コンテナ、コンテナ、VM を比較する

327* [Permissions](/ja/permissions) - 許可設定とアクセス制御427* [Security](/ja/security):包括的なセキュリティ機能とベストプラクティス

328* [Settings](/ja/settings) - 完全な設定リファレンス428* [Permissions](/ja/permissions):許可設定とアクセス制御

329* [CLI reference](/ja/cli-reference) - コマンドラインオプション429* [Settings](/ja/settings):完全な設定リファレンス

430* [CLI reference](/ja/cli-reference):コマンドラインオプション

scheduled-tasks.md +50 −16

Details

14 14 

15タスクはセッションスコープです。現在の会話に存在し、新しい会話を開始すると停止します。`--resume` または `--continue` で再開すると、[有効期限切れ](#seven-day-expiry)になっていないタスクが復元されます。過去 7 日以内に作成された定期的なタスク、またはスケジュール済み時間がまだ経過していない 1 回限りのタスクです。セッションとは独立して存在する永続的なスケジューリングについては、[Routines](/ja/routines) を使用して Anthropic 管理インフラストラクチャ上にルーチンを作成するか、[Desktop スケジュール済みタスク](/ja/desktop-scheduled-tasks) をセットアップするか、[GitHub Actions](/ja/github-actions) を使用してください。15タスクはセッションスコープです。現在の会話に存在し、新しい会話を開始すると停止します。`--resume` または `--continue` で再開すると、[有効期限切れ](#seven-day-expiry)になっていないタスクが復元されます。過去 7 日以内に作成された定期的なタスク、またはスケジュール済み時間がまだ経過していない 1 回限りのタスクです。セッションとは独立して存在する永続的なスケジューリングについては、[Routines](/ja/routines) を使用して Anthropic 管理インフラストラクチャ上にルーチンを作成するか、[Desktop スケジュール済みタスク](/ja/desktop-scheduled-tasks) をセットアップするか、[GitHub Actions](/ja/github-actions) を使用してください。

16 16 

17## スケジューリングオプションを比較する17<h2 id="compare-scheduling-options">

18 スケジューリングオプションを比較する

19</h2>

18 20 

19Claude Code offers three ways to schedule recurring or one-off work:21Claude Code offers three ways to schedule recurring or one-off work:

20 22 


34 Use **cloud tasks** for work that should run reliably without your machine. Use **Desktop tasks** when you need access to local files and tools. Use **`/loop`** for quick polling during a session.36 Use **cloud tasks** for work that should run reliably without your machine. Use **Desktop tasks** when you need access to local files and tools. Use **`/loop`** for quick polling during a session.

35</Tip>37</Tip>

36 38 

37## /loop で定期的にプロンプトを実行する39<h2 id="run-a-prompt-repeatedly-with-/loop">

40 /loop で定期的にプロンプトを実行する

41</h2>

38 42 

39`/loop` [バンドルスキル](/ja/commands) は、セッションが開いている間、プロンプトを繰り返し実行する最速の方法です。間隔とプロンプトの両方はオプションであり、提供する内容によってループの動作が決まります。43`/loop` [バンドルスキル](/ja/commands) は、セッションが開いている間、プロンプトを繰り返し実行する最速の方法です。間隔とプロンプトの両方はオプションであり、提供する内容によってループの動作が決まります。

40 44 


46 50 

47別のコマンドをプロンプトとして渡すこともできます。例えば `/loop 20m /review-pr 1234` は、各反復でパッケージ化されたワークフローを再実行します。51別のコマンドをプロンプトとして渡すこともできます。例えば `/loop 20m /review-pr 1234` は、各反復でパッケージ化されたワークフローを再実行します。

48 52 

49### 固定間隔で実行する53<h3 id="run-on-a-fixed-interval">

54 固定間隔で実行する

55</h3>

50 56 

51間隔を指定すると、Claude はそれを cron 式に変換し、ジョブをスケジュールし、頻度とジョブ ID を確認します。57間隔を指定すると、Claude はそれを cron 式に変換し、ジョブをスケジュールし、頻度とジョブ ID を確認します。

52 58 


58 64 

59秒は cron が 1 分の粒度を持つため、最も近い分に切り上げられます。`7m` や `90m` など、クリーンな cron ステップにマップされない間隔は、最も近い間隔に丸められ、Claude が選択したものを通知します。65秒は cron が 1 分の粒度を持つため、最も近い分に切り上げられます。`7m` や `90m` など、クリーンな cron ステップにマップされない間隔は、最も近い間隔に丸められ、Claude が選択したものを通知します。

60 66 

61### Claude に間隔を選択させる67<h3 id="let-claude-choose-the-interval">

68 Claude に間隔を選択させる

69</h3>

62 70 

63間隔を省略すると、Claude は固定 cron スケジュールで実行する代わりに、動的に間隔を選択します。各反復の後、観察した内容に基づいて 1 分から 1 時間の間の遅延を選択します。ビルドが完了している間または PR がアクティブな間は短い待機時間、何も保留中でない場合は長い待機時間です。選択された遅延とその理由は、各反復の終了時に出力されます。71間隔を省略すると、Claude は固定 cron スケジュールで実行する代わりに、動的に間隔を選択します。各反復の後、観察した内容に基づいて 1 分から 1 時間の間の遅延を選択します。ビルドが完了している間または PR がアクティブな間は短い待機時間、何も保留中でない場合は長い待機時間です。選択された遅延とその理由は、各反復の終了時に出力されます。

64 72 


76 Bedrock、Vertex AI、Microsoft Foundry では、間隔なしのプロンプトは固定 10 分スケジュールで実行されます。84 Bedrock、Vertex AI、Microsoft Foundry では、間隔なしのプロンプトは固定 10 分スケジュールで実行されます。

77</Note>85</Note>

78 86 

79### 組み込みメンテナンスプロンプトを実行する87<h3 id="run-the-built-in-maintenance-prompt">

88 組み込みメンテナンスプロンプトを実行する

89</h3>

80 90 

81プロンプトを省略すると、Claude は提供するプロンプトの代わりに組み込みメンテナンスプロンプトを使用します。各反復で、以下を順番に処理します。91プロンプトを省略すると、Claude は提供するプロンプトの代わりに組み込みメンテナンスプロンプトを使用します。各反復で、以下を順番に処理します。

82 92 


93裸の `/loop` は、このプロンプトを[動的に選択された間隔](#let-claude-choose-the-interval)で実行します。例えば `/loop 15m` のように間隔を追加して、代わりに固定スケジュールで実行します。組み込みプロンプトを独自のデフォルトに置き換えるには、[loop.md でデフォルトプロンプトをカスタマイズする](#customize-the-default-prompt-with-loop-md)を参照してください。103裸の `/loop` は、このプロンプトを[動的に選択された間隔](#let-claude-choose-the-interval)で実行します。例えば `/loop 15m` のように間隔を追加して、代わりに固定スケジュールで実行します。組み込みプロンプトを独自のデフォルトに置き換えるには、[loop.md でデフォルトプロンプトをカスタマイズする](#customize-the-default-prompt-with-loop-md)を参照してください。

94 104 

95<Note>105<Note>

96 Bedrock、Vertex AI、Microsoft Foundry では、プロンプトなしの `/loop` は使用メッセージを出力し、メンテナンスループを開始しません106 Bedrock、Vertex AI、Microsoft Foundry では、プロンプトなしの `/loop` は使用メッセージを出力する代わりにメンテナンスプロンプトを実行します

97</Note>107</Note>

98 108 

99### loop.md でデフォルトプロンプトをカスタマイズする109<h3 id="customize-the-default-prompt-with-loop-md">

110 loop.md でデフォルトプロンプトをカスタマイズする

111</h3>

100 112 

101`loop.md` ファイルは、組み込みメンテナンスプロンプトを独自の指示に置き換えます。これは、裸の `/loop` の単一のデフォルトプロンプトを定義し、個別のスケジュール済みタスクのリストではなく、コマンドラインでプロンプトを指定するたびに無視されます。それと一緒に追加のプロンプトをスケジュールするには、`/loop <prompt>` を使用するか、[Claude に直接依頼してください](#manage-scheduled-tasks)。113`loop.md` ファイルは、組み込みメンテナンスプロンプトを独自の指示に置き換えます。これは、裸の `/loop` の単一のデフォルトプロンプトを定義し、個別のスケジュール済みタスクのリストではなく、コマンドラインでプロンプトを指定するたびに無視されます。それと一緒に追加のプロンプトをスケジュールするには、`/loop <prompt>` を使用するか、[Claude に直接依頼してください](#manage-scheduled-tasks)。

102 114 


118 130 

119`loop.md` への編集は次の反復で有効になるため、ループが実行中に指示を改善できます。どちらの場所にも `loop.md` が存在しない場合、ループは組み込みメンテナンスプロンプトにフォールバックします。ファイルは簡潔に保ってください。25,000 バイトを超えるコンテンツは切り詰められます。131`loop.md` への編集は次の反復で有効になるため、ループが実行中に指示を改善できます。どちらの場所にも `loop.md` が存在しない場合、ループは組み込みメンテナンスプロンプトにフォールバックします。ファイルは簡潔に保ってください。25,000 バイトを超えるコンテンツは切り詰められます。

120 132 

121### ループを停止する133<Note>

134 Bedrock、Vertex AI、Microsoft Foundry では、`loop.md` は読み込まれず、プロンプトなしの `/loop` は使用メッセージを出力する代わりにメンテナンスプロンプトを実行します。

135</Note>

136 

137<h3 id="stop-a-loop">

138 ループを停止する

139</h3>

122 140 

123`/loop` が次の反復を待機している間に停止するには、`Esc` を押してください。これにより、保留中のウェイクアップがクリアされるため、ループは再度実行されません。[Claude に直接依頼](#manage-scheduled-tasks)してスケジュールしたタスクは `Esc` の影響を受けず、削除するまで存在し続けます。141`/loop` が次の反復を待機している間に停止するには、`Esc` を押してください。これにより、保留中のウェイクアップがクリアされるため、ループは再度実行されません。[Claude に直接依頼](#manage-scheduled-tasks)してスケジュールしたタスクは `Esc` の影響を受けず、削除するまで存在し続けます。

124 142 

125[自分のペースモード](#let-claude-choose-the-interval)では、Claude はタスクが確実に完了したら次のウェイクアップをスケジュールしないことで、ループを自分で終了することもできます。固定間隔のループは、停止するか[7 日が経過](#seven-day-expiry)するまで実行し続けます。143[自分のペースモード](#let-claude-choose-the-interval)では、Claude はタスクが確実に完了したら次のウェイクアップをスケジュールしないことで、ループを自分で終了することもできます。固定間隔のループは、停止するか[7 日が経過](#seven-day-expiry)するまで実行し続けます。

126 144 

127## 1 回限りのリマインダーを設定する145<h2 id="set-a-one-time-reminder">

146 1 回限りのリマインダーを設定する

147</h2>

128 148 

1291 回限りのリマインダーの場合は、`/loop` を使用する代わりに、自然言語で実行したい内容を説明してください。Claude は実行後に自身を削除する単一実行タスクをスケジュールします。1491 回限りのリマインダーの場合は、`/loop` を使用する代わりに、自然言語で実行したい内容を説明してください。Claude は実行後に自身を削除する単一実行タスクをスケジュールします。

130 150 


138 158 

139Claude は cron 式を使用して火災時間を特定の分と時間に固定し、いつ実行されるかを確認します。159Claude は cron 式を使用して火災時間を特定の分と時間に固定し、いつ実行されるかを確認します。

140 160 

141## スケジュール済みタスクを管理する161<h2 id="manage-scheduled-tasks">

162 スケジュール済みタスクを管理する

163</h2>

142 164 

143自然言語で Claude にタスクをリストまたはキャンセルするよう依頼するか、基盤となるツールを直接参照してください。165自然言語で Claude にタスクをリストまたはキャンセルするよう依頼するか、基盤となるツールを直接参照してください。

144 166 


160 182 

161各スケジュール済みタスクには、`CronDelete` に渡すことができる 8 文字の ID があります。セッションは一度に最大 50 個のスケジュール済みタスクを保持できます。183各スケジュール済みタスクには、`CronDelete` に渡すことができる 8 文字の ID があります。セッションは一度に最大 50 個のスケジュール済みタスクを保持できます。

162 184 

163## スケジュール済みタスクの実行方法185<h2 id="how-scheduled-tasks-run">

186 スケジュール済みタスクの実行方法

187</h2>

164 188 

165スケジューラは毎秒期限切れのタスクをチェックし、低優先度でキューに入れます。スケジュール済みプロンプトは、Claude が応答の途中ではなく、ターン間で実行されます。タスクが期限切れになったときに Claude がビジーの場合、プロンプトは現在のターンが終了するまで待機します。189スケジューラは毎秒期限切れのタスクをチェックし、低優先度でキューに入れます。スケジュール済みプロンプトは、Claude が応答の途中ではなく、ターン間で実行されます。タスクが期限切れになったときに Claude がビジーの場合、プロンプトは現在のターンが終了するまで待機します。

166 190 

167すべての時間はローカルタイムゾーンで解釈されます。`0 9 * * *` のような cron 式は、UTC ではなく、Claude Code を実行している場所の午前 9 時を意味します。191すべての時間はローカルタイムゾーンで解釈されます。`0 9 * * *` のような cron 式は、UTC ではなく、Claude Code を実行している場所の午前 9 時を意味します。

168 192 

169### ジッター193<h3 id="jitter">

194 ジッター

195</h3>

170 196 

171すべてのセッションが同じ壁時計の瞬間に API にヒットするのを避けるために、スケジューラは火災時間に決定論的オフセットを追加します。197すべてのセッションが同じ壁時計の瞬間に API にヒットするのを避けるために、スケジューラは火災時間に決定論的オフセットを追加します。

172 198 


175 201 

176オフセットはタスク ID から派生しているため、同じタスクは常に同じオフセットを取得します。正確なタイミングが重要な場合は、`0 9 * * *` ではなく `3 9 * * *` など、`:00` または `:30` ではない分を選択すると、1 回限りのジッターは適用されません。202オフセットはタスク ID から派生しているため、同じタスクは常に同じオフセットを取得します。正確なタイミングが重要な場合は、`0 9 * * *` ではなく `3 9 * * *` など、`:00` または `:30` ではない分を選択すると、1 回限りのジッターは適用されません。

177 203 

178### 7 日間の有効期限204<h3 id="seven-day-expiry">

205 7 日間の有効期限

206</h3>

179 207 

180定期的なタスクは作成後 7 日で自動的に期限切れになります。タスクは最後に 1 回実行され、その後自身を削除します。これにより、忘れられたループが実行できる期間が制限されます。定期的なタスクをより長く続ける必要がある場合は、期限切れになる前にキャンセルして再作成するか、永続的なスケジューリングのために [Routines](/ja/routines) または [Desktop スケジュール済みタスク](/ja/desktop-scheduled-tasks) を使用してください。208定期的なタスクは作成後 7 日で自動的に期限切れになります。タスクは最後に 1 回実行され、その後自身を削除します。これにより、忘れられたループが実行できる期間が制限されます。定期的なタスクをより長く続ける必要がある場合は、期限切れになる前にキャンセルして再作成するか、永続的なスケジューリングのために [Routines](/ja/routines) または [Desktop スケジュール済みタスク](/ja/desktop-scheduled-tasks) を使用してください。

181 209 

182## Cron 式リファレンス210<h2 id="cron-expression-reference">

211 Cron 式リファレンス

212</h2>

183 213 

184`CronCreate` は標準 5 フィールド cron 式を受け入れます。`minute hour day-of-month month day-of-week`。すべてのフィールドは、ワイルドカード(`*`)、単一値(`5`)、ステップ(`*/15`)、範囲(`1-5`)、カンマ区切りリスト(`1,15,30`)をサポートしています。214`CronCreate` は標準 5 フィールド cron 式を受け入れます。`minute hour day-of-month month day-of-week`。すべてのフィールドは、ワイルドカード(`*`)、単一値(`5`)、ステップ(`*/15`)、範囲(`1-5`)、カンマ区切りリスト(`1,15,30`)をサポートしています。

185 215 


196 226 

197月の日と曜日の両方が制約されている場合、どちらかのフィールドが一致すれば日付が一致します。これは標準の vixie-cron セマンティクスに従います。227月の日と曜日の両方が制約されている場合、どちらかのフィールドが一致すれば日付が一致します。これは標準の vixie-cron セマンティクスに従います。

198 228 

199## スケジュール済みタスクを無効にする229<h2 id="disable-scheduled-tasks">

230 スケジュール済みタスクを無効にする

231</h2>

200 232 

201環境で `CLAUDE_CODE_DISABLE_CRON=1` を設定して、スケジューラ全体を無効にします。cron ツールと `/loop` は利用できなくなり、既にスケジュール済みのタスクは実行を停止します。無効化フラグの完全なリストについては、[環境変数](/ja/env-vars) を参照してください。233環境で `CLAUDE_CODE_DISABLE_CRON=1` を設定して、スケジューラ全体を無効にします。cron ツールと `/loop` は利用できなくなり、既にスケジュール済みのタスクは実行を停止します。無効化フラグの完全なリストについては、[環境変数](/ja/env-vars) を参照してください。

202 234 

203## 制限事項235<h2 id="limitations">

236 制限事項

237</h2>

204 238 

205セッションスコープのスケジューリングには固有の制約があります。239セッションスコープのスケジューリングには固有の制約があります。

206 240 

security.md +59 −23

Details

6 6 

7> Claude Code のセキュリティ対策とセキュアな使用方法のベストプラクティスについて学びます。7> Claude Code のセキュリティ対策とセキュアな使用方法のベストプラクティスについて学びます。

8 8 

9## セキュリティへのアプローチ方法9<h2 id="how-we-approach-security">

10 セキュリティへのアプローチ方法

11</h2>

10 12 

11### セキュリティの基盤13<h3 id="security-foundation">

14 セキュリティの基盤

15</h3>

12 16 

13コードのセキュリティは最優先事項です。Claude Code はセキュリティを中核に据えて構築されており、Anthropic の包括的なセキュリティプログラムに従って開発されています。詳細情報とリソース(SOC 2 Type 2 レポート、ISO 27001 証明書など)については、[Anthropic Trust Center](https://trust.anthropic.com) をご覧ください。17コードのセキュリティは最優先事項です。Claude Code はセキュリティを中核に据えて構築されており、Anthropic の包括的なセキュリティプログラムに従って開発されています。詳細情報とリソース(SOC 2 Type 2 レポート、ISO 27001 証明書など)については、[Anthropic Trust Center](https://trust.anthropic.com) をご覧ください。

14 18 

15### パーミッションベースのアーキテクチャ19<h3 id="permission-based-architecture">

20 パーミッションベースのアーキテクチャ

21</h3>

16 22 

17Claude Code はデフォルトで厳密な読み取り専用パーミッションを使用します。追加のアクション(ファイルの編集、テストの実行、コマンドの実行)が必要な場合、Claude Code は明示的なパーミッションをリクエストします。ユーザーは、アクションを 1 回だけ承認するか、自動的に許可するかを制御できます。23Claude Code はデフォルトで厳密な読み取り専用パーミッションを使用します。追加のアクション(ファイルの編集、テストの実行、コマンドの実行)が必要な場合、Claude Code は明示的なパーミッションをリクエストします。ユーザーは、アクションを 1 回だけ承認するか、自動的に許可するかを制御できます。

18 24 


20 26 

21詳細なパーミッション設定については、[Permissions](/ja/permissions) を参照してください。27詳細なパーミッション設定については、[Permissions](/ja/permissions) を参照してください。

22 28 

23### 組み込み保護機能29<h3 id="built-in-protections">

30 組み込み保護機能

31</h3>

24 32 

25agentic システムのリスクを軽減するために:33agentic システムのリスクを軽減するために:

26 34 


29* **プロンプト疲労の軽減**: ユーザーごと、コードベースごと、または組織ごとに頻繁に使用される安全なコマンドのホワイトリスト化をサポート37* **プロンプト疲労の軽減**: ユーザーごと、コードベースごと、または組織ごとに頻繁に使用される安全なコマンドのホワイトリスト化をサポート

30* **Accept Edits モード**: ファイル編集と `mkdir`、`touch`、`rm`、`mv`、`cp`、`sed` などの固定セットのファイルシステム Bash コマンドを作業ディレクトリ内のパスに対して自動承認します。その他の Bash コマンドとスコープ外のパスはプロンプトが表示されます38* **Accept Edits モード**: ファイル編集と `mkdir`、`touch`、`rm`、`mv`、`cp`、`sed` などの固定セットのファイルシステム Bash コマンドを作業ディレクトリ内のパスに対して自動承認します。その他の Bash コマンドとスコープ外のパスはプロンプトが表示されます

31 39 

32### ユーザーの責任40<h3 id="user-responsibility">

41 ユーザーの責任

42</h3>

33 43 

34Claude Code は、ユーザーが付与したパーミッションのみを持ちます。承認前に、提案されたコードとコマンドのセキュリティを確認する責任があります。44Claude Code は、ユーザーが付与したパーミッションのみを持ちます。承認前に、提案されたコードとコマンドのセキュリティを確認する責任があります。

35 45 

36## プロンプトインジェクションから保護する46<h2 id="protect-against-prompt-injection">

47 プロンプトインジェクションから保護する

48</h2>

37 49 

38プロンプトインジェクションは、攻撃者が悪意のあるテキストを挿入することで AI アシスタントの指示をオーバーライドまたは操作しようとする手法です。Claude Code にはこれらの攻撃に対する複数のセーフガードが含まれています:50プロンプトインジェクションは、攻撃者が悪意のあるテキストを挿入することで AI アシスタントの指示をオーバーライドまたは操作しようとする手法です。Claude Code にはこれらの攻撃に対する複数のセーフガードが含まれています:

39 51 

40### コア保護機能52<h3 id="core-protections">

53 コア保護機能

54</h3>

41 55 

42* **パーミッションシステム**: 機密操作には明示的な承認が必要です56* **パーミッションシステム**: 機密操作には明示的な承認が必要です

43* **コンテキスト認識分析**: 完全なリクエストを分析して潜在的に有害な指示を検出します57* **コンテキスト認識分析**: 完全なリクエストを分析して潜在的に有害な指示を検出します

44* **入力サニタイゼーション**: ユーザー入力を処理することでコマンドインジェクションを防止します58* **入力サニタイゼーション**: ユーザー入力を処理することでコマンドインジェクションを防止します

45* **コマンドブロックリスト**: `curl` や `wget` のようにウェブから任意のコンテンツを取得するリスクのあるコマンドをデフォルトでブロックします。明示的に許可する場合は、[パーミッションパターンの制限](/ja/permissions#tool-specific-permission-rules) に注意してください59* **コマンドブロックリスト**: `curl` や `wget` のようにウェブから任意のコンテンツを取得するリスクのあるコマンドをデフォルトでブロックします。明示的に許可する場合は、[パーミッションパターンの制限](/ja/permissions#tool-specific-permission-rules) に注意してください

46 60 

47### プライバシーセーフガード61<h3 id="privacy-safeguards">

62 プライバシーセーフガード

63</h3>

48 64 

49データを保護するために、複数のセーフガードを実装しています:65データを保護するために、複数のセーフガードを実装しています:

50 66 


54 70 

55詳細については、[Commercial Terms of Service](https://www.anthropic.com/legal/commercial-terms)(Team、Enterprise、API ユーザー向け)または [Consumer Terms](https://www.anthropic.com/legal/consumer-terms)(Free、Pro、Max ユーザー向け)および [Privacy Policy](https://www.anthropic.com/legal/privacy) をご確認ください。71詳細については、[Commercial Terms of Service](https://www.anthropic.com/legal/commercial-terms)(Team、Enterprise、API ユーザー向け)または [Consumer Terms](https://www.anthropic.com/legal/consumer-terms)(Free、Pro、Max ユーザー向け)および [Privacy Policy](https://www.anthropic.com/legal/privacy) をご確認ください。

56 72 

57### 追加のセーフガード73<h3 id="additional-safeguards">

74 追加のセーフガード

75</h3>

58 76 

59* **ネットワークリクエスト承認**: ネットワークリクエストを行うツールはデフォルトでユーザー承認が必要です77* **ネットワークリクエスト承認**: ネットワークリクエストを行うツールはデフォルトでユーザー承認が必要です

60* **分離されたコンテキストウィンドウ**: Web fetch は潜在的に悪意のあるプロンプトの注入を避けるために別のコンテキストウィンドウを使用します78* **分離されたコンテキストウィンドウ**: Web fetch は潜在的に悪意のあるプロンプトの注入を避けるために別のコンテキストウィンドウを使用します


82 これらの保護機能はリスクを大幅に軽減しますが、どのシステムもすべての攻撃に完全に免疫があるわけではありません。AI ツールを使用する場合は常に良好なセキュリティプラクティスを維持してください。100 これらの保護機能はリスクを大幅に軽減しますが、どのシステムもすべての攻撃に完全に免疫があるわけではありません。AI ツールを使用する場合は常に良好なセキュリティプラクティスを維持してください。

83</Warning>101</Warning>

84 102 

85## MCP セキュリティ103<h2 id="mcp-security">

104 MCP セキュリティ

105</h2>

86 106 

87Claude Code ユーザーは Model Context Protocol(MCP)サーバーを設定できます。許可された MCP サーバーのリストは、エンジニアがソース管理にチェックインする Claude Code 設定の一部として、ソースコードで設定されます。107Claude Code ユーザーは Model Context Protocol(MCP)サーバーを設定できます。許可された MCP サーバーのリストは、エンジニアがソース管理にチェックインする Claude Code 設定の一部として、ソースコードで設定されます。

88 108 

89独自の MCP サーバーを作成するか、信頼できるプロバイダーからの MCP サーバーを使用することをお勧めします。Claude Code パーミッションを MCP サーバー用に設定できます。Anthropic は MCP サーバーを [リスティング基準](https://claude.com/docs/connectors/building/review-criteria) に照らして確認してから [Anthropic Directory](https://claude.ai/directory) に追加しますが、MCP サーバーのセキュリティ監査または管理は行いません。109独自の MCP サーバーを作成するか、信頼できるプロバイダーからの MCP サーバーを使用することをお勧めします。Claude Code パーミッションを MCP サーバー用に設定できます。Anthropic は MCP サーバーを [リスティング基準](https://claude.com/docs/connectors/building/review-criteria) に照らして確認してから [Anthropic Directory](https://claude.ai/directory) に追加しますが、MCP サーバーのセキュリティ監査または管理は行いません。

90 110 

91## IDE セキュリティ111<h2 id="ide-security">

112 IDE セキュリティ

113</h2>

92 114 

93IDE で Claude Code を実行する場合の詳細については、[VS Code security and privacy](/ja/vs-code#security-and-privacy) を参照してください。115IDE で Claude Code を実行する場合の詳細については、[VS Code security and privacy](/ja/vs-code#security-and-privacy) を参照してください。

94 116 

95## クラウド実行セキュリティ117<h2 id="cloud-execution-security">

118 クラウド実行セキュリティ

119</h2>

96 120 

97[Claude Code on the web](/ja/claude-code-on-the-web) を使用する場合、追加のセキュリティ制御が実施されます:121[Claude Code on the web](/ja/claude-code-on-the-web) を使用する場合、追加のセキュリティ制御が実施されます:

98 122 


107 131 

108[Remote Control](/ja/remote-control) セッションは異なる方法で動作します:Web インターフェースはローカルマシンで実行されている Claude Code プロセスに接続します。すべてのコード実行とファイルアクセスはローカルに留まり、ローカル Claude Code セッション中に流れるのと同じデータが TLS 経由で Anthropic API を通じて流れます。クラウド VM またはサンドボックスは関与しません。接続は複数の短命で狭くスコープされた認証情報を使用し、各認証情報は特定の目的に限定され、独立して有効期限が切れ、単一の侵害された認証情報のブラストラディウスを制限します。132[Remote Control](/ja/remote-control) セッションは異なる方法で動作します:Web インターフェースはローカルマシンで実行されている Claude Code プロセスに接続します。すべてのコード実行とファイルアクセスはローカルに留まり、ローカル Claude Code セッション中に流れるのと同じデータが TLS 経由で Anthropic API を通じて流れます。クラウド VM またはサンドボックスは関与しません。接続は複数の短命で狭くスコープされた認証情報を使用し、各認証情報は特定の目的に限定され、独立して有効期限が切れ、単一の侵害された認証情報のブラストラディウスを制限します。

109 133 

110## セキュリティベストプラクティス134<h2 id="security-best-practices">

135 セキュリティベストプラクティス

136</h2>

111 137 

112### 機密コードの使用138<h3 id="working-with-sensitive-code">

139 機密コードの使用

140</h3>

113 141 

114* 承認前にすべての提案された変更を確認してください142* 承認前にすべての提案された変更を確認してください

115* 機密リポジトリにはプロジェクト固有のパーミッション設定を使用してください143* 機密リポジトリにはプロジェクト固有のパーミッション設定を使用してください

116* 追加の分離のために [dev containers](/ja/devcontainer) の使用を検討してください144* 追加の分離のために [dev containers](/ja/devcontainer) の使用を検討してください

117* `/permissions` で定期的にパーミッション設定を監査してください145* `/permissions` で定期的にパーミッション設定を監査してください

118 146 

119### チームセキュリティ147<h3 id="team-security">

148 チームセキュリティ

149</h3>

120 150 

121* [managed settings](/ja/settings#settings-files) を使用して組織標準を実施してください151* [managed settings](/ja/settings#settings-files) を使用して組織標準を実施してください

122* 承認されたパーミッション設定をバージョン管理を通じて共有してください152* 承認されたパーミッション設定をバージョン管理を通じて共有してください


124* [OpenTelemetry metrics](/ja/monitoring-usage) を通じて Claude Code の使用を監視してください154* [OpenTelemetry metrics](/ja/monitoring-usage) を通じて Claude Code の使用を監視してください

125* [`ConfigChange` hooks](/ja/hooks#configchange) でセッション中の設定変更を監査またはブロックしてください155* [`ConfigChange` hooks](/ja/hooks#configchange) でセッション中の設定変更を監査またはブロックしてください

126 156 

127### セキュリティ問題の報告157<h3 id="reporting-security-issues">

158 セキュリティ問題の報告

159</h3>

128 160 

129Claude Code でセキュリティ脆弱性を発見した場合:161Claude Code でセキュリティ脆弱性を発見した場合:

130 162 


1333. 詳細な再現手順を含めてください1653. 詳細な再現手順を含めてください

1344. 公開開示前に問題に対処する時間を与えてください1664. 公開開示前に問題に対処する時間を与えてください

135 167 

136## 関連リソース168<h2 id="related-resources">

137 169 関連リソース

138* [Sandboxing](/ja/sandboxing) - bash コマンドのファイルシステムとネットワーク分離170</h2>

139* [Permissions](/ja/permissions) - パーミッションとアクセス制御を設定します171 

140* [Monitoring usage](/ja/monitoring-usage) - Claude Code アクティビティを追跡および監査します172* [Security guidance plugin](/ja/security-guidance)Claude がセッション中に独自のコード変更の脆弱性をレビューして修正します

141* [Development containers](/ja/devcontainer) - セキュアで分離された環境173* [Sandbox environments](/ja/sandbox-environments):分離アプローチを比較し、脅威モデルに合わせて選択します

142* [Anthropic Trust Center](https://trust.anthropic.com) - セキュリティ認証とコンプライアンス174* [Sandboxing](/ja/sandboxing):Bash コマンドのファイルシステムとネットワーク分離

175* [Permissions](/ja/permissions):パーミッションとアクセス制御を設定します

176* [Monitoring usage](/ja/monitoring-usage):Claude Code アクティビティを追跡および監査します

177* [Development containers](/ja/devcontainer):セキュアで分離された環境

178* [Anthropic Trust Center](https://trust.anthropic.com):セキュリティ認証とコンプライアンス

security-guidance.md +275 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# Claude がコードを書く際のセキュリティ問題をキャッチする

6 

7> security-guidance プラグインをインストールして、Claude が自身のコード変更の脆弱性をレビューし、同じセッション内で修正するようにします。

8 

9security guidance プラグインは、Claude が作業中に自身のコード変更を一般的な脆弱性についてレビューし、同じセッション内で見つかった問題を修正します。このプラグインは、インジェクション、安全でないデシリアライゼーション、安全でない DOM API などの問題をコードがプルリクエストに到達する前にキャッチし、下流の人間レビュアーが行うセキュリティレビューの量を削減します。

10 

11インストール後、プラグインは自動的に実行されます。呼び出すものはなく、覚えておく必要のある個別のコマンドもありません。

12 

13このプラグインは、プルリクエストで実行される [Code Review](/ja/code-review) のセッション内コンパニオンです。このプラグインは PR に到達するものを削減します。Code Review はそれをキャッチします。プラグインがオンデマンドレビューと CI スキャンとどのように層状になるかについては、[これが他のセキュリティツールとどのように適合するか](#how-this-fits-with-other-security-tools) を参照してください。

14 

15<h2 id="prerequisites">

16 前提条件

17</h2>

18 

19* Claude Code CLI バージョン 2.1.144 以降

20* `PATH` 上の Python 3.8 以降。プラグインは `python3`、`python`、`py -3` をこの順序で試します

21* 作業するディレクトリ用の git リポジトリ。ターン終了とコミットレビューは git 状態に対して diff を行い、リポジトリ外では無音でスキップします。編集ごとのパターンチェックはどこでも機能します

22 

23初回実行時、プラグインは `~/.claude/security/` の下に仮想環境を作成し、Claude Agent SDK をインストールします。これには `pip` とネットワークアクセスが必要です。そのインストールが失敗した場合、コミットレビューは agentic なものではなく、単一ショットレビューにフォールバックします。Windows では仮想環境ステップはスキップされるため、agentic コミットレビューは `claude-agent-sdk` が既にインポート可能な場合にのみ実行され、そうでない場合は同じようにフォールバックします。

24 

25<h2 id="install-the-plugin">

26 プラグインをインストールする

27</h2>

28 

29Claude Code セッションで、[公式 Anthropic マーケットプレイス](/ja/discover-plugins#official-anthropic-marketplace) からインストールします:

30 

31```text theme={null}

32/plugin install security-guidance@claude-plugins-official

33```

34 

35インストールはスコープを求めます。ユーザースコープを選択して、プラグインをユーザー設定に書き込み、このマシンで開始するすべての新しいローカルセッションで読み込まれるようにします。Claude Code がマーケットプレイスが見つからないと報告した場合、まず `/plugin marketplace add anthropics/claude-plugins-official` を実行してから、インストールを再試行してください。

36 

37次に、現在のセッションで `/reload-plugins` を使用して有効化します。これはプラグインの変更を再起動なしで適用します:

38 

39```text theme={null}

40/reload-plugins

41```

42 

43<h3 id="enable-in-cloud-sessions-and-shared-repositories">

44 クラウドセッションと共有リポジトリで有効化する

45</h3>

46 

47ユーザースコープのプラグインは、Anthropic インフラストラクチャで実行されるため、[ウェブ上の Claude Code](/ja/claude-code-on-the-web) には引き継がれません。そこで有効化するか、リポジトリをクローンするすべてのユーザーに対して有効化するには、プロジェクトのチェックイン設定で宣言します:

48 

49```json .claude/settings.json theme={null}

50{

51 "enabledPlugins": {

52 "security-guidance@claude-plugins-official": true

53 }

54}

55```

56 

57管理者は、[管理設定](/ja/admin-setup) で [`enabledPlugins`](/ja/settings#plugin-settings) を設定することで、組織全体でプラグインを有効化できます。

58 

59<h2 id="what-the-plugin-checks">

60 プラグインがチェックする内容

61</h2>

62 

63プラグインは 3 つのポイントで Claude の作業をレビューし、それぞれ異なる深さです:

64 

65* [各ファイル編集時](#on-each-file-edit):リスキーな呼び出しの高速パターンマッチ、モデル呼び出しなし

66* [各ターンの終了時](#at-the-end-of-each-turn):そのターンが変更したすべてのバックグラウンドモデルレビュー

67* [Claude が行う各コミットまたはプッシュ時](#on-each-commit-or-push-claude-makes):周囲のコードを読む深い agentic レビュー

68 

69各レイヤーは [独自のルールを追加](#add-your-own-rules) することで拡張できます。組み込みチェックは個別に削除することはできませんが、各レイヤーは [独立して無効化](#disable-or-uninstall) できます。

70 

71<h3 id="on-each-file-edit">

72 各ファイル編集時

73</h3>

74 

75Claude がファイルに書き込むと、プラグインは新しいコンテンツをスキャンして既知のリスキーなパターンを探します。これはモデル呼び出しのないパターンマッチなので、使用コストは追加されません。

76 

77パターンカテゴリの例:

78 

79* 動的コード実行:`eval(`、`new Function`、`os.system`、`child_process.exec`

80* 安全でないデシリアライゼーション:`pickle`

81* DOM インジェクション:`dangerouslySetInnerHTML`、`.innerHTML =`、`document.write`

82* ワークフローファイル:`.github/workflows/` 下の編集。リポジトリレベルの権限を付与できます

83 

84チェックは編集が完了した後に実行され、警告を Claude の次のステップのコンテキストに追加します。各警告はセッションごとにパターンごとにファイルごとに 1 回発火するため、同じファイル内の繰り返しマッチは会話をあふれさせません。

85 

86`security-patterns.yaml` ファイルを使用して、このレイヤーに [独自のパターンを追加](#add-custom-per-edit-patterns) できます。

87 

88<h3 id="at-the-end-of-each-turn">

89 各ターンの終了時

90</h3>

91 

92ターンは Claude が応答する 1 ラウンドです:メッセージを送信し、Claude が作業して返信し、ターンが終了します。各ターンの後、プラグインはターン中に作業ツリーで変更されたすべてのもの(Claude の編集ツール、Bash コマンド、サブエージェントからの変更を含む)の git diff を計算し、セキュリティに焦点を当てた別の Claude レビューに送信します。レビューはバックグラウンドで実行されるため、Claude の返信は遅延しません。レビューが問題を見つけた場合、Claude は結果を使用して再度プロンプトされ、フォローアップとして対処します。

93 

94これは文字列マッチでは捕捉できない問題をキャッチします。例えば:

95 

96* 認可バイパス

97* 安全でない直接オブジェクト参照

98* インジェクション

99* サーバー側リクエストフォージェリ

100* 弱い暗号化

101 

102セッションで直接、結果と Claude の解決策の両方が表示されます。レビューはターンごとに最大 30 個の変更されたファイルをカバーし、最大 3 回連続で発火してからあなたに戻ります。

103 

104<h3 id="on-each-commit-or-push-claude-makes">

105 Claude が行う各コミットまたはプッシュ時

106</h3>

107 

108Claude が Bash ツールを通じて `git commit` または `git push` を実行すると、プラグインはバックグラウンドで変更の深い agentic レビューを実行します。このレビューは、呼び出し元、サニタイザー、関連ファイルを含む周囲のコードを読んで、結果が実際のものであるかどうかを判断してから報告します。追加のコンテキストは、分離されたときは危険に見えるが、コードベースでは安全なパターンの偽陽性を低く保ちます。

109 

110このレイヤーは、Claude が Bash ツールを通じて行うコミットとプッシュでのみ発火します。独自のシェルから実行するコミット(セッション内の `!` シェルエスケープを含む)はレビューされません。コミットとプッシュレビューはローリング 1 時間あたり 20 に制限されています。コミットレビューの結果がターン終了レビューが既に報告したものと重複する場合、Claude は再度プロンプトされないため、クリーンなコミットはこのレイヤーから目に見える出力を生成しません。

111 

112<h3 id="review-independence-and-limits">

113 レビューの独立性と制限

114</h3>

115 

116プラグインは、コードを書いた同じ Claude インスタンスに自分自身を採点するよう求めません。編集ごとのチェックは、モデルが関与しない決定論的な文字列マッチです。ターン終了とコミットレビューは、新しいコンテキストとセキュリティに焦点を当てたプロンプトを持つ別の Claude 呼び出しとして実行されます:レビュアーは diff から開始し、元のアプローチに投資がなく、問題を見つけるだけの指示を受けます。

117 

118どのレイヤーも書き込みやコミットをブロックしません。結果は書き込み Claude に指示として到達し、Claude は会話で対処し、レビューモデルは問題を見落とす可能性があります。プラグインを完全なセキュリティソリューションではなく、多層防御の 1 つのレイヤーとして扱ってください。[これが他のセキュリティツールとどのように適合するか](#how-this-fits-with-other-security-tools) を参照してください。

119 

120<h2 id="add-your-own-rules">

121 独自のルールを追加する

122</h2>

123 

124プラグインには 2 つの拡張ポイントがあります:モデルバックアップレビュー用の Markdown ガイダンスファイルと、編集ごとの文字列マッチ用の YAML または JSON パターンファイルです。どちらも加算的です。チェックを追加できますが、これらのファイルから組み込みのものを無効化することはできません。

125 

126<h3 id="add-guidance-for-the-model-backed-reviews">

127 モデルバックアップレビュー用のガイダンスを追加する

128</h3>

129 

130プロジェクトに `.claude/claude-security-guidance.md` を作成し、脅威モデルとレビューチェックリストを平文で説明します。モデルバックアップレビューは、組み込みの脆弱性チェックリストと一緒に追加のコンテキストとして読み込みます。

131 

132以下の例は、ロールゲートされた管理ルートとカスタマーデータロギングポリシーを持つウェブサービス用です:

133 

134```markdown .claude/claude-security-guidance.md theme={null}

135# このリポジトリのセキュリティガイダンス

136 

137- INFO レベル以上で `customer_id` または `account_number` をログに記録しないでください。

138- `/admin` 下のすべてのルートは、データベース読み取り前に `require_role("admin")` を呼び出す必要があります。

139- `===` の代わりに `crypto.timingSafeEqual` をトークン比較に使用してください。

140```

141 

142これらのルールはレビュアーのガイダンスであり、決定論的なガードレールではありません。プラグインは違反を Claude が修正するための結果として表示しますが、書き込みをブロックしたり、すべての違反がキャッチされることを保証しません。ガイダンスは加算的のみです:脆弱性クラスを無視するように言うルールはそれらの結果を抑制しません。ハード実装の場合、プラグインを [編集をブロックするフック](/ja/hooks-guide#block-edits-to-protected-files) または CI チェックと組み合わせてください。

143 

144<h3 id="add-custom-per-edit-patterns">

145 カスタム編集ごとのパターンを追加する

146</h3>

147 

148`.claude/security-patterns.yaml` を作成して、[編集ごとのパターンチェック](#on-each-file-edit) に正規表現またはサブストリングルールを追加します。これらは組み込みパターンと一緒に決定論的な文字列マッチとして実行されます:

149 

150```yaml .claude/security-patterns.yaml theme={null}

151patterns:

152 - rule_name: internal_api_key

153 substrings: ["sk_live_", "AKIA"]

154 reminder: "ハードコードされた API キープレフィックス。シークレットマネージャーから認証情報を読み込んでください。"

155 - rule_name: tenant_unfiltered_query

156 regex: "\\.objects\\.all\\(\\)"

157 paths: ["**/src/tenants/**"]

158 reminder: "マルチテナントコードは org_id でフィルタリングする必要があります。"

159```

160 

161| フィールド | タイプ | 説明 |

162| :-------------- | :----- | :------------------------------------------------------------------------------------------ |

163| `rule_name` | string | 警告に表示される識別子 |

164| `reminder` | string | Claude のコンテキストに追加される警告テキスト、1 KB でキャップ |

165| `regex` | string | 編集されたコンテンツに対してマッチされる Python 正規表現 |

166| `substrings` | list | リテラルサブストリング;これまたは `regex` を提供してください |

167| `paths` | list | オプションのグロブパターン;ルールはマッチするファイルにのみ適用されます。グロブはフルファイルパスに対してマッチするため、プロジェクト相対パターンの前に `**/` を付けてください |

168| `exclude_paths` | list | スキップするオプションのグロブパターン;`paths` と同じマッチング |

169 

170プラグインは、同じスキーマで `.claude/security-patterns.yml` と `.claude/security-patterns.json` も読み込みます。JSON はすべての Python インストールで機能します。YAML フォームは PyYAML をインポート可能にする必要があり、プラグインはそれをインストールしません。プラグインは最大 50 個のカスタムルールを読み込み、壊滅的なバックトラッキングの傾向がある正規表現をスキップします。

171 

172<h3 id="rule-file-lookup-locations">

173 ルールファイルの検索場所

174</h3>

175 

176プラグインは、プラグインがどのように有効化されたかに関係なく、同じ場所で `claude-security-guidance.md` と `security-patterns.yaml` を探します:

177 

178| スコープ | パス | 注記 |

179| :--------- | :------------------------------------------ | :---------------------- |

180| ユーザー | `~/.claude/claude-security-guidance.md` | マシン上のすべてのプロジェクトに適用されます |

181| プロジェクト | `.claude/claude-security-guidance.md` | リポジトリでチェックインされます |

182| プロジェクトローカル | `.claude/claude-security-guidance.local.md` | Gitignored、個人的なオーバーライド用 |

183 

184プラグインは存在するすべての場所を読み込み、ガイダンスファイルの合計キャップ 8 KB で連結します。管理者は、デバイス管理を通じて `~/.claude/` にユーザースコープファイルをプッシュすることで、組織全体のルールを配布できます。同じパスが `security-patterns.yaml` に適用されます。

185 

186<h2 id="usage-cost">

187 使用コスト

188</h2>

189 

190[編集ごとのパターンチェック](#on-each-file-edit) はモデル呼び出しを行わず、コストを追加しません。[ターン終了](#at-the-end-of-each-turn) と [コミット](#on-each-commit-or-push-claude-makes) レビューはそれぞれ、他の Claude リクエストと同様に [使用](/ja/costs) にカウントされる追加のモデル使用を費やします。コミットレビューは agentic であり、コミットごとに複数のモデルターンを取る可能性があり、ローリング 1 時間あたり 20 レビューに制限されています。ターンごとにファイルを変更する 1 つのレビュー呼び出しと、コミットごとに 1 つの深いレビューを期待してください。どちらも上記のキャップの対象です。

191 

192両方のモデルバックアップレビューはデフォルトで Claude Opus 4.7 を使用します。`SECURITY_REVIEW_MODEL` を設定して、ターン終了レビュー用に別のモデルを選択し、`SG_AGENTIC_MODEL` をコミットレビュー用に設定します。

193 

194プラグインはすべてのプランで利用可能です。

195 

196<h2 id="disable-or-uninstall">

197 無効化またはアンインストール

198</h2>

199 

200残りを保持しながら個別のレイヤーをオフにするには、マッチング環境変数を設定します:

201 

202| 変数 | 効果 |

203| :------------------------------ | :--------------------------------------------------------- |

204| `ENABLE_PATTERN_RULES=0` | [編集ごとのパターンチェック](#on-each-file-edit) を無効化 |

205| `ENABLE_STOP_REVIEW=0` | [ターン終了 diff レビュー](#at-the-end-of-each-turn) を無効化 |

206| `ENABLE_COMMIT_REVIEW=0` | [コミットとプッシュレビュー](#on-each-commit-or-push-claude-makes) を無効化 |

207| `ENABLE_CODE_SECURITY_REVIEW=0` | すべてのモデルバックアップレビューを一度に無効化 |

208| `SECURITY_GUIDANCE_DISABLE=1` | アンインストールせずにプラグイン全体を無効化 |

209 

210ユーザースコープでプラグインを一時停止するには:

211 

212```text theme={null}

213/plugin disable security-guidance@claude-plugins-official

214```

215 

216ユーザースコープから削除するには:

217 

218```text theme={null}

219/plugin uninstall security-guidance@claude-plugins-official

220```

221 

222プラグインがプロジェクトの `.claude/settings.json` を通じて有効化された場合、`/plugin` から無効化すると、チェックインファイルを編集するのではなく、`.claude/settings.local.json` にオーバーライドを書き込むため、プラグインはあなたにとってオフのままで、チームメイトは影響を受けません。[管理設定](/ja/admin-setup) を通じて有効化された場合、管理者のみがそれを無効化できます。

223 

224<h2 id="how-the-plugin-integrates-with-claude-code">

225 プラグインが Claude Code とどのように統合されるか

226</h2>

227 

228プラグインは完全に [hooks](/ja/hooks) 上に構築されています。これは Claude のループの特定のポイントで独自のコードを実行するメカニズムです。登録されます:

229 

230| フックイベント | 目的 |

231| :--------------------------------------------------------- | :----------------------------------- |

232| `SessionStart` | プラグインの Python 環境をブートストラップ |

233| `UserPromptSubmit` | ターン終了レビューが diff を行う作業ツリーベースラインをキャプチャ |

234| `PostToolUse` on `Edit`、`Write`、`NotebookEdit` | 編集ごとのパターンマッチ |

235| `Stop` | ターン終了 diff レビュー、バックグラウンドで実行 |

236| `PostToolUse` on `Bash`、`git commit` と `git push` にフィルタリング | コミットとプッシュレビュー、バックグラウンドで実行 |

237 

238独自のフックを構築する場合、[プラグインのソース](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/security-guidance) はフックから別のモデル呼び出しを実行し、結果をセッションにフィードバックする実装例です。

239 

240<h2 id="how-this-fits-with-other-security-tools">

241 これが他のセキュリティツールとどのように適合するか

242</h2>

243 

244プラグインは多層防御アプローチの 1 つのレイヤーです。コードがまだエディタにある間に最も早く問題をキャッチしますが、保証ではなく、後の確認を置き換えません。典型的なスタック:

245 

246| ステージ | ツール | カバーするもの |

247| :------ | :----------------------------------------------------- | :---------------------------------------- |

248| セッション内 | Security guidance プラグイン | Claude が書くコードの一般的な脆弱性。同じセッション内で修正 |

249| オンデマンド | [`/security-review`](/ja/commands#all-commands) | 現在のブランチでの 1 回限りのセキュリティパス。要求時に実行 |

250| プルリクエスト | [Code Review](/ja/code-review)、Team および Enterprise プラン | 完全なコードベースコンテキストを持つマルチエージェント正確性とセキュリティレビュー |

251| CI | 既存の静的分析と依存関係スキャナー | 言語固有のルール、サプライチェーンチェック、プラグインが試みないポリシー実装 |

252 

253各後のステージは、前のものが見落とすものをキャッチします。プラグインの価値は、それらに到達するボリュームを削減することであり、それらの必要性を排除することではありません。

254 

255<h2 id="troubleshooting">

256 トラブルシューティング

257</h2>

258 

259プラグインはランタイム診断を `~/.claude/security/log.txt` に書き込みます。レビューが表示されない場合は、まずそこを確認してください。

260 

261レビューレイヤーが会話にメッセージなしでスキップする一般的な理由:

262 

263* ディレクトリが git リポジトリではない:ターン終了とコミットレビューは git 状態を必要とし、リポジトリ外ではスキップします

264* セッションに Anthropic 認証がない:モデルバックアップレビューはスキップされ、編集ごとのパターンチェックのみが実行されます

265* `security-patterns.yaml` ファイルが存在するが PyYAML がインポート可能ではない:ファイルは無視されます。代わりに `security-patterns.json` を使用してください

266 

267<h2 id="related-resources">

268 関連リソース

269</h2>

270 

271このページが触れるピースについてさらに深く掘り下げるには:

272 

273* [Code Review](/ja/code-review):PR 時のマルチエージェントレビューをセットアップ

274* [フックでワークフローを自動化](/ja/hooks-guide):同じライフサイクルポイントで独自のチェックを構築

275* [プラグインを発見してインストール](/ja/discover-plugins#official-anthropic-marketplace):他の公式プラグインを参照

Details

14 サーバー管理設定は [Claude for Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=server_settings_teams#team-&-enterprise) および [Claude for Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=server_settings_enterprise) カスタマー向けに利用可能です。14 サーバー管理設定は [Claude for Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=server_settings_teams#team-&-enterprise) および [Claude for Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=server_settings_enterprise) カスタマー向けに利用可能です。

15</Note>15</Note>

16 16 

17## 要件17<h2 id="requirements">

18 要件

19</h2>

18 20 

19サーバー管理設定を使用するには、以下が必要です。21サーバー管理設定を使用するには、以下が必要です。

20 22 


22* Claude for Teams の場合はバージョン 2.1.38 以降、Claude for Enterprise の場合はバージョン 2.1.30 以降の Claude Code24* Claude for Teams の場合はバージョン 2.1.38 以降、Claude for Enterprise の場合はバージョン 2.1.30 以降の Claude Code

23* `api.anthropic.com` へのネットワークアクセス25* `api.anthropic.com` へのネットワークアクセス

24 26 

25## サーバー管理設定とエンドポイント管理設定の選択27<h2 id="choose-between-server-managed-and-endpoint-managed-settings">

28 サーバー管理設定とエンドポイント管理設定の選択

29</h2>

26 30 

27Claude Code は、一元的な構成のための 2 つのアプローチをサポートしています。サーバー管理設定は Anthropic のサーバーから構成を配信します。[エンドポイント管理設定](/ja/settings#settings-files)は、ネイティブ OS ポリシー(macOS 管理設定、Windows レジストリ)または管理設定ファイルを通じてデバイスに直接配置されます。31Claude Code は、一元的な構成のための 2 つのアプローチをサポートしています。サーバー管理設定は Anthropic のサーバーから構成を配信します。[エンドポイント管理設定](/ja/settings#settings-files)は、ネイティブ OS ポリシー(macOS 管理設定、Windows レジストリ)または管理設定ファイルを通じてデバイスに直接配置されます。

28 32 


33 37 

34デバイスが MDM またはエンドポイント管理ソリューションに登録されている場合、エンドポイント管理設定はより強力なセキュリティ保証を提供します。これは、設定ファイルが OS レベルでユーザーの変更から保護される可能性があるためです。38デバイスが MDM またはエンドポイント管理ソリューションに登録されている場合、エンドポイント管理設定はより強力なセキュリティ保証を提供します。これは、設定ファイルが OS レベルでユーザーの変更から保護される可能性があるためです。

35 39 

36## サーバー管理設定を構成する40<h2 id="configure-server-managed-settings">

41 サーバー管理設定を構成する

42</h2>

37 43 

38<Steps>44<Steps>

39 <Step title="管理コンソールを開く">45 <Step title="管理コンソールを開く">


101 </Step>107 </Step>

102</Steps>108</Steps>

103 109 

104### 設定配信の確認110<h3 id="verify-settings-delivery">

111 設定配信の確認

112</h3>

105 113 

106設定が適用されていることを確認するには、ユーザーに Claude Code を再起動するよう依頼します。構成に[セキュリティ承認ダイアログ](#security-approval-dialogs)をトリガーする設定が含まれている場合、ユーザーは起動時に管理設定を説明するプロンプトを表示します。また、ユーザーに `/permissions` を実行して有効な権限ルールを表示させることで、管理権限ルールがアクティブであることを確認することもできます。114設定が適用されていることを確認するには、ユーザーに Claude Code を再起動するよう依頼します。構成に[セキュリティ承認ダイアログ](#security-approval-dialogs)をトリガーする設定が含まれている場合、ユーザーは起動時に管理設定を説明するプロンプトを表示します。また、ユーザーに `/permissions` を実行して有効な権限ルールを表示させることで、管理権限ルールがアクティブであることを確認することもできます。

107 115 

108### アクセス制御116<h3 id="access-control">

117 アクセス制御

118</h3>

109 119 

110以下のロールがサーバー管理設定を管理できます。120以下のロールがサーバー管理設定を管理できます。

111 121 


114 124 

115設定の変更は組織内のすべてのユーザーに適用されるため、信頼できる担当者へのアクセスを制限してください。125設定の変更は組織内のすべてのユーザーに適用されるため、信頼できる担当者へのアクセスを制限してください。

116 126 

117### 管理専用設定127<h3 id="managed-only-settings">

128 管理専用設定

129</h3>

118 130 

119ほとんどの[設定キー](/ja/settings#available-settings)は任意のスコープで機能します。いくつかのキーは管理設定からのみ読み込まれ、ユーザーまたはプロジェクト設定ファイルに配置された場合は効果がありません。完全なリストについては、[管理専用設定](/ja/permissions#managed-only-settings)を参照してください。そのリストにない設定は、管理設定に配置することができ、最高の優先度を持ちます。131ほとんどの[設定キー](/ja/settings#available-settings)は任意のスコープで機能します。いくつかのキーは管理設定からのみ読み込まれ、ユーザーまたはプロジェクト設定ファイルに配置された場合は効果がありません。完全なリストについては、[管理専用設定](/ja/permissions#managed-only-settings)を参照してください。そのリストにない設定は、管理設定に配置することができ、最高の優先度を持ちます。

120 132 

121### 現在の制限事項133<h3 id="current-limitations">

134 現在の制限事項

135</h3>

122 136 

123サーバー管理設定には、以下の制限があります。137サーバー管理設定には、以下の制限があります。

124 138 

125* 設定は組織内のすべてのユーザーに均一に適用されます。グループごとの構成はまだサポートされていません。139* 設定は組織内のすべてのユーザーに均一に適用されます。グループごとの構成はまだサポートされていません。

126* [MCP サーバー構成](/ja/mcp#managed-mcp-configuration)は、サーバー管理設定を通じて配布することはできません140* [`managed-mcp.json`](/ja/managed-mcp) ファイルはサーバー管理設定を通じて配布することはできません代わりに `allowedMcpServers` および `deniedMcpServers` ポリシーキーをそこに配信してください。

127* `policyHelper` および `wslInheritsWindowsSettings` など、OS レベルのポリシーソースに制限されている設定は、尊重されません。代わりに MDM またはシステム `managed-settings.json` ファイルを通じてデプロイしてください。141* `policyHelper` および `wslInheritsWindowsSettings` など、OS レベルのポリシーソースに制限されている設定は、尊重されません。代わりに MDM またはシステム `managed-settings.json` ファイルを通じてデプロイしてください。

128 142 

129## 設定配信143<h2 id="settings-delivery">

144 設定配信

145</h2>

130 146 

131### 設定の優先順位147<h3 id="settings-precedence">

148 設定の優先順位

149</h3>

132 150 

133サーバー管理設定と[エンドポイント管理設定](/ja/settings#settings-files)は、Claude Code [設定階層](/ja/settings#settings-precedence)の最上位を占めます。コマンドライン引数を含む他の設定レベルはこれらをオーバーライドできません。管理層内では、空でない構成を配信する最初のソースが優先されます。サーバー管理設定が最初にチェックされ、次にエンドポイント管理設定がチェックされます。ソースはマージされません。サーバー管理設定がキーを配信する場合、エンドポイント管理設定は完全に無視されます。サーバー管理設定が何も配信しない場合、エンドポイント管理設定が適用されます。151サーバー管理設定と[エンドポイント管理設定](/ja/settings#settings-files)は、Claude Code [設定階層](/ja/settings#settings-precedence)の最上位を占めます。コマンドライン引数を含む他の設定レベルはこれらをオーバーライドできません。管理層内では、空でない構成を配信する最初のソースが優先されます。サーバー管理設定が最初にチェックされ、次にエンドポイント管理設定がチェックされます。ソースはマージされません。サーバー管理設定がキーを配信する場合、エンドポイント管理設定は完全に無視されます。サーバー管理設定が何も配信しない場合、エンドポイント管理設定が適用されます。

134 152 

135管理コンソールでサーバー管理構成をクリアして、エンドポイント管理 plist またはレジストリポリシーにフォールバックする意図がある場合、[キャッシュされた設定](#fetch-and-caching-behavior)はクライアントマシンに保持され、次の成功したフェッチまで続きます。`/status` を実行して、どの管理ソースがアクティブであるかを確認してください。153管理コンソールでサーバー管理構成をクリアして、エンドポイント管理 plist またはレジストリポリシーにフォールバックする意図がある場合、[キャッシュされた設定](#fetch-and-caching-behavior)はクライアントマシンに保持され、次の成功したフェッチまで続きます。`/status` を実行して、どの管理ソースがアクティブであるかを確認してください。

136 154 

137### フェッチとキャッシング動作155<h3 id="fetch-and-caching-behavior">

156 フェッチとキャッシング動作

157</h3>

138 158 

139Claude Code は起動時に Anthropic のサーバーから設定をフェッチし、アクティブなセッション中は 1 時間ごとに更新をポーリングします。159Claude Code は起動時に Anthropic のサーバーから設定をフェッチし、アクティブなセッション中は 1 時間ごとに更新をポーリングします。

140 160 


152 172 

153Claude Code は設定の更新を自動的に適用します。ただし、OpenTelemetry 構成などの高度な設定は、有効にするために完全な再起動が必要です。173Claude Code は設定の更新を自動的に適用します。ただし、OpenTelemetry 構成などの高度な設定は、有効にするために完全な再起動が必要です。

154 174 

155### 強制的にクローズされた起動を適用する175<h3 id="enforce-fail-closed-startup">

176 強制的にクローズされた起動を適用する

177</h3>

156 178 

157デフォルトでは、起動時にリモート設定フェッチが失敗した場合、CLI は管理設定なしで続行します。この短い未適用ウィンドウが許容できない環境では、管理設定で `forceRemoteSettingsRefresh: true` を設定します。179デフォルトでは、起動時にリモート設定フェッチが失敗した場合、CLI は管理設定なしで続行します。この短い未適用ウィンドウが許容できない環境では、管理設定で `forceRemoteSettingsRefresh: true` を設定します。

158 180 


170 192 

171v2.1.139 以降、`claude auth` サブコマンド(`claude auth login` など)はこのチェックから除外されるため、期限切れの認証情報が設定フェッチが失敗する理由である場合、ユーザーは再認証できます。193v2.1.139 以降、`claude auth` サブコマンド(`claude auth login` など)はこのチェックから除外されるため、期限切れの認証情報が設定フェッチが失敗する理由である場合、ユーザーは再認証できます。

172 194 

173### セキュリティ承認ダイアログ195<h3 id="security-approval-dialogs">

196 セキュリティ承認ダイアログ

197</h3>

174 198 

175セキュリティリスクをもたらす可能性のある特定の設定には、適用される前に明示的なユーザー承認が必要です。199セキュリティリスクをもたらす可能性のある特定の設定には、適用される前に明示的なユーザー承認が必要です。

176 200 


184 `-p` フラグを使用した非対話モードでは、Claude Code はセキュリティダイアログをスキップし、ユーザー承認なしで設定を適用します。208 `-p` フラグを使用した非対話モードでは、Claude Code はセキュリティダイアログをスキップし、ユーザー承認なしで設定を適用します。

185</Note>209</Note>

186 210 

187## プラットフォームの可用性211<h2 id="platform-availability">

212 プラットフォームの可用性

213</h2>

188 214 

189サーバー管理設定は `api.anthropic.com` への直接接続が必要であり、サードパーティのモデルプロバイダーを使用する場合は利用できません。215サーバー管理設定は `api.anthropic.com` への直接接続が必要であり、サードパーティのモデルプロバイダーを使用する場合は利用できません。

190 216 


193* Microsoft Foundry219* Microsoft Foundry

194* `ANTHROPIC_BASE_URL` または [LLM ゲートウェイ](/ja/llm-gateway)を通じたカスタム API エンドポイント220* `ANTHROPIC_BASE_URL` または [LLM ゲートウェイ](/ja/llm-gateway)を通じたカスタム API エンドポイント

195 221 

196## 監査ログ222<h2 id="audit-logging">

223 監査ログ

224</h2>

197 225 

198設定変更の監査ログイベントは、コンプライアンス API または監査ログエクスポートを通じて利用可能です。アクセスについては、Anthropic アカウントチームにお問い合わせください。226設定変更の監査ログイベントは、コンプライアンス API または監査ログエクスポートを通じて利用可能です。アクセスについては、Anthropic アカウントチームにお問い合わせください。

199 227 

200監査イベントには、実行されたアクションのタイプ、アクションを実行したアカウントとデバイス、および前の値と新しい値への参照が含まれます。228監査イベントには、実行されたアクションのタイプ、アクションを実行したアカウントとデバイス、および前の値と新しい値への参照が含まれます。

201 229 

202## セキュリティに関する考慮事項230<h2 id="security-considerations">

231 セキュリティに関する考慮事項

232</h2>

203 233 

204サーバー管理設定は一元的なポリシー適用を提供しますが、クライアント側の制御として機能します。管理されていないデバイスでは、管理者またはスーパーユーザーアクセス権を持つユーザーは、Claude Code バイナリ、ファイルシステム、またはネットワーク構成を変更できます。234サーバー管理設定は一元的なポリシー適用を提供しますが、クライアント側の制御として機能します。管理されていないデバイスでは、管理者またはスーパーユーザーアクセス権を持つユーザーは、Claude Code バイナリ、ファイルシステム、またはネットワーク構成を変更できます。

205 235 


215 245 

216より強力な適用保証については、MDM ソリューションに登録されているデバイスで[エンドポイント管理設定](/ja/settings#settings-files)を使用してください。246より強力な適用保証については、MDM ソリューションに登録されているデバイスで[エンドポイント管理設定](/ja/settings#settings-files)を使用してください。

217 247 

218## 関連項目248<h2 id="see-also">

249 関連項目

250</h2>

219 251 

220Claude Code 構成を管理するための関連ページ。252Claude Code 構成を管理するための関連ページ。

221 253 

sessions.md +141 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# セッションの管理

6 

7> Claude Code の会話に名前を付け、再開し、分岐し、切り替えます。`--continue`、`--resume`、`--from-pr`、`/resume` ピッカー、セッション命名、トランスクリプトの保存場所について説明します。

8 

9セッションはプロジェクトディレクトリに紐付けられた保存済みの会話です。Claude Code はローカルに保存されるため、中断したところから再開したり、別のアプローチを試すために分岐したり、タスク間を切り替えたりできます。

10 

11[デスクトップアプリ](/ja/desktop#work-in-parallel-with-sessions)、[Web 上の Claude Code](/ja/claude-code-on-the-web)、および [VS Code 拡張機能](/ja/vs-code#resume-past-conversations)はそれぞれ独自のセッション履歴を保持しています。このページでは CLI について説明します。

12 

13* [再開](#resume-a-session):フラグ、名前、または PR で以前の会話を再開する

14* [名前を付ける](#name-your-sessions):後で見つけられるようにセッションに名前を付ける

15* [参照](#use-the-session-picker):`/resume` ピッカーでセッションを参照する

16* [分岐](#branch-a-session):別のアプローチを試すために会話を分岐させる

17* [エクスポート](#export-and-locate-session-data):トランスクリプトをエクスポートしてディスク上で見つける

18 

19<h2 id="resume-a-session">

20 セッションを再開する

21</h2>

22 

23セッションは作業中に [ローカルトランスクリプトファイル](#export-and-locate-session-data)に継続的に保存されるため、終了後または `/clear` を実行した後に再開できます。これらのエントリポイントを使用します。

24 

25| コマンド | 機能 |

26| :-------------------------- | :---------------------------------------- |

27| `claude --continue` | 現在のディレクトリで最新のセッションを再開します |

28| `claude --resume` | [セッションピッカー](#use-the-session-picker)を開きます |

29| `claude --resume <name>` | 指定されたセッションを直接再開します |

30| `claude --from-pr <number>` | そのプルリクエストにリンクされたセッションを再開します |

31| `/resume` | アクティブなセッション内から別の会話に切り替えます |

32 

33[`claude -p`](/ja/headless)または [Agent SDK](/ja/agent-sdk/overview)で作成されたセッションはセッションピッカーに表示されませんが、セッション ID を `claude --resume <session-id>` に渡すことで再開できます。

34 

35<h3 id="where-the-session-picker-looks">

36 セッションピッカーが検索する場所

37</h3>

38 

39セッションはプロジェクトディレクトリごとに保存されます。デフォルトでは、セッションピッカーは現在の worktree からのインタラクティブセッション、および `/add-dir` で現在のディレクトリを追加した他の場所で開始されたセッションを表示します。`Ctrl+W` を使用してリポジトリのすべての worktree に拡張するか、`Ctrl+A` を使用してこのマシン上のすべてのプロジェクトに拡張します。

40 

41同じリポジトリの別の worktree からセッションを選択すると、そこで再開されます。関連のないプロジェクトからセッションを選択すると、`cd` と再開コマンドがクリップボードにコピーされます。

42 

43名前で再開する場合は、現在のリポジトリとその worktree 全体で解決されます。どちらの形式も完全一致を探し、別の worktree に存在する場合でも直接再開します。

44 

45| コマンド | 完全一致 | あいまいな名前 |

46| :----------------------- | :------ | :---------------------------------------------- |

47| `claude --resume <name>` | 直接再開します | セッションピッカーを開き、名前を検索用語として事前入力します |

48| `/resume <name>` | 直接再開します | エラーを報告します。セッションピッカーを開くには、引数なしで `/resume` を実行します |

49 

50<h2 id="name-your-sessions">

51 セッションに名前を付ける

52</h2>

53 

54セッションに説明的な名前を付けて、セッションピッカーで見つけやすく、名前で再開できるようにします。これは複数のタスクを並行して処理している場合に最も重要です。

55 

56| 時期 | 名前を設定する方法 |

57| :---------- | :--------------------------------------------------------------------------------------------------------------------- |

58| 起動時 | `claude -n auth-refactor` |

59| セッション中 | `/rename auth-refactor`。名前はプロンプトバーにも表示されます |

60| セッションピッカーから | セッションをハイライトして `Ctrl+R` を押します |

61| プラン受け入れ時 | [プランモード](/ja/permission-modes#analyze-before-you-edit-with-plan-mode)でプランを受け入れると、既に設定していない限り、プランコンテンツからセッションに名前が付けられます |

62 

63セッションに名前が付けられたら、`claude --resume <name>` または `/resume <name>` で再開できます。worktree 全体での名前解決の動作については、[セッションを再開する](#resume-a-session)を参照してください。

64 

65<h2 id="use-the-session-picker">

66 セッションピッカーを使用する

67</h2>

68 

69セッション内で `/resume` を実行するか、引数なしで `claude --resume` を実行して、インタラクティブセッションピッカーを開きます。これらのキーボードショートカットを使用して、ナビゲート、検索、リストを拡張します。

70 

71| ショートカット | アクション |

72| :---------------------- | :------------------------------------------------------------------------------------------------------------------- |

73| `↑` / `↓` | セッション間をナビゲートします |

74| `→` / `←` | グループ化されたセッションを展開または折りたたみます |

75| `Enter` | ハイライトされたセッションを再開します |

76| `Space` | セッションコンテンツをプレビューします。ターミナルが貼り付けとしてキャプチャしない場合は `Ctrl+V` も機能します |

77| `Ctrl+R` | ハイライトされたセッションの名前を変更します |

78| `/` またはスペース以外の任意の印字可能文字 | 検索モードに入り、セッションをフィルタリングします。GitHub、GitHub Enterprise、GitLab、または Bitbucket のプルまたはマージリクエスト URL を貼り付けて、それを作成したセッションを見つけます |

79| `Ctrl+A` | このマシン上のすべてのプロジェクトからセッションを表示します。もう一度押すと現在のリポジトリに戻ります |

80| `Ctrl+W` | 現在のリポジトリのすべての worktree からセッションを表示します。もう一度押すと現在の worktree に戻ります。マルチ worktree リポジトリでのみ表示されます |

81| `Ctrl+B` | 現在の git ブランチからのセッションにフィルタリングします。もう一度押すとすべてのブランチを表示します |

82| `Esc` | セッションピッカーまたは検索モードを終了します |

83 

84各行は、セッション名が設定されている場合はそれを表示し、そうでない場合は会話の概要または最初のプロンプト、最後のアクティビティからの経過時間、メッセージ数、および git ブランチを表示します。`Ctrl+A` ですべてのプロジェクトに拡張した後、プロジェクトパスが表示されます。

85 

86`/branch`、`/rewind`、または `--fork-session` で作成されたフォークされたセッションはルートセッションの下にグループ化されます。グループを展開するには `→` を押します。

87 

88<h2 id="branch-a-session">

89 セッションを分岐させる

90</h2>

91 

92分岐は、これまでの会話のコピーを作成し、それに切り替え、元のセッションはそのままにしておきます。別のアプローチを試す際に、進めていたパスを失わないようにするために使用します。

93 

94セッション内から、オプションの名前を付けて `/branch` を実行します。

95 

96```text theme={null}

97/branch try-streaming-approach

98```

99 

100コマンドラインから、`--continue` または `--resume` を `--fork-session` と組み合わせます。

101 

102```bash theme={null}

103claude --continue --fork-session

104```

105 

106元のセッションは変更されず、セッションピッカーで利用可能なままです。`/branch` 確認は 2 つのセッション ID を出力します。現在いる新しいブランチと元のセッションです。元のセッションに戻るには、その ID を `/resume` に渡すか、セッションピッカーを使用するか、`/resume <original-name>` を実行します。「このセッションで許可」で承認したアクセス許可は新しいブランチに引き継がれません。2 つのターミナルで分岐せずに同じセッションを再開すると、両方からのメッセージが 1 つのトランスクリプトにインターリーブされます。

107 

108単一セッション内のチェックポイントベースの巻き戻しについては、[チェックポイント](/ja/checkpointing)を参照してください。

109 

110<h2 id="manage-context-within-a-session">

111 セッション内でコンテキストを管理する

112</h2>

113 

114これらのコマンドは、セッションを離れることなくコンテキストウィンドウ内の内容を制御します。

115 

116* **`/clear`**:空のコンテキストで新たに開始します。以前の会話は保存され、再開可能です

117* **`/compact [instructions]`**:履歴を概要に置き換え、オプションで指定した内容に焦点を当てます

118* **`/context`**:現在コンテキストを消費しているものを表示します

119 

120圧縮が CLAUDE.md、スキル、およびルールとどのように相互作用するかについては、[コンテキストウィンドウガイド](/ja/context-window)を参照してください。クリアと圧縮のどちらを使用するかについての戦略については、[ベストプラクティス](/ja/best-practices#manage-your-session)を参照してください。

121 

122<h2 id="export-and-locate-session-data">

123 セッションデータをエクスポートして見つける

124</h2>

125 

126`/export` を実行して、現在の会話をクリップボードにコピーするか、プレーンテキストファイルとして保存します。メッセージとツール出力は読みやすいテキストとしてレンダリングされます。ファイル名を渡して、そのファイルに直接書き込みます。

127 

128トランスクリプトは `~/.claude/projects/<project>/<session-id>.jsonl` に JSONL として保存されます。ここで `<project>` は作業ディレクトリパスから派生しています。各行はメッセージ、ツール使用、またはメタデータエントリの JSON オブジェクトです。セッションを `~/.claude` 以外の場所に保存するには、[`CLAUDE_CONFIG_DIR`](/ja/env-vars)を設定します。これらのローカルファイルはデフォルトで 30 日後に削除されます。[`cleanupPeriodDays`](/ja/settings#available-settings)で変更します。

129 

130トランスクリプト書き込みを完全に抑制するには、[`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/ja/env-vars)を設定するか、非インタラクティブモードで `--no-session-persistence` を使用します。

131 

132<h2 id="see-also">

133 関連項目

134</h2>

135 

136これらのページは関連するセッションと並列処理のメカニクスについて説明しています。

137 

138* [Worktrees](/ja/worktrees):別のブランチで分離された並列セッションを実行します

139* [チェックポイント](/ja/checkpointing):コードと会話を以前のポイントに巻き戻します

140* [コンテキストウィンドウ](/ja/context-window):コンテキストを満たすもの、圧縮後に残るもの

141* [非インタラクティブモード](/ja/headless):`claude -p` の下でのセッション動作

settings.md +161 −48

Details

8 8 

9Claude Code は、ニーズに合わせて動作を構成するためのさまざまな設定を提供しています。インタラクティブ REPL を使用する際に `/config` コマンドを実行することで Claude Code を構成できます。これにより、ステータス情報を表示し、構成オプションを変更できるタブ付き設定インターフェースが開きます。9Claude Code は、ニーズに合わせて動作を構成するためのさまざまな設定を提供しています。インタラクティブ REPL を使用する際に `/config` コマンドを実行することで Claude Code を構成できます。これにより、ステータス情報を表示し、構成オプションを変更できるタブ付き設定インターフェースが開きます。

10 10 

11## 構成スコープ11<h2 id="configuration-scopes">

12 構成スコープ

13</h2>

12 14 

13Claude Code は、**スコープシステム**を使用して、構成がどこに適用され、誰と共有されるかを決定します。スコープを理解することで、個人使用、チーム協力、またはエンタープライズデプロイメント用に Claude Code を構成する方法を決定するのに役立ちます。15Claude Code は、**スコープシステム**を使用して、構成がどこに適用され、誰と共有されるかを決定します。スコープを理解することで、個人使用、チーム協力、またはエンタープライズデプロイメント用に Claude Code を構成する方法を決定するのに役立ちます。

14 16 

15### 利用可能なスコープ17<h3 id="available-scopes">

18 利用可能なスコープ

19</h3>

16 20 

17| スコープ | 場所 | 影響を受けるユーザー | チームと共有? |21| スコープ | 場所 | 影響を受けるユーザー | チームと共有? |

18| :---------- | :--------------------------------------------------------- | :------------------ | :-------------- |22| :---------- | :--------------------------------------------------------- | :------------------ | :-------------- |


21| **Project** | リポジトリ内の `.claude/` | このリポジトリのすべてのコラボレーター | はい(git にコミット) |25| **Project** | リポジトリ内の `.claude/` | このリポジトリのすべてのコラボレーター | はい(git にコミット) |

22| **Local** | `.claude/settings.local.json` | このリポジトリ内のあなたのみ | いいえ(gitignored) |26| **Local** | `.claude/settings.local.json` | このリポジトリ内のあなたのみ | いいえ(gitignored) |

23 27 

24### 各スコープを使用する場合28<h3 id="when-to-use-each-scope">

29 各スコープを使用する場合

30</h3>

25 31 

26**Managed スコープ**は以下の用途です:32**Managed スコープ**は以下の用途です:

27 33 


47* チームと共有する前に構成をテストする53* チームと共有する前に構成をテストする

48* 他のユーザーには機能しないマシン固有の設定54* 他のユーザーには機能しないマシン固有の設定

49 55 

50### スコープの相互作用56<h3 id="how-scopes-interact">

57 スコープの相互作用

58</h3>

51 59 

52同じ設定が複数のスコープで構成されている場合、Claude Code は優先順位の順序でそれらを適用します:60同じ設定が複数のスコープで構成されている場合、Claude Code は優先順位の順序でそれらを適用します:

53 61 


59 67 

60たとえば、ユーザー設定で `spinnerTipsEnabled` が `true` に設定されており、プロジェクト設定で `false` に設定されている場合、プロジェクト値が適用されます。権限ルールはオーバーライドするのではなく、スコープ全体でマージされるため、異なる動作をします。[設定の優先順位](#settings-precedence)を参照してください。68たとえば、ユーザー設定で `spinnerTipsEnabled` が `true` に設定されており、プロジェクト設定で `false` に設定されている場合、プロジェクト値が適用されます。権限ルールはオーバーライドするのではなく、スコープ全体でマージされるため、異なる動作をします。[設定の優先順位](#settings-precedence)を参照してください。

61 69 

62### スコープを使用する機能70<h3 id="what-uses-scopes">

71 スコープを使用する機能

72</h3>

63 73 

64スコープは多くの Claude Code 機能に適用されます:74スコープは多くの Claude Code 機能に適用されます:

65 75 


75 85 

76***86***

77 87 

78## 設定ファイル88<h2 id="settings-files">

89 設定ファイル

90</h2>

79 91 

80`settings.json` ファイルは、階層的な設定を通じて Claude Code を構成するための公式メカニズムです:92`settings.json` ファイルは、階層的な設定を通じて Claude Code を構成するための公式メカニズムです:

81 93 


106 118 

107 マージ順序を制御するには、数値プレフィックスを使用します。たとえば、`10-telemetry.json` と `20-security.json` です。119 マージ順序を制御するには、数値プレフィックスを使用します。たとえば、`10-telemetry.json` と `20-security.json` です。

108 120 

109 [managed 設定](/ja/permissions#managed-only-settings)と [Managed MCP 構成](/ja/mcp#managed-mcp-configuration)の詳細を参照してください。121 [managed 設定](/ja/permissions#managed-only-settings)と [Managed MCP 構成](/ja/managed-mcp)の詳細を参照してください。

110 122 

111 このリポジトリには、Jamf、Iru(Kandji)、Intune、およびグループポリシー用のスターターデプロイメントテンプレートが含まれています。これらを出発点として使用し、ニーズに合わせて調整してください。123 このリポジトリには、Jamf、Iru(Kandji)、Intune、およびグループポリシー用のスターターデプロイメントテンプレートが含まれています。これらを出発点として使用し、ニーズに合わせて調整してください。

112 124 


151 163 

152公開されたスキーマは定期的に更新され、最新の CLI リリースで追加された設定を含まない場合があるため、最近ドキュメント化されたフィールドの検証警告は、必ずしも構成が無効であることを意味しません。164公開されたスキーマは定期的に更新され、最新の CLI リリースで追加された設定を含まない場合があるため、最近ドキュメント化されたフィールドの検証警告は、必ずしも構成が無効であることを意味しません。

153 165 

154### 利用可能な設定166<h3 id="when-edits-take-effect">

167 編集がいつ有効になるか

168</h3>

169 

170Claude Code は設定ファイルを監視し、変更時に再読み込みするため、ほとんどのキーへの編集は再起動なしで実行中のセッションに適用されます。これには `permissions`、`hooks`、および `apiKeyHelper` などの認証情報ヘルパーが含まれます。再読み込みはユーザー、プロジェクト、ローカル、および managed 設定をカバーし、[`ConfigChange` hook](/ja/hooks#configchange)が検出された各変更に対して発火します。

171 

172いくつかのキーはセッション開始時に 1 回読み込まれ、次の再起動時に適用されます:

173 

174* `model`:セッション中に切り替えるには [`/model`](/ja/model-config#setting-your-model)を使用します

175* [`outputStyle`](/ja/output-styles):システムプロンプトの一部。`/clear` または再起動時に再構築されます

176 

177<h3 id="available-settings">

178 利用可能な設定

179</h3>

155 180 

156`settings.json` は多くのオプションをサポートしています:181`settings.json` は多くのオプションをサポートしています:

157 182 

158| キー | 説明 | 例 |183| キー | 説明 | 例 |

159| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |184| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ |

160| `agent` | メインスレッドを名前付き subagent として実行します。その subagent のシステムプロンプト、ツール制限、およびモデルを適用します。[subagents を明示的に呼び出す](/ja/sub-agents#invoke-subagents-explicitly)を参照してください | `"code-reviewer"` |185| `agent` | メインスレッドを名前付き subagent として実行し、`claude agents` から派遣されたセッションのデフォルト agent を設定します。その subagent のシステムプロンプト、ツール制限、およびモデルを適用します。[subagents を明示的に呼び出す](/ja/sub-agents#invoke-subagents-explicitly)を参照してください | `"code-reviewer"` |

186| `allowAllClaudeAiMcps` | (Managed 設定のみ)デプロイされた `managed-mcp.json` と共に claude.ai コネクタを読み込みます。これ以外の場合は排他的な制御を取得し、それらを抑制します。[Managed MCP 構成](/ja/managed-mcp)を参照してください | `true` |

161| `allowedChannelPlugins` | (Managed 設定のみ)メッセージをプッシュできるチャネルプラグインのホワイトリスト。設定されている場合、デフォルトの Anthropic ホワイトリストを置き換えます。未定義 = デフォルトにフォールバック、空配列 = すべてのチャネルプラグインをブロック。`channelsEnabled: true` が必要です。[チャネルプラグインが実行できるものを制限](/ja/channels#restrict-which-channel-plugins-can-run)を参照してください | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |187| `allowedChannelPlugins` | (Managed 設定のみ)メッセージをプッシュできるチャネルプラグインのホワイトリスト。設定されている場合、デフォルトの Anthropic ホワイトリストを置き換えます。未定義 = デフォルトにフォールバック、空配列 = すべてのチャネルプラグインをブロック。`channelsEnabled: true` が必要です。[チャネルプラグインが実行できるものを制限](/ja/channels#restrict-which-channel-plugins-can-run)を参照してください | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |

162| `allowedHttpHookUrls` | HTTP hooks がターゲットにできる URL パターンのホワイトリスト。`*` をワイルドカードとしてサポートします。設定されている場合、一致しない URL を持つ hooks はブロックされます。未定義 = 制限なし、空配列 = すべての HTTP hooks をブロック。配列はすべての設定ソース全体でマージされます。[Hook 構成](#hook-configuration)を参照してください | `["https://hooks.example.com/*"]` |188| `allowedHttpHookUrls` | HTTP hooks がターゲットにできる URL パターンのホワイトリスト。`*` をワイルドカードとしてサポートします。設定されている場合、一致しない URL を持つ hooks はブロックされます。未定義 = 制限なし、空配列 = すべての HTTP hooks をブロック。配列はすべての設定ソース全体でマージされます。[Hook 構成](#hook-configuration)を参照してください | `["https://hooks.example.com/*"]` |

163| `allowedMcpServers` | managed-settings.json で設定されている場合、ユーザーが構成できる MCP サーバーのホワイトリスト。未定義 = 制限なし、空配列 = ロックダウン。すべてのスコープに適用されます。拒否リストが優先されます。[Managed MCP 構成](/ja/mcp#managed-mcp-configuration)を参照してください | `[{ "serverName": "github" }]` |189| `allowedMcpServers` | managed-settings.json で設定されている場合、ユーザーが構成できる MCP サーバーのホワイトリスト。未定義 = 制限なし、空配列 = ロックダウン。すべてのスコープに適用されます。拒否リストが優先されます。[Managed MCP 構成](/ja/managed-mcp)を参照してください | `[{ "serverName": "github" }]` |

164| `allowManagedHooksOnly` | (Managed 設定のみ)managed hooks、SDK hooks、および managed 設定 `enabledPlugins` で強制的に有効にされたプラグインからの hooks のみが読み込まれます。ユーザー、プロジェクト、およびその他すべてのプラグイン hooks はブロックされます。[Hook 構成](#hook-configuration)を参照してください | `true` |190| `allowManagedHooksOnly` | (Managed 設定のみ)managed hooks、SDK hooks、および managed 設定 `enabledPlugins` で強制的に有効にされたプラグインからの hooks のみが読み込まれます。ユーザー、プロジェクト、およびその他すべてのプラグイン hooks はブロックされます。[Hook 構成](#hook-configuration)を参照してください | `true` |

165| `allowManagedMcpServersOnly` | (Managed 設定のみ)managed 設定からの `allowedMcpServers` のみが尊重されます。`deniedMcpServers` はすべてのソースからマージされます。ユーザーは引き続き MCP サーバーを追加できますが、管理者定義のホワイトリストのみが適用されます。[Managed MCP 構成](/ja/mcp#managed-mcp-configuration)を参照してください | `true` |191| `allowManagedMcpServersOnly` | (Managed 設定のみ)managed 設定からの `allowedMcpServers` のみが尊重されます。`deniedMcpServers` はすべてのソースからマージされます。ユーザーは引き続き MCP サーバーを追加できますが、管理者定義のホワイトリストのみが適用されます。[Managed MCP 構成](/ja/managed-mcp)を参照してください | `true` |

166| `allowManagedPermissionRulesOnly` | (Managed 設定のみ)ユーザーおよびプロジェクト設定が `allow`、`ask`、または `deny` 権限ルールを定義するのを防止します。managed 設定のルールのみが適用されます。[Managed のみの設定](/ja/permissions#managed-only-settings)を参照してください | `true` |192| `allowManagedPermissionRulesOnly` | (Managed 設定のみ)ユーザーおよびプロジェクト設定が `allow`、`ask`、または `deny` 権限ルールを定義するのを防止します。managed 設定のルールのみが適用されます。[Managed のみの設定](/ja/permissions#managed-only-settings)を参照してください | `true` |

167| `alwaysThinkingEnabled` | すべてのセッションに対してデフォルトで[拡張思考](/ja/model-config#extended-thinking)を有効にします。通常は直接編集するのではなく `/config` コマンドを通じて構成されます。思考を強制的にオフにするには、`env` で [`CLAUDE_CODE_DISABLE_THINKING`](/ja/env-vars)を設定します | `true` |193| `alwaysThinkingEnabled` | すべてのセッションに対してデフォルトで[拡張思考](/ja/model-config#extended-thinking)を有効にします。通常は直接編集するのではなく `/config` コマンドを通じて構成されます。思考を強制的にオフにするには、`env` で [`CLAUDE_CODE_DISABLE_THINKING`](/ja/env-vars)を設定します | `true` |

168| `apiKeyHelper` | `/bin/sh` で実行される認証値を生成するカスタムスクリプト。この値は、モデルリクエストの `X-Api-Key` および `Authorization: Bearer` ヘッダーとして送信されます。[`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/ja/env-vars)でリフレッシュ間隔を設定します | `/bin/generate_temp_api_key.sh` |194| `apiKeyHelper` | `/bin/sh` で実行される認証値を生成するカスタムスクリプト。この値は、モデルリクエストの `X-Api-Key` および `Authorization: Bearer` ヘッダーとして送信されます。[`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/ja/env-vars)でリフレッシュ間隔を設定します | `/bin/generate_temp_api_key.sh` |

169| `attribution` | git コミットとプルリクエストの属性をカスタマイズします。[属性設定](#attribution-settings)を参照してください | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |195| `attribution` | git コミットとプルリクエストの属性をカスタマイズします。[属性設定](#attribution-settings)を参照してください | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

170| `autoMemoryDirectory` | [自動メモリ](/ja/memory#storage-location)ストレージ用のカスタムディレクトリ。絶対パスまたは `~/` プレフィックス付きパスを受け入れます。ポリシーおよびユーザー設定からおよび `--settings` フラグから受け入れられますクローンされたリポジトリがメモリ書き込みを機密の場所にリダイレクトするのを防ぐため、プロジェクトまたはローカル設定からは受け入れられません | `"~/my-memory-dir"` |196| `autoMemoryDirectory` | [自動メモリ](/ja/memory#storage-location)ストレージ用のカスタムディレクトリ。絶対パスまたは `~/` プレフィックス付きパスを受け入れます。プロジェクトまたはローカル設定からはワークスペース信頼ダイアログを受け入れた後にのみ尊重されますクローンされたリポジトリがこのファイルを提供できるため | `"~/my-memory-dir"` |

171| `autoMemoryEnabled` | [自動メモリ](/ja/memory#enable-or-disable-auto-memory)を有効にします。`false` の場合、Claude は自動メモリディレクトリから読み込んだり、書き込んだりしません。デフォルト:`true`。セッション中に `/memory` でこれを切り替えることもできます。環境変数で無効にするには、`env` で [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/ja/env-vars)を設定します | `false` |197| `autoMemoryEnabled` | [自動メモリ](/ja/memory#enable-or-disable-auto-memory)を有効にします。`false` の場合、Claude は自動メモリディレクトリから読み込んだり、書き込んだりしません。デフォルト:`true`。セッション中に `/memory` でこれを切り替えることもできます。環境変数で無効にするには、`env` で [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/ja/env-vars)を設定します | `false` |

172| `autoMode` | [自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)分類器がブロックおよび許可するものをカスタマイズします。`environment`、`allow`、`soft_deny`、および `hard_deny` 配列の散文ルールを含みます。リテラル文字列 `"$defaults"` を配列に含めて、その位置で組み込みルールを継承します。[自動モードを構成](/ja/auto-mode-config)を参照してください。共有プロジェクト設定から読み込まれません | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |198| `autoMode` | [自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)分類器がブロックおよび許可するものをカスタマイズします。`environment`、`allow`、`soft_deny`、および `hard_deny` 配列の散文ルールを含みます。リテラル文字列 `"$defaults"` を配列に含めて、その位置で組み込みルールを継承します。[自動モードを構成](/ja/auto-mode-config)を参照してください。共有プロジェクト設定から読み込まれません | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

173| `autoScrollEnabled` | [フルスクリーンレンダリング](/ja/fullscreen)で、新しい出力を会話の下部に追従します。デフォルト:`true`。`/config` に**自動スクロール**として表示されます。権限プロンプトはこれがオフの場合でもビューにスクロールします | `false` |199| `autoScrollEnabled` | [フルスクリーンレンダリング](/ja/fullscreen)で、新しい出力を会話の下部に追従します。デフォルト:`true`。`/config` に**自動スクロール**として表示されます。権限プロンプトはこれがオフの場合でもビューにスクロールします | `false` |


183| `cleanupPeriodDays` | この期間より長く非アクティブなセッションは起動時に削除されます(デフォルト:30 日、最小 1)。`0` に設定するとバリデーションエラーで拒否されます。また、起動時に[孤立した subagent worktrees](/ja/worktrees#clean-up-worktrees)の自動削除の年齢カットオフも制御します。トランスクリプト書き込みを完全に無効にするには、[`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/ja/env-vars)環境変数を設定するか、非インタラクティブモード(`-p`)で `--no-session-persistence` フラグまたは `persistSession: false` SDK オプションを使用します。 | `20` |209| `cleanupPeriodDays` | この期間より長く非アクティブなセッションは起動時に削除されます(デフォルト:30 日、最小 1)。`0` に設定するとバリデーションエラーで拒否されます。また、起動時に[孤立した subagent worktrees](/ja/worktrees#clean-up-worktrees)の自動削除の年齢カットオフも制御します。トランスクリプト書き込みを完全に無効にするには、[`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/ja/env-vars)環境変数を設定するか、非インタラクティブモード(`-p`)で `--no-session-persistence` フラグまたは `persistSession: false` SDK オプションを使用します。 | `20` |

184| `companyAnnouncements` | 起動時にユーザーに表示するアナウンス。複数のアナウンスが提供される場合、ランダムにサイクルされます。 | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |210| `companyAnnouncements` | 起動時にユーザーに表示するアナウンス。複数のアナウンスが提供される場合、ランダムにサイクルされます。 | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |

185| `defaultShell` | 入力ボックス `!` コマンドのデフォルトシェル。`"bash"`(デフォルト)または `"powershell"` を受け入れます。`"powershell"` を設定すると、インタラクティブ `!` コマンドが Windows 上の PowerShell を通じてルーティングされます。`CLAUDE_CODE_USE_POWERSHELL_TOOL=1` が必要です。[PowerShell ツール](/ja/tools-reference#powershell-tool)を参照してください | `"powershell"` |211| `defaultShell` | 入力ボックス `!` コマンドのデフォルトシェル。`"bash"`(デフォルト)または `"powershell"` を受け入れます。`"powershell"` を設定すると、インタラクティブ `!` コマンドが Windows 上の PowerShell を通じてルーティングされます。`CLAUDE_CODE_USE_POWERSHELL_TOOL=1` が必要です。[PowerShell ツール](/ja/tools-reference#powershell-tool)を参照してください | `"powershell"` |

186| `deniedMcpServers` | managed-settings.json で設定されている場合、明示的にブロックされた MCP サーバーの拒否リスト。managed サーバーを含むすべてのスコープに適用されます。拒否リストがホワイトリストよりも優先されます。[Managed MCP 構成](/ja/mcp#managed-mcp-configuration)を参照してください | `[{ "serverName": "filesystem" }]` |212| `deniedMcpServers` | managed-settings.json で設定されている場合、明示的にブロックされた MCP サーバーの拒否リスト。managed サーバーを含むすべてのスコープに適用されます。拒否リストがホワイトリストよりも優先されます。[Managed MCP 構成](/ja/managed-mcp)を参照してください | `[{ "serverName": "filesystem" }]` |

187| `disableAgentView` | [バックグラウンドエージェントとエージェントビュー](/ja/agent-view)をオフにするために `true` に設定します:`claude agents`、`--bg`、`/background`、およびオンデマンドスーパーバイザー。通常は [managed 設定](/ja/permissions#managed-settings)で設定されます。`CLAUDE_CODE_DISABLE_AGENT_VIEW` を `1` に設定するのと同等です | `true` |213| `disableAgentView` | [バックグラウンドエージェントとエージェントビュー](/ja/agent-view)をオフにするために `true` に設定します:`claude agents`、`--bg`、`/background`、およびオンデマンドスーパーバイザー。通常は [managed 設定](/ja/permissions#managed-settings)で設定されます。`CLAUDE_CODE_DISABLE_AGENT_VIEW` を `1` に設定するのと同等です | `true` |

188| `disableAllHooks` | すべての [hooks](/ja/hooks) とカスタム [ステータスライン](/ja/statusline)を無効にします | `true` |214| `disableAllHooks` | すべての [hooks](/ja/hooks) とカスタム [ステータスライン](/ja/statusline)を無効にします | `true` |

189| `disableAutoMode` | [自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)の有効化を防ぐために `"disable"` に設定します。`Shift+Tab` サイクルから `auto` を削除し、起動時に `--permission-mode auto` を拒否します。[managed 設定](/ja/permissions#managed-settings)で最も役立ちます。ユーザーはこれをオーバーライドできません | `"disable"` |215| `disableAutoMode` | [自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)の有効化を防ぐために `"disable"` に設定します。`Shift+Tab` サイクルから `auto` を削除し、起動時に `--permission-mode auto` を拒否します。[managed 設定](/ja/permissions#managed-settings)で最も役立ちます。ユーザーはこれをオーバーライドできません | `"disable"` |


191| `disabledMcpjsonServers` | `.mcp.json` ファイルから拒否する特定の MCP サーバーのリスト | `["filesystem"]` |217| `disabledMcpjsonServers` | `.mcp.json` ファイルから拒否する特定の MCP サーバーのリスト | `["filesystem"]` |

192| `disableRemoteControl` | {/* min-version: 2.1.128 */}[リモートコントロール](/ja/remote-control)を無効にします:`claude remote-control`、`--remote-control` フラグ、自動開始、およびセッション内トグルをブロックします。通常は [managed 設定](/ja/permissions#managed-settings)に配置されます。デバイスごとの MDM 強制用ですが、任意のスコープから機能します。Claude Code v2.1.128 以降が必要です | `true` |218| `disableRemoteControl` | {/* min-version: 2.1.128 */}[リモートコントロール](/ja/remote-control)を無効にします:`claude remote-control`、`--remote-control` フラグ、自動開始、およびセッション内トグルをブロックします。通常は [managed 設定](/ja/permissions#managed-settings)に配置されます。デバイスごとの MDM 強制用ですが、任意のスコープから機能します。Claude Code v2.1.128 以降が必要です | `true` |

193| `disableSkillShellExecution` | [skills](/ja/skills) およびユーザー、プロジェクト、プラグイン、または追加ディレクトリソースからのカスタムコマンド内の `` !`...` `` および ` ```! ` ブロックのインラインシェル実行を無効にします。コマンドは実行される代わりに `[shell command execution disabled by policy]` に置き換えられます。バンドルされた skills および managed skills は影響を受けません。[managed 設定](/ja/permissions#managed-settings)で最も役立ちます。ユーザーはこれをオーバーライドできません | `true` |219| `disableSkillShellExecution` | [skills](/ja/skills) およびユーザー、プロジェクト、プラグイン、または追加ディレクトリソースからのカスタムコマンド内の `` !`...` `` および ` ```! ` ブロックのインラインシェル実行を無効にします。コマンドは実行される代わりに `[shell command execution disabled by policy]` に置き換えられます。バンドルされた skills および managed skills は影響を受けません。[managed 設定](/ja/permissions#managed-settings)で最も役立ちます。ユーザーはこれをオーバーライドできません | `true` |

220| `disableWorkflows` | [動的ワークフロー](/ja/workflows#turn-workflows-off)とバンドルされたワークフローコマンドを無効にします。デフォルト:`false`。`CLAUDE_CODE_DISABLE_WORKFLOWS` を `1` に設定するのと同等です | `true` |

194| `editorMode` | 入力プロンプトのキーバインディングモード:`"normal"` または `"vim"`。デフォルト:`"normal"`。`/config` に**エディターモード**として表示されます | `"vim"` |221| `editorMode` | 入力プロンプトのキーバインディングモード:`"normal"` または `"vim"`。デフォルト:`"normal"`。`/config` に**エディターモード**として表示されます | `"vim"` |

195| `effortLevel` | [努力レベル](/ja/model-config#adjust-effort-level)をセッション全体で永続化します。`"low"`、`"medium"`、`"high"`、または `"xhigh"` を受け入れます。これらの値のいずれかで `/effort` を実行すると自動的に書き込まれます。`--effort` と [`CLAUDE_CODE_EFFORT_LEVEL`](/ja/env-vars)はこれを 1 セッション間オーバーライドします。[努力レベルを調整](/ja/model-config#adjust-effort-level)でサポートされているモデルを参照してください | `"xhigh"` |222| `effortLevel` | [努力レベル](/ja/model-config#adjust-effort-level)をセッション全体で永続化します。`"low"`、`"medium"`、`"high"`、または `"xhigh"` を受け入れます。これらの値のいずれかで `/effort` を実行すると自動的に書き込まれます。`--effort` と [`CLAUDE_CODE_EFFORT_LEVEL`](/ja/env-vars)はこれを 1 セッション間オーバーライドします。[努力レベルを調整](/ja/model-config#adjust-effort-level)でサポートされているモデルを参照してください | `"xhigh"` |

196| `enableAllProjectMcpServers` | プロジェクト `.mcp.json` ファイルで定義されたすべての MCP サーバーを自動的に承認します | `true` |223| `enableAllProjectMcpServers` | プロジェクト `.mcp.json` ファイルで定義されたすべての MCP サーバーを自動的に承認します | `true` |

197| `enabledMcpjsonServers` | `.mcp.json` ファイルから承認する特定の MCP サーバーのリスト | `["memory", "github"]` |224| `enabledMcpjsonServers` | `.mcp.json` ファイルから承認する特定の MCP サーバーのリスト | `["memory", "github"]` |

198| `env` | すべてのセッションに適用される環境変数 | `{"FOO": "bar"}` |225| `env` | すべてのセッションに適用される環境変数。{/* min-version: 2.1.143 */}v2.1.143 以降、`NO_COLOR` と `FORCE_COLOR` がここで設定されている場合、サブプロセスに渡されますが、Claude Code 自体のインターフェイスの色は変更されません。インターフェイスの色を変更するには、`claude` を起動する前にシェルでこれらを設定します | `{"FOO": "bar"}` |

199| `fastModePerSessionOptIn` | `true` の場合、高速モードはセッション全体で永続化されません。各セッションは高速モードがオフで開始され、ユーザーが `/fast` で有効にする必要があります。ユーザーの高速モード設定は引き続き保存されます。[セッションごとのオプトインを要求](/ja/fast-mode#require-per-session-opt-in)を参照してください | `true` |226| `fastModePerSessionOptIn` | `true` の場合、高速モードはセッション全体で永続化されません。各セッションは高速モードがオフで開始され、ユーザーが `/fast` で有効にする必要があります。ユーザーの高速モード設定は引き続き保存されます。[セッションごとのオプトインを要求](/ja/fast-mode#require-per-session-opt-in)を参照してください | `true` |

200| `feedbackSurveyRate` | [セッション品質調査](/ja/data-usage#session-quality-surveys)が適格な場合に表示される確率(0~1)。完全に抑制するには `0` に設定するか、`env` で [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/ja/env-vars)を設定します。Bedrock、Vertex、または Foundry を使用する場合に役立ちます。デフォルトのサンプルレートは適用されません | `0.05` |227| `feedbackSurveyRate` | [セッション品質調査](/ja/data-usage#session-quality-surveys)が適格な場合に表示される確率(0~1)。完全に抑制するには `0` に設定するか、`env` で [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/ja/env-vars)を設定します。Bedrock、Vertex、または Foundry を使用する場合に役立ちます。デフォルトのサンプルレートは適用されません | `0.05` |

201| `fileSuggestion` | `@` ファイルオートコンプリート用のカスタムスクリプトを構成します。[ファイル提案設定](#file-suggestion-settings)を参照してください | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |228| `fileSuggestion` | `@` ファイルオートコンプリート用のカスタムスクリプトを構成します。[ファイル提案設定](#file-suggestion-settings)を参照してください | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |

202| `forceLoginMethod` | `claudeai` を使用して Claude.ai アカウントへのログインを制限するか、`console` を使用して Claude Console(API 使用量請求)アカウントへのログインを制限します | `claudeai` |229| `forceLoginMethod` | `claudeai` を使用して Claude.ai アカウントへのログインを制限するか、`console` を使用して Claude Console アカウントへのログインを制限します。managed 設定で設定されている場合、`ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、または `apiKeyHelper` で認証されたセッションは起動時にブロックされます。どちらの値も最初のパーティ OAuth なしでは満たされないため。Bedrock、Vertex、Foundry などのサードパーティプロバイダーセッションはブロックされません:これらはクラウドプロバイダーではなく Anthropic に対して認証されます | `claudeai` |

203| `forceLoginOrgUUID` | ログインが特定の組織に属することを要求します。単一の UUID 文字列を受け入れます。これはログイン中にその組織を自動的に事前選択するか、リストされた組織のいずれかが受け入れられる UUID の配列を受け入れます。事前選択なし。managed 設定で設定されている場合、認証されたアカウントがリストされた組織に属していない場合、ログインは失敗します。空配列は失敗して閉じられ、ログインを設定ミスメッセージでブロックします | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` または `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |230| `forceLoginOrgUUID` | ログインが特定の Anthropic 組織に属することを要求します。単一の UUID 文字列を受け入れます。これはログイン中にその組織を自動的に事前選択するか、リストされた組織のいずれかが受け入れられる UUID の配列を受け入れます。事前選択なし。managed 設定で設定されている場合、認証されたアカウントがリストされた組織に属していない場合、ログインは失敗します。`ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、または `apiKeyHelper` で認証されたセッションは起動時にブロックされます。これらのセッションでは組織メンバーシップを検証できないため。Bedrock、Vertex、Foundry などのサードパーティプロバイダーセッションはブロックされません:クラウド IAM を使用して、どのクラウドアカウントを使用できるかを制限します。空配列は失敗して閉じられ、ログインを設定ミスメッセージでブロックします | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` または `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |

204| `forceRemoteSettingsRefresh` | (Managed 設定のみ)リモート managed 設定がサーバーから新しく取得されるまで CLI スタートアップをブロックします。フェッチが失敗した場合、キャッシュされた設定または設定なしで続行するのではなく、CLI は終了します。設定されていない場合、スタートアップはリモート設定を待たずに続行します。[fail-closed 強制](/ja/server-managed-settings#enforce-fail-closed-startup)を参照してください | `true` |231| `forceRemoteSettingsRefresh` | (Managed 設定のみ)リモート managed 設定がサーバーから新しく取得されるまで CLI スタートアップをブロックします。フェッチが失敗した場合、キャッシュされた設定または設定なしで続行するのではなく、CLI は終了します。設定されていない場合、スタートアップはリモート設定を待たずに続行します。[fail-closed 強制](/ja/server-managed-settings#enforce-fail-closed-startup)を参照してください | `true` |

205| `gcpAuthRefresh` | GCP Application Default Credentials が期限切れになったか読み込めない場合にリフレッシュするカスタムスクリプト。[高度な認証情報構成](/ja/google-vertex-ai#advanced-credential-configuration)を参照してください | `gcloud auth application-default login` |232| `gcpAuthRefresh` | GCP Application Default Credentials が期限切れになったか読み込めない場合にリフレッシュするカスタムスクリプト。[高度な認証情報構成](/ja/google-vertex-ai#advanced-credential-configuration)を参照してください | `gcloud auth application-default login` |

206| `hooks` | ライフサイクルイベントで実行するカスタムコマンドを構成します。形式については [hooks ドキュメント](/ja/hooks)を参照してください | [hooks](/ja/hooks)を参照 |233| `hooks` | ライフサイクルイベントで実行するカスタムコマンドを構成します。形式については [hooks ドキュメント](/ja/hooks)を参照してください | [hooks](/ja/hooks)を参照 |


214| `modelOverrides` | Anthropic モデル ID を Bedrock 推論プロファイル ARN などのプロバイダー固有のモデル ID にマップします。各モデルピッカーエントリは、プロバイダー API を呼び出すときにマップされた値を使用します。[バージョンごとにモデル ID をオーバーライド](/ja/model-config#override-model-ids-per-version)を参照してください | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |241| `modelOverrides` | Anthropic モデル ID を Bedrock 推論プロファイル ARN などのプロバイダー固有のモデル ID にマップします。各モデルピッカーエントリは、プロバイダー API を呼び出すときにマップされた値を使用します。[バージョンごとにモデル ID をオーバーライド](/ja/model-config#override-model-ids-per-version)を参照してください | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |

215| `otelHeadersHelper` | 動的 OpenTelemetry ヘッダーを生成するスクリプト。起動時および定期的に実行されます。[`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/ja/env-vars)でリフレッシュ間隔を設定します。[動的ヘッダー](/ja/monitoring-usage#dynamic-headers)を参照してください | `/bin/generate_otel_headers.sh` |242| `otelHeadersHelper` | 動的 OpenTelemetry ヘッダーを生成するスクリプト。起動時および定期的に実行されます。[`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/ja/env-vars)でリフレッシュ間隔を設定します。[動的ヘッダー](/ja/monitoring-usage#dynamic-headers)を参照してください | `/bin/generate_otel_headers.sh` |

216| `outputStyle` | システムプロンプトを調整するための出力スタイルを構成します。[出力スタイルドキュメント](/ja/output-styles)を参照してください | `"Explanatory"` |243| `outputStyle` | システムプロンプトを調整するための出力スタイルを構成します。[出力スタイルドキュメント](/ja/output-styles)を参照してください | `"Explanatory"` |

217| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Managed 設定のみ)Agent SDK または IDE 拡張機能などの埋め込みホストプロセスによってプログラム的に提供される managed 設定が、管理者デプロイ済みの managed ティアも存在する場合に適用されるかどうかを制御します。`"first-wins"`:親提供の設定は削除され、管理者ティアのみが適用されます。`"merge"`:親提供の設定は管理者ティアの下で適用され、ポリシーを厳しくできるが緩くできないようにフィルタリングされます。管理者ティアがデプロイされていない場合は効果がありません。デフォルト:`"first-wins"`。Claude Code v2.1.133 以降が必要です | `"merge"` |244| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Managed 設定のみ)Agent SDK または IDE 拡張機能などの埋め込みホストプロセスによってプログラム的に提供される managed 設定が、管理者デプロイ済みの managed ティアも存在する場合に適用されるかどうかを制御します。`"first-wins"`:親提供の設定は削除され、管理者ティアのみが適用されます。`"merge"`:親提供の設定は管理者ティアの下で適用され、ポリシーを厳しくできるが緩くすることはできないようにフィルタリングされます。管理者ティアがデプロイされていない場合は効果がありません。デフォルト:`"first-wins"`。Claude Code v2.1.133 以降が必要です | `"merge"` |

218| `permissions` | 権限の構造については、以下の表を参照してください。 | |245| `permissions` | 権限の構造については、以下の表を参照してください。 | |

219| `plansDirectory` | プランファイルが保存される場所をカスタマイズします。パスはプロジェクトルートに相対的です。デフォルト:`~/.claude/plans` | `"./plans"` |246| `plansDirectory` | プランファイルが保存される場所をカスタマイズします。パスはプロジェクトルートに相対的です。デフォルト:`~/.claude/plans` | `"./plans"` |

247| `pluginSuggestionMarketplaces` | (Managed 設定のみ)プラグインが文脈的なインストール提案として表示される可能性があるマーケットプレイス名。公式マーケットプレイスに加えて。提案は各プラグインのマーケットプレイスエントリの `relevance` 宣言から来ます。名前は、マーケットプレイスがマシンに登録されており、その登録されたソースが managed 設定でも宣言されている場合にのみ有効になります。その名前の `extraKnownMarketplaces` エントリとして、または `strictKnownMarketplaces` のエントリとして。異なるソースから登録されたマーケットプレイスはホワイトリストされた名前の下で無視されます。 | `["acme-corp-plugins"]` |

220| `pluginTrustMessage` | (Managed 設定のみ)インストール前に表示されるプラグイン信頼警告に追加されるカスタムメッセージ。これを使用して、組織固有のコンテキストを追加します。たとえば、内部マーケットプレイスからのプラグインが検証されていることを確認します。 | `"All plugins from our marketplace are approved by IT"` |248| `pluginTrustMessage` | (Managed 設定のみ)インストール前に表示されるプラグイン信頼警告に追加されるカスタムメッセージ。これを使用して、組織固有のコンテキストを追加します。たとえば、内部マーケットプレイスからのプラグインが検証されていることを確認します。 | `"All plugins from our marketplace are approved by IT"` |

221| `policyHelper` | {/* min-version: 2.1.136 */}起動時に managed 設定を動的に計算する管理者デプロイ済みの実行可能ファイル。MDM またはシステム `managed-settings.json` ファイルからのみ尊重されます。[ポリシーヘルパーで managed 設定を計算](#compute-managed-settings-with-a-policy-helper)を参照してください。Claude Code v2.1.136 以降が必要です | `{"path": "/usr/local/bin/claude-policy"}` |249| `policyHelper` | {/* min-version: 2.1.136 */}起動時に managed 設定を動的に計算する管理者デプロイ済みの実行可能ファイル。MDM またはシステム `managed-settings.json` ファイルからのみ尊重されます。[ポリシーヘルパーで managed 設定を計算](#compute-managed-settings-with-a-policy-helper)を参照してください。Claude Code v2.1.136 以降が必要です | `{"path": "/usr/local/bin/claude-policy"}` |

222| `preferredNotifChannel` | タスク完了および権限プロンプト通知の方法:`"auto"`、`"terminal_bell"`、`"iterm2"`、`"iterm2_with_bell"`、`"kitty"`、`"ghostty"`、または `"notifications_disabled"`。デフォルト:`"auto"`。iTerm2、Ghostty、Kitty ではデスクトップ通知を送信し、他のターミナルでは何もしません。任意のターミナルでベル文字を鳴らすには `"terminal_bell"` を設定します。`/config` に**通知**として表示されます。[ターミナルベルまたは通知を取得](/ja/terminal-config#get-a-terminal-bell-or-notification)を参照してください | `"terminal_bell"` |250| `preferredNotifChannel` | タスク完了および権限プロンプト通知の方法:`"auto"`、`"terminal_bell"`、`"iterm2"`、`"iterm2_with_bell"`、`"kitty"`、`"ghostty"`、または `"notifications_disabled"`。デフォルト:`"auto"`。iTerm2、Ghostty、Kitty ではデスクトップ通知を送信し、他のターミナルでは何もしません。任意のターミナルでベル文字を鳴らすには `"terminal_bell"` を設定します。`/config` に**通知**として表示されます。[ターミナルベルまたは通知を取得](/ja/terminal-config#get-a-terminal-bell-or-notification)を参照してください | `"terminal_bell"` |


224| `prUrlTemplate` | フッターおよびツール結果サマリーに表示される PR バッジの URL テンプレート。`gh` レポートされた PR URL から `{host}`、`{owner}`、`{repo}`、`{number}`、および `{url}` を置き換えます。PR リンクを `github.com` の代わりに内部コードレビューツールにポイントするために使用します。Claude の散文の `#123` オートリンクには影響しません | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |252| `prUrlTemplate` | フッターおよびツール結果サマリーに表示される PR バッジの URL テンプレート。`gh` レポートされた PR URL から `{host}`、`{owner}`、`{repo}`、`{number}`、および `{url}` を置き換えます。PR リンクを `github.com` の代わりに内部コードレビューツールにポイントするために使用します。Claude の散文の `#123` オートリンクには影響しません | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |

225| `respectGitignore` | `@` ファイルピッカーが `.gitignore` パターンを尊重するかどうかを制御します。`true`(デフォルト)の場合、`.gitignore` パターンに一致するファイルは提案から除外されます | `false` |253| `respectGitignore` | `@` ファイルピッカーが `.gitignore` パターンを尊重するかどうかを制御します。`true`(デフォルト)の場合、`.gitignore` パターンに一致するファイルは提案から除外されます | `false` |

226| `showClearContextOnPlanAccept` | プラン受け入れ画面に「コンテキストをクリア」オプションを表示します。デフォルトは `false` です。`true` に設定してオプションを復元します | `true` |254| `showClearContextOnPlanAccept` | プラン受け入れ画面に「コンテキストをクリア」オプションを表示します。デフォルトは `false` です。`true` に設定してオプションを復元します | `true` |

227| `showThinkingSummaries` | [拡張思考](/ja/model-config#extended-thinking)サマリーをインタラクティブセッションに表示します。未設定または `false`(インタラクティブモードのデフォルト)の場合、思考ブロックは API によって編集され、折りたたまれたスタブとして表示されます。編集は表示内容のみを変更し、モデルが生成するものは変更しません:思考支出を削減するには、[予算を低下させるか思考を無効にする](/ja/model-config#extended-thinking)代わりに。非インタラクティブモード(`-p`) SDK 呼び出し元はこの設定に関係なく常にサマリーを受け取ります | `true` |255| `showThinkingSummaries` | [拡張思考](/ja/model-config#extended-thinking)サマリーをインタラクティブセッションに表示します。未設定または `false`(インタラクティブモードのデフォルト)の場合、思考ブロックは API によって編集され、折りたたまれたスタブとして表示されます。編集は表示内容のみを変更し、モデルが生成するものは変更しません:思考支出を削減するには、[予算を低下させるか思考を無効にする](/ja/model-config#extended-thinking)代わりに。この設定は非インタラクティブモード(`-p`)、Agent SDK、または VS Code などの IDE 拡張機能には影響しません | `true` |

228| `showTurnDuration` | レスポンス後のターン期間メッセージを表示します(例:「Cooked for 1m 6s」)。デフォルト:`true`。`/config` に**ターン期間を表示**として表示されます | `false` |256| `showTurnDuration` | レスポンス後のターン期間メッセージを表示します(例:「Cooked for 1m 6s」)。デフォルト:`true`。`/config` に**ターン期間を表示**として表示されます | `false` |

229| `skillListingBudgetFraction` | {/* min-version: 2.1.105 */}[スキルリスティング](/ja/skills#skill-descriptions-are-cut-short)Claude が各ターンで見るモデルのコンテキストウィンドウ用に予約されたフラクション(デフォルト:`0.01` = 1%)。リスティングが予算を超える場合、最も使用頻度の低いスキルの説明は、Claude が引き続き呼び出すことができるが理由を見ることができないように、ベアネームに折りたたまれます。より多くの説明を表示するために上げるか、より多くのスキルを収めるために下げます。`/doctor` は現在の切り詰めカウントと影響を受けるスキルを表示します。Claude Code v2.1.105 以降が必要です | `0.02` |257| `skillListingBudgetFraction` | {/* min-version: 2.1.105 */}[スキルリスティング](/ja/skills#skill-descriptions-are-cut-short)Claude が各ターンで見るモデルのコンテキストウィンドウ用に予約されたフラクション(デフォルト:`0.01` = 1%)。リスティングが予算を超える場合、最も使用頻度の低いスキルの説明は、Claude が引き続き呼び出すことができるが理由を見ることができないように、ベアネームに折りたたまれます。より多くの説明を表示するために上げるか、より多くのスキルを収めるために下げます。`/doctor` は現在の切り詰めカウントと影響を受けるスキルを表示します。Claude Code v2.1.105 以降が必要です | `0.02` |

230| `skillOverrides` | {/* min-version: 2.1.129 */}スキル名でキー付けされたスキルごとの可視性オーバーライド。値は `"on"`、`"name-only"`、`"user-invocable-only"`、または `"off"` です。スキルの SKILL.md を編集することなく、スキルを非表示または折りたたむことができます。プラグインスキルには適用されません。これらは `/plugin` を通じて管理されます。`/skills` メニューはこれらを `.claude/settings.local.json` に書き込みます。[設定からスキルの可視性をオーバーライド](/ja/skills#override-skill-visibility-from-settings)を参照してください。Claude Code v2.1.129 以降が必要です | `{"legacy-context": "name-only", "deploy": "off"}` |258| `skillOverrides` | {/* min-version: 2.1.129 */}スキル名でキー付けされたスキルごとの可視性オーバーライド。値は `"on"`、`"name-only"`、`"user-invocable-only"`、または `"off"` です。スキルの SKILL.md を編集することなく、スキルを非表示または折りたたむことができます。プラグインスキルには適用されません。これらは `/plugin` を通じて管理されます。`/skills` メニューはこれらを `.claude/settings.local.json` に書き込みます。[設定からスキルの可視性をオーバーライド](/ja/skills#override-skill-visibility-from-settings)を参照してください。Claude Code v2.1.129 以降が必要です | `{"legacy-context": "name-only", "deploy": "off"}` |

231| `skipWebFetchPreflight` | [WebFetch ドメイン安全チェック](/ja/data-usage#webfetch-domain-safety-check)をスキップします。このチェックは、フェッチ前に各リクエストされたホスト名を `api.anthropic.com` に送信します。Bedrock、Vertex AI、または制限的な出力を持つ Foundry デプロイメントなど、Anthropic へのトラフィックをブロックする環境で `true` に設定します。スキップされた場合、WebFetch はブロックリストを参照せずに任意の URL を試みます | `true` |259| `skipWebFetchPreflight` | [WebFetch ドメイン安全チェック](/ja/data-usage#webfetch-domain-safety-check)をスキップします。このチェックは、フェッチ前に各リクエストされたホスト名を `api.anthropic.com` に送信します。Bedrock、Vertex AI、または制限的な出力を持つ Foundry デプロイメントなど、Anthropic へのトラフィックをブロックする環境で `true` に設定します。スキップされた場合、WebFetch はブロックリストを参照せずに任意の URL を試みます | `true` |

232| `spinnerTipsEnabled` | Claude が作業中にスピナーにヒントを表示します。ヒントを無効にするには `false` に設定します(デフォルト:`true`) | `false` |260| `spinnerTipsEnabled` | Claude が作業中にスピナーにヒントを表示します。ヒントを無効にするには `false` に設定します(デフォルト:`true`) | `false` |

233| `spinnerTipsOverride` | スピナーヒントをカスタム文字列でオーバーライドします。`tips`:ヒント文字列の配列。`excludeDefault`:`true` の場合、カスタムヒントのみを表示します。`false` または不在の場合、カスタムヒントは組み込みヒントとマージされます | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |261| `spinnerTipsOverride` | スピナーヒントをカスタム文字列でオーバーライドします。`tips`:ヒント文字列の配列。`excludeDefault`:`true` の場合、カスタムヒントのみを表示します。`false` または不在の場合、カスタムヒントは組み込みヒントとマージされます | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |

234| `spinnerVerbs` | スピナーとターン期間メッセージに表示されるアクション動詞をカスタマイズします。`mode` を `"replace"` に設定して動詞のみを使用するか、`"append"` に設定してデフォルトに追加します | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |262| `spinnerVerbs` | スピナーに表示されるアクション動詞をカスタマイズします。`mode` を `"replace"` に設定して動詞のみを使用するか、`"append"` に設定してデフォルトに追加します | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |

235| `sshConfigs` | [Desktop](/ja/desktop#pre-configure-ssh-connections-for-your-team)環境ドロップダウンに表示する SSH 接続。各エントリには `id`、`name`、および `sshHost` が必要です。`sshPort`、`sshIdentityFile`、および `startDirectory` はオプションです。managed 設定で設定されている場合、接続はユーザーに対して読み取り専用です。managed およびユーザー設定からのみ読み込まれます | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |263| `sshConfigs` | [Desktop](/ja/desktop#pre-configure-ssh-connections-for-your-team)環境ドロップダウンに表示する SSH 接続。各エントリには `id`、`name`、および `sshHost` が必要です。`sshPort`、`sshIdentityFile`、および `startDirectory` はオプションです。managed 設定で設定されている場合、接続はユーザーに対して読み取り専用です。managed およびユーザー設定からのみ読み込まれます | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |

236| `statusLine` | コンテキストを表示するカスタムステータスラインを構成します。[`statusLine` ドキュメント](/ja/statusline)を参照してください | `{"type": "command", "command": "~/.claude/statusline.sh"}` |264| `statusLine` | コンテキストを表示するカスタムステータスラインを構成します。[`statusLine` ドキュメント](/ja/statusline)を参照してください | `{"type": "command", "command": "~/.claude/statusline.sh"}` |

237| `strictKnownMarketplaces` | (Managed 設定のみ)プラグインマーケットプレイスソースのホワイトリスト。未定義 = 制限なし、空配列 = ロックダウン。マーケットプレイス追加時およびプラグインのインストール、更新、リフレッシュ、自動更新時に適用されるため、ポリシーが設定される前に追加されたマーケットプレイスは使用できません。[Managed マーケットプレイス制限](/ja/plugin-marketplaces#managed-marketplace-restrictions)を参照してください | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |265| `strictKnownMarketplaces` | (Managed 設定のみ)プラグインマーケットプレイスソースのホワイトリスト。未定義 = 制限なし、空配列 = ロックダウン。マーケットプレイス追加時およびプラグインのインストール、更新、リフレッシュ、自動更新時に適用されるため、ポリシーが設定される前に追加されたマーケットプレイスは使用できません。[Managed マーケットプレイス制限](/ja/plugin-marketplaces#managed-marketplace-restrictions)を参照してください | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

266| `strictPluginOnlyCustomization` | (Managed 設定のみ)ユーザーおよびプロジェクトソースからの skills、agents、hooks、および MCP サーバーをブロックして、プラグインまたは managed 設定からのみ取得できるようにします。`true` は 4 つすべてをロックします。配列は名前付きのものだけをロックします。[`strictPluginOnlyCustomization`](#strictpluginonlycustomization)を参照してください | `["skills", "hooks"]` |

238| `syntaxHighlightingDisabled` | diff、コードブロック、ファイルプレビューの構文強調表示を無効にします | `true` |267| `syntaxHighlightingDisabled` | diff、コードブロック、ファイルプレビューの構文強調表示を無効にします | `true` |

239| `teammateMode` | [エージェントチーム](/ja/agent-teams)チームメイトの表示方法:`auto`(tmux または iTerm2 で分割ペインを選択、それ以外の場合はインプロセス)、`in-process`、または `tmux`。`--teammate-mode` はこれを 1 セッション間オーバーライドします。[表示モードを選択](/ja/agent-teams#choose-a-display-mode)を参照してください | `"in-process"` |268| `teammateMode` | [エージェントチーム](/ja/agent-teams)チームメイトの表示方法:`auto`(tmux または iTerm2 で分割ペインを選択、それ以外の場合はインプロセス)、`in-process`、または `tmux`。`--teammate-mode` はこれを 1 セッション間オーバーライドします。[表示モードを選択](/ja/agent-teams#choose-a-display-mode)を参照してください | `"in-process"` |

240| `terminalProgressBarEnabled` | サポートされているターミナルでターミナル進行状況バーを表示します:ConEmu、Ghostty 1.2.0 以降、および iTerm2 3.6.6 以降。デフォルト:`true`。`/config` に**ターミナル進行状況バー**として表示されます | `false` |269| `terminalProgressBarEnabled` | サポートされているターミナルでターミナル進行状況バーを表示します:ConEmu、Ghostty 1.2.0 以降、および iTerm2 3.6.6 以降。デフォルト:`true`。`/config` に**ターミナル進行状況バー**として表示されます | `false` |

241| `tui` | ターミナル UI レンダラー。フリッカーのない[alt-screen レンダラー](/ja/fullscreen)を備えた仮想スクロールバック用に `"fullscreen"` を使用します。クラシックメインスクリーンレンダラー用に `"default"` を使用します。`/tui` で設定します。[`CLAUDE_CODE_NO_FLICKER`](/ja/env-vars)環境変数を設定することもできます | `"fullscreen"` |270| `tui` | ターミナル UI レンダラー。フリッカーのない[alt-screen レンダラー](/ja/fullscreen)を備えた仮想スクロールバック用に `"fullscreen"` を使用します。クラシックメインスクリーンレンダラー用に `"default"` を使用します。`/tui` で設定します。[`CLAUDE_CODE_NO_FLICKER`](/ja/env-vars)環境変数を設定することもできます。[エージェントビュー](/ja/agent-view)から開かれたバックグラウンドセッションは、この設定に関係なく常にフルスクリーンレンダラーを使用します | `"fullscreen"` |

271| `ultracode` | セッションの [ultracode](/ja/workflows#let-claude-decide-with-ultracode)をオンにします。セッションのみで `settings.json` から読み込まれません。`/effort ultracode`、`--settings`、または Agent SDK 制御リクエストを通じて設定します | `true` |

242| `useAutoModeDuringPlan` | プラン モードが自動モードが利用可能な場合に自動モードセマンティクスを使用するかどうか。デフォルト:`true`。共有プロジェクト設定から読み込まれません。`/config` に「プラン中に自動モードを使用」として表示されます | `false` |272| `useAutoModeDuringPlan` | プラン モードが自動モードが利用可能な場合に自動モードセマンティクスを使用するかどうか。デフォルト:`true`。共有プロジェクト設定から読み込まれません。`/config` に「プラン中に自動モードを使用」として表示されます | `false` |

243| `viewMode` | 起動時のデフォルトトランスクリプトビューモード:`"default"`、`"verbose"`、または `"focus"`。設定されている場合、スティッキー `/focus` 選択をオーバーライドします。`--verbose` フラグはこれを 1 セッション間オーバーライドします | `"verbose"` |273| `viewMode` | 起動時のデフォルトトランスクリプトビューモード:`"default"`、`"verbose"`、または `"focus"`。設定されている場合、スティッキー `/focus` 選択をオーバーライドします。`--verbose` フラグはこれを 1 セッション間オーバーライドします | `"verbose"` |

244| `voice` | [音声ディクテーション](/ja/voice-dictation)設定:`enabled` はディクテーションをオンにし、`mode` は `"hold"` または `"tap"` を選択し、`autoSubmit` はホールドモードでキーリリース時にプロンプトを送信します。`/voice` を実行すると自動的に書き込まれます。Claude.ai アカウントが必要です | `{ "enabled": true, "mode": "tap" }` |274| `voice` | [音声ディクテーション](/ja/voice-dictation)設定:`enabled` はディクテーションをオンにし、`mode` は `"hold"` または `"tap"` を選択し、`autoSubmit` はホールドモードでキーリリース時にプロンプトを送信します。`/voice` を実行すると自動的に書き込まれます。Claude.ai アカウントが必要です | `{ "enabled": true, "mode": "tap" }` |

245| `voiceEnabled` | `voice.enabled` のレガシーエイリアス。`voice` オブジェクトを優先します | `true` |275| `voiceEnabled` | `voice.enabled` のレガシーエイリアス。`voice` オブジェクトを優先します | `true` |

276| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}プロンプト内の単語 `ultracode` が[動的ワークフロー](/ja/workflows#ask-for-a-workflow-in-your-prompt)をトリガーするかどうか。単語を入力してトリガーしないようにするには `false` に設定します。ultracode 努力設定、`/workflows`、および保存されたワークフローコマンドは影響を受けません。デフォルト:`true`。`/config` に**ワークフローキーワードトリガー**として表示されます。v2.1.157 で追加されました。v2.1.160 より前は、トリガーキーワードは `workflow` でした | `false` |

246| `wslInheritsWindowsSettings` | (Windows managed 設定のみ)`true` の場合、WSL 上の Claude Code は `/etc/claude-code` に加えて Windows ポリシーチェーンから managed 設定を読み込み、Windows ソースが優先されます。HKLM レジストリキーまたは `C:\Program Files\ClaudeCode\managed-settings.json` で設定されている場合のみ尊重されます。どちらも Windows 管理者が書き込む必要があります。HKCU ポリシーが WSL でも適用されるようにするには、フラグを HKCU 自体にも設定する必要があります。ネイティブ Windows には影響しません | `true` |277| `wslInheritsWindowsSettings` | (Windows managed 設定のみ)`true` の場合、WSL 上の Claude Code は `/etc/claude-code` に加えて Windows ポリシーチェーンから managed 設定を読み込み、Windows ソースが優先されます。HKLM レジストリキーまたは `C:\Program Files\ClaudeCode\managed-settings.json` で設定されている場合のみ尊重されます。どちらも Windows 管理者が書き込む必要があります。HKCU ポリシーが WSL でも適用されるようにするには、フラグを HKCU 自体にも設定する必要があります。ネイティブ Windows には影響しません | `true` |

247 278 

248### グローバル構成設定279<h3 id="global-config-settings">

280 グローバル構成設定

281</h3>

249 282 

250これらの設定は `settings.json` ではなく `~/.claude.json` に保存されます。これらを `settings.json` に追加すると、スキーマ検証エラーがトリガーされます。283これらの設定は `settings.json` ではなく `~/.claude.json` に保存されます。これらを `settings.json` に追加すると、スキーマ検証エラーがトリガーされます。

251 284 


260| `externalEditorContext` | `Ctrl+G` で外部エディターを開くときに Claude の前の応答を `#` コメント付きコンテキストとして先頭に追加します。デフォルト:`false`。`/config` に**外部エディターに最後の応答を表示**として表示されます | `true` |293| `externalEditorContext` | `Ctrl+G` で外部エディターを開くときに Claude の前の応答を `#` コメント付きコンテキストとして先頭に追加します。デフォルト:`false`。`/config` に**外部エディターに最後の応答を表示**として表示されます | `true` |

261| `teammateDefaultModel` | [エージェントチーム](/ja/agent-teams)チームメイトのデフォルトモデル。spawn プロンプトが指定しない場合。`"sonnet"` などのモデルエイリアスに設定するか、リーダーの現在の `/model` 選択を継承するために `null` に設定します。`/config` に**デフォルトチームメイトモデル**として表示されます | `"sonnet"` |294| `teammateDefaultModel` | [エージェントチーム](/ja/agent-teams)チームメイトのデフォルトモデル。spawn プロンプトが指定しない場合。`"sonnet"` などのモデルエイリアスに設定するか、リーダーの現在の `/model` 選択を継承するために `null` に設定します。`/config` に**デフォルトチームメイトモデル**として表示されます | `"sonnet"` |

262 295 

263### Worktree 設定296<h3 id="worktree-settings">

297 Worktree 設定

298</h3>

264 299 

265`--worktree` が git worktrees を作成および管理する方法を構成します。300`--worktree` が git worktrees を作成および管理する方法を構成します。

266 301 


268| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------ |303| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------ |

269| `worktree.baseRef` | 新しい worktrees がブランチする ref。`"fresh"`(デフォルト)は `origin/<default-branch>` からブランチして、リモートと一致するクリーンツリーを取得します。`"head"` は現在のローカル `HEAD` からブランチするため、プッシュされていないコミットとフィーチャーブランチの状態が worktree に存在します。`--worktree`、`EnterWorktree` ツール、および subagent 分離に適用されます | `"head"` |304| `worktree.baseRef` | 新しい worktrees がブランチする ref。`"fresh"`(デフォルト)は `origin/<default-branch>` からブランチして、リモートと一致するクリーンツリーを取得します。`"head"` は現在のローカル `HEAD` からブランチするため、プッシュされていないコミットとフィーチャーブランチの状態が worktree に存在します。`--worktree`、`EnterWorktree` ツール、および subagent 分離に適用されます | `"head"` |

270| `worktree.symlinkDirectories` | メインリポジトリから各 worktree にシンボリックリンクするディレクトリ。ディスク上の大規模なディレクトリの重複を避けるため。デフォルトではディレクトリはシンボリックリンクされません | `["node_modules", ".cache"]` |305| `worktree.symlinkDirectories` | メインリポジトリから各 worktree にシンボリックリンクするディレクトリ。ディスク上の大規模なディレクトリの重複を避けるため。デフォルトではディレクトリはシンボリックリンクされません | `["node_modules", ".cache"]` |

271| `worktree.sparsePaths` | git sparse-checkout(cone モード)を通じて各 worktree でチェックアウトするディレクトリ。リストされたパスのみがディスクに書き込まれます。大規模なモノレポではより高速です | `["packages/my-app", "shared/utils"]` |306| `worktree.sparsePaths` | git sparse-checkout を通じて各 worktree でチェックアウトするディレクトリ。リストされたパスのみがディスクに書き込まれます。大規模なモノレポではより高速です | `["packages/my-app", "shared/utils"]` |

272| `worktree.bgIsolation` | {/* min-version: 2.1.143 */}[バックグラウンドセッション](/ja/agent-view#how-file-edits-are-isolated)の分離モード。`"worktree"`(デフォルト)は `EnterWorktree` が呼び出されるまでメインチェックアウトで `Edit`/`Write` をブロックします。`"none"` はバックグラウンドジョブがワーキングコピーを直接編集できるようにします。Claude Code v2.1.143 以降が必要です | `"none"` |307| `worktree.bgIsolation` | {/* min-version: 2.1.143 */}[バックグラウンドセッション](/ja/agent-view#how-file-edits-are-isolated)の分離モード。`"worktree"`(デフォルト)は `EnterWorktree` が呼び出されるまでメインチェックアウトで `Edit`/`Write` をブロックします。`"none"` はバックグラウンドジョブがワーキングコピーを直接編集できるようにします。Claude Code v2.1.143 以降が必要です | `"none"` |

273 308 

274gitignored ファイル(`.env` など)を新しい worktrees にコピーするには、設定の代わりにプロジェクトルートの [`.worktreeinclude` ファイル](/ja/worktrees#copy-gitignored-files-into-worktrees)を使用します。309gitignored ファイル(`.env` など)を新しい worktrees にコピーするには、設定の代わりにプロジェクトルートの [`.worktreeinclude` ファイル](/ja/worktrees#copy-gitignored-files-into-worktrees)を使用します。

275 310 

276### 権限設定311<h3 id="permission-settings">

312 権限設定

313</h3>

277 314 

278| キー | 説明 | 例 |315| キー | 説明 | 例 |

279| :---------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |316| :---------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |


285| `disableBypassPermissionsMode` | `"disable"` に設定して `bypassPermissions` モードの有効化を防止します。これにより `--dangerously-skip-permissions` フラグが無効になります。通常は [managed 設定](/ja/permissions#managed-settings)に配置されます。ユーザーはこれをオーバーライドできません | `"disable"` |322| `disableBypassPermissionsMode` | `"disable"` に設定して `bypassPermissions` モードの有効化を防止します。これにより `--dangerously-skip-permissions` フラグが無効になります。通常は [managed 設定](/ja/permissions#managed-settings)に配置されます。ユーザーはこれをオーバーライドできません | `"disable"` |

286| `skipDangerousModePermissionPrompt` | `--dangerously-skip-permissions` または `defaultMode: "bypassPermissions"` を通じてバイパス権限モードに入る前に表示される確認プロンプトをスキップします。信頼されていないリポジトリがプロンプトを自動バイパスするのを防ぐため、プロジェクト設定(`.claude/settings.json`)で設定されている場合は無視されます | `true` |323| `skipDangerousModePermissionPrompt` | `--dangerously-skip-permissions` または `defaultMode: "bypassPermissions"` を通じてバイパス権限モードに入る前に表示される確認プロンプトをスキップします。信頼されていないリポジトリがプロンプトを自動バイパスするのを防ぐため、プロジェクト設定(`.claude/settings.json`)で設定されている場合は無視されます | `true` |

287 324 

288### 権限ルール構文325<h3 id="permission-rule-syntax">

326 権限ルール構文

327</h3>

289 328 

290権限ルールは `Tool` または `Tool(specifier)` の形式に従います。ルールは順序で評価されます:最初に拒否ルール、次に ask、次に allow。最初に一致するルールが優先されます。329権限ルールは `Tool` または `Tool(specifier)` の形式に従います。ルールは順序で評価されます:最初に拒否ルール、次に ask、次に allow。最初に一致するルールが優先されます。

291 330 


300 339 

301ワイルドカード動作、Read、Edit、WebFetch、MCP、および Agent ルール用のツール固有パターン、および Bash パターンのセキュリティ制限を含む完全なルール構文リファレンスについては、[権限ルール構文](/ja/permissions#permission-rule-syntax)を参照してください。340ワイルドカード動作、Read、Edit、WebFetch、MCP、および Agent ルール用のツール固有パターン、および Bash パターンのセキュリティ制限を含む完全なルール構文リファレンスについては、[権限ルール構文](/ja/permissions#permission-rule-syntax)を参照してください。

302 341 

303### サンドボックス設定342<h3 id="sandbox-settings">

343 サンドボックス設定

344</h3>

304 345 

305高度なサンドボックス動作を構成します。サンドボックスは bash コマンドをファイルシステムとネットワークから分離します。詳細については [サンドボックス](/ja/sandboxing)を参照してください。346高度なサンドボックス動作を構成します。サンドボックスは bash コマンドをファイルシステムとネットワークから分離します。詳細については [サンドボックス](/ja/sandboxing)を参照してください。

306 347 


330| `bwrapPath` | (Managed 設定のみ、Linux/WSL2)bubblewrap(`bwrap`)バイナリへの絶対パス。`PATH` を通じた自動検出をオーバーライドします。[managed 設定](/ja/settings#settings-precedence)からのみ尊重され、ユーザーまたはプロジェクト設定からは尊重されません。managed 環境で `bwrap` が非標準の場所にインストールされている場合に役立ちます。 | `/opt/admin/bwrap` |371| `bwrapPath` | (Managed 設定のみ、Linux/WSL2)bubblewrap(`bwrap`)バイナリへの絶対パス。`PATH` を通じた自動検出をオーバーライドします。[managed 設定](/ja/settings#settings-precedence)からのみ尊重され、ユーザーまたはプロジェクト設定からは尊重されません。managed 環境で `bwrap` が非標準の場所にインストールされている場合に役立ちます。 | `/opt/admin/bwrap` |

331| `socatPath` | (Managed 設定のみ、Linux/WSL2)サンドボックスネットワークプロキシに使用される `socat` バイナリへの絶対パス。`PATH` を通じた自動検出をオーバーライドします。managed 設定からのみ尊重されます。 | `/opt/admin/socat` |372| `socatPath` | (Managed 設定のみ、Linux/WSL2)サンドボックスネットワークプロキシに使用される `socat` バイナリへの絶対パス。`PATH` を通じた自動検出をオーバーライドします。managed 設定からのみ尊重されます。 | `/opt/admin/socat` |

332 373 

333#### サンドボックスパスプレフィックス374<h4 id="sandbox-path-prefixes">

375 サンドボックスパスプレフィックス

376</h4>

334 377 

335`filesystem.allowWrite`、`filesystem.denyWrite`、`filesystem.denyRead`、および `filesystem.allowRead` のパスは、これらのプレフィックスをサポートしています:378`filesystem.allowWrite`、`filesystem.denyWrite`、`filesystem.denyRead`、および `filesystem.allowRead` のパスは、これらのプレフィックスをサポートしています:

336 379 


371* **`sandbox.filesystem` 設定**(上記):OS レベルのサンドボックス境界でパスを制御します。これらの制限は、Claude のファイルツールだけでなく、すべてのサブプロセスコマンド(例:`kubectl`、`terraform`、`npm`)に適用されます。414* **`sandbox.filesystem` 設定**(上記):OS レベルのサンドボックス境界でパスを制御します。これらの制限は、Claude のファイルツールだけでなく、すべてのサブプロセスコマンド(例:`kubectl`、`terraform`、`npm`)に適用されます。

372* **権限ルール**:`Edit` allow/deny ルールを使用して Claude のファイルツールアクセスを制御し、`Read` deny ルールを使用して読み取りをブロックし、`WebFetch` allow/deny ルールを使用してネットワークドメインを制御します。これらのルールからのパスもサンドボックス構成にマージされます。415* **権限ルール**:`Edit` allow/deny ルールを使用して Claude のファイルツールアクセスを制御し、`Read` deny ルールを使用して読み取りをブロックし、`WebFetch` allow/deny ルールを使用してネットワークドメインを制御します。これらのルールからのパスもサンドボックス構成にマージされます。

373 416 

374### 属性設定417<h3 id="attribution-settings">

418 属性設定

419</h3>

375 420 

376Claude Code は git コミットとプルリクエストに属性を追加します。これらは個別に構成されます:421Claude Code は git コミットとプルリクエストに属性を追加します。これらは個別に構成されます:

377 422 


412 `attribution` 設定は非推奨の `includeCoAuthoredBy` 設定よりも優先されます。すべての属性を非表示にするには、`commit` と `pr` を空の文字列に設定します。457 `attribution` 設定は非推奨の `includeCoAuthoredBy` 設定よりも優先されます。すべての属性を非表示にするには、`commit` と `pr` を空の文字列に設定します。

413</Note>458</Note>

414 459 

415### ファイル提案設定460<h3 id="file-suggestion-settings">

461 ファイル提案設定

462</h3>

416 463 

417`@` ファイルパスオートコンプリート用のカスタムコマンドを構成します。組み込みファイル提案は高速ファイルシステムトラバーサルを使用しますが、大規模なモノレポは事前構築されたファイルインデックスやカスタムツールなどのプロジェクト固有のインデックスから利益を得る可能性があります。464`@` ファイルパスオートコンプリート用のカスタムコマンドを構成します。組み込みファイル提案は高速ファイルシステムトラバーサルを使用しますが、大規模なモノレポは事前構築されたファイルインデックスやカスタムツールなどのプロジェクト固有のインデックスから利益を得る可能性があります。

418 465 


447your-repo-file-index --query "$query" | head -20494your-repo-file-index --query "$query" | head -20

448```495```

449 496 

450### Hook 構成497<h3 id="hook-configuration">

498 Hook 構成

499</h3>

451 500 

452これらの設定は、どの hooks が実行を許可されるか、および HTTP hooks がアクセスできるものを制御します。`allowManagedHooksOnly` 設定は [managed 設定](#settings-files)でのみ構成できます。URL と環境変数ホワイトリストは任意の設定レベルで設定でき、ソース全体でマージされます。501これらの設定は、どの hooks が実行を許可されるか、および HTTP hooks がアクセスできるものを制御します。`allowManagedHooksOnly` 設定は [managed 設定](#settings-files)でのみ構成できます。URL と環境変数ホワイトリストは任意の設定レベルで設定でき、ソース全体でマージされます。

453 502 


477}526}

478```527```

479 528 

480### ポリシーヘルパーで managed 設定を計算529<h3 id="compute-managed-settings-with-a-policy-helper">

530 ポリシーヘルパーで managed 設定を計算

531</h3>

481 532 

482`policyHelper` 設定は、起動時に managed 設定を動的に計算する実行可能ファイルを指しています。管理者は、静的ファイルの代わりに、デバイスの状態、ID、またはリモートサービスからポリシーを導出できます。MDM またはシステム `managed-settings.json` ファイルから構成します。Claude Code は、ユーザー設定、プロジェクト設定、HKCU レジストリハイブ、および [サーバー管理設定](/ja/server-managed-settings)を含む他のスコープに表示される `policyHelper` を無視します。533`policyHelper` 設定は、起動時に managed 設定を動的に計算する実行可能ファイルを指しています。管理者は、静的ファイルの代わりに、デバイスの状態、ID、またはリモートサービスからポリシーを導出できます。MDM またはシステム `managed-settings.json` ファイルから構成します。Claude Code は、ユーザー設定、プロジェクト設定、HKCU レジストリハイブ、および [サーバー管理設定](/ja/server-managed-settings)を含む他のスコープに表示される `policyHelper` を無視します。

483 534 


503 554 

504ヘルパーが `managedSettings` を出力すると、そのオブジェクトは実行のためにファイルベースの managed 設定を置き換えます。ヘルパーが起動時にゼロ以外で終了すると、Claude Code はエラーを出力し、起動を拒否します。そのため、停止復旧が必要なヘルパーは独自のキャッシュから提供し、`0` で終了する必要があります。555ヘルパーが `managedSettings` を出力すると、そのオブジェクトは実行のためにファイルベースの managed 設定を置き換えます。ヘルパーが起動時にゼロ以外で終了すると、Claude Code はエラーを出力し、起動を拒否します。そのため、停止復旧が必要なヘルパーは独自のキャッシュから提供し、`0` で終了する必要があります。

505 556 

506### 設定の優先度557<h3 id="settings-precedence">

558 設定の優先度

559</h3>

507 560 

508設定は優先度の順に適用されます。最高から最低:561設定は優先度の順に適用されます。最高から最低:

509 562 


511 * IT がサーバー配信、MDM 構成プロファイル、レジストリポリシー、または managed 設定ファイルを通じて展開するポリシー564 * IT がサーバー配信、MDM 構成プロファイル、レジストリポリシー、または managed 設定ファイルを通じて展開するポリシー

512 * コマンドラインの引数を含む他のレベルでオーバーライドできません565 * コマンドラインの引数を含む他のレベルでオーバーライドできません

513 * managed ティア内では、優先度は:サーバー管理 > MDM/OS レベルのポリシー > ファイルベース(`managed-settings.d/*.json` + `managed-settings.json`)> HKCU レジストリ(Windows のみ)です。1 つの managed ソースのみが使用されます。ソースはマージされません。ファイルベースティア内では、ドロップインファイルとベースファイルがマージされます。566 * managed ティア内では、優先度は:サーバー管理 > MDM/OS レベルのポリシー > ファイルベース(`managed-settings.d/*.json` + `managed-settings.json`)> HKCU レジストリ(Windows のみ)です。1 つの managed ソースのみが使用されます。ソースはマージされません。ファイルベースティア内では、ドロップインファイルとベースファイルがマージされます。

567 * Agent SDK または IDE 拡張機能などの埋め込みホストプロセスによってプログラム的に提供される managed 設定。デフォルトではこれは管理者デプロイ済みの managed ティアが存在する場合は無視されます。管理者は [`parentSettingsBehavior`](#available-settings) を `"merge"` に設定することでオプトインできます。埋め込み側の値はフィルタリングされるため、managed ポリシーを厳しくできますが、緩くすることはできません。

514 568 

5152. **コマンドラインの引数**5692. **コマンドラインの引数**

516 * 特定のセッションの一時的なオーバーライド。JSON は `--settings <file-or-json>` を通じて渡され、ファイルベース設定と同じルールを使用して他のレイヤーとマージされます:ここで設定されたキーはローカル、プロジェクト、またはユーザー設定の同じキーをオーバーライドし、キーを省略すると下位レイヤーの値が保持されます570 * 特定のセッションの一時的なオーバーライド。JSON は `--settings <file-or-json>` を通じて渡され、ファイルベース設定と同じルールを使用して他のレイヤーとマージされます:ここで設定されたキーはローカル、プロジェクト、またはユーザー設定の同じキーをオーバーライドし、キーを省略すると下位レイヤーの値が保持されます


532 **配列設定はスコープ全体でマージされます。** 同じ配列値の設定(`sandbox.filesystem.allowWrite` や `permissions.allow` など)が複数のスコープに表示される場合、配列は**連結および重複排除**され、置き換えられません。これは、低優先度のスコープが高優先度のスコープで設定されたエントリをオーバーライドすることなくエントリを追加でき、その逆も同様です。たとえば、managed 設定が `allowWrite` を `["/opt/company-tools"]` に設定し、ユーザーが `["~/.kube"]` を追加する場合、両方のパスが最終構成に含まれます。586 **配列設定はスコープ全体でマージされます。** 同じ配列値の設定(`sandbox.filesystem.allowWrite` や `permissions.allow` など)が複数のスコープに表示される場合、配列は**連結および重複排除**され、置き換えられません。これは、低優先度のスコープが高優先度のスコープで設定されたエントリをオーバーライドすることなくエントリを追加でき、その逆も同様です。たとえば、managed 設定が `allowWrite` を `["/opt/company-tools"]` に設定し、ユーザーが `["~/.kube"]` を追加する場合、両方のパスが最終構成に含まれます。

533</Note>587</Note>

534 588 

535### アクティブな設定を確認589<h3 id="verify-active-settings">

590 アクティブな設定を確認

591</h3>

536 592 

537Claude Code 内で `/status` を実行して、どの設定ソースがアクティブで、どこから来ているかを確認します。Status タブには、`Setting sources` 行が含まれており、Claude Code が現在のセッション用に読み込んだ各レイヤーをリストします。たとえば、`User settings` または `Project local settings` などです。[managed 設定](/ja/managed-settings)が有効な場合、エントリは配信チャネルを括弧内に表示します。たとえば、`Enterprise managed settings (remote)`、`(plist)`、`(HKLM)`、`(HKCU)`、または `(file)` などです。レイヤーは、そのソースが少なくとも 1 つのキーで読み込まれた場合にのみリストに表示されるため、空のリストは設定ソースが見つからなかったことを意味します。593Claude Code 内で `/status` を実行して、どの設定ソースがアクティブで、どこから来ているかを確認します。Status タブには、`Setting sources` 行が含まれており、Claude Code が現在のセッション用に読み込んだ各レイヤーをリストします。たとえば、`User settings` または `Project local settings` などです。[managed 設定](/ja/managed-settings)が有効な場合、エントリは配信チャネルを括弧内に表示します。たとえば、`Enterprise managed settings (remote)`、`(plist)`、`(HKLM)`、`(HKCU)`、または `(file)` などです。レイヤーは、そのソースが少なくとも 1 つのキーで読み込まれた場合にのみリストに表示されるため、空のリストは設定ソースが見つからなかったことを意味します。

538 594 

539`Setting sources` 行は、どのソースが読み込まれているかを確認します。各個別キーがどのレイヤーから供給されたかは表示されません。同じダイアログの Config タブは、テーマや詳細出力などの固定されたトグルセットのエディターであり、`settings.json` コンテンツのビューではありません。設定ファイルに無効な JSON や検証に失敗した値などのエラーが含まれている場合、`/status` は問題を報告して修正できるようにします。595`Setting sources` 行は、どのソースが読み込まれているかを確認します。各個別キーがどのレイヤーから供給されたかは表示されません。同じダイアログの Config タブは、テーマや詳細出力などの固定されたトグルセットのエディターであり、`settings.json` コンテンツのビューではありません。設定ファイルに無効な JSON や検証に失敗した値などのエラーが含まれている場合、`/status` は問題を報告して修正できるようにします。

540 596 

541### 構成システムの重要なポイント597<h3 id="key-points-about-the-configuration-system">

598 構成システムの重要なポイント

599</h3>

542 600 

543* **メモリファイル(`CLAUDE.md`)**:Claude が起動時に読み込む命令とコンテキストを含みます601* **メモリファイル(`CLAUDE.md`)**:Claude が起動時に読み込む命令とコンテキストを含みます

544* **設定ファイル(JSON)**:権限、環境変数、およびツール動作を構成します602* **設定ファイル(JSON)**:権限、環境変数、およびツール動作を構成します


547* **優先度**:高レベルの構成(Managed)が低レベルの構成(User/Project)をオーバーライドします605* **優先度**:高レベルの構成(Managed)が低レベルの構成(User/Project)をオーバーライドします

548* **継承**:設定はマージされ、より具体的な設定がより広い設定に追加またはオーバーライドされます606* **継承**:設定はマージされ、より具体的な設定がより広い設定に追加またはオーバーライドされます

549 607 

550### システムプロンプト608<h3 id="system-prompt">

609 システムプロンプト

610</h3>

551 611 

552Claude Code の内部システムプロンプトは公開されていません。カスタム命令を追加するには、`CLAUDE.md` ファイルまたは `--append-system-prompt` フラグを使用します。612Claude Code の内部システムプロンプトは公開されていません。カスタム命令を追加するには、`CLAUDE.md` ファイルまたは `--append-system-prompt` フラグを使用します。

553 613 

554### 機密ファイルを除外614<h3 id="excluding-sensitive-files">

615 機密ファイルを除外

616</h3>

555 617 

556API キー、シークレット、環境ファイルなどの機密情報を含むファイルへの Claude Code アクセスを防ぐには、`.claude/settings.json` ファイルの `permissions.deny` 設定を使用します:618API キー、シークレット、環境ファイルなどの機密情報を含むファイルへの Claude Code アクセスを防ぐには、`.claude/settings.json` ファイルの `permissions.deny` 設定を使用します:

557 619 


571 633 

572これは非推奨の `ignorePatterns` 構成に置き換わります。これらのパターンに一致するファイルはファイル検出と検索結果から除外され、これらのファイルの読み取り操作は拒否されます。634これは非推奨の `ignorePatterns` 構成に置き換わります。これらのパターンに一致するファイルはファイル検出と検索結果から除外され、これらのファイルの読み取り操作は拒否されます。

573 635 

574## Subagent 構成636<h2 id="subagent-configuration">

637 Subagent 構成

638</h2>

575 639 

576Claude Code は、ユーザーレベルとプロジェクトレベルの両方で構成できるカスタム AI subagents をサポートしています。これらの subagents は YAML frontmatter を含む Markdown ファイルとして保存されます:640Claude Code は、ユーザーレベルとプロジェクトレベルの両方で構成できるカスタム AI subagents をサポートしています。これらの subagents は YAML frontmatter を含む Markdown ファイルとして保存されます:

577 641 


580 644 

581Subagent ファイルは、カスタムプロンプトとツール権限を持つ特殊な AI アシスタントを定義します。[subagents ドキュメント](/ja/sub-agents)で subagents の作成と使用について詳しく学びます。645Subagent ファイルは、カスタムプロンプトとツール権限を持つ特殊な AI アシスタントを定義します。[subagents ドキュメント](/ja/sub-agents)で subagents の作成と使用について詳しく学びます。

582 646 

583## プラグイン構成647<h2 id="plugin-configuration">

648 プラグイン構成

649</h2>

584 650 

585Claude Code は、skills、agents、hooks、および MCP サーバーで機能を拡張できるプラグインシステムをサポートしています。プラグインはマーケットプレイスを通じて配布され、ユーザーレベルとリポジトリレベルの両方で構成できます。651Claude Code は、skills、agents、hooks、および MCP サーバーで機能を拡張できるプラグインシステムをサポートしています。プラグインはマーケットプレイスを通じて配布され、ユーザーレベルとリポジトリレベルの両方で構成できます。

586 652 

587### プラグイン設定653<h3 id="plugin-settings">

654 プラグイン設定

655</h3>

588 656 

589`settings.json` のプラグイン関連設定:657`settings.json` のプラグイン関連設定:

590 658 


606}674}

607```675```

608 676 

609#### `enabledPlugins`677<h4 id="enabledplugins">

678 `enabledPlugins`

679</h4>

610 680 

611どのプラグインが有効かを制御します。形式:`"plugin-name@marketplace-name": true/false`681どのプラグインが有効かを制御します。形式:`"plugin-name@marketplace-name": true/false`。任意のスコープにエントリがないプラグインは、その [`defaultEnabled`](/ja/plugins-reference#default-enablement) 値にフォールバックします。

612 682 

613**スコープ**:683**スコープ**:

614 684 


635}705}

636```706```

637 707 

638#### `extraKnownMarketplaces`708<h4 id="extraknownmarketplaces">

709 `extraKnownMarketplaces`

710</h4>

639 711 

640リポジトリで利用可能にする必要がある追加のマーケットプレイスを定義します。通常、リポジトリレベルの設定で使用され、チームメンバーが必要なプラグインソースにアクセスできることを確認します。712リポジトリで利用可能にする必要がある追加のマーケットプレイスを定義します。通常、リポジトリレベルの設定で使用され、チームメンバーが必要なプラグインソースにアクセスできることを確認します。

641 713 


675* `hostPattern`:マーケットプレイスホストに一致する正規表現パターン(`hostPattern` を使用)747* `hostPattern`:マーケットプレイスホストに一致する正規表現パターン(`hostPattern` を使用)

676* `settings`:ホストされたリポジトリなしで settings.json に直接宣言されたインラインマーケットプレイス(`name` と `plugins` を使用)748* `settings`:ホストされたリポジトリなしで settings.json に直接宣言されたインラインマーケットプレイス(`name` と `plugins` を使用)

677 749 

750`github` および `git` ソースの場合、`source` オブジェクト内(`repo` または `url` と並行して)に `"skipLfs": true` を設定して、Claude Code がマーケットプレイスリポジトリをクローンまたは更新するときに Git LFS ダウンロードをスキップします。LFS ポインターファイルはポインターのままで、コンテンツをダウンロードしません。リポジトリにプラグインコンテンツに関連しない大規模な LFS オブジェクトが含まれている場合に使用します。{/* min-version: 2.1.153 */}Claude Code v2.1.153 以降が必要です。

751 

678各マーケットプレイスエントリは、オプションの `autoUpdate` ブール値も受け入れます。`source` と並行して `"autoUpdate": true` を設定して、Claude Code がそのマーケットプレイスをリフレッシュし、起動時にインストール済みプラグインを更新するようにします。省略した場合、公式 Anthropic マーケットプレイスはデフォルトで `true` に設定され、その他すべてのマーケットプレイスはデフォルトで `false` に設定されます。[自動更新の構成](/ja/discover-plugins#configure-auto-updates)を参照してください。752各マーケットプレイスエントリは、オプションの `autoUpdate` ブール値も受け入れます。`source` と並行して `"autoUpdate": true` を設定して、Claude Code がそのマーケットプレイスをリフレッシュし、起動時にインストール済みプラグインを更新するようにします。省略した場合、公式 Anthropic マーケットプレイスはデフォルトで `true` に設定され、その他すべてのマーケットプレイスはデフォルトで `false` に設定されます。[自動更新の構成](/ja/discover-plugins#configure-auto-updates)を参照してください。

679 753 

680`source: 'settings'` を使用して、ホストされたマーケットプレイスリポジトリをセットアップせずに、小規模なプラグインセットをインラインで宣言します。ここにリストされているプラグインは、GitHub または npm などの外部ソースを参照する必要があります。各プラグインを `enabledPlugins` で個別に有効にする必要があります。754`source: 'settings'` を使用して、ホストされたマーケットプレイスリポジトリをセットアップせずに、小規模なプラグインセットをインラインで宣言します。ここにリストされているプラグインは、GitHub または npm などの外部ソースを参照する必要があります。各プラグインを `enabledPlugins` で個別に有効にする必要があります。


701}775}

702```776```

703 777 

704#### `strictKnownMarketplaces`778<h4 id="strictknownmarketplaces">

779 `strictKnownMarketplaces`

780</h4>

705 781 

706**Managed 設定のみ**:ユーザーが追加できるプラグインマーケットプレイスを制御します。この設定は [managed 設定](/ja/settings#settings-files)でのみ構成でき、管理者にマーケットプレイスソースに対する厳密な制御を提供します。782**Managed 設定のみ**:ユーザーが追加できるプラグインマーケットプレイスを制御します。この設定は [managed 設定](/ja/settings#settings-files)でのみ構成でき、管理者にマーケットプレイスソースに対する厳密な制御を提供します。

707 783 


950 1026 

951ユーザー向けドキュメントについては、[Managed マーケットプレイス制限](/ja/plugin-marketplaces#managed-marketplace-restrictions)を参照してください。1027ユーザー向けドキュメントについては、[Managed マーケットプレイス制限](/ja/plugin-marketplaces#managed-marketplace-restrictions)を参照してください。

952 1028 

953### プラグインの管理1029<h4 id="strictpluginonlycustomization">

1030 `strictPluginOnlyCustomization`

1031</h4>

1032 

1033**Managed 設定のみ**:skills、agents、hooks、および MCP サーバーをユーザーおよびプロジェクトソースからブロックするため、プラグインまたは managed 設定からのみ取得できます。`strictKnownMarketplaces` と組み合わせて、カスタマイズサプライチェーン全体を制御します:マーケットプレイスホワイトリストはユーザーがインストールできるプラグインを制御し、この設定はプラグインまたは managed 設定から来ていないすべてをブロックします。

1034 

1035<Note>

1036 `strictPluginOnlyCustomization` には Claude Code v2.1.82 以降が必要です。以前のバージョンはキーを無視し、ユーザーおよびプロジェクトのカスタマイズを読み込み続けるため、クライアントが更新されるまでロックダウンは強制されません。

1037</Note>

1038 

1039値は、すべての 4 つのサーフェスをロックするための `true`、またはロックするサーフェスを名前付けする配列です:

1040 

1041```json theme={null}

1042{

1043 "strictPluginOnlyCustomization": ["skills", "hooks"]

1044}

1045```

1046 

1047ロックされた各サーフェスについて、Claude Code はユーザーレベルおよびプロジェクトレベルのソースをスキップし、プラグイン提供および managed ソースのみを読み込みます:

1048 

1049| サーフェス | ロック時にブロック | 引き続き読み込み |

1050| :------- | :------------------------------------------- | :-------------------------------------------------------- |

1051| `skills` | `~/.claude/skills/`、`.claude/skills/` | プラグイン skills、バンドルされた skills、managed ポリシーディレクトリ内の skills |

1052| `agents` | `~/.claude/agents/`、`.claude/agents/` | プラグイン agents、組み込み agents、managed ポリシーディレクトリ内の agents |

1053| `hooks` | ユーザー、プロジェクト、およびローカル `settings.json` 内の Hooks | プラグイン hooks、managed 設定内の hooks |

1054| `mcp` | `~/.claude.json` および `.mcp.json` 内のサーバー | プラグイン MCP サーバー、[`managed-mcp.json`](/ja/managed-mcp) サーバー |

1055 

1056Claude Code バージョンが認識しないサーフェス名は、設定ファイルが失敗するのではなく無視されるため、すべてのクライアントが更新される前に新しいサーフェス名を追加できます。

1057 

1058<h3 id="managing-plugins">

1059 プラグインの管理

1060</h3>

954 1061 

955`/plugin` コマンドを使用してプラグインを対話的に管理します:1062`/plugin` コマンドを使用してプラグインを対話的に管理します:

956 1063 


962 1069 

963[プラグインドキュメント](/ja/plugins)でプラグインシステムについて詳しく学びます。1070[プラグインドキュメント](/ja/plugins)でプラグインシステムについて詳しく学びます。

964 1071 

965## 環境変数1072<h2 id="environment-variables">

1073 環境変数

1074</h2>

966 1075 

967環境変数を使用すると、設定ファイルを編集することなく Claude Code の動作を制御できます。任意の変数は、すべてのセッションに適用するか、チームにロールアウトするために [`settings.json`](#available-settings) の `env` キーで構成することもできます。1076環境変数を使用すると、設定ファイルを編集することなく Claude Code の動作を制御できます。任意の変数は、すべてのセッションに適用するか、チームにロールアウトするために [`settings.json`](#available-settings) の `env` キーで構成することもできます。

968 1077 

969完全なリストについては、[環境変数リファレンス](/ja/env-vars)を参照してください。1078完全なリストについては、[環境変数リファレンス](/ja/env-vars)を参照してください。

970 1079 

971## Claude が利用できるツール1080<h2 id="tools-available-to-claude">

1081 Claude が利用できるツール

1082</h2>

972 1083 

973Claude Code は、ファイルの読み取り、編集、検索、コマンド実行、および subagents のオーケストレーション用のツールセットにアクセスできます。ツール名は、権限ルールと hook マッチャーで使用する正確な文字列です。1084Claude Code は、ファイルの読み取り、編集、検索、コマンド実行、および subagents のオーケストレーション用のツールセットにアクセスできます。ツール名は、権限ルールと hook マッチャーで使用する正確な文字列です。

974 1085 

975完全なリストと Bash ツール動作の詳細については、[ツールリファレンス](/ja/tools-reference)を参照してください。1086完全なリストと Bash ツール動作の詳細については、[ツールリファレンス](/ja/tools-reference)を参照してください。

976 1087 

977## 関連項目1088<h2 id="see-also">

1089 関連項目

1090</h2>

978 1091 

979* [権限](/ja/permissions):権限システム、ルール構文、ツール固有パターン、および managed ポリシー1092* [権限](/ja/permissions):権限システム、ルール構文、ツール固有パターン、および managed ポリシー

980* [認証](/ja/authentication):Claude Code へのユーザーアクセスをセットアップ1093* [認証](/ja/authentication):Claude Code へのユーザーアクセスをセットアップ

setup.md +100 −39

Details

8 8 

9このページでは、システム要件、プラットフォーム固有のインストール詳細、更新、およびアンインストールについて説明します。初回セッションのガイド付きウォークスルーについては、[クイックスタート](/ja/quickstart)を参照してください。ターミナルを使用したことがない場合は、[ターミナルガイド](/ja/terminal-guide)を参照してください。9このページでは、システム要件、プラットフォーム固有のインストール詳細、更新、およびアンインストールについて説明します。初回セッションのガイド付きウォークスルーについては、[クイックスタート](/ja/quickstart)を参照してください。ターミナルを使用したことがない場合は、[ターミナルガイド](/ja/terminal-guide)を参照してください。

10 10 

11## システム要件11<h2 id="system-requirements">

12 システム要件

13</h2>

12 14 

13Claude Code は以下のプラットフォームと構成で実行されます。15Claude Code は以下のプラットフォームと構成で実行されます。

14 16 


20 * Alpine Linux 3.19 以上22 * Alpine Linux 3.19 以上

21* **ハードウェア**: 4 GB 以上の RAM、x64 または ARM64 プロセッサ23* **ハードウェア**: 4 GB 以上の RAM、x64 または ARM64 プロセッサ

22* **ネットワーク**: インターネット接続が必要です。[ネットワーク構成](/ja/network-config#network-access-requirements)を参照してください。24* **ネットワーク**: インターネット接続が必要です。[ネットワーク構成](/ja/network-config#network-access-requirements)を参照してください。

23* **シェル**: Bash、Zsh、PowerShell、または CMD。Windows ネイティブセットアップには [Git for Windows](https://git-scm.com/downloads/win) が Git Bash に必要です。WSL セットアップは Git for Windows を必要としません。25* **シェル**: Bash、Zsh、PowerShell、または CMD。

24* **場所**: [Anthropic サポート対象国](https://www.anthropic.com/supported-countries)26* **場所**: [Anthropic サポート対象国](https://www.anthropic.com/supported-countries)

25 27 

26### 追加の依存関係28<h3 id="additional-dependencies">

29 追加の依存関係

30</h3>

27 31 

28* **ripgrep**: 通常は Claude Code に含まれています。検索が失敗する場合は、[検索トラブルシューティング](/ja/troubleshooting#search-and-discovery-issues)を参照してください。32* **ripgrep**: 通常は Claude Code に含まれています。検索が失敗する場合は、[検索トラブルシューティング](/ja/troubleshooting#search-and-discovery-issues)を参照してください。

29 33 

30## Claude Code をインストール34<h2 id="install-claude-code">

35 Claude Code をインストール

36</h2>

31 37 

32<Tip>38<Tip>

33 グラフィカルインターフェースをお好みですか?[Desktop app](/ja/desktop-quickstart)を使用すると、ターミナルなしで Claude Code を使用できます。[macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)または[Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs)でダウンロードしてください。39 グラフィカルインターフェースをお好みですか?[Desktop app](/ja/desktop-quickstart)を使用すると、ターミナルなしで Claude Code を使用できます。[macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)または[Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs)でダウンロードしてください。


99 105 

100インストール中に問題が発生した場合は、[インストールとログインのトラブルシューティング](/ja/troubleshoot-install)を参照してください。106インストール中に問題が発生した場合は、[インストールとログインのトラブルシューティング](/ja/troubleshoot-install)を参照してください。

101 107 

102### Windows でのセットアップ108<h3 id="set-up-on-windows">

109 Windows でのセットアップ

110</h3>

103 111 

104Claude Code をネイティブに Windows で実行することも、WSL 内で実行することもできます。プロジェクトの場所と必要な機能に基づいて選択してください。112Claude Code をネイティブに Windows で実行することも、WSL 内で実行することもできます。プロジェクトの場所と必要な機能に基づいて選択してください。

105 113 

106| オプション | 必須 | [サンドボックス](/ja/sandboxing) | 使用時期 |114| オプション | 必須 | [サンドボックス](/ja/sandboxing) | 使用時期 |

107| ------------- | ---------------------------------------------------------------------------- | ------------------------- | --------------------------------- |115| ------------- | ------------------------------------------------------------- | ------------------------- | --------------------------------- |

108| ネイティブ Windows | [Git for Windows](https://git-scm.com/downloads/win)推奨;不在の場合は PowerShell を使用 | サポートされていません | Windows ネイティブプロジェクトとツール |116| ネイティブ Windows | なし;[Git for Windows](https://git-scm.com/downloads/win)はオプション | サポートされていません | Windows ネイティブプロジェクトとツール |

109| WSL 2 | WSL 2 有効 | サポートされています | Linux ツールチェーンまたはサンドボックス化されたコマンド実行 |117| WSL 2 | WSL 2 有効 | サポートされています | Linux ツールチェーンまたはサンドボックス化されたコマンド実行 |

110| WSL 1 | WSL 1 有効 | サポートされていません | WSL 2 が利用できない場合 |118| WSL 1 | WSL 1 有効 | サポートされていません | WSL 2 が利用できない場合 |

111 119 

112**オプション 1: Git Bash を使用したネイティブ Windows**120**オプション 1: ネイティブ Windows**

113 121 

114[Git for Windows](https://git-scm.com/downloads/win)をインストールしてから、PowerShell または CMD からインストールコマンドを実行します。管理者として実行する必要はありません122PowerShell または CMD からインストールコマンドを実行します。管理者として実行する必要はありません。[Git for Windows](https://git-scm.com/downloads/win)をインストールすることはオプションです。これにより Git Bash が提供され、[Bash ツール](/ja/tools-reference#bash-tool-behavior)が有効になります

115 123 

116PowerShell または CMD からインストールするかどうかは、実行するインストールコマンドにのみ影響します。プロンプトは PowerShell では `PS C:\Users\YourName>` と表示され、CMD では `PS` なしで `C:\Users\YourName>` と表示されます。ターミナルが初めての場合は、[ターミナルガイド](/ja/terminal-guide#windows)で各ステップを説明しています。124PowerShell または CMD からインストールするかどうかは、実行するインストールコマンドにのみ影響します。プロンプトは PowerShell では `PS C:\Users\YourName>` と表示され、CMD では `PS` なしで `C:\Users\YourName>` と表示されます。ターミナルが初めての場合は、[ターミナルガイド](/ja/terminal-guide#windows)で各ステップを説明しています。

117 125 

118インストール後、PowerShell、CMD、または Git Bash から `claude` を起動します。Git Bash がインストールされている場合、Claude Code は起動元に関係なく、内部的に Git Bash を使用してコマンドを実行します。Claude Code が Git Bash インストールを見つけられない場合は、[settings.json ファイル](/ja/settings)でパスを設定します。126インストール後、任意のターミナルから `claude` を起動します。

119 127 

120```json theme={null}128* **Git for Windows がない場合**、Claude Code は[PowerShell ツール](/ja/tools-reference#powershell-tool)経由でシェルコマンドを実行します。

121{129* **Git for Windows がある場合**、Claude Code は[Bash ツール](/ja/tools-reference#bash-tool-behavior)に Git Bash を使用します。Claude Code が Git Bash を見つけられない場合は、[settings.json ファイル](/ja/settings)でパスを設定します。

130 

131 ```json theme={null}

132 {

122 "env": {133 "env": {

123 "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"134 "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"

124 }135 }

125}136 }

126```137 ```

127 138 

128Claude Code Windows でネイティブに PowerShell を実行することもできます。Git Bash がインストールされている場合、PowerShell ツールは追加オプションとして段階的にロールアウトされています。オプトインするには `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` を設定するか、オプトアウトするには `0` を設定します。セットアップと制限については、[PowerShell ツール](/ja/tools-reference#powershell-tool)を参照してください。139Git for Windows がインストールされている場合、PowerShell ツールは Bash と並行して追加オプションとして段階的にロールアウトされています。オプトインするには `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` を設定するか、オプトアウトするには `0` を設定します。セットアップと制限については、[PowerShell ツール](/ja/tools-reference#powershell-tool)を参照してください。

129 140 

130**オプション 2: WSL**141**オプション 2: WSL**

131 142 

132WSL ディストリビューションを開き、上記の[インストール手順](#install-claude-code)から Linux インストーラーを実行します。PowerShell または CMD からではなく、WSL ターミナル内で `claude` をインストールして起動します。143WSL ディストリビューションを開き、上記の[インストール手順](#install-claude-code)から Linux インストーラーを実行します。PowerShell または CMD からではなく、WSL ターミナル内で `claude` をインストールして起動します。

133 144 

134### Alpine Linux と musl ベースのディストリビューション145<h3 id="alpine-linux-and-musl-based-distributions">

146 Alpine Linux と musl ベースのディストリビューション

147</h3>

135 148 

136Alpine およびその他の musl/uClibc ベースのディストリビューション上のネイティブインストーラーには、`libgcc`、`libstdc++`、および `ripgrep` が必要です。ディストリビューションのパッケージマネージャーを使用してこれらをインストールしてから、`USE_BUILTIN_RIPGREP=0` を設定します。149Alpine およびその他の musl/uClibc ベースのディストリビューション上のネイティブインストーラーには、`libgcc`、`libstdc++`、および `ripgrep` が必要です。ディストリビューションのパッケージマネージャーを使用してこれらをインストールしてから、`USE_BUILTIN_RIPGREP=0` を設定します。

137 150 


151}164}

152```165```

153 166 

154## インストールを確認167<h2 id="verify-your-installation">

168 インストールを確認

169</h2>

155 170 

156インストール後、Claude Code が機能していることを確認します。171インストール後、Claude Code が機能していることを確認します。

157 172 


167claude doctor182claude doctor

168```183```

169 184 

170## 認証185<h2 id="authenticate">

186 認証

187</h2>

171 188 

172Claude Code には、Pro、Max、Team、Enterprise、または Console アカウントが必要です。無料の Claude.ai プランには Claude Code アクセスは含まれていません。[Amazon Bedrock](/ja/amazon-bedrock)、[Google Vertex AI](/ja/google-vertex-ai)、または[Microsoft Foundry](/ja/microsoft-foundry)などのサードパーティ API プロバイダーで Claude Code を使用することもできます。189Claude Code には、Pro、Max、Team、Enterprise、または Console アカウントが必要です。無料の Claude.ai プランには Claude Code アクセスは含まれていません。[Amazon Bedrock](/ja/amazon-bedrock)、[Google Vertex AI](/ja/google-vertex-ai)、または[Microsoft Foundry](/ja/microsoft-foundry)などのサードパーティ API プロバイダーで Claude Code を使用することもできます。

173 190 

174インストール後、`claude` を実行してブラウザーのプロンプトに従ってログインします。すべてのアカウントタイプとチームセットアップオプションについては、[認証](/ja/authentication)を参照してください。191インストール後、`claude` を実行してブラウザーのプロンプトに従ってログインします。すべてのアカウントタイプとチームセットアップオプションについては、[認証](/ja/authentication)を参照してください。

175 192 

176## Claude Code を更新193<h2 id="update-claude-code">

194 Claude Code を更新

195</h2>

177 196 

178ネイティブインストールは自動的にバックグラウンドで更新されます。[リリースチャネルを構成](#configure-release-channel)して、更新をすぐに受け取るか遅延安定スケジュールで受け取るかを制御することも、[自動更新を完全に無効にする](#disable-auto-updates)こともできます。Homebrew、WinGet、および[Linux パッケージマネージャー](#install-with-linux-package-managers)インストールは手動更新が必要です。197ネイティブインストールは自動的にバックグラウンドで更新されます。[リリースチャネルを構成](#configure-release-channel)して、更新をすぐに受け取るか遅延安定スケジュールで受け取るかを制御することも、[自動更新を完全に無効にする](#disable-auto-updates)こともできます。Homebrew、WinGet、および[Linux パッケージマネージャー](#install-with-linux-package-managers)インストールは手動更新が必要です。

179 198 

180### 自動更新199<h3 id="auto-updates">

200 自動更新

201</h3>

181 202 

182Claude Code は起動時と実行中に定期的に更新をチェックします。更新はバックグラウンドでダウンロードおよびインストールされ、次に Claude Code を起動するときに有効になります。203Claude Code は起動時と実行中に定期的に更新をチェックします。更新はバックグラウンドでダウンロードおよびインストールされ、次に Claude Code を起動するときに有効になります。

183 204 

205`claude doctor` を実行して、最新の更新試行の結果を確認します。

206 

207npm グローバルインストールが npm グローバルディレクトリが書き込み可能でないため自動更新できない場合、Claude Code は起動時に 1 回限りの通知を表示し、`claude doctor` は利用可能な修正を一覧表示します。詳細については、[インストール中の権限エラー](/ja/troubleshoot-install#permission-errors-during-installation)を参照してください。

208 

184<Note>209<Note>

185 Homebrew、WinGet、apt、dnf、および apk インストールは自動更新されません。Homebrew の場合は、`brew upgrade claude-code` または `brew upgrade claude-code@latest` を実行します(インストールした cask によって異なります)。WinGet の場合は、`winget upgrade Anthropic.ClaudeCode` を実行します。Linux パッケージマネージャーの場合は、[Linux パッケージマネージャーでインストール](#install-with-linux-package-managers)のアップグレードコマンドを参照してください。210 Homebrew、WinGet、apt、dnf、および apk インストールはデフォルトでは自動更新されません。Homebrew と WinGet でオプトインするには以下を参照してください。Homebrew を手動でアップグレードするには、`brew upgrade claude-code` または `brew upgrade claude-code@latest` を実行します(インストールした cask によって異なります)。WinGet の場合は、`winget upgrade Anthropic.ClaudeCode` を実行します。Linux パッケージマネージャーの場合は、[Linux パッケージマネージャーでインストール](#install-with-linux-package-managers)のアップグレードコマンドを参照してください。

186 211 

187 Claude Code が Homebrew または WinGet で自動的にアップグレードコマンドを実行するようにするには、[`CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE`](/ja/env-vars)を `1` に設定します。Claude Code は新しいバージョンが利用可能な場合、バックグラウンドでアップグレードを実行し、成功時に再起動プロンプトを表示します。アップグレードは Claude Code パッケージのみを対象とし、インストール済みの他のソフトウェアには影響しません。212 Claude Code が Homebrew または WinGet で自動的にアップグレードコマンドを実行するようにするには、[`CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE`](/ja/env-vars)を `1` に設定します。Claude Code は新しいバージョンが利用可能な場合、バックグラウンドでアップグレードを実行し、成功時に再起動プロンプトを表示します。アップグレードは Claude Code パッケージのみを対象とし、インストール済みの他のソフトウェアには影響しません。

188 213 


193 Homebrew はアップグレード後、古いバージョンをディスク上に保持します。`brew cleanup` を定期的に実行してディスク容量を回収します。218 Homebrew はアップグレード後、古いバージョンをディスク上に保持します。`brew cleanup` を定期的に実行してディスク容量を回収します。

194</Note>219</Note>

195 220 

196### リリースチャネルを構成221<h3 id="configure-release-channel">

222 リリースチャネルを構成

223</h3>

197 224 

198`autoUpdatesChannel` 設定を使用して、Claude Code が自動更新と `claude update` に従うリリースチャネルを制御します。225`autoUpdatesChannel` 設定を使用して、Claude Code が自動更新と `claude update` に従うリリースチャネルを制御します。

199 226 


212 239 

213Homebrew インストールは、この設定ではなく cask 名でチャネルを選択します。`claude-code` は安定版を追跡し、`claude-code@latest` は最新版を追跡します。240Homebrew インストールは、この設定ではなく cask 名でチャネルを選択します。`claude-code` は安定版を追跡し、`claude-code@latest` は最新版を追跡します。

214 241 

215### 最小バージョンをピン留め242<h3 id="pin-a-minimum-version">

243 最小バージョンをピン留め

244</h3>

216 245 

217`minimumVersion` 設定は下限を確立します。バックグラウンド自動更新と `claude update` は、この値より下のバージョンのインストールを拒否するため、`"stable"` チャネルに移動しても、既に新しい `"latest"` ビルドを使用している場合はダウングレードされません。246`minimumVersion` 設定は下限を確立します。バックグラウンド自動更新と `claude update` は、この値より下のバージョンのインストールを拒否するため、`"stable"` チャネルに移動しても、既に新しい `"latest"` ビルドを使用している場合はダウングレードされません。

218 247 


229 258 

230[管理設定](/ja/permissions#managed-settings)では、これはユーザーおよびプロジェクト設定がオーバーライドできない組織全体の最小値を適用します。259[管理設定](/ja/permissions#managed-settings)では、これはユーザーおよびプロジェクト設定がオーバーライドできない組織全体の最小値を適用します。

231 260 

232### 自動更新を無効にする261<h3 id="disable-auto-updates">

262 自動更新を無効にする

263</h3>

233 264 

234[`settings.json`](/ja/settings#available-settings)ファイルの `env` キーで `DISABLE_AUTOUPDATER` を `"1"` に設定します。265[`settings.json`](/ja/settings#available-settings)ファイルの `env` キーで `DISABLE_AUTOUPDATER` を `"1"` に設定します。

235 266 


243 274 

244`DISABLE_AUTOUPDATER` はバックグラウンドチェックのみを停止します。`claude update` と `claude install` は引き続き機能します。手動更新を含むすべての更新パスをブロックするには、代わりに [`DISABLE_UPDATES`](/ja/env-vars)を設定します。独自のチャネルを通じて Claude Code を配布し、ユーザーが提供するバージョンに留まる必要がある場合に使用します。275`DISABLE_AUTOUPDATER` はバックグラウンドチェックのみを停止します。`claude update` と `claude install` は引き続き機能します。手動更新を含むすべての更新パスをブロックするには、代わりに [`DISABLE_UPDATES`](/ja/env-vars)を設定します。独自のチャネルを通じて Claude Code を配布し、ユーザーが提供するバージョンに留まる必要がある場合に使用します。

245 276 

246### 手動で更新277<h3 id="update-manually">

278 手動で更新

279</h3>

247 280 

248次のバックグラウンドチェックを待たずに更新をすぐに適用するには、以下を実行します。281次のバックグラウンドチェックを待たずに更新をすぐに適用するには、以下を実行します。

249 282 


251claude update284claude update

252```285```

253 286 

254## 高度なインストールオプション287<h2 id="advanced-installation-options">

288 高度なインストールオプション

289</h2>

255 290 

256これらのオプションは、バージョンピニング、Linux パッケージマネージャー、npm、およびバイナリ整合性の検証用です。291これらのオプションは、バージョンピニング、Linux パッケージマネージャー、npm、およびバイナリ整合性の検証用です。

257 292 

258### 特定のバージョンをインストール293<h3 id="install-a-specific-version">

294 特定のバージョンをインストール

295</h3>

259 296 

260ネイティブインストーラーは、特定のバージョン番号またはリリースチャネル(`latest` または `stable`)を受け入れます。インストール時に選択したチャネルが自動更新のデフォルトになります。詳細については、[リリースチャネルを構成](#configure-release-channel)を参照してください。297ネイティブインストーラーは、特定のバージョン番号またはリリースチャネル(`latest` または `stable`)を受け入れます。インストール時に選択したチャネルが自動更新のデフォルトになります。詳細については、[リリースチャネルを構成](#configure-release-channel)を参照してください。

261 298 


325 </Tab>362 </Tab>

326</Tabs>363</Tabs>

327 364 

328### Linux パッケージマネージャーでのインストール365<h3 id="install-with-linux-package-managers">

366 Linux パッケージマネージャーでのインストール

367</h3>

329 368 

330Claude Code は署名付き apt、dnf、および apk リポジトリを公開しています。ローリングチャネルの場合は `stable` を `latest` に置き換えてください。パッケージマネージャーのインストールは Claude Code を通じて自動更新されません。更新は通常のシステムアップグレードワークフローを通じて提供されます。369Claude Code は署名付き apt、dnf、および apk リポジトリを公開しています。ローリングチャネルの場合は `stable` を `latest` に置き換えてください。パッケージマネージャーのインストールは Claude Code を通じて自動更新されません。更新は通常のシステムアップグレードワークフローを通じて提供されます。

331 370 


386 </Tab>425 </Tab>

387</Tabs>426</Tabs>

388 427 

389### npm でのインストール428<h3 id="install-with-npm">

429 npm でのインストール

430</h3>

390 431 

391Claude Code をグローバル npm パッケージとしてインストールすることもできます。パッケージには [Node.js 18 以上](https://nodejs.org/en/download)が必要です。432Claude Code をグローバル npm パッケージとしてインストールすることもできます。パッケージには [Node.js 18 以上](https://nodejs.org/en/download)が必要です。

392 433 


404 `sudo npm install -g` を使用しないでください。これはアクセス許可の問題とセキュリティリスクにつながる可能性があります。アクセス許可エラーが発生した場合は、[トラブルシューティングアクセス許可エラー](/ja/troubleshoot-install#permission-errors-during-installation)を参照してください。445 `sudo npm install -g` を使用しないでください。これはアクセス許可の問題とセキュリティリスクにつながる可能性があります。アクセス許可エラーが発生した場合は、[トラブルシューティングアクセス許可エラー](/ja/troubleshoot-install#permission-errors-during-installation)を参照してください。

405</Warning>446</Warning>

406 447 

407### バイナリ整合性とコード署名448<h3 id="binary-integrity-and-code-signing">

449 バイナリ整合性とコード署名

450</h3>

408 451 

409各リリースは、すべてのプラットフォームバイナリの SHA256 チェックサムを含む `manifest.json` を公開します。マニフェストは Anthropic GPG キーで署名されているため、マニフェスト上の署名を検証することで、それが列挙するすべてのバイナリを推移的に検証します。452各リリースは、すべてのプラットフォームバイナリの SHA256 チェックサムを含む `manifest.json` を公開します。マニフェストは Anthropic GPG キーで署名されているため、マニフェスト上の署名を検証することで、それが列挙するすべてのバイナリを推移的に検証します。

410 453 

411#### マニフェスト署名を検証454<h4 id="verify-the-manifest-signature">

455 マニフェスト署名を検証

456</h4>

412 457 

413ステップ 1~3 には、`gpg` と `curl` を備えた POSIX シェルが必要です。Windows では、Git Bash または WSL で実行します。ステップ 4 には PowerShell オプションが含まれています。458ステップ 1~3 には、`gpg` と `curl` を備えた POSIX シェルが必要です。Windows では、Git Bash または WSL で実行します。ステップ 4 には PowerShell オプションが含まれています。

414 459 


485 マニフェスト署名は `2.1.89` 以降のリリースで利用可能です。以前のリリースは分離された署名なしで `manifest.json` にチェックサムを公開します。530 マニフェスト署名は `2.1.89` 以降のリリースで利用可能です。以前のリリースは分離された署名なしで `manifest.json` にチェックサムを公開します。

486</Note>531</Note>

487 532 

488#### プラットフォームコード署名533<h4 id="platform-code-signatures">

534 プラットフォームコード署名

535</h4>

489 536 

490署名付きマニフェストに加えて、個別のバイナリはサポートされている場所でプラットフォーム固有のコード署名を実行します。537署名付きマニフェストに加えて、個別のバイナリはサポートされている場所でプラットフォーム固有のコード署名を実行します。

491 538 


493* **Windows**: "Anthropic, PBC" によって署名されています。`Get-AuthenticodeSignature .\claude.exe` で検証します。540* **Windows**: "Anthropic, PBC" によって署名されています。`Get-AuthenticodeSignature .\claude.exe` で検証します。

494* **Linux**: バイナリは個別にコード署名されていません。`claude-code-releases` バケットから直接ダウンロードするか、ネイティブインストーラーを使用する場合は、上記のマニフェスト署名で整合性を検証します。[apt、dnf、または apk](#install-with-linux-package-managers) でインストールする場合、パッケージマネージャーはリポジトリ署名キーを使用して署名を自動的に検証します。541* **Linux**: バイナリは個別にコード署名されていません。`claude-code-releases` バケットから直接ダウンロードするか、ネイティブインストーラーを使用する場合は、上記のマニフェスト署名で整合性を検証します。[apt、dnf、または apk](#install-with-linux-package-managers) でインストールする場合、パッケージマネージャーはリポジトリ署名キーを使用して署名を自動的に検証します。

495 542 

496## Claude Code をアンインストール543<h2 id="uninstall-claude-code">

544 Claude Code をアンインストール

545</h2>

497 546 

498Claude Code を削除するには、インストール方法の指示に従ってください。アンインストール後も `claude` が実行される場合は、2 番目のインストールまたは古いインストーラーからの残存シェルエイリアスがある可能性があります。[競合するインストールを確認](/ja/troubleshoot-install#check-for-conflicting-installations)を参照して、それを見つけて削除してください。547Claude Code を削除するには、インストール方法の指示に従ってください。アンインストール後も `claude` が実行される場合は、2 番目のインストールまたは古いインストーラーからの残存シェルエイリアスがある可能性があります。[競合するインストールを確認](/ja/troubleshoot-install#check-for-conflicting-installations)を参照して、それを見つけて削除してください。

499 548 

500### ネイティブインストール549<h3 id="native-installation">

550 ネイティブインストール

551</h3>

501 552 

502Claude Code バイナリとバージョンファイルを削除します:553Claude Code バイナリとバージョンファイルを削除します:

503 554 


517 </Tab>568 </Tab>

518</Tabs>569</Tabs>

519 570 

520### Homebrew インストール571<h3 id="homebrew-installation">

572 Homebrew インストール

573</h3>

521 574 

522インストールした Homebrew cask を削除します。安定版 cask をインストールした場合:575インストールした Homebrew cask を削除します。安定版 cask をインストールした場合:

523 576 


531brew uninstall --cask claude-code@latest584brew uninstall --cask claude-code@latest

532```585```

533 586 

534### WinGet インストール587<h3 id="winget-installation">

588 WinGet インストール

589</h3>

535 590 

536WinGet パッケージを削除します:591WinGet パッケージを削除します:

537 592 


539winget uninstall Anthropic.ClaudeCode594winget uninstall Anthropic.ClaudeCode

540```595```

541 596 

542### apt / dnf / apk597<h3 id="apt-/-dnf-/-apk">

598 apt / dnf / apk

599</h3>

543 600 

544パッケージとリポジトリ構成を削除します:601パッケージとリポジトリ構成を削除します:

545 602 


567 </Tab>624 </Tab>

568</Tabs>625</Tabs>

569 626 

570### npm627<h3 id="npm">

628 npm

629</h3>

571 630 

572グローバル npm パッケージを削除します:631グローバル npm パッケージを削除します:

573 632 


575npm uninstall -g @anthropic-ai/claude-code634npm uninstall -g @anthropic-ai/claude-code

576```635```

577 636 

578### 構成ファイルを削除637<h3 id="remove-configuration-files">

638 構成ファイルを削除

639</h3>

579 640 

580<Warning>641<Warning>

581 構成ファイルを削除すると、すべての設定、許可されたツール、MCP サーバー構成、およびセッション履歴が削除されます。642 構成ファイルを削除すると、すべての設定、許可されたツール、MCP サーバー構成、およびセッション履歴が削除されます。

skills.md +139 −35

Details

11同じプレイブック、チェックリスト、または複数ステップの手順をチャットに何度も貼り付けるときや、CLAUDE.md のセクションが事実ではなく手順に成長したときにスキルを作成します。CLAUDE.md コンテンツとは異なり、スキルの本体は使用されるときにのみ読み込まれるため、長いリファレンス資料は必要になるまでほぼコストがかかりません。11同じプレイブック、チェックリスト、または複数ステップの手順をチャットに何度も貼り付けるときや、CLAUDE.md のセクションが事実ではなく手順に成長したときにスキルを作成します。CLAUDE.md コンテンツとは異なり、スキルの本体は使用されるときにのみ読み込まれるため、長いリファレンス資料は必要になるまでほぼコストがかかりません。

12 12 

13<Note>13<Note>

14 `/help` や `/compact` などの組み込みコマンド、および `/debug` や `/simplify` などのバンドルされたスキルについては、[コマンドリファレンス](/ja/commands)を参照してください。14 `/help` や `/compact` などの組み込みコマンド、および `/debug` や `/code-review` などのバンドルされたスキルについては、[コマンドリファレンス](/ja/commands)を参照してください。

15 15 

16 **カスタムコマンドはスキルにマージされました。** `.claude/commands/deploy.md` のファイルと `.claude/skills/deploy/SKILL.md` のスキルの両方が `/deploy` を作成し、同じように機能します。既存の `.claude/commands/` ファイルは引き続き機能します。スキルは追加機能を提供します。サポートファイル用のディレクトリ、[スキルを呼び出すユーザーを制御する](#control-who-invokes-a-skill)ためのフロントマター、および Claude が関連する場合に自動的にスキルを読み込む機能です。16 **カスタムコマンドはスキルにマージされました。** `.claude/commands/deploy.md` のファイルと `.claude/skills/deploy/SKILL.md` のスキルの両方が `/deploy` を作成し、同じように機能します。既存の `.claude/commands/` ファイルは引き続き機能します。スキルは追加機能を提供します。サポートファイル用のディレクトリ、[スキルを呼び出すユーザーを制御する](#control-who-invokes-a-skill)ためのフロントマター、および Claude が関連する場合に自動的にスキルを読み込む機能です。

17</Note>17</Note>

18 18 

19Claude Code スキルは [Agent Skills](https://agentskills.io) オープンスタンダードに従い、複数の AI ツール全体で機能します。Claude Code は [呼び出し制御](#control-who-invokes-a-skill)、[サブエージェント実行](#run-skills-in-a-subagent)、[動的コンテキスト注入](#inject-dynamic-context)などの追加機能でスタンダードを拡張します。19Claude Code スキルは [Agent Skills](https://agentskills.io) オープンスタンダードに従い、複数の AI ツール全体で機能します。Claude Code は [呼び出し制御](#control-who-invokes-a-skill)、[サブエージェント実行](#run-skills-in-a-subagent)、[動的コンテキスト注入](#inject-dynamic-context)などの追加機能でスタンダードを拡張します。

20 20 

21## バンドルされたスキル21<h2 id="bundled-skills">

22 バンドルされたスキル

23</h2>

22 24 

23Claude Code には、すべてのセッションで利用可能な一連のバンドルされたスキルが含まれています。これには `/simplify`、`/batch`、`/debug`、`/loop`、および `/claude-api` が含まれます。固定ロジックを直接実行する組み込みコマンドとは異なり、バンドルされたスキルはプロンプトベースです。Claude に詳細な指示を提供し、ツールを使用して作業を調整させます。他のスキルと同じ方法で呼び出します。`/` の後にスキル名を入力します。25Claude Code には、すべてのセッションで利用可能な一連のバンドルされたスキルが含まれています。これには `/code-review`、`/batch`、`/debug`、`/loop`、および `/claude-api` が含まれます。固定ロジックを直接実行する組み込みコマンドとは異なり、バンドルされたスキルはプロンプトベースです。Claude に詳細な指示を提供し、ツールを使用して作業を調整させます。他のスキルと同じ方法で呼び出します。`/` の後にスキル名を入力します。

24 26 

25バンドルされたスキルは [コマンドリファレンス](/ja/commands) に組み込みコマンドと一緒にリストされており、目的列に**スキル**とマークされています。27バンドルされたスキルは [コマンドリファレンス](/ja/commands) に組み込みコマンドと一緒にリストされており、目的列に**スキル**とマークされています。

26 28 

27## はじめに29<h3 id="run-and-verify-your-app">

30 アプリを実行して検証する

31</h3>

28 32 

29### 最初のスキルを作成する333 つのバンドルされたスキルが連携して、アプリを起動し、テストや型チェックだけでなく、実行中のアプリに対して変更を確認します。

34 

35| スキル | 目的 |

36| :--------------------- | :------------------------------------------------------- |

37| `/run` | アプリを起動して実行し、変更が機能していることを確認する |

38| `/verify` | アプリをビルドして実行し、コード変更が期待通りに機能することを確認する。テストや型チェックにフォールバックしない |

39| `/run-skill-generator` | `/run` と `/verify` にプロジェクトをビルドして起動する方法を教える |

40 

41{/* min-version: 2.1.145 */}3 つのスキルすべてに Claude Code v2.1.145 以降が必要です。

42 

43`/run` と `/verify` はセットアップなしで機能します。プロジェクトタイプ(CLI、サーバー、TUI、ブラウザ駆動)と README、`package.json`、または `Makefile` の内容から起動を推測します。その推測は、標準的な起動を超えた何かが必要なプロジェクト(データベース、env ファイル、グラフィカルセッション、マルチステップビルド)では信頼性が低くなります。

44 

45`/run-skill-generator` は代わりにレシピを記録します。クリーン環境からアプリを実行し、機能したもの(インストールコマンド、環境変数、起動スクリプト)をキャプチャし、`.claude/skills/run-<name>/` でプロジェクトごとのスキルとしてコミットします。その後、`/run`、`/verify`、およびリポジトリ内の他のエージェントは、再度発見する代わりに記録されたレシピに従います。プロジェクトごとに 1 回 `/run-skill-generator` を実行し、ビルドまたは起動プロセスが変更された場合は再度実行します。

46 

47<h2 id="getting-started">

48 はじめに

49</h2>

50 

51<h3 id="create-your-first-skill">

52 最初のスキルを作成する

53</h3>

30 54 

31この例は、git リポジトリ内のコミットされていない変更を要約し、危険な点にフラグを付けるスキルを作成します。プロンプトにライブ diff を取り込むため、Claude が開いているファイルから推測できるものではなく、実際の作業ツリーに基づいた応答が得られます。Claude は変更について尋ねるときにスキルを自動的に読み込むか、`/summarize-changes` で直接呼び出すことができます。55この例は、git リポジトリ内のコミットされていない変更を要約し、危険な点にフラグを付けるスキルを作成します。プロンプトにライブ diff を取り込むため、Claude が開いているファイルから推測できるものではなく、実際の作業ツリーに基づいた応答が得られます。Claude は変更について尋ねるときにスキルを自動的に読み込むか、`/summarize-changes` で直接呼び出すことができます。

32 56 


80 </Step>104 </Step>

81</Steps>105</Steps>

82 106 

83### スキルが存在する場所107<h3 id="where-skills-live">

108 スキルが存在する場所

109</h3>

84 110 

85スキルを保存する場所によって、誰がそれを使用できるかが決まります:111スキルを保存する場所によって、誰がそれを使用できるかが決まります:

86 112 


93 119 

94スキルがレベル全体で同じ名前を共有する場合、enterprise は personal をオーバーライドし、personal はプロジェクトをオーバーライドします。プラグインスキルは `plugin-name:skill-name` 名前空間を使用するため、他のレベルと競合することはできません。`.claude/commands/` にファイルがある場合、それらは同じように機能しますが、スキルとコマンドが同じ名前を共有する場合、スキルが優先されます。120スキルがレベル全体で同じ名前を共有する場合、enterprise は personal をオーバーライドし、personal はプロジェクトをオーバーライドします。プラグインスキルは `plugin-name:skill-name` 名前空間を使用するため、他のレベルと競合することはできません。`.claude/commands/` にファイルがある場合、それらは同じように機能しますが、スキルとコマンドが同じ名前を共有する場合、スキルが優先されます。

95 121 

96#### ライブ変更検出122<Note>

123 スキルフォルダに `.claude-plugin/plugin.json` を追加すると、`<name>@skills-dir` という名前の[プラグイン](/ja/plugins-reference#skills-directory-plugins)として読み込まれるため、エージェント、hooks、および MCP サーバーをバンドルできます。プロジェクトの `.claude/skills/` では、これはまずワークスペーストラストダイアログを受け入れる必要があります。

124</Note>

125 

126<h4 id="live-change-detection">

127 ライブ変更検出

128</h4>

97 129 

98Claude Code はスキルディレクトリのファイル変更を監視します。`~/.claude/skills/`、プロジェクト `.claude/skills/`、または `--add-dir` ディレクトリ内の `.claude/skills/` の下でスキルを追加、編集、または削除すると、再起動せずに現在のセッション内で有効になります。セッション開始時に存在しなかった最上位のスキルディレクトリを作成するには、Claude Code を再起動して新しいディレクトリを監視できるようにする必要があります。130Claude Code はスキルディレクトリのファイル変更を監視します。`~/.claude/skills/`、プロジェクト `.claude/skills/`、または `--add-dir` ディレクトリ内の `.claude/skills/` の下でスキルを追加、編集、または削除すると、再起動せずに現在のセッション内で有効になります。セッション開始時に存在しなかった最上位のスキルディレクトリを作成するには、Claude Code を再起動して新しいディレクトリを監視できるようにする必要があります。

99 131 

100#### 親ディレクトリとネストされたディレクトリからの自動検出132<Note>

133 ライブ変更検出は `SKILL.md` テキストのみをカバーします。スキルフォルダが[プラグイン](/ja/plugins-reference#skills-directory-plugins)でもある場合、`hooks/`、`.mcp.json`、`agents/`、および `output-styles/` への変更は `/reload-plugins` で有効になる必要があります。

134</Note>

135 

136<h4 id="automatic-discovery-from-parent-and-nested-directories">

137 親ディレクトリとネストされたディレクトリからの自動検出

138</h4>

101 139 

102プロジェクトスキルは開始ディレクトリの `.claude/skills/` とリポジトリルートまでのすべての親ディレクトリから読み込まれるため、サブディレクトリで Claude を起動しても、ルートで定義されたスキルが取得されます。開始ディレクトリの下のサブディレクトリ内のファイルを操作する場合、Claude Code はネストされた `.claude/skills/` ディレクトリからスキルをオンデマンドで検出します。たとえば、`packages/frontend/` 内のファイルを編集している場合、Claude Code は `packages/frontend/.claude/skills/` でもスキルを探します。これはパッケージが独自のスキルを持つモノレポセットアップをサポートします。140プロジェクトスキルは開始ディレクトリの `.claude/skills/` とリポジトリルートまでのすべての親ディレクトリから読み込まれるため、サブディレクトリで Claude を起動しても、ルートで定義されたスキルが取得されます。開始ディレクトリの下のサブディレクトリ内のファイルを操作する場合、Claude Code はネストされた `.claude/skills/` ディレクトリからスキルをオンデマンドで検出します。たとえば、`packages/frontend/` 内のファイルを編集している場合、Claude Code は `packages/frontend/.claude/skills/` でもスキルを探します。これはパッケージが独自のスキルを持つモノレポセットアップをサポートします。

103 141 


119 `.claude/commands/` 内のファイルは引き続き機能し、同じ[フロントマター](#frontmatter-reference)をサポートします。スキルはサポートファイルなどの追加機能をサポートするため、推奨されます。157 `.claude/commands/` 内のファイルは引き続き機能し、同じ[フロントマター](#frontmatter-reference)をサポートします。スキルはサポートファイルなどの追加機能をサポートするため、推奨されます。

120</Note>158</Note>

121 159 

122#### 追加ディレクトリからのスキル160<h4 id="skills-from-additional-directories">

161 追加ディレクトリからのスキル

162</h4>

123 163 

124`--add-dir` フラグは[ファイルアクセスを許可](/ja/permissions#additional-directories-grant-file-access-not-configuration)しますが、スキルは例外です。追加されたディレクトリ内の `.claude/skills/` は自動的に読み込まれます。[ライブ変更検出](#live-change-detection)を参照して、セッション中に編集がどのように取得されるかを確認してください。164`--add-dir` フラグと `/add-dir` コマンドは[ファイルアクセスを許可](/ja/permissions#additional-directories-grant-file-access-not-configuration)しますが、スキルは例外です。追加されたディレクトリ内の `.claude/skills/` は自動的に読み込まれます。この例外は `--add-dir` と `/add-dir` にのみ適用されます。`settings.json` の `permissions.additionalDirectories` 設定はファイルアクセスのみを許可し、スキルは読み込みません。[ライブ変更検出](#live-change-detection)を参照して、セッション中に編集がどのように取得されるかを確認してください。

125 165 

126その他の `.claude/` 設定(サブエージェント、コマンド、出力スタイル)は追加ディレクトリから読み込まれません。読み込まれるもの、読み込まれないもの、および設定をプロジェクト全体で共有するための推奨方法の完全なリストについては、[例外テーブル](/ja/permissions#additional-directories-grant-file-access-not-configuration)を参照してください。166その他の `.claude/` 設定(サブエージェント、コマンド、出力スタイル)は追加ディレクトリから読み込まれません。読み込まれるもの、読み込まれないもの、および設定をプロジェクト全体で共有するための推奨方法の完全なリストについては、[例外テーブル](/ja/permissions#additional-directories-grant-file-access-not-configuration)を参照してください。

127 167 


129 `--add-dir` ディレクトリの CLAUDE.md ファイルはデフォルトでは読み込まれません。読み込むには、`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1` を設定します。[追加ディレクトリから読み込む](/ja/memory#load-from-additional-directories)を参照してください。169 `--add-dir` ディレクトリの CLAUDE.md ファイルはデフォルトでは読み込まれません。読み込むには、`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1` を設定します。[追加ディレクトリから読み込む](/ja/memory#load-from-additional-directories)を参照してください。

130</Note>170</Note>

131 171 

132## スキルを設定する172<h2 id="configure-skills">

173 スキルを設定する

174</h2>

133 175 

134スキルは `SKILL.md` の上部の YAML フロントマターと、その後に続くマークダウンコンテンツを通じて設定されます。176スキルは `SKILL.md` の上部の YAML フロントマターと、その後に続くマークダウンコンテンツを通じて設定されます。

135 177 

136### スキルコンテンツのタイプ178<h3 id="types-of-skill-content">

179 スキルコンテンツのタイプ

180</h3>

137 181 

138スキルファイルには任意の指示を含めることができますが、それらを呼び出す方法を考えることは、含める内容をガイドするのに役立ちます:182スキルファイルには任意の指示を含めることができますが、それらを呼び出す方法を考えることは、含める内容をガイドするのに役立ちます:

139 183 


171 215 

172本体自体は簡潔に保ちます。スキルが読み込まれると、そのコンテンツは[ターン全体でコンテキストに留まり](#skill-content-lifecycle)、すべての行が繰り返されるトークンコストになります。実行内容を述べ、方法や理由を説明するのではなく、[CLAUDE.md コンテンツ](/ja/best-practices#write-an-effective-claude-md)に適用するのと同じ簡潔性テストを適用します。216本体自体は簡潔に保ちます。スキルが読み込まれると、そのコンテンツは[ターン全体でコンテキストに留まり](#skill-content-lifecycle)、すべての行が繰り返されるトークンコストになります。実行内容を述べ、方法や理由を説明するのではなく、[CLAUDE.md コンテンツ](/ja/best-practices#write-an-effective-claude-md)に適用するのと同じ簡潔性テストを適用します。

173 217 

174### フロントマターリファレンス218<h3 id="frontmatter-reference">

219 フロントマターリファレンス

220</h3>

175 221 

176マークダウンコンテンツを超えて、`SKILL.md` ファイルの上部の `---` マーカー間の YAML フロントマターフィールドを使用してスキルの動作を設定できます:222マークダウンコンテンツを超えて、`SKILL.md` ファイルの上部の `---` マーカー間の YAML フロントマターフィールドを使用してスキルの動作を設定できます:

177 223 


190 236 

191| フィールド | 必須 | 説明 |237| フィールド | 必須 | 説明 |

192| :------------------------- | :-- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |238| :------------------------- | :-- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

193| `name` | いいえ | スキルの表示名省略した場合、ディレクトリ名を使用します小文字、数字ハイフンのみ(最大 64 文字) |239| `name` | いいえ | スキルリストに表示される表示名ディレクトリ名がデフォルトですスキルを呼び出すときに入力する名前とこれがどのように異なるかについては[スキルがコマンド名を取得する方法](#how-a-skill-gets-its-command-name)を参照してください |

194| `description` | 推奨 | スキルが何をするか、いつ使用するか。Claude はこれを使用してスキルを適用するかどうかを決定します。省略した場合、マークダウンコンテンツの最初の段落を使用します。主要なユースケースを前置きしてください。スキルリストのコンテキスト使用量を削減するため、`description` と `when_to_use` の組み合わせテキストは 1,536 文字で短縮されます。 |240| `description` | 推奨 | スキルが何をするか、いつ使用するか。Claude はこれを使用してスキルを適用するかどうかを決定します。省略した場合、マークダウンコンテンツの最初の段落を使用します。主要なユースケースを前置きしてください。スキルリストのコンテキスト使用量を削減するため、`description` と `when_to_use` の組み合わせテキストは 1,536 文字で短縮されます。 |

195| `when_to_use` | いいえ | Claude がスキルを呼び出すべき場合の追加コンテキスト(トリガーフレーズやリクエスト例など)。スキルリストの `description` に追加され、1,536 文字の上限にカウントされます。 |241| `when_to_use` | いいえ | Claude がスキルを呼び出すべき場合の追加コンテキスト(トリガーフレーズやリクエスト例など)。スキルリストの `description` に追加され、1,536 文字の上限にカウントされます。 |

196| `argument-hint` | いいえ | 予想される引数を示すためにオートコンプリート中に表示されるヒント。例:`[issue-number]` または `[filename] [format]`。 |242| `argument-hint` | いいえ | 予想される引数を示すためにオートコンプリート中に表示されるヒント。例:`[issue-number]` または `[filename] [format]`。 |


198| `disable-model-invocation` | いいえ | Claude がこのスキルを自動的に読み込むのを防ぐには `true` に設定します。`/name` で手動でトリガーするワークフロー用です。また、スキルが[サブエージェントにプリロードされる](/ja/sub-agents#preload-skills-into-subagents)のを防ぎます。デフォルト:`false`。 |244| `disable-model-invocation` | いいえ | Claude がこのスキルを自動的に読み込むのを防ぐには `true` に設定します。`/name` で手動でトリガーするワークフロー用です。また、スキルが[サブエージェントにプリロードされる](/ja/sub-agents#preload-skills-into-subagents)のを防ぎます。デフォルト:`false`。 |

199| `user-invocable` | いいえ | `/` メニューから非表示にするには `false` に設定します。ユーザーが直接呼び出すべきではないバックグラウンド知識用です。デフォルト:`true`。 |245| `user-invocable` | いいえ | `/` メニューから非表示にするには `false` に設定します。ユーザーが直接呼び出すべきではないバックグラウンド知識用です。デフォルト:`true`。 |

200| `allowed-tools` | いいえ | このスキルがアクティブな場合、Claude が許可を求めずに使用できるツール。スペース区切り文字列または YAML リストを受け入れます。 |246| `allowed-tools` | いいえ | このスキルがアクティブな場合、Claude が許可を求めずに使用できるツール。スペース区切り文字列または YAML リストを受け入れます。 |

247| `disallowed-tools` | いいえ | このスキルがアクティブな場合、Claude の利用可能なプールから削除されるツール。`AskUserQuestion` など、特定のツールを呼び出すべきではない自律スキル用です。スペース区切り文字列または YAML リストを受け入れます。制限は次のメッセージを送信するときにクリアされます。 |

201| `model` | いいえ | このスキルがアクティブな場合に使用するモデル。オーバーライドは現在のターンの残りに適用され、設定に保存されません。セッションモデルは次のプロンプトで再開されます。[`/model`](/ja/model-config)と同じ値を受け入れるか、アクティブなモデルを保持するために `inherit` を受け入れます。 |248| `model` | いいえ | このスキルがアクティブな場合に使用するモデル。オーバーライドは現在のターンの残りに適用され、設定に保存されません。セッションモデルは次のプロンプトで再開されます。[`/model`](/ja/model-config)と同じ値を受け入れるか、アクティブなモデルを保持するために `inherit` を受け入れます。 |

202| `effort` | いいえ | [努力レベル](/ja/model-config#adjust-effort-level)(このスキルがアクティブな場合)。セッション努力レベルをオーバーライドします。デフォルト:セッションから継承。オプション:`low`、`medium`、`high`、`xhigh`、`max`。利用可能なレベルはモデルに依存します。 |249| `effort` | いいえ | [努力レベル](/ja/model-config#adjust-effort-level)(このスキルがアクティブな場合)。セッション努力レベルをオーバーライドします。デフォルト:セッションから継承。オプション:`low`、`medium`、`high`、`xhigh`、`max`。利用可能なレベルはモデルに依存します。 |

203| `context` | いいえ | フォークされたサブエージェントコンテキストで実行するには `fork` に設定します。 |250| `context` | いいえ | フォークされたサブエージェントコンテキストで実行するには `fork` に設定します。 |


206| `paths` | いいえ | このスキルがアクティブ化されるタイミングを制限する Glob パターン。カンマ区切り文字列または YAML リストを受け入れます。設定されている場合、Claude はパターンに一致するファイルを操作する場合にのみ、スキルを自動的に読み込みます。[パス固有のルール](/ja/memory#path-specific-rules)と同じ形式を使用します。 |253| `paths` | いいえ | このスキルがアクティブ化されるタイミングを制限する Glob パターン。カンマ区切り文字列または YAML リストを受け入れます。設定されている場合、Claude はパターンに一致するファイルを操作する場合にのみ、スキルを自動的に読み込みます。[パス固有のルール](/ja/memory#path-specific-rules)と同じ形式を使用します。 |

207| `shell` | いいえ | このスキルの `` !`command` `` および ` ```! ` ブロックに使用するシェル。`bash`(デフォルト)または `powershell` を受け入れます。`powershell` を設定すると、Windows 上で PowerShell 経由でインラインシェルコマンドが実行されます。`CLAUDE_CODE_USE_POWERSHELL_TOOL=1` が必要です。 |254| `shell` | いいえ | このスキルの `` !`command` `` および ` ```! ` ブロックに使用するシェル。`bash`(デフォルト)または `powershell` を受け入れます。`powershell` を設定すると、Windows 上で PowerShell 経由でインラインシェルコマンドが実行されます。`CLAUDE_CODE_USE_POWERSHELL_TOOL=1` が必要です。 |

208 255 

209#### 利用可能な文字列置換256<h4 id="how-a-skill-gets-its-command-name">

257 スキルがコマンド名を取得する方法

258</h4>

259 

260スキルを呼び出すときに入力するコマンドは、スキルファイルが存在する場所から取得されます。フロントマター `name` フィールドはスキルリストに表示される表示ラベルを設定し、プラグインルート `SKILL.md` を除いて、`/` の後に入力する内容を変更しません。

261 

262以下の表は、各レイアウトのコマンド名がどこから取得されるかを示しています:

263 

264| スキルの場所 | コマンド名のソース | 例 |

265| :----------------------------------------------------- | :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------ |

266| `~/.claude/skills/` または `.claude/skills/` の下のスキルディレクトリ | ディレクトリ名 | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |

267| `.claude/commands/` の下のファイル | 拡張子なしのファイル名 | `.claude/commands/deploy.md` → `/deploy` |

268| プラグイン `skills/` サブディレクトリ | ディレクトリ名、プラグインでネームスペース化 | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review` |

269| プラグインルート `SKILL.md` | フロントマター `name`、フォールバックとしてプラグインディレクトリ名 | `my-plugin/SKILL.md` と `name: review` → `/my-plugin:review`。[パス動作ルール](/ja/plugins-reference#path-behavior-rules)を参照してください |

270 

271プラグインルートケースは、`name` がコマンド名を設定する唯一の場所です。スキルディレクトリがないためです。フロントマターで `name` が設定されていない場合、プラグインのディレクトリ名が代わりに使用されます。

272 

273<h4 id="available-string-substitutions">

274 利用可能な文字列置換

275</h4>

210 276 

211スキルはスキルコンテンツの動的値の文字列置換をサポートします:277スキルはスキルコンテンツの動的値の文字列置換をサポートします:

212 278 


217| `$N` | `$ARGUMENTS[N]` の短縮形(例:最初の引数の場合は `$0`、2 番目の引数の場合は `$1`)。 |283| `$N` | `$ARGUMENTS[N]` の短縮形(例:最初の引数の場合は `$0`、2 番目の引数の場合は `$1`)。 |

218| `$name` | [`arguments`](#frontmatter-reference) フロントマターリストで宣言された名前付き引数。名前は順序で位置にマップされるため、`arguments: [issue, branch]` の場合、プレースホルダー `$issue` は最初の引数に展開され、`$branch` は 2 番目の引数に展開されます。 |284| `$name` | [`arguments`](#frontmatter-reference) フロントマターリストで宣言された名前付き引数。名前は順序で位置にマップされるため、`arguments: [issue, branch]` の場合、プレースホルダー `$issue` は最初の引数に展開され、`$branch` は 2 番目の引数に展開されます。 |

219| `${CLAUDE_SESSION_ID}` | 現在のセッション ID。ログ、セッション固有のファイルの作成、またはスキル出力とセッションの相関付けに便利です。 |285| `${CLAUDE_SESSION_ID}` | 現在のセッション ID。ログ、セッション固有のファイルの作成、またはスキル出力とセッションの相関付けに便利です。 |

220| `${CLAUDE_EFFORT}` | 現在の努力レベル:`low`、`medium`、`high`、`xhigh`、または `max`。スキル指示をアクティブな努力設定に適応させるために使用します。 |286| `${CLAUDE_EFFORT}` | 現在の努力レベル:`low`、`medium`、`high`、`xhigh`、または `max`。Ultracode は個別のレベルではなく、`xhigh` として報告されます。スキル指示をアクティブな努力設定に適応させるために使用します。 |

221| `${CLAUDE_SKILL_DIR}` | スキルの `SKILL.md` ファイルを含むディレクトリ。プラグインスキルの場合、これはプラグインルートではなく、プラグイン内のスキルのサブディレクトリです。bash インジェクションコマンドでこれを使用して、現在の作業ディレクトリに関係なく、スキルにバンドルされたスクリプトまたはファイルを参照します。 |287| `${CLAUDE_SKILL_DIR}` | スキルの `SKILL.md` ファイルを含むディレクトリ。プラグインスキルの場合、これはプラグインルートではなく、プラグイン内のスキルのサブディレクトリです。bash インジェクションコマンドでこれを使用して、現在の作業ディレクトリに関係なく、スキルにバンドルされたスクリプトまたはファイルを参照します。 |

222 288 

223インデックス付き引数はシェルスタイルのクォートを使用するため、複数単語の値をシングル引数として渡すためにクォートで囲みます。たとえば、`/my-skill "hello world" second` は `$0` を `hello world` に、`$1` を `second` に展開します。`$ARGUMENTS` プレースホルダーは常に、入力されたとおりの完全な引数文字列に展開されます。289インデックス付き引数はシェルスタイルのクォートを使用するため、複数単語の値をシングル引数として渡すためにクォートで囲みます。たとえば、`/my-skill "hello world" second` は `$0` を `hello world` に、`$1` を `second` に展開します。`$ARGUMENTS` プレースホルダーは常に、入力されたとおりの完全な引数文字列に展開されます。


235$ARGUMENTS301$ARGUMENTS

236```302```

237 303 

238### サポートファイルを追加する304<h3 id="add-supporting-files">

305 サポートファイルを追加する

306</h3>

239 307 

240スキルはディレクトリ内に複数のファイルを含めることができます。これにより、`SKILL.md` は本質的なものに焦点を当てながら、Claude は必要な場合にのみ詳細なリファレンス資料にアクセスできます。大規模なリファレンスドキュメント、API 仕様、または例のコレクションは、スキルが実行されるたびにコンテキストに読み込む必要はありません。308スキルはディレクトリ内に複数のファイルを含めることができます。これにより、`SKILL.md` は本質的なものに焦点を当てながら、Claude は必要な場合にのみ詳細なリファレンス資料にアクセスできます。大規模なリファレンスドキュメント、API 仕様、または例のコレクションは、スキルが実行されるたびにコンテキストに読み込む必要はありません。

241 309 


259 327 

260<Tip>`SKILL.md` を 500 行以下に保ちます。詳細なリファレンス資料を別のファイルに移動します。</Tip>328<Tip>`SKILL.md` を 500 行以下に保ちます。詳細なリファレンス資料を別のファイルに移動します。</Tip>

261 329 

262### スキルを呼び出すユーザーを制御する330<h3 id="control-who-invokes-a-skill">

331 スキルを呼び出すユーザーを制御する

332</h3>

263 333 

264デフォルトでは、ユーザーと Claude の両方がスキルを呼び出すことができます。`/skill-name` を入力して直接呼び出すことができ、Claude は会話に関連する場合に自動的にスキルを読み込むことができます。2 つのフロントマターフィールドでこれを制限できます:334デフォルトでは、ユーザーと Claude の両方がスキルを呼び出すことができます。`/skill-name` を入力して直接呼び出すことができ、Claude は会話に関連する場合に自動的にスキルを読み込むことができます。2 つのフロントマターフィールドでこれを制限できます:

265 335 


296 通常のセッションでは、スキルの説明がコンテキストに読み込まれるため、Claude は利用可能なものを知っていますが、フルスキルコンテンツは呼び出されるときにのみ読み込まれます。[プリロードされたスキルを持つサブエージェント](/ja/sub-agents#preload-skills-into-subagents)は異なります。フルスキルコンテンツはスタートアップで注入されます。366 通常のセッションでは、スキルの説明がコンテキストに読み込まれるため、Claude は利用可能なものを知っていますが、フルスキルコンテンツは呼び出されるときにのみ読み込まれます。[プリロードされたスキルを持つサブエージェント](/ja/sub-agents#preload-skills-into-subagents)は異なります。フルスキルコンテンツはスタートアップで注入されます。

297</Note>367</Note>

298 368 

299### スキルコンテンツのライフサイクル369<h3 id="skill-content-lifecycle">

370 スキルコンテンツのライフサイクル

371</h3>

300 372 

301ユーザーまたは Claude がスキルを呼び出すと、レンダリングされた `SKILL.md` コンテンツは会話に単一のメッセージとして入力され、セッションの残りの間そこに留まります。Claude Code は後のターンでスキルファイルを再度読み込まないため、タスク全体を通じて適用すべきガイダンスを 1 回限りのステップではなく、スタンディング指示として記述します。373ユーザーまたは Claude がスキルを呼び出すと、レンダリングされた `SKILL.md` コンテンツは会話に単一のメッセージとして入力され、セッションの残りの間そこに留まります。Claude Code は後のターンでスキルファイルを再度読み込まないため、タスク全体を通じて適用すべきガイダンスを 1 回限りのステップではなく、スタンディング指示として記述します。

302 374 


304 376 

305スキルが最初の応答の後に動作に影響を与えるのを停止しているように見える場合、コンテンツは通常まだ存在し、モデルは他のツールまたはアプローチを選択しています。スキルの `description` と指示を強化して、モデルがそれを優先し続けるようにするか、[フック](/ja/hooks)を使用して動作を決定的に強制します。スキルが大きいか、その後に他のスキルを多く呼び出した場合、コンパクション後にそれを再度呼び出して、フルコンテンツを復元します。377スキルが最初の応答の後に動作に影響を与えるのを停止しているように見える場合、コンテンツは通常まだ存在し、モデルは他のツールまたはアプローチを選択しています。スキルの `description` と指示を強化して、モデルがそれを優先し続けるようにするか、[フック](/ja/hooks)を使用して動作を決定的に強制します。スキルが大きいか、その後に他のスキルを多く呼び出した場合、コンパクション後にそれを再度呼び出して、フルコンテンツを復元します。

306 378 

307### スキルのツールを事前承認する379<h3 id="pre-approve-tools-for-a-skill">

380 スキルのツールを事前承認する

381</h3>

308 382 

309`allowed-tools` フィールドは、スキルがアクティブな場合、リストされたツールの権限を付与するため、Claude はあなたに承認を求めることなくそれらを使用できます。これは利用可能なツールを制限しません。すべてのツールは呼び出し可能なままであり、[権限設定](/ja/permissions)は引き続き、リストされていないツールのツール承認を管理します。383`allowed-tools` フィールドは、スキルがアクティブな場合、リストされたツールの権限を付与するため、Claude はあなたに承認を求めることなくそれらを使用できます。これは利用可能なツールを制限しません。すべてのツールは呼び出し可能なままであり、[権限設定](/ja/permissions)は引き続き、リストされていないツールのツール承認を管理します。

310 384 


323 397 

324スキルが特定のツールを使用するのをブロックするには、代わりに[権限設定](/ja/permissions)に拒否ルールを追加します。398スキルが特定のツールを使用するのをブロックするには、代わりに[権限設定](/ja/permissions)に拒否ルールを追加します。

325 399 

326### スキルに引数を渡す400<h3 id="pass-arguments-to-skills">

401 スキルに引数を渡す

402</h3>

327 403 

328ユーザーと Claude の両方がスキルを呼び出すときに引数を渡すことができます。引数は `$ARGUMENTS` プレースホルダーを通じて利用可能です。404ユーザーと Claude の両方がスキルを呼び出すときに引数を渡すことができます。引数は `$ARGUMENTS` プレースホルダーを通じて利用可能です。

329 405 


373Preserve all existing behavior and tests.449Preserve all existing behavior and tests.

374```450```

375 451 

376## 高度なパターン452<h2 id="advanced-patterns">

453 高度なパターン

454</h2>

377 455 

378### 動的コンテキストを注入する456<h3 id="inject-dynamic-context">

457 動的コンテキストを注入する

458</h3>

379 459 

380`` !`<command>` `` 構文はスキルコンテンツが Claude に送信される前にシェルコマンドを実行します。コマンド出力はプレースホルダーを置き換えるため、Claude はコマンド自体ではなく実際のデータを受け取ります。460`` !`<command>` `` 構文はスキルコンテンツが Claude に送信される前にシェルコマンドを実行します。コマンド出力はプレースホルダーを置き換えるため、Claude はコマンド自体ではなく実際のデータを受け取ります。

381 461 


409 489 

410置換は元のファイルに対して 1 回実行されます。コマンド出力はプレーンテキストとして挿入され、さらに `` !`<command>` `` プレースホルダーについて再スキャンされないため、コマンドは後のパスで展開するプレースホルダーを発行することはできません。490置換は元のファイルに対して 1 回実行されます。コマンド出力はプレーンテキストとして挿入され、さらに `` !`<command>` `` プレースホルダーについて再スキャンされないため、コマンドは後のパスで展開するプレースホルダーを発行することはできません。

411 491 

412複数行のコマンドの場合インラインフォーム `` !`<command>` `` の代わりに、` ```! ` で開かれたフェンスコードブロックを使用します:492インラインフォームは、`!` が行の開始時または空白の直後に表示される場合にのみ認識されます。`!` が別の文字の後に続く場合(`` KEY=!`cmd` `` など)、プレースホルダーはリテラルテキストとして残され、コマンドは実行されません。

493 

494複数行のコマンドの場合、インラインフォームの代わりに、` ```! ` で開かれたフェンスコードブロックを使用します:

413 495 

414````markdown theme={null}496````markdown theme={null}

415## Environment497## Environment


426 スキルで深い推論をリクエストするには、スキルコンテンツのどこかに `ultrathink` を含めます。[ワンオフの深い推論に ultrathink を使用する](/ja/model-config#use-ultrathink-for-one-off-deep-reasoning)を参照してください。508 スキルで深い推論をリクエストするには、スキルコンテンツのどこかに `ultrathink` を含めます。[ワンオフの深い推論に ultrathink を使用する](/ja/model-config#use-ultrathink-for-one-off-deep-reasoning)を参照してください。

427</Tip>509</Tip>

428 510 

429### スキルをサブエージェントで実行する511<h3 id="run-skills-in-a-subagent">

512 スキルをサブエージェントで実行する

513</h3>

430 514 

431スキルを分離して実行したい場合は、フロントマターに `context: fork` を追加します。スキルコンテンツはサブエージェントを駆動するプロンプトになります。会話履歴にアクセスできません。515スキルを分離して実行したい場合は、フロントマターに `context: fork` を追加します。スキルコンテンツはサブエージェントを駆動するプロンプトになります。会話履歴にアクセスできません。

432 516 


443 527 

444`context: fork` を使用すると、スキルにタスクを記述し、実行するエージェントタイプを選択します。組み込みの Explore および Plan エージェントは[CLAUDE.md と git status をスキップ](/ja/sub-agents#what-loads-at-startup)してコンテキストを小さく保つため、`agent: Explore` を使用するフォークされたスキルは SKILL.md コンテンツとエージェント自体のシステムプロンプトのみを見ます。逆の場合(スキルをリファレンス資料として使用するカスタムサブエージェントを定義する)については、[サブエージェント](/ja/sub-agents#preload-skills-into-subagents)を参照してください。528`context: fork` を使用すると、スキルにタスクを記述し、実行するエージェントタイプを選択します。組み込みの Explore および Plan エージェントは[CLAUDE.md と git status をスキップ](/ja/sub-agents#what-loads-at-startup)してコンテキストを小さく保つため、`agent: Explore` を使用するフォークされたスキルは SKILL.md コンテンツとエージェント自体のシステムプロンプトのみを見ます。逆の場合(スキルをリファレンス資料として使用するカスタムサブエージェントを定義する)については、[サブエージェント](/ja/sub-agents#preload-skills-into-subagents)を参照してください。

445 529 

446#### 例:Explore エージェントを使用した研究スキル530<h4 id="example-research-skill-using-explore-agent">

531 例:Explore エージェントを使用した研究スキル

532</h4>

447 533 

448このスキルはフォークされた Explore エージェントで研究を実行します。スキルコンテンツはタスクになり、エージェントはコードベース探索に最適化された読み取り専用ツールを提供します:534このスキルはフォークされた Explore エージェントで研究を実行します。スキルコンテンツはタスクになり、エージェントはコードベース探索に最適化された読み取り専用ツールを提供します:

449 535 


471 557 

472`agent` フィールドは使用するサブエージェント設定を指定します。オプションには、組み込みエージェント(`Explore`、`Plan`、`general-purpose`)または `.claude/agents/` からのカスタムサブエージェントが含まれます。省略した場合、`general-purpose` を使用します。558`agent` フィールドは使用するサブエージェント設定を指定します。オプションには、組み込みエージェント(`Explore`、`Plan`、`general-purpose`)または `.claude/agents/` からのカスタムサブエージェントが含まれます。省略した場合、`general-purpose` を使用します。

473 559 

474### Claude のスキルアクセスを制限する560<h3 id="restrict-claude-s-skill-access">

561 Claude のスキルアクセスを制限する

562</h3>

475 563 

476デフォルトでは、Claude は `disable-model-invocation: true` が設定されていないスキルを呼び出すことができます。`allowed-tools` を定義するスキルは、スキルがアクティブな場合、これらのツールへのアクセスを許可なしで Claude に付与します。[権限設定](/ja/permissions)は引き続き、他のすべてのツールのベースライン承認動作を管理します。`/init`、`/review`、`/security-review` などの組み込みコマンドも Skill ツールを通じて利用可能です。`/compact` などの他の組み込みコマンドはそうではありません。564デフォルトでは、Claude は `disable-model-invocation: true` が設定されていないスキルを呼び出すことができます。`allowed-tools` を定義するスキルは、スキルがアクティブな場合、これらのツールへのアクセスを許可なしで Claude に付与します。[権限設定](/ja/permissions)は引き続き、他のすべてのツールのベースライン承認動作を管理します。`/init`、`/review`、`/security-review` などの組み込みコマンドも Skill ツールを通じて利用可能です。`/compact` などの他の組み込みコマンドはそうではありません。

477 565 


503 `user-invocable` フィールドはメニューの可視性のみを制御し、Skill ツールアクセスは制御しません。プログラムによる呼び出しをブロックするには `disable-model-invocation: true` を使用します。591 `user-invocable` フィールドはメニューの可視性のみを制御し、Skill ツールアクセスは制御しません。プログラムによる呼び出しをブロックするには `disable-model-invocation: true` を使用します。

504</Note>592</Note>

505 593 

506### 設定からスキルの可視性をオーバーライドする594<h3 id="override-skill-visibility-from-settings">

595 設定からスキルの可視性をオーバーライドする

596</h3>

507 597 

508`skillOverrides` 設定は、スキル自体のフロントマターではなく、[設定](/ja/settings)からスキルの可視性を制御します。共有プロジェクトリポジトリにチェックインされたスキルや MCP サーバーによって提供されるスキルなど、SKILL.md を編集したくないスキルに使用します。`/skills` メニューはあなたのために書きます:スキルをハイライトして `Space` を押して状態をサイクルし、`Enter` を押して `.claude/settings.local.json` に保存します。598`skillOverrides` 設定は、スキル自体のフロントマターではなく、[設定](/ja/settings)からスキルの可視性を制御します。共有プロジェクトリポジトリにチェックインされたスキルや MCP サーバーによって提供されるスキルなど、SKILL.md を編集したくないスキルに使用します。`/skills` メニューはあなたのために書きます:スキルをハイライトして `Space` を押して状態をサイクルし、`Enter` を押して `.claude/settings.local.json` に保存します。

509 599 


529 619 

530プラグインスキルは `skillOverrides` の影響を受けません。代わりに `/plugin` を通じてそれらを管理します。620プラグインスキルは `skillOverrides` の影響を受けません。代わりに `/plugin` を通じてそれらを管理します。

531 621 

532## スキルを共有する622<h2 id="share-skills">

623 スキルを共有する

624</h2>

533 625 

534スキルはオーディエンスに応じて異なるスコープで配布できます:626スキルはオーディエンスに応じて異なるスコープで配布できます:

535 627 


537* **プラグイン**:[プラグイン](/ja/plugins)に `skills/` ディレクトリを作成します629* **プラグイン**:[プラグイン](/ja/plugins)に `skills/` ディレクトリを作成します

538* **管理**:[管理設定](/ja/settings#settings-files)を通じて組織全体にデプロイします630* **管理**:[管理設定](/ja/settings#settings-files)を通じて組織全体にデプロイします

539 631 

540### 視覚的な出力を生成する632<h3 id="generate-visual-output">

633 視覚的な出力を生成する

634</h3>

541 635 

542スキルは任意の言語でスクリプトをバンドルして実行でき、Claude に単一のプロンプトで可能なもの以上の機能を提供します。1 つの強力なパターンは視覚的な出力を生成することです。ブラウザで開くインタラクティブな HTML ファイルで、データの探索、デバッグ、またはレポートの作成に使用できます。636スキルは任意の言語でスクリプトをバンドルして実行でき、Claude に単一のプロンプトで可能なもの以上の機能を提供します。1 つの強力なパターンは視覚的な出力を生成することです。ブラウザで開くインタラクティブな HTML ファイルで、データの探索、デバッグ、またはレポートの作成に使用できます。

543 637 


728 822 

729このパターンは任意の視覚的な出力に機能します。依存関係グラフ、テストカバレッジレポート、API ドキュメント、またはデータベーススキーマの視覚化。バンドルされたスクリプトが重い処理を行い、Claude が調整を処理します。823このパターンは任意の視覚的な出力に機能します。依存関係グラフ、テストカバレッジレポート、API ドキュメント、またはデータベーススキーマの視覚化。バンドルされたスクリプトが重い処理を行い、Claude が調整を処理します。

730 824 

731## トラブルシューティング825<h2 id="troubleshooting">

826 トラブルシューティング

827</h2>

732 828 

733### スキルがトリガーされない829<h3 id="skill-not-triggering">

830 スキルがトリガーされない

831</h3>

734 832 

735Claude がスキルを期待どおりに使用しない場合:833Claude がスキルを期待どおりに使用しない場合:

736 834 


7393. 説明により密接に一致するようにリクエストを言い換えてみます8373. 説明により密接に一致するようにリクエストを言い換えてみます

7404. スキルがユーザー呼び出し可能な場合は、`/skill-name` で直接呼び出してみます8384. スキルがユーザー呼び出し可能な場合は、`/skill-name` で直接呼び出してみます

741 839 

742### スキルが頻繁にトリガーされる840<h3 id="skill-triggers-too-often">

841 スキルが頻繁にトリガーされる

842</h3>

743 843 

744Claude がスキルを使用したくない場合:844Claude がスキルを使用したくない場合:

745 845 

7461. 説明をより具体的にします8461. 説明をより具体的にします

7472. 手動呼び出しのみを希望する場合は、`disable-model-invocation: true` を追加します8472. 手動呼び出しのみを希望する場合は、`disable-model-invocation: true` を追加します

748 848 

749### スキルの説明が短縮される849<h3 id="skill-descriptions-are-cut-short">

850 スキルの説明が短縮される

851</h3>

750 852 

751スキルの説明がコンテキストに読み込まれるため、Claude は利用可能なものを知っています。すべてのスキル名は常に含まれていますが、多くのスキルがある場合、説明は文字予算に合わせて短縮される可能性があり、Claude が一致するために必要なキーワードを削除できます。予算はモデルのコンテキストウィンドウの 1% でスケーリングされます。オーバーフローすると、最も呼び出しが少ないスキルの説明が最初に削除され、実際に使用するスキルは完全なテキストを保持します。`/doctor` を実行して、予算がオーバーフローしているかどうか、どのスキルが影響を受けているかを確認します。853スキルの説明がコンテキストに読み込まれるため、Claude は利用可能なものを知っています。すべてのスキル名は常に含まれていますが、多くのスキルがある場合、説明は文字予算に合わせて短縮される可能性があり、Claude が一致するために必要なキーワードを削除できます。予算はモデルのコンテキストウィンドウの 1% でスケーリングされます。オーバーフローすると、最も呼び出しが少ないスキルの説明が最初に削除され、実際に使用するスキルは完全なテキストを保持します。`/doctor` を実行して、予算がオーバーフローしているかどうか、どのスキルが影響を受けているかを確認します。

752 854 

753予算を上げるには、[`skillListingBudgetFraction`](/ja/settings#available-settings) 設定(例:`0.02` = 2%)または `SLASH_COMMAND_TOOL_CHAR_BUDGET` 環境変数を固定文字数に設定します。他のスキルの予算を解放するには、[`skillOverrides`](#override-skill-visibility-from-settings) で低優先度のエントリを `"name-only"` に設定して、説明なしでリストアップします。ソースで `description` と `when_to_use` テキストをトリミングすることもできます。各エントリの組み合わせテキストは予算に関係なく 1,536 文字でキャップされているため、主要なユースケースを前置きしてください。キャップは [`maxSkillDescriptionChars`](/ja/settings#available-settings) で設定可能です。855予算を上げるには、[`skillListingBudgetFraction`](/ja/settings#available-settings) 設定(例:`0.02` = 2%)または `SLASH_COMMAND_TOOL_CHAR_BUDGET` 環境変数を固定文字数に設定します。他のスキルの予算を解放するには、[`skillOverrides`](#override-skill-visibility-from-settings) で低優先度のエントリを `"name-only"` に設定して、説明なしでリストアップします。ソースで `description` と `when_to_use` テキストをトリミングすることもできます。各エントリの組み合わせテキストは予算に関係なく 1,536 文字でキャップされているため、主要なユースケースを前置きしてください。キャップは [`maxSkillDescriptionChars`](/ja/settings#available-settings) で設定可能です。

754 856 

755## 関連リソース857<h2 id="related-resources">

858 関連リソース

859</h2>

756 860 

757* **[設定をデバッグする](/ja/debug-your-config)**:スキルが表示されない、またはトリガーされない理由を診断する861* **[設定をデバッグする](/ja/debug-your-config)**:スキルが表示されない、またはトリガーされない理由を診断する

758* **[サブエージェント](/ja/sub-agents)**:特化したエージェントにタスクを委任する862* **[サブエージェント](/ja/sub-agents)**:特化したエージェントにタスクを委任する

slack.md +110 −33

Details

10 10 

11この統合は既存の Claude for Slack アプリに基づいていますが、コーディング関連のリクエストに対して Claude Code ウェブへのインテリジェントなルーティングを追加しています。11この統合は既存の Claude for Slack アプリに基づいていますが、コーディング関連のリクエストに対して Claude Code ウェブへのインテリジェントなルーティングを追加しています。

12 12 

13## ユースケース13<h2 id="use-cases">

14 ユースケース

15</h2>

14 16 

15* **バグ調査と修正**: Slack チャネルで報告されたバグを Claude に調査・修正させます。17* **バグ調査と修正**: Slack チャネルで報告されたバグを Claude に調査・修正させます。

16* **迅速なコードレビューと修正**: Claude にチームのフィードバックに基づいて小さな機能を実装したりコードをリファクタリングさせます。18* **迅速なコードレビューと修正**: Claude にチームのフィードバックに基づいて小さな機能を実装したりコードをリファクタリングさせます。

17* **協調的なデバッグ**: チームの議論が重要なコンテキスト(エラーの再現やユーザーレポートなど)を提供する場合、Claude はその情報を使用してデバッグアプローチを知らせることができます。19* **協調的なデバッグ**: チームの議論が重要なコンテキスト(エラーの再現やユーザーレポートなど)を提供する場合、Claude はその情報を使用してデバッグアプローチを知らせることができます。

18* **並列タスク実行**: Slack でコーディングタスクを開始しながら他の作業を続け、完了時に通知を受け取ります。20* **並列タスク実行**: Slack でコーディングタスクを開始しながら他の作業を続け、完了時に通知を受け取ります。

19 21 

20## 前提条件22<h2 id="prerequisites">

23 前提条件

24</h2>

21 25 

22Claude Code in Slack を使用する前に、以下を確認してください:26Claude Code in Slack を使用する前に、以下を確認してください:

23 27 

24| 要件 | 詳細 |28| 要件 | 詳細 |

25| :---------------- | :--------------------------------------------------------------------- |29| :---------------- | :---------------------------------------------------------------------------------- |

26| Claude プラン | Pro、Max、Team、または Claude Code アクセス付き Enterprise(プレミアムシート) |30| Claude プラン | Pro、Max、Team、または Claude Code アクセス付き Enterprise(プレミアムシート、または Chat + Claude Code シート |

27| ウェブ上の Claude Code | [ウェブ上の Claude Code](/ja/claude-code-on-the-web) へのアクセスが有効になっている必要があります |31| ウェブ上の Claude Code | [ウェブ上の Claude Code](/ja/claude-code-on-the-web) へのアクセスが有効になっている必要があります |

28| GitHub アカウント | ウェブ上の Claude Code に接続され、少なくとも 1 つのリポジトリが認証されている |32| GitHub アカウント | ウェブ上の Claude Code に接続され、少なくとも 1 つのリポジトリが認証されている |

29| Slack 認証 | Slack アカウントが Claude アプリを通じて Claude アカウントにリンクされている |33| Slack 認証 | Slack アカウントが Claude アプリを通じて Claude アカウントにリンクされている |

30 34 

31## Slack での Claude Code のセットアップ35<h2 id="setting-up-claude-code-in-slack">

36 Slack での Claude Code のセットアップ

37</h2>

32 38 

33<Steps>39<Steps>

34 <Step title="Slack に Claude アプリをインストールする">40 <Step title="Slack に Claude アプリをインストールする">

35 ワークスペース管理者は Slack App Marketplace から Claude アプリをインストールする必要があります。[Slack App Marketplace](https://slack.com/marketplace/A08SF47R6P4) にアクセスしてAdd to Slackをクリックしてインストールプロセスを開始します。41 ワークスペース管理者は Slack App Marketplace から Claude アプリをインストールする必要があります。[Slack App Marketplace](https://slack.com/marketplace/A08SF47R6P4) にアクセスして'Add to Slack'をクリックしてインストールプロセスを開始します。

36 </Step>42 </Step>

37 43 

38 <Step title="Claude アカウントを接続する">44 <Step title="Claude アカウントを接続する">


64 Code + Chat モードでは、Claude がメッセージを Chat にルーティングしたがコーディングセッションが必要な場合は、「Retry as Code」をクリックして Claude Code セッションを作成できます。同様に、Code にルーティングされたが Chat セッションが必要な場合は、そのスレッドでそのオプションを選択できます。70 Code + Chat モードでは、Claude がメッセージを Chat にルーティングしたがコーディングセッションが必要な場合は、「Retry as Code」をクリックして Claude Code セッションを作成できます。同様に、Code にルーティングされたが Chat セッションが必要な場合は、そのスレッドでそのオプションを選択できます。

65 </Note>71 </Note>

66 </Step>72 </Step>

73 

74 <Step title="Claude をチャネルに追加する">

75 Claude はインストール後、自動的にどのチャネルにも追加されません。チャネルで Claude を使用するには、そのチャネルで `/invite @Claude` と入力して招待します。Claude は追加されたチャネルの @mentions にのみ応答できます。

76 </Step>

67</Steps>77</Steps>

68 78 

69## 仕組み79<h2 id="how-it-works">

80 仕組み

81</h2>

70 82 

71### 自動検出83<h3 id="automatic-detection">

84 自動検出

85</h3>

72 86 

73Slack チャネルまたはスレッドで @Claude をメンションすると、Claude は自動的にメッセージを分析してコーディングタスクかどうかを判断します。Claude がコーディング意図を検出した場合、通常のチャットアシスタントとして応答する代わりに、リクエストをウェブ上の Claude Code にルーティングします。87Slack チャネルまたはスレッドで @Claude をメンションすると、Claude は自動的にメッセージを分析してコーディングタスクかどうかを判断します。Claude がコーディング意図を検出した場合、通常のチャットアシスタントとして応答する代わりに、リクエストをウェブ上の Claude Code にルーティングします。

74 88 


78 Slack での Claude Code はチャネル(公開または非公開)でのみ機能します。ダイレクトメッセージ(DM)では機能しません。92 Slack での Claude Code はチャネル(公開または非公開)でのみ機能します。ダイレクトメッセージ(DM)では機能しません。

79</Note>93</Note>

80 94 

81### コンテキスト収集95<h3 id="context-gathering">

96 コンテキスト収集

97</h3>

82 98 

83**スレッドから**: スレッドで @Claude をメンションすると、そのスレッド内のすべてのメッセージからコンテキストを収集して、完全な会話を理解します。99**スレッドから**: スレッドで @Claude をメンションすると、そのスレッド内のすべてのメッセージからコンテキストを収集して、完全な会話を理解します。

84 100 


90 @Claude が Slack で呼び出されると、Claude はリクエストをより良く理解するために会話コンテキストへのアクセスが与えられます。Claude は他のメッセージからの指示に従う可能性があるため、ユーザーは信頼できる Slack 会話でのみ Claude を使用するようにしてください。106 @Claude が Slack で呼び出されると、Claude はリクエストをより良く理解するために会話コンテキストへのアクセスが与えられます。Claude は他のメッセージからの指示に従う可能性があるため、ユーザーは信頼できる Slack 会話でのみ Claude を使用するようにしてください。

91</Warning>107</Warning>

92 108 

93### セッションフロー109<h3 id="session-flow">

110 セッションフロー

111</h3>

94 112 

951. **開始**: @Claude にコーディングリクエストをメンションします1131. **開始**: @Claude にコーディングリクエストをメンションします

962. **検出**: Claude がメッセージを分析してコーディング意図を検出します1142. **検出**: Claude がメッセージを分析してコーディング意図を検出します

973. **セッション作成**: claude.ai/code で新しい Claude Code セッションが作成されます1153. **セッション作成**: claude.ai/code で新しい Claude Code セッションが作成されます

984. **進捗更新**: Claude は作業が進むにつれて Slack スレッドにステータス更新を投稿します1164. **進捗更新**: Claude は作業が進むにつれて Slack スレッドにステータス更新を投稿します

995. **完了**: 完了時に、Claude は概要とアクションボタンを含めてあなたをメンションします1175. **完了**: 完了時に、Claude は概要とアクションボタンを含めてあなたをメンションします

1006. **レビュー**: View Sessionをクリックして完全なトランスクリプトを表示するか、Create PRをクリックしてプルリクエストを開きます1186. **レビュー**: 'View Session'をクリックして完全なトランスクリプトを表示するか、'Create PR'をクリックしてプルリクエストを開きます

101 119 

102## ユーザーインターフェース要素120<h2 id="user-interface-elements">

121 ユーザーインターフェース要素

122</h2>

103 123 

104### App Home124<h3 id="app-home">

125 App Home

126</h3>

105 127 

106App Home タブは接続ステータスを表示し、Claude アカウントを Slack から接続または切断できます。128App Home タブは接続ステータスを表示し、Claude アカウントを Slack から接続または切断できます。

107 129 

108### メッセージアクション130<h3 id="message-actions">

131 メッセージアクション

132</h3>

109 133 

110* **View Session**: ブラウザで完全な Claude Code セッションを開き、実行されたすべての作業、セッションの継続、または追加のリクエストを確認できます。134* **View Session**: ブラウザで完全な Claude Code セッションを開き、実行されたすべての作業、セッションの継続、または追加のリクエストを確認できます。

111* **Create PR**: セッションの変更から直接プルリクエストを作成します。135* **Create PR**: セッションの変更から直接プルリクエストを作成します。

112* **Retry as Code**: Claude が最初はチャットアシスタントとして応答したがコーディングセッションが必要な場合は、このボタンをクリックしてリクエストを Claude Code タスクとして再試行します。136* **Retry as Code**: Claude が最初はチャットアシスタントとして応答したがコーディングセッションが必要な場合は、このボタンをクリックしてリクエストを Claude Code タスクとして再試行します。

113* **Change Repo**: Claude が誤って選択した場合、別のリポジトリを選択できます。137* **Change Repo**: Claude が誤って選択した場合、別のリポジトリを選択できます。

114 138 

115### リポジトリ選択139<h3 id="repository-selection">

140 リポジトリ選択

141</h3>

116 142 

117Claude は Slack 会話のコンテキストに基づいてリポジトリを自動的に選択します。複数のリポジトリが適用される可能性がある場合、Claude は正しいものを選択できるドロップダウンを表示する場合があります。143Claude は Slack 会話のコンテキストに基づいてリポジトリを自動的に選択します。複数のリポジトリが適用される可能性がある場合、Claude は正しいものを選択できるドロップダウンを表示する場合があります。

118 144 

119## アクセスと権限145<h2 id="access-and-permissions">

146 アクセスと権限

147</h2>

120 148 

121### ユーザーレベルのアクセス149<h3 id="user-level-access">

150 ユーザーレベルのアクセス

151</h3>

122 152 

123| アクセスタイプ | 要件 |153| アクセスタイプ | 要件 |

124| :---------------- | :-------------------------------------------- |154| :---------------- | :-------------------------------------------- |


127| リポジトリアクセス | ユーザーは個人的に接続したリポジトリにのみアクセスできます |157| リポジトリアクセス | ユーザーは個人的に接続したリポジトリにのみアクセスできます |

128| セッション履歴 | セッションは claude.ai/code の Claude Code 履歴に表示されます |158| セッション履歴 | セッションは claude.ai/code の Claude Code 履歴に表示されます |

129 159 

130### ワークスペース管理者の権限160<h3 id="workspace-level-access">

161 ワークスペースレベルのアクセス

162</h3>

163 

164Slack ワークスペース管理者は、Claude アプリをワークスペースで利用可能にするかどうかを制御します:

165 

166| コントロール | 説明 |

167| :------------------ | :----------------------------------------------------------------- |

168| アプリのインストール | ワークスペース管理者は Slack App Marketplace から Claude アプリをインストールするかどうかを決定します |

169| Enterprise Grid の配布 | Enterprise Grid 組織の場合、組織管理者は Claude アプリへのアクセスを持つワークスペースを制御できます |

170| アプリの削除 | ワークスペースからアプリを削除すると、そのワークスペース内のすべてのユーザーのアクセスが直ちに取り消されます |

131 171 

132Slack ワークスペース管理者は、Claude アプリをワークスペースにインストールできるかどうかを制御します。その後、個別ユーザーが自分の Claude アカウントで認証して統合を使用します。172<h3 id="channel-based-access-control">

173 チャネルベースのアクセス制御

174</h3>

133 175 

134## どこでアクセスできるか176Claude はインストール後、自動的にどのチャネルにも追加されません。ユーザーは Claude を使用したいチャネルに明示的に Claude を招待する必要があります:

177 

178* **招待が必要**: 任意のチャネルで `/invite @Claude` と入力して Claude をそのチャネルに追加します

179* **チャネルメンバーシップがアクセスを制御**: Claude は追加されたチャネルの @mentions にのみ応答できます

180* **チャネルを通じたアクセスゲーティング**: 管理者は Claude が招待されるチャネルと、それらのチャネルへのアクセス権を持つユーザーを管理することで、Claude Code の使用を特定のチャネルに制限できます

181* **プライベートチャネルのサポート**: Claude は公開チャネルと非公開チャネルの両方で機能し、チームに可視性を制御する柔軟性を提供します

182 

183このチャネルベースのモデルにより、チームはワークスペースレベルの権限を超えた追加のアクセス制御層を提供して、Claude Code の使用を特定のチャネルに制限できます。

184 

185<h2 id="what-s-accessible-where">

186 どこでアクセスできるか

187</h2>

135 188 

136**Slack で**: ステータス更新、完了概要、アクションボタンが表示されます。完全なトランスクリプトは保存され、常にアクセス可能です。189**Slack で**: ステータス更新、完了概要、アクションボタンが表示されます。完全なトランスクリプトは保存され、常にアクセス可能です。

137 190 

138**ウェブで**: 完全な Claude Code セッション、完全な会話履歴、すべてのコード変更、ファイル操作、セッションの継続またはプルリクエストの作成機能があります。191**ウェブで**: 完全な Claude Code セッション、完全な会話履歴、すべてのコード変更、ファイル操作、セッションの継続またはプルリクエストの作成機能があります。

139 192 

140## ベストプラクティス193Enterprise および Team アカウントの場合、Slack の Claude から作成されたセッションは自動的に組織に表示されます。詳細については、[Claude Code on the Web 共有](/ja/claude-code-on-the-web#share-sessions) を参照してください。

194 

195<h2 id="best-practices">

196 ベストプラクティス

197</h2>

141 198 

142### 効果的なリクエストの作成199<h3 id="writing-effective-requests">

200 効果的なリクエストの作成

201</h3>

143 202 

144* **具体的に**: ファイル名、関数名、またはエラーメッセージが関連する場合は含めます。203* **具体的に**: ファイル名、関数名、またはエラーメッセージが関連する場合は含めます。

145* **コンテキストを提供**: 会話から明確でない場合はリポジトリまたはプロジェクトをメンションします。204* **コンテキストを提供**: 会話から明確でない場合はリポジトリまたはプロジェクトをメンションします。

146* **成功を定義**: 完了とはどういう意味か説明します。Claude はテストを書くべきですか?ドキュメントを更新しますか?PR を作成しますか?205* **成功を定義**: '完了'とはどういう意味か説明します。Claude はテストを書くべきですか?ドキュメントを更新しますか?PR を作成しますか?

147* **スレッドを使用**: バグや機能について議論する場合はスレッドで返信して、Claude が完全なコンテキストを収集できるようにします。206* **スレッドを使用**: バグや機能について議論する場合はスレッドで返信して、Claude が完全なコンテキストを収集できるようにします。

148 207 

149### Slack とウェブの使い分け208<h3 id="when-to-use-slack-vs-web">

209 Slack とウェブの使い分け

210</h3>

150 211 

151**Slack を使用する場合**: コンテキストが既に Slack の議論に存在する場合、タスクを非同期で開始したい場合、またはチームメイトが可視性を必要とする場合に協力しています。212**Slack を使用する場合**: コンテキストが既に Slack の議論に存在する場合、タスクを非同期で開始したい場合、またはチームメイトが可視性を必要とする場合に協力しています。

152 213 

153**ウェブを直接使用する場合**: ファイルをアップロードする必要がある場合、開発中のリアルタイムインタラクションが必要な場合、またはより長く複雑なタスクに取り組んでいる場合。214**ウェブを直接使用する場合**: ファイルをアップロードする必要がある場合、開発中のリアルタイムインタラクションが必要な場合、またはより長く複雑なタスクに取り組んでいる場合。

154 215 

155## トラブルシューティング216<h2 id="troubleshooting">

217 トラブルシューティング

218</h2>

156 219 

157### セッションが開始しない220<h3 id="sessions-not-starting">

221 セッションが開始しない

222</h3>

158 223 

1591. Claude アカウントが Claude App Home で接続されていることを確認します2241. Claude アカウントが Claude App Home で接続されていることを確認します

1602. ウェブ上の Claude Code アクセスが有効になっていることを確認します2252. ウェブ上の Claude Code アクセスが有効になっていることを確認します

1613. Claude Code に接続された GitHub リポジトリが少なくとも 1 つあることを確認します2263. Claude Code に接続された GitHub リポジトリが少なくとも 1 つあることを確認します

162 227 

163### リポジトリが表示されない228<h3 id="repository-not-showing">

229 リポジトリが表示されない

230</h3>

164 231 

1651. [claude.ai/code](https://claude.ai/code) で Claude Code on the web でリポジトリを接続します2321. [claude.ai/code](https://claude.ai/code) で Claude Code on the web でリポジトリを接続します

1662. そのリポジトリの GitHub 権限を確認します2332. そのリポジトリの GitHub 権限を確認します

1673. GitHub アカウントを切断して再接続してみます2343. GitHub アカウントを切断して再接続してみます

168 235 

169### 誤ったリポジトリが選択された236<h3 id="wrong-repository-selected">

237 誤ったリポジトリが選択された

238</h3>

170 239 

1711. Change Repoボタンをクリックして別のリポジトリを選択します2401. 'Change Repo'ボタンをクリックして別のリポジトリを選択します

1722. より正確な選択のためにリクエストにリポジトリ名を含めます2412. より正確な選択のためにリクエストにリポジトリ名を含めます

173 242 

174### 認証エラー243<h3 id="authentication-errors">

244 認証エラー

245</h3>

175 246 

1761. App Home で Claude アカウントを切断して再接続します2471. App Home で Claude アカウントを切断して再接続します

1772. ブラウザで正しい Claude アカウントにサインインしていることを確認します2482. ブラウザで正しい Claude アカウントにサインインしていることを確認します

1783. Claude プランに Claude Code アクセスが含まれていることを確認します2493. Claude プランに Claude Code アクセスが含まれていることを確認します

179 250 

180### セッション有効期限251<h3 id="session-expiration">

252 セッション有効期限

253</h3>

181 254 

1821. セッションはウェブ上の Claude Code 履歴でアクセス可能なままです2551. セッションはウェブ上の Claude Code 履歴でアクセス可能なままです

1832. [claude.ai/code](https://claude.ai/code) から過去のセッションを継続または参照できます2562. [claude.ai/code](https://claude.ai/code) から過去のセッションを継続または参照できます

184 257 

185## 現在の制限事項258<h2 id="current-limitations">

259 現在の制限事項

260</h2>

186 261 

187* **GitHub のみ**: 現在、GitHub 上のリポジトリのみをサポートしています。262* **GitHub のみ**: 現在、GitHub 上のリポジトリのみをサポートしています。

188* **一度に 1 つの PR**: 各セッションは 1 つのプルリクエストを作成できます。263* **一度に 1 つの PR**: 各セッションは 1 つのプルリクエストを作成できます。

189* **レート制限が適用**: セッションは個別の Claude プランのレート制限を使用します。264* **レート制限が適用**: セッションは個別の Claude プランのレート制限を使用します。

190* **ウェブアクセスが必要**: ユーザーは Claude Code on the web アクセスを持つ必要があります。持たないユーザーは標準的な Claude チャット応答のみを取得します。265* **ウェブアクセスが必要**: ユーザーは Claude Code on the web アクセスを持つ必要があります。持たないユーザーは標準的な Claude チャット応答のみを取得します。

191 266 

192## 関連リソース267<h2 id="related-resources">

268 関連リソース

269</h2>

193 270 

194<CardGroup>271<CardGroup>

195 <Card title="ウェブ上の Claude Code" icon="globe" href="/ja/claude-code-on-the-web">272 <Card title="ウェブ上の Claude Code" icon="globe" href="/ja/claude-code-on-the-web">

statusline.md +26 −5

Details

144* **色**:`\033[32m` のような [ANSI エスケープコード](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) を使用して緑色を表示します(ターミナルがサポートしている必要があります)。[git ステータスの例](#git-status-with-colors) を参照してください。144* **色**:`\033[32m` のような [ANSI エスケープコード](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) を使用して緑色を表示します(ターミナルがサポートしている必要があります)。[git ステータスの例](#git-status-with-colors) を参照してください。

145* **リンク**:[OSC 8 エスケープシーケンス](https://en.wikipedia.org/wiki/ANSI_escape_code#OSC) を使用してテキストをクリック可能にします(macOS では Cmd+クリック、Windows/Linux では Ctrl+クリック)。iTerm2、Kitty、WezTerm などのハイパーリンクをサポートするターミナルが必要です。[クリック可能なリンクの例](#clickable-links) を参照してください。145* **リンク**:[OSC 8 エスケープシーケンス](https://en.wikipedia.org/wiki/ANSI_escape_code#OSC) を使用してテキストをクリック可能にします(macOS では Cmd+クリック、Windows/Linux では Ctrl+クリック)。iTerm2、Kitty、WezTerm などのハイパーリンクをサポートするターミナルが必要です。[クリック可能なリンクの例](#clickable-links) を参照してください。

146 146 

147**ターミナルに出力をサイズ調整する**

148 

149Claude Code はスクリプトの出力をキャプチャするため、ターミナルに直接接続しません。そのため、`tput cols` と言語レベルの幅検出はスクリプト内からターミナルサイズを読み取ることができません。{/* min-version: 2.1.153 */}`COLUMNS` および `LINES` 環境変数を代わりに読み取ってください。Claude Code はスクリプトを実行する前に、これらを現在のターミナルサイズに設定します。Claude Code v2.1.153 以降が必要です。

150 

147<Note>ステータスラインはローカルで実行され、API トークンを消費しません。オートコンプリート提案、ヘルプメニュー、パーミッションプロンプトなど、特定の UI 相互作用中は一時的に非表示になります。</Note>151<Note>ステータスラインはローカルで実行され、API トークンを消費しません。オートコンプリート提案、ヘルプメニュー、パーミッションプロンプトなど、特定の UI 相互作用中は一時的に非表示になります。</Note>

148 152 

149## 利用可能なデータ153## 利用可能なデータ


151Claude Code は以下の JSON フィールドを stdin 経由でスクリプトに送信します:155Claude Code は以下の JSON フィールドを stdin 経由でスクリプトに送信します:

152 156 

153| フィールド | 説明 |157| フィールド | 説明 |

154| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |158| ------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

155| `model.id`、`model.display_name` | 現在のモデル識別子と表示名 |159| `model.id`、`model.display_name` | 現在のモデル識別子と表示名 |

156| `cwd`、`workspace.current_dir` | 現在の作業ディレクトリ。両方のフィールドに同じ値が含まれます。`workspace.current_dir` は `workspace.project_dir` との一貫性のために推奨されます。 |160| `cwd`、`workspace.current_dir` | 現在の作業ディレクトリ。両方のフィールドに同じ値が含まれます。`workspace.current_dir` は `workspace.project_dir` との一貫性のために推奨されます。 |

157| `workspace.project_dir` | Claude Code が起動されたディレクトリ。セッション中に作業ディレクトリが変更された場合、`cwd` と異なる場合があります |161| `workspace.project_dir` | Claude Code が起動されたディレクトリ。セッション中に作業ディレクトリが変更された場合、`cwd` と異なる場合があります |

158| `workspace.added_dirs` | `/add-dir` または `--add-dir` 経由で追加された追加ディレクトリ。追加されていない場合は空配列 |162| `workspace.added_dirs` | `/add-dir` または `--add-dir` 経由で追加された追加ディレクトリ。追加されていない場合は空配列 |

159| `workspace.git_worktree` | 現在のディレクトリが `git worktree add` で作成されたリンク worktree 内にある場合の git worktree 名。メイン作業ツリーでは不在。`worktree.*` が `--worktree` セッションのみに適用されるのとは異なり、任意の git worktree に対して入力されます |163| `workspace.git_worktree` | 現在のディレクトリが `git worktree add` で作成されたリンク worktree 内にある場合の git worktree 名。メイン作業ツリーでは不在。`worktree.*` が `--worktree` セッションのみに適用されるのとは異なり、任意の git worktree に対して入力されます |

164| `workspace.repo.host`、`workspace.repo.owner`、`workspace.repo.name` | `origin` リモートから解析されたリポジトリ ID。例えば `"github.com"`、`"anthropics"`、`"claude-code"`。git リポジトリの外部または `origin` リモートが設定されていない場合は不在 |

160| `cost.total_cost_usd` | USD でのセッションの推定コスト。クライアント側で計算されます。実際の請求額と異なる場合があります |165| `cost.total_cost_usd` | USD でのセッションの推定コスト。クライアント側で計算されます。実際の請求額と異なる場合があります |

161| `cost.total_duration_ms` | セッション開始からの総経過時間(ミリ秒) |166| `cost.total_duration_ms` | セッション開始からの総経過時間(ミリ秒) |

162| `cost.total_api_duration_ms` | API レスポンスを待つのに費やされた総時間(ミリ秒) |167| `cost.total_api_duration_ms` | API レスポンスを待つのに費やされた総時間(ミリ秒) |


167| `context_window.remaining_percentage` | 事前計算されたコンテキストウィンドウ残り割合 |172| `context_window.remaining_percentage` | 事前計算されたコンテキストウィンドウ残り割合 |

168| `context_window.current_usage` | 最後の API 呼び出しからのトークン数。[コンテキストウィンドウフィールド](#context-window-fields) で説明されています |173| `context_window.current_usage` | 最後の API 呼び出しからのトークン数。[コンテキストウィンドウフィールド](#context-window-fields) で説明されています |

169| `exceeds_200k_tokens` | 最新の API レスポンスからの総トークン数(入力、キャッシュ、出力トークンの組み合わせ)が 200k を超えるかどうか。これは実際のコンテキストウィンドウサイズに関係なく固定閾値です。 |174| `exceeds_200k_tokens` | 最新の API レスポンスからの総トークン数(入力、キャッシュ、出力トークンの組み合わせ)が 200k を超えるかどうか。これは実際のコンテキストウィンドウサイズに関係なく固定閾値です。 |

170| `effort.level` | 現在の推論努力レベル(`low`、`medium`、`high`、`xhigh`、または `max`)。ライブセッション値を反映しており、セッション中の `/effort` 変更を含みます。現在のモデルが effort パラメータをサポートしていない場合は不在 |175| `effort.level` | 現在の推論努力レベル(`low`、`medium`、`high`、`xhigh`、または `max`)。ライブセッション値を反映しており、セッション中の `/effort` 変更を含みます。Ultracode は個別のレベルではなく、`xhigh` として報告されます。現在のモデルが effort パラメータをサポートしていない場合は不在 |

171| `thinking.enabled` | セッションで拡張思考が有効になっているかどうか |176| `thinking.enabled` | セッションで拡張思考が有効になっているかどうか |

172| `rate_limits.five_hour.used_percentage`、`rate_limits.seven_day.used_percentage` | 5 時間または 7 日のレート制限の消費割合(0~100) |177| `rate_limits.five_hour.used_percentage`、`rate_limits.seven_day.used_percentage` | 5 時間または 7 日のレート制限の消費割合(0~100) |

173| `rate_limits.five_hour.resets_at`、`rate_limits.seven_day.resets_at` | 5 時間または 7 日のレート制限ウィンドウがリセットされる Unix エポック秒 |178| `rate_limits.five_hour.resets_at`、`rate_limits.seven_day.resets_at` | 5 時間または 7 日のレート制限ウィンドウがリセットされる Unix エポック秒 |


178| `output_style.name` | 現在の出力スタイルの名前 |183| `output_style.name` | 現在の出力スタイルの名前 |

179| `vim.mode` | [vim モード](/ja/interactive-mode#vim-editor-mode) が有効な場合の現在の vim モード(`NORMAL`、`INSERT`、`VISUAL`、または `VISUAL LINE`) |184| `vim.mode` | [vim モード](/ja/interactive-mode#vim-editor-mode) が有効な場合の現在の vim モード(`NORMAL`、`INSERT`、`VISUAL`、または `VISUAL LINE`) |

180| `agent.name` | `--agent` フラグまたはエージェント設定が設定されている場合のエージェント名 |185| `agent.name` | `--agent` フラグまたはエージェント設定が設定されている場合のエージェント名 |

186| `pr.number`、`pr.url` | 現在のブランチのオープンプルリクエスト。下部ステータスバーの PR バッジをミラーします。PR が見つかるまで不在。git リポジトリにない場合、または PR がマージまたはクローズされた後は不在 |

187| `pr.review_state` | オープン PR のレビューステータス:`approved`、`pending`、`changes_requested`、または `draft`。`pr` が存在する場合でも独立して不在の可能性があります |

181| `worktree.name` | アクティブな worktree の名前。`--worktree` セッション中のみ存在 |188| `worktree.name` | アクティブな worktree の名前。`--worktree` セッション中のみ存在 |

182| `worktree.path` | worktree ディレクトリへの絶対パス |189| `worktree.path` | worktree ディレクトリへの絶対パス |

183| `worktree.branch` | worktree の git ブランチ名(例:`"worktree-my-feature"`)。フックベースの worktree では不在 |190| `worktree.branch` | worktree の git ブランチ名(例:`"worktree-my-feature"`)。フックベースの worktree では不在 |


194 "session_name": "my-session",201 "session_name": "my-session",

195 "transcript_path": "/path/to/transcript.jsonl",202 "transcript_path": "/path/to/transcript.jsonl",

196 "model": {203 "model": {

197 "id": "claude-opus-4-7",204 "id": "claude-opus-4-8",

198 "display_name": "Opus"205 "display_name": "Opus"

199 },206 },

200 "workspace": {207 "workspace": {

201 "current_dir": "/current/working/directory",208 "current_dir": "/current/working/directory",

202 "project_dir": "/original/project/directory",209 "project_dir": "/original/project/directory",

203 "added_dirs": [],210 "added_dirs": [],

204 "git_worktree": "feature-xyz"211 "git_worktree": "feature-xyz",

212 "repo": {

213 "host": "github.com",

214 "owner": "anthropics",

215 "name": "claude-code"

216 }

205 },217 },

206 "version": "2.1.90",218 "version": "2.1.90",

207 "output_style": {219 "output_style": {


250 "agent": {262 "agent": {

251 "name": "security-reviewer"263 "name": "security-reviewer"

252 },264 },

265 "pr": {

266 "number": 1234,

267 "url": "https://github.com/anthropics/claude-code/pull/1234",

268 "review_state": "pending"

269 },

253 "worktree": {270 "worktree": {

254 "name": "my-feature",271 "name": "my-feature",

255 "path": "/path/to/.claude/worktrees/my-feature",272 "path": "/path/to/.claude/worktrees/my-feature",


264 281 

265 * `session_name`:`--name` または `/rename` でカスタム名が設定されている場合のみ表示282 * `session_name`:`--name` または `/rename` でカスタム名が設定されている場合のみ表示

266 * `workspace.git_worktree`:現在のディレクトリがリンク git worktree 内にある場合のみ表示283 * `workspace.git_worktree`:現在のディレクトリがリンク git worktree 内にある場合のみ表示

284 * `workspace.repo`:git リポジトリ内で `origin` リモートが設定されている場合のみ表示

267 * `effort`:現在のモデルが推論努力パラメータをサポートしている場合のみ表示285 * `effort`:現在のモデルが推論努力パラメータをサポートしている場合のみ表示

268 * `vim`:vim モードが有効な場合のみ表示286 * `vim`:vim モードが有効な場合のみ表示

269 * `agent`:`--agent` フラグまたはエージェント設定が設定されている場合のみ表示287 * `agent`:`--agent` フラグまたはエージェント設定が設定されている場合のみ表示

288 * `pr`:現在のブランチのオープン PR が見つかった場合のみ表示。PR がマージまたはクローズされると削除されます。`pr.review_state` は独立して不在の可能性があります

270 * `worktree`:`--worktree` セッション中のみ表示。存在する場合、`branch` と `original_branch` もフックベースの worktree では不在の可能性があります289 * `worktree`:`--worktree` セッション中のみ表示。存在する場合、`branch` と `original_branch` もフックベースの worktree では不在の可能性があります

271 * `rate_limits`:Claude.ai サブスクライバー(Pro/Max)がセッションの最初の API レスポンスの後のみ表示。各ウィンドウ(`five_hour`、`seven_day`)は独立して不在の可能性があります。`jq -r '.rate_limits.five_hour.used_percentage // empty'` を使用して、不在を適切に処理します。290 * `rate_limits`:Claude.ai サブスクライバー(Pro/Max)がセッションの最初の API レスポンスの後のみ表示。各ウィンドウ(`five_hour`、`seven_day`)は独立して不在の可能性があります。`jq -r '.rate_limits.five_hour.used_percentage // empty'` を使用して、不在を適切に処理します。

272 291 

273 **`null` の可能性があるフィールド**:292 **`null` の可能性があるフィールド**:

274 293 

275 * `context_window.current_usage`:セッションの最初の API 呼び出しの前は `null`、および `/compact` の後は次の API 呼び出しが再度入力されるまで `null`294 * `context_window.current_usage`:セッションの最初の API 呼び出しの前は `null`。また `/compact` の直後は次の API 呼び出しが再度入力されるまで `null`

276 * `context_window.used_percentage`、`context_window.remaining_percentage`:セッションの早期段階では `null` の可能性があります295 * `context_window.used_percentage`、`context_window.remaining_percentage`:セッションの早期段階では `null` の可能性があります

277 296 

278 スクリプトで条件付きアクセスと null 値のフォールバックデフォルトを使用して、不在のフィールドを処理します。297 スクリプトで条件付きアクセスと null 値のフォールバックデフォルトを使用して、不在のフィールドを処理します。


292* `cache_creation_input_tokens`:キャッシュに書き込まれたトークン311* `cache_creation_input_tokens`:キャッシュに書き込まれたトークン

293* `cache_read_input_tokens`:キャッシュから読み取られたトークン312* `cache_read_input_tokens`:キャッシュから読み取られたトークン

294 313 

314キャッシュフィールドの意味とそれらがどのように請求されるかについては、[キャッシュパフォーマンスの確認](/ja/prompt-caching#check-cache-performance) を参照してください。

315 

295`used_percentage` フィールドは入力トークンのみから計算されます:`input_tokens + cache_creation_input_tokens + cache_read_input_tokens`。`output_tokens` は含まれません。316`used_percentage` フィールドは入力トークンのみから計算されます:`input_tokens + cache_creation_input_tokens + cache_read_input_tokens`。`output_tokens` は含まれません。

296 317 

297`current_usage` から手動でコンテキスト割合を計算する場合、`used_percentage` と一致させるために同じ入力のみの式を使用します。318`current_usage` から手動でコンテキスト割合を計算する場合、`used_percentage` と一致させるために同じ入力のみの式を使用します。

sub-agents.md +159 −55

Details

33* [フォークされたサブエージェント](#fork-the-current-conversation)33* [フォークされたサブエージェント](#fork-the-current-conversation)

34* [サブエージェントの例](#example-subagents)34* [サブエージェントの例](#example-subagents)

35 35 

36## 組み込みサブエージェント36<h2 id="built-in-subagents">

37 組み込みサブエージェント

38</h2>

37 39 

38Claude Code には、Claude が適切なときに自動的に使用する組み込みサブエージェントが含まれています。各サブエージェントは、親の会話の権限を継承し、追加のツール制限があります。40Claude Code には、Claude が適切なときに自動的に使用する組み込みサブエージェントが含まれています。各サブエージェントは、親の会話の権限を継承し、追加のツール制限があります。

39 41 


84 86 

85これらの組み込みサブエージェント以外に、カスタムプロンプト、ツール制限、権限モード、hooks、および skills を使用して独自のサブエージェントを作成できます。以下のセクションでは、開始方法とサブエージェントのカスタマイズ方法を示します。87これらの組み込みサブエージェント以外に、カスタムプロンプト、ツール制限、権限モード、hooks、および skills を使用して独自のサブエージェントを作成できます。以下のセクションでは、開始方法とサブエージェントのカスタマイズ方法を示します。

86 88 

87## クイックスタート:最初のサブエージェントを作成する89<h2 id="quickstart-create-your-first-subagent">

90 クイックスタート:最初のサブエージェントを作成する

91</h2>

88 92 

89サブエージェントは YAML フロントマターを含む Markdown ファイルで定義されます。[手動で作成](#write-subagent-files)することも、`/agents` コマンドを使用することもできます。93サブエージェントは YAML フロントマターを含む Markdown ファイルで定義されます。[手動で作成](#write-subagent-files)することも、`/agents` コマンドを使用することもできます。

90 94 


146 150 

147Markdown ファイルとして手動でサブエージェントを作成したり、CLI フラグを使用して定義したり、プラグインを通じて配布したりすることもできます。以下のセクションでは、すべての設定オプションについて説明します。151Markdown ファイルとして手動でサブエージェントを作成したり、CLI フラグを使用して定義したり、プラグインを通じて配布したりすることもできます。以下のセクションでは、すべての設定オプションについて説明します。

148 152 

149## サブエージェントを設定する153<h2 id="configure-subagents">

154 サブエージェントを設定する

155</h2>

150 156 

151### /agents コマンドを使用する157<h3 id="use-the-/agents-command">

158 /agents コマンドを使用する

159</h3>

152 160 

153`/agents` コマンドは、サブエージェントを管理するためのタブ付きインターフェースを開きます。**Running** タブはライブサブエージェントを表示し、それらを開くまたは停止できます。**Library** タブでは以下を実行できます:161`/agents` コマンドは、サブエージェントを管理するためのタブ付きインターフェースを開きます。**Running** タブはライブサブエージェントを表示し、それらを開くまたは停止できます。**Library** タブでは以下を実行できます:

154 162 


160 168 

161これはサブエージェントを作成および管理するための推奨される方法です。手動作成または自動化の場合は、サブエージェントファイルを直接追加することもできます。169これはサブエージェントを作成および管理するための推奨される方法です。手動作成または自動化の場合は、サブエージェントファイルを直接追加することもできます。

162 170 

163### サブエージェントのスコープを選択する171<h3 id="choose-the-subagent-scope">

172 サブエージェントのスコープを選択する

173</h3>

164 174 

165サブエージェントは YAML フロントマターを含む Markdown ファイルです。スコープに応じて異なる場所に保存します。複数のサブエージェントが同じ名前を共有する場合、より高い優先度の場所が優先されます。175サブエージェントは YAML フロントマターを含む Markdown ファイルです。スコープに応じて異なる場所に保存します。複数のサブエージェントが同じ名前を共有する場合、より高い優先度の場所が優先されます。

166 176 


234 244 

235これらのスコープのいずれかからのサブエージェント定義は、[エージェントチーム](/ja/agent-teams#use-subagent-definitions-for-teammates)でも利用可能です:チームメイトを生成するときに、サブエージェント型を参照でき、チームメイトはその `tools` と `model` を使用し、定義の本体がチームメイトのシステムプロンプトに追加指示として追加されます。[エージェントチーム](/ja/agent-teams#use-subagent-definitions-for-teammates)を参照して、どのフロントマターフィールドがこのパスに適用されるかを確認してください。245これらのスコープのいずれかからのサブエージェント定義は、[エージェントチーム](/ja/agent-teams#use-subagent-definitions-for-teammates)でも利用可能です:チームメイトを生成するときに、サブエージェント型を参照でき、チームメイトはその `tools` と `model` を使用し、定義の本体がチームメイトのシステムプロンプトに追加指示として追加されます。[エージェントチーム](/ja/agent-teams#use-subagent-definitions-for-teammates)を参照して、どのフロントマターフィールドがこのパスに適用されるかを確認してください。

236 246 

237### サブエージェントファイルを書く247<h3 id="write-subagent-files">

248 サブエージェントファイルを書く

249</h3>

238 250 

239サブエージェントファイルは、YAML フロントマターを使用して設定を行い、その後に Markdown でシステムプロンプトを続けます:251サブエージェントファイルは、YAML フロントマターを使用して設定を行い、その後に Markdown でシステムプロンプトを続けます:

240 252 


258 270 

259サブエージェントはメイン会話の現在の作業ディレクトリで開始します。サブエージェント内では、`cd` コマンドは Bash または PowerShell ツール呼び出し間で永続化されず、メイン会話の作業ディレクトリに影響しません。代わりにサブエージェントにリポジトリの分離されたコピーを提供するには、[`isolation: worktree`](#supported-frontmatter-fields)を設定します。271サブエージェントはメイン会話の現在の作業ディレクトリで開始します。サブエージェント内では、`cd` コマンドは Bash または PowerShell ツール呼び出し間で永続化されず、メイン会話の作業ディレクトリに影響しません。代わりにサブエージェントにリポジトリの分離されたコピーを提供するには、[`isolation: worktree`](#supported-frontmatter-fields)を設定します。

260 272 

261#### サポートされているフロントマターフィールド273<h4 id="supported-frontmatter-fields">

274 サポートされているフロントマターフィールド

275</h4>

262 276 

263以下のフィールドは YAML フロントマターで使用できます。`name` と `description` のみが必須です。277以下のフィールドは YAML フロントマターで使用できます。`name` と `description` のみが必須です。

264 278 

265| フィールド | 必須 | 説明 |279| フィールド | 必須 | 説明 |

266| :---------------- | :-- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |280| :---------------- | :-- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

267| `name` | はい | 小文字とハイフンを使用した一意の識別子。[Hooks](/ja/hooks#subagentstart)はこの値を `agent_type` として受け取ります。ファイル名は一致する必要はありません |281| `name` | はい | 小文字とハイフンを使用した一意の識別子。[Hooks](/ja/hooks#subagentstart)はこの値を `agent_type` として受け取ります。ファイル名は一致する必要はありません |

268| `description` | はい | Claude がこのサブエージェントに委譲する場合 |282| `description` | はい | Claude がこのサブエージェントに委譲する場合 |

269| `tools` | いいえ | サブエージェントが使用できる[ツール](#available-tools)。省略した場合はすべてのツールを継承します。スキルをコンテキストにプリロードするには、`tools` にリストするのではなく `skills` フィールドを使用します |283| `tools` | いいえ | サブエージェントが使用できる[ツール](#available-tools)。省略した場合はすべてのツールを継承します。スキルをコンテキストにプリロードするには、`tools` にリストするのではなく `skills` フィールドを使用します |

270| `disallowedTools` | いいえ | 拒否するツール。継承または指定されたリストから削除 |284| `disallowedTools` | いいえ | 拒否するツール。継承または指定されたリストから削除 |

271| `model` | いいえ | 使用する[モデル](#choose-a-model):`sonnet`、`opus`、`haiku`、完全なモデル ID(例:`claude-opus-4-7`)、または `inherit`。デフォルトは `inherit` |285| `model` | いいえ | 使用する[モデル](#choose-a-model):`sonnet`、`opus`、`haiku`、完全なモデル ID(例:`claude-opus-4-8`)、または `inherit`。デフォルトは `inherit` |

272| `permissionMode` | いいえ | [権限モード](#permission-modes):`default`、`acceptEdits`、`auto`、`dontAsk`、`bypassPermissions`、または `plan`。[プラグインサブエージェント](#choose-the-subagent-scope)では無視されます |286| `permissionMode` | いいえ | [権限モード](#permission-modes):`default`、`acceptEdits`、`auto`、`dontAsk`、`bypassPermissions`、または `plan`。[プラグインサブエージェント](#choose-the-subagent-scope)では無視されます |

273| `maxTurns` | いいえ | サブエージェントが停止する前の最大 agentic ターン数 |287| `maxTurns` | いいえ | サブエージェントが停止する前の最大 agentic ターン数 |

274| `skills` | いいえ | スタートアップ時にサブエージェントのコンテキストに[プリロード](/ja/skills)する[スキル](/ja/skills)。完全なスキルコンテンツが注入されます。説明だけでなく、スキル全体が注入されます。サブエージェントは、Skill ツールを通じて、リストされていないプロジェクト、ユーザー、およびプラグインスキルを引き続き呼び出すことができます |288| `skills` | いいえ | スタートアップ時にサブエージェントのコンテキストに[プリロード](/ja/skills)する[スキル](/ja/skills)。完全なスキルコンテンツが注入されます。説明だけでなく、スキル全体が注入されます。サブエージェントは、Skill ツールを通じて、リストされていないプロジェクト、ユーザー、およびプラグインスキルを引き続き呼び出すことができます |


277| `memory` | いいえ | [永続メモリスコープ](#enable-persistent-memory):`user`、`project`、または `local`。クロスセッション学習を有効にします |291| `memory` | いいえ | [永続メモリスコープ](#enable-persistent-memory):`user`、`project`、または `local`。クロスセッション学習を有効にします |

278| `background` | いいえ | `true` に設定して、このサブエージェントを常に[バックグラウンドタスク](#run-subagents-in-foreground-or-background)として実行します。デフォルト:`false` |292| `background` | いいえ | `true` に設定して、このサブエージェントを常に[バックグラウンドタスク](#run-subagents-in-foreground-or-background)として実行します。デフォルト:`false` |

279| `effort` | いいえ | このサブエージェントがアクティブな場合の努力レベル。セッション努力レベルをオーバーライドします。デフォルト:セッションから継承。オプション:`low`、`medium`、`high`、`xhigh`、`max`。利用可能なレベルはモデルに依存します |293| `effort` | いいえ | このサブエージェントがアクティブな場合の努力レベル。セッション努力レベルをオーバーライドします。デフォルト:セッションから継承。オプション:`low`、`medium`、`high`、`xhigh`、`max`。利用可能なレベルはモデルに依存します |

280| `isolation` | いいえ | `worktree` に設定して、サブエージェントを一時的な[git worktree](/ja/worktrees)で実行し、リポジトリの分離されたコピーを提供します。サブエージェントが変更を加えない場合、worktree は自動的にクリーンアップされます |294| `isolation` | いいえ | `worktree` に設定して、サブエージェントを一時的な[git worktree](/ja/worktrees)で実行し、リポジトリの分離されたコピーを提供します。デフォルトでは[デフォルトブランチ](/ja/worktrees#choose-the-base-branch)から分岐し、親セッションの `HEAD` ではなく、サブエージェントが変更を加えない場合、worktree は自動的にクリーンアップされます |

281| `color` | いいえ | タスクリストとトランスクリプトでサブエージェントの表示色。`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、または `cyan` を受け入れます |295| `color` | いいえ | タスクリストとトランスクリプトでサブエージェントの表示色。`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、または `cyan` を受け入れます |

282| `initialPrompt` | いいえ | このエージェントがメインセッションエージェント(`--agent` または `agent` 設定を通じて)として実行される場合、最初のユーザーターンとして自動送信されます。[コマンド](/ja/commands)および[スキル](/ja/skills)が処理されます。ユーザーが提供するプロンプトの前に付加されます |296| `initialPrompt` | いいえ | このエージェントがメインセッションエージェント(`--agent` または `agent` 設定を通じて)として実行される場合、最初のユーザーターンとして自動送信されます。[コマンド](/ja/commands)および[スキル](/ja/skills)が処理されます。ユーザーが提供するプロンプトの前に付加されます |

283 297 

284### モデルを選択する298<h3 id="choose-a-model">

299 モデルを選択する

300</h3>

285 301 

286`model` フィールドは、サブエージェントが使用する[AI モデル](/ja/model-config)を制御します:302`model` フィールドは、サブエージェントが使用する[AI モデル](/ja/model-config)を制御します:

287 303 

288* **モデルエイリアス**:利用可能なエイリアスの 1 つを使用します:`sonnet`、`opus`、または `haiku`304* **モデルエイリアス**:利用可能なエイリアスの 1 つを使用します:`sonnet`、`opus`、または `haiku`

289* **完全なモデル ID**:`claude-opus-4-7` または `claude-sonnet-4-6` などの完全なモデル ID を使用します。`--model` フラグと同じ値を受け入れます305* **完全なモデル ID**:`claude-opus-4-8` または `claude-sonnet-4-6` などの完全なモデル ID を使用します。`--model` フラグと同じ値を受け入れます

290* **inherit**:メイン会話と同じモデルを使用します306* **inherit**:メイン会話と同じモデルを使用します

291* **省略**:指定されていない場合、デフォルトは `inherit`(メイン会話と同じモデルを使用)です307* **省略**:指定されていない場合、デフォルトは `inherit`(メイン会話と同じモデルを使用)です

292 308 


2973. サブエージェント定義の `model` フロントマター3133. サブエージェント定義の `model` フロントマター

2984. メイン会話のモデル3144. メイン会話のモデル

299 315 

300### サブエージェント機能を制御する316<h3 id="control-subagent-capabilities">

317 サブエージェント機能を制御する

318</h3>

301 319 

302ツールアクセス、権限モード、および条件付きルールを通じて、サブエージェントが実行できることを制御できます。320ツールアクセス、権限モード、および条件付きルールを通じて、サブエージェントが実行できることを制御できます。

303 321 

304#### 利用可能なツール322<h4 id="available-tools">

323 利用可能なツール

324</h4>

305 325 

306サブエージェントは、Claude Code の[内部ツール](/ja/tools-reference)のいずれかを使用できます。デフォルトでは、サブエージェントは MCP ツールを含む、メイン会話からすべてのツールを継承します326サブエージェントは、デフォルトでメイン会話で利用可能な[内部ツール](/ja/tools-reference) MCP ツールを継承します以下のツールはメイン会話の UI またはセッション状態に依存し、`tools` フィールドにリストされている場合でも、サブエージェントでは利用できません:

327 

328* `Agent`

329* `AskUserQuestion`

330* `EnterPlanMode`

331* `ExitPlanMode`(サブエージェントの [`permissionMode`](#permission-modes)が `plan` の場合を除く)

332* `ScheduleWakeup`

333* `WaitForMcpServers`

307 334 

308ツールを制限するには、`tools` フィールド(許可リスト)または `disallowedTools` フィールド(拒否リスト)を使用します。この例は `tools` を使用して、Read、Grep、Glob、および Bash のみを排他的に許可します。サブエージェントはファイルを編集したり、ファイルを書き込んだり、MCP ツールを使用したりできません:335ツールを制限するには、`tools` フィールド(許可リスト)または `disallowedTools` フィールド(拒否リスト)を使用します。この例は `tools` を使用して、Read、Grep、Glob、および Bash のみを排他的に許可します。サブエージェントはファイルを編集したり、ファイルを書き込んだり、MCP ツールを使用したりできません:

309 336 


327 354 

328両方が設定されている場合、`disallowedTools` が最初に適用され、その後 `tools` が残りのプールに対して解決されます。両方にリストされているツールは削除されます。355両方が設定されている場合、`disallowedTools` が最初に適用され、その後 `tools` が残りのプールに対して解決されます。両方にリストされているツールは削除されます。

329 356 

330#### 生成できるサブエージェントを制限する357<h4 id="restrict-which-subagents-can-be-spawned">

358 生成できるサブエージェントを制限する

359</h4>

331 360 

332エージェントが `claude --agent` でメインスレッドとして実行される場合、Agent ツールを使用してサブエージェントを生成できます。生成できるサブエージェントの種類を制限するには、`tools` フィールドで `Agent(agent_type)` 構文を使用します。361エージェントが `claude --agent` でメインスレッドとして実行される場合、Agent ツールを使用してサブエージェントを生成できます。生成できるサブエージェントの種類を制限するには、`tools` フィールドで `Agent(agent_type)` 構文を使用します。

333 362 


351 380 

352`Agent` が `tools` リストから完全に省略されている場合、エージェントはサブエージェントを生成できません。この制限は、`claude --agent` でメインスレッドとして実行されるエージェントにのみ適用されます。サブエージェントは他のサブエージェントを生成できないため、`Agent(agent_type)` はサブエージェント定義では効果がありません。381`Agent` が `tools` リストから完全に省略されている場合、エージェントはサブエージェントを生成できません。この制限は、`claude --agent` でメインスレッドとして実行されるエージェントにのみ適用されます。サブエージェントは他のサブエージェントを生成できないため、`Agent(agent_type)` はサブエージェント定義では効果がありません。

353 382 

354#### MCP サーバーをサブエージェントにスコープする383<h4 id="scope-mcp-servers-to-a-subagent">

384 MCP サーバーをサブエージェントにスコープする

385</h4>

355 386 

356`mcpServers` フィールドを使用して、メイン会話で利用可能でない[MCP](/ja/mcp) サーバーへのアクセスをサブエージェントに付与します。ここで定義されたインラインサーバーは、サブエージェントの開始時に接続され、終了時に切断されます。文字列参照は親セッションの接続を共有します。387`mcpServers` フィールドを使用して、メイン会話で利用可能でない[MCP](/ja/mcp) サーバーへのアクセスをサブエージェントに付与します。ここで定義されたインラインサーバーは、サブエージェントの開始時に接続され、終了時に切断されます。文字列参照は親セッションの接続を共有します。

357 388 


387 418 

388MCP サーバーをメイン会話から完全に除外し、そのツール説明がコンテキストを消費するのを避けるには、`.mcp.json` ではなくここでインラインで定義します。サブエージェントはツールを取得します。親の会話は取得しません。419MCP サーバーをメイン会話から完全に除外し、そのツール説明がコンテキストを消費するのを避けるには、`.mcp.json` ではなくここでインラインで定義します。サブエージェントはツールを取得します。親の会話は取得しません。

389 420 

390#### 権限モード421v2.1.153 以降、メインセッションに適用される MCP 制限は、サブエージェントフロントマターで宣言されたサーバーもカバーします:

422 

423* [`--strict-mcp-config`](/ja/cli-reference)および [`--bare`](/ja/cli-reference)

424* [Enterprise 管理 MCP 設定](/ja/managed-mcp)

425* [`allowedMcpServers` および `deniedMcpServers` ポリシー](/ja/managed-mcp#policy-based-control-with-allowlists-and-denylists)

426 

427これらのいずれかがサーバーをブロックする場合、Claude Code はそれをスキップし、ブロックされたサーバーの名前を示す警告を表示します。

428 

429管理設定の制限は、定義方法に関係なく、すべてのサブエージェントに適用されます。`--strict-mcp-config` は、`--agents` または SDK `agents` オプションを通じてインラインで渡すサーバーをフィルタリングしません。これらは明示的な呼び出し元入力であるためです。

430 

431<h4 id="permission-modes">

432 権限モード

433</h4>

391 434 

392`permissionMode` フィールドは、サブエージェントが権限プロンプトをどのように処理するかを制御します。サブエージェントはメイン会話から権限コンテキストを継承しますが、モードをオーバーライドできます。ただし、以下で説明するように、親モードが優先される場合があります。435`permissionMode` フィールドは、サブエージェントが権限プロンプトをどのように処理するかを制御します。サブエージェントはメイン会話から権限コンテキストを継承しますが、モードをオーバーライドできます。ただし、以下で説明するように、親モードが優先される場合があります。

393 436 


401| `plan` | プランモード(読み取り専用探索) |444| `plan` | プランモード(読み取り専用探索) |

402 445 

403<Warning>446<Warning>

404 `bypassPermissions` は注意して使用してください。権限プロンプトをスキップし、サブエージェントが承認なしで操作を実行できるようにします。`.git`、`.claude`、`.vscode`、`.idea`、および `.husky` ディレクトリへの書き込みを含みます。`rm -rf /` などのルートおよびホームディレクトリの削除は、サーキットブレーカーとしてプロンプトが表示されます。詳細については、[権限モード](/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)を参照してください。447 `bypassPermissions` は注意して使用してください。権限プロンプトをスキップし、サブエージェントが承認なしで操作を実行できるようにします。`.git`、`.config/git`、`.claude`、`.vscode`、`.idea`、`.husky`、`.cargo`、`.devcontainer`、`.yarn`、および `.mvn` ディレクトリへの書き込みを含みます。`rm -rf /` などのルートおよびホームディレクトリの削除は、サーキットブレーカーとしてプロンプトが表示されます。詳細については、[権限モード](/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)を参照してください。

405</Warning>448</Warning>

406 449 

407親が `bypassPermissions` または `acceptEdits` を使用する場合、これが優先され、オーバーライドできません。親が[自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)を使用する場合、サブエージェントは自動モードを継承し、フロントマター内の `permissionMode` は無視されます:分類器は、親セッションと同じブロックおよび許可ルールを使用してサブエージェントのツール呼び出しを評価します。450親が `bypassPermissions` または `acceptEdits` を使用する場合、これが優先され、オーバーライドできません。親が[自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)を使用する場合、サブエージェントは自動モードを継承し、フロントマター内の `permissionMode` は無視されます:分類器は、親セッションと同じブロックおよび許可ルールを使用してサブエージェントのツール呼び出しを評価します。

408 451 

409#### スキルをサブエージェントにプリロードする452<h4 id="preload-skills-into-subagents">

453 スキルをサブエージェントにプリロードする

454</h4>

410 455 

411`skills` フィールドを使用して、スキルコンテンツをスタートアップ時にサブエージェントのコンテキストに注入します。これにより、実行中にスキルを検出して読み込む必要なく、サブエージェントにドメイン知識を提供します。456`skills` フィールドを使用して、スキルコンテンツをスタートアップ時にサブエージェントのコンテキストに注入します。これにより、実行中にスキルを検出して読み込む必要なく、サブエージェントにドメイン知識を提供します。

412 457 


430 これは[サブエージェントでスキルを実行する](/ja/skills#run-skills-in-a-subagent)の逆です。サブエージェントの `skills` を使用すると、サブエージェントはシステムプロンプトを制御し、スキルコンテンツを読み込みます。スキルの `context: fork` を使用すると、スキルコンテンツが指定したエージェントに注入されます。どちらも同じ基盤システムを使用します。475 これは[サブエージェントでスキルを実行する](/ja/skills#run-skills-in-a-subagent)の逆です。サブエージェントの `skills` を使用すると、サブエージェントはシステムプロンプトを制御し、スキルコンテンツを読み込みます。スキルの `context: fork` を使用すると、スキルコンテンツが指定したエージェントに注入されます。どちらも同じ基盤システムを使用します。

431</Note>476</Note>

432 477 

433#### 永続メモリを有効にする478<h4 id="enable-persistent-memory">

479 永続メモリを有効にする

480</h4>

434 481 

435`memory` フィールドは、会話全体で存続する永続ディレクトリをサブエージェントに提供します。サブエージェントはこのディレクトリを使用して、コードベースパターン、デバッグの洞察、アーキテクチャの決定など、時間をかけて知識を構築します。482`memory` フィールドは、会話全体で存続する永続ディレクトリをサブエージェントに提供します。サブエージェントはこのディレクトリを使用して、コードベースパターン、デバッグの洞察、アーキテクチャの決定など、時間をかけて知識を構築します。

436 483 


459* サブエージェントのシステムプロンプトには、メモリディレクトリの `MEMORY.md` の最初の 200 行または 25KB(どちらか小さい方)も含まれ、`MEMORY.md` がその制限を超える場合はキュレーションの指示が含まれます。506* サブエージェントのシステムプロンプトには、メモリディレクトリの `MEMORY.md` の最初の 200 行または 25KB(どちらか小さい方)も含まれ、`MEMORY.md` がその制限を超える場合はキュレーションの指示が含まれます。

460* Read、Write、および Edit ツールが自動的に有効になり、サブエージェントがメモリファイルを管理できるようになります。507* Read、Write、および Edit ツールが自動的に有効になり、サブエージェントがメモリファイルを管理できるようになります。

461 508 

462##### 永続メモリのヒント509<h5 id="persistent-memory-tips">

510 永続メモリのヒント

511</h5>

463 512 

464* `project` は推奨されるデフォルトスコープです。バージョン管理を通じてサブエージェント知識を共有可能にします。サブエージェントの知識がプロジェクト全体で広く適用可能な場合は `user` を使用するか、知識がバージョン管理にチェックインされるべきでない場合は `local` を使用します。513* `project` は推奨されるデフォルトスコープです。バージョン管理を通じてサブエージェント知識を共有可能にします。サブエージェントの知識がプロジェクト全体で広く適用可能な場合は `user` を使用するか、知識がバージョン管理にチェックインされるべきでない場合は `local` を使用します。

465* サブエージェントに作業を開始する前にメモリを確認するよう依頼します:「このプルリクエストをレビューし、以前に見たパターンについてメモリを確認してください。」514* サブエージェントに作業を開始する前にメモリを確認するよう依頼します:「このプルリクエストをレビューし、以前に見たパターンについてメモリを確認してください。」


473 and where.522 and where.

474 ```523 ```

475 524 

476#### hooks を使用した条件付きルール525<h4 id="conditional-rules-with-hooks">

526 hooks を使用した条件付きルール

527</h4>

477 528 

478ツール使用をより動的に制御するには、`PreToolUse` hooks を使用して、操作が実行される前に検証します。これは、ツールの一部の操作を許可しながら他の操作をブロックする必要がある場合に役立ちます。529ツール使用をより動的に制御するには、`PreToolUse` hooks を使用して、操作が実行される前に検証します。これは、ツールの一部の操作を許可しながら他の操作をブロックする必要がある場合に役立ちます。

479 530 


513 564 

514完全な入力スキーマについては[Hook 入力](/ja/hooks#pretooluse-input)を参照し、終了コードが動作に与える影響については[終了コード](/ja/hooks#exit-code-output)を参照してください。Windows では、PowerShell で hook スクリプトを記述し、[PowerShell で hooks を実行する](/ja/hooks#windows-powershell-tool)に示されているように hook エントリに `shell: powershell` を追加します。565完全な入力スキーマについては[Hook 入力](/ja/hooks#pretooluse-input)を参照し、終了コードが動作に与える影響については[終了コード](/ja/hooks#exit-code-output)を参照してください。Windows では、PowerShell で hook スクリプトを記述し、[PowerShell で hooks を実行する](/ja/hooks#windows-powershell-tool)に示されているように hook エントリに `shell: powershell` を追加します。

515 566 

516#### 特定のサブエージェントを無効にする567<h4 id="disable-specific-subagents">

568 特定のサブエージェントを無効にする

569</h4>

517 570 

518[設定](/ja/settings#permission-settings)の `deny` 配列にサブエージェントを追加することで、Claude が特定のサブエージェントを使用するのを防ぐことができます。`Agent(subagent-name)` 形式を使用します。ここで `subagent-name` はサブエージェントの name フィールドと一致します。571[設定](/ja/settings#permission-settings)の `deny` 配列にサブエージェントを追加することで、Claude が特定のサブエージェントを使用するのを防ぐことができます。`Agent(subagent-name)` 形式を使用します。ここで `subagent-name` はサブエージェントの name フィールドと一致します。

519 572 


533 586 

534権限ルールの詳細については、[権限ドキュメント](/ja/permissions#tool-specific-permission-rules)を参照してください。587権限ルールの詳細については、[権限ドキュメント](/ja/permissions#tool-specific-permission-rules)を参照してください。

535 588 

536### サブエージェント用の hooks を定義する589<h3 id="define-hooks-for-subagents">

590 サブエージェント用の hooks を定義する

591</h3>

537 592 

538サブエージェントは、サブエージェントのライフサイクル中に実行される[hooks](/ja/hooks)を定義できます。hooks を設定する方法は 2 つあります:593サブエージェントは、サブエージェントのライフサイクル中に実行される[hooks](/ja/hooks)を定義できます。hooks を設定する方法は 2 つあります:

539 594 

5401. **サブエージェントのフロントマター内**:そのサブエージェントがアクティブな間のみ実行される hooks を定義します5951. **サブエージェントのフロントマター内**:そのサブエージェントがアクティブな間のみ実行される hooks を定義します

5412. **`settings.json` 内**:サブエージェントが開始または停止するときにメインセッションで実行される hooks を定義します5962. **`settings.json` 内**:サブエージェントが開始または停止するときにメインセッションで実行される hooks を定義します

542 597 

543#### サブエージェントフロントマター内の hooks598<h4 id="hooks-in-subagent-frontmatter">

599 サブエージェントフロントマター内の hooks

600</h4>

544 601 

545サブエージェントの markdown ファイルで直接 hooks を定義します。これらの hooks は、その特定のサブエージェントがアクティブな間のみ実行され、終了時にクリーンアップされます。602サブエージェントの markdown ファイルで直接 hooks を定義します。これらの hooks は、その特定のサブエージェントがアクティブな間のみ実行され、終了時にクリーンアップされます。

546 603 


578 635 

579フロントマター内の `Stop` hooks は自動的に `SubagentStop` イベントに変換されます。636フロントマター内の `Stop` hooks は自動的に `SubagentStop` イベントに変換されます。

580 637 

581#### サブエージェントイベント用のプロジェクトレベル hooks638<h4 id="project-level-hooks-for-subagent-events">

639 サブエージェントイベント用のプロジェクトレベル hooks

640</h4>

582 641 

583メインセッションでサブエージェントのライフサイクルイベントに応答する hooks を `settings.json` で設定します。642メインセッションでサブエージェントのライフサイクルイベントに応答する hooks を `settings.json` で設定します。

584 643 


613 672 

614完全な hook 設定形式については、[Hooks](/ja/hooks)を参照してください。673完全な hook 設定形式については、[Hooks](/ja/hooks)を参照してください。

615 674 

616## サブエージェントを使用する675<h2 id="work-with-subagents">

676 サブエージェントを使用する

677</h2>

617 678 

618### 自動委譲を理解する679<h3 id="understand-automatic-delegation">

680 自動委譲を理解する

681</h3>

619 682 

620Claude は、リクエスト内のタスク説明、サブエージェント設定の `description` フィールド、および現在のコンテキストに基づいて、タスクを自動的に委譲します。積極的な委譲を促進するには、サブエージェントの description フィールドに「use proactively」などのフレーズを含めます。683Claude は、リクエスト内のタスク説明、サブエージェント設定の `description` フィールド、および現在のコンテキストに基づいて、タスクを自動的に委譲します。積極的な委譲を促進するには、サブエージェントの description フィールドに「use proactively」などのフレーズを含めます。

621 684 

622### サブエージェントを明示的に呼び出す685<h3 id="invoke-subagents-explicitly">

686 サブエージェントを明示的に呼び出す

687</h3>

623 688 

624自動委譲では不十分な場合、サブエージェント自体をリクエストできます。3 つのパターンは、1 回限りの提案からセッション全体のデフォルトまでエスカレートします:689自動委譲では不十分な場合、サブエージェント自体をリクエストできます。3 つのパターンは、1 回限りの提案からセッション全体のデフォルトまでエスカレートします:

625 690 


678 743 

679両方が存在する場合、CLI フラグが設定をオーバーライドします。744両方が存在する場合、CLI フラグが設定をオーバーライドします。

680 745 

681### サブエージェントをフォアグラウンドまたはバックグラウンドで実行する746<h3 id="run-subagents-in-foreground-or-background">

747 サブエージェントをフォアグラウンドまたはバックグラウンドで実行する

748</h3>

682 749 

683サブエージェントは、フォアグラウンド(ブロッキング)またはバックグラウンド(並行)で実行できます:750サブエージェントは、フォアグラウンド(ブロッキング)またはバックグラウンド(並行)で実行できます:

684 751 


694 761 

695すべてのバックグラウンドタスク機能を無効にするには、`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` 環境変数を `1` に設定します。[環境変数](/ja/env-vars)を参照してください。762すべてのバックグラウンドタスク機能を無効にするには、`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` 環境変数を `1` に設定します。[環境変数](/ja/env-vars)を参照してください。

696 763 

697[fork モード](#fork-the-current-conversation)が有効な場合、すべてのサブエージェント生成は `background` フィールドに関係なくバックグラウンドで実行されます。フォークは引き続き権限プロンプトをターミナルに表示します。名前付きサブエージェントは上記の説明のように、プロンプトが表示されるものを自動拒否します。764[`CLAUDE_CODE_FORK_SUBAGENT`](#fork-the-current-conversation)が設定されている場合、すべてのサブエージェント生成は `background` フィールドに関係なくバックグラウンドで実行されます。フォークは引き続き権限プロンプトをターミナルに表示します。名前付きサブエージェントは上記の説明のように、プロンプトが表示されるものを自動拒否します。

698 765 

699### 一般的なパターン766<h3 id="common-patterns">

767 一般的なパターン

768</h3>

700 769 

701#### 大量操作を分離する770<h4 id="isolate-high-volume-operations">

771 大量操作を分離する

772</h4>

702 773 

703サブエージェントの最も効果的な用途の 1 つは、大量の出力を生成する操作を分離することです。テストの実行、ドキュメントの取得、またはログファイルの処理は、かなりのコンテキストを消費できます。これらをサブエージェントに委譲することで、詳細な出力はサブエージェントのコンテキストに留まり、関連する概要のみがメイン会話に返されます。774サブエージェントの最も効果的な用途の 1 つは、大量の出力を生成する操作を分離することです。テストの実行、ドキュメントの取得、またはログファイルの処理は、かなりのコンテキストを消費できます。これらをサブエージェントに委譲することで、詳細な出力はサブエージェントのコンテキストに留まり、関連する概要のみがメイン会話に返されます。

704 775 


706Use a subagent to run the test suite and report only the failing tests with their error messages777Use a subagent to run the test suite and report only the failing tests with their error messages

707```778```

708 779 

709#### 並行研究を実行する780<h4 id="run-parallel-research">

781 並行研究を実行する

782</h4>

710 783 

711独立した調査の場合、複数のサブエージェントを生成して同時に動作させます:784独立した調査の場合、複数のサブエージェントを生成して同時に動作させます:

712 785 


722 795 

723持続的な並列性が必要なタスクまたはコンテキストウィンドウを超えるタスクの場合、[エージェントチーム](/ja/agent-teams)は各ワーカーに独立したコンテキストを提供します。796持続的な並列性が必要なタスクまたはコンテキストウィンドウを超えるタスクの場合、[エージェントチーム](/ja/agent-teams)は各ワーカーに独立したコンテキストを提供します。

724 797 

725#### サブエージェントをチェーンする798<h4 id="chain-subagents">

799 サブエージェントをチェーンする

800</h4>

726 801 

727マルチステップワークフローの場合、Claude にサブエージェントを順序立てて使用するよう依頼します。各サブエージェントはタスクを完了して結果を Claude に返し、Claude は関連するコンテキストを次のサブエージェントに渡します。802マルチステップワークフローの場合、Claude にサブエージェントを順序立てて使用するよう依頼します。各サブエージェントはタスクを完了して結果を Claude に返し、Claude は関連するコンテキストを次のサブエージェントに渡します。

728 803 


730Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them805Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them

731```806```

732 807 

733### サブエージェントとメイン会話の選択808<h3 id="choose-between-subagents-and-main-conversation">

809 サブエージェントとメイン会話の選択

810</h3>

734 811 

735**メイン会話** を使用する場合:812**メイン会話** を使用する場合:

736 813 


753 サブエージェントは他のサブエージェントを生成できません。ワークフローがネストされた委譲を必要とする場合は、[スキル](/ja/skills)を使用するか、メイン会話から[サブエージェントをチェーン](#chain-subagents)します。830 サブエージェントは他のサブエージェントを生成できません。ワークフローがネストされた委譲を必要とする場合は、[スキル](/ja/skills)を使用するか、メイン会話から[サブエージェントをチェーン](#chain-subagents)します。

754</Note>831</Note>

755 832 

756### サブエージェントコンテキストを管理する833<h3 id="manage-subagent-context">

834 サブエージェントコンテキストを管理する

835</h3>

757 836 

758#### スタートアップで読み込まれるもの837<h4 id="what-loads-at-startup">

838 スタートアップで読み込まれるもの

839</h4>

759 840 

760各サブエージェントは、新しい分離されたコンテキストウィンドウで開始します。会話履歴、既に呼び出したスキル、または Claude が既に読み込んだファイルは表示されません。Claude はタスクを要約した委譲メッセージを作成し、サブエージェントはそこから動作します。例外は[フォーク](#fork-the-current-conversation)で、新規に開始するのではなく親会話を継承します。841各サブエージェントは、新しい分離されたコンテキストウィンドウで開始します。会話履歴、既に呼び出したスキル、または Claude が既に読み込んだファイルは表示されません。Claude はタスクを要約した委譲メッセージを作成し、サブエージェントはそこから動作します。例外は[フォーク](#fork-the-current-conversation)で、新規に開始するのではなく親会話を継承します。

761 842 


771 852 

772メイン会話は Explore および Plan の結果を完全な CLAUDE.md コンテキストで読み込むため、ほとんどのルールはサブエージェント自体に到達する必要はありません。「`vendor/` ディレクトリを無視する」などのルールが必須の場合は、委譲時に Claude に与えるプロンプトで再度述べてください。853メイン会話は Explore および Plan の結果を完全な CLAUDE.md コンテキストで読み込むため、ほとんどのルールはサブエージェント自体に到達する必要はありません。「`vendor/` ディレクトリを無視する」などのルールが必須の場合は、委譲時に Claude に与えるプロンプトで再度述べてください。

773 854 

774#### サブエージェントを再開する855<h4 id="resume-subagents">

856 サブエージェントを再開する

857</h4>

775 858 

776各サブエージェント呼び出しは、新しいコンテキストで新しいインスタンスを作成します。最初からやり直すのではなく、既存のサブエージェントの作業を続けるには、Claude に再開するよう依頼します。859各サブエージェント呼び出しは、新しいコンテキストで新しいインスタンスを作成します。最初からやり直すのではなく、既存のサブエージェントの作業を続けるには、Claude に再開するよう依頼します。

777 860 


799* **セッション永続性**:サブエージェントトランスクリプトはセッション内で永続化されます。Claude Code を再起動した後、同じセッションを再開することで[サブエージェントを再開](#resume-subagents)できます。882* **セッション永続性**:サブエージェントトランスクリプトはセッション内で永続化されます。Claude Code を再起動した後、同じセッションを再開することで[サブエージェントを再開](#resume-subagents)できます。

800* **自動クリーンアップ**:トランスクリプトは `cleanupPeriodDays` 設定に基づいてクリーンアップされます(デフォルト:30 日)。883* **自動クリーンアップ**:トランスクリプトは `cleanupPeriodDays` 設定に基づいてクリーンアップされます(デフォルト:30 日)。

801 884 

802#### 自動圧縮885<h4 id="auto-compaction">

886 自動圧縮

887</h4>

803 888 

804サブエージェントは、メイン会話と同じロジックを使用した自動圧縮をサポートします。デフォルトでは、自動圧縮は約 95% の容量でトリガーされます。圧縮を早期にトリガーするには、`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` をより低いパーセンテージ(例:`50`)に設定します。詳細については、[環境変数](/ja/env-vars)を参照してください。889サブエージェントは、メイン会話と同じロジックを使用した自動圧縮をサポートします。デフォルトでは、自動圧縮は約 95% の容量でトリガーされます。圧縮を早期にトリガーするには、`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` をより低いパーセンテージ(例:`50`)に設定します。詳細については、[環境変数](/ja/env-vars)を参照してください。

805 890 


818 903 

819`preTokens` 値は、圧縮が発生する前に使用されたトークン数を示します。904`preTokens` 値は、圧縮が発生する前に使用されたトークン数を示します。

820 905 

821## 現在の会話をフォークする906<h2 id="fork-the-current-conversation">

907 現在の会話をフォークする

908</h2>

822 909 

823<Note>910<Note>

824 フォークされたサブエージェントは実験的であり、Claude Code v2.1.117 以降が必要です。動作と設定は将来のリリースで変更される可能性があります。[`CLAUDE_CODE_FORK_SUBAGENT`](/ja/env-vars) 環境変数を `1` に設定して有効にしてください。この変数はインタラクティブモードおよび SDK または `claude -p` 経由で有効になります。911 フォークされたサブエージェントは Claude Code v2.1.117 以降が必要です。{/* min-version: 2.1.161 */}v2.1.161 以降では `/fork` コマンドはデフォルトで有効になりますそれより前のバージョンでは [`CLAUDE_CODE_FORK_SUBAGENT`](/ja/env-vars) 環境変数を `1` に設定する必要がありますフォークをモデルの*デフォルト*スポーン動作にすることは実験的であり、将来のリリースで変更される可能性があります。同じ変数を設定して有効にしてください。この変数はインタラクティブモードおよび SDK または `claude -p` 経由で有効になります。

825</Note>912</Note>

826 913 

827フォークは、これまでの会話全体を継承するサブエージェントです。これにより、サブエージェントが通常提供する入力分離が削除されます。フォークはメインセッションと同じシステムプロンプト、ツール、モデル、およびメッセージ履歴を表示するため、状況を再度説明することなく、サイドタスクを渡すことができます。フォークのツール呼び出しはまだ会話から除外され、最終結果のみが返されるため、メインコンテキストウィンドウはクリーンなままです。フォークを使用する場合は、名前付きサブエージェントが有用であるには背景が多すぎる場合、または同じ開始点から複数のアプローチを並行して試したい場合です。914フォークは、これまでの会話全体を継承するサブエージェントです。これにより、サブエージェントが通常提供する入力分離が削除されます。フォークはメインセッションと同じシステムプロンプト、ツール、モデル、およびメッセージ履歴を表示するため、状況を再度説明することなく、サイドタスクを渡すことができます。フォークのツール呼び出しはまだ会話から除外され、最終結果のみが返されるため、メインコンテキストウィンドウはクリーンなままです。フォークを使用する場合は、名前付きサブエージェントが有用であるには背景が多すぎる場合、または同じ開始点から複数のアプローチを並行して試したい場合です。

828 915 

829フォークモードを有効にすると、Claude Code が 3 つの方法で変更されます:916`CLAUDE_CODE_FORK_SUBAGENT` を設定すると、Claude Code が 2 つの方法で変更されます:

830 917 

831* Claude は、[general-purpose](#built-in-subagents) サブエージェントを使用する場合にフォークを生成します。Explore などの名前付きサブエージェントは以前と同じように生成されます。918* Claude は、[general-purpose](#built-in-subagents) サブエージェントを使用する場合にフォークを生成します。Explore などの名前付きサブエージェントは以前と同じように生成されます。

832* すべてのサブエージェント生成は、[バックグラウンド](#run-subagents-in-foreground-or-background)で実行されます。`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` を `1` に設定して、生成を同期的に保つことができます。919* すべてのサブエージェント生成は、[バックグラウンド](#run-subagents-in-foreground-or-background)で実行されます。`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` を `1` に設定して、生成を同期的に保つことができます。

833* `/fork` コマンドは、[`/branch`](/ja/commands) のエイリアスとして機能するのではなく、フォークを生成します。

834 920 

835`/fork` の後に指示を続けて、フォークを自分で開始できます。Claude Code はフォークに指示の最初の単語から名前を付けます。次の例は、メインセッションで実装を続ける間に、フォークが会話をドラフトテストケースに分岐させます:921`/fork` の後に指示を続けて、フォークを自分で開始できます。Claude Code はフォークに指示の最初の単語から名前を付けます。次の例は、メインセッションで実装を続ける間に、フォークが会話をドラフトテストケースに分岐させます:

836 922 


840 926 

841フォークはプロンプト入力の下のパネルに表示され、作業を続ける間にバックグラウンドで実行されます。完了すると、その結果がメイン会話にメッセージとして到着します。次のセクションでは、実行中のフォークを監視して操作するためのパネルコントロールについて説明します。927フォークはプロンプト入力の下のパネルに表示され、作業を続ける間にバックグラウンドで実行されます。完了すると、その結果がメイン会話にメッセージとして到着します。次のセクションでは、実行中のフォークを監視して操作するためのパネルコントロールについて説明します。

842 928 

843### 実行中のフォークを観察して操作する929<h3 id="observe-and-steer-running-forks">

930 実行中のフォークを観察して操作する

931</h3>

844 932 

845実行中のフォークはプロンプト入力の下のパネルに表示され、メインセッション用に 1 行、各フォーク用に 1 行があります。これらのキーを使用してパネルと対話します:933実行中のフォークはプロンプト入力の下のパネルに表示され、メインセッション用に 1 行、各フォーク用に 1 行があります。これらのキーを使用してパネルと対話します:

846 934 


851| `x` | 完了したフォークを閉じるか、実行中のフォークを停止 |939| `x` | 完了したフォークを閉じるか、実行中のフォークを停止 |

852| `Esc` | フォーカスをプロンプト入力に戻す |940| `Esc` | フォーカスをプロンプト入力に戻す |

853 941 

854### フォークと名前付きサブエージェントの違い942<h3 id="how-forks-differ-from-named-subagents">

943 フォークと名前付きサブエージェントの違い

944</h3>

855 945 

856フォークはメインセッションがその時点で持っているすべてを継承します。名前付きサブエージェントは独自の定義から開始します。946フォークはメインセッションがその時点で持っているすべてを継承します。名前付きサブエージェントは独自の定義から開始します。

857 947 


863| 権限 | プロンプトがターミナルに表示 | バックグラウンド実行時に[自動拒否](#run-subagents-in-foreground-or-background) |953| 権限 | プロンプトがターミナルに表示 | バックグラウンド実行時に[自動拒否](#run-subagents-in-foreground-or-background) |

864| プロンプトキャッシュ | メインセッションと共有 | 別のキャッシュ |954| プロンプトキャッシュ | メインセッションと共有 | 別のキャッシュ |

865 955 

866フォークのシステムプロンプトとツール定義は親と同じであるため、最初のリクエストは親のプロンプトキャッシュを再利用します。これにより、同じコンテキストが必要なタスクの場合、フォークは新しいサブエージェントを生成するよりも安価です。956フォークのシステムプロンプトとツール定義は親と同じであるため、最初のリクエストは親の [prompt cache](/ja/prompt-caching#subagents-and-the-cache) を再利用します。これにより、同じコンテキストが必要なタスクの場合、フォークは新しいサブエージェントを生成するよりも安価です。

867 957 

868Claude がフォークを Agent ツール経由で生成するときに、`isolation: "worktree"` を渡すことができるため、フォークのファイル編集は、チェックアウトではなく、別の git worktree に書き込まれます。958Claude がフォークを Agent ツール経由で生成するときに、`isolation: "worktree"` を渡すことができるため、フォークのファイル編集は、チェックアウトではなく、別の git worktree に書き込まれます。

869 959 

870### 制限事項960<h3 id="limitations">

961 制限事項

962</h3>

871 963 

872`CLAUDE_CODE_FORK_SUBAGENT=1` を設定すると、インタラクティブセッション、[非インタラクティブモード](/ja/headless)、および Agent SDK でフォークモードが有効になります。フォークはさらにフォークを生成できません。964`CLAUDE_CODE_FORK_SUBAGENT=1` を設定すると、インタラクティブセッション、[非インタラクティブモード](/ja/headless)、および Agent SDK でフォークモードが有効になります。フォークはさらにフォークを生成できません。

873 965 

874## サブエージェントの例966<h2 id="example-subagents">

967 サブエージェントの例

968</h2>

875 969 

876これらの例は、サブエージェントを構築するための効果的なパターンを示しています。出発点として使用するか、Claude を使用してカスタマイズされたバージョンを生成します。970これらの例は、サブエージェントを構築するための効果的なパターンを示しています。出発点として使用するか、Claude を使用してカスタマイズされたバージョンを生成します。

877 971 


884 * **バージョン管理にチェックインする:** プロジェクトサブエージェントをチームと共有します978 * **バージョン管理にチェックインする:** プロジェクトサブエージェントをチームと共有します

885</Tip>979</Tip>

886 980 

887### コードレビュアー981<h3 id="code-reviewer">

982 コードレビュアー

983</h3>

888 984 

889コードを変更せずにレビューする読み取り専用サブエージェント。この例は、制限されたツールアクセス(Edit または Write なし)と、何を探すべきか、出力をどのようにフォーマットするかを正確に指定する詳細なプロンプトを使用して、焦点を絞ったサブエージェントを設計する方法を示しています。985コードを変更せずにレビューする読み取り専用サブエージェント。この例は、制限されたツールアクセス(Edit または Write なし)と、何を探すべきか、出力をどのようにフォーマットするかを正確に指定する詳細なプロンプトを使用して、焦点を絞ったサブエージェントを設計する方法を示しています。

890 986 


921Include specific examples of how to fix issues.1017Include specific examples of how to fix issues.

922```1018```

923 1019 

924### デバッガー1020<h3 id="debugger">

1021 デバッガー

1022</h3>

925 1023 

926問題を分析して修正できるサブエージェント。コードレビュアーとは異なり、このサブエージェントはバグの修正にはコード変更が必要なため、Edit を含みます。プロンプトは診断から検証までの明確なワークフローを提供します。1024問題を分析して修正できるサブエージェント。コードレビュアーとは異なり、このサブエージェントはバグの修正にはコード変更が必要なため、Edit を含みます。プロンプトは診断から検証までの明確なワークフローを提供します。

927 1025 


958Focus on fixing the underlying issue, not the symptoms.1056Focus on fixing the underlying issue, not the symptoms.

959```1057```

960 1058 

961### データサイエンティスト1059<h3 id="data-scientist">

1060 データサイエンティスト

1061</h3>

962 1062 

963データ分析作業向けのドメイン固有のサブエージェント。この例は、典型的なコーディングタスク以外の特化したワークフロー向けのサブエージェントを作成する方法を示しています。より有能な分析のために `model: sonnet` を明示的に設定します。1063データ分析作業向けのドメイン固有のサブエージェント。この例は、典型的なコーディングタスク以外の特化したワークフロー向けのサブエージェントを作成する方法を示しています。より有能な分析のために `model: sonnet` を明示的に設定します。

964 1064 


995Always ensure queries are efficient and cost-effective.1095Always ensure queries are efficient and cost-effective.

996```1096```

997 1097 

998### データベースクエリバリデーター1098<h3 id="database-query-validator">

1099 データベースクエリバリデーター

1100</h3>

999 1101 

1000Bash アクセスを許可しますが、読み取り専用 SQL クエリのみを許可するようにコマンドを検証するサブエージェント。この例は、`tools` フィールドが提供するよりも細かい制御が必要な場合に、`PreToolUse` hooks を使用して条件付き検証を行う方法を示しています。1102Bash アクセスを許可しますが、読み取り専用 SQL クエリのみを許可するようにコマンドを検証するサブエージェント。この例は、`tools` フィールドが提供するよりも細かい制御が必要な場合に、`PreToolUse` hooks を使用して条件付き検証を行う方法を示しています。

1001 1103 


1059 1161 

1060hook は stdin を通じて JSON を受け取り、Bash コマンドは `tool_input.command` にあります。終了コード 2 は操作をブロックし、エラーメッセージを Claude にフィードバックします。終了コードと出力の詳細については[Hooks](/ja/hooks#exit-code-output)を参照し、完全な入力スキーマについては[Hook 入力](/ja/hooks#pretooluse-input)を参照してください。1162hook は stdin を通じて JSON を受け取り、Bash コマンドは `tool_input.command` にあります。終了コード 2 は操作をブロックし、エラーメッセージを Claude にフィードバックします。終了コードと出力の詳細については[Hooks](/ja/hooks#exit-code-output)を参照し、完全な入力スキーマについては[Hook 入力](/ja/hooks#pretooluse-input)を参照してください。

1061 1163 

1062## 次のステップ1164<h2 id="next-steps">

1165 次のステップ

1166</h2>

1063 1167 

1064サブエージェントを理解したので、これらの関連機能を探索してください:1168サブエージェントを理解したので、これらの関連機能を探索してください:

1065 1169 

terminal-config.md +58 −20

Details

17 17 

18このページは、ターミナルが Claude Code に正しい信号を送信するようにすることについてです。Claude Code 自体が応答するキーを変更するには、代わりに [キーバインディング](/ja/keybindings) を参照してください。18このページは、ターミナルが Claude Code に正しい信号を送信するようにすることについてです。Claude Code 自体が応答するキーを変更するには、代わりに [キーバインディング](/ja/keybindings) を参照してください。

19 19 

20## 複数行のプロンプトを入力する20<h2 id="enter-multiline-prompts">

21 複数行のプロンプトを入力する

22</h2>

21 23 

22Enter キーを押すとメッセージが送信されます。送信せずに改行を追加するには、Ctrl+J を押すか、`\` を入力してから Enter キーを押します。どちらもセットアップなしですべてのターミナルで機能します。24Enter キーを押すとメッセージが送信されます。送信せずに改行を追加するには、Ctrl+J を押すか、`\` を入力してから Enter キーを押します。どちらもセットアップなしですべてのターミナルで機能します。

23 25 


26| ターミナル | Shift+Enter で改行 |28| ターミナル | Shift+Enter で改行 |

27| :---------------------------------------------------------------- | :-------------------------------- |29| :---------------------------------------------------------------- | :-------------------------------- |

28| Ghostty、Kitty、iTerm2、WezTerm、Warp、Apple Terminal、Windows Terminal | セットアップなしで機能 |30| Ghostty、Kitty、iTerm2、WezTerm、Warp、Apple Terminal、Windows Terminal | セットアップなしで機能 |

29| VS Code、Cursor、Windsurf、Alacritty、Zed | 1 回 `/terminal-setup` を実行 |31| VS Code、Cursor、Devin Desktop、Alacritty、Zed | 1 回 `/terminal-setup` を実行 |

30| gnome-terminal、PyCharm や Android Studio などの JetBrains IDE | 利用不可。Ctrl+J または `\` の後に Enter を使用 |32| gnome-terminal、PyCharm や Android Studio などの JetBrains IDE | 利用不可。Ctrl+J または `\` の後に Enter を使用 |

31 33 

32VS Code、Cursor、Windsurf、Alacritty、Zed の場合、`/terminal-setup` は Shift+Enter およびその他のキーバインディングをターミナルの設定ファイルに書き込みます。VS Code、Cursor、Windsurf ではエディタ設定で `terminal.integrated.mouseWheelScrollSensitivity` も設定され、[フルスクリーンモード](/ja/fullscreen) でのスクロールがスムーズになります。既存のバインディングと設定はそのまま保持されます。`VSCode terminal Shift+Enter key binding already configured` などのメッセージが表示された場合は、変更は加えられていません。tmux または screen 内ではなく、ホストターミナル内で直接 `/terminal-setup` を実行してください。ホストターミナルの設定に書き込む必要があるためです。34VS Code、Cursor、Devin Desktop、Alacritty、Zed の場合、`/terminal-setup` は Shift+Enter およびその他のキーバインディングをターミナルの設定ファイルに書き込みます。既存のバインディングはそのまま保持されます。`VSCode terminal Shift+Enter key binding already configured` などのメッセージが表示された場合は、変更は加えられていません。tmux または screen 内ではなく、ホストターミナル内で直接 `/terminal-setup` を実行してください。ホストターミナルの設定に書き込む必要があるためです。

35 

36VS Code、Cursor、Devin Desktop では、`/terminal-setup` はさらに 2 つのエディタ設定も更新します。統合ターミナルでのテキストの乱れを防ぐために `terminal.integrated.gpuAcceleration` を `"off"` に設定し、[フルスクリーンモード](/ja/fullscreen) でのスムーズなスクロールのために `terminal.integrated.mouseWheelScrollSensitivity` を設定します。GPU アクセラレーション変更を元に戻すには、`"auto"` に設定し直してエディタウィンドウをリロードしてください。

33 37 

34tmux 内で実行している場合、外側のターミナルがサポートしている場合でも、Shift+Enter には以下の [tmux 設定](#configure-tmux) が必要です。38tmux 内で実行している場合、外側のターミナルがサポートしている場合でも、Shift+Enter には以下の [tmux 設定](#configure-tmux) が必要です。

35 39 

36改行を別のキーにバインドするか、Enter が改行を挿入し Shift+Enter が送信するように動作を入れ替えるには、[キーバインディングファイル](/ja/keybindings) で `chat:newline` および `chat:submit` アクションをマップします。40改行を別のキーにバインドするか、Enter が改行を挿入し Shift+Enter が送信するように動作を入れ替えるには、[キーバインディングファイル](/ja/keybindings) で `chat:newline` および `chat:submit` アクションをマップします。

37 41 

38## macOS で Option キーショートカットを有効にする42<h2 id="enable-option-key-shortcuts-on-macos">

43 macOS で Option キーショートカットを有効にする

44</h2>

39 45 

40Claude Code のいくつかのショートカットは Option キーを使用します。例えば、改行の場合は Option+Enter、モデルを切り替える場合は Option+P です。macOS では、ほとんどのターミナルはデフォルトでは Option を修飾子として送信しないため、これらのショートカットは有効にするまで機能しません。このターミナル設定は通常「Option を Meta キーとして使用」というラベルが付いています。Meta は、現在 Option または Alt というラベルが付いているキーの歴史的な Unix 名です。46Claude Code のいくつかのショートカットは Option キーを使用します。例えば、改行の場合は Option+Enter、モデルを切り替える場合は Option+P です。macOS では、ほとんどのターミナルはデフォルトでは Option を修飾子として送信しないため、これらのショートカットは有効にするまで機能しません。このターミナル設定は通常「Option を Meta キーとして使用」というラベルが付いています。Meta は、現在 Option または Alt というラベルが付いているキーの歴史的な Unix 名です。

41 47 


59 65 

60Ghostty、Kitty、およびその他のターミナルについては、ターミナルの設定ファイルで Option-as-Alt または Option-as-Meta 設定を探してください。66Ghostty、Kitty、およびその他のターミナルについては、ターミナルの設定ファイルで Option-as-Alt または Option-as-Meta 設定を探してください。

61 67 

62## ターミナルベルまたは通知を取得する68<h2 id="get-a-terminal-bell-or-notification">

69 ターミナルベルまたは通知を取得する

70</h2>

63 71 

64Claude がタスクを完了するか、権限プロンプトで一時停止すると、通知イベントが発火します。これをターミナルベルまたはデスクトップ通知として表示すると、長いタスクが実行されている間に他の作業に切り替えることができます。72Claude がタスクを完了するか、権限プロンプトで一時停止すると、通知イベントが発火します。これをターミナルベルまたはデスクトップ通知として表示すると、長いタスクが実行されている間に他の作業に切り替えることができます。

65 73 


79 87 

80通知がまだ表示されない場合は、ターミナルアプリケーションが OS 設定で通知権限を持っていることを確認し、tmux 内で実行している場合は [パススルーを有効にします](#configure-tmux)。88通知がまだ表示されない場合は、ターミナルアプリケーションが OS 設定で通知権限を持っていることを確認し、tmux 内で実行している場合は [パススルーを有効にします](#configure-tmux)。

81 89 

82### 通知フックでサウンドを再生する90<h3 id="play-a-sound-with-a-notification-hook">

91 通知フックでサウンドを再生する

92</h3>

83 93 

84任意のターミナルで [通知フック](/ja/hooks-guide#get-notified-when-claude-needs-input) を設定して、Claude があなたの注意が必要なときにサウンドを再生するか、カスタムコマンドを実行できます。フックはデスクトップ通知の代わりではなく、並行して実行されるため、Warp や VS Code 統合ターミナルなどのデスクトップ通知を受け取らないターミナルは、フックを使用するか、`preferredNotifChannel` を `"terminal_bell"` に設定できます。94任意のターミナルで [通知フック](/ja/hooks-guide#get-notified-when-claude-needs-input) を設定して、Claude があなたの注意が必要なときにサウンドを再生するか、カスタムコマンドを実行できます。フックはデスクトップ通知の代わりではなく、並行して実行されるため、Warp や VS Code 統合ターミナルなどのデスクトップ通知を受け取らないターミナルは、フックを使用するか、`preferredNotifChannel` を `"terminal_bell"` に設定できます。

85 95 


97}107}

98```108```

99 109 

100## tmux を設定する110<h2 id="configure-tmux">

111 tmux を設定する

112</h2>

101 113 

102Claude Code が tmux 内で実行されている場合、デフォルトでは 2 つのことが壊れます。Shift+Enter が改行を挿入する代わりに送信し、デスクトップ通知と [プログレスバー](/ja/settings#available-settings) が外側のターミナルに到達しません。これらの行を `~/.tmux.conf` に追加し、`tmux source-file ~/.tmux.conf` を実行して実行中のサーバーに適用します。114Claude Code が tmux 内で実行されている場合、デフォルトでは 2 つのことが壊れます。Shift+Enter が改行を挿入する代わりに送信し、デスクトップ通知と [プログレスバー](/ja/settings#available-settings) が外側のターミナルに到達しません。これらの行を `~/.tmux.conf` に追加し、`tmux source-file ~/.tmux.conf` を実行して実行中のサーバーに適用します。

103 115 


109 121 

110`allow-passthrough` 行により、通知とプログレス更新が tmux に飲み込まれるのではなく、外側のターミナルに到達できます。`extended-keys` 行により、tmux は Shift+Enter をプレーン Enter と区別できるため、改行ショートカットが機能します。122`allow-passthrough` 行により、通知とプログレス更新が tmux に飲み込まれるのではなく、外側のターミナルに到達できます。`extended-keys` 行により、tmux は Shift+Enter をプレーン Enter と区別できるため、改行ショートカットが機能します。

111 123 

112## カラーテーマを一致させる124<h2 id="match-the-color-theme">

125 カラーテーマを一致させる

126</h2>

113 127 

114`/theme` コマンドを使用するか、`/config` のテーマピッカーを使用して、ターミナルに一致する Claude Code テーマを選択します。自動オプションを選択すると、ターミナルの明るいまたは暗い背景が検出されるため、テーマは OS の外観の変更に従います。Claude Code はターミナルアプリケーションによって設定されるターミナル自体のカラースキームを制御しません。128`/theme` コマンドを使用するか、`/config` のテーマピッカーを使用して、ターミナルに一致する Claude Code テーマを選択します。自動オプションを選択すると、ターミナルの明るいまたは暗い背景が検出されるため、テーマは OS の外観の変更に従います。Claude Code はターミナルアプリケーションによって設定されるターミナル自体のカラースキームを制御しません。

115 129 

116インターフェースの下部に表示される内容をカスタマイズするには、現在のモデル、作業ディレクトリ、git ブランチ、またはその他のコンテキストを表示する [カスタムステータスライン](/ja/statusline) を設定します。130インターフェースの下部に表示される内容をカスタマイズするには、現在のモデル、作業ディレクトリ、git ブランチ、またはその他のコンテキストを表示する [カスタムステータスライン](/ja/statusline) を設定します。

117 131 

118### カスタムテーマを作成する132<h3 id="create-a-custom-theme">

133 カスタムテーマを作成する

134</h3>

119 135 

120<Note>136<Note>

121 カスタムテーマには Claude Code v2.1.118 以降が必要です。137 カスタムテーマには Claude Code v2.1.118 以降が必要です。


168 }184 }

169 ```185 ```

170 186 

171 #### テキストとアクセントカラー187 <h4 id="text-and-accent-colors">

188 テキストとアクセントカラー

189 </h4>

172 190 

173 プライマリブランドアクセントと、インターフェース全体で使用されるフォアグラウンドテキストの色合いを制御します。191 プライマリブランドアクセントと、インターフェース全体で使用されるフォアグラウンドテキストの色合いを制御します。

174 192 


183 | `permission` | パーミッションプロンプトとピッカーを含むダイアログボーダー |201 | `permission` | パーミッションプロンプトとピッカーを含むダイアログボーダー |

184 | `remember` | メモリと `CLAUDE.md` インジケーター |202 | `remember` | メモリと `CLAUDE.md` インジケーター |

185 203 

186 #### ステータスカラー204 <h4 id="status-colors">

205 ステータスカラー

206 </h4>

187 207 

188 メッセージとインジケーター全体で成功、失敗、警告状態を通知します。208 メッセージとインジケーター全体で成功、失敗、警告状態を通知します。

189 209 


194 | `warning` | 警告、注意メッセージ、および自動モードボーダー |214 | `warning` | 警告、注意メッセージ、および自動モードボーダー |

195 | `merged` | マージされたプルリクエストステータス |215 | `merged` | マージされたプルリクエストステータス |

196 216 

197 #### 入力ボックスとモードインジケーター217 <h4 id="input-box-and-mode-indicators">

218 入力ボックスとモードインジケーター

219 </h4>

198 220 

199 入力ボックスのボーダーカラーと、パーミッションモードまたはインジケーターがアクティブな間に表示されるアクセントを設定します。221 入力ボックスのボーダーカラーと、パーミッションモードまたはインジケーターがアクティブな間に表示されるアクセントを設定します。

200 222 


207 | `ide` | IDE 接続インジケーター |229 | `ide` | IDE 接続インジケーター |

208 | `fastMode` | 高速モードインジケーター |230 | `fastMode` | 高速モードインジケーター |

209 231 

210 #### Diff レンダリング232 <h4 id="diff-rendering">

233 Diff レンダリング

234 </h4>

211 235 

212 ファイル編集とレビューで追加および削除されたコードに色を付けます。236 ファイル編集とレビューで追加および削除されたコードに色を付けます。

213 237 


220 | `diffAddedWord` | 追加された行内の単語レベルのハイライト |244 | `diffAddedWord` | 追加された行内の単語レベルのハイライト |

221 | `diffRemovedWord` | 削除された行内の単語レベルのハイライト |245 | `diffRemovedWord` | 削除された行内の単語レベルのハイライト |

222 246 

223 #### 全画面モード247 <h4 id="fullscreen-mode">

248 全画面モード

249 </h4>

224 250 

225 [全画面レンダリングモード](/ja/fullscreen) でのみ適用されます。メッセージは背景塗りつぶしを持ちます。251 [全画面レンダリングモード](/ja/fullscreen) でのみ適用されます。メッセージは背景塗りつぶしを持ちます。

226 252 


233 | `memoryBackgroundColor` | トランスクリプト内の `#` メモリエントリの背後の背景 |259 | `memoryBackgroundColor` | トランスクリプト内の `#` メモリエントリの背後の背景 |

234 | `selectionBg` | マウスで選択されたテキストの背景 |260 | `selectionBg` | マウスで選択されたテキストの背景 |

235 261 

236 #### 使用量メーターとスピーカーラベル262 <h4 id="usage-meter-and-speaker-labels">

263 使用量メーターとスピーカーラベル

264 </h4>

237 265 

238 `/usage` ビューに表示されるバーと、メッセージを区別するラベルを調整します。266 `/usage` ビューに表示されるバーと、メッセージを区別するラベルを調整します。

239 267 


244 | `briefLabelYou` | メッセージの `You` ラベルの色 |272 | `briefLabelYou` | メッセージの `You` ラベルの色 |

245 | `briefLabelClaude` | アシスタントメッセージの `Claude` ラベルの色 |273 | `briefLabelClaude` | アシスタントメッセージの `Claude` ラベルの色 |

246 274 

247 #### シマー変種とサブエージェントカラー275 <h4 id="shimmer-variants-and-subagent-colors">

276 シマー変種とサブエージェントカラー

277 </h4>

248 278 

249 複数のトークンにはペアになったシマー変種があり、スピナーのアニメーション化されたグラデーションで使用される明るい色を提供します。アニメーションが一致しないように見える場合は、ベーストークンと一緒にシマーをオーバーライドします。279 複数のトークンにはペアになったシマー変種があり、スピナーのアニメーション化されたグラデーションで使用される明るい色を提供します。アニメーションが一致しないように見える場合は、ベーストークンと一緒にシマーをオーバーライドします。

250 280 


260 [`ultrathink`](/ja/model-config#use-ultrathink-for-one-off-deep-reasoning) と [`ultraplan`](/ja/ultraplan) キーワードはプロンプト入力で 7 色のレインボーグラデーションでレンダリングされます。トークン名は `rainbow_<color>` と `rainbow_<color>_shimmer` パターンに従います。ここで `<color>` は `red`、`orange`、`yellow`、`green`、`blue`、`indigo`、または `violet` です。290 [`ultrathink`](/ja/model-config#use-ultrathink-for-one-off-deep-reasoning) と [`ultraplan`](/ja/ultraplan) キーワードはプロンプト入力で 7 色のレインボーグラデーションでレンダリングされます。トークン名は `rainbow_<color>` と `rainbow_<color>_shimmer` パターンに従います。ここで `<color>` は `red`、`orange`、`yellow`、`green`、`blue`、`indigo`、または `violet` です。

261</Accordion>291</Accordion>

262 292 

263## フルスクリーンレンダリングに切り替える293<h2 id="switch-to-fullscreen-rendering">

294 フルスクリーンレンダリングに切り替える

295</h2>

264 296 

265Claude が作業中に表示がちらつくか、スクロール位置がジャンプする場合は、[フルスクリーンレンダリングモード](/ja/fullscreen) に切り替えます。ターミナルが通常のスクロールバックに追加する代わりに、フルスクリーンアプリ用に予約されている別のスクリーンに描画します。これにより、メモリ使用量が一定に保たれ、スクロールと選択のマウスサポートが追加されます。このモードでは、ターミナルのネイティブスクロールバックではなく、マウスまたは PageUp で Claude Code 内をスクロールします。検索とコピーの方法については、[フルスクリーンページ](/ja/fullscreen#search-and-review-the-conversation) を参照してください。297Claude が作業中に表示がちらつくか、スクロール位置がジャンプする場合は、[フルスクリーンレンダリングモード](/ja/fullscreen) に切り替えます。ターミナルが通常のスクロールバックに追加する代わりに、フルスクリーンアプリ用に予約されている別のスクリーンに描画します。これにより、メモリ使用量が一定に保たれ、スクロールと選択のマウスサポートが追加されます。このモードでは、ターミナルのネイティブスクロールバックではなく、マウスまたは PageUp で Claude Code 内をスクロールします。検索とコピーの方法については、[フルスクリーンページ](/ja/fullscreen#search-and-review-the-conversation) を参照してください。

266 298 


284 ```316 ```

285</CodeGroup>317</CodeGroup>

286 318 

287## 大量のコンテンツを貼り付ける319<h2 id="paste-large-content">

320 大量のコンテンツを貼り付ける

321</h2>

288 322 

289プロンプトに 10,000 文字以上を貼り付けると、Claude Code は入力を `[Pasted text]` プレースホルダーに折りたたんで、入力ボックスが使用可能なままになります。完全なコンテンツは送信時に Claude に送信されます。323プロンプトに 10,000 文字以上を貼り付けると、Claude Code は入力を `[Pasted text]` プレースホルダーに折りたたんで、入力ボックスが使用可能なままになります。完全なコンテンツは送信時に Claude に送信されます。

290 324 

291VS Code 統合ターミナルは、Claude Code に到達する前に非常に大きな貼り付けから文字をドロップできるため、そこではファイルベースのワークフローを優先します。ファイル全体や長いログなどの非常に大きな入力の場合は、コンテンツをファイルに書き込み、貼り付けの代わりに Claude に読み込むよう依頼します。これにより、会話トランスクリプトが読みやすくなり、Claude が後の手番でパスでファイルを参照できます。325VS Code 統合ターミナルは、Claude Code に到達する前に非常に大きな貼り付けから文字をドロップできるため、そこではファイルベースのワークフローを優先します。ファイル全体や長いログなどの非常に大きな入力の場合は、コンテンツをファイルに書き込み、貼り付けの代わりに Claude に読み込むよう依頼します。これにより、会話トランスクリプトが読みやすくなり、Claude が後の手番でパスでファイルを参照できます。

292 326 

293## Vim キーバインディングでプロンプトを編集する327<h2 id="edit-prompts-with-vim-keybindings">

328 Vim キーバインディングでプロンプトを編集する

329</h2>

294 330 

295Claude Code には、プロンプト入力用の Vim スタイルの編集モードが含まれています。`/config` → エディタモードを通じて有効にするか、`~/.claude/settings.json` で [`editorMode`](/ja/settings#available-settings) を `"vim"` に設定します。エディタモードを `normal` に戻してオフにします。331Claude Code には、プロンプト入力用の Vim スタイルの編集モードが含まれています。`/config` → エディタモードを通じて有効にするか、`~/.claude/settings.json` で [`editorMode`](/ja/settings#available-settings) を `"vim"` に設定します。エディタモードを `normal` に戻してオフにします。

296 332 


298 334 

299INSERT モードで Enter キーを押すと、標準 Vim とは異なり、プロンプトが送信されます。代わりに改行を挿入するには、NORMAL モードで `o` または `O` を使用するか、Ctrl+J を使用します。335INSERT モードで Enter キーを押すと、標準 Vim とは異なり、プロンプトが送信されます。代わりに改行を挿入するには、NORMAL モードで `o` または `O` を使用するか、Ctrl+J を使用します。

300 336 

301## 関連リソース337<h2 id="related-resources">

338 関連リソース

339</h2>

302 340 

303* [インタラクティブモード](/ja/interactive-mode):完全なキーボードショートカットリファレンスと Vim キーテーブル341* [インタラクティブモード](/ja/interactive-mode):完全なキーボードショートカットリファレンスと Vim キーテーブル

304* [キーバインディング](/ja/keybindings):Enter と Shift+Enter を含む任意の Claude Code ショートカットを再マップ342* [キーバインディング](/ja/keybindings):Enter と Shift+Enter を含む任意の Claude Code ショートカットを再マップ

Details

6 6 

7> Claude Code が様々なサードパーティサービスとインフラストラクチャと統合して、エンタープライズデプロイメント要件を満たす方法について学びます。7> Claude Code が様々なサードパーティサービスとインフラストラクチャと統合して、エンタープライズデプロイメント要件を満たす方法について学びます。

8 8 

9export const ContactSalesCard = ({surface}) => {

10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;

11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">

12 <line x1="5" y1="12" x2="19" y2="12" />

13 <polyline points="12 5 19 12 12 19" />

14 </svg>;

15 const STYLES = `

16.cc-cs {

17 --cs-slate: #141413;

18 --cs-clay: #d97757;

19 --cs-clay-deep: #c6613f;

20 --cs-gray-000: #ffffff;

21 --cs-gray-700: #3d3d3a;

22 --cs-border-default: rgba(31, 30, 29, 0.15);

23 font-family: inherit;

24}

25.dark .cc-cs {

26 --cs-slate: #f0eee6;

27 --cs-gray-000: #262624;

28 --cs-gray-700: #bfbdb4;

29 --cs-border-default: rgba(240, 238, 230, 0.14);

30}

31.cc-cs-card {

32 display: flex; align-items: center; justify-content: space-between;

33 gap: 16px; padding: 14px 16px; margin: 0;

34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);

35 border-radius: 8px; flex-wrap: wrap;

36}

37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }

38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }

39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

40.cc-cs-btn-clay {

41 display: inline-flex; align-items: center; gap: 8px;

42 background: var(--cs-clay-deep); color: #fff; border: none;

43 border-radius: 8px; padding: 8px 14px;

44 font-size: 13px; font-weight: 500;

45 transition: background-color 0.15s; white-space: nowrap;

46}

47.cc-cs-btn-clay:hover { background: var(--cs-clay); }

48.cc-cs-btn-ghost {

49 display: inline-flex; align-items: center; gap: 8px;

50 background: transparent; color: var(--cs-gray-700);

51 border: 0.5px solid var(--cs-border-default);

52 border-radius: 8px; padding: 8px 14px;

53 font-size: 13px; font-weight: 500;

54}

55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }

56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }

57@media (max-width: 720px) {

58 .cc-cs-actions { width: 100%; }

59}

60`;

61 return <div className="cc-cs not-prose">

62 <style>{STYLES}</style>

63 <div className="cc-cs-card">

64 <div className="cc-cs-text">

65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.

66 </div>

67 <div className="cc-cs-actions">

68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">

69 View plans

70 </a>

71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">

72 Contact sales {iconArrowRight()}

73 </a>

74 </div>

75 </div>

76 </div>;

77};

78 

79組織は Anthropic を通じて直接、またはクラウドプロバイダーを通じて Claude Code をデプロイできます。このページは、適切な構成を選択するのに役立ちます。9組織は Anthropic を通じて直接、またはクラウドプロバイダーを通じて Claude Code をデプロイできます。このページは、適切な構成を選択するのに役立ちます。

80 10 

81<ContactSalesCard surface="third_party_overview" />11<h2 id="compare-deployment-options">

82 12 デプロイメントオプションの比較

83## デプロイメントオプションの比較13</h2>

84 14 

85ほとんどの組織では、Claude for Teams または Claude for Enterprise が最適なエクスペリエンスを提供します。チームメンバーは、単一のサブスクリプション、一元化された請求、インフラストラクチャセットアップが不要で、Claude Code と Web 上の Claude の両方にアクセスできます。15ほとんどの組織では、Claude for Teams または Claude for Enterprise が最適なエクスペリエンスを提供します。チームメンバーは、単一のサブスクリプション、一元化された請求、インフラストラクチャセットアップが不要で、Claude Code と Web 上の Claude の両方にアクセスできます。

86 16 


197* [Google Vertex AI](/ja/google-vertex-ai)127* [Google Vertex AI](/ja/google-vertex-ai)

198* [Microsoft Foundry](/ja/microsoft-foundry)128* [Microsoft Foundry](/ja/microsoft-foundry)

199 129 

200## プロキシとゲートウェイの構成130<h2 id="configure-proxies-and-gateways">

131 プロキシとゲートウェイの構成

132</h2>

201 133 

202ほとんどの組織は、追加の構成なしでクラウドプロバイダーを直接使用できます。ただし、組織に特定のネットワークまたは管理要件がある場合は、企業プロキシまたは LLM ゲートウェイを構成する必要がある場合があります。これらは一緒に使用できる異なる構成です。134ほとんどの組織は、追加の構成なしでクラウドプロバイダーを直接使用できます。ただし、組織に特定のネットワークまたは管理要件がある場合は、企業プロキシまたは LLM ゲートウェイを構成する必要がある場合があります。これらは一緒に使用できる異なる構成です。

203 135 


206 138 

207以下の例は、シェルまたはシェルプロファイル(`.bashrc`、`.zshrc`)で設定する環境変数を示しています。その他の構成方法については、[設定](/ja/settings)を参照してください。139以下の例は、シェルまたはシェルプロファイル(`.bashrc`、`.zshrc`)で設定する環境変数を示しています。その他の構成方法については、[設定](/ja/settings)を参照してください。

208 140 

209### Amazon Bedrock141<h3 id="amazon-bedrock">

142 Amazon Bedrock

143</h3>

210 144 

211<Tabs>145<Tabs>

212 <Tab title="企業プロキシ">146 <Tab title="企業プロキシ">


236 </Tab>170 </Tab>

237</Tabs>171</Tabs>

238 172 

239### Microsoft Foundry173<h3 id="microsoft-foundry">

174 Microsoft Foundry

175</h3>

240 176 

241<Tabs>177<Tabs>

242 <Tab title="企業プロキシ">178 <Tab title="企業プロキシ">


267 </Tab>203 </Tab>

268</Tabs>204</Tabs>

269 205 

270### Google Vertex AI206<h3 id="google-vertex-ai">

207 Google Vertex AI

208</h3>

271 209 

272<Tabs>210<Tabs>

273 <Tab title="企業プロキシ">211 <Tab title="企業プロキシ">


302 Claude Code で `/status` を使用して、プロキシとゲートウェイの構成が正しく適用されていることを確認します。240 Claude Code で `/status` を使用して、プロキシとゲートウェイの構成が正しく適用されていることを確認します。

303</Tip>241</Tip>

304 242 

305## 組織のベストプラクティス243<h2 id="best-practices-for-organizations">

244 組織のベストプラクティス

245</h2>

306 246 

307### ドキュメントとメモリに投資する247<h3 id="invest-in-documentation-and-memory">

248 ドキュメントとメモリに投資する

249</h3>

308 250 

309Claude Code がコードベースを理解できるようにドキュメントに投資することを強くお勧めします。組織は複数のレベルで CLAUDE.md ファイルをデプロイできます。251Claude Code がコードベースを理解できるようにドキュメントに投資することを強くお勧めします。組織は複数のレベルで CLAUDE.md ファイルをデプロイできます。

310 252 


313 255 

314[メモリと CLAUDE.md ファイル](/ja/memory)で詳細をご覧ください。256[メモリと CLAUDE.md ファイル](/ja/memory)で詳細をご覧ください。

315 257 

316### デプロイメントを簡素化する258<h3 id="simplify-deployment">

259 デプロイメントを簡素化する

260</h3>

317 261 

318カスタム開発環境がある場合は、Claude Code をインストールする「ワンクリック」の方法を作成することが、組織全体での採用を促進するための鍵となることがわかっています。262カスタム開発環境がある場合は、Claude Code をインストールする「ワンクリック」の方法を作成することが、組織全体での採用を促進するための鍵となることがわかっています。

319 263 

320### ガイド付き使用から始める264<h3 id="start-with-guided-usage">

265 ガイド付き使用から始める

266</h3>

321 267 

322新しいユーザーに Claude Code をコードベースの Q\&A、または小さなバグ修正または機能リクエストで試すことをお勧めします。Claude Code にプランを作成するよう依頼します。Claude の提案を確認し、軌道を外れている場合はフィードバックを提供します。時間が経つにつれて、ユーザーがこの新しいパラダイムをより理解するようになると、Claude Code をより積極的に実行させるのに効果的になります。268新しいユーザーに Claude Code をコードベースの Q\&A、または小さなバグ修正または機能リクエストで試すことをお勧めします。Claude Code にプランを作成するよう依頼します。Claude の提案を確認し、軌道を外れている場合はフィードバックを提供します。時間が経つにつれて、ユーザーがこの新しいパラダイムをより理解するようになると、Claude Code をより積極的に実行させるのに効果的になります。

323 269 

324### クラウドプロバイダーのモデルバージョンをピン留めする270<h3 id="pin-model-versions-for-cloud-providers">

271 クラウドプロバイダーのモデルバージョンをピン留めする

272</h3>

325 273 

326[Bedrock](/ja/amazon-bedrock)、[Vertex AI](/ja/google-vertex-ai)、[Foundry](/ja/microsoft-foundry)、または [Claude Platform on AWS](/ja/claude-platform-on-aws) を通じてデプロイする場合は、`ANTHROPIC_DEFAULT_OPUS_MODEL`、`ANTHROPIC_DEFAULT_SONNET_MODEL`、および `ANTHROPIC_DEFAULT_HAIKU_MODEL` を使用して特定のモデルバージョンをピン留めします。ピン留めしない場合、モデルエイリアスは最新バージョンに解決され、Anthropic が新しいモデルをリリースしてアカウントでまだ有効になっていない場合があります。ピン留めすることで、ユーザーが新しいモデルに移行するタイミングを制御できます。各プロバイダーが最新バージョンが利用できない場合に何を行うかについては、[モデル構成](/ja/model-config#pin-models-for-third-party-deployments)を参照してください。274[Bedrock](/ja/amazon-bedrock)、[Vertex AI](/ja/google-vertex-ai)、[Foundry](/ja/microsoft-foundry)、または [Claude Platform on AWS](/ja/claude-platform-on-aws) を通じてデプロイする場合は、`ANTHROPIC_DEFAULT_OPUS_MODEL`、`ANTHROPIC_DEFAULT_SONNET_MODEL`、および `ANTHROPIC_DEFAULT_HAIKU_MODEL` を使用して特定のモデルバージョンをピン留めします。ピン留めしない場合、モデルエイリアスは最新バージョンに解決され、Anthropic が新しいモデルをリリースしてアカウントでまだ有効になっていない場合があります。ピン留めすることで、ユーザーが新しいモデルに移行するタイミングを制御できます。各プロバイダーが最新バージョンが利用できない場合に何を行うかについては、[モデル構成](/ja/model-config#pin-models-for-third-party-deployments)を参照してください。

327 275 

328### セキュリティポリシーを構成する276<h3 id="configure-security-policies">

277 セキュリティポリシーを構成する

278</h3>

329 279 

330セキュリティチームは、Claude Code が実行できることと実行できないことに対する管理権限を構成できます。これはローカル構成によって上書きされません。[詳細をご覧ください](/ja/security)。280セキュリティチームは、Claude Code が実行できることと実行できないことに対する管理権限を構成できます。これはローカル構成によって上書きされません。[詳細をご覧ください](/ja/security)。

331 281 

332### 統合に MCP を活用する282<h3 id="leverage-mcp-for-integrations">

283 統合に MCP を活用する

284</h3>

333 285 

334MCP は Claude Code にチケット管理システムやエラーログへの接続など、より多くの情報を提供する優れた方法です。1 つの中央チームが MCP サーバーを構成し、`.mcp.json` 構成をコードベースにチェックインして、すべてのユーザーが利益を得られるようにすることをお勧めします。[詳細をご覧ください](/ja/mcp)。286MCP は Claude Code にチケット管理システムやエラーログへの接続など、より多くの情報を提供する優れた方法です。1 つの中央チームが MCP サーバーを構成し、`.mcp.json` 構成をコードベースにチェックインして、すべてのユーザーが利益を得られるようにすることをお勧めします。[詳細をご覧ください](/ja/mcp)。

335 287 

336Anthropic では、Claude Code を信頼してすべての Anthropic コードベース全体の開発を支援しています。Claude Code を使用することを楽しんでいただけることを願っています。288Anthropic では、Claude Code を信頼してすべての Anthropic コードベース全体の開発を支援しています。Claude Code を使用することを楽しんでいただけることを願っています。

337 289 

338## 次のステップ290<h2 id="next-steps">

291 次のステップ

292</h2>

339 293 

340デプロイメントオプションを選択し、チームのアクセスを構成したら、以下を実行します。294デプロイメントオプションを選択し、チームのアクセスを構成したら、以下を実行します。

341 295 

tools-reference.md +70 −27

Details

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

12 12 

13| ツール | 説明 | 権限が必要 |13| ツール | 説明 | 権限が必要 |

14| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---- |14| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---- |

15| `Agent` | 独自のコンテキストウィンドウを持つ [subagent](/ja/sub-agents)を生成してタスクを処理します。[Agent ツールの動作](#agent-tool-behavior)を参照してください | いいえ |15| `Agent` | 独自のコンテキストウィンドウを持つ [subagent](/ja/sub-agents)を生成してタスクを処理します。[Agent ツールの動作](#agent-tool-behavior)を参照してください | いいえ |

16| `AskUserQuestion` | 要件を収集したり曖昧さを明確にするために複数選択肢の質問をします | いいえ |16| `AskUserQuestion` | 要件を収集したり曖昧さを明確にするために複数選択肢の質問をします | いいえ |

17| `Bash` | 環境でシェル コマンドを実行します。[Bash ツールの動作](#bash-tool-behavior)を参照してください | はい |17| `Bash` | 環境でシェル コマンドを実行します。[Bash ツールの動作](#bash-tool-behavior)を参照してください | はい |


20| `CronList` | セッション内のすべてのスケジュール済みタスクをリストします | いいえ |20| `CronList` | セッション内のすべてのスケジュール済みタスクをリストします | いいえ |

21| `Edit` | 特定のファイルに対して対象を絞った編集を行います。[Edit ツールの動作](#edit-tool-behavior)を参照してください | はい |21| `Edit` | 特定のファイルに対して対象を絞った編集を行います。[Edit ツールの動作](#edit-tool-behavior)を参照してください | はい |

22| `EnterPlanMode` | Plan Mode に切り替えてコーディング前にアプローチを設計します | いいえ |22| `EnterPlanMode` | Plan Mode に切り替えてコーディング前にアプローチを設計します | いいえ |

23| `EnterWorktree` | 分離された [git worktree](/ja/worktrees)を作成してそこに切り替えます。現在のリポジトリの既存の worktree に切り替えるには、新しいものを作成する代わりに `path` を渡します。Subagent では利用できません | いいえ |23| `EnterWorktree` | 分離された [git worktree](/ja/worktrees)を作成してそこに切り替えます。現在のリポジトリの既存の worktree に切り替えるには、新しいものを作成する代わりに `path` を渡します。[`isolation: worktree`](/ja/sub-agents#supported-frontmatter-fields)などで既に独自の作業ディレクトリで実行される subagent では、`path` フォームのみが利用可能で、ターゲットは `.claude/worktrees/` の下にある必要があります | いいえ |

24| `ExitPlanMode` | 承認用のプランを提示して Plan Mode を終了します | はい |24| `ExitPlanMode` | 承認用のプランを提示して Plan Mode を終了します | はい |

25| `ExitWorktree` | worktree セッションを終了して元のディレクトリに戻ります。Subagent では利用できません | いいえ |25| `ExitWorktree` | worktree セッションを終了して元のディレクトリに戻ります。[`isolation: worktree`](/ja/sub-agents#supported-frontmatter-fields)などで既に独自の作業ディレクトリで実行される subagent では利用できません | いいえ |

26| `Glob` | パターン マッチングに基づいてファイルを検索します。[Glob ツールの動作](#glob-tool-behavior)を参照してください | いいえ |26| `Glob` | パターン マッチングに基づいてファイルを検索します。[Glob ツールの動作](#glob-tool-behavior)を参照してください | いいえ |

27| `Grep` | ファイル コンテンツ内のパターンを検索します。[Grep ツールの動作](#grep-tool-behavior)を参照してください | いいえ |27| `Grep` | ファイル コンテンツ内のパターンを検索します。[Grep ツールの動作](#grep-tool-behavior)を参照してください | いいえ |

28| `ListMcpResourcesTool` | 接続された [MCP servers](/ja/mcp)によって公開されたリソースをリストします | いいえ |28| `ListMcpResourcesTool` | 接続された [MCP servers](/ja/mcp)によって公開されたリソースをリストします | いいえ |


34| `Read` | ファイルの内容を読み取ります。[Read ツールの動作](#read-tool-behavior)を参照してください | いいえ |34| `Read` | ファイルの内容を読み取ります。[Read ツールの動作](#read-tool-behavior)を参照してください | いいえ |

35| `ReadMcpResourceTool` | URI で特定の MCP リソースを読み取ります | いいえ |35| `ReadMcpResourceTool` | URI で特定の MCP リソースを読み取ります | いいえ |

36| `RemoteTrigger` | claude.ai で[ルーチン](/ja/routines)を作成、更新、実行、リストします。`/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 からはアクセスできません | いいえ |36| `RemoteTrigger` | claude.ai で[ルーチン](/ja/routines)を作成、更新、実行、リストします。`/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 からはアクセスできません | いいえ |

37| `ScheduleWakeup` | [self-paced `/loop`](/ja/scheduled-tasks#let-claude-choose-the-interval)の次の反復をスケジュール変更します。Claude は各反復の終了時にこれを呼び出して、次の実行時刻を 1 分から 1 時間の間で選択します。直接呼び出すことはありません。保留中のウェイクアップは [Stop hook input](/ja/hooks#stop-input)の `session_crons` に表示されます。{/* plan-availability: feature=loop-dynamic providers=anthropic */}Amazon Bedrock、Google Vertex AI、または Microsoft Foundry では利用できません。これらでは、間隔のない `/loop` プロンプトは固定スケジュールで実行されます | いいえ |

37| `SendMessage` | [agent team](/ja/agent-teams)メンバーにメッセージを送信するか、agent ID で [subagent](/ja/sub-agents#resume-subagents)を再開します。停止した subagent はバックグラウンドで自動的に再開されます。`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` が設定されている場合にのみ利用可能です | いいえ |38| `SendMessage` | [agent team](/ja/agent-teams)メンバーにメッセージを送信するか、agent ID で [subagent](/ja/sub-agents#resume-subagents)を再開します。停止した subagent はバックグラウンドで自動的に再開されます。`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` が設定されている場合にのみ利用可能です | いいえ |

38| `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 プランのサブスクライバーが利用可能です | はい |39| `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 プランのサブスクライバーが利用可能です | はい |

39| `Skill` | メイン会話内で [skill](/ja/skills#control-who-invokes-a-skill)を実行します | はい |40| `Skill` | メイン会話内で [skill](/ja/skills#control-who-invokes-a-skill)を実行します | はい |


50| `WaitForMcpServers` | {/* min-version: 2.1.142 */}バックグラウンドでまだ接続中の 1 つ以上の [MCP servers](/ja/mcp)を待機するため、セッションを再開することなくそのツールをリクエストで使用できます。必要なサーバーがまだ接続されていない場合、Claude はそれを呼び出します。[ツール検索](/ja/mcp#scale-with-mcp-tool-search)が無効な場合にのみ表示されます。有効な場合は `ToolSearch` が待機を処理するため | いいえ |51| `WaitForMcpServers` | {/* min-version: 2.1.142 */}バックグラウンドでまだ接続中の 1 つ以上の [MCP servers](/ja/mcp)を待機するため、セッションを再開することなくそのツールをリクエストで使用できます。必要なサーバーがまだ接続されていない場合、Claude はそれを呼び出します。[ツール検索](/ja/mcp#scale-with-mcp-tool-search)が無効な場合にのみ表示されます。有効な場合は `ToolSearch` が待機を処理するため | いいえ |

51| `WebFetch` | 指定された URL からコンテンツを取得します。[WebFetch ツールの動作](#webfetch-tool-behavior)を参照してください | はい |52| `WebFetch` | 指定された URL からコンテンツを取得します。[WebFetch ツールの動作](#webfetch-tool-behavior)を参照してください | はい |

52| `WebSearch` | Web 検索を実行します。[WebSearch ツールの動作](#websearch-tool-behavior)を参照してください | はい |53| `WebSearch` | Web 検索を実行します。[WebSearch ツールの動作](#websearch-tool-behavior)を参照してください | はい |

54| `Workflow` | [動的ワークフロー](/ja/workflows)を実行します:バックグラウンドで多くの subagent を調整し、1 つの統合結果を返すスクリプト | はい |

53| `Write` | ファイルを作成または上書きします。[Write ツールの動作](#write-tool-behavior)を参照してください | はい |55| `Write` | ファイルを作成または上書きします。[Write ツールの動作](#write-tool-behavior)を参照してください | はい |

54 56 

55## 権限ルールとフックでツールを構成する57<h2 id="configure-tools-with-permission-rules-and-hooks">

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

59</h2>

56 60 

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

58 62 


82 86 

83フック `matcher` フィールドは括弧で囲まれたルール形式ではなく、ベア ツール名を使用します。[マッチャー パターン](/ja/hooks#matcher-patterns)のマッチング ルールを参照してください。各ツールがフック内の `tool_input` に渡すフィールド名については、[PreToolUse 入力リファレンス](/ja/hooks#pretooluse-input)を参照してください。87フック `matcher` フィールドは括弧で囲まれたルール形式ではなく、ベア ツール名を使用します。[マッチャー パターン](/ja/hooks#matcher-patterns)のマッチング ルールを参照してください。各ツールがフック内の `tool_input` に渡すフィールド名については、[PreToolUse 入力リファレンス](/ja/hooks#pretooluse-input)を参照してください。

84 88 

85## Agent ツールの動作89<h2 id="agent-tool-behavior">

90 Agent ツールの動作

91</h2>

86 92 

87Agent ツールは、別のコンテキストウィンドウで subagent を生成します。Subagent はそのタスクを自律的に処理し、親会話に単一のテキスト結果を返します。親は subagent の中間ツール呼び出しまたは出力を見ず、その最終結果のみを見ます。Subagent が実行するターン数を制限するには、[subagent 定義](/ja/sub-agents#supported-frontmatter-fields)で `maxTurns` を設定します。93Agent ツールは、別のコンテキストウィンドウで subagent を生成します。Subagent はそのタスクを自律的に処理し、親会話に単一のテキスト結果を返します。親は subagent の中間ツール呼び出しまたは出力を見ず、その最終結果のみを見ます。Subagent が実行するターン数を制限するには、[subagent 定義](/ja/sub-agents#supported-frontmatter-fields)で `maxTurns` を設定します。

88 94 


102 108 

103Subagent が最初に到達できるものを制限するには、その `tools` フィールドを絞り込み、Bash をリストから外すか、[Subagent 機能の制御](/ja/sub-agents#control-subagent-capabilities)で説明されているように設定で拒否ルールを設定します。フォアグラウンドとバックグラウンドの選択の詳細については、[Subagent をフォアグラウンドまたはバックグラウンドで実行](/ja/sub-agents#run-subagents-in-foreground-or-background)を参照してください。109Subagent が最初に到達できるものを制限するには、その `tools` フィールドを絞り込み、Bash をリストから外すか、[Subagent 機能の制御](/ja/sub-agents#control-subagent-capabilities)で説明されているように設定で拒否ルールを設定します。フォアグラウンドとバックグラウンドの選択の詳細については、[Subagent をフォアグラウンドまたはバックグラウンドで実行](/ja/sub-agents#run-subagents-in-foreground-or-background)を参照してください。

104 110 

105## Bash ツールの動作111<h2 id="bash-tool-behavior">

112 Bash ツールの動作

113</h2>

106 114 

107Bash ツールは、次の永続化動作で各コマンドを別々のプロセスで実行します:115Bash ツールは、次の永続化動作で各コマンドを別々のプロセスで実行します:

108 116 


110 * `cd` がこれらのディレクトリの外に出た場合、Claude Code はプロジェクト ディレクトリにリセットし、ツール結果に `Shell cwd was reset to <dir>` を追加します。118 * `cd` がこれらのディレクトリの外に出た場合、Claude Code はプロジェクト ディレクトリにリセットし、ツール結果に `Shell cwd was reset to <dir>` を追加します。

111 * この引き継ぎを無効にして、すべての Bash コマンドがプロジェクト ディレクトリで開始されるようにするには、`CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1` を設定します。119 * この引き継ぎを無効にして、すべての Bash コマンドがプロジェクト ディレクトリで開始されるようにするには、`CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1` を設定します。

112* 環境変数は永続化されません。1 つのコマンドの `export` は次のコマンドでは利用できません。120* 環境変数は永続化されません。1 つのコマンドの `export` は次のコマンドでは利用できません。

121* シェル スタートアップ ファイルで定義されたエイリアスとシェル関数は利用できます。セッション開始時に、Claude Code はシェルに応じて `~/.zshrc`、`~/.bashrc`、または `~/.profile` をソースし、結果のエイリアス、関数、およびシェル オプションをキャプチャして、すべての Bash コマンドに適用します。

113 122 

114Claude Code を起動する前に virtualenv または conda 環境をアクティブ化してください。Bash コマンド間で環境変数を永続化するには、Claude Code を起動する前に [`CLAUDE_ENV_FILE`](/ja/env-vars)をシェル スクリプトに設定するか、[SessionStart フック](/ja/hooks#persist-environment-variables)を使用して動的に設定します。123Claude Code を起動する前に virtualenv または conda 環境をアクティブ化してください。Bash コマンド間で環境変数を永続化するには、Claude Code を起動する前に [`CLAUDE_ENV_FILE`](/ja/env-vars) をシェル スクリプトに設定するか、[SessionStart フック](/ja/hooks#persist-environment-variables)を使用して動的に設定します。

115 124 

1162 つの制限が各コマンドを制限します:1252 つの制限が各コマンドを制限します:

117 126 


120 129 

121開発サーバーやウォッチ ビルドなどの長時間実行プロセスの場合、Claude は `run_in_background: true` を設定して、コマンドをバックグラウンド タスクとして開始し、実行中に作業を続けることができます。`/tasks` でバックグラウンド タスクをリストおよび停止します。130開発サーバーやウォッチ ビルドなどの長時間実行プロセスの場合、Claude は `run_in_background: true` を設定して、コマンドをバックグラウンド タスクとして開始し、実行中に作業を続けることができます。`/tasks` でバックグラウンド タスクをリストおよび停止します。

122 131 

123## Edit ツールの動作132<h2 id="edit-tool-behavior">

133 Edit ツールの動作

134</h2>

124 135 

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

126 137 


130* **マッチ**:`old_string` はファイルに正確に記述されたとおりに表示される必要があります。空白またはインデントの 1 文字の違いでも不一致になります。141* **マッチ**:`old_string` はファイルに正確に記述されたとおりに表示される必要があります。空白またはインデントの 1 文字の違いでも不一致になります。

131* **一意性**:`old_string` は正確に 1 回表示される必要があります。複数回表示される場合、Claude は 1 つの出現を特定するのに十分な周囲コンテキストを含む長い文字列を提供するか、`replace_all: true` を設定してすべてを置き換えます。142* **一意性**:`old_string` は正確に 1 回表示される必要があります。複数回表示される場合、Claude は 1 つの出現を特定するのに十分な周囲コンテキストを含む長い文字列を提供するか、`replace_all: true` を設定してすべてを置き換えます。

132 143 

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

134 145 

135これは編集の適格性にのみ影響し、権限には影響しません。[Read および Edit 拒否ルール](/ja/permissions#tool-specific-permission-rules)は、Claude Code が `cat`、`head`、`tail`、`sed` などの Bash で認識するファイル コマンドにも適用されますが、Python または Node スクリプトがファイルを自分で開くなど、ファイルを間接的に読み取るまたは書き込む任意のサブプロセスには適用されません。すべてのプロセスをカバーする OS レベルの強制については、[サンドボックスを有効にする](/ja/sandboxing)を参照してください。146これは編集の適格性にのみ影響し、権限には影響しません。[Read および Edit 拒否ルール](/ja/permissions#tool-specific-permission-rules)は、Claude Code が `cat`、`head`、`tail`、`sed`、`grep` などの Bash で認識するファイルコマンドにも適用されますが、Python または Node スクリプトがファイルを自分で開くなど、ファイルを間接的に読み取るまたは書き込む任意のサブプロセスには適用されません。読み取り前編集リストの `egrep` と `fgrep` は読み取り前編集ではカウントされますが、Read 拒否ルールに対してはチェックされません。すべてのプロセスをカバーする OS レベルの強制については、[サンドボックスを有効にする](/ja/sandboxing)を参照してください。

136 147 

137## Glob ツールの動作148<h2 id="glob-tool-behavior">

149 Glob ツールの動作

150</h2>

138 151 

139Glob ツールはファイルを名前パターンで検索します。`**` を含む標準 glob 構文をサポートして、再帰的なディレクトリ マッチングを行います:152Glob ツールはファイルを名前パターンで検索します。`**` を含む標準 glob 構文をサポートして、再帰的なディレクトリ マッチングを行います:

140 153 


146 159 

147Glob はデフォルトで `.gitignore` を尊重しないため、追跡されたファイルと並んで gitignore されたファイルを検出します。これは [Grep](#grep-tool-behavior)とは異なり、gitignore されたファイルをスキップします。Glob が `.gitignore` を尊重するようにするには、Claude Code を起動する前に `CLAUDE_CODE_GLOB_NO_IGNORE=false` を設定します。160Glob はデフォルトで `.gitignore` を尊重しないため、追跡されたファイルと並んで gitignore されたファイルを検出します。これは [Grep](#grep-tool-behavior)とは異なり、gitignore されたファイルをスキップします。Glob が `.gitignore` を尊重するようにするには、Claude Code を起動する前に `CLAUDE_CODE_GLOB_NO_IGNORE=false` を設定します。

148 161 

149## Grep ツールの動作162<h2 id="grep-tool-behavior">

163 Grep ツールの動作

164</h2>

150 165 

151Grep ツールはファイル コンテンツ内のパターンを検索します。[Glob](#glob-tool-behavior)がファイルを名前で検索する場合、Grep はそれらの内部の行を検索します。166Grep ツールはファイル コンテンツ内のパターンを検索します。[Glob](#glob-tool-behavior)がファイルを名前で検索する場合、Grep はそれらの内部の行を検索します。

152 167 


162 177 

163Grep は `.gitignore` を尊重するため、gitignore されたファイルはスキップされます。gitignore されたファイルを検索するには、Claude はそのパスを直接渡します。178Grep は `.gitignore` を尊重するため、gitignore されたファイルはスキップされます。gitignore されたファイルを検索するには、Claude はそのパスを直接渡します。

164 179 

165## LSP ツールの動作180<h2 id="lsp-tool-behavior">

181 LSP ツールの動作

182</h2>

166 183 

167LSP ツールは、実行中の言語サーバーから Claude にコード インテリジェンスを提供します。ファイル編集後、型エラーと警告を自動的に報告するため、Claude は別のビルド ステップなしで問題を修正できます。Claude はナビゲーション操作のために直接呼び出すこともできます:184LSP ツールは、実行中の言語サーバーから Claude にコード インテリジェンスを提供します。ファイル編集後、型エラーと警告を自動的に報告するため、Claude は別のビルド ステップなしで問題を修正できます。Claude はナビゲーション操作のために直接呼び出すこともできます:

168 185 


175 192 

176ツールは、言語の[コード インテリジェンス プラグイン](/ja/discover-plugins#code-intelligence)をインストールするまで非アクティブです。プラグインは言語サーバー構成をバンドルし、サーバー バイナリは別途インストールします。193ツールは、言語の[コード インテリジェンス プラグイン](/ja/discover-plugins#code-intelligence)をインストールするまで非アクティブです。プラグインは言語サーバー構成をバンドルし、サーバー バイナリは別途インストールします。

177 194 

178## Monitor ツール195<h2 id="monitor-tool">

196 Monitor ツール

197</h2>

179 198 

180<Note>199<Note>

181 Monitor ツールには Claude Code v2.1.98 以降が必要です。200 Monitor ツールには Claude Code v2.1.98 以降が必要です。


194 213 

195プラグインは、Claude に開始するよう依頼する代わりに、プラグインがアクティブな場合に自動的に開始される Monitor を宣言できます。[プラグイン Monitor](/ja/plugins-reference#monitors)を参照してください。214プラグインは、Claude に開始するよう依頼する代わりに、プラグインがアクティブな場合に自動的に開始される Monitor を宣言できます。[プラグイン Monitor](/ja/plugins-reference#monitors)を参照してください。

196 215 

197## NotebookEdit ツールの動作216<h2 id="notebookedit-tool-behavior">

217 NotebookEdit ツールの動作

218</h2>

198 219 

199NotebookEdit は、Jupyter ノートブックを 1 回に 1 セル、`cell_id` でセルをターゲットにして変更します。[Edit](#edit-tool-behavior)がプレーン ファイルで行うようにノートブック全体で文字列置換を実行しません。220NotebookEdit は、Jupyter ノートブックを 1 回に 1 セル、`cell_id` でセルをターゲットにして変更します。[Edit](#edit-tool-behavior)がプレーン ファイルで行うようにノートブック全体で文字列置換を実行しません。

200 221 


206 227 

207権限ルールは `Edit(...)` パス形式を使用します。`Edit(notebooks**)` のようなルールは、そのディレクトリ内のファイルに対する NotebookEdit 呼び出しをカバーします。228権限ルールは `Edit(...)` パス形式を使用します。`Edit(notebooks**)` のようなルールは、そのディレクトリ内のファイルに対する NotebookEdit 呼び出しをカバーします。

208 229 

209## PowerShell ツール230<h2 id="powershell-tool">

231 PowerShell ツール

232</h2>

210 233 

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

212 235 

213### PowerShell ツールを有効にする236<h3 id="enable-the-powershell-tool">

237 PowerShell ツールを有効にする

238</h3>

214 239 

215環境または `settings.json` で `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` を設定します:240環境または `settings.json` で `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` を設定します:

216 241 


226 251 

227Windows では、Claude Code は PowerShell 7 以降の `pwsh.exe` を自動検出し、PowerShell 5.1 の `powershell.exe` にフォールバックします。ツールが有効になっている場合、Claude は PowerShell をプライマリシェルとして扱います。Git Bash がインストールされている場合、Bash ツールは POSIX スクリプト用に利用可能なままです。252Windows では、Claude Code は PowerShell 7 以降の `pwsh.exe` を自動検出し、PowerShell 5.1 の `powershell.exe` にフォールバックします。ツールが有効になっている場合、Claude は PowerShell をプライマリシェルとして扱います。Git Bash がインストールされている場合、Bash ツールは POSIX スクリプト用に利用可能なままです。

228 253 

229### 設定フックスキルでのシェル選択254Claude Code は `-ExecutionPolicy Bypass` を使用して PowerShell をプロセススコープのみで生成するため`.ps1` スクリプトとモジュールのインポートはマシンのポリシーを変更することなく、デフォルトの Windows インストールで機能します。プロセススコープのバイパスは、グループ ポリシーの `MachinePolicy` または `UserPolicy` をオーバーライドしないため、エンタープライズロックダウンは引き続き適用されます。マシンの有効な実行ポリシーを尊重する代わりに、`CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1` を設定します。

255 

256<h3 id="shell-selection-in-settings-hooks-and-skills">

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

258</h3>

230 259 

2313 つの追加設定は PowerShell が使用される場所を制御します:2603 つの追加設定は PowerShell が使用される場所を制御します:

232 261 


236 265 

237Bash ツール セクションで説明されている同じメイン セッション作業ディレクトリ リセット動作が PowerShell コマンドに適用されます。これには `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` 環境変数が含まれます。266Bash ツール セクションで説明されている同じメイン セッション作業ディレクトリ リセット動作が PowerShell コマンドに適用されます。これには `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` 環境変数が含まれます。

238 267 

239### プレビューの制限事項268<h3 id="preview-limitations">

269 プレビューの制限事項

270</h3>

240 271 

241PowerShell ツールには、プレビュー中に次の既知の制限事項があります:272PowerShell ツールには、プレビュー中に次の既知の制限事項があります:

242 273 

243* PowerShell プロファイルはロードされません274* PowerShell プロファイルはロードされません

244* Windows では、サンドボックスはサポートされていません275* Windows では、サンドボックスはサポートされていません

245 276 

246## Read ツールの動作277<h2 id="read-tool-behavior">

278 Read ツールの動作

279</h2>

247 280 

248Read ツールはファイル パスを取得し、行番号付きでコンテンツを返します。Claude は常に絶対パスを渡すよう指示されます。281Read ツールはファイル パスを取得し、行番号付きでコンテンツを返します。Claude は常に絶対パスを渡すよう指示されます。

249 282 

250デフォルトでは、Read は開始からファイルを返します。サイズ しきい値を超えるファイルは部分的なコンテンツではなくエラーを返し、Claude `offset` と `limit` で再試行して特定の範囲を読み取るよう促します283デフォルトでは、Read は開始からファイルを返します。全ファイル読み取りがトークン制限を超える場合Read は最初のページを `PARTIAL view` 通知付きで返し、Claude がファイルのどの部分を受け取ったか、および `offset` と `limit` を使用してさらに読み取る方法を伝えます明示的な `offset` または `limit` を渡す読み取りがトークン制限を超える場合でも、エラーを返します。

251 284 

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

253 286 


257 290 

258Read はファイルのみを読み取り、ディレクトリは読み取りません。Claude は Bash ツール経由で `ls` を使用してディレクトリ コンテンツをリストします。291Read はファイルのみを読み取り、ディレクトリは読み取りません。Claude は Bash ツール経由で `ls` を使用してディレクトリ コンテンツをリストします。

259 292 

260## WebFetch ツールの動作293<h2 id="webfetch-tool-behavior">

294 WebFetch ツールの動作

295</h2>

261 296 

262WebFetch は URL と抽出する内容を説明するプロンプトを取得します。ページを取得し、サーバーが HTML を返す場合は応答を Markdown に変換し、小さく高速なモデルを使用してコンテンツに対してプロンプトを実行します。ほとんどのフェッチでは、Claude はそのモデルの回答を受け取り、生のページではなく受け取ります。変換ステップは構成不可です。297WebFetch は URL と抽出する内容を説明するプロンプトを取得します。ページを取得し、サーバーが HTML を返す場合は応答を Markdown に変換し、小さく高速なモデルを使用してコンテンツに対してプロンプトを実行します。ほとんどのフェッチでは、Claude はそのモデルの回答を受け取り、生のページではなく受け取ります。変換ステップは構成不可です。

263 298 


274 309 

275WebFetch は `Claude-User` で始まる `User-Agent` ヘッダーと、HTML よりも Markdown を優先する `Accept` ヘッダーを設定するため、コンテンツ ネゴシエーションをサポートするサーバーは Markdown を直接返すことができます。[Sandbox](/ja/sandboxing)ネットワーク ルールは別途構成されるため、サンドボックス化されたプロセスが到達したいドメインには、明示的なサンドボックス権限ルールが必要です。310WebFetch は `Claude-User` で始まる `User-Agent` ヘッダーと、HTML よりも Markdown を優先する `Accept` ヘッダーを設定するため、コンテンツ ネゴシエーションをサポートするサーバーは Markdown を直接返すことができます。[Sandbox](/ja/sandboxing)ネットワーク ルールは別途構成されるため、サンドボックス化されたプロセスが到達したいドメインには、明示的なサンドボックス権限ルールが必要です。

276 311 

277## WebSearch ツールの動作312<h2 id="websearch-tool-behavior">

313 WebSearch ツールの動作

314</h2>

278 315 

279WebSearch は Anthropic の [web search](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)バックエンドに対してクエリを実行し、結果のタイトルと URL を返します。結果ページをフェッチしません。Claude が検索結果で見つけたページを読むには、[WebFetch](#webfetch-tool-behavior)でフォローアップします。316WebSearch は Anthropic の [web search](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)バックエンドに対してクエリを実行し、結果のタイトルと URL を返します。結果ページをフェッチしません。Claude が検索結果で見つけたページを読むには、[WebFetch](#webfetch-tool-behavior)でフォローアップします。

280 317 


288 WebSearch は Claude API と Microsoft Foundry で利用可能です。Google Cloud Vertex AI では、Opus、Sonnet、Haiku を含む Claude 4 モデルで機能します。Amazon Bedrock はサーバー側の Web 検索ツールを公開していません。325 WebSearch は Claude API と Microsoft Foundry で利用可能です。Google Cloud Vertex AI では、Opus、Sonnet、Haiku を含む Claude 4 モデルで機能します。Amazon Bedrock はサーバー側の Web 検索ツールを公開していません。

289</Note>326</Note>

290 327 

291## Write ツールの動作328<h2 id="write-tool-behavior">

329 Write ツールの動作

330</h2>

292 331 

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

294 333 

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

296 335 

297Bash `cat` または `sed -n` でファイルを表示することは、[Edit ツールの動作](#edit-tool-behavior)で説明されているように、この要件を満たします。336Bash でファイルを表示することは、[Edit ツールの動作](#edit-tool-behavior)で説明されているのと同じルールの下で、この要件を満たします。

298 337 

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

300 339 

301## 利用可能なツールを確認する340<h2 id="check-which-tools-are-available">

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

342</h2>

302 343 

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

304 345 


308 349 

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

310 351 

311## 関連項目352<h2 id="see-also">

353 関連項目

354</h2>

312 355 

313* [MCP servers](/ja/mcp):外部サーバーを接続してカスタム ツールを追加する356* [MCP servers](/ja/mcp):外部サーバーを接続してカスタム ツールを追加する

314* [権限](/ja/permissions):権限システム、ルール構文、ツール固有のパターン357* [権限](/ja/permissions):権限システム、ルール構文、ツール固有のパターン

Details

8 8 

9インストールが失敗した場合、またはサインインできない場合は、以下からエラーを見つけてください。Claude Code が動作している場合のランタイム問題については、[トラブルシューティング](/ja/troubleshooting)を参照してください。設定が適用されない、またはフック が発火しないなどの設定の問題については、[設定をデバッグする](/ja/debug-your-config)を参照してください。9インストールが失敗した場合、またはサインインできない場合は、以下からエラーを見つけてください。Claude Code が動作している場合のランタイム問題については、[トラブルシューティング](/ja/troubleshooting)を参照してください。設定が適用されない、またはフック が発火しないなどの設定の問題については、[設定をデバッグする](/ja/debug-your-config)を参照してください。

10 10 

11## エラーを見つける11<h2 id="find-your-error">

12 エラーを見つける

13</h2>

12 14 

13表示されているエラーメッセージまたは症状を修正方法と照合してください:15表示されているエラーメッセージまたは症状を修正方法と照合してください:

14 16 


16| :------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |18| :------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |

17| `command not found: claude` または `'claude' is not recognized` | [PATH を修正する](#command-not-found-claude-after-installation) |19| `command not found: claude` または `'claude' is not recognized` | [PATH を修正する](#command-not-found-claude-after-installation) |

18| `syntax error near unexpected token '<'` | [インストールスクリプトが HTML を返す](#install-script-returns-html-instead-of-a-shell-script) |20| `syntax error near unexpected token '<'` | [インストールスクリプトが HTML を返す](#install-script-returns-html-instead-of-a-shell-script) |

19| `curl: (56) Failure writing output to destination` | [接続性を確認するか、別のインストーラーを使用する](#curl-56-failure-writing-output-to-destination) |21| `curl: (22) The requested URL returned error: 403` | [インストールスクリプトが 403 を返す](#install-script-returns-html-instead-of-a-shell-script) |

22| `curl: (23)` または `curl: (56) Failure writing output to destination` | [接続性を確認するか、別のインストーラーを使用する](#curl-56-failure-writing-output-to-destination) |

20| Linux でのインストール中に `Killed` | [低メモリサーバーにスワップスペースを追加する](#install-killed-on-low-memory-linux-servers) |23| Linux でのインストール中に `Killed` | [低メモリサーバーにスワップスペースを追加する](#install-killed-on-low-memory-linux-servers) |

21| `TLS connect error` または `SSL/TLS secure channel` | [CA 証明書を更新する](#tls-or-ssl-connection-errors) |24| `TLS connect error` または `SSL/TLS secure channel` | [CA 証明書を更新する](#tls-or-ssl-connection-errors) |

22| `Failed to fetch version` またはダウンロードサーバーに到達できない | [ネットワークとプロキシ設定を確認する](#check-network-connectivity) |25| `Failed to fetch version` またはダウンロードサーバーに到達できない | [ネットワークとプロキシ設定を確認する](#check-network-connectivity) |


44 ターミナルをスキップしたい場合は、[Claude Code Desktop アプリ](/ja/desktop-quickstart)を使用して、グラフィカルインターフェイスを通じて Claude Code をインストールして使用できます。[macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) または [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) 用にダウンロードして、コマンドラインセットアップなしでコーディングを開始してください。47 ターミナルをスキップしたい場合は、[Claude Code Desktop アプリ](/ja/desktop-quickstart)を使用して、グラフィカルインターフェイスを通じて Claude Code をインストールして使用できます。[macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) または [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) 用にダウンロードして、コマンドラインセットアップなしでコーディングを開始してください。

45</Tip>48</Tip>

46 49 

47## 診断チェックを実行する50<h2 id="run-diagnostic-checks">

51 診断チェックを実行する

52</h2>

48 53 

49### ネットワーク接続を確認する54<h3 id="check-network-connectivity">

55 ネットワーク接続を確認する

56</h3>

50 57 

51インストーラーは `downloads.claude.ai` からダウンロードします。到達可能であることを確認してください:58インストーラーは `downloads.claude.ai` からダウンロードします。到達可能であることを確認してください:

52 59 


82 </Tab>89 </Tab>

83</Tabs>90</Tabs>

84 91 

85### PATH を確認する92<h3 id="verify-your-path">

93 PATH を確認する

94</h3>

86 95 

87インストールが成功しても、`claude` を実行するときに `command not found` または `not recognized` エラーが表示される場合、インストールディレクトリが PATH に含まれていません。シェルは PATH にリストされているディレクトリ内のプログラムを検索し、インストーラーは macOS/Linux では `~/.local/bin/claude` に、Windows では `%USERPROFILE%\.local\bin\claude.exe` に `claude` を配置します。96インストールが成功しても、`claude` を実行するときに `command not found` または `not recognized` エラーが表示される場合、インストールディレクトリが PATH に含まれていません。シェルは PATH にリストされているディレクトリ内のプログラムを検索し、インストーラーは macOS/Linux では `~/.local/bin/claude` に、Windows では `%USERPROFILE%\.local\bin\claude.exe` に `claude` を配置します。

88 97 


157 </Tab>166 </Tab>

158</Tabs>167</Tabs>

159 168 

160### 競合するインストールを確認する169<h3 id="check-for-conflicting-installations">

170 競合するインストールを確認する

171</h3>

161 172 

162複数の Claude Code インストールはバージョンの不一致または予期しない動作を引き起こす可能性があります。インストールされているものを確認してください:173複数の Claude Code インストールはバージョンの不一致または予期しない動作を引き起こす可能性があります。インストールされているものを確認してください:

163 174 


233winget uninstall Anthropic.ClaudeCode244winget uninstall Anthropic.ClaudeCode

234```245```

235 246 

236### ディレクトリ権限を確認する247<h3 id="check-directory-permissions">

248 ディレクトリ権限を確認する

249</h3>

237 250 

238インストーラーは macOS と Linux の `~/.local/bin/` と `~/.claude/` への書き込みアクセスが必要です。Windows ではインストール場所は `%USERPROFILE%` の下にあり、デフォルトではユーザーが書き込み可能なため、このセクションはそこではほとんど適用されません。251インストーラーは macOS と Linux の `~/.local/bin/` と `~/.claude/` への書き込みアクセスが必要です。Windows ではインストール場所は `%USERPROFILE%` の下にあり、デフォルトではユーザーが書き込み可能なため、このセクションはそこではほとんど適用されません。

239 252 


251sudo chown -R $(whoami) ~/.local264sudo chown -R $(whoami) ~/.local

252```265```

253 266 

254### バイナリが機能することを確認する267<h3 id="verify-the-binary-works">

268 バイナリが機能することを確認する

269</h3>

255 270 

256`claude --version` がバージョンを出力しても `claude` がクラッシュまたはハングする場合は、これらのチェックを実行して原因を特定してください。`claude --version` がコマンドが見つからないと言う場合は、最初に [PATH を確認する](#verify-your-path)に移動してください。以下のコマンドは `claude` が PATH にあることを前提としています。271`claude --version` がバージョンを出力しても `claude` がクラッシュまたはハングする場合は、これらのチェックを実行して原因を特定してください。`claude --version` がコマンドが見つからないと言う場合は、最初に [PATH を確認する](#verify-your-path)に移動してください。以下のコマンドは `claude` が PATH にあることを前提としています。

257 272 


279claude --version294claude --version

280```295```

281 296 

282## 一般的なインストール問題297<h2 id="common-installation-issues">

298 一般的なインストール問題

299</h2>

283 300 

284これらは最も頻繁に遭遇するインストール問題とその解決策です。301これらは最も頻繁に遭遇するインストール問題とその解決策です。

285 302 

286### インストールスクリプトがシェルスクリプトではなく HTML を返す303<h3 id="install-script-returns-html-instead-of-a-shell-script">

304 インストールスクリプトがシェルスクリプトではなく HTML を返す

305</h3>

287 306 

288インストールコマンドを実行するときに、次のいずれかのエラーが表示される場合があります:307インストールコマンドを実行するときに、次のいずれかのエラーが表示される場合があります:

289 308 


298Invoke-Expression: Missing argument in parameter list.317Invoke-Expression: Missing argument in parameter list.

299```318```

300 319 

301これはインストール URL がインストールスクリプトではなく HTML ページを返したことを意味します。HTML ページが「App unavailable in region」と言う場合、Claude Code はお客様の国では利用できません。[サポートされている国](https://www.anthropic.com/supported-countries)を参照してください。320リクエストのルーティング方法によっては代わりに HTML ボディなしの 403 が表示される場合があります:

321 

322```text theme={null}

323curl: (22) The requested URL returned error: 403

324```

325 

326これらはすべて、インストール URL がインストールスクリプトではなく HTML ページまたはエラーステータスを返したことを意味します。HTML ページが「App unavailable in region」と表示される場合、Claude Code はお客様の国では利用できません。[サポートされている国](https://www.anthropic.com/supported-countries)を参照してください。

327 

328ボディなしの 403 は多くの場合同じ原因がありますが、企業プロキシまたはダウンロードをブロックしているファイアウォールからも発生する可能性があります。サポートされている国にいるのに 403 が表示される場合は、以下の代替インストーラーを試す前に[ネットワーク接続を確認する](#check-network-connectivity)を実行してください。これらは同じホストに到達するためです。

302 329 

303それ以外の場合、これはネットワークの問題、地域的なルーティング、または一時的なサービス中断が原因で発生する可能性があります。330それ以外の場合、これはネットワークの問題、地域的なルーティング、または一時的なサービス中断が原因で発生する可能性があります。

304 331 


320 347 

3212. **数分後に再試行してください**:問題は一時的なことが多いです。待ってから元のコマンドを再度試してください。3482. **数分後に再試行してください**:問題は一時的なことが多いです。待ってから元のコマンドを再度試してください。

322 349 

323### インストール後に `command not found: claude`350<h3 id="command-not-found-claude-after-installation">

351 インストール後に `command not found: claude`

352</h3>

324 353 

325インストールが完了しましたが、`claude` が機能しません。正確なエラーはプラットフォームによって異なります:354インストールが完了しましたが、`claude` が機能しません。正確なエラーはプラットフォームによって異なります:

326 355 


333 362 

334これは、インストールディレクトリがシェルの検索パスに含まれていないことを意味します。各プラットフォームの修正については、[PATH を確認する](#verify-your-path)を参照してください。363これは、インストールディレクトリがシェルの検索パスに含まれていないことを意味します。各プラットフォームの修正については、[PATH を確認する](#verify-your-path)を参照してください。

335 364 

336### `curl: (56) Failure writing output to destination`365<h3 id="curl-56-failure-writing-output-to-destination">

366 `curl: (56) Failure writing output to destination`

367</h3>

337 368 

338`curl ... | bash` コマンドはスクリプトをダウンロードして Bash にパイプして実行します。このエラーはスクリプトのダウンロードが完了する前に接続が切断されたことを意味します一般的な原因には、ネットワーク中断、ダウンロードがストリーム中にブロックされたまたはシステムリソース制限が含まれます369`curl ... | bash` コマンドはスクリプトをダウンロードして Bash にパイプして実行します。このエラーと関連する `curl: (23) Failure writing output to destination` はBash がスクリプト全体を受け取らなかったことを意味します終了コード 56 はダウンロード自体が中断されたことを示し終了コード 23 は curl がパイプに受け取ったものを書き込めなかったことを示します通常は Bash が早期に終了したためです。

339 370 

340**解決策:**371**解決策:**

341 372 


359 winget install Anthropic.ClaudeCode390 winget install Anthropic.ClaudeCode

360 ```391 ```

361 392 

362### TLS または SSL 接続エラー393<h3 id="tls-or-ssl-connection-errors">

394 TLS または SSL 接続エラー

395</h3>

363 396 

364`curl: (35) TLS connect error`、`schannel: next InitializeSecurityContext failed`、または PowerShell の `Could not establish trust relationship for the SSL/TLS secure channel` などのエラーは TLS ハンドシェイク失敗を示します。397`curl: (35) TLS connect error`、`schannel: next InitializeSecurityContext failed`、または PowerShell の `Could not establish trust relationship for the SSL/TLS secure channel` などのエラーは TLS ハンドシェイク失敗を示します。

365 398 


397 ```430 ```

398 または、`winget install Anthropic.ClaudeCode` でインストールしてください。これは curl を完全に回避します。431 または、`winget install Anthropic.ClaudeCode` でインストールしてください。これは curl を完全に回避します。

399 432 

400### `Failed to fetch version from downloads.claude.ai`433<h3 id="failed-to-fetch-version-from-downloads-claude-ai">

434 `Failed to fetch version from downloads.claude.ai`

435</h3>

401 436 

402インストーラーがダウンロードサーバーに到達できませんでした。これは通常、`downloads.claude.ai` がネットワークでブロックされていることを意味します。437インストーラーがダウンロードサーバーに到達できませんでした。これは通常、`downloads.claude.ai` がネットワークでブロックされていることを意味します。

403 438 


428 winget install Anthropic.ClaudeCode463 winget install Anthropic.ClaudeCode

429 ```464 ```

430 465 

431### Windows での間違ったインストールコマンド466<h3 id="wrong-install-command-on-windows">

467 Windows での間違ったインストールコマンド

468</h3>

432 469 

433`'irm' is not recognized`、`The token '&&' is not valid`、または `'bash' is not recognized as the name of a cmdlet` が表示される場合、別のシェルまたはオペレーティングシステムのインストールコマンドをコピーしました。470`'irm' is not recognized`、`The token '&&' is not valid`、または `'bash' is not recognized as the name of a cmdlet` が表示される場合、別のシェルまたはオペレーティングシステムのインストールコマンドをコピーしました。

434 471 


456 irm https://claude.ai/install.ps1 | iex493 irm https://claude.ai/install.ps1 | iex

457 ```494 ```

458 495 

459### Windows インストール中の `The process cannot access the file`496<h3 id="the-process-cannot-access-the-file-during-windows-install">

497 Windows インストール中の `The process cannot access the file`

498</h3>

460 499 

461PowerShell インストーラーが `Failed to download binary: The process cannot access the file ... because it is being used by another process` で失敗する場合、インストーラーは `%USERPROFILE%\.claude\downloads` に書き込むことができませんでした。これは通常、以前のインストール試行がまだ実行されているか、アンチウイルスソフトウェアがそのフォルダー内の部分的にダウンロードされたバイナリをスキャンしていることを意味します。500PowerShell インストーラーが `Failed to download binary: The process cannot access the file ... because it is being used by another process` で失敗する場合、インストーラーは `%USERPROFILE%\.claude\downloads` に書き込むことができませんでした。これは通常、以前のインストール試行がまだ実行されているか、アンチウイルスソフトウェアがそのフォルダー内の部分的にダウンロードされたバイナリをスキャンしていることを意味します。

462 501 


467irm https://claude.ai/install.ps1 | iex506irm https://claude.ai/install.ps1 | iex

468```507```

469 508 

470### 低メモリ Linux サーバーでインストール中に Killed509<h3 id="install-killed-on-low-memory-linux-servers">

510 低メモリ Linux サーバーでインストール中に Killed

511</h3>

471 512 

472VPS またはクラウドインスタンスでインストール中に `Killed` が表示される場合:513VPS またはクラウドインスタンスでインストール中に `Killed` が表示される場合:

473 514 


502 543 

5033. **可能であれば、より大きなインスタンスを使用してください**。Claude Code には少なくとも 4 GB の RAM が必要です。5443. **可能であれば、より大きなインスタンスを使用してください**。Claude Code には少なくとも 4 GB の RAM が必要です。

504 545 

505### Docker でのインストールハング546<h3 id="install-hangs-in-docker">

547 Docker でのインストールハング

548</h3>

506 549 

507Docker コンテナで Claude Code をインストールするときに、root として `/` にインストールするとハングが発生する可能性があります。550Docker コンテナで Claude Code をインストールするときに、root として `/` にインストールするとハングが発生する可能性があります。

508 551 


519 docker build --memory=4g .562 docker build --memory=4g .

520 ```563 ```

521 564 

522### Claude Desktop が Windows の `claude` コマンドをオーバーライドする565<h3 id="claude-desktop-overrides-the-claude-command-on-windows">

566 Claude Desktop が Windows の `claude` コマンドをオーバーライドする

567</h3>

523 568 

524Claude Desktop の古いバージョンをインストールした場合、`WindowsApps` ディレクトリに `Claude.exe` を登録して、Claude Code CLI よりも PATH の優先度を取得する可能性があります。`claude` を実行すると、CLI ではなく Desktop アプリが開きます。569Claude Desktop の古いバージョンをインストールした場合、`WindowsApps` ディレクトリに `Claude.exe` を登録して、Claude Code CLI よりも PATH の優先度を取得する可能性があります。`claude` を実行すると、CLI ではなく Desktop アプリが開きます。

525 570 

526Claude Desktop を最新バージョンに更新して、この問題を修正してください。571Claude Desktop を最新バージョンに更新して、この問題を修正してください。

527 572 

528### Windows での Claude Code は Git for Windows(Bash 用)または PowerShell が必要です573<h3 id="claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell">

574 Windows での Claude Code は Git for Windows(Bash 用)または PowerShell が必要です

575</h3>

529 576 

530ネイティブ Windows での Claude Code には、少なくとも 1 つのシェルが必要です:Bash 用の [Git for Windows](https://git-scm.com/downloads/win)、または PowerShell。どちらも見つからない場合、このエラーは起動時に表示されます。PowerShell のみが見つかった場合Claude Code は Bash の代わりに PowerShell ツールを使用します577Git for Windows はオプションです。Claude Code Git Bash がない場合、[PowerShell ツール](/ja/tools-reference#powershell-tool)を使用するためこのエラーはどちらのシェルも見つからなかったことを意味します

531 578 

532**どちらもインストールされていない場合**、1 つをインストールしてください:579**PowerShell が PATH にない場合**、デフォルトの場所は `C:\Windows\System32\WindowsPowerShell\v1.0\` です。そのディレクトリを `PATH` に追加するか、`pwsh` を提供する [PowerShell 7](https://aka.ms/powershell) をインストールしてください。

533 580 

534* Git for Windows[git-scm.com/downloads/win](https://git-scm.com/downloads/win) からダウンロードしてください。セットアップ中に「Add to PATH」を選択してください。インストール後、ターミナルを再起動してください。581**Git for Windows をインストールする代わりに**、[git-scm.com/downloads/win](https://git-scm.com/downloads/win) からダウンロードしてください。セットアップ中に「Add to PATH」を選択してください。インストール後、ターミナルを再起動してください。インストールすると Bash ツールが有効になり、Bash ベースのスクリプトとツーリングを操作するときに便利です。

535* PowerShell 7:[aka.ms/powershell](https://aka.ms/powershell) からダウンロードしてください。

536 582 

537**Git が既にインストールされている**が Claude Code が見つけられない場合は、[settings.json ファイル](/ja/settings)でパスを設定してください:583**Git が既にインストールされている**が Claude Code が見つけられない場合は、[settings.json ファイル](/ja/settings)でパスを設定してください:

538 584 


546 592 

547Git がどこか別の場所にインストールされている場合は、PowerShell で `where.exe git` を実行してパスを見つけ、そのディレクトリから `bin\bash.exe` パスを使用してください。593Git がどこか別の場所にインストールされている場合は、PowerShell で `where.exe git` を実行してパスを見つけ、そのディレクトリから `bin\bash.exe` パスを使用してください。

548 594 

549### Claude Code は 32 ビット Windows をサポートしていません595<h3 id="claude-code-does-not-support-32-bit-windows">

596 Claude Code は 32 ビット Windows をサポートしていません

597</h3>

550 598 

551Windows のスタートメニューには 2 つの PowerShell エントリが含まれています:`Windows PowerShell` と `Windows PowerShell (x86)`。x86 エントリは 32 ビットプロセスとして実行され、64 ビットマシンでもこのエラーをトリガーします。どちらの場合かを確認するには、エラーを生成したのと同じウィンドウで次を実行してください:599Windows のスタートメニューには 2 つの PowerShell エントリが含まれています:`Windows PowerShell` と `Windows PowerShell (x86)`。x86 エントリは 32 ビットプロセスとして実行され、64 ビットマシンでもこのエラーをトリガーします。どちらの場合かを確認するには、エラーを生成したのと同じウィンドウで次を実行してください:

552 600 


558 606 

559これが `False` を出力する場合、32 ビット版の Windows を使用しています。Claude Code には 64 ビットオペレーティングシステムが必要です。[システム要件](/ja/setup#system-requirements)を参照してください。607これが `False` を出力する場合、32 ビット版の Windows を使用しています。Claude Code には 64 ビットオペレーティングシステムが必要です。[システム要件](/ja/setup#system-requirements)を参照してください。

560 608 

561### Linux musl または glibc バイナリの不一致609<h3 id="linux-musl-or-glibc-binary-mismatch">

610 Linux musl または glibc バイナリの不一致

611</h3>

562 612 

563インストール後に `libstdc++.so.6` または `libgcc_s.so.1` などの不足している共有ライブラリに関するエラーが表示される場合、インストーラーはシステムに対応した間違ったバイナリバリアントをダウンロードした可能性があります。613インストール後に `libstdc++.so.6` または `libgcc_s.so.1` などの不足している共有ライブラリに関するエラーが表示される場合、インストーラーはシステムに対応した間違ったバイナリバリアントをダウンロードした可能性があります。

564 614 


583 apk add libgcc libstdc++ ripgrep633 apk add libgcc libstdc++ ripgrep

584 ```634 ```

585 635 

586### `Illegal instruction`636<h3 id="illegal-instruction">

637 `Illegal instruction`

638</h3>

587 639 

588`claude` またはインストーラーを実行すると `Illegal instruction` が出力される場合、ネイティブバイナリはプロセッサがサポートしていない CPU 命令を使用しています。2 つの異なる原因があります。640`claude` またはインストーラーを実行すると `Illegal instruction` が出力される場合、ネイティブバイナリはプロセッサがサポートしていない CPU 命令を使用しています。2 つの異なる原因があります。

589 641 


597 649 

598別のインストール方法は同じネイティブバイナリをダウンロードし、どちらの原因も解決しません。650別のインストール方法は同じネイティブバイナリをダウンロードし、どちらの原因も解決しません。

599 651 

600### macOS での `dyld: cannot load`652<h3 id="dyld-cannot-load-on-macos">

653 macOS での `dyld: cannot load`

654</h3>

601 655 

602インストール中に `dyld: cannot load`、`dyld: Symbol not found`、または `Abort trap: 6` が表示される場合、バイナリは macOS バージョンまたはハードウェアと互換性がありません。656インストール中に `dyld: cannot load`、`dyld: Symbol not found`、または `Abort trap: 6` が表示される場合、バイナリは macOS バージョンまたはハードウェアと互換性がありません。

603 657 


620 674 

6212. **古いバージョンを使用している場合は macOS を更新してください**。バイナリは古い macOS バージョンがサポートしていないロードコマンドとシステムライブラリを使用しています。Homebrew などの別のインストール方法は同じバイナリをダウンロードし、このエラーを解決しません。6752. **古いバージョンを使用している場合は macOS を更新してください**。バイナリは古い macOS バージョンがサポートしていないロードコマンドとシステムライブラリを使用しています。Homebrew などの別のインストール方法は同じバイナリをダウンロードし、このエラーを解決しません。

622 676 

623### WSL1 での `Exec format error`677<h3 id="exec-format-error-on-wsl1">

678 WSL1 での `Exec format error`

679</h3>

624 680 

625WSL で `claude` を実行すると `cannot execute binary file: Exec format error` が出力される場合、WSL1 にいて、[issue #38788](https://github.com/anthropics/claude-code/issues/38788) で追跡されている既知のネイティブバイナリ回帰に直面しています。バイナリのプログラムヘッダーが WSL1 のローダーが処理できない方法で変更されました。681WSL で `claude` を実行すると `cannot execute binary file: Exec format error` が出力される場合、WSL1 にいて、[issue #38788](https://github.com/anthropics/claude-code/issues/38788) で追跡されている既知のネイティブバイナリ回帰に直面しています。バイナリのプログラムヘッダーが WSL1 のローダーが処理できない方法で変更されました。

626 682 


640 696 

641その後、`source ~/.bashrc` を実行して `claude` を再試行してください。697その後、`source ~/.bashrc` を実行して `claude` を再試行してください。

642 698 

643### WSL での npm インストールエラー699<h3 id="npm-install-errors-in-wsl">

700 WSL での npm インストールエラー

701</h3>

644 702 

645これらの問題は、WSL 内で `npm install -g` を使用して Claude Code をインストールした場合に適用されます。[ネイティブインストーラー](/ja/setup)を使用した場合は、このセクションをスキップしてください。703これらの問題は、WSL 内で `npm install -g` を使用して Claude Code をインストールした場合に適用されます。[ネイティブインストーラー](/ja/setup)を使用した場合は、このセクションをスキップしてください。

646 704 


672 `appendWindowsPath = false` で Windows PATH インポートを無効にすることは避けてください。これは WSL から Windows 実行可能ファイルを呼び出す機能を破壊します。同様に、Windows 開発に使用する場合は Windows から Node.js をアンインストールすることは避けてください。730 `appendWindowsPath = false` で Windows PATH インポートを無効にすることは避けてください。これは WSL から Windows 実行可能ファイルを呼び出す機能を破壊します。同様に、Windows 開発に使用する場合は Windows から Node.js をアンインストールすることは避けてください。

673</Warning>731</Warning>

674 732 

675### インストール中の権限エラー733<h3 id="permission-errors-during-installation">

734 インストール中の権限エラー

735</h3>

676 736 

677ネイティブインストーラーが権限エラーで失敗する場合、ターゲットディレクトリが書き込み可能でない可能性があります。[ディレクトリ権限を確認する](#check-directory-permissions)を参照してください。737ネイティブインストーラーが権限エラーで失敗する場合、ターゲットディレクトリが書き込み可能でない可能性があります。[ディレクトリ権限を確認する](#check-directory-permissions)を参照してください。

678 738 


682curl -fsSL https://claude.ai/install.sh | bash742curl -fsSL https://claude.ai/install.sh | bash

683```743```

684 744 

685### npm インストール後にネイティブバイナリが見つからない745<h3 id="native-binary-not-found-after-npm-install">

746 npm インストール後にネイティブバイナリが見つからない

747</h3>

686 748 

687`@anthropic-ai/claude-code` npm パッケージは、`@anthropic-ai/claude-code-darwin-arm64` などのプラットフォーム固有のオプション依存関係を通じてネイティブバイナリを取得します。インストール後に `claude` を実行すると `Could not find native binary package "@anthropic-ai/claude-code-<platform>"` が出力される場合は、次の原因を確認してください:749`@anthropic-ai/claude-code` npm パッケージは、`@anthropic-ai/claude-code-darwin-arm64` などのプラットフォーム固有のオプション依存関係を通じてネイティブバイナリを取得します。インストール後に `claude` を実行すると `Could not find native binary package "@anthropic-ai/claude-code-<platform>"` が出力される場合は、次の原因を確認してください:

688 750 


692 754 

693`--ignore-scripts` でインストールしてもこのエラーはトリガーされません。バイナリを所定の位置にリンクする postinstall ステップはスキップされるため、Claude Code はプラットフォームバイナリを各起動時に検索して生成するラッパーにフォールバックします。これは機能しますが、より遅く開始します。スクリプトを有効にして再インストールして、直接実行してください。755`--ignore-scripts` でインストールしてもこのエラーはトリガーされません。バイナリを所定の位置にリンクする postinstall ステップはスキップされるため、Claude Code はプラットフォームバイナリを各起動時に検索して生成するラッパーにフォールバックします。これは機能しますが、より遅く開始します。スクリプトを有効にして再インストールして、直接実行してください。

694 756 

695## ログインと認証757<h2 id="login-and-authentication">

758 ログインと認証

759</h2>

696 760 

697これらのセクションはログイン失敗、OAuth エラー、およびトークンの問題に対処します。761これらのセクションはログイン失敗、OAuth エラー、およびトークンの問題に対処します。

698 762 

699### ログインをリセットする763<h3 id="reset-your-login">

764 ログインをリセットする

765</h3>

700 766 

701ログインが失敗し、原因が明らかでない場合、クリーンな再認証がほとんどの場合を解決します:767ログインが失敗し、原因が明らかでない場合、クリーンな再認証がほとんどの場合を解決します:

702 768 


706 772 

707ログイン中にブラウザが自動的に開かない場合は、`c` を押して OAuth URL をクリップボードにコピーしてから、手動でブラウザに貼り付けてください。これは、URL が狭いまたは SSH ターミナルで行をまたいでラップされ、直接クリックできない場合にも機能します。773ログイン中にブラウザが自動的に開かない場合は、`c` を押して OAuth URL をクリップボードにコピーしてから、手動でブラウザに貼り付けてください。これは、URL が狭いまたは SSH ターミナルで行をまたいでラップされ、直接クリックできない場合にも機能します。

708 774 

709### OAuth エラー:無効なコード775<h3 id="oauth-error-invalid-code">

776 OAuth エラー:無効なコード

777</h3>

710 778 

711`OAuth error: Invalid code. Please make sure the full code was copied` が表示される場合、ログインコードが期限切れになったか、コピー貼り付け中に切り詰められました。779`OAuth error: Invalid code. Please make sure the full code was copied` が表示される場合、ログインコードが期限切れになったか、コピー貼り付け中に切り詰められました。

712 780 


716* ブラウザが自動的に開かない場合は、`c` を入力して完全な URL をコピーしてください784* ブラウザが自動的に開かない場合は、`c` を入力して完全な URL をコピーしてください

717* リモート/SSH セッションを使用している場合、ブラウザは間違ったマシンで開く可能性があります。ターミナルに表示されている URL をコピーして、代わりにローカルブラウザで開いてください。785* リモート/SSH セッションを使用している場合、ブラウザは間違ったマシンで開く可能性があります。ターミナルに表示されている URL をコピーして、代わりにローカルブラウザで開いてください。

718 786 

719### ログイン後の 403 Forbidden787<h3 id="403-forbidden-after-login">

788 ログイン後の 403 Forbidden

789</h3>

720 790 

721ログイン後に `API Error: 403 {"error":{"type":"forbidden","message":"Request not allowed"}}` が表示される場合:791ログイン後に `API Error: 403 {"error":{"type":"forbidden","message":"Request not allowed"}}` が表示される場合:

722 792 


724* **Anthropic Console ユーザー**:アカウントに「Claude Code」または「Developer」ロールがあることを確認してください。管理者は Anthropic Console の設定 → メンバーで割り当てます。794* **Anthropic Console ユーザー**:アカウントに「Claude Code」または「Developer」ロールがあることを確認してください。管理者は Anthropic Console の設定 → メンバーで割り当てます。

725* **プロキシの背後**:企業プロキシは API リクエストに干渉する可能性があります。[ネットワーク設定](/ja/network-config) を参照してプロキシセットアップを確認してください。795* **プロキシの背後**:企業プロキシは API リクエストに干渉する可能性があります。[ネットワーク設定](/ja/network-config) を参照してプロキシセットアップを確認してください。

726 796 

727### このオーガニゼーションはアクティブなサブスクリプションで無効になっています797<h3 id="this-organization-has-been-disabled-with-an-active-subscription">

798 このオーガニゼーションはアクティブなサブスクリプションで無効になっています

799</h3>

728 800 

729アクティブな Claude サブスクリプションがあるにもかかわらず `API Error: 400 ... "This organization has been disabled"` が表示される場合、`ANTHROPIC_API_KEY` 環境変数がサブスクリプションをオーバーライドしています。これは、前の雇用主またはプロジェクトからの古い API キーがシェルプロファイルに設定されている場合に一般的に発生します。801アクティブな Claude サブスクリプションがあるにもかかわらず `API Error: 400 ... "This organization has been disabled"` が表示される場合、`ANTHROPIC_API_KEY` 環境変数がサブスクリプションをオーバーライドしています。これは、前の雇用主またはプロジェクトからの古い API キーがシェルプロファイルに設定されている場合に一般的に発生します。

730 802 


739 811 

740`~/.zshrc`、`~/.bashrc`、または `~/.profile` で `export ANTHROPIC_API_KEY=...` 行を確認して削除し、変更を永続的にしてください。Windows では、`$PROFILE` の PowerShell プロファイルと `ANTHROPIC_API_KEY` のユーザー環境変数を確認してください。Claude Code 内で `/status` を実行して、どの認証方法がアクティブであるかを確認してください。812`~/.zshrc`、`~/.bashrc`、または `~/.profile` で `export ANTHROPIC_API_KEY=...` 行を確認して削除し、変更を永続的にしてください。Windows では、`$PROFILE` の PowerShell プロファイルと `ANTHROPIC_API_KEY` のユーザー環境変数を確認してください。Claude Code 内で `/status` を実行して、どの認証方法がアクティブであるかを確認してください。

741 813 

742### WSL2、SSH、またはコンテナでの OAuth ログイン失敗814<h3 id="oauth-login-fails-in-wsl2-ssh-or-containers">

815 WSL2、SSH、またはコンテナでの OAuth ログイン失敗

816</h3>

743 817 

744Claude Code が WSL2 で実行されている場合、SSH 経由でリモートマシンで実行されている場合、またはコンテナ内で実行されている場合、ブラウザは通常、別のホストで開き、そのリダイレクトは Claude Code のローカルコールバックサーバーに到達できません。サインイン後、ブラウザは自動的にリダイレクトされるのではなく、ログインコードを表示します。ターミナルの `Paste code here if prompted` プロンプトにそのコードを貼り付けてログインを完了してください。818Claude Code が WSL2 で実行されている場合、SSH 経由でリモートマシンで実行されている場合、またはコンテナ内で実行されている場合、ブラウザは通常、別のホストで開き、そのリダイレクトは Claude Code のローカルコールバックサーバーに到達できません。サインイン後、ブラウザは自動的にリダイレクトされるのではなく、ログインコードを表示します。ターミナルの `Paste code here if prompted` プロンプトにそのコードを貼り付けてログインを完了してください。

745 819 


760 834 

761このフォールバックは、ネイティブ Windows またはコードを対話型プロンプトに貼り付けるのが失敗するその他のターミナルにも適用されます。835このフォールバックは、ネイティブ Windows またはコードを対話型プロンプトに貼り付けるのが失敗するその他のターミナルにも適用されます。

762 836 

763### ログインしていないか、トークンが期限切れ837<h3 id="not-logged-in-or-token-expired">

838 ログインしていないか、トークンが期限切れ

839</h3>

764 840 

765Claude Code がセッション後に再度ログインするよう求める場合、OAuth トークンが期限切れになった可能性があります。841Claude Code がセッション後に再度ログインするよう求める場合、OAuth トークンが期限切れになった可能性があります。

766 842 


768 844 

769macOS では、Keychain がロックされているか、パスワードがアカウントパスワードと同期していない場合、ログインが失敗する可能性があります。これにより、Claude Code が認証情報を保存できなくなります。`claude doctor` を実行して Keychain アクセスを確認してください。Keychain を手動でロック解除するには、`security unlock-keychain ~/Library/Keychains/login.keychain-db` を実行してください。ロック解除が役に立たない場合は、Keychain Access を開き、`login` キーチェーンを選択して、編集 > キーチェーン「login」のパスワードを変更を選択して、アカウントパスワードと再同期してください。845macOS では、Keychain がロックされているか、パスワードがアカウントパスワードと同期していない場合、ログインが失敗する可能性があります。これにより、Claude Code が認証情報を保存できなくなります。`claude doctor` を実行して Keychain アクセスを確認してください。Keychain を手動でロック解除するには、`security unlock-keychain ~/Library/Keychains/login.keychain-db` を実行してください。ロック解除が役に立たない場合は、Keychain Access を開き、`login` キーチェーンを選択して、編集 > キーチェーン「login」のパスワードを変更を選択して、アカウントパスワードと再同期してください。

770 846 

771### Bedrock、Vertex、または Foundry 認証情報が読み込まれない847<h3 id="bedrock-vertex-or-foundry-credentials-not-loading">

848 Bedrock、Vertex、または Foundry 認証情報が読み込まれない

849</h3>

772 850 

773Claude Code をクラウドプロバイダーを使用するように設定し、Bedrock で `Could not load credentials from any providers`、Vertex で `Could not load the default credentials`、または Foundry で `ChainedTokenCredential authentication failed` が表示される場合、クラウドプロバイダー CLI は現在のシェルで認証されていない可能性があります。851Claude Code をクラウドプロバイダーを使用するように設定し、Bedrock で `Could not load credentials from any providers`、Vertex で `Could not load the default credentials`、または Foundry で `ChainedTokenCredential authentication failed` が表示される場合、クラウドプロバイダー CLI は現在のシェルで認証されていない可能性があります。

774 852 


794 872 

795完全なプロバイダーセットアップについては、[Amazon Bedrock](/ja/amazon-bedrock)、[Google Vertex AI](/ja/google-vertex-ai)、または [Microsoft Foundry](/ja/microsoft-foundry) を参照してください。873完全なプロバイダーセットアップについては、[Amazon Bedrock](/ja/amazon-bedrock)、[Google Vertex AI](/ja/google-vertex-ai)、または [Microsoft Foundry](/ja/microsoft-foundry) を参照してください。

796 874 

797## まだ立ち往生している875<h2 id="still-stuck">

876 まだ立ち往生している

877</h2>

798 878 

799上記のいずれも問題を解決しない場合:879上記のいずれも問題を解決しない場合:

800 880 

troubleshooting.md +30 −10

Details

4 4 

5# トラブルシューティング5# トラブルシューティング

6 6 

7> Claude Code の実行中のパフォーマンス安定性、検索の問題を修正し、その他の問題に対応する適切なページを見つけます。7> Claude Code の高い CPU またはメモリ使用量ハングauto-compact スラッシング、検索の問題を修正し、その他の問題に対応する適切なページを見つけます。

8 8 

9このページでは、Claude Code が実行中のパフォーマンス、安定性、検索の問題について説明します。その他の問題については、問題が発生している場所に一致するページから始めてください:9このページでは、Claude Code が実行中のパフォーマンス、安定性、検索の問題について説明します。その他の問題については、問題が発生している場所に一致するページから始めてください:

10 10 


12| :------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------- |12| :------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------- |

13| `command not found`、インストール失敗、PATH の問題、`EACCES`、TLS エラー | [インストールとログインのトラブルシューティング](/ja/troubleshoot-install) |13| `command not found`、インストール失敗、PATH の問題、`EACCES`、TLS エラー | [インストールとログインのトラブルシューティング](/ja/troubleshoot-install) |

14| ログインループ、OAuth エラー、`403 Forbidden`、「organization disabled」、Bedrock/Vertex/Foundry 認証情報 | [インストールとログインのトラブルシューティング](/ja/troubleshoot-install#login-and-authentication) |14| ログインループ、OAuth エラー、`403 Forbidden`、「organization disabled」、Bedrock/Vertex/Foundry 認証情報 | [インストールとログインのトラブルシューティング](/ja/troubleshoot-install#login-and-authentication) |

15| 設定が適用されない、フック が実行されない、MCP サーバーがロードされない | [設定をデバッグする](/ja/debug-your-config) |15| 設定が適用されない、hooks が実行されない、MCP サーバーがロードされない | [設定をデバッグする](/ja/debug-your-config) |

16| `API Error: 5xx`、`529 Overloaded`、`429`、リクエスト検証エラー | [エラーリファレンス](/ja/errors) |16| `API Error: 5xx`、`529 Overloaded`、`429`、リクエスト検証エラー | [エラーリファレンス](/ja/errors) |

17| `model not found` または `you may not have access to it` | [エラーリファレンス](/ja/errors#theres-an-issue-with-the-selected-model) |17| `model not found` または `you may not have access to it` | [エラーリファレンス](/ja/errors#there%E2%80%99s-an-issue-with-the-selected-model) |

18| VS Code 拡張機能が接続されていない、または Claude を検出していない | [VS Code 統合](/ja/vs-code#fix-common-issues) |18| VS Code 拡張機能が接続されていない、または Claude を検出していない | [VS Code 統合](/ja/vs-code#fix-common-issues) |

19| JetBrains プラグインまたは IDE が検出されない | [JetBrains 統合](/ja/jetbrains#troubleshooting) |19| JetBrains プラグインまたは IDE が検出されない | [JetBrains 統合](/ja/jetbrains#troubleshooting) |

20| CPU またはメモリ使用量が多い、応答が遅い、ハング、検索がファイルを見つけられない | [パフォーマンスと安定性](#performance-and-stability)(下記) |20| CPU またはメモリ使用量が多い、応答が遅い、ハング、検索がファイルを見つけられない | [パフォーマンスと安定性](#performance-and-stability)(下記) |

21 21 

22どれが当てはまるかわからない場合は、Claude Code 内で `/doctor` を実行して、インストール、設定、MCP サーバー、コンテキスト使用量の自動チェックを実行してください。`claude` がまったく起動しない場合は、代わりにシェルから `claude doctor` を実行してください。22どれが当てはまるかわからない場合は、Claude Code 内で `/doctor` を実行して、インストール、設定、MCP サーバー、コンテキスト使用量の自動チェックを実行してください。`claude` がまったく起動しない場合は、代わりにシェルから `claude doctor` を実行してください。

23 23 

24## パフォーマンスと安定性24<h2 id="performance-and-stability">

25 パフォーマンスと安定性

26</h2>

25 27 

26これらのセクションでは、リソース使用量、応答性、検索動作に関連する問題について説明します。28これらのセクションでは、リソース使用量、応答性、検索動作に関連する問題について説明します。

27 29 

28### CPU またはメモリ使用量が多い30<h3 id="high-cpu-or-memory-usage">

31 CPU またはメモリ使用量が多い

32</h3>

29 33 

30Claude Code はほとんどの開発環境で動作するように設計されていますが、大規模なコードベースを処理する場合、かなりのリソースを消費する可能性があります。パフォーマンスの問題が発生している場合:34Claude Code はほとんどの開発環境で動作するように設計されていますが、大規模なコードベースを処理する場合、かなりのリソースを消費する可能性があります。パフォーマンスの問題が発生している場合:

31 35 


37 41 

38分析は常駐セットサイズ、JS ヒープ、配列バッファ、および説明されていないネイティブメモリを表示し、成長が JavaScript オブジェクトにあるか、ネイティブコードにあるかを識別するのに役立ちます。Chrome DevTools のメモリ → ロードで `.heapsnapshot` ファイルを開いて、リテイナーを検査します。メモリの問題を報告するときに両方のファイルを [GitHub](https://github.com/anthropics/claude-code/issues) に添付します。42分析は常駐セットサイズ、JS ヒープ、配列バッファ、および説明されていないネイティブメモリを表示し、成長が JavaScript オブジェクトにあるか、ネイティブコードにあるかを識別するのに役立ちます。Chrome DevTools のメモリ → ロードで `.heapsnapshot` ファイルを開いて、リテイナーを検査します。メモリの問題を報告するときに両方のファイルを [GitHub](https://github.com/anthropics/claude-code/issues) に添付します。

39 43 

40### 自動コンパクションがスラッシングエラーで停止する44<h3 id="auto-compaction-stops-with-a-thrashing-error">

45 自動コンパクションがスラッシングエラーで停止する

46</h3>

41 47 

42`Autocompact is thrashing: the context refilled to the limit...` が表示される場合、自動コンパクションは成功しましたが、ファイルまたはツール出力がコンテキストウィンドウを数回連続で満杯に戻しました。Claude Code は進捗を遂行していないループで API 呼び出しを無駄にするのを避けるために再試行を停止します。48`Autocompact is thrashing: the context refilled to the limit...` が表示される場合、自動コンパクションは成功しましたが、ファイルまたはツール出力がコンテキストウィンドウを数回連続で満杯に戻しました。Claude Code は進捗を遂行していないループで API 呼び出しを無駄にするのを避けるために再試行を停止します。

43 49 


483. 大規模ファイルの作業を [subagent](/ja/sub-agents) に移動して、別のコンテキストウィンドウで実行されるようにします543. 大規模ファイルの作業を [subagent](/ja/sub-agents) に移動して、別のコンテキストウィンドウで実行されるようにします

494. 以前の会話がもう必要ない場合は `/clear` を実行します554. 以前の会話がもう必要ない場合は `/clear` を実行します

50 56 

51### コマンドがハングまたはフリーズする57<h3 id="command-hangs-or-freezes">

58 コマンドがハングまたはフリーズする

59</h3>

52 60 

53Claude Code が応答しないように見える場合:61Claude Code が応答しないように見える場合:

54 62 


57 65 

58再起動してもカンバセーションは失われません。同じディレクトリで `claude --resume` を実行してセッションを再開してください。66再起動してもカンバセーションは失われません。同じディレクトリで `claude --resume` を実行してセッションを再開してください。

59 67 

60### 検索と発見の問題68<h3 id="garbled-or-corrupted-text-in-an-editor-s-integrated-terminal">

69 エディタの統合ターミナルでのテキストの文字化けまたは破損

70</h3>

71 

72VS Code、Cursor、または Devin Desktop の統合ターミナルで Claude Code を実行する場合、文字がボックス、スミア、または間違ったグリフとしてレンダリングされる場合、ターミナルの GPU レンダラーが原因である可能性があります。Claude Code 内で `/terminal-setup` を実行して、`terminal.integrated.gpuAcceleration` を `"off"` に設定するか、エディタの設定で手動で設定してウィンドウをリロードします。[ターミナル設定](/ja/terminal-config) で、`/terminal-setup` が書き込む他の設定を参照してください。

73 

74<h3 id="search-and-discovery-issues">

75 検索と発見の問題

76</h3>

61 77 

62Search ツール、`@file` メンション、カスタムエージェント、またはカスタムスキルがファイルを見つけられない場合、バンドルされた `ripgrep` バイナリがシステムで実行されない可能性があります。プラットフォームの `ripgrep` パッケージをインストールして、Claude Code にそれを使用するよう指示します:78Search ツール、`@file` メンション、カスタムエージェント、またはカスタムスキルがファイルを見つけられない場合、バンドルされた `ripgrep` バイナリがシステムで実行されない可能性があります。プラットフォームの `ripgrep` パッケージをインストールして、Claude Code にそれを使用するよう指示します:

63 79 


95 111 

96その後、[environment](/ja/env-vars) で `USE_BUILTIN_RIPGREP=0` を設定します。112その後、[environment](/ja/env-vars) で `USE_BUILTIN_RIPGREP=0` を設定します。

97 113 

98### WSL での遅い、または不完全な検索結果114<h3 id="slow-or-incomplete-search-results-on-wsl">

115 WSL での遅い、または不完全な検索結果

116</h3>

99 117 

100[WSL でファイルシステム間で作業する場合](https://learn.microsoft.com/en-us/windows/wsl/filesystems)のディスク読み取りパフォーマンスペナルティにより、WSL で Claude Code を使用する場合、Search ツール使用時に予想より少ないマッチが返される可能性があります。検索は機能しますが、ネイティブファイルシステムより少ない結果を返します。118[WSL でファイルシステム間で作業する場合](https://learn.microsoft.com/en-us/windows/wsl/filesystems)のディスク読み取りパフォーマンスペナルティにより、WSL で Claude Code を使用する場合、Search ツール使用時に予想より少ないマッチが返される可能性があります。検索は機能しますが、ネイティブファイルシステムより少ない結果を返します。

101 119 


111 129 

1123. **ネイティブ Windows を使用する**:WSL ではなく Windows でネイティブに Claude Code を実行することを検討して、ファイルシステムのパフォーマンスを向上させます。1303. **ネイティブ Windows を使用する**:WSL ではなく Windows でネイティブに Claude Code を実行することを検討して、ファイルシステムのパフォーマンスを向上させます。

113 131 

114## さらにヘルプを得る132<h2 id="get-more-help">

133 さらにヘルプを得る

134</h2>

115 135 

116ここで説明されていない問題が発生している場合:136ここで説明されていない問題が発生している場合:

117 137 

ultraplan.md +18 −6

Details

20 20 

21Ultraplan には、[ウェブ上の Claude Code](/ja/claude-code-on-the-web) アカウントと GitHub リポジトリが必要です。Anthropic のクラウドインフラストラクチャで実行されるため、Amazon Bedrock、Google Cloud Vertex AI、または Microsoft Foundry を使用している場合は利用できません。クラウドセッションは、アカウントのデフォルト[クラウド環境](/ja/claude-code-on-the-web#the-cloud-environment)で実行されます。クラウド環境がまだない場合、ultraplan は初回起動時に自動的に作成します。21Ultraplan には、[ウェブ上の Claude Code](/ja/claude-code-on-the-web) アカウントと GitHub リポジトリが必要です。Anthropic のクラウドインフラストラクチャで実行されるため、Amazon Bedrock、Google Cloud Vertex AI、または Microsoft Foundry を使用している場合は利用できません。クラウドセッションは、アカウントのデフォルト[クラウド環境](/ja/claude-code-on-the-web#the-cloud-environment)で実行されます。クラウド環境がまだない場合、ultraplan は初回起動時に自動的に作成します。

22 22 

23## CLI から ultraplan を起動する23<h2 id="launch-ultraplan-from-the-cli">

24 CLI から ultraplan を起動する

25</h2>

24 26 

25ローカル CLI セッションから、ultraplan を 3 つの方法で起動できます。27ローカル CLI セッションから、ultraplan を 3 つの方法で起動できます。

26 28 


46 48 

47`/tasks` を実行して ultraplan エントリを選択し、セッションリンク、エージェントアクティビティ、および **Stop ultraplan** アクションを含む詳細ビューを開きます。Ultraplan を停止すると、クラウドセッションがアーカイブされ、インジケータがクリアされます。ターミナルには何も保存されません。49`/tasks` を実行して ultraplan エントリを選択し、セッションリンク、エージェントアクティビティ、および **Stop ultraplan** アクションを含む詳細ビューを開きます。Ultraplan を停止すると、クラウドセッションがアーカイブされ、インジケータがクリアされます。ターミナルには何も保存されません。

48 50 

49## ブラウザで計画をレビューして修正する51<h2 id="review-and-revise-the-plan-in-your-browser">

52 ブラウザで計画をレビューして修正する

53</h2>

50 54 

51ステータスが `◆ ultraplan ready` に変わったら、セッションリンクを開いて claude.ai で計画を表示します。計画は専用レビュービューに表示されます。55ステータスが `◆ ultraplan ready` に変わったら、セッションリンクを開いて claude.ai で計画を表示します。計画は専用レビュービューに表示されます。

52 56 


56 60 

57Claude にコメントに対処するよう依頼すると、計画が修正され、更新されたドラフトが表示されます。実行場所を選択する前に、必要な回数だけ反復できます。61Claude にコメントに対処するよう依頼すると、計画が修正され、更新されたドラフトが表示されます。実行場所を選択する前に、必要な回数だけ反復できます。

58 62 

59## 実行場所を選択する63<h2 id="choose-where-to-execute">

64 実行場所を選択する

65</h2>

60 66 

61計画が正しく見えたら、ブラウザから Claude がそれを同じクラウドセッションで実装するか、待機中のターミナルに送り返すかを選択します。67計画が正しく見えたら、ブラウザから Claude がそれを同じクラウドセッションで実装するか、待機中のターミナルに送り返すかを選択します。

62 68 

63### ウェブで実行する69<h3 id="execute-on-the-web">

70 ウェブで実行する

71</h3>

64 72 

65ブラウザで **Approve Claude's plan and start coding** を選択して、Claude が同じ Claude Code on the web セッションで実装するようにします。ターミナルに確認が表示され、ステータスインジケータがクリアされ、作業がクラウドで続行されます。実装が完了したら、[変更をレビュー](/ja/claude-code-on-the-web#review-changes)して、ウェブインターフェイスからプルリクエストを作成します。73ブラウザで **Approve Claude's plan and start coding** を選択して、Claude が同じ Claude Code on the web セッションで実装するようにします。ターミナルに確認が表示され、ステータスインジケータがクリアされ、作業がクラウドで続行されます。実装が完了したら、[変更をレビュー](/ja/claude-code-on-the-web#review-changes)して、ウェブインターフェイスからプルリクエストを作成します。

66 74 

67### 計画をターミナルに送り返す75<h3 id="send-the-plan-back-to-your-terminal">

76 計画をターミナルに送り返す

77</h3>

68 78 

69ブラウザで **Approve plan and teleport back to terminal** を選択して、環境への完全なアクセスで計画をローカルに実装します。このオプションは、セッションが CLI から起動され、ターミナルがまだポーリングしている場合に表示されます。ウェブセッションはアーカイブされるため、並行して作業を続けません。79ブラウザで **Approve plan and teleport back to terminal** を選択して、環境への完全なアクセスで計画をローカルに実装します。このオプションは、セッションが CLI から起動され、ターミナルがまだポーリングしている場合に表示されます。ウェブセッションはアーカイブされるため、並行して作業を続けません。

70 80 


76 86 

77新しいセッションを開始する場合、Claude は上部に `claude --resume` コマンドを出力するため、後で前の会話に戻ることができます。87新しいセッションを開始する場合、Claude は上部に `claude --resume` コマンドを出力するため、後で前の会話に戻ることができます。

78 88 

79## 関連リソース89<h2 id="related-resources">

90 関連リソース

91</h2>

80 92 

81* [Claude Code on the web](/ja/claude-code-on-the-web): ultraplan が実行されるクラウドインフラストラクチャ93* [Claude Code on the web](/ja/claude-code-on-the-web): ultraplan が実行されるクラウドインフラストラクチャ

82* [Plan mode](/ja/permission-modes#analyze-before-you-edit-with-plan-mode): ローカルセッションで計画がどのように機能するか94* [Plan mode](/ja/permission-modes#analyze-before-you-edit-with-plan-mode): ローカルセッションで計画がどのように機能するか

ultrareview.md +30 −18

Details

4 4 

5# ultrareview でバグを見つける5# ultrareview でバグを見つける

6 6 

7> /ultrareview で、クラウド上で深い複数エージェント型のコードレビューを実行し、マージ前にバグを見つけて検証します。7> /code-review ultra でクラウド上で深い複数エージェント型のコードレビューを実行し、マージ前にバグを見つけて検証します。

8 8 

9<Note>9<Note>

10 Ultrareview は Claude Code v2.1.86 以降で利用可能なリサーチプレビュー機能です。機能、価格、および利用可能性はフィードバックに基づいて変更される可能性があります。10 Ultrareview は Claude Code v2.1.86 以降で利用可能なリサーチプレビュー機能です。機能、価格、および利用可能性はフィードバックに基づいて変更される可能性があります。コマンドは現在 `/code-review ultra` として呼び出され、`/ultrareview` はエイリアスとして残ります。

11</Note>11</Note>

12 12 

13Ultrareview は Claude Code のウェブインフラストラクチャ上で実行される深いコードレビューです。`/ultrareview` を実行すると、Claude Code はリモートサンドボックスでレビュアーエージェントのフリートを起動し、ブランチまたはプルリクエストのバグを見つけます。13Ultrareview は Claude Code のウェブインフラストラクチャ上で実行される深いコードレビューです。`/code-review ultra` を実行すると、Claude Code はリモートサンドボックスでレビュアーエージェントのフリートを起動し、ブランチまたはプルリクエストのバグを見つけます。

14 14 

15ローカルの `/review` と比較して、ultrareview は以下を提供します。15ローカルの `/review` と比較して、ultrareview は以下を提供します。

16 16 


20 20 

21Ultrareview は Claude Code のウェブインフラストラクチャ上で実行されるため、Claude.ai アカウントでの認証が必要です。API キーのみで署名している場合は、`/login` を実行して Claude.ai で認証してください。Ultrareview は Amazon Bedrock、Google Cloud Vertex AI、または Microsoft Foundry で Claude Code を使用する場合は利用できず、Zero Data Retention を有効にしている組織でも利用できません。21Ultrareview は Claude Code のウェブインフラストラクチャ上で実行されるため、Claude.ai アカウントでの認証が必要です。API キーのみで署名している場合は、`/login` を実行して Claude.ai で認証してください。Ultrareview は Amazon Bedrock、Google Cloud Vertex AI、または Microsoft Foundry で Claude Code を使用する場合は利用できず、Zero Data Retention を有効にしている組織でも利用できません。

22 22 

23## CLI から ultrareview を実行する23<h2 id="run-ultrareview-from-the-cli">

24 CLI から ultrareview を実行する

25</h2>

24 26 

25任意の git リポジトリから Claude Code CLI でレビューを開始します。27任意の git リポジトリから Claude Code CLI でレビューを開始します。

26 28 

27```text theme={null}29```text theme={null}

28/ultrareview30/code-review ultra

29```31```

30 32 

31引数なしの場合、ultrareview は現在のブランチとデフォルトブランチ間の差分をレビューします。これには、作業ツリー内のコミットされていない変更とステージされた変更が含まれます。Claude Code はリポジトリの状態をバンドルし、レビュー用にリモートサンドボックスにアップロードします。33引数なしの場合、ultrareview は現在のブランチとデフォルトブランチ間の差分をレビューします。これには、作業ツリー内のコミットされていない変更とステージされた変更が含まれます。Claude Code はリポジトリの状態をバンドルし、レビュー用にリモートサンドボックスにアップロードします。


33代わりに GitHub プルリクエストをレビューするには、PR 番号を渡します。35代わりに GitHub プルリクエストをレビューするには、PR 番号を渡します。

34 36 

35```text theme={null}37```text theme={null}

36/ultrareview 123438/code-review ultra 1234

37```39```

38 40 

39PR モードでは、リモートサンドボックスはローカルの作業ツリーをバンドルするのではなく、GitHub からプルリクエストを直接クローンします。PR モードではリポジトリに `github.com` リモートが必要です41PR モードでは、リモートサンドボックスはローカルの作業ツリーをバンドルするのではなく、ホストから直接プルリクエストをクローンします。PR モードは `github.com` 上のリポジトリおよび Claude Code に接続されている管理者が設定した [GitHub Enterprise Server](/ja/github-enterprise-server) インスタンスで機能します

40 42 

41<Tip>43<Tip>

42 リポジトリが大きすぎてバンドルできない場合、Claude Code は代わりに PR モードを使用するよう促します。ブランチをプッシュしてドラフト PR を開き、`/ultrareview <PR-number>` を実行してください。44 リポジトリが大きすぎてバンドルできない場合、Claude Code は代わりに PR モードを使用するよう促します。ブランチをプッシュしてドラフト PR を開き、`/code-review ultra <PR-number>` を実行してください。

43</Tip>45</Tip>

44 46 

45起動前に、Claude Code はレビュー範囲(ブランチをレビューする場合はファイルと行数を含む)、残りの無料実行回数、および推定コストを含む確認ダイアログを表示します。確認後、レビューはバックグラウンドで続行され、セッションを引き続き使用できます。コマンドは `/ultrareview` で呼び出すときのみ実行されます。Claude は ultrareview を自動的に開始しません。47起動前に、Claude Code はレビュー範囲(ブランチをレビューする場合はファイルと行数を含む)、残りの無料実行回数、および推定コストを含む確認ダイアログを表示します。確認後、レビューはバックグラウンドで続行され、セッションを引き続き使用できます。コマンドは `/code-review ultra` で呼び出すときのみ実行されます。Claude は ultrareview を自動的に開始しません。

46 48 

47## 価格と無料実行回数49<h2 id="pricing-and-free-runs">

50 価格と無料実行回数

51</h2>

48 52 

49Ultrareview はプランに含まれる使用量ではなく、追加使用量に対して請求されるプレミアム機能です。53Ultrareview はプランに含まれる使用量ではなく、追加使用量に対して請求されるプレミアム機能です。

50 54 


58 62 

59Ultrareview は常に無料実行回数外の追加使用量として請求されるため、有料レビューを起動する前に、アカウントまたは組織で追加使用量を有効にする必要があります。追加使用量が有効になっていない場合、Claude Code は起動をブロックし、有効にできる請求設定にリンクします。`/usage-credits` を実行して、現在の設定を確認または変更することもできます。63Ultrareview は常に無料実行回数外の追加使用量として請求されるため、有料レビューを起動する前に、アカウントまたは組織で追加使用量を有効にする必要があります。追加使用量が有効になっていない場合、Claude Code は起動をブロックし、有効にできる請求設定にリンクします。`/usage-credits` を実行して、現在の設定を確認または変更することもできます。

60 64 

61## 実行中のレビューを追跡する65<h2 id="track-a-running-review">

66 実行中のレビューを追跡する

67</h2>

62 68 

63レビューは通常 5 ~ 10 分かかります。レビューはバックグラウンドタスクとして実行されるため、セッションで作業を続けたり、他のコマンドを開始したり、ターミナルを完全に閉じたりできます。69レビューは通常 5 ~ 10 分かかります。レビューはバックグラウンドタスクとして実行されるため、セッションで作業を続けたり、他のコマンドを開始したり、ターミナルを完全に閉じたりできます。

64 70 

65`/tasks` を使用して、実行中および完了したレビューを表示し、レビューの詳細ビューを開くか、進行中のレビューを停止します。レビューを停止するとクラウドセッションがアーカイブされ、部分的な検出結果は返されません。レビューが完了すると、検証された検出結果がセッション内の通知として表示されます。各検出結果には、ファイルの場所と問題の説明が含まれているため、Claude に直接修正を依頼できます。71`/tasks` を使用して、実行中および完了したレビューを表示し、レビューの詳細ビューを開くか、進行中のレビューを停止します。レビューを停止するとクラウドセッションがアーカイブされ、部分的な検出結果は返されません。レビューが完了すると、検証された検出結果がセッション内の通知として表示されます。各検出結果には、ファイルの場所と問題の説明が含まれているため、Claude に直接修正を依頼できます。

66 72 

67## ultrareview を非対話的に実行する73<h2 id="run-ultrareview-non-interactively">

74 ultrareview を非対話的に実行する

75</h2>

68 76 

69`claude ultrareview` サブコマンドを使用して、対話的なセッションなしに CI またはスクリプトから ultrareview を開始します。サブコマンドは `/ultrareview` と同じレビューを起動し、リモートレビューが完了するまでブロックし、検出結果を stdout に出力し、成功時にコード 0 で終了するか、失敗時にコード 1 で終了します。77`claude ultrareview` サブコマンドを使用して、対話的なセッションなしに CI またはスクリプトから ultrareview を開始します。サブコマンドは `/code-review ultra` と同じレビューを起動し、リモートレビューが完了するまでブロックし、検出結果を stdout に出力し、成功時にコード 0 で終了するか、失敗時にコード 1 で終了します。

70 78 

71```bash theme={null}79```bash theme={null}

72claude ultrareview80claude ultrareview


83| `--json` | フォーマットされた検出結果の代わりに、生の `bugs.json` ペイロードを出力します |91| `--json` | フォーマットされた検出結果の代わりに、生の `bugs.json` ペイロードを出力します |

84| `--timeout <minutes>` | レビューが完了するまで待機する最大分数。デフォルトは 30 です |92| `--timeout <minutes>` | レビューが完了するまで待機する最大分数。デフォルトは 30 です |

85 93 

86`claude ultrareview` を実行するには、`/ultrareview` と同じ認証と追加使用量の設定が必要です。サブコマンドは、レビューが検出結果の有無にかかわらず完了したときにコード 0 で終了し、レビューの起動に失敗した場合、リモートセッションがエラーになった場合、またはタイムアウトが経過した場合にコード 1 で終了し、Ctrl-C で中断された場合にコード 130 で終了します。サブコマンドを中断した場合、リモートレビューは実行し続けます。stderr に出力されたセッション URL に従って、ブラウザで監視してください。94`claude ultrareview` を実行するには、`/code-review ultra` と同じ認証と使用量クレジット設定が必要です。サブコマンドは、レビューが検出結果の有無にかかわらず完了したときにコード 0 で終了し、レビューの起動に失敗した場合、リモートセッションがエラーになった場合、またはタイムアウトが経過した場合にコード 1 で終了し、Ctrl-C で中断された場合にコード 130 で終了します。サブコマンドを中断した場合、リモートレビューは実行し続けます。stderr に出力されたセッション URL に従って、ブラウザで監視してください。

87 95 

88GitHub プルリクエストの自動レビューについては、[Code Review](/ja/code-review) がリポジトリと直接統合され、CLI ステップなしでインラインの PR コメントとして検出結果を投稿します。96GitHub プルリクエストの自動レビューについては、[Code Review](/ja/code-review) がリポジトリと直接統合され、CLI ステップなしでインラインの PR コメントとして検出結果を投稿します。

89 97 

90## ultrareview/review の比較98<h2 id="how-ultrareview-compares-to-/review">

99 ultrareview と /review の比較

100</h2>

91 101 

92両方のコマンドはコードをレビューしますが、ワークフローの異なるステージをターゲットにしています。102両方のコマンドはコードをレビューしますが、ワークフローの異なるステージをターゲットにしています。

93 103 

94| | `/review` | `/ultrareview` |104| | `/review` | `/code-review ultra` |

95| ----- | -------------- | ----------------------------- |105| ----- | -------------- | ----------------------------- |

96| 実行場所 | セッション内でローカルに実行 | クラウドサンドボックスでリモートに実行 |106| 実行場所 | セッション内でローカルに実行 | クラウドサンドボックスでリモートに実行 |

97| 深さ | 単一パスレビュー | 独立した検証を備えた複数エージェントフリート |107| 深さ | 単一パスレビュー | 独立した検証を備えた複数エージェントフリート |


99| コスト | 通常の使用量にカウント | 無料実行回数、その後追加使用量として約 5 ~ 20 ドル |109| コスト | 通常の使用量にカウント | 無料実行回数、その後追加使用量として約 5 ~ 20 ドル |

100| 最適な用途 | 反復中の迅速なフィードバック | 実質的な変更のマージ前の信頼度 |110| 最適な用途 | 反復中の迅速なフィードバック | 実質的な変更のマージ前の信頼度 |

101 111 

102作業中の迅速なフィードバックには `/review` を使用します。単一のレビューでは見落とされる可能性のある問題をキャッチするより深いパスが必要な場合は、実質的な変更をマージする前に `/ultrareview` を使用します。112作業中の迅速なフィードバックには `/review` を使用します。単一のレビューでは見落とされる可能性のある問題をキャッチするより深いパスが必要な場合は、実質的な変更をマージする前に `/code-review ultra` を使用します。

103 113 

104## 関連リソース114<h2 id="related-resources">

115 関連リソース

116</h2>

105 117 

106* [Claude Code on the web](/ja/claude-code-on-the-web): リモートセッションとクラウドサンドボックスの仕組みについて学習します118* [Claude Code on the web](/ja/claude-code-on-the-web): リモートセッションとクラウドサンドボックスの仕組みについて学習します

107* [Plan complex changes with ultraplan](/ja/ultraplan): 事前設計作業のための ultrareview のカウンターパート119* [Plan complex changes with ultraplan](/ja/ultraplan): 事前設計作業のための ultrareview のカウンターパート

voice-dictation.md +31 −11

Details

12 音声ディクテーションには Claude Code v2.1.69 以降が必要です。タップモードには v2.1.116 以降が必要です。`claude --version` でバージョンを確認してください。12 音声ディクテーションには Claude Code v2.1.69 以降が必要です。タップモードには v2.1.116 以降が必要です。`claude --version` でバージョンを確認してください。

13</Note>13</Note>

14 14 

15## 要件15ディクテーション機能は [エージェントビュー](/ja/agent-view#peek-and-reply) でも機能します。ディスパッチ入力またはピークパネルの返信がフォーカスされている間、プッシュトークキーを長押しまたはタップして、バックグラウンドセッションにディクテーションを行うことができます。

16 16 

17音声ディクテーションは、記録された音声を Anthropic のサーバーにストリーミングして文字起こしします。音声はローカルで処理されません。音声テキスト変換サービスは Claude.ai アカウントで認証した場合にのみ利用可能であり、Claude Code が Anthropic API キー、Amazon Bedrock、Google Vertex AI、または Microsoft Foundry を直接使用するように設定されている場合は利用できません。文字起こしは Claude メッセージやトークンを消費せず、`/usage` に表示される制限にはカウントされません。Anthropic がデータをどのように処理するかについては、[データ使用](/ja/data-usage)を参照してください。17<h2 id="requirements">

18 要件

19</h2>

18 20 

19音声ディクテーションはローカルマイクへのアクセスも必要なため[Web 上の Claude Code](/ja/claude-code-on-the-web)や SSH セッションなどのリモート環境では機能しませんWSL では音声ディクテーションは音声アクセスのために WSLg が必要です。WSLg Windows 10 または 11 Microsoft Store からインストールされた WSL2 に含まれていますWSL1 など WSLg が利用できない場合は代わりにネイティブ Windows Claude Code を実行してください21音声ディクテーションは記録された音声を Anthropic のサーバーにストリーミングして文字起こしします音声はローカルで処理されません。音声テキスト変換サービスは Claude.ai アカウントで認証した場合にのみ利用可能でありClaude Code Anthropic API キー、Amazon Bedrock、Google Vertex AI、または Microsoft Foundry を直接使用するように設定されている場合は利用できませんまた組織が HIPAA コンプライアンスを有効にしている場合も、音声ディクテーションは利用できません。文字起こしは Claude メッセージやトークンを消費せず、`/usage` に表示される制限にはカウントされませんAnthropic がデータをどのように処理するかについては、[データ使用](/ja/data-usage)を参照してください。

22 

23音声ディクテーションはローカルマイクへのアクセスも必要なため、[Web 上の Claude Code](/ja/claude-code-on-the-web)や SSH セッションなどのリモート環境では機能しません。WSL では、音声ディクテーションは音声アクセスのために WSLg が必要です。WSLg は Windows 10 または 11 の Microsoft Store からインストールされた WSL2 に含まれています。WSLg が利用できない場合(例えば WSL1 など)は、代わりにネイティブ Windows で Claude Code を実行してください。

20 24 

21音声録音は macOS、Linux、Windows のビルトイン ネイティブ モジュールを使用します。Linux では、ネイティブ モジュールが読み込めない場合、Claude Code は ALSA utils の `arecord` または SoX の `rec` にフォールバックします。どちらも利用できない場合、`/voice` はパッケージ マネージャーのインストール コマンドを出力します。25音声録音は macOS、Linux、Windows のビルトイン ネイティブ モジュールを使用します。Linux では、ネイティブ モジュールが読み込めない場合、Claude Code は ALSA utils の `arecord` または SoX の `rec` にフォールバックします。どちらも利用できない場合、`/voice` はパッケージ マネージャーのインストール コマンドを出力します。

22 26 

23Claude Code [VS Code 拡張機能](/ja/vs-code)も、同じ Claude.ai アカウント要件で音声ディクテーションをサポートしています。SSH、Dev Containers、Codespaces などの VS Code Remote セッションでは利用できません。マイクはローカル マシンにあり、拡張機能はリモート ホストで実行されるためです。27Claude Code [VS Code 拡張機能](/ja/vs-code)も、同じ Claude.ai アカウント要件で音声ディクテーションをサポートしています。SSH、Dev Containers、Codespaces などの VS Code Remote セッションでは利用できません。マイクはローカル マシンにあり、拡張機能はリモート ホストで実行されるためです。

24 28 

25## 音声ディクテーションを有効にする29<h2 id="enable-voice-dictation">

30 音声ディクテーションを有効にする

31</h2>

26 32 

27`/voice` を実行して音声ディクテーションを有効にします。初めて有効にするときは、Claude Code はマイク チェックを実行します。macOS では、ターミナルにマイク権限がまだ付与されていない場合、システム マイク権限プロンプトがトリガーされます。33`/voice` を実行して音声ディクテーションを有効にします。初めて有効にするときは、Claude Code はマイク チェックを実行します。macOS では、ターミナルにマイク権限がまだ付与されていない場合、システム マイク権限プロンプトがトリガーされます。

28 34 


55 61 

56文字起こしは両方のモードでコーディング語彙用に調整されています。`regex`、`OAuth`、`JSON`、`localhost` などの一般的な開発用語は正しく認識され、現在のプロジェクト名と git ブランチ名は認識ヒントとして自動的に追加されます。62文字起こしは両方のモードでコーディング語彙用に調整されています。`regex`、`OAuth`、`JSON`、`localhost` などの一般的な開発用語は正しく認識され、現在のプロジェクト名と git ブランチ名は認識ヒントとして自動的に追加されます。

57 63 

58## 長押しして録音64<h2 id="hold-to-record">

65 長押しして録音

66</h2>

59 67 

60長押しモードはプッシュツートーク機能です。キーを押している間は録音が実行され、キーを離すと停止します。これはデフォルト モードです。68長押しモードはプッシュツートーク機能です。キーを押している間は録音が実行され、キーを離すと停止します。これはデフォルト モードです。

61 69 


77 85 

78デフォルトでは、キーを離すと文字起こしが挿入され、`Enter` を押すのを待ちます。`voice` 設定オブジェクトで `"autoSubmit": true` を設定して、文字起こしが少なくとも 3 語以上の場合、キーを離すときにプロンプトを自動的に送信します。86デフォルトでは、キーを離すと文字起こしが挿入され、`Enter` を押すのを待ちます。`voice` 設定オブジェクトで `"autoSubmit": true` を設定して、文字起こしが少なくとも 3 語以上の場合、キーを離すときにプロンプトを自動的に送信します。

79 87 

80## タップして録音して送信88<h2 id="tap-to-record-and-send">

89 タップして録音して送信

90</h2>

81 91 

82タップモードは単一のキープレスで録音を切り替えます。1 回タップして開始し、話してから、もう 1 回タップしてプロンプトを送信します。ウォームアップはなく、キーを押し続ける必要はありません。92タップモードは単一のキープレスで録音を切り替えます。1 回タップして開始し、話してから、もう 1 回タップしてプロンプトを送信します。ウォームアップはなく、キーを押し続ける必要はありません。

83 93 


85 95 

86最初のタップはプロンプト入力が空の場合にのみ録音を開始するため、メッセージを作成しながら通常どおりスペースを入力できます。2 番目のタップは入力内容に関係なく録音を停止します。15 秒以上の無音または 2 分間の合計の後、録音も自動的に停止します。96最初のタップはプロンプト入力が空の場合にのみ録音を開始するため、メッセージを作成しながら通常どおりスペースを入力できます。2 番目のタップは入力内容に関係なく録音を停止します。15 秒以上の無音または 2 分間の合計の後、録音も自動的に停止します。

87 97 

88## 音声ディクテーション言語を変更する98<h2 id="change-the-dictation-language">

99 音声ディクテーション言語を変更する

100</h2>

89 101 

90音声ディクテーションは、Claude の応答言語を制御する同じ [`language` 設定](/ja/settings)を使用します。その設定が空の場合、音声ディクテーションはデフォルトで英語になります。VS Code 拡張機能では、`language` が空の場合、音声ディクテーションは VS Code の `accessibility.voice.speechLanguage` 設定を使用してから、デフォルトで英語になります。102音声ディクテーションは、Claude の応答言語を制御する同じ [`language` 設定](/ja/settings)を使用します。その設定が空の場合、音声ディクテーションはデフォルトで英語になります。VS Code 拡張機能では、`language` が空の場合、音声ディクテーションは VS Code の `accessibility.voice.speechLanguage` 設定を使用してから、デフォルトで英語になります。

91 103 


124 136 

125`language` 設定がサポートされているリストにない場合、`/voice` は有効化時に警告を表示し、音声ディクテーションの場合は英語にフォールバックします。Claude のテキスト応答はこのフォールバックの影響を受けません。137`language` 設定がサポートされているリストにない場合、`/voice` は有効化時に警告を表示し、音声ディクテーションの場合は英語にフォールバックします。Claude のテキスト応答はこのフォールバックの影響を受けません。

126 138 

127## 音声ディクテーション キーをリバインドする139<h2 id="rebind-the-dictation-key">

140 音声ディクテーション キーをリバインドする

141</h2>

128 142 

129音声ディクテーション キーは `Chat` コンテキストの `voice:pushToTalk` にバインドされ、デフォルトは `Space` です。同じバインディングは長押しモードとタップモードの両方を制御します。[`~/.claude/keybindings.json`](/ja/keybindings)でリバインドします。143音声ディクテーション キーは `Chat` コンテキストの `voice:pushToTalk` にバインドされ、デフォルトは `Space` です。同じバインディングは長押しモードとタップモードの両方を制御します。[`~/.claude/keybindings.json`](/ja/keybindings)でリバインドします。

130 144 


148 162 

149一部のキーはターミナル アプリケーションに配信されず、まったくバインドできません。たとえば、`Caps Lock` をバインドしようとするとエラーが表示されます。完全なキーバインディング構文と予約済みショートカットのリストについては、[キーボード ショートカットをカスタマイズする](/ja/keybindings)を参照してください。163一部のキーはターミナル アプリケーションに配信されず、まったくバインドできません。たとえば、`Caps Lock` をバインドしようとするとエラーが表示されます。完全なキーバインディング構文と予約済みショートカットのリストについては、[キーボード ショートカットをカスタマイズする](/ja/keybindings)を参照してください。

150 164 

151## トラブルシューティング165<h2 id="troubleshooting">

166 トラブルシューティング

167</h2>

152 168 

153音声ディクテーションがアクティブにならないか、記録されない場合の一般的な問題:169音声ディクテーションがアクティブにならないか、記録されない場合の一般的な問題:

154 170 


163* **`No speech detected`**: オーディオは文字起こしサービスに到達しましたが、単語は認識されませんでした。マイクに近づいて話し、背景ノイズを減らし、[ディクテーション言語](#change-the-dictation-language)が話している言語と一致することを確認してください。179* **`No speech detected`**: オーディオは文字起こしサービスに到達しましたが、単語は認識されませんでした。マイクに近づいて話し、背景ノイズを減らし、[ディクテーション言語](#change-the-dictation-language)が話している言語と一致することを確認してください。

164* **文字起こしが乱れているか、間違った言語である**: ディクテーションはデフォルトで英語です。別の言語でディクテーションしている場合は、最初に `/config` で設定してください。[ディクテーション言語を変更する](#change-the-dictation-language)を参照してください。180* **文字起こしが乱れているか、間違った言語である**: ディクテーションはデフォルトで英語です。別の言語でディクテーションしている場合は、最初に `/config` で設定してください。[ディクテーション言語を変更する](#change-the-dictation-language)を参照してください。

165 181 

166### Terminal not listed in macOS Microphone settings182<h3 id="terminal-not-listed-in-macos-microphone-settings">

183 Terminal not listed in macOS Microphone settings

184</h3>

167 185 

168ターミナル アプリが \[システム設定] → \[プライバシーとセキュリティ] → \[マイク]に表示されない場合、有効にできるトグルはありません。ターミナルのマイク権限状態をリセットして、次の `/voice` 実行が新しい macOS 権限プロンプトをトリガーするようにしてください。186ターミナル アプリが \[システム設定] → \[プライバシーとセキュリティ] → \[マイク]に表示されない場合、有効にできるトグルはありません。ターミナルのマイク権限状態をリセットして、次の `/voice` 実行が新しい macOS 権限プロンプトをトリガーするようにしてください。

169 187 


185 </Step>203 </Step>

186</Steps>204</Steps>

187 205 

188## 関連項目206<h2 id="see-also">

207 関連項目

208</h2>

189 209 

190* [キーボード ショートカットをカスタマイズする](/ja/keybindings): `voice:pushToTalk` および他の CLI キーボード アクションをリバインドする210* [キーボード ショートカットをカスタマイズする](/ja/keybindings): `voice:pushToTalk` および他の CLI キーボード アクションをリバインドする

191* [設定を構成する](/ja/settings): `voice`、`language`、およびその他の設定キーの完全なリファレンス211* [設定を構成する](/ja/settings): `voice`、`language`、およびその他の設定キーの完全なリファレンス

vs-code.md +9 −7

Details

32 32 

33または、VS Code で `Cmd+Shift+X`(Mac)または `Ctrl+Shift+X`(Windows/Linux)を押して拡張機能ビューを開き、「Claude Code」を検索して、**インストール**をクリックします。33または、VS Code で `Cmd+Shift+X`(Mac)または `Ctrl+Shift+X`(Windows/Linux)を押して拡張機能ビューを開き、「Claude Code」を検索して、**インストール**をクリックします。

34 34 

35拡張機能は Windsurf や Kiro などの他の VS Code フォークにもインストールされます。エディタの拡張機能ビューで「Claude Code」を検索するか、[Open VSX レジストリ](https://open-vsx.org/extension/Anthropic/claude-code)からインストールしてください。エディタが拡張機能をインストールできない場合は、統合ターミナルで `claude` を実行してください。[CLI](/ja/quickstart) はどのターミナルでも動作します。35拡張機能は Devin Desktop や Kiro などの他の VS Code フォークにもインストールされます。エディタの拡張機能ビューで「Claude Code」を検索するか、[Open VSX レジストリ](https://open-vsx.org/extension/Anthropic/claude-code)からインストールしてください。エディタが拡張機能をインストールできない場合は、統合ターミナルで `claude` を実行してください。[CLI](/ja/quickstart) はどのターミナルでも動作します。

36 36 

37<Note>インストール後に拡張機能が表示されない場合は、VS Code を再起動するか、コマンドパレットから「Developer: Reload Window」を実行してください。</Note>37<Note>インストール後に拡張機能が表示されない場合は、VS Code を再起動するか、コマンドパレットから「Developer: Reload Window」を実行してください。</Note>

38 38 


308### 拡張機能設定308### 拡張機能設定

309 309 

310| 設定 | デフォルト | 説明 |310| 設定 | デフォルト | 説明 |

311| ----------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |311| ----------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------ |

312| `useTerminal` | `false` | グラフィカルパネルの代わりにターミナルモードで Claude を起動します。 |312| `useTerminal` | `false` | グラフィカルパネルの代わりにターミナルモードで Claude を起動します。 |

313| `initialPermissionMode` | `default` | 新しい会話の承認プロンプトを制御します。`default`、`plan`、`acceptEdits`、または `bypassPermissions`。[permission modes](/ja/permission-modes) を参照してください。 |313| `initialPermissionMode` | `default` | 新しい会話の承認プロンプトを制御します。`default`、`plan`、`acceptEdits`、または `bypassPermissions`。[permission modes](/ja/permission-modes) を参照してください。 |

314| `preferredLocation` | `panel` | Claude が開く場所:`sidebar`(右)または `panel`(新しいタブ) |314| `preferredLocation` | `panel` | Claude が開く場所:`sidebar`(右)または `panel`(新しいタブ) |


321| `usePythonEnvironment` | `true` | Claude を実行するときにワークスペースの Python 環境をアクティベートします。Python 拡張機能が必要です。 |321| `usePythonEnvironment` | `true` | Claude を実行するときにワークスペースの Python 環境をアクティベートします。Python 拡張機能が必要です。 |

322| `environmentVariables` | `[]` | Claude プロセスの環境変数を設定します。共有設定には Claude Code 設定を使用します。 |322| `environmentVariables` | `[]` | Claude プロセスの環境変数を設定します。共有設定には Claude Code 設定を使用します。 |

323| `disableLoginPrompt` | `false` | 認証プロンプトをスキップします(サードパーティプロバイダーセットアップ用)。 |323| `disableLoginPrompt` | `false` | 認証プロンプトをスキップします(サードパーティプロバイダーセットアップ用)。 |

324| `allowDangerouslySkipPermissions` | `false` | [Auto mode](/ja/permission-modes#eliminate-prompts-with-auto-mode) と Bypass permissions をモード選択ツールに追加します。Auto mode には [plan、admin、model、provider の要件](/ja/permission-modes#eliminate-prompts-with-auto-mode)があるため、このトグルがオンでも利用不可のままである可能性がありますBypass permissions は、インターネットアクセスのないサンドボックスでのみ使用してください。 |324| `allowDangerouslySkipPermissions` | `false` | モード選択ツールに Bypass permissions を追加します。インターネットアクセスのないサンドボックスでのみ使用してください。 |

325| `claudeProcessWrapper` | - | Claude プロセスを起動するために使用される実行可能ファイル。バンドルされたバイナリパスは、存在する場合は引数として渡されます。拡張機能ビルドにプラットフォーム用のバイナリが含まれていない場合は、これを別途インストールされた `claude` バイナリに設定します。 |325| `claudeProcessWrapper` | - | Claude プロセスを起動するために使用される実行可能ファイル。バンドルされたバイナリパスは、存在する場合は引数として渡されます。拡張機能ビルドにプラットフォーム用のバイナリが含まれていない場合は、これを別途インストールされた `claude` バイナリに設定します。 |

326 326 

327## VS Code 拡張機能と Claude Code CLI327## VS Code 拡張機能と Claude Code CLI


431 431 

432コードはプライベートのままです。Claude Code はコード支援を提供するためにコードを処理しますが、モデルのトレーニングには使用しません。データ処理とログアウトの方法の詳細については、[Data and privacy](/ja/data-usage) を参照してください。432コードはプライベートのままです。Claude Code はコード支援を提供するためにコードを処理しますが、モデルのトレーニングには使用しません。データ処理とログアウトの方法の詳細については、[Data and privacy](/ja/data-usage) を参照してください。

433 433 

434自動編集権限が有効な場合、Claude Code は VS Code が自動的に実行する可能性がある VS Code 設定ファイル(`settings.json` や `tasks.json` など)を変更できます。信頼できないコードで作業するときのリスクを軽減するには、以下を実行します434自動編集権限が有効な場合、Claude Code は VS Code が自動的に実行する可能性がある VS Code 設定ファイル(`settings.json` や `tasks.json` など)を変更できます。信頼できないコードで作業するときのリスクを軽減するには、以下を実行してください

435 435 

436* 信頼できないワークスペースに対して [VS Code Restricted Mode](https://code.visualstudio.com/docs/editor/workspace-trust#_restricted-mode) を有効にします436* 信頼できないワークスペースに対して [VS Code Restricted Mode](https://code.visualstudio.com/docs/editor/workspace-trust#_restricted-mode) を有効にします

437* 編集の自動受け入れの代わりに手動承認モードを使用します437* 編集の自動受け入れの代わりに手動承認モードを使用します

438* 変更を受け入れる前に慎重に確認します438* 変更を受け入れる前に慎重に確認します

439 439 

440### 組み込み IDE MCP サーバー440### 組み込み IDE MCP サーバー

441 441 


443 443 

444サーバーは `ide` という名前で、設定するものがないため `/mcp` から非表示になっています。ただし、組織が `PreToolUse` hook を使用して MCP ツールをホワイトリストに登録している場合は、それが存在することを知る必要があります。444サーバーは `ide` という名前で、設定するものがないため `/mcp` から非表示になっています。ただし、組織が `PreToolUse` hook を使用して MCP ツールをホワイトリストに登録している場合は、それが存在することを知る必要があります。

445 445 

446**選択とオープンファイルコンテキスト。** 接続中、CLI は現在のエディタ選択とアクティブなファイルのパスを各プロンプトのコンテキストとして含めます。トランスクリプトは、これが発生したときに `⧉ Selected N lines from <file>` 行を表示します。`.env` などの機密ファイルを除外するには、そのパスに対して [`Read` deny rule](/ja/permissions#read-and-edit) を追加します。一致する deny rule は、そのファイルの選択されたテキストとオープンファイル通知の両方が Claude に到達するのを防ぎます。

447 

446**トランスポートと認証。** サーバーは `127.0.0.1` にバインドし、ランダムな高いポートで、他のマシンからはアクセスできません。各拡張機能のアクティベーションは、接続するために CLI が提示する必要がある新しいランダム認証トークンを生成します。トークンは `~/.claude/ide/` の下のロックファイルに書き込まれ、`0600` 権限を持つ `0700` ディレクトリにあるため、VS Code を実行しているユーザーのみがそれを読むことができます。448**トランスポートと認証。** サーバーは `127.0.0.1` にバインドし、ランダムな高いポートで、他のマシンからはアクセスできません。各拡張機能のアクティベーションは、接続するために CLI が提示する必要がある新しいランダム認証トークンを生成します。トークンは `~/.claude/ide/` の下のロックファイルに書き込まれ、`0600` 権限を持つ `0700` ディレクトリにあるため、VS Code を実行しているユーザーのみがそれを読むことができます。

447 449 

448**モデルに公開されるツール。** サーバーは約 12 個のツールをホストしていますが、モデルに表示されるのは 2 つだけです。残りは、CLI が独自の UI(差分を開く、選択を読む、ファイルを保存する)に使用する内部 RPC であり、ツールリストが Claude に到達する前にフィルタリングされます。450**モデルに公開されるツール。** サーバーは約 12 個のツールをホストしていますが、モデルに表示されるのは 2 つだけです。残りは、CLI が独自の UI(差分を開く、選択を読む、ファイルを保存する)に使用する内部 RPC であり、ツールリストが Claude に到達する前にフィルタリングされます。

web-quickstart.md +61 −17

Details

23 23 

24ローカル設定、ツール、または環境が必要な作業の場合は、Claude Code をローカルで実行するか、[Remote Control](/ja/remote-control) を使用する方が適しています。24ローカル設定、ツール、または環境が必要な作業の場合は、Claude Code をローカルで実行するか、[Remote Control](/ja/remote-control) を使用する方が適しています。

25 25 

26## セッションの実行方法26<h2 id="how-sessions-run">

27 セッションの実行方法

28</h2>

27 29 

28タスクを送信すると:30タスクを送信すると:

29 31 


34 36 

35ブランチがプッシュされてもセッションは閉じません。PR の作成とさらなる編集はすべて同じ会話内で行われます。37ブランチがプッシュされてもセッションは閉じません。PR の作成とさらなる編集はすべて同じ会話内で行われます。

36 38 

37## Claude Code を実行する方法を比較39<h2 id="compare-ways-to-run-claude-code">

40 Claude Code を実行する方法を比較

41</h2>

38 42 

39Claude Code はどこでも同じように動作します。変わるのは、コードが実行される場所とローカル設定が利用可能かどうかです。Desktop app は local と cloud の両方のセッションを提供するため、以下の回答はどちらを選択するかによって異なります:43Claude Code はどこでも同じように動作します。変わるのは、コードが実行される場所とローカル設定が利用可能かどうかです。Desktop app は local と cloud の両方のセッションを提供するため、以下の回答はどちらを選択するかによって異なります:

40 44 


50 54 

51[terminal quickstart](/ja/quickstart)、[Desktop app](/ja/desktop)、または [Remote Control](/ja/remote-control) ドキュメントを参照して、それらをセットアップしてください。55[terminal quickstart](/ja/quickstart)、[Desktop app](/ja/desktop)、または [Remote Control](/ja/remote-control) ドキュメントを参照して、それらをセットアップしてください。

52 56 

53## GitHub を接続して環境を作成57<h2 id="connect-github-and-create-an-environment">

58 GitHub を接続して環境を作成

59</h2>

54 60 

55セットアップは 1 回限りのプロセスです。既に GitHub CLI を使用している場合は、ブラウザの代わりに [ターミナルからこれを実行](#connect-from-your-terminal) できます。61セットアップは 1 回限りのプロセスです。既に GitHub CLI を使用している場合は、ブラウザの代わりに [ターミナルからこれを実行](#connect-from-your-terminal) できます。

56 62 


77 </Step>83 </Step>

78</Steps>84</Steps>

79 85 

80### ターミナルから接続86<h3 id="connect-from-your-terminal">

87 ターミナルから接続

88</h3>

81 89 

82既に GitHub CLI(`gh`)を使用している場合は、ブラウザを開かずに Claude Code on the web をセットアップできます。これには [Claude Code CLI](/ja/quickstart) が必要です。`/web-setup` はローカルの `gh` トークンを読み取り、Claude アカウントにリンクし、cloud 環境がない場合はデフォルトの cloud 環境を作成します。90既に GitHub CLI(`gh`)を使用している場合は、ブラウザを開かずに Claude Code on the web をセットアップできます。これには [Claude Code CLI](/ja/quickstart) が必要です。`/web-setup` はローカルの `gh` トークンを読み取り、Claude アカウントにリンクし、cloud 環境がない場合はデフォルトの cloud 環境を作成します。

83 91 


109 </Step>117 </Step>

110</Steps>118</Steps>

111 119 

112## タスクを開始120<h2 id="start-a-task">

121 タスクを開始

122</h2>

113 123 

114GitHub が接続され、環境が作成されたら、タスクを送信する準備ができています。124GitHub が接続され、環境が作成されたら、タスクを送信する準備ができています。

115 125 


133 </Step>143 </Step>

134</Steps>144</Steps>

135 145 

136## セッションを事前入力146<h2 id="pre-fill-sessions">

147 セッションを事前入力

148</h2>

137 149 

138[claude.ai/code](https://claude.ai/code) URL にクエリパラメータを追加することで、新しいセッションのプロンプト、リポジトリ、環境を事前入力できます。これを使用して、issue tracker のボタンなどの統合を構築し、issue の説明をプロンプトとして Claude Code を開きます。150[claude.ai/code](https://claude.ai/code) URL にクエリパラメータを追加することで、新しいセッションのプロンプト、リポジトリ、環境を事前入力できます。これを使用して、issue tracker のボタンなどの統合を構築し、issue の説明をプロンプトとして Claude Code を開きます。

139 151 


150https://claude.ai/code?prompt=Fix%20the%20login%20bug&repositories=acme/webapp162https://claude.ai/code?prompt=Fix%20the%20login%20bug&repositories=acme/webapp

151```163```

152 164 

153## レビューと反復165<h2 id="review-and-iterate">

166 レビューと反復

167</h2>

154 168 

155Claude が完了したら、変更をレビューし、特定の行にフィードバックを残し、diff が正しく見えるまで続行します。169Claude が完了したら、変更をレビューし、特定の行にフィードバックを残し、diff が正しく見えるまで続行します。

156 170 


172 </Step>186 </Step>

173</Steps>187</Steps>

174 188 

175## セットアップのトラブルシューティング189<h2 id="troubleshoot-setup">

190 セットアップのトラブルシューティング

191</h2>

176 192 

177### GitHub 接続後にリポジトリが表示されない193<h3 id="no-repositories-appear-after-connecting-github">

194 GitHub 接続後にリポジトリが表示されない

195</h3>

178 196 

179Claude GitHub App 使用する各リポジトリへの明示的なアクセスが必要です。github.com で **Settings → Applications → Claude → Configure** を開き、リポジトリが **Repository access** の下にリストされていることを確認します。Private リポジトリは public リポジトリと同じ認可が必要です。197cloud セッションは、接続された GitHub アカウントが見ることができるすべてのリポジトリを使用できます。Claude GitHub App がインストールされているリポジトリに関係なく。リポジトリが見つからない場合は接続された GitHub アカウントが GitHub でそれにアクセスできることを確認してくださいまた、リポジトリの [Auto-fix](/ja/claude-code-on-the-web#auto-fix-pull-requests) が必要な場合は、App をインストールしてください:github.com で **Settings → Applications → Claude → Configure** を開き、リポジトリが **Repository access** の下にリストされていることを確認します。Private リポジトリは public リポジトリと同じ認可が必要です。

180 198 

181### ページに GitHub ログインボタンのみが表示される199<h3 id="the-page-only-shows-a-github-login-button">

200 ページに GitHub ログインボタンのみが表示される

201</h3>

182 202 

183Cloud セッションには接続された GitHub アカウントが必要です。上記のブラウザフローで接続するか、GitHub CLI を使用している場合はターミナルから `/web-setup` を実行します。GitHub をまったく接続したくない場合は、[Remote Control](/ja/remote-control) を参照して、独自のマシンで Claude Code を実行し、ウェブから監視します。203Cloud セッションには接続された GitHub アカウントが必要です。上記のブラウザフローで接続するか、GitHub CLI を使用している場合はターミナルから `/web-setup` を実行します。GitHub をまったく接続したくない場合は、[Remote Control](/ja/remote-control) を参照して、独自のマシンで Claude Code を実行し、ウェブから監視します。

184 204 

185### 「Not available for the selected organization205<h3 id="not-available-for-the-selected-organization">

206 「Not available for the selected organization」

207</h3>

186 208 

187Enterprise Organization では、管理者が Claude Code on the web を有効にする必要がある場合があります。Anthropic アカウントチームに連絡してください。209Enterprise Organization では、管理者が Claude Code on the web を有効にする必要がある場合があります。Anthropic アカウントチームに連絡してください。

188 210 

189### `/web-setup` が「Unknown command」を返す211<h3 id="/web-setup-returns-unknown-command">

212 `/web-setup` が「Unknown command」を返す

213</h3>

190 214 

191`/web-setup` はシェルではなく Claude Code CLI 内で実行されます。まず `claude` を起動し、プロンプトで `/web-setup` を入力します。215`/web-setup` はシェルではなく Claude Code CLI 内で実行されます。まず `claude` を起動し、プロンプトで `/web-setup` を入力します。

192 216 

193Claude Code 内で入力してもエラーが表示される場合は、CLI が v2.1.80 より古いか、API キーまたはサードパーティプロバイダーではなく claude.ai サブスクリプションで認証されています。`claude update` を実行してから `/login` を実行して、claude.ai アカウントでサインインします。217Claude Code 内で入力してもエラーが表示される場合は、CLI が v2.1.80 より古いか、API キーまたはサードパーティプロバイダーではなく claude.ai サブスクリプションで認証されています。`claude update` を実行してから `/login` を実行して、claude.ai アカウントでサインインします。

194 218 

195### `--remote` または ultraplan を使用する場合に「Could not create a cloud environment」または「No cloud environment available219<h3 id="could-not-create-a-cloud-environment-or-no-cloud-environment-available-when-using-remote-or-ultraplan">

220 `--remote` または ultraplan を使用する場合に「Could not create a cloud environment」または「No cloud environment available」

221</h3>

196 222 

197Remote セッション機能は、cloud 環境がない場合、デフォルトの cloud 環境を自動的に作成します。「Could not create a cloud environment」が表示される場合、自動作成に失敗しました。{/* max-version: 2.1.100 */}「No cloud environment available」が表示される場合、CLI は自動作成より前のものです。どちらの場合でも、Claude Code CLI で `/web-setup` を実行して手動で作成するか、[claude.ai/code](https://claude.ai/code) にアクセスして上記の **Create your environment** ステップに従ってください。223Remote セッション機能は、cloud 環境がない場合、デフォルトの cloud 環境を自動的に作成します。「Could not create a cloud environment」が表示される場合、自動作成に失敗しました。{/* max-version: 2.1.100 */}「No cloud environment available」が表示される場合、CLI は自動作成より前のものです。どちらの場合でも、Claude Code CLI で `/web-setup` を実行して手動で作成するか、[claude.ai/code](https://claude.ai/code) にアクセスして上記の **Create your environment** ステップに従ってください。

198 224 

199### Setup script が失敗225<h3 id="setup-script-failed">

226 Setup script が失敗

227</h3>

200 228 

201Setup script は 0 以外のステータスで終了し、セッションの開始をブロックします。一般的な原因:229Setup script は 0 以外のステータスで終了し、セッションの開始をブロックします。一般的な原因:

202 230 


206 234 

207デバッグするには、スクリプトの上部に `set -x` を追加して、どのコマンドが失敗したかを確認します。重要でないコマンドの場合は、`|| true` を追加してセッション開始をブロックしないようにします。235デバッグするには、スクリプトの上部に `set -x` を追加して、どのコマンドが失敗したかを確認します。重要でないコマンドの場合は、`|| true` を追加してセッション開始をブロックしないようにします。

208 236 

209### タブを閉じた後もセッションが実行され続ける237<h3 id="new-sessions-hang-or-time-out-during-setup">

238 新しいセッションがセットアップ中にハングするか、タイムアウトする

239</h3>

240 

241新しいセッションが setup script ステップで停止するか、スクリプトが完了する前に一般的なコンテナエラーで失敗する場合、スクリプトは [environment cache](/ja/claude-code-on-the-web#environment-caching) を構築するための約 5 分間の時間予算を超えている可能性があります。大きな Docker イメージの取得、完全な依存関係ツリーの同期、またはモデルの重みのダウンロードなどの重い手順は、特に 1 つずつ実行される場合、合計を制限を超えることがよくあります。

242 

243これを修正するには、スクリプトをトリミングして、5 分以内に確実に完了するようにします:

244 

245* `&` と最終的な `wait` を使用して独立したインストールを並列で実行し、それらを順序立てて実行する代わりに。

246* 最大のダウンロードを setup script から [SessionStart hook](/ja/claude-code-on-the-web#setup-scripts-vs-sessionstart-hooks) に移動して、バックグラウンドで起動するため、セッションは完了中に使用可能になります。

247* setup script から長い再試行スリープを削除します。停止した再試行ループは予算に対してカウントされるためです。

248 

249<h3 id="session-keeps-running-after-closing-the-tab">

250 タブを閉じた後もセッションが実行され続ける

251</h3>

210 252 

211これは仕様です。タブを閉じたり、移動したりしてもセッションは停止しません。Claude が現在のタスクを完了するまでバックグラウンドで実行され、その後アイドル状態になります。サイドバーから、セッションをリストから非表示にするために [archive a session](/ja/claude-code-on-the-web#archive-sessions) するか、永久に削除するために [delete it](/ja/claude-code-on-the-web#delete-sessions) できます。253これは仕様です。タブを閉じたり、移動したりしてもセッションは停止しません。Claude が現在のタスクを完了するまでバックグラウンドで実行され、その後アイドル状態になります。サイドバーから、セッションをリストから非表示にするために [archive a session](/ja/claude-code-on-the-web#archive-sessions) するか、永久に削除するために [delete it](/ja/claude-code-on-the-web#delete-sessions) できます。

212 254 

213## 次のステップ255<h2 id="next-steps">

256 次のステップ

257</h2>

214 258 

215タスクを送信してレビューできるようになったので、これらのページは次に来るものをカバーしています:ターミナルから cloud セッションを開始し、定期的な作業をスケジュールし、Claude に常設の指示を与えます。259タスクを送信してレビューできるようになったので、これらのページは次に来るものをカバーしています:ターミナルから cloud セッションを開始し、定期的な作業をスケジュールし、Claude に常設の指示を与えます。

216 260 

whats-new.md +24 −0

Details

8 8 

9週間開発ダイジェストは、あなたの仕事のやり方を変える可能性が最も高い機能をハイライトします。各エントリには実行可能なコード、短いデモ、および完全なドキュメントへのリンクが含まれています。すべてのバグ修正と軽微な改善については、[changelog](/ja/changelog) を参照してください。9週間開発ダイジェストは、あなたの仕事のやり方を変える可能性が最も高い機能をハイライトします。各エントリには実行可能なコード、短いデモ、および完全なドキュメントへのリンクが含まれています。すべてのバグ修正と軽微な改善については、[changelog](/ja/changelog) を参照してください。

10 10 

11<Update label="Week 22" description="May 25–29, 2026" tags={["v2.1.150–v2.1.157"]}>

12 **Claude Opus 4.8**:Max、Team Premium、Enterprise 従量課金制、および Anthropic API アカウント向けの新しいデフォルトモデル。デフォルトで高いエフォートレベルを備え、最も難しいタスク向けに `/effort xhigh` をサポートしています。

13 

14 今週のその他の機能:**dynamic workflows** は Claude が作成するスクリプトから数十から数百のサブエージェントを調整します。**security-guidance プラグイン** は Claude の変更を脆弱性についてレビューします。**fast mode** は Opus 4.8 で 1 MTok あたり $10/$50 で実行されます。

15 

16 [Week 22 ダイジェストを読む →](/ja/whats-new/2026-w22)

17</Update>

18 

19<Update label="Week 21" description="May 18–22, 2026" tags={["v2.1.143–v2.1.149"]}>

20 **Pro プランの Auto mode**:auto mode は Pro アカウントで実行され、Opus と並行して Sonnet 4.6 をサポートし、許可プロンプトをバックグラウンド安全チェックに置き換えます。

21 

22 今週のその他の機能:**`/usage`** はスキル、サブエージェント、プラグイン、および MCP サーバーごとにプラン制限を駆動するものを分解します。新しい **`/code-review`** コマンドは正確性バグを報告します。**background sessions** は `/resume` に表示され、ピン留めされると生き続けます。

23 

24 [Week 21 ダイジェストを読む →](/ja/whats-new/2026-w21)

25</Update>

26 

27<Update label="Week 20" description="May 11–15, 2026" tags={["v2.1.139–v2.1.142"]}>

28 **エージェントビュー**:`claude agents` は Claude Code セッションごとに 1 つの画面を開き、何が実行中か、何があなたをブロックしているか、何が完了したかを表示します。

29 

30 今週のその他の機能:**`/goal`** は完了条件が成立するまで Claude を複数ターンにわたって動作させ続けます。**fast mode** はデフォルトで Opus 4.7 で実行されるようになりました。**Rewind メニュー** は「ここまで要約」で以前のコンテキストを圧縮できます。

31 

32 [Week 20 ダイジェストを読む →](/ja/whats-new/2026-w20)

33</Update>

34 

11<Update label="Week 19" description="May 4–8, 2026" tags={["v2.1.128–v2.1.136"]}>35<Update label="Week 19" description="May 4–8, 2026" tags={["v2.1.128–v2.1.136"]}>

12 **プラグインが `.zip` アーカイブと URL から読み込まれます**:`--plugin-dir` は `.zip` ファイルを受け入れるようになり、`--plugin-url` は現在のセッション用にプラグインアーカイブをフェッチします。36 **プラグインが `.zip` アーカイブと URL から読み込まれます**:`--plugin-dir` は `.zip` ファイルを受け入れるようになり、`--plugin-url` は現在のセッション用にプラグインアーカイブをフェッチします。

13 37 

whats-new/2026-w13.md +164 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# Week 13 · 2026年3月23日~27日

6 

7> 自動モード(ハンズオフ権限)、コンピュータ使用機能の組み込み、クラウド内の PR 自動修正、トランスクリプト検索、Windows 用 PowerShell ツール。

8 

9<div className="digest-meta">

10 <span>リリース <a href="/ja/docs/changelog#2-1-83">v2.1.83 → v2.1.85</a></span>

11 <span>6 つの機能 · 3月23日~27日</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">自動モード</span>

17 <span className="digest-feature-pill">research preview</span>

18 </div>

19 

20 <p className="digest-feature-lede">自動モードは、権限プロンプトを分類器に委ねます。安全な編集とコマンドは中断なく実行され、破壊的または疑わしい操作はブロックされて表示されます。すべてのファイル書き込みを承認することと <code>--dangerously-skip-permissions</code> で実行することの中間的な選択肢です。</p>

21 

22 <Frame>

23 <img src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/auto-mode.png?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=367c9e9d4ba5bc57ec4b935154bf1fbb" alt="Claude Code プロンプトフッターに黄色で'auto mode on (shift+tab to cycle)'インジケーターが表示されている" width="2400" height="691" data-path="images/whats-new/auto-mode.png" />

24 </Frame>

25 

26 <p className="digest-feature-try">Shift+Tab で自動モードに切り替えるか、デフォルトとして設定します:</p>

27 

28 ```json ~/.claude/settings.json {3} theme={null}

29 {

30 "permissions": {

31 "defaultMode": "auto"

32 }

33 }

34 ```

35 

36 <a className="digest-feature-link" href="/ja/docs/permission-modes">権限モードガイド</a>

37</div>

38 

39<div className="digest-feature">

40 <div className="digest-feature-header">

41 <span className="digest-feature-title">コンピュータ使用</span>

42 <span className="digest-feature-pill">Desktop</span>

43 </div>

44 

45 <p className="digest-feature-lede">Claude は Claude Code Desktop アプリからあなたの実際のデスクトップを制御できるようになりました:ネイティブアプリを開く、iOS シミュレーターをクリックして操作する、ハードウェア制御パネルを操作する、画面上の変更を確認します。デフォルトではオフになっており、各アクション前に確認を求めます。API がないアプリ、独自ツール、GUI としてのみ存在するものなど、他の方法では到達できないものに最適です。</p>

46 

47 <Frame>

48 <img src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/computer-use.png?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=d631de2017edafff463505f8ddbc0f51" alt="Claude Desktop 設定で'Computer use'トグルが有効になっており、許可したアプリで Claude がスクリーンショットを撮影し、キーボードとマウスを制御できるオプションが表示されている" width="2376" height="1210" data-path="images/whats-new/computer-use.png" />

49 </Frame>

50 

51 <p className="digest-feature-try">設定で有効にし、OS 権限を付与してから、Claude に変更をエンドツーエンドで確認するよう依頼します:</p>

52 

53 ```text Claude Code theme={null}

54 > Open the iOS simulator, tap through the onboarding flow, and screenshot each step

55 ```

56 

57 <a className="digest-feature-link" href="/ja/docs/desktop#let-claude-use-your-computer">コンピュータ使用ガイド</a>

58</div>

59 

60<div className="digest-feature">

61 <div className="digest-feature-header">

62 <span className="digest-feature-title">PR 自動修正</span>

63 <span className="digest-feature-pill">Web</span>

64 </div>

65 

66 <p className="digest-feature-lede">PR を開くときにスイッチを切り替えて、あとは任せます。Claude は CI を監視し、失敗を修正し、細かい指摘に対応し、グリーンになるまでプッシュします。6 ラウンドのリント エラーを通じて PR をベビーシッティングする必要はもうありません。</p>

67 

68 <Frame>

69 <img src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/auto-fix.png?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=c62b181c6c5d96929f0b43525f9f3584" alt="Claude Code ウェブ CI パネルで'Auto fix'トグルが有効になっており、'CI 失敗とレビューコメントを積極的に修正'という説明が表示されている" width="960" height="444" data-path="images/whats-new/auto-fix.png" />

70 </Frame>

71 

72 <p className="digest-feature-try">Claude Code ウェブで PR を作成した後、CI パネルで「Auto fix」を切り替えます。</p>

73 

74 <a className="digest-feature-link" href="/ja/docs/claude-code-on-the-web#auto-fix-pull-requests">PR 自動修正</a>

75</div>

76 

77<div className="digest-feature">

78 <div className="digest-feature-header">

79 <span className="digest-feature-title">トランスクリプト検索</span>

80 <span className="digest-feature-pill">v2.1.83</span>

81 </div>

82 

83 <p className="digest-feature-lede">トランスクリプト モードで <code>/</code> を押して、会話を検索します。<code>n</code> と <code>N</code> で一致する項目をステップスルーします。Claude が 400 メッセージ前に実行した Bash コマンドを見つける方法がついに実現しました。</p>

84 

85 <p className="digest-feature-try">トランスクリプト モードを開いて検索します:</p>

86 

87 ```text Claude Code theme={null}

88 Ctrl+O # open transcript

89 /migrate # search for "migrate"

90 n # next match

91 N # previous match

92 ```

93 

94 <a className="digest-feature-link" href="/ja/docs/fullscreen#search-and-review-the-conversation">フルスクリーン ガイド</a>

95</div>

96 

97<div className="digest-feature">

98 <div className="digest-feature-header">

99 <span className="digest-feature-title">PowerShell ツール</span>

100 <span className="digest-feature-pill">preview</span>

101 <span className="digest-feature-pill">v2.1.84</span>

102 </div>

103 

104 <p className="digest-feature-lede">Windows は Bash と並んでネイティブ PowerShell ツールを取得します。Claude はコマンドレットを実行し、オブジェクトをパイプし、すべてを Git Bash を通じて変換することなく Windows ネイティブ パスで動作できます。</p>

105 

106 <p className="digest-feature-try">設定からオプトインします:</p>

107 

108 ```json .claude/settings.json {3} theme={null}

109 {

110 "env": {

111 "CLAUDE_CODE_USE_POWERSHELL_TOOL": "1"

112 }

113 }

114 ```

115 

116 <a className="digest-feature-link" href="/ja/docs/tools-reference#powershell-tool">PowerShell ツール ドキュメント</a>

117</div>

118 

119<div className="digest-feature">

120 <div className="digest-feature-header">

121 <span className="digest-feature-title">条件付きフック</span>

122 <span className="digest-feature-pill">v2.1.85</span>

123 </div>

124 

125 <p className="digest-feature-lede">フックは権限ルール構文を使用して <code>if</code> フィールドを宣言できるようになりました。プリコミット チェックはすべての bash 呼び出しではなく <code>Bash(git commit \*)</code> に対してのみ生成され、ビジー セッションでのプロセス オーバーヘッドが削減されます。</p>

126 

127 <p className="digest-feature-try">フックを git コミットのみにスコープします:</p>

128 

129 ```json .claude/settings.json {5} theme={null}

130 {

131 "hooks": {

132 "PreToolUse": [{

133 "hooks": [{

134 "if": "Bash(git commit *)",

135 "type": "command",

136 "command": ".claude/hooks/lint-staged.sh"

137 }]

138 }]

139 }

140 }

141 ```

142 

143 <a className="digest-feature-link" href="/ja/docs/hooks">フック リファレンス</a>

144</div>

145 

146<div className="digest-wins">

147 <p className="digest-wins-title">その他の改善</p>

148 

149 <div className="digest-wins-grid">

150 <div>プラグイン <code>userConfig</code> が公開されました:有効化時に設定を入力、キーチェーン対応シークレット</div>

151 <div>貼り付けた画像は <code>\[Image #N]</code> チップを挿入し、位置的に参照できます</div>

152 <div><code>managed-settings.d/</code> レイヤード ポリシー フラグメント用のドロップイン ディレクトリ</div>

153 <div><code>CwdChanged</code> と <code>FileChanged</code> フック イベント(direnv スタイルのセットアップ用)</div>

154 <div>エージェントはフロントマターで <code>initialPrompt</code> を宣言して、最初のターンを自動送信できます</div>

155 <div><code>Ctrl+X Ctrl+E</code> は外部エディターを開き、readline と一致します</div>

156 <div>応答前に中断すると、入力が自動的に復元されます</div>

157 <div><code>/status</code> は Claude が応答中でも機能するようになりました</div>

158 <div>ディープ リンクは最初に検出されたターミナルではなく、優先ターミナルで開きます</div>

159 <div>75 分以上離席後、<code>/clear</code> へのアイドル復帰ナッジ</div>

160 <div>VS Code:レート制限バナー、Esc キー 2 回でリワインド ピッカー</div>

161 </div>

162</div>

163 

164[v2.1.83–v2.1.85 の完全なチェンジログ →](/ja/changelog#2-1-83)

whats-new/2026-w14.md +138 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# Week 14 · 3月30日~4月3日、2026年

6 

7> CLI でのコンピュータ使用、インタラクティブなプロダクト内レッスン、ちらつきのないレンダリング、ツール別 MCP 結果サイズオーバーライド、および PATH 上のプラグイン実行ファイル。

8 

9<div className="digest-meta">

10 <span>Releases <a href="/ja/docs/changelog#2-1-86">v2.1.86 → v2.1.91</a></span>

11 <span>5 features · 3月30日~4月3日</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">CLI でのコンピュータ使用</span>

17 <span className="digest-feature-pill">research preview</span>

18 </div>

19 

20 <p className="digest-feature-lede">先週、コンピュータ使用が Desktop アプリに搭載されました。今週は CLI に搭載されます。Claude はネイティブアプリを開き、UI をクリックして操作し、独自の変更をテストし、問題を修正できます。すべてターミナルから実行できます。Web アプリには既に検証ループがありました。ネイティブ iOS、macOS、およびその他の GUI のみのアプリにはありませんでした。今はあります。API を呼び出すことができないアプリやツールのループを閉じるのに最適です。まだ初期段階です。粗い部分が残っていることを予想してください。</p>

21 

22 <Frame>

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/cli-computer-use.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=c17a337902308d7c9121013ded0494db" data-path="images/whats-new/cli-computer-use.mp4" />

24 </Frame>

25 

26 <p className="digest-feature-try"><code>/mcp</code> を実行し、<code>computer-use</code> を見つけて、オンに切り替えます。その後、Claude にエンドツーエンドで変更を検証するよう依頼します。</p>

27 

28 ```text Claude Code theme={null}

29 > Open the iOS simulator, tap through onboarding, and screenshot each step

30 ```

31 

32 <a className="digest-feature-link" href="/ja/docs/computer-use">コンピュータ使用ガイド</a>

33</div>

34 

35<div className="digest-feature">

36 <div className="digest-feature-header">

37 <span className="digest-feature-title">/powerup</span>

38 <span className="digest-feature-pill">v2.1.90</span>

39 </div>

40 

41 <p className="digest-feature-lede">Claude Code の機能をアニメーション化されたデモを通じて教えるインタラクティブなレッスンで、ターミナル内で直接利用できます。Claude Code は頻繁にリリースされ、先月の作業方法を変えていたはずの機能が見落とされることがあります。<code>/powerup</code> を 1 回実行すれば、何があるかがわかります。</p>

42 

43 <Frame>

44 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/powerup.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=fb88beddc0ecc8029da5ab029e4b28f1" data-path="images/whats-new/powerup.mp4" />

45 </Frame>

46 

47 <p className="digest-feature-try">実行します。</p>

48 

49 ```text Claude Code theme={null}

50 > /powerup

51 ```

52 

53 <a className="digest-feature-link" href="/ja/docs/commands">コマンドリファレンス</a>

54</div>

55 

56<div className="digest-feature">

57 <div className="digest-feature-header">

58 <span className="digest-feature-title">ちらつきのないレンダリング</span>

59 <span className="digest-feature-pill">v2.1.89</span>

60 </div>

61 

62 <p className="digest-feature-lede">仮想化されたスクロールバック機能を備えた新しい alt-screen レンダラーにオプトインします。プロンプト入力は下部に固定されたままになり、マウス選択は長い会話全体で機能し、再描画時のちらつきがなくなります。<code>CLAUDE\_CODE\_NO\_FLICKER</code> を設定解除してロールバックします。</p>

63 

64 <Frame>

65 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/flicker-free.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=7719e35e52a3f9734b0cf69edac333ad" data-path="images/whats-new/flicker-free.mp4" />

66 </Frame>

67 

68 <p className="digest-feature-try">環境変数を設定して Claude Code を再起動します。</p>

69 

70 ```bash theme={null}

71 export CLAUDE_CODE_NO_FLICKER=1

72 claude

73 ```

74 

75 <a className="digest-feature-link" href="/ja/docs/fullscreen">全画面レンダリング</a>

76</div>

77 

78<div className="digest-feature">

79 <div className="digest-feature-header">

80 <span className="digest-feature-title">MCP 結果サイズオーバーライド</span>

81 <span className="digest-feature-pill">v2.1.91</span>

82 </div>

83 

84 <p className="digest-feature-lede">MCP サーバー作成者は、ツールの <code>tools/list</code> エントリで <code>anthropic/maxResultSizeChars</code> を設定することで、特定のツールの切り詰めキャップを上げることができるようになりました。上限は 500K 文字です。キャップは以前はグローバルだったため、データベーススキーマやファイルツリー全体など、本質的に大きなペイロードを返すことがあるツールはデフォルト制限に達し、ファイル参照を使用してディスクに保存されました。ツール別のオーバーライドにより、ツールが本当に必要な場合、これらの結果をインラインで保持できます。</p>

85 

86 <p className="digest-feature-try">サーバーの <code>tools/list</code> レスポンスでツールに注釈を付けます。</p>

87 

88 ```json highlight={5} theme={null}

89 {

90 "name": "get_schema",

91 "description": "Returns the full database schema",

92 "_meta": {

93 "anthropic/maxResultSizeChars": 500000

94 }

95 }

96 ```

97 

98 <a className="digest-feature-link" href="/ja/docs/mcp#raise-the-limit-for-a-specific-tool">MCP リファレンス</a>

99</div>

100 

101<div className="digest-feature">

102 <div className="digest-feature-header">

103 <span className="digest-feature-title">PATH 上のプラグイン実行ファイル</span>

104 <span className="digest-feature-pill">v2.1.91</span>

105 </div>

106 

107 <p className="digest-feature-lede">プラグインルートの <code>bin/</code> ディレクトリに実行ファイルを配置すると、Claude Code はそのディレクトリを Bash ツールの <code>PATH</code> に追加します。プラグインが有効になっている間です。Claude は、絶対パスやラッパースクリプトを必要とせず、任意の Bash ツール呼び出しから、バアコマンドとしてバイナリを呼び出すことができます。CLI ヘルパーをコマンド、エージェント、およびそれらを呼び出すフックの横にパッケージ化するのに便利です。</p>

108 

109 <p className="digest-feature-try">プラグインルートに <code>bin/</code> ディレクトリを追加します。</p>

110 

111 ```text highlight={4, 5} theme={null}

112 my-plugin/

113 ├── .claude-plugin/

114 │ └── plugin.json

115 └── bin/

116 └── my-tool

117 ```

118 

119 <a className="digest-feature-link" href="/ja/docs/plugins-reference#file-locations-reference">プラグインリファレンス</a>

120</div>

121 

122<div className="digest-wins">

123 <p className="digest-wins-title">その他の改善</p>

124 

125 <div className="digest-wins-grid">

126 <div>オートモードのフォローアップ。新しい <code>PermissionDenied</code> フックは分類器の拒否時に発火します(<code>retry: true</code> を返して Claude に別のアプローチを試させます)。<code>/permissions</code> → Recent では <code>r</code> で手動で再試行できます。</div>

127 <div><code>PreToolUse</code> フックの <code>permissionDecision</code> の新しい <code>defer</code> 値。<code>-p</code> セッションはツール呼び出しで一時停止し、<code>deferred\_tool\_use</code> ペイロードで終了します。SDK アプリまたはカスタム UI がそれをサーフェスできます。その後、<code>--resume</code> で再開します。</div>

128 <div><code>/buddy</code>。あなたがコードを書くのを見守る小さな生き物をかえします(4月1日)</div>

129 <div><code>disableSkillShellExecution</code> 設定は、スキル、スラッシュコマンド、およびプラグインコマンドからのインラインシェルをブロックします。</div>

130 <div>Edit ツールは、別の Read なしで <code>cat</code> または <code>sed -n</code> で表示されたファイルで機能するようになりました。</div>

131 <div>50K を超えるフック出力はディスクに保存され、パス + プレビューが表示されます。コンテキストに注入される代わりに。</div>

132 <div>インタラクティブセッションではデフォルトで思考サマリーがオフになります(<code>showThinkingSummaries: true</code> で復元)</div>

133 <div>音声モード。プッシュツートークモディファイアコンボ、Windows WebSocket、macOS Apple Silicon マイク権限</div>

134 <div><code>claude-cli://</code> ディープリンクは複数行プロンプトを受け入れます(エンコード <code>%0A</code>)</div>

135 </div>

136</div>

137 

138[v2.1.86–v2.1.91 の完全なチェンジログ →](/ja/changelog#2-1-86)

whats-new/2026-w15.md +119 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# Week 15 · 2026年4月6日~10日

6 

7> Ultraplan クラウドプランニング、セルフペーシング /loop を備えた Monitor ツール、セットアップをパッケージ化するための /team-onboarding、およびターミナルからの /autofix-pr。

8 

9<div className="digest-meta">

10 <span>Releases <a href="/ja/docs/changelog#2-1-92">v2.1.92 → v2.1.101</a></span>

11 <span>4 つの機能 · 4月6日~10日</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Ultraplan</span>

17 <span className="digest-feature-pill">research preview</span>

18 </div>

19 

20 <p className="digest-feature-lede">ターミナルからクラウドでプランモードをキックオフし、ブラウザで結果を確認します。Claude は Web セッション上の Claude Code でプランを作成し、ターミナルは自由に使用できます。準備ができたら、個別のセクションにコメントを付け、修正をリクエストし、リモートで実行するか CLI に戻すかを選択できます。v2.1.101 以降、最初の実行時にデフォルトのクラウド環境が自動作成されるため、試す前に Web セットアップステップは不要です。</p>

21 

22 <Frame>

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/aFXPQxiBOW99MHS3/images/whats-new/ultraplan.mp4?fit=max&auto=format&n=aFXPQxiBOW99MHS3&q=85&s=e8f2f23730c6a5c289dbf3e7b13eadf6" data-path="images/whats-new/ultraplan.mp4" />

24 </Frame>

25 

26 <p className="digest-feature-try">コマンドを実行するか、任意のプロンプトにキーワードを含めます:</p>

27 

28 ```text Claude Code theme={null}

29 > /ultraplan migrate the auth service from sessions to JWTs

30 ```

31 

32 <a className="digest-feature-link" href="/ja/docs/ultraplan">Ultraplan ガイド</a>

33</div>

34 

35<div className="digest-feature">

36 <div className="digest-feature-header">

37 <span className="digest-feature-title">Monitor ツール</span>

38 <span className="digest-feature-pill">v2.1.98</span>

39 </div>

40 

41 <p className="digest-feature-lede">バックグラウンドウォッチャーを起動し、そのイベントを会話にストリーミングする新しい組み込みツールです。各イベントは新しいトランスクリプトメッセージとして到着し、Claude がすぐに反応します。トレーニング実行をテールし、PR の CI をベビーシットし、または Bash スリープループなしでターンを開いたままにしながら、dev サーバーのクラッシュが発生した瞬間に自動修正します。</p>

42 

43 <Frame>

44 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/aFXPQxiBOW99MHS3/images/whats-new/monitor-tool.mp4?fit=max&auto=format&n=aFXPQxiBOW99MHS3&q=85&s=f4156c15a0999de5c5157f54a3117c89" data-path="images/whats-new/monitor-tool.mp4" />

45 </Frame>

46 

47 <p className="digest-feature-try">Claude に何かを監視させながら、作業を続けます:</p>

48 

49 ```text Claude Code theme={null}

50 > Tail server.log in the background and tell me the moment a 5xx shows up

51 ```

52 

53 <p className="digest-feature-try">これは <code>/loop</code> と組み合わせて使用します。<code>/loop</code> はセルフペーシングするようになりました。間隔を省略すると、Claude はタスクに基づいて次のティックをスケジュールするか、Monitor ツールを使用してポーリングをスキップします。</p>

54 

55 ```text Claude Code theme={null}

56 > /loop check CI on my PR

57 ```

58 

59 <a className="digest-feature-link" href="/ja/docs/tools-reference#monitor-tool">Monitor ツールリファレンス</a>

60</div>

61 

62<div className="digest-feature">

63 <div className="digest-feature-header">

64 <span className="digest-feature-title">/autofix-pr</span>

65 <span className="digest-feature-pill">CLI</span>

66 </div>

67 

68 <p className="digest-feature-lede">PR 自動修正は Week 13 で Web に登場しました。ターミナルを離れずにオンにできるようになりました。<code>/autofix-pr</code> は現在のブランチのオープン PR を推測し、1 ステップで Claude Code on the web の自動修正を有効にします。ブランチをプッシュし、コマンドを実行し、立ち去ります。Claude は CI とレビューコメントを監視し、グリーンになるまで修正をプッシュします。</p>

69 

70 <Frame>

71 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/aFXPQxiBOW99MHS3/images/whats-new/autofix-pr.mp4?fit=max&auto=format&n=aFXPQxiBOW99MHS3&q=85&s=95f191eb4711130a128aec3f6b720527" data-path="images/whats-new/autofix-pr.mp4" />

72 </Frame>

73 

74 <p className="digest-feature-try">PR のブランチから実行します:</p>

75 

76 ```text Claude Code theme={null}

77 > /autofix-pr

78 ```

79 

80 <a className="digest-feature-link" href="/ja/docs/claude-code-on-the-web#auto-fix-pull-requests">プルリクエストの自動修正</a>

81</div>

82 

83<div className="digest-feature">

84 <div className="digest-feature-header">

85 <span className="digest-feature-title">/team-onboarding</span>

86 <span className="digest-feature-pill">v2.1.101</span>

87 </div>

88 

89 <p className="digest-feature-lede">ローカル Claude Code の使用状況からチームメイトのランプアップガイドを生成します。よく知っているプロジェクトで実行し、出力を新しいチームメイトに渡して、デフォルトから開始する代わりにセットアップを再生できるようにします。</p>

90 

91 <p className="digest-feature-try">実際の時間を費やしたプロジェクトから実行します:</p>

92 

93 ```text Claude Code theme={null}

94 > /team-onboarding

95 ```

96 

97 <a className="digest-feature-link" href="/ja/docs/commands">コマンドリファレンス</a>

98</div>

99 

100<div className="digest-wins">

101 <p className="digest-wins-title">その他の改善</p>

102 

103 <div className="digest-wins-grid">

104 <div>フォーカスビュー:フリッカーなしモードで <code>Ctrl+O</code> を押して、ビューを最後のプロンプト、1 行のツール概要(diffstats 付き)、および Claude の最終応答に折りたたみます</div>

105 <div>ログイン画面での Bedrock と Vertex AI のガイド付きセットアップウィザード:「3rd-party platform」を選択して、ステップバイステップの認証、リージョン、認証情報チェック、およびモデルピニングを行います</div>

106 <div><code>/agents</code> はタブ付きレイアウトを取得します。「Running」タブは <code>● N running</code> カウント付きのライブサブエージェントを表示し、「Library」タブに「Run agent」と「View running instance」アクションがあります</div>

107 <div>デフォルトの努力レベルは、API キー、Bedrock、Vertex、Foundry、Team、および Enterprise ユーザーの場合は <code>high</code> になりました(<code>/effort</code> で制御)</div>

108 <div><code>/cost</code> はサブスクリプションユーザーのモデルごとおよびキャッシュヒット分析を表示します</div>

109 <div><code>/release-notes</code> はインタラクティブなバージョンピッカーになりました</div>

110 <div>ステータスライン:新しい <code>refreshInterval</code> 設定は N 秒ごとにコマンドを再実行し、JSON 入力に <code>workspace.git\_worktree</code> があります</div>

111 <div><code>CLAUDE\_CODE\_PERFORCE\_MODE</code>:Edit/Write は読み取り専用ファイルで <code>p4 edit</code> ヒント付きで失敗し、サイレントに上書きしません</div>

112 <div>OS CA 証明書ストアはデフォルトで信頼されるようになったため、エンタープライズ TLS プロキシは追加セットアップなしで機能します(<code>CLAUDE\_CODE\_CERT\_STORE=bundled</code> でオプトアウト)</div>

113 <div>Amazon Bedrock は Mantle を搭載:<code>CLAUDE\_CODE\_USE\_MANTLE=1</code> を設定</div>

114 <div>強化された Bash ツール権限:バックスラッシュエスケープフラグ、環境変数プレフィックス、<code>/dev/tcp</code> リダイレクト、および複合コマンドは正しくプロンプトします</div>

115 <div><code>UserPromptSubmit</code> フックは <code>hookSpecificOutput.sessionTitle</code> 経由でセッションタイトルを設定できます</div>

116 </div>

117</div>

118 

119[v2.1.92–v2.1.101 の完全なチェンジログ →](/ja/changelog#2-1-92)

Details

31<div className="digest-feature">31<div className="digest-feature">

32 <div className="digest-feature-header">32 <div className="digest-feature-header">

33 <span className="digest-feature-title">claude project purge</span>33 <span className="digest-feature-title">claude project purge</span>

34 <span className="digest-feature-pill">v2.1.126</span>34 <span className="digest-feature-pill">v2.1.124</span>

35 </div>35 </div>

36 36 

37 <p className="digest-feature-lede">プロジェクトのすべての Claude Code 状態を削除します:トランスクリプト、タスク、ファイル履歴、およびプロジェクトの設定エントリ。削除されるものをプレビューするための `--dry-run`、確認をスキップするための `-y`/`--yes`、選択するための `-i`/`--interactive`、およびすべてのプロジェクトをクリアするための `--all` をサポートしています。</p>37 <p className="digest-feature-lede">プロジェクトのすべての Claude Code 状態を削除します:トランスクリプト、タスク、ファイル履歴、およびプロジェクトの設定エントリ。削除されるものをプレビューするための `--dry-run`、確認をスキップするための `-y`/`--yes`、選択するための `-i`/`--interactive`、およびすべてのプロジェクトをクリアするための `--all` をサポートしています。</p>

whats-new/2026-w20.md +95 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# Week 20 · 2026年5月11日~15日

6 

7> 1つの画面からすべての Claude Code セッションを管理できるエージェントビュー、条件が満たされるまで Claude を目標に向かって動作させ続け、Opus 4.7 でデフォルトでファストモードを実行します。

8 

9<div className="digest-meta">

10 <span>リリース <a href="/ja/changelog#2-1-139">v2.1.139 → v2.1.142</a></span>

11 <span>3つの機能 · 5月11日~15日</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">エージェントビュー</span>

17 <span className="digest-feature-pill">research preview</span>

18 </div>

19 

20 <p className="digest-feature-lede"><code>claude agents</code> は、すべての Claude Code セッションのための1つの画面を開きます。実行中のもの、入力を待っているもの、完了したものが表示されます。バグ修正、プルリクエストレビュー、不安定なテスト調査を3行として送信し、別のウィンドウで作業を続けて、行が入力を必要とするときだけ介入します。任意の行に接続してその完全な会話に入り、<code>←</code> を押してリストに戻ります。各バックグラウンドセッションはターミナルが接続されていなくても実行し続けます。</p>

21 

22 <Frame>

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/ITvjicPxe1SM3GX7/images/whats-new/agent-view.mp4?fit=max&auto=format&n=ITvjicPxe1SM3GX7&q=85&s=0eefe6cbe75464c8f7902bba630ab7a4" data-path="images/whats-new/agent-view.mp4" />

24 </Frame>

25 

26 <p className="digest-feature-try">シェルからダッシュボードを開きます:</p>

27 

28 ```bash terminal theme={null}

29 claude agents

30 ```

31 

32 <a className="digest-feature-link" href="/ja/agent-view">エージェントビュー</a>

33</div>

34 

35<div className="digest-feature">

36 <div className="digest-feature-header">

37 <span className="digest-feature-title">/goal</span>

38 <span className="digest-feature-pill">v2.1.139</span>

39 </div>

40 

41 <p className="digest-feature-lede">完了条件を設定すると、Claude はターンを通じてそれに向かって動作し続け、各ステップでプロンプトを入力する必要がありません。すべてのターンの後、高速モデルが条件が満たされているかどうかをチェックします。満たされていない場合、Claude は制御を返す代わりに別のターンを開始します。モジュール移行など、検証可能な終了状態を持つ実質的な作業に役立ちます。すべての呼び出しサイトがコンパイルされ、テストが成功するまで移行します。条件が満たされるとゴールはクリアされ、インタラクティブ、<code>-p</code>、リモートコントロールで動作します。</p>

42 

43 <Frame>

44 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/ITvjicPxe1SM3GX7/images/whats-new/goal.mp4?fit=max&auto=format&n=ITvjicPxe1SM3GX7&q=85&s=6806df3780c548b93a02d6fa71da276b" data-path="images/whats-new/goal.mp4" />

45 </Frame>

46 

47 <p className="digest-feature-try">ゴールを設定して Claude を実行させます:</p>

48 

49 ```text Claude Code theme={null}

50 > /goal all tests in test/auth pass and the lint step is clean

51 ```

52 

53 <a className="digest-feature-link" href="/ja/goal">ゴール</a>

54</div>

55 

56<div className="digest-feature">

57 <div className="digest-feature-header">

58 <span className="digest-feature-title">Opus 4.7 でのファストモード</span>

59 <span className="digest-feature-pill">research preview</span>

60 </div>

61 

62 <p className="digest-feature-lede"><code>/fast</code> は、Opus 4.6 の代わりにデフォルトで Opus 4.7 で実行されるようになりました。ファストモードは高速 Opus 構成です。同じモデル品質で約 2.5 倍の速度で、トークンあたりのコストが高くなります。迅速な反復とライブデバッグに役立ちます。価格は Opus 4.6 ファストモードと同じ $30/$150 per MTok で変わりません。ファストモードを Opus 4.6 に固定するには、<code>CLAUDE\_CODE\_OPUS\_4\_6\_FAST\_MODE\_OVERRIDE=1</code> を設定します。</p>

63 

64 <Frame>

65 <img className="w-full" src="https://mintcdn.com/claude-code/ITvjicPxe1SM3GX7/images/whats-new/fast-mode-opus-47.png?fit=max&auto=format&n=ITvjicPxe1SM3GX7&q=85&s=6b6d92f7748ce5328a1ee9a269fb1a87" alt="Claude Code モデルピッカーで、ファストトグルがオンの状態で Opus 4.7 Fast 1M がデフォルトとして表示されています" width="3840" height="2160" data-path="images/whats-new/fast-mode-opus-47.png" />

66 </Frame>

67 

68 <p className="digest-feature-try">ファストモードを切り替えます。現在 Opus 4.7 で実行中です:</p>

69 

70 ```text Claude Code theme={null}

71 > /fast

72 ```

73 

74 <a className="digest-feature-link" href="/ja/fast-mode#understand-the-cost-tradeoff">Opus 4.7 でのファストモード</a>

75</div>

76 

77<div className="digest-wins">

78 <p className="digest-wins-title">その他の改善</p>

79 

80 <div className="digest-wins-grid">

81 <div><code>claude agents</code> はディスパッチフラグ(<code>--add-dir</code>、<code>--settings</code>、<code>--mcp-config</code>、<code>--plugin-dir</code>、<code>--permission-mode</code>、<code>--model</code>、<code>--effort</code>、<code>--dangerously-skip-permissions</code>)を取得してバックグラウンドセッションを構成し、<code>claude agents --cwd \<path></code> はセッションリストをディレクトリにスコープします</div>

82 <div>新しいフック <code>args: string\[]</code> exec フォームはシェルなしでコマンドを直接生成するため、パスプレースホルダーは引用符が必要ありません</div>

83 <div>新しい <code>continueOnBlock</code> 設定オプション(<code>PostToolUse</code> フック用)はフックの拒否理由を Claude にフィードバックし、ターンを終了する代わりに続行します</div>

84 <div>フック JSON 出力の新しい <code>terminalSequence</code> フィールドにより、フックは制御ターミナルなしでデスクトップ通知、ウィンドウタイトル、ベルを発行できます</div>

85 <div>Rewind メニューに「ここまで要約」が追加され、最近のターンを保持しながら以前のコンテキストを圧縮できます</div>

86 <div>リモートコントロール、<code>/schedule</code>、Claude.ai MCP コネクタ、および通知設定は、<code>ANTHROPIC\_API\_KEY</code>、<code>apiKeyHelper</code>、または <code>ANTHROPIC\_AUTH\_TOKEN</code> が設定されている場合、Claude.ai ログインと並行していても無効になります。これらの機能を使用するには API キーを設定解除します</div>

87 <div>MCP stdio サーバーは環境で <code>CLAUDE\_PROJECT\_DIR</code> を受け取るようになり、フックと一致し、プラグイン構成はコマンドで <code>\${"{"}CLAUDE\_PROJECT\_DIR{"}"}</code> を参照できます</div>

88 <div><code>claude plugin details \<name></code> はプラグインのコンポーネントインベントリと予測されるセッションあたりのトークンコストを表示し、<code>/plugin</code> 詳細ペインはプラグインが提供する LSP サーバーもリストします</div>

89 <div>ルートレベルの <code>SKILL.md</code> を持ち、<code>skills/</code> サブディレクトリがないプラグインはスキルとして表示されるようになりました</div>

90 <div><code>/feedback</code> は現在のセッションを超える問題のために、過去 24 時間または 7 日間の最近のセッションを含めることができるようになりました</div>

91 <div>エージェントツール <code>subagent\_type</code> は大文字小文字とセパレータを区別しないようにマッチするため、<code>"Code Reviewer"</code> は <code>code-reviewer</code> に解決されます</div>

92 </div>

93</div>

94 

95[v2.1.139–v2.1.142 の完全なチェンジログ →](/ja/changelog#2-1-139)

whats-new/2026-w21.md +50 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# Week 21 · 5月18~22日、2026年

6 

7> Pro プランで auto mode を使用し、Sonnet 4.6 でサポートされ、/usage でどのスキル、サブエージェント、MCP サーバーがプラン制限を駆動しているかを確認し、新しい /code-review コマンドでdiff を確認します。

8 

9<div className="digest-meta">

10 <span>Releases <a href="/ja/changelog#2-1-143">v2.1.143 → v2.1.149</a></span>

11 <span>1 feature · 5月18~22日</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Pro プランでの auto mode</span>

17 <span className="digest-feature-pill">CLI</span>

18 </div>

19 

20 <p className="digest-feature-lede">Auto mode は Pro プランで利用可能になり、Opus と並んで Sonnet 4.6 をサポートしています。これは権限プロンプトをバックグラウンド安全性チェックに置き換えます。通常のアクションはユーザーを中断させずに実行され、破壊的または疑わしいアクションはブロックされて表示されます。</p>

21 

22 <p className="digest-feature-try">Claude Code を更新してから、Shift+Tab でモードを切り替えます。アカウントが要件を満たすと、auto mode が表示されます。</p>

23 

24 ```bash terminal theme={null}

25 claude update

26 ```

27 

28 <a className="digest-feature-link" href="/ja/permission-modes#eliminate-prompts-with-auto-mode">Auto mode</a>

29</div>

30 

31<div className="digest-wins">

32 <p className="digest-wins-title">その他の改善</p>

33 

34 <div className="digest-wins-grid">

35 <div><a href="/ja/costs#track-your-costs"><code>/usage</code></a> は、プラン制限を駆動しているものをカテゴリごとに分類して表示し、最近の使用状況をスキル、サブエージェント、プラグイン、および個別の MCP サーバーに属性付けします。</div>

36 <div>「Extra usage」は CLI 全体で「usage credits」に名前が変更され、<code>/extra-usage</code> は <code>/usage-credits</code> になりました。古い名前は引き続き機能します。</div>

37 <div>新しい <a href="/ja/code-review"><code>/code-review</code></a> コマンドは、<code>/code-review high</code> などの選択した努力レベルで正確性バグを報告し、<code>--comment</code> は結果を GitHub PR インラインコメントとして投稿します。<code>/simplify</code> は別のクリーンアップのみのレビューとして残ります。</div>

38 <div>バックグラウンドセッションは <code>/resume</code> にインタラクティブセッションと一緒に表示され、<code>bg</code> でマークされ、<code>claude agents</code> で Ctrl+T でピン留めされたセッションはアイドル時に生存し続けます。</div>

39 <div><code>claude agents --json</code> はステータスバーとセッションピッカーなどのスクリプティング用に、ライブセッションを JSON として一覧表示します。</div>

40 <div>PowerShell ツールは Windows 上で Bedrock、Vertex、Foundry ユーザーに対してデフォルトで有効になりました。<code>CLAUDE\_CODE\_USE\_POWERSHELL\_TOOL=0</code> でオプトアウトします。</div>

41 <div><code>claude plugin disable</code> は別の有効なプラグインがターゲットに依存している場合に拒否し、<code>claude plugin enable</code> は推移的な依存関係を強制的に有効にします。</div>

42 <div><code>/plugin</code> マーケットプレイスの参照ペインは予測されるコンテキストコストを表示し、Discover および Browse スクリーンはインストール前にプラグインのコマンド、エージェント、スキル、フック、および MCP/LSP サーバーを一覧表示します。</div>

43 <div>新しい <code>worktree.bgIsolation: "none"</code> 設定により、バックグラウンドセッションは <code>EnterWorktree</code> なしで作業コピーを直接編集でき、worktree が実用的でないリポジトリの場合に使用できます。</div>

44 <div>Markdown 出力は GFM タスクリストのチェックボックスをレンダリングし、<code>/diff</code> 詳細ビューはキーボードでスクロールします。</div>

45 <div>ステータスラインの JSON 入力には、検出された場合、GitHub リポジトリと PR 情報が含まれるようになりました。</div>

46 <div>Enterprise:<code>allowAllClaudeAiMcps</code> マネージド設定は、<code>managed-mcp.json</code> と一緒に claude.ai クラウド MCP コネクタを読み込みます。</div>

47 </div>

48</div>

49 

50[v2.1.143–v2.1.149 の完全なchangelog →](/ja/changelog#2-1-143)

whats-new/2026-w22.md +119 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# Week 22 · 5月25~29日、2026年

6 

7> Claude Opus 4.8 で Claude Code を実行し、動的ワークフローで大規模なタスクを調整し、security-guidance プラグインでセキュリティの問題をキャッチし、Opus 4.8 でファストモードをより低い価格で使用します。

8 

9<div className="digest-meta">

10 <span>Releases <a href="/ja/changelog#2-1-150">v2.1.150 → v2.1.157</a></span>

11 <span>4 features · 5月25~29日</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Claude Opus 4.8</span>

17 <span className="digest-feature-pill">new model</span>

18 </div>

19 

20 <p className="digest-feature-lede">Opus 4.8 は Max、Team Premium、Enterprise pay-as-you-go、および Anthropic API のデフォルトになりました。デフォルトは高い努力レベルです。より難しいタスクには <code>/effort xhigh</code> を使用してください。v2.1.154 以降が必要です。</p>

21 

22 <Frame>

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/QsIrGXGFg6xd7joy/images/whats-new/opus-4-8.mp4?fit=max&auto=format&n=QsIrGXGFg6xd7joy&q=85&s=6ebcf5fe136467da2b254de1fe749ea7" data-path="images/whats-new/opus-4-8.mp4" />

24 </Frame>

25 

26 <p className="digest-feature-try">Opus 4.8 に名前で切り替えるか、モデルピッカーから選択します:</p>

27 

28 ```text Claude Code theme={null}

29 > /model claude-opus-4-8

30 ```

31 

32 <a className="digest-feature-link" href="/ja/model-config#available-models">モデル設定</a>

33</div>

34 

35<div className="digest-feature">

36 <div className="digest-feature-header">

37 <span className="digest-feature-title">Dynamic workflows</span>

38 <span className="digest-feature-pill">research preview</span>

39 </div>

40 

41 <p className="digest-feature-lede">ワークフローは、Claude がタスク用に作成し、バックグラウンドで多くのサブエージェント全体で実行するオーケストレーションスクリプトです。タスクが 1 つの会話で調整するには大きすぎる場合に使用します:コードベース全体の監査、大規模な移行、クロスチェックが必要な調査質問。<code>/workflows</code> で実行を管理します。</p>

42 

43 <Frame>

44 <img className="w-full" src="https://mintcdn.com/claude-code/QsIrGXGFg6xd7joy/images/whats-new/dynamic-workflows.png?fit=max&auto=format&n=QsIrGXGFg6xd7joy&q=85&s=26671fa8607cec3453ed9753f821bd4f" alt="Claude Code on Opus 4.8 showing a Dynamic workflow requested indicator for a prompt that asks for a workflow to migrate every internal fetch() call" width="3840" height="2160" data-path="images/whats-new/dynamic-workflows.png" />

45 </Frame>

46 

47 <p className="digest-feature-try">タスクを説明し、ワークフローをリクエストします:</p>

48 

49 ```text Claude Code theme={null}

50 > create a workflow that migrates every internal fetch() call to the new HttpClient wrapper

51 ```

52 

53 <a className="digest-feature-link" href="/ja/workflows">Dynamic workflows</a>

54</div>

55 

56<div className="digest-feature">

57 <div className="digest-feature-header">

58 <span className="digest-feature-title">Security guidance plugin</span>

59 <span className="digest-feature-pill">plugin</span>

60 </div>

61 

62 <p className="digest-feature-lede">security-guidance プラグインは Claude のコード変更の脆弱性をレビューし、同じセッション内で修正します。各編集時に高速パターンチェックを実行し、各ターンの終了時にモデルレビューを実行し、コミットまたはプッシュ時にはより深い agentic レビューを実行します。<code>.claude/claude-security-guidance.md</code> でプロジェクトルールを追加します。</p>

63 

64 <Frame>

65 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/QsIrGXGFg6xd7joy/images/whats-new/security-guidance.mp4?fit=max&auto=format&n=QsIrGXGFg6xd7joy&q=85&s=c91d865936411586f42b24c558bcdd1d" data-path="images/whats-new/security-guidance.mp4" />

66 </Frame>

67 

68 <p className="digest-feature-try">公式 Anthropic マーケットプレイスからインストールします:</p>

69 

70 ```text Claude Code theme={null}

71 > /plugin install security-guidance@claude-plugins-official

72 ```

73 

74 <p className="digest-feature-try">その後、現在のセッションで有効にします:</p>

75 

76 ```text Claude Code theme={null}

77 > /reload-plugins

78 ```

79 

80 <a className="digest-feature-link" href="/ja/security-guidance">Security guidance plugin</a>

81</div>

82 

83<div className="digest-feature">

84 <div className="digest-feature-header">

85 <span className="digest-feature-title">Fast mode on Opus 4.8</span>

86 <span className="digest-feature-pill">research preview</span>

87 </div>

88 

89 <p className="digest-feature-lede">ファストモードは Opus 4.8 で \$10/\$50 per MTok にデフォルト設定されるようになりました:標準レートの 2 倍で約 2.5 倍の速度です。Opus 4.7 と 4.6 は \$30/\$150 のままです。Opus 4.6 ファストモードは廃止されました。</p>

90 

91 <p className="digest-feature-try">ファストモードを切り替えます。現在は Opus 4.8 です:</p>

92 

93 ```text Claude Code theme={null}

94 > /fast

95 ```

96 

97 <a className="digest-feature-link" href="/ja/fast-mode#understand-the-cost-tradeoff">ファストモード価格</a>

98</div>

99 

100<div className="digest-wins">

101 <p className="digest-wins-title">その他の改善</p>

102 

103 <div className="digest-wins-grid">

104 <div><code>claude agents</code> では、シェルコマンドの前に <code>!</code> を付けてバックグラウンドジョブとして実行し、アタッチおよびデタッチできます。<code>claude --bg --exec 'pytest -x'</code> としても利用可能です</div>

105 <div><code>.claude/skills</code> ディレクトリ内のプラグインは自動的に読み込まれるようになり、マーケットプレイスは不要になりました。<code>claude plugin init \<name></code> は新しいプラグインをスキャフォールドします</div>

106 <div>新しい <code>/reload-skills</code> コマンドは再起動せずにスキルディレクトリを再スキャンし、<code>SessionStart</code> フックは <code>reloadSkills: true</code> を返して、インストールするスキルを同じセッションで利用可能にできます</div>

107 <div>スキルとコマンドは frontmatter で <code>disallowed-tools</code> を設定して、スキルがアクティブな間、モデルからツールを削除できます</div>

108 <div>新しい <code>MessageDisplay</code> フックイベントにより、フックはアシスタントメッセージテキストを表示時に変換または非表示にできます</div>

109 <div>Claude Code は、プライマリモデルが見つからない場合、すべてのリクエストで失敗する代わりに、セッションの残りの部分で設定された <code>--fallback-model</code> に切り替えるようになりました</div>

110 <div>プラグインは <code>plugin.json</code> またはマーケットプレイスエントリで <code>defaultEnabled: false</code> を宣言できるため、有効にするまで有効にならずにインストールされます</div>

111 <div>Vim モード:NORMAL モードで <code>/</code> を押すと逆履歴検索が開き、Bash および Zsh vi-mode と一致します</div>

112 <div>ストリーミングツール実行は常に有効になり、テレメトリが無効な場合、および Bedrock、Vertex、Foundry でも有効です</div>

113 <div><code>←←</code> でエージェントビューを開くことは、Bedrock、Vertex、Foundry、およびテレメトリが無効な場合でも機能するようになりました</div>

114 <div>Chrome の Claude:<code>/chrome</code> → 「ブラウザを選択...」 で接続されたブラウザを選択するか、複数が接続されている場合はブラウザアクションが実行されるときにチャット内で選択できます</div>

115 <div><code>claude mcp list</code> と <code>claude mcp get</code> は、出力がパイプされている場合、未承認の <code>.mcp.json</code> サーバーを自動承認して接続する代わりに、保留中の承認として表示するようになりました</div>

116 </div>

117</div>

118 

119[v2.1.150–v2.1.157 の完全なチェンジログ →](/ja/changelog#2-1-150)

workflows.md +289 −0 created

Details

1> ## Documentation Index

2> 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.

4 

5# 動的ワークフローで大規模にサブエージェントをオーケストレーションする

6 

7> 動的ワークフローは、Claude が作成したスクリプトから多くのサブエージェントをオーケストレーションし、再実行できます。コードベース監査、大規模マイグレーション、相互検証研究に使用します。

8 

9{/* plan-availability: feature=workflows plans=pro,max,team,enterprise providers=all */}

10 

11<Note>

12 動的ワークフローはリサーチプレビュー段階です。Claude Code v2.1.154 以降が必要で、すべての有料プランで利用可能です。Anthropic API アクセス、Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry で利用できます。Pro では、`/config` の Dynamic workflows 行からオンにしてください。

13</Note>

14 

15動的ワークフローは、[サブエージェント](/ja/sub-agents)を大規模にオーケストレーションする JavaScript スクリプトです。Claude は説明したタスク用のスクリプトを作成し、ランタイムはバックグラウンドで実行しながら、セッションは応答性を保ちます。

16 

171 つの会話が調整できるより多くのエージェントが必要なタスク、またはオーケストレーションを読み直して再実行できるスクリプトとしてコード化したい場合にワークフローを使用します。例としては、コードベース全体のバグスイープ、500 ファイルのマイグレーション、複数のソースに対して相互検証が必要な研究質問、1 つにコミットする前に複数の独立した角度から下書きする価値のある難しい計画があります。

18 

19このページでは、以下の方法について説明します。

20 

21* ワークフローをサブエージェントまたはスキルの代わりに使用する[タイミング](#when-to-use-a-workflow)を決定する

22* `/deep-research` で[バンドルされたワークフロー](#run-a-bundled-workflow)を実行する

23* [Claude にワークフローを作成](#have-claude-write-a-workflow)させてタスク用に保存する

24* [ワークフローの実行方法](#how-a-workflow-runs)を理解し、[実行を管理](#manage-runs)する

25 

26<h2 id="when-to-use-a-workflow">

27 ワークフローを使用するタイミング

28</h2>

29 

30[サブエージェント](/ja/sub-agents)、[スキル](/ja/skills)、[エージェントチーム](/ja/agent-teams)、およびワークフローはすべてマルチステップタスクを実行できます。違いは、計画を保持する者です。

31 

32| | サブエージェント | スキル | エージェントチーム | ワークフロー |

33| :--------------- | :------------------ | :------------------ | :-------------------- | :----------------- |

34| それは何か | Claude が生成するワーカー | Claude が従う指示 | ピアセッションを監督するリードエージェント | ランタイムが実行するスクリプト |

35| 次に何が実行されるかを決定する者 | Claude、ターンごと | Claude、プロンプトに従う | リードエージェント、ターンごと | スクリプト |

36| 中間結果が存在する場所 | Claude のコンテキストウィンドウ | Claude のコンテキストウィンドウ | 共有タスクリスト | スクリプト変数 |

37| 繰り返し可能なもの | ワーカー定義 | 指示 | チーム定義 | オーケストレーション自体 |

38| スケール | ターンごとに委任されたいくつかのタスク | サブエージェントと同じ | 長時間実行される少数のピア | 実行ごとに数十から数百のエージェント |

39| 中断 | ターンを再開始 | ターンを再開始 | チームメイトは実行を続ける | 同じセッション内で再開可能 |

40 

41ワークフローは計画をコードに移動します。サブエージェント、スキル、およびエージェントチームでは、Claude がオーケストレーターです。ターンごとに次に何を生成または割り当てるかを決定し、すべての結果は Claude のコンテキストウィンドウに入ります。ワークフロースクリプトはループ、分岐、および中間結果自体を保持するため、Claude のコンテキストは最終的な答えのみを保持します。

42 

43計画をコードに移動することで、ワークフローは単に複数のエージェントを実行するだけでなく、繰り返し可能な品質パターンを適用することもできます。独立したエージェントが相互に対立的にレビューしてから報告されるようにすることも、複数の角度から計画を下書きして相互に比較することもできるため、単一パスより信頼性の高い結果が得られます。

44 

45<h2 id="run-a-bundled-workflow">

46 バンドルされたワークフローを実行する

47</h2>

48 

49ワークフローの動作を確認する最速の方法は、Claude Code に含まれている組み込みワークフロー `/deep-research` を実行することです。これは多くのソースにわたって質問を調査するためのものです。セッションが無料のままで、ターンバイターンのトランスクリプトの代わりに 1 つのレポートを取得しながら、エージェントがバックグラウンドで一連のフェーズを処理するのを見ることができます。

50 

51<Steps>

52 <Step title="ワークフローを実行する">

53 調査したい質問で `/deep-research` を実行します。複数の角度にわたって Web 検索をファンアウトし、見つけたソースをフェッチして相互検証し、引用されたレポートを合成します。

54 

55 ```text theme={null}

56 /deep-research What changed in the Node.js permission model between v20 and v22?

57 ```

58 </Step>

59 

60 <Step title="ワークフローを許可する">

61 Claude Code はワークフローを許可するかどうかを尋ねます。**Yes** を選択して続行します。正確なプロンプトはパーミッションモードによって異なります。[実行前に計画を承認する](#approve-the-plan-before-it-runs)でモードごとのオプションを参照してください。

62 </Step>

63 

64 <Step title="進捗を監視する">

65 実行がバックグラウンドで開始されます。`/workflows` を実行し、矢印キーを使用して実行を選択し、Enter キーを押して進捗ビューを開きます。

66 

67 ```text theme={null}

68 /workflows

69 ```

70 

71 ビューは各フェーズをエージェント数、トークン合計、経過時間とともに表示します。任意のフェーズにドリルダウンして、そのエージェントと各エージェントが見つけたものを確認します。[実行を監視する](#watch-the-run)で完全なコントロールセットを参照してください。

72 

73 入力ボックスの下のタスクパネルからも監視できます。実行中は 1 行の進捗サマリーが表示されます。下矢印を押してフォーカスし、Enter キーを押して展開します。

74 </Step>

75 

76 <Step title="レポートを読む">

77 実行が完了すると、レポートがセッションに表示されます。各クレームが由来するソースを引用し、相互検証を生き残らなかったクレームは既にフィルタリングされています。

78 </Step>

79</Steps>

80 

81独自のタスク用にワークフローを実行するには、[Claude にワークフローを作成](#have-claude-write-a-workflow)させ、実行が必要なことを実行したら、[保存](#save-the-workflow-for-reuse)して独自のコマンドとして使用できます。

82 

83<h3 id="bundled-workflows">

84 バンドルされたワークフロー

85</h3>

86 

87Claude Code には、組み込みワークフローとして `/deep-research` が含まれています。

88 

89| コマンド | 実行内容 |

90| :-------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

91| `/deep-research <question>` | 複数の角度にわたって質問に対する Web 検索をファンアウトし、見つけたソースをフェッチして相互検証し、各クレームに投票し、相互検証を生き残らなかったクレームがフィルタリングされた引用されたレポートを返します。[WebSearch ツール](/ja/tools-reference#websearch-tool-behavior)が利用可能である必要があります |

92 

93[自分で保存](#save-the-workflow-for-reuse)したワークフローは同じ方法でコマンドになり、バンドルされたものと一緒に `/` オートコンプリートに表示されます。

94 

95<h3 id="watch-the-run">

96 実行を監視する

97</h3>

98 

99ワークフローはバックグラウンドで実行されるため、エージェントが作業している間、セッションは応答性を保ちます。任意の時点で `/workflows` を実行して、実行中および完了したワークフローをリストアップし、1 つを選択して進捗ビューを開きます。

100 

101```text theme={null}

102/workflows

103```

104 

105進捗ビューは各フェーズをエージェント数、トークン合計、経過時間とともに表示します。フッターは各アクションのキーをリストアップします。

106 

107| キー | アクション |

108| :-------------- | :------------------------------------------------------- |

109| `↑` / `↓` | フェーズまたはエージェントを選択 |

110| `Enter` または `→` | 選択したフェーズにドリルダウンし、次にエージェントにドリルダウンしてプロンプト、最近のツール呼び出し、結果を読む |

111| `Esc` | 1 レベル戻る |

112| `j` / `k` | オーバーフローするときにエージェント詳細内でスクロール |

113| `p` | 実行を一時停止または再開 |

114| `x` | 選択したエージェントを停止するか、フォーカスが実行にあるときにワークフロー全体を停止 |

115| `r` | 選択した実行中のエージェントを再開始 |

116| `s` | 実行のスクリプトを[保存](#save-the-workflow-for-reuse)してコマンドとして保存 |

117 

118<h2 id="have-claude-write-a-workflow">

119 Claude にワークフローを作成させる

120</h2>

121 

122Claude にワークフローを作成させるには 2 つの方法があります。

123 

124* [プロンプトでワークフローを要求](#ask-for-a-workflow-in-your-prompt)し、キーワード `ultracode` を含めるか、自分の言葉で要求して、Claude がタスク用のワークフローを作成します。

125* [ultracode で Claude に決定させる](#let-claude-decide-with-ultracode)。`/effort ultracode` を設定し、Claude はセッション内のすべての実質的なタスク用にワークフローを計画します。

126 

127既に存在するワークフローコマンドを実行することもできます。[バンドルされたワークフロー](#bundled-workflows)(`/deep-research` など)、または[保存](#save-the-workflow-for-reuse)したワークフロー。

128 

129<h3 id="ask-for-a-workflow-in-your-prompt">

130 プロンプトでワークフローを要求する

131</h3>

132 

133セッションの努力レベルを変更せずに単一のタスクをワークフローとして実行するには、プロンプトにキーワード `ultracode` を含めます。「ワークフローを使用する」または「ワークフローを実行する」など、自分の言葉で要求することもできます。Claude は直接的な要求を同じオプトインとして扱います。v2.1.160 より前は、リテラルトリガーキーワードは `workflow` でした。自然言語リクエストは両方のバージョンで機能します。

134 

135```text theme={null}

136ultracode: audit every API endpoint under src/routes/ for missing auth checks

137```

138 

139Claude Code はキーワードをプロンプトでハイライトし、Claude はターンバイターンで処理する代わりにタスク用のワークフロースクリプトを作成します。意図しない場合は、macOS で `Option+W` または Windows と Linux で `Alt+W` を押してこのプロンプトのハイライトを無視するか、ハイライトされたキーワードの直後にカーソルがある状態でバックスペースを押します。キーワードがまったくトリガーされないようにするには、`/config` で Ultracode キーワードトリガーをオフにします。

140 

141実行が必要なことを実行した場合、その後[コマンドとして保存](#save-the-workflow-for-reuse)できます。

142 

143別の方法で構築されたオーケストレーター(サブエージェントプロンプトのフォルダーや、作業をファンアウトするスキルなど)が既にある場合は、Claude にそれを指し示し、同じことを行うワークフローを要求できます。

144 

145<h3 id="let-claude-decide-with-ultracode">

146 ultracode で Claude に決定させる

147</h3>

148 

149Ultracode は、`xhigh` [推論努力](/ja/model-config#adjust-effort-level)と自動ワークフローオーケストレーションを組み合わせた Claude Code 設定です。オンにすると、Claude は各実質的なタスク用にワークフローを計画し、あなたが要求するのを待ちません。

150 

151```text theme={null}

152/effort ultracode

153```

154 

155ultracode がオンの場合、Claude はタスクがワークフローを保証するかどうかを決定します。単一のリクエストは複数のワークフローに変わる可能性があります。コードを理解するためのワークフロー、変更を加えるためのワークフロー、検証するためのワークフロー。これはセッション内のすべてのタスクに適用されるため、各リクエストはより多くのトークンを使用し、より低い努力レベルより長くかかります。

156 

157Ultracode は現在のセッション用に続き、新しいセッションを開始するときにリセットされます。ルーチンワークに戻るときは `/effort high` でドロップバックします。`xhigh` [努力](/ja/model-config#adjust-effort-level)をサポートするモデルで利用可能です。他のモデルでは、`/effort` メニューはそれを提供しません。

158 

159<h3 id="approve-the-plan-before-it-runs">

160 実行前に計画を承認する

161</h3>

162 

163CLI では、実行ごとのプロンプトは計画されたフェーズとこれらのオプションを表示します。

164 

165* **Yes, run it**: 実行を開始

166* **Yes, and don't ask again for `<name>` in `<path>`**: 開始し、このプロジェクトからこのワークフロー用にこのプロンプトをスキップ

167* **View raw script**: 決定する前にスクリプトを読む

168* **No**: キャンセル

169 

170`Ctrl+G` はエディターでスクリプトを開きます。`Tab` を使用すると、実行開始前にプロンプトを調整できます。

171 

172このプロンプトを表示するかどうかは、[パーミッションモード](/ja/permission-modes)によって異なります。

173 

174| パーミッションモード | プロンプトが表示される場合 |

175| :--------------------------------- | :--------------------------------------------------------------------------------- |

176| デフォルト、編集を受け入れ | すべての実行、そのワークフロー用に**Yes, and don't ask again** を選択していない限り |

177| 自動 | 最初の起動のみ。任意の **Yes** はユーザー設定に同意を記録し、後の起動はプロンプトなしで開始します。ultracode がオンの場合は完全にスキップされます |

178| パーミッションをバイパス、`claude -p`、Agent SDK | なし。実行は直ちに開始 |

179 

180Desktop アプリでは、承認カードはワークフロー名、フェーズリスト、トークン使用量の注意を表示し、**Once**、**Always**、**Deny** アクションがあります。進捗ビューは Background tasks サイドペインに表示されます。

181 

182パーミッションモードは上記の起動プロンプトのみを制御します。ワークフローが生成するサブエージェントは常に `acceptEdits` モードで実行され、セッションのモードに関係なく、[ツール許可リスト](/ja/settings#permission-settings)を継承します。ファイル編集は自動承認されます。

183 

184シェルコマンド、Web フェッチ、許可リストにない MCP ツールは、実行中にプロンプトを表示できます。長い実行でこれを回避するには、エージェントが必要とするコマンドを開始前に許可リストに追加します。

185 

186`claude -p` と Agent SDK では、プロンプトする人がいないため、ツール呼び出しは対話的な確認なしに設定されたパーミッションルールに従います。

187 

188<h3 id="save-the-workflow-for-reuse">

189 再利用用にワークフローを保存する

190</h3>

191 

192Claude が繰り返すタスク用にワークフローを作成した場合、その実行のスクリプトをコマンドとして保存できます。すべてのブランチで実行するレビューなどのプロセスは、毎回同じオーケストレーションを実行します。

193 

194`/workflows` を実行し、保持したい実行を選択し、`s` を押します。保存ダイアログで、Tab は 2 つの保存場所を切り替えます。

195 

196* `.claude/workflows/` プロジェクト内。リポジトリをクローンする全員と共有

197* `~/.claude/workflows/` ホームディレクトリ内。すべてのプロジェクトで利用可能、自分にのみ表示

198 

199Enter キーを押して保存します。ワークフローは、どちらかの場所から今後のセッションで `/<name>` として実行されます。

200 

201プロジェクトワークフローと個人ワークフローが名前を共有する場合、プロジェクトワークフローが実行されます。

202 

203<h3 id="pass-input-to-a-saved-workflow">

204 保存されたワークフローに入力を渡す

205</h3>

206 

207保存されたワークフローは、`args` パラメーターを通じて入力を受け入れることができます。スクリプトはそれを `args` という名前のグローバルとして読み取ります。これを使用して、スクリプトを実行するたびに編集する代わりに、呼び出し時に研究質問、ターゲットパスのリスト、または設定オブジェクトを提供します。

208 

209次のプロンプトは、問題番号のリストを使用して保存されたワークフローを実行します。

210 

211```text theme={null}

212> Run /triage-issues on issues 1024, 1025, and 1030

213```

214 

215Claude はリストを構造化データとして渡すため、スクリプトは最初に解析することなく、`args` に対して配列とオブジェクトメソッドを直接呼び出すことができます。`args` が省略された場合、グローバルはスクリプト内で `undefined` です。

216 

217<h2 id="how-a-workflow-runs">

218 ワークフローの実行方法

219</h2>

220 

221ワークフローランタイムは、会話から分離された隔離環境でスクリプトを実行します。中間結果は Claude のコンテキストに入る代わりにスクリプト変数に留まります。

222 

223すべての実行は、セッションディレクトリの `~/.claude/projects/` 配下のファイルにスクリプトを書き込みます。実行が開始されると Claude はパスを受け取るため、それを尋ねることができます。そのファイルを開いて、Claude が作成したオーケストレーションを読んだり、前回の実行のスクリプトと比較したり、編集して Claude に編集版から再起動するよう依頼したりできます。

224 

225ランタイムは実行が進むにつれて各エージェントの結果を追跡します。これが実行を[一時停止後に再開](#resume-after-a-pause)可能にする理由です。同じセッション内で。

226 

227<h3 id="behavior-and-limits">

228 動作と制限

229</h3>

230 

231ランタイムは以下の制約を適用します。

232 

233| 制約 | 理由 |

234| :-------------------------------------- | :-------------------------------------------------------------------- |

235| 実行中のユーザー入力なし | エージェントパーミッションプロンプトのみが実行を一時停止できます。ステージ間の署名のために、各ステージを独自のワークフローとして実行します |

236| ワークフロー自体からの直接ファイルシステムまたはシェルアクセスなし | エージェントは読み取り、書き込み、コマンドを実行します。スクリプトはエージェントを調整します |

237| 最大 16 個の同時エージェント、CPU コアが限定されたマシンではより少ない | ローカルリソース使用を制限 |

238| 実行ごとに合計 1,000 エージェント | 暴走ループを防止 |

239 

240<h2 id="manage-runs">

241 実行を管理する

242</h2>

243 

244実行が開始されたら、`/workflows` ビューから、または入力ボックスの下のタスクパネルで進捗行を展開して管理します。

245 

246<h3 id="resume-after-a-pause">

247 一時停止後に再開する

248</h3>

249 

250実行を停止した場合、再開できます。既に完了したエージェントはキャッシュされた結果を返し、残りはライブで実行されます。一時停止した実行を `/workflows` から再開するには、それを選択して `p` を押すか、Claude に同じスクリプトでワークフローを再起動するよう依頼します。

251 

252再開は同じ Claude Code セッション内で機能します。ワークフローが実行中に Claude Code を終了した場合、次のセッションはワークフローを新規に開始します。

253 

254<h3 id="cost">

255 コスト

256</h3>

257 

258ワークフローは多くのエージェントを生成するため、単一の実行は会話で同じタスクを処理するより意味のあるほど多くのトークンを使用できます。実行は他のセッションと同様にプランの使用量とレート制限にカウントされます。

259 

260大規模なタスクにコミットする前に支出を見積もるには、まず小さなスライスでワークフローを実行します。リポジトリ全体ではなく 1 つのディレクトリ、または広い質問ではなく狭い質問です。`/workflows` ビューは実行の進行に伴い各エージェントのトークン使用量を表示し、完了した作業を失うことなくいつでも実行を停止できます。ランタイムの[エージェント上限](#behavior-and-limits)は単一の実行が生成できるエージェント数を制限し、暴走スクリプトのコストを制限します。

261 

262ワークフロー内のすべてのエージェントは、スクリプトがステージを別のモデルにルーティングしない限り、セッションのモデルを使用します。モデルコストを制御するには:

263 

264* 通常、ルーチンワーク用に小さいモデルに切り替える場合は、大規模な実行前に `/model` を確認

265* タスクを説明するときに、最強のモデルが必要ないステージ用に小さいモデルを使用するよう Claude に依頼

266 

267<h3 id="turn-workflows-off">

268 ワークフローをオフにする

269</h3>

270 

271ワークフローは CLI、Desktop アプリ、IDE 拡張機能、[非対話モード](/ja/headless)(`claude -p`)、\[Agent SDK]\(/ja/agent-sdk/overview)で利用可能です。同じ無効化設定がすべてのサーフェスに適用されます。

272 

273自分用にワークフローをオフにするには:

274 

275* `/config` で Dynamic workflows をオフに切り替え。セッション間で保持

276* `~/.claude/settings.json` で `"disableWorkflows": true` を設定。セッション間で保持

277* `CLAUDE_CODE_DISABLE_WORKFLOWS=1` を設定。起動時に読み取られるため、設定した場所に適用

278 

279組織全体のワークフローをオフにするには、[管理設定](/ja/server-managed-settings)で `"disableWorkflows": true` を設定するか、[Claude Code 管理設定](https://claude.ai/admin-settings/claude-code)ページのトグルを使用します。

280 

281ワークフローが無効化されている場合、バンドルされたワークフローコマンドは利用不可、`ultracode` キーワードは実行をトリガーしなくなり、`ultracode` は `/effort` メニューから削除されます。

282 

283<h2 id="related-resources">

284 関連リソース

285</h2>

286 

287* [エージェントを並列実行](/ja/agents)。サブエージェント、エージェントビュー、エージェントチーム、ワークフローを比較

288* [カスタムサブエージェントを作成](/ja/sub-agents)。ワークフローがオーケストレーションするワーカープリミティブ

289* [コストを管理](/ja/costs)。マルチエージェント実行が使用制限にカウントされる方法

worktrees.md +30 −12

Details

12 12 

13Worktree は Claude を並列で実行するいくつかの方法の 1 つです。これらは、ファイル編集を分離しますが、[subagent](/ja/sub-agents) と [agent team](/ja/agent-teams) は作業自体を調整します。アプローチを比較するには [Claude を並列で実行する](/ja/agents) を参照するか、worktree と subagent を一緒に使用するには [worktree で subagent を分離する](#isolate-subagents-with-worktrees) にスキップしてください。13Worktree は Claude を並列で実行するいくつかの方法の 1 つです。これらは、ファイル編集を分離しますが、[subagent](/ja/sub-agents) と [agent team](/ja/agent-teams) は作業自体を調整します。アプローチを比較するには [Claude を並列で実行する](/ja/agents) を参照するか、worktree と subagent を一緒に使用するには [worktree で subagent を分離する](#isolate-subagents-with-worktrees) にスキップしてください。

14 14 

15## worktree で Claude を開始する15<h2 id="start-claude-in-a-worktree">

16 worktree で Claude を開始する

17</h2>

16 18 

17`--worktree` または `-w` を渡して、分離された worktree を作成し、その中で Claude を開始します。デフォルトでは、worktree はリポジトリルートの `.claude/worktrees/<value>/` の下に作成され、`worktree-<value>` という名前の新しいブランチ上に作成されます。19`--worktree` または `-w` を渡して、分離された worktree を作成し、その中で Claude を開始します。デフォルトでは、worktree はリポジトリルートの `.claude/worktrees/<value>/` の下に作成され、`worktree-<value>` という名前の新しいブランチ上に作成されます。

18 20 


32claude --worktree34claude --worktree

33```35```

34 36 

35セッション中に Claude に「worktree で作業する」と指示することもでき、[`EnterWorktree`](/ja/tools-reference) ツールを使用して作成します。37セッション中に Claude に「worktree で作業する」と指示することもでき、[`EnterWorktree`](/ja/tools-reference) ツールを使用して作成します。Worktree に入ると、Claude は `.claude/worktrees/` の下の別の worktree に `EnterWorktree` をターゲットパスで呼び出すことで直接切り替えることができます。前の worktree はディスク上に変更されずに残ります。

36 38 

37初めてディレクトリで `--worktree` を使用する前に、そのディレクトリで `claude` を 1 回実行してワークスペース信頼ダイアログを受け入れてください。信頼がまだ受け入れられていない場合、`--worktree` はエラーで終了し、最初にディレクトリで `claude` を実行するよう求めるプロンプトが表示されます。これは `-p` と組み合わせた場合も含まれます。39初めてディレクトリで `--worktree` を使用する前に、そのディレクトリで `claude` を 1 回実行してワークスペース信頼ダイアログを受け入れてください。信頼がまだ受け入れられていない場合、`--worktree` はエラーで終了し、最初にディレクトリで `claude` を実行するよう求めるプロンプトが表示されます。これは `-p` と組み合わせた場合も含まれます。

38 40 


40 `.claude/worktrees/` を `.gitignore` に追加して、worktree の内容がメインのチェックアウトで追跡されていないファイルとして表示されないようにします。42 `.claude/worktrees/` を `.gitignore` に追加して、worktree の内容がメインのチェックアウトで追跡されていないファイルとして表示されないようにします。

41</Tip>43</Tip>

42 44 

43### ベースブランチを選択する45<h3 id="choose-the-base-branch">

46 ベースブランチを選択する

47</h3>

44 48 

45Worktree はリポジトリのデフォルトブランチ `origin/HEAD` からブランチするため、リモートと一致するクリーンなツリーから開始します。リモートが設定されていない場合、またはフェッチが失敗した場合、worktree は現在のローカル `HEAD` にフォールバックします。代わりにローカル `HEAD` から常にブランチするには、[設定](/ja/settings#worktree-settings) で `worktree.baseRef` を `"head"` に設定します。`baseRef` を `"head"` に設定すると、新しい worktree はプッシュされていないコミットと機能ブランチの状態を保持します。これは、進行中の作業で動作する必要がある subagent を分離する場合に便利です。この設定は `"fresh"` または `"head"` のみを受け入れ、任意の git ref は受け入れません。49Worktree はリポジトリのデフォルトブランチ `origin/HEAD` からブランチするため、リモートと一致するクリーンなツリーから開始します。リモートが設定されていない場合、またはフェッチが失敗した場合、worktree は現在のローカル `HEAD` にフォールバックします。代わりにローカル `HEAD` から常にブランチするには、[設定](/ja/settings#worktree-settings) で `worktree.baseRef` を `"head"` に設定します。`baseRef` を `"head"` に設定すると、新しい worktree はプッシュされていないコミットと機能ブランチの状態を保持します。これは、進行中の作業で動作する必要がある subagent を分離する場合に便利です。この設定は `"fresh"` または `"head"` のみを受け入れ、任意の git ref は受け入れません。

46 50 


60 64 

61Worktree の作成方法を完全に制御するには、[`WorktreeCreate` フック](/ja/hooks#worktreecreate) を設定します。これはデフォルトの `git worktree` ロジックを完全に置き換えます。65Worktree の作成方法を完全に制御するには、[`WorktreeCreate` フック](/ja/hooks#worktreecreate) を設定します。これはデフォルトの `git worktree` ロジックを完全に置き換えます。

62 66 

63## gitignore されたファイルを worktree にコピーする67<h2 id="copy-gitignored-files-into-worktrees">

68 gitignore されたファイルを worktree にコピーする

69</h2>

64 70 

65Worktree は新しいチェックアウトなので、メインリポジトリの `.env` や `.env.local` などの追跡されていないファイルは存在しません。Claude が worktree を作成するときに自動的にコピーするには、プロジェクトルートに `.worktreeinclude` ファイルを追加します。71Worktree は新しいチェックアウトなので、メインリポジトリの `.env` や `.env.local` などの追跡されていないファイルは存在しません。Claude が worktree を作成するときに自動的にコピーするには、プロジェクトルートに `.worktreeinclude` ファイルを追加します。

66 72 


76 82 

77これは `--worktree` で作成された worktree、[subagent worktree](#isolate-subagents-with-worktrees)、および[デスクトップアプリ](/ja/desktop#work-in-parallel-with-sessions) の並列セッションに適用されます。83これは `--worktree` で作成された worktree、[subagent worktree](#isolate-subagents-with-worktrees)、および[デスクトップアプリ](/ja/desktop#work-in-parallel-with-sessions) の並列セッションに適用されます。

78 84 

79## worktree で subagent を分離する85<h2 id="isolate-subagents-with-worktrees">

86 worktree で subagent を分離する

87</h2>

80 88 

81Subagent は独自の worktree で実行できるため、並列編集は競合しません。Claude に「エージェント用に worktree を使用する」と指示するか、[カスタム subagent](/ja/sub-agents#supported-frontmatter-fields) にフロントマターに `isolation: worktree` を追加して永続的に設定します。各 subagent は一時的な worktree を取得し、subagent が変更なしで完了すると自動的に削除されます。89Subagent は独自の worktree で実行できるため、並列編集は競合しません。Claude に「エージェント用に worktree を使用する」と指示するか、[カスタム subagent](/ja/sub-agents#supported-frontmatter-fields) にフロントマターに `isolation: worktree` を追加して永続的に設定します。各 subagent は一時的な worktree を取得し、subagent が変更なしで完了すると自動的に削除されます。

82 90 

83## worktree をクリーンアップする91Subagent worktree は `--worktree` と同じ[ベースブランチ](#choose-the-base-branch)を使用するため、`worktree.baseRef` が `"head"` に設定されていない限り、リポジトリのデフォルトブランチから分岐します。

92 

93<h2 id="clean-up-worktrees">

94 worktree をクリーンアップする

95</h2>

84 96 

85Worktree セッションを終了すると、クリーンアップは変更を加えたかどうかによって異なります。97Worktree セッションを終了すると、クリーンアップは変更を加えたかどうかによって異なります。

86 98 

87* **変更なし**: worktree とそのブランチは自動的に削除されます99* **コミットされていない変更なし、追跡されていないファイルなし、新しいコミットなし**: worktree とそのブランチは自動的に削除されます。セッションに[名前](/ja/sessions#name-your-sessions)がある場合、Claude は代わりにプロンプトを表示するため、後で使用するために worktree を保持できます

88* **変更またはコミットが存在する**: Claude は worktree を保持するか削除するかを求めるプロンプトを表示します。保持するとディレクトリとブランチが保存されるため、後で戻ることができます。削除すると worktree ディレクトリとそのブランチが削除され、すべてのコミットされていない変更とコミットが破棄されます100* **コミットされていない変更、追跡されていないファイル、または新しいコミットが存在する**: Claude は worktree を保持するか削除するかを求めるプロンプトを表示します。保持するとディレクトリとブランチが保存されるため、後で戻ることができます。削除すると worktree ディレクトリとそのブランチが削除され、すべてのコミットされていない変更、追跡されていないファイル、およびコミットが破棄されます

89* **非対話的な実行**: `-p` と共に `--worktree` で作成された worktree は、終了プロンプトがないため自動的にクリーンアップされません。`git worktree remove` で削除します101* **非対話的な実行**: `-p` と共に `--worktree` で作成された worktree は、終了プロンプトがないため自動的にクリーンアップされません。`git worktree remove` で削除します

90 102 

91Crash または中断された実行によって孤立した subagent worktree は、[`cleanupPeriodDays`](/ja/settings#available-settings) 設定より古い場合、コミットされていない変更、追跡されていないファイル、およびプッシュされていないコミットがない場合、起動時に削除されます。`--worktree` で作成した worktree は、このスイープによって削除されることはありません。103Claude subagent および[バックグラウンドセッション](/ja/agent-view#how-file-edits-are-isolated)用に作成した worktree は、[`cleanupPeriodDays`](/ja/settings#available-settings)設定より古い場合、コミットされていない変更、追跡されていないファイル、およびプッシュされていないコミットがない場合、自動的に削除されます。`--worktree` で作成した worktree は、このスイープによって削除されることはありません。

92 104 

93## worktree を手動で管理する105<h2 id="manage-worktrees-manually">

106 worktree を手動で管理する

107</h2>

94 108 

95Worktree の場所とブランチ設定を完全に制御するには、Git を直接使用して worktree を作成します。これは特定の既存ブランチをチェックアウトするか、worktree をリポジトリの外に配置する必要がある場合に便利です。109Worktree の場所とブランチ設定を完全に制御するには、Git を直接使用して worktree を作成します。これは特定の既存ブランチをチェックアウトするか、worktree をリポジトリの外に配置する必要がある場合に便利です。

96 110 


126 140 

127完全なコマンドリファレンスについては、[Git worktree ドキュメント](https://git-scm.com/docs/git-worktree) を参照してください。各新しい worktree で開発環境を初期化することを忘れないでください。依存関係をインストールし、仮想環境をセットアップするか、プロジェクトのセットアップが必要なものを実行します。141完全なコマンドリファレンスについては、[Git worktree ドキュメント](https://git-scm.com/docs/git-worktree) を参照してください。各新しい worktree で開発環境を初期化することを忘れないでください。依存関係をインストールし、仮想環境をセットアップするか、プロジェクトのセットアップが必要なものを実行します。

128 142 

129## 非 git バージョン管理143<h2 id="non-git-version-control">

144 非 git バージョン管理

145</h2>

130 146 

131Worktree の分離はデフォルトで git を使用します。SVN、Perforce、Mercurial、またはその他のシステムの場合、[`WorktreeCreate` および `WorktreeRemove` フック](/ja/hooks#worktreecreate) を設定して、カスタム作成およびクリーンアップロジックを提供します。フックはデフォルトの git 動作を置き換えるため、`--worktree` を使用する場合、[`.worktreeinclude`](#copy-gitignored-files-into-worktrees) は処理されません。フックスクリプト内でローカル設定ファイルをコピーします。147Worktree の分離はデフォルトで git を使用します。SVN、Perforce、Mercurial、またはその他のシステムの場合、[`WorktreeCreate` および `WorktreeRemove` フック](/ja/hooks#worktreecreate) を設定して、カスタム作成およびクリーンアップロジックを提供します。フックはデフォルトの git 動作を置き換えるため、`--worktree` を使用する場合、[`.worktreeinclude`](#copy-gitignored-files-into-worktrees) は処理されません。フックスクリプト内でローカル設定ファイルをコピーします。

132 148 


151 167 

152セッションが終了するときにクリーンアップするために `WorktreeRemove` フックとペアにします。入力スキーマと削除例については、[フックリファレンス](/ja/hooks#worktreecreate) を参照してください。168セッションが終了するときにクリーンアップするために `WorktreeRemove` フックとペアにします。入力スキーマと削除例については、[フックリファレンス](/ja/hooks#worktreecreate) を参照してください。

153 169 

154## 関連項目170<h2 id="see-also">

171 関連項目

172</h2>

155 173 

156Worktree はファイルの分離を処理します。以下の関連ページでは、これらの分離されたチェックアウトに作業を委任し、作成したセッション間を切り替える方法について説明しています。174Worktree はファイルの分離を処理します。以下の関連ページでは、これらの分離されたチェックアウトに作業を委任し、作成したセッション間を切り替える方法について説明しています。

157 175 

Details

17 17 

18Claude for Enterprise 上の Claude Code の ZDR は、Anthropic の直接プラットフォームにのみ適用されます。Amazon Bedrock、Google Vertex AI、または Microsoft Foundry 上の Claude デプロイメントについては、これらのプラットフォームのデータ保持ポリシーを参照してください。18Claude for Enterprise 上の Claude Code の ZDR は、Anthropic の直接プラットフォームにのみ適用されます。Amazon Bedrock、Google Vertex AI、または Microsoft Foundry 上の Claude デプロイメントについては、これらのプラットフォームのデータ保持ポリシーを参照してください。

19 19 

20## ZDR スコープ20<h2 id="zdr-scope">

21 ZDR スコープ

22</h2>

21 23 

22ZDR は Claude for Enterprise 上の Claude Code 推論をカバーします。24ZDR は Claude for Enterprise 上の Claude Code 推論をカバーします。

23 25 


25 ZDR は組織ごとに有効化されます。新しい各組織では、Anthropic アカウントチームによって ZDR を個別に有効化する必要があります。ZDR は同じアカウントの下に作成された新しい組織に自動的に適用されません。新しい組織に対して ZDR を有効化するには、アカウントチームに連絡してください。27 ZDR は組織ごとに有効化されます。新しい各組織では、Anthropic アカウントチームによって ZDR を個別に有効化する必要があります。ZDR は同じアカウントの下に作成された新しい組織に自動的に適用されません。新しい組織に対して ZDR を有効化するには、アカウントチームに連絡してください。

26</Warning>28</Warning>

27 29 

28### ZDR がカバーする内容30<h3 id="what-zdr-covers">

31 ZDR がカバーする内容

32</h3>

29 33 

30ZDR は Claude for Enterprise 上の Claude Code を通じて行われたモデル推論呼び出しをカバーします。ターミナルで Claude Code を使用する場合、送信するプロンプトと Claude が生成する応答は Anthropic によって保持されません。これは、どの Claude モデルが使用されているかに関係なく適用されます。34ZDR は Claude for Enterprise 上の Claude Code を通じて行われたモデル推論呼び出しをカバーします。ターミナルで Claude Code を使用する場合、送信するプロンプトと Claude が生成する応答は Anthropic によって保持されません。これは、どの Claude モデルが使用されているかに関係なく適用されます。

31 35 

32### ZDR がカバーしない内容36<h3 id="what-zdr-does-not-cover">

37 ZDR がカバーしない内容

38</h3>

33 39 

34ZDR は、ZDR が有効化されている組織であっても、以下には適用されません。これらの機能は[標準データ保持ポリシー](/ja/data-usage#data-retention)に従います:40ZDR は、ZDR が有効化されている組織であっても、以下には適用されません。これらの機能は[標準データ保持ポリシー](/ja/data-usage#data-retention)に従います:

35 41 


41| ユーザーとシート管理 | アカウントメールやシート割り当てなどの管理データは標準ポリシーの下で保持されます。 |47| ユーザーとシート管理 | アカウントメールやシート割り当てなどの管理データは標準ポリシーの下で保持されます。 |

42| サードパーティ統合 | サードパーティツール、MCP servers、またはその他の外部統合によって処理されたデータは ZDR でカバーされません。これらのサービスのデータ処理慣行を独立して確認してください。 |48| サードパーティ統合 | サードパーティツール、MCP servers、またはその他の外部統合によって処理されたデータは ZDR でカバーされません。これらのサービスのデータ処理慣行を独立して確認してください。 |

43 49 

44## ZDR の下で無効化される機能50<h2 id="features-disabled-under-zdr">

51 ZDR の下で無効化される機能

52</h2>

45 53 

46Claude for Enterprise 上の Claude Code 組織に対して ZDR が有効化されると、プロンプトまたは完了を保存する必要がある特定の機能はバックエンドレベルで自動的に無効化されます:54Claude for Enterprise 上の Claude Code 組織に対して ZDR が有効化されると、プロンプトまたは完了を保存する必要がある特定の機能はバックエンドレベルで自動的に無効化されます:

47 55 


55 63 

56プロンプトまたは完了を保存する必要がある場合、将来の機能も無効化される可能性があります。64プロンプトまたは完了を保存する必要がある場合、将来の機能も無効化される可能性があります。

57 65 

58## ポリシー違反のためのデータ保持66<h2 id="data-retention-for-policy-violations">

67 ポリシー違反のためのデータ保持

68</h2>

59 69 

60ZDR が有効化されている場合でも、法律で必要な場合または Usage Policy 違反に対処するために、Anthropic はデータを保持する場合があります。セッションがポリシー違反でフラグが立てられた場合、Anthropic は関連する入力と出力を最大 2 年間保持する場合があり、これは Anthropic の標準 ZDR ポリシーと一致しています。70ZDR が有効化されている場合でも、法律で必要な場合または Usage Policy 違反に対処するために、Anthropic はデータを保持する場合があります。セッションがポリシー違反でフラグが立てられた場合、Anthropic は関連する入力と出力を最大 2 年間保持する場合があり、これは Anthropic の標準 ZDR ポリシーと一致しています。

61 71 

62## ZDR をリクエストする72<h2 id="request-zdr">

73 ZDR をリクエストする

74</h2>

63 75 

64Claude for Enterprise 上の Claude Code に対して ZDR をリクエストするには、[営業に連絡](https://www.anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=zero_data_retention_request)するか、Anthropic アカウントチームに連絡してください。アカウントチームが内部でリクエストを送信し、Anthropic は適格性を確認した後、組織に対して ZDR を確認して有効化します。すべての有効化アクションは監査ログに記録されます。76Claude for Enterprise 上の Claude Code に対して ZDR をリクエストするには、[営業に連絡](https://www.anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=zero_data_retention_request)するか、Anthropic アカウントチームに連絡してください。アカウントチームが内部でリクエストを送信し、Anthropic は適格性を確認した後、組織に対して ZDR を確認して有効化します。すべての有効化アクションは監査ログに記録されます。

65 77