SpyBara
Go Premium

Documentation 2026-10-08 22:58 UTC to 2026-10-09 21:01 UTC

50 files changed +706 −238. View all changes and history on the product overview
2026
Fri 9 22:01 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

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

217| :- | :- | :- |217| :- | :- | :- |

218| 最大ターン(`max_turns` / `maxTurns`) | 最大ツール使用往復数 | 制限なし |218| 最大ターン(`max_turns` / `maxTurns`) | 最大ツール使用往復数 | 制限なし |

219| 最大予算(`max_budget_usd` / `maxBudgetUsd`) | 停止前の最大コスト | 制限なし |219| 最大予算(`max_budget_usd` / `maxBudgetUsd`) | ループが停止する推定支出額 | 制限なし |

220 220 

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

222 222 


224 224 

225[ストリーミング入力](/docs/ja/agent-sdk/streaming-vs-single-mode)を使用する場合、ターンが最大ターン制限で終了するときにまだキューに入っているメッセージは、キューに入ったままになります。Claude Code はそれをそのターンの最後のモデル呼び出しに追加しません。メッセージの新しいターンを開始し、そのターンの最大ターン数がリセットされます。予算合計はメッセージ全体で累積し続け、支出が `maxBudgetUsd` に達すると、同じ会話内の後続メッセージは `error_max_budget_usd` 結果で終了します。[`/clear`](/docs/ja/agent-sdk/cost-tracking)は予算をリセットします。225[ストリーミング入力](/docs/ja/agent-sdk/streaming-vs-single-mode)を使用する場合、ターンが最大ターン制限で終了するときにまだキューに入っているメッセージは、キューに入ったままになります。Claude Code はそれをそのターンの最後のモデル呼び出しに追加しません。メッセージの新しいターンを開始し、そのターンの最大ターン数がリセットされます。予算合計はメッセージ全体で累積し続け、支出が `maxBudgetUsd` に達すると、同じ会話内の後続メッセージは `error_max_budget_usd` 結果で終了します。[`/clear`](/docs/ja/agent-sdk/cost-tracking)は予算をリセットします。

226 226 

227<h4 id="budget-headroom">

228 予算の余裕

229</h4>

230 

231Claude Code は、モデルの応答が届いた後に支出を `max_budget_usd` / `maxBudgetUsd` の上限と比較します。各応答のコストは、API がその応答とともに返すトークン使用量から算出されるためです。上限に達した応答もそのまま完了し、[`total_cost_usd`](/docs/ja/agent-sdk/cost-tracking#get-the-total-cost-of-a-query) に計上されます。そのため、支出は最大でその 1 つの応答のコスト分に加え、その時点でまだ実行中のサブエージェントが停止するまでに費やした分だけ上限を超える可能性があります。上限を設定する際は、この分の余裕を見込んでください。

232 

227<h3 id="effort-level">233<h3 id="effort-level">

228 努力レベル234 努力レベル

229</h3>235</h3>

Details

146| `auto` | モデル分類承認 | モデル分類器がシェルコマンドやネットワークリクエストなどのアクションをレビューし、レビューする各アクションを許可またはブロックします。利用可能性と決定順序については [自動モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) を参照してください |146| `auto` | モデル分類承認 | モデル分類器がシェルコマンドやネットワークリクエストなどのアクションをレビューし、レビューする各アクションを許可またはブロックします。利用可能性と決定順序については [自動モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) を参照してください |

147 147 

148<Warning>148<Warning>

149 **サブエージェント継承:** サブエージェントは、その [`AgentDefinition`](/docs/ja/agent-sdk/typescript#agentdefinition) で `permissionMode` を設定し、親セッションが `default`、`dontAsk`、または `plan` モードにある場合を除き、親セッションの権限モードで実行されます。その場合でも、Claude Code は `"bypassPermissions"` 値を適用しません。サブエージェントは、親セッション自体が `bypassPermissions` モードにある場合にのみ、`bypassPermissions` モードで実行されます。`bypassPermissions` 例外には Claude Code v2.1.267 以降が必要です。149 **サブエージェント継承:** サブエージェントは、その [`AgentDefinition`](/docs/ja/agent-sdk/typescript#agentdefinition) で `permissionMode` を設定し、親セッションが `default`、`dontAsk`、または `plan` モードにある場合を除き、親セッションの権限モードで実行されます。その場合でも、Claude Code は `"bypassPermissions"` 値を適用せず、`"auto"` 値はそのサブエージェントで [auto モードが利用可能](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) な場合にのみ適用します。サブエージェントは、親セッション自体が `bypassPermissions` モードにある場合にのみ、`bypassPermissions` モードで実行されます。`bypassPermissions` 例外には Claude Code v2.1.267 以降が必要です。

150 150 

151 サブエージェントは、メインエージェントとは異なるシステムプロンプトを持つ可能性があり、動作がより制約されていないため、`bypassPermissions` を継承すると、完全で自律的なシステムアクセスが付与されます。[モードが自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves) は引き続き適用されます。151 サブエージェントは、メインエージェントとは異なるシステムプロンプトを持つ可能性があり、動作がより制約されていないため、`bypassPermissions` を継承すると、完全で自律的なシステムアクセスが付与されます。[モードが自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves) は引き続き適用されます。

152</Warning>152</Warning>

Details

928| `resume` | `str \| None` | `None` | 再開するセッションID |928| `resume` | `str \| None` | `None` | 再開するセッションID |

929| `session_id` | `str \| None` | `None` | 自動生成されたIDの代わりに特定のセッションIDを使用します。有効なUUIDである必要があります。`fork_session`も設定されていない限り、`continue_conversation`または`resume`と組み合わせることはできません |929| `session_id` | `str \| None` | `None` | 自動生成されたIDの代わりに特定のセッションIDを使用します。有効なUUIDである必要があります。`fork_session`も設定されていない限り、`continue_conversation`または`resume`と組み合わせることはできません |

930| `max_turns` | `int \| None` | `None` | 最大agentic ターン(ツール使用ラウンドトリップ) |930| `max_turns` | `int \| None` | `None` | 最大agentic ターン(ツール使用ラウンドトリップ) |

931| `max_budget_usd` | `float \| None` | `None` | クライアント側のコスト推定がこのUSD値に達したときにクエリを停止します。呼び出し自体の支出のみをカウントします。再開されたセッションから復元された合計はカウントされません。精度の注意事項とリセット動作については、[コストと使用状況を追跡](/docs/ja/agent-sdk/cost-tracking)を参照してください |931| `max_budget_usd` | `float \| None` | `None` | クライアント側のコスト推定がこのUSD値に達したときにクエリを停止します。推定値はこの値を超える場合があるため、[余裕を持たせてください](/docs/ja/agent-sdk/agent-loop#budget-headroom)。呼び出し自体の支出のみをカウントします。再開されたセッションから復元された合計はカウントされません。精度の注意事項とリセット動作については、[コストと使用状況を追跡](/docs/ja/agent-sdk/cost-tracking)を参照してください |

932| `disallowed_tools` | `list[str]` | `[]` | 拒否するツール。`"Bash"`のような単純な名前はClaudeのコンテキストからツールを削除します。`"Bash(rm *)"`のようなスコープ付きルールはツールを利用可能なままにし、`bypassPermissions`を含むすべての権限モードで、[書かれたとおりの](/docs/ja/permissions#bash-rule-limits)コマンドの一致する呼び出しを拒否します。[権限](/docs/ja/agent-sdk/permissions#allow-and-deny-rules)を参照してください |932| `disallowed_tools` | `list[str]` | `[]` | 拒否するツール。`"Bash"`のような単純な名前はClaudeのコンテキストからツールを削除します。`"Bash(rm *)"`のようなスコープ付きルールはツールを利用可能なままにし、`bypassPermissions`を含むすべての権限モードで、[書かれたとおりの](/docs/ja/permissions#bash-rule-limits)コマンドの一致する呼び出しを拒否します。[権限](/docs/ja/agent-sdk/permissions#allow-and-deny-rules)を参照してください |

933| `enable_file_checkpointing` | `bool` | `False` | 巻き戻しのためのファイル変更追跡を有効にします。[ファイルチェックポイント](/docs/ja/agent-sdk/file-checkpointing)を参照してください |933| `enable_file_checkpointing` | `bool` | `False` | 巻き戻しのためのファイル変更追跡を有効にします。[ファイルチェックポイント](/docs/ja/agent-sdk/file-checkpointing)を参照してください |

934| `model` | `str \| None` | `None` | Claudeモデルエイリアスまたは完全なモデル名。[受け入れられた値とプロバイダー固有のID](/docs/ja/model-config#available-models)を参照してください |934| `model` | `str \| None` | `None` | Claudeモデルエイリアスまたは完全なモデル名。[受け入れられた値とプロバイダー固有のID](/docs/ja/model-config#available-models)を参照してください |


987```987```

988 988 

989* `API_TIMEOUT_MS`:Anthropicクライアントのリクエスト単位のタイムアウト(ミリ秒)。デフォルト`600000`。メインループとすべてのサブエージェントに適用されます。989* `API_TIMEOUT_MS`:Anthropicクライアントのリクエスト単位のタイムアウト(ミリ秒)。デフォルト`600000`。メインループとすべてのサブエージェントに適用されます。

990* `CLAUDE_CODE_MAX_RETRIES`:最大APIリトライ。デフォルト`10`、上限`15`。各リトライは独自の`API_TIMEOUT_MS`ウィンドウを取得するため、最悪の場合の実時間はおおよそ`API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)`プラスバックオフです。無人実行で長い停止を待つ必要がある場合は、[`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/ja/errors#tune-retry-behavior)を設定します:一時的な容量エラーを無限に再試行し、Claude Code v2.1.199以降では、他の一時的なエラーのデフォルトを`300`に引き上げ、この変数の上限を削除します。990* `CLAUDE_CODE_MAX_RETRIES`:最大APIリトライ。デフォルト`10`、上限`15`。各リトライは独自の`API_TIMEOUT_MS`ウィンドウを取得します。

991 

992 無人実行で長い停止を待つ必要がある場合は、[`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/ja/errors#tune-retry-behavior)を設定します:一時的な容量エラーを無限に再試行し、Claude Code v2.1.199以降では、他の一時的なエラーのデフォルトを`300`に引き上げ、この変数の上限を削除します。

991* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`:サブエージェント用の停止ウォッチドッグ。ストリームウォッチドッグがオンの間、デフォルトは`CLAUDE_STREAM_IDLE_TIMEOUT_MS`プラス5分で、その変数を引き上げない限り`600000`になります。ストリームウォッチドッグがオフの場合、デフォルトは`600000`です。v2.1.257より前は、デフォルトは常に`600000`でした。993* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`:サブエージェント用の停止ウォッチドッグ。ストリームウォッチドッグがオンの間、デフォルトは`CLAUDE_STREAM_IDLE_TIMEOUT_MS`プラス5分で、その変数を引き上げない限り`600000`になります。ストリームウォッチドッグがオフの場合、デフォルトは`600000`です。v2.1.257より前は、デフォルトは常に`600000`でした。

992 994 

993 タイマーは各ストリームイベントでリセットされます。停止時、Claude Codeはサブエージェントを中止し、停止を親に報告します。バックグラウンドサブエージェントの場合、タスクも失敗とマークし、部分的な結果を添付します。995 タイマーは各ストリームイベントでリセットされます。停止時、Claude Codeはサブエージェントを中止し、停止を親に報告します。バックグラウンドサブエージェントの場合、タスクも失敗とマークし、部分的な結果を添付します。


2877 2879 

2878サブエージェントからの結果を返します。出力は `status` フィールドで判別されます。完了したタスクの場合は `"completed"`、バックグラウンドタスクの場合は `"async_launched"`、Claude Code がクラウドセッションにディスパッチしたタスクの場合は `"remote_launched"`。`sessionUrl` はそのセッションにリンクし、`taskId` がそれを識別します。Claude Code が [サブエージェントの分離 worktree を保持した](/docs/ja/worktrees#isolate-subagents-with-worktrees) 場合、`completed` バリアントの `worktreePath` はそれを見つける場所であり、`worktreeBranch` は Claude Code が git で worktree を作成した場合のそのブランチです。2880サブエージェントからの結果を返します。出力は `status` フィールドで判別されます。完了したタスクの場合は `"completed"`、バックグラウンドタスクの場合は `"async_launched"`、Claude Code がクラウドセッションにディスパッチしたタスクの場合は `"remote_launched"`。`sessionUrl` はそのセッションにリンクし、`taskId` がそれを識別します。Claude Code が [サブエージェントの分離 worktree を保持した](/docs/ja/worktrees#isolate-subagents-with-worktrees) 場合、`completed` バリアントの `worktreePath` はそれを見つける場所であり、`worktreeBranch` は Claude Code が git で worktree を作成した場合のそのブランチです。

2879 2881 

2880`completed` バリアントでは、`resolvedModel` はサブエージェントが開始したモデルを名付けます。これは [`availableModels`](/docs/ja/model-config#restrict-model-selection) または別のオーバーライドが適用される場合、リクエストされた `model` 入力と異なる場合があります。このフィールドには Claude Code v2.1.174 以降が必要です。`async_launched` バリアントでは、`resolvedModel` はエージェントがバックグラウンドに移動したときに使用中のモデルを名付けるため、バックグラウンド化前に発生したスワップがそこに反映されます。両方のバリアントの `modelsUsed` フィールドは、使用されたモデルを順序で列挙し、連続する繰り返しは折りたたまれます。モデルが実行中にスワップされた場合にのみ設定されます。`modelsUsed` とバックグラウンド化時の `resolvedModel` 動作には Claude Code v2.1.212 以降が必要です。2882`completed` バリアントでは、`resolvedModel` はサブエージェントが開始したモデルを名付けます。これは [`availableModels`](/docs/ja/model-config#restrict-model-selection) または別の上書きが適用される場合、リクエストされた `model` 入力と異なる場合があります。このフィールドには Claude Code v2.1.174 以降が必要です。`async_launched` バリアントでは、`resolvedModel` はエージェントがバックグラウンドに移動したときに使用中のモデルを名付けるため、バックグラウンド化前に発生したスワップがそこに反映されます。両方のバリアントの `modelsUsed` フィールドは、使用されたモデルを順序で列挙し、連続する繰り返しは折りたたまれます。モデルが実行中にスワップされた場合にのみ設定されます。`modelsUsed` とバックグラウンド化時の `resolvedModel` 動作には Claude Code v2.1.212 以降が必要です。

2881 2883 

2882Claude Code は `usage` と `totalTokens` をサブエージェントの最終 API リクエストから入力します。実行全体からではありません。存在する場合、`usage` 内の `output_tokens_details` の下の `thinking_tokens` はそのリクエストの出力トークンのうち思考トークンであった数です。`output_tokens_details` キーには Python SDK v0.2.136 以降が必要です。これは Claude Code v2.1.228 をバンドルしています。`fallback_credit` キーには Python SDK v0.2.162 以降が必要です。これは Claude Code v2.1.285 をバンドルしています。2884Claude Code は `usage` と `totalTokens` をサブエージェントの最終 API リクエストから入力します。実行全体からではありません。存在する場合、`usage` 内の `output_tokens_details` の下の `thinking_tokens` はそのリクエストの出力トークンのうち思考トークンであった数です。`output_tokens_details` キーには Python SDK v0.2.136 以降が必要です。これは Claude Code v2.1.228 をバンドルしています。`fallback_credit` キーには Python SDK v0.2.162 以降が必要です。これは Claude Code v2.1.285 をバンドルしています。

2883 2885 


2908 }2910 }

2909 ],2911 ],

2910 "answers": dict[str, str] | None,2912 "answers": dict[str, str] | None,

2911 # パーミッションシステムによって入力されたユーザーの回答。マルチセレクト2913 # 権限システムによって入力されたユーザーの回答。マルチセレクト

2912 # 回答は選択されたラベルのカンマ区切り文字列です。入力時はラベルのリストが受け入れられ、その形式に強制されます2914 # 回答は選択されたラベルのカンマ区切り文字列です。入力時はラベルのリストが受け入れられ、その形式に強制されます

2913 "annotations": dict[str, dict] | None,2915 "annotations": dict[str, dict] | None,

2914 # 質問テキストでキーされたユーザーからの質問ごとのアノテーション。2916 # 質問テキストでキーされたユーザーからの質問ごとのアノテーション。


2979 2981 

2980バックグラウンドソースを実行し、各イベントを Claude に配信して、ポーリングなしで反応できるようにします。`command` はスクリプトを実行し、stdout 行ごとに 1 つのイベントを発行し、`ws` は WebSocket を開き、テキストフレームごとに 1 つのイベントを発行します。`command` または `ws` のいずれか 1 つを正確に指定してください。2982バックグラウンドソースを実行し、各イベントを Claude に配信して、ポーリングなしで反応できるようにします。`command` はスクリプトを実行し、stdout 行ごとに 1 つのイベントを発行し、`ws` は WebSocket を開き、テキストフレームごとに 1 つのイベントを発行します。`command` または `ws` のいずれか 1 つを正確に指定してください。

2981 2983 

2982Monitor がコマンドを実行する場合、Bash と同じパーミッション規則に従います。WebSocket ウォッチは別途承認を求めます。`ws` ソースには Claude Code v2.1.195 以降が必要です。動作とプロバイダーの可用性については、[Monitor ツールリファレンス](/docs/ja/tools-reference#monitor-tool) を参照してください。2984Monitor がコマンドを実行する場合、Bash と同じ権限ルールに従います。WebSocket ウォッチは別途承認を求めます。`ws` ソースには Claude Code v2.1.195 以降が必要です。動作とプロバイダーの可用性については、[Monitor ツールリファレンス](/docs/ja/tools-reference#monitor-tool) を参照してください。

2983 2985 

2984**入力:**2986**入力:**

2985 2987 


3326{3328{

3327 "url": str, # コンテンツを取得する URL3329 "url": str, # コンテンツを取得する URL

3328 "prompt": str, # 取得したコンテンツで実行するプロンプト3330 "prompt": str, # 取得したコンテンツで実行するプロンプト

3331 "offset": int | None, # ページの先頭からスキップする文字数。Python Agent SDK 0.2.164 以降が必要

3329}3332}

3330```3333```

3331 3334 


3547 3550 

3548Claude Code v2.1.277 で削除されました。以前は実行中または完了したバックグラウンドタスクから出力を取得し、`BashOutput` はエイリアスとして受け入れられていました。Claude はバックグラウンドタスクの出力ファイルを `Read` で読み込みます。3551Claude Code v2.1.277 で削除されました。以前は実行中または完了したバックグラウンドタスクから出力を取得し、`BashOutput` はエイリアスとして受け入れられていました。Claude はバックグラウンドタスクの出力ファイルを `Read` で読み込みます。

3549 3552 

3550`disallowed_tools` エントリまたはいずれかの名前をまだ名付けている拒否ルールは、警告なしに無視されます。3553`disallowed_tools` エントリまたはいずれかの名前をまだ指定している拒否ルールは、警告なしに無視されます。

3551 3554 

3552<h3 id="taskstop">3555<h3 id="taskstop">

3553 TaskStop3556 TaskStop

Details

323 サブエージェント呼び出しの検出323 サブエージェント呼び出しの検出

324</h2>324</h2>

325 325 

326Claude はエージェントツールを通じてサブエージェントを呼び出します。サブエージェントが呼び出されたときを検出するには、`name` が `"Agent"` である `tool_use` ブロックをチェックしてください。サブエージェントのコンテキスト内からのメッセージには、`parent_tool_use_id` フィールドが含まれます。326Claude はエージェントツールを通じてサブエージェントを呼び出します。サブエージェントが呼び出されたときを検出するには、`name` が `"Agent"` である `tool_use` ブロックをチェックしてください。

327 

328サブエージェントのコンテキスト内からのメッセージには、`parent_tool_use_id` フィールドが含まれます。TypeScript では、サブエージェントが生成する各アシスタントメッセージおよびユーザーメッセージに [`agent_id`](/docs/ja/agent-sdk/typescript#sdkassistantmessage) も含まれます。これは、そのサブエージェントの[タスクイベント](/docs/ja/agent-sdk/typescript#sdktaskstartedmessage)の `task_id` です。`agent_id` には TypeScript Agent SDK v0.3.292 以降が必要です。

327 329 

328<Note>330<Note>

329 このツールは `tool_use` ブロックでは `"Agent"` として表示されますが、`system:init` ツールリストでは `"Task"` として表示されます。Claude Code v2.1.63 より前では、`tool_use` ブロックもこれを `"Task"` と名付けていました。SDK バージョン間で検出が機能し続けるようにするには、`block.name` で両方の値に一致させてください。331 このツールは `tool_use` ブロックでは `"Agent"` として表示されますが、`system:init` ツールリストでは `"Task"` として表示されます。Claude Code v2.1.63 より前では、`tool_use` ブロックもこれを `"Task"` と名付けていました。SDK バージョン間で検出が機能し続けるようにするには、`block.name` で両方の値に一致させてください。


331 333 

332メッセージ構造は SDK 間で異なります。Python では、`message.content` を通じてコンテンツブロックに直接アクセスします。TypeScript では、`SDKAssistantMessage` が Claude API メッセージをラップするため、`message.message.content` を通じてコンテンツにアクセスします。334メッセージ構造は SDK 間で異なります。Python では、`message.content` を通じてコンテンツブロックに直接アクセスします。TypeScript では、`SDKAssistantMessage` が Claude API メッセージをラップするため、`message.message.content` を通じてコンテンツにアクセスします。

333 335 

334この例は、ストリーミングされたメッセージを反復処理し、サブエージェントが呼び出されたときと、その後のメッセージがそのサブエージェントの実行コンテキスト内から発信されたときをログに記録します。336この例は、ストリーミングされたメッセージを反復処理し、サブエージェントが呼び出されたときと、その後のメッセージがそのサブエージェントの実行コンテキスト内から発信されたときをログに記録します。TypeScript 版では、`agent_id` を持つ各サブエージェントメッセージについて、その `agent_id` もログに記録します。

335 337 

336<CodeGroup>338<CodeGroup>

337 ```python Python theme={null}339 ```python Python theme={null}


403 // Check if this message is from within a subagent's context405 // Check if this message is from within a subagent's context

404 if (msg.parent_tool_use_id) {406 if (msg.parent_tool_use_id) {

405 console.log(" (running inside subagent)");407 console.log(" (running inside subagent)");

408 // On assistant and user messages, agent_id matches the task_id

409 // on that subagent's task_started and other task events

410 if (msg.agent_id) {

411 console.log(` agent_id: ${msg.agent_id}`);

412 }

406 }413 }

407 414 

408 if ("result" in message) {415 if ("result" in message) {

Details

569| `includePartialMessages` | `boolean` | `false` | 部分メッセージイベントを含めます |569| `includePartialMessages` | `boolean` | `false` | 部分メッセージイベントを含めます |

570| `loadTimeoutMs` | `number` | `60000` | *アルファ版。* 再開時のマテリアライズ中に行われる各 `sessionStore.load()` および `sessionStore.listSubkeys()` 呼び出しのタイムアウト(ミリ秒)。アダプターがこの時間内に完了しない場合、クエリはハングせずに失敗します。`sessionStore` が設定されていない場合は無視されます |570| `loadTimeoutMs` | `number` | `60000` | *アルファ版。* 再開時のマテリアライズ中に行われる各 `sessionStore.load()` および `sessionStore.listSubkeys()` 呼び出しのタイムアウト(ミリ秒)。アダプターがこの時間内に完了しない場合、クエリはハングせずに失敗します。`sessionStore` が設定されていない場合は無視されます |

571| `managedSettings` | `Settings` | `undefined` | ホストプロセスが生成されたセッションに提供するポリシー階層の設定。管理者がデプロイした管理設定があるマシンでは、管理者の最も優先順位の高い管理ソースが `parentSettingsBehavior: 'merge'` を設定しない限り Claude Code はこれらを無視し、[`policyHelper`](/docs/ja/settings-reference#policyhelper) が管理設定を提供している間はマージしません。マージされた値は制限のみを許すフィルターを通過します。フィルターが許可するものと `allowManaged*Only` ロックについては[親設定を制限する](/docs/ja/claude-apps-gateway#restrict-parent-settings)で説明しています。[`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ja/env-vars) を設定するホストでは、3 つのキーが代わりにこのペイロードから直接読み取られます。Claude Code v2.1.222 以降でのその[モデル設定](/docs/ja/model-config#restrict-model-selection)、v2.1.246 以降で管理ソースが設定していない場合の [`modelPricing`](/docs/ja/settings-reference#modelpricing)、v2.1.247 以降でのその `ENABLE_TOOL_SEARCH` env エントリです |571| `managedSettings` | `Settings` | `undefined` | ホストプロセスが生成されたセッションに提供するポリシー階層の設定。管理者がデプロイした管理設定があるマシンでは、管理者の最も優先順位の高い管理ソースが `parentSettingsBehavior: 'merge'` を設定しない限り Claude Code はこれらを無視し、[`policyHelper`](/docs/ja/settings-reference#policyhelper) が管理設定を提供している間はマージしません。マージされた値は制限のみを許すフィルターを通過します。フィルターが許可するものと `allowManaged*Only` ロックについては[親設定を制限する](/docs/ja/claude-apps-gateway#restrict-parent-settings)で説明しています。[`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ja/env-vars) を設定するホストでは、3 つのキーが代わりにこのペイロードから直接読み取られます。Claude Code v2.1.222 以降でのその[モデル設定](/docs/ja/model-config#restrict-model-selection)、v2.1.246 以降で管理ソースが設定していない場合の [`modelPricing`](/docs/ja/settings-reference#modelpricing)、v2.1.247 以降でのその `ENABLE_TOOL_SEARCH` env エントリです |

572| `maxBudgetUsd` | `number` | `undefined` | クライアント側のコスト見積もりがこの USD 値に達したときにクエリを停止します。この呼び出し自体の支出のみをカウントし、再開したセッションから復元された合計はカウントされません。精度に関する注意事項とリセット動作については、[コストと使用量を追跡する](/docs/ja/agent-sdk/cost-tracking)を参照してください |572| `maxBudgetUsd` | `number` | `undefined` | クライアント側のコスト見積もりがこの USD 値に達したらクエリを停止します。見積もりはこの値を超える場合があるため、[余裕を持たせてください](/docs/ja/agent-sdk/agent-loop#budget-headroom)。この呼び出し自体の支出のみがカウントされ、再開されたセッションから復元された合計はカウントされません。精度に関する注意点とリセット動作については、[コストと使用量を追跡する](/docs/ja/agent-sdk/cost-tracking)を参照してください |

573| `maxThinkingTokens` | `number` | `undefined` | *非推奨:* 代わりに `thinking` を使用してください。思考プロセスの最大トークン数 |573| `maxThinkingTokens` | `number` | `undefined` | *非推奨:* 代わりに `thinking` を使用してください。思考プロセスの最大トークン数 |

574| `maxTurns` | `number` | `undefined` | エージェントの最大ターン数(ツール使用のラウンドトリップ) |574| `maxTurns` | `number` | `undefined` | エージェントの最大ターン数(ツール使用のラウンドトリップ) |

575| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP サーバーの設定 |575| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP サーバーの設定 |


631```631```

632 632 

633* `API_TIMEOUT_MS`: Anthropic クライアントのリクエストごとのタイムアウト(ミリ秒)。デフォルトは `600000` です。メインループとすべてのサブエージェントに適用されます。633* `API_TIMEOUT_MS`: Anthropic クライアントのリクエストごとのタイムアウト(ミリ秒)。デフォルトは `600000` です。メインループとすべてのサブエージェントに適用されます。

634* `CLAUDE_CODE_MAX_RETRIES`: API の最大再試行回数。デフォルトは `10`、上限は `15` です。各再試行にはそれぞれ独自の `API_TIMEOUT_MS` の時間枠があるため、最悪の場合の経過時間はおおよそ `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` にバックオフを加えた値になります。より長い障害の間も待機し続ける必要がある無人実行では、[`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/ja/errors#tune-retry-behavior) を設定します。これにより一時的な容量エラーが無期限に再試行され、Claude Code v2.1.199 以降では、その他の一時的なエラーのデフォルトが `300` に引き上げられ、この変数の上限が撤廃されます。634* `CLAUDE_CODE_MAX_RETRIES`: API の最大再試行回数。デフォルトは `10` で、上限は `15` です。再試行ごとに独自の `API_TIMEOUT_MS` の時間枠が与えられます。

635 

636 より長い障害の間も待機し続ける必要がある無人実行では、[`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/ja/errors#tune-retry-behavior) を設定します。これにより一時的な容量エラーは無期限に再試行され、Claude Code v2.1.199 以降では、その他の一時的なエラーのデフォルトが `300` に引き上げられ、この変数の上限も撤廃されます。

635* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: サブエージェントの停止ウォッチドッグ。ストリームウォッチドッグがオンの間、デフォルトは `CLAUDE_STREAM_IDLE_TIMEOUT_MS` に 5 分を加えた値で、その変数を引き上げない限り `600000` になります。ストリームウォッチドッグがオフの場合、デフォルトは `600000` です。v2.1.257 より前は、デフォルトは常に `600000` でした。637* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: サブエージェントの停止ウォッチドッグ。ストリームウォッチドッグがオンの間、デフォルトは `CLAUDE_STREAM_IDLE_TIMEOUT_MS` に 5 分を加えた値で、その変数を引き上げない限り `600000` になります。ストリームウォッチドッグがオフの場合、デフォルトは `600000` です。v2.1.257 より前は、デフォルトは常に `600000` でした。

636 638 

637 タイマーはストリームイベントごとにリセットされます。停止すると、Claude Code はサブエージェントを中止し、停止を親に報告します。バックグラウンドサブエージェントの場合は、タスクを失敗としてマークし、部分的な結果があれば添付します。639 タイマーはストリームイベントごとにリセットされます。停止すると、Claude Code はサブエージェントを中止し、停止を親に報告します。バックグラウンドサブエージェントの場合は、タスクを失敗としてマークし、部分的な結果があれば添付します。


1561 parent_tool_use_id: string | null;1563 parent_tool_use_id: string | null;

1562 error?: SDKAssistantMessageError;1564 error?: SDKAssistantMessageError;

1563 aborted?: true;1565 aborted?: true;

1566 agent_id?: string;

1564 timestamp?: string;1567 timestamp?: string;

1565 context_usage?: SDKContextUsage;1568 context_usage?: SDKContextUsage;

1566 user_message_uuid?: string;1569 user_message_uuid?: string;


1580 1583 

1581`aborted` は、ストリームが完了する前に中断または中止によってアシスタントメッセージが切り詰められた場合に `true` になります。このときメッセージには `stop_reason` がなく、内容が単語の途中で終わっている可能性があります。正常に完了したメッセージにはこのフィールドはありません。Agent SDK v0.3.214 以降が必要です。1584`aborted` は、ストリームが完了する前に中断または中止によってアシスタントメッセージが切り詰められた場合に `true` になります。このときメッセージには `stop_reason` がなく、内容が単語の途中で終わっている可能性があります。正常に完了したメッセージにはこのフィールドはありません。Agent SDK v0.3.214 以降が必要です。

1582 1585 

1586`agent_id` はメッセージを生成したサブエージェントを識別し、メインスレッドのメッセージには存在しません。値は、そのサブエージェントの [`task_started`](#sdktaskstartedmessage) およびその他のタスクイベントの `task_id` と同じで、サブエージェントが[再開](/docs/ja/agent-sdk/subagents#resume-subagents)されても変わりません。このフィールドには Agent SDK v0.3.292 以降が必要です。

1587 

1588サブエージェントのメッセージをタスクイベントと対応付けるには、メッセージの `parent_tool_use_id` とタスクイベントの `tool_use_id` を組み合わせるのではなく、`agent_id` で照合してください。ツール呼び出しがサブエージェントを再開すると、タスクイベントにはその呼び出しの `tool_use_id` が含まれますが、メッセージはサブエージェントを最初に開始したツール呼び出しの `parent_tool_use_id` を保持するため、両者は一致しなくなります。

1589 

1583Claude Code は、[`user_message_uuid`](#user_message_uuid) に記載された条件のもとで、ターンの最初のアシスタントメッセージに `user_message_uuid` と `user_message_uuids` を設定します。再起動によって中断されたターンを Claude Code が再実行する場合、再実行でこれらのフィールドを持つアシスタントメッセージには [`resume_reason`](#resume_reason) も含まれます。1590Claude Code は、[`user_message_uuid`](#user_message_uuid) に記載された条件のもとで、ターンの最初のアシスタントメッセージに `user_message_uuid` と `user_message_uuids` を設定します。再起動によって中断されたターンを Claude Code が再実行する場合、再実行でこれらのフィールドを持つアシスタントメッセージには [`resume_reason`](#resume_reason) も含まれます。

1584 1591 

1585`timestamp` は、メッセージを生成したプロセス上でそのメッセージの内容の生成が完了した時刻を ISO 8601 形式で表します。値はそのマシンの時計に基づくため、表示目的にのみ使用し、メッセージの並べ替えには使用しないでください。1 回の API ターンで、同じ `message.id` を共有する複数のアシスタントメッセージが生成されることがあり、それぞれが独自の `timestamp` を持ちます。このフィールドがない場合は、メッセージを受信した時刻で代用してください。1592`timestamp` は、メッセージを生成したプロセス上でそのメッセージの内容の生成が完了した時刻を ISO 8601 形式で表します。値はそのマシンの時計に基づくため、表示目的にのみ使用し、メッセージの並べ替えには使用しないでください。1 回の API ターンで、同じ `message.id` を共有する複数のアシスタントメッセージが生成されることがあり、それぞれが独自の `timestamp` を持ちます。このフィールドがない場合は、メッセージを受信した時刻で代用してください。


1597 type: "user";1604 type: "user";

1598 uuid?: UUID;1605 uuid?: UUID;

1599 session_id?: string;1606 session_id?: string;

1607 agent_id?: string;

1600 message: MessageParam; // From Anthropic SDK1608 message: MessageParam; // From Anthropic SDK

1601 pasted_content?: MessageParam["content"][];1609 pasted_content?: MessageParam["content"][];

1602 parent_tool_use_id: string | null;1610 parent_tool_use_id: string | null;


1636};1644};

1637```1645```

1638 1646 

1647サブエージェントが生成するユーザーメッセージ(自身のツール呼び出しの `tool_result` など)には `agent_id` が含まれます。このフィールドとそのバージョン要件を定義している [`SDKAssistantMessage`](#sdkassistantmessage) を参照してください。

1648 

1639`tool_result` ブロックを含むメッセージでは、`tool_use_result` はモデルに送信されるテキストではなく、ツールの構造化された出力オブジェクトです。その形状は対応する `tool_use` ブロックで指定されたツールによって異なるため、このフィールドの型は `unknown` です。組み込みの形状は [Tool Output Types](#tool-output-types) に記載されています。次の結果には、記載された形状以上の処理が必要です。1649`tool_result` ブロックを含むメッセージでは、`tool_use_result` はモデルに送信されるテキストではなく、ツールの構造化された出力オブジェクトです。その形状は対応する `tool_use` ブロックで指定されたツールによって異なるため、このフィールドの型は `unknown` です。組み込みの形状は [Tool Output Types](#tool-output-types) に記載されています。次の結果には、記載された形状以上の処理が必要です。

1640 1650 

1641* `Agent` ツール: `tool_use_result` は [`AgentOutput`](#agent-2) です。`tool_result` のテキストを解析するのではなく、これを元に表示してください。`completed` の結果の `content` にはサブエージェントのレポートが含まれます。ただし、レポートを `SubagentHandback` ツール呼び出しで渡すサブエージェントの場合は、レポートの代わりにその引き渡しに関する短い注記が含まれます。Claude Code v2.1.271 以降の [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)では、`completed` の結果を生成するすべてのサブエージェントは、[フォーク](/docs/ja/sub-agents#fork-the-current-conversation)でない限りこの方法でレポートし、Claude はレポートをサブエージェントからの別のメッセージとして受け取ります。1651* `Agent` ツール: `tool_use_result` は [`AgentOutput`](#agent-2) です。`tool_result` のテキストを解析するのではなく、これを元に表示してください。`completed` の結果の `content` にはサブエージェントのレポートが含まれます。ただし、レポートを `SubagentHandback` ツール呼び出しで渡すサブエージェントの場合は、レポートの代わりにその引き渡しに関する短い注記が含まれます。Claude Code v2.1.271 以降の [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)では、`completed` の結果を生成するすべてのサブエージェントは、[フォーク](/docs/ja/sub-agents#fork-the-current-conversation)でない限りこの方法でレポートし、Claude はレポートをサブエージェントからの別のメッセージとして受け取ります。


1992 `SDKPartialAssistantMessage`2002 `SDKPartialAssistantMessage`

1993</h3>2003</h3>

1994 2004 

1995ストリーミングの部分メッセージです(`includePartialMessages` が true の場合のみ)。`parent_tool_use_id` フィールドは常に `null` です。ストリームイベントはメインセッションに対してのみ出力されます。サブエージェントへの帰属を判定するには、`parent_tool_use_id` を持つ完全なメッセージを使用するか、[`forwardSubagentText`](#options) を有効にしてサブエージェントのテキストと思考を完全なメッセージとして受け取ってください。2005ストリーミングの部分メッセージです(`includePartialMessages` が true の場合のみ)。

2006 

2007`parent_tool_use_id` フィールドは常に `null` です。ストリームイベントはメインセッションに対してのみ出力されます。サブエージェントへの帰属を判断するには、[`agent_id`](#sdkassistantmessage) と `parent_tool_use_id` を含む完全なメッセージを使用するか、[`forwardSubagentText`](#options) を有効にしてサブエージェントのテキストと思考を完全なメッセージとして受け取ってください。

1996 2008 

1997```typescript theme={null}2009```typescript theme={null}

1998type SDKPartialAssistantMessage = {2010type SDKPartialAssistantMessage = {


3416type WebFetchInput = {3428type WebFetchInput = {

3417 url: string;3429 url: string;

3418 prompt: string;3430 prompt: string;

3431 offset?: number;

3419};3432};

3420```3433```

3421 3434 

3422URL からコンテンツを取得し、AI モデルで処理します。3435URL からコンテンツを取得し、AI モデルで処理します。

3423 3436 

3437`offset` はページの先頭からスキップする文字数です。Claude は長いページを読み進めるためにこれを設定します。このフィールドには Agent SDK v0.3.290 以降が必要です。

3438 

3424<h3 id="websearch">3439<h3 id="websearch">

3425 WebSearch3440 WebSearch

3426</h3>3441</h3>


5775 task_type?: string;5790 task_type?: string;

5776 is_backgrounded?: boolean;5791 is_backgrounded?: boolean;

5777 spawn_depth?: number;5792 spawn_depth?: number;

5793 parent_task_id?: string;

5778 ambient?: boolean;5794 ambient?: boolean;

5779 uuid: UUID;5795 uuid: UUID;

5780 session_id: string;5796 session_id: string;


5792 5808 

5793[再開されたサブエージェント](/docs/ja/agent-sdk/subagents#resume-subagents) は常に `is_backgrounded: true` を報告します。Claude Code はすべての再開されたサブエージェントをバックグラウンドで実行するためです。フォアグラウンドタスクが後でバックグラウンドに移動する場合、Claude Code は 2 番目の `task_started` を送信するのではなく、新しい `is_backgrounded` 値を [`task_updated`](#sdktaskupdatedmessage) メッセージで報告します。5809[再開されたサブエージェント](/docs/ja/agent-sdk/subagents#resume-subagents) は常に `is_backgrounded: true` を報告します。Claude Code はすべての再開されたサブエージェントをバックグラウンドで実行するためです。フォアグラウンドタスクが後でバックグラウンドに移動する場合、Claude Code は 2 番目の `task_started` を送信するのではなく、新しい `is_backgrounded` 値を [`task_updated`](#sdktaskupdatedmessage) メッセージで報告します。

5794 5810 

5811`parent_task_id` は、このタスクを起動したサブエージェントの `task_id` を保持します。これを使用して、各タスクをそれを開始したサブエージェントの下にグループ化してください。Claude Code はサブエージェント、Bash、[Monitor](#monitor) タスクでこれを設定します。フィールドには Agent SDK v0.3.292 以降が必要です。以下の場合は存在しません。

5812 

5813* メインスレッドがタスクを起動した場合

5814* Claude Code が親タスクを追跡しなくなった場合

5815* [チームメイト](/docs/ja/agent-teams) またはワークフロー内のエージェントがタスクを起動した場合

5816 

5817親はフォアグラウンドタスクの場合や、すでに終了したタスクの場合もあるため、認識しない ID は親なしとして扱ってください。

5818 

5795<h3 id="sdktaskprogressmessage">5819<h3 id="sdktaskprogressmessage">

5796 `SDKTaskProgressMessage`5820 `SDKTaskProgressMessage`

5797</h3>5821</h3>


5848 `SDKBackgroundTasksChangedMessage`5872 `SDKBackgroundTasksChangedMessage`

5849</h3>5873</h3>

5850 5874 

5851ライブバックグラウンドタスクのセットが変わるたびに発行されます。タスクの開始、完了、キル、フォアグラウンドエージェントのバックグラウンド化、またはタスクの `description` または `ambient` フィールドの変更などです。5875ライブバックグラウンドタスクのセットが変わるたびに発行されます。タスクの開始、完了、キル、フォアグラウンドエージェントのバックグラウンド化、またはタスクの `description`、`ambient`、`parent_task_id` フィールドの変更などです。各エントリの `parent_task_id` フィールドについては、それとそのバージョン要件を定義している [`SDKTaskStartedMessage`](#sdktaskstartedmessage) を参照してください。

5852 5876 

5853`tasks` 配列はライブセット全体です。`task_started` および `task_notification` イベントをペアリングするのではなく、各ペイロードでキャッシュされたセットを置き換えてください。そうすれば、次のメンバーシップ変更で逃したイベントが修正されます。5877`tasks` 配列はライブセット全体です。`task_started` および `task_notification` イベントをペアリングするのではなく、各ペイロードでキャッシュされたセットを置き換えてください。そうすれば、次のメンバーシップ変更で逃したイベントが修正されます。

5854 5878 

5855これらのタスクごとのイベントに対する順序付けは指定されていないため、2 つのストリームを相関させないでください。5879タスクが終了すると、その [`task_updated`](#sdktaskupdatedmessage) と [`task_notification`](#sdktasknotificationmessage) は、それをリストから削除する `background_tasks_changed` より前に到着します。それ以外の場合、タスクごとのイベントに対する順序付けは指定されていません。

5856 5880 

5857起動時には何も発行されません。セッションの CLI プロセスが開始または再開されるたびに空のセットにリセットし、次のメンバーシップ変更でそれを再入力させてください。5881起動時には何も発行されません。セッションの CLI プロセスが開始または再開されるたびに空のセットにリセットし、次のメンバーシップ変更でそれを再入力させてください。

5858 5882 


5869 task_type: string;5893 task_type: string;

5870 subagent_type?: string;5894 subagent_type?: string;

5871 description: string;5895 description: string;

5896 parent_task_id?: string;

5872 ambient?: boolean;5897 ambient?: boolean;

5873 }[];5898 }[];

5874 uuid: UUID;5899 uuid: UUID;

Details

36 ```36 ```

37 37 

38 ```typescript TypeScript theme={null}38 ```typescript TypeScript theme={null}

39 async function handleToolRequest(toolName, input, options) {39 import type { CanUseTool } from "@anthropic-ai/claude-agent-sdk";

40 

41 const handleToolRequest: CanUseTool = async (toolName, input, options) => {

40 // options には { signal: AbortSignal, suggestions?: PermissionUpdate[] } が含まれます42 // options には { signal: AbortSignal, suggestions?: PermissionUpdate[] } が含まれます

41 // ユーザーにプロンプトを表示して、許可または拒否を返す43 // ここでユーザーにプロンプトを表示してから、許可または拒否を返す

42 }44 return { behavior: "deny", message: "User declined" };

45 };

43 46 

44 const options = { canUseTool: handleToolRequest };47 const options = { canUseTool: handleToolRequest };

45 ```48 ```


440 // ツールリストに AskUserQuestion を含める443 // ツールリストに AskUserQuestion を含める

441 tools: ["Read", "Glob", "Grep", "AskUserQuestion"],444 tools: ["Read", "Glob", "Grep", "AskUserQuestion"],

442 canUseTool: async (toolName, input) => {445 canUseTool: async (toolName, input) => {

443 // ここで確認質問を処理する446 // すべての呼び出しを許可するプレースホルダー。「AskUserQuestion を検出する」ステップでこれを置き換えます。

447 return { behavior: "allow", updatedInput: input };

444 }448 }

445 }449 }

446 })) {450 })) {


763 767 

764 ```typescript TypeScript theme={null}768 ```typescript TypeScript theme={null}

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

770 import type { PermissionResult } from "@anthropic-ai/claude-agent-sdk";

766 import * as readline from "readline/promises";771 import * as readline from "readline/promises";

767 772 

768 // ターミナルでユーザー入力を求めるヘルパー773 // ターミナルでユーザー入力を求めるヘルパー


783 }788 }

784 789 

785 // Claude の質問を表示してユーザーの回答を収集する790 // Claude の質問を表示してユーザーの回答を収集する

786 async function handleAskUserQuestion(input: any) {791 async function handleAskUserQuestion(input: any): Promise<PermissionResult> {

787 const answers: Record<string, string> = {};792 const answers: Record<string, string> = {};

788 793 

789 for (const q of input.questions) {794 for (const q of input.questions) {


803 answers[q.question] = parseResponse(response, options);808 answers[q.question] = parseResponse(response, options);

804 }809 }

805 810 

806 // Claude に回答を返す(ツール処理に元の質問を含める必須)811 // Claude に回答を返す(元の質問を含める必要があります)

807 return {812 return {

808 behavior: "allow",813 behavior: "allow",

809 updatedInput: { questions: input.questions, answers }814 updatedInput: { questions: input.questions, answers }

agent-view.md +9 −6

Details

603 603 

604git リポジトリの外では、セッションは作業ディレクトリに直接書き込み、互いに分離されないため、同じファイルを編集する並列セッションのディスパッチは避けてください。別のバージョン管理システムを使用している場合は、[`WorktreeCreate` フック](/docs/ja/worktrees#non-git-version-control) を設定すると、Claude は git の場合と同じ方法で編集を分離します。604git リポジトリの外では、セッションは作業ディレクトリに直接書き込み、互いに分離されないため、同じファイルを編集する並列セッションのディスパッチは避けてください。別のバージョン管理システムを使用している場合は、[`WorktreeCreate` フック](/docs/ja/worktrees#non-git-version-control) を設定すると、Claude は git の場合と同じ方法で編集を分離します。

605 605 

606git リポジトリではないディレクトリでフックが失敗した場合、Claude はそのディレクトリの分離をスキップし、作業ディレクトリをその場で編集します。git リポジトリ内では、編集前に Claude が worktree に移動させるセッションは、その移動が行われるまで共有チェックアウト内のファイルを編集できません。606git リポジトリではないディレクトリでフックが失敗した場合、Claude はそのディレクトリの分離をスキップし、作業ディレクトリをその場で編集します。git リポジトリ内では、編集前に Claude が worktree に移動させるセッションは、その移動が行われるまで共有チェックアウトに対して `Edit`、`Write`、`NotebookEdit` ツールを使用できません。

607 607 

608セッションの worktree のパスを確認するには、アタッチしてその作業ディレクトリを確認します。608セッションの worktree のパスを確認するには、アタッチしてその作業ディレクトリを確認します。

609 609 


825| `claude daemon logs` | supervisor のログファイル [`~/.claude/daemon.log`](#where-state-is-stored) を追跡し、`Ctrl+C` を押すまで新しい行を到着次第出力する |825| `claude daemon logs` | supervisor のログファイル [`~/.claude/daemon.log`](#where-state-is-stored) を追跡し、`Ctrl+C` を押すまで新しい行を到着次第出力する |

826| `claude daemon stop --any` | supervisor プロセスとそれがホストするバックグラウンドセッションを停止します。`--keep-workers` を渡して、バックグラウンドセッションを実行したままにして、次の supervisor が再接続できるようにします。次の `claude agents` または `claude --bg` は新しい supervisor を開始します |826| `claude daemon stop --any` | supervisor プロセスとそれがホストするバックグラウンドセッションを停止します。`--keep-workers` を渡して、バックグラウンドセッションを実行したままにして、次の supervisor が再接続できるようにします。次の `claude agents` または `claude --bg` は新しい supervisor を開始します |

827 827 

828`claude attach` と `claude logs` は、`claude logs "auth refactor"` のように、ID の代わりに実行中のセッション名の一部を受け取ることができます。名前を渡すには Claude Code v2.1.290 以降が必要です。828`claude attach` と `claude logs` は、`claude logs "auth refactor"` のように、ID の代わりにセッション名の一部を受け取ることができます。名前を渡すには Claude Code v2.1.290 以降が必要です。

829 829 

830<h3 id="list-sessions-as-json">830<h3 id="list-sessions-as-json">

831 セッションを JSON として一覧表示831 セッションを JSON として一覧表示


979 セッションを開くと、保存されたトランスクリプトがないと表示される979 セッションを開くと、保存されたトランスクリプトがないと表示される

980</h3>980</h3>

981 981 

982[別の会話からバックグラウンド化された](#from-inside-a-session)停止したセッションが最初の応答が完了する前に停止した場合、再開するものはありません。最初の応答が完了するまで、会話はバックグラウンド化された会話にのみ存在します。`claude attach` は `This session has no saved transcript` で開くことを拒否します。982[別の会話からバックグラウンド化した](#from-inside-a-session)セッションのうち、独自のターンを実行する前に停止したセッションを開くと、Claude Code はその会話を再開します。Claude Code がその会話を見つけられない場合、セッションを開くことを拒否します:

983 983 

984エージェントビューでは、その行を開くとリストの下に `Press enter again to restart this session fresh` が表示されます。同じ行で再度 `Enter` を押して、空の会話でセッションを再開するか、シェルから `claude respawn <id>` を実行します。984* `claude attach` は `This session has no saved transcript` を出力します。

985* エージェントビューでは、リストの下に `Press enter again to restart this session fresh` が表示されます。

985 986 

986元の会話は無傷です。`claude --resume` で再開するか、それで作業を続けます。詳細については、[エラーリファレンス](/docs/ja/errors#this-session-has-no-saved-transcript)を参照してください。987同じ行で再度 `Enter` を押して空の会話でセッションを再開するか、シェルから `claude respawn <id>` を実行します。

988 

989詳細については、[エラーリファレンス](/docs/ja/errors#this-session-has-no-saved-transcript)を参照してください。

987 990 

988<h3 id="the-terminal-host-died-or-the-session-stopped-responding">991<h3 id="the-terminal-host-died-or-the-session-stopped-responding">

989 ターミナルホストが停止したか、セッションが応答しなくなった992 ターミナルホストが停止したか、セッションが応答しなくなった


1095 1098 

1096| バージョン | 変更 |1099| バージョン | 変更 |

1097| - | - |1100| - | - |

1098| v2.1.290 | [`claude attach` と `claude logs`](#manage-sessions-from-the-shell) は、ID の代わりに実行中のセッションの名前の一部を受け付けます。 |1101| v2.1.290 | [`claude attach` と `claude logs`](#manage-sessions-from-the-shell) は、ID の代わりにセッションの名前の一部を受け付けます。 |

1099| v2.1.290 | `/model`、`/effort`、`/rename`、`/usage` を作業中のセッションへの[ピーク返信](#peek-and-reply)として送信すると、すぐに実行されます。 |1102| v2.1.290 | `/model`、`/effort`、`/rename`、`/usage` を作業中のセッションへの[ピーク返信](#peek-and-reply)として送信すると、すぐに実行されます。 |

1100| v2.1.290 | 配信できない[ピーク返信](#peek-and-reply)は、`/` で始まる場合、またはセッションのプロセスの実行中に事前定義された選択肢のある質問に回答する場合、次回の再起動に向けて保存されなくなりました。 |1103| v2.1.290 | 配信できない[ピーク返信](#peek-and-reply)は、`/` で始まる場合、またはセッションのプロセスの実行中に事前定義された選択肢のある質問に回答する場合、次回の再起動に向けて保存されなくなりました。 |

1101| v2.1.288 | `Ctrl+F` は名前でセッションを検索し、`Alt+↑` / `Alt+↓` はグループヘッダー間を移動します。これらのキーと `Ctrl+R` は[再割り当て](/docs/ja/keybindings#agents-actions)できます。 |1104| v2.1.288 | `Ctrl+F` は名前でセッションを検索し、`Alt+↑` / `Alt+↓` はグループヘッダー間を移動します。これらのキーと `Ctrl+R` は[再割り当て](/docs/ja/keybindings#agents-actions)できます。 |

Details

1235 1235 

1236CLI はメトリクス、ログ、および有効な場合はトレースをゲートウェイに送信し、ゲートウェイはそれらをそのまま各設定済みの宛先にリレーします。エクスポートは HTTP 上の OpenTelemetry Protocol(OTLP)を使用します。リレーをスキップしてセッションからコレクターに直接エクスポートするには、[ポリシーでコレクターを指定](#export-directly-to-your-collector) します。CLI が出力するメトリクスとイベントについては [使用状況の監視](/docs/ja/monitoring-usage) を参照してください。1236CLI はメトリクス、ログ、および有効な場合はトレースをゲートウェイに送信し、ゲートウェイはそれらをそのまま各設定済みの宛先にリレーします。エクスポートは HTTP 上の OpenTelemetry Protocol(OTLP)を使用します。リレーをスキップしてセッションからコレクターに直接エクスポートするには、[ポリシーでコレクターを指定](#export-directly-to-your-collector) します。CLI が出力するメトリクスとイベントについては [使用状況の監視](/docs/ja/monitoring-usage) を参照してください。

1237 1237 

1238`/login` でサインインしたセッションでは、CLI はゲートウェイが発行した JWT から読み取った認証済みユーザーのアイデンティティ(`user.id`、`user.email`、`user.groups` 属性)を各エクスポートに付与します。そのため、デベロッパー側の設定なしで、デベロッパーごとのコストと使用状況の帰属が機能します。1238`/login` でサインインしたセッションでは、CLI はゲートウェイが発行した JWT から読み取った認証済みユーザーのアイデンティティ(`user.id`、`user.email`、`user.groups` 属性)を各エクスポートに付与します。そのため、デベロッパー側の設定なしで、デベロッパーごとのコストと使用状況の帰属が機能します。デベロッパーがサインインする前に Claude Code がログに記録するイベントには、[このアイデンティティは含まれません](/docs/ja/monitoring-usage#standard-attributes)。

1239 1239 

1240ゲートウェイでサインインした [Claude Desktop](#claude-desktop-overlay) と Cowork のセッションは、テレメトリに `enduser.id` とともに `user.email` と `user.groups` を付与するため、`user.email` または `user.groups` に対する 1 つのクエリでターミナル、Desktop、Cowork の使用状況をカバーできます。`user.groups` はコンマ区切りの IdP グループリストです。1240ゲートウェイでサインインした [Claude Desktop](#claude-desktop-overlay) と Cowork のセッションは、テレメトリに `enduser.id` とともに `user.email` と `user.groups` を付与するため、`user.email` または `user.groups` に対する 1 つのクエリでターミナル、Desktop、Cowork の使用状況をカバーできます。`user.groups` はコンマ区切りの IdP グループリストです。

1241 1241 

Details

516 テレメトリ516 テレメトリ

517</h2>517</h2>

518 518 

519ゲートウェイは、マシンごとの OTEL 設定なしで、開発者ごとの使用状況メトリクスを提供します。Claude Code は OpenTelemetry(OTLP)メトリクス、ログ、およびオプトイン トレースを出力します。[使用状況の監視](/docs/ja/monitoring-usage)は、CLI が報告するすべてをカバーしています。`/login` を通じてサインインしたセッションでは、CLI は各エクスポートに認証された IdP ID 属性 `user.id`、`user.email`、および `user.groups` をスタンプし、使用状況は開発者ごとにロールアップされます。519ゲートウェイは、マシンごとの OTEL 設定なしで、開発者ごとの使用状況メトリクスを提供します。Claude Code は OpenTelemetry(OTLP)メトリクス、ログ、およびオプトイン トレースを出力します。[使用状況の監視](/docs/ja/monitoring-usage)は、CLI が報告するすべてをカバーしています。`/login` を通じてサインインしたセッションでは、CLI は認証された IdP ID 属性 `user.id`、`user.email`、および `user.groups` を[各エクスポートにスタンプ](/docs/ja/monitoring-usage#standard-attributes)するため、使用状況は開発者ごとにロールアップされます。

520 520 

521ゲートウェイ自体は認証された OTLP リレーです。[`telemetry.forward_to`](/docs/ja/claude-apps-gateway-config#telemetry) を `listen.public_url` と一緒に設定すると、OTEL エクスポーター設定をすべての接続クライアントにプッシュし、OTLP トラフィックを指定した各宛先に逐語的に転送します。各宛先はメトリクス、ログ、およびトレースに独立してオプトインでき、デフォルトはメトリクスのみです。[`telemetry` リファレンス](/docs/ja/claude-apps-gateway-config#telemetry)で、シグナルごとのフィールドとそれらの感度トレードオフを参照してください。ゲートウェイはテレメトリをバッファリング、集約、または保存しないため、データが到達する場所はコレクターのエクスポーター設定に完全に依存します。521ゲートウェイ自体は認証された OTLP リレーです。[`telemetry.forward_to`](/docs/ja/claude-apps-gateway-config#telemetry) を `listen.public_url` と一緒に設定すると、OTEL エクスポーター設定をすべての接続クライアントにプッシュし、OTLP トラフィックを指定した各宛先に逐語的に転送します。各宛先はメトリクス、ログ、およびトレースに独立してオプトインでき、デフォルトはメトリクスのみです。[`telemetry` リファレンス](/docs/ja/claude-apps-gateway-config#telemetry)で、シグナルごとのフィールドとそれらの感度トレードオフを参照してください。ゲートウェイはテレメトリをバッファリング、集約、または保存しないため、データが到達する場所はコレクターのエクスポーター設定に完全に依存します。

522 522 

Details

483[claude.ai/code](https://claude.ai/code) からセッションを再度開いて、新しい VM をプロビジョニングしてください。483[claude.ai/code](https://claude.ai/code) からセッションを再度開いて、新しい VM をプロビジョニングしてください。

484 484 

485* **復元されるもの**: 会話履歴485* **復元されるもの**: 会話履歴

486* **復元されないもの**: VM が回収されたときにまだ実行されていたバックグラウンド作業(サブエージェントやシェルコマンドなど)486* **復元されないもの**: VM が回収されたときにまだ実行されていたバックグラウンド作業(サブエージェントやシェルコマンドなど)、および[自己ペースの `/loop`](/docs/ja/scheduled-tasks#let-claude-choose-the-interval) の保留中のウェイクアップ。ループを再開するには、`/loop` を再度実行してください。

487 487 

488<h2 id="limitations">488<h2 id="limitations">

489 制限事項489 制限事項

Details

489* **Routines**: プロジェクトでスケジュール済みの作業を要求すると、Claude はそのプロジェクト内のスレッドとして実行され、その **Routines** タブに表示される [routine](/docs/ja/routines) を作成します。プロジェクト外で作成した Routines は独立して動作し続けます。489* **Routines**: プロジェクトでスケジュール済みの作業を要求すると、Claude はそのプロジェクト内のスレッドとして実行され、その **Routines** タブに表示される [routine](/docs/ja/routines) を作成します。プロジェクト外で作成した Routines は独立して動作し続けます。

490* **Remote Control**: [Remote Control](/docs/ja/remote-control) は claude.ai をマシン上で実行している Claude Code セッションに接続します。プロジェクトで Claude にコンピュータ上でスレッドを実行するよう要求すると、プロジェクトは [Remote Control を使用してそれを実行します](#run-a-thread-on-your-own-computer)。490* **Remote Control**: [Remote Control](/docs/ja/remote-control) は claude.ai をマシン上で実行している Claude Code セッションに接続します。プロジェクトで Claude にコンピュータ上でスレッドを実行するよう要求すると、プロジェクトは [Remote Control を使用してそれを実行します](#run-a-thread-on-your-own-computer)。

491* **Local sessions と agent view**: ターミナル、IDE、またはデスクトップアプリのローカル環境で自分で開始したセッションはプロジェクトに追加できません。[Agent view](/docs/ja/agent-view) は複数のローカルセッションを並べて追跡するための画面であり、各セッションを自分で開始してタスクを割り当てます。491* **Local sessions と agent view**: ターミナル、IDE、またはデスクトップアプリのローカル環境で自分で開始したセッションはプロジェクトに追加できません。[Agent view](/docs/ja/agent-view) は複数のローカルセッションを並べて追跡するための画面であり、各セッションを自分で開始してタスクを割り当てます。

492* **Worktrees**: [worktree](/docs/ja/worktrees) は各ローカルセッションにリポジトリの独自の作業コピーを提供するため、マシン上の並列セッションが互いに上書きしません。Cloud スレッドはそれらを必要としません。各スレッドはリポジトリを独自のクラウドサンドボックスにクローンし、独自のブランチで作業します。492* **worktree**: [worktree](/docs/ja/worktrees) は各ローカルセッションにリポジトリの独自の作業コピーを提供します。クラウドスレッドはそれらを必要としません。各スレッドはリポジトリを独自のクラウドサンドボックスにクローンし、独自のブランチで作業します。

493* **Agent teams**: [agent team](/docs/ja/agent-teams) は、マシン上またはクラウドセッション内で単一のタスク用にチームメイトセッションを開始し、そのタスクで終了する 1 つのセッションです。493* **Agent teams**: [agent team](/docs/ja/agent-teams) は、マシン上またはクラウドセッション内で単一のタスク用にチームメイトセッションを開始し、そのタスクで終了する 1 つのセッションです。

494* **Subagents**: [subagent](/docs/ja/sub-agents) は 1 つのセッション内で実行され、独自のコンテキストウィンドウで副次的なタスクを実行し、そのセッションに概要を返します。プロジェクトのスレッドは Claude が開始し、プロジェクト会話に報告する完全なセッションであり、スレッドは独自の副次的なタスク用に subagents を使用することができます。494* **Subagents**: [subagent](/docs/ja/sub-agents) は 1 つのセッション内で実行され、独自のコンテキストウィンドウで副次的なタスクを実行し、そのセッションに概要を返します。プロジェクトのスレッドは Claude が開始し、プロジェクト会話に報告する完全なセッションであり、スレッドは独自の副次的なタスク用に subagents を使用することができます。

495* **Projects in claude.ai chat and Cowork**: [以前の Projects エクスペリエンス](https://support.claude.com/en/articles/9517075-what-are-projects)。これはスレッドやコーディネーターなしで会話と参照ファイルをグループ化します。これらのプロジェクトは、再設計されたエクスペリエンスがそれらに到達するまで、今日のように動作し続けます。495* **Projects in claude.ai chat and Cowork**: [以前の Projects エクスペリエンス](https://support.claude.com/en/articles/9517075-what-are-projects)。これはスレッドやコーディネーターなしで会話と参照ファイルをグループ化します。これらのプロジェクトは、再設計されたエクスペリエンスがそれらに到達するまで、今日のように動作し続けます。

Details

28| `claude auth logout` | Anthropic アカウントからログアウト | `claude auth logout` |28| `claude auth logout` | Anthropic アカウントからログアウト | `claude auth logout` |

29| `claude auth status` | 認証ステータスを JSON として表示します。`--text` を使用して人間が読める形式で表示できます。ログイン済みの場合はコード 0 で終了し、ログインしていない場合は 1 で終了します。JSON には、CLI が使用する [設定ディレクトリ](/docs/ja/claude-directory) の名前を付ける `configDirectory` フィールドが含まれます。このフィールドには Claude Code v2.1.268 以降が必要です。JSON の `authMethod` フィールドは、`none`、`claude.ai`、`oauth_token`、`api_key`、`api_key_helper`、または `third_party` のいずれかです | `claude auth status` |29| `claude auth status` | 認証ステータスを JSON として表示します。`--text` を使用して人間が読める形式で表示できます。ログイン済みの場合はコード 0 で終了し、ログインしていない場合は 1 で終了します。JSON には、CLI が使用する [設定ディレクトリ](/docs/ja/claude-directory) の名前を付ける `configDirectory` フィールドが含まれます。このフィールドには Claude Code v2.1.268 以降が必要です。JSON の `authMethod` フィールドは、`none`、`claude.ai`、`oauth_token`、`api_key`、`api_key_helper`、または `third_party` のいずれかです | `claude auth status` |

30| `claude agents` | [エージェントビュー](/docs/ja/agent-view) を開いて、並列バックグラウンドセッションを監視およびディスパッチします。`--cwd <path>` を使用して、そのディレクトリの下で開始されたセッションのみを表示するか、`--json` を使用してアクティブなセッションを JSON 配列として出力してスクリプト作成用にします(`--json --all` は完了したバックグラウンドセッションも含みます)。`--permission-mode`、`--model`、`--effort`、または `--agent` を渡して、[ディスパッチされたセッションのデフォルト](/docs/ja/agent-view#permission-mode-model-and-effort) を設定します。トップレベルの `claude` コマンドと同様に `--settings`、`--add-dir`、`--plugin-dir`、および `--mcp-config` を受け入れます。エージェントビューを開くにはインタラクティブターミナルが必要です | `claude agents --json` |30| `claude agents` | [エージェントビュー](/docs/ja/agent-view) を開いて、並列バックグラウンドセッションを監視およびディスパッチします。`--cwd <path>` を使用して、そのディレクトリの下で開始されたセッションのみを表示するか、`--json` を使用してアクティブなセッションを JSON 配列として出力してスクリプト作成用にします(`--json --all` は完了したバックグラウンドセッションも含みます)。`--permission-mode`、`--model`、`--effort`、または `--agent` を渡して、[ディスパッチされたセッションのデフォルト](/docs/ja/agent-view#permission-mode-model-and-effort) を設定します。トップレベルの `claude` コマンドと同様に `--settings`、`--add-dir`、`--plugin-dir`、および `--mcp-config` を受け入れます。エージェントビューを開くにはインタラクティブターミナルが必要です | `claude agents --json` |

31| `claude attach <id\|name>` | このターミナルで [バックグラウンドセッション](/docs/ja/agent-view#manage-sessions-from-the-shell) に接続します。ID の代わりに実行中のセッション名の一部を渡すには、Claude Code v2.1.290 以降が必要です | `claude attach 7c5dcf5d` |31| `claude attach <id\|name>` | このターミナルで [バックグラウンドセッション](/docs/ja/agent-view#manage-sessions-from-the-shell) に接続します。ID の代わりにセッション名の一部を渡すには、Claude Code v2.1.290 以降が必要です | `claude attach 7c5dcf5d` |

32| `claude auto-mode defaults` | 組み込み [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) 分類器ルールを JSON として出力します。`claude auto-mode config` を使用して、設定が適用された有効な設定を確認してください。`--label <prefix>` は、ラベルがそのプレフィックスで始まるルールのみを出力します。大文字と小文字を区別しません。Claude Code v2.1.208 以降が必要です | `claude auto-mode defaults --label 'Git Destructive'` |32| `claude auto-mode defaults` | 組み込み [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) 分類器ルールを JSON として出力します。`claude auto-mode config` を使用して、設定が適用された有効な設定を確認してください。`--label <prefix>` は、ラベルがそのプレフィックスで始まるルールのみを出力します。大文字と小文字を区別しません。Claude Code v2.1.208 以降が必要です | `claude auto-mode defaults --label 'Git Destructive'` |

33| `claude auto-mode reset` | ユーザー設定ファイルから `autoMode` セクションを削除して、デフォルト [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) 設定を復元します。書き込み前に確認を求めます。`-y`/`--yes` を渡してプロンプトをスキップします。[管理設定](/docs/ja/server-managed-settings) または `--settings` フラグからのルールは引き続き適用されます。Claude Code v2.1.212 以降が必要です。[デフォルトと有効な設定を検査](/docs/ja/auto-mode-config#inspect-the-defaults-and-your-effective-config) を参照してください | `claude auto-mode reset --yes` |33| `claude auto-mode reset` | ユーザー設定ファイルから `autoMode` セクションを削除して、デフォルト [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) 設定を復元します。書き込み前に確認を求めます。`-y`/`--yes` を渡してプロンプトをスキップします。[管理設定](/docs/ja/server-managed-settings) または `--settings` フラグからのルールは引き続き適用されます。Claude Code v2.1.212 以降が必要です。[デフォルトと有効な設定を検査](/docs/ja/auto-mode-config#inspect-the-defaults-and-your-effective-config) を参照してください | `claude auto-mode reset --yes` |

34| `claude daemon logs` | バックグラウンドセッション [スーパーバイザー](/docs/ja/agent-view#the-supervisor-process) のログファイル `~/.claude/daemon.log` を追跡し、`Ctrl+C` を押すまで新しい行が届くたびに出力します | `claude daemon logs` |34| `claude daemon logs` | バックグラウンドセッション [スーパーバイザー](/docs/ja/agent-view#the-supervisor-process) のログファイル `~/.claude/daemon.log` を追跡し、`Ctrl+C` を押すまで新しい行が届くたびに出力します | `claude daemon logs` |


37| `claude daemon stop --any` | バックグラウンドセッション [スーパーバイザー](/docs/ja/agent-view#the-supervisor-process) とそれがホストするセッションを停止します。`--keep-workers` を渡して、バックグラウンドセッションを実行したままにして、次のスーパーバイザーが再接続できるようにします。`--any` はオンデマンドスーパーバイザーの停止を確認します。これはデフォルトです。これを使用して、[応答しないスーパーバイザー](/docs/ja/agent-view#agent-view-says-the-background-service-did-not-respond) から回復します | `claude daemon stop --any --keep-workers` |37| `claude daemon stop --any` | バックグラウンドセッション [スーパーバイザー](/docs/ja/agent-view#the-supervisor-process) とそれがホストするセッションを停止します。`--keep-workers` を渡して、バックグラウンドセッションを実行したままにして、次のスーパーバイザーが再接続できるようにします。`--any` はオンデマンドスーパーバイザーの停止を確認します。これはデフォルトです。これを使用して、[応答しないスーパーバイザー](/docs/ja/agent-view#agent-view-says-the-background-service-did-not-respond) から回復します | `claude daemon stop --any --keep-workers` |

38| `claude doctor` | セッションを開始せずにターミナルから読み取り専用のインストールおよび設定診断を出力します。インストール正常性、設定ファイル検証エラー、および Remote Control 適格性を含みます。セッション内のセットアップチェックアップで修正を適用することもできます。[`/doctor`](/docs/ja/commands#all-commands) を実行してください | `claude doctor` |38| `claude doctor` | セッションを開始せずにターミナルから読み取り専用のインストールおよび設定診断を出力します。インストール正常性、設定ファイル検証エラー、および Remote Control 適格性を含みます。セッション内のセットアップチェックアップで修正を適用することもできます。[`/doctor`](/docs/ja/commands#all-commands) を実行してください | `claude doctor` |

39| `claude import [source]` | 他のコーディングエージェントからの設定を Claude Code に取り込むために [`/import`](/docs/ja/commands#all-commands) を実行するインタラクティブセッションを開始します。コマンドと同じ `--dry-run` および `--yes` オプションを受け入れます。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または AWS 上の Claude Platform では利用できません。[機能フラグ取得](/docs/ja/env-vars#features-that-need-feature-flag-fetching) をオフにした場合も利用できません。Claude Code v2.1.213 以降が必要です | `claude import codex --dry-run` |39| `claude import [source]` | 他のコーディングエージェントからの設定を Claude Code に取り込むために [`/import`](/docs/ja/commands#all-commands) を実行するインタラクティブセッションを開始します。コマンドと同じ `--dry-run` および `--yes` オプションを受け入れます。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または AWS 上の Claude Platform では利用できません。[機能フラグ取得](/docs/ja/env-vars#features-that-need-feature-flag-fetching) をオフにした場合も利用できません。Claude Code v2.1.213 以降が必要です | `claude import codex --dry-run` |

40| `claude logs <id\|name>` | [バックグラウンドセッション](/docs/ja/agent-view#manage-sessions-from-the-shell) からの最近の出力を出力します。ID の代わりに実行中のセッション名の一部を渡すには、Claude Code v2.1.290 以降が必要です | `claude logs 7c5dcf5d` |40| `claude logs <id\|name>` | [バックグラウンドセッション](/docs/ja/agent-view#manage-sessions-from-the-shell) からの最近の出力を出力します。ID の代わりにセッション名の一部を渡すには、Claude Code v2.1.290 以降が必要です | `claude logs 7c5dcf5d` |

41| `claude mcp` | Model Context Protocol(MCP)サーバーを設定 | [Claude Code MCP ドキュメント](/docs/ja/mcp) を参照してください。 |41| `claude mcp` | Model Context Protocol(MCP)サーバーを設定 | [Claude Code MCP ドキュメント](/docs/ja/mcp) を参照してください。 |

42| `claude mcp login <name>` | 設定済み MCP サーバーの OAuth フローを実行します。インタラクティブな `/mcp` パネルを開きません。HTTP、SSE、および claude.ai コネクタサーバーで機能します。SSH 経由で `--no-browser` を追加して、ブラウザを開く代わりに認可 URL を出力し、リダイレクト URL をプロンプトに貼り付けます。[コマンドラインから認証](/docs/ja/mcp#authenticate-from-the-command-line) を参照してください | `claude mcp login sentry` |42| `claude mcp login <name>` | 設定済み MCP サーバーの OAuth フローを実行します。インタラクティブな `/mcp` パネルを開きません。HTTP、SSE、および claude.ai コネクタサーバーで機能します。SSH 経由で `--no-browser` を追加して、ブラウザを開く代わりに認可 URL を出力し、リダイレクト URL をプロンプトに貼り付けます。[コマンドラインから認証](/docs/ja/mcp#authenticate-from-the-command-line) を参照してください | `claude mcp login sentry` |

43| `claude mcp logout <name>` | MCP サーバーの保存された OAuth 認証情報をクリアします | `claude mcp logout sentry` |43| `claude mcp logout <name>` | MCP サーバーの保存された OAuth 認証情報をクリアします | `claude mcp logout sentry` |


106| `--input-format` | プリントモードの入力形式を指定します(オプション:`text`、`stream-json`) | `claude -p --output-format json --input-format stream-json` |106| `--input-format` | プリントモードの入力形式を指定します(オプション:`text`、`stream-json`) | `claude -p --output-format json --input-format stream-json` |

107| `--json-schema` | エージェントがワークフローを完了した後、JSON スキーマに一致する検証済み JSON 出力を取得します(プリントモードのみ)。[構造化出力](/docs/ja/agent-sdk/structured-outputs)を参照してください。Claude Code は無効なスキーマでエラーで終了し、`format` キーワードをクライアント側検証なしの注釈として受け入れます | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |107| `--json-schema` | エージェントがワークフローを完了した後、JSON スキーマに一致する検証済み JSON 出力を取得します(プリントモードのみ)。[構造化出力](/docs/ja/agent-sdk/structured-outputs)を参照してください。Claude Code は無効なスキーマでエラーで終了し、`format` キーワードをクライアント側検証なしの注釈として受け入れます | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

108| `--maintenance` | セッションの前に `maintenance` マッチャーで[セットアップフック](/docs/ja/hooks#setup)を実行します(プリントモードのみ) | `claude -p --maintenance "query"` |108| `--maintenance` | セッションの前に `maintenance` マッチャーで[セットアップフック](/docs/ja/hooks#setup)を実行します(プリントモードのみ) | `claude -p --maintenance "query"` |

109| `--max-budget-usd` | 停止する前に API 呼び出しに費やす最大金額(ドル)(プリントモードのみ)。Claude Code は上限を[クライアント側のコスト見積もり](/docs/ja/agent-sdk/cost-tracking#estimates-not-billing)と照合するため、実際の請求額と異なる場合があります。[サブエージェント](/docs/ja/sub-agents)による支出も上限にカウントされます。`--continue` または `--resume` で会話に戻るとき、[以前の実行から復元された](/docs/ja/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls)合計は上限にカウントされません。支出が上限に達すると、別のサブエージェントの生成は `Budget limit reached` で失敗し、Claude Code はまだ実行中のバックグラウンドサブエージェントを停止します。上限の適用動作には Claude Code v2.1.217 以降が必要です | `claude -p --max-budget-usd 5.00 "query"` |109| `--max-budget-usd` | API 呼び出しの推定支出がこの金額に達した時点で実行を停止します(プリントモードのみ)。Claude Code は上限を[クライアント側のコスト見積もり](/docs/ja/agent-sdk/cost-tracking#estimates-not-billing)と照合するため、実際の請求額と異なる場合があります。[サブエージェント](/docs/ja/sub-agents)による支出も上限にカウントされます。支出は上限を超えることがあるため、[余裕を持たせてください](/docs/ja/agent-sdk/agent-loop#budget-headroom)。`--continue` または `--resume` で会話に戻るとき、[以前の実行から復元された](/docs/ja/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls)合計は上限にカウントされません。支出が上限に達すると、別のサブエージェントの生成は `Budget limit reached` で失敗し、Claude Code はまだ実行中のバックグラウンドサブエージェントを停止します。上限の適用動作には Claude Code v2.1.217 以降が必要です | `claude -p --max-budget-usd 5.00 "query"` |

110| `--max-turns` | エージェンティックターンの数を制限します(プリントモードのみ)。制限に達するとエラーで終了します。デフォルトでは制限がありません。`--input-format stream-json` を使用する場合、制限がターンを終了するときにキューに入れられたメッセージは引き続きキューに入れられ、独自の制限で新しいターンを開始します | `claude -p --max-turns 3 "query"` |110| `--max-turns` | エージェンティックターンの数を制限します(プリントモードのみ)。制限に達するとエラーで終了します。デフォルトでは制限がありません。`--input-format stream-json` を使用する場合、制限がターンを終了するときにキューに入れられたメッセージは引き続きキューに入れられ、独自の制限で新しいターンを開始します | `claude -p --max-turns 3 "query"` |

111| `--mcp-config` | JSON ファイルまたは文字列から MCP サーバーを読み込みます(スペース区切り)。このフラグを `-p` で渡すと、Claude Code は最初のターンを実行する前に、まだ保留中のサーバーが接続されるまで待機します。デフォルトでは [`MCP_TIMEOUT`](/docs/ja/env-vars) スタートアップタイムアウト 30 秒まで待機します。[キャッシュされたツールリスト](/docs/ja/mcp#managing-your-servers)を持つサーバーは待機をスキップし、最初の使用時に接続します。待機には Claude Code v2.1.221 以降が必要です | `claude --mcp-config ./mcp.json` |111| `--mcp-config` | JSON ファイルまたは文字列から MCP サーバーを読み込みます(スペース区切り)。このフラグを `-p` で渡すと、Claude Code は最初のターンを実行する前に、まだ保留中のサーバーが接続されるまで待機します。デフォルトでは [`MCP_TIMEOUT`](/docs/ja/env-vars) スタートアップタイムアウト 30 秒まで待機します。[キャッシュされたツールリスト](/docs/ja/mcp#managing-your-servers)を持つサーバーは待機をスキップし、最初の使用時に接続します。待機には Claude Code v2.1.221 以降が必要です | `claude --mcp-config ./mcp.json` |

112| `--model` | `sonnet`、`opus`、`haiku`、`fable` などの[モデルエイリアス](/docs/ja/model-config#model-aliases)またはモデルの完全な名前を使用して、現在のセッションのモデルを設定します。[`model`](/docs/ja/settings-reference#model) 設定と [`ANTHROPIC_MODEL`](/docs/ja/model-config#environment-variables) をオーバーライドします | `claude --model claude-sonnet-5` |112| `--model` | `sonnet`、`opus`、`haiku`、`fable` などの[モデルエイリアス](/docs/ja/model-config#model-aliases)またはモデルの完全な名前を使用して、現在のセッションのモデルを設定します。[`model`](/docs/ja/settings-reference#model) 設定と [`ANTHROPIC_MODEL`](/docs/ja/model-config#environment-variables) をオーバーライドします | `claude --model claude-sonnet-5` |

Details

307| | クラウドセッションで利用可能 | 理由 |307| | クラウドセッションで利用可能 | 理由 |

308| :- | :- | :- |308| :- | :- | :- |

309| リポジトリの `CLAUDE.md` | はい | クローンの一部 |309| リポジトリの `CLAUDE.md` | はい | クローンの一部 |

310| リポジトリの `.claude/settings.json` hooks と権限ルール | はい、1 つのリポジトリを持つセッションの場合 | クローンの一部。複数のリポジトリを持つセッション([プロジェクト](/docs/ja/claude-projects#what-threads-pick-up-from-your-repositories)スレッドを含む)はクローンの上で開始され、それらを読み取りません |310| リポジトリの `.claude/settings.json` フックと権限ルール | はい、1 つのリポジトリを持つセッションの場合 | クローンの一部。複数のリポジトリを持つセッションについては、[読み取られる設定](/docs/ja/settings#settings-in-cloud-sessions)を参照してください |

311| リポジトリの `.mcp.json` MCP サーバー | はい、1 つのリポジトリを持つセッションの場合 | クローンの一部、セッションの作業ディレクトリから検出されます |311| リポジトリの `.mcp.json` MCP サーバー | はい、1 つのリポジトリを持つセッションの場合 | クローンの一部、セッションの作業ディレクトリから検出されます。セルフホスト環境については、[どのリポジトリの設定が適用されるか](/docs/ja/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories)を参照してください |

312| リポジトリの `.claude/rules/` | はい | クローンの一部 |312| リポジトリの `.claude/rules/` | はい | クローンの一部 |

313| リポジトリの `.claude/skills/`、`.claude/agents/`、`.claude/commands/` | はい | クローンの一部 |313| リポジトリの `.claude/skills/`、`.claude/agents/`、`.claude/commands/` | はい | クローンの一部 |

314| リポジトリの `.claude/settings.json` で宣言されたプラグインとマーケットプレイス | いいえ | クラウドセッションは、リポジトリが [`enabledPlugins`](/docs/ja/settings-reference#enabledplugins) で有効にするプラグインをインストールしません。これには [`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces) の下にリストされているマーケットプレイスのプラグインも含まれます |314| リポジトリの `.claude/settings.json` で宣言されたプラグインとマーケットプレイス | いいえ | クラウドセッションは、リポジトリが [`enabledPlugins`](/docs/ja/settings-reference#enabledplugins) で有効にするプラグインをインストールしません。これには [`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces) の下にリストされているマーケットプレイスのプラグインも含まれます |


575 575 

576SessionStart フックはクラウドでローカルと同じように動作しますが、これらの注意事項があります。576SessionStart フックはクラウドでローカルと同じように動作しますが、これらの注意事項があります。

577 577 

578* **セッションごとに 1 つのリポジトリ**:複数のリポジトリを持つセッションは、リポジトリの `.claude/settings.json` からフックをロードしないため、そこで定義した SessionStart フックは実行されません。これらのセッションの依存関係は [セットアップスクリプト](#setup-scripts) でインストールしてください。578* **セッションごとに 1 つのリポジトリ**:Anthropic ホスト環境では、複数のリポジトリを持つセッションはどのリポジトリの `.claude/settings.json` からもフックをロードしないため、そこで定義した SessionStart フックは実行されません。これらのセッションの依存関係は、代わりに [セットアップスクリプト](#setup-scripts) でインストールしてください。セルフホスト環境については、[どのリポジトリの設定が適用されるか](/docs/ja/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories) を参照してください。

579* **クラウドのみのスコープなし**:フックはローカルとクラウドセッションの両方で実行されます。ローカル実行をスキップするには、[依存関係インストールスクリプト](#install-dependencies-with-a-sessionstart-hook) のように `CLAUDE_CODE_REMOTE` 環境変数が `true` でない限り早期に終了します。579* **クラウドのみのスコープなし**:フックはローカルとクラウドセッションの両方で実行されます。ローカル実行をスキップするには、[依存関係インストールスクリプト](#install-dependencies-with-a-sessionstart-hook) のように `CLAUDE_CODE_REMOTE` 環境変数が `true` でない限り早期に終了します。

580* **ネットワークアクセスが必要**:インストールコマンドはパッケージレジストリに到達する必要があります。環境が **None** ネットワークアクセスを使用する場合、これらのフックは失敗します。**Trusted** の下の [デフォルト許可リスト](#default-allowed-domains) は npm、PyPI、RubyGems、crates.io をカバーします。580* **ネットワークアクセスが必要**:インストールコマンドはパッケージレジストリに到達する必要があります。環境が **None** ネットワークアクセスを使用する場合、これらのフックは失敗します。**Trusted** の下の [デフォルト許可リスト](#default-allowed-domains) は npm、PyPI、RubyGems、crates.io をカバーします。

581* **プロキシ互換性**:Anthropic ホスト環境では、すべての送信トラフィックは [セキュリティプロキシ](#security-proxy) を通じて渡されます。一部のパッケージマネージャーはこのプロキシで正しく機能しません。Bun は既知の例です。[セルフホスト環境](/docs/ja/self-hosted-environments-deploy#default-deny-egress) では、送信トラフィックは代わりに独自のネットワーク境界を通じて行きます。581* **プロキシ互換性**:Anthropic ホスト環境では、すべての送信トラフィックは [セキュリティプロキシ](#security-proxy) を通じて渡されます。一部のパッケージマネージャーはこのプロキシで正しく機能しません。Bun は既知の例です。[セルフホスト環境](/docs/ja/self-hosted-environments-deploy#default-deny-egress) では、送信トラフィックは代わりに独自のネットワーク境界を通じて行きます。

desktop.md +1 −1

Details

396 セッションで並列に作業する396 セッションで並列に作業する

397</h3>397</h3>

398 398 

399サイドバーの\*\*+ New session**をクリックするか、macOS で**Cmd+N**を、Windows で**Ctrl+N**を押して、複数のタスクを並列で作業します。**Ctrl+Tab**と**Ctrl+Shift+Tab**を押してサイドバーのセッションをサイクルします。Git リポジトリの場合、ブランチ名の横の**worktree\*\*オプションを選択して、[Git worktrees](/docs/ja/worktrees)を使用してセッションにプロジェクトの独立した分離コピーを与えるため、1 つのセッションの変更は、コミットするまで他のセッションに影響しません。399サイドバーの\*\*+ New session**をクリックするか、macOS で**Cmd+N**を、Windows で**Ctrl+N**を押して、複数のタスクを並列で作業します。**Ctrl+Tab**と**Ctrl+Shift+Tab**を押してサイドバーのセッションをサイクルします。Git リポジトリの場合、ブランチ名の横の**worktree\*\*オプションを選択すると、[Git worktrees](/docs/ja/worktrees)を使用して、セッションにプロジェクトの独立した分離コピーを与えることができます。

400 400 

4012 つのセッションを同時に表示するには、macOS で**Cmd**を、Windows で**Ctrl**を押しながらサイドバーのセッションをクリックします。セッションは既に開いているセッションの横の 2 番目のペインで開きます。分割がアクティブな間、別のサイドバーセッションをクリックすると、フォーカスがあるペインが置き換わります。macOS で\*\*Cmd+\\**を、Windows で**Ctrl+\\\*\*を押して、フォーカスされたペインを閉じて、単一のセッションに戻ります。4012 つのセッションを同時に表示するには、macOS で**Cmd**を、Windows で**Ctrl**を押しながらサイドバーのセッションをクリックします。セッションは既に開いているセッションの横の 2 番目のペインで開きます。分割がアクティブな間、別のサイドバーセッションをクリックすると、フォーカスがあるペインが置き換わります。macOS で\*\*Cmd+\\**を、Windows で**Ctrl+\\\*\*を押して、フォーカスされたペインを閉じて、単一のセッションに戻ります。

402 402 

env-vars.md +2 −2

Details

204| `CLAUDE_AFK_TIMEOUT_MS` | 未応答の [`AskUserQuestion`](/docs/ja/tools-reference) ダイアログが、ユーザーの応答なしで自動続行するまでのアイドル時間(ミリ秒)。自動続行はデフォルトでオフです。[`askUserQuestionTimeout`](/docs/ja/settings-reference#askuserquestiontimeout) 設定でオプトインします。この変数はデモや自動テスト用の上書きです。設定すると、その設定より優先され、設定が未設定または `never` の場合でも自動続行をオンにします。`0` を設定してもタイムアウトはオフになりません。ダイアログが即座に閉じます。[プロジェクト設定とローカル設定](/docs/ja/settings-reference#variables-claude-code-ignores-in-env)では無視されます。v2.1.200 より前は、自動続行はデフォルトでオンで、タイムアウトは `60000`(60 秒)でした。Claude Code v2.1.198 以降が必要です |204| `CLAUDE_AFK_TIMEOUT_MS` | 未応答の [`AskUserQuestion`](/docs/ja/tools-reference) ダイアログが、ユーザーの応答なしで自動続行するまでのアイドル時間(ミリ秒)。自動続行はデフォルトでオフです。[`askUserQuestionTimeout`](/docs/ja/settings-reference#askuserquestiontimeout) 設定でオプトインします。この変数はデモや自動テスト用の上書きです。設定すると、その設定より優先され、設定が未設定または `never` の場合でも自動続行をオンにします。`0` を設定してもタイムアウトはオフになりません。ダイアログが即座に閉じます。[プロジェクト設定とローカル設定](/docs/ja/settings-reference#variables-claude-code-ignores-in-env)では無視されます。v2.1.200 より前は、自動続行はデフォルトでオンで、タイムアウトは `60000`(60 秒)でした。Claude Code v2.1.198 以降が必要です |

205| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | `1` に設定すると、Explore や Plan などの組み込みの[サブエージェント](/docs/ja/sub-agents)タイプをすべて無効にします。非対話モード(`-p` フラグ)でのみ適用されます。白紙の状態から始めたい SDK ユーザーに便利です。これにより、Agent ツールの呼び出しで `subagent_type` が省略されたときに Claude Code が実行するサブエージェントである `general-purpose` も削除されます。そのような呼び出しは [`subagent_type is required`](/docs/ja/errors#subagent-type-is-required) で失敗します |205| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | `1` に設定すると、Explore や Plan などの組み込みの[サブエージェント](/docs/ja/sub-agents)タイプをすべて無効にします。非対話モード(`-p` フラグ)でのみ適用されます。白紙の状態から始めたい SDK ユーザーに便利です。これにより、Agent ツールの呼び出しで `subagent_type` が省略されたときに Claude Code が実行するサブエージェントである `general-purpose` も削除されます。そのような呼び出しは [`subagent_type is required`](/docs/ja/errors#subagent-type-is-required) で失敗します |

206| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | `1` に設定すると、SDK で作成された MCP サーバーのツール名に付く `mcp__<server>__` プレフィックスを省略します。ツールは元の名前を使用します。SDK での使用のみ |206| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | `1` に設定すると、SDK で作成された MCP サーバーのツール名に付く `mcp__<server>__` プレフィックスを省略します。ツールは元の名前を使用します。SDK での使用のみ |

207| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | サブエージェントの停滞タイムアウト(ミリ秒)。デフォルトは `600000`(10 分)です。ストリームウォッチドッグがオンのときに `CLAUDE_STREAM_IDLE_TIMEOUT_MS` を引き上げると、[低速または停滞した API レスポンスを処理する](/docs/ja/agent-sdk/typescript#handle-slow-or-stalled-api-responses)で説明されているように、デフォルトもそれに合わせて引き上げられます。タイマーはストリーミングの進捗イベントごとにリセットされます。ウィンドウ内に進捗がない場合、Claude Code はサブエージェントを中止し、停滞を親に報告します |207| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | サブエージェントのストールタイムアウト(ミリ秒)。Claude Code v2.1.286 以降では[ワークフローエージェント](/docs/ja/workflows#when-an-agent-stalls-and-restarts)にも適用されます。デフォルトは `600000`(10 分)です。ストリームウォッチドッグがオンの状態で `CLAUDE_STREAM_IDLE_TIMEOUT_MS` を引き上げると、[低速または停止した API レスポンスを処理する](/docs/ja/agent-sdk/typescript#handle-slow-or-stalled-api-responses)で説明されているように、デフォルトもそれに合わせて引き上げられます |

208| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | 自動圧縮がトリガーされる、自動圧縮ウィンドウに対する割合(1-100)を設定します。早めに圧縮するには `50` などの低い値を使用します。この変数でしきい値を引き上げることはできないため、デフォルトの割合を超える値は無視されます。[モデルのコンテキスト上限より前に圧縮する](/docs/ja/model-config#context-window-and-auto-compaction)セッションでのみ適用されます。メインの会話とサブエージェントの両方に適用されます |208| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | 自動圧縮がトリガーされる、自動圧縮ウィンドウに対する割合(1-100)を設定します。早めに圧縮するには `50` などの低い値を使用します。この変数でしきい値を引き上げることはできないため、デフォルトの割合を超える値は無視されます。[モデルのコンテキスト上限より前に圧縮する](/docs/ja/model-config#context-window-and-auto-compaction)セッションでのみ適用されます。メインの会話とサブエージェントの両方に適用されます |

209| `CLAUDE_AUTO_BACKGROUND_TASKS` | `1` に設定すると、長時間実行されるエージェントタスクの自動バックグラウンド化を強制的に有効にします。有効にすると、サブエージェントは約 2 分間実行された後にバックグラウンドに移動されます。Claude Code v2.1.212 以降では、非対話モードで[長時間の MCP ツール呼び出しの自動バックグラウンド化](/docs/ja/mcp#automatic-backgrounding-of-long-tool-calls)も有効にします |209| `CLAUDE_AUTO_BACKGROUND_TASKS` | `1` に設定すると、長時間実行されるエージェントタスクの自動バックグラウンド化を強制的に有効にします。有効にすると、サブエージェントは約 2 分間実行された後にバックグラウンドに移動されます。Claude Code v2.1.212 以降では、非対話モードで[長時間の MCP ツール呼び出しの自動バックグラウンド化](/docs/ja/mcp#automatic-backgrounding-of-long-tool-calls)も有効にします |

210| `CLAUDE_AX_PREPARK_MS` | [スクリーンリーダーモード](/docs/ja/accessibility)で、Claude Code が新しい行または変更された行を書き込む前に待機するミリ秒数。デフォルトは `0` で、Claude Code は待機しません。v2.1.287 より前は、デフォルトは `50` でした。Claude Code は待機時間の上限を `5000` とします。Claude Code v2.1.233 以降が必要です |210| `CLAUDE_AX_PREPARK_MS` | [スクリーンリーダーモード](/docs/ja/accessibility)で、Claude Code が新しい行または変更された行を書き込む前に待機するミリ秒数。デフォルトは `0` で、Claude Code は待機しません。v2.1.287 より前は、デフォルトは `50` でした。Claude Code は待機時間の上限を `5000` とします。Claude Code v2.1.233 以降が必要です |


378| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | ターンの途中で終了したセッションが再開時に自動的に続行されるための、最後のトランスクリプトメッセージの最大経過時間(ミリ秒)。最後のメッセージがこの制限より古い場合、Claude Code は `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` による自動再開と、その `CLAUDE_CODE_RESUME_PROMPT` 継続メッセージをスキップし、セッションはアイドル状態で開始されるため、明示的に続行することになります。未設定または `0` は制限なしを意味します。ただし、最後のリクエストが API エラーで失敗したターンは、そのエラーの発生から 6 時間未満の場合にのみ再開されます。正の値はそのようなターンを含むすべてのターンに制限を適用し、負の値や数値以外の値は 1 時間の制限を適用します。長時間実行されるエージェントの起動スクリプトでこれを設定すると、古いトランスクリプトに対して再起動したときに古いプロンプトが再実行されるのを防げます。対話セッションから会話を引き継いだ [エージェントビュー](/docs/ja/agent-view) セッションがクラッシュして再起動する場合は、Claude Code 自身が 1 時間の制限を設定します。Claude Code v2.1.211 以降が必要です |378| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | ターンの途中で終了したセッションが再開時に自動的に続行されるための、最後のトランスクリプトメッセージの最大経過時間(ミリ秒)。最後のメッセージがこの制限より古い場合、Claude Code は `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` による自動再開と、その `CLAUDE_CODE_RESUME_PROMPT` 継続メッセージをスキップし、セッションはアイドル状態で開始されるため、明示的に続行することになります。未設定または `0` は制限なしを意味します。ただし、最後のリクエストが API エラーで失敗したターンは、そのエラーの発生から 6 時間未満の場合にのみ再開されます。正の値はそのようなターンを含むすべてのターンに制限を適用し、負の値や数値以外の値は 1 時間の制限を適用します。長時間実行されるエージェントの起動スクリプトでこれを設定すると、古いトランスクリプトに対して再起動したときに古いプロンプトが再実行されるのを防げます。対話セッションから会話を引き継いだ [エージェントビュー](/docs/ja/agent-view) セッションがクラッシュして再起動する場合は、Claude Code 自身が 1 時間の制限を設定します。Claude Code v2.1.211 以降が必要です |

379| `CLAUDE_CODE_RESUME_PROMPT` | `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` が中断されたターンをプロンプトの再送信ではなく続行によって再開する場合、または `-p` で [延期されたツール呼び出し](/docs/ja/hooks#defer-a-tool-call-for-later) を再開する場合に、Claude Code が Claude に送信する継続メッセージを上書きします。デフォルトは `Continue from where you left off.` です。空文字列の場合はデフォルトが使用されます |379| `CLAUDE_CODE_RESUME_PROMPT` | `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` が中断されたターンをプロンプトの再送信ではなく続行によって再開する場合、または `-p` で [延期されたツール呼び出し](/docs/ja/hooks#defer-a-tool-call-for-later) を再開する場合に、Claude Code が Claude に送信する継続メッセージを上書きします。デフォルトは `Continue from where you left off.` です。空文字列の場合はデフォルトが使用されます |

380| `CLAUDE_CODE_RETRY_WATCHDOG` | eval ハーネス、CI ジョブ、リモートワーカーなどの無人セッションでは `1` に設定します。`429` および `529` の容量エラーを、`CLAUDE_CODE_MAX_RETRIES` 回の試行後に失敗させるのではなく、無期限に再試行します。標準速度のリクエストが、支出上限や使用クレジットの枯渇を報告する `429` を受け取った場合は、それがスケジュールでリセットされる [ゲートウェイの支出上限](/docs/ja/errors#spend-limit-reached) によるものであっても、Claude Code は即座に失敗します。v2.1.239 より前は、ウォッチドッグはこれらを無期限に再試行していました。fast mode のリクエストについては、[レート制限を処理する](/docs/ja/fast-mode#handle-rate-limits) を参照してください。ウォッチドッグは試行の間に最大 5 分間、またはレスポンスにレート制限のリセット時刻が含まれている場合は制限がリセットされるまでバックオフするため、使用制限に達したセッションは残りの時間枠が経過するまで待機します。v2.1.199 以降では、サーバーエラー、タイムアウト、接続の切断などのその他の一時的なエラーに対するデフォルトの再試行回数も 300(約 3 時間分のバックオフ)に引き上げ、`CLAUDE_CODE_MAX_RETRIES` を明示的に設定した場合の上限 15 を撤廃します。Claude Code v2.1.186 以降が必要です |380| `CLAUDE_CODE_RETRY_WATCHDOG` | eval ハーネス、CI ジョブ、リモートワーカーなどの無人セッションでは `1` に設定します。`429` および `529` の容量エラーを、`CLAUDE_CODE_MAX_RETRIES` 回の試行後に失敗させるのではなく、無期限に再試行します。標準速度のリクエストが、支出上限や使用クレジットの枯渇を報告する `429` を受け取った場合は、それがスケジュールでリセットされる [ゲートウェイの支出上限](/docs/ja/errors#spend-limit-reached) によるものであっても、Claude Code は即座に失敗します。v2.1.239 より前は、ウォッチドッグはこれらを無期限に再試行していました。fast mode のリクエストについては、[レート制限を処理する](/docs/ja/fast-mode#handle-rate-limits) を参照してください。ウォッチドッグは試行の間に最大 5 分間、またはレスポンスにレート制限のリセット時刻が含まれている場合は制限がリセットされるまでバックオフするため、使用制限に達したセッションは残りの時間枠が経過するまで待機します。v2.1.199 以降では、サーバーエラー、タイムアウト、接続の切断などのその他の一時的なエラーに対するデフォルトの再試行回数も 300(約 3 時間分のバックオフ)に引き上げ、`CLAUDE_CODE_MAX_RETRIES` を明示的に設定した場合の上限 15 を撤廃します。Claude Code v2.1.186 以降が必要です |

381| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | `CLAUDE_CODE_RETRY_WATCHDOG` が設定されている場合に、各 API リクエストが `429` および `529` エラーの解消を待つ最大時間(ミリ秒)。その時間を使い切ると、次に同様のエラーが発生した時点でリクエストが終了します。30 分なら `1800000` のように、正の整数を数字のみで指定します。未設定の場合、待機時間に制限はありません。Claude Code v2.1.295 以降が必要です |

381| `CLAUDE_CODE_SAFE_MODE` | `1` に設定すると、セーフモードで起動します。壊れた設定のトラブルシューティングのために、CLAUDE.md、スキル、プラグイン、フック、MCP サーバー、カスタムコマンドとエージェント、出力スタイル、ワークフロー、カスタムテーマ、カスタムキーボードショートカット、ステータスラインとファイル候補のコマンド、LSP サーバー、自動メモリを読み込みません。ポリシーで設定されたフック、ステータスライン、ファイル候補のコマンドを含め、管理設定のポリシーは引き続き適用されます。管理プラグイン、管理スキル、管理 CLAUDE.md、ポリシーで設定された MCP サーバーは適用されません。[`--safe-mode`](/docs/ja/cli-reference#cli-flags) を渡すのと同じです。直接起動された子プロセスはこの変数を継承します |382| `CLAUDE_CODE_SAFE_MODE` | `1` に設定すると、セーフモードで起動します。壊れた設定のトラブルシューティングのために、CLAUDE.md、スキル、プラグイン、フック、MCP サーバー、カスタムコマンドとエージェント、出力スタイル、ワークフロー、カスタムテーマ、カスタムキーボードショートカット、ステータスラインとファイル候補のコマンド、LSP サーバー、自動メモリを読み込みません。ポリシーで設定されたフック、ステータスライン、ファイル候補のコマンドを含め、管理設定のポリシーは引き続き適用されます。管理プラグイン、管理スキル、管理 CLAUDE.md、ポリシーで設定された MCP サーバーは適用されません。[`--safe-mode`](/docs/ja/cli-reference#cli-flags) を渡すのと同じです。直接起動された子プロセスはこの変数を継承します |

382| `CLAUDE_CODE_SCRIPT_CAPS` | `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` が設定されている場合に、特定のスクリプトをセッションごとに呼び出せる回数を制限する JSON オブジェクト。キーはコマンドテキストと照合される部分文字列で、値は整数の呼び出し制限です。たとえば、`{"deploy.sh": 2}` では `deploy.sh` を最大 2 回まで呼び出せます。照合は部分文字列ベースのため、`./scripts/deploy.sh $(evil)` のようなシェル展開のトリックも上限にカウントされます。`xargs` や `find -exec` による実行時のファンアウトは検出されません。これは多層防御のための制御です |383| `CLAUDE_CODE_SCRIPT_CAPS` | `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` が設定されている場合に、特定のスクリプトをセッションごとに呼び出せる回数を制限する JSON オブジェクト。キーはコマンドテキストと照合される部分文字列で、値は整数の呼び出し制限です。たとえば、`{"deploy.sh": 2}` では `deploy.sh` を最大 2 回まで呼び出せます。照合は部分文字列ベースのため、`./scripts/deploy.sh $(evil)` のようなシェル展開のトリックも上限にカウントされます。`xargs` や `find -exec` による実行時のファンアウトは検出されません。これは多層防御のための制御です |

383| `CLAUDE_CODE_SCROLL_SPEED` | [フルスクリーンレンダリング](/docs/ja/fullscreen#mouse-wheel-scrolling) でのマウスホイールのスクロール倍率を設定します。20 までの任意の正の値を受け付けます。ホイールイベントをすでに増幅するターミナルで、加速されたトラックパッドやホイールのスクロールを遅くするための `0.5` など、1 未満の小数値も指定できます。ターミナルが増幅せずにノッチごとに 1 つのホイールイベントを送信する場合、`vim` に合わせるには `3` に設定します。Claude Code が独自のスクロール処理を使用する JetBrains IDE のターミナルでは無視されます |384| `CLAUDE_CODE_SCROLL_SPEED` | [フルスクリーンレンダリング](/docs/ja/fullscreen#mouse-wheel-scrolling) でのマウスホイールのスクロール倍率を設定します。20 までの任意の正の値を受け付けます。ホイールイベントをすでに増幅するターミナルで、加速されたトラックパッドやホイールのスクロールを遅くするための `0.5` など、1 未満の小数値も指定できます。ターミナルが増幅せずにノッチごとに 1 つのホイールイベントを送信する場合、`vim` に合わせるには `3` に設定します。Claude Code が独自のスクロール処理を使用する JetBrains IDE のターミナルでは無視されます |


590* [アドバイザーツール](/docs/ja/advisor#requirements)を使用する591* [アドバイザーツール](/docs/ja/advisor#requirements)を使用する

591* [アーティファクトへのコメント](/docs/ja/artifacts#collect-comments-on-an-artifact)を読む、または返信する592* [アーティファクトへのコメント](/docs/ja/artifacts#collect-comments-on-an-artifact)を読む、または返信する

592* Claude に[別の組織の公開アーティファクト](/docs/ja/artifacts#read-an-artifact-shared-with-you)を読ませる593* Claude に[別の組織の公開アーティファクト](/docs/ja/artifacts#read-an-artifact-shared-with-you)を読ませる

593* `MCP_PROTOCOL_NEGOTIATION=auto` を設定しない限り、Claude Code に claude.ai コネクタサーバーに対して [MCP プロトコルリビジョン 2026-07-28](/docs/ja/mcp#mcp-client-runtimes) をプローブさせる

594* Git Bash がインストールされた Windows 上の claude.ai アカウントおよび Console アカウントで、[PowerShell ツール](/docs/ja/tools-reference#powershell-tool)をデフォルトで利用する。`CLAUDE_CODE_USE_POWERSHELL_TOOL=1` を設定しない限り、Claude Code はシェルコマンドを Git Bash 経由で実行します。Git Bash のない Windows では、このツールはオンのままです594* Git Bash がインストールされた Windows 上の claude.ai アカウントおよび Console アカウントで、[PowerShell ツール](/docs/ja/tools-reference#powershell-tool)をデフォルトで利用する。`CLAUDE_CODE_USE_POWERSHELL_TOOL=1` を設定しない限り、Claude Code はシェルコマンドを Git Bash 経由で実行します。Git Bash のない Windows では、このツールはオンのままです

595* [Claude が下書きするフィードバック](/docs/ja/tools-reference#sendfeedback-tool-behavior)を利用する。この機能は、Claude Code が取得したフラグによってオンにします595* [Claude が下書きするフィードバック](/docs/ja/tools-reference#sendfeedback-tool-behavior)を利用する。この機能は、Claude Code が取得したフラグによってオンにします

596* Claude に[大きな貼り付けを、入力したテキストではなく貼り付けたテキストとして扱わせる](/docs/ja/terminal-config#how-claude-treats-pasted-text)。`[Pasted text #N]` プレースホルダーの背後にあるコンテンツは、マークなしで Claude に届きます596* Claude に[大きな貼り付けを、入力したテキストではなく貼り付けたテキストとして扱わせる](/docs/ja/terminal-config#how-claude-treats-pasted-text)。`[Pasted text #N]` プレースホルダーの背後にあるコンテンツは、マークなしで Claude に届きます

errors.md +6 −4

Details

261| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [プラグインエラー](#claude-code-refuses-the-marketplace-name) |261| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [プラグインエラー](#claude-code-refuses-the-marketplace-name) |

262| `Marketplace "<name>" is already added from a different source` | [プラグインエラー](#marketplace-is-already-added-from-a-different-source) |262| `Marketplace "<name>" is already added from a different source` | [プラグインエラー](#marketplace-is-already-added-from-a-different-source) |

263| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [プラグインエラー](#marketplace-name-is-another-spelling-of-a-reserved-name) |263| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [プラグインエラー](#marketplace-name-is-another-spelling-of-a-reserved-name) |

264| `Cannot add marketplace "<name>": Claude Code cannot install plugins from a marketplace with this name` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#cannot-install-plugins-from-a-marketplace-with-this-name) |

264| `Marketplace "<name>" is added but ignored` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#marketplace-is-added-but-ignored) |265| `Marketplace "<name>" is added but ignored` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#marketplace-is-added-but-ignored) |

265| `Marketplace "<name>" is registered but was refused (see the debug log)` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#marketplace-is-added-but-ignored) |266| `Marketplace "<name>" is registered but was refused (see the debug log)` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#marketplace-is-added-but-ignored) |

266| `references ${user_config.*} in a shell-form command` | [プラグインエラー](#plugin-command-references-user-config) |267| `references ${user_config.*} in a shell-form command` | [プラグインエラー](#plugin-command-references-user-config) |


269| `Plugin archive integrity check failed` | [プラグインエラー](#plugin-archive-integrity-check-failed) |270| `Plugin archive integrity check failed` | [プラグインエラー](#plugin-archive-integrity-check-failed) |

270| `An npm plugin source must name a registry package` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |271| `An npm plugin source must name a registry package` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |

271| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |272| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |

273| `does not load (...), so Claude Code ignores the whole file` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#does-not-load-so-claude-code-ignores-the-whole-file) |

272| `path escapes plugin directory` | [プラグインエラー](#path-escapes-plugin-directory) |274| `path escapes plugin directory` | [プラグインエラー](#path-escapes-plugin-directory) |

273| `path could not be checked` | [プラグインエラー](#path-could-not-be-checked) |275| `path could not be checked` | [プラグインエラー](#path-could-not-be-checked) |

274| `its marketplace entry path does not stay inside the marketplace directory` | [プラグインエラー](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |276| `its marketplace entry path does not stay inside the marketplace directory` | [プラグインエラー](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |


279| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [プラグインエラー](#plugin-was-not-uninstalled) |281| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [プラグインエラー](#plugin-was-not-uninstalled) |

280| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [プラグインエラー](#plugin-was-not-uninstalled) |282| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [プラグインエラー](#plugin-was-not-uninstalled) |

281| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |283| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |

284| `Plugin directory does not exist: <path>` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#plugin-directory-does-not-exist) |

282| `Error: No such tool available: <tool name>` | [ツールエラー](#no-such-tool-available) |285| `Error: No such tool available: <tool name>` | [ツールエラー](#no-such-tool-available) |

283| `would be spawned with zero tools — refusing` | [ツールエラー](#agent-would-be-spawned-with-zero-tools) |286| `would be spawned with zero tools — refusing` | [ツールエラー](#agent-would-be-spawned-with-zero-tools) |

284| `File is covered by a Read deny rule in your permission settings` | [ツールエラー](#file-is-covered-by-a-read-deny-rule) |287| `File is covered by a Read deny rule in your permission settings` | [ツールエラー](#file-is-covered-by-a-read-deny-rule) |


386* Claude が思考を終えた後、テキストやツール呼び出しを開始する前に発生したサーバーエラーまたは過負荷レスポンス。その時点でのサーバーエラーについて、Claude Code は最大 2 回まで再試行します。v2.1.284 より前は、Claude Code はその時点でエラーとともにターンを終了していました。389* Claude が思考を終えた後、テキストやツール呼び出しを開始する前に発生したサーバーエラーまたは過負荷レスポンス。その時点でのサーバーエラーについて、Claude Code は最大 2 回まで再試行します。v2.1.284 より前は、Claude Code はその時点でエラーとともにターンを終了していました。

387* 切断された接続。Claude が思考を含む応答のいずれの部分も完了する前にリクエストの途中で接続が切断された場合、Claude Code は同じバックオフでリクエストを再発行し、一部のテキストがすでにストリーミングを開始していてもターンは継続します。Claude が思考を終えた後、テキストやツール呼び出しを開始する前に切断された場合は、代わりに Claude Code は短い間隔で最大 2 回までリクエストを再発行し、その時点で接続の切断が続く場合は `Connection lost before a response was produced` でターンを終了します。390* 切断された接続。Claude が思考を含む応答のいずれの部分も完了する前にリクエストの途中で接続が切断された場合、Claude Code は同じバックオフでリクエストを再発行し、一部のテキストがすでにストリーミングを開始していてもターンは継続します。Claude が思考を終えた後、テキストやツール呼び出しを開始する前に切断された場合は、代わりに Claude Code は短い間隔で最大 2 回までリクエストを再発行し、その時点で接続の切断が続く場合は `Connection lost before a response was produced` でターンを終了します。

388* リクエストの途中でコンピューターがスリープ状態になったことで切断されたと Claude Code が検出した接続。Claude Code はこれを上記のルールに従い切断された接続として扱います。再試行ラベルが具体的な理由を示すようになると `Connection lost while your computer was asleep` と表示され、Claude が思考を終えた後、テキストやツール呼び出しの前にターンが終了した場合、メッセージは `Your computer went to sleep before a response was produced` となります。391* リクエストの途中でコンピューターがスリープ状態になったことで切断されたと Claude Code が検出した接続。Claude Code はこれを上記のルールに従い切断された接続として扱います。再試行ラベルが具体的な理由を示すようになると `Connection lost while your computer was asleep` と表示され、Claude が思考を終えた後、テキストやツール呼び出しの前にターンが終了した場合、メッセージは `Your computer went to sleep before a response was produced` となります。

389* 停止した応答ストリーム。レスポンスヘッダーは届いたものの Claude の応答がまったく届いていない場合、または Claude が思考を終えたもののテキストやツール呼び出しを開始していない場合です。Claude Code は停止した接続を中断し、上記の 10 回の試行回数とは別に、最大 1 回だけリクエストを再発行します。Claude が思考を終えた後、テキストやツール呼び出しの前に応答が 2 回目に停止した場合、Claude Code は `The response stalled before a response was produced` でターンを終了します。392* 停止した応答ストリーム。レスポンスヘッダーは届いたものの Claude の応答がまったく届いていない場合、または Claude が思考を終えたもののテキストやツール呼び出しを開始していない場合です。Claude Code は停止した接続を中断し、最大 1 回だけリクエストを再度ストリーミングします。Claude が思考を終えた後、テキストやツール呼び出しの前に応答が 2 回目に停止した場合、Claude Code は `The response stalled before a response was produced` でターンを終了します。

390* [ファーストバイトの期限が適用される](/docs/ja/network-config#streaming-idle-watchdogs)接続で、API がレスポンスヘッダーを返さないストリーミングリクエスト。Claude Code は期限の時点でそれを中断し、再試行回数の範囲内で、モデルリクエストごとに最大 1 回だけ再送信します。その試行にも応答がない場合は、[No response from API](#no-response-from-api) でターンを終了します。その他の接続では、リクエストは `API_TIMEOUT_MS` まで待機します。`CLAUDE_CODE_RETRY_WATCHDOG` を設定している場合、1 回の再試行という上限は適用されません。393* [ファーストバイトの期限が適用される](/docs/ja/network-config#streaming-idle-watchdogs)接続で、API がレスポンスヘッダーを返さないストリーミングリクエスト。Claude Code は期限の時点でそれを中断し、再試行回数の範囲内で、モデルリクエストごとに最大 1 回だけ再送信します。その試行にも応答がない場合は、[No response from API](#no-response-from-api) でターンを終了します。その他の接続では、リクエストは `API_TIMEOUT_MS` まで待機します。`CLAUDE_CODE_RETRY_WATCHDOG` を設定している場合、1 回の再試行という上限は適用されません。

391* Claude が思考を終えるか、テキストやツール呼び出しを開始する前に、API の出力コンテンツフィルターによって停止されたストリーミングレスポンス。Claude Code は再試行回数の範囲内でリクエストを 1 回再送信し、フィルターが 2 回目の応答も停止した場合は [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy) を表示します。394* Claude が思考を終えるか、テキストやツール呼び出しを開始する前に、API の出力コンテンツフィルターによって停止されたストリーミングレスポンス。Claude Code は再試行回数の範囲内でリクエストを 1 回再送信し、フィルターが 2 回目の応答も停止した場合は [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy) を表示します。

392* 一時的な 429 スロットリング。ただし、ゲートウェイの支出上限による `429` はスロットリングではないため含まれません。[Spend limit reached](#spend-limit-reached) を参照してください。395* 一時的な 429 スロットリング。ただし、ゲートウェイの支出上限による `429` はスロットリングではないため含まれません。[Spend limit reached](#spend-limit-reached) を参照してください。


4064 マーケットプレイスは既に別のソースから追加されています4067 マーケットプレイスは既に別のソースから追加されています

4065</h3>4068</h3>

4066 4069 

4067[`/plugin install <plugin> --marketplace <source>`](/docs/ja/plugins/install#add-a-marketplace-and-install-in-one-command)を通じてマーケットプレイスの追加を確認し、そのソースから Claude Code が取得したカタログは、既に別のソースから追加したマーケットプレイスと同じ名前で自分自身に名前を付けます。Claude Code は既存のマーケットプレイスを保持し、それを置き換えず、プラグインはインストールされません。4070セッション内またはシェルから、[インストールコマンドの `--marketplace <source>`](/docs/ja/plugins/install#add-a-marketplace-and-install-in-one-command) で新しいマーケットプレイスソースを指定しました。Claude Code がそのソースから取得したカタログは、既に別のソースから追加したマーケットプレイスと同じ名前を持っています。Claude Code は既存のマーケットプレイスを置き換えずに保持し、プラグインはインストールされません。

4068 4071 

4069```text theme={null}4072```text theme={null}

4070Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.4073Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.


4817 This session has no saved transcript4820 This session has no saved transcript

4818</h3>4821</h3>

4819 4822 

4820停止した[バックグラウンドセッション](/docs/ja/agent-view)に接続しました。このセッションは `←` または `/background` で別の会話からバックグラウンドに移動され、最初の応答が完了する前に停止しました。その最初の応答が完了するまで、会話はバックグラウンドに移動した元のセッションにのみ存在するため、`claude attach` は停止したセッションの開始を拒否し、同じセッション ID で空白の会話を開始しません。メッセージは、このセッションの `claude respawn` コマンドで終わります:4823`←` または `/background` で[バックグラウンドに移動](/docs/ja/agent-view#from-inside-a-session)し、自身のターンを実行する前に停止したセッションに接続しました。Claude Code は移動元の会話を見つけられなかったため、このセッションには再開するものがありません。メッセージは、このセッションの `claude respawn` コマンドで終わります:

4821 4824 

4822```text theme={null}4825```text theme={null}

4823This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.4826This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.


4827 4830 

4828**対処方法:**4831**対処方法:**

4829 4832 

4830* バックグラウンドに移動した会話は無傷です:[`claude --resume`](/docs/ja/sessions) で再開するか、そこで作業を続けます

4831* 停止したセッションを新しく開始するには、メッセージの ID で `claude respawn <id>` を実行するか、エージェントビューの行で `Enter` を 2 回押します4833* 停止したセッションを新しく開始するには、メッセージの ID で `claude respawn <id>` を実行するか、エージェントビューの行で `Enter` を 2 回押します

4832* セッションが応答を完了し、v2.1.214 より前のバージョンでこの拒否が表示される場合、`~/.claude/projects` の読み取り不可フォルダがトランスクリプトスキャンが保存された会話を見つけるのを妨げる可能性があります。v2.1.214 以降にアップグレードしてください。これはスキャン中に読み取り不可フォルダを許容します4834* セッションが応答を完了し、v2.1.214 より前のバージョンでこの拒否が表示される場合、`~/.claude/projects` の読み取り不可フォルダがトランスクリプトスキャンが保存された会話を見つけるのを妨げる可能性があります。v2.1.214 以降にアップグレードしてください。これはスキャン中に読み取り不可フォルダを許容します

4833 4835 

glossary.md +1 −1

Details

511 Worktree isolation511 Worktree isolation

512</h3>512</h3>

513 513 

514Claude を `.claude/worktrees/` の別の git worktree で実行する分離モード。`-w` フラグまたは subagent 設定の `isolation: worktree` で有効にされます。変更は別のブランチの別のディレクトリに留まるため、並列エージェントはお互いのファイルを上書きしません。514Claude を `.claude/worktrees/` の別の git worktree で実行する分離モード。`-w` フラグまたはサブエージェント設定の `isolation: worktree` で有効にされます。変更は別のディレクトリの別のブランチに留まるため、並列エージェントはそれぞれ自分用のファイルのコピーを編集します。

515 515 

516詳細情報: [git worktrees を使用した並列セッションの実行](/docs/ja/worktrees)516詳細情報: [git worktrees を使用した並列セッションの実行](/docs/ja/worktrees)

517 517 

goal.md +1 −1

Details

127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

128```128```

129 129 

130デフォルトのテキスト出力では、実行が終了するまで何も出力されないため、多くのターンを実行するゴールは停止しているように見える場合があります。`--output-format stream-json --verbose` を追加して、ループの実行時に各メッセージを出力します。130デフォルトのテキスト出力では、ループが終了したときに Claude の最終応答が出力されるため、多くのターンを実行するゴールは停止しているように見える場合があります。`--output-format stream-json --verbose` を追加して、ループの実行時に各メッセージを出力します。

131 131 

132Ctrl+C でプロセスを中断して、解決前に非対話的なゴールを停止します。132Ctrl+C でプロセスを中断して、解決前に非対話的なゴールを停止します。

133 133 

headless.md +12 −10

Details

35Claude Code は成功時にコード 0 で終了し、実行が失敗した場合は 0 以外のコードで終了するため、スクリプトは終了ステータスで分岐できます。無効なフラグを渡すと、Claude Code は実行開始前にエラーを stderr に報告します。実行内で認証の欠落など障害が発生した場合、Claude Code は障害を stdout の結果として出力します。35Claude Code は成功時にコード 0 で終了し、実行が失敗した場合は 0 以外のコードで終了するため、スクリプトは終了ステータスで分岐できます。無効なフラグを渡すと、Claude Code は実行開始前にエラーを stderr に報告します。実行内で認証の欠落など障害が発生した場合、Claude Code は障害を stdout の結果として出力します。

36 36 

37<h3 id="start-faster-with-bare-mode">37<h3 id="start-faster-with-bare-mode">

38 ベアモードで高速に開始する38 bare モードで高速に開始する

39</h3>39</h3>

40 40 

41`--bare` を追加して、hooks、skills、カスタムコマンド、[subagents](/docs/ja/sub-agents)、インストール済みプラグイン、MCP サーバー、自動メモリ、CLAUDE.md の自動検出をスキップすることで、起動時間を短縮します。これがない場合、`claude -p` は対話的セッションと同じ [コンテキスト](/docs/ja/how-claude-code-works#the-context-window) を読み込みます。これには、作業ディレクトリまたは `~/.claude` で設定されたすべてが含まれます。41`--bare` を追加して、フック、スキル、カスタムコマンド、[サブエージェント](/docs/ja/sub-agents)、インストール済みプラグイン、MCP サーバー、自動メモリ、CLAUDE.md の自動検出をスキップすることで、起動時間を短縮します。これがない場合、`claude -p` は対話的セッションと同じ [コンテキスト](/docs/ja/how-claude-code-works#the-context-window) を読み込みます。これには、作業ディレクトリまたは `~/.claude` で設定されたすべてが含まれます。

42 42 

43ベアモードは、すべてのマシンで同じ結果が必要な CI とスクリプトに役立ちます。チームメイトの `~/.claude` のフック、またはプロジェクトの `.mcp.json` の MCP サーバーは実行されません。ベアモードはそれらを読み込まないためです。`--add-dir` で指定するディレクトリは部分的な例外です。ベアモードはその `.claude/skills/` フォルダから skills を読み込みますが、その `.claude/commands/` と `.claude/agents/` フォルダはスキップします。[追加ディレクトリからの Skills](/docs/ja/skills#skills-from-additional-directories) は、何が読み込まれ、何が読み込まれないかについて説明しています。43bare モードは、すべてのマシンで同じ結果が必要な CI とスクリプトに役立ちます。チームメイトの `~/.claude` のフック、またはプロジェクトの `.mcp.json` の MCP サーバーは実行されません。bare モードはそれらを読み込まないためです。`--add-dir` で指定するディレクトリは部分的な例外です。bare モードはその `.claude/skills/` フォルダからスキルを読み込みますが、その `.claude/commands/` と `.claude/agents/` フォルダはスキップします。[追加ディレクトリからのスキル](/docs/ja/skills#skills-from-additional-directories) は、何が読み込まれ、何が読み込まれないかについて説明しています。

44 44 

45`--bare` がない場合、`-p` セッションはプロジェクトの `.claude/settings.json` のフックを実行し、その `.mcp.json` のサーバーに接続します。これは、信頼したことのないフォルダでも同様です。`-p` セッションはワークスペース信頼ダイアログもサーバーごとの承認プロンプトも表示しません。[フォルダを信頼する前に実行されるもの](/docs/ja/permissions#what-runs-before-you-trust-a-folder) は、`-p` の下での各種リポジトリコンテンツと、それを除外する方法について説明しています。45`--bare` がない場合、`-p` セッションはプロジェクトの `.claude/settings.json` のフックを実行し、その `.mcp.json` のサーバーに接続します。これは、信頼したことのないフォルダでも同様です。`-p` セッションはワークスペース信頼ダイアログもサーバーごとの承認プロンプトも表示しません。[フォルダを信頼する前に実行されるもの](/docs/ja/permissions#what-runs-before-you-trust-a-folder) は、`-p` の下での各種リポジトリコンテンツと、それを除外する方法について説明しています。

46 46 

47この例は、ベアモードで 1 回限りの要約タスクを実行し、Read ツールを事前承認して、権限プロンプトなしで呼び出しが完了するようにします。ベアモードはサブスクリプションログインを使用しないため、実行前に `ANTHROPIC_API_KEY` を設定してください。47この例は、bare モードで 1 回限りの要約タスクを実行し、Read ツールを事前承認して、権限プロンプトなしで呼び出しが完了するようにします。bare モードはサブスクリプションログインを使用しないため、実行前に `ANTHROPIC_API_KEY` を設定してください。

48 48 

49```bash theme={null}49```bash theme={null}

50claude --bare -p "Summarize README.md" --allowedTools "Read"50claude --bare -p "Summarize README.md" --allowedTools "Read"

51```51```

52 52 

53ベアモードでは、Claude Code は OAuth 認証情報またはシステムキーチェーンを読み込みません。Anthropic API の場合、環境で `ANTHROPIC_API_KEY` を設定します。[Claude Console](https://platform.claude.com) で作成されたキーを使用するか、`--settings` JSON で `apiKeyHelper` を指定します。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry は、通常どおり独自のプロバイダー認証情報を読み込み続けます。53bare モードでは、Claude Code は OAuth 認証情報またはシステムキーチェーンを読み込みません。Anthropic API の場合、環境で `ANTHROPIC_API_KEY` を設定します。[Claude Console](https://platform.claude.com) で作成されたキーを使用するか、`--settings` JSON で `apiKeyHelper` を指定します。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry は、通常どおり独自のプロバイダー認証情報を読み込み続けます。

54 54 

55ベアモードでは、Claude は Bash、ファイル読み取り、ファイル編集ツールにアクセスできます。フラグで必要なコンテキストを渡します。55bare モードでは、Claude は Bash、ファイル読み取り、ファイル編集ツールにアクセスできます。フラグで必要なコンテキストを渡します。

56 56 

57| 読み込むもの | 使用 |57| 読み込むもの | 使用 |

58| - | - |58| - | - |


84 84 

85実行は、バックグラウンドコマンド、サブエージェントとワークフロー、Monitor ウォッチ、保留中の `/loop` ウェイクアップなどのバックグラウンド作業を待機します。85実行は、バックグラウンドコマンド、サブエージェントとワークフロー、Monitor ウォッチ、保留中の `/loop` ウェイクアップなどのバックグラウンド作業を待機します。

86 86 

87* **[バックグラウンドコマンド](/docs/ja/tools-reference#background-commands)**: メイン会話が開始したコマンド(例えば開発サーバーやウォッチビルド)の場合、実行はコマンドが終了するか [時間制限](/docs/ja/tools-reference#time-limit-for-background-commands) に達するまで待機します。その後、Claude はその結果を受けてもう 1 ターン実行し、そのターンの結果が実行の最後の結果となります。これが `text` および `json` 出力で出力される結果です。コマンドの実行中は、10 分の上限によって待機が終了することはありません。87* **[バックグラウンドコマンド](/docs/ja/tools-reference#background-commands)**: メイン会話が開始したコマンド(例えば開発サーバーやウォッチビルド)の場合、実行はコマンドが終了するか [時間制限](/docs/ja/tools-reference#time-limit-for-background-commands) に達するまで待機します。その後、Claude はその結果を受けてもう 1 ターン実行します。コマンドの実行中は、10 分の上限によって待機が終了することはありません。

88* **バックグラウンドの [サブエージェント](/docs/ja/sub-agents) とワークフロー**: その結果は最終出力の一部であるため、実行はその作業が完了するまで開いたままになります。88* **バックグラウンドの [サブエージェント](/docs/ja/sub-agents) とワークフロー**: その結果は最終出力の一部であるため、実行はその作業が完了するまで開いたままになります。

89* **[Monitor](/docs/ja/tools-reference#monitor-tool) ウォッチ**: 実行は、ウォッチがタイムアウトするか 10 分の上限が待機を終了するか、どちらか先に来た方まで待機します。待機中、Claude はウォッチが報告することに応答し続けます。デフォルトでは、ウォッチは Claude が開始してから 5 分後にタイムアウトします。89* **[Monitor](/docs/ja/tools-reference#monitor-tool) ウォッチ**: 実行は、ウォッチがタイムアウトするか 10 分の上限が待機を終了するか、どちらか先に来た方まで待機します。待機中、Claude はウォッチが報告することに応答し続けます。デフォルトでは、ウォッチは Claude が開始してから 5 分後にタイムアウトします。

90* **保留中のウェイクアップ**: プロンプトを `--input-format stream-json` ではなくテキストとして渡した実行で、Claude が [自己ペースの `/loop` ウェイクアップ](/docs/ja/scheduled-tasks#let-claude-choose-the-interval) をスケジュールした場合、実行は各ウェイクアップが発生するのを待ち、[ループが終了する](/docs/ja/scheduled-tasks#stop-a-loop) までその反復を実行します。これは 10 分の上限を超えても続きます。90* **保留中のウェイクアップ**: プロンプトを `--input-format stream-json` ではなくテキストとして渡した実行で、Claude が [自己ペースの `/loop` ウェイクアップ](/docs/ja/scheduled-tasks#let-claude-choose-the-interval) をスケジュールした場合、実行は各ウェイクアップが発生するのを待ち、[ループが終了する](/docs/ja/scheduled-tasks#stop-a-loop) までその反復を実行します。これは 10 分の上限を超えても続きます。

91 91 

92実行が [`--max-budget-usd`](/docs/ja/cli-reference#cli-flags) の上限に達した場合、Claude Code は待機せずに残りのバックグラウンド作業を停止します。92実行が [`--max-budget-usd`](/docs/ja/cli-reference#cli-flags) の上限に達した場合、Claude Code は待機せずに残りのバックグラウンド作業を停止します。

93 93 

94バックグラウンド作業によって別のターンが開始された場合、デフォルトの `text` 出力では各ターンの結果が出力され、`json` 出力では最後のターンの結果が出力されます。v2.1.295 より前は、`text` 出力でも最後のターンの結果のみが出力されていました。

95 

94<h3 id="stop-a-run-with-sigterm">96<h3 id="stop-a-run-with-sigterm">

95 SIGTERM で実行を停止する97 SIGTERM で実行を停止する

96</h3>98</h3>

97 99 

98`claude -p` 実行を SIGTERM で停止した場合(例えば、`kill` またはプロセススーパーバイザーから)、Claude Code はコード 143 で終了します。Claude Code は進行中のターンを未完了のままにし、そのための結果を記録しません。ターンを終了するには、SIGINT を送信するか、Agent SDK の `interrupt()` を呼び出してから、プロセスを停止します。100`claude -p` 実行を SIGTERM で停止した場合(例えば、`kill` またはプロセススーパーバイザーから)、Claude Code はコード 143 で終了します。Claude Code は進行中のターンを未完了のままにし、そのための結果を記録しません。ターンを終了するには、SIGINT を送信するか、Agent SDK の `interrupt()` を呼び出してから、プロセスを停止します。

99 101 

100SIGTERM では、Claude Code はまだ実行中の Bash コマンドのプロセスツリーを終了します。Claude Code は [`SessionEnd` hooks](/docs/ja/hooks#sessionend) を実行して終了します。終了中、Claude Code は新しいツール呼び出しを開始せず、新しいモデルリクエストを送信せず、`SessionEnd` 以外のフックを実行しません。実行が権限プロンプトへの回答を待機しているコマンドの途中にあった場合、Claude Code はそのステップを次のように処理します。102SIGTERM では、Claude Code はまだ実行中の Bash コマンドのプロセスツリーを終了します。Claude Code は [`SessionEnd` フック](/docs/ja/hooks#sessionend) を実行して終了します。終了中、Claude Code は新しいツール呼び出しを開始せず、新しいモデルリクエストを送信せず、`SessionEnd` 以外のフックを実行しません。シグナルを受け取ったときに実行がコマンドの途中にあった場合、または権限プロンプトへの回答を待機していた場合、Claude Code はそのステップを次のように処理します。

101 103 

102* **コマンドを実行中**: Claude Code はコマンドをセッションで強制終了として記録します。104* **コマンドを実行中**: Claude Code はコマンドをセッションで強制終了として記録します。

103* **権限プロンプトへの回答を待機中**: SIGTERM をプロセスに送信した場合、Claude Code はプロンプトを未回答のままにします。プログラムが Agent SDK を通じてセッションを閉じた場合、SDK はシグナルを送信する前に Claude Code の入力を終了し、Claude Code は入力が終了するとすぐにプロンプトをキャンセルします。105* **権限プロンプトへの回答を待機中**: SIGTERM をプロセスに送信した場合、Claude Code はプロンプトを未回答のままにします。プログラムが Agent SDK を通じてセッションを閉じた場合、SDK はシグナルを送信する前に Claude Code の入力を終了し、Claude Code は入力が終了するとすぐにプロンプトをキャンセルします。


262| `type` | `"system"` | メッセージタイプ |264| `type` | `"system"` | メッセージタイプ |

263| `subtype` | `"api_retry"` | これを再試行イベントとして識別 |265| `subtype` | `"api_retry"` | これを再試行イベントとして識別 |

264| `attempt` | integer | 現在の試行番号(1 から開始) |266| `attempt` | integer | 現在の試行番号(1 から開始) |

265| `max_retries` | integer | このエラーの原因に許可される再試行の合計(セッション全体の予算より少ない場合がある) |267| `max_retries` | integer | この失敗の原因に対して許可される再試行の合計 |

266| `retry_delay_ms` | integer | 次の試行までのミリ秒 |268| `retry_delay_ms` | integer | 次の試行までのミリ秒 |

267| `error_status` | integer または null | 失敗した試行の HTTP ステータスコード、または試行が API から HTTP レスポンスを受け取らなかった場合は `null` |269| `error_status` | integer または null | 失敗した試行の HTTP ステータスコード、または試行が API から HTTP レスポンスを受け取らなかった場合は `null` |

268| `no_response` | object、optional | 失敗した試行が [no response headers in time](/docs/ja/errors#no-response-from-api) を受け取った場合にのみ存在します。`waited_ms` はその試行が待機した時間で、`retry_wait_ms` は再試行が待機する時間です。これらのイベントでは、`max_retries` はセッション全体の予算ではなく、この原因が通常受け取る 1 回の再試行を反映しています。Claude Code v2.1.261 以降が必要です |270| `no_response` | object、optional | 失敗した試行が[時間内にレスポンスヘッダーを受け取らなかった](/docs/ja/errors#no-response-from-api)場合にのみ存在します。`waited_ms` はその試行が待機した時間で、`retry_wait_ms` は再試行が待機する時間です。Claude Code v2.1.261 以降が必要です |

269| `error` | string | エラーカテゴリ:`authentication_failed`、`oauth_org_not_allowed`、`account_on_hold`、`billing_error`、`rate_limit`、`overloaded`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`cloud_credential_error`、または `unknown` |271| `error` | string | エラーカテゴリ:`authentication_failed`、`oauth_org_not_allowed`、`account_on_hold`、`billing_error`、`rate_limit`、`overloaded`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`cloud_credential_error`、または `unknown` |

270| `uuid` | string | 一意のイベント識別子 |272| `uuid` | string | 一意のイベント識別子 |

271| `session_id` | string | イベントが属するセッション |273| `session_id` | string | イベントが属するセッション |

hooks.md +124 −35

Details

476| `async` | いいえ | `true` の場合、ブロックせずにバックグラウンドで実行されます。[バックグラウンドでフックを実行](#run-hooks-in-the-background)を参照してください |476| `async` | いいえ | `true` の場合、ブロックせずにバックグラウンドで実行されます。[バックグラウンドでフックを実行](#run-hooks-in-the-background)を参照してください |

477| `asyncRewake` | いいえ | `true` の場合、バックグラウンドで実行され、終了コード 2 で Claude を起動します。フックの stderr、または stderr が空の場合は stdout が [システムリマインダー](/docs/ja/glossary#system-reminder)として Claude に表示されるため、Claude は長時間実行されるバックグラウンドの失敗に対応できます |477| `asyncRewake` | いいえ | `true` の場合、バックグラウンドで実行され、終了コード 2 で Claude を起動します。フックの stderr、または stderr が空の場合は stdout が [システムリマインダー](/docs/ja/glossary#system-reminder)として Claude に表示されるため、Claude は長時間実行されるバックグラウンドの失敗に対応できます |

478| `shell` | いいえ | このフックに使用するシェル。`"bash"` または `"powershell"` を受け入れます。デフォルトは `"bash"`、または Git Bash がインストールされていない場合は Windows で `"powershell"`。`"powershell"` を設定すると、Windows 上で PowerShell 経由でコマンドが実行されます。フックは PowerShell を直接生成するため、`CLAUDE_CODE_USE_POWERSHELL_TOOL` は不要です。`args` が設定されている場合は無視されます |478| `shell` | いいえ | このフックに使用するシェル。`"bash"` または `"powershell"` を受け入れます。デフォルトは `"bash"`、または Git Bash がインストールされていない場合は Windows で `"powershell"`。`"powershell"` を設定すると、Windows 上で PowerShell 経由でコマンドが実行されます。フックは PowerShell を直接生成するため、`CLAUDE_CODE_USE_POWERSHELL_TOOL` は不要です。`args` が設定されている場合は無視されます |

479| `onFailure` | いいえ | フックが失敗したときにアクションがどうなるか。`"continue"`(デフォルト)または `"block"`。[フックが失敗したときにアクションをブロックする](#block-the-action-when-a-hook-fails)を参照してください。Claude Code v2.1.295 以降が必要です |

479 480 

480<a id="exec-form-and-shell-form" />481<a id="exec-form-and-shell-form" />

481 482 


533| `url` | はい | POST リクエストを送信する URL |534| `url` | はい | POST リクエストを送信する URL |

534| `headers` | いいえ | キー値ペアとしての追加 HTTP ヘッダー。値は `$VAR_NAME` または `${VAR_NAME}` 構文を使用した環境変数補間をサポートします。`allowedEnvVars` にリストされている変数のみが解決されます |535| `headers` | いいえ | キー値ペアとしての追加 HTTP ヘッダー。値は `$VAR_NAME` または `${VAR_NAME}` 構文を使用した環境変数補間をサポートします。`allowedEnvVars` にリストされている変数のみが解決されます |

535| `allowedEnvVars` | いいえ | ヘッダー値に補間される可能性のある環境変数名のリスト。リストされていない変数への参照は空の文字列に置き換えられます。環境変数補間が機能するために必須 |536| `allowedEnvVars` | いいえ | ヘッダー値に補間される可能性のある環境変数名のリスト。リストされていない変数への参照は空の文字列に置き換えられます。環境変数補間が機能するために必須 |

537| `onFailure` | いいえ | フックが失敗したときにアクションがどうなるか。`"continue"`(デフォルト)または `"block"`。[フックが失敗したときにアクションをブロックする](#block-the-action-when-a-hook-fails)を参照してください。Claude Code v2.1.295 以降が必要です |

536 538 

537Claude Code はフックの [JSON 入力](#hook-input-and-output)を `Content-Type: application/json` の POST リクエスト本体として送信します。レスポンス本体はコマンド フックと同じ [JSON 出力形式](#json-output)を使用します。539Claude Code はフックの [JSON 入力](#hook-input-and-output)を `Content-Type: application/json` の POST リクエスト本体として送信します。レスポンス本体はコマンド フックと同じ [JSON 出力形式](#json-output)を使用します。

538 540 


821 終了コード出力823 終了コード出力

822</h3>824</h3>

823 825 

824フック コマンドからの終了コードは、Claude Code にアクションが進行すべきか、ブロックされるべきか、無視されるべきかを伝えます。終了コードは単独で作用するわけではありません。Claude Code は 0 だけでなくすべての終了コードで stdout から [JSON 出力フィールド](#json-output)を読み取ります。標準の決定モデルを使用するイベントでは、解析されたオブジェクトがスキーマ検証に合格すると、終了コードとともに効果を持ちます。終了 2 によるブロックは、JSON で上書きできない唯一の結果です。826フックの終了コードは、ツール呼び出しやプロンプトなど、フックをトリガーしたアクションを続行するかどうかを Claude Code に伝えます。完了した実行の結果は次の 3 つのいずれかです。

825 827 

826イベントごとの例外は 2 つの表にまとめられています。[イベントごとの終了コード 2 動作](#exit-code-2-behavior-per-event)は各イベントで終了コードが何をするかを示し、[決定制御](#decision-control)は各イベントがどの決定フィールドを尊重するかを示します。`systemMessage` などのユニバーサル フィールドはほとんどのイベントで機能し、[JSON 出力](#json-output)の表にリストされています。828* **成功**: フックが 0 で終了します。Claude Code はフックが出力した [JSON 出力](#json-output)フィールドを適用し、それらのフィールドがアクションをブロックまたは拒否しない限り、アクションは進行します。

829* **ブロッキング エラー**: フックが 2 で終了します。[ブロック可能なイベント](#exit-code-2-behavior-per-event)では、Claude Code はアクションを停止します。

830* **非ブロッキング エラー**: フックがその他のコードで終了するか、起動しない、無効な JSON を出力するなど、その他の方法で失敗します。アクションは進行し、`PreToolUse` などのイベントではトランスクリプトに `<hook name> hook error` 通知が表示されます。失敗したフックでアクションをブロックしたい場合は、[`onFailure: "block"`](#block-the-action-when-a-hook-fails) を設定してください。

831 

832フックが stdout に出力する内容によって結果が変わることがあります。例えば、`PreToolUse` フックが 1 で終了しても、検証に合格する JSON を出力した場合、実行は成功となり、JSON フィールドが何が起こるかを決定します。`PreToolUse` などのイベントでフックの結果を確認するには、stdout に出力した内容を最初の列で、終了コードを上部の行で照合してください。

833 

834| stdout | 終了 0 | 終了 2 | その他の終了コード |

835| :- | :- | :- | :- |

836| [スキーマ検証](#json-output)に合格する JSON オブジェクト | 成功。フィールドが適用されます | ブロッキング エラー。Claude Code はフィールドを引き続き読み取りますが、それらでブロックを上書きすることはできません | 成功。Claude Code は終了コードを無視し、フィールドのみが結果を決定します。[`onFailure: "block"`](#block-the-action-when-a-hook-fails) を設定している場合、これは失敗としてカウントされます |

837| [解析できない](#exit-code-0)、またはスキーマ検証に失敗する JSON | 非ブロッキング エラー。通知には解析または検証のメッセージが含まれます | ブロッキング エラー。stderr が理由になります | 非ブロッキング エラー。通知には解析または検証のメッセージが含まれます |

838| [プレーン テキスト](#exit-code-0)、または何もなし | 成功 | ブロッキング エラー。stderr が理由になります | 非ブロッキング エラー。通知には stderr の最初の行が含まれます |

839 

840一部のイベントには独自のルールがあります。

841 

842* **`WorktreeCreate`**: JSON の内容にかかわらず、0 以外の終了コードで worktree の作成が失敗します。

843* **`WorktreeRemove`**: 0 以外の終了コードは、その後もディレクトリが存在する場合に worktree の削除を失敗させます。

844* **`Stop`、`SubagentStop`、`TaskCompleted`、およびプラグインの `UserPromptSubmit` フック**: フックが stdout に何も出力せずに 2 で終了し、stderr に `No such file or directory` のようにファイルが見つからないことが示されている場合、Claude Code はその実行を非ブロッキング エラーとして扱います。

845* **`Elicitation` と `ElicitationResult`**: Claude Code はフックが 0 で終了した場合に `hookSpecificOutput` を適用し、その他の終了コードでは無視します。

846* **`StopFailure` などフック出力を破棄するイベント**: Claude Code はすべての終了コードで JSON を無視します。ただし、`terminalSequence` のような副作用フィールドは引き続き発火します。

847 

848イベントで終了コード 2 が何をするかは[イベントごとの終了コード 2 動作](#exit-code-2-behavior-per-event)を、どの決定フィールドが尊重されるかは[決定制御](#decision-control)を参照してください。

827 849 

828<h4 id="exit-code-0">850<h4 id="exit-code-0">

829 終了コード 0851 終了コード 0


835 857 

836Claude Code が stdout を [JSON 出力](#json-output)として読み取るかプレーン テキストとして読み取るかは、前後の空白を無視したうえで、その開始と終了の文字によって決まります。858Claude Code が stdout を [JSON 出力](#json-output)として読み取るかプレーン テキストとして読み取るかは、前後の空白を無視したうえで、その開始と終了の文字によって決まります。

837 859 

838* **`{` で始まり `}` で終わる**: Claude Code は JSON として解析します。出力が 2 行以上で、各行が単独で JSON として解析でき、どの行もフィールドを設定する [JSON 出力](#json-output)オブジェクトでない場合、Claude Code は出力全体をプレーン テキストとして扱います。それらの行のいずれかがフィールドを設定している場合、出力全体は解析失敗となります(後述)。860* **`{` で始まり `}` で終わる**: Claude Code は JSON として解析します。出力が 2 行以上で、各行が単独で JSON として解析でき、どの行もフィールドを設定する [JSON 出力](#json-output)オブジェクトでない場合、Claude Code は出力全体をプレーン テキストとして扱います。それらの行のいずれかがフィールドを設定している場合、出力全体は解析失敗となります。

839* **`{` で始まるが `}` で終わらない**: Claude Code はプレーン テキストとして扱います。861* **`{` で始まるが `}` で終わらない**: Claude Code はプレーン テキストとして扱います。

840* **その他の文字で始まる**: JSON 配列や引用符で囲まれた JSON 文字列を含め、Claude Code はプレーン テキストとして扱います。862* **その他の文字で始まる**: JSON 配列や引用符で囲まれた JSON 文字列を含め、Claude Code はプレーン テキストとして扱います。

841 863 

842標準の決定モデルを使用するイベントでは、終了 0 で解析されたオブジェクトがスキーマ検証に失敗した場合は非ブロッキング エラーとなります。アクションは進行し、トランスクリプトには検証メッセージとともに `<hook name> hook error` 通知が表示されます。2 以外のすべての終了コードでも同じことが起こりますが、[終了 2 は引き続きブロックします](#exit-code-2)。864Claude Code が stdout を JSON として解析しようとして失敗した場合、または解析されたオブジェクトが[スキーマ検証](#json-output)に失敗した場合、実行は[非ブロッキング エラー](#exit-code-output)になります。`<hook name> hook error` 通知には解析または検証のメッセージが含まれます。プレーン テキストの stdout をコンテキストとして追加するイベントでは、Claude Code は解析に失敗した stdout を追加しません。

843 

844標準の決定モデルを使用するイベントでは、Claude Code が stdout を JSON として解析しようとして失敗した場合、2 以外のすべての終了コードで非ブロッキング エラーを報告します。トランスクリプトには解析メッセージとともに `<hook name> hook error` 通知が表示されます。プレーン テキストの stdout をコンテキストとして追加するイベントでは、Claude Code はそのテキストを追加しません。v2.1.248 より前は、Claude Code はその stdout をプレーン テキストとして扱っていました。

845 865 

846終了 0 のフックからの stderr はデバッグ ログにのみ送られ、トランスクリプトには表示されず、Claude がそれを見ることはありません。自分で読むには、[デバッグ ログ](#debug-hooks)を有効にしてください。`PostToolUse` または `PostToolUseFailure` フックから Claude に警告を表示するには、代わりに終了 2 を使用してください。そうすれば、ツールがすでに実行されていても [Claude は stderr を確認できます](#exit-code-2-behavior-per-event)。866終了 0 のフックからの stderr を Claude が見ることはありません。`PreToolUse` などのイベントで自分で読むには、[デバッグ ログ](#debug-hooks)を有効にしてください。`PostToolUse` または `PostToolUseFailure` フックから Claude に警告を表示するには、代わりに終了 2 を使用してください。そうすれば、ツールがすでに実行されていても [Claude は stderr を確認できます](#exit-code-2-behavior-per-event)。

847 867 

848<h4 id="exit-code-2">868<h4 id="exit-code-2">

849 終了コード 2869 終了コード 2

850</h4>870</h4>

851 871 

852終了 2 はブロッキング エラーを意味します。[ブロック可能なイベント](#exit-code-2-behavior-per-event)では、JSON を出力するかどうかにかかわらず終了 2 はブロックします。JSON の `permissionDecision` が `"allow"` であっても上書きできません。Claude Code は stdout 上の有効な [JSON 出力](#json-output)を引き続き読み取ります。`Elicitation` と `ElicitationResult` では、終了 2 のフックの `hookSpecificOutput` は無視されます。872アクションをブロックするには、コード 2 で終了します。[ブロック可能なイベント](#exit-code-2-behavior-per-event)では、Claude Code はアクションを停止します。例えば、`PreToolUse` フックはツール呼び出しをブロックし、`UserPromptSubmit` フックはプロンプトを拒否します。

853 873 

854ブロッキング メッセージは、JSON がブロッキング決定を行う場合はその理由、それ以外の場合は stderr テキストです。ブロックの効果はイベントによって異なります。`PreToolUse` はツール呼び出しをブロックし、`UserPromptSubmit` はプロンプトを拒否する、などです。[イベントごとの終了コード 2 動作](#exit-code-2-behavior-per-event)にはすべてのイベントの効果がリストされており、各イベントのセクションにはメッセージの送信先が記載されています。874ブロックに伴うメッセージはフックの stderr です。フックがブロッキング決定を行う JSON も出力した場合、Claude Code は代わりにその決定の理由を使用します。

855 875 

856[JSON 出力](#json-output)のスキーマ検証に失敗する JSON を出力しながら終了 2 するフックは、引き続きブロックします。Claude Code は stderr をブロッキング理由として使用し、検証の失敗をデバッグ ログに記録します。v2.1.214 より前は、Claude Code はその組み合わせを非ブロッキング エラーとして扱い、アクションは進行していました。876終了 2 は、フックが JSON を出力した場合でもブロックします。

877 

878* **スキーマ検証に合格する JSON**: Claude Code は [JSON 出力](#json-output)フィールドを引き続き読み取りますが、それらでブロックを上書きすることはできません。`permissionDecision` が `"allow"` であっても、アクションは通過しません。`Elicitation` と `ElicitationResult` では、終了 2 のフックの `hookSpecificOutput` は無視されます。

879* **スキーマ検証に失敗する JSON**: フックは引き続きブロックします。Claude Code は stderr をブロッキング理由として使用し、検証の失敗をデバッグ ログに記録します。

857 880 

858このスクリプトは終了 2 によって `rm` コマンドをブロックし、それ以外のすべてのコマンドは通常の権限フローに任せます。881このスクリプトは終了 2 によって `rm` コマンドをブロックし、それ以外のすべてのコマンドは通常の権限フローに任せます。

859 882 


871exit 0 # No decision: the normal permission flow applies894exit 0 # No decision: the normal permission flow applies

872```895```

873 896 

897このスクリプトを `Bash` の `PreToolUse` フックとして登録すると、`rm` で始まるコマンドはブロックされ、Claude はイベント名、ツール名、フックのコマンドがプレフィックスとして付いたフックの stderr を、ツールのエラーとして受け取ります。

898 

899```text theme={null}

900PreToolUse:Bash hook error: [${CLAUDE_PROJECT_DIR}/.claude/hooks/no-rm.sh]: Blocked: rm commands are not allowed

901```

902 

874<h4 id="other-exit-codes">903<h4 id="other-exit-codes">

875 その他の終了コード904 その他の終了コード

876</h4>905</h4>

877 906 

878その他の終了コードは、ほとんどのフック イベントでそれ自体ではブロックしません。何が起こるかは stdout によって異なります。907フックが 0 または 2 以外のコードで終了し、stdout にプレーン テキストを出力するか何も出力しない場合、実行は[非ブロッキング エラー](#exit-code-output)になります。トランスクリプトには、`Failed with non-blocking status code:` とフックの stderr の最初の行を含む `<hook name> hook error` 通知が表示されます。例えば、`Bash` の `PreToolUse` フックが stderr に `something broke` を出力して 1 で終了した場合、`PreToolUse:Bash hook error` 通知には次の行が含まれます。

879 908 

880* 標準の決定モデルを使用するイベントで、解析されたオブジェクトがスキーマ検証に合格した場合、Claude Code は終了コードを無視し、JSON のみが結果を決定します。909```text theme={null}

881 * イベントがサポートする各フィールド(`permissionDecision`、`additionalContext`、`updatedInput`、`systemMessage` を含む)が尊重され、フックはエラーとして報告されません。910Failed with non-blocking status code: something broke

882 * [決定制御](#decision-control)にはイベントごとの決定フィールドがリストされています。`systemMessage` などのユニバーサル フィールドは [JSON 出力](#json-output)の表に従います。911```

883* 標準の決定モデルを使用するイベントで、解析されたオブジェクトがスキーマ検証に失敗した場合、[終了 0 の場合](#exit-code-0)と同じ非ブロッキング エラーになります。アクションは進行し、`<hook name> hook error` 通知に検証メッセージが含まれます。

884* Claude Code が [JSON として解析しようとして](#exit-code-0)失敗した stdout の場合、標準の決定モデルを使用するイベントでは、Claude Code は終了 0 の場合と同じ非ブロッキング エラーを報告します。アクションは進行し、通知に解析メッセージが含まれます。

885* Claude Code が[プレーン テキストとして扱う](#exit-code-0) stdout、または空の stdout の場合、ほとんどのフック イベントで非ブロッキング エラーとなります。アクションは進行し、トランスクリプトには `<hook name> hook error` 通知と、その後に `Failed with non-blocking status code:` というプレフィックスが付いた stderr の最初の行が表示されます。完全な stderr を取得するには、[デバッグ ログ](#debug-hooks)を有効にしてください。

886 912 

887標準の決定モデルに含まれないイベントは、[イベントごとの表](#exit-code-2-behavior-per-event)の独自の行に従います。`WorktreeCreate` は JSON の内容にかかわらず 0 以外の終了で作成に失敗し、`StopFailure` のようにフック出力を完全に破棄するイベントは、すべての終了コードで JSON を無視します。ただし、`terminalSequence` のような副作用フィールドは引き続き発火します。913最初の行だけでなく完全な stderr を取得するには、[デバッグ ログ](#debug-hooks)を有効にしてください。

888 914 

889起動できないフックも同じ非ブロッキングの扱いになります。スクリプト パスが存在しないか実行可能でない場合、シェルは 127 などのコードで終了し、インタープリターのメッセージとともに同じ通知が表示されます(例: `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`)。ほとんどのフック イベントでは、アクションは進行します。ポリシー フックを設定するときは、最初の実行時にこの通知に注意してください。`settings.json` でパスを入力ミスすると、ゲートが気付かないうちに無効になります。915起動できないフックも非ブロッキング エラーになります。シェル形式では、スクリプト パスが存在しないか実行可能でない場合、シェルは 127 などのコードで終了し、通知にはインタープリターのメッセージが含まれます(例: `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`)。ポリシー フックを設定するときは、最初の実行時にこの通知に注意してください。`settings.json` でパスを入力ミスすると、フックは一度も実行されません。代わりにアクションをブロックするには、[`onFailure: "block"`](#block-the-action-when-a-hook-fails) を設定してください。

890 916 

891<Warning>917<Warning>

892 ほとんどのフック イベントでは、終了コード 2 がコードのみでブロックする唯一の終了コードです。stdout に有効な JSON がない場合、1 が従来の Unix 失敗コードであっても、Claude Code は終了コード 1 を非ブロッキング エラーとして扱い、アクションを進行させます。フックがポリシーを実施することを目的としている場合は、`exit 2` を使用してください。worktree イベントは異なります。`WorktreeCreate` からの 0 以外の終了コードは worktree の作成を中止し、`WorktreeRemove` からの 0 以外の終了コードは、その後もディレクトリが存在する場合に worktree の削除を失敗させます。918 stdout に有効な JSON がない場合、1 が従来の Unix 失敗コードであっても、Claude Code は終了コード 1 を非ブロッキング エラーとして扱います。フックがポリシーを実施することを目的としている場合は、`exit 2` を使用してください。

893</Warning>919</Warning>

894 920 

895<h4 id="timeouts">921<h4 id="timeouts">


900 926 

901[`PreModelSwitch`](#premodelswitch) では、タイムアウトでキャンセルされたフックはモデルの切り替えをブロックします。`PreToolUse` では、2 つのフック ファミリーで動作が異なります。927[`PreModelSwitch`](#premodelswitch) では、タイムアウトでキャンセルされたフックはモデルの切り替えをブロックします。`PreToolUse` では、2 つのフック ファミリーで動作が異なります。

902 928 

903* タイムアウトした `command`、`http`、または `mcp_tool` フックはツール呼び出しをブロックしません。呼び出しは通常の[権限フロー](/docs/ja/permissions)を通じて続行されるため、停止したフックがゲートとして機能することを当てにしないでください。929* タイムアウトした `command`、`http`、または `mcp_tool` フックはツール呼び出しをブロックしません。呼び出しは通常の[権限フロー](/docs/ja/permissions)を通じて続行されるため、停止したフックがゲートとして機能することを当てにしないでください。`command` または `http` フックがタイムアウトしたときに呼び出しをブロックするには、[`onFailure: "block"`](#block-the-action-when-a-hook-fails) を設定してください。

904* タイムアウトを超えた [Agent SDK コールバック フック](/docs/ja/agent-sdk/hooks)は[ツール呼び出しをブロックします](#pretooluse)。930* タイムアウトを超えた [Agent SDK コールバック フック](/docs/ja/agent-sdk/hooks)は[ツール呼び出しをブロックします](#pretooluse)。

905 931 

932<h4 id="block-the-action-when-a-hook-fails">

933 フックが失敗したときにアクションをブロックする

934</h4>

935 

936ほとんどのイベントでは、フックが失敗またはタイムアウトしても Claude Code はアクションを実行するため、パスが間違っていたりスクリプトがクラッシュしたりするポリシー フックはすべてを通過させてしまいます。代わりにアクションをブロックするには、`command` または `http` フックに `"onFailure": "block"` を設定します。デフォルト値は `"continue"` です。Claude Code v2.1.295 以降が必要です。

937 

938`.claude/settings.json` 内のこの `PreToolUse` フックは、各 Bash コマンドの前にプロジェクト スクリプトを実行し、スクリプトが失敗した場合はコマンドをブロックします。

939 

940```json theme={null}

941{

942 "hooks": {

943 "PreToolUse": [

944 {

945 "matcher": "Bash",

946 "hooks": [

947 {

948 "type": "command",

949 "command": "node",

950 "args": ["${CLAUDE_PROJECT_DIR}/.claude/hooks/check-command.js"],

951 "onFailure": "block"

952 }

953 ]

954 }

955 ]

956 }

957}

958```

959 

960試すには、`check-command.js` を存在しない状態のままにして、Claude に `ls` などの Bash コマンドの実行を依頼します。Claude Code は呼び出しをブロックし、エラーには `failed; blocking because onFailure is "block"` と、それに続く node 自身のエラー出力が含まれます(ここでは 1 行に切り詰めています)。

961 

962```text theme={null}

963PreToolUse:Bash hook error: [node ${CLAUDE_PROJECT_DIR}/.claude/hooks/check-command.js]: failed; blocking because onFailure is "block"

964Error: Cannot find module '/path/to/project/.claude/hooks/check-command.js'

965```

966 

967タイムアウト後は、メッセージに `failed` ではなく `timed out` と表示されます。`onFailure` が設定されていない場合、同じスクリプトの欠落は非ブロッキング エラーとなり、`ls` は実行されます。

968 

969次のそれぞれが失敗としてカウントされます。

970 

971* **起動できない**: コマンド フックが起動に失敗する(例えば、スクリプトや実行可能ファイルが存在しないため)

972* **0 または 2 以外の終了コード**: `permissionDecision: "allow"` のようにアクションを許可する JSON を出力した場合でも、コマンド フックでは失敗としてカウントされます。JSON の決定を返すには、0 で終了してください

973* **HTTP エラー**: HTTP フックの接続が失敗するか、レスポンスのステータスが 2xx ではない

974* **タイムアウト**: フックが [`timeout`](#common-fields) に達する

975* **無効な出力**: JSON 出力が[解析できない](#exit-code-0)か、[スキーマ検証](#json-output)に失敗する。HTTP フックの場合、空でも JSON オブジェクトでもない 2xx 本体も該当します。コマンド フックからのプレーン テキストの stdout は失敗ではありません

976 

977`"block"` を設定すると、失敗は[そのイベントでの終了コード 2](#exit-code-2-behavior-per-event) と同じ動作をします。ただし `PermissionRequest` は例外で、リクエストを拒否します。例えば、`PreToolUse` の失敗はツール呼び出しをブロックし、`UserPromptSubmit` の失敗はプロンプトをブロックします。

978 

979このフィールドは次のフックには効果がありません。

980 

981* **`Stop`、`SubagentStop`、`TaskCompleted`、`TeammateIdle` フック**: これらのイベントでの終了コード 2 は Claude を作業に戻しますが、Claude は実行されないフックを修復できません

982* **バックグラウンド コマンド フック**: [`async` または `asyncRewake`](#run-hooks-in-the-background) を設定したコマンド フック

983 

906<h4 id="exit-code-2-behavior-per-event">984<h4 id="exit-code-2-behavior-per-event">

907 イベントごとの終了コード 2 動作985 イベントごとの終了コード 2 動作

908</h4>986</h4>


960* **接続失敗**: 非ブロッキング エラー、実行は続行1038* **接続失敗**: 非ブロッキング エラー、実行は続行

961* **タイムアウト**: [タイムアウト](#timeouts)で説明されているとおり、フックはキャンセルされます1039* **タイムアウト**: [タイムアウト](#timeouts)で説明されているとおり、フックはキャンセルされます

962 1040 

963コマンド フックとは異なり、HTTP フックはステータス コードのみでブロッキング エラーを通知できません。ツール呼び出しをブロックまたは権限を拒否するには、適切な決定フィールドを含む JSON 本体を持つ 2xx レスポンスを返します。1041HTTP フックはステータス コードのみでブロッキング エラーを通知できません。2xx 以外のステータスや接続の失敗は[非ブロッキング エラー](#exit-code-output)です。ツール呼び出しをブロックまたは権限を拒否するには、適切な決定フィールドを含む JSON 本体を持つ 2xx レスポンスを返します。リクエストが失敗した場合や 2xx 以外のステータスを返した場合にアクションをブロックするには、[`onFailure: "block"`](#block-the-action-when-a-hook-fails) を設定してください。

964 1042 

965<h3 id="json-output">1043<h3 id="json-output">

966 JSON 出力1044 JSON 出力


1237 SessionStart の判定制御1315 SessionStart の判定制御

1238</h4>1316</h4>

1239 1317 

1240Claude Code は、[プレーンテキストとして扱う](#exit-code-0)標準出力を Claude のコンテキストに追加します。すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、以下のイベント固有のフィールドを返すことができます。1318SessionStart フックは、Claude へのコンテキストの追加、最初のユーザーメッセージの指定、セッションタイトルの設定、ファイルの監視、スキルの再読み込みを行えます。すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、それぞれに対応するフィールドを返してください。

1241 1319 

1242| フィールド | 説明 |1320| フィールド | 説明 |

1243| :- | :- |1321| :- | :- |

1244| `additionalContext` | 会話の開始時、最初のプロンプトの前に Claude のコンテキストに追加される文字列。テキストがどのように渡されるか、何を含めるべきかについては [Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |1322| `additionalContext` | 会話の開始時、最初のプロンプトの前に Claude のコンテキストに追加される文字列。テキストがどのように渡されるか、何を含めるべきかについては [Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |

1245| `initialUserMessage` | セッションの最初のユーザーメッセージとして使用される文字列。`-p` フラグを使用した[非対話モード](/docs/ja/headless)で適用され、プロンプトが指定されていなくても最初のターンになります。プロンプトが指定されている場合は、その次のターンとして続きます。既存のターンに付加される `additionalContext` とは異なり、これはターンを作成します |1323| `initialUserMessage` | `-p` フラグを使用した[非対話モード](/docs/ja/headless)で、セッションの最初のユーザーメッセージとして使用される文字列。プロンプトを渡さなくても最初のターンになります。プロンプトを渡した場合は、次のターンとして続きます |

1246| `sessionTitle` | セッションタイトルを設定します。`/rename` と同じ効果があります。起動フォルダ、git ブランチ、worktree 名からセッションに自動で名前を付ける場合に使用します。`source` が `"startup"`、`"resume"`、`"fork"` の場合に適用され、`"clear"` と `"compact"` では無視されます |1324| `sessionTitle` | セッションタイトルを設定します。`/rename` と同じ効果があります。`source` が `"startup"`、`"resume"`、または `"fork"` の場合に適用されます |

1247| `watchPaths` | このセッション中に [FileChanged](#filechanged) イベントを監視する絶対パスの配列 |1325| `watchPaths` | このセッション中に [FileChanged](#filechanged) イベントを監視する絶対パスの配列 |

1248| `reloadSkills` | ブール値。`true` の場合、Claude Code は SessionStart フックの完了後に[スキル](/docs/ja/skills)とコマンドのディレクトリを再スキャンするため、フックがインストールしたスキルは同じセッションの最初のプロンプトから利用できます |1326| `reloadSkills` | ブール値。`true` の場合、Claude Code は SessionStart フックの完了後に[スキル](/docs/ja/skills)とコマンドのディレクトリを再スキャンします。[フックがインストールしたスキルを再読み込みする](#reload-skills-that-a-hook-installs)を参照してください |

1327 

1328次の出力はコンテキストを追加し、セッションに名前を付けます。

1249 1329 

1250```json theme={null}1330```json theme={null}

1251{1331{


1257}1337}

1258```1338```

1259 1339 

1260このイベントでは通常の標準出力がすでに Claude に届くため、コンテキストを読み込むだけのフックは JSON を組み立てずに直接標準出力に出力できます。コンテキストを `sessionTitle` などの他のフィールドと組み合わせる必要がある場合は JSON 形式を使用してください。1340Claude Code は SessionStart フックの[プレーンテキストの stdout](#exit-code-0) を Claude のコンテキストに追加するため、コンテキストを追加するだけのフックは JSON を組み立てずにそのまま出力できます。

1341 

1342プラグインの SessionStart フックが `initialUserMessage` または `sessionTitle` を指定する場合は、セッションの開始前にプラグインをインストールしてください。SessionStart フックの実行後にインストールが完了したプラグインからのこれら 2 つのフィールドは、Claude Code によって無視されます。

1343 

1344<h4 id="reload-skills-that-a-hook-installs">

1345 フックがインストールしたスキルを再読み込みする

1346</h4>

1347 

1348SessionStart フックがインストールしたスキルを同じセッションで利用できるようにするには、`reloadSkills` を返します。スキルの検出は通常 SessionStart フックの完了前に実行されるため、これがないと、フックが `~/.claude/skills/` や `.claude/skills/` に書き込んだファイルが最初のプロンプトの実行時に見つからない場合があります。

1261 1349 

1262SessionStart フックがスキルをインストールまたは更新する場合は `reloadSkills` を使用してください。スキルの検出は通常 SessionStart フックの完了前に実行されるため、フックが `~/.claude/skills/` や `.claude/skills/` に書き込んだファイルは、そうしないと次のセッションでしか表示されません。次の例では、共有スキルリポジトリを同期し、再スキャンを要求します。1350次の例は、共有スキルのリポジトリを同期し、再スキャンを要求します。

1263 1351 

1264```bash theme={null}1352```bash theme={null}

1265#!/bin/bash1353#!/bin/bash


1270echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1358echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1271```1359```

1272 1360 

1273リポジトリの URL はプレースホルダーです。独自のスキルリポジトリに置き換えてください。プレースホルダーのままではクローンが失敗し、標準エラー出力に `fatal:` メッセージが出力されます。終了コード 0 で終了した SessionStart フックの標準エラー出力は情報提供のみを目的としているため、`reloadSkills` の要求は引き続き適用されます。1361リポジトリの URL はプレースホルダーです。独自のスキルリポジトリに置き換えてください。

1274 1362 

1275<h4 id="persist-environment-variables">1363<h4 id="persist-environment-variables">

1276 環境変数を永続化する1364 環境変数を永続化する


1419 1507 

1420`UserPromptSubmit` フックのデフォルトのタイムアウトは、`command`、`http`、`mcp_tool` の各タイプで 30 秒です。これは、他のほとんどのイベントでのこれらのタイプのデフォルトである 600 秒より短くなっています。このフックはすべてのプロンプトの前に実行され、完了するまでモデルの処理をブロックするため、フックが停止するとセッションも停止します。フックにさらに時間が必要な場合は、フックエントリの `timeout` フィールドを設定してください。1508`UserPromptSubmit` フックのデフォルトのタイムアウトは、`command`、`http`、`mcp_tool` の各タイプで 30 秒です。これは、他のほとんどのイベントでのこれらのタイプのデフォルトである 600 秒より短くなっています。このフックはすべてのプロンプトの前に実行され、完了するまでモデルの処理をブロックするため、フックが停止するとセッションも停止します。フックにさらに時間が必要な場合は、フックエントリの `timeout` フィールドを設定してください。

1421 1509 

1422[`async: true`](#run-hooks-in-the-background) で実行するコマンドフックを除き、タイムアウトに達した `UserPromptSubmit` のコマンド、HTTP、または MCP ツールフックはキャンセルされ、その出力(`additionalContext` を含む)は破棄されます。プロンプトはそのコンテキストなしで Claude に届きます。トランスクリプトには、フック名、発生したタイムアウト、出力が破棄されたことを示す通知が表示されます。1510[`async: true`](#run-hooks-in-the-background) で実行するコマンドフックを除き、タイムアウトに達した `UserPromptSubmit` のコマンド、HTTP、または MCP ツールフックはキャンセルされ、その出力は `additionalContext` を含めて破棄されます。プロンプトはそのコンテキストなしで Claude に届きます。代わりにプロンプトをブロックするには、コマンドフックまたは HTTP フックに [`onFailure: "block"`](#block-the-action-when-a-hook-fails) を設定してください。トランスクリプトには、フックの名前、発生したタイムアウト、出力が破棄されたことを示す通知が表示されます。

1423 1511 

1424`UserPromptSubmit` の [Agent SDK コールバックフック](/docs/ja/agent-sdk/hooks)がタイムアウトに達すると、フック名とタイムアウトを示すメッセージとともにプロンプトがブロックされます。これは、そこでのコールバックが、フェイルオープンしてはならないポリシーゲートとして機能している可能性があるためです。セッションは続行されます。v2.1.208 より前は、このイベントでのコールバックのタイムアウトは実行エラーでターンを終了していました。1512`UserPromptSubmit` の [Agent SDK コールバックフック](/docs/ja/agent-sdk/hooks)がタイムアウトに達すると、フック名とタイムアウトを示すメッセージとともにプロンプトがブロックされます。これは、そこでのコールバックが、フェイルオープンしてはならないポリシーゲートとして機能している可能性があるためです。セッションは続行されます。v2.1.208 より前は、このイベントでのコールバックのタイムアウトは実行エラーでターンを終了していました。

1425 1513 


1860| :- | :- | :- | :- |1948| :- | :- | :- | :- |

1861| `url` | string | `"https://example.com/api"` | コンテンツを取得する URL |1949| `url` | string | `"https://example.com/api"` | コンテンツを取得する URL |

1862| `prompt` | string | `"Extract the API endpoints"` | 取得したコンテンツに対して実行するプロンプト |1950| `prompt` | string | `"Extract the API endpoints"` | 取得したコンテンツに対して実行するプロンプト |

1951| `offset` | number | `100000` | ページの先頭からスキップする文字数(オプション)。Claude は長いページの続きを読むためにこれを設定します。Claude Code v2.1.290 以降が必要です |

1863 1952 

1864<h5 id="websearch">1953<h5 id="websearch">

1865 WebSearch1954 WebSearch


2112| `message` | `"deny"` の場合のみ:権限が拒否された理由を Claude に伝えます |2201| `message` | `"deny"` の場合のみ:権限が拒否された理由を Claude に伝えます |

2113| `interrupt` | `"deny"` の場合のみ:`true` の場合、Claude を停止します |2202| `interrupt` | `"deny"` の場合のみ:`true` の場合、Claude を停止します |

2114 2203 

2115`decision` オブジェクトなしで終了コード 2 で終了するフックは権限フローを変更せず、その標準エラー出力は破棄されます。リクエストを許可または拒否できるのは `decision` オブジェクトだけです。2204`decision` オブジェクトなしで終了コード 2 で終了するフックは、権限フローを変更せず、その stderr は破棄されます。リクエストを許可または拒否するには、`decision` オブジェクトを返してください。

2116 2205 

2117```json theme={null}2206```json theme={null}

2118{2207{


2678 TaskCreated の決定制御2767 TaskCreated の決定制御

2679</h4>2768</h4>

2680 2769 

2681TaskCreated フックは 2 つの方法で作成をブロックできます。いずれの場合も、Claude Code はタスクを削除し、メッセージをツールのエラーとして Claude に返します。Claude Code はこのイベントからの `continue: false` を無視し、Claude は作業を続けます。2770TaskCreated フックは、終了コード 2 または JSON の判定によって作成をブロックできます。いずれの場合も、Claude Code はタスクを削除し、メッセージをツールのエラーとして Claude に返します。Claude Code はこのイベントからの `continue: false` を無視し、Claude は作業を続けます。

2682 2771 

2683* **終了コード 2**: Claude Code は stderr のテキストをメッセージとして返します。2772* **終了コード 2**: Claude Code は stderr のテキストをメッセージとして返します。

2684* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code は `reason` をメッセージとして返します。2773* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code は `reason` をメッセージとして返します。


3561 3650 

3562Claude Code は、決定に関係なく、フックが返した `systemMessage` をユーザーに表示します。そのため、コストを報告するフックは `{"systemMessage": "..."}` を返して 0 で終了できます。3651Claude Code は、決定に関係なく、フックが返した `systemMessage` をユーザーに表示します。そのため、コストを報告するフックは `{"systemMessage": "..."}` を返して 0 で終了できます。

3563 3652 

3564タイムアウトまでに応答しない PreModelSwitch フックは、切り替えをブロックします。これに対して [PreToolUse](#timeouts) では、タイムアウトしたコマンドフックはツール呼び出しを続行させます。このイベントのデフォルトのタイムアウトは 30 秒です。`PreModelSwitch` は `command`、`http`、`mcp_tool` フックのみを実行するため、`prompt` と `agent` のデフォルトは適用されません。3653タイムアウトまでに応答しない PreModelSwitch フックは、切り替えをブロックします。他のイベントでのタイムアウトの動作については、[タイムアウト](#timeouts)を参照してください。このイベントのデフォルトのタイムアウトは 30 秒です。`PreModelSwitch` は `command`、`http`、`mcp_tool` フックのみを実行するため、`prompt` と `agent` のデフォルトは適用されません。

3565 3654 

35660 または 2 以外のコードで終了し、JSON の決定を出力しないフックはブロックしません。[その他の終了コード](#other-exit-codes)で説明しているとおり、Claude Code はその stderr を表示して切り替えを適用します。36550 または 2 以外のコードで終了し、JSON の決定を出力しないフックは、[その他の終了コード](#other-exit-codes)で説明されているように、非ブロッキングエラーになります。

3567 3656 

3568<h3 id="postmodelswitch">3657<h3 id="postmodelswitch">

3569 PostModelSwitch3658 PostModelSwitch


4278非同期フックは同期フックと比べていくつかの制約があります。4367非同期フックは同期フックと比べていくつかの制約があります。

4279 4368 

4280* フック出力は次の会話ターンで配信されます。セッションがアイドル状態の場合、レスポンスは次のユーザー操作まで待機します。例外: `asyncRewake` フックが終了コード 2 で終了すると、セッションがアイドル状態でも Claude を直ちに起動します。4369* フック出力は次の会話ターンで配信されます。セッションがアイドル状態の場合、レスポンスは次のユーザー操作まで待機します。例外: `asyncRewake` フックが終了コード 2 で終了すると、セッションがアイドル状態でも Claude を直ちに起動します。

4281* 各実行は個別のバックグラウンド プロセスを作成します。同じ非同期フックの複数の発火全体で重複排除はありません。4370* 各実行は個別のバックグラウンド プロセスを作成します。

4282 4371 

4283<h2 id="security-considerations">4372<h2 id="security-considerations">

4284 セキュリティに関する考慮事項4373 セキュリティに関する考慮事項

hooks-guide.md +14 −11

Details

242 242 

243hook をテストするには、Claude に JavaScript ファイルにシングルクォート文字列を含む行を追加するよう求めてください。その後ファイルを開きます:Prettier のデフォルト設定では、hook はそれらをダブルクォートに書き直します。243hook をテストするには、Claude に JavaScript ファイルにシングルクォート文字列を含む行を追加するよう求めてください。その後ファイルを開きます:Prettier のデフォルト設定では、hook はそれらをダブルクォートに書き直します。

244 244 

245hook が成功すると、Claude Code は会話に何も表示しません。hook が実行されたことを確認するには、編集されたファイルが再フォーマットされていることを確認するか、[デバッグテクニック](#debug-techniques) を参照してください。245フックが成功すると、Claude Code は会話に何も表示しません。フックが実行されたことを確認するには、編集されたファイルが再フォーマットされていることを確認するか、[フックが何をしたかを確認する](#check-what-a-hook-did)を参照してください。

246 246 

247ファイルが `Bash` コマンドで書き直されるときを含め、特定のファイルがどのように変更されても再フォーマットするには、代わりに [FileChanged](/docs/ja/hooks#filechanged) hook を使用してください。247ファイルが `Bash` コマンドで書き直されるときを含め、特定のファイルがどのように変更されても再フォーマットするには、代わりに [FileChanged](/docs/ja/hooks#filechanged) hook を使用してください。

248 248 


979}979}

980```980```

981 981 

982エンドポイントは、コマンド hooks と同じ [出力形式](/docs/ja/hooks#json-output) を使用して JSON レスポンスボディを返す必要があります。ツール呼び出しをブロックするには、適切な `hookSpecificOutput` フィールドで 2xx レスポンスを返します。HTTP ステータスコードだけではアクションをブロックできません。982エンドポイントは、コマンドフックと同じ [出力形式](/docs/ja/hooks#json-output) の JSON ボディで応答し、Claude Code はレスポンスのステータスも確認します:

983 

984* **2xx ステータス**:ツール呼び出しをブロックするには、ボディで適切な `hookSpecificOutput` フィールドを返します。

985* **その他のステータス、またはリクエストが失敗した場合**:Claude Code は [ノンブロッキングエラー](/docs/ja/hooks#exit-code-output) を報告し、アクションを続行させます。失敗したエンドポイントでアクションをブロックするには、フックに [`onFailure: "block"`](/docs/ja/hooks#block-the-action-when-a-hook-fails) を設定します。

983 986 

984ヘッダー値は `$VAR_NAME` または `${VAR_NAME}` 構文を使用した環境変数補間をサポートします。`allowedEnvVars` 配列にリストされている変数のみが解決されます。他のすべての `$VAR` 参照は空のままです。987ヘッダー値は `$VAR_NAME` または `${VAR_NAME}` 構文を使用した環境変数補間をサポートします。`allowedEnvVars` 配列にリストされている変数のみが解決されます。他のすべての `$VAR` 参照は空のままです。

985 988 


1103 1106 

1104フックが `permissionDecision` や `additionalContext` を `hookSpecificOutput` の内側ではなくトップレベルで返した場合でも、JSON は解析されますが、Claude Code は誤って配置されたフィールドをエラーを報告せずに無視します。どのフィールドが無視されたかを確認するには、`claude --debug` で Claude Code を起動し、[デバッグログ](/docs/ja/hooks#debug-hooks)で `Hook JSON output had unrecognized keys` を検索します。1107フックが `permissionDecision` や `additionalContext` を `hookSpecificOutput` の内側ではなくトップレベルで返した場合でも、JSON は解析されますが、Claude Code は誤って配置されたフィールドをエラーを報告せずに無視します。どのフィールドが無視されたかを確認するには、`claude --debug` で Claude Code を起動し、[デバッグログ](/docs/ja/hooks#debug-hooks)で `Hook JSON output had unrecognized keys` を検索します。

1105 1108 

1106<h3 id="debug-techniques">1109<h3 id="check-what-a-hook-did">

1107 デバッグ手法1110 フックの動作を確認する

1108</h3>1111</h3>

1109 1112 

1110`Ctrl+O` を押してトランスクリプトビューを開き、フック実行の結果を確認します。1113`Ctrl+O` を押してトランスクリプトビューを開き、フックの結果を確認します。

1111 1114 

1112* **実行成功**:フックの JSON が `systemMessage` や Stop フックのフィードバックなどを表示しない限り、何も表示されません。1115* **成功**:フックの JSON が `systemMessage` や Stop フックのフィードバックなどを表示しない限り、何も表示されません。

1113 * フックが実行されたことを確認するには、ファイルが再フォーマットされたなどの効果を確認するか、以下で説明するようにデバッグログをオンにしてから再度フックをトリガーします1116 * フックが実行されたことを確認するには、ファイルが再フォーマットされたなどの効果を確認します

1114* **ブロッキングエラー**:ほとんどのイベントでは、フックのフィードバックが表示されます。フックの JSON がブロックの判断を行った場合、フィードバックはその判断の理由です。それ以外の場合はフックの stderr です。`ConfigChange` や `Elicitation` などの一部のイベントでは、ブロックしてもメッセージは表示されません。1117* **ブロッキングエラー**:ほとんどのイベントでは、ブロックに伴うメッセージが表示されます(例:`Blocked: rm commands are not allowed`)。`ConfigChange` や `Elicitation` などの一部のイベントでは、メッセージは表示されません。メッセージの出どころについては[終了コード 2](/docs/ja/hooks#exit-code-2) で説明しています。

1115* **非ブロッキングエラー**:アクションは続行され、`<hook name> hook error` という通知と短い説明が表示されます。説明は、`Failed with non-blocking status code:` を先頭に付けた stderr の最初の行や、JSON の検証メッセージまたは解析メッセージなどです。1118* **非ブロッキングエラー**:`<hook name> hook error` という通知と短い説明が表示されます。説明は、`Failed with non-blocking status code:` の後に続く stderr の最初の行や、JSON の検証メッセージまたは解析メッセージなどです。アクションは続行されています。

1116 1119 

1117どの終了コードと JSON の組み合わせがそれぞれの結果を生むか(イベントごとの例外を含む)は、リファレンスの[終了コードの出力](/docs/ja/hooks#exit-code-output)セクションで定義されています。1120特定の終了コードと stdout に対する結果(イベントごとの例外を含む)を調べるには、リファレンスの[終了コードの出力](/docs/ja/hooks#exit-code-output)を参照してください。

1118 1121 

1119どのフックが一致したか、その終了コード、stdout、stderr を含む実行の詳細をすべて確認するには、デバッグログを読みます。`claude --debug-file /tmp/claude.log` で Claude Code を起動して既知のパスに書き込み、別のターミナルで `tail -f /tmp/claude.log` を実行します。このフラグを付けずに起動した場合は、セッションの途中で `/debug` を実行してログを有効にし、ログのパスを確認します。1122フックの終了コード、stdout、stderr を含む実行の詳細をすべて確認するには、デバッグログを読みます。`claude --debug-file /tmp/claude.log` で Claude Code を起動して既知のパスに書き込み、別のターミナルで `tail -f /tmp/claude.log` を実行します。このフラグを付けずに起動した場合は、セッションの途中で `/debug` を実行してログを有効にし、ログのパスを確認します。

1120 1123 

1121<h2 id="learn-more">1124<h2 id="learn-more">

1122 詳細を学ぶ1125 詳細を学ぶ

Details

216| `^` | 最初の空白以外の文字 |216| `^` | 最初の空白以外の文字 |

217| `gg` | 入力の開始 |217| `gg` | 入力の開始 |

218| `G` | 最後の行の先頭 |218| `G` | 最後の行の先頭 |

219| `f{char}` | 次の文字の出現位置にジャンプ |219| `f{char}` | 現在の行で次の文字の出現位置にジャンプ |

220| `F{char}` | 前の文字の出現位置にジャンプ |220| `F{char}` | 現在の行で前の文字の出現位置にジャンプ |

221| `t{char}` | 次の文字の出現位置の直前にジャンプ |221| `t{char}` | 現在の行で次の文字の出現位置の直前にジャンプ |

222| `T{char}` | 前の文字の出現位置の直後にジャンプ |222| `T{char}` | 現在の行で前の文字の出現位置の直後にジャンプ |

223| `;` | 最後の f/F/t/T モーションを繰り返す |223| `;` | 最後の f/F/t/T モーションを繰り返す |

224| `,` | 最後の f/F/t/T モーションを逆方向で繰り返す |224| `,` | 最後の f/F/t/T モーションを逆方向で繰り返す |

225| `/` | 逆履歴検索を開く、`Ctrl+R` と同じです。空の検索プロンプトはヒントを表示します:`Esc` を押してから `i` を押してから `/` を押してコマンドメニューを開く代わりに |225| `/` | 逆履歴検索を開く、`Ctrl+R` と同じです。空の検索プロンプトはヒントを表示します:`Esc` を押してから `i` を押してから `/` を押してコマンドメニューを開く代わりに |


239| `dd` | 行を削除 |239| `dd` | 行を削除 |

240| `D` | 行の終わりまで削除 |240| `D` | 行の終わりまで削除 |

241| `dw`/`de`/`db` | 単語を削除/終わりまで/戻す |241| `dw`/`de`/`db` | 単語を削除/終わりまで/戻す |

242| `df{char}`/`dt{char}` | 次の文字の出現位置まで削除(含む)、または直前まで |242| `df{char}`/`dt{char}` | 現在の行で次の文字の出現位置まで削除(含む)、または直前まで |

243| `dj`/`dk` | 現在の行と下または上の行を削除 |243| `dj`/`dk` | 現在の行と下または上の行を削除 |

244| `dgg`/`dG` | 現在の行から最初または最後の行まで削除 |244| `dgg`/`dG` | 現在の行から最初または最後の行まで削除 |

245| `d0`/`c0`/`y0` | カーソルから行の開始まで削除、変更、またはヤンク。Claude Code v2.1.281 以降が必要です |245| `d0`/`c0`/`y0` | カーソルから行の開始まで削除、変更、またはヤンク。Claude Code v2.1.281 以降が必要です |


859* 単独の `#123`859* 単独の `#123`

860* `group/subgroup/project#123` などのネストされた GitLab パス860* `group/subgroup/project#123` などのネストされた GitLab パス

861* コードスパンまたはコードブロック内の任意の参照861* コードスパンまたはコードブロック内の任意の参照

862* 約 1,000 行または 100,000 文字を超える応答内の任意の参照

862 863 

863Claude Code は、参照が指すリポジトリではなく、git remote から識別したリポジトリのホストに対してリンクを構築します:864Claude Code は、参照が指すリポジトリではなく、git remote から識別したリポジトリのホストに対してリンクを構築します:

864 865 

mcp.md +1 −1

Details

367 367 

368v2 では、Claude Code も:368v2 では、Claude Code も:

369 369 

370* HTTP サーバーと stdio サーバーに新しいリビジョンをサポートするかどうかを尋ね、それをサポートするサーバーで使用します。フィーチャーフラグを取得するセッションでは、claude.ai コネクタサーバーにも尋ねます。他のすべてのサーバーには v1 と同様に接続します。370* HTTP、stdio、claude.ai コネクタの各サーバーに新しいリビジョンをサポートするかどうかを尋ね、それをサポートするサーバーで使用します。他のすべてのサーバーには v1 と同様に接続します。

371* 新しいリビジョンのサーバーから [保持するストリーム](#notification-streams-on-the-v2-runtime) 上で `list_changed` 通知を受け取ります。371* 新しいリビジョンのサーバーから [保持するストリーム](#notification-streams-on-the-v2-runtime) 上で `list_changed` 通知を受け取ります。

372* 新しいリビジョンで接続する [チャネル](#push-messages-with-channels) サーバーを登録しません。そのリビジョンはチャネルメッセージを運ぶことができないためです。372* 新しいリビジョンで接続する [チャネル](#push-messages-with-channels) サーバーを登録しません。そのリビジョンはチャネルメッセージを運ぶことができないためです。

373* 予期しない発行者を示す認可応答の [MCP OAuth サインイン](#authenticate-with-remote-mcp-servers) を失敗させます。373* 予期しない発行者を示す認可応答の [MCP OAuth サインイン](#authenticate-with-remote-mcp-servers) を失敗させます。

Details

599 599 

600`/login` を通じて [Claude apps gateway](/docs/ja/claude-apps-gateway) にサインインしたセッションでは、CLI は認証済みの ID をエクスポートに付与します。`user.id` は IdP のサブジェクト、`user.email` はサインインしたメールアドレスで、`user.groups` は IdP のグループメンバーシップをカンマ区切りの文字列として保持します。各エクスポートには `identity.source: gateway-oidc` も付与されます。ゲートウェイの ID は最後に適用されるため、これらのセッションでは `OTEL_RESOURCE_ATTRIBUTES` で設定した `user.*` および `identity.*` キーは無視されます。600`/login` を通じて [Claude apps gateway](/docs/ja/claude-apps-gateway) にサインインしたセッションでは、CLI は認証済みの ID をエクスポートに付与します。`user.id` は IdP のサブジェクト、`user.email` はサインインしたメールアドレスで、`user.groups` は IdP のグループメンバーシップをカンマ区切りの文字列として保持します。各エクスポートには `identity.source: gateway-oidc` も付与されます。ゲートウェイの ID は最後に適用されるため、これらのセッションでは `OTEL_RESOURCE_ATTRIBUTES` で設定した `user.*` および `identity.*` キーは無視されます。

601 601 

602<Note>

603 開発者がサインインする前に Claude Code がログに記録するイベントには、ゲートウェイの ID は含まれません。Claude Code がゲートウェイからサインアウトした状態でセッションを開始する場合(たとえば[ゲートウェイがサインインを終了](/docs/ja/errors#cloud-gateway-session-expired)した後など)、サインイン前にログに記録された起動イベントには匿名の `user.id` が含まれ、`identity.source` は含まれません。これには [`managed_settings_resolved`](#managed-settings-resolved-event)、[`plugin_loaded`](#plugin-loaded-event)、[`mcp_server_connection`](#mcp-server-connection-event) が含まれます。

604</Note>

605 

602ゲートウェイ経由で接続する Claude Desktop および Cowork セッションの ID 属性については、[ゲートウェイの `telemetry` リファレンス](/docs/ja/claude-apps-gateway-config#telemetry)を参照してください。606ゲートウェイ経由で接続する Claude Desktop および Cowork セッションの ID 属性については、[ゲートウェイの `telemetry` リファレンス](/docs/ja/claude-apps-gateway-config#telemetry)を参照してください。

603 607 

604イベントには、さらに以下の属性が含まれます。これらはカーディナリティが無制限に増大する原因となるため、メトリクスには付与されません。608イベントには、さらに以下の属性が含まれます。これらはカーディナリティが無制限に増大する原因となるため、メトリクスには付与されません。


917* `error`: エラーメッセージ921* `error`: エラーメッセージ

918* `status_code`: 数値としての HTTP ステータスコード。接続の失敗など、HTTP 以外のエラーの場合は含まれません。922* `status_code`: 数値としての HTTP ステータスコード。接続の失敗など、HTTP 以外のエラーの場合は含まれません。

919* `duration_ms`: リクエストの所要時間(ミリ秒)923* `duration_ms`: リクエストの所要時間(ミリ秒)

920* `attempt`: 最初のリクエストを含む試行の合計回数(`1` は再試行が発生しなかったことを意味します)924* `attempt`: 最初のリクエストを含む試行回数。カウントが再開されるタイミングについては[再試行の上限到達を検出する](#detect-retry-exhaustion)を参照してください

921* `request_id`: API リクエスト ID(例: `"req_011..."`)。[イベント相関属性](#event-correlation-attributes)で説明しています。925* `request_id`: API リクエスト ID(例: `"req_011..."`)。[イベント相関属性](#event-correlation-attributes)で説明しています。

922* `client_request_id`: `x-client-request-id` リクエストヘッダーとして送信される、クライアントが生成した UUID。タイムアウトや接続エラーなどの失敗によってサーバーの `request_id` が生成されなかった場合でも利用できます。含まれる条件については[イベント相関属性](#event-correlation-attributes)の表を参照してください。Claude Code v2.1.214 以降が必要です926* `client_request_id`: `x-client-request-id` リクエストヘッダーとして送信される、クライアントが生成した UUID。タイムアウトや接続エラーなどの失敗によってサーバーの `request_id` が生成されなかった場合でも利用できます。含まれる条件については[イベント相関属性](#event-correlation-attributes)の表を参照してください。Claude Code v2.1.214 以降が必要です

923* `speed`: `"fast"` または `"normal"`。fast mode が有効だったかどうかを示します927* `speed`: `"fast"` または `"normal"`。fast mode が有効だったかどうかを示します


1190 1194 

1191Claude Code がプロンプト内の `@` メンションを解決したときにログに記録されます。すべてのメンションでイベントが出力されるわけではありません。権限の拒否、サイズが大きすぎるファイル、PDF の参照添付、ディレクトリ一覧の取得失敗などの早期終了パスでは、ログに記録せずに戻ります。1195Claude Code がプロンプト内の `@` メンションを解決したときにログに記録されます。すべてのメンションでイベントが出力されるわけではありません。権限の拒否、サイズが大きすぎるファイル、PDF の参照添付、ディレクトリ一覧の取得失敗などの早期終了パスでは、ログに記録せずに戻ります。

1192 1196 

1197Claude Code はプロンプトを読み取るたびに、`mention_type` が `"agent"` のイベントと `"mcp_resource"` のイベントをそれぞれ最大 100 件までログに記録します。いずれかの上限を超えたメンションも解決はされますが、イベントは出力されません。

1198 

1193**イベント名**: `claude_code.at_mention`1199**イベント名**: `claude_code.at_mention`

1194 1200 

1195**属性**:1201**属性**:


1528 1534 

1529Claude Code は失敗した API リクエストを内部的に再試行し、あきらめた後にのみ単一の `claude_code.api_error` イベントを出力するため、イベント自体がそのリクエストの終端信号です。中間再試行試行は個別のイベントとしてログされません。1535Claude Code は失敗した API リクエストを内部的に再試行し、あきらめた後にのみ単一の `claude_code.api_error` イベントを出力するため、イベント自体がそのリクエストの終端信号です。中間再試行試行は個別のイベントとしてログされません。

1530 1536 

1531イベントの `attempt` 属性は、試行の総数を記録します。`CLAUDE_CODE_MAX_RETRIES` はデフォルトで 10 で、15 で上限です。v2.1.199 以降では、`CLAUDE_CODE_RETRY_WATCHDOG` を設定してデフォルトを引き上げ、上限を削除できます。1537イベントの `attempt` 属性は、試行回数を記録します。`CLAUDE_CODE_MAX_RETRIES` はデフォルトで 10 で、15 で上限です。v2.1.199 以降では、`CLAUDE_CODE_RETRY_WATCHDOG` を設定してデフォルトを引き上げ、上限を削除できます。

1538 

1539リクエストが一時的なエラーのすべての再試行を枯渇させた場合、`attempt` は最大でもその有効な制限より 1 つ多い値になります: デフォルトでは 11 です。

1532 1540 

1533リクエストが一時的なエラーのすべての再試行を枯渇させた場合、`attempt` はその有効な制限より 1 つ多くなります: デフォルトでは 11、ウォッチドッグが設定されていない限り 16 を超えることはありません。より低い値は、`400` レスポンスなどの再試行不可能なエラー、または独自のより小さい再試行予算を持つ原因を示します。たとえば、Claude Code は AWS または Google Cloud 認証情報の読み込み失敗を最大 2 回再試行します。1541より低い値でも再試行が尽きたことを意味する場合があります: Claude Code がストリーミングの失敗後にリクエストを再発行するたびに、`attempt` は `1` から再び開始されるためです。

1534 1542 

1535セッションが回復したものと停止したものを区別するには、イベントを `session.id` でグループ化し、エラーの後に後続の `api_request` イベントが存在するかどうかを確認します。1543セッションが回復したものと停止したものを区別するには、イベントを `session.id` でグループ化し、エラーの後に後続の `api_request` イベントが存在するかどうかを確認します。

1536 1544 

Details

91| `-y, --yes` | `Run this command now?` プロンプトなしで表示されたインストールコマンドを受け入れます。Bash ツールまたはフックからなど、Claude Code セッション内で実行されるコマンドでは無視されます。Claude Code v2.1.229 以降が必要です |91| `-y, --yes` | `Run this command now?` プロンプトなしで表示されたインストールコマンドを受け入れます。Bash ツールまたはフックからなど、Claude Code セッション内で実行されるコマンドでは無視されます。Claude Code v2.1.229 以降が必要です |

92| `--accept-command <sha256>` | 前の [`--json` 実行](#plugin-json-result)が `shownCommand` で報告した `sha256` を持つ表示されたインストールコマンドを受け入れます。`-y` の代わりに使用します。`-y` と組み合わせることはできません。[表示されたインストールコマンドを受け入れる](#accept-a-displayed-install-command)を参照してください。Claude Code v2.1.271 以降が必要です |92| `--accept-command <sha256>` | 前の [`--json` 実行](#plugin-json-result)が `shownCommand` で報告した `sha256` を持つ表示されたインストールコマンドを受け入れます。`-y` の代わりに使用します。`-y` と組み合わせることはできません。[表示されたインストールコマンドを受け入れる](#accept-a-displayed-install-command)を参照してください。Claude Code v2.1.271 以降が必要です |

93| `--json` | スクリプトで使用するために、人間が読める形式のメッセージの代わりに、stdout の最後の行に 1 つの JSON オブジェクトとして結果を出力します。[JSON 結果形式](#plugin-json-result)を参照してください。Claude Code v2.1.268 以降が必要です |93| `--json` | スクリプトで使用するために、人間が読める形式のメッセージの代わりに、stdout の最後の行に 1 つの JSON オブジェクトとして結果を出力します。[JSON 結果形式](#plugin-json-result)を参照してください。Claude Code v2.1.268 以降が必要です |

94| `--marketplace <source>` | ベア名で指定した `<plugin>` を `<source>` のマーケットプレイスからインストールします。そのマーケットプレイスをまだ追加していない場合は、先に追加します。[1 つのコマンドでマーケットプレイスを追加してインストールする](/docs/ja/plugins/install#add-a-marketplace-and-install-in-one-command)を参照してください。Claude Code v2.1.292 以降が必要です |

94 95 

95使用しているバージョンがサポートするすべてのオプションを確認するには、シェルで `claude plugin install --help` を実行してください。96使用しているバージョンがサポートするすべてのオプションを確認するには、シェルで `claude plugin install --help` を実行してください。

96 97 

Details

339 アーカイブダウンロードを認証する339 アーカイブダウンロードを認証する

340</h2>340</h2>

341 341 

342[`archive`](/docs/ja/plugins/marketplace-reference#archive-plugin-source) ダウンロード(プライベートレジストリからのダウンロードなど)を認証するには、Claude Code がそれで送信する HTTP ヘッダーを設定してください。これらの場所のいずれかで `headers` を設定できます:342プライベートレジストリからのダウンロードなど、[`archive`](/docs/ja/plugins/marketplace-reference#archive-plugin-source) のダウンロードを認証するには、Claude Code がダウンロード時に送信する HTTP ヘッダーを設定します。`headers` は次のいずれかの場所で設定できます。

343 343 

344* **マーケットプレイスの `url` ソース**:[`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces) エントリなど、マーケットプレイスを登録した `url` ソース。344* **マーケットプレイスの `url` ソース**:マーケットプレイスの登録元である `url` ソースです。[`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces) のエントリなどが該当します。

345* **プラグインのエントリ**:Claude Code v2.1.238 以降では、代わりに `source` の横にプラグインの `marketplace.json` エントリで設定できます。345* **プラグインのエントリ**:Claude Code v2.1.238 以降では、代わりにプラグインの `marketplace.json` エントリ内で、`source` と並べて設定できます。

346 346 

347どちらの場所でも、値が短命の場合(レジストリが要求時に生成するトークンなど)は、`headers` の代わりに `headersHelper` コマンドを設定してください。Claude Code はコマンドを実行し、その場所のヘッダーとして出力する JSON オブジェクトを送信します。Claude Code v2.1.238 以降が必要です。347どちらの場所でも、レジストリがリクエストに応じて生成するトークンのように値の有効期間が短い場合は、`headers` の代わりに `headersHelper` コマンドを設定します。Claude Code はこのコマンドを実行し、コマンドが出力した JSON オブジェクトをその場所のヘッダーとして送信します。Claude Code v2.1.238 以降が必要です。

348 348 

349[マーケットプレイスリファレンス](/docs/ja/plugins/marketplace-reference#plugin-entries)は `headers` と `headersHelper` エントリフィールドをリストしています。349[マーケットプレイスリファレンス](/docs/ja/plugins/marketplace-reference#plugin-entries)に、エントリのフィールドである `headers` と `headersHelper` の説明があります。

350 350 

351選択する場所は、どのダウンロードがヘッダーを取得し、Claude Code がコマンドをいつ実行するかを決定します:351どちらの場所を選ぶかによって、どのダウンロードにヘッダーが付与されるか、また Claude Code がいつコマンドを実行するかが決まります。

352 352 

353| 場所 | ヘッダーを取得するダウンロード | Claude Code が `headersHelper` をそこで実行するとき |353| 場所 | ヘッダーが付与されるダウンロード | そこに設定された `headersHelper` を Claude Code が実行するタイミング |

354| :- | :- | :- |354| :- | :- | :- |

355| マーケットプレイス `url` ソース | マーケットプレイス URL のオリジン上のアーカイブダウンロード。同じスキーム、ホスト、ポート | マーケットプレイスの `marketplace.json` の各フェッチの前と、そのオリジン上の各アーカイブダウンロードの前。Claude Code は 1 回の実行の出力を最大 60 秒間再利用します |355| マーケットプレイスの `url` ソース | マーケットプレイス URL と同じオリジン(スキーム、ホスト、ポートがすべて同じ)でのアーカイブダウンロード | マーケットプレイスの `marketplace.json` を取得する前と、そのオリジンでアーカイブをダウンロードする前に毎回実行します。Claude Code は 1 回の実行の出力を最大 60 秒間再利用します |

356| プラグインエントリ | そのエントリのダウンロードのみ | ユーザーがそのプラグインを単独でインストールまたは更新し、[コマンドを受け入れる](#how-users-accept-a-headershelper-command)場合のみ |356| プラグインのエントリ | そのエントリのダウンロードのみ | ユーザーがそのプラグイン 1 つだけを単独でインストールまたは更新し、[コマンドを受け入れた](#how-users-accept-a-headershelper-command)場合のみ |

357 357 

358両方の場所が同じ名前のヘッダーを設定する場合、Claude Code はエントリの値を送信します。1 つの場所内で、コマンドが出力するヘッダーは同じ名前のリストされたヘッダーをオーバーライドします。358両方の場所で同じ名前のヘッダーが設定されている場合、Claude Code はエントリ側の値を送信します。同じ場所の中では、コマンドが出力したヘッダーが、`headers` に記載された同じ名前のヘッダーを上書きします。

359 359 

360<h3 id="add-a-headershelper-to-a-plugin-entry">360<h3 id="add-a-headershelper-to-a-plugin-entry">

361 プラグインエントリに headersHelper を追加する361 プラグインのエントリに headersHelper を追加する

362</h3>362</h3>

363 363 

364このエントリは `source` の横に `headersHelper` を設定します。また、[`"strict": false`](/docs/ja/plugins/marketplace-reference#strict-mode)を設定します。これは Claude Code が `headersHelper` を設定する `marketplace.json` エントリに必要とします:364次のエントリでは、`source` と並べて `headersHelper` を設定しています。また [`"strict": false`](/docs/ja/plugins/marketplace-reference#strict-mode) も設定しています。Claude Code では、`headersHelper` を設定する `marketplace.json` エントリにこの設定が必須です。

365 365 

366```json theme={null}366```json theme={null}

367{367{


376}376}

377```377```

378 378 

379エントリを確認するには、シェルで `claude plugin install my-plugin@your-marketplace` を実行してください。Claude Code はコマンドとアーカイブ URL を表示し、受け入れた後に zip をダウンロードします。379エントリを確認するには、シェルで `claude plugin install my-plugin@your-marketplace` を実行します。Claude Code がコマンドとアーカイブ URL を表示し、受け入れると zip をダウンロードします。

380 380 

381<h3 id="write-the-headershelper-command">381<h3 id="write-the-headershelper-command">

382 headersHelper コマンドを書く382 headersHelper コマンドを作成する

383</h3>383</h3>

384 384 

385マーケットプレイスの `url` ソースまたはプラグインエントリで `headersHelper` を設定するかどうかにかかわらず、コマンドを書いてこれらの要件を満たしてください:385`headersHelper` をマーケットプレイスの `url` ソースに設定する場合もプラグインのエントリに設定する場合も、コマンドは次の要件を満たすように作成します。

386 386 

387* **コマンドテキスト**:最大 500 文字の印字可能 ASCII。4 つ以上のスペースの実行なし。387* **コマンドのテキスト**:印字可能な ASCII で 500 文字以内とし、4 つ以上連続するスペースを含めないでください。

388* **出力**:stdout に 1 つの JSON オブジェクトのヘッダー名と文字列値を出力してから、10 秒以内に終了 0 で終了します。388* **出力**:ヘッダー名と文字列値からなる JSON オブジェクトを 1 つ stdout に出力し、10 秒以内に終了コード 0 で終了してください。

389* **シェルと作業ディレクトリ**:Claude Code はコマンドを `sh` を通じて実行するか、Windows では `cmd.exe` を通じて実行します。作業ディレクトリは設定ディレクトリです。`~/.claude` または [`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars#variables)。相対パスはそのディレクトリに対して解決されるため、ユーザーのプロジェクトではなく、絶対パスまたは `PATH` 上のコマンドを指定してください。389* **シェルと作業ディレクトリ**:Claude Code はコマンドを `sh` で実行します(Windows では `cmd.exe`)。作業ディレクトリは設定ディレクトリで、`~/.claude` または [`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars#variables) です。相対パスはユーザーのプロジェクトではなくこのディレクトリを基準に解決されるため、絶対パスか `PATH` 上のコマンドを指定してください。

390* **Claude Code が削除する変数**:コマンドが `marketplace.json` エントリ、またはプロジェクトの `.claude/settings.json` または `.claude/settings.local.json` で設定されている場合、Claude Code は環境から認証情報のように見える名前を持つすべての変数を削除します。[MCP `headersHelper` に適用するのと同じルール](/docs/ja/mcp#which-variables-a-helper-can-read)。`ANTHROPIC_API_KEY` と `MY_REGISTRY_TOKEN` は両方とも削除されるため、コマンドはファイルまたは認証情報ストアから認証情報を読み取ります。この削除はユーザー設定、`--settings` ファイル、または管理設定で設定されたコマンドには適用されません。390* **Claude Code が削除する変数**:コマンドが `marketplace.json` エントリ、またはプロジェクトの `.claude/settings.json` や `.claude/settings.local.json` で設定されている場合、Claude Code は、[MCP の `headersHelper` に適用するのと同じルール](/docs/ja/mcp#which-variables-a-helper-can-read)に従い、名前が認証情報らしく見えるすべての変数を環境から削除します。`ANTHROPIC_API_KEY` と `MY_REGISTRY_TOKEN` はどちらも削除されるため、コマンドは認証情報をファイルや認証情報ストアから読み取るようにしてください。この削除は、ユーザー設定、`--settings` ファイル、または管理設定で設定されたコマンドには適用されません。

391* **Claude Code が設定する変数**:`url` ソースのコマンドの場合は `CLAUDE_CODE_MARKETPLACE_URL` と `CLAUDE_CODE_MARKETPLACE_NAME`。エントリのコマンドの場合は `CLAUDE_CODE_PLUGIN_NAME` と `CLAUDE_CODE_PLUGIN_ARCHIVE_URL`。`CLAUDE_CODE_MARKETPLACE_NAME` は、ユーザーが URL でマーケットプレイスを追加した後の最初のフェッチでは設定されていません。そのフェッチが名前を提供するため。391* **Claude Code が設定する変数**:`url` ソースのコマンドには `CLAUDE_CODE_MARKETPLACE_URL` と `CLAUDE_CODE_MARKETPLACE_NAME`、エントリのコマンドには `CLAUDE_CODE_PLUGIN_NAME` と `CLAUDE_CODE_PLUGIN_ARCHIVE_URL` が設定されます。ユーザーが URL でマーケットプレイスを追加した後の最初の取得では、その取得によって名前が得られるため、`CLAUDE_CODE_MARKETPLACE_NAME` は設定されません。

392 392 

393ベアラートークンをミントするコマンドは、このようなオブジェクトを出力します:393ベアラートークンを発行するコマンドは、次のようなオブジェクトを出力します。

394 394 

395```json theme={null}395```json theme={null}

396{"Authorization": "Bearer eyJhbGciOiJSUzI1NiJ9"}396{"Authorization": "Bearer eyJhbGciOiJSUzI1NiJ9"}

397```397```

398 398 

399<h3 id="when-claude-code-skips-a-headershelper-command-or-drops-its-output">399<h3 id="when-claude-code-skips-a-headershelper-command-or-drops-its-output">

400 Claude Code が headersHelper コマンドをスキップするか出力をドロップするとき400 Claude Code が headersHelper コマンドをスキップする場合や出力を破棄する場合

401</h3>401</h3>

402 402 

403`headersHelper` コマンドは実行されないか、`headers` からのヘッダーまたはコマンドの出力は、以下のいずれかが適用される場合にドロップされます:403次のいずれかに該当する場合、`headersHelper` コマンドは実行されないか、`headers` またはコマンドの出力から得たヘッダーが破棄されます。

404 404 

405* **コマンドが失敗する**:コマンドが非ゼロで終了するか、10 秒を超えて実行するか、JSON オブジェクト以外の文字列値を出力する場合、コマンドが実行されたフェッチまたはダウンロードは発生しません。405* **コマンドが失敗した**:コマンドが 0 以外の終了コードで終了した場合、10 秒を超えて実行された場合、または文字列値からなる JSON オブジェクト以外のものを出力した場合、そのコマンドを実行する目的だった取得やダウンロードは行われません。

406* **マーケットプレイス URL が `https://` で始まらない**:その `url` ソースのコマンドは実行されず、リクエストは `headers` フィールドにリストされたヘッダーのみを実行します。406* **マーケットプレイスの URL が `https://` で始まらない**:その `url` ソースのコマンドは実行されず、リクエストには `headers` フィールドに記載されたヘッダーのみが付与されます。

407* **リダイレクトがオリジンを離れる**:ダウンロードがアーカイブ URL のオリジンからリダイレクトされる場合、リダイレクトされたリクエストはマーケットプレイス `url` ソースまたはプラグインエントリからの `headers` 値またはコマンド出力を実行しません。407* **リダイレクトでオリジンを離れた**:ダウンロードがアーカイブ URL のオリジン外にリダイレクトされた場合、リダイレクト後のリクエストには、マーケットプレイスの `url` ソースとプラグインのエントリのどちらの `headers` の値もコマンドの出力も付与されません。

408* **エントリがルーティングまたはアイデンティティヘッダーを設定する**:Claude Code はエントリの `headers` とコマンド出力から `Host`、`Cookie`、`X-Forwarded-*` などのリクエストルーティングおよびクライアントアイデンティティ名をドロップし、`Authorization` などの認証名を保持します。すべての `marketplace.json` エントリはこのようにフィルタリングされます。設定内のインラインプラグインエントリの場合は、[`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces)を参照してください。408* **エントリがルーティング用または識別用のヘッダーを設定している**:Claude Code は、`Host`、`Cookie`、`X-Forwarded-*` などのリクエストルーティング用やクライアント識別用の名前をエントリの `headers` とコマンドの出力から破棄し、`Authorization` などの認証用の名前は保持します。すべての `marketplace.json` エントリがこの方法でフィルタリングされます。設定内のインラインプラグインエントリについては、[`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces) を参照してください。

409* **`--add-dir` ディレクトリの設定で設定されたコマンド**:コマンドは無視され、`url` ソースと[インラインプラグインエントリ](/docs/ja/settings-reference#extraknownmarketplaces)の両方で、そのファイルの `headers` のみが送信されます。409* **コマンドが `--add-dir` ディレクトリの設定で設定されている**:`url` ソースでも[インラインプラグインエントリ](/docs/ja/settings-reference#extraknownmarketplaces)でも、コマンドは無視され、そのファイルの `headers` のみが送信されます。

410* **管理設定がコマンドをブロックする**:[`disableCommandPluginSources`](/docs/ja/settings-reference#disablecommandpluginsources)を `true` に設定するとブロック `headersHelper` コマンド、および [`allowManagedHooksOnly`](/docs/ja/settings-reference#allowmanagedhooksonly) も `disableCommandPluginSources` が明示的に `false` でない限りブロックします。どちらのブロックでも、Claude Code は管理設定自体が宣言するマーケットプレイスのコマンドを実行します。410* **管理設定がコマンドをブロックしている**:[`disableCommandPluginSources`](/docs/ja/settings-reference#disablecommandpluginsources) を `true` に設定すると `headersHelper` コマンドがブロックされます。また、[`allowManagedHooksOnly`](/docs/ja/settings-reference#allowmanagedhooksonly) も、`disableCommandPluginSources` が明示的に `false` でない限りこれらをブロックします。どちらのブロック下でも、管理設定自体が宣言しているマーケットプレイスについては、Claude Code は引き続きコマンドを実行します。

411 411 

412<h3 id="how-users-accept-a-headershelper-command">412<h3 id="how-users-accept-a-headershelper-command">

413 ユーザーが headersHelper コマンドを受け入れる方法413 ユーザーが headersHelper コマンドを受け入れる方法

414</h3>414</h3>

415 415 

416ユーザーは、そのプラグインを単独でインストールまたは更新するたびに、プラグインエントリのコマンドを受け入れます。彼らは `/plugin` のプラグイン自体のビューから、または `claude plugin install` または `claude plugin update` でそれを行います。Claude Code はコマンドとアーカイブ URL を表示し、ユーザーが受け入れた後にのみコマンドを実行します。416ユーザーは、プラグイン 1 つだけを単独でインストールまたは更新するたびに、そのプラグインのエントリのコマンドを受け入れます。Claude Code はコマンドとアーカイブ URL を表示し、ユーザーが受け入れた後にのみコマンドを実行します。

417 417 

418非対話的なシェルでは、[`--yes`](/docs/ja/plugins/cli-reference#plugin-install)を渡してコマンドを受け入れます。前の `--json` 実行が表示した、そのコマンドのみを受け入れるには、[`--accept-command`](/docs/ja/plugins/cli-reference#plugin-install)を実行が報告した `sha256` で渡します。418ユーザーは、ターミナルの Claude Code セッション内、セッションを実行していないシェル、または VS Code 拡張機能でプラグインをインストールまたは更新できます。

419 419 

420Claude Code は表示したコマンドのみを実行し、表示したアーカイブ URL に対してのみ実行します。エントリのコマンドまたはアーカイブ URL が間に変更された場合、Claude Code はインストールまたは更新を拒否します。クエリ文字列のみの変更はカウントされません。420* **ターミナルのセッション**:`/plugin` 内のそのプラグイン自身のビューから行います。

421* **シェル**:`claude plugin install` または `claude plugin update` で行います。

422* **VS Code 拡張機能**:拡張機能のバージョン 2.1.290 以降で、[**Manage plugins** ダイアログ](/docs/ja/vs-code#manage-plugins)から行います。

423 

424非対話型のシェルでは、[`--yes`](/docs/ja/plugins/cli-reference#plugin-install) を渡してコマンドを受け入れます。以前の `--json` 実行で表示されたコマンドだけを受け入れるには、その実行で報告された `sha256` を指定して [`--accept-command`](/docs/ja/plugins/cli-reference#plugin-install) を渡します。

425 

426Claude Code は、表示したコマンドを、表示したアーカイブ URL に対してのみ実行します。その間にエントリのコマンドまたはアーカイブ URL が変更された場合、Claude Code はインストールまたは更新を拒否します。クエリ文字列のみの変更は、VS Code 拡張機能の場合または `--accept-command` を使用した場合を除き、変更とはみなされません。

421 427 

422<h3 id="installs-and-updates-that-refuse-the-command-instead-of-asking">428<h3 id="installs-and-updates-that-refuse-the-command-instead-of-asking">

423 コマンドを要求する代わりに拒否するインストールと更新429 確認せずにコマンドを拒否するインストールと更新

424</h3>430</h3>

425 431 

426単一プラグインのインストールまたは更新以外の操作では、Claude Code はエントリのコマンドを実行せず、アーカイブをダウンロードしません。プラグインはインストール済みバージョンに留まるか、インストールされたままで、ユーザーは以下のいずれかを見ます:432単一プラグインのインストールまたは更新以外の操作では、Claude Code はエントリのコマンドを実行せず、そのアーカイブもダウンロードしません。プラグインはインストール済みのバージョンのまま、または未インストールのままとなり、ユーザーには次のいずれかの結果が表示されます。

427 433 

428* **複数のプラグインを一度にインストールする、プラグイン提案から、または別のプラグインの依存関係として**:Claude Code はコマンドを持つプラグインを拒否し、ユーザーを `/plugin` のそのプラグイン自体のビューに指示します。バルクインストール内の他のプラグインはまだインストールします。プラグインが拒否されたプラグインに依存する場合、ユーザーがそのプラグインを単独でインストールするまで失敗します。434* **複数のプラグインを一度にインストールする場合、プラグインの提案からインストールする場合、または別のプラグインの依存関係としてインストールする場合**:Claude Code はコマンドを持つプラグインを拒否し、ユーザーを `/plugin` 内のそのプラグイン自身のビューに誘導します。一括インストールの他のプラグインは引き続きインストールされます。拒否されたプラグインに依存するプラグインは、ユーザーが拒否されたプラグインを単独でインストールするまでインストールに失敗します。

429* **バックグラウンド自動更新、またはアーカイブがダウンロードされたことのないプラグインのセッション開始**:Claude Code はプラグインを `/plugin` エラータブにリストして、ユーザーが単独でインストールまたは更新することを知っています。435* **バックグラウンドでの自動更新、またはアーカイブが一度もダウンロードされていないプラグインのセッション開始時**:Claude Code はそのプラグインを `/plugin` の Errors タブに表示し、ユーザーが自分でインストールまたは更新する必要があることを知らせます。

430 436 

431<h3 id="when-a-marketplace-url-sources-command-runs">437<h3 id="when-a-marketplace-url-sources-command-runs">

432 マーケットプレイス `url` ソースのコマンドが実行されるとき438 マーケットプレイスの `url` ソースのコマンドが実行されるタイミング

433</h3>439</h3>

434 440 

435マーケットプレイス `url` ソースの `headersHelper` を、マーケットプレイスが公開するカタログではなく、[`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces) エントリなどの設定ファイルで宣言します。Claude Code はそれぞれのインストールまたは更新でユーザーに受け入れるよう求めません。代わりに、それを宣言する設定ファイルが Claude Code がそれを実行するときを決定します:441マーケットプレイスの `url` ソースの `headersHelper` は、マーケットプレイスが公開するカタログではなく、[`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces) エントリなどの設定ファイルで宣言します。そのため、Claude Code はインストールや更新のたびにユーザーに受け入れを求めることはありません。代わりに、それを宣言している設定ファイルによって、Claude Code がいつ実行するかが決まります。

436 442 

437| 設定ファイル | Claude Code がコマンドを実行するとき |443| 設定ファイル | Claude Code がコマンドを実行するタイミング |

438| :- | :- |444| :- | :- |

439| ユーザー設定、`--settings` ファイル、またはマシン上の管理設定ファイル | 尋ねずに、バックグラウンドマーケットプレイス更新を含む |445| ユーザー設定、`--settings` ファイル、またはマシン上の管理設定ファイル | 確認なしで実行します。バックグラウンドでのマーケットプレイスの更新中も含みます |

440| プロジェクトの `.claude/settings.json` または `.claude/settings.local.json` | ユーザーがそのフォルダ自体の[ワークスペーストラストダイアログ](/docs/ja/permissions#what-runs-before-you-trust-a-folder)を受け入れた後のみ。`-p` または SDK セッションはそれを受け入れるとしてカウントされず、親フォルダに付与された信頼もカウントされません |446| プロジェクトの `.claude/settings.json` または `.claude/settings.local.json` | ユーザーがそのフォルダ自体について[ワークスペースの信頼ダイアログ](/docs/ja/permissions#what-runs-before-you-trust-a-folder)を受け入れた後にのみ実行します。`-p` や SDK のセッションは受け入れとはみなされず、親フォルダに付与された信頼も同様です |

441| サーバー管理設定 | 対話的なセッションでは、ユーザーが[セキュリティ承認ダイアログ](/docs/ja/server-managed-settings#security-approval-dialogs)で配信された設定を承認した後のみ |447| サーバー管理設定 | 対話型セッションで、ユーザーが[セキュリティ承認ダイアログ](/docs/ja/server-managed-settings#security-approval-dialogs)で配信された設定を承認した後にのみ実行します |

442 448 

443これらのファイルの 1 つの[インラインプラグインエントリ](/docs/ja/settings-reference#extraknownmarketplaces)の場合、Claude Code はそのファイルのマーケットプレイスレベルのコマンドと同じフォルダ信頼または設定承認を要求し、ユーザーはまたそれぞれのインストールまたは更新でエントリのコマンドを受け入れます。449これらのファイル内の[インラインプラグインエントリ](/docs/ja/settings-reference#extraknownmarketplaces)については、Claude Code はそのファイル内のマーケットプレイスレベルのコマンドと同じフォルダの信頼または設定の承認を必要とし、さらにユーザーはインストールまたは更新のたびにエントリのコマンドを受け入れます。

444 450 

445<h2 id="depend-on-and-recommend-other-plugins">451<h2 id="depend-on-and-recommend-other-plugins">

446 他のプラグインに依存し、推奨する452 他のプラグインに依存し、推奨する

Details

189 189 

190* **Scope**: デフォルトではユーザースコープ。`--scope project` または `--scope local` を渡して変更します。190* **Scope**: デフォルトではユーザースコープ。`--scope project` または `--scope local` を渡して変更します。

191* **プラグインが読み込まれるとき**: インストールするプラグインは、Claude Code を次に開始するときか、既に開いているセッションで `/reload-plugins` を実行するときに読み込まれます。191* **プラグインが読み込まれるとき**: インストールするプラグインは、Claude Code を次に開始するときか、既に開いているセッションで `/reload-plugins` を実行するときに読み込まれます。

192* **マーケットプレイスは最初に追加する必要があります**: 誰も対話的な Claude Code セッションを開いていないマシンでは、公式マーケットプレイスが登録されていないため、そこからインストールするスクリプトは、インストール前に `claude plugin marketplace add anthropics/claude-plugins-official` を実行します。192* **新しいマシンでのマーケットプレイス**: まだ誰も対話的な Claude Code セッションを開いていないマシンでは、公式マーケットプレイスが登録されていないため、そこからインストールするスクリプトは、インストール前に `claude plugin marketplace add anthropics/claude-plugins-official` を実行します。[シェルから追加してインストールする](#add-and-install-from-your-shell)を参照してください。

193 193 

194```bash theme={null}194```bash theme={null}

195claude plugin install formatter@your-org --scope project195claude plugin install formatter@your-org --scope project


232 マーケットプレイスを追加してインストール(1 つのコマンド)232 マーケットプレイスを追加してインストール(1 つのコマンド)

233</h3>233</h3>

234 234 

235まだ追加していないマーケットプレイスからプラグインをインストールするには、Claude Code セッション内で `/plugin install` を実行し、`--marketplace` でマーケットプレイスソースを指定します。Claude Code v2.1.275 以降が必要です。235まだ追加していないマーケットプレイスからプラグインをインストールするには、セッション内またはシェルから、インストールコマンドで `--marketplace` を使ってマーケットプレイスのソースを指定します。ソースは [`/plugin marketplace add` と同じ形式](#add-a-marketplace)を取ります。例えば、GitHub `owner/repo`、git URL、またはローカルパスです。プラグイン名は `@marketplace` サフィックスなしで単独で指定します。

236 

237<h4 id="add-and-install-in-a-session">

238 セッション内で追加してインストールする

239</h4>

240 

241Claude Code セッション内で、プラグインとソースを指定して `/plugin install` を実行します。Claude Code v2.1.275 以降が必要です。セッション内では、ソースにスペースを含めることはできません。

236 242 

237```text theme={null}243```text theme={null}

238/plugin install deploy-helper --marketplace your-org/plugins244/plugin install deploy-helper --marketplace your-org/plugins

239```245```

240 246 

241ソースは [/plugin marketplace add](#add-a-marketplace) と同じ形式を取ります。例えば、GitHub `owner/repo`、git URL、またはローカルパス。ただし、スペースを含むことはできません。プラグイン名を `@marketplace` サフィックスなしで指定します。

242 

243そのマーケットプレイスをまだ追加していない場合、Claude Code は解決したソースを表示し、追加する前に確認するよう求めます。マーケットプレイスが追加されると、プラグインの詳細が開き、[インストール範囲](#install-a-plugin)を選択します。ソースが既に追加したマーケットプレイスと一致する場合、Claude Code は確認をスキップし、そのマーケットプレイスでプラグインの詳細を開きます。247そのマーケットプレイスをまだ追加していない場合、Claude Code は解決したソースを表示し、追加する前に確認するよう求めます。マーケットプレイスが追加されると、プラグインの詳細が開き、[インストール範囲](#install-a-plugin)を選択します。ソースが既に追加したマーケットプレイスと一致する場合、Claude Code は確認をスキップし、そのマーケットプレイスでプラグインの詳細を開きます。

244 248 

249<h4 id="add-and-install-from-your-shell">

250 シェルから追加してインストールする

251</h4>

252 

253シェルで、セッションを開始せずに、プラグインとソースを指定して `claude plugin install` を実行します。Claude Code v2.1.292 以降が必要です。

254 

255```bash theme={null}

256claude plugin install deploy-helper --marketplace your-org/plugins

257```

258 

259シェルコマンドは確認ステップなしでマーケットプレイスを追加します。そのソースから既に追加したマーケットプレイスは再利用されます。新しいマーケットプレイスは `claude plugin marketplace add` と同じ[組織ポリシーチェック](/docs/ja/plugins/org#restrict-what-users-can-install)のもとで追加され、`--scope project` を渡した場合でもユーザー設定で宣言されます。

260 

261そのマーケットプレイスをまだ追加していない場合、コマンドは `Successfully added marketplace: <name> (declared in user settings)` を出力してから、[プラグインをインストールします](#install-from-your-shell)。

262 

245<h3 id="add-a-private-marketplace">263<h3 id="add-a-private-marketplace">

246 プライベートマーケットプレイスを追加する264 プライベートマーケットプレイスを追加する

247</h3>265</h3>

Details

185| `official-claude-tools` など、`official` を `claude` または `anthropic` の隣に配置する | エラー |185| `official-claude-tools` など、`official` を `claude` または `anthropic` の隣に配置する | エラー |

186| `mcp-for-claude` など、`claude`、`anthropic`、または `anthropics` を全単語として他の場所に持つ | 警告 |186| `mcp-for-claude` など、`claude`、`anthropic`、または `anthropics` を全単語として他の場所に持つ | 警告 |

187 187 

188エラーは `Plugin name "<name>" is reserved: it passes as one of Anthropic's own` と読み、警告は `Plugin name "<name>" reads as one of Anthropic's own` と読みます。`claude plugin init` と `claude plugin tag` はエラーを引き出す名前を拒否します。これらのコマンドのみが名前をチェックします。Claude Code は、拒否する名前を持つプラグインをインストールして読み込みます。188エラーは `Plugin name "<name>" is reserved: it passes as one of Anthropic's own` と読み、警告は `Plugin name "<name>" reads as one of Anthropic's own` と読みます。`claude plugin init` と `claude plugin tag` はエラーとなる名前を拒否します。これらのコマンドが拒否する名前のプラグインであっても、Claude Code はインストールして読み込みます。

189 189 

190<h3 id="displayname">190<h3 id="displayname">

191 `displayName`191 `displayName`

Details

64 64 

65| フィールド | 型 | 説明 |65| フィールド | 型 | 説明 |

66| :- | :- | :- |66| :- | :- | :- |

67| `name` | string | マーケットプレイス識別子。文字、数字、`.`、`_`、`-` で構成され、文字または数字で始まり、`..` がありません。それ以外の名前を使用するマーケットプレイスからは Claude Code がプラグインをインストールできないため、`claude plugin validate` はそれ以外の名前では失敗します。ユーザーはプラグインをインストールする際、`my-plugin@my-marketplace` のような [プラグイン ID](/docs/ja/plugins/loading#find-where-a-plugin-came-from) の `@` の後にこの名前を入力します。[予約名](#reserved-names) を参照してください |67| `name` | string | マーケットプレイス識別子。文字、数字、`.`、`_`、`-` で構成され、文字または数字で始まり、`..` がありません。Claude Code は[それ以外の名前を使用するマーケットプレイスからプラグインをインストールできない](/docs/ja/plugins/troubleshooting#cannot-install-plugins-from-a-marketplace-with-this-name)ため、`claude plugin validate` はそれ以外の名前では失敗します。ユーザーはプラグインをインストールする際、`my-plugin@my-marketplace` のような [プラグイン ID](/docs/ja/plugins/loading#find-where-a-plugin-came-from) の `@` の後にこの名前を入力します。[予約名](#reserved-names) を参照してください |

68| `owner` | object | 管理者情報。`name` は必須。`email` および `url` はオプション |68| `owner` | object | 管理者情報。`name` は必須。`email` および `url` はオプション |

69| `plugins` | array | [プラグインエントリ](#plugin-entries)。各エントリは独立して検証されるため、1 つの無効なエントリがマーケットプレイスを失敗させません |69| `plugins` | array | [プラグインエントリ](#plugin-entries)。各エントリは独立して検証されるため、1 つの無効なエントリがマーケットプレイスを失敗させません |

70| `$schema` | string | エディタオートコンプリート用の JSON Schema URL。読み込み時に無視されます |70| `$schema` | string | エディタオートコンプリート用の JSON Schema URL。読み込み時に無視されます |

Details

138| `$.mcp.call` | 接続された MCP サーバーのツールを呼び出し、セッションの権限ルールの下で実行します |138| `$.mcp.call` | 接続された MCP サーバーのツールを呼び出し、セッションの権限ルールの下で実行します |

139| `$.model.complete` | ユーザーのプランまたは API キーをモデル呼び出しに使用します |139| `$.model.complete` | ユーザーのプランまたは API キーをモデル呼び出しに使用します |

140| `$.prompt.submit` | プロンプトを送信し、ユーザー独自の言葉として送信できます |140| `$.prompt.submit` | プロンプトを送信し、ユーザー独自の言葉として送信できます |

141| `$.session.send` | 別のセッションまたはサブエージェントの Claude が読む メッセージを送信します |141| `$.session.send` | 別のセッション、サブエージェント、または [チームメイト](/docs/ja/agent-teams) の Claude が読むメッセージを送信します |

142 142 

143`hooks:` 行では、[`tool.call`](/docs/ja/plugins/mods/reference#tools) と [`prompt.submit`](/docs/ja/plugins/mods/reference#prompts-and-what-claude-reads) は mod がすべてのツール呼び出しとすべてのプロンプトを見ることができ、それらを変更できることを意味しています。[`session.append`](/docs/ja/plugins/mods/reference#session) は mod が保存される前に会話の各行を書き直すことができることを意味しています。[`ui.render{component=AskUserQuestion}`](/docs/ja/plugins/mods/interface#change-what-claude-code-already-draws) は mod が Claude がユーザーに質問するために使用するダイアログを再描画できることを意味しています。`tool.check` は mod が権限プロンプトが表示される前にツール呼び出しを承認または拒否できることを意味しています。[デフォルトで何が起こるかを理解する](#know-what-happens-by-default) は、その答えに優先する規則とフックを一覧表示しています。143`hooks:` 行では、[`tool.call`](/docs/ja/plugins/mods/reference#tools) と [`prompt.submit`](/docs/ja/plugins/mods/reference#prompts-and-what-claude-reads) は mod がすべてのツール呼び出しとすべてのプロンプトを見ることができ、それらを変更できることを意味しています。[`session.append`](/docs/ja/plugins/mods/reference#session) は mod が保存される前に会話の各行を書き直すことができることを意味しています。[`ui.render{component=AskUserQuestion}`](/docs/ja/plugins/mods/interface#change-what-claude-code-already-draws) は mod が Claude がユーザーに質問するために使用するダイアログを再描画できることを意味しています。`tool.check` は mod が権限プロンプトが表示される前にツール呼び出しを承認または拒否できることを意味しています。[デフォルトで何が起こるかを理解する](#know-what-happens-by-default) は、その答えに優先する規則とフックを一覧表示しています。

144 144 

Details

79 モデルを呼び出す79 モデルを呼び出す

80</h2>80</h2>

81 81 

82mod は、テキストの並べ替えや要約などの小さなジョブのために、会話の外で独自にモデルに質問を尋ねることができます。`$.model.complete` はセッションの認証情報を使用して 1 つのプロンプトをモデルに送信し、返信に解決します。会話履歴はありません。82mod は、テキストの分類や要約などの小さなジョブのために、独自のリクエストをモデルに送信できます。`$.model.complete` はプロンプトを単独で送信し、`$.model.fork({ prompt })` は現在の会話の末尾にプロンプトを付けて送信します。

83 

84次の表は、それぞれのリクエストに含まれる内容を比較したものです。

85 

86| リクエストの内容 | `$.model.complete` | `$.model.fork` |

87| :- | :- | :- |

88| モデル | 渡した `model` | セッションのモデル |

89| システムプロンプト | 短い[帰属ブロック](/docs/ja/llm-gateway-protocol#system-prompt-attribution-block)、続いて `system` を渡した場合はその内容 | セッションのシステムプロンプト |

90| メッセージ | 1 つのユーザーメッセージ(渡した `prompt`) | これまでの会話、続いてユーザーメッセージとしての `prompt` |

91| CLAUDE.md およびその他のプロジェクトコンテキスト | 含まれない | 会話の最後のリクエストと同様に含まれる |

92| ツール | なし | Claude のツール(モデルは呼び出せない) |

93 

94フォークは会話の最後のリクエストを繰り返すため、会話がまだキャッシュされている間は、Claude API はその大部分を[プロンプトキャッシュ](/docs/ja/prompt-caching)から提供します。

95 

96どちらの呼び出しもセッションの認証情報を使用するため、ユーザーのプラン、API キー、またはクラウドプロバイダーに課金されます。[ビルド用の型](/docs/ja/plugins/mods/create#get-the-types-for-your-build)には、すべての `$.model` メソッドが記載されています。

97 

98<h3 id="send-one-prompt">

99 1 つのプロンプトを送信する

100</h3>

101 

102`$.model.complete` に `model` と `prompt` を渡します。`prompt` はユーザーメッセージになります。役割や出力形式などの指示をモデルに与えるには、`system` も渡します。これはシステムプロンプトになります。

83 103 

84このフックは、[コマンドとして登録された](#add-a-command) `/triage` コマンドに答え、小さなモデルに、その後に入力されたテキストにラベルを付けるよう尋ねます。104このフックは、[コマンドとして登録された](#add-a-command) `/triage` コマンドに答え、小さなモデルに、その後に入力されたテキストにラベルを付けるよう尋ねます。

85 105 


100})120})

101```121```

102 122 

103`/triage the export button does nothing` を実行すると、mod はそのテキストをモデルに送信し、その答え(`Label: bug` など)を出力します。Claude の会話は要求の一部ではありません。モデルが応答しない場合、ラベルは `unknown` です。123`/triage the export button does nothing` を実行すると、mod はそのテキストをモデルに送信し、その答え(`Label: bug` など)を出力します。モデルが応答しない場合、ラベルは `unknown` です。

124 

125Claude API の失敗は呼び出しを拒否しないため、`r.isAnswered` をチェックし、それが `false` の場合は `r.reason` を読んでください。呼び出しは、Claude Code が送信しないリクエスト(組織がブロックするモデルなど)に対して拒否されます。

126 

127[ビルド用の型](/docs/ja/plugins/mods/create#get-the-types-for-your-build)には `effort` などの他のオプションが記載されており、[制限](/docs/ja/plugins/mods/reference#limits)には `maxTokens` のデフォルトが示されています。

128 

129<h3 id="use-prompt-caching">

130 プロンプトキャッシュを使用する

131</h3>

132 

133`$.model.complete` は Claude API の[プロンプトキャッシュ](https://platform.claude.com/docs/en/build-with-claude/prompt-caching)をサポートしています。API は、リクエストの先頭部分(プレフィックスと呼ばれます)を、設定した[キャッシュブレークポイント](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints)までキャッシュします。すべての呼び出しが、指示や参考資料などの同じ長い静的コンテンツで始まる場合は、そのコンテンツの末尾にブレークポイントを設定します。以降の呼び出しでは、その部分に対して入力の全額を支払う代わりに、キャッシュから読み取ります。

134 

135ブレークポイントを設定するには、`prompt` を文字列ではなく `{ text }` ブロックの配列として渡し、静的コンテンツの最後のブロックに `cache: true` を追加します。Claude Code はそのブロックを API の `cache_control` フィールド付きで送信します。`system` も同じ配列形式を受け付けます。どちらを使うかの判断については、[`prompt` と `system` のどちらを使うか選ぶ](#choose-between-prompt-and-system)を参照してください。

136 

137<Note>

138 ブロックの配列には Claude Code v2.1.292 以降が必要です。それより前のバージョンでは、`prompt` 内の配列は `takes { model, prompt } (host check)` で終わるエラーで拒否され、`system` 内の配列はリクエストから除外されます。

139</Note>

140 

141このバージョンの [`/triage` フック](#send-one-prompt)は、ラベル付けするテキストの前に長いラベル付けルールを送信し、ルールの後にブレークポイントを置きます。`RULES` は独自に用意する文字列です。

142 

143```javascript theme={null}

144on('command.run', { command: 'triage' }, async ($, e) => {

145 const r = await $.model.complete({

146 model: 'haiku',

147 prompt: [

148 // すべての呼び出しで同一なので、キャッシュされるプレフィックスになる

149 { text: RULES, cache: true },

150 // 呼び出しごとに変わるので、ブレークポイントの後に置く

151 { text: e.args },

152 ],

153 })

154 return { text: 'Label: ' + (r.isAnswered ? r.text.trim() : 'unknown') }

155})

156```

157 

158TTL とブレークポイントの数には次の制限があります。

159 

160* **TTL**: キャッシュエントリは最後に使用されてから 5 分間保持されます。TTL は呼び出しではなく、ユーザーの Claude Code 設定によって決まります。1 時間にするには、[`subagentPromptCacheTtl`](/docs/ja/prompt-caching#choose-the-ttl-yourself) を `1h` に設定します。

161* **リクエストあたりのブレークポイント数**: API は[最大 4 つ](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#when-to-use-multiple-breakpoints)まで受け付け、それを超えると `r.reason` に `api-error` が返されます

162 

163<h4 id="choose-between-prompt-and-system">

164 `prompt` と `system` のどちらを使うか選ぶ

165</h4>

166 

167リクエストが Claude API に直接送られることがわかっている場合を除き、呼び出し間で共有する静的コンテンツは `prompt` の先頭に置いてください。

168 

169* **API キーまたは Claude のサブスクリプションで Claude API に直接送る場合**: どちらのフィールドでも機能します

170* **[Amazon Bedrock](/docs/ja/amazon-bedrock)、[Claude Platform on AWS](/docs/ja/claude-platform-on-aws)、[Google Cloud の Agent Platform](/docs/ja/google-vertex-ai)、[Microsoft Foundry](/docs/ja/microsoft-foundry)、または [LLM ゲートウェイ](/docs/ja/llm-gateway)を経由する場合**: `prompt` を使用します。Claude Code はシステムプロンプトの先頭に[帰属ブロック](/docs/ja/llm-gateway-protocol#system-prompt-attribution-block)を置き、そのフィンガープリントはユーザーメッセージの先頭から生成されます。`api.anthropic.com` エンドポイントはキャッシュの前にそのブロックを取り除きます。その他のエンドポイントはそれをプロンプトの一部として受け取るため、`prompt` の先頭が異なると `system` 内のブレークポイントがヒットしないことがあります。

171* **他の人が実行する mod の場合**: `prompt` を使用します。相手のプロバイダーは選べないためです

172 

173プレフィックスでは `system` が `prompt` より前に来るため、`prompt` 内のブレークポイントは `system` もカバーし、`system` が異なる呼び出しはキャッシュにヒットしません。

104 174 

105Claude API の失敗は呼び出しを拒否しないため、`r.isAnswered` をチェックし、それが `false` の場合は `r.reason` を読んでください。呼び出しは、Claude Code が送信しないリクエスト(組織がブロックするモデルなど)に対して拒否されます。[ビルド用の型](/docs/ja/plugins/mods/create#get-the-types-for-your-build) は、`effort` などの他のオプションをリストし、[制限](/docs/ja/plugins/mods/reference#limits) は `maxTokens` のデフォルトを示します。175<h4 id="check-for-cache-hits">

176 キャッシュヒットを確認する

177</h4>

106 178 

107`$.model.fork({ prompt })` は、代わりに現在の会話に 1 つの質問を尋ね、同じモデルとシステムプロンプトを使用するため、Claude API はプロンプトキャッシュからほとんどを提供します。179`$.model.complete` の結果には、API の[キャッシュフィールド](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#tracking-cache-performance)を含む `usage` オブジェクトがあります。`usage.cache_creation_input_tokens` は呼び出しがキャッシュに書き込んだトークン数を、`usage.cache_read_input_tokens` はキャッシュから読み取ったトークン数を数えます。最初の呼び出しでは書き込みが発生し、TTL 内の以降の呼び出しでは読み取りが発生するはずです。

108 180 

109これらの呼び出しはユーザーのプランまたは API キーを使用します。181すべての呼び出しで書き込みが発生し読み取りがない場合は、呼び出し間でプレフィックスが異なっているか、呼び出しの間隔が TTL より長くなっています。プレフィックスが異なる場合については、[`prompt` と `system` のどちらを使うか選ぶ](#choose-between-prompt-and-system)を参照してください。

182 

183モデルが応答した呼び出しで両方のフィールドがゼロのままの場合は、何もキャッシュされていません。次の各原因を確認してください。

184 

185* **プレフィックスが短すぎる**: API はモデルの[最小長](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-limitations)未満のプレフィックスをキャッシュせず、エラーも返しません

186* **プロンプトキャッシュが無効になっている**: [`DISABLE_PROMPT_CACHING` 変数](/docs/ja/prompt-caching#disable-prompt-caching)がそのモデルに適用されている場合、Claude Code はブレークポイントを削除し、テキストをキャッシュなしで送信します

187* **ゲートウェイが `cache_control` を取り除いている**: ゲートウェイは[フィールドを削除しても成功を返す](/docs/ja/prompt-caching#where-the-cache-lives)ことがあります

188* **別の mod がテキストの先頭を書き換えている**: その場合、Claude Code は[ブレークポイントなしで送信します](#what-a-model-complete-hook-receives)

189 

190<h3 id="what-a-model-complete-hook-receives">

191 `model.complete` フックが受け取るもの

192</h3>

193 

194[`model.complete`](/docs/ja/plugins/mods/reference#mods-api-calls) イベントをフックして他の mod のリクエストを検査または変更する場合は、次のフィールドからテキストを読み取ります。

195 

196* **`e.prompt`**: 常に文字列です。呼び出し元が配列を渡した場合は、ブロックのテキストを順に連結したものです。

197* **`e.system`**: 同じ方法で構築された文字列です。呼び出し元が `system` を渡さなかった場合は存在しません

198* **`e.promptBlocks` と `e.systemBlocks`**: 呼び出し元の配列です。それぞれ、呼び出し元がそのフィールドに配列を渡した場合に存在します

199 

200Claude Code は、フックが `next` に渡した文字列を送信し、それと一緒に渡された配列を使用して[キャッシュブレークポイント](#use-prompt-caching)を配置します。文字列の先頭とまだ一致している先頭のブロックはブレークポイントとともに保持し、文字列の残りはブレークポイントなしで送信します。たとえば、`next({ ...e, prompt: e.prompt + NOTE })` は呼び出し元のブレークポイントを保持し、`prompt` の先頭を変更するフックはそれらを削除します。

110 201 

111<h2 id="run-work-in-the-background">202<h2 id="run-work-in-the-background">

112 バックグラウンドで作業を実行する203 バックグラウンドで作業を実行する


140| 呼び出し | ユーザーが見るもの |231| 呼び出し | ユーザーが見るもの |

141| :- | :- |232| :- | :- |

142| `$.ui.status(text)` | プロンプトの下の 1 行で、変更するまで残ります。`⚠` と mod の名前で始まります。`⚠ my-mod: checks: 3 passing` など。 |233| `$.ui.status(text)` | プロンプトの下の 1 行で、変更するまで残ります。`⚠` と mod の名前で始まります。`⚠ my-mod: checks: 3 passing` など。 |

143| `$.ui.toast(text)` | 右上に表示されるトースト通知で、mod の名前がテキストの上にあり、数秒後に消えます |234| `$.ui.toast(text)` | mod の名前を含むトースト通知で、数秒後に消えます。[フルスクリーンレンダリング](/docs/ja/fullscreen)では右上のボックスとして、クラシックレンダラーではプロンプトの下の右側に 1 行で表示されます。 |

144| `$.ui.log(text)` | Claude が読まない、トランスクリプト内の薄い行。`●` と mod の名前で始まります。`● my-mod: build finished` など。 |235| `$.ui.log(text)` | Claude が読まない、トランスクリプト内の薄い行。`●` と mod の名前で始まります。`● my-mod: build finished` など。 |

145 236 

146<h3 id="start-a-turn-from-a-background-job">237<h3 id="start-a-turn-from-a-background-job">


159 セッション間でメッセージを送受信する250 セッション間でメッセージを送受信する

160</h2>251</h2>

161 252 

162mod は、別のセッションまたはこのセッションのサブエージェントの 1 つにプレーンテキストメッセージを送信し、到着して離れるメッセージを観察できます。`$.session.send({ to, text })` は 1 つを送信し、SendMessage ツールが行う配信と同じです。`to` は、セッションの場合は `{ sessionId }`、`$.agent.list()` からのサブエージェントの場合は `{ agentId }`、または受信したメッセージが来たアドレスです。呼び出しはメッセージがキューに入ったら解決し、`{ isDelivered: true }` で解決します。何も配信されなかった場合、`{ isDelivered: false, reason }` で解決し、`reason` は理由を述べます。253mod は、自分の別のセッション、このセッションのサブエージェントの 1 つ、またはその[エージェントチーム](/docs/ja/agent-teams)のチームメイトにプレーンテキストメッセージを送信できます。また、到着して離れるメッセージを観察することもできます。

254 

255メッセージを送信するには、`$.session.send({ to, text })` を呼び出します。これは SendMessage ツールが行う配信と同じです。`to` は受信者に応じて設定します。

256 

257* **自分の別のセッション**: `{ sessionId }`

258* **サブエージェントまたはチームメイト**: `{ agentId }`(`$.agent.list()` から取得した ID を使用)

259* **受信したメッセージの送信者**: そのメッセージの送信元の文字列アドレス

260 

261呼び出しはメッセージがキューに入ったら解決し、`{ isDelivered: true }` で解決します。何も配信されなかった場合、`{ isDelivered: false, reason }` で解決し、`reason` は理由を述べます。

163 262 

164このフックは、[コマンドとして登録された](#add-a-command) `/ping` コマンドに答え、その後に入力したセッション ID のセッションにステータスを尋ねます。263このフックは、[コマンドとして登録された](#add-a-command) `/ping` コマンドに答え、その後に入力したセッション ID のセッションにステータスを尋ねます。

165 264 

Details

281 バージョンの型定義を取得する281 バージョンの型定義を取得する

282</h3>282</h3>

283 283 

284Claude Code が `--plugin-dir` に渡すディレクトリから mod をロードまたは再ロードするたびに、または [Claude が書いた](#ask-claude-for-a-mod) mod の場合、TypeScript 宣言ファイル(`.d.ts` で終わる)を mod のディレクトリ内の `.claude-plugin/types/` に書き込みます。実行している Claude Code バージョンの正確なイベント、mods API メソッド、および要素について説明しているため、エディターは hook を自動補完および型チェックできます。宣言をオンラインで参照するには、Claude Code リポジトリの [`mods/types/claude-code.d.ts`](https://github.com/anthropics/claude-code/blob/main/mods/types/claude-code.d.ts) を読んでください。その最初の行は、それを書いたバージョンに名前を付けます。ディレクトリには次のファイルが含まれます。284Claude Code が対話型セッションで `--plugin-dir` から mod をロードするとき、または [Claude が書いた](#ask-claude-for-a-mod) mod をロードするとき、TypeScript 宣言ファイルを mod の `.claude-plugin/types/` ディレクトリに書き込みます。これらのファイルは実行している Claude Code バージョンの正確なイベント、mods API メソッド、および要素について説明しているため、エディターはフックを自動補完および型チェックできます。ディレクトリには次のファイルが含まれます。

285 285 

286| パス | 宣言内容 |286| パス | 宣言内容 |

287| :- | :- |287| :- | :- |

Details

145 145 

146Claude が `.mdx` ファイルを編集または書き込んだ後、トランスクリプトの薄い色の行にそのファイル名が表示されます。別の種類のファイルの場合や、拒否または失敗した呼び出しの場合は何も記録されません。フックは受け取った結果をそのまま返すため、Claude から見た呼び出しの内容は変わりません。146Claude が `.mdx` ファイルを編集または書き込んだ後、トランスクリプトの薄い色の行にそのファイル名が表示されます。別の種類のファイルの場合や、拒否または失敗した呼び出しの場合は何も記録されません。フックは受け取った結果をそのまま返すため、Claude から見た呼び出しの内容は変わりません。

147 147 

148呼び出しを変更するには、変更した引数を `next` に渡します。呼び出しを再試行するには、`next(e)` をもう一度呼び出します。最初の結果で `isError` を確認したフックは、ツールをもう一度実行してその結果を返すことができます。呼び出しに自分で応答するには、`next` を呼び出さずに `result` フィールドを持つオブジェクト(例えば `{ result: 'Skipped by my-mod' }`)を返します。この場合、権限プロンプトは表示されずツールも実行されないため、返した結果が、何が起きたかについて Claude が知るすべてになります。148フックは、呼び出しを変更したり、再試行したり、自分で応答したり、その結果を保留したりすることもできます:

149 

150* **呼び出しを変更する**:変更した引数を `next` に渡します。

151* **呼び出しを再試行する**:`next(e)` をもう一度呼び出します。最初の結果で `isError` を確認したフックは、ツールをもう一度実行してその結果を返すことができます。

152* **呼び出しに自分で応答する**:`next` を呼び出さずに `result` フィールドを持つオブジェクトを返します。組み込みツールの場合は、[使用しているビルドの型](/docs/ja/plugins/mods/create#get-the-types-for-your-build)でそのツール自身の結果が持つ形を `result` に与えてください。権限プロンプトは表示されずツールも実行されないため、返した結果が、何が起きたかについて Claude が知るすべてになります。

153* **結果を Claude に渡さない**:`await next(e)` の後に `{ deny: reason }` を返します。Claude は `next` が返したものの代わりに、指定した理由を読みます。ツールが実行された場合、deny はその結果を Claude に渡さないようにするだけで、ツールが行った処理は何も元に戻しません。ツールが実行されて成功した場合、理由は `Bash ran, and a plugin withheld its result:` のような注記の後に続きます。

149 154 

150組織の[管理設定](/docs/ja/server-managed-settings)にあるフックは、どの mod の `tool.call` フックよりも先に実行され、それらによるブロックは最終的なものです。155組織の[管理設定](/docs/ja/server-managed-settings)にあるフックは、どの mod の `tool.call` フックよりも先に実行され、それらによるブロックは最終的なものです。

151 156 


225 230 

226| 目的 | 返す値 |231| 目的 | 返す値 |

227| :- | :- |232| :- | :- |

228| プロンプトを書き換える。トランスクリプトのメッセージには新しいテキストが表示されます。 | `next({ ...e, text: newText })` |233| プロンプトを書き換える。トランスクリプトと[プロンプト履歴](/docs/ja/interactive-mode#command-history)には新しいテキストが表示されます。 | `next({ ...e, text: newText })` |

229| Claude だけが読むテキストをプロンプトの後に追加する | `next({ ...e, context: [...(e.context ?? []), extraText] })` |234| Claude だけが読むテキストをプロンプトの後に追加する | `next({ ...e, context: [...(e.context ?? []), extraText] })` |

230| プロンプトの送信を止める | `{ drop: 'the reason' }` |235| プロンプトの送信を止める | `{ drop: 'the reason' }` |

231 236 


245 250 

246`open a PR for this change` などのプロンプトを送信すると、トランスクリプト上のメッセージは変わらず、Claude はその後に `Current branch: feature/auth` のような行も読みます。プルリクエストに言及しないプロンプトは変更されずに送信され、`git` は実行されません。251`open a PR for this change` などのプロンプトを送信すると、トランスクリプト上のメッセージは変わらず、Claude はその後に `Current branch: feature/auth` のような行も読みます。プルリクエストに言及しないプロンプトは変更されずに送信され、`git` は実行されません。

247 252 

248プロンプトを止めるには、`next` を呼び出さずに `{ drop: 'the reason' }` を返します。フックの `next(e)` 呼び出しでプロンプトを通過させた後に `drop` を返した場合、ターンはそのまま実行され、フックは `a drop after its next() was answered` を含むメッセージとともに[失敗](#handle-a-hook-that-fails)します。253プロンプトを止めるには、`next` を呼び出さずに `{ drop: 'the reason' }` を返します。テキストはユーザーのプロンプト入力欄に戻り、ユーザーには `Prompt dropped by a hook:` に続けて理由が表示されるため、理由はユーザーに向けて書いてください。フックの `next(e)` 呼び出しでプロンプトを通過させた後に `drop` を返した場合、ターンはそのまま実行され、フックは `a drop after its next() was answered` を含むメッセージとともに[失敗](#handle-a-hook-that-fails)します。

249 254 

250Claude が読むその他の内容は[他のイベント](/docs/ja/plugins/mods/reference#prompts-and-what-claude-reads)で扱います。システムプロンプトの各セクションには `prompt.section`、最初のメッセージとともに送信されるコンテキストには `prompt.context`、スキルのテキストには `skill.prompt` を使用します。これらのフックからのテキストがリクエストごとに変わると、[プロンプトキャッシュが無効化されます](/docs/ja/prompt-caching)。255Claude が読むその他の内容は[他のイベント](/docs/ja/plugins/mods/reference#prompts-and-what-claude-reads)で扱います。システムプロンプトの各セクションには `prompt.section`、最初のメッセージとともに送信されるコンテキストには `prompt.context`、スキルのテキストには `skill.prompt` を使用します。これらのフックからのテキストがリクエストごとに変わると、[プロンプトキャッシュが無効化されます](/docs/ja/prompt-caching)。

251 256 


281 286 

282`result.usage` は、Claude API がリクエストについて報告するトークン数(`input_tokens`、`output_tokens`、`cache_read_input_tokens`、`cache_creation_input_tokens`)と、応答した `model` を保持します。フックはサブエージェントのリクエストでも実行されるため、メインの会話だけを対象にしたい場合は `e.agentId` を確認してください。287`result.usage` は、Claude API がリクエストについて報告するトークン数(`input_tokens`、`output_tokens`、`cache_read_input_tokens`、`cache_creation_input_tokens`)と、応答した `model` を保持します。フックはサブエージェントのリクエストでも実行されるため、メインの会話だけを対象にしたい場合は `e.agentId` を確認してください。

283 288 

289リクエスト中に API 自身が実行したツール呼び出し([advisor ツール](/docs/ja/advisor)への呼び出しなど)を確認するには、`result.serverToolUses` を読み取ります。Claude Code はこれらの呼び出しを実行しないため、これらに対して `tool.call` フックや `tool.check` フックは発火しません。レスポンスにそのような呼び出しが含まれない場合、このフィールドは存在しません。また、このフィールドには Claude Code v2.1.290 以降が必要です。

290 

284<h3 id="hook-the-settings-hook-events">291<h3 id="hook-the-settings-hook-events">

285 設定フックのイベントを処理する292 設定フックのイベントを処理する

286</h3>293</h3>


369* **`tool.check`**:`{ decision: 'deny', reason: 'the reason' }` を返します376* **`tool.check`**:`{ decision: 'deny', reason: 'the reason' }` を返します

370* **`plugin.register`**:[チェックが失敗したときに mod を拒否する](/docs/ja/plugins/mods/admin#refuse-mods-when-your-check-fails)で示しているように、`{ refuse: 'the reason' }` を返します377* **`plugin.register`**:[チェックが失敗したときに mod を拒否する](/docs/ja/plugins/mods/admin#refuse-mods-when-your-check-fails)で示しているように、`{ refuse: 'the reason' }` を返します

371 378 

379`tool.call` では、`next` が解決した後に返された `deny` は[結果を Claude に渡さずに保留します](#guard-or-change-a-tool-call)。

380 

372<h2 id="next-steps">381<h2 id="next-steps">

373 次のステップ382 次のステップ

374</h2>383</h2>

Details

10 10 

11次の図は、ターミナルセッション内で mod が描画できる場所を示しています。11次の図は、ターミナルセッション内で mod が描画できる場所を示しています。

12 12 

13<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5fda26b6609c62b68c6f9e528c1590ea" className="dark:hidden" alt="Claude Code のターミナルセッションの図。mod は、右側のサイドバーとしてのペイン、トランスクリプト右上のトースト、トランスクリプト内のログ行、プロンプト上部の帯、プロンプト下のステータスラインを追加できます。mod はメッセージ、ツール呼び出しの行、スピナーを再描画できます。プロンプトは Claude Code 自身のものです。" width="600" height="336" data-path="images/mods-screen-map.svg" />13<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5fda26b6609c62b68c6f9e528c1590ea" className="dark:hidden" alt="フルスクリーン描画での Claude Code のターミナルセッションの図。mod は、右側のサイドバーとしてのペイン、トランスクリプト右上のトースト、トランスクリプト内のログ行、プロンプト上部の帯、プロンプト下のステータスラインを追加できます。mod はメッセージ、ツール呼び出しの行、スピナーを再描画できます。プロンプトは Claude Code 自身のものです。" width="600" height="336" data-path="images/mods-screen-map.svg" />

14 14 

15<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map-dark.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5b4161581a1bd2c0450b0c8b57bc1225" className="hidden dark:block" alt="Claude Code のターミナルセッションの図。mod は、右側のサイドバーとしてのペイン、トランスクリプト右上のトースト、トランスクリプト内のログ行、プロンプト上部の帯、プロンプト下のステータスラインを追加できます。mod はメッセージ、ツール呼び出しの行、スピナーを再描画できます。プロンプトは Claude Code 自身のものです。" width="600" height="336" data-path="images/mods-screen-map-dark.svg" />15<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map-dark.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5b4161581a1bd2c0450b0c8b57bc1225" className="hidden dark:block" alt="フルスクリーン描画での Claude Code のターミナルセッションの図。mod は、右側のサイドバーとしてのペイン、トランスクリプト右上のトースト、トランスクリプト内のログ行、プロンプト上部の帯、プロンプト下のステータスラインを追加できます。mod はメッセージ、ツール呼び出しの行、スピナーを再描画できます。プロンプトは Claude Code 自身のものです。" width="600" height="336" data-path="images/mods-screen-map-dark.svg" />

16 16 

17幅の狭いターミナルでは、ペインはトランスクリプトの横ではなくプロンプトの上に配置されます。17幅の狭いターミナルでは、ペインはトランスクリプトの横ではなくプロンプトの上に配置されます。

18 18 


324| `title` | 複数のペインが開いているときのペインのタブラベル |324| `title` | 複数のペインが開いているときのペインのタブラベル |

325| `focus` | [キーボードフォーカス](#know-which-keys-your-mod-can-receive)を要求する |325| `focus` | [キーボードフォーカス](#know-which-keys-your-mod-can-receive)を要求する |

326| `closeOnEscape` | Esc キーでペインを閉じられるようにする |326| `closeOnEscape` | Esc キーでペインを閉じられるようにする |

327| `holdToasts` | [`$.ui.toast`](/docs/ja/plugins/mods/api#show-something-without-starting-a-turn) による小さな通知であるトーストを、ペインが閉じるまで保留する |327| `holdToasts` | ターミナルでは、このペインが表示されている間トーストを保留する。[ダイアログの背後でトーストを保留する](#hold-toasts-behind-a-dialog)を参照してください。 |

328| `rows` | ペインがプロンプトの上に配置されるときに求める高さ。デフォルトは領域の 3 分の 1 です。 |328| `rows` | ペインがプロンプトの上に配置されるときに求める高さ。デフォルトは領域の 3 分の 1 です。 |

329| `columns` | ペインがトランスクリプトの横に配置されるときに求める幅 |329| `columns` | ペインがトランスクリプトの横に配置されるときに求める幅 |

330 330 


337 337 

338Claude の作業中にコマンドでペインを開けるようにするには、[コマンドを登録する](/docs/ja/plugins/mods/api#add-a-command)際に `immediate: true` を追加します。これがない場合、ターン中に入力されたコマンドはターンが終わるまで待機します。338Claude の作業中にコマンドでペインを開けるようにするには、[コマンドを登録する](/docs/ja/plugins/mods/api#add-a-command)際に `immediate: true` を追加します。これがない場合、ターン中に入力されたコマンドはターンが終わるまで待機します。

339 339 

340<h4 id="hold-toasts-behind-a-dialog">

341 ダイアログの背後でトーストを保留する

342</h4>

343 

344ペインがユーザーが回答して閉じるダイアログである場合は、`$.ui.open` に `holdToasts: true` を渡すと、ユーザーが判断している間にトーストが表示されなくなります。ターミナルでは、そのペインが表示されている間は保留が続き、その間に発生したトーストは保留が終わるまで待機します。

345 

346Claude Code は、自分の mod が [`$.ui.toast`](/docs/ja/plugins/mods/api#show-something-without-starting-a-turn) で発生させるトーストだけでなく、他の mod のトーストや Claude Code 自身の短時間の通知も保留します。開いたままにするペインではこのフィールドを省略し、ユーザーがそれらを引き続き確認できるようにしてください。

347 

340<h4 id="when-a-pane-waits-for-a-wider-terminal">348<h4 id="when-a-pane-waits-for-a-wider-terminal">

341 ペインが幅の広いターミナルを待つ場合349 ペインが幅の広いターミナルを待つ場合

342</h4>350</h4>

Details

64| :- | :- | :- |64| :- | :- | :- |

65| [`tool.call`](/docs/ja/plugins/mods/events#guard-or-change-a-tool-call) | ツールが実行される直前 | `next(e)`、`{ deny: reason }`、または `{ result }` |65| [`tool.call`](/docs/ja/plugins/mods/events#guard-or-change-a-tool-call) | ツールが実行される直前 | `next(e)`、`{ deny: reason }`、または `{ result }` |

66| [`tool.check`](/docs/ja/plugins/mods/events#where-settings-hooks-run-in-the-order) | `tool.call` フックと `PreToolUse` フックの後、Claude Code がツール呼び出しを実行してよいかを判定するとき。`next(e)` は、ルール、権限モード、それらのフックが下した判定に解決されます。 | `{ decision }`(`allow`、`ask`、`deny` のいずれか) |66| [`tool.check`](/docs/ja/plugins/mods/events#where-settings-hooks-run-in-the-order) | `tool.call` フックと `PreToolUse` フックの後、Claude Code がツール呼び出しを実行してよいかを判定するとき。`next(e)` は、ルール、権限モード、それらのフックが下した判定に解決されます。 | `{ decision }`(`allow`、`ask`、`deny` のいずれか) |

67| `tool.describe` | 各ツールにつき 1 回、その説明が初めて Claude に送信されるとき | `{ description }`(任意で `isDeferred` を指定でき、`true` にするとツールを[ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)の背後に置き、`false` にすると最初から読み込みます) |67| `tool.describe` | 各ツールにつき 1 回、その説明が初めて Claude に送信されるとき。MCP ツールの場合は、Claude が[ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)を通じてそのツールを読み込むときに 2 回目が発火し、`e.description` には読み込まれたツールについて Claude が読むテキストが設定されます。 | `{ description }`(任意で `isDeferred` を指定でき、`true` にするとツールをツール検索の背後に置き、`false` にすると最初から読み込みます) |

68 68 

69<h4 id="agent-and-organization-fields-on-tool-check">69<h4 id="agent-and-organization-fields-on-tool-check">

70 `tool.check` のエージェントと組織のフィールド70 `tool.check` のエージェントと組織のフィールド


133| `session.end` | セッションが終了するとき、または `/clear`、`/resume`、`/branch` が実行されるとき。`e.reason` は `clear`、`resume`、`logout`、`prompt_input_exit`、`other` のいずれかです。`/branch` は `resume` を報告します。 | `next(e)` |133| `session.end` | セッションが終了するとき、または `/clear`、`/resume`、`/branch` が実行されるとき。`e.reason` は `clear`、`resume`、`logout`、`prompt_input_exit`、`other` のいずれかです。`/branch` は `resume` を報告します。 | `next(e)` |

134| `session.compact` | 会話がコンパクト化される直前 | `{ skip: reason }` |134| `session.compact` | 会話がコンパクト化される直前 | `{ skip: reason }` |

135| [`session.receive`](/docs/ja/plugins/mods/api#send-and-receive-messages-between-sessions)、[`session.send`](/docs/ja/plugins/mods/api#send-and-receive-messages-between-sessions) | 他のエージェントやセッションからメッセージが届いたとき、またはそこへ送信される直前。[セッション間でメッセージを送受信する](/docs/ja/plugins/mods/api#send-and-receive-messages-between-sessions)を参照してください。 | `receive` では `{ consumed: reason }`、`send` では `{ isDelivered: false, reason }` |135| [`session.receive`](/docs/ja/plugins/mods/api#send-and-receive-messages-between-sessions)、[`session.send`](/docs/ja/plugins/mods/api#send-and-receive-messages-between-sessions) | 他のエージェントやセッションからメッセージが届いたとき、またはそこへ送信される直前。[セッション間でメッセージを送受信する](/docs/ja/plugins/mods/api#send-and-receive-messages-between-sessions)を参照してください。 | `receive` では `{ consumed: reason }`、`send` では `{ isDelivered: false, reason }` |

136| `session.append` | プロンプト、応答ブロック、ツールの結果、通知など、会話が保持する各行につき 1 回、保存される前 | 行の `content` を書き換えるには `next({ ...e, message })` |136| `session.append` | プロンプト、応答ブロック、ツールの結果、通知など、会話が保持する各行につき 1 回、保存される前 | 行のテキストブロック、または行内の `tool_result` ブロックの `content` を書き換えるには、`message.content` を変更した `next({ ...e, message })` |

137| `session.attach`、`session.detach` | 別のアプリがセッションに接続または切断するとき | `next(e)` |137| `session.attach`、`session.detach` | 別のアプリがセッションに接続または切断するとき | `next(e)` |

138| `session.measure` | 各ターンの後、およびプランの制限の使用率が変化したとき | `next(e)` |138| `session.measure` | 各ターンの後、およびプランの制限の使用率が変化したとき | `next(e)` |

139 139 


209| [`$.ui`](/docs/ja/plugins/mods/interface#pick-where-to-draw) | `resolve`、`invalidate`、`open`、`close`、`panes`、`focus`、`scroll`、`toast`、`status`、`log`、`notice`、`ask`、`copy`、`selection`、`blit` |209| [`$.ui`](/docs/ja/plugins/mods/interface#pick-where-to-draw) | `resolve`、`invalidate`、`open`、`close`、`panes`、`focus`、`scroll`、`toast`、`status`、`log`、`notice`、`ask`、`copy`、`selection`、`blit` |

210| [`$.command`](/docs/ja/plugins/mods/api#add-a-command) | `register`、`run`、`list` |210| [`$.command`](/docs/ja/plugins/mods/api#add-a-command) | `register`、`run`、`list` |

211| [`$.tool`](/docs/ja/plugins/mods/api#add-a-tool) | `register`、`call`、`check`、`list` |211| [`$.tool`](/docs/ja/plugins/mods/api#add-a-tool) | `register`、`call`、`check`、`list` |

212| `$.agent` | `register`、`spawn`、`list` |212| `$.agent` | `register`、`spawn`、`list`。`list()` はこのセッションのサブエージェントとチームメイトを返します。それぞれに `pending`、`running`、`waiting`、`idle`、`completed`、`failed`、`killed` のいずれかの `status` があり、`idle` と `waiting` には Claude Code v2.1.289 以降が必要です。 |

213| [`$.model`](/docs/ja/plugins/mods/api#call-a-model) | `complete`、`fork`、`classify` |213| [`$.model`](/docs/ja/plugins/mods/api#call-a-model) | `complete`、`fork`、`classify` |

214| [`$.prompt`](/docs/ja/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`、`read`、`fill`、`suggest`、`compose`。Claude は、`submit({ text })` のテキストを、その mod を送信者として示す文の後に読みます。`submit({ text, asUser: true })` は、その文なしで、テキストをユーザー自身の言葉として送信します。 |214| [`$.prompt`](/docs/ja/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`、`read`、`fill`、`suggest`、`compose`。Claude は、`submit({ text })` のテキストを、その mod を送信者として示す文の後に読みます。`submit({ text, asUser: true })` は、その文なしで、テキストをユーザー自身の言葉として送信します。 |

215| `$.turn` | `abort` |215| `$.turn` | `abort` |


317| `$.process.run` のタイムアウト | デフォルトは 30 秒、最大 10 分 |317| `$.process.run` のタイムアウト | デフォルトは 30 秒、最大 10 分 |

318| `$.model.complete` の `maxTokens` | デフォルトは 1024、最大 64,000 またはモデルの出力上限 |318| `$.model.complete` の `maxTokens` | デフォルトは 1024、最大 64,000 またはモデルの出力上限 |

319| `$.fs.read` と `$.fs.write` | 1 ファイルあたり 4 MiB |319| `$.fs.read` と `$.fs.write` | 1 ファイルあたり 4 MiB |

320| フックの `drop` の理由、または `config.set` の `deny` の理由 | 4,096 文字。これより長い理由は末尾が切り詰められ、drop または deny はそのまま適用されます。切り詰めには Claude Code v2.1.292 以降が必要で、それより前のバージョンではフックが代わりに[失敗](/docs/ja/plugins/mods/events#handle-a-hook-that-fails)します。 |

320| 1 つのツリー内のテキスト | 最初の 100,000 文字が描画されます |321| 1 つのツリー内のテキスト | 最初の 100,000 文字が描画されます |

321| `Code` の `language` または `path`、`Select` オプションの `value`、または `Client` の `module` | 10,000 文字。これより長い場合、Claude Code は[その箇所を独自の表示で描画します](/docs/ja/plugins/mods/interface#build-a-tree-from-elements)。 |322| `Code` の `language` または `path`、`Select` オプションの `value`、または `Client` の `module` | 10,000 文字。これより長い場合、Claude Code は[その箇所を独自の表示で描画します](/docs/ja/plugins/mods/interface#build-a-tree-from-elements)。 |

322| `Link` の `href` | 2,048 文字。これより長い `href` があると、ツリー全体が描画されません。 |323| `Link` の `href` | 2,048 文字。これより長い `href` があると、ツリー全体が描画されません。 |


325| `$.ui.invalidate('ui.render')` による再描画 | 1 秒あたり 10 回に制限。ターミナルでは、表示中のペイン、展開されたバンド、プロンプト下のヒント行については 30 回。それより早い呼び出しはまとめられます。 |326| `$.ui.invalidate('ui.render')` による再描画 | 1 秒あたり 10 回に制限。ターミナルでは、表示中のペイン、展開されたバンド、プロンプト下のヒント行については 30 回。それより早い呼び出しはまとめられます。 |

326| `$.ui.toast` | `{ timeoutMs }` を渡さない限り 4 秒間表示 |327| `$.ui.toast` | `{ timeoutMs }` を渡さない限り 4 秒間表示 |

327| ユーザーが求めずに開かれたペイン | ターミナルの幅が 144 列以上で配置。ユーザーが一度開いた後は 110 列以上 |328| ユーザーが求めずに開かれたペイン | ターミナルの幅が 144 列以上で配置。ユーザーが一度開いた後は 110 列以上 |

329| フックモジュールの 1 つのファイル内で互いに入れ子になったスコープ(関数、ブロック、ループなど) | 2,000 |

328| コマンド、ツール、サブエージェントの種類、ペインの名前 | 英字、数字、`_`、`-`、最大 64 文字 |330| コマンド、ツール、サブエージェントの種類、ペインの名前 | 英字、数字、`_`、`-`、最大 64 文字 |

329| 1 つの `claude plugin test` テスト | テストが `timeoutMs` を設定しない限り 5 秒 |331| 1 つの `claude plugin test` テスト | テストが `timeoutMs` を設定しない限り 5 秒 |

330 332 

Details

110* `returned neither { value } nor { deny }`: mods API 呼び出し用のスタブが値をそのまま返した。この場合、テストは失敗する110* `returned neither { value } nor { deny }`: mods API 呼び出し用のスタブが値をそのまま返した。この場合、テストは失敗する

111* `no implementation for` の後に名前が続く: mod がその呼び出しを行ったが、応答するスタブがない111* `no implementation for` の後に名前が続く: mod がその呼び出しを行ったが、応答するスタブがない

112 112 

113キットは、名前空間全体に応答するインメモリのモックもエクスポートしています。`mock.clock(on)` は [`$.clock`](/docs/ja/plugins/mods/api#run-work-in-the-background) に応答し、`mock.store(on, { count: 7 })` は指定したエントリで始まるストアから `$.store` に応答し、`mock.env(on, { CI: 'true' })` は指定した変数から `$.env.get` に応答します。`mock.clock` はテストが進めるモッククロックを返すため、タイマーのテストで待つ必要がありません。`mock.store` は何も返さないため、mod が何を保存したかを確認するには、[描画のテスト](#test-a-drawing)のように 2 つの `store` スタブを自分で書きます。113キットは、クロック、ストア、環境変数、会話に追加された行のための既製のモックもエクスポートしています。

114 

115* **`mock.clock(on)`**: [`$.clock`](/docs/ja/plugins/mods/api#run-work-in-the-background) に応答し、テストが進めるモッククロックを返すため、タイマーのテストで待つ必要がありません。

116* **`mock.store(on, { count: 7 })`**: 指定したエントリで始まるストアから `$.store` に応答します。何も返さないため、mod が何を保存したかを確認するには、[描画のテスト](#test-a-drawing)のように 2 つの `store` スタブを自分で書きます。

117* **`mock.env(on, { CI: 'true' })`**: 指定した変数から `$.env.get` に応答します。

118* **`mock.session(on)`**: モックセッションを返します。その `appended()` メソッドは、mod が [`$.session.append`](/docs/ja/plugins/mods/reference#session) で追加した行を古い順に一覧表示します。Claude Code v2.1.293 以降が必要です。

114 119 

115<h3 id="follow-the-test-kit’s-rules">120<h3 id="follow-the-test-kit’s-rules">

116 テストキットのルールに従う121 テストキットのルールに従う


168 スタブが返す値を調べる173 スタブが返す値を調べる

169</h3>174</h3>

170 175 

171テスト内で mod が行うすべての mods API 呼び出しには、Claude Code の代わりに応答するスタブが必要です。ただし、キット自身が応答する少数の呼び出し、つまり [`$.ui.invalidate`](/docs/ja/plugins/mods/interface#redraw-when-something-changes) と [`$.state`](/docs/ja/plugins/mods/interface#keep-state) の呼び出しは例外です。`$.clock` の呼び出しには `mock.clock(on)` を使用してください。そうしないと、mod の `$.clock.now()` が `no implementation for clock.now` で失敗します。176テスト内で mod が行うすべての mods API 呼び出しには、Claude Code の代わりに応答するスタブが必要です。ただし、キット自身が応答する少数の呼び出し、つまり [`$.ui.invalidate`](/docs/ja/plugins/mods/interface#redraw-when-something-changes)、[`$.state`](/docs/ja/plugins/mods/interface#keep-state)、`$.session.append` の呼び出しは例外です。`$.clock` の呼び出しには `mock.clock(on)` を使用してください。そうしないと、mod の `$.clock.now()` が `no implementation for clock.now` で失敗します。

172 177 

173この表は、mod で最もよく使われるものを示しています。1 列目は、mod が行う呼び出し、または `next(e)` で渡すイベントです。2 列目は、その名前で `on` に渡す関数です。たとえば `$.store.get` の行は `on('store.get', ($, e) => ({ value: saved.get(e.key) }))` になります。スタブ内の `'...'` は、自分で埋めるテキストを示します。178この表は、mod で最もよく使われるものを示しています。1 列目は、mod が行う呼び出し、または `next(e)` で渡すイベントです。2 列目は、その名前で `on` に渡す関数です。たとえば `$.store.get` の行は `on('store.get', ($, e) => ({ value: saved.get(e.key) }))` になります。スタブ内の `'...'` は、自分で埋めるテキストを示します。

174 179 

Details

116 116 

117値を設定または変更します。行の末尾は `settings.json` の `pluginConfigs` エントリの名前を示します。117値を設定または変更します。行の末尾は `settings.json` の `pluginConfigs` エントリの名前を示します。

118 118 

119<h3 id="code-nested-too-deep-to-scan-more-than-2000-scopes">

120 `code nested too deep to scan: more than 2000 scopes`

121</h3>

122 

123行は mod の名前で始まり、`hooks module did not load:`、ファイル、`code nested too deep to scan: more than 2000 scopes` が続きます。フックモジュール内のファイルは、関数、ブロック、ループなどのスコープを [2,000 階層](/docs/ja/plugins/mods/reference#limits)を超えてネストできません。[`claude plugin validate`](/docs/ja/plugins/mods/create#check-what-claude-code-reads-from-your-mod) も同じ理由を報告します。

124 

125スコープのネストが浅くなるようにコードを書き直します。

126 

119<h3 id="no-mod-loads-in-a-directory-you-opened-for-the-first-time">127<h3 id="no-mod-loads-in-a-directory-you-opened-for-the-first-time">

120 初めて開いたディレクトリで mod が読み込まれない128 初めて開いたディレクトリで mod が読み込まれない

121</h3>129</h3>


132 140 

133フラグなしで開始します。141フラグなしで開始します。

134 142 

143<h3 id="claude-code-stops-asking-to-enable-hot-reloading">

144 Claude Code がホットリロードを有効にするか尋ねなくなる

145</h3>

146 

147対話型セッションで Claude が mod を書いても何も読み込まれず、Claude Code が[ホットリロードを有効にするかどうか](/docs/ja/plugins/mods/create#ask-claude-for-a-mod)を再度尋ねません。回答が選択されないまま質問が 3 回終了すると、ホットリロードはオフのままになります。例えば、[`askUserQuestionTimeout`](/docs/ja/settings-reference#askuserquestiontimeout) を設定していて、回答する前に時間が経過すると、質問はそのように終了します。Claude Code は [`AskUserQuestion` が使用するのと同じ質問ダイアログ](/docs/ja/tools-reference#question-auto-continue-timeout)で尋ねるため、この設定がここで適用されます。自分で閉じた質問は 3 回には数えられません。

148 

149mod を実行するには、[mods フォルダからそのディレクトリをコピー](/docs/ja/plugins/mods/create#use-the-mod-in-other-sessions)し、シェルで `--plugin-dir` を使用して新しいセッションを開始します(例: `claude --plugin-dir ~/mods/git-branch`)。

150 

135<h2 id="a-hook-is-skipped-or-a-mod-is-unloaded">151<h2 id="a-hook-is-skipped-or-a-mod-is-unloaded">

136 hooks がスキップされるか mod がアンロードされる152 hooks がスキップされるか mod がアンロードされる

137</h2>153</h2>


209 描画が表示されないか応答しない225 描画が表示されないか応答しない

210</h2>226</h2>

211 227 

212mod が読み込まれ、そのペイン、バンド、またはコントロールが期待どおりに動作しません。228mod が読み込まれ、そのペイン、バンド、トースト、またはコントロールが期待どおりに動作しません。

213 229 

214<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">230<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">

215 ペインまたはバンドが空であるか、Claude Code の通常のコンテンツを表示する231 ペインまたはバンドが空であるか、Claude Code の通常のコンテンツを表示する


247 263 

248コマンドまたはボタンからペインを開くか、呼び出しの `isPlaced` 結果を確認します。[適切なタイミングでペインを開く](/docs/ja/plugins/mods/interface#open-a-pane-at-the-right-time) を参照してください。264コマンドまたはボタンからペインを開くか、呼び出しの `isPlaced` 結果を確認します。[適切なタイミングでペインを開く](/docs/ja/plugins/mods/interface#open-a-pane-at-the-right-time) を参照してください。

249 265 

266<h3 id="a-toast-doesn’t-appear">

267 トーストが表示されない

268</h3>

269 

270mod がインタラクティブなターミナルセッションで [`$.ui.toast`](/docs/ja/plugins/mods/api#show-something-without-starting-a-turn) を呼び出しても、トーストが表示されません。呼び出しが実行されたことを確認するには、[デバッグログ](#read-the-debug-log) で mod の名前とトーストのテキストを含む行を探します。例えば `$.ui.toast (first-mod): build finished` のような行です。次に、以下のような原因を確認してください。

271 

272* **呼び出しの行がない**: Claude Code が呼び出しを拒否した理由を示す行を探します。例えば `first-mod: $.ui.toast dropped: timeoutMs is a whole number of ms, 1 to 60000` のような行です。

273* **ペインがトーストを保留している**: 表示中のペインを開く際に、自分の mod または別の mod が [`holdToasts`](/docs/ja/plugins/mods/interface#hold-toasts-behind-a-dialog) を渡しています。ペインを閉じると保留が終了します。そのペインが自分のもので、開いたままにしておく必要がある場合は、その `$.ui.open` 呼び出しから `holdToasts` を削除し、ペインを開き直してください。

274* **トーストがプロンプトの下にある**: [クラシックレンダラー](/docs/ja/fullscreen#enable-fullscreen-rendering) では、プロンプトの下の右側を確認します。そこに表示されるトーストは、右上のボックスではなく、mod の名前で始まる 1 行です。

275* **mod がより新しいトーストを出した**: クラシックレンダラーでは、mod からのより新しいトーストが、表示中または表示待ちのトーストに取って代わることがあります。デバッグログには古いトーストについての別の行があり、表示中だった場合は `gave way, cut short`、表示されなかった場合は `gave way, unseen` で終わります。両方のメッセージを表示するには、1 つのトーストにまとめてください。

276* **トーストが描画されないまま時間切れになった**: フルスクリーンレンダリングでは、Claude Code は一度に最大 3 つのトーストしか描画しないため、トーストが描画される前に時間切れになることがあります。デバッグログにはそのトーストについての別の行があり、`left the stack, never drawn` で終わります。mod が一度に複数のトーストを出す場合は、メッセージを 1 つのトーストにまとめてください。

277 

278v2.1.290 より前では、Claude Code は、mod に対して最後に表示したトーストから 2 秒以内に出されたトーストを破棄しており、破棄されたトーストのデバッグログの行には `within 2000ms of the last; dropped` と表示されていました。

279 

250<h3 id="hotkeys-do-nothing">280<h3 id="hotkeys-do-nothing">

251 ホットキーが何もしない281 ホットキーが何もしない

252</h3>282</h3>

Details

110}110}

111```111```

112 112 

113シェルで、リポジトリで `claude plugin validate .` を実行して、プッシュする前にファイルを確認してください。113プッシュする前に、シェルでリポジトリ内の `claude plugin validate .` を実行してください。この実行でチェックされる内容については、[ディレクトリを検証する](/docs/ja/plugins/cli-reference#validate-a-directory)を参照してください。

114 114 

115[マーケットプレイスを作成する](/docs/ja/plugins/create-marketplace)は、1 つのリポジトリに複数のプラグインがある場合のレイアウトをカバーしています。115[マーケットプレイスを作成する](/docs/ja/plugins/create-marketplace)は、1 つのリポジトリに複数のプラグインがある場合のレイアウトをカバーしています。

116 116 


129* マーケットプレイスを 1 回追加する: `claude plugin marketplace add your-org/your-marketplace`。引数は GitHub の `owner/repo` 短縮形、URL、またはパスです129* マーケットプレイスを 1 回追加する: `claude plugin marketplace add your-org/your-marketplace`。引数は GitHub の `owner/repo` 短縮形、URL、またはパスです

130* プラグインをインストールする: `claude plugin install deploy-helper@your-marketplace`130* プラグインをインストールする: `claude plugin install deploy-helper@your-marketplace`

131* またはセッション内から両方を実行する: `/plugin install deploy-helper --marketplace your-org/your-marketplace`。Claude Code v2.1.275 以降が必要です。[マーケットプレイスを追加して 1 つのコマンドでインストールする](/docs/ja/plugins/install#add-a-marketplace-and-install-in-one-command)を参照してください131* またはセッション内から両方を実行する: `/plugin install deploy-helper --marketplace your-org/your-marketplace`。Claude Code v2.1.275 以降が必要です。[マーケットプレイスを追加して 1 つのコマンドでインストールする](/docs/ja/plugins/install#add-a-marketplace-and-install-in-one-command)を参照してください

132* またはシェルから 1 つのコマンドで両方を実行する: `claude plugin install deploy-helper --marketplace your-org/your-marketplace`。Claude Code v2.1.292 以降が必要です

132 133 

133<h3 id="ship-updates-to-users">134<h3 id="ship-updates-to-users">

134 ユーザーに更新を配布する135 ユーザーに更新を配布する

Details

163 `Invalid marketplace source format`163 `Invalid marketplace source format`

164</h3>164</h3>

165 165 

166`/plugin marketplace add <source>` または `claude plugin marketplace add <source>` を実行し、Claude Code は `Invalid marketplace source format. Try: owner/repo, https://..., or ./path` で返信しました。166`/plugin marketplace add <source>`、`claude plugin marketplace add <source>`、または `claude plugin install <plugin> --marketplace <source>` を実行し、Claude Code は `Invalid marketplace source format. Try: owner/repo, https://..., or ./path` で返信しました。

167 167 

168Claude Code は、次のいずれかの形式でソースを受け入れます:168Claude Code は、次のいずれかの形式でソースを受け入れます:

169 169 


237* **マーケットプレイスを所有している場合**:ファイルをその場所に配置し、マーケットプレイスを再度追加してください237* **マーケットプレイスを所有している場合**:ファイルをその場所に配置し、マーケットプレイスを再度追加してください

238* **他の誰かがホストしている場合**:所有者に正確なソースを尋ねてください238* **他の誰かがホストしている場合**:所有者に正確なソースを尋ねてください

239 239 

240<h3 id="cannot-install-plugins-from-a-marketplace-with-this-name">

241 `Cannot add marketplace "<name>": Claude Code cannot install plugins from a marketplace with this name`

242</h3>

243 

244マーケットプレイスを追加しましたが、その `marketplace.json` 内の [`name`](/docs/ja/plugins/marketplace-reference#top-level-fields) が、`my-plugin@my-marketplace` のような[プラグイン ID](/docs/ja/plugins/loading#find-where-a-plugin-came-from) の `@` 以降の部分として有効ではありません。Claude Code は追加を拒否し、何も登録しません。

245 

246メッセージの残りの部分には、名前のルールが記載されています。この例では、`_internal` は `_` で始まっているためルールに違反しています:

247 

248```text theme={null}

249Cannot add marketplace "_internal": Claude Code cannot install plugins from a marketplace with this name. Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. The name is set by "name" in the marketplace's marketplace.json; ask its maintainer to change it.

250```

251 

252そのルールに合う名前をマーケットプレイスに付けてから、再度追加してください:

253 

254* **マーケットプレイスを所有している場合**:`marketplace.json` の `name` を、たとえば `internal-tools` に変更してください

255* **他の誰かがホストしている場合**:所有者に名前の変更を依頼してください

256 

257v2.1.295 より前は、Claude Code はこの例の追加を成功として報告していました。

258 

240<h3 id="ssh-authentication-failed-or-https-authentication-failed">259<h3 id="ssh-authentication-failed-or-https-authentication-failed">

241 `SSH authentication failed` または `HTTPS authentication failed`260 `SSH authentication failed` または `HTTPS authentication failed`

242</h3>261</h3>


568 `Marketplace "<name>" is already added from a different source`587 `Marketplace "<name>" is already added from a different source`

569</h3>588</h3>

570 589 

571[`/plugin install <plugin> --marketplace <source>`](/docs/ja/plugins/install#add-a-marketplace-and-install-in-one-command)を通じてマーケットプレイスの追加を確認し、Claude Code がそのソースからフェッチしたカタログは、別のソースから既に追加したマーケットプレイスと同じ名前を持っています。Claude Code は既存のマーケットプレイスを保持し、プラグインをインストールしません。590セッションまたはシェルから、[インストールコマンドの `--marketplace <source>`](/docs/ja/plugins/install#add-a-marketplace-and-install-in-one-command) で新しいマーケットプレイスソースを指定しました。Claude Code がそのソースからフェッチしたカタログは、別のソースから既に追加したマーケットプレイスと同じ名前を持っています。Claude Code は既存のマーケットプレイスを置き換えずに保持し、プラグインはインストールされません。

572 591 

573完全なメッセージは次のようになります:592完全なメッセージは次のようになります:

574 593 


786 805 

787Claude Code は使用不可能なレコードを `.set-aside` ファイルにコピーし、リストからドロップします。Claude Code はコピーを再度読み込むことはなく、コピーは [`cleanupPeriodDays`](/docs/ja/settings-reference#cleanupperioddays) スケジュールで期限切れになります。806Claude Code は使用不可能なレコードを `.set-aside` ファイルにコピーし、リストからドロップします。Claude Code はコピーを再度読み込むことはなく、コピーは [`cleanupPeriodDays`](/docs/ja/settings-reference#cleanupperioddays) スケジュールで期限切れになります。

788 807 

808<h3 id="does-not-load-so-claude-code-ignores-the-whole-file">

809 `does not load (...), so Claude Code ignores the whole file`

810</h3>

811 

812コマンドは正常に動作しました。警告で示されている設定ファイルにエラーがあるため、修正するまで Claude Code はそのファイル全体を無視します。コマンドがそこに書き込んだ内容も無視されます。

813 

814警告で示されているエラーを修正してください。Claude Code が受け付けない値については、[壊れた設定ファイルを修正する](/docs/ja/settings#fix-a-broken-settings-file) で方法を説明しています。その後、コマンドの変更がファイルに残っていない場合は、コマンドを再度実行してください。

815 

816警告は、シェルでの `claude plugin install`、`enable`、`disable`、または `claude plugin marketplace add` の成功行の後に表示されます。

817 

818```text theme={null}

819⚠ /home/user/.claude/settings.json does not load (its "permissions" is not valid), so Claude Code ignores the whole file, including anything this command wrote there. Fix the file, then run this command again if its change is missing. If a newer Claude Code wrote the file, update Claude Code instead.

820```

821 

822括弧内のテキストがエラーを示します。

823 

824* **`its "<key>" is not valid`**: 引用符で囲まれた設定項目に、Claude Code が受け付けない値が入っています。その設定項目が取る値については、[設定リファレンス](/docs/ja/settings-reference) で確認してください。複数の値が失敗した場合、テキストは最初の設定項目を示し、残りの数を示します(例: `its "permissions" and 1 other value are not valid`)。

825* **`it is not a JSON object`**: ファイルのトップレベルが JSON オブジェクトではありません。たとえば、トップレベルが配列のファイルです。

826 

789<h3 id="a-plugin-you-disabled-still-loads">827<h3 id="a-plugin-you-disabled-still-loads">

790 `Disabled in ~/.claude/settings.json but still loads`828 `Disabled in ~/.claude/settings.json but still loads`

791</h3>829</h3>


812 850 

813組織がプラグインを事前にインストールしている場合、管理設定を通じてそうします。[プラグインの事前インストールと要求](/docs/ja/plugins/org#pre-install-and-require-plugins) を参照してください。851組織がプラグインを事前にインストールしている場合、管理設定を通じてそうします。[プラグインの事前インストールと要求](/docs/ja/plugins/org#pre-install-and-require-plugins) を参照してください。

814 852 

853<h3 id="a-plugin-stays-installed-after-plugin-uninstall-on-windows">

854 Windows で `plugin uninstall` 後もプラグインがインストールされたままになる

855</h3>

856 

857Windows でプロジェクトスコープまたはローカルスコープで `claude plugin uninstall` を実行すると成功と報告されますが、`claude plugin list` または `/plugin` にはまだプラグインがリストされています。

858 

859`installed_plugins.json` にはプロジェクトフォルダーに対するプラグインのインストール記録が 2 つあり、それぞれフォルダーのパスの表記が異なっていて、1 回のアンインストールではそのうち 1 つしか削除されません。確認するには、シェルで `claude plugin list --json` を実行してください。プラグインの残っている行の `projectPath` は、アンインストールを実行した場所とは異なる表記でフォルダーを示しています(例: `C:\work\app` に対する `c:\work\app`)。

860 

861同じアンインストールコマンドを、同じ `--scope` を指定して、同じフォルダーからもう一度実行してください。2 回目の実行では自身のパス表記の下に記録が見つからないため、もう一方の表記の記録を削除します。プロジェクトスコープのインストールの場合:

862 

863```shell theme={null}

864claude plugin uninstall <name>@<marketplace> --scope project

865```

866 

867その後、もう一度 `claude plugin list --json` を実行して、行が消えたことを確認してください。

868 

869v2.1.295 より前では、2 回目の実行は `Plugin "<name>" is not installed in project scope` で失敗します。`claude update` を実行してから、アンインストールを再度実行してください。

870 

815<h3 id="failed-to-load-hooks-from-and-hooks-that-dont-fire">871<h3 id="failed-to-load-hooks-from-and-hooks-that-dont-fire">

816 `Failed to load hooks from <path>` とフックが発火しない872 `Failed to load hooks from <path>` とフックが発火しない

817</h3>873</h3>


835 891 

836stderr がプラグインのパスをスペースで切り取って表示している場合、フックのシェル形式コマンドは引用符の外で `${CLAUDE_PLUGIN_ROOT}` を使用し、インストール パスにスペースが含まれています。変数を二重引用符で囲むか、[exec 形式](/docs/ja/hooks#exec-form-and-shell-form) を使用してください。引用符なしの変数を見つけるには、プラグイン ディレクトリで `claude plugin validate` を実行し、その [引用警告](/docs/ja/plugins/manifest-reference#quoting-and-path-separators) を探してください。892stderr がプラグインのパスをスペースで切り取って表示している場合、フックのシェル形式コマンドは引用符の外で `${CLAUDE_PLUGIN_ROOT}` を使用し、インストール パスにスペースが含まれています。変数を二重引用符で囲むか、[exec 形式](/docs/ja/hooks#exec-form-and-shell-form) を使用してください。引用符なしの変数を見つけるには、プラグイン ディレクトリで `claude plugin validate` を実行し、その [引用警告](/docs/ja/plugins/manifest-reference#quoting-and-path-separators) を探してください。

837 893 

894通知が `Failed to run: Plugin directory does not exist: <path>` の場合は、[`Plugin directory does not exist`](#plugin-directory-does-not-exist) を参照してください。

895 

838その他のエラーについては、プラグイン ディレクトリからフックのコマンドを自分で実行して完全な出力を確認するか、[デバッグ ログ](/docs/ja/hooks#debug-hooks) で完全な stderr をキャプチャしてください。896その他のエラーについては、プラグイン ディレクトリからフックのコマンドを自分で実行して完全な出力を確認するか、[デバッグ ログ](/docs/ja/hooks#debug-hooks) で完全な stderr をキャプチャしてください。

839 897 

840<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">898<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">


869 </Step>927 </Step>

870</Steps>928</Steps>

871 929 

930<h3 id="plugin-directory-does-not-exist">

931 `Plugin directory does not exist: <path>`

932</h3>

933 

934メッセージには再インストールするよう書かれていますが、まず Claude Code のプロンプトで `/reload-plugins` を実行してください。セッションがプラグインのフックをロードしたディレクトリがディスクから消えている場合、プラグインのフックは `Failed to run: Plugin directory does not exist: <path> (<plugin> — run /plugin to reinstall)` で失敗し、フックは実行されません。[`Plugin directory not found at path: <path>`](#plugin-directory-not-found-at-path) は、マーケットプレイスのエントリに関する別のメッセージです。

935 

936リロードにより、プラグインのフックが現在のディレクトリからロードされます。失敗はフックイベントとコマンドごとにセッションにつき 1 回だけ表示されるため、フックが何も表示しなくなっても修正されたことの確認にはなりません。代わりにリロードの出力を読んでください。

937 

938* **エラー行のない `Reloaded:`**: プラグインのフックは、存在しないディレクトリを参照しなくなりました

939* **`N errors during load. Run /plugin for details.`**: `/plugin` で **Errors** タブを開き、表示されたメッセージに対応するこのページのエントリに従ってください

940* **`Run /reload-plugins --force to apply.` で終わる行**: 何もリロードされておらず、フックは失敗し続けます。Claude Code のプロンプトで `/reload-plugins --force` を実行してください

941 

872<h3 id="invalid-mcp-server-config-for-and-mcp-servers-that-dont-start">942<h3 id="invalid-mcp-server-config-for-and-mcp-servers-that-dont-start">

873 `Invalid MCP server config for "<server>"` と MCP サーバーが起動しない943 `Invalid MCP server config for "<server>"` と MCP サーバーが起動しない

874</h3>944</h3>


1063 1133 

1064`claude plugin validate <path>` を実行するか、セッション内で `/plugin validate <path>` を実行し、`Found N errors` と `Validation failed` を出力してから、終了コード 1 で終了しました。1134`claude plugin validate <path>` を実行するか、セッション内で `/plugin validate <path>` を実行し、`Found N errors` と `Validation failed` を出力してから、終了コード 1 で終了しました。

1065 1135 

1066バリデーターは、指定したパスのマニフェストを読み込みます。プラグインディレクトリの場合は `.claude-plugin/plugin.json`、マーケットプレイスディレクトリの場合は `.claude-plugin/marketplace.json`。マーケットプレイスの場合、エントリ自体のマニフェスト内の問題にはエントリインデックスをプレフィックスとして付け、`plugins[1] plugin.json → json: ...` として表示します。1136バリデーターは、指定したパスのマニフェストを読み込みます。プラグインディレクトリの場合は `.claude-plugin/plugin.json`、マーケットプレイスディレクトリの場合は `.claude-plugin/marketplace.json`、両方を含むディレクトリの場合はその両方です。マーケットプレイスの場合、エントリ自体のマニフェスト内の問題にはエントリインデックスをプレフィックスとして付け、`plugins[1] plugin.json → json: ...` として表示します。v2.1.289 より前では、Claude Code は両方を含むディレクトリをマーケットプレイスとしてのみ検証していました。

1067 1137 

1068テーブルは検証を停止するメッセージと 2 つの警告(`No frontmatter block found` と `Unknown field '<key>'`)をカバーしており、これらの警告は `--strict` を渡す場合にのみ検証を停止します。説明の欠落など、その他の警告は一覧表示されません。1138テーブルは検証を停止するメッセージと 2 つの警告(`No frontmatter block found` と `Unknown field '<key>'`)をカバーしており、これらの警告は `--strict` を渡す場合にのみ検証を停止します。説明の欠落など、その他の警告は一覧表示されません。

1069 1139 

Details

191 ジッター191 ジッター

192</h3>192</h3>

193 193 

194すべてのセッションが同じ壁時計の瞬間に API にヒットするのを避けるために、スケジューラは実行時刻に決定論的オフセットを追加します。194スケジュールタスクは、スケジュールで指定された時刻とは異なる時刻に実行されることがあります。すべてのセッションのタスクが正確にスケジュールどおりに実行されると、多くのタスクが同じ瞬間に API を呼び出すことになるため、Claude Code は各タスクの実行時刻をずらします。定期的なタスクは遅れて実行され、毎時 0 分または 30 分にスケジュールされた 1 回限りのタスクは少し早く実行されます。

195 195 

196* 定期的なタスクは、スケジュール済み時刻の最大 30 分後に実行されます(または 1 時間より頻繁に実行されるタスクの場合は間隔の最大半分)。時間ごとのジョブがスケジュール済みの `:00` は `:30` までのどこかで実行される可能性があります。196<h4 id="how-late-a-recurring-task-runs">

197* 時間の上部または下部にスケジュール済みの 1 回限りのタスクは、最大 90 秒早く実行されます。197 定期的なタスクがどれだけ遅れて実行されるか

198</h4>

198 199 

199オフセットはタスク ID から派生しているため、同じタスクは常に同じオフセットを取得します。正確なタイミングが重要な場合は、`0 9 * * *` ではなく `3 9 * * *` など、`:00` または `:30` ではない分を選択すると、1 回限りのジッターは適用されません。200定期的なタスクを作成すると、Claude Code はそのタスクに固定の遅延を割り当て、すべての実行にその遅延を加えます。遅延はタスクの ID から算出されるため、同じタスクは毎回同じ分数だけ遅れて実行されます。これは、セッションがアイドル状態で他に何も実行されていない場合も同様です。

201 

202より頻繁に実行されるタスクほど遅延は短くなり、タスクに割り当てられる遅延は最長で 30 分です。一般的なスケジュールにおける遅延の範囲は次のとおりです。

203 

204| タスクの実行頻度 | 遅延の範囲 |

205| :- | :- |

206| 10 分ごと | 0〜5 分 |

207| 30 分ごと | 0〜15 分 |

208| 1 時間ごと、または毎日などそれより低い頻度 | 0〜30 分 |

209 

210たとえば、`7,37 * * * *` はタスクを `:07` と `:37` にスケジュールします。この 2 つは 30 分間隔なので、遅延は 0〜15 分のいずれかになります。このタスクの遅延が 14 分の場合、毎時 `:21` と `:51` に実行されます。スケジュールを別の分に変更すると実行時刻は移動しますが、その場合も遅延は上乗せされます。

211 

212<h4 id="when-a-one-shot-task-runs-early">

213 1 回限りのタスクが早く実行される場合

214</h4>

215 

216`:00` または `:30` にスケジュールされた 1 回限りのタスクは、最大 90 秒早く実行されます。Claude Code はそれ以外の分にスケジュールされた 1 回限りのタスクの実行時刻はずらさないため、タイミングが重要な場合は、`0 9 * * *` ではなく `3 9 * * *` のように、毎時 0 分と 30 分を避けてスケジュールしてください。

200 217 

201<h3 id="seven-day-expiry">218<h3 id="seven-day-expiry">

202 7 日間の有効期限219 7 日間の有効期限

Details

403 403 

404* 標準のシステムパスにあるエンタープライズスコープの[管理 MCP ファイル](/docs/ja/managed-mcp):Linux のランナーホストでは `/etc/claude-code/managed-mcp.json`、macOS のホストでは `/Library/Application Support/ClaudeCode/managed-mcp.json` です。管理者が列挙したサーバーのみを読み込めるようにする、ロックダウンされたフリートで使用します。優先順位のルールについては、[managed-mcp.json による排他的な制御](/docs/ja/managed-mcp#exclusive-control-with-managed-mcp-json)を参照してください。このファイルがランナーホスト上にある場合、Claude Code は claude.ai のコネクタを含め、Anthropic のコントロールプレーンがセッションに配信する MCP サーバーをスキップし、セッションの子プロセスの stderr に出力される警告でそれらの名前を示します。ランナーはこの警告を `debug` ログレベルで記録します。v2.1.229 より前は、これらのセッションは起動時に `You cannot dynamically configure MCP servers when an enterprise MCP config is present` というメッセージを出して終了していました。404* 標準のシステムパスにあるエンタープライズスコープの[管理 MCP ファイル](/docs/ja/managed-mcp):Linux のランナーホストでは `/etc/claude-code/managed-mcp.json`、macOS のホストでは `/Library/Application Support/ClaudeCode/managed-mcp.json` です。管理者が列挙したサーバーのみを読み込めるようにする、ロックダウンされたフリートで使用します。優先順位のルールについては、[managed-mcp.json による排他的な制御](/docs/ja/managed-mcp#exclusive-control-with-managed-mcp-json)を参照してください。このファイルがランナーホスト上にある場合、Claude Code は claude.ai のコネクタを含め、Anthropic のコントロールプレーンがセッションに配信する MCP サーバーをスキップし、セッションの子プロセスの stderr に出力される警告でそれらの名前を示します。ランナーはこの警告を `debug` ログレベルで記録します。v2.1.229 より前は、これらのセッションは起動時に `You cannot dynamically configure MCP servers when an enterprise MCP config is present` というメッセージを出して終了していました。

405* ランナーホスト上の[管理設定](/docs/ja/managed-settings)にある [`managedMcpServers`](/docs/ja/settings-reference#managedmcpservers) キー:排他的な制御を行わずに HTTP および SSE サーバーを提供するため、ほかのソースからのサーバーも引き続き読み込まれます。Claude Code v2.1.259 以降が必要です。405* ランナーホスト上の[管理設定](/docs/ja/managed-settings)にある [`managedMcpServers`](/docs/ja/settings-reference#managedmcpservers) キー:排他的な制御を行わずに HTTP および SSE サーバーを提供するため、ほかのソースからのサーバーも引き続き読み込まれます。Claude Code v2.1.259 以降が必要です。

406* `<repo>/.mcp.json`:プロジェクトスコープです。このファイルをリポジトリにコミットしてください。そのサーバーはクラウドセッションで自動承認されます。406* `<repo>/.mcp.json`:プロジェクトスコープです。このファイルをリポジトリにコミットしてください。そのサーバーはクラウドセッションで自動承認されます。複数のリポジトリを含むセッションでは、[読み込まれるのは最大 1 つのリポジトリのファイルのみです](#repository-settings-in-sessions-with-several-repositories)。

407 407 

408組織でコネクタ配信が有効になっている場合、Anthropic のコントロールプレーンは、claude.ai で設定したコネクタを、サーバーが提供する MCP 設定を通じて対話的に作成されたセッションに配信します。この配信は `api.anthropic.com` を経由します。[CLI からのディスパッチ](/docs/ja/self-hosted-environments-testing#run-the-test-loop)のようにプログラムで作成されたセッションには、コネクタは配信されません。そうしたセッションには、このセクションで挙げたほかのいずれかのソースを通じて MCP サーバーを提供してください。子プロセスの OAuth トークンにはコネクタを直接取得するためのスコープが含まれていないため、子プロセスが自らその取得を試みることはありません。配信はサーバー主導で行われます。408組織でコネクタ配信が有効になっている場合、Anthropic のコントロールプレーンは、claude.ai で設定したコネクタを、サーバーが提供する MCP 設定を通じて対話的に作成されたセッションに配信します。この配信は `api.anthropic.com` を経由します。[CLI からのディスパッチ](/docs/ja/self-hosted-environments-testing#run-the-test-loop)のようにプログラムで作成されたセッションには、コネクタは配信されません。そうしたセッションには、このセクションで挙げたほかのいずれかのソースを通じて MCP サーバーを提供してください。子プロセスの OAuth トークンにはコネクタを直接取得するためのスコープが含まれていないため、子プロセスが自らその取得を試みることはありません。配信はサーバー主導で行われます。

409 409 


546exit 0546exit 0

547```547```

548 548 

549フックはセッション終了前に Claude にコミットしてプッシュするよう促し、ディレクトリが git リポジトリではないか、リモートがない場合は静かに留まります。549フックはセッション終了前に Claude にコミットしてプッシュするよう促し、ディレクトリが git リポジトリではないか、リモートがない場合は静かに留まります。複数のリポジトリを含むセッションについては、[`$CLAUDE_PROJECT_DIR` が指すもの](#repository-settings-in-sessions-with-several-repositories)を参照してください。

550 550 

551<h2 id="permissions-and-tool-approval">551<h2 id="permissions-and-tool-approval">

552 権限とツール承認552 権限とツール承認


575 575 

576`SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` を設定して別のパスからシードするか、空のディレクトリに指定してシーディングを無効にします。576`SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` を設定して別のパスからシードするか、空のディレクトリに指定してシーディングを無効にします。

577 577 

578リポジトリコミット `.claude/settings.json` はプロジェクト設定として上に層状化されます。セッションはランナーイメージの標準システムパスから [`managed-settings.json`](/docs/ja/settings#where-settings-live) も読み取ります。そのキーが [サーバー管理設定](/docs/ja/server-managed-settings) と一緒に適用されるかどうかは、[Claude Code が管理ソースを組み合わせる方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources) に従います。デフォルトでは、組織が任意のサーバー管理キーを配信する場合、セッションは [Claude Code がすべての管理ソースから読み取るキー](/docs/ja/managed-settings#keys-read-from-every-admin-source)(`env` ブロック、サンドボックスロック、サンドボックスバイナリパス、`forceRemoteSettingsRefresh` など)を除いて、ランナーイメージのファイルを無視します。[設定優先順位](/docs/ja/settings#settings-precedence) を参照してください。578リポジトリコミット `.claude/settings.json` はプロジェクト設定として上に層状化されます。複数のリポジトリを含むセッションでは、[有効になるのは最大 1 つのリポジトリのファイルのみです](#repository-settings-in-sessions-with-several-repositories)。セッションはランナーイメージの標準システムパスから [`managed-settings.json`](/docs/ja/settings#where-settings-live) も読み取ります。そのキーが [サーバー管理設定](/docs/ja/server-managed-settings) と一緒に適用されるかどうかは、[Claude Code が管理ソースを組み合わせる方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources) に従います。デフォルトでは、組織が任意のサーバー管理キーを配信する場合、セッションは [Claude Code がすべての管理ソースから読み取るキー](/docs/ja/managed-settings#keys-read-from-every-admin-source)(`env` ブロック、サンドボックスロック、サンドボックスバイナリパス、`forceRemoteSettingsRefresh` など)を除いて、ランナーイメージのファイルを無視します。[設定優先順位](/docs/ja/settings#settings-precedence) を参照してください。

579 579 

580Anthropic のコントロールプレーンがセッションに [Claude Code フック](/docs/ja/hooks) を提供する場合、ランナーはそれらを独自の設定の上ではなく隣に設定します。Claude Code v2.1.229 以降が必要です。580Anthropic のコントロールプレーンがセッションに [Claude Code フック](/docs/ja/hooks) を提供する場合、ランナーはそれらを独自の設定の上ではなく隣に設定します。Claude Code v2.1.229 以降が必要です。

581 581 


587 587 

588ランナーによるホストの `~/.claude/` のスナップショットには `projects/` ディレクトリは含まれません。自動メモリのデフォルトの保存場所はこのディレクトリの下にあります。そこにメモリファイルを置いても、ランナーはそれらをセッションにシードせず、自動メモリがオンになることもありません。588ランナーによるホストの `~/.claude/` のスナップショットには `projects/` ディレクトリは含まれません。自動メモリのデフォルトの保存場所はこのディレクトリの下にあります。そこにメモリファイルを置いても、ランナーはそれらをセッションにシードせず、自動メモリがオンになることもありません。

589 589 

590<h3 id="repository-settings-in-sessions-with-several-repositories">

591 複数のリポジトリを含むセッションでのリポジトリ設定

592</h3>

593 

594複数のリポジトリを含むセッションでは、Claude Code はセッションの開始ディレクトリからプロジェクト設定を読み取るため、プロジェクト設定として有効になるのは最大 1 つのリポジトリの `.claude/settings.json` のみです。別のリポジトリのファイルで定義されたフックは実行されず、そのファイル内の拒否ルールは適用されず、その `env` も設定されません。

595 

596* **`--capacity 1`(デフォルト)と組み込みのチェックアウトを使用する場合**:セッションはリポジトリリストの最初のリポジトリで開始します。そのリポジトリの `.claude/settings.json` がプロジェクト設定として有効になり、その `.mcp.json` が読み込まれますが、他のリポジトリのものは有効にならず、読み込まれません。

597* **1 より大きい `--capacity`、または [`checkout` フック](#checkout) を使用する場合**:セッションはチェックアウトを含むセッションごとのディレクトリで開始します。どのリポジトリの `.claude/settings.json` もプロジェクト設定として有効にならず、どのリポジトリの `.mcp.json` も読み込まれず、フックコマンド内の [`$CLAUDE_PROJECT_DIR`](/docs/ja/hooks#reference-scripts-by-path) はチェックアウトではなくそのディレクトリになります。

598 

599各リポジトリの `CLAUDE.md` とスキルは、セッションがどこで開始しても読み込まれます。ランナーはすべてのリポジトリを [追加ディレクトリ](/docs/ja/permissions#additional-directories-grant-file-access-not-configuration) として Claude Code に渡すため、Claude Code は各リポジトリの `.claude/settings.json` から `enabledPlugins` キーと `extraKnownMarketplaces` キーも読み取ります。

600 

601すべてのセッションでフックを実行したり権限ルールを適用したりするには、ランナーホストの `~/.claude/settings.json` に記述します。ランナーは、セッションがどこで開始しても、[ホストのファイルをすべてのセッションにシードします](#how-each-session’s-config-is-assembled)。`Read` ルールまたは `Edit` ルールのパスは、`//` による絶対パスまたは `~/` によるホーム相対の [パターン](/docs/ja/permissions#read-and-edit) として記述してください。それ以外のパターンは設定ソースまたは現在のディレクトリを基準とするためです。

602 

590<h3 id="repository-committed-permission-rules">603<h3 id="repository-committed-permission-rules">

591 リポジトリコミット権限ルール604 リポジトリコミット権限ルール

592</h3>605</h3>

Details

92 92 

93 <Step title="保存してデプロイする">93 <Step title="保存してデプロイする">

94 変更を保存します。Claude Code クライアントは、次回の起動時または 1 時間ごとのポーリングサイクルで更新された設定を受け取ります。94 変更を保存します。Claude Code クライアントは、次回の起動時または 1 時間ごとのポーリングサイクルで更新された設定を受け取ります。

95 

96 エディターは、公開されている Claude Code 設定の JSON スキーマに照らして JSON をチェックします。解析可能な JSON に問題が見つかった場合は、警告が表示され、保存ボタンのラベルが変わります。設定がすでに保存されている場合のラベルは **Update with errors**、まだ設定が保存されていない場合は **Add with errors** です。スキーマの警告は保存をブロックしないため、このボタンでも保存は行われます。

97 

98 スキーマは[最新リリースに追従していない場合がある](/docs/ja/settings#edit-a-settings-file)ため、エディターが[設定リファレンス](/docs/ja/settings-reference#all-settings)に記載されているキーや値を警告することがあります。Claude Code は保存されたキーと値を受け取り、読み込む際に[独自の検証](#invalid-entries-in-delivered-settings)を実行します。

95 </Step>99 </Step>

96</Steps>100</Steps>

97 101 

settings.md +35 −35

Details

404 404 

405| スコープ | ファイル | 誰に影響するか | 用途 |405| スコープ | ファイル | 誰に影響するか | 用途 |

406| :- | :- | :- | :- |406| :- | :- | :- | :- |

407| ユーザー | `~/.claude/settings.json` | あなた、このマシン上のすべてのプロジェクト | 個人設定:テーマ、エディターモード、デフォルトモデル、独自の権限ルール |407| ユーザー | `~/.claude/settings.json` | 自分自身、このマシン上のすべてのプロジェクト | 個人設定:テーマ、エディターモード、デフォルトモデル、独自の権限ルール |

408| 共有プロジェクト | `.claude/settings.json` | このフォルダを含むフォルダで作業しているすべての人。git リポジトリでは、コミットしてチームメイトが取得できるようにします | チーム権限、hooks、プラグイン、およびプロジェクトが必要とする環境変数 |408| 共有プロジェクト | `.claude/settings.json` | このファイルを含むフォルダで作業しているすべての人。git リポジトリでは、コミットしてチームメイトが取得できるようにします | チーム権限、フック、プラグイン、およびプロジェクトが必要とする環境変数 |

409| プロジェクトローカル | `.claude/settings.local.json` | あなた、このプロジェクトのみ。Claude Code はファイルを作成するときに git から除外します。手動で作成する場合は、自分で `.gitignore` に追加してください | 1 つのプロジェクトの個人的なオーバーライド、および共有する前のテスト |409| プロジェクトローカル | `.claude/settings.local.json` | 自分自身、このプロジェクトのみ。Claude Code はファイルを作成するときに git から除外します。手動で作成する場合は、自分で `.gitignore` に追加してください | 1 つのプロジェクトでの個人的な上書き、および共有する前のテスト |

410| 管理 | `managed-settings.json` およびその他の[管理ソース](/docs/ja/managed-settings#delivery-mechanisms) | 組織がデプロイするすべての人。何がこれを上書きできるかは[設定の優先順位](#settings-precedence)を参照してください | セキュリティポリシーおよびコンプライアンス要件 |410| 管理 | `managed-settings.json` およびその他の[管理ソース](/docs/ja/managed-settings#delivery-mechanisms) | 組織がデプロイするすべての人。何がこれを上書きできるかは[設定の優先順位](#settings-precedence)を参照してください | セキュリティポリシーおよびコンプライアンス要件 |

411 411 

412ファイル列では、`~/.claude` はホームディレクトリの `.claude` フォルダ、ベアの `.claude` はプロジェクト内の `.claude` フォルダです。412ファイル列では、`~/.claude` はホームディレクトリの `.claude` フォルダ、パスなしの `.claude` はプロジェクト内の `.claude` フォルダです。

413 413 

414<span id="where-each-file-applies" />414<span id="where-each-file-applies" />

415 415 


425 425 

426<SettingsScope />426<SettingsScope />

427 427 

428* **`~/.claude/settings.json`**:マシン上のすべてのプロジェクト、チームメイトまたはクラウドセッションには何もありません428* **`~/.claude/settings.json`**:自分のマシン上のすべてのプロジェクト。チームメイトのクローンやクラウドセッションには適用されません

429* **`acme-app/.claude/settings.json`**:あなたの `acme-app/`。バージョン管理にファイルをコミットする場合のみ、チームメイトのクローンとクラウドセッションに到達します。それまでは、他のファイルのようにディスク上のファイルであり、誰も持っていません429* **`acme-app/.claude/settings.json`**:自分の `acme-app/`。バージョン管理にファイルをコミットした場合のみ、チームメイトのクローンとクラウドセッションに到達します。それまでは、ディスク上の他のファイルと同じ単なるファイルであり、他の誰も持っていません

430* **`acme-app/.claude/settings.local.json`**:あなたの `acme-app/` のみ。Claude Code はファイルを初めて書き込むときに、グローバル git 除外に追加するため、コミットから除外されます。手動でファイルを作成する場合は、[自分で `.gitignore` に追加してください](#keep-personal-settings-out-of-a-repository)430* **`acme-app/.claude/settings.local.json`**:自分の `acme-app/` のみ。Claude Code はファイルを初めて書き込むときに、グローバル git 除外に追加するため、コミットから除外されます。手動でファイルを作成する場合は、[自分で `.gitignore` に追加してください](#keep-personal-settings-out-of-a-repository)

431* **管理設定**。`managed-settings.json` ファイル、MDM ポリシー、または claude.ai コンソールからの[サーバー管理設定](/docs/ja/server-managed-settings):組織がデプロイするすべてのマシン上のすべてのプロジェクト、またはあなたの組織アカウントでサインインするマシン。サーバー管理設定のみがクラウドセッションに到達します431* **管理設定**。`managed-settings.json` ファイル、MDM ポリシー、または claude.ai コンソールからの[サーバー管理設定](/docs/ja/server-managed-settings):組織がデプロイするすべてのマシン、または組織アカウントでサインインするマシン上のすべてのプロジェクト。クラウドセッションに到達するのはサーバー管理設定のみです

432 432 

433<span id="which-files-you-have" />433<span id="which-files-you-have" />

434 434 


436 設定ファイルを見つけるか作成する436 設定ファイルを見つけるか作成する

437</h3>437</h3>

438 438 

439Claude Code をインストールしても、設定ファイルは作成されません。マシンまたはプロジェクトに既に 1 つある場合は、これらのソースの 1 つから来ました:439Claude Code をインストールしても、設定ファイルは作成されません。マシンまたはプロジェクトに既に設定ファイルがある場合は、次のいずれかのソースから来たものです:

440 440 

441* **管理**:組織がデプロイします。作成または編集しません。441* **管理**:組織がデプロイします。自分で作成または編集することはありません。

442* **共有プロジェクト**:Claude Code を既に使用しているプロジェクトにはコミットされたものがあるかもしれません。ない場合は、プロジェクトフォルダに `.claude/settings.json` で作成してください。442* **共有プロジェクト**:Claude Code を既に使用しているプロジェクトには、コミットされたものがあるかもしれません。ない場合は、プロジェクトフォルダに `.claude/settings.json` として作成してください。

443* **ユーザー**および**プロジェクトローカル**:自分で作成するか、Claude Code に作成させます。テーマなどのユーザー設定に保存する `/config` メニューのオプションを初めて変更するときに `~/.claude/settings.json` を書き込み、Bash コマンドに対して「はい、今後は聞かないでください」などの権限プロンプトで立ったままの承認を初めて与えるときに `.claude/settings.local.json` を書き込みます。**ヒントを表示**を含むいくつかの `/config` オプションは、ユーザーファイルの代わりに `.claude/settings.local.json` に保存されます。443* **ユーザー**および**プロジェクトローカル**:自分で作成するか、Claude Code に作成させます。テーマなど、ユーザー設定に保存される `/config` メニューのオプションを初めて変更するときに `~/.claude/settings.json` を書き込み、Bash コマンドに対する「はい、今後は聞かないでください」など、権限プロンプトで恒久的な承認を初めて与えるときに `.claude/settings.local.json` を書き込みます。**ヒントを表示**を含むいくつかの `/config` オプションは、ユーザーファイルではなく `.claude/settings.local.json` に保存されます。

444 444 

445<Info>445<Info>

446 Windows では、`~/.claude` は `%USERPROFILE%\.claude` を意味します。ホームディレクトリファイルを別の場所に保つには、[`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars) を設定してください。Claude Code はその代わりに設定、セッション履歴、およびプラグインをそこに保存します。446 Windows では、`~/.claude` は `%USERPROFILE%\.claude` を意味します。ホームディレクトリのファイルを別の場所に保存するには、[`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars) を設定してください。Claude Code は設定、セッション履歴、およびプラグインを代わりにそこに保存します。

447</Info>447</Info>

448 448 

449Claude Code は、[`~/.claude.json`](/docs/ja/claude-directory#ce-claude-json) という 5 番目のファイルも保持します。これは自分で書き込みます。編集する必要はありません。サインインセッション、[MCP サーバー](/docs/ja/mcp)構成、信頼決定などのプロジェクトごとの状態、および `/config` があなたのために書き込む[グローバル構成キー](/docs/ja/settings-reference#global-config-settings)を保持します。449Claude Code は、[`~/.claude.json`](/docs/ja/claude-directory#ce-claude-json) という 5 番目のファイルも保持します。これは Claude Code 自身が書き込むもので、編集する必要はありません。サインインセッション、[MCP サーバー](/docs/ja/mcp)の設定、信頼の決定などのプロジェクトごとの状態、および `/config` が書き込む[グローバル設定キー](/docs/ja/settings-reference#global-config-settings)を保持します。

450 450 

451<h3 id="share-settings-with-your-team">451<h3 id="share-settings-with-your-team">

452 チームと設定を共有する452 チームと設定を共有する

453</h3>453</h3>

454 454 

455`.claude/settings.json` をコミットして、リポジトリをクローンするすべての人が同じ権限、hooks、およびプラグインを取得するようにします。各チームメイトは、個人的な例外がコミットを必要としないように、独自の `.claude/settings.local.json` でそれをオーバーライドできます。完全なチームファイルについては、[チームの共有設定](/docs/ja/settings-example#a-teams-shared-settings)を参照してください。455`.claude/settings.json` をコミットして、リポジトリをクローンするすべての人が同じ権限、フック、およびプラグインを取得するようにします。各チームメイトは、独自の `.claude/settings.local.json` で自分用にそれを上書きできるため、個人的な例外にコミットは必要ありません。完全なチームファイルについては、[チームの共有設定](/docs/ja/settings-example#a-teams-shared-settings)を参照してください。

456 456 

457コミットするものの一部は、各チームメイトが[フォルダを信頼する](/docs/ja/permissions#project-allow-rules-and-workspace-trust)まで待機し、いくつかのキーはリポジトリファイルから効果を発揮しません。[適用されない設定をトラブルシューティングする](#common-cases)は両方をカバーしています。457コミットするものの一部は、各チームメイトが[フォルダを信頼する](/docs/ja/permissions#project-allow-rules-and-workspace-trust)まで待機し、いくつかのキーはリポジトリファイルからは決して有効になりません。[適用されない設定をトラブルシューティングする](#common-cases)で両方を説明しています。

458 458 

459<span id="local-settings-file" />459<span id="local-settings-file" />

460 460 


468 リポジトリから個人設定を除外する468 リポジトリから個人設定を除外する

469</h3>469</h3>

470 470 

471プロジェクト内で自分の設定を変更し、チームメイトの設定を変更しないようにするには、プロジェクト内の `.claude/settings.local.json` に保存してください。Claude Code はそのファイルをコミットされた `.claude/settings.json` に適用するため、チームのファイルが `"model": "claude-sonnet-5"` を設定し、Opus が必要な場合は、ローカルファイルに `"model": "claude-opus-5-5"` を入れて、セッションのみを変更します。4711 つのプロジェクトで、チームメイトの設定を変えずに自分の設定だけを変更するには、プロジェクト内の `.claude/settings.local.json` に保存してください。Claude Code はそのファイルをコミットされた `.claude/settings.json` の上に適用するため、チームのファイルが `"model": "claude-sonnet-5"` を設定していて Opus を使いたい場合は、ローカルファイルに `"model": "claude-opus-5-5"` を入れれば、自分のセッションだけが変わります。

472 472 

473Claude Code もこのファイルに書き込み、コミットから除外し、信頼ステップなしに allow ルールを適用します:473Claude Code もこのファイルに書き込み、コミットから除外し、信頼ステップなしでその許可ルールを適用します:

474 474 

475* **Claude Code もそれを書き込みます。** Claude が Bash コマンドを実行する権限を求め、「はい、今後は聞かないでください」を選択すると、Claude Code はその[権限承認](/docs/ja/permissions#permission-system)をここに `allow` ルールとして保存します。475* **Claude Code もこのファイルに書き込みます。** Claude が Bash コマンドを実行する権限を求め、「はい、今後は聞かないでください」を選択すると、Claude Code はその[権限の承認](/docs/ja/permissions#permission-system)をここに `allow` ルールとして保存します。

476* **手動で作成した場合を除き、自分で gitignore する必要はありません。** Claude Code がリポジトリでファイルを初めて書き込むときに、既にそれを無視していない場合、グローバル git 除外ファイルに `**/.claude/settings.local.json` を追加するため、ファイルはすべてのリポジトリのコミットから除外されます。そのファイルは、グローバル git 構成がそれを絶対パスまたは `~` プレフィックス付きパスに設定する場合は `core.excludesFile`。それ以外の場合は `$XDG_CONFIG_HOME/git/ignore`、または `XDG_CONFIG_HOME` が設定されていない場合は `~/.config/git/ignore`。手動でファイルを作成し、Claude Code がまだそれに書き込んでいない場合は、自分で `.gitignore` に追加してください。476* **手動で作成した場合を除き、自分で gitignore する必要はありません。** Claude Code が、まだこのファイルを無視していない git リポジトリでファイルを初めて書き込むときに、グローバル git 除外ファイルに `**/.claude/settings.local.json` を追加するため、ファイルはすべてのリポジトリでコミットから除外されます。そのファイルは、グローバル git 設定で `core.excludesFile` が絶対パスまたは `~` で始まるパスに設定されている場合はそのファイル、それ以外の場合は `$XDG_CONFIG_HOME/git/ignore`、`XDG_CONFIG_HOME` が設定されていない場合は `~/.config/git/ignore` です。手動でファイルを作成し、Claude Code がまだそれに書き込んでいない場合は、自分で `.gitignore` に追加してください。

477* **ファイルが追跡されていない間、その allow ルールは信頼を待ちません。** ファイルはリポジトリのものではなくあなたのものであるため、Claude Code はコミットされたファイルが必要とする[ワークスペース信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust)ステップなしにその `allow` ルールを適用します。ファイルが git で追跡されている場合、信頼ステップもそれに適用されます。[ローカル設定ファイルが信頼を必要とする場合](/docs/ja/permissions#when-your-local-settings-file-needs-trust)を参照してください。477* **ファイルが追跡されていない間、その許可ルールは信頼を待ちません。** ファイルはリポジトリのものではなく自分のものであるため、Claude Code はコミットされたファイルに必要な[ワークスペースの信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust)ステップなしで、その `allow` ルールを適用します。ファイルが git で追跡されている場合は、信頼ステップがこのファイルにも適用されます。[ローカル設定ファイルが信頼を必要とする場合](/docs/ja/permissions#when-your-local-settings-file-needs-trust)を参照してください。

478 478 

479<span id="where-claude-code-looks-for-each-file" />479<span id="where-claude-code-looks-for-each-file" />

480 480 


486 Claude Code が git リポジトリでローカルファイルを保持する場所486 Claude Code が git リポジトリでローカルファイルを保持する場所

487</h4>487</h4>

488 488 

489Claude が Bash コマンドを実行する権限を求め、「はい、今後は聞かないでください」を選択すると、Claude Code はその承認を `.claude/settings.local.json` の `allow` ルールとして保存します。git リポジトリのサブディレクトリから Claude Code を開始する場合、リポジトリルートでそのファイルを読み取り、書き込み、リポジトリ全体に承認を適用します。[worktree](/docs/ja/worktrees) では、メインチェックアウトのルートのファイルを使用します。489Claude が Bash コマンドを実行する権限を求め、「はい、今後は聞かないでください」を選択すると、Claude Code はその承認を `.claude/settings.local.json` の `allow` ルールとして保存します。git リポジトリのサブディレクトリで Claude Code を開始した場合、リポジトリルートにあるそのファイルを読み書きし、承認をリポジトリ全体に適用します。[worktree](/docs/ja/worktrees) では、メインチェックアウトのルートにあるファイルを使用します。

490 490 

4912 つのルールがルートの場所を適格にします:491ルートの場所には 2 つの条件があります:

492 492 

493* **ファイルが `.claude/settings.json` の代わりに留まる場合**:git リポジトリの外、リポジトリルートがホームディレクトリ、Windows、またはリポジトリルート、その `.git` またはその `.claude` エントリがユーザーによって所有されていない場合。493* **ファイルが代わりに `.claude/settings.json` と同じ場所に置かれる場合**:git リポジトリの外、リポジトリルートがホームディレクトリである場合、Windows の場合、またはリポジトリルートやその `.git` または `.claude` エントリの所有者が自分のユーザーでない場合。

494* **ファイル内のパスはリポジトリルートに固定されません**:`/` で始まる権限ルール、または相対サンドボックスパスは、[セッションのプライマリ作業ディレクトリ](/docs/ja/permissions#read-and-edit)に固定されます。494* **ファイル内のパスはリポジトリルートを基準にしません**:`/` で始まる権限ルールや相対サンドボックスパスは、代わりに[セッションのプライマリ作業ディレクトリを基準にします](/docs/ja/permissions#read-and-edit)。

495 495 

496v2.1.211 より前では、Claude Code は開始ディレクトリにファイルを保持していました。以前のバージョンが残したファイルをルートファイルと並行して読み込みます。両方が同じキーを設定する場合、ルートの値が適用され、両方のファイルからの権限ルールが適用されます。Agent SDK の [`resolveSettings()`](/docs/ja/agent-sdk/typescript#resolvesettings) ヘルパーは常に開始ディレクトリからファイルを読み込みます。496v2.1.211 より前では、Claude Code は開始ディレクトリにファイルを保持していました。以前のバージョンがそこに残したファイルも、ルートのファイルと併せて読み込みます。両方が同じキーを設定している場合はルートの値が適用され、権限ルールは両方のファイルのものが適用されます。Agent SDK の [`resolveSettings()`](/docs/ja/agent-sdk/typescript#resolvesettings) ヘルパーは常に開始ディレクトリからファイルを読み込みます。

497 497 

498Claude Code は共有 `.claude/settings.json` をセッションの[プライマリ作業ディレクトリ](/docs/ja/permissions#working-directories)から読み込むため、リポジトリルートにコミットされたファイルを使用するには、そこから Claude Code を開始してください。[`/cd`](/docs/ja/permissions#move-the-session-to-another-directory) でセッションを移動した後、Claude Code は代わりに新しいディレクトリから両方のプロジェクトファイルを読み込み、同じルールでローカルファイルを配置します。移動したディレクトリから読み込むには Claude Code v2.1.246 以降が必要です。498Claude Code は共有 `.claude/settings.json` をセッションの[プライマリ作業ディレクトリ](/docs/ja/permissions#working-directories)から読み込むため、リポジトリルートにコミットされたファイルを使用するには、そこで Claude Code を開始してください。[`/cd` でセッションを移動した](/docs/ja/permissions#move-the-session-to-another-directory)後は、Claude Code は代わりに新しいディレクトリから両方のプロジェクトファイルを読み込み、ローカルファイルは同じルールで配置します。移動先のディレクトリから読み込むには Claude Code v2.1.246 以降が必要です。

499 499 

500<span id="managed-settings-delivery" />500<span id="managed-settings-delivery" />

501 501 


511 組織が強制する内容を確認する511 組織が強制する内容を確認する

512</h3>512</h3>

513 513 

514組織が Claude Code を管理する場合、いくつかの設定はあなたのために決定され、独自のファイルに入れるものは何もそれらを変更しません。どれを確認するには、`/status` を実行してください。`Setting sources` 行は、あなたに適用される管理ソースの名前を付けます。管理設定はこのマシンで Claude Code が実行される場所に到達します。[開発者が変更できる内容](/docs/ja/managed-settings#what-a-developer-can-change)はローカル管理者権限と Claude Code 以外のツールをカバーしています。514組織が Claude Code を管理している場合、一部の設定はあらかじめ決定されており、自分のファイルに何を書いても変更できません。どの設定が該当するかを確認するには、`/status` を実行してください。`Setting sources` 行に、適用される管理ソースの名前が表示されます。管理設定は、このマシン上で Claude Code が実行されるすべての場所に適用されます。ローカル管理者権限と Claude Code 以外のツールについては、[開発者が変更できる内容](/docs/ja/managed-settings#what-a-developer-can-change)を参照してください。

515 515 

516管理設定は[管理設定ページ](/docs/ja/managed-settings#delivery-mechanisms)の配信メカニズムを通じてあなたに到達します。最も一般的には:516管理設定は、管理設定ページで説明している[配信メカニズム](/docs/ja/managed-settings#delivery-mechanisms)を通じて届きます。最も一般的なものは次のとおりです:

517 517 

518* [サーバー管理設定](/docs/ja/server-managed-settings)。Claude Code が claude.ai 管理コンソールまたは自己ホスト型[Claude apps gateway](/docs/ja/claude-apps-gateway) から取得します518* [サーバー管理設定](/docs/ja/server-managed-settings)。Claude Code が claude.ai 管理コンソールまたはセルフホストの [Claude apps gateway](/docs/ja/claude-apps-gateway) から取得します

519* MDM または OS レベルのポリシー、およびシステムディレクトリの `managed-settings.json` ファイル519* MDM または OS レベルのポリシー、およびシステムディレクトリ内の `managed-settings.json` ファイル

520* Claude Desktop などの埋め込みホスト。SDK `managedSettings` オプション経由。[埋め込みホストからポリシーを制御する](/docs/ja/managed-settings#parent-settings-from-embedding-hosts)を参照してください520* Claude Desktop などの埋め込みホスト。SDK の `managedSettings` オプションを通じて配信されます。[埋め込みホストからポリシーを制御する](/docs/ja/managed-settings#parent-settings-from-embedding-hosts)を参照してください

521 521 

522Claude Desktop アプリで実行される[Cowork](https://claude.com/docs/cowork/overview) セッションでは、Claude Code は claude.ai 管理コンソールからサーバー管理設定を取得しません。組織の Claude Desktop 構成が `requireCoworkFullVmSandbox` を設定しない限り、デバイスにデプロイされたポリシーを読み込みます。[ポリシーが適用される場所と時期](/docs/ja/managed-settings#where-and-when-a-policy-applies)は Cowork とクラウドセッションをカバーしています。522Claude Desktop アプリで自分のマシン上で実行される [Cowork](https://claude.com/docs/cowork/overview) セッションでは、Claude Code は claude.ai 管理コンソールからサーバー管理設定を取得しません。また、組織の Claude Desktop 設定で `requireCoworkFullVmSandbox` が設定されていない限り、デバイスにデプロイされたポリシーを読み込みます。Cowork とクラウドセッションについては、[ポリシーが適用される場所と時期](/docs/ja/managed-settings#where-and-when-a-policy-applies)を参照してください。

523 523 

524管理者の場合、[組織向けに Claude Code をセットアップする](/docs/ja/admin-setup)は何を強制するかを選択する手順を説明し、[管理設定をデプロイする](/docs/ja/managed-settings)は配信と、ポリシーが有効であることを確認する方法をカバーしています。524管理者の場合、[組織向けに Claude Code をセットアップする](/docs/ja/admin-setup)で何を強制するかを選択する手順を、[管理設定をデプロイする](/docs/ja/managed-settings)で配信方法とポリシーが有効であることを確認する方法を説明しています。claude.ai 管理コンソールの管理設定エディターに表示されることがある警告については、[サーバー管理設定を構成する](/docs/ja/server-managed-settings#configure-server-managed-settings)を参照してください。

525 525 

526<h2 id="change-a-setting">526<h2 id="change-a-setting">

527 設定を変更する527 設定を変更する


809 809 

810[クラウドセッション](/docs/ja/claude-code-on-the-web)は[クラウド環境](/docs/ja/cloud-environments)で実行され、マシン上ではなくリポジトリの新しいクローンで実行されます。これにより、どの設定がそこに到達するかが変わります:810[クラウドセッション](/docs/ja/claude-code-on-the-web)は[クラウド環境](/docs/ja/cloud-environments)で実行され、マシン上ではなくリポジトリの新しいクローンで実行されます。これにより、どの設定がそこに到達するかが変わります:

811 811 

812* **共有プロジェクト設定**(`.claude/settings.json`):1 つのリポジトリを持つセッションで読み込まれます。ファイルはクローンの一部であり、セッションはその内部で開始されるためです。その設定をコミットして、それらのセッションに適用してください。複数のリポジトリを持つセッションはクローンの上で開始され、各リポジトリの `.claude/settings.json` から `enabledPlugins` と `extraKnownMarketplaces` キーのみを読み込み、権限ルール、hooks、`env`、またはその他のキーは読み込みません。これら 2 つのキーが宣言するマーケットプレイスとプラグインは、それでも[クラウドセッションでは読み込まれません](/docs/ja/cloud-environments#what-carries-over-from-your-setup)。812* **共有プロジェクト設定**(`.claude/settings.json`):1 つのリポジトリを持つセッションで読み込まれます。ファイルはクローンの一部であり、セッションはその内部で開始されるためです。その設定をコミットして、それらのセッションに適用してください。Anthropic がホストする環境では、複数のリポジトリを持つセッションはクローンの上で開始され、各リポジトリの `.claude/settings.json` から `enabledPlugins` と `extraKnownMarketplaces` キーのみを読み込み、権限ルール、フック、`env`、またはその他のキーは読み込みません。これら 2 つのキーが宣言するマーケットプレイスとプラグインは、それでも[クラウドセッションでは読み込まれません](/docs/ja/cloud-environments#what-carries-over-from-your-setup)。自己ホスト型環境については、[どのリポジトリの設定が適用されるか](/docs/ja/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories)を参照してください。

813* **ユーザーおよびプロジェクトローカル設定**(`~/.claude/settings.json` および `.claude/settings.local.json`):読み込まれません。両方ともマシンに留まり、ローカルファイルはクローンにありません。813* **ユーザーおよびプロジェクトローカル設定**(`~/.claude/settings.json` および `.claude/settings.local.json`):読み込まれません。両方ともマシンに留まり、ローカルファイルはクローンにありません。

814* **管理設定**:デバイスの `managed-settings.json` ファイルまたは MDM プロファイルはクラウドセッションに到達しません。組織の[サーバー管理設定](/docs/ja/server-managed-settings)は到達します。[サーフェスカバレッジ](/docs/ja/model-config#surface-coverage)はどのクラウドセッションがそれらを受け取るかをリストします。[自己ホスト型環境](/docs/ja/self-hosted-environments)もランナーイメージの管理設定ファイルを読み込みます。[Claude Code が管理ソースを結合する方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources)はそのファイルがいつ適用されるかを説明します。814* **管理設定**:デバイスの `managed-settings.json` ファイルまたは MDM プロファイルはクラウドセッションに到達しません。組織の[サーバー管理設定](/docs/ja/server-managed-settings)は到達します。[サーフェスカバレッジ](/docs/ja/model-config#surface-coverage)はどのクラウドセッションがそれらを受け取るかをリストします。[自己ホスト型環境](/docs/ja/self-hosted-environments)もランナーイメージの管理設定ファイルを読み込みます。[Claude Code が管理ソースを結合する方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources)はそのファイルがいつ適用されるかを説明します。

815* **`/config`**:ブラウザの claude.ai/code では、値を変更する代わりに Claude Code セクションの claude.ai 設定を開きます。クラウドセッションの設定を変更するには、環境で[環境変数](/docs/ja/cloud-environments#set-environment-variables)を設定するか、1 つのリポジトリを持つセッションでは、そのリポジトリの `.claude/settings.json` にキーをコミットしてください。815* **`/config`**:ブラウザの claude.ai/code では、値を変更する代わりに Claude Code セクションの claude.ai 設定を開きます。クラウドセッションの設定を変更するには、環境で[環境変数](/docs/ja/cloud-environments#set-environment-variables)を設定するか、1 つのリポジトリを持つセッションでは、そのリポジトリの `.claude/settings.json` にキーをコミットしてください。

skills.md +2 −0

Details

94| `migrate` | 既存の Claude API コードを新しいモデルに更新する | v2.1.221 より前 |94| `migrate` | 既存の Claude API コードを新しいモデルに更新する | v2.1.221 より前 |

95| `upgrade` | プロジェクトの Anthropic SDK 依存関係をメジャーバージョン間で移動します。現在は Python `anthropic` パッケージを 0.x から 1.x に移動します | v2.1.236 以降 |95| `upgrade` | プロジェクトの Anthropic SDK 依存関係をメジャーバージョン間で移動します。現在は Python `anthropic` パッケージを 0.x から 1.x に移動します | v2.1.236 以降 |

96| `managed-agents-onboard` | 新しい Managed Agent の作成をウォークスルーする | v2.1.221 より前 |96| `managed-agents-onboard` | 新しい Managed Agent の作成をウォークスルーする | v2.1.221 より前 |

97| `managed-agents-onboard <url>` | URL のページが説明する Managed Agent を構築する。たとえば [Managed Agents ドキュメント](https://platform.claude.com/docs/en/managed-agents/overview) 内のページなど | v2.1.290 以降 |

98| `managed-agents-onboard <quickstart-name>` | `deep-researcher` など、Console のクイックスタートテンプレートの 1 つを構築する。テンプレート名ではない単語を 1 つ指定した場合、Claude は有効な名前を一覧表示します | v2.1.290 以降 |

97| `prompt-audit` | プロンプト、スキル、ツール説明に書かれた古いモデル向けの指示にフラグを立て、差分として修正を提案する | v2.1.221 以降 |99| `prompt-audit` | プロンプト、スキル、ツール説明に書かれた古いモデル向けの指示にフラグを立て、差分として修正を提案する | v2.1.221 以降 |

98| `cost-optimize` | プロジェクトの Claude API 支出がどこに行くかをプロファイルし、プロンプトキャッシング、不要な入出力トークンの削減、バッチ処理、努力、モデル選択などのオプションから節約を提案します。一度に 1 つの変更 | v2.1.247 以降 |100| `cost-optimize` | プロジェクトの Claude API 支出がどこに行くかをプロファイルし、プロンプトキャッシング、不要な入出力トークンの削減、バッチ処理、努力、モデル選択などのオプションから節約を提案します。一度に 1 つの変更 | v2.1.247 以降 |

99| `build-eval` | Claude を搭載したアプリ用の eval セットをビルドする | v2.1.259 以降 |101| `build-eval` | Claude を搭載したアプリ用の eval セットをビルドする | v2.1.259 以降 |

sub-agents.md +4 −2

Details

609メイン会話の権限モードは、Claude Code が設定した値を使用するかどうかを決定します。609メイン会話の権限モードは、Claude Code が設定した値を使用するかどうかを決定します。

610 610 

611* メイン会話が `bypassPermissions`、`acceptEdits`、または[自動モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)にある場合、サブエージェントはそのモードで実行され、Claude Code は設定した `permissionMode` を無視します。自動モードでは、分類器はメイン会話のブロックおよび許可ルールでサブエージェントのツール呼び出しを評価します。サブエージェントが終了すると、分類器はその作業と最終レポートもレビューしてから、レポートが配信されます。[自動モードがサブエージェントを処理する方法](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)を参照してください。611* メイン会話が `bypassPermissions`、`acceptEdits`、または[自動モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)にある場合、サブエージェントはそのモードで実行され、Claude Code は設定した `permissionMode` を無視します。自動モードでは、分類器はメイン会話のブロックおよび許可ルールでサブエージェントのツール呼び出しを評価します。サブエージェントが終了すると、分類器はその作業と最終レポートもレビューしてから、レポートが配信されます。[自動モードがサブエージェントを処理する方法](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)を参照してください。

612* メイン会話が `default`、`dontAsk`、または `plan` モードにある場合、サブエージェントは設定した権限モードで実行されます。ただし `bypassPermissions` を除きます。`bypassPermissions` を宣言するサブエージェントはメイン会話のモードを保持します。`bypassPermissions` 例外には Claude Code v2.1.267 以降が必要です。612* メイン会話が `default`、`dontAsk`、または `plan` モードの場合、サブエージェントは設定した権限モードで実行されます。次の場合は、代わりにメイン会話の権限モードを維持します。

613 * `bypassPermissions` を設定した場合。`bypassPermissions` の例外には Claude Code v2.1.267 以降が必要です。

614 * `auto` を設定し、サブエージェントで [auto モードが利用できない](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)場合。例えば、設定ファイルで [`disableAutoMode`](/docs/ja/settings-reference#disableautomode) が設定されている場合や、サブエージェントのモデルが auto モードをサポートしていない場合です。

613 615 

614`permissionMode` はこれらの値を受け入れ、`default` のエイリアスとして `manual` を受け入れます。616`permissionMode` はこれらの値を受け入れ、`default` のエイリアスとして `manual` を受け入れます。

615 617 


640Implement API endpoints. Follow the conventions and patterns from the preloaded skills.642Implement API endpoints. Follow the conventions and patterns from the preloaded skills.

641```643```

642 644 

643リストされた各スキルの完全なコンテンツは起動時にサブエージェントのコンテキストに注入されます。このフィールドはプリロードされるスキルを制御し、サブエージェントがアクセスできるスキルではありません。なしで、サブエージェントは実行中に Skill ツールを通じてプロジェクト、ユーザー、およびプラグインスキルを発見して呼び出すことができます。スキルを完全に呼び出すことを防ぐには、[`tools`](#available-tools)リストから `Skill` を省略するか、`disallowedTools` に追加します。645リストされた各スキルの完全なコンテンツは、リスト内の最初の 32 個の異なる名前まで、起動時にサブエージェントのコンテキストに注入されます。このフィールドはプリロードされるスキルを制御するものであり、サブエージェントがアクセスできるスキルを制御するものではありません。このフィールドがなくても、サブエージェントは実行中に Skill ツールを通じてプロジェクト、ユーザー、およびプラグインスキルを発見して呼び出すことができます。サブエージェントがスキルを呼び出すことを完全に防ぐには、[`tools`](#available-tools) リストから `Skill` を省略するか、`disallowedTools` に追加します。

644 646 

645[`disable-model-invocation: true`](/docs/ja/skills#control-who-invokes-a-skill)を設定するスキルはプリロードできません。プリロードは Claude が呼び出すことができるスキルと同じセットから取得されるためです。これには、Claude が単独で実行できないバンドルされた `/verify` スキルが含まれます。647[`disable-model-invocation: true`](/docs/ja/skills#control-who-invokes-a-skill)を設定するスキルはプリロードできません。プリロードは Claude が呼び出すことができるスキルと同じセットから取得されるためです。これには、Claude が単独で実行できないバンドルされた `/verify` スキルが含まれます。

646 648 

Details

666 666 

667* WebFetch は `localhost` およびドットのない他のホスト名(ベアなイントラネット名など)をリクエストを行う前に拒否します。[返されるエラー](/docs/ja/errors#webfetch-cannot-fetch-localhost) は Claude に Bash 経由で `curl` を使用してローカルサーバーに到達するよう指示します。667* WebFetch は `localhost` およびドットのない他のホスト名(ベアなイントラネット名など)をリクエストを行う前に拒否します。[返されるエラー](/docs/ja/errors#webfetch-cannot-fetch-localhost) は Claude に Bash 経由で `curl` を使用してローカルサーバーに到達するよう指示します。

668* HTTP URL は自動的に HTTPS にアップグレードされます。668* HTTP URL は自動的に HTTPS にアップグレードされます。

669* 大きなページは処理前に固定文字数制限に切り詰められます。669* WebFetch は 1 回の呼び出しにつき、ページのコンテンツを最大 100,000 文字まで読み取ります。Claude Code v2.1.290 以降では、より長いページの結果で読み取られなかった量が Claude に伝えられるため、Claude は次の部分をフェッチできます。

670* WebFetch はデフォルトで各レスポンスを 15 分間キャッシュするため、同じ URL の繰り返しフェッチは迅速に返されます。Claude Code v2.1.233 以降では、[`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/ja/env-vars#variables) を設定して、WebFetch が各レスポンスを保持する期間を変更できます。670* WebFetch はデフォルトで各レスポンスを 15 分間キャッシュするため、同じ URL の繰り返しフェッチは迅速に返されます。Claude Code v2.1.233 以降では、[`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/ja/env-vars#variables) を設定して、WebFetch が各レスポンスを保持する期間を変更できます。

671* ページが 5 分以内(WebFetch が従うリダイレクトを含む)にダウンロードを完了しない場合、デッドラインエラーで失敗します。Claude Code v2.1.268 以降では、[`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/ja/env-vars#variables) を設定して制限を変更するか、`0` に設定して削除できます。671* ページが 5 分以内(WebFetch が従うリダイレクトを含む)にダウンロードを完了しない場合、デッドラインエラーで失敗します。Claude Code v2.1.268 以降では、[`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/ja/env-vars#variables) を設定して制限を変更するか、`0` に設定して削除できます。

672* URL が別のホストにリダイレクトされる場合、WebFetch はそれに従う代わりに、元の URL とリダイレクト先を名前で示すテキスト結果を返します。その後 Claude は 2 番目の WebFetch 呼び出しで新しい URL をフェッチします。672* URL が別のホストにリダイレクトされる場合、WebFetch はそれに従う代わりに、元の URL とリダイレクト先を名前で示すテキスト結果を返します。その後 Claude は 2 番目の WebFetch 呼び出しで新しい URL をフェッチします。

ultrareview.md +6 −6

Details

56 プルリクエストをレビューする56 プルリクエストをレビューする

57</h3>57</h3>

58 58 

59GitHub プルリクエストをレビューするには、PR 番号を渡します。59ローカルブランチではなく `github.com` 上のプルリクエストをレビューするには、PR 番号を渡します。

60 60 

61```text theme={null}61```text theme={null}

62/code-review ultra 123462/code-review ultra 1234


64 64 

65このコマンドは `#1234`、`PR 1234`、および貼り付けられた PR URL も受け入れます。貼り付けられた URL は現在のディレクトリ内のリポジトリを指す必要があります。65このコマンドは `#1234`、`PR 1234`、および貼り付けられた PR URL も受け入れます。貼り付けられた URL は現在のディレクトリ内のリポジトリを指す必要があります。

66 66 

67PR モードでは、クラウドサンドボックスはローカルの作業ツリーをバンドルするのではなく、ホストから直接プルリクエストをクローンします。PR モードは `github.com` 上のリポジトリおよび Claude Code に接続されている Owner が設定した [GitHub Enterprise Server](/docs/ja/github-enterprise-server) インスタンスで機能します。67PR モードには `github.com` 上のリポジトリが必要です。[GitHub Enterprise Server](/docs/ja/github-enterprise-server) インスタンス上のリポジトリの場合は、PR 番号なしで `/code-review ultra` を実行し、代わりにローカルブランチをレビューしてください。

68 68 

69`github.com` 上のリポジトリの場合、サンドボックスは Claude アカウントに接続された GitHub アカウントでクローンするため、そのアカウントは PR のリポジトリを読み取ることができる必要があります。69PR モードでは、クラウドサンドボックスは作業ツリーをアップロードするのではなく、`github.com` からプルリクエストをクローンします。その際には Claude アカウントに接続された GitHub アカウントを使用するため、そのアカウントにはリポジトリへの読み取りアクセス権が必要です。

70 70 

71[`/web-setup`](/docs/ja/web-quickstart#connect-from-your-terminal) を実行して、GitHub CLI ログインを Claude アカウントに接続します。71[`/web-setup`](/docs/ja/web-quickstart#connect-from-your-terminal) を実行して、GitHub CLI ログインを Claude アカウントに接続します。

72 72 


74 プルリクエストに検出結果を投稿する74 プルリクエストに検出結果を投稿する

75</h3>75</h3>

76 76 

77Claude Code v2.1.227 以降では、`github.com` 上のプルリクエストをレビューするときに、Claude が完成した検出結果を PR に自分の GitHub アカウントからの単一のプレーンコメントとして投稿するようにできます。コメントはレビューまたは承認ではなく、「Generated by Claude Code」という注記で終わります。ブランチまたは GitHub Enterprise Server プルリクエストをレビューする場合、Claude Code はセッションにのみ検出結果を表示します。77Claude Code v2.1.227 以降では、`github.com` 上のプルリクエストをレビューするときに、Claude が完成した検出結果を PR に自分の GitHub アカウントからの単一のプレーンコメントとして投稿するようにできます。コメントはレビューまたは承認ではなく、「Generated by Claude Code」という注記で終わります。ブランチをレビューする場合、Claude Code はセッションにのみ検出結果を表示します。

78 78 

79Claude Code は選択しない限り投稿しません。`--no-post` がデフォルトです。投稿は実行ごとに行う選択です。79Claude Code は選択しない限り投稿しません。`--no-post` がデフォルトです。投稿は実行ごとに行う選択です。

80 80 


106Claude Code はテキストが複数の単語を持ち、ブランチ名または PR 参照ではない場合にのみ、テキストをメモとして扱います。単一の単語を読み取ると、ブランチ名または PR 参照として読み取られるため、タイプミスされたブランチ名は [異なるベースに対してレビューする](#review-against-a-different-base)からの最も近いブランチエラーを取得します。テキストが `check PR 123 again` などの PR 参照と他の単語を組み合わせる場合、Claude Code も起動しません。PR 番号のみで再実行してその PR をレビューするか、参照なしで現在のブランチをレビューするよう求めます。106Claude Code はテキストが複数の単語を持ち、ブランチ名または PR 参照ではない場合にのみ、テキストをメモとして扱います。単一の単語を読み取ると、ブランチ名または PR 参照として読み取られるため、タイプミスされたブランチ名は [異なるベースに対してレビューする](#review-against-a-different-base)からの最も近いブランチエラーを取得します。テキストが `check PR 123 again` などの PR 参照と他の単語を組み合わせる場合、Claude Code も起動しません。PR 番号のみで再実行してその PR をレビューするか、参照なしで現在のブランチをレビューするよう求めます。

107 107 

108<Tip>108<Tip>

109 リポジトリが大きすぎてバンドルできない場合、Claude Code は代わりに PR モードを使用するよう促します。ブランチをプッシュしてドラフト PR を開き、`/code-review ultra <PR-number>` を実行してください。109 リポジトリが大きすぎてバンドルできない場合、Claude Code は代わりに PR モードを使用するよう促します。`github.com` 上のリポジトリの場合は、ブランチをプッシュしてドラフト PR を開き、`/code-review ultra <PR-number>` を実行してください。

110</Tip>110</Tip>

111 111 

112<h3 id="diff-limits-and-fallbacks">112<h3 id="diff-limits-and-fallbacks">


173claude ultrareview origin/main173claude ultrareview origin/main

174```174```

175 175 

176引数なしの場合、サブコマンドは現在のブランチとデフォルトブランチ間の差分をレビューします。マージベースが存在しない場合は、`/code-review ultra` と同じ[リポジトリ全体フォールバック](#diff-limits-and-fallbacks)を使用します。PR 番号を渡してプルリクエストをレビューするか、ベースブランチを渡してそれに対してレビューします。[ベースブランチ処理](#review-against-a-different-base)は対話的コマンドと一致します。176引数なしの場合、サブコマンドは現在のブランチとデフォルトブランチ間の差分をレビューします。マージベースが存在しない場合は、`/code-review ultra` と同じ[リポジトリ全体フォールバック](#diff-limits-and-fallbacks)を使用します。PR 番号を渡して [`github.com` 上のプルリクエストをレビュー](#review-a-pull-request)するか、ベースブランチを渡してそれに対してレビューします。[ベースブランチ処理](#review-against-a-different-base)は対話的コマンドと一致します。

177 177 

178サブコマンドを実行すると、リポジトリ全体フォールバックと課金および利用規約プロンプトに同意したことになるため、入力を待たずに実行が開始されます。自分で実行することが同意としてカウントされます。Claude がたとえば Bash ツールを通じてサブコマンドを代わりに実行する場合、Claude Code はリポジトリ全体レビューを拒否します。178サブコマンドを実行すると、リポジトリ全体フォールバックと課金および利用規約プロンプトに同意したことになるため、入力を待たずに実行が開始されます。自分で実行することが同意としてカウントされます。Claude がたとえば Bash ツールを通じてサブコマンドを代わりに実行する場合、Claude Code はリポジトリ全体レビューを拒否します。

179 179 

vs-code.md +1 −0

Details

166* **ブックマーク**: 応答にマウスを置いて **Bookmark response** をクリックして保存するか、保存された応答で **Remove bookmark** をクリックして削除します。166* **ブックマーク**: 応答にマウスを置いて **Bookmark response** をクリックして保存するか、保存された応答で **Remove bookmark** をクリックして削除します。

167 167 

168 保存された応答を確認するには、Bookmarks パネルを開きます。Claude Code パネルの上部にあるブックマークアイコンをクリックするか、コマンドメニューの Context セクションで **Bookmarks** を選択するか、`/bookmarks` を入力します。Claude Code v2.1.286 以降が必要です。168 保存された応答を確認するには、Bookmarks パネルを開きます。Claude Code パネルの上部にあるブックマークアイコンをクリックするか、コマンドメニューの Context セクションで **Bookmarks** を選択するか、`/bookmarks` を入力します。Claude Code v2.1.286 以降が必要です。

169* **Claude が送信したファイル**: セッションが [Remote Control](/docs/ja/remote-control#start-a-remote-control-session) に接続されていて、Claude が [`SendUserFile` ツール](/docs/ja/tools-reference)でファイルを送信すると、会話に **Sent report.md, chart.png** のような行が表示されます。ファイル名をクリックするとエディターで開きます。

169* **コンテキスト表示**: プロンプトボックスは Claude のコンテキストウィンドウをどの程度使用しているかを表示します。Claude は必要に応じて自動的にコンパクトにするか、`/compact` を手動で実行できます。170* **コンテキスト表示**: プロンプトボックスは Claude のコンテキストウィンドウをどの程度使用しているかを表示します。Claude は必要に応じて自動的にコンパクトにするか、`/compact` を手動で実行できます。

170* **プロンプトキャッシュクロック**: コンテキスト表示の横にある時計アイコンは、会話の[プロンプトキャッシュ](/docs/ja/prompt-caching)が期限切れになるまでの時間を推定します。キャッシュの 5 分または 1 時間の[有効期限](/docs/ja/prompt-caching#cache-lifetime)からカウントダウンし、キャッシュを使用する各応答がカウントダウンを再開します。コンパクション以外に、[キャッシュを無効にするアクション](/docs/ja/prompt-caching#actions-that-invalidate-the-cache)はクロックをリセットしないため、モデルを切り替えた後も残り時間を表示できます。171* **プロンプトキャッシュクロック**: コンテキスト表示の横にある時計アイコンは、会話の[プロンプトキャッシュ](/docs/ja/prompt-caching)が期限切れになるまでの時間を推定します。キャッシュの 5 分または 1 時間の[有効期限](/docs/ja/prompt-caching#cache-lifetime)からカウントダウンし、キャッシュを使用する各応答がカウントダウンを再開します。コンパクション以外に、[キャッシュを無効にするアクション](/docs/ja/prompt-caching#actions-that-invalidate-the-cache)はクロックをリセットしないため、モデルを切り替えた後も残り時間を表示できます。

171 * カウントダウンが終了するまで、アイコンは **12m** などの残り時間を表示します。172 * カウントダウンが終了するまで、アイコンは **12m** などの残り時間を表示します。

workflows.md +27 −1

Details

354 354 

355本体は最上位の `await` を持つプレーン JavaScript です。`agent()` は 1 つのサブエージェントを生成し、`pipeline()` はリスト内の 1 つのアイテムごとに 1 つを実行し、`parallel()` は一連のエージェント タスクを同時に実行してすべてが完了するのを待ちます。355本体は最上位の `await` を持つプレーン JavaScript です。`agent()` は 1 つのサブエージェントを生成し、`pipeline()` はリスト内の 1 つのアイテムごとに 1 つを実行し、`parallel()` は一連のエージェント タスクを同時に実行してすべてが完了するのを待ちます。

356 356 

357`agent()` 呼び出しは、実行中に停止した場合または回復不可能な API エラーが発生した場合は `null` に解決されます。`pipeline()` はその `null` を結果配列に保持するため、例は `.filter(Boolean)` で終わってそれらのエントリを削除します。357`agent()` 呼び出しは、実行中に停止した場合または回復不可能な API エラーが発生した場合は `null` に解決されます。`pipeline()` はその `null` を結果配列に保持するため、例は `.filter(Boolean)` で終わり、[すべての試行で停止したエージェント](#when-an-agent-stalls-and-restarts)のスロットを含め、それらのエントリを削除します。

358 358 

359[auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)では、スクリプトが `agent()` に渡すプロンプトは、分類器がそのサブエージェントのアクションをレビューするときにあなたからのリクエストとしてカウントされません。Claude Code はそれをスクリプトが計算したテキストとしてマークするためです。359[auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)では、スクリプトが `agent()` に渡すプロンプトは、分類器がそのサブエージェントのアクションをレビューするときにあなたからのリクエストとしてカウントされません。Claude Code はそれをスクリプトが計算したテキストとしてマークするためです。

360 360 


463* 制限は 24 時間以内にリセットされます。週単位の制限はさらに先にリセットされる可能性があります。463* 制限は 24 時間以内にリセットされます。週単位の制限はさらに先にリセットされる可能性があります。

464* ランはまだ 2 回待機していません。3 回目に制限に達すると、エージェントは失敗します。464* ランはまだ 2 回待機していません。3 回目に制限に達すると、エージェントは失敗します。

465 465 

466<h3 id="when-an-agent-stalls-and-restarts">

467 エージェントが停滞して再起動するとき

468</h3>

469 

470出力が十分長い時間届かなくなったエージェントは、同じプロンプトから最初からやり直します。[`/workflows`](#watch-the-run) では、その名前に `(retry 1)` サフィックスが付き、詳細に `attempt 2 (stalled)` と表示されます。再起動は自動で行われるため、何もする必要はありません。

471 

472新しい試行は、停滞した試行のトランスクリプトなしで開始されます。停滞した試行が既に変更したファイルは変更されたままで、その試行が消費したトークンはランの合計に残ります。停滞ウィンドウとは、Claude Code が試行を終了する前にエージェントからの出力を待つ時間です。エージェントが自身のツール呼び出しや[使用制限のリセット](#when-a-run-hits-your-usage-limit)を待っている時間は、停滞ウィンドウにカウントされません。

473 

474エージェントの再起動は、`r` で要求した再起動も含めて最大 5 回です。6 回目の試行も停滞した場合、`agent()` 呼び出しは失敗し、エラーの冒頭にその理由が示されます。

475 

476* `agent stalled on all 6 attempts`: すべての試行がウィンドウ全体の間、出力なしで経過しました。エージェントの作業がそれほど長く出力を伴わないものである場合は、ウィンドウを長くしてください

477* `agent lost its reply on all 6 attempts`: すべての試行の応答ストリームが途絶え、Claude Code がその待機を諦めました。[ストリーミングアイドルウォッチドッグ](/docs/ja/network-config#streaming-idle-watchdogs)が先に応答を終了させたため、停滞ウィンドウを長くしても効果はありません。そのウォッチドッグのタイムアウトは `CLAUDE_STREAM_IDLE_TIMEOUT_MS` で設定します

478* `agent abandoned after 6 attempts`: 試行がそれぞれ異なる方法で終了しました。エラーにはそれらが順番に列挙されます

479 

480ウィンドウが終了する前に出力を生成するための時間をエージェントに多く与えるには:

481 

482* **1 つのエージェント**: その `agent()` 呼び出しでミリ秒単位の `stallMs` を渡します。たとえば 30 分なら `agent(prompt, { stallMs: 1800000 })` です

483* **すべてのエージェント**: [`CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`](/docs/ja/env-vars#variables) を設定します。これはワークフロー外のサブエージェントにも適用されます

484 

485失敗後にランが続行されるかどうかは、スクリプトがエージェントをどのように呼び出したかによって異なります。

486 

487* **[`parallel()` または `pipeline()`](#what-the-saved-script-looks-like) 内**: ランはエージェントの結果の代わりに `null` を使用して続行されます

488* **直接 await した場合**: ランはエラーで終了します

489 

490再試行するには、Claude にワークフローを再起動するよう依頼してください。何が再度実行されるかについては、[一時停止後に再開する](#resume-after-a-pause)を参照してください。

491 

466<h3 id="cost">492<h3 id="cost">

467 コスト493 コスト

468</h3>494</h3>

worktrees.md +1 −1

Details

104* **Git のリダイレクト**: Claude Code は、git をメインチェックアウトにリダイレクトする Bash または Monitor コマンドをブロックします。リダイレクトは、`git -C`、`--git-dir`、`GIT_DIR` または `GIT_WORK_TREE` 変数、あるいは git を実行する前のメインチェックアウトへの `cd` によって発生する可能性があります。104* **Git のリダイレクト**: Claude Code は、git をメインチェックアウトにリダイレクトする Bash または Monitor コマンドをブロックします。リダイレクトは、`git -C`、`--git-dir`、`GIT_DIR` または `GIT_WORK_TREE` 変数、あるいは git を実行する前のメインチェックアウトへの `cd` によって発生する可能性があります。

105* **コマンドの形式**: Claude Code は、コマンドが実行する git が worktree 内にとどまることをコマンドテキストから検証できない場合、Bash または Monitor コマンドをブロックします。これは、たとえばコマンド名が実行時に計算される場合、構文を解析できない場合、または `${!name}` や `${ command; }` などの展開がテキストに明記されていないコマンドを実行する可能性がある場合に発生します。Claude Code は、拒否されたコマンドを単純な個別のコマンドに分割するなど、書き直す方法を Claude に伝えます。このチェックをオフにすることはできません。105* **コマンドの形式**: Claude Code は、コマンドが実行する git が worktree 内にとどまることをコマンドテキストから検証できない場合、Bash または Monitor コマンドをブロックします。これは、たとえばコマンド名が実行時に計算される場合、構文を解析できない場合、または `${!name}` や `${ command; }` などの展開がテキストに明記されていないコマンドを実行する可能性がある場合に発生します。Claude Code は、拒否されたコマンドを単純な個別のコマンドに分割するなど、書き直す方法を Claude に伝えます。このチェックをオフにすることはできません。

106 106 

107これらのチェックが読み取るのは、編集の対象となるパス、コマンドが実行されるディレクトリ、およびコマンドのテキストです。シェルコマンドがどのファイルに書き込むかを追跡するチェックはないため、`cp` やシェルのリダイレクトなど、メインチェックアウトで git を実行せずにメインチェックアウトに書き込むコマンドは、これらのチェックでは拒否されません。Claude Code はそのようなコマンドを他のシェルコマンドと同様に扱うため、実行されるか確認を求められるかは、[権限モード](/docs/ja/permission-modes)とルールによって決まります。107これらのチェックが読み取るのは、編集の対象となるパス、コマンドが実行されるディレクトリ、およびコマンドのテキストです。シェルコマンドがどのファイルに書き込むかを追跡するチェックはないため、`cp` やシェルのリダイレクトなど、メインチェックアウトで git を実行せずにメインチェックアウトに書き込むコマンドは、これらのチェックでは拒否されません。Claude Code はそのようなコマンドを、[権限](/docs/ja/permissions)と[サンドボックス化](/docs/ja/sandboxing)の設定のもとで他のシェルコマンドと同様に扱います。

108 108 

109チェックは、Claude Code を起動したリポジトリに適用されます。リンクされた worktree のリンク元であるメインチェックアウトも対象になります。PowerShell コマンドについては、Claude Code は作業ディレクトリのチェックのみを適用します。109チェックは、Claude Code を起動したリポジトリに適用されます。リンクされた worktree のリンク元であるメインチェックアウトも対象になります。PowerShell コマンドについては、Claude Code は作業ディレクトリのチェックのみを適用します。

110 110