SpyBara
Go Premium

Documentation 2026-10-13 23:57 UTC to 2026-10-14 22:58 UTC

70 files changed +1,994 −1,350. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 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

855 855 

856リモートサーバーのステータスは、`"connected"` を報告した後でも変わる可能性があります。セッション中に接続が切れると、Claude Code はサーバーを `"pending"` に戻して [再接続](/docs/ja/mcp#automatic-reconnection) します。その後、TypeScript で `mcpServerStatus()` を呼び出すか、Python で [`ClaudeSDKClient.get_mcp_status()`](/docs/ja/agent-sdk/python#methods) を呼び出すと、あなた側で設定変更がなくても、以前に接続されていたサーバーに対して `"pending"` を報告できます。856リモートサーバーのステータスは、`"connected"` を報告した後でも変わる可能性があります。セッション中に接続が切れると、Claude Code はサーバーを `"pending"` に戻して [再接続](/docs/ja/mcp#automatic-reconnection) します。その後、TypeScript で `mcpServerStatus()` を呼び出すか、Python で [`ClaudeSDKClient.get_mcp_status()`](/docs/ja/agent-sdk/python#methods) を呼び出すと、あなた側で設定変更がなくても、以前に接続されていたサーバーに対して `"pending"` を報告できます。

857 857 

8585 回の再接続試行が失敗した後、サーバーは `"failed"` を報告するか、再度認可が必要な場合は `"needs-auth"` を報告します。手動で再試行するには、TypeScript で [`reconnectMcpServer()`](/docs/ja/agent-sdk/typescript#methods) を呼び出すか、Python で [`ClaudeSDKClient.reconnect_mcp_server()`](/docs/ja/agent-sdk/python#methods) を呼び出してください。8585 回の再接続試行が失敗した後、サーバーは `"failed"` を報告するか、再度認可が必要な場合は `"needs-auth"` を報告します。一時的なエラーの後も Claude Code は [バックグラウンドで再試行](/docs/ja/mcp#mid-session-drops-of-a-remote-server) を続けるため、`"failed"` の HTTP または SSE サーバーは、呼び出しを行わなくても `"connected"` に戻ることがあります。手動で再試行するには、TypeScript で [`reconnectMcpServer()`](/docs/ja/agent-sdk/typescript#methods) を呼び出すか、Python で [`ClaudeSDKClient.reconnect_mcp_server()`](/docs/ja/agent-sdk/python#methods) を呼び出してください。

859 859 

860<h2 id="troubleshooting">860<h2 id="troubleshooting">

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

Details

424 Claude Code がシステムプロンプト外に追加するコンテキスト424 Claude Code がシステムプロンプト外に追加するコンテキスト

425</h2>425</h2>

426 426 

427システムリマインダーは、Claude Code がセッション中に会話に追加するメッセージで、CLAUDE.md ファイルの内容やファイルがディスク上で変更されたというメモなど、Claude にコンテキストを提供します。Claude Code はシステムプロンプトではなく会話内でそれらを送信するため、`claude_code` プリセットを使用するか、`systemPrompt` として独自の文字列を渡すかに関わらず、Claude に到達します。427システムリマインダーは、Claude Code がセッション中に会話に追加するメッセージで、CLAUDE.md ファイルの内容やファイルがディスク上で変更されたというメモなど、Claude にコンテキストを提供します。Claude Code はシステムプロンプトではなく会話内でそれらを送信するため、`claude_code` プリセットを使用するか、`systemPrompt` として独自の文字列を渡すかに関わらず、そのほとんどは Claude に到達します。

428 428 

429このセクションでは、[エージェントの動作を変更する可能性が最も高いリマインダー](#reminders-claude-code-adds-to-the-conversation)、[エージェントが置き換えるコンテキストをオフにする方法](#turn-off-the-context-your-agent-replaces)、および[特定のリクエストで Claude が受け取ったもの](#see-what-claude-received)を確認する方法について説明します。429このセクションでは、[エージェントの動作を変更する可能性が最も高いリマインダー](#reminders-claude-code-adds-to-the-conversation)、[エージェントが置き換えるコンテキストをオフにする方法](#turn-off-the-context-your-agent-replaces)、および[特定のリクエストで Claude が受け取ったもの](#see-what-claude-received)を確認する方法について説明します。

430 430 


467| すべての CLAUDE.md ファイル | `CLAUDE_CODE_DISABLE_CLAUDE_MDS=1` を設定します |467| すべての CLAUDE.md ファイル | `CLAUDE_CODE_DISABLE_CLAUDE_MDS=1` を設定します |

468| タスクリストナッジ、ファイル変更メモ、およびスキルリスト | `CLAUDE_CODE_DISABLE_ATTACHMENTS=1` を設定します |468| タスクリストナッジ、ファイル変更メモ、およびスキルリスト | `CLAUDE_CODE_DISABLE_ATTACHMENTS=1` を設定します |

469 469 

470Claude Code の組み込みコミットおよびプルリクエスト指示はリマインダーではありません。これらは Bash ツールの説明の一部であるため、カスタム `systemPrompt` を渡す場合にも Claude に到達します。470組み込みのコミットおよびプルリクエスト指示を除外するには、`includeGitInstructions` を `false` に設定します。これらの指示は Bash ツールの説明の一部であり、カスタム `systemPrompt` を使用する場合でも Claude に到達します。ただし、最小限のデフォルト、カスタム `systemPrompt`、または独自のプロンプトを持つカスタムメインスレッドエージェントを使用する場合、セッションは git ステータススナップショットなしで開始されます。

471 471 

472`CLAUDE_CODE_DISABLE_ATTACHMENTS` を設定する場合、Claude Code は `@` ファイルメンションをプレーンテキストとして送信し、ファイルコンテンツに展開しません。利用可能なサブエージェントのリストとバックグラウンドタスク通知は依然として到達します。472`CLAUDE_CODE_DISABLE_ATTACHMENTS` を設定する場合、Claude Code は `@` ファイルメンションをプレーンテキストとして送信し、ファイルコンテンツに展開しません。利用可能なサブエージェントのリストとバックグラウンドタスク通知は依然として到達します。`@` ファイルメンションの展開のみを停止するには、Claude Code v2.1.299 以降で代わりに [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/ja/env-vars#variables) を設定します。その場合、Claude はメンションされたパスと、ファイルツールでそれらを読み込むよう促すメモを受け取ります。

473 473 

474以下の例は、`append` に独自のコミットルールを持つエージェント用です。トレーラーとフッターを削除するために両方の `attribution` キーを空の文字列に設定し、`includeGitInstructions` をオフにして、Claude Code 独自のコミットワークフロー指示があなたのものと競合しないようにします。474以下の例は、`append` に独自のコミットルールを持つエージェント用です。トレーラーとフッターを削除するために両方の `attribution` キーを空の文字列に設定し、`includeGitInstructions` をオフにして、Claude Code 独自のコミットワークフロー指示があなたのものと競合しないようにします。

475 475 

Details

164| `mcpServers` | `(string \| object)[]` | いいえ | このエージェントで利用可能な MCP サーバー(名前またはインライン設定) |164| `mcpServers` | `(string \| object)[]` | いいえ | このエージェントで利用可能な MCP サーバー(名前またはインライン設定) |

165| `initialPrompt` | `string` | いいえ | このエージェントがメインスレッドエージェントとして実行される場合、最初のユーザーターンとして自動送信されます。エージェントがサブエージェントとして呼び出される場合は無視されます |165| `initialPrompt` | `string` | いいえ | このエージェントがメインスレッドエージェントとして実行される場合、最初のユーザーターンとして自動送信されます。エージェントがサブエージェントとして呼び出される場合は無視されます |

166| `maxTurns` | `number` | いいえ | エージェントが停止する前の最大 agentic ターン数。エージェントが制限に達すると、Claude Code は出力を部分的としてマークして返し、[エージェントを再開](#resume-subagents)して続行できます。部分的なマーキングには Claude Code v2.1.246 以降が必要です |166| `maxTurns` | `number` | いいえ | エージェントが停止する前の最大 agentic ターン数。エージェントが制限に達すると、Claude Code は出力を部分的としてマークして返し、[エージェントを再開](#resume-subagents)して続行できます。部分的なマーキングには Claude Code v2.1.246 以降が必要です |

167| `autoCompactWindow` | `number` | いいえ | このエージェントがサブエージェントとして実行される場合の[自動圧縮ウィンドウ](/docs/ja/sub-agents#subagent-auto-compact-window)を、`100000` から `1000000` までのトークン数に引き下げます。TypeScript Agent SDK v0.3.296 以降が必要です。Python SDK の [`AgentDefinition`](/docs/ja/agent-sdk/python#agentdefinition) にはこのフィールドがありません |

167| `background` | `boolean` | いいえ | 呼び出されたときにこのエージェントをノンブロッキングバックグラウンドタスクとして実行します |168| `background` | `boolean` | いいえ | 呼び出されたときにこのエージェントをノンブロッキングバックグラウンドタスクとして実行します |

168| `omitClaudeMd` | `boolean` | いいえ | このエージェントがサブエージェントとして実行される場合、ユーザー、プロジェクト、およびローカル CLAUDE.md ファイルなしでこのエージェントを実行します。管理ポリシーファイルは引き続き読み込まれます。エージェントがメインスレッドエージェントとして実行される場合は無視されます。TypeScript Agent SDK v0.3.271 以降が必要です。Python SDK の [`AgentDefinition`](/docs/ja/agent-sdk/python#agentdefinition) にはこのフィールドがありません |169| `omitClaudeMd` | `boolean` | いいえ | ユーザー、プロジェクト、およびローカルの CLAUDE.md ファイルをこのエージェントの初期コンテキストから除外します。管理ポリシーファイルは引き続き読み込まれます。エージェントがメインスレッドエージェントとして実行される場合は無視されます。TypeScript Agent SDK v0.3.271 以降が必要です。Python SDK の [`AgentDefinition`](/docs/ja/agent-sdk/python#agentdefinition) にはこのフィールドがありません |

169| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | いいえ | このエージェントの推論努力レベル |170| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | いいえ | このエージェントの推論努力レベル |

170| `permissionMode` | `PermissionMode` | いいえ | このエージェント内のツール実行の権限モード。[サブエージェント継承ルール](/docs/ja/agent-sdk/permissions#available-modes)は、それが適用される場合を決定します |171| `permissionMode` | `PermissionMode` | いいえ | このエージェント内のツール実行の権限モード。[サブエージェント継承ルール](/docs/ja/agent-sdk/permissions#available-modes)は、それが適用される場合を決定します |

171 172 


200| サブエージェントが受け取るもの | サブエージェントが受け取らないもの |201| サブエージェントが受け取るもの | サブエージェントが受け取らないもの |

201| :- | :- |202| :- | :- |

202| 独自のシステムプロンプト(`AgentDefinition.prompt`)と Agent ツールのプロンプト | 親の会話履歴またはツール結果 |203| 独自のシステムプロンプト(`AgentDefinition.prompt`)と Agent ツールのプロンプト | 親の会話履歴またはツール結果 |

203| Project CLAUDE.md([`settingSources`](/docs/ja/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) 経由でロード)([`omitClaudeMd`](#agentdefinition-configuration) をエージェントが設定しない限り) | プリロードされたスキルコンテンツ(`AgentDefinition.skills` にリストされている場合を除く) |204| Project CLAUDE.md([`settingSources`](/docs/ja/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) 経由でロード)。[`omitClaudeMd`](#agentdefinition-configuration) を設定したエージェントは、これなしで開始します | プリロードされたスキルコンテンツ(`AgentDefinition.skills` にリストされている場合を除く) |

204| ツール定義(親から継承、または `tools` のサブセット、[バックグラウンド実行用にフィルタリング](/docs/ja/sub-agents#available-tools)) | 親のシステムプロンプト |205| ツール定義(親から継承、または `tools` のサブセット、[バックグラウンド実行用にフィルタリング](/docs/ja/sub-agents#available-tools)) | 親のシステムプロンプト |

205 206 

206<Note>207<Note>

Details

908 | "malformed"908 | "malformed"

909 | "not_honoured"909 | "not_honoured"

910 >;910 >;

911 claude_code_version?: string;

911};912};

912```913```

913 914 


922 923 

923リクエストの `sdkMcpServerManifests` フィールドとレスポンスの `sdk_mcp_manifests_parked` フィールドは、[`createSdkMcpServer()`](#createsdkmcpserver) で作成したインプロセスの [SDK MCP サーバー](/docs/ja/agent-sdk/custom-tools)用です。アプリケーションがどちらのフィールドを設定したり読み取ったりすることはありません。924リクエストの `sdkMcpServerManifests` フィールドとレスポンスの `sdk_mcp_manifests_parked` フィールドは、[`createSdkMcpServer()`](#createsdkmcpserver) で作成したインプロセスの [SDK MCP サーバー](/docs/ja/agent-sdk/custom-tools)用です。アプリケーションがどちらのフィールドを設定したり読み取ったりすることはありません。

924 925 

926`claude_code_version` は、セッションのターンを実行するプロセスの Claude Code のバージョンです。これは [`SDKSystemMessage`](#sdksystemmessage) の init メッセージに含まれる値と同じであるため、最初のターンの前に CLI のバージョンを読み取ることができます。

927 

928* このフィールドには Agent SDK v0.3.296 以降が必要です。このバージョンには Claude Code v2.1.296 がバンドルされています。

929* フィールドが `undefined` で、`pathToClaudeCodeExecutable` を設定している場合は、Claude Code v2.1.296 以降を指すようにしてください。

930 

925レスポンスは常に `fast_mode_state` を報告し、何かが [fast mode](/docs/ja/fast-mode) をブロックしている場合は `fast_mode_disabled_reason` がそれと併せて理由コードを伝えるため、利用可能性を再導出する代わりに、ブロックされた状態を説明できます。どちらの動作にも Claude Code v2.1.219 以降が必要です。v2.1.219 より前は、fast mode が利用できない場合にレスポンスは `fast_mode_state` を省略し、理由が含まれることはありませんでした。理由コードとその意味については、結果メッセージの [`fast_mode_disabled_reason`](#sdkresultmessage) を参照してください。931レスポンスは常に `fast_mode_state` を報告し、何かが [fast mode](/docs/ja/fast-mode) をブロックしている場合は `fast_mode_disabled_reason` がそれと併せて理由コードを伝えるため、利用可能性を再導出する代わりに、ブロックされた状態を説明できます。どちらの動作にも Claude Code v2.1.219 以降が必要です。v2.1.219 より前は、fast mode が利用できない場合にレスポンスは `fast_mode_state` を省略し、理由が含まれることはありませんでした。理由コードとその意味については、結果メッセージの [`fast_mode_disabled_reason`](#sdkresultmessage) を参照してください。

926 932 

927成功した `initialize` の制御レスポンスのラッパーには、`pending_permission_requests` 配列も含まれます。このフィールドはレスポンスのラッパー自体にあり、上記の `SDKControlInitializeResponse` ペイロード内にはありません。各エントリは完全な `control_request` メッセージで、実行中にセッションが権限リクエストのためにストリーミングするのと同じ `{ type: "control_request", request_id, request }` の形状をしています。933成功した `initialize` の制御レスポンスのラッパーには、`pending_permission_requests` 配列も含まれます。このフィールドはレスポンスのラッパー自体にあり、上記の `SDKControlInitializeResponse` ペイロード内にはありません。各エントリは完全な `control_request` メッセージで、実行中にセッションが権限リクエストのためにストリーミングするのと同じ `{ type: "control_request", request_id, request }` の形状をしています。


1218 skills?: string[];1224 skills?: string[];

1219 initialPrompt?: string;1225 initialPrompt?: string;

1220 maxTurns?: number;1226 maxTurns?: number;

1227 autoCompactWindow?: number;

1221 background?: boolean;1228 background?: boolean;

1222 omitClaudeMd?: boolean;1229 omitClaudeMd?: boolean;

1223 memory?: "user" | "project" | "local";1230 memory?: "user" | "project" | "local";


1238| `skills` | いいえ | エージェントのコンテキストにプリロードするスキル名の配列 |1245| `skills` | いいえ | エージェントのコンテキストにプリロードするスキル名の配列 |

1239| `initialPrompt` | いいえ | このエージェントがメインスレッドのエージェントとして実行される場合に、最初のユーザーターンとして自動送信されます |1246| `initialPrompt` | いいえ | このエージェントがメインスレッドのエージェントとして実行される場合に、最初のユーザーターンとして自動送信されます |

1240| `maxTurns` | いいえ | 停止するまでのエージェントの最大ターン数(API ラウンドトリップ) |1247| `maxTurns` | いいえ | 停止するまでのエージェントの最大ターン数(API ラウンドトリップ) |

1248| `autoCompactWindow` | いいえ | このエージェントがサブエージェントとして実行される場合の[自動圧縮のウィンドウ](/docs/ja/sub-agents#subagent-auto-compact-window)を、`100000` から `1000000` までのトークン数に引き下げます。TypeScript Agent SDK v0.3.296 以降が必要です |

1241| `background` | いいえ | 呼び出されたときに、このエージェントをノンブロッキングのバックグラウンドタスクとして実行します |1249| `background` | いいえ | 呼び出されたときに、このエージェントをノンブロッキングのバックグラウンドタスクとして実行します |

1242| `omitClaudeMd` | いいえ | このエージェントがサブエージェントとして実行される場合に、ユーザー、プロジェクト、ローカルの CLAUDE.md ファイルなしで実行します。管理ポリシーファイルは引き続き読み込まれます。必要なものをすべて Agent ツールのプロンプトから受け取るエージェントに使用します。このエージェントがメインスレッドのエージェントとして実行される場合は無視されます。TypeScript Agent SDK v0.3.271 以降が必要です |1250| `omitClaudeMd` | いいえ | ユーザー、プロジェクト、ローカルの CLAUDE.md ファイルをこのエージェントの初期コンテキストから除外します。管理ポリシーファイルは引き続き読み込まれます。必要なものをすべて Agent ツールのプロンプトから受け取るエージェントに使用してください。このエージェントがメインスレッドのエージェントとして実行される場合は無視されます。TypeScript Agent SDK v0.3.271 以降が必要です |

1243| `memory` | いいえ | このエージェントのメモリソース: `'user'`、`'project'`、または `'local'` |1251| `memory` | いいえ | このエージェントのメモリソース: `'user'`、`'project'`、または `'local'` |

1244| `effort` | いいえ | このエージェントの推論の effort レベル。名前付きのレベルまたは整数を受け付けます |1252| `effort` | いいえ | このエージェントの推論の effort レベル。名前付きのレベルまたは整数を受け付けます |

1245| `permissionMode` | いいえ | このエージェント内でのツール実行の権限モード。適用されるタイミングは[サブエージェントの継承ルール](/docs/ja/agent-sdk/permissions#available-modes)によって決まります。[`PermissionMode`](#permissionmode) を参照してください |1253| `permissionMode` | いいえ | このエージェント内でのツール実行の権限モード。適用されるタイミングは[サブエージェントの継承ルール](/docs/ja/agent-sdk/permissions#available-modes)によって決まります。[`PermissionMode`](#permissionmode) を参照してください |


2434* `fromMode`:送信元セッションの権限クラス(`bypass` または `prompting`)で、[デスクトップアプリ](/docs/ja/desktop#work-across-sessions)など、ユーザーのセッション間でピアメッセージを中継するホストによって宣言されます。Claude Code は、受信側セッションで[受信メッセージの制御](/docs/ja/cross-session-messaging#control-inbound-messages)を適用する際にこの値を読み取ります。Agent SDK v0.3.234 以降が必要です。2442* `fromMode`:送信元セッションの権限クラス(`bypass` または `prompting`)で、[デスクトップアプリ](/docs/ja/desktop#work-across-sessions)など、ユーザーのセッション間でピアメッセージを中継するホストによって宣言されます。Claude Code は、受信側セッションで[受信メッセージの制御](/docs/ja/cross-session-messaging#control-inbound-messages)を適用する際にこの値を読み取ります。Agent SDK v0.3.234 以降が必要です。

2435* `senderTaskId`:チームメイトのタスク ID です。クロスセッションピアの場合は存在しません。2443* `senderTaskId`:チームメイトのタスク ID です。クロスセッションピアの場合は存在しません。

2436* `name`:Claude Code によって正規化された送信元の表示名です。Unicode の制御文字、書式文字、サロゲート、および行区切り文字や段落区切り文字のコードポイントを除去したうえで、前後の空白を削除し、64 コードポイントを上限として超過分を省略記号で切り詰めます。Claude Code v2.1.205 以降が必要です。2444* `name`:Claude Code によって正規化された送信元の表示名です。Unicode の制御文字、書式文字、サロゲート、および行区切り文字や段落区切り文字のコードポイントを除去したうえで、前後の空白を削除し、64 コードポイントを上限として超過分を省略記号で切り詰めます。Claude Code v2.1.205 以降が必要です。

2437* `body`:ピアエンベロープを除去してデコードしたメッセージ本文で、モデルが見る内容とバイト単位で一致します。チームメイトからのメッセージでは常に存在します。クロスセッションピアの場合は、ターンが Claude Code によって形成されたちょうど 1 つのピアエンベロープである場合にのみ存在します。メッセージテキストを再解析するのではなく、`name` と `body` を表示してください。Claude Code v2.1.205 以降が必要です。2445* `body`:ピアエンベロープを取り除いてデコードしたメッセージ本文で、モデルが見る内容とバイト単位で一致します。単一のチームメイトメッセージの場合は存在し、複数がマージされた場合は存在しません。クロスセッションピアの場合は、ターンが Claude Code によって形成されたちょうど 1 つのピアエンベロープである場合にのみ存在します。メッセージテキストを再解析するのではなく、`name` と `body` を表示してください。v2.1.299 より前は、マージされたメッセージは最初のメッセージの `body` を保持していました。Claude Code v2.1.205 以降が必要です。

2438* `fromSession`:ホストで開くことができる送信元のセッション ID で、UI から送信元セッションへリンクできるように送信元のホストによって設定されます。`from` と同様に送信元が主張する値であるため、ナビゲーション先としてのみ使用し、送信元の身元の証明として扱わないでください。Claude Code v2.1.216 以降が必要です。2446* `fromSession`:ホストで開くことができる送信元のセッション ID で、UI から送信元セッションへリンクできるように送信元のホストによって設定されます。`from` と同様に送信元が主張する値であるため、ナビゲーション先としてのみ使用し、送信元の身元の証明として扱わないでください。Claude Code v2.1.216 以降が必要です。

2439* `verifiedPeerPid`:このセッションのクロスセッションメッセージングソケットに接続したプロセスのプロセス ID です。カーネルによって検証され、ペイロードからではなく常に接続そのものから読み取られます。送信元の識別には `from` ではなくこの値を使用してください。`from` は同じユーザーの任意のプロセスによって偽装される可能性があります。Windows やソケット以外の経路での受信など、Claude Code が検証できない場合はこのフィールドは存在しないため、値が存在しないことは送信元が未検証であることを意味します。中継されたトラフィックの場合、この値はメッセージの作成者ではなく中継元を識別します。また、プロセス ID は再利用される可能性があるため、認証トークンではなく来歴情報として扱ってください。Claude Code v2.1.216 以降が必要です。2447* `verifiedPeerPid`:このセッションのクロスセッションメッセージングソケットに接続したプロセスのプロセス ID です。カーネルによって検証され、ペイロードからではなく常に接続そのものから読み取られます。送信元の識別には `from` ではなくこの値を使用してください。`from` は同じユーザーの任意のプロセスによって偽装される可能性があります。Windows やソケット以外の経路での受信など、Claude Code が検証できない場合はこのフィールドは存在しないため、値が存在しないことは送信元が未検証であることを意味します。中継されたトラフィックの場合、この値はメッセージの作成者ではなく中継元を識別します。また、プロセス ID は再利用される可能性があるため、認証トークンではなく来歴情報として扱ってください。Claude Code v2.1.216 以降が必要です。

2440 2448 


3444 offset?: number;3452 offset?: number;

3445 limit?: number;3453 limit?: number;

3446 pages?: string;3454 pages?: string;

3455 allow_large?: boolean;

3447};3456};

3448```3457```

3449 3458 

3450テキスト、画像、PDF、Jupyter ノートブックを含むローカルファイルシステムからファイルを読み取ります。PDF ページ範囲には `pages` を使用します(例:`"1-5"`)。3459テキスト、画像、PDF、Jupyter ノートブックを含むローカルファイルシステムからファイルを読み取ります。

3460 

3461* PDF ページ範囲には `pages` を使用します(例:`"1-5"`)。

3462* `allow_large` を使用すると、セッションのコンテキストウィンドウに余裕がある場合に、Claude は [通常のサイズ制限](/docs/ja/tools-reference#large-files) を超えてテキストファイルを読み取れます。Agent SDK v0.3.296 以降が必要で、これには Claude Code v2.1.296 がバンドルされています。

3451 3463 

3452PDF の場合、Claude は Read 呼び出しの `tool_result` コンテンツ内のファイルの内容を受け取ります。`pdf` [出力](#tool-output-types) を返す読み取りは、サマリー `text` ブロックの後に `document` ブロックを含みます。`parts` 出力を返す読み取りは、サマリー `text` ブロックの後に抽出されたページごとに 1 つのブロックを含みます。`image` ブロック、または Claude Code がそれを画像としてレンダリングできなかった場合はページを名前付けする `text` ブロック。Agent SDK v0.3.242 より前は、Claude Code はファイルの内容をツール結果の後の別の `user` メッセージとして配信していました。3464PDF の場合、Claude は Read 呼び出しの `tool_result` コンテンツ内のファイルの内容を受け取ります。`pdf` [出力](#tool-output-types) を返す読み取りは、サマリー `text` ブロックの後に `document` ブロックを含みます。`parts` 出力を返す読み取りは、サマリー `text` ブロックの後に抽出されたページごとに 1 つのブロックを含みます。`image` ブロック、または Claude Code がそれを画像としてレンダリングできなかった場合はページを名前付けする `text` ブロック。Agent SDK v0.3.242 より前は、Claude Code はファイルの内容をツール結果の後の別の `user` メッセージとして配信していました。

3453 3465 

agent-teams.md +2 −1

Details

270| **タスクリスト** | チームメンバーが要求して完了する共有作業項目リスト |270| **タスクリスト** | チームメンバーが要求して完了する共有作業項目リスト |

271| **メールボックス** | エージェント間の通信用メッセージングシステム |271| **メールボックス** | エージェント間の通信用メッセージングシステム |

272 272 

273各エージェントのメールボックスは `~/.claude/teams/{team-name}/inboxes/{agent-name}.json` にある JSON ファイルです。Claude Code はメールボックスファイルを読み取るときにすべてのエントリを検証します。メッセージ形式と一致しないエントリはエラーとして報告され、ファイルから削除されます。有効なメッセージは引き続き配信されます。v2.1.207 より前では、1 つの不正なメールボックスエントリが毎秒繰り返しエラーを引き起こし、ファイルを手動で削除するまでそのメールボックスの配信をブロックしていました。273各エージェントのメールボックスは `~/.claude/teams/{team-name}/inboxes/{agent-name}.json` にある JSON ファイルです。Claude Code はメールボックスファイルを読み取るときにすべてのエントリを検証します。メッセージ形式と一致しないエントリはエラーとして報告され、ファイルから削除されます。有効なメッセージは引き続き配信されます。

274 274 

275Claude Code は、メッセージがプレーンテキストであるか、プラン承認やシャットダウンリクエストなどの構造化プロトコルメッセージであるかに関わらず、受信者のメールボックスファイルへの書き込みが成功した場合にのみメッセージを送信済みとして報告します。ディスクがいっぱいであるか、メールボックスディレクトリが書き込み可能でないなど、書き込みが失敗した場合、送信エージェントはエラーを受け取り、何も送信されません。エラーメッセージと復旧手順については、[チームメンバーのインボックスへの書き込みに失敗しました](/docs/ja/errors#failed-to-write-to-a-teammate-inbox) を参照してください。275Claude Code は、メッセージがプレーンテキストであるか、プラン承認やシャットダウンリクエストなどの構造化プロトコルメッセージであるかに関わらず、受信者のメールボックスファイルへの書き込みが成功した場合にのみメッセージを送信済みとして報告します。ディスクがいっぱいであるか、メールボックスディレクトリが書き込み可能でないなど、書き込みが失敗した場合、送信エージェントはエラーを受け取り、何も送信されません。エラーメッセージと復旧手順については、[チームメンバーのインボックスへの書き込みに失敗しました](/docs/ja/errors#failed-to-write-to-a-teammate-inbox) を参照してください。

276 276 


309* **`model`**:Claude Code は、生成プロンプトが 1 つを名前で指定しない場合、どちらの表示モードでも定義の `model` を使用します。[Claude Code がチームメンバーのモデルを選択する方法](#specify-teammates-and-models) を参照してください。309* **`model`**:Claude Code は、生成プロンプトが 1 つを名前で指定しない場合、どちらの表示モードでも定義の `model` を使用します。[Claude Code がチームメンバーのモデルを選択する方法](#specify-teammates-and-models) を参照してください。

310* **`disallowedTools`**:インプロセスのチームメイトの場合、Claude Code は定義の `disallowedTools` にあるツールをチームメイトのツールセットから削除します。`SendMessage` と Claude Code が追加する Task ツールは、リストに記載されていても引き続き使用できます。310* **`disallowedTools`**:インプロセスのチームメイトの場合、Claude Code は定義の `disallowedTools` にあるツールをチームメイトのツールセットから削除します。`SendMessage` と Claude Code が追加する Task ツールは、リストに記載されていても引き続き使用できます。

311* **`effort`**:インプロセスのチームメイトの場合、Claude Code は [フロントマターの effort ルール](/docs/ja/model-config#set-the-effort-level) に従って定義の [`effort`](/docs/ja/sub-agents#supported-frontmatter-fields) を適用します。311* **`effort`**:インプロセスのチームメイトの場合、Claude Code は [フロントマターの effort ルール](/docs/ja/model-config#set-the-effort-level) に従って定義の [`effort`](/docs/ja/sub-agents#supported-frontmatter-fields) を適用します。

312* **`autoCompactWindow`**:インプロセスのチームメイトの場合、Claude Code は [そのフィールドのルール](/docs/ja/sub-agents#subagent-auto-compact-window) に従って定義の [`autoCompactWindow`](/docs/ja/sub-agents#supported-frontmatter-fields) を適用します。分割ペインのチームメイトはこのフィールドを無視します。Claude Code v2.1.296 以降が必要です。

312* **本体**:インプロセスチームメンバーの場合、Claude Code は定義の本体をデフォルトシステムプロンプトに追加の指示として追加します。分割ペインチームメンバーの場合、Claude Code はデフォルトシステムプロンプトの代わりに本体を使用します。313* **本体**:インプロセスチームメンバーの場合、Claude Code は定義の本体をデフォルトシステムプロンプトに追加の指示として追加します。分割ペインチームメンバーの場合、Claude Code はデフォルトシステムプロンプトの代わりに本体を使用します。

313* **`skills`**:Claude Code はどちらの表示モードでもチームメンバーに定義の `skills` を適用しません。チームメンバーはプロジェクトおよびユーザー設定から skills をロードします。314* **`skills`**:Claude Code はどちらの表示モードでもチームメンバーに定義の `skills` を適用しません。チームメンバーはプロジェクトおよびユーザー設定から skills をロードします。

314* **`mcpServers`**:分割ペインチームメンバーの場合、Claude Code は [そのフィールドのルール](/docs/ja/sub-agents#scope-mcp-servers-to-a-subagent) に従って定義の `mcpServers` を適用します。これは `--agent` で開始されたセッションもカバーします。インプロセスチームメンバーはフィールドを無視し、プロジェクトおよびユーザー設定から MCP サーバーをロードします。315* **`mcpServers`**:分割ペインチームメンバーの場合、Claude Code は [そのフィールドのルール](/docs/ja/sub-agents#scope-mcp-servers-to-a-subagent) に従って定義の `mcpServers` を適用します。これは `--agent` で開始されたセッションもカバーします。インプロセスチームメンバーはフィールドを無視し、プロジェクトおよびユーザー設定から MCP サーバーをロードします。

agent-view.md +1 −1

Details

38 38 

39 まだディレクトリの[ワークスペーストラストダイアログ](/docs/ja/permissions#project-allow-rules-and-workspace-trust)を受け入れていない場合、Claude Code はエージェントビューが開く前にそれを表示します。これは `claude` が表示するのと同じダイアログです。受け入れてワークスペースの信頼を保存して続行します。拒否すると、Claude Code はエージェントビューを開かずに終了します。39 まだディレクトリの[ワークスペーストラストダイアログ](/docs/ja/permissions#project-allow-rules-and-workspace-trust)を受け入れていない場合、Claude Code はエージェントビューが開く前にそれを表示します。これは `claude` が表示するのと同じダイアログです。受け入れてワークスペースの信頼を保存して続行します。拒否すると、Claude Code はエージェントビューを開かずに終了します。

40 40 

41 エージェントビューが開き、下部に入力フィールドが表示され、セッションが開始されるとテーブルが埋まります。いつでも `Esc` を押してシェルに戻ります。`←` でセッションをバックグラウンドにして開いた場合、`Esc` はそのセッションの会話に戻ります。セッションは離れている間も実行し続け、次にエージェントビューを開いたときに再度表示されます。41 エージェントビューが開き、下部に入力フィールドが表示され、セッションが開始されるとテーブルが埋まります。`Esc` を押すとシェルに戻ります。`←` でセッションをバックグラウンドにしてエージェントビューを開いた場合、`Esc` はそのセッションの会話に戻ります。セッションは離れている間も実行し続け、次にエージェントビューを開いたときに再度表示されます。

42 </Step>42 </Step>

43 43 

44 <Step title="セッションをディスパッチする">44 <Step title="セッションをディスパッチする">

Details

219 認証情報キャッシングと解決タイムアウト219 認証情報キャッシングと解決タイムアウト

220</h4>220</h4>

221 221 

222Claude Code は AWS デフォルト認証情報プロバイダーチェーンを 1 回解決し、解決された認証情報をメモリに保持します。認証情報の有効期限の 5 分前まで、または有効期限がない場合は 1 時間の間、それらを再利用するため、SSO でサポートされたプロファイルは認証情報の有効期間ごとに約 1 回 IAM Identity Center から認証情報をリクエストします。API からの認証情報エラーはキャッシュをクリアし、再試行は新しい認証情報を解決します。Claude Code v2.1.207 以降が必要です。222Claude Code は AWS デフォルト認証情報プロバイダーチェーンを 1 回解決し、解決された認証情報をメモリに保持します。認証情報の有効期限の 5 分前まで、または有効期限がない場合は 1 時間の間、それらを再利用するため、SSO でサポートされたプロファイルは認証情報の有効期間ごとに約 1 回 IAM Identity Center から認証情報をリクエストします。API からの認証情報エラーはキャッシュをクリアし、再試行は新しい認証情報を解決します。

223 223 

224キャッシュはこのステップの冒頭に挙げたすべての認証情報の方法をカバーしていますが、Amazon Bedrock API キーはプロバイダーチェーンを使用しないため除外されます。代わりにすべてのリクエストでチェーンを解決するには、[`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/ja/env-vars) を設定してください。224キャッシュはこのステップの冒頭に挙げたすべての認証情報の方法をカバーしていますが、Amazon Bedrock API キーはプロバイダーチェーンを使用しないため除外されます。代わりにすべてのリクエストでチェーンを解決するには、[`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/ja/env-vars) を設定してください。

225 225 


276 276 

277`Expiration` はオプションです。コマンドが有効な ISO 8601 `Expiration` を返すと、Claude Code はその時刻の 5 分前まで認証情報をキャッシュします。それがない場合、認証情報は 1 時間キャッシュされます。277`Expiration` はオプションです。コマンドが有効な ISO 8601 `Expiration` を返すと、Claude Code はその時刻の 5 分前まで認証情報をキャッシュします。それがない場合、認証情報は 1 時間キャッシュされます。

278 278 

279`awsCredentialExport` を `awsAuthRefresh` なしで設定する場合、Claude Code はエクスポートされた認証情報を直接使用し、スタートアップで AWS デフォルト認証情報プロバイダーチェーンを再解決しません。Claude Code v2.1.206 以降が必要です。279`awsCredentialExport` を `awsAuthRefresh` なしで設定する場合、Claude Code はエクスポートされた認証情報を直接使用し、スタートアップで AWS デフォルト認証情報プロバイダーチェーンを再解決しません。

280 280 

281<h3 id="3-configure-claude-code">281<h3 id="3-configure-claude-code">

282 3. Claude Code を設定する282 3. Claude Code を設定する


358* バックグラウンドタスクに Haiku を使用するには、`ANTHROPIC_DEFAULT_HAIKU_MODEL` をアカウントで利用可能なモデル ID に設定してください。358* バックグラウンドタスクに Haiku を使用するには、`ANTHROPIC_DEFAULT_HAIKU_MODEL` をアカウントで利用可能なモデル ID に設定してください。

359 359 

360<Warning>360<Warning>

361 Opus モデルは Sonnet モデルより高いトークンあたりの価格を持つため、プライマリモデルをピンしないデプロイメントは v2.1.207 以降に更新されると Opus レートで請求されます。Sonnet 4.5 をプライマリモデルとして保持するには、`ANTHROPIC_MODEL` をその完全なモデル ID に設定してください。`ANTHROPIC_DEFAULT_SONNET_MODEL` で操舵され、`ANTHROPIC_DEFAULT_OPUS_MODEL` を設定しないデプロイメントは、操舵された Sonnet モデルをデフォルトとして保持します。361 Opus モデルは Sonnet モデルよりトークンあたりの価格が高いため、プライマリモデルをピンしない場合は Opus のレートで請求されます。Sonnet 4.5 をプライマリモデルとして使用するには、`ANTHROPIC_MODEL` をその完全なモデル ID に設定してください。`ANTHROPIC_DEFAULT_SONNET_MODEL` でデフォルトを指定し、`ANTHROPIC_DEFAULT_OPUS_MODEL` を設定していないデプロイでは、指定した Sonnet モデルがデフォルトとして維持されます。

362</Warning>362</Warning>

363 363 

364v2.1.280 より前では、Amazon Bedrock のプライマリモデルは Opus 5 にデフォルト設定され、`opus` エイリアスは v2.1.219 から Opus 5 に解決されました。v2.1.207 から v2.1.218 では、Amazon Bedrock のプライマリモデルは Opus 4.8 にデフォルト設定され、`opus` エイリアスは Opus 4.8 に解決されました。v2.1.207 より前では、プライマリモデルは Sonnet 4.5 にデフォルト設定され、`opus` エイリアスは Opus 4.6 に解決され、バックグラウンドタスクは常にプライマリモデルを使用していました。364v2.1.280 より前では、Amazon Bedrock のプライマリモデルは Opus 5 にデフォルト設定され、`opus` エイリアスは v2.1.219 から Opus 5 に解決されました。v2.1.207 から v2.1.218 では、Amazon Bedrock のプライマリモデルは Opus 4.8 にデフォルト設定され、`opus` エイリアスは Opus 4.8 に解決されました。

365 365 

366モデルをさらにカスタマイズするには、以下のいずれかの方法を使用してください。366モデルをさらにカスタマイズするには、以下のいずれかの方法を使用してください。

367 367 

artifacts.md +1 −1

Details

188 188 

189[権限モード](/docs/ja/permission-modes)によって、送信されたコメントが到着したときに Claude が何をするかが決まります。189[権限モード](/docs/ja/permission-modes)によって、送信されたコメントが到着したときに Claude が何をするかが決まります。

190 190 

191* **Claude が自動で返信する**:権限モードで Claude が確認を求めずに返信を投稿できる場合、Claude はスレッドを読んで返信し、コメントが変更を求めている場合はアーティファクトを編集します。`Auto-replied to comment thread on Artifact: <name>` または `Auto-edited Artifact: <name> in response to a comment thread` が表示されます。191* **Claude が自動で返信する**:権限モードで Claude が確認を求めずに返信を投稿できる場合、Claude はスレッドを読んで返信します。`Auto-replied to comment thread on Artifact: <name>` が表示されます。

192* **Claude があなたを待つ**:プランモード外で、返信の投稿に承認が必要な場合、`Comments are waiting on Artifact: <name>` が表示されます。その後、Claude はスレッドを読む承認を求め、返信を投稿する承認を再度求めます。192* **Claude があなたを待つ**:プランモード外で、返信の投稿に承認が必要な場合、`Comments are waiting on Artifact: <name>` が表示されます。その後、Claude はスレッドを読む承認を求め、返信を投稿する承認を再度求めます。

193* **Claude がプランモードで一時停止する**:`Comments are waiting on Artifact: <name>` が表示され、Claude はプランモードを終了して読んで返信するよう求めるまで返信しません。193* **Claude がプランモードで一時停止する**:`Comments are waiting on Artifact: <name>` が表示され、Claude はプランモードを終了して読んで返信するよう求めるまで返信しません。

194 194 

Details

782 782 

783| フィールド | 必須 | 説明 |783| フィールド | 必須 | 説明 |

784| - | - | - |784| - | - | - |

785| `fail_closed_on_error` | いいえ | デフォルト `false`。支出強制は Postgres 停止時にフェイルオープンするため、推論は稼働し続けます。`true` に設定するとフェイルクローズになります:キャップを超えたデベロッパーはブロックされますが、ストアに到達できない場合は他のすべてのユーザーもブロックされます。[`admin:`](#admin) ブロックが必要です:支出強制は `admin` が設定されている場合にのみ実行され、`admin` ブロックなしでこれを `true` に設定するとゲートウェイは起動を拒否します。 |785| `fail_closed_on_error` | いいえ | デフォルトは `false`。Postgres の障害時には支出制限の適用はフェイルオープンになり、推論は継続します。フェイルクローズにするには `true` に設定します。上限超過の開発者はブロックされますが、ストアに到達できない場合は他の全員もブロックされます。[`admin:`](#admin) ブロックが必要です。支出制限の適用は `admin` が設定されている場合にのみ実行され、これなしでこの値を `true` に設定するとゲートウェイは起動を拒否します。 |

786 786 

787<h3 id="pricing">787<h3 id="pricing">

788 `pricing`788 `pricing`


1072 1072 

1073ゲートウェイの [テレメトリ](#telemetry) 設定は `OTEL_EXPORTER_OTLP_ENDPOINT` をプッシュするため、`telemetry.forward_to` を設定すると各インタラクティブクライアントでダイアログが表示されます。このダイアログは、侵害されたゲートウェイや悪意のあるゲートウェイからデベロッパーのマシンを保護するものであり、デベロッパーから組織を保護するものではありません。1073ゲートウェイの [テレメトリ](#telemetry) 設定は `OTEL_EXPORTER_OTLP_ENDPOINT` をプッシュするため、`telemetry.forward_to` を設定すると各インタラクティブクライアントでダイアログが表示されます。このダイアログは、侵害されたゲートウェイや悪意のあるゲートウェイからデベロッパーのマシンを保護するものであり、デベロッパーから組織を保護するものではありません。

1074 1074 

1075`claude -p`、Agent SDK のセッション、Claude Desktop の Code タブのセッションなどの [非対話型の実行](/docs/ja/server-managed-settings#security-approval-dialogs) では、ダイアログを表示できません。プッシュされた設定はその実行にのみ適用され、承認済みとして記録されないため、開発者の次の対話型セッションでは引き続きダイアログが表示されます。v2.1.207 より前は、非対話型の実行で設定が承認済みとして保存され、以降の対話型セッションでそれらについてダイアログが表示されることはありませんでした。1075`claude -p`、Agent SDK セッション、Claude Desktop の Code タブのセッションなどの[非インタラクティブ実行](/docs/ja/server-managed-settings#security-approval-dialogs)では、ダイアログを表示できません。その実行に限りプッシュされた設定を適用し、承認済みとして記録しないため、開発者の次のインタラクティブセッションでは引き続きダイアログが表示されます。

1076 1076 

1077デベロッパーが拒否した場合、Claude Code はポリシーを適用せずにそのセッションを終了します。そのため、新しいフックやダイアログが表示される env 変数を広範なポリシーにプッシュすると、マッチするすべてのデベロッパーのインタラクティブセッションでダイアログが表示されます。実行中のインタラクティブセッションでは次の 1 時間ごとのポーリング時に表示され、それ以外の場合はデベロッパーの次のインタラクティブ起動時に表示されます。1077デベロッパーが拒否した場合、Claude Code はポリシーを適用せずにそのセッションを終了します。そのため、新しいフックやダイアログが表示される env 変数を広範なポリシーにプッシュすると、マッチするすべてのデベロッパーのインタラクティブセッションでダイアログが表示されます。実行中のインタラクティブセッションでは次の 1 時間ごとのポーリング時に表示され、それ以外の場合はデベロッパーの次のインタラクティブ起動時に表示されます。

1078 1078 

Details

167* ディレクトリは少なくとも 1 つのコミットを持つ git リポジトリである必要があります167* ディレクトリは少なくとも 1 つのコミットを持つ git リポジトリである必要があります

168* バンドルされたリポジトリは 100 MB 未満である必要があります。より大きなリポジトリは現在のブランチのみをバンドルすることにフォールバックし、その後ワーキングツリーの単一の圧縮スナップショットにフォールバックし、スナップショットがまだ大きすぎる場合のみ失敗します168* バンドルされたリポジトリは 100 MB 未満である必要があります。より大きなリポジトリは現在のブランチのみをバンドルすることにフォールバックし、その後ワーキングツリーの単一の圧縮スナップショットにフォールバックし、スナップショットがまだ大きすぎる場合のみ失敗します

169* 追跡されていないファイルは含まれません。クラウドセッションが見るべきファイルで `git add` を実行します169* 追跡されていないファイルは含まれません。クラウドセッションが見るべきファイルで `git add` を実行します

170* macOS、Linux、WSL では、Claude Code は属性ルールがファイルに適用される方法に影響する git 設定(インクルードされた設定ファイルで設定された `core.attributesFile` など)に従うことができない場合、アップロードを拒否します。[拒否メッセージ](/docs/ja/errors#the-repository-upload-cant-follow-a-git-setting)は設定と修正に名前を付けます170* macOS、Linux、WSL では、Claude Code は属性ルールがファイルに適用される方法に影響する git 設定(インクルードされた設定ファイルで設定された `core.attributesFile` など)に従うことができない場合、アップロードを拒否します。[拒否メッセージ](/docs/ja/errors#the-repository-upload-cant-follow-a-git-setting)は設定と修正方法を示します

171* バンドルから作成されたセッションは、[GitHub 接続](#github-authentication-options)がそのリポジトリへのプッシュアクセスを持つ場合にのみ、GitHub リモートにプッシュバックできます171* バンドルから作成されたセッションは、[GitHub 接続](#github-authentication-options)がそのリポジトリへのプッシュアクセスを持つ場合にのみ、GitHub リモートにプッシュバックできます

172 172 

173macOS、Linux、WSL では、アップロードには git 2.31 以降と、サポートされているチェックアウト構成も必要です。一方、ネイティブ Windows では、Claude Code はどちらのチェックも行わずにアップロードします。チェックアウトがこれらの要件を満たさない場合、Claude Code はセッションを開始しません。`Not uploading this working tree:` を含むエラーを出力し、原因と変更すべき点を示します。主な原因は次のとおりです:173macOS、Linux、WSL では、アップロードには git 2.31 以降と、サポートされているチェックアウト構成も必要です。一方、ネイティブ Windows では、Claude Code はどちらのチェックも行わずにアップロードします。チェックアウトがこれらの要件を満たさない場合、Claude Code はセッションを開始しません。`Not uploading this working tree:` を含むエラーを出力し、原因と変更すべき点を示します。主な原因は次のとおりです:


298 298 

299クラウドセッションは[組み込みコマンド](/docs/ja/commands)をサポートしており、テキスト出力を生成します。ターミナルインターフェイスでのみ実行されるコマンド(`/plugin` や `/resume` など)は利用できません。ターミナルでピッカーまたはパネルを開くコマンドはクラウドセッションで異なる動作をします:299クラウドセッションは[組み込みコマンド](/docs/ja/commands)をサポートしており、テキスト出力を生成します。ターミナルインターフェイスでのみ実行されるコマンド(`/plugin` や `/resume` など)は利用できません。ターミナルでピッカーまたはパネルを開くコマンドはクラウドセッションで異なる動作をします:

300 300 

301* **`/model`、`/effort`、`/color`、`/rename`**:ターミナルピッカーまたはスライダーを開く代わりに、引数として値を渡します。例えば `/model sonnet` のように使用します。引数形式はセッションの環境で Claude Code v2.1.205 以降が必要であり、各コマンドの[利用可能性に関する注記](/docs/ja/commands#all-commands)に従います。301* **`/model`、`/effort`、`/color`、`/rename`**:ターミナルピッカーまたはスライダーを開く代わりに、引数として値を渡します。例えば `/model sonnet` のように使用します。引数形式は各コマンドの[利用可能性に関する注記](/docs/ja/commands#all-commands)に従います。

302* **`/fast`**:アカウントで[利用可能な場合](/docs/ja/fast-mode#requirements)、セッションの[ファストモード](/docs/ja/fast-mode#use-fast-mode-in-cloud-sessions)を切り替えます。セッションの環境で Claude Code v2.1.271 以降が必要です。302* **`/fast`**:アカウントで[利用可能な場合](/docs/ja/fast-mode#requirements)、セッションの[ファストモード](/docs/ja/fast-mode#use-fast-mode-in-cloud-sessions)を切り替えます。セッションの環境で Claude Code v2.1.271 以降が必要です。

303* **`/config`**:ブラウザの claude.ai/code では、値を設定する代わりに Claude Code セクションの設定を開き、`key=value` を含むコマンド後のテキストは無視されます。クラウドセッションの設定を変更するには、[環境変数](/docs/ja/cloud-environments#set-environment-variables)を環境に設定するか、1 つのリポジトリを持つセッションでキーをそのリポジトリの `.claude/settings.json` にコミットします。[クラウドセッションの設定](/docs/ja/settings#settings-in-cloud-sessions)には各セッションが読み込むものが記載されています。303* **`/config`**:ブラウザの claude.ai/code では、値を設定する代わりに Claude Code セクションの設定を開き、`key=value` を含むコマンド後のテキストは無視されます。クラウドセッションの設定を変更するには、[環境変数](/docs/ja/cloud-environments#set-environment-variables)を環境に設定するか、1 つのリポジトリを持つセッションでキーをそのリポジトリの `.claude/settings.json` にコミットします。[クラウドセッションの設定](/docs/ja/settings#settings-in-cloud-sessions)には各セッションが読み込むものが記載されています。

304 304 


420* **分離された仮想マシン**:各セッションは分離された Anthropic 管理 VM で実行されます。セッションが組織によってルーティングされる[セルフホスト環境](/docs/ja/self-hosted-environments)は、代わりに独自のインフラストラクチャで実行され、分離はデプロイメントの責任です420* **分離された仮想マシン**:各セッションは分離された Anthropic 管理 VM で実行されます。セッションが組織によってルーティングされる[セルフホスト環境](/docs/ja/self-hosted-environments)は、代わりに独自のインフラストラクチャで実行され、分離はデプロイメントの責任です

421* <span id="default-allowed-domains" />**ネットワークアクセス制御**:Anthropic ホスト型環境では、ネットワークアクセスはデフォルトで制限され、無効にできます。[ネットワークアクセス](/docs/ja/cloud-environments#network-access)でアクセスレベル、[デフォルト許可ドメイン](/docs/ja/cloud-environments#default-allowed-domains)、および許可リストを通過しないトラフィックを参照してください。セルフホスト型環境では、独自のネットワーク境界でセッション出力を制限します。ネットワークアクセスを無効にして実行する場合、Claude Code は Anthropic API と通信できます。これにより VM からデータが出ることを許可する可能性があります。421* <span id="default-allowed-domains" />**ネットワークアクセス制御**:Anthropic ホスト型環境では、ネットワークアクセスはデフォルトで制限され、無効にできます。[ネットワークアクセス](/docs/ja/cloud-environments#network-access)でアクセスレベル、[デフォルト許可ドメイン](/docs/ja/cloud-environments#default-allowed-domains)、および許可リストを通過しないトラフィックを参照してください。セルフホスト型環境では、独自のネットワーク境界でセッション出力を制限します。ネットワークアクセスを無効にして実行する場合、Claude Code は Anthropic API と通信できます。これにより VM からデータが出ることを許可する可能性があります。

422* **認証情報保護**:Anthropic ホスト型環境では、git 認証情報と署名キーはサンドボックスの外に留まり、プロキシはスコープ付き認証情報で認証します。セルフホスト型環境では、デプロイメントが git 認証情報を提供します;[git を設定](/docs/ja/self-hosted-environments-deploy#configure-git)を参照してください422* **認証情報保護**:Anthropic ホスト型環境では、git 認証情報と署名キーはサンドボックスの外に留まり、プロキシはスコープ付き認証情報で認証します。セルフホスト型環境では、デプロイメントが git 認証情報を提供します;[git を設定](/docs/ja/self-hosted-environments-deploy#configure-git)を参照してください

423* **ネットワークシークレット**:Anthropic ホスト型環境の Pro および Max プランでは、[クラウド環境に追加](/docs/ja/cloud-environments#add-network-secrets)したキーも同様にサンドボックスの外に留まり、セッションを離れた後に一致するリクエストに添付されます。セルフホスト型環境にはネットワークシークレットがなく、Team および Enterprise プランではまだ利用できません423* **ネットワークシークレット**:Anthropic ホスト型環境では、[クラウド環境に追加](/docs/ja/cloud-environments#add-network-secrets)したキーも同様にサンドボックスの外に留まり、セッションを離れた後に一致するリクエストに添付されます。セルフホスト型環境にはネットワークシークレットはありません

424* **セキュアな分析**:コードは PR を作成する前に分離されたセッション環境内で分析および変更されます424* **セキュアな分析**:コードは PR を作成する前に分離されたセッション環境内で分析および変更されます

425 425 

426<h2 id="troubleshooting">426<h2 id="troubleshooting">


472| メッセージ | 意味 |472| メッセージ | 意味 |

473| - | - |473| - | - |

474| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code がサードパーティプロバイダー向けに設定されています。メッセージには、`Amazon Bedrock` や `Google Vertex AI` など、設定で使用されているラベルでプロバイダー名が示されます。たとえば `CLAUDE_CODE_USE_BEDROCK` の設定を解除するなどしてそのプロバイダーの設定を削除し、Anthropic アカウントでサインインしてください(`claude auth login`)。 |474| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code がサードパーティプロバイダー向けに設定されています。メッセージには、`Amazon Bedrock` や `Google Vertex AI` など、設定で使用されているラベルでプロバイダー名が示されます。たとえば `CLAUDE_CODE_USE_BEDROCK` の設定を解除するなどしてそのプロバイダーの設定を削除し、Anthropic アカウントでサインインしてください(`claude auth login`)。 |

475| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | `allow_remote_sessions` 組織ポリシーがオフになっています。 |475| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | `allow_remote_sessions` 組織ポリシーがオフになっています。[Cloud sessions are disabled by your organization's policy](/docs/ja/errors#cloud-sessions-are-disabled-by-your-organizations-policy) を参照してください。メッセージに、このセッションが使用している認証情報の名前が示されている場合は、[クラウドセッションは claude.ai のログインを使用する](/docs/ja/errors#cloud-sessions-use-your-claude-ai-login)を参照してください。 |

476| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code が組織のポリシーを取得できなかったため、クラウドセッションが許可されていると仮定せずに送信を拒否しています。ネットワーク接続を確認して再試行してください。 |476| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code が組織のポリシーの読み込みを完了していないため、クラウドセッションが許可されていると仮定せずに送信を拒否しています。ネットワーク接続を確認して再試行してください。 |

477| `Cloud sessions aren't available:` の後に原因が続くもの | 組織のポリシーの読み込みに失敗しました。メッセージの残りの部分に失敗の内容が示されています。示された原因に対処してください。[Couldn't verify your organization's policy for cloud sessions](/docs/ja/errors#couldnt-verify-your-organizations-policy-for-cloud-sessions) を参照してください。 |

477| `Attaching to an existing cloud session is not enabled for your account.` | `-p` なしで `--cloud <session-id>` を実行しました。`claude -p "your message" --cloud <session-id>` でメッセージを送信してください。 |478| `Attaching to an existing cloud session is not enabled for your account.` | `-p` なしで `--cloud <session-id>` を実行しました。`claude -p "your message" --cloud <session-id>` でメッセージを送信してください。 |

478| `Session not found: <id>` | ID または URL が、アクセス可能なセッションと一致しません。セッションの claude.ai/code URL と照合してください。 |479| `Session not found: <id>` | ID または URL が、アクセス可能なセッションと一致しません。セッションの claude.ai/code URL と照合してください。 |

479| `cloud session <id> is archived and cannot accept new messages` | セッションはアーカイブされています。代わりに新しいセッションを開始してください。 |480| `cloud session <id> is archived and cannot accept new messages` | セッションはアーカイブされています。代わりに新しいセッションを開始してください。 |

Details

1525| - | - | - |1525| - | - | - |

1526| `skills/<name>/SKILL.md` | `name`, `description`, `when_to_use`, `argument-hint`, `arguments`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `disallowed-tools`, `model`, `effort`, `context`, `agent`, `background`, `hooks`, `paths`, `shell`, `metadata`, `license`, `compatibility` | [スキルフロントマター](/docs/ja/skills#frontmatter-reference) |1526| `skills/<name>/SKILL.md` | `name`, `description`, `when_to_use`, `argument-hint`, `arguments`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `disallowed-tools`, `model`, `effort`, `context`, `agent`, `background`, `hooks`, `paths`, `shell`, `metadata`, `license`, `compatibility` | [スキルフロントマター](/docs/ja/skills#frontmatter-reference) |

1527| `commands/*.md` | `name` と `paths` を除くスキルフィールド | [スキルフロントマター](/docs/ja/skills#frontmatter-reference) |1527| `commands/*.md` | `name` と `paths` を除くスキルフィールド | [スキルフロントマター](/docs/ja/skills#frontmatter-reference) |

1528| `agents/*.md` | `name`, `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `maxTurns`, `skills`, `mcpServers`, `hooks`, `memory`, `background`, `effort`, `isolation`, `color`, `initialPrompt`, `omitClaudeMd`, `experimental` | [サブエージェントフロントマター](/docs/ja/sub-agents#supported-frontmatter-fields) |1528| `agents/*.md` | `name`, `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `maxTurns`, `autoCompactWindow`, `skills`, `mcpServers`, `hooks`, `memory`, `background`, `effort`, `isolation`, `color`, `initialPrompt`, `omitClaudeMd`, `experimental` | [サブエージェントフロントマター](/docs/ja/sub-agents#supported-frontmatter-fields) |

1529| `output-styles/*.md` | `name`, `description`, `keep-coding-instructions`, `force-for-plugin` | [出力スタイルフロントマター](/docs/ja/output-styles#frontmatter) |1529| `output-styles/*.md` | `name`, `description`, `keep-coding-instructions`, `force-for-plugin` | [出力スタイルフロントマター](/docs/ja/output-styles#frontmatter) |

1530| `rules/*.md` | `paths` | [ルールフロントマター](/docs/ja/memory#rules-frontmatter-reference) |1530| `rules/*.md` | `paths` | [ルールフロントマター](/docs/ja/memory#rules-frontmatter-reference) |

1531 1531 

Details

291 291 

292AWS 上の Claude Platform は、直接 Claude API と同じモデル ID を使用します。292AWS 上の Claude Platform は、直接 Claude API と同じモデル ID を使用します。

293 293 

294デフォルトのエイリアス `fable`、`opus`、`sonnet`、`haiku` は Claude Code の AWS 上の Claude Platform 用の組み込みデフォルトに解決されます。これは最新リリースより遅れる可能性があります。`ANTHROPIC_DEFAULT_OPUS_MODEL` がない場合、`opus` エイリアスは Opus 5.5 に解決されます。v2.1.280 より前では、v2.1.219 から Opus 5 に解決されていました。v2.1.207 から Opus 4.8 に解決されていました。それより前は Opus 4.7 に解決されていました。294デフォルトのエイリアス `fable`、`opus`、`sonnet`、`haiku` は Claude Code の AWS 上の Claude Platform 用の組み込みデフォルトに解決されます。これは最新リリースより遅れる可能性があります。`ANTHROPIC_DEFAULT_OPUS_MODEL` がない場合、`opus` エイリアスは Opus 5.5 に解決されます。v2.1.280 より前は、v2.1.219 以降では Opus 5 に、v2.1.207 以降では Opus 4.8 に解決されていました。

295 295 

296Claude Code をチームにデプロイする場合、モデル ID を明示的にピン留めして、新しいリリースがすべてのユーザーを一度に移動しないようにします。296Claude Code をチームにデプロイする場合、モデル ID を明示的にピン留めして、新しいリリースがすべてのユーザーを一度に移動しないようにします。

297 297 

Details

414 414 

415* スキル、サブエージェント、コマンド:プロジェクトに追加したリポジトリにコミットします。例えば、`.claude/skills/<skill-name>/SKILL.md` のスキル。各クラウドスレッドはプロジェクト内のすべてのリポジトリをクローンし、それぞれから `.claude/skills/`、`.claude/agents/`、`.claude/commands/` を読み込むため、1 つのリポジトリにコミットされたスキルはすべてのクラウドスレッドで利用可能です。クラウドスレッドは、[claude.ai アカウントで有効化したスキル](/docs/ja/skills#skills-in-cowork-and-cloud-sessions) も読み込みます。415* スキル、サブエージェント、コマンド:プロジェクトに追加したリポジトリにコミットします。例えば、`.claude/skills/<skill-name>/SKILL.md` のスキル。各クラウドスレッドはプロジェクト内のすべてのリポジトリをクローンし、それぞれから `.claude/skills/`、`.claude/agents/`、`.claude/commands/` を読み込むため、1 つのリポジトリにコミットされたスキルはすべてのクラウドスレッドで利用可能です。クラウドスレッドは、[claude.ai アカウントで有効化したスキル](/docs/ja/skills#skills-in-cowork-and-cloud-sessions) も読み込みます。

416* プラグイン:**プロジェクト設定 > プラグイン** で追加します。各新しいクラウドスレッドに読み込まれます。リポジトリが `.claude/settings.json` で宣言するプラグインは、クラウドスレッドでは [読み込まれません](/docs/ja/cloud-environments#what-carries-over-from-your-setup)。416* プラグイン:**プロジェクト設定 > プラグイン** で追加します。各新しいクラウドスレッドに読み込まれます。リポジトリが `.claude/settings.json` で宣言するプラグインは、クラウドスレッドでは [読み込まれません](/docs/ja/cloud-environments#what-carries-over-from-your-setup)。

417* MCP サーバー:クラウドスレッドは、claude.ai アカウントのコネクタから MCP ツールを取得します。これは、[claude.ai/customize/connectors](https://claude.ai/customize/connectors) で 1 回接続する MCP サーバーか、**プロジェクト設定 > 環境** の **コネクタを管理** リンクを通じて接続します。すべてのクラウドスレッドは、プロジェクト固有のセットアップなしでそれらすべてを使用できます。プロジェクト会話自体にはコネクタがないため、コネクタが必要な作業をクラウドスレッドのタスクとして送信してください。1 つのリポジトリを持つプロジェクトでは、クラウドスレッドはそのリポジトリの [`.mcp.json`](/docs/ja/cloud-environments#what-carries-over-from-your-setup) から MCP サーバーも読み込みます。[コネクタが Claude Code に到達する方法](/docs/ja/mcp#how-connectors-reach-claude-code) は、クラウドセッションのルールとコネクタをオフにする設定をリストしています。417* MCP サーバー:クラウドスレッドは、claude.ai アカウントのコネクタから MCP ツールを取得します。これは、[claude.ai/customize/connectors](https://claude.ai/customize/connectors) で 1 回接続する MCP サーバーです。すべてのクラウドスレッドは、プロジェクト固有のセットアップなしでそれらすべてを使用できます。プロジェクト会話自体にはコネクタがないため、コネクタが必要な作業をクラウドスレッドのタスクとして送信してください。1 つのリポジトリを持つプロジェクトでは、クラウドスレッドはそのリポジトリの [`.mcp.json`](/docs/ja/cloud-environments#what-carries-over-from-your-setup) から MCP サーバーも読み込みます。[コネクタが Claude Code に到達する方法](/docs/ja/mcp#how-connectors-reach-claude-code) は、クラウドセッションのルールとコネクタをオフにする設定をリストしています。

418* コマンドラインツールとパッケージ:環境の [セットアップスクリプト](/docs/ja/cloud-environments#setup-scripts) にインストールします。418* コマンドラインツールとパッケージ:環境の [セットアップスクリプト](/docs/ja/cloud-environments#setup-scripts) にインストールします。

419 419 

420実行中のクラウドスレッドが claude.ai/code でどのコネクタを持っているかを確認するには、スレッドを開き、メッセージボックスの横の **+** メニューから **コネクタ** を選択します。コネクタをそこでオフにすると、そのスレッドから削除され、アカウントのデフォルトとして保存されます。そのため、新しいスレッドと claude.ai チャットは、再度オンにするまでそれなしで開始します。クラウドスレッドは、送信後のメッセージで追加または再接続したコネクタを取得します。420実行中のクラウドスレッドが claude.ai/code でどのコネクタを持っているかを確認するには、スレッドを開き、メッセージボックスの横の **+** メニューから **コネクタ** を選択します。コネクタをそこでオフにすると、そのスレッドから削除され、アカウントのデフォルトとして保存されます。そのため、新しいスレッドと claude.ai チャットは、再度オンにするまでそれなしで開始します。クラウドスレッドは、送信後のメッセージで追加または再接続したコネクタを取得します。


435| プロジェクト指示 | Memory | [立ち上がりルール](#give-a-project-standing-context) すべての新しいスレッドが受け取ります |435| プロジェクト指示 | Memory | [立ち上がりルール](#give-a-project-standing-context) すべての新しいスレッドが受け取ります |

436| プロジェクトリポジトリ | Environment | 新しいスレッドがクローンするリポジトリ |436| プロジェクトリポジトリ | Environment | 新しいスレッドがクローンするリポジトリ |

437| クラウド環境 | Environment | 新しいスレッドが実行する [クラウド環境](#choose-an-environment-for-threads) |437| クラウド環境 | Environment | 新しいスレッドが実行する [クラウド環境](#choose-an-environment-for-threads) |

438| コネクタ | Environment | claude.ai コネクタを管理するリンク。スレッドが取得します |

439| プラグイン | Plugins | 各新しいスレッドに読み込まれるプラグイン |438| プラグイン | Plugins | 各新しいスレッドに読み込まれるプラグイン |

440| 使用量 | Usage | スレッドおよびモデル別の [トークン使用量](#usage-and-cost) |439| 使用量 | Usage | スレッドおよびモデル別の [トークン使用量](#usage-and-cost) |

441| Memory | Memory | プロジェクトの [メモリファイル](#give-a-project-standing-context) |440| Memory | Memory | プロジェクトの [メモリファイル](#give-a-project-standing-context) |

Details

10 クラウド環境は [クラウドセッション](/docs/ja/claude-code-on-the-web) に適用されます。これは Pro、Max、Team プランで利用可能であり、[プレミアムシートまたは Chat + Claude Code シートを持つ](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan) Enterprise ユーザー向けです。10 クラウド環境は [クラウドセッション](/docs/ja/claude-code-on-the-web) に適用されます。これは Pro、Max、Team プランで利用可能であり、[プレミアムシートまたは Chat + Claude Code シートを持つ](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan) Enterprise ユーザー向けです。

11</Note>11</Note>

12 12 

13各 [クラウドセッション](/docs/ja/claude-code-on-the-web) はクラウド環境で実行されます。環境を設定して [ネットワークアクセス](#access-levels) を許可または拒否し、セッション用に [環境変数を設定](#set-environment-variables) し、Pro および Max プランではセッションが内容を見ずに使用できる [ネットワークシークレット](#add-network-secrets) を保存し、Claude が作業を開始する前に [セットアップスクリプト](#setup-scripts) を実行できます。13各 [クラウドセッション](/docs/ja/claude-code-on-the-web) はクラウド環境で実行されます。環境を設定して [ネットワークアクセス](#access-levels) を許可または拒否し、セッション用に [環境変数を設定](#set-environment-variables) し、セッションが内容を見ずに使用できる [ネットワークシークレット](#add-network-secrets) を保存し、Claude が作業を開始する前に [セットアップスクリプト](#setup-scripts) を実行できます。

14 14 

15同じ環境は、クラウドセッションを開始する場所に関係なく適用されます。[Desktop アプリ](/docs/ja/desktop)、[Claude モバイルアプリ](/docs/ja/mobile)、[claude.ai/code](https://claude.ai/code) のブラウザ、[`claude --cloud`](/docs/ja/claude-code-on-the-web#from-terminal-to-cloud) を使用したターミナル、[ルーチン](/docs/ja/routines)、[Claude Tag](https://claude.com/docs/claude-tag/overview) です。これらの各サーフェスは [セルフホスト環境](/docs/ja/self-hosted-environments) にもルーティングできます。[利用可能性と制限](/docs/ja/self-hosted-environments#availability-and-limitations) は、Claude Tag セッションがセルフホスト環境で実行される場合に Claude がまだ使用できないものをカバーしています。15同じ環境は、クラウドセッションを開始する場所に関係なく適用されます。[Desktop アプリ](/docs/ja/desktop)、[Claude モバイルアプリ](/docs/ja/mobile)、[claude.ai/code](https://claude.ai/code) のブラウザ、[`claude --cloud`](/docs/ja/claude-code-on-the-web#from-terminal-to-cloud) を使用したターミナル、[ルーチン](/docs/ja/routines)、[Claude Tag](https://claude.com/docs/claude-tag/overview) です。これらの各サーフェスは [セルフホスト環境](/docs/ja/self-hosted-environments) にもルーティングできます。[利用可能性と制限](/docs/ja/self-hosted-environments#availability-and-limitations) は、Claude Tag セッションがセルフホスト環境で実行される場合に Claude がまだ使用できないものをカバーしています。

16 16 


44 環境を設定する44 環境を設定する

45</h2>45</h2>

46 46 

47[web onboarding](/docs/ja/web-quickstart) 後に [claude.ai/code](https://claude.ai/code) で、または [Desktop app](/docs/ja/desktop#cloud-sessions) のプロンプトボックスから環境セレクターにアクセスして、環境を作成、編集、アーカイブできます。作成した環境はアカウントに個人的なものです。Owner が作成した [共有環境](#organization-shared-environments) は同じセレクターに表示されます。設定なしで利用可能な内容については、[インストール済みツール](#installed-tools) を参照してください。47[claude.ai/code](https://claude.ai/code) で新しいセッションを開始する画面のメッセージボックスの下にある環境セレクターから、環境を追加、編集、アーカイブできます。この画面にアクセスするには、[Web オンボーディング](/docs/ja/web-quickstart) を完了してください。Desktop アプリについては、[クラウドセッション](/docs/ja/desktop#cloud-sessions) を参照してください。作成した環境はアカウントに個人的なものです。Owner が作成した [共有環境](#organization-shared-environments) も、それらと並んでセレクターに表示されます。設定なしで利用可能な内容については、[インストール済みツール](#installed-tools) を参照してください。

48 

49セレクターは、新しいセッションの最初のメッセージを送信するまでしか表示されません。実行中の自分のクラウドセッションの環境を編集するには、上部のセッションタイトルの後にあるキャレットを選択し、**クラウド環境を編集** を選択します。

48 50 

49<Steps>51<Steps>

50 <Step title="環境セレクターを開く">52 <Step title="環境セレクターを開く">

51 [claude.ai/code](https://claude.ai/code) で、メッセージボックスの上の行にある現在の環境名を表示するクラウドアイコンを選択します。セレクターの設定ページや直接 URL はありません。53 新しいセッションの画面で、メッセージボックスの下の行にある最初のコントロールを選択します。

52 

53 <Frame>

54 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-selector.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=cc2813a5664519eaf5a89d793ce5af26" alt="claude.ai/code のメッセージボックスの上に開いた環境セレクター。環境名 Default を表示するクラウドボタンがメッセージボックスの上の行にあります。開いたメニューには、Download と Desktop only ラベルを持つ Local 行、Default 環境がチェックマークで選択され、ホバー時に設定ギアアイコンを表示する Cloud セクション、クラウド環境を追加オプション、セットアップ手順を含む Remote Control セクションが表示されます。" width="1672" height="682" data-path="images/cloud-environment-selector.png" />

55 </Frame>

56 </Step>54 </Step>

57 55 

58 <Step title="環境を追加または編集する">56 <Step title="環境を追加または編集する">

59 **Cloud** を選択して環境をリストします。その後、**クラウド環境を追加** を選択するか、既存の環境にホバーして右に表示される設定アイコンを選択します。57 * **環境を追加する**: メニュー下部の **新しい環境** を選択して **新しい環境** ダイアログを開きます。フォームに入力し、**環境を追加** を選択します。新しいセッションでは、追加した環境が使用されます。

58 * **環境を編集する**: **Cloud** の下でその環境の行を見つけます。**Cloud** が 1 行だけの場合は、それを選択してリストを開きます。環境が **Cloud** の下に表示されていない場合は、その見出しの下の **その他** 行を選択します。環境の行にホバーし、右側に表示される設定アイコンを選択してダイアログを開きます。

60 59 

61 ダイアログには名前、ネットワークアクセスレベル、環境変数、セットアップスクリプトが含まれます。Pro または Max プランで既存のクラウド環境を編集する場合、ダイアログには [ネットワークシークレット](#add-network-secrets) も含まれます。60 ダイアログには名前、ネットワークアクセスレベル、環境変数、セットアップスクリプトが含まれます。セッションがキーを見ることなく使用できるようにキーを保存するには、[ネットワークシークレットを追加する](#add-network-secrets) を参照してください。

62 

63 <Frame>

64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="新しいクラウド環境ダイアログ。プレースホルダー Default を持つ Name フィールド、ネットワークアクセスセレクターが Trusted に設定され、ネットワークポリシーとアクセスレベルへのリンク、.env 形式プレースホルダーテキストを表示する環境変数ボックス(環境を使用する誰もが値を見ることができるという注記付き)、新しいセッションが開始され Claude Code が起動する前に実行される Bash スクリプトとして説明されるセットアップスクリプトボックス、キャンセルと環境を作成ボタン。" width="874" height="1372" data-path="images/cloud-environment-dialog.png" />

65 </Frame>

66 </Step>61 </Step>

67</Steps>62</Steps>

68 63 


91 86 

92クラウドセッションは起動時に自身でいくつかの変数も設定します。[`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ja/claude-code-on-the-web#manage-context) の場合、セッションが設定する値はここで追加した値をオーバーライドするため、ここでそのキーを追加しても効果がありません。87クラウドセッションは起動時に自身でいくつかの変数も設定します。[`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ja/claude-code-on-the-web#manage-context) の場合、セッションが設定する値はここで追加した値をオーバーライドするため、ここでそのキーを追加しても効果がありません。

93 88 

94環境を使用する誰もが値を読み取ることができます。Pro および Max プランでは、エージェントプロキシがリクエストに添付できるキーに対して [ネットワークシークレット](#add-network-secrets) を代わりに使用してください。[シークレットを取得しないリクエスト](#requests-that-never-get-the-credential) はそこにリストされています。89環境を使用する誰もが値を読み取ることができます。Anthropic ホスト型環境では、エージェントプロキシがリクエストに添付できるキーに対しては、代わりに [ネットワークシークレット](#add-network-secrets) を使用してください。[シークレットを取得しないリクエスト](#requests-that-never-get-the-credential) はそこにリストされています。

95 90 

96<span id="add-api-credentials" />91<span id="add-api-credentials" />

97 92 


101 96 

102ネットワークシークレットは、クラウド環境に保存する API キーまたはトークンで、Claude が環境内の任意のセッションからそのキーを見ることなく API を呼び出すことができます。Anthropic のエージェントプロキシは、各リクエストがセッションの VM を離れた後、リストしたホストへのリクエストにキーを追加するため、キー自体は VM の外部にとどまります。97ネットワークシークレットは、クラウド環境に保存する API キーまたはトークンで、Claude が環境内の任意のセッションからそのキーを見ることなく API を呼び出すことができます。Anthropic のエージェントプロキシは、各リクエストがセッションの VM を離れた後、リストしたホストへのリクエストにキーを追加するため、キー自体は VM の外部にとどまります。

103 98 

104ネットワークシークレットは Pro および Max プランで利用可能です。Team および Enterprise プランではまだ利用できないため、**ネットワークシークレット** セクションはこれらのプランの環境ダイアログに表示されません。99ネットワークシークレットは Pro、Max、Team、Enterprise プランで利用可能です。自分で追加できるかどうかを確認するには、[要件](#requirements) を参照してください。

105 100 

106<h4 id="requirements">101<h4 id="requirements">

107 要件102 要件


109 104 

110これらの要件によって、シークレットを追加できるかどうか、および追加後にエージェントプロキシがそれを使用できるかどうかが決まります。105これらの要件によって、シークレットを追加できるかどうか、および追加後にエージェントプロキシがそれを使用できるかどうかが決まります。

111 106 

112* **ロール**: claude.ai 組織内の組織管理者ロール107* **ロール**: Pro、Max、Team プランでは、ロールに関係なく自分の環境でシークレットを追加および削除できます。Team および Enterprise では、Owner は claude.ai 組織内で組織管理者ロールを保持し、Admin は保持しません。これにより、次のケースで表示される内容が変わります。

113 * Team および Enterprise では、Owner がそれを保持し、Admin は保持しません108 * **Enterprise での自分の環境**: 組織管理者ロールがあれば、シークレットを追加および削除できます。ない場合、**ネットワークシークレット** セクションには「Only an organization admin can add or delete network secrets」という注記の下にシークレットが一覧表示され、**シークレットを追加** ボタンや削除ボタンはありません。Owner に [共有環境](#organization-shared-environments) へのシークレットの追加を依頼し、そこでセッションを実行してください

114 * Pro および Max では、独自の組織でそれを保持します109 * **共有環境**: Owner が管理設定から [シークレットを追加および削除](#add-a-credential) します。組織管理者ロールがない場合は、環境のダイアログに **ネットワークシークレット** セクションがないため、Owner にシークレットの追加を依頼してください

110 * **Team での自分の環境**: 組織管理者ロールがない場合、**シークレットを追加** を選択すると、1 つのホストを指定する [短いフォーム](#add-a-secret-without-the-role) が開きます

115* **環境タイプ**: 既に存在する Anthropic ホスト型クラウド環境。[自己ホスト型環境](/docs/ja/self-hosted-environments) にはネットワークシークレットがありません111* **環境タイプ**: 既に存在する Anthropic ホスト型クラウド環境。[自己ホスト型環境](/docs/ja/self-hosted-environments) にはネットワークシークレットがありません

116* **API 到達可能性**: API がインターネットからの接続を受け入れます。リクエストは Anthropic のネットワークから離れるためです112* **API 到達可能性**: API がインターネットからの接続を受け入れます。リクエストは Anthropic のネットワークから離れるためです

117* **暗号化キー**: 組織が顧客管理の暗号化キーを使用する場合、ネットワークシークレットを保存できません113* **暗号化キー**: 組織が顧客管理の暗号化キーを使用する場合、ネットワークシークレットを保存できません


122 118 

123シークレットは一度に 1 つずつ追加し、追加後にシークレットを編集することはできません。シークレットのホストまたは値を変更するには、削除して再度追加します。119シークレットは一度に 1 つずつ追加し、追加後にシークレットを編集することはできません。シークレットのホストまたは値を変更するには、削除して再度追加します。

124 120 

121[共有環境](#organization-shared-environments) にシークレットを追加するには、[管理設定](https://claude.ai/admin-settings) の **クラウド環境** ページから環境を編集用に開き、**ネットワークシークレット** セクションから手順 1 を続けます。Team プランで [組織管理者ロール](#requirements) を持っていない場合は、自分の環境で手順 1 に従い、その後 [短いフォームに入力](#add-a-secret-without-the-role) します。

122 

125<Steps>123<Steps>

126 <Step title="環境のネットワークシークレットを開く">124 <Step title="環境のネットワークシークレットを開く">

127 [claude.ai/code](https://claude.ai/code) で [環境を編集用に開きます](#configure-your-environment)。**環境を編集** ダイアログで、**ネットワークシークレット** セクションを見つけます。環境に既にあるシークレットが表示され、それぞれが適用されるホストが表示されます。125 [claude.ai/code](https://claude.ai/code) で [環境を編集用に開きます](#configure-your-environment)。**環境を編集** ダイアログで、**ネットワークシークレット** セクションを見つけます。環境に既にあるシークレットが表示され、それぞれが適用されるホストが表示されます。

128 </Step>126 </Step>

129 127 

130 <Step title="シークレットを追加する">128 <Step title="シークレットを追加する">

131 **シークレットを追加** を選択してフォームに入力します。API キーがリクエストヘッダーで移動する場合はデフォルトの **認証情報タイプ**、**Bearer** を保持し、これらのフィールドに入力します。129 **シークレットを追加** を選択してフォームに入力します。API キーがリクエストヘッダーで移動する場合はデフォルトの **シークレットタイプ**、**Bearer** を保持し、これらのフィールドに入力します。

132 130 

133 * **名前**: `Internal billing API` などのシークレットのラベル131 * **名前**: `Internal billing API` などのシークレットのラベル

134 * **許可されたウェブサイト**: `api.example.com` などの API のホスト。先頭の `*.` はすべてのサブドメインと一致します132 * **許可されたウェブサイト**: `api.example.com` などの API のホスト。先頭の `*.` はすべてのサブドメインと一致します

135 * **カスタムヘッダー**: キーを運ぶヘッダーの 1 行。行は `Authorization` をヘッダーの **名前** として、`Bearer` を **プレフィックス** として開始します。キー自体を **値** として貼り付けます。`X-Api-Key` のようなベア値を取得するヘッダーの場合、名前を変更してプレフィックスをクリアします133 * **カスタムヘッダー**: キーを運ぶヘッダーの 1 行。行は `Authorization` をヘッダーの **名前** として、`Bearer` を **プレフィックス** として開始します。キー自体を **値** として貼り付けます。`X-Api-Key` のようなベア値を取得するヘッダーの場合、名前を変更してプレフィックスをクリアします

136 134 

137 別の方法で認証する API の場合、別の **認証情報タイプ** を選択します。リストは [Claude Tag](https://claude.com/docs/claude-tag/overview)(Team および Enterprise プランの Slack 統合)が [接続](https://claude.com/docs/claude-tag/admins/add-connections) に提供するものと同じです。135 別の方法で認証する API の場合、別の **シークレットタイプ** を選択します。リストは [Claude Tag](https://claude.com/docs/claude-tag/overview)(Team および Enterprise プランの Slack 統合)が [接続](https://claude.com/docs/claude-tag/admins/add-connections) に提供するものと同じです。

138 </Step>136 </Step>

139 137 

140 <Step title="シークレットを保存する">138 <Step title="シークレットを保存する">

141 **接続** を選択します。シークレットはリストにホストと共に表示され、ダイアログの **変更を保存** ボタンなしで保存されます。保存後に値を再度表示することはできません。139 **追加** を選択します。シークレットはリストにホストと共に表示され、ダイアログの **変更を保存** ボタンなしで保存されます。保存後に値を再度表示することはできません。

142 </Step>140 </Step>

143</Steps>141</Steps>

144 142 

145シークレットが機能することを確認するには、環境でセッションを開始して Claude に API を呼び出すよう依頼します。例えば `curl` を使用します。API はキーがリクエストにあるかのように応答し、キーはセッションの環境変数またはファイルに表示されません。リストがシークレットを **送信されていません** とマークしている場合、その下のメモは理由と対処方法を説明しています。ホストが正確に一致せずに重複する 2 つのシークレットはマーカーを取得せず、エージェントプロキシはそのうちの 1 つだけを送信します。143シークレットが機能することを確認するには、環境でセッションを開始して Claude に API を呼び出すよう依頼します。例えば `curl` を使用します。API はキーがリクエストにあるかのように応答し、キーはセッションの環境変数またはファイルに表示されません。リストがシークレットを **送信されていません** とマークしている場合、その下のメモは理由と対処方法を説明しています。ホストが正確に一致せずに重複する 2 つのシークレットはマーカーを取得せず、エージェントプロキシはそのうちの 1 つだけを送信します。

146 144 

145<h4 id="add-a-secret-without-the-role">

146 組織管理者ロールなしで Team プランでシークレットを追加する

147</h4>

148 

149Team プランで [組織管理者ロール](#requirements) を持っていない場合、**シークレットを追加** フォームでは 1 つのホストに対して 1 つのシークレットを指定します。環境の [**ネットワークシークレット** セクション](#add-a-credential) で **シークレットを追加** を選択し、次のフィールドに入力してから、フォームの **シークレットを追加** ボタンを選択します。

150 

151* **ホスト**: シークレットを受け取る 1 つのホスト(`api.example.com` など)。フォームは `*.` ワイルドカードを受け付けません

152* **名前**: シークレットの任意のラベル

153* **シークレットタイプ**: リクエストヘッダーで送信されるキーの場合は **トークン**、または **ユーザー名とパスワード**。トークンの場合は、キーを **値** として貼り付けます

154 

147<h4 id="which-requests-get-the-credential">155<h4 id="which-requests-get-the-credential">

148 どのリクエストがシークレットを取得するか156 どのリクエストがシークレットを取得するか

149</h4>157</h4>


175 環境をアーカイブする183 環境をアーカイブする

176</h3>184</h3>

177 185 

178独自の環境の 1 つをアーカイブするには、編集用に開いて **アーカイブ** を選択します。Owner は管理設定の **クラウド環境** ページから [共有環境](#organization-shared-environments) をアーカイブします。環境を削除することはできず、アーカイブのみできます。186自分の環境の 1 つをアーカイブするには、編集用に開いて **環境をアーカイブ** を選択し、確認します。環境が [組織と共有](#organization-shared-environments) されている場合は、代わりに Owner が [管理設定](https://claude.ai/admin-settings) の **クラウド環境** ページからアーカイブするため、自分が Owner でない場合は Owner に依頼してください。環境を削除することはできず、アーカイブのみできます。

179 187 

180アーカイブは新しいセッションに影響し、実行中のセッションには影響しません。188アーカイブは新しいセッションに影響し、実行中のセッションには影響しません。

181 189 


199 207 

200Owner は [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) で組織の [デフォルト環境](#the-default-environment) を別途選択します。208Owner は [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) で組織の [デフォルト環境](#the-default-environment) を別途選択します。

201 209 

202すべてのメンバーのセッションは共有環境でその変数を読み取るため、シークレットを含めないでください。[ネットワークシークレット](#add-network-secrets)(セッションが読み取ることができないキーを提供)は Team および Enterprise プランではまだ利用できません。210共有環境のセッションに読み取れないキーを提供するには、**クラウド環境** ページで環境を編集する際に [ネットワークシークレット](#add-network-secrets) を追加します。すべてのメンバーのセッションが変数を読み取るため、変数にシークレットを含めないでください。

203 211 

204<h3 id="set-the-environment-a-claude-tag-channel-uses">212<h3 id="set-the-environment-a-claude-tag-channel-uses">

205 Claude Tag チャネルが使用する環境を設定する213 Claude Tag チャネルが使用する環境を設定する


216 224 

217各環境は 1 つのネットワークアクセスレベルを設定します。これは、セッションが行える送信接続を制御します。デフォルトレベルの **Trusted** は、パッケージレジストリおよび他の [許可リストに登録されたドメイン](#default-allowed-domains) を許可します。**Custom** はカスタムドメインリストを使用します。225各環境は 1 つのネットワークアクセスレベルを設定します。これは、セッションが行える送信接続を制御します。デフォルトレベルの **Trusted** は、パッケージレジストリおよび他の [許可リストに登録されたドメイン](#default-allowed-domains) を許可します。**Custom** はカスタムドメインリストを使用します。

218 226 

219環境のネットワークアクセスを変更するには、[編集用に開き](#configure-your-environment)、ダイアログの **Network access** セレクターを使用します。[共有環境](#organization-shared-environments) はそこで読み取り専用で開くため、Owner は [admin settings](https://claude.ai/admin-settings) の **Cloud environments** ページからネットワークアクセスを変更します。クラウドアイコンはセレクターを開き、[The Default environment](#the-default-environment) に記載されているアプリサーフェスと [routine editor](/docs/ja/routines#environments-and-network-access) に表示されます。個人環境は claude.ai アカウント設定に別ページを持ちません。227環境のネットワークアクセスを変更するには、[編集用に開き](#configure-your-environment)、ダイアログの **Network access** セレクターを使用します。[共有環境](#organization-shared-environments) はそこで読み取り専用で開くため、Owner は [admin settings](https://claude.ai/admin-settings) の **Cloud environments** ページからネットワークアクセスを変更します。セレクターを開くコントロールは、[The Default environment](#the-default-environment) に記載されているアプリサーフェスと [routine editor](/docs/ja/routines#environments-and-network-access) に表示されます。個人環境は claude.ai アカウント設定に別ページを持ちません。

220 228 

221Anthropic ホスト環境のネットワークアクセスを変更すると、既存のセッションはセッションの [network allowlist](#access-levels) を通じて行くリクエストについて、約 1 分以内に新しい設定に従います。新しいセッションを開始する必要はありません。229Anthropic ホスト環境のネットワークアクセスを変更すると、既存のセッションはセッションの [network allowlist](#access-levels) を通じて行くリクエストについて、約 1 分以内に新しい設定に従います。新しいセッションを開始する必要はありません。

222 230 


274* **Git credentials**:VM 内の git クライアントはスコープ付き認証情報を使用し、プロキシはそれを検証して実際の GitHub トークンと交換します。282* **Git credentials**:VM 内の git クライアントはスコープ付き認証情報を使用し、プロキシはそれを検証して実際の GitHub トークンと交換します。

275* **API requests**:組み込み GitHub ツールからのリクエスト、および [`proxy-injected` placeholder](#work-with-github-issues-and-pull-requests) の下の `gh` からのリクエストは、実際の認証情報が置き換えられて送信されます。283* **API requests**:組み込み GitHub ツールからのリクエスト、および [`proxy-injected` placeholder](#work-with-github-issues-and-pull-requests) の下の `gh` からのリクエストは、実際の認証情報が置き換えられて送信されます。

276* **Push restrictions**:プロキシは、ブランチの削除と、タグなどブランチ以外のもののプッシュを拒否します。プッシュで更新できるブランチは制限しません。それを制限するには、GitHub のブランチ保護ルールまたはルールセットを使用してください。284* **Push restrictions**:プロキシは、ブランチの削除と、タグなどブランチ以外のもののプッシュを拒否します。プッシュで更新できるブランチは制限しません。それを制限するには、GitHub のブランチ保護ルールまたはルールセットを使用してください。

277* **Repository scope**:プロキシは、セッションに接続されたリポジトリに対する GitHub API リクエストを処理します。他のリポジトリに対する API リクエストは、`GitHub access to` で始まり `is not enabled for this session` を含むメッセージとともに 403 を受け取ります。285* **Repository scope**:プロキシは、セッションに接続されたリポジトリに対する GitHub API リクエストを処理します。他のリポジトリに対する API リクエストは、`GitHub access to` で始まり `is not enabled for this session` を含むメッセージとともに 403 を受け取ります。`github.com/{owner}/{repo}/archive/` または `codeload.github.com` の URL 経由で取得するソースアーカイブも、リポジトリが接続されていない場合は、パブリックリポジトリであっても同じ 403 を受け取ります。

278* **GraphQL restrictions**:プロキシは GitHub の GraphQL エンドポイントへのリクエストを、`GitHub GraphQL is not available from Claude Code sessions` で始まり REST フォールバック `gh api repos/{owner}/{repo}/...` を示すメッセージとともに 403 で拒否します。`gh pr` や `gh issue` など GraphQL を使用する `gh` サブコマンドも同じ 403 を受け取ります。制限は、提供する認証情報に関係なく、プロキシを通じたすべてのリクエストに適用されるため、設定した `GH_TOKEN` は同じ 403 を取得します。Claude はプロキシを通じて Projects v2 などの GraphQL にのみ存在する GitHub API に到達できません。286* **GraphQL restrictions**:プロキシは GitHub の GraphQL エンドポイントへのリクエストを、`GitHub GraphQL is not available from Claude Code sessions` で始まり REST フォールバック `gh api repos/{owner}/{repo}/...` を示すメッセージとともに 403 で拒否します。`gh pr` や `gh issue` など GraphQL を使用する `gh` サブコマンドも同じ 403 を受け取ります。制限は、提供する認証情報に関係なく、プロキシを通じたすべてのリクエストに適用されるため、設定した `GH_TOKEN` は同じ 403 を取得します。Claude はプロキシを通じて Projects v2 などの GraphQL にのみ存在する GitHub API に到達できません。

279 287 

280パブリックリポジトリからのコミットされたファイルは `raw.githubusercontent.com` を通じて到着し、[security proxy](#security-proxy) が代わりに処理します。そのドメインはデフォルト [Trusted list](#default-allowed-domains) にあるため、環境の [access level](#access-levels) がそれを除外しない限り、それらのファイルは到達可能なままです。288パブリックリポジトリからのコミットされたファイルは `raw.githubusercontent.com` を通じて到着し、[security proxy](#security-proxy) が代わりに処理します。そのドメインはデフォルト [Trusted list](#default-allowed-domains) にあるため、環境の [access level](#access-levels) がそれを除外しない限り、それらのファイルは到達可能なままです。


318| ユーザー設定でのみ有効なプラグイン | いいえ | ユーザースコープの `enabledPlugins` はマシンの `~/.claude/settings.json` に存在します |326| ユーザー設定でのみ有効なプラグイン | いいえ | ユーザースコープの `enabledPlugins` はマシンの `~/.claude/settings.json` に存在します |

319| デフォルトのローカルスコープまたはユーザースコープで `claude mcp add` を使用して追加した MCP サーバー | いいえ | これらはマシンの `~/.claude.json` に書き込まれ、リポジトリには書き込まれません。`claude mcp add --scope project` でサーバーを追加します。これはリポジトリの[`.mcp.json`](/docs/ja/mcp#project-scope)に書き込まれ、そのファイルをコミットしてください。1 つのリポジトリを持つセッションはそれを読み込みます |327| デフォルトのローカルスコープまたはユーザースコープで `claude mcp add` を使用して追加した MCP サーバー | いいえ | これらはマシンの `~/.claude.json` に書き込まれ、リポジトリには書き込まれません。`claude mcp add --scope project` でサーバーを追加します。これはリポジトリの[`.mcp.json`](/docs/ja/mcp#project-scope)に書き込まれ、そのファイルをコミットしてください。1 つのリポジトリを持つセッションはそれを読み込みます |

320| リポジトリの `.claude/settings.json` `env` ブロック内のトランスポート変数(`NODE_EXTRA_CA_CERTS` や[mTLS クライアント証明書変数](/docs/ja/network-config#mtls-authentication)など) | いいえ | ホスティング環境がセッションの API 接続を管理するため、Claude Code はこれらのキーを無視し、セッションのデバッグログで無視された各キーを記録します |328| リポジトリの `.claude/settings.json` `env` ブロック内のトランスポート変数(`NODE_EXTRA_CA_CERTS` や[mTLS クライアント証明書変数](/docs/ja/network-config#mtls-authentication)など) | いいえ | ホスティング環境がセッションの API 接続を管理するため、Claude Code はこれらのキーを無視し、セッションのデバッグログで無視された各キーを記録します |

321| Claude が呼び出すサービスの API キーとトークン | Pro および Max プランでは、[ネットワークシークレット](#add-network-secrets)として | キーを環境に一度追加すると、エージェントプロキシがリストしたホストへのリクエストにそれを添付します。エージェントプロキシが[添付できない](#requests-that-never-get-the-credential)キー、または Team または Enterprise プランのキーは環境変数に留まります |329| Claude が呼び出すサービスの API キーとトークン | Anthropic ホスト環境では、[ネットワークシークレット](#add-network-secrets)として | キーを環境に一度追加すると、エージェントプロキシがリストしたホストへのリクエストにそれを添付します。エージェントプロキシが[添付できない](#requests-that-never-get-the-credential)キーは環境変数に留まります |

322| AWS SSO のようなインタラクティブ認証 | いいえ | サポートされていません。SSO はクラウドセッションで実行できないブラウザベースのログインが必要です |330| AWS SSO のようなインタラクティブ認証 | いいえ | サポートされていません。SSO はクラウドセッションで実行できないブラウザベースのログインが必要です |

323 331 

324クラウドセッションで独自の構成を利用可能にするには、リポジトリにコミットしてください。332クラウドセッションで独自の構成を利用可能にするには、リポジトリにコミットしてください。

325 333 

326環境を使用する誰もが環境変数とセットアップスクリプトを読むことができます。ダイアログの**環境変数**の下のメモはそのことを述べており、シークレットをそこに置かないよう警告しています。Pro および Max プランでは、代わりにエージェントプロキシが添付できるキーを[ネットワークシークレット](#add-network-secrets)として保存してください。334環境を使用する誰もが環境変数とセットアップスクリプトを読むことができます。ダイアログの**環境変数**の下のメモはそのことを述べており、シークレットをそこに置かないよう警告しています。Anthropic ホスト環境では、代わりにエージェントプロキシが添付できるキーを[ネットワークシークレット](#add-network-secrets)として保存してください。

327 335 

328<h4 id="add-personal-preferences-without-committing-to-the-repo">336<h4 id="add-personal-preferences-without-committing-to-the-repo">

329 リポジトリにコミットせずに個人設定を追加する337 リポジトリにコミットせずに個人設定を追加する

code-review.md +0 −2

Details

155* リポジトリへの書き込み、メンテナンス、または管理者権限を持つ必要があります155* リポジトリへの書き込み、メンテナンス、または管理者権限を持つ必要があります

156* PR は開いている必要があります156* PR は開いている必要があります

157 157 

158リポジトリが組織に属し、その組織でのメンバーシップが非公開である場合(GitHub のデフォルト)、GitHub は Claude にメンバーとして識別されません。Claude はコメントに 👀 で反応する可能性がありますが、チームまたは組織のベース権限が書き込みアクセスを提供している場合でも、リポジトリに直接コラボレーターとして追加されていない限り、レビューは開始されません。これを修正するには、[組織のメンバーシップを公開](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership)するか、リポジトリ管理者にリポジトリにコラボレーターとして追加するよう依頼してください。

159 

160自動トリガーとは異なり、手動トリガーはドラフト PR で実行されます。明示的なリクエストはドラフトステータスに関係なく、今すぐレビューが必要であることを示すためです。158自動トリガーとは異なり、手動トリガーはドラフト PR で実行されます。明示的なリクエストはドラフトステータスに関係なく、今すぐレビューが必要であることを示すためです。

161 159 

162その PR でレビューが既に実行されている場合、リクエストは進行中のレビューが完了するまでキューに入ります。PR のチェック実行を通じて進捗を監視できます。160その PR でレビューが既に実行されている場合、リクエストは進行中のレビューが完了するまでキューに入ります。PR のチェック実行を通じて進捗を監視できます。

commands.md +6 −6

Details

67| `/branch [name]` | 現在の会話をこの時点で分岐させて、現状の会話を失わずに別の方向を試すことができます。分岐に切り替え、元の会話を保持します。元の会話には `/resume` で戻ることができます。コピーに切り替える代わりに別の[バックグラウンドセッション](/docs/ja/agent-view)として実行するには、`/fork` を使用します。この会話に報告する[サブエージェント](/docs/ja/sub-agents)に副タスクを渡すには、`/subtask` を使用します |67| `/branch [name]` | 現在の会話をこの時点で分岐させて、現状の会話を失わずに別の方向を試すことができます。分岐に切り替え、元の会話を保持します。元の会話には `/resume` で戻ることができます。コピーに切り替える代わりに別の[バックグラウンドセッション](/docs/ja/agent-view)として実行するには、`/fork` を使用します。この会話に報告する[サブエージェント](/docs/ja/sub-agents)に副タスクを渡すには、`/subtask` を使用します |

68| `/btw [question]` | 会話に追加せずに現在のセッションについて[副質問](/docs/ja/interactive-mode#side-questions-with-%2Fbtw)をします。`/btw` を質問なしで実行すると、Claude Code は最新の副質問を表示して、以前の回答を参照できます。まだ質問していない場合、Claude Code は使用方法の行を出力します。v2.1.212 より前は、`/btw` は質問が必要でした |68| `/btw [question]` | 会話に追加せずに現在のセッションについて[副質問](/docs/ja/interactive-mode#side-questions-with-%2Fbtw)をします。`/btw` を質問なしで実行すると、Claude Code は最新の副質問を表示して、以前の回答を参照できます。まだ質問していない場合、Claude Code は使用方法の行を出力します。v2.1.212 より前は、`/btw` は質問が必要でした |

69| `/bug [report]` | バグを報告するか、会話を共有します。セッション履歴をどのくらい含めるかを選択し、何かが送信される前に同意画面で確認します。ファーストパーティ接続で Anthropic にサインインしている場合、レポートは Anthropic に送信されます。サードパーティプロバイダーの場合、または Anthropic 認証情報がない場合、Claude Code はレポートを [`~/.claude/feedback-bundles/` 配下のローカルアーカイブ](/docs/ja/data-usage#telemetry-services)に書き込み、自分で転送します。[VS Code 拡張機能](/docs/ja/vs-code#use-the-prompt-box)では、`/bug` は代わりに拡張機能独自のフィードバックダイアログを開きます。Claude Code v2.1.229 以降が必要です。Claude が応答している間に実行すると、Claude Code はダイアログをすぐに開きます。v2.1.232 より前は、Claude Code はターンが終了するまでコマンドをキューに入れていました。エイリアス:`/share`。v2.1.212 より前は、`/bug` と `/share` は `/feedback` のエイリアスでした |69| `/bug [report]` | バグを報告するか、会話を共有します。セッション履歴をどのくらい含めるかを選択し、何かが送信される前に同意画面で確認します。ファーストパーティ接続で Anthropic にサインインしている場合、レポートは Anthropic に送信されます。サードパーティプロバイダーの場合、または Anthropic 認証情報がない場合、Claude Code はレポートを [`~/.claude/feedback-bundles/` 配下のローカルアーカイブ](/docs/ja/data-usage#telemetry-services)に書き込み、自分で転送します。[VS Code 拡張機能](/docs/ja/vs-code#use-the-prompt-box)では、`/bug` は代わりに拡張機能独自のフィードバックダイアログを開きます。Claude Code v2.1.229 以降が必要です。Claude が応答している間に実行すると、Claude Code はダイアログをすぐに開きます。v2.1.232 より前は、Claude Code はターンが終了するまでコマンドをキューに入れていました。エイリアス:`/share`。v2.1.212 より前は、`/bug` と `/share` は `/feedback` のエイリアスでした |

70| `/cd <path>` | このセッションを新しい作業ディレクトリに移動し、会話を保持します。部分的なパスを入力して一致するディレクトリの提案を表示し、`Tab` を押して 1 つを受け入れます。提案には Claude Code v2.1.206 以降が必要です。Claude Code が新しいディレクトリからすぐに適用するもの、および `/cd` が `/add-dir` とどのように異なるかについては、[セッションを別のディレクトリに移動する](/docs/ja/permissions#move-the-session-to-another-directory)を参照してください |70| `/cd <path>` | このセッションを新しい作業ディレクトリに移動し、会話を保持します。部分的なパスを入力して一致するディレクトリの提案を表示し、`Tab` を押して 1 つを受け入れます。Claude Code が新しいディレクトリからすぐに適用するもの、および `/cd` が `/add-dir` とどのように異なるかについては、[セッションを別のディレクトリに移動する](/docs/ja/permissions#move-the-session-to-another-directory)を参照してください |

71| `/chrome` | [Claude in Chrome](/docs/ja/chrome) 設定を構成します |71| `/chrome` | [Claude in Chrome](/docs/ja/chrome) 設定を構成します |

72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/ja/skills#bundled-skills).** プロジェクトの言語用に [Claude API](https://platform.claude.com/docs/en/api/overview) および [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) リファレンス資料を読み込みます。コードが `anthropic` または `@anthropic-ai/sdk` をインポートするときも自動的にアクティブになります。各サブコマンドが何をするか、および必要なバージョンについては、[Claude API プロジェクトで作業する](/docs/ja/skills#work-on-claude-api-projects)を参照してください |72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/ja/skills#bundled-skills).** プロジェクトの言語用に [Claude API](https://platform.claude.com/docs/en/api/overview) および [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) リファレンス資料を読み込みます。コードが `anthropic` または `@anthropic-ai/sdk` をインポートするときも自動的にアクティブになります。各サブコマンドが何をするか、および必要なバージョンについては、[Claude API プロジェクトで作業する](/docs/ja/skills#work-on-claude-api-projects)を参照してください |

73| `/claude-in-chrome [task]` | **[Skill](/docs/ja/skills#bundled-skills).** Claude にブラウザでタスクを実行させます。ページのテスト、フォームの入力、コンソールログの読み取りなど、[Claude in Chrome](/docs/ja/chrome) を通じて。Chrome 統合がセッションで有効な場合(たとえば `claude --chrome` など)、または Claude Code が[拡張機能をインストール](/docs/ja/chrome#install-the-extension-when-claude-asks)することを提案できる場合に利用可能です |73| `/claude-in-chrome [task]` | **[Skill](/docs/ja/skills#bundled-skills).** Claude にブラウザでタスクを実行させます。ページのテスト、フォームの入力、コンソールログの読み取りなど、[Claude in Chrome](/docs/ja/chrome) を通じて。Chrome 統合がセッションで有効な場合(たとえば `claude --chrome` など)、または Claude Code が[拡張機能をインストール](/docs/ja/chrome#install-the-extension-when-claude-asks)することを提案できる場合に利用可能です |

74| `/clear [name]` | 空のコンテキストで新しい会話を開始します。前の会話に `/resume` ピッカーでラベルを付けるために名前を渡します。同じ会話を続けながらコンテキストを解放するには、代わりに `/compact` を使用します。`/resume` で前の会話を再開するか、同じ Claude Code プロセスで、[rewind メニューの previous-session エントリ](/docs/ja/checkpointing#rewind-past-a-cleared-conversation)から復元します。エイリアス:`/reset`、`/new` |74| `/clear [name]` | 空のコンテキストで新しい会話を開始します。前の会話に `/resume` ピッカーでラベルを付けるために名前を渡します。同じ会話を続けながらコンテキストを解放するには、代わりに `/compact` を使用します。`/resume` で前の会話を再開するか、同じ Claude Code プロセスで、[rewind メニューの previous-session エントリ](/docs/ja/checkpointing#rewind-past-a-cleared-conversation)から復元します。エイリアス:`/reset`、`/new` |

75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/ja/skills#bundled-skills).** 現在の差分、または渡す PR 番号、ブランチ、またはパスを正確性バグについてレビューします。モデルと effort レベルに応じて、レビューはクリーンアップの機会もカバーします。`--fix` を渡して検出結果を適用し、`--comment` を渡して GitHub PR または GitLab マージリクエストに投稿するか、`ultra` を渡してディープ[クラウドレビュー](/docs/ja/ultrareview)を実行します。GitLab マージリクエストに投稿するには Claude Code v2.1.257 以降が必要です。`github.com` PR ターゲットで `ultra` を使用する場合、`--post` を渡して [PR に完成した検出結果を投稿する](/docs/ja/ultrareview#post-findings-to-the-pull-request)ことを起動ダイアログで事前選択します。`--post` には Claude Code v2.1.227 以降が必要です。effort レベル、ターゲット、および `/simplify` との関係については、[差分をローカルでレビューする](/docs/ja/code-review#review-a-diff-locally)を参照してください。エイリアス:`/review` |75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/ja/skills#bundled-skills).** 現在の差分、または渡す PR 番号、ブランチ、またはパスを正確性バグについてレビューします。モデルと effort レベルに応じて、レビューはクリーンアップの機会もカバーします。`--fix` を渡して検出結果を適用し、`--comment` を渡して GitHub PR または GitLab マージリクエストに投稿するか、`ultra` を渡してディープ[クラウドレビュー](/docs/ja/ultrareview)を実行します。GitLab マージリクエストに投稿するには Claude Code v2.1.257 以降が必要です。`github.com` PR ターゲットで `ultra` を使用する場合、`--post` を渡して [PR に完成した検出結果を投稿する](/docs/ja/ultrareview#post-findings-to-the-pull-request)ことを起動ダイアログで事前選択します。`--post` には Claude Code v2.1.227 以降が必要です。effort レベル、ターゲット、および `/simplify` との関係については、[差分をローカルでレビューする](/docs/ja/code-review#review-a-diff-locally)を参照してください。エイリアス:`/review` |

76| `/color [color\|default]` | 現在のセッションのプロンプトバーのカラーを設定します。利用可能なカラー:`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。`default` を使用してリセットするか、引数なしで実行してランダムなカラーを選択します。[Remote Control](/docs/ja/remote-control) が接続されている場合、カラーは claude.ai/code に同期されます。非対話モード(`-p`)でも利用可能です。Claude Code v2.1.205 以降が必要です |76| `/color [color\|default]` | 現在のセッションのプロンプトバーのカラーを設定します。利用可能なカラー:`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。`default` を使用してリセットするか、引数なしで実行してランダムなカラーを選択します。[Remote Control](/docs/ja/remote-control) が接続されている場合、カラーは claude.ai/code に同期されます。非対話モード(`-p`)でも利用可能です |

77| `/compact [instructions]` | ここまでの会話を要約してコンテキストを解放します。オプションで要約のフォーカス指示を渡します。[コンテキスト圧縮がルール、スキル、メモリファイルをどのように処理するか](/docs/ja/context-window#what-survives-compaction)を参照してください |77| `/compact [instructions]` | ここまでの会話を要約してコンテキストを解放します。オプションで要約のフォーカス指示を渡します。[コンテキスト圧縮がルール、スキル、メモリファイルをどのように処理するか](/docs/ja/context-window#what-survives-compaction)を参照してください |

78| `/config [key=value ...]` | [設定](/docs/ja/settings)インターフェイスを開いて、テーマ、モデル、[出力スタイル](/docs/ja/output-styles)、その他の設定を調整します。1 つ以上の `key=value` ペアを渡して、インターフェイスを開かずに設定を直接設定します。たとえば `/config thinking=false`、`/config theme=dark`、または `/config model=sonnet`。`key=value` 形式は非対話モード(`-p`)および Claude モバイルアプリから [Remote Control](/docs/ja/remote-control) 経由でも機能します。`key=value` 形式は、[`autoContinueAtUsageLimit`](/docs/ja/interactive-mode#turn-automatic-continue-off) などのパネルで確認が必要な設定をオンにすることはできませんが、オフにすることはできます。`/config --help` を実行して、受け入れるキーを一覧表示します。エイリアス:`/settings` |78| `/config [key=value ...]` | [設定](/docs/ja/settings)インターフェイスを開いて、テーマ、モデル、[出力スタイル](/docs/ja/output-styles)、その他の設定を調整します。1 つ以上の `key=value` ペアを渡して、インターフェイスを開かずに設定を直接設定します。たとえば `/config thinking=false`、`/config theme=dark`、または `/config model=sonnet`。`key=value` 形式は非対話モード(`-p`)および Claude モバイルアプリから [Remote Control](/docs/ja/remote-control) 経由でも機能します。`key=value` 形式は、[`autoContinueAtUsageLimit`](/docs/ja/interactive-mode#turn-automatic-continue-off) などのパネルで確認が必要な設定をオンにすることはできませんが、オフにすることはできます。`/config --help` を実行して、受け入れるキーを一覧表示します。エイリアス:`/settings` |

79| `/context [all]` | 現在のコンテキスト使用量をカラーグリッドとして視覚化します。コンテキストが多いツール、メモリ肥大化、容量警告の最適化提案を表示します。会話がコンテキストウィンドウを超える場合、出力には制限をどのくらい超えているか、どのコマンドがスペースを解放するかを示す[警告](/docs/ja/errors#context-exceeds-the-token-limit)が含まれます。[フルスクリーンモード](/docs/ja/fullscreen)では、`/context` は項目ごとの内訳を折りたたんでグリッドを表示したままにします。`all` を渡して展開します |79| `/context [all]` | 現在のコンテキスト使用量をカラーグリッドとして視覚化します。コンテキストが多いツール、メモリ肥大化、容量警告の最適化提案を表示します。会話がコンテキストウィンドウを超える場合、出力には制限をどのくらい超えているか、どのコマンドがスペースを解放するかを示す[警告](/docs/ja/errors#context-exceeds-the-token-limit)が含まれます。[フルスクリーンモード](/docs/ja/fullscreen)では、`/context` は項目ごとの内訳を折りたたんでグリッドを表示したままにします。`all` を渡して展開します |


91| `/effort [level\|auto\|status\|ultracode [on\|off]]` | [effort レベル](/docs/ja/model-config#adjust-effort-level)を設定します:`low` から `xhigh`、`max`、または `auto`。`status` はそれを出力します。`ultracode` または `ultracode on` は現在のレベルのままセッションで [ultracode](/docs/ja/workflows#let-claude-decide-with-ultracode) をオンにし、`ultracode off` はそれをオフにします。[`ultracode`](/docs/ja/settings-reference#ultracode) キーは永続化されます。`max` はセッションのみです。`on` および `off` 引数と現在のレベルを保持するには Claude Code v2.1.284 以降が必要です。v2.1.284 より前は、`/effort ultracode` はセッションを `xhigh` に設定し、`/effort ultracode off` は `Invalid argument` で失敗しました。Claude が応答している間に実行すると、Claude Code が[キャッシュ警告](/docs/ja/prompt-caching#changing-effort-level)を表示した場合はそれを確認した後、Claude Code は新しいレベルをそのターンの次のリクエストに適用します。v2.1.242 より前は、Claude Code は Anthropic から取得したフィーチャーフラグからコマンドをミッドターンで実行するか、ターンが終了するまでキューに入れるかを決定し、[フィーチャーフラグをフェッチしない](/docs/ja/env-vars#features-that-need-feature-flag-fetching)セッション([サードパーティプロバイダー](/docs/ja/third-party-integrations)など)では常にキューに入れていました。`-p` で機能します |91| `/effort [level\|auto\|status\|ultracode [on\|off]]` | [effort レベル](/docs/ja/model-config#adjust-effort-level)を設定します:`low` から `xhigh`、`max`、または `auto`。`status` はそれを出力します。`ultracode` または `ultracode on` は現在のレベルのままセッションで [ultracode](/docs/ja/workflows#let-claude-decide-with-ultracode) をオンにし、`ultracode off` はそれをオフにします。[`ultracode`](/docs/ja/settings-reference#ultracode) キーは永続化されます。`max` はセッションのみです。`on` および `off` 引数と現在のレベルを保持するには Claude Code v2.1.284 以降が必要です。v2.1.284 より前は、`/effort ultracode` はセッションを `xhigh` に設定し、`/effort ultracode off` は `Invalid argument` で失敗しました。Claude が応答している間に実行すると、Claude Code が[キャッシュ警告](/docs/ja/prompt-caching#changing-effort-level)を表示した場合はそれを確認した後、Claude Code は新しいレベルをそのターンの次のリクエストに適用します。v2.1.242 より前は、Claude Code は Anthropic から取得したフィーチャーフラグからコマンドをミッドターンで実行するか、ターンが終了するまでキューに入れるかを決定し、[フィーチャーフラグをフェッチしない](/docs/ja/env-vars#features-that-need-feature-flag-fetching)セッション([サードパーティプロバイダー](/docs/ja/third-party-integrations)など)では常にキューに入れていました。`-p` で機能します |

92| `/exit` | CLI を終了します。アタッチされた[バックグラウンドセッション](/docs/ja/agent-view#attach-to-a-session)では、これはデタッチし、セッションは実行し続けます。エイリアス:`/quit` |92| `/exit` | CLI を終了します。アタッチされた[バックグラウンドセッション](/docs/ja/agent-view#attach-to-a-session)では、これはデタッチし、セッションは実行し続けます。エイリアス:`/quit` |

93| `/export [filename]` | 現在の会話をプレーンテキストとしてエクスポートします。ファイル名を指定すると、そのファイルに直接書き込みます。指定しない場合、クリップボードにコピーするか、ファイルに保存するためのダイアログが開きます |93| `/export [filename]` | 現在の会話をプレーンテキストとしてエクスポートします。ファイル名を指定すると、そのファイルに直接書き込みます。指定しない場合、クリップボードにコピーするか、ファイルに保存するためのダイアログが開きます |

94| `/fast [on\|off]` | [fast mode](/docs/ja/fast-mode) をオンまたはオフに切り替えます。Claude が応答している間に実行すると、Claude Code はターンの終了を待たずに fast mode を切り替えます。ただし、実行中のターンは元の速度で終了します。v2.1.242 より前は、Claude Code は Anthropic から取得したフィーチャーフラグからコマンドをミッドターンで実行するか、ターンが終了するまでキューに入れるかを決定し、[フィーチャーフラグをフェッチしない](/docs/ja/env-vars#features-that-need-feature-flag-fetching)セッションでは常にキューに入れていました。`-p` を使用した非対話モードでの可用性は限定的です。[fast mode を切り替える](/docs/ja/fast-mode#toggle-fast-mode)を参照してください。Claude Code v2.1.205 以降が必要です |94| `/fast [on\|off]` | [fast mode](/docs/ja/fast-mode) をオンまたはオフに切り替えます。Claude が応答している間に実行すると、Claude Code はターンの終了を待たずに fast mode を切り替えます。ただし、実行中のターンは元の速度で終了します。v2.1.242 より前は、Claude Code は Anthropic から取得したフィーチャーフラグからコマンドをミッドターンで実行するか、ターンが終了するまでキューに入れるかを決定し、[フィーチャーフラグをフェッチしない](/docs/ja/env-vars#features-that-need-feature-flag-fetching)セッションでは常にキューに入れていました。`-p` を使用した非対話モードでの可用性は限定的です。[fast mode を切り替える](/docs/ja/fast-mode#toggle-fast-mode)を参照してください |

95| `/feedback [report]` | Claude Code に関する製品フィードバックを送信します。[`/bug`](#all-commands) と同じダイアログを開き、同じ同意ステップ、送信ルール、ミッドターン動作があります。[Claude がドラフトしたフィードバック](/docs/ja/tools-reference#sendfeedback-tool-behavior)を含むセッションでは、引数なしで `/feedback` を実行するとドラフトキューが代わりに開き、Claude がキューに入れたドラフトを確認、編集、送信、または破棄できます。キューには新しいレポートをダイアログで書き込むオプションが含まれます。引数を指定した場合、および `/bug` の場合は常に、ダイアログが直接開きます |95| `/feedback [report]` | Claude Code に関する製品フィードバックを送信します。[`/bug`](#all-commands) と同じダイアログを開き、同じ同意ステップ、送信ルール、ミッドターン動作があります。[Claude がドラフトしたフィードバック](/docs/ja/tools-reference#sendfeedback-tool-behavior)を含むセッションでは、引数なしで `/feedback` を実行するとドラフトキューが代わりに開き、Claude がキューに入れたドラフトを確認、編集、送信、または破棄できます。キューには新しいレポートをダイアログで書き込むオプションが含まれます。引数を指定した場合、および `/bug` の場合は常に、ダイアログが直接開きます |

96| `/fewer-permission-prompts` | **[Skill](/docs/ja/skills#bundled-skills).** トランスクリプトで一般的な読み取り専用 Bash および MCP ツール呼び出しをスキャンし、プロジェクト `.claude/settings.json` に優先順位付きの許可リストを追加して権限プロンプトを減らします |96| `/fewer-permission-prompts` | **[Skill](/docs/ja/skills#bundled-skills).** トランスクリプトで一般的な読み取り専用 Bash および MCP ツール呼び出しをスキャンし、プロジェクト `.claude/settings.json` に優先順位付きの許可リストを追加して権限プロンプトを減らします |

97| `/focus` | フォーカスビューを切り替えます。最後のプロンプト、1 行のツール呼び出し要約と編集 diffstats、および最終応答のみを表示します。ツール呼び出し要約はターンで起動されたサブエージェントもカウントし、完了したバックグラウンドタスク通知を 1 つのカウントに折りたたみます。選択はセッション間で永続化されます。設定で [`viewMode`](/docs/ja/settings-reference#viewmode) を設定して上書きします。[フルスクリーンレンダリング](/docs/ja/fullscreen)でのみ利用可能です。[Remote Control](/docs/ja/remote-control) クライアントから、`/focus [on\|off]` を実行して、保存された選択を変更せずに現在のセッションのみのフォーカスビューをオンまたはオフにします。これには Claude Code v2.1.281 以降が必要です。[VS Code 拡張機能](/docs/ja/vs-code#use-the-prompt-box)は独自のフォーカスビューをコマンドメニューの切り替えとして提供し、拡張機能設定として保存され、`viewMode` とは独立しています |97| `/focus` | フォーカスビューを切り替えます。最後のプロンプト、1 行のツール呼び出し要約と編集 diffstats、および最終応答のみを表示します。ツール呼び出し要約はターンで起動されたサブエージェントもカウントし、完了したバックグラウンドタスク通知を 1 つのカウントに折りたたみます。選択はセッション間で永続化されます。設定で [`viewMode`](/docs/ja/settings-reference#viewmode) を設定して上書きします。[フルスクリーンレンダリング](/docs/ja/fullscreen)でのみ利用可能です。[Remote Control](/docs/ja/remote-control) クライアントから、`/focus [on\|off]` を実行して、保存された選択を変更せずに現在のセッションのみのフォーカスビューをオンまたはオフにします。これには Claude Code v2.1.281 以降が必要です。[VS Code 拡張機能](/docs/ja/vs-code#use-the-prompt-box)は独自のフォーカスビューをコマンドメニューの切り替えとして提供し、拡張機能設定として保存され、`viewMode` とは独立しています |


111| `/login` | Anthropic アカウントにサインインします |111| `/login` | Anthropic アカウントにサインインします |

112| `/logout` | Anthropic アカウントからサインアウトします |112| `/logout` | Anthropic アカウントからサインアウトします |

113| `/loop [interval] [prompt]` | **[Skill](/docs/ja/skills#bundled-skills).** セッションが開いている間、プロンプトを繰り返し実行します。間隔を省略すると、Claude は[反復間で自分のペースを設定](/docs/ja/scheduled-tasks#let-claude-choose-the-interval)します。プロンプトを省略すると、Claude は[組み込みメンテナンスプロンプト](/docs/ja/scheduled-tasks#run-the-built-in-maintenance-prompt)または [`loop.md`](/docs/ja/scheduled-tasks#customize-the-default-prompt-with-loop-md) を実行します。例:`/loop 5m check if the deploy finished`。[スケジュールでプロンプトを実行する](/docs/ja/scheduled-tasks)を参照してください。エイリアス:`/proactive` |113| `/loop [interval] [prompt]` | **[Skill](/docs/ja/skills#bundled-skills).** セッションが開いている間、プロンプトを繰り返し実行します。間隔を省略すると、Claude は[反復間で自分のペースを設定](/docs/ja/scheduled-tasks#let-claude-choose-the-interval)します。プロンプトを省略すると、Claude は[組み込みメンテナンスプロンプト](/docs/ja/scheduled-tasks#run-the-built-in-maintenance-prompt)または [`loop.md`](/docs/ja/scheduled-tasks#customize-the-default-prompt-with-loop-md) を実行します。例:`/loop 5m check if the deploy finished`。[スケジュールでプロンプトを実行する](/docs/ja/scheduled-tasks)を参照してください。エイリアス:`/proactive` |

114| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | MCP サーバー接続と OAuth 認証を管理します。引数なしで実行してインタラクティブなリストを開くか、`reconnect`、`enable`、または `disable` をサーバー名または `all` とともに渡して、リストを開かずに接続状態を変更します。`reconnect all` は[失敗したサーバーまたは認証が必要なサーバーをすべて再試行](/docs/ja/mcp#retry-failed-servers-yourself)します。非対話モード(`-p`)では、引数なしで実行するとリストを開く代わりにサーバー状態のテキスト要約を出力します。Claude Code v2.1.205 以降が必要です |114| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | MCP サーバー接続と OAuth 認証を管理します。引数なしで実行してインタラクティブなリストを開くか、`reconnect`、`enable`、または `disable` をサーバー名または `all` とともに渡して、リストを開かずに接続状態を変更します。`reconnect all` は[失敗したサーバーまたは認証が必要なサーバーをすべて再試行](/docs/ja/mcp#retry-failed-servers-yourself)します。非対話モード(`-p`)では、引数なしで実行するとリストを開く代わりにサーバー状態のテキスト要約を出力します |

115| `/memory` | `CLAUDE.md` ファイルを編集し、[自動メモリ](/docs/ja/memory#auto-memory)を有効または無効にし、自動メモリのエントリを表示します |115| `/memory` | `CLAUDE.md` ファイルを編集し、[自動メモリ](/docs/ja/memory#auto-memory)を有効または無効にし、自動メモリのエントリを表示します |

116| `/mobile` | Claude モバイルアプリをダウンロードするための QR コードを表示します。エイリアス:`/ios`、`/android` |116| `/mobile` | Claude モバイルアプリをダウンロードするための QR コードを表示します。エイリアス:`/ios`、`/android` |

117| `/model [model]` | AI モデルを切り替えて、新しいセッションのデフォルトとして保存します。サポートするモデルの場合、左右の矢印を使用して [effort レベルを調整](/docs/ja/model-config#adjust-effort-level)します。引数がない場合、ピッカーが開きます。行で `s` を押すと現在のセッションのみ切り替えます。[Claude Code が切り替えを確認するよう求めるとき](/docs/ja/prompt-caching#switching-models)を参照してください。Claude Code が確認を求めた場合は切り替えを確認すると、Claude Code は現在の応答の終了を待たずに変更を適用します。v2.1.242 より前は、Claude Code は Anthropic から取得したフィーチャーフラグからコマンドをミッドターンで実行するか、ターンが終了するまでキューに入れるかを決定し、[フィーチャーフラグをフェッチしない](/docs/ja/env-vars#features-that-need-feature-flag-fetching)セッション([サードパーティプロバイダー](/docs/ja/third-party-integrations)など)では常にキューに入れていました。非対話モード(`-p`)でも、ピッカーの代わりにモデル引数を使用して利用可能です。その場合は現在のセッションのみに適用され、デフォルトとして保存されません。Claude Code v2.1.205 以降が必要です |117| `/model [model]` | AI モデルを切り替えて、新しいセッションのデフォルトとして保存します。サポートするモデルの場合、左右の矢印を使用して [effort レベルを調整](/docs/ja/model-config#adjust-effort-level)します。引数がない場合、ピッカーが開きます。行で `s` を押すと現在のセッションのみ切り替えます。[Claude Code が切り替えを確認するよう求めるとき](/docs/ja/prompt-caching#switching-models)を参照してください。Claude Code が確認を求めた場合は切り替えを確認すると、Claude Code は現在の応答の終了を待たずに変更を適用します。v2.1.242 より前は、Claude Code は Anthropic から取得したフィーチャーフラグからコマンドをミッドターンで実行するか、ターンが終了するまでキューに入れるかを決定し、[フィーチャーフラグをフェッチしない](/docs/ja/env-vars#features-that-need-feature-flag-fetching)セッション([サードパーティプロバイダー](/docs/ja/third-party-integrations)など)では常にキューに入れていました。非対話モード(`-p`)でも、ピッカーの代わりにモデル引数を使用して利用可能です。その場合は現在のセッションのみに適用され、デフォルトとして保存されません。Claude Code v2.1.205 以降が必要です |


130| `/release-notes` | インタラクティブなバージョンピッカーでチェンジログを表示します。特定のバージョンを選択してそのリリースノートを表示するか、すべてのバージョンを表示することを選択します。ノートはトランスクリプトに表示されますが、Claude が見る会話には入りません |130| `/release-notes` | インタラクティブなバージョンピッカーでチェンジログを表示します。特定のバージョンを選択してそのリリースノートを表示するか、すべてのバージョンを表示することを選択します。ノートはトランスクリプトに表示されますが、Claude が見る会話には入りません |

131| `/reload-plugins [--force]` | すべてのアクティブな[プラグイン](/docs/ja/plugins/overview)を再度読み込んで、保留中の変更を再起動なしで適用します。再度読み込まれた各コンポーネントのカウントを報告し、読み込みエラーを指摘します。再読み込みによって読み込まれる MCP ツールが変わり、プロンプトキャッシュが無効になる場合、コマンドは警告を出し、`--force` を渡さない限りスキップします。非対話モード(`-p`)、Agent SDK、デスクトップアプリでも利用可能です。これらではセッションに直接入力された入力でのみ実行され、プラグイン MCP サーバーの変更は適用されません。Claude Code v2.1.260 以降が必要です。[再起動なしでプラグイン変更を適用する](/docs/ja/plugins/cli-reference#reload-plugins)を参照してください |131| `/reload-plugins [--force]` | すべてのアクティブな[プラグイン](/docs/ja/plugins/overview)を再度読み込んで、保留中の変更を再起動なしで適用します。再度読み込まれた各コンポーネントのカウントを報告し、読み込みエラーを指摘します。再読み込みによって読み込まれる MCP ツールが変わり、プロンプトキャッシュが無効になる場合、コマンドは警告を出し、`--force` を渡さない限りスキップします。非対話モード(`-p`)、Agent SDK、デスクトップアプリでも利用可能です。これらではセッションに直接入力された入力でのみ実行され、プラグイン MCP サーバーの変更は適用されません。Claude Code v2.1.260 以降が必要です。[再起動なしでプラグイン変更を適用する](/docs/ja/plugins/cli-reference#reload-plugins)を参照してください |

132| `/reload-skills` | [スキル](/docs/ja/skills)とコマンドディレクトリを再スキャンして、セッション中にディスク上で追加または変更されたスキルが再起動なしで利用可能になるようにします。利用可能なスキルの数と追加または削除されたスキルの数を報告します |132| `/reload-skills` | [スキル](/docs/ja/skills)とコマンドディレクトリを再スキャンして、セッション中にディスク上で追加または変更されたスキルが再起動なしで利用可能になるようにします。利用可能なスキルの数と追加または削除されたスキルの数を報告します |

133| `/remote-control` | このセッションを claude.ai から [Remote Control](/docs/ja/remote-control) で利用可能にします。サインアウト状態で実行すると、Remote Control に claude.ai サブスクリプションが必要であることを出力し、サインイン方法を示します。v2.1.206 より前は `Unknown command: /remote-control` を報告しました。エイリアス:`/rc` |133| `/remote-control` | このセッションを claude.ai から [Remote Control](/docs/ja/remote-control) で利用可能にします。サインアウト状態で実行すると、Remote Control に claude.ai サブスクリプションが必要であることを出力し、サインイン方法を示します。エイリアス:`/rc` |

134| `/remote-env` | CLI から開始するクラウドセッションのデフォルト[クラウド環境](/docs/ja/cloud-environments#select-an-environment-from-the-cli)を選択します |134| `/remote-env` | CLI から開始するクラウドセッションのデフォルト[クラウド環境](/docs/ja/cloud-environments#select-an-environment-from-the-cli)を選択します |

135| `/rename [name]` | 現在のセッションの名前を変更し、プロンプトバーに名前を表示します。名前がない場合、会話履歴から自動生成されます。非対話モード(`-p`)でも利用可能です。Claude Code v2.1.205 以降が必要です。claude.ai とデスクトップアプリを含むすべての名前変更サーフェスから、Claude Code は新しい名前の制御文字と非表示文字をスペースに置き換え、名前を 200 文字に制限します。非表示文字を削除すると名前が空になる場合、Claude Code はそれを拒否し、`That name is empty once invisible characters are removed. Usage: /rename <name>` を表示します。文字置換と長さ制限には Claude Code v2.1.221 以降が必要です |135| `/rename [name]` | 現在のセッションの名前を変更し、プロンプトバーに名前を表示します。名前がない場合、会話履歴から自動生成されます。非対話モード(`-p`)でも利用可能です。claude.ai とデスクトップアプリを含むすべての名前変更サーフェスから、Claude Code は新しい名前の制御文字と非表示文字をスペースに置き換え、名前を 200 文字に制限します。非表示文字を削除すると名前が空になる場合、Claude Code はそれを拒否し、`That name is empty once invisible characters are removed. Usage: /rename <name>` を表示します。文字置換と長さ制限には Claude Code v2.1.221 以降が必要です |

136| `/resume [session]` | ID または名前で会話を再開するか、セッションピッカーを開きます。[バックグラウンドセッション](/docs/ja/agent-view)はピッカーに `bg` でマークされて表示されます。実行中のセッションをピッカーから、または ID または名前で再開すると、[そのセッションが開きます](/docs/ja/sessions#resume-a-running-background-session):現在の会話はバックグラウンドに移動し、このターミナルは実行中のセッションにアタッチされます。空のプロンプトで `←` を押すとエージェントビューに戻ります。エージェントビューには離れた会話も一覧表示されます。v2.1.285 より前は、Claude Code は拒否し、`claude attach` でセッションを開くか、先にそれを停止するよう指示していました。エイリアス:`/continue` |136| `/resume [session]` | ID または名前で会話を再開するか、セッションピッカーを開きます。[バックグラウンドセッション](/docs/ja/agent-view)はピッカーに `bg` でマークされて表示されます。実行中のセッションをピッカーから、または ID または名前で再開すると、[そのセッションが開きます](/docs/ja/sessions#resume-a-running-background-session):現在の会話はバックグラウンドに移動し、このターミナルは実行中のセッションにアタッチされます。空のプロンプトで `←` を押すとエージェントビューに戻ります。エージェントビューには離れた会話も一覧表示されます。v2.1.285 より前は、Claude Code は拒否し、`claude attach` でセッションを開くか、先にそれを停止するよう指示していました。エイリアス:`/continue` |

137| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | [`/code-review`](/docs/ja/code-review#review-a-diff-locally) のエイリアス:現在の差分、または `/review 1234` などの渡す PR 番号、ブランチ、またはパスをレビューし、同じ effort レベルとフラグを取ります。レベルが指定されていない場合、レビューは最後に入力した `low` ~ `max` のレベルを再利用します。正確なルールについては、[差分をローカルでレビューする](/docs/ja/code-review#review-a-diff-locally)を参照してください。ディープクラウドレビューの場合は、[`/code-review ultra`](/docs/ja/ultrareview) を使用してください。v2.1.223 より前は、`/review` は GitHub プルリクエストを番号で指定して単一パスの読み取り専用レビューを実行する別のコマンドで、引数なしで実行すると開いている PR を一覧表示して選択できました。v2.1.186 ~ v2.1.201 では、`/code-review medium` と同じマルチエージェントエンジンを実行しました |137| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | [`/code-review`](/docs/ja/code-review#review-a-diff-locally) のエイリアス:現在の差分、または `/review 1234` などの渡す PR 番号、ブランチ、またはパスをレビューし、同じ effort レベルとフラグを取ります。レベルが指定されていない場合、レビューは最後に入力した `low` ~ `max` のレベルを再利用します。正確なルールについては、[差分をローカルでレビューする](/docs/ja/code-review#review-a-diff-locally)を参照してください。ディープクラウドレビューの場合は、[`/code-review ultra`](/docs/ja/ultrareview) を使用してください。v2.1.223 より前は、`/review` は GitHub プルリクエストを番号で指定して単一パスの読み取り専用レビューを実行する別のコマンドで、引数なしで実行すると開いている PR を一覧表示して選択できました。v2.1.186 ~ v2.1.201 では、`/code-review medium` と同じマルチエージェントエンジンを実行しました |

138| `/rewind` | 会話またはコードを前の時点に巻き戻すか、選択したメッセージから要約します。[チェックポイント機能](/docs/ja/checkpointing)を参照してください。エイリアス:`/checkpoint`、`/undo` |138| `/rewind` | 会話またはコードを前の時点に巻き戻すか、選択したメッセージから要約します。[チェックポイント機能](/docs/ja/checkpointing)を参照してください。エイリアス:`/checkpoint`、`/undo` |

Details

413 ヒント:413 ヒント:

414 414 

415 * ファイルパスは相対パスまたは絶対パスにできます415 * ファイルパスは相対パスまたは絶対パスにできます

416 * @ を入力してパス提案メニューを開き、Enter または Tab キーを押してハイライトされたパスを受け入れ、もう一度 Enter キーを押してメッセージを送信します416 * `@` を入力してパス提案メニューを開き、Enter または Tab キーを押してハイライトされたパスを受け入れ、もう一度 Enter キーを押してメッセージを送信します

417 * @ ファイル参照は、ファイルのディレクトリと親ディレクトリに `CLAUDE.md` を追加してコンテキストに含めます417 * @ ファイル参照は、ファイルのディレクトリと親ディレクトリに `CLAUDE.md` を追加してコンテキストに含めます

418 * ディレクトリ参照はコンテンツではなくファイルリストを表示します418 * ディレクトリ参照はコンテンツではなくファイルリストを表示します

419 * 単一のメッセージで複数のファイルを参照できます(例:「@file1.js and @file2.js」)419 * 単一のメッセージで複数のファイルを参照できます(例:「@file1.js and @file2.js」)

420</Tip>420</Tip>

421 421 

422`@` 参照によってメッセージにファイルの内容やディレクトリリストが含まれないようにするには、シェルまたはユーザー設定で [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/ja/env-vars#variables) を設定してください。その場合、Claude は参照されたパスを、ファイルツールを使って読み込むよう促すメモとともに受け取ります。この変数には Claude Code v2.1.299 以降が必要です。また、プロジェクト設定とローカル設定では Claude Code はこの変数を無視します。

423 

422***424***

423 425 

424<h3 id="run-claude-on-a-schedule">426<h3 id="run-claude-on-a-schedule">

Details

1602| システムプロンプトと出力スタイル | 両方とも引き続き適用されます |1602| システムプロンプトと出力スタイル | 両方とも引き続き適用されます |

1603| プロジェクトルート CLAUDE.md とスコープなしルール | ディスクから再度注入されます |1603| プロジェクトルート CLAUDE.md とスコープなしルール | ディスクから再度注入されます |

1604| 自動メモリ | ディスクから再度注入されます |1604| 自動メモリ | ディスクから再度注入されます |

1605| [Git ステータススナップショット](/docs/ja/settings-reference#includegitinstructions) | Claude Code はリポジトリから新しいものを読み込みます |1605| [Git ステータススナップショット](/docs/ja/settings-reference#includegitinstructions) | セッション開始時にスナップショットがあった場合、Claude Code はリポジトリから新しいものを読み込みます |

1606| [plan モード](/docs/ja/permission-modes#analyze-before-you-edit-with-plan-mode)で Claude が作成したプラン | ディスクから再度注入されます |1606| [plan モード](/docs/ja/permission-modes#analyze-before-you-edit-with-plan-mode)で Claude が作成したプラン | ディスクから再度注入されます |

1607| `paths:` フロントマターを持つルール | Claude Code が[必要に応じて](/docs/ja/memory#path-specific-rules)再度読み込みます |1607| `paths:` フロントマターを持つルール | Claude Code が[必要に応じて](/docs/ja/memory#path-specific-rules)再度読み込みます |

1608| サブディレクトリ内のネストされた CLAUDE.md | Claude Code が[必要に応じて](/docs/ja/memory#how-claude-md-files-load)再度読み込みます |1608| サブディレクトリ内のネストされた CLAUDE.md | Claude Code が[必要に応じて](/docs/ja/memory#how-claude-md-files-load)再度読み込みます |


1622 コンテキストがいっぱいになるとき1622 コンテキストがいっぱいになるとき

1623</h2>1623</h2>

1624 1624 

1625Claude Code はコンテキストウィンドウの制限に近づくと自動的にコンパクションを実行するため、コンテキストウィンドウがいっぱいになってもセッションが終了することはありません。自動パスはタイムラインの `/compact` ステップと同じ方法で機能します。保持される内容については、[コンテキストがいっぱいになるとき](/docs/ja/how-claude-code-works#when-context-fills-up)を参照してください。1625Claude Code はコンテキストウィンドウの制限に近づくと自動的にコンテキスト圧縮を実行するため、コンテキストウィンドウがいっぱいになってもセッションが終了することはありません。自動パスはタイムラインの `/compact` ステップと同じ方法で機能します。保持される内容については、[コンテキストがいっぱいになるとき](/docs/ja/how-claude-code-works#when-context-fills-up)を参照してください。アイドル状態のまま放置した会話を Claude Code が圧縮する場合については、[アイドル時の圧縮](/docs/ja/settings-reference#idlecompaction)を参照してください。

1626 1626 

1627自動パスが実行される前に対応することもできます。1627自動パスが実行される前に対応することもできます。

1628 1628 

Details

128* **自身の内部から呼び出されることに耐える。** Claude Code はすべてのネストされた自己生成にランチャーを適用するため、排他的リソースを取得するランチャーはそれが既に保持していることを検出する必要があります。128* **自身の内部から呼び出されることに耐える。** Claude Code はすべてのネストされた自己生成にランチャーを適用するため、排他的リソースを取得するランチャーはそれが既に保持していることを検出する必要があります。

129* **Claude Code が起動する前にターミナルに書き込まない。** `exec` の前に出力されたものはすべて、セッションが初期化前に終了した場合のクラッシュ原因として報告されます。129* **Claude Code が起動する前にターミナルに書き込まない。** `exec` の前に出力されたものはすべて、セッションが初期化前に終了した場合のクラッシュ原因として報告されます。

130* **引数の表記方法に依存しない。** フラグの値は、独立した引数(`--flag value`)として渡される場合もあれば、フラグに結合された形(`--flag=value`)で渡される場合もあります。フラグがどちらの形式を使用するかは、バージョン間で変わる可能性があります。130* **引数の表記方法に依存しない。** フラグの値は、独立した引数(`--flag value`)として渡される場合もあれば、フラグに結合された形(`--flag=value`)で渡される場合もあります。フラグがどちらの形式を使用するかは、バージョン間で変わる可能性があります。

131* **ランチャーが起動したディレクトリから `exec` を実行する。** Claude Code は起動したディレクトリで作業するため、ディレクトリを変更するランチャーは誤ったプロジェクトでセッションを開始する可能性があります。ランチャーが作業ディレクトリをリセットするネームスペースまたはサンドボックスに入る必要がある場合は、`exec` の前に、その内部で起動時のディレクトリに戻ります。

131 132 

132<h3 id="format-of-the-launcher-value">133<h3 id="format-of-the-launcher-value">

133 ランチャー値の形式134 ランチャー値の形式

Details

170| Skill が `/skills` に表示されない | Skill ファイルがフォルダ内ではなく `.claude/skills/name.md` にある | フォルダを使用して、その中に `SKILL.md` を配置してください。`.claude/skills/name/SKILL.md` です。 |170| Skill が `/skills` に表示されない | Skill ファイルがフォルダ内ではなく `.claude/skills/name.md` にある | フォルダを使用して、その中に `SKILL.md` を配置してください。`.claude/skills/name/SKILL.md` です。 |

171| Skill が `/skills` に表示されるが Claude が呼び出さない | Skill の frontmatter に `disable-model-invocation: true` がある、またはその説明がリクエストの表現方法と一致しない | `/skills` のバッジを確認してください。「user-only」ラベルは Claude が自動的にトリガーしないことを意味します。[skill 呼び出し](/docs/ja/skills)を参照してください。 |171| Skill が `/skills` に表示されるが Claude が呼び出さない | Skill の frontmatter に `disable-model-invocation: true` がある、またはその説明がリクエストの表現方法と一致しない | `/skills` のバッジを確認してください。「user-only」ラベルは Claude が自動的にトリガーしないことを意味します。[skill 呼び出し](/docs/ja/skills)を参照してください。 |

172| サブディレクトリの `CLAUDE.md` 指示が無視されているように見える | サブディレクトリファイルはセッション開始時ではなく、オンデマンドで読み込まれます | サブディレクトリの `CLAUDE.md` を読み込むには、そのサブディレクトリ内の別のファイルを読むよう Claude に依頼してください。[サブディレクトリファイルが読み込まれるタイミング](/docs/ja/memory#how-claude-md-files-load)を参照してください。 |172| サブディレクトリの `CLAUDE.md` 指示が無視されているように見える | サブディレクトリファイルはセッション開始時ではなく、オンデマンドで読み込まれます | サブディレクトリの `CLAUDE.md` を読み込むには、そのサブディレクトリ内の別のファイルを読むよう Claude に依頼してください。[サブディレクトリファイルが読み込まれるタイミング](/docs/ja/memory#how-claude-md-files-load)を参照してください。 |

173| サブエージェントが `CLAUDE.md` 指示を無視する | 組み込みの Explore および Plan エージェントは `CLAUDE.md` をスキップします。カスタムサブエージェントは、その定義が [`omitClaudeMd`](/docs/ja/sub-agents#supported-frontmatter-fields) を設定しない限り、メイン会話と同じ方法で読み込みます | Explore または Plan の場合、委譲プロンプトで指示を再度述べてください。`omitClaudeMd` を設定するサブエージェントの場合、フィールドを削除してください。その他のカスタムサブエージェントの場合、重要な指示をエージェントファイルの本体に配置してください。これはエージェントのシステムプロンプトになります。[起動時に読み込まれるもの](/docs/ja/sub-agents#what-loads-at-startup)を参照してください。 |173| サブエージェントが `CLAUDE.md` 指示を無視する | 組み込みの Explore および Plan エージェントは起動時に `CLAUDE.md` をスキップします。カスタムサブエージェントは、その定義が [`omitClaudeMd`](/docs/ja/sub-agents#supported-frontmatter-fields) を設定しない限り、メイン会話と同じ方法で読み込みます | Explore または Plan の場合、委譲プロンプトで指示を再度述べてください。`omitClaudeMd` を設定するサブエージェントの場合、フィールドを削除してください。その他のカスタムサブエージェントの場合、重要な指示をエージェントファイルの本体に配置してください。これはエージェントのシステムプロンプトになります。[起動時に読み込まれるもの](/docs/ja/sub-agents#what-loads-at-startup)を参照してください。 |

174| クリーンアップロジックがセッション終了時に実行されない | `SessionEnd` hook が設定されていない | `settings.json` に `SessionEnd` hook を追加してください。[hook イベントリスト](/docs/ja/hooks#hook-events)を参照してください。 |174| クリーンアップロジックがセッション終了時に実行されない | `SessionEnd` hook が設定されていない | `settings.json` に `SessionEnd` hook を追加してください。[hook イベントリスト](/docs/ja/hooks#hook-events)を参照してください。 |

175| `.mcp.json` の MCP サーバーが読み込まれない | ファイルが `.claude/` の下にあるか、そのサーバーが VS Code の `mcp.json` のように、`mcpServers` ではなくトップレベルの `servers` キーの下にある | プロジェクト MCP 設定はリポジトリルートの `.mcp.json` に配置され、`.claude/` 内ではなく、`mcpServers` キーの下にサーバーがあります。[MCP 設定](/docs/ja/mcp)を参照してください。 |175| `.mcp.json` の MCP サーバーが読み込まれない | ファイルが `.claude/` の下にあるか、そのサーバーが VS Code の `mcp.json` のように、`mcpServers` ではなくトップレベルの `servers` キーの下にある | プロジェクト MCP 設定はリポジトリルートの `.mcp.json` に配置され、`.claude/` 内ではなく、`mcpServers` キーの下にサーバーがあります。[MCP 設定](/docs/ja/mcp)を参照してください。 |

176| `settings.json` の `mcpServers` の下に追加された MCP サーバーが表示されない | `settings.json` が `mcpServers` キーを読み込まない | プロジェクトサーバーをリポジトリルートの `.mcp.json` で定義するか、ユーザースコープのサーバーの場合は `claude mcp add --scope user` を実行してください。[MCP 設定](/docs/ja/mcp)を参照してください。 |176| `settings.json` の `mcpServers` の下に追加された MCP サーバーが表示されない | `settings.json` が `mcpServers` キーを読み込まない | プロジェクトサーバーをリポジトリルートの `.mcp.json` で定義するか、ユーザースコープのサーバーの場合は `claude mcp add --scope user` を実行してください。[MCP 設定](/docs/ja/mcp)を参照してください。 |

desktop.md +134 −10

Details

101| **Accept edits** | `acceptEdits` | Claude はファイル編集と`mkdir`、`touch`、`mv`などの一般的なファイルシステムコマンドを自動的に受け入れますが、他のターミナルコマンドの実行前には確認を求めます。ファイル変更を信頼し、より高速な反復を望む場合に使用します。 |101| **Accept edits** | `acceptEdits` | Claude はファイル編集と`mkdir`、`touch`、`mv`などの一般的なファイルシステムコマンドを自動的に受け入れますが、他のターミナルコマンドの実行前には確認を求めます。ファイル変更を信頼し、より高速な反復を望む場合に使用します。 |

102| **Plan** | `plan` | Claude はファイルを読み取り、コマンドを実行して探索してから、ソースコードを編集せずにプランを提案します。アプローチを最初に確認したい複雑なタスクに適しています。 |102| **Plan** | `plan` | Claude はファイルを読み取り、コマンドを実行して探索してから、ソースコードを編集せずにプランを提案します。アプローチを最初に確認したい複雑なタスクに適しています。 |

103| **Auto** | `auto` | Claude は日常的なプロンプトなしで実行されます。シェルコマンドやネットワークリクエストなどのアクションが実行される前に、バックグラウンド分類器がリクエストとの整合性を確認します。[auto モードが利用可能](#auto-mode-availability)な場合に表示されます。設定用の個別トグルはありません。 |103| **Auto** | `auto` | Claude は日常的なプロンプトなしで実行されます。シェルコマンドやネットワークリクエストなどのアクションが実行される前に、バックグラウンド分類器がリクエストとの整合性を確認します。[auto モードが利用可能](#auto-mode-availability)な場合に表示されます。設定用の個別トグルはありません。 |

104| **Bypass permissions** | `bypassPermissions` | Claude は権限プロンプトなしで実行されます。ただし、[どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)、Claude が[外部サイトで機能する](#browse-external-sites)場合の安全分類器、またはデスクトップアクション([セッションをアーカイブする](#work-across-sessions)など Claude が常に最初に確認するもの)は除きます。CLI の`--dangerously-skip-permissions`と同等です。Pro および Max プランでは、Settings → Claude Code の「Allow bypass permissions mode」で有効にします。Team および Enterprise プランでは設定トグルはなく、組織ポリシーで制御されます。サンドボックス化されたコンテナまたは VM でのみ使用してください。 |104| **Bypass permissions** | `bypassPermissions` | Claude は権限プロンプトなしで実行されます。ただし、[どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)、Claude が[外部サイトで機能する](#browse-external-sites)場合の安全分類器、またはセッションの削除などのデスクトップアクション([セッションのアーカイブ](#work-across-sessions)は含みません)は除きます。CLI の`--dangerously-skip-permissions`と同等です。Pro および Max プランでは、Settings → Claude Code の「Allow bypass permissions mode」で有効にします。Team および Enterprise プランでは設定トグルはなく、組織ポリシーで制御されます。サンドボックス化されたコンテナまたは VM でのみ使用してください。 |

105 105 

106Code タブの以前のバージョンでは、これらのモードを Ask permissions、Auto accept edits、および Plan mode というラベルが付けられていました。106Code タブの以前のバージョンでは、これらのモードを Ask permissions、Auto accept edits、および Plan mode というラベルが付けられていました。

107 107 


131 131 

132Browser ペインは、プロジェクトから静的 HTML ファイル、PDF、画像、およびビデオを開くこともできます。チャットで HTML、PDF、画像、またはビデオパスをクリックして、Browser ペインで開きます。132Browser ペインは、プロジェクトから静的 HTML ファイル、PDF、画像、およびビデオを開くこともできます。チャットで HTML、PDF、画像、またはビデオパスをクリックして、Browser ペインで開きます。

133 133 

134<Note>

135 [SSH セッション](#ssh-sessions)では、Claude は Browser ペインのツールを利用できないため、Browser ペインでアプリを開くことができません。アプリを自分で確認するには、[そのポートをコンピューターに転送](#reach-a-port-on-the-remote-machine)します。

136</Note>

137 

134Browser ペインから、以下を実行できます:138Browser ペインから、以下を実行できます:

135 139 

136* Browser ペインで実行中のアプリと直接対話する140* Browser ペインで実行中のアプリと直接対話する


218 222 

219<Note>223<Note>

220 PR 監視には、[GitHub CLI(`gh`)](https://cli.github.com/)がマシンにインストールされ、認証されている必要があります。`gh`がインストールされていない場合、Desktop は PR を作成しようとする最初の時点でインストールを促します。224 PR 監視には、[GitHub CLI(`gh`)](https://cli.github.com/)がマシンにインストールされ、認証されている必要があります。`gh`がインストールされていない場合、Desktop は PR を作成しようとする最初の時点でインストールを促します。

225 

226 [SSH セッション](#ssh-sessions)では、Claude はリモートマシン上でブランチをプッシュし、`gh pr create` を実行するため、**Create PR** をクリックする前にリモートマシンで `git` と `gh` をセットアップしてください。SSH セッションでは Desktop がインストールを促さないため、`gh` はリモートマシンに自分でインストールしてください。その後、リモートマシンで `git push` が機能すること、および `gh auth status` がログイン済みであると報告することを確認してください。

221</Note>227</Note>

222 228 

223<h2 id="arrange-your-workspace">229<h2 id="arrange-your-workspace">


453 459 

454Claude Code はセッション間で 4 つの安全動作を適用します:460Claude Code はセッション間で 4 つの安全動作を適用します:

455 461 

456* セッションをアーカイブする前に、Claude はまずユーザーに確認します。Auto および Bypass 権限を含むすべての権限モードで承認カードが表示されます。462* Claude がセッションをアーカイブする前に承認カードが表示されます。ただし、auto モードと Bypass permissions モードでは、Claude は承認カードなしでセッションをアーカイブできます。確認を求められるようにするには、Manual に切り替えてください。

457* このサーフェスを通じて、Claude はスケジュールタスクの実行など、誰も見ていないセッションからクロスセッションメッセージを送信できず、そのようなセッションにメッセージを配信することもできません。463* このサーフェスを通じて、Claude はスケジュールタスクの実行など、誰も見ていないセッションからクロスセッションメッセージを送信できず、そのようなセッションにメッセージを配信することもできません。

458* Claude Code は、受信セッションが[クロスセッションメッセージング](/docs/ja/cross-session-messaging#availability)自体を持たない場合でも、このサーフェスからの各メッセージを受信セッションの[インバウンドコントロール](/docs/ja/cross-session-messaging#control-inbound-messages)に対してチェックします。受信セッションで[`crossSessionInbound`](/docs/ja/settings-reference#crosssessioninbound)を`refuse`に設定した場合、Claude Code はこのサーフェスからのメッセージをドロップします。Claude Code は拒否を Claude デスクトップアプリに報告します。v2.1.234 より前では、Claude Code はこのサーフェスからクロスセッションメッセージングを持たない受信セッションへのすべてのメッセージをドロップしました。464* Claude Code は、受信セッションが[クロスセッションメッセージング](/docs/ja/cross-session-messaging#availability)自体を持たない場合でも、このサーフェスからの各メッセージを受信セッションの[インバウンドコントロール](/docs/ja/cross-session-messaging#control-inbound-messages)に対してチェックします。受信セッションで[`crossSessionInbound`](/docs/ja/settings-reference#crosssessioninbound)を`refuse`に設定した場合、Claude Code はこのサーフェスからのメッセージをドロップします。Claude Code は拒否を Claude デスクトップアプリに報告します。v2.1.234 より前では、Claude Code はこのサーフェスからクロスセッションメッセージングを持たない受信セッションへのすべてのメッセージをドロップしました。

459* Claude Code は各受信メッセージを引用して送信元のセッションを明示し、Claude はメッセージに基づいて行動する際も受信セッション自体の権限設定に従います。465* Claude Code は各受信メッセージを引用して送信元のセッションを明示し、Claude はメッセージに基づいて行動する際も受信セッション自体の権限設定に従います。


546 552 

547[スキル](/docs/ja/skills)は Claude ができることを拡張します。Claude は関連する場合に自動的にロードするか、直接呼び出すことができます:プロンプトボックスで `/` を入力するか、**+**ボタンをクリックして**Slash commands**を選択して、利用可能なものを参照します。これには [組み込みコマンド](/docs/ja/commands)、[カスタムスキル](/docs/ja/skills#create-your-first-skill)、コードベースからのプロジェクトスキル、および [インストール済みプラグイン](/docs/ja/plugins/install)からのスキルが含まれます。1 つを選択すると、入力フィールドで強調表示されます。その後にタスクを入力して、通常どおり送信します。553[スキル](/docs/ja/skills)は Claude ができることを拡張します。Claude は関連する場合に自動的にロードするか、直接呼び出すことができます:プロンプトボックスで `/` を入力するか、**+**ボタンをクリックして**Slash commands**を選択して、利用可能なものを参照します。これには [組み込みコマンド](/docs/ja/commands)、[カスタムスキル](/docs/ja/skills#create-your-first-skill)、コードベースからのプロジェクトスキル、および [インストール済みプラグイン](/docs/ja/plugins/install)からのスキルが含まれます。1 つを選択すると、入力フィールドで強調表示されます。その後にタスクを入力して、通常どおり送信します。

548 554 

549Claude が作業中でも、他のメッセージと同じようにコマンドを送信でき、ターンが終了するとセッションはアイドル状態に戻ります。v2.1.206 より前では、ターン中に送信されたコマンドはセッションを実行中として表示したままにし、その後に送信したメッセージは配信されませんでした。555Claude が作業中でも、他のメッセージと同じようにコマンドを送信でき、ターンが終了するとセッションはアイドル状態に戻ります。

550 556 

551ローカルセッションは `~/.claude/skills/` からパーソナルスキルをロードします。[SSH](#ssh-sessions) セッションは、マシンからではなく、リモートホストのホームディレクトリから `~/.claude/skills/` を読み取ります。557ローカルセッションは `~/.claude/skills/` からパーソナルスキルをロードします。[SSH](#ssh-sessions) セッションは、マシンからではなく、リモートホストのホームディレクトリから `~/.claude/skills/` を読み取ります。

552 558 


693 699 

694* **`true`**:Claude は自動的に空きポートを見つけて使用します。ほとんどの dev サーバーに適しています。700* **`true`**:Claude は自動的に空きポートを見つけて使用します。ほとんどの dev サーバーに適しています。

695* **`false`**:Claude はエラーで失敗します。OAuth コールバックまたは CORS 許可リストなど、サーバーが特定のポートを使用する必要がある場合に使用します。701* **`false`**:Claude はエラーで失敗します。OAuth コールバックまたは CORS 許可リストなど、サーバーが特定のポートを使用する必要がある場合に使用します。

696* **設定されていない(デフォルト)**:Claude はサーバーがそのポートを必要とするかどうかを尋ねてから、答えを保存します。702* **設定されていない(デフォルト)**:`true` の場合と同様に、サーバーには次の空きポートが割り当てられます。ただし、以下の 1 つのケースは例外です。Claude Desktop v2.37337.0 より前では、代わりに Claude がサーバーにそのポートが必要かどうかを尋ね、回答を `launch.json` に保存します。

697 703 

698Claude が別のポートを選択すると、割り当てられたポートを `PORT` 環境変数を通じてサーバーに渡します。704優先ポートが使用中で `autoPort` が設定されていない場合、以下の条件がすべて当てはまると、サーバーは停止したままになります:

705 

706* `npm`、`yarn`、`pnpm`、または `bun` のスクリプトを通じてサーバーを起動している。

707* 優先ポートがそのスクリプトにハードコードされている、または Claude がスクリプトを検査できない。

708* `runtimeArgs` でポートを渡していない。

709 

710その場合は、ポートを解放するか、ハードコードされた値を削除するか、スクリプトに合わせて `port` を変更します。代わりに `"autoPort": true` を設定する方法は、`PORT` を読み取るスクリプトでのみ機能します。

711 

712サーバーが `PORT` 環境変数からポートを読み取るようにしてください。この環境変数には割り当てられたポートが格納されます。Claude がサーバーを別のポートに移動する場合、`runtimeArgs` 内の `--port` または `-p` の値もそれに合わせて書き換えます。

699 713 

700<h4 id="examples">714<h4 id="examples">

701 例715 例


785 ローカルセッション799 ローカルセッション

786</h3>800</h3>

787 801 

788デスクトップアプリは常にシェル環境全体を継承するわけではありません。macOS では、Dock または Finder からアプリを起動すると、`~/.zshrc` または `~/.bashrc` などのシェルプロファイルを読み取り、`PATH` と固定された Claude Code 変数セットを抽出しますが、そこでエクスポートする他の変数は取得されません。Windows では、アプリはユーザーおよびシステム環境変数を継承しますが、PowerShell プロファイルは読み取りません。802デスクトップアプリは常にシェル環境全体を継承するわけではありません。macOS では、Dock または Finder からアプリを起動すると、`~/.zshrc` または `~/.bashrc` などのシェルプロファイルを読み取り、Claude Code に `PATH` と固定された Claude Code 変数セットを渡しますが、そこでエクスポートする他の変数は渡しません。Windows では、アプリはユーザーおよびシステム環境変数を継承しますが、PowerShell プロファイルは読み取りません。

789 803 

790ローカルセッションと dev サーバーの環境変数を設定するには、プロンプトボックスの環境ドロップダウンを開き、**Local** にマウスを合わせて、ギアアイコンをクリックしてローカル環境エディタを開きます。ここで保存する変数は、マシンに暗号化されて保存され、開始するすべてのローカルセッションとプレビューサーバーに適用されます。また、`~/.claude/settings.json` ファイルの `env` キーに変数を追加することもできます。ただし、これらは Claude セッションにのみ到達し、dev サーバーには到達しません。サポートされている変数の完全なリストについては、[環境変数](/docs/ja/env-vars)を参照してください。804ローカルセッションと dev サーバーの環境変数を設定するには、プロンプトボックスの環境ドロップダウンを開き、**Local** にマウスを合わせて、ギアアイコンをクリックしてローカル環境エディタを開きます。ここで保存する変数は、マシンに暗号化されて保存され、開始するすべてのローカルセッションとプレビューサーバーに適用されます。また、`~/.claude/settings.json` ファイルの `env` キーに変数を追加することもできます。ただし、これらは Claude セッションにのみ到達し、dev サーバーには到達しません。サポートされている変数の完全なリストについては、[環境変数](/docs/ja/env-vars)を参照してください。

791 805 


840 854 

841Linux または macOS のリモートマシンには、サポートされているプロセッサ、SFTP を備えた SSH サーバー、`noexec` でマウントされていないインストールフォルダ、動作するシェル、およびネットワークアクセスが必要です。接続する前に、またはログイン後に接続が失敗した場合に、各要件を確認してください:855Linux または macOS のリモートマシンには、サポートされているプロセッサ、SFTP を備えた SSH サーバー、`noexec` でマウントされていないインストールフォルダ、動作するシェル、およびネットワークアクセスが必要です。接続する前に、またはログイン後に接続が失敗した場合に、各要件を確認してください:

842 856 

843* **システム**:x86\_64 または arm64 プロセッサ。マシンは Claude Code の[システム要件](/docs/ja/setup#system-requirements)も満たす必要があります。857* **システム**:x86\_64 または arm64 プロセッサ。マシンは Claude Code の[システム要件](/docs/ja/setup#system-requirements)も満たす必要があります。Linux では、Claude Code には glibc 2.17 以降、または musl が必要です。マシンがどちらを使用しているかを確認するには、そのマシンで `ldd --version` を実行します。Alpine Linux などの musl ベースのディストリビューションでは、[Claude Code が必要とするパッケージ](/docs/ja/setup#alpine-linux-and-musl-based-distributions)もインストールしてください。

844* **SFTP**:SSH サーバーが SFTP サブシステムを提供している必要があります。これは `sshd_config` の `Subsystem sftp` 行で有効になります。確認するには、コンピューターのターミナルで `sftp` を使用して同じホストとポートに接続します。正常に動作しているサーバーでは `sftp>` プロンプトが表示されます。858* **SFTP**:SSH サーバーが SFTP サブシステムを提供している必要があります。これは `sshd_config` の `Subsystem sftp` 行で有効になります。確認するには、コンピューターのターミナルで `sftp` を使用して同じホストとポートに接続します。正常に動作しているサーバーでは `sftp>` プロンプトが表示されます。

845* **接続あたりのセッション数**:macOS と Linux の Desktop は、1 つの SSH 接続で複数のセッションを開きます。サーバーの `sshd_config` で `MaxSessions 1` が設定されている場合は、OpenSSH のデフォルトである 10 などに引き上げてください。859* **接続あたりのセッション数**:macOS と Linux の Desktop は、1 つの SSH 接続で複数のセッションを開きます。サーバーの `sshd_config` で `MaxSessions 1` が設定されている場合は、OpenSSH のデフォルトである 10 などに引き上げてください。

846* **インストールフォルダ**:Desktop は、ホームディレクトリの `~/.claude/remote/` の下にヘルパープログラムと Claude Code をインストールします。そこからそれらを実行するため、そのフォルダを `noexec` でマウントされたファイルシステム上に置くことはできません。接続する各ユーザーのホームディレクトリに約 1 GB のディスク容量を確保してください。860* **インストールフォルダ**:Desktop は、ホームディレクトリの `~/.claude/remote/` の下にヘルパープログラムと Claude Code をインストールします。そこからそれらを実行するため、そのフォルダを `noexec` でマウントされたファイルシステム上に置くことはできません。接続する各ユーザーのホームディレクトリに約 1 GB のディスク容量を確保してください。そのフォルダに含まれる内容については、[リモートマシン上のファイルとプロセス](#files-and-processes-on-the-remote-machine)を参照してください。

847* **シェル**:リモートマシン上のアカウントに設定されているシェルは、Bash、Zsh、`sh` と同様に、SSH 経由で送信されたコマンドを実行できる必要があります861* **シェル**:リモートマシン上のアカウントに設定されているシェルは、Bash、Zsh、`sh` と同様に、SSH 経由で送信されたコマンドを実行できる必要があります

848* **ネットワーク**:Claude Code はリモートマシンで実行され、そこからネットワークリクエストを行うため、マシンには [Claude Code が必要とするネットワークアクセス](/docs/ja/network-config#network-access-requirements)が必要です。マシンが Claude Code をダウンロードできない場合、Desktop はコンピューター上でダウンロードしてアップロードします。Claude Code のその他のリクエストは引き続きリモートマシンから送信されます。862* **ネットワーク**:Claude Code はリモートマシンで実行され、そこからネットワークリクエストを行うため、マシンには [Claude Code が必要とするネットワークアクセス](/docs/ja/network-config#network-access-requirements)が必要です。マシンが Claude Code をダウンロードできない場合、Desktop はコンピューター上でダウンロードしてアップロードします。Claude Code のその他のリクエストは引き続きリモートマシンから送信されます。

849 863 


878 892 

879**SSH host** フィールドに `devbox` と入力します。893**SSH host** フィールドに `devbox` と入力します。

880 894 

895<h5 id="use-variables-from-your-shell-in-a-proxycommand">

896 `ProxyCommand` でシェルの変数を使用する

897</h5>

898 

899`ProxyCommand` または `Match exec` コマンドで独自の環境変数を使用するには、`~/.zshrc` などのシェル起動ファイルでその変数をエクスポートしてから、Desktop を終了して再度開きます。Desktop は起動時にログインシェルがエクスポートする内容を読み取り、終了するまでその値を保持します。

900 

901これには Claude Desktop v2.37337.0 以降と、`-0` を受け付ける `env` コマンドが必要です。これはコンピューターのターミナルで `env -0` を実行して確認できます。

902 

881<h5 id="raise-the-ssh-connection-timeout">903<h5 id="raise-the-ssh-connection-timeout">

882 SSH 接続のタイムアウトを延長する904 SSH 接続のタイムアウトを延長する

883</h5>905</h5>


894 916 

895`ssh` はホストに対して最初に見つかった値を使用するため、このエントリは `ConnectTimeout` を設定する `Host *` エントリよりも上に配置してください。確認するには、コンピューターのターミナルで `ssh -G devbox` を実行します。その出力には `connecttimeout 120` が含まれます。値を変更した後は、Desktop を終了して再度開いてください。917`ssh` はホストに対して最初に見つかった値を使用するため、このエントリは `ConnectTimeout` を設定する `Host *` エントリよりも上に配置してください。確認するには、コンピューターのターミナルで `ssh -G devbox` を実行します。その出力には `connecttimeout 120` が含まれます。値を変更した後は、Desktop を終了して再度開いてください。

896 918 

919<h5 id="forwarding-settings-that-desktop-leaves-off">

920 Desktop がオフにする転送設定

921</h5>

922 

923リモートマシンへの接続では、SSH 設定でオンになっている場合でも、Desktop は `ForwardAgent`、`ForwardX11`、`LocalForward`、`RemoteForward`、`DynamicForward`、`Tunnel` をオフのままにします。[ターミナル](#run-commands-in-the-terminal)や `!` コマンドでは、Desktop がそれらの設定に従う別の `ssh` を起動することがあるため、転送設定は[一部の場合にのみ](#limits-while-desktop-is-disconnected)適用されると考えてください。

924 

925* **リモートマシン上のポートに接続するには**:[自分で転送します](#reach-a-port-on-the-remote-machine)

926* **リモートマシンから自分の鍵を使用するには**:`git push` 用など、リモートマシン自体に認証情報を設定します

927 

928Desktop が SSH エージェントやポートを転送しないようにするには、コンピューターのターミナルで `ssh -G devbox` を実行します。次に、出力された `hostname` と `user` の値を使用して、`ssh -G -o HostName=devbox.internal.example.com -l alice devbox` のように、Desktop が実行しうる形でもう一度実行します。2 回目の出力には、1 回目ではスキップされる `Match` ブロックの設定が表示されることがあります。

929 

930両方の出力で、`no` 以外の値を示す `forwardagent` 行と、`localforward`、`remoteforward`、または `dynamicforward` で始まる行を探します。見つかった場合は、その設定を SSH 設定から削除してください。`ProxyCommand` が `ssh` で接続するホストについても同様に行ってください。

931 

932<h4 id="reach-a-port-on-the-remote-machine">

933 リモートマシン上のポートに接続する

934</h4>

935 

936ポート 3000 の dev サーバーなど、リモートマシンで実行されているサーバーを開くには、ポートを自分で転送します。コンピューターのターミナルで、`-L` と接続先のホスト(`devbox` など)を指定して `ssh` を実行します:

937 

938```bash theme={null}

939ssh -N -L 3000:localhost:3000 devbox

940```

941 

942接続で **SSH port** または **SSH key (optional)** を入力した場合は、同じ値で `-p` または `-i` を追加します。そのコマンドを実行したままにし、コンピューターのブラウザで `http://localhost:3000` を開くと、リモートマシンのポート 3000 に接続できます。`ssh` が `open failed: administratively prohibited` と出力した場合は、マシンの管理者に TCP 転送を許可するよう依頼してください。TCP 転送は SSH サーバーの `sshd_config` の `AllowTcpForwarding` で制御されます。

943 

897<h4 id="windows-remote-machines">944<h4 id="windows-remote-machines">

898 Windows リモートマシン945 Windows リモートマシン

899</h4>946</h4>


925Claude Code は、Desktop がリモートマシンにインストールするバックグラウンドヘルパーの下でプロセスとして実行されるため、実行を続けるのに SSH 接続は必要ありません。このセクションで説明する動作には Claude Desktop v2.31226.0 以降が必要です。972Claude Code は、Desktop がリモートマシンにインストールするバックグラウンドヘルパーの下でプロセスとして実行されるため、実行を続けるのに SSH 接続は必要ありません。このセクションで説明する動作には Claude Desktop v2.31226.0 以降が必要です。

926 973 

927<Warning>974<Warning>

928 Claude アカウントで Desktop にサインインしている場合、タスクが一晩中実行されることを当てにしないでください。Desktop は、Desktop が実行中かつ接続中の間のみタスクのサインインを更新するため、切断後にタスクのサインインの期限が切れ、タスクが停止することがあります。切断時に残っている時間は状況によって異なります。975 Claude アカウントで Desktop にサインインしている場合、タスクが一晩中実行されることを当てにしないでください。Desktop は、Desktop が実行中かつ接続中の間のみタスクのサインインを更新するため、切断後にタスクのサインインの期限が切れ、タスクが停止することがあります。切断時に残っている時間は状況によって異なり、数分しかない場合もあります。

929 976 

930 それまでに行われた作業はリモートマシンに残り、戻ったときにメッセージを送信して続行できます。977 それまでに行われた作業はリモートマシンに残り、戻ったときにメッセージを送信して続行できます。

931 978 


1076 1123 

1077このフィールドには Claude Desktop v1.44121.0 以降が必要です。組織がセッションで使用できるフォルダを制限している場合、Desktop はこのフィールドを非表示にし、worktree をプロジェクト内に作成します。1124このフィールドには Claude Desktop v1.44121.0 以降が必要です。組織がセッションで使用できるフォルダを制限している場合、Desktop はこのフィールドを非表示にし、worktree をプロジェクト内に作成します。

1078 1125 

1126<h4 id="files-and-processes-on-the-remote-machine">

1127 リモートマシン上のファイルとプロセス

1128</h4>

1129 

1130Desktop は、Linux または macOS のリモートマシンに接続する各ユーザーのホームディレクトリの `~/.claude/remote/` の下に、ヘルパープログラムと Claude Code をインストールします。ヘルパーはどのネットワークポートもリッスンしませんが、Claude Code と、MCP サーバーや開発サーバーなど Claude Code が起動するプログラムはリッスンすることがあります。

1131 

1132| フォルダ | 内容 |

1133| - | - |

1134| `~/.claude/remote/srv/` | ヘルパー(バージョンごとに 1 つのフォルダ) |

1135| `~/.claude/remote/ccd-cli/` | Claude Code(バージョンごとに 1 つのファイル) |

1136| `~/.claude/remote/run/` | ソケットやログなど、ヘルパーのランタイムファイル(接続するコンピューターごとに 1 つのフォルダ) |

1137| `~/.claude/remote/plugins/` | Desktop がユーザーのコンピューターからコピーするプラグイン |

1138| [`~/.claude/uploads/`](/docs/ja/claude-directory#clear-local-data) | ユーザーがメッセージに添付するファイル(セッションごとに 1 つのフォルダ) |

1139 

11401 人のユーザーのプロセスを一覧表示するには、リモートマシン上でそのユーザーとして `pgrep -fl "$HOME/.claude/remote/"` を実行するか、`$HOME` の代わりにそのユーザーのホームディレクトリを指定して実行します:

1141 

1142* **ヘルパー**:接続するコンピューターごとに 1 つ以上の `server` プロセス

1143* **Claude Code**:ヘルパーがユーザーのセッションのために起動するプロセス。それぞれ `2.1.295-…` のように、バージョンにちなんだ名前のファイルから起動されます

1144 

1145Desktop は、ユーザーの SSH 接続を通じて、`~/.claude/remote/run/` の下にあるヘルパーのフォルダ内の Unix ソケット `rpc.sock` を経由してヘルパーに到達します。ソケットのモードは 600、そのフォルダのモードは 700 であるため、root を除き、マシン上の他のユーザーはそのソケットに接続できません。

1146 

1147ヘルパーが自動的に停止する場合については、[Desktop の切断中の制限](#limits-while-desktop-is-disconnected)を参照してください。

1148 

11491 人のユーザーのヘルパーと Claude Code を削除するには:

1150 

1151<Steps>

1152 <Step title="Desktop を終了する">

1153 ユーザーが接続する各コンピューターで Desktop を終了します。Desktop は次回接続時に両方のプログラムを再度インストールし、自動的に再接続することがあります。

1154 </Step>

1155 

1156 <Step title="プロセスを終了する">

1157 リモートマシンにそのユーザーとしてログインし、[`pgrep`](#files-and-processes-on-the-remote-machine) が一覧表示する各プロセス ID を指定して `kill` を実行します。

1158 </Step>

1159 

1160 <Step title="フォルダを削除する">

1161 `~/.claude/remote/` を削除します。`~/.claude/` と `~/.claude.json` にある Claude Code 自体のファイルを削除するには、[設定ファイルを削除する](/docs/ja/setup#remove-configuration-files)を参照してください。

1162 </Step>

1163</Steps>

1164 

1165<h5 id="end-one-session’s-process">

1166 1 つのセッションのプロセスを終了する

1167</h5>

1168 

11691 つのセッションの Claude Code プロセスを終了するには、Desktop がリモートマシンに接続している間に、Desktop で[セッションをアーカイブ](#work-in-parallel-with-sessions)します。プロセスは、タスクの完了後も、Desktop を終了した後も実行を続けます。

1170 

1171worktree を持つセッションをアーカイブする前に、[セッションで並行作業する](#work-in-parallel-with-sessions)を参照してください。

1172 

1173<h5 id="see-who-connected-to-the-remote-machine">

1174 リモートマシンに接続したユーザーを確認する

1175</h5>

1176 

1177リモートマシンに誰が接続したかを確認するには、そのマシン上の SSH サーバーのログを読みます。ログでは、Desktop からのログインはターミナルからのログインと同じように表示されます。macOS または Linux の Desktop では、エントリはセッションごとではなく、Desktop が接続するたびに記録されます。

1178 

1179<h4 id="use-mcp-servers-set-up-on-the-remote-machine">

1180 リモートマシンで設定した MCP サーバーを使用する

1181</h4>

1182 

1183SSH セッションで `~/.claude.json` またはプロジェクトの `.mcp.json` の [MCP サーバー](/docs/ja/mcp)を使用するには、リモートマシン上のそれらのファイルで設定します。Claude Code はそれらの stdio サーバーをリモートマシンで起動するため、それらのサーバーが実行するコマンドをリモートマシンにインストールしてください。`claude_desktop_config.json` のサーバーについては、[Desktop の切断中の制限](#limits-while-desktop-is-disconnected)を参照してください。

1184 

1079<h4 id="open-an-ssh-session-from-a-link">1185<h4 id="open-an-ssh-session-from-a-link">

1080 リンクから SSH セッションを開く1186 リンクから SSH セッションを開く

1081</h4>1187</h4>


1207* **Cowork**:どのキーも [Cowork](https://claude.com/docs/cowork/overview) セッションや Cowork のスケジュールタスクには適用されません1313* **Cowork**:どのキーも [Cowork](https://claude.com/docs/cowork/overview) セッションや Cowork のスケジュールタスクには適用されません

1208* **クラウドセッション**:どのキーも[クラウドセッション](#cloud-sessions)を利用できるかどうかを変更しません。クラウドセッションをオフにするには、[Admin console controls](#admin-console-controls) の **Cloud sessions** 設定を使用します。1314* **クラウドセッション**:どのキーも[クラウドセッション](#cloud-sessions)を利用できるかどうかを変更しません。クラウドセッションをオフにするには、[Admin console controls](#admin-console-controls) の **Cloud sessions** 設定を使用します。

1209 1315 

1210この例を応用する場合は、ホスト名と Desktop のバージョンを確認してください:1316この例を応用する場合は、ホスト名、Desktop のバージョン、およびファイルの権限を確認してください:

1211 1317 

1212* **ホスト名**:`sshHostAllowlist` のパターンが、`user@` を除いた各 `sshConfigs` エントリのホスト名と一致することを確認してください。一致しない場合、開発者はその接続に接続できません。Desktop がホスト名を照合する方法については、[ユーザーが接続できる SSH ホストを制限する](#restrict-which-ssh-hosts-users-can-connect-to)を参照してください。1318* **ホスト名**:`sshHostAllowlist` のパターンが、`user@` を除いた各 `sshConfigs` エントリのホスト名と一致することを確認してください。一致しない場合、開発者はその接続に接続できません。Desktop がホスト名を照合する方法については、[ユーザーが接続できる SSH ホストを制限する](#restrict-which-ssh-hosts-users-can-connect-to)を参照してください。

1213* **バージョン**:`disableDesktopLocalSessions` には Claude Desktop v1.37937.0 以降が必要です1319* **バージョン**:`disableDesktopLocalSessions` には Claude Desktop v1.37937.0 以降が必要です

1320* **ファイルの権限**:コンピューター上の各開発者のアカウントが管理設定ファイルを読み取れることを確認してください。アカウントが読み取れないファイル内のキーは Desktop によって適用されず、Claude Code も[それらのキーなしで起動します](/docs/ja/managed-settings#find-entries-claude-code-dropped)。

1214 1321 

12153 つのキーは、配信する[管理ソース](/docs/ja/managed-settings#how-claude-code-combines-managed-sources)のうち最上位のもの 1 つにまとめて記述してください。[サーバー管理設定](/docs/ja/server-managed-settings)を配信する場合は、各コンピューターの最上位の MDM ポリシーまたは管理設定ファイルにも 3 つのキーのコピーを保持してください。Desktop は起動時にサーバー管理設定を取得し、取得が成功するまではコンピューター上のコピーが適用されます。13223 つのキーは、配信する[管理ソース](/docs/ja/managed-settings#how-claude-code-combines-managed-sources)のうち最上位のもの 1 つにまとめて記述してください。[サーバー管理設定](/docs/ja/server-managed-settings)を配信する場合は、各コンピューターの最上位の MDM ポリシーまたは管理設定ファイルにも 3 つのキーのコピーを保持してください。Desktop は起動時にサーバー管理設定を取得し、取得が成功するまではコンピューター上のコピーが適用されます。

1216 1323 


1558 1665 

1559MCP サーバートグルが応答しない場合、または Windows でサーバーが接続に失敗する場合、サーバーが設定で正しく設定されていることを確認し、アプリを再起動し、Task Manager でサーバープロセスが実行されていることを確認し、接続エラーについてサーバーログを確認します。1666MCP サーバートグルが応答しない場合、または Windows でサーバーが接続に失敗する場合、サーバーが設定で正しく設定されていることを確認し、アプリを再起動し、Task Manager でサーバープロセスが実行されていることを確認し、接続エラーについてサーバーログを確認します。

1560 1667 

1668<h3 id="ssh-connection-fails-after-you-log-in">

1669 ログイン後に SSH 接続が失敗する

1670</h3>

1671 

1672カードのタイトル、またはエラーメッセージの末尾にあるコードをこの表で探し、最後の列の指示に従ってください。メッセージを確認するには、失敗カードで **View details** を選択します。

1673 

1674| カードのタイトル | コード | 対処方法 |

1675| - | - | - |

1676| `<host>'s SSH server has SFTP turned off` | `[SFTP_UNAVAILABLE]` | [リモートマシンの要件](#remote-machine-requirements-for-ssh-sessions)で説明されているとおり、サーバーの `sshd_config` で SFTP をオンにします |

1677| `SFTP doesn't start on <host>` | `[SFTP_NOT_STARTED]` | コンピューターのターミナルで `sftp` を使用して同じホストに接続し、何が起動を妨げているかを確認してから、Desktop のメッセージに示されている設定とファイルを確認します |

1678| `<host> allows too few SSH sessions per connection` | `[SESSION_LIMIT]` | サーバーの `sshd_config` で `MaxSessions` を引き上げます(例:OpenSSH のデフォルトである 10) |

1679| `<host> is out of disk space` | `[ENOSPC]` または `[EDQUOT]` | リモートマシンのホームディレクトリまたは `/tmp` で空き容量またはクォータを確保します |

1680| `This computer is out of disk space` | `[ENOSPC]` または `[EDQUOT]`(`Couldn't prepare the deploy locally` で始まるメッセージ内) | コンピューターの空き容量を確保します |

1681| `Claude Code won't start on <host>` | `[CLI_UNRESPONSIVE]` | 1 分待ってから、もう一度試してください。失敗が続く場合は、メッセージに示されているコマンドをリモートマシンで実行し、そこで Claude Code が応答するかどうかを確認します。 |

1682 

1683その他のメッセージについては、[リモートマシンの要件](#remote-machine-requirements-for-ssh-sessions)を確認してください。

1684 

1561<h3 id="app-won’t-quit">1685<h3 id="app-won’t-quit">

1562 アプリが終了しない1686 アプリが終了しない

1563</h3>1687</h3>

env-vars.md +10 −4

Details

268| `CLAUDE_CODE_DISABLE_FAST_MODE` | `1` に設定すると、[fast モード](/docs/ja/fast-mode)を無効にします |268| `CLAUDE_CODE_DISABLE_FAST_MODE` | `1` に設定すると、[fast モード](/docs/ja/fast-mode)を無効にします |

269| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | `1` に設定すると、「How is Claude doing?」というセッション品質アンケートを無効にします。`DISABLE_TELEMETRY`、`DO_NOT_TRACK`、または `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` が設定されている場合も、`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` で再度オプトインしない限り、アンケートは無効になります。完全に無効にする代わりにサンプルレートを設定するには、[`feedbackSurveyRate`](/docs/ja/settings-reference#feedbacksurveyrate) 設定を使用します。[セッション品質アンケート](/docs/ja/data-usage#session-quality-surveys)を参照してください |269| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | `1` に設定すると、「How is Claude doing?」というセッション品質アンケートを無効にします。`DISABLE_TELEMETRY`、`DO_NOT_TRACK`、または `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` が設定されている場合も、`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` で再度オプトインしない限り、アンケートは無効になります。完全に無効にする代わりにサンプルレートを設定するには、[`feedbackSurveyRate`](/docs/ja/settings-reference#feedbacksurveyrate) 設定を使用します。[セッション品質アンケート](/docs/ja/data-usage#session-quality-surveys)を参照してください |

270| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | `1` に設定すると、ファイルの[チェックポイント機能](/docs/ja/checkpointing)を無効にします。`/rewind` コマンドでコードの変更を復元できなくなります。[`fileCheckpointingEnabled`](/docs/ja/settings-reference#filecheckpointingenabled) 設定を上書きします |270| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | `1` に設定すると、ファイルの[チェックポイント機能](/docs/ja/checkpointing)を無効にします。`/rewind` コマンドでコードの変更を復元できなくなります。[`fileCheckpointingEnabled`](/docs/ja/settings-reference#filecheckpointingenabled) 設定を上書きします |

271| `CLAUDE_CODE_DISABLE_FILE_MENTIONS` | `1` に設定すると、Claude Code がファイルとディレクトリの [`@` メンション](/docs/ja/common-workflows#reference-files-and-directories)を展開しないようにします。代わりに Claude は、ファイルツールを使って読み取るよう指示するメモとともに、メンションされたパスを受け取ります。[プロジェクト設定とローカル設定](/docs/ja/settings-reference#variables-claude-code-ignores-in-env)では無視されます。Claude Code v2.1.299 以降が必要です |

271| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | `1` に設定すると、組み込みのコミットおよび PR ワークフローの指示と git ステータスのスナップショットを Claude のコンテキストから削除します。独自の git ワークフロースキルを使用する場合に便利です。設定すると、[`includeGitInstructions`](/docs/ja/settings-reference#includegitinstructions) 設定より優先されます |272| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | `1` に設定すると、組み込みのコミットおよび PR ワークフローの指示と git ステータスのスナップショットを Claude のコンテキストから削除します。独自の git ワークフロースキルを使用する場合に便利です。設定すると、[`includeGitInstructions`](/docs/ja/settings-reference#includegitinstructions) 設定より優先されます |

272| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | `1` に設定すると、`bash -c 'rm -rf ~'` のように `-c` でシェルに渡されるスクリプトを、Claude Code が[クリティカルパス](/docs/ja/permission-modes#removals-inside-nested-commands-and-inline-scripts)の削除について読み取らないようにします。Claude Code はそれらのスクリプト内のシェル変数と位置パラメーターの対象は引き続きチェックし、その他のクリティカルパスのチェックも引き続き実行されます。Claude Code は設定の `env` ブロックを通じて配信されたコピーを無視するため、Claude Code を起動する環境で設定してください。Claude Code v2.1.288 以降が必要です |273| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | `1` に設定すると、`bash -c 'rm -rf ~'` のように `-c` でシェルに渡されるスクリプトを、Claude Code が[クリティカルパス](/docs/ja/permission-modes#removals-inside-nested-commands-and-inline-scripts)の削除について読み取らないようにします。Claude Code はそれらのスクリプト内のシェル変数と位置パラメーターの対象は引き続きチェックし、その他のクリティカルパスのチェックも引き続き実行されます。Claude Code は設定の `env` ブロックを通じて配信されたコピーを無視するため、Claude Code を起動する環境で設定してください。Claude Code v2.1.288 以降が必要です |

273| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | `1` に設定すると、Anthropic API で Opus 4 と Opus 4.1 が現在の Opus バージョンに自動的に再マッピングされるのを防ぎます。意図的に古いモデルを固定したい場合に使用します。再マッピングは Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry では実行されません |274| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | `1` に設定すると、Anthropic API で Opus 4 と Opus 4.1 が現在の Opus バージョンに自動的に再マッピングされるのを防ぎます。意図的に古いモデルを固定したい場合に使用します。再マッピングは Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry では実行されません |


328| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | IDE 拡張機能への接続に使用するホストアドレスを上書きします。デフォルトでは、Claude Code は WSL から Windows へのルーティングを含め、正しいアドレスを自動検出します |329| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | IDE 拡張機能への接続に使用するホストアドレスを上書きします。デフォルトでは、Claude Code は WSL から Windows へのルーティングを含め、正しいアドレスを自動検出します |

329| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | `1` に設定すると、IDE 拡張機能の自動インストールをスキップします。[`autoInstallIdeExtension`](/docs/ja/settings-reference#autoinstallideextension) を `false` に設定するのと同等です |330| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | `1` に設定すると、IDE 拡張機能の自動インストールをスキップします。[`autoInstallIdeExtension`](/docs/ja/settings-reference#autoinstallideextension) を `false` に設定するのと同等です |

330| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | `1` に設定すると、接続時の IDE ロックファイルエントリの検証をスキップします。IDE が実行中にもかかわらず、自動接続で IDE が見つからない場合に使用します |331| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | `1` に設定すると、接続時の IDE ロックファイルエントリの検証をスキップします。IDE が実行中にもかかわらず、自動接続で IDE が見つからない場合に使用します |

332| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | [アイドル時のコンテキスト圧縮](/docs/ja/settings-reference#idlecompaction)が会話に適用されるコンテキストサイズ(トークン数)(デフォルト: `200000`)。正の整数を受け付け、それ以外は無視されます。`100000` 未満の値は、最小しきい値である `100000` に引き上げられます。アイドル時の圧縮は、条件を満たす会話ではデフォルトでオンです。オフにするには、`idleCompaction` を `false` に設定してください。Claude Code v2.1.290 以降が必要です |

331| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Agent ツールが新たな生成を拒否するまでに、1 つのセッションで同時に実行できる [サブエージェント](/docs/ja/sub-agents#concurrent-subagent-limit) の数(デフォルト: 20)。正の整数を数字のみで受け付けます。それ以外の値は無視されるため、この変数で上限を調整することはできますが、無効にすることはできません。Claude Code v2.1.217 以降が必要です |333| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Agent ツールが新たな生成を拒否するまでに、1 つのセッションで同時に実行できる [サブエージェント](/docs/ja/sub-agents#concurrent-subagent-limit) の数(デフォルト: 20)。正の整数を数字のみで受け付けます。それ以外の値は無視されるため、この変数で上限を調整することはできますが、無効にすることはできません。Claude Code v2.1.217 以降が必要です |

332| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Claude Code がアクティブなモデルについて想定するコンテキストウィンドウのサイズを上書きします。v2.1.193 以降、適用方法は Claude Code がモデル ID をどのように解決するかによって異なります。[ゲートウェイまたはカスタムモデル ID のウィンドウを修正する](/docs/ja/model-config#correct-the-window-for-a-gateway-or-custom-model-id) を参照してください。`ANTHROPIC_BASE_URL` を介してルーティングするモデルのコンテキストウィンドウが、その名前に対応する組み込みのサイズと一致しない場合に使用します |334| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Claude Code がアクティブなモデルについて想定するコンテキストウィンドウのサイズを上書きします。v2.1.193 以降、適用方法は Claude Code がモデル ID をどのように解決するかによって異なります。[ゲートウェイまたはカスタムモデル ID のウィンドウを修正する](/docs/ja/model-config#correct-the-window-for-a-gateway-or-custom-model-id) を参照してください。`ANTHROPIC_BASE_URL` を介してルーティングするモデルのコンテキストウィンドウが、その名前に対応する組み込みのサイズと一致しない場合に使用します |

333| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Claude Code がモデルに送信する、各 MCP ツールの説明および各 MCP サーバーの指示の最大長(文字数)(デフォルト: 2048)。Claude Code は [それより長いテキストを切り詰めます](/docs/ja/mcp#for-mcp-server-authors)。正の整数を数字のみで受け付けます。それ以外の値は無視され、デフォルトが適用されます。Claude Code v2.1.280 以降が必要です |335| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Claude Code がモデルに送信する、各 MCP ツールの説明と各 MCP サーバーの指示の最大長(文字数)。設定した値は、両方の [デフォルトの制限](/docs/ja/mcp#for-mcp-server-authors)(4096、および Claude がツール検索を通じて読み込むツールの説明については 16384)を置き換えます。Claude Code はそれより長いテキストを切り詰めます。数字のみの正の整数を受け付けます。それ以外は無視され、デフォルトが適用されます。Claude Code v2.1.280 以降が必要です |

334| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | ほとんどのリクエストの最大出力トークン数を設定します。デフォルトと上限はモデルによって異なります。[最大出力トークン](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) を参照してください。モデルの上限を超える値は、Claude Code によって上限まで引き下げられます。Claude Code が既知のモデルに解決できないモデル ID の場合、デフォルトは 32000、上限は 128000 です。この値を増やすと、[自動圧縮](/docs/ja/costs#reduce-token-usage) が発生するまでに利用できる実質的なコンテキストウィンドウが小さくなります |336| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | ほとんどのリクエストの最大出力トークン数を設定します。デフォルトと上限はモデルによって異なります。[最大出力トークン](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) を参照してください。モデルの上限を超える値は、Claude Code によって上限まで引き下げられます。Claude Code が既知のモデルに解決できないモデル ID の場合、デフォルトは 32000、上限は 128000 です。この値を増やすと、[自動圧縮](/docs/ja/costs#reduce-token-usage) が発生するまでに利用できる実質的なコンテキストウィンドウが小さくなります |

335| `CLAUDE_CODE_MAX_RETRIES` | 失敗した API リクエストを再試行する回数を上書きします(デフォルト: 10)。v2.1.186 以降は上限が 15 です。v2.1.199 以降は、`CLAUDE_CODE_RETRY_WATCHDOG` によってデフォルトが引き上げられ、上限が撤廃されます。より長い障害を待ち続ける必要がある無人セッションでは、代わりに `CLAUDE_CODE_RETRY_WATCHDOG` を設定してください |337| `CLAUDE_CODE_MAX_RETRIES` | 失敗した API リクエストを再試行する回数を上書きします(デフォルト: 10)。v2.1.186 以降は上限が 15 です。v2.1.199 以降は、`CLAUDE_CODE_RETRY_WATCHDOG` によってデフォルトが引き上げられ、上限が撤廃されます。より長い障害を待ち続ける必要がある無人セッションでは、代わりに `CLAUDE_CODE_RETRY_WATCHDOG` を設定してください |

336| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | v2.1.224 で削除され、現在は何も行いません。以前は、1 つのセッションで Claude が Agent ツールで生成できる [サブエージェント](/docs/ja/sub-agents) の総数を制限していました(デフォルト: 200)。上限を超えて生成しようとすると `Subagent spawn limit reached` で失敗していました。[同時実行サブエージェントの制限](/docs/ja/sub-agents#concurrent-subagent-limit) と [深さの制限](/docs/ja/sub-agents#let-subagents-spawn-their-own-subagents) は引き続き適用されます |338| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | v2.1.224 で削除され、現在は何も行いません。以前は、1 つのセッションで Claude が Agent ツールで生成できる [サブエージェント](/docs/ja/sub-agents) の総数を制限していました(デフォルト: 200)。上限を超えて生成しようとすると `Subagent spawn limit reached` で失敗していました。[同時実行サブエージェントの制限](/docs/ja/sub-agents#concurrent-subagent-limit) と [深さの制限](/docs/ja/sub-agents#let-subagents-spawn-their-own-subagents) は引き続き適用されます |


359| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 動的な OpenTelemetry ヘッダーを更新する間隔(ミリ秒)(デフォルト: 1740000 / 29 分)。[動的ヘッダー](/docs/ja/monitoring-usage#dynamic-headers) を参照してください |361| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 動的な OpenTelemetry ヘッダーを更新する間隔(ミリ秒)(デフォルト: 1740000 / 29 分)。[動的ヘッダー](/docs/ja/monitoring-usage#dynamic-headers) を参照してください |

360| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | シャットダウン時に OpenTelemetry エクスポーターが完了するまでのタイムアウト(ミリ秒)(デフォルト: 2000)。終了時にメトリクスが失われる場合は値を増やしてください。[モニタリング](/docs/ja/monitoring-usage) を参照してください |362| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | シャットダウン時に OpenTelemetry エクスポーターが完了するまでのタイムアウト(ミリ秒)(デフォルト: 2000)。終了時にメトリクスが失われる場合は値を増やしてください。[モニタリング](/docs/ja/monitoring-usage) を参照してください |

361| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | API が `529` 過負荷エラーで拒否したリクエストの [自動再試行](/docs/ja/errors#tune-retry-behavior) の間の指数バックオフの開始遅延(ミリ秒)。デフォルトの 500 の代わりに使用されます。API の容量が逼迫しているときに、より長い時間枠に再試行を分散させるには値を増やしてください。500 から 32000 までの整数のミリ秒を数字のみで指定します。Claude Code はそれ以外の値を未設定として扱います。`CLAUDE_CODE_RETRY_WATCHDOG` が `1` に設定されている場合、または拒否されたリクエストが [fast mode](/docs/ja/fast-mode#handle-rate-limits) で送信された場合は効果がありません。Claude Code v2.1.292 以降が必要です |363| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | API が `529` 過負荷エラーで拒否したリクエストの [自動再試行](/docs/ja/errors#tune-retry-behavior) の間の指数バックオフの開始遅延(ミリ秒)。デフォルトの 500 の代わりに使用されます。API の容量が逼迫しているときに、より長い時間枠に再試行を分散させるには値を増やしてください。500 から 32000 までの整数のミリ秒を数字のみで指定します。Claude Code はそれ以外の値を未設定として扱います。`CLAUDE_CODE_RETRY_WATCHDOG` が `1` に設定されている場合、または拒否されたリクエストが [fast mode](/docs/ja/fast-mode#handle-rate-limits) で送信された場合は効果がありません。Claude Code v2.1.292 以降が必要です |

364| `CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS` | API が `529` overloaded エラーで拒否したリクエストの[自動再試行](/docs/ja/errors#tune-retry-behavior)間の指数バックオフの上限(ミリ秒)。デフォルトの 32000 の代わりに使用されます。API が容量の上限に達しているときに、後の再試行の間隔を広げ続けるには値を引き上げてください。32000 から 64000 までの整数のミリ秒を数字のみで指定します。それ以外の値は未設定として扱われます。`CLAUDE_CODE_RETRY_WATCHDOG` が `1` に設定されている場合、または拒否されたリクエストが [fast mode](/docs/ja/fast-mode#handle-rate-limits) で送信された場合は効果がありません。Claude Code v2.1.296 以降が必要です |

362| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | `1` に設定すると、新しいバージョンが利用可能になったときに、Claude Code がパッケージマネージャーのアップグレードコマンドをバックグラウンドで実行できるようにします。Homebrew および WinGet でのインストールに適用されます。その他のパッケージマネージャーでは、引き続きアップグレードコマンドが実行されずに表示されます。[自動更新](/docs/ja/setup#auto-updates) を参照してください |365| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | `1` に設定すると、新しいバージョンが利用可能になったときに、Claude Code がパッケージマネージャーのアップグレードコマンドをバックグラウンドで実行できるようにします。Homebrew および WinGet でのインストールに適用されます。その他のパッケージマネージャーでは、引き続きアップグレードコマンドが実行されずに表示されます。[自動更新](/docs/ja/setup#auto-updates) を参照してください |

363| `CLAUDE_CODE_PERFORCE_MODE` | `1` に設定すると、Perforce 対応の書き込み保護を有効にします。設定すると、対象ファイルに所有者の書き込みビットがない場合、Edit、Write、NotebookEdit は `p4 edit <file>` のヒントを表示して失敗します。Perforce は、同期されたファイルを `p4 edit` で開くまでこのビットをクリアします。これにより、Claude Code が Perforce の変更追跡をバイパスすることを防ぎます |366| `CLAUDE_CODE_PERFORCE_MODE` | `1` に設定すると、Perforce 対応の書き込み保護を有効にします。設定すると、対象ファイルに所有者の書き込みビットがない場合、Edit、Write、NotebookEdit は `p4 edit <file>` のヒントを表示して失敗します。Perforce は、同期されたファイルを `p4 edit` で開くまでこのビットをクリアします。これにより、Claude Code が Perforce の変更追跡をバイパスすることを防ぎます |

364| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | プラグインのルートディレクトリを上書きします。名前に反して、これはキャッシュ自体ではなく親ディレクトリを設定します。マーケットプレイスとプラグインキャッシュは、このパスの下のサブディレクトリに配置されます。デフォルトは `~/.claude/plugins` です |367| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | プラグインのルートディレクトリを上書きします。名前に反して、これはキャッシュ自体ではなく親ディレクトリを設定します。マーケットプレイスとプラグインキャッシュは、このパスの下のサブディレクトリに配置されます。デフォルトは `~/.claude/plugins` です |


380| `CLAUDE_CODE_REMOTE_SESSION_ID` | [クラウドセッション](/docs/ja/claude-code-on-the-web) で、現在のセッションの ID に自動的に設定されます。これを読み取って、セッションのトランスクリプトへのリンクを作成できます。[出力をセッションにリンクする](/docs/ja/cloud-environments#link-output-back-to-the-session) を参照してください |383| `CLAUDE_CODE_REMOTE_SESSION_ID` | [クラウドセッション](/docs/ja/claude-code-on-the-web) で、現在のセッションの ID に自動的に設定されます。これを読み取って、セッションのトランスクリプトへのリンクを作成できます。[出力をセッションにリンクする](/docs/ja/cloud-environments#link-output-back-to-the-session) を参照してください |

381| `CLAUDE_CODE_RESTRICTED` | `1` に設定すると、[`--restricted`](/docs/ja/cli-reference#cli-flags) を渡した場合と同様に、制限モードでセッションを開始します。Claude Code は設定ファイルの `env` ブロック内のこの変数を無視します。Claude Code v2.1.248 以降が必要です |384| `CLAUDE_CODE_RESTRICTED` | `1` に設定すると、[`--restricted`](/docs/ja/cli-reference#cli-flags) を渡した場合と同様に、制限モードでセッションを開始します。Claude Code は設定ファイルの `env` ブロック内のこの変数を無視します。Claude Code v2.1.248 以降が必要です |

382| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | `1` に設定すると、前のセッションがターンの途中で終了した場合に自動的に再開します。SDK モードで使用され、SDK がプロンプトを再送信しなくてもモデルが続行できるようにします。これをオフにするには、変数を未設定にするか `0` に設定してください。VS Code のチャットパネルについては、[再読み込み後に会話を続ける](/docs/ja/vs-code#continue-conversations-after-a-reload) を参照してください |385| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | `1` に設定すると、前のセッションがターンの途中で終了した場合に自動的に再開します。SDK モードで使用され、SDK がプロンプトを再送信しなくてもモデルが続行できるようにします。これをオフにするには、変数を未設定にするか `0` に設定してください。VS Code のチャットパネルについては、[再読み込み後に会話を続ける](/docs/ja/vs-code#continue-conversations-after-a-reload) を参照してください |

383| `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 以降が必要です |386| `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 以降が必要です |

384| `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.` です。空の文字列を指定するとデフォルトが使用されます |387| `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.` です。空の文字列を指定するとデフォルトが使用されます |

385| `CLAUDE_CODE_RETRY_WATCHDOG` | 評価ハーネス、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 以降が必要です |388| `CLAUDE_CODE_RETRY_WATCHDOG` | 評価ハーネス、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 以降が必要です |

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


437| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | `CLAUDE_AUTO_BACKGROUND_TASKS` が `1` に設定されている場合に、まだ実行中の[バックグラウンドサブエージェント](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)を確認するよう Claude にリマインドするまでに Claude Code が待機する時間。`600` や `600,1800,3600` のように、`1` から `86400` までの整数秒による待機時間を 1 つ以上カンマ区切りで指定します。各値は次のリマインダーまでの待機時間で、最後の値が繰り返されます。数字のみを受け付けます。その他の値や表記は未設定として扱われます。未設定の場合、リマインダーはありません。Claude Code v2.1.283 以降が必要です |440| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | `CLAUDE_AUTO_BACKGROUND_TASKS` が `1` に設定されている場合に、まだ実行中の[バックグラウンドサブエージェント](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)を確認するよう Claude にリマインドするまでに Claude Code が待機する時間。`600` や `600,1800,3600` のように、`1` から `86400` までの整数秒による待機時間を 1 つ以上カンマ区切りで指定します。各値は次のリマインダーまでの待機時間で、最後の値が繰り返されます。数字のみを受け付けます。その他の値や表記は未設定として扱われます。未設定の場合、リマインダーはありません。Claude Code v2.1.283 以降が必要です |

438| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | 1 回の[ワークフロー](/docs/ja/workflows)実行で同時に実行するエージェントの数(`1` から `256`)。デフォルトでは、1 回の実行で最大 16 個のエージェントを同時に実行し、Claude Code が利用できる CPU が少ない場合はそれより少なくなります。キューに入った `agent()` 呼び出しは空きスロットを待ちます。実行中の各エージェントのトランスクリプトは Claude Code のメモリに保持されるため、値を大きくするとメモリ使用量が増えます。数字のみを受け付けます。範囲外の値やその他の表記ではデフォルトが維持されます。Claude Code v2.1.269 以降が必要です |441| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | 1 回の[ワークフロー](/docs/ja/workflows)実行で同時に実行するエージェントの数(`1` から `256`)。デフォルトでは、1 回の実行で最大 16 個のエージェントを同時に実行し、Claude Code が利用できる CPU が少ない場合はそれより少なくなります。キューに入った `agent()` 呼び出しは空きスロットを待ちます。実行中の各エージェントのトランスクリプトは Claude Code のメモリに保持されるため、値を大きくするとメモリ使用量が増えます。数字のみを受け付けます。範囲外の値やその他の表記ではデフォルトが維持されます。Claude Code v2.1.269 以降が必要です |

439| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [ワークフロー](/docs/ja/workflows)のエージェントが自身の最初のリクエストを送信する前に、同じプレフィックスを持つ兄弟エージェントの最初の応答が始まるのを待機する時間の上限(ミリ秒)。ファンアウトで[プロンプトキャッシュのプレフィックス](/docs/ja/workflows#prompt-caching-in-a-fan-out)を共有する複数のエージェントが開始されると、Claude Code は最初のエージェント以外を最大この時間だけ保留し、残りのエージェントがそれぞれキャッシュなしでプレフィックスを処理する代わりに、キャッシュされたプレフィックスを読み取れるようにします。デフォルトは `5000` です。待機を無効にするには `0` に設定します。`DISABLE_PROMPT_CACHING` が設定されている場合、エージェントは待機しません。Claude Code v2.1.229 以降が必要です |442| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [ワークフロー](/docs/ja/workflows)のエージェントが自身の最初のリクエストを送信する前に、同じプレフィックスを持つ兄弟エージェントの最初の応答が始まるのを待機する時間の上限(ミリ秒)。ファンアウトで[プロンプトキャッシュのプレフィックス](/docs/ja/workflows#prompt-caching-in-a-fan-out)を共有する複数のエージェントが開始されると、Claude Code は最初のエージェント以外を最大この時間だけ保留し、残りのエージェントがそれぞれキャッシュなしでプレフィックスを処理する代わりに、キャッシュされたプレフィックスを読み取れるようにします。デフォルトは `5000` です。待機を無効にするには `0` に設定します。`DISABLE_PROMPT_CACHING` が設定されている場合、エージェントは待機しません。Claude Code v2.1.229 以降が必要です |

443| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | `1` に設定すると、このセッションで [You should know mod](/docs/ja/interactive-mode#you-should-know-suggestions) が行った直近 3 回のチェックそれぞれについて、プロンプトの上に 1 行ずつ表示します。メモが表示されないときに、mod がチェックを行っていることを確認するために使用します。Claude Code v2.1.287 以降が必要です |

440| `CLAUDE_CONFIG_DIR` | 設定ディレクトリを上書きします(デフォルト: `~/.claude`)。すべての設定、セッション履歴、プラグインはこのパスの下に保存されます。認証情報については、[Claude Code が認証情報を保存する場所](/docs/ja/authentication#credential-management)を参照してください。複数のアカウントを並行して使用する場合に便利です。例: `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`。シェル、ユーザー設定、または管理設定で設定します。設定ファイルでは[絶対パス](#in-settings-files)を記述します。[プロジェクト設定とローカル設定](/docs/ja/settings-reference#variables-claude-code-ignores-in-env)では無視されます |444| `CLAUDE_CONFIG_DIR` | 設定ディレクトリを上書きします(デフォルト: `~/.claude`)。すべての設定、セッション履歴、プラグインはこのパスの下に保存されます。認証情報については、[Claude Code が認証情報を保存する場所](/docs/ja/authentication#credential-management)を参照してください。複数のアカウントを並行して使用する場合に便利です。例: `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`。シェル、ユーザー設定、または管理設定で設定します。設定ファイルでは[絶対パス](#in-settings-files)を記述します。[プロジェクト設定とローカル設定](/docs/ja/settings-reference#variables-claude-code-ignores-in-env)では無視されます |

441| `CLAUDE_DISABLE_ADOPT` | `1` に設定すると、`←` を押すか [`/background`](/docs/ja/agent-view#from-inside-a-session) でセッションをバックグラウンドに移したときに、進行中のバックグラウンド作業を引き継ぐ代わりに停止します。Claude Code はバックグラウンドに移す前に確認を求め、本来なら引き継がれるタスクを停止します。Claude Code v2.1.195 以降が必要です |445| `CLAUDE_DISABLE_ADOPT` | `1` に設定すると、`←` を押すか [`/background`](/docs/ja/agent-view#from-inside-a-session) でセッションをバックグラウンドに移したときに、進行中のバックグラウンド作業を引き継ぐ代わりに停止します。Claude Code はバックグラウンドに移す前に確認を求め、本来なら引き継がれるタスクを停止します。Claude Code v2.1.195 以降が必要です |

442| `CLAUDE_EFFORT` | Bash ツールのサブプロセスとフックコマンドで、サブプロセスの開始時に有効な [effort レベル](/docs/ja/model-config#adjust-effort-level)(`low`、`medium`、`high`、`xhigh`、または `max`)に自動的に設定されます。[フック](/docs/ja/hooks)に渡される `effort.level` フィールドと一致します。現在のモデルが effort パラメーターをサポートしている場合にのみ設定されます |446| `CLAUDE_EFFORT` | Bash ツールのサブプロセスとフックコマンドで、サブプロセスの開始時に有効な [effort レベル](/docs/ja/model-config#adjust-effort-level)(`low`、`medium`、`high`、`xhigh`、または `max`)に自動的に設定されます。[フック](/docs/ja/hooks)に渡される `effort.level` フィールドと一致します。現在のモデルが effort パラメーターをサポートしている場合にのみ設定されます |


452| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | v2.1.260 で削除され、現在は何の効果もありません。以前は、[サブエージェント](/docs/ja/sub-agents)が開始した[バックグラウンドシェルコマンド](/docs/ja/interactive-mode#background-bash-commands)を実行できる時間の上限をミリ秒で設定していました(デフォルトは 60 分)。[バックグラウンドコマンドの存続期間のルール](/docs/ja/tools-reference#background-commands)を参照してください |456| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | v2.1.260 で削除され、現在は何の効果もありません。以前は、[サブエージェント](/docs/ja/sub-agents)が開始した[バックグラウンドシェルコマンド](/docs/ja/interactive-mode#background-bash-commands)を実行できる時間の上限をミリ秒で設定していました(デフォルトは 60 分)。[バックグラウンドコマンドの存続期間のルール](/docs/ja/tools-reference#background-commands)を参照してください |

453| `DEBUG` | `1` に設定するとデバッグモードを有効にします。[`--debug`](/docs/ja/cli-reference#cli-flags) で起動するのと同等です。デバッグログは `~/.claude/debug/<session-id>.txt`、または `CLAUDE_CODE_DEBUG_LOGS_DIR` で設定されたパスに書き込まれます。デバッグモードを有効にするのは真の値 `1`、`true`、`yes`、`on` のみであるため、他のツール向けに設定された `DEBUG=express:*` のような名前空間パターンではトリガーされません |457| `DEBUG` | `1` に設定するとデバッグモードを有効にします。[`--debug`](/docs/ja/cli-reference#cli-flags) で起動するのと同等です。デバッグログは `~/.claude/debug/<session-id>.txt`、または `CLAUDE_CODE_DEBUG_LOGS_DIR` で設定されたパスに書き込まれます。デバッグモードを有効にするのは真の値 `1`、`true`、`yes`、`on` のみであるため、他のツール向けに設定された `DEBUG=express:*` のような名前空間パターンではトリガーされません |

454| `DISABLE_AUTOUPDATER` | `1` に設定すると、バックグラウンドでの自動更新を無効にします。手動の `claude update` は引き続き機能します。両方をブロックするには `DISABLE_UPDATES` を使用します |458| `DISABLE_AUTOUPDATER` | `1` に設定すると、バックグラウンドでの自動更新を無効にします。手動の `claude update` は引き続き機能します。両方をブロックするには `DISABLE_UPDATES` を使用します |

455| `DISABLE_AUTO_COMPACT` | `1` に設定すると、コンテキストの上限に近づいたときの自動圧縮を無効にします。手動の `/compact` コマンドは引き続き使用できます。コンテキスト圧縮を行うタイミングを明示的に制御したい場合に使用します。[`autoCompactEnabled`](/docs/ja/settings-reference#autocompactenabled) 設定を上書きします |459| `DISABLE_AUTO_COMPACT` | `1` に設定すると、コンテキストの上限に近づいたときの自動的なコンテキスト圧縮を、[アイドル時の圧縮](/docs/ja/settings-reference#idlecompaction)とともに無効にします。手動の `/compact` コマンドは引き続き使用できます。圧縮が行われるタイミングを明示的に制御したい場合に使用します。[`autoCompactEnabled`](/docs/ja/settings-reference#autocompactenabled) 設定を上書きします |

456| `DISABLE_COMPACT` | `1` に設定すると、自動圧縮と手動の `/compact` コマンドの両方を含む、すべてのコンテキスト圧縮を無効にします |460| `DISABLE_COMPACT` | `1` に設定すると、自動圧縮と手動の `/compact` コマンドの両方を含む、すべてのコンテキスト圧縮を無効にします |

457| `DISABLE_COST_WARNINGS` | `1` に設定すると、コストに関する警告メッセージを無効にします |461| `DISABLE_COST_WARNINGS` | `1` に設定すると、コストに関する警告メッセージを無効にします |

458| `DISABLE_DOCTOR_COMMAND` | `1` に設定すると、[`/doctor`](/docs/ja/commands#all-commands) セットアップチェックアップスキルとそのエイリアス `/checkup` を非表示にします。ユーザーがセッションからセットアップ診断を実行すべきでない管理されたデプロイで役立ちます。`claude doctor` ターミナルコマンドには影響しません。v2.1.205 より前は、この変数は `/doctor` 診断画面コマンドを非表示にしていました |462| `DISABLE_DOCTOR_COMMAND` | `1` に設定すると、[`/doctor`](/docs/ja/commands#all-commands) セットアップチェックアップスキルとそのエイリアス `/checkup` を非表示にします。ユーザーがセッションからセットアップ診断を実行すべきでない管理されたデプロイで役立ちます。`claude doctor` ターミナルコマンドには影響しません。v2.1.205 より前は、この変数は `/doctor` 診断画面コマンドを非表示にしていました |


478| `ENABLE_CLAUDEAI_MCP_SERVERS` | `false` に設定すると、Claude Code が [claude.ai の MCP サーバー](/docs/ja/mcp#use-mcp-servers-from-claude-ai)を取得しないようにします。ログインしているユーザーに対してはデフォルトで有効です。プロジェクト単位または組織単位で無効にするには、代わりに設定で [`disableClaudeAiConnectors`](/docs/ja/settings-reference#disableclaudeaiconnectors) を設定します |482| `ENABLE_CLAUDEAI_MCP_SERVERS` | `false` に設定すると、Claude Code が [claude.ai の MCP サーバー](/docs/ja/mcp#use-mcp-servers-from-claude-ai)を取得しないようにします。ログインしているユーザーに対してはデフォルトで有効です。プロジェクト単位または組織単位で無効にするには、代わりに設定で [`disableClaudeAiConnectors`](/docs/ja/settings-reference#disableclaudeaiconnectors) を設定します |

479| `ENABLE_PROMPT_CACHING_1H` | `1` に設定すると、デフォルトの 5 分ではなく 1 時間の[プロンプトキャッシュ TTL](/docs/ja/prompt-caching#cache-lifetime) をリクエストします。API キー、[Amazon Bedrock](/docs/ja/amazon-bedrock)、[Google Cloud's Agent Platform](/docs/ja/google-vertex-ai)、[Microsoft Foundry](/docs/ja/microsoft-foundry)、[Claude Platform on AWS](/docs/ja/claude-platform-on-aws) のユーザーを対象としています。含まれる使用量の範囲内のサブスクリプションユーザーは、[メインの会話](/docs/ja/prompt-caching#which-ttl-each-request-gets)で自動的に 1 時間の TTL を受け取ります。[使用クレジット](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)を利用しているサブスクリプションユーザーは、これを設定すると 1 時間の TTL を維持できます。1 時間のキャッシュ書き込みにはより高い料金が課金されます。代わりにリクエストのバケットごとに TTL を選択するには、`CLAUDE_CODE_PROMPT_CACHE_TTL` と `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` を使用します。これらはこの変数より優先されます |483| `ENABLE_PROMPT_CACHING_1H` | `1` に設定すると、デフォルトの 5 分ではなく 1 時間の[プロンプトキャッシュ TTL](/docs/ja/prompt-caching#cache-lifetime) をリクエストします。API キー、[Amazon Bedrock](/docs/ja/amazon-bedrock)、[Google Cloud's Agent Platform](/docs/ja/google-vertex-ai)、[Microsoft Foundry](/docs/ja/microsoft-foundry)、[Claude Platform on AWS](/docs/ja/claude-platform-on-aws) のユーザーを対象としています。含まれる使用量の範囲内のサブスクリプションユーザーは、[メインの会話](/docs/ja/prompt-caching#which-ttl-each-request-gets)で自動的に 1 時間の TTL を受け取ります。[使用クレジット](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)を利用しているサブスクリプションユーザーは、これを設定すると 1 時間の TTL を維持できます。1 時間のキャッシュ書き込みにはより高い料金が課金されます。代わりにリクエストのバケットごとに TTL を選択するには、`CLAUDE_CODE_PROMPT_CACHE_TTL` と `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` を使用します。これらはこの変数より優先されます |

480| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 非推奨です。代わりに `ENABLE_PROMPT_CACHING_1H` を使用してください |484| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 非推奨です。代わりに `ENABLE_PROMPT_CACHING_1H` を使用してください |

481| `ENABLE_TOOL_SEARCH` | [MCP ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)を制御します。未設定の場合、Claude Code はデフォルトですべての MCP ツールを遅延読み込みします。ただし、Claude 4.5 世代より前の Google Cloud's Agent Platform モデル、Azure でホストされている Microsoft Foundry デプロイ、および `ANTHROPIC_BASE_URL` がファーストパーティ以外のホストを指している場合は、引き続き事前に読み込みます。`true` は常に遅延読み込みしてベータヘッダーを送信しますが、同じ Agent Platform モデルと Microsoft Foundry デプロイは例外です。`tool_reference` をサポートしないプロキシではリクエストが失敗します。`auto` は、ツール定義がコンテキストの 10% 以内に収まる場合に事前に読み込みます。`auto:N` はカスタムのしきい値を設定します(例: 5% の場合は `auto:5`)。`false` はすべてのツールを事前に読み込みます。`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` が設定されている場合、自分で設定した値は無視されます。v2.1.221 より前は、この変数を `true` に設定しない限り、Claude Code は Google Cloud's Agent Platform のすべてのモデルでツール検索を無効にしていました |485| `ENABLE_TOOL_SEARCH` | [MCP ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)を制御します。未設定の場合、Claude Code はデフォルトですべての MCP ツールを遅延読み込みしますが、`ANTHROPIC_BASE_URL` がファーストパーティ以外のホストを指している場合は代わりに事前に読み込みます。`true` は、そのようなホストでも遅延読み込みを維持します。`auto` は、ツール定義がコンテキストの 10% 以内に収まる場合に事前に読み込みます。`auto:N` はカスタムのしきい値を設定します(5% の場合は `auto:5` など)。`false` はすべてのツールを事前に読み込みます。この値にかかわらずすべてのツールを事前に読み込むモデルとデプロイについては、[ツール検索を設定する](/docs/ja/mcp#configure-tool-search)を参照してください |

482| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | `1` などの空でない任意の値に設定すると、フォールバックモデルが設定されていない場合に、Claude Code がすべてのモデルで過負荷エラーが繰り返されたときに再試行を停止するようにします。ほとんどのオン/オフ変数とは異なり、**`0` や `false` に設定してもこれは有効になります**。デフォルトの再試行動作に戻すには、変数の設定を解除してください。この変数がない場合、Claude Code がこのように再試行を停止するのは、Claude のサブスクリプションではなく API キーまたは[サードパーティプロバイダー](/docs/ja/third-party-integrations)で認証しているときに、Opus、Fable、または Mythos モデルと認識したモデルに対してのみです。Claude Code v2.1.160 以降では、Claude Code はどのプライマリモデルでも過負荷エラーが繰り返されると、設定された[フォールバックモデルチェーン](/docs/ja/model-config#fallback-model-chains)に切り替えるため、この変数はフォールバックモデルへの切り替えには影響しません |486| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | `1` などの空でない任意の値に設定すると、フォールバックモデルが設定されていない場合に、Claude Code がすべてのモデルで過負荷エラーが繰り返されたときに再試行を停止するようにします。ほとんどのオン/オフ変数とは異なり、**`0` や `false` に設定してもこれは有効になります**。デフォルトの再試行動作に戻すには、変数の設定を解除してください。この変数がない場合、Claude Code がこのように再試行を停止するのは、Claude のサブスクリプションではなく API キーまたは[サードパーティプロバイダー](/docs/ja/third-party-integrations)で認証しているときに、Opus、Fable、または Mythos モデルと認識したモデルに対してのみです。Claude Code v2.1.160 以降では、Claude Code はどのプライマリモデルでも過負荷エラーが繰り返されると、設定された[フォールバックモデルチェーン](/docs/ja/model-config#fallback-model-chains)に切り替えるため、この変数はフォールバックモデルへの切り替えには影響しません |

483| `FORCE_AUTOUPDATE_PLUGINS` | `1` に設定すると、メインの自動更新が `DISABLE_AUTOUPDATER` で無効になっている場合でも、プラグインの自動更新を強制します |487| `FORCE_AUTOUPDATE_PLUGINS` | `1` に設定すると、メインの自動更新が `DISABLE_AUTOUPDATER` で無効になっている場合でも、プラグインの自動更新を強制します |

484| `FORCE_HYPERLINK` | ターミナルがクリック可能な OSC 8 ハイパーリンクをサポートしているのに自動検出されない場合、`1` に設定すると有効になり、`0` に設定すると無効になります。未設定の場合、Claude Code はターミナルのサポートを検出した場合にのみハイパーリンクを有効にします。Claude Code はこの値をブール値ではなく数値として解析するため、`false`、`no`、`off` などの値はハイパーリンクを無効にするのではなく有効にします。フッターの [PR またはマージリクエストのバッジ](/docs/ja/interactive-mode#pr-review-status)は、SSH 経由など Claude Code がターミナルのサポートを検出できない場合でもハイパーリンクとして表示されます。バッジをプレーンテキストとして表示するには `0` に設定します |488| `FORCE_HYPERLINK` | ターミナルがクリック可能な OSC 8 ハイパーリンクをサポートしているのに自動検出されない場合、`1` に設定すると有効になり、`0` に設定すると無効になります。未設定の場合、Claude Code はターミナルのサポートを検出した場合にのみハイパーリンクを有効にします。Claude Code はこの値をブール値ではなく数値として解析するため、`false`、`no`、`off` などの値はハイパーリンクを無効にするのではなく有効にします。フッターの [PR またはマージリクエストのバッジ](/docs/ja/interactive-mode#pr-review-status)は、SSH 経由など Claude Code がターミナルのサポートを検出できない場合でもハイパーリンクとして表示されます。バッジをプレーンテキストとして表示するには `0` に設定します |


593* [`claude import` または `/import` コマンド](/docs/ja/cli-reference#cli-commands)を実行する597* [`claude import` または `/import` コマンド](/docs/ja/cli-reference#cli-commands)を実行する

594* [`/skill-doctor`](/docs/ja/skills#find-unused-skills) を実行する、またはそのレポートを `/plugin` の **Stats** タブで開く598* [`/skill-doctor`](/docs/ja/skills#find-unused-skills) を実行する、またはそのレポートを `/plugin` の **Stats** タブで開く

595* claude.ai アカウントで有効にした[スキル](/docs/ja/skills#where-synced-skills-load)と[プラグイン](/docs/ja/plugins/loading#synced-plugins)をターミナルセッションに同期する599* claude.ai アカウントで有効にした[スキル](/docs/ja/skills#where-synced-skills-load)と[プラグイン](/docs/ja/plugins/loading#synced-plugins)をターミナルセッションに同期する

600* [You should know mod](/docs/ja/interactive-mode#you-should-know-suggestions) をオンにする

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

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

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


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

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

602* Claude Code に [API が拒否する入力スキーマを持つ MCP ツールを除外させる](/docs/ja/mcp#tools-with-invalid-input-schemas)。Claude Code はそのスキーマをそのまま送信し、それを含むリクエストは[ツールを位置で示す 400 エラー](/docs/ja/errors#tool-input-schema-is-invalid)で失敗します607* Claude Code に [API が拒否する入力スキーマを持つ MCP ツールを除外させる](/docs/ja/mcp#tools-with-invalid-input-schemas)。Claude Code はそのスキーマをそのまま送信し、それを含むリクエストは[ツールを位置で示す 400 エラー](/docs/ja/errors#tool-input-schema-is-invalid)で失敗します

608* ターミナルセッションがアイドル状態の間に、1 時間のプロンプトキャッシュの有効期限が切れる少し前に、Claude Code に[長い会話をコンパクト化させる](/docs/ja/settings-reference#idlecompaction)

603 609 

604<h3 id="first-session-after-an-install-or-upgrade">610<h3 id="first-session-after-an-install-or-upgrade">

605 インストールまたはアップグレード後の最初のセッション611 インストールまたはアップグレード後の最初のセッション

errors.md +592 −441

Details

134| `proxy refused the connection` | [ネットワーク](#the-proxy-refused-the-connection) |134| `proxy refused the connection` | [ネットワーク](#the-proxy-refused-the-connection) |

135| `403` with `GitHub GraphQL is not available from Claude Code sessions` in a cloud session | [GitHub proxy](/docs/ja/cloud-environments#github-proxy) |135| `403` with `GitHub GraphQL is not available from Claude Code sessions` in a cloud session | [GitHub proxy](/docs/ja/cloud-environments#github-proxy) |

136| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [ネットワーク](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |136| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [ネットワーク](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |

137| `Failed to fetch session from Sessions API: Failed to fetch session logs` | [ネットワーク](#failed-to-fetch-session-from-sessions-api) |

137| `Couldn't reconnect to your Remote Control session` | [ネットワーク](#couldnt-reconnect-to-your-remote-control-session) |138| `Couldn't reconnect to your Remote Control session` | [ネットワーク](#couldnt-reconnect-to-your-remote-control-session) |

138| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [ネットワーク](#sessions-ended-while-this-machine-was-offline) |139| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [ネットワーク](#sessions-ended-while-this-machine-was-offline) |

139| `Couldn't share the transcript.` | [ネットワーク](#couldnt-share-the-transcript) |140| `Couldn't share the transcript.` | [ネットワーク](#couldnt-share-the-transcript) |


153| `Request too large for the API's 32MB request limit` | [リクエストエラー](#request-too-large) |154| `Request too large for the API's 32MB request limit` | [リクエストエラー](#request-too-large) |

154| `Image was too large` | [リクエストエラー](#image-was-too-large) |155| `Image was too large` | [リクエストエラー](#image-was-too-large) |

155| `Unable to resize image` | [リクエストエラー](#unable-to-resize-image) |156| `Unable to resize image` | [リクエストエラー](#unable-to-resize-image) |

157| `Request rejected as unprocessable by the model` | [リクエストエラー](#request-rejected-as-unprocessable-by-the-model) |

156| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [リクエストエラー](#pdf-errors) |158| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [リクエストエラー](#pdf-errors) |

157| `Extra inputs are not permitted` | [リクエストエラー](#extra-inputs-are-not-permitted) |159| `Extra inputs are not permitted` | [リクエストエラー](#extra-inputs-are-not-permitted) |

158| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [リクエストエラー](#tool-input-schema-is-invalid) |160| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [リクエストエラー](#tool-input-schema-is-invalid) |

161| `Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 128` | [リクエストエラー](#mcp-tool-name-over-128-characters) |

162| `tools.N.custom.name: String should have at most 128 characters` | [リクエストエラー](#mcp-tool-name-over-128-characters) |

159| `tool_use.name: String should have at most 200 characters` | [リクエストエラー](#tool-use-name-over-200-characters) |163| `tool_use.name: String should have at most 200 characters` | [リクエストエラー](#tool-use-name-over-200-characters) |

160| `There's an issue with the selected model` | [リクエストエラー](#theres-an-issue-with-the-selected-model) |164| `There's an issue with the selected model` | [リクエストエラー](#theres-an-issue-with-the-selected-model) |

161| `Model ... is not a recognized model id` | [リクエストエラー](#model-is-not-a-recognized-model-id) |165| `Model ... is not a recognized model id` | [リクエストエラー](#model-is-not-a-recognized-model-id) |


198| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [コマンドラインエラー](#conflict-between-a-system-prompt-flag-and-its-file-form) |202| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [コマンドラインエラー](#conflict-between-a-system-prompt-flag-and-its-file-form) |

199| `Cloud sessions cannot be created from a --restricted session` | [コマンドラインエラー](#cloud-sessions-cannot-be-created-from-a-restricted-session) |203| `Cloud sessions cannot be created from a --restricted session` | [コマンドラインエラー](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

200| `Cloud sessions are disabled by your organization's policy` | [コマンドラインエラー](#cloud-sessions-are-disabled-by-your-organizations-policy) |204| `Cloud sessions are disabled by your organization's policy` | [コマンドラインエラー](#cloud-sessions-are-disabled-by-your-organizations-policy) |

201| `Couldn't verify your organization's policy for cloud sessions` | [コマンドラインエラー](#cloud-sessions-are-disabled-by-your-organizations-policy) |205| `Cloud sessions use your claude.ai login`、認証情報を挙げるポリシー拒否メッセージの末尾に表示される | [コマンドラインエラー](#cloud-sessions-use-your-claude-ai-login) |

206| `Couldn't verify your organization's policy for cloud sessions` | [コマンドラインエラー](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |

207| `Cloud sessions aren't available:` の後に組織のポリシーを読み込めなかった理由が続く | [コマンドラインエラー](#couldnt-verify-your-organizations-policy-for-cloud-sessions) |

202| `Cloud sessions need a claude.ai sign-in` | [Unable to get organization UUID](/docs/ja/claude-code-on-the-web#unable-to-get-organization-uuid) |208| `Cloud sessions need a claude.ai sign-in` | [Unable to get organization UUID](/docs/ja/claude-code-on-the-web#unable-to-get-organization-uuid) |

209| `Nothing was stashed: "<path>" is now a folder in place of a tracked file or link` / `are now folders in place of tracked files or links` | [コマンドラインエラー](#nothing-was-stashed-because-a-folder-replaced-a-tracked-file) |

203| `Error: --json-schema is not a valid JSON Schema` | [コマンドラインエラー](#the-json-schema-value-is-not-a-valid-json-schema) |210| `Error: --json-schema is not a valid JSON Schema` | [コマンドラインエラー](#the-json-schema-value-is-not-a-valid-json-schema) |

204| `Error: Invalid --agents configuration:` | [コマンドラインエラー](#invalid-agents-configuration) |211| `Error: Invalid --agents configuration:` | [コマンドラインエラー](#invalid-agents-configuration) |

205| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [コマンドラインエラー](#invalid-agents-configuration) |212| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [コマンドラインエラー](#invalid-agents-configuration) |


259| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [コマンドラインエラー](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |266| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [コマンドラインエラー](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

260| `/recap only runs when you ask for it yourself in this session` | [コマンドラインエラー](#recap-only-runs-when-you-ask-for-it-yourself) |267| `/recap only runs when you ask for it yourself in this session` | [コマンドラインエラー](#recap-only-runs-when-you-ask-for-it-yourself) |

261| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [プラグインエラー](#plugin-eval-is-currently-in-early-access) |268| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [プラグインエラー](#plugin-eval-is-currently-in-early-access) |

269| `cannot be evaluated where sessions load it` | [eval でプラグインをテストする](/docs/ja/plugin-evals#cannot-be-evaluated-where-sessions-load-it) |

262| `Marketplace "<name>" is registered from an untrusted source` | [プラグインエラー](#marketplace-is-registered-from-an-untrusted-source) |270| `Marketplace "<name>" is registered from an untrusted source` | [プラグインエラー](#marketplace-is-registered-from-an-untrusted-source) |

263| `Claude Code refuses the marketplace name "<name>"` | [プラグインエラー](#claude-code-refuses-the-marketplace-name) |271| `Claude Code refuses the marketplace name "<name>"` | [プラグインエラー](#claude-code-refuses-the-marketplace-name) |

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


358| `Claude Code's fullscreen renderer didn't finish starting last time on this machine` / `Claude Code's fullscreen renderer has repeatedly failed to start on this machine` | [フルスクリーンレンダリング](/docs/ja/fullscreen#fullscreen-renderer-didnt-finish-starting) |366| `Claude Code's fullscreen renderer didn't finish starting last time on this machine` / `Claude Code's fullscreen renderer has repeatedly failed to start on this machine` | [フルスクリーンレンダリング](/docs/ja/fullscreen#fullscreen-renderer-didnt-finish-starting) |

359| `Claude Code exited after an unrecoverable interface error (...)` | [設定の警告](#exited-after-an-unrecoverable-interface-error) |367| `Claude Code exited after an unrecoverable interface error (...)` | [設定の警告](#exited-after-an-unrecoverable-interface-error) |

360| `Agent descriptions are over the 15.0k-token limit` | [設定の警告](#agent-descriptions-are-over-the-15000-token-limit) |368| `Agent descriptions are over the 15.0k-token limit` | [設定の警告](#agent-descriptions-are-over-the-15000-token-limit) |

369| `hook needs quotes around a path with a space` | [設定の警告](#hook-needs-quotes-around-a-path-with-a-space) |

361| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [設定の警告](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |370| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [設定の警告](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |

371| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [設定の警告](#skill-or-command-name-refused) |

362| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [設定の警告](#workspace-has-not-been-trusted) |372| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [設定の警告](#workspace-has-not-been-trusted) |

363| `is a network path, which cannot be added as a working directory` | [設定の警告](#working-directory-is-a-network-path) |373| `is a network path, which cannot be added as a working directory` | [設定の警告](#working-directory-is-a-network-path) |

364| `Remote managed settings failed to load (<cause>)` | [設定の警告](#remote-managed-settings-failed-to-load) |374| `Remote managed settings failed to load (<cause>)` | [設定の警告](#remote-managed-settings-failed-to-load) |


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

448| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/ja/env-vars) | 未設定 | `CLAUDE_CODE_RETRY_WATCHDOG` が設定されている場合に、各 API リクエストが `429` および `529` エラーの解消を待つのに費やす最大時間。単位はミリ秒です。未設定の場合、待機時間に制限はありません。Claude Code v2.1.295 以降が必要です。 |458| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/ja/env-vars) | 未設定 | `CLAUDE_CODE_RETRY_WATCHDOG` が設定されている場合に、各 API リクエストが `429` および `529` エラーの解消を待つのに費やす最大時間。単位はミリ秒です。未設定の場合、待機時間に制限はありません。Claude Code v2.1.295 以降が必要です。 |

449| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/ja/env-vars) | 500 | API が `529` 過負荷エラーで拒否したリクエストの再試行間のバックオフにおける、開始時の遅延 (ミリ秒)。API が容量の上限に達している場合に、再試行をより長い期間に分散させるには、最大 32000 まで値を引き上げてください。`CLAUDE_CODE_RETRY_WATCHDOG` が `1` に設定されている場合、または拒否されたリクエストが [fast mode](/docs/ja/fast-mode#handle-rate-limits) で送信された場合は効果がありません。Claude Code v2.1.292 以降が必要です。 |459| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/ja/env-vars) | 500 | API が `529` 過負荷エラーで拒否したリクエストの再試行間のバックオフにおける、開始時の遅延 (ミリ秒)。API が容量の上限に達している場合に、再試行をより長い期間に分散させるには、最大 32000 まで値を引き上げてください。`CLAUDE_CODE_RETRY_WATCHDOG` が `1` に設定されている場合、または拒否されたリクエストが [fast mode](/docs/ja/fast-mode#handle-rate-limits) で送信された場合は効果がありません。Claude Code v2.1.292 以降が必要です。 |

460| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/ja/env-vars) | 32000 | API が `529` 過負荷エラーで拒否したリクエストの再試行間のバックオフにおける、遅延の上限 (ミリ秒)。API が容量の上限に達している場合に、後の再試行の間隔が引き続き広がるようにするには、最大 64000 まで値を引き上げてください。`CLAUDE_CODE_RETRY_WATCHDOG` が `1` に設定されている場合、または拒否されたリクエストが [fast mode](/docs/ja/fast-mode#handle-rate-limits) で送信された場合は効果がありません。Claude Code v2.1.296 以降が必要です。 |

450| [`API_TIMEOUT_MS`](/docs/ja/env-vars) | 600000 | リクエストごとのタイムアウト (ミリ秒)。低速なネットワークやプロキシを使用する場合は値を引き上げてください。[No response from API](#no-response-from-api) で説明しているように、Claude Code がレスポンスヘッダーを待機する時間の上限にもなります。 |461| [`API_TIMEOUT_MS`](/docs/ja/env-vars) | 600000 | リクエストごとのタイムアウト (ミリ秒)。低速なネットワークやプロキシを使用する場合は値を引き上げてください。[No response from API](#no-response-from-api) で説明しているように、Claude Code がレスポンスヘッダーを待機する時間の上限にもなります。 |

451| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/ja/env-vars) | 未設定 | タイムアウトした[非ストリーミングリクエスト](#streaming-response-ended-before-any-complete-data-was-received)の再送信回数の上限。上限に達すると、リクエストは失敗します。生成にタイムアウトより長い時間がかかる Claude の応答は、再送信のたびに再びタイムアウトするため、より早く失敗させるには `0` などの小さな値を設定してください。非ストリーミングの各試行は、ローカルセッションでは 300 秒後に、`API_TIMEOUT_MS` に正の値を設定している場合はその時間の経過後にタイムアウトします。Claude Code v2.1.285 以降が必要です。 |462| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/ja/env-vars) | 未設定 | タイムアウトした[非ストリーミングリクエスト](#streaming-response-ended-before-any-complete-data-was-received)の再送信回数の上限。上限に達すると、リクエストは失敗します。生成にタイムアウトより長い時間がかかる Claude の応答は、再送信のたびに再びタイムアウトするため、より早く失敗させるには `0` などの小さな値を設定してください。非ストリーミングの各試行は、ローカルセッションでは 300 秒後に、`API_TIMEOUT_MS` に正の値を設定している場合はその時間の経過後にタイムアウトします。Claude Code v2.1.285 以降が必要です。 |

452| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ja/env-vars) | 未設定 | ストリーミングリクエストの最初のレスポンスバイトの期限 (ミリ秒)。Claude Code v2.1.242 以降が必要です。これが未設定の場合に Claude Code が期限をどのように決定するかについては、[No response from API](#no-response-from-api) を参照してください。 |463| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ja/env-vars) | 未設定 | ストリーミングリクエストの最初のレスポンスバイトの期限 (ミリ秒)。Claude Code v2.1.242 以降が必要です。これが未設定の場合に Claude Code が期限をどのように決定するかについては、[No response from API](#no-response-from-api) を参照してください。 |


2045これらのステップは、自身の環境の 1 つを変更します。[組織共有環境](/docs/ja/cloud-environments#organization-shared-environments) はセレクターで読み取り専用で開くため、[管理設定](https://claude.ai/admin-settings) の **Cloud environments** ページから Owner にネットワークアクセスを変更するよう依頼してください。2056これらのステップは、自身の環境の 1 つを変更します。[組織共有環境](/docs/ja/cloud-environments#organization-shared-environments) はセレクターで読み取り専用で開くため、[管理設定](https://claude.ai/admin-settings) の **Cloud environments** ページから Owner にネットワークアクセスを変更するよう依頼してください。

2046 2057 

2047* 環境を編集用に開きます。[ルーティンのフォーム](/docs/ja/routines#environments-and-network-access) から、またはクラウドセッションを開始する [環境セレクター](/docs/ja/cloud-environments#configure-your-environment) から開きます。2058* 環境を編集用に開きます。[ルーティンのフォーム](/docs/ja/routines#environments-and-network-access) から、またはクラウドセッションを開始する [環境セレクター](/docs/ja/cloud-environments#configure-your-environment) から開きます。

2048* **Edit environment** ダイアログで、**Network access** を **Trusted** から **Custom** に変更し、ブロックされたドメインを **Allowed domains** に追加してください。1 行に 1 つのドメインを入力してください。**Also include default list of common package managers** をチェックして、カスタムドメインと共に [デフォルト許可リスト](/docs/ja/cloud-environments#default-allowed-domains) を保持してください。無制限のアクセスが必要な場合は、代わりに **Full** を選択してください。2059* **Edit cloud environment** ダイアログで、**Network access** を **Trusted** から **Custom** に変更し、ブロックされたドメインを **Allowed domains** に追加してください。1 行に 1 つのドメインを入力してください。**Also include default list of common package managers** をチェックして、カスタムドメインと共に [デフォルト許可リスト](/docs/ja/cloud-environments#default-allowed-domains) を保持してください。無制限のアクセスが必要な場合は、代わりに **Full** を選択してください。

2049* **Save changes** をクリックしてください。次の実行は更新された許可リストを使用します。既に開いているクラウドセッションについては、[ネットワークアクセスの変更が既存セッションに反映されるタイミング](/docs/ja/cloud-environments#network-access) を参照してください。2060* **Save changes** をクリックしてください。次の実行は更新された許可リストを使用します。既に開いているクラウドセッションについては、[ネットワークアクセスの変更が既存セッションに反映されるタイミング](/docs/ja/cloud-environments#network-access) を参照してください。

2050 2061 

2051アクセスレベルとデフォルト許可リストについては、[ネットワークアクセス](/docs/ja/cloud-environments#network-access) を参照してください。ローカル CLI セッションはこのポリシーの影響を受けません。2062アクセスレベルとデフォルト許可リストについては、[ネットワークアクセス](/docs/ja/cloud-environments#network-access) を参照してください。ローカル CLI セッションはこのポリシーの影響を受けません。


2097 2108 

2098v2.1.236 より前では、Claude Code はこれらのメッセージの代わりに生の JavaScript TypeError を表示しました。2109v2.1.236 より前では、Claude Code はこれらのメッセージの代わりに生の JavaScript TypeError を表示しました。

2099 2110 

2111<h3 id="failed-to-fetch-session-from-sessions-api">

2112 Failed to fetch session from Sessions API

2113</h3>

2114 

2115このメッセージは、Claude Code が [ターミナルに取り込むよう指定したクラウドセッション](/docs/ja/claude-code-on-the-web#from-cloud-to-terminal) を見つけたものの、Anthropic のサーバーからその会話履歴を読み取れなかったため、セッションを開かなかったことを意味します。

2116 

2117```text theme={null}

2118Failed to fetch session from Sessions API: Failed to fetch session logs

2119```

2120 

2121このメッセージは、`claude --teleport` や `/teleport` を実行した後、または [`/tasks`](/docs/ja/commands) リストでセッションを選択した後に表示されます。`claude --teleport <session-id>` はこのメッセージを出力し、終了コード 1 で終了します。

2122 

2123**対応方法:**

2124 

2125* 同じ teleport をもう一度実行してください。同じように失敗する場合は、[問題を報告](#report-an-error) してください。

2126 

2127v2.1.296 より前では、Claude Code は失敗した読み取りを再試行せず、読み取りに失敗した後、このメッセージを出力する代わりに、空の会話でセッションを開いて成功を報告することがありました。

2128 

2100<h3 id="couldnt-reconnect-to-your-remote-control-session">2129<h3 id="couldnt-reconnect-to-your-remote-control-session">

2101 Couldn't reconnect to your Remote Control session2130 Couldn't reconnect to your Remote Control session

2102</h3>2131</h3>


2344* メッセージが寸法またはサイズ制限を報告する場合は、その制限を下回るように画像をリサイズまたは再圧縮してから添付してください。2373* メッセージが寸法またはサイズ制限を報告する場合は、その制限を下回るように画像をリサイズまたは再圧縮してから添付してください。

2345* メッセージが CMYK JPEG、アニメーション WebP、または破損している可能性のあるファイルなどの原因を示す場合は、メッセージが提案する形式で画像を再保存して再度添付してください。2374* メッセージが CMYK JPEG、アニメーション WebP、または破損している可能性のあるファイルなどの原因を示す場合は、メッセージが提案する形式で画像を再保存して再度添付してください。

2346 2375 

2376<h3 id="request-rejected-as-unprocessable-by-the-model">

2377 Request rejected as unprocessable by the model

2378</h3>

2379 

2380API は、モデルが処理できないものとしてリクエストを拒否しました。メッセージは API 自体のものです。

2381 

2382```text theme={null}

2383API Error: 400 Request rejected as unprocessable by the model (too many or oversized images, or unsupported parameters)

2384```

2385 

2386Claude Code は、拒否されたリクエストから最も古い画像とドキュメントを削除して再送信できます。v2.1.290 より前は、この拒否に対して Claude Code が画像を削除しなかったため、数百枚の画像が蓄積された長いセッションではターンごとにこのエラーで失敗することがありました。

2387 

2388**対処方法:**

2389 

2390* 画像やドキュメントを含む会話でメッセージが繰り返し表示される場合は、自分でそれらを削除します。Esc を 2 回押してそれらを追加したターンより前に戻るか、`/clear` を実行して新しく始めます。

2391 

2347<h3 id="pdf-errors">2392<h3 id="pdf-errors">

2348 PDF エラー2393 PDF エラー

2349</h3>2394</h3>


2413* 無効なスキーマを宣言する MCP サーバーを削除するか、[無効にしてください](/docs/ja/mcp#disable-a-server-without-removing-it)。エラーはツールを位置でのみ示します。v2.1.216 以降では、各サーバーのログで、入力スキーマが拒否されるツールを示す行を確認してください。どのログにもそれが示されていない場合は、サーバーを 1 つずつ無効にしてください。2458* 無効なスキーマを宣言する MCP サーバーを削除するか、[無効にしてください](/docs/ja/mcp#disable-a-server-without-removing-it)。エラーはツールを位置でのみ示します。v2.1.216 以降では、各サーバーのログで、入力スキーマが拒否されるツールを示す行を確認してください。どのログにもそれが示されていない場合は、サーバーを 1 つずつ無効にしてください。

2414* サーバーを保守している場合は、ツールの `input_schema` を修正してください。スキーマは有効な JSON Schema である必要があり、トップレベルのプロパティ名は 1 ~ 64 文字で、ASCII 文字と数字、`_`、`.`、`-` のみを使用する必要があります。[無効な入力スキーマを持つツール](/docs/ja/mcp#tools-with-invalid-input-schemas)を参照してください。2459* サーバーを保守している場合は、ツールの `input_schema` を修正してください。スキーマは有効な JSON Schema である必要があり、トップレベルのプロパティ名は 1 ~ 64 文字で、ASCII 文字と数字、`_`、`.`、`-` のみを使用する必要があります。[無効な入力スキーマを持つツール](/docs/ja/mcp#tools-with-invalid-input-schemas)を参照してください。

2415 2460 

2461<h3 id="mcp-tool-name-over-128-characters">

2462 MCP ツール名が 128 文字を超えています

2463</h3>

2464 

2465MCP サーバーが、`mcp__<server>__<tool>` などの完全な名前が API が受け入れる 128 文字を超えるツールを一覧表示しています。Claude Code は [そのツールを Claude に送信するツールから除外](/docs/ja/mcp#tools-with-names-longer-than-128-characters)し、サーバーの他のツールは引き続き機能します。シェルから `claude --debug` で開始したセッションでは、Claude Code は `~/.claude/debug/<session-id>.txt` のデバッグログに次のメッセージを書き込みます:

2466 

2467```text theme={null}

2468Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 128

2469```

2470 

2471**対応方法:**

2472 

2473* サーバーを保守している場合は、ツールの名前を短くしてください。

2474* サーバーが [MCP 設定](/docs/ja/mcp#mcp-installation-scopes)にある場合は、そこでより短い名前(`analytics-database` の代わりに `db` など)を付けてください。その後、[権限ルール](/docs/ja/permissions#mcp)や [フック matcher](/docs/ja/hooks#match-mcp-tools) など、古い名前でサーバーまたはそのツールを参照しているものを更新してください。

2475* [プラグインがサーバーをバンドルしている](/docs/ja/mcp#plugin-provided-mcp-servers)場合、ツールの完全な名前にはプラグイン名も含まれます。プラグインの保守担当者にサーバー名またはツール名を短くするよう依頼してください。

2476 

2477v2.1.292 より前では、Claude Code はそれでもツールを送信し、API はそのツールを含むすべてのリクエストを `API Error: 400 ... tools.N.custom.name: String should have at most 128 characters` で拒否していました。

2478 

2416<h3 id="tool-use-name-over-200-characters">2479<h3 id="tool-use-name-over-200-characters">

2417 tool\_use.name が 200 文字を超えています2480 tool\_use.name が 200 文字を超えています

2418</h3>2481</h3>


2932 コマンドラインエラー2995 コマンドラインエラー

2933</h2>2996</h2>

2934 2997 

2935これらのエラーは、`claude` コマンドラインとそのサブコマンド、プロンプトで送信したコマンド名、および `/security-review` のようにプロンプトの実行前にシェルコマンドを実行してコンテキストを収集するコマンドから発生します。CLI を再起動する `/tui` からも発生します。2998これらのエラーは、`claude` コマンドラインとそのサブコマンド、プロンプトで送信したコマンド名、そして `/security-review` のようにプロンプトの実行前にシェルコマンドを実行してコンテキストを収集するコマンドから発生します。CLI を再起動する `/tui` からも発生します。

2936 2999 

2937<h3 id="conflict-between-bg-and-print">3000<h3 id="conflict-between-bg-and-print">

2938 `--bg` と `--print` の競合3001 `--bg` と `--print` の競合

2939</h3>3002</h3>

2940 3003 

2941このメッセージには Claude Code v2.1.198 以降が必要です。同じ `claude` の呼び出しで `--bg` と `-p` または `--print` を組み合わせています。`--bg` は後で `claude agents` からアタッチする[バックグラウンドセッション](/docs/ja/agent-view#from-your-shell)を開始しますが、`--print` は[非対話](/docs/ja/headless)で実行され、`claude agents` がアタッチする対話セッションを開始しません。v2.1.198 より前は、この組み合わせによって、決してアタッチできないバックグラウンドジョブが何も通知されずに作成されていました。3004このメッセージには Claude Code v2.1.198 以降が必要です。同じ `claude` の呼び出しで `--bg` と `-p` または `--print` を組み合わせました。`--bg` は後から `claude agents` でアタッチする[バックグラウンドセッション](/docs/ja/agent-view#from-your-shell)を開始しますが、`--print` は[非対話](/docs/ja/headless)で実行され、`claude agents` がアタッチする対話セッションを開始しません。v2.1.198 より前は、この組み合わせによって、アタッチできないバックグラウンドジョブが何も通知されずに作成されていました。

2942 3005 

2943```text theme={null}3006```text theme={null}

2944--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.3007--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.


2946 3009 

2947**対処方法:**3010**対処方法:**

2948 3011 

2949* `-p` または `--print` を削除します。`--bg` はプロンプトを位置引数として受け取るため、`claude --bg "<task>"` だけで完全なコマンドになります。[シェルから新しいエージェントを Dispatch する](/docs/ja/agent-view#from-your-shell)を参照してください。3012* `-p` または `--print` を削除します。`--bg` はプロンプトを位置引数として受け取るため、`claude --bg "<task>"` だけで完全なコマンドになります。[シェルから新しいエージェントをディスパッチする](/docs/ja/agent-view#from-your-shell)を参照してください。

2950* バックグラウンドセッションを作成する代わりにプロンプトを非対話で実行して結果を出力するには、`--bg` を削除して `claude -p "<task>"` を実行します3013* バックグラウンドセッションを作成せずにプロンプトを非対話で実行して結果を出力するには、`--bg` を削除して `claude -p "<task>"` を実行します

2951 3014 

2952<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">3015<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">

2953 システムプロンプトフラグとそのファイル形式の競合3016 システムプロンプトフラグとそのファイル形式の競合

2954</h3>3017</h3>

2955 3018 

29561 回の `claude` の呼び出しで [`--append-subagent-system-prompt`](/docs/ja/cli-reference#cli-flags) と `--append-subagent-system-prompt-file` を一緒に渡したため、`claude` はセッションを開始せずに終了コード 1 で終了します:30191 回の `claude` の呼び出しで [`--append-subagent-system-prompt`](/docs/ja/cli-reference#cli-flags) と `--append-subagent-system-prompt-file` を同時に渡したため、`claude` はセッションを開始せずに終了コード 1 で終了します:

2957 3020 

2958```text theme={null}3021```text theme={null}

2959Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.3022Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.

2960```3023```

2961 3024 

2962v2.1.283 より前は、`--system-prompt` と `--system-prompt-file`、または `--append-system-prompt` と `--append-system-prompt-file` を一緒に渡した場合も、`claude` は同じように終了していました。これらのペアは[組み合わせる](/docs/ja/cli-reference#system-prompt-flags)のではなく競合していたためです。これらのバージョンでは、メッセージに組み合わせたペアの名前が表示されます。3025v2.1.283 より前は、`--system-prompt` と `--system-prompt-file`、または `--append-system-prompt` と `--append-system-prompt-file` を渡した場合にも、`claude` は同じように終了していました。これらの組み合わせは[結合](/docs/ja/cli-reference#system-prompt-flags)されずに競合していたためです。これらのバージョンでは、メッセージに組み合わせたフラグのペアが表示されます。

2963 3026 

2964**対処方法:**3027**対処方法:**

2965 3028 

2966* フラグの一方の形式を残し、もう一方を削除します。固定のプロンプトファイルと実行ごとのテキストを組み合わせるには、両方のフラグを渡すのではなく、起動前にテキストをファイルにマージします3029* フラグの一方の形式だけを残し、もう一方を削除します。固定のプロンプトファイルと実行ごとのテキストを組み合わせるには、両方のフラグを渡すのではなく、起動前にテキストをファイルにマージします

2967 3030 

2968<h3 id="invalid-agents-configuration">3031<h3 id="invalid-agents-configuration">

2969 Invalid `--agents` configuration3032 Invalid `--agents` configuration

2970</h3>3033</h3>

2971 3034 

2972`--agents` に渡した値が無効なため、`claude` はセッションを開始せずに終了コード 1 で終了します。`--safe-mode` を渡すか [`CLAUDE_CODE_SAFE_MODE`](/docs/ja/env-vars#variables) を設定すると、Claude Code は `--agents` を完全に無視します。`--resume` または `--continue` を使用した場合、インラインの JSON 値はチェックされずにセッションが開始されますが、ファイルから読み取った値は起動のたびにチェックされます。v2.1.242 より前は、Claude Code はそれでもセッションを開始していました。3035`--agents` に渡した値が無効なため、`claude` はセッションを開始せずに終了コード 1 で終了します。`--safe-mode` を渡すか [`CLAUDE_CODE_SAFE_MODE`](/docs/ja/env-vars#variables) を設定すると、Claude Code は `--agents` を完全に無視します。`--resume` または `--continue` を使用する場合、インライン JSON の値はチェックされずにセッションが開始されますが、ファイルから読み込んだ値は起動のたびにチェックされます。v2.1.242 より前は、Claude Code はそれでもセッションを開始していました。

2973 3036 

2974```text theme={null}3037```text theme={null}

2975Error: Invalid --agents configuration:3038Error: Invalid --agents configuration:

2976<what failed>3039<what failed>

2977```3040```

2978 3041 

29791 行目に続く内容は、値がどのように失敗したかによって異なります。Claude Code は以下のチェックを順に実行し、最初に失敗したチェックで停止します。値に 2 種類の問題がある場合、2 つ目の問題は 1 つ目を修正した後にのみ表示されます:30421 行目以降の内容は、値がどのように無効だったかによって異なります。Claude Code は以下のチェックを順番に実行し、最初に失敗したチェックで停止します。値に 2 種類の問題がある場合、2 つ目の問題は 1 つ目を修正した後にはじめて表示されます:

2980 3043 

29811. 値が `{` で始まるものの JSON として解析できない場合、または `--agents` ファイルの内容を解析できない場合、Claude Code は JSON パーサー自身のメッセージを含む `invalid JSON:` 行を 1 行出力します30441. 値が `{` で始まるのに JSON として解析できない場合、または `--agents` ファイルの内容を解析できない場合、Claude Code は JSON パーサー自身のメッセージを含む `invalid JSON:` 行を 1 行出力します

29822. 解析はできたものの、エージェント定義が [CLI で定義されたサブエージェント](/docs/ja/sub-agents#choose-the-subagent-scope)のスキーマに一致しない場合、Claude Code は問題ごとに 1 行を出力します30452. 解析はできるものの、エージェント定義が [CLI で定義されたサブエージェント](/docs/ja/sub-agents#choose-the-subagent-scope)のスキーマに一致しない場合、Claude Code は問題ごとに 1 行を出力します

29833. エージェント名が `-` で始まる場合、Claude Code は `<name>: agent names must not start with '-'` を出力します30463. エージェント名が `-` で始まる場合、Claude Code は `<name>: agent names must not start with '-'` を出力します

2984 3047 

2985問題の行が 20 行を超える場合、Claude Code は最初の 20 行を出力し、残りを `…and N more` に置き換えます。3048問題の行が 20 行を超える場合、Claude Code は最初の 20 行を出力し、残りを `…and N more` に置き換えます。

2986 3049 

2987`--print` を使用する場合、`--agents` はインラインのオブジェクトの代わりに [JSON ファイルへのパス](/docs/ja/sub-agents#choose-the-subagent-scope)も受け付けます。v2.1.281 より前は、`--agents` はインラインの JSON のみを受け付け、ファイルパスを無効な JSON として扱っていました。ファイル形式には独自の拒否メッセージがあり、このメッセージの代わりに出力されます。以下がその例です:3050`--print` を使用する場合、`--agents` はインラインのオブジェクトの代わりに [JSON ファイルへのパス](/docs/ja/sub-agents#choose-the-subagent-scope)も受け付けます。v2.1.281 より前は、`--agents` はインライン JSON のみを受け付け、ファイルパスを無効な JSON として扱っていました。ファイル形式には独自の拒否メッセージがあり、このメッセージの代わりに出力されます。たとえば次のようなものがあります:

2988 3051 

2989* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code が対話セッションで値をファイルパスとして読み取りました。定義をインラインの JSON として渡すか、`-p` を追加してファイルから読み取ります。3052* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code が対話セッションで値をファイルパスとして読み取りました。定義をインライン JSON として渡すか、`-p` を追加してファイルから読み込ませてください。

2990* **`Error: --agents file not found: <path>`**: そのパスにファイルが存在しません。`{` で始まらず有効な JSON でもない値はパスとして読み取られるため、シェルによって崩れたインラインの JSON もこの形で失敗することがあります。パスまたはクォートを確認して、コマンドを再度実行します。3053* **`Error: --agents file not found: <path>`**: そのパスにファイルが存在しません。`{` で始まらず有効な JSON でもない値はパスとして読み取られるため、シェルによって崩れたインライン JSON でもこのように失敗することがあります。パスまたはクォートを確認して、コマンドを再実行してください。

2991 3054 

2992**対処方法:**3055**対処方法:**

2993 3056 

2994* メッセージに列挙された各問題を修正してから、コマンドを再度実行します。[CLI で定義されたサブエージェントが受け付けるフィールド](/docs/ja/sub-agents#choose-the-subagent-scope)を参照してください。3057* メッセージに列挙された各問題を修正してから、コマンドを再実行します。[CLI で定義されたサブエージェントが受け付けるフィールド](/docs/ja/sub-agents#choose-the-subagent-scope)を参照してください。

2995 3058 

2996<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">3059<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">

2997 Cloud sessions cannot be created from a `--restricted` session3060 Cloud sessions cannot be created from a `--restricted` session

2998</h3>3061</h3>

2999 3062 

3000[`--restricted`](/docs/ja/cli-reference#cli-flags) でセッションを開始すると、Claude Code はそのセッションから[クラウドセッション](/docs/ja/claude-code-on-the-web#from-terminal-to-cloud)を作成することを拒否します。新しいセッションは制限されたプロセスの外部で実行され、制限モードを適用しないためです。Claude Code はサーバーに接続する前にクライアント側で拒否するため、クラウドセッションは作成されません:3063[`--restricted`](/docs/ja/cli-reference#cli-flags) でセッションを開始した場合、Claude Code はそのセッションから[クラウドセッション](/docs/ja/claude-code-on-the-web#from-terminal-to-cloud)を作成することを拒否します。新しいセッションは制限されたプロセスの外部で実行され、制限モードを適用しないためです。Claude Code はサーバーに接続する前にクライアント側で拒否するため、クラウドセッションは作成されません:

3001 3064 

3002```text theme={null}3065```text theme={null}

3003Cloud sessions cannot be created from a --restricted session: they would not enforce it.3066Cloud sessions cannot be created from a --restricted session: they would not enforce it.


3005 3068 

3006**対処方法:**3069**対処方法:**

3007 3070 

3008* 制限されたセッションでタスクをローカルに実行します3071* 制限されたセッション内でタスクをローカルに実行します

3009* セッションの起動方法を制御できる場合は、`--restricted` なしで新しい `claude` セッションを開始し、そこからクラウドセッションを作成します3072* セッションの起動方法を制御できる場合は、`--restricted` を付けずに新しい `claude` セッションを開始し、そこからクラウドセッションを作成します

3010 3073 

3011v2.1.248 より前の Claude Code には `--restricted` フラグがありません。それより前のバージョンでは、フラグ自体が不明なオプションのエラーで拒否されます。3074v2.1.248 より前の Claude Code には `--restricted` フラグがありません。それ以前のバージョンでは、フラグ自体が不明なオプションのエラーとして拒否されます。

3012 3075 

3013<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">3076<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">

3014 Cloud sessions are disabled by your organization's policy3077 Cloud sessions are disabled by your organization's policy


3020Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.3083Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

3021```3084```

3022 3085 

3023このメッセージは、[ターミナルからクラウドセッションを作成](/docs/ja/claude-code-on-the-web#from-terminal-to-cloud)したとき、および `/teleport`、`/remote-env`、`/web-setup` など、クラウドセッションを必要とするコマンドを送信したときに表示されます。v2.1.268 より前は、これらのコマンドのいずれかを送信すると、代わりに [`Unknown command`](#unknown-command) が返されていました。3086このメッセージは、[ターミナルからクラウドセッションを作成する](/docs/ja/claude-code-on-the-web#from-terminal-to-cloud)とき、および`/teleport`、`/remote-env`、`/web-setup` など、クラウドセッションを必要とするコマンドを送信したときに表示されます。v2.1.268 より前は、これらのコマンドを送信すると代わりに [`Unknown command`](#unknown-command) が返されていました。

3087 

3088メッセージが、このセッションで使用している認証情報を挙げ、`Cloud sessions use your claude.ai login.` で終わっている場合は、[Cloud sessions use your claude.ai login](#cloud-sessions-use-your-claude-ai-login) を参照してください。Claude Code が組織のポリシーをまったく読み込めなかった場合は、代わりに[別のメッセージ](#couldnt-verify-your-organizations-policy-for-cloud-sessions)が表示されます。

3089 

3090**対処方法:**

3091 

3092* 組織の [Owner](/docs/ja/server-managed-settings#access-control) に、[claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) の Claude Code 管理設定でクラウドセッションを有効にするよう依頼します

3093 

3094<h3 id="cloud-sessions-use-your-claude-ai-login">

3095 Cloud sessions use your claude.ai login

3096</h3>

3097 

3098[ポリシーによる拒否](#cloud-sessions-are-disabled-by-your-organizations-policy)のメッセージが、このセッションで使用している認証情報を挙げ、この文で終わっている場合、Claude Code はその認証情報を発行した組織のクラウドセッションポリシーをチェックしています。その組織は、claude.ai のログインが属する組織とは異なる場合があります:

3099 

3100```text theme={null}

3101Cloud sessions are disabled by your organization's policy. This session is using ANTHROPIC_API_KEY, so Claude Code checked the policy for the organization that key belongs to. Cloud sessions use your claude.ai login.

3102```

3103 

3104最後の文は、クラウドセッションがその認証情報ではなく claude.ai のログインで実行されることを意味します。この形式は、`--cloud` や `--teleport` などを使用して、シェルからクラウドセッションを開始、再開、またはメッセージを送信したときに表示されます。v2.1.296 より前は、この場合にも、組織の管理者に連絡するよう求める形式が出力されていました。

3024 3105 

3025これはサーバー側の組織ポリシーであるため、ローカル設定、環境変数、CLI フラグで上書きすることはできません。3106<h3 id="couldnt-verify-your-organizations-policy-for-cloud-sessions">

3107 Couldn't verify your organization's policy for cloud sessions

3108</h3>

3109 

3110これらのメッセージは、Claude Code が組織のポリシーを読み込めなかったことを意味します。Claude Code は、[クラウドセッション](/docs/ja/claude-code-on-the-web)を作成、再開、またはメッセージを送信する前にこのポリシーをチェックします。ポリシーのリクエストが完了していない間は、次のメッセージが表示されます:

3111 

3112```text theme={null}

3113Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.

3114```

3115 

3116セッション内では、`/teleport` や `/web-setup` など、クラウドセッションを必要とするコマンドでもこのメッセージが表示されます。シェルであれば `Cloud sessions aren't available:` の形式が出力される場合でもこのメッセージが表示され、2 文目は `Check your network connection, then restart Claude Code and try again.` となります。

3026 3117 

3027Claude Code が組織のポリシーをまだ読み込んでいない場合や取得できない場合、これらのコマンドは代わりに `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` と応答します。3118ポリシーのリクエストが失敗した後は、メッセージに何が失敗したかが示されます。これは、`--cloud` や `--teleport` などのフラグを使用して、シェルからクラウドセッションを開始、再開、またはメッセージを送信した場合に該当します。API への経路がない場合は、次のように表示されます:

3119 

3120```text theme={null}

3121Cloud sessions aren't available: couldn't reach api.anthropic.com to load your organization's policy. Check your network or proxy.

3122```

3123 

3124その他の失敗も同じ書き出しで始まり、その後にそれぞれの原因が続きます。たとえば、プロキシが HTTP 403 でリクエストを拒否した場合、サーバーエラー、API が受け付けなかった認証情報などです。`ANTHROPIC_API_KEY` 環境変数など、このセッションが claude.ai のログインの代わりに使用している認証情報を API が受け付けなかった場合、メッセージにはその認証情報の名前と、その設定を解除するよう求める内容も含まれることがあります:

3125 

3126```text theme={null}

3127Cloud sessions aren't available: api.anthropic.com didn't accept this session's credentials when Claude Code asked for your organization's policy. Cloud sessions use your claude.ai login. ANTHROPIC_API_KEY is set, so this session is using API-key auth — unset it (or run in a shell without it) to use cloud sessions.

3128```

3129 

3130v2.1.296 より前は、これらの失敗でも `Couldn't verify` メッセージが出力されていました。

3131 

3132**対処方法:**

3133 

3134* `Couldn't verify` メッセージの場合は、ネットワーク接続を確認して再試行します。セッション内の場合は、まず Claude Code を再起動します

3135* `Cloud sessions aren't available:` メッセージの場合は、プロキシの確認や、メッセージに示された認証情報の設定解除など、原因に応じた対処を行ってから、コマンドを再実行します

3136 

3137<h3 id="nothing-was-stashed-because-a-folder-replaced-a-tracked-file">

3138 追跡対象のファイルがフォルダーに置き換わったため何もスタッシュされなかった

3139</h3>

3140 

3141このメッセージは、チェックアウト内で、git が追跡しているファイルまたはリンクがあった場所にフォルダーが存在するようになったことを意味します。これは、`claude --teleport` や `/teleport` などで[クラウドセッション](/docs/ja/claude-code-on-the-web#from-cloud-to-terminal)をターミナルに取り込む際にスタッシュのオプションを選択した後に表示されます。その状態をスタッシュするとフォルダー内のファイルが削除される可能性があるため、Claude Code はスタッシュを拒否し、チェックアウトとインデックスを変更せずにそのままにします:

3142 

3143```text wrap theme={null}

3144Error: Nothing was stashed: "f" is now a folder in place of a tracked file or link, and stashing could delete what's in it for good. Commit the change or move the folder somewhere else, then try again.

3145```

3028 3146 

3029**対処方法:**3147**対処方法:**

3030 3148 

3031* 組織の [Owner](/docs/ja/server-managed-settings#access-control) に依頼して、[claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) の Claude Code 管理設定でクラウドセッションを有効にしてもらいます3149* メッセージのとおり、変更をコミットするかフォルダーを別の場所に移動してから、teleport を再実行します

3032* メッセージにポリシーを確認できなかったと表示されている場合は、ネットワーク接続を確認してから Claude Code を再起動し、再度試します

3033 3150 

3034<h3 id="the-json-schema-value-is-not-a-valid-json-schema">3151<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

3035 The `--json-schema` value is not a valid JSON Schema3152 The `--json-schema` value is not a valid JSON Schema

3036</h3>3153</h3>

3037 3154 

3038[非対話モード](/docs/ja/headless#get-structured-output)で [`--json-schema`](/docs/ja/cli-reference#cli-flags) に渡したスキーマが JSON Schema のコンパイルに失敗したため、`claude` はプロンプトを実行せずに終了コード 1 で終了します。v2.1.205 より前は、無効なスキーマによってエラーなしで非構造化の出力が生成され、`format` キーワードを使用するスキーマはすべて無効として扱われていました。3155[非対話モード](/docs/ja/headless#get-structured-output)で [`--json-schema`](/docs/ja/cli-reference#cli-flags) に渡したスキーマが JSON Schema のコンパイルに失敗したため、`claude` はプロンプトを実行せずに終了コード 1 で終了します。v2.1.205 より前は、無効なスキーマはエラーなしに構造化されていない出力を生成し、`format` キーワードを使用するスキーマはすべて無効として扱われていました。

3039 3156 

3040```text theme={null}3157```text theme={null}

3041Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values3158Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values

3042```3159```

3043 3160 

30442 つ目のコロンの後のテキストはバリデーターの診断メッセージで、失敗したキーワードまたは場所を示します。`"format": "email"` のように `format` キーワードを使用するスキーマは有効です。Claude Code は `format` をアノテーションとして受け付け、それを強制しません。31612 つ目のコロンの後のテキストはバリデーターの診断メッセージで、失敗したキーワードまたは場所を示します。`"format": "email"` のように `format` キーワードを使用するスキーマは有効です。Claude Code は `format` を注釈として受け付け、その内容を強制しません。

3045 3162 

3046Claude Code はスキーマのコンパイル前に 2 つのチェックを実行します。解析可能な JSON でない値は `Error: --json-schema is not valid JSON` で拒否し、オブジェクトでない有効な JSON は `Error: --json-schema must be a JSON object` で拒否します。3163Claude Code はスキーマのコンパイルの前に 2 つのチェックを行います。解析可能な JSON でない値は `Error: --json-schema is not valid JSON` で、オブジェクトではない有効な JSON は `Error: --json-schema must be a JSON object` で拒否されます。

3047 3164 

3048**対処方法:**3165**対処方法:**

3049 3166 

3050* 診断メッセージが示すスキーマの箇所を修正してから、コマンドを再実行します3167* 診断メッセージが示すスキーマの部分を修正してから、コマンドを再実行します

3051* 動作するスキーマとコマンドについては、[構造化出力を取得する](/docs/ja/headless#get-structured-output)を参照してください3168* 動作するスキーマとコマンドの例については、[構造化された出力を取得する](/docs/ja/headless#get-structured-output)を参照してください

3052 3169 

3053<h3 id="settings-file-exceeds-the-2mib-limit">3170<h3 id="settings-file-exceeds-the-2mib-limit">

3054 Settings file exceeds the 2MiB limit3171 Settings file exceeds the 2MiB limit

3055</h3>3172</h3>

3056 3173 

3057[`--settings`](/docs/ja/cli-reference#cli-flags) に渡したファイルが 2 MiB を超えているため、`claude` はファイルを読み込まずに起動時に終了コード 1 で終了します。v2.1.214 より前は、Claude Code はサイズチェックなしでファイルを読み取っていたため、数ギガバイトのファイルや `/dev/zero` のようなデバイスファイルによってメモリが際限なく増加していました。3174[`--settings`](/docs/ja/cli-reference#cli-flags) に渡したファイルが 2 MiB を超えているため、`claude` はファイルを読み込まずに起動時に終了コード 1 で終了します。v2.1.214 より前は、Claude Code はサイズをチェックせずにファイルを読み込んでいたため、数ギガバイトのファイルや `/dev/zero` などのデバイスファイルによってメモリが際限なく増加していました。

3058 3175 

3059```text theme={null}3176```text theme={null}

3060Error: Settings file exceeds the 2MiB limit: /path/to/settings.json3177Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

3061```3178```

3062 3179 

3063Claude Code は、通常のファイルではない `--settings` パスも同様に拒否します。デバイス、FIFO、ソケットの場合はパスに続けて `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` が表示され、ディレクトリの場合は `EISDIR` の理由が表示されます。3180Claude Code は、通常のファイルではない `--settings` のパスも同じように拒否します。デバイス、FIFO、ソケットの場合は `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` の後にパスが表示され、ディレクトリの場合は `EISDIR` という理由が表示されます。

3064 3181 

3065**対処方法:**3182**対処方法:**

3066 3183 

3067* `--settings` には、2 MiB 未満の通常の JSON 設定ファイルを指定します。形式については[設定](/docs/ja/settings)を参照してください。3184* `--settings` には 2 MiB 未満の通常の JSON 設定ファイルを指定します。形式については[設定](/docs/ja/settings)を参照してください。

3068 3185 

3069<h3 id="the-current-directory-no-longer-exists">3186<h3 id="the-current-directory-no-longer-exists">

3070 The current directory no longer exists3187 The current directory no longer exists

3071</h3>3188</h3>

3072 3189 

3073シェルがディレクトリに入った後に削除または移動されたディレクトリ(たとえば、別のシェルが削除した worktree や一時ディレクトリ)から `claude` を開始しました。Claude Code は作業ディレクトリを読み取れないため、対話モードと[非対話](/docs/ja/headless)モードのどちらでも、セッションを開始する前に終了コード 1 で終了します。v2.1.239 より前は、Claude Code はこのメッセージの代わりに、圧縮されたバンドルのソースと生の `ENOENT ... uv_cwd` スタックを stderr に出力してクラッシュしていました。3190シェルがディレクトリに入った後に削除または移動されたディレクトリ(たとえば、別のシェルが削除した worktree や一時ディレクトリ)から `claude` を開始しました。Claude Code は作業ディレクトリを読み取れないため、対話モードでも[非対話](/docs/ja/headless)モードでも、セッションを開始する前に終了コード 1 で終了します。v2.1.239 より前は、このメッセージの代わりに、Claude Code はミニファイされたバンドルのソースと生の `ENOENT ... uv_cwd` スタックを stderr に出力してクラッシュしていました。

3074 3191 

3075```text theme={null}3192```text theme={null}

3076The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.3193The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.

3077error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.3194error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.

3078```3195```

3079 3196 

3080どちらの形式も、原因と修正方法は同じです。3197どちらの形式でも、原因と修正方法は同じです。

3081 3198 

3082権限の変更など別の理由で Claude Code が作業ディレクトリを読み取れない場合、メッセージには代わりにエラーコードが表示されます: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`3199権限の変更など、別の理由で Claude Code が作業ディレクトリを読み取れない場合は、代わりにメッセージにエラーコードが示されます: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`

3083 3200 

3084macOS で、`~/Desktop`、`~/Documents`、`~/Downloads`、または iCloud Drive 内のディレクトリに対して `EPERM` が発生する場合、通常は macOS がターミナルアプリからそのフォルダへのアクセスをブロックしていることを意味します。そのフォルダを読み取る他のコマンドも同様に失敗します。そこで `ls` を実行すると、`sudo` を使用しても `Operation not permitted` が報告されます。3201macOS で、`~/Desktop`、`~/Documents`、`~/Downloads`、または iCloud Drive 内のディレクトリに対して `EPERM` が表示される場合、通常は macOS がターミナルアプリによるそのフォルダーへのアクセスをブロックしています。そのフォルダーを読み取る他のコマンドも同じように失敗します。そこで `ls` を実行すると、`sudo` を付けても `Operation not permitted` が表示されます。

3085 3202 

3086**対処方法:**3203**対処方法:**

3087 3204 

3088* ホームディレクトリやプロジェクトディレクトリなど、存在するディレクトリに移動してから、`claude` を再度実行します3205* ホームディレクトリやプロジェクトディレクトリなど、存在するディレクトリに移動してから、`claude` を再実行します

3089* 同じパスにディレクトリが再作成された場合、シェルはまだ削除されたディレクトリを保持しています。`cd "$PWD"` を実行するか、ディレクトリを出てから再度入り、`claude` を再度実行します3206* ディレクトリが同じパスに再作成された場合、シェルはまだ削除されたディレクトリを保持しています。`cd "$PWD"` を実行するか、ディレクトリから出て再び入ってから、`claude` を再実行します

3090* macOS で `EPERM` が発生する場合は、Cmd+Q でターミナルアプリを終了してから再度開き、そのフォルダに戻って `claude` を実行します。そのフォルダでまだ `ls` が失敗する場合は、**システム設定 > プライバシーとセキュリティ > ファイルとフォルダ** を開き、ターミナルアプリに対してそのフォルダをオンにしてから、ターミナルを開き直します3207* macOS で `EPERM` が表示される場合は、Cmd+Q でターミナルアプリを終了し、再度開いてそのフォルダーに戻ってから `claude` を実行します。それでもそのフォルダーで `ls` が失敗する場合は、**システム設定 > プライバシーとセキュリティ > ファイルとフォルダ** を開き、ターミナルアプリに対してそのフォルダーをオンにしてから、ターミナルを開き直します

3091 3208 

3092<h3 id="temp-directory-refused-or-cannot-be-created">3209<h3 id="temp-directory-refused-or-cannot-be-created">

3093 一時ディレクトリが拒否された、または作成できない3210 一時ディレクトリが拒否される、または作成できない

3094</h3>3211</h3>

3095 3212 

3096macOS と Linux では、Claude Code は起動時に、システムの一時ディレクトリまたは [`CLAUDE_CODE_TMPDIR`](/docs/ja/env-vars) で上書きされたディレクトリの下に、プライベートな一時ディレクトリ `claude-<uid>` を作成します。ディレクトリを作成できない場合、またはそのパスに既に存在するエントリが安全性チェックに失敗した場合、Claude Code は失敗内容を stderr に出力し、セッションを開始せずに終了コード 1 で終了します:3213macOS と Linux では、Claude Code は起動時に、システムの一時ディレクトリまたは [`CLAUDE_CODE_TMPDIR`](/docs/ja/env-vars) による上書き先の下に、専用の一時ディレクトリ `claude-<uid>` を作成します。ディレクトリを作成できない場合、またはそのパスにすでに存在するエントリが安全性チェックに失敗した場合、Claude Code はセッションを開始せずに、失敗内容を stderr に出力して終了コード 1 で終了します:

3097 3214 

3098```text wrap theme={null}3215```text wrap theme={null}

3099ENOSPC: no space left on device, mkdir '/tmp/claude-501'3216ENOSPC: no space left on device, mkdir '/tmp/claude-501'


3107 3224 

3108**対処方法:**3225**対処方法:**

3109 3226 

3110* `ENOSPC` の場合は、一時ディレクトリを含むボリュームのディスク容量を空けます3227* `ENOSPC` の場合は、一時ディレクトリがあるボリュームのディスク容量を空けます

3111* `Refusing to use it` の形式の場合は、リンクの参照先ではなく、表示されたエントリ自体を削除して Claude Code を再度開始します。`owned by uid` の形式の場合、削除できるのは管理者またはそのユーザーのみです3228* `Refusing to use it` を含む形式の場合は、リンクの参照先ではなく、示されたエントリ自体を削除してから、Claude Code を再起動します。`owned by uid` の形式の場合、削除できるのは管理者またはそのユーザーのみです

3112* `is not readable` の場合は、表示されたディレクトリに対して `chmod 0700` を実行するか、ディレクトリを削除して再度開始します3229* `is not readable` の場合は、示されたディレクトリに対して `chmod 0700` を実行するか、ディレクトリを削除してから再起動します

3113* いずれの場合も、拒否されたパスには手を付けずに、[`CLAUDE_CODE_TMPDIR`](/docs/ja/env-vars) を自分が管理するディレクトリに設定して Claude Code を再度開始できます3230* いずれの場合も、拒否されたパスには手を触れずに、[`CLAUDE_CODE_TMPDIR`](/docs/ja/env-vars) を自分が管理するディレクトリに設定して Claude Code を再起動することもできます

3114 3231 

3115<h3 id="directory-couldnt-be-resolved-to-a-real-location">3232<h3 id="directory-couldnt-be-resolved-to-a-real-location">

3116 Directory couldn't be resolved to a real location3233 Directory couldn't be resolved to a real location

3117</h3>3234</h3>

3118 3235 

3119作業ディレクトリのサブディレクトリに対して `/add-dir` を実行しましたが、Claude Code はそのディレクトリを実際の場所に解決できませんでした。3236作業ディレクトリのサブディレクトリに対して `/add-dir` を実行しましたが、Claude Code がそのディレクトリを実際の場所に解決できませんでした。

3120 3237 

3121作業ディレクトリのサブディレクトリには既にファイルアクセス権があるため、`/add-dir` はそのスキル、コマンド、エージェントのみを読み込みます。これらを読み込む前に、Claude Code はシンボリックリンクを解決したディレクトリの実際の場所が作業ディレクトリ内にあることを確認します。その場所を解決できない場合、Claude Code は何も読み込まず、次のメッセージを表示します:3238作業ディレクトリのサブディレクトリにはすでにファイルアクセス権があるため、`/add-dir` はそのスキル、コマンド、エージェントを読み込むだけです。読み込む前に、Claude Code はシンボリックリンクを解決したディレクトリの実際の場所が作業ディレクトリ内にあることをチェックします。その場所を解決できない場合、Claude Code は何も読み込まずに次のメッセージを表示します:

3122 3239 

3123```text theme={null}3240```text theme={null}

3124packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.3241packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.


3126 3243 

3127**対処方法:**3244**対処方法:**

3128 3245 

3129* パスが作業ディレクトリ内の実在するディレクトリを指していることを確認してから、`/add-dir` を再度実行します3246* パスが作業ディレクトリ内の実在するディレクトリを指していることを確認してから、`/add-dir` を再実行します

3130* このメッセージはファイルアクセスを変更しません。ディレクトリの `.claude/` の内容が読み込まれなかったことを報告するだけです3247* このメッセージはファイルアクセスを変更しません。ディレクトリの `.claude/` の内容が読み込まれなかったことを報告しているだけです

3131 3248 

3132v2.1.261 より前は、作業ディレクトリが `/net/<host>` のオートマウント上にある場合、すべての `/add-dir <subdirectory>` でもこのメッセージが表示されていました。そこでは Claude Code は設計上パスの解決を行わないため、ディレクトリに問題はなく、再試行しても解決しませんでした。3249v2.1.261 より前は、作業ディレクトリが `/net/<host>` の自動マウント上にある場合、すべての `/add-dir <subdirectory>` でもこのメッセージが表示されていました。Claude Code は設計上そのようなパスを解決しないためで、ディレクトリには問題がなく、再試行しても解決しませんでした。

3133 3250 

3134<h3 id="workspace-not-trusted-when-starting-remote-control">3251<h3 id="workspace-not-trusted-when-starting-remote-control">

3135 Workspace not trusted when starting Remote Control3252 Workspace not trusted when starting Remote Control

3136</h3>3253</h3>

3137 3254 

3138信頼していないディレクトリで `claude remote-control` またはそのエイリアス `claude rc` を使用して [Remote Control](/docs/ja/remote-control) サーバーモードを開始しましたが、コマンドはそのディレクトリを信頼するかどうかを尋ねることができませんでした。たとえば、標準入力または標準出力のいずれかがリダイレクトまたはパイプされているため、コマンドの標準入力または標準出力がターミナルではない場合です。コマンドは終了コード 1 で終了します:3255信頼していないディレクトリで `claude remote-control` またはそのエイリアス `claude rc` を使用して [Remote Control](/docs/ja/remote-control) のサーバーモードを開始しましたが、コマンドがそのディレクトリを信頼するかどうかを確認できませんでした。たとえば、標準入力または標準出力のいずれかがリダイレクトまたはパイプされているため、ターミナルではない場合です。コマンドは終了コード 1 で終了します:

3139 3256 

3140```text theme={null}3257```text theme={null}

3141Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.3258Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

3142```3259```

3143 3260 

3144同じく `Error: Workspace not trusted.` で始まる 2 つのバリエーションは、ディレクトリを信頼することで有効になる内容を表示するにはターミナルが小さすぎる場合、またはターミナルがサイズを報告しなかった場合に表示されます。ウィンドウを拡大するか通常のターミナルウィンドウに切り替えてから、`claude rc` を再度実行します。3261同じく `Error: Workspace not trusted.` で始まる 2 つのバリエーションが、ディレクトリを信頼すると何が有効になるかを表示するには小さすぎるターミナル、またはサイズを報告しなかったターミナルで表示されます。ウィンドウを大きくするか通常のターミナルウィンドウに切り替えてから、`claude rc` を再実行してください。

3145 3262 

3146ホームディレクトリでは、メッセージが異なります。ワークスペースの信頼ダイアログはホームディレクトリに対する信頼を保存しないため、そこで承認してもこのチェックを満たすことはできないからです。v2.1.214 より前は、ホームディレクトリでも上記のメッセージが表示されていましたが、その助言はそこでは成功しません。3263ホームディレクトリでは、メッセージが異なります。ワークスペースの信頼ダイアログはホームディレクトリの信頼を保存しないため、そこでダイアログを承認してもこのチェックを満たせないからです。v2.1.214 より前は、ホームディレクトリでも上記のメッセージが表示されていましたが、その助言はホームディレクトリでは成功しません。

3147 3264 

3148```text theme={null}3265```text theme={null}

3149Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).3266Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).

3150```3267```

3151 3268 

3152[`Trust <directory>?` の質問](/docs/ja/remote-control#requirements)に `n` と回答するか Enter キーを押すと、コマンドはディレクトリ名を含む `Remote Control did not start` メッセージを出力し、終了コード 1 で終了します。`claude rc` を再度実行して `y` と回答します。3269[`Trust <directory>?` の質問](/docs/ja/remote-control#requirements)に `n` と答えるか Enter を押した場合、コマンドはディレクトリ名を含む `Remote Control did not start` メッセージを出力して終了コード 1 で終了します。`y` と答えるには `claude rc` を再実行してください。

3153 3270 

3154**対処方法:**3271**対処方法:**

3155 3272 

3156* まずターミナルからディレクトリを信頼します。そこで `claude rc` を実行して `y` と回答するか、そこで `claude` を実行して[ワークスペースの信頼ダイアログ](/docs/ja/permissions#project-allow-rules-and-workspace-trust)を承認してから、元のコマンドを再度実行します3273* まずターミナルからディレクトリを信頼します。そこで `claude rc` を実行して `y` と答えるか、そこで `claude` を実行して[ワークスペースの信頼ダイアログ](/docs/ja/permissions#project-allow-rules-and-workspace-trust)を承認してから、元のコマンドを再実行します

3157* ホームディレクトリにいる場合は、プロジェクトディレクトリに移動してそこで Remote Control を開始します3274* ホームディレクトリにいる場合は、プロジェクトディレクトリに移動してそこで Remote Control を開始します

3158 3275 

3159v2.1.284 より前は、ターミナル内であってもコマンドは確認を求めませんでした。3276v2.1.284 より前は、ターミナル内であってもコマンドは確認を求めませんでした。


3162 Not carried over to the sessions Remote Control starts3279 Not carried over to the sessions Remote Control starts

3163</h3>3280</h3>

3164 3281 

3165`remote-control` 動詞の前にグローバルな `claude` フラグを付けて [Remote Control](/docs/ja/remote-control) を開始しました。これは、`--settings`、`--setting-sources`、`--permission-mode`、`--disallowed-tools`、`--mcp-config` など、Remote Control が開始するセッションを制限または設定するフラグです。動詞の前に置かれたフラグは、それらのセッションには決して届きません。Claude Code は代わりに、フラグ名を示して開始を拒否します:3282`remote-control` 動詞の前に、Remote Control が開始するセッションを制限または設定するグローバルな `claude` フラグ(`--settings`、`--setting-sources`、`--permission-mode`、`--disallowed-tools`、`--mcp-config` など)を付けて [Remote Control](/docs/ja/remote-control) を開始しました。動詞の前に置いたフラグは、それらのセッションに届きません。Claude Code は代わりに、フラグ名を示して起動を拒否します:

3166 3283 

3167```text theme={null}3284```text theme={null}

3168Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).3285Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).

3169```3286```

3170 3287 

3171`--verbose`、`--model`、またはラッパーによって挿入される `--session-id` や `--plugin-dir` など、削除しても問題のないグローバルフラグについては、Claude Code は拒否しません。それらを無視して Remote Control を開始します。3288`--verbose`、`--model`、ラッパーによって挿入される `--session-id` や `--plugin-dir` など、破棄しても問題のないグローバルフラグについては、Claude Code は拒否しません。それらを無視して Remote Control を開始します。

3172 3289 

3173Claude Code は、まだ無害と認識していないグローバルフラグに対しても開始を拒否します。そのため、新しいリリースで追加されたフラグは、後のリリースで無害とマークされるまでこのメッセージに表示されることがあります。3290Claude Code は、まだ無害と認識していないグローバルフラグについても起動を拒否します。そのため、新しいリリースで追加されたフラグは、後のリリースで無害とマークされるまでこのメッセージに表示されることがあります。

3174 3291 

3175**対処方法:**3292**対処方法:**

3176 3293 

3177* 動詞の前からフラグを削除し、[Remote Control 独自のオプション](/docs/ja/remote-control#start-a-remote-control-session)を動詞の後に渡します。`claude remote-control --help` でそれらを一覧表示できます3294* 動詞の前からフラグを削除し、[Remote Control 独自のオプション](/docs/ja/remote-control#start-a-remote-control-session)を動詞の後に渡します。`claude remote-control --help` でそれらの一覧を確認できます

3178* 拒否されたフラグが `--permission-mode` の場合は、`claude remote-control --permission-mode <mode>` を実行して、Remote Control が開始するセッションの権限モードを設定します3295* 拒否されたフラグが `--permission-mode` の場合は、`claude remote-control --permission-mode <mode>` を実行して、Remote Control が開始するセッションの権限モードを設定します

3179 3296 

3180v2.1.248 より前は、グローバルフラグが先にある場合、`claude remote-control` は独自のフラグを受け付けず、コマンドは `unknown option` エラーで失敗していました。3297v2.1.248 より前は、グローバルフラグが先にあると `claude remote-control` は独自のフラグを受け付けず、コマンドは `unknown option` エラーで失敗していました。

3181 3298 

3182<h3 id="claude-import-is-not-yet-available-in-this-build">3299<h3 id="claude-import-is-not-yet-available-in-this-build">

3183 claude import is not yet available in this build3300 claude import is not yet available in this build

3184</h3>3301</h3>

3185 3302 

3186[`claude import`](/docs/ja/cli-reference#cli-commands) を実行しましたが、Claude Code はインポートフローがオフになっていることを検出したため、コマンドはインポートを開始せずに終了コード 1 で終了します。v2.1.222 より前は、インポートフローがオフのビルドでは `import` がプロンプトとして扱われ、このメッセージを出力する代わりに対話セッションが開始されていました。3303[`claude import`](/docs/ja/cli-reference#cli-commands) を実行しましたが、Claude Code がインポートフローがオフになっていることを検出したため、コマンドはインポートを開始せずに終了コード 1 で終了します。v2.1.222 より前は、インポートフローがオフのビルドでは `import` がプロンプトとして扱われ、このメッセージを出力する代わりに対話セッションが開始されていました。

3187 3304 

3188```text theme={null}3305```text theme={null}

3189`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.3306`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.

3190```3307```

3191 3308 

3192Claude Code は、Anthropic から取得してディスクにキャッシュする機能フラグを通じて `claude import` をオンにします。このメッセージは、キャッシュされた値がオフであることを意味します。原因は通常、次のいずれかです:3309Claude Code は、Anthropic から取得してディスクにキャッシュする機能フラグによって `claude import` をオンにします。このメッセージは、キャッシュされた値がオフであることを意味します。原因は通常、次のいずれかです:

3193 3310 

3194* インストール後にまだセッションを開始していないため、Claude Code がまだフラグを取得していません。機能が利用可能な場合でも、最初の `claude import` でこのメッセージが出力されることがあります。3311* インストール後にまだセッションを開始していないため、Claude Code がフラグをまだ取得していません。機能が利用可能な場合でも、最初の `claude import` でこのメッセージが出力されることがあります。

3195* Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、Claude Platform on AWS、または [Claude apps ゲートウェイ](/docs/ja/claude-apps-gateway#availability-and-limitations)を通じて Claude Code を使用しています。これらのセッションでは Claude Code は機能フラグを取得しないため、`claude import` は利用できないままです。3312* Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、Claude Platform on AWS、または [Claude apps gateway](/docs/ja/claude-apps-gateway#availability-and-limitations) を通じて Claude Code を使用しています。これらのセッションでは Claude Code が機能フラグを取得しないため、`claude import` は利用できないままです。

3196* 機能フラグの取得をオフにする `DISABLE_TELEMETRY`、`DO_NOT_TRACK`、`DISABLE_GROWTHBOOK`、または [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ja/env-vars) を設定しているため、`claude import` は利用できないままです。3313* 機能フラグの取得をオフにする `DISABLE_TELEMETRY`、`DO_NOT_TRACK`、`DISABLE_GROWTHBOOK`、または [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ja/env-vars) を設定しているため、`claude import` は利用できないままです。

3197 3314 

3198**対処方法:**3315**対処方法:**

3199 3316 

3200* 新規インストールの場合は、`claude` を開始してセッションが読み込まれるのを待ち、終了してから `claude import` を再度実行します3317* 新規インストールの場合は、`claude` を起動し、セッションが読み込まれるのを待ってから終了し、`claude import` を再実行します

3201* 機能フラグの取得がオフのままの環境では、設定を自分で行います。[`claude mcp add`](/docs/ja/mcp#installing-mcp-servers) で MCP サーバーを追加し、引き継ぎたい [`CLAUDE.md` ファイル](/docs/ja/memory#how-claude-md-files-load)、[スキルとコマンド](/docs/ja/skills#where-skills-live)、[サブエージェント](/docs/ja/sub-agents#choose-the-subagent-scope)を作成します。メッセージには `~/.claude/settings.json` も示されています。`claude import` が引き継ぐ設定のうち、このファイルが保持するのは[権限モード](/docs/ja/settings-reference#permission-settings)のみです。Claude Code はこのファイルから MCP サーバーを読み取りません。3318* 機能フラグの取得がオフのままの環境では、設定を自分でセットアップします。[`claude mcp add`](/docs/ja/mcp#installing-mcp-servers) で MCP サーバーを追加し、引き継ぎたい [`CLAUDE.md` ファイル](/docs/ja/memory#how-claude-md-files-load)、[スキルとコマンド](/docs/ja/skills#where-skills-live)、[サブエージェント](/docs/ja/sub-agents#choose-the-subagent-scope)を作成します。メッセージでは `~/.claude/settings.json` も挙げられていますが、`claude import` が引き継ぐ設定のうち、このファイルに保存されるのは[権限モード](/docs/ja/settings-reference#permission-settings)だけです。Claude Code はこのファイルから MCP サーバーを読み込みません。

3202 3319 

3203<h3 id="could-not-read-claude-code-config">3320<h3 id="could-not-read-claude-code-config">

3204 Could not read Claude Code config3321 Could not read Claude Code config

3205</h3>3322</h3>

3206 3323 

3207Claude Code がログイン情報とプロジェクトごとの状態を保存するファイル `~/.claude.json` を解析できない状態で、[`claude import`](/docs/ja/cli-reference#cli-commands) を実行しました。このサブコマンドは可用性を確認するためにそのファイルを読み取りますが、対話セッションが表示する復旧ダイアログは表示しないため、終了コード 1 で終了します。v2.1.222 より前は、設定ファイルが読み取れない状態で `claude import` を実行すると対話セッションが開始され、その復旧ダイアログがファイルを処理していました。3324Claude Code が `~/.claude.json`(ログインとプロジェクトごとの状態を保存するファイル)を解析できない状態で [`claude import`](/docs/ja/cli-reference#cli-commands) を実行しました。このサブコマンドは利用可否をチェックするためにそのファイルを読み込みますが、対話セッションが表示する復旧ダイアログは表示しないため、終了コード 1 で終了します。v2.1.222 より前は、設定ファイルが読み取れない状態で `claude import` を実行すると対話セッションが開始され、その復旧ダイアログでファイルが処理されていました。

3208 3325 

3209```text theme={null}3326```text theme={null}

3210Could not read Claude Code config — run `claude` with no arguments to recover it.3327Could not read Claude Code config — run `claude` with no arguments to recover it.


3212 3329 

3213**対処方法:**3330**対処方法:**

3214 3331 

3215* 引数なしで `claude` を実行します。Claude Code は無効なファイルを検出し、リセットを提案します。その後、`claude import` を再度実行します。3332* 引数なしで `claude` を実行します。Claude Code が無効なファイルを検出し、リセットを提案します。その後、`claude import` を再実行します。

3216* 手動で行った編集を残したい場合は、代わりにエディターで `~/.claude.json` の JSON 構文を修正してから、`claude import` を再実行します3333* 手動で加えた編集を残したい場合は、代わりにエディターで `~/.claude.json` の JSON 構文を修正してから、`claude import` を再実行します

3217 3334 

3218<h3 id="could-not-import-a-server-from-claude-desktop">3335<h3 id="could-not-import-a-server-from-claude-desktop">

3219 Could not import a server from Claude Desktop3336 Could not import a server from Claude Desktop

3220</h3>3337</h3>

3221 3338 

3222Claude Code は、`claude mcp add-from-claude-desktop` で選択したサーバーの 1 つを追加できませんでした。コマンドは選択された他のサーバーのインポートを続行し、追加できなかったサーバーごとに 1 行を出力します。v2.1.205 より前は、最初に失敗したサーバーでインポートが停止していました。3339Claude Code は、`claude mcp add-from-claude-desktop` で選択したサーバーのいずれかを追加できませんでした。コマンドは選択された他のサーバーのインポートを続行し、追加できなかったサーバーごとに 1 行を出力します。v2.1.205 より前は、最初に失敗したサーバーでインポートが停止していました。

3223 3340 

3224```text theme={null}3341```text theme={null}

3225Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.3342Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

3226```3343```

3227 3344 

3228サーバー名の後のテキストが理由です。最も一般的なのは名前のチェックです。Claude Desktop ではサーバー名にスペースやピリオドなどの文字を使用できますが、`claude mcp` では英字、数字、ハイフン、アンダースコアに制限されています。その他の理由には、検証に失敗するサーバー設定や、組織の [MCP ポリシー](/docs/ja/managed-mcp)によってブロックされたサーバーがあります。3345サーバー名の後のテキストが理由です。最も一般的な理由は名前のチェックです。Claude Desktop ではサーバー名にスペースやピリオドなどの文字を使用できますが、`claude mcp` では英字、数字、ハイフン、アンダースコアに制限されています。その他の理由としては、サーバー設定の検証の失敗や、組織の [MCP ポリシー](/docs/ja/managed-mcp)によってブロックされたサーバーなどがあります。

3229 3346 

3230**対処方法:**3347**対処方法:**

3231 3348 

3232* `claude_desktop_config.json` でサーバー名を英字、数字、ハイフン、アンダースコアのみを使用する名前に変更してから、`claude mcp add-from-claude-desktop` を再度実行します3349* `claude_desktop_config.json` 内のサーバー名を英字、数字、ハイフン、アンダースコアのみを使用する名前に変更してから、`claude mcp add-from-claude-desktop` を再実行します

3233* 有効な名前で `claude mcp add` または `claude mcp add-json` を使用してそのサーバーを直接追加します。[Claude Desktop から MCP サーバーをインポートする](/docs/ja/mcp#import-mcp-servers-from-claude-desktop)を参照してください。3350* 有効な名前で、`claude mcp add` または `claude mcp add-json` を使用してそのサーバーを直接追加します。[Claude Desktop から MCP サーバーをインポートする](/docs/ja/mcp#import-mcp-servers-from-claude-desktop)を参照してください。

3234 3351 

3235<h3 id="cannot-add-mcp-server-to-the-managed-scope">3352<h3 id="cannot-add-mcp-server-to-the-managed-scope">

3236 Cannot add MCP server to the managed scope3353 Cannot add MCP server to the managed scope

3237</h3>3354</h3>

3238 3355 

3239`--scope managed` を指定して `claude mcp add` または `claude mcp add-json` を実行しました。このスコープは、組織が [`managedMcpServers`](/docs/ja/settings-reference#managedmcpservers) 管理設定を通じて提供するサーバーを保持します。Claude Code はそれらを管理設定からのみ読み取るため、コマンドはそのスコープにサーバーを書き込むことができません。3356`--scope managed` を付けて `claude mcp add` または `claude mcp add-json` を実行しました。このスコープには、組織が [`managedMcpServers`](/docs/ja/settings-reference#managedmcpservers) 管理設定を通じて提供するサーバーが含まれます。Claude Code はこれらを管理設定からのみ読み込むため、コマンドはそのスコープにサーバーを書き込めません。

3240 3357 

3241```text theme={null}3358```text theme={null}

3242Cannot add MCP server to scope: managed3359Cannot add MCP server to scope: managed


3245**対処方法:**3362**対処方法:**

3246 3363 

3247* 書き込み可能なスコープ(`local`、`user`、または `project`)にサーバーを追加します。`--scope` を指定しない場合、コマンドは `local` を使用します。[MCP のインストールスコープ](/docs/ja/mcp#mcp-installation-scopes)を参照してください3364* 書き込み可能なスコープ(`local`、`user`、または `project`)にサーバーを追加します。`--scope` を指定しない場合、コマンドは `local` を使用します。[MCP のインストールスコープ](/docs/ja/mcp#mcp-installation-scopes)を参照してください

3248* 組織内のすべてのユーザーにサーバーを提供するには、展開する管理設定の [`managedMcpServers`](/docs/ja/settings-reference#managedmcpservers) にサーバーを追加します3365* 組織内のすべてのユーザーにサーバーを提供するには、デプロイする管理設定の [`managedMcpServers`](/docs/ja/settings-reference#managedmcpservers) にサーバーを追加します

3249 3366 

3250<h3 id="cannot-add-mcp-server-when-managed-settings-allow-only-plugin-servers">3367<h3 id="cannot-add-mcp-server-when-managed-settings-allow-only-plugin-servers">

3251 Cannot add MCP server when managed settings allow only plugin servers3368 管理設定でプラグインのサーバーのみが許可されている場合に MCP サーバーを追加できない

3252</h3>3369</h3>

3253 3370 

3254組織の管理設定で [`strictPluginOnlyCustomization`](/docs/ja/settings-reference#strictpluginonlycustomization) が `true` または `mcp` を含むリストに設定されている状態で、`claude mcp add` または `claude mcp add-json` を実行しました。この設定では、Claude Code は `~/.claude.json` や `.mcp.json` から MCP サーバーを読み込まないため、コマンドは決して読み込まれないサーバーを保存する代わりに終了コード 1 で終了します:3371組織の管理設定で [`strictPluginOnlyCustomization`](/docs/ja/settings-reference#strictpluginonlycustomization) が `true`、または `mcp` を含むリストに設定されている状態で、`claude mcp add` または `claude mcp add-json` を実行しました。この設定では、Claude Code は `~/.claude.json` や `.mcp.json` から MCP サーバーを読み込まないため、コマンドは決して読み込まれないサーバーを保存する代わりに、終了コード 1 で終了します:

3255 3372 

3256```text theme={null}3373```text theme={null}

3257Cannot add MCP server: your organization's managed settings allow only MCP servers that plugins provide. Install a plugin that provides this server, or ask your administrator to make it available.3374Cannot add MCP server: your organization's managed settings allow only MCP servers that plugins provide. Install a plugin that provides this server, or ask your administrator to make it available.

3258```3375```

3259 3376 

3260`claude mcp add-from-claude-desktop` は、選択した各サーバーについて、このメッセージを理由としてインポートされなかったことを報告します。[`/import`](/docs/ja/commands#all-commands) は、追加しようとした MCP サーバーごとにこのメッセージを報告し、検出した他の項目のインポートは続行します。3377`claude mcp add-from-claude-desktop` は、選択した各サーバーをインポートされなかったものとして報告し、その理由としてこのメッセージを表示します。[`/import`](/docs/ja/commands#all-commands) は、追加しようとした各 MCP サーバーについてこのメッセージを報告し、見つかった他の項目のインポートは続行します。

3261 3378 

3262v2.1.284 より前は、これらのコマンドはサーバーを保存して成功を報告していましたが、サーバーは決して読み込まれませんでした。3379v2.1.284 より前は、これらのコマンドはサーバーを保存して成功を報告していましたが、サーバーが読み込まれることはありませんでした。

3263 3380 

3264**対処方法:**3381**対処方法:**

3265 3382 

3266* サーバーを提供する[プラグイン](/docs/ja/plugins/install)をインストールします3383* サーバーを提供する[プラグイン](/docs/ja/plugins/install)をインストールします

3267* 管理者に依頼して、サーバーを[プラグイン](/docs/ja/plugins/org)で配布してもらうか、リモートの HTTP または SSE サーバーであれば [`managedMcpServers`](/docs/ja/settings-reference#managedmcpservers) を通じて提供してもらいます3384* 管理者に、サーバーを[プラグイン](/docs/ja/plugins/org)で配布するか、リモート HTTP または SSE サーバーであれば [`managedMcpServers`](/docs/ja/settings-reference#managedmcpservers) を通じて提供するよう依頼します

3268 3385 

3269<h3 id="cant-read-mcp-json">3386<h3 id="cant-read-mcp-json">

3270 Can't read .mcp.json3387 Can't read .mcp.json

3271</h3>3388</h3>

3272 3389 

3273プロジェクトの [`.mcp.json`](/docs/ja/mcp#project-scope) を読み取るコマンド(`--scope project` を指定した `claude mcp add` や `claude mcp add-json`、または `claude mcp remove` など)が、現在のディレクトリにあるファイルが通常のファイルではないか、2 MiB を超えていることを検出したため、ファイルを読み取らずにこのエラーで終了します。3390プロジェクトの [`.mcp.json`](/docs/ja/mcp#project-scope) を読み込むコマンド(`--scope project` を付けた `claude mcp add` や `claude mcp add-json`、または `claude mcp remove` など)が、現在のディレクトリにあるそのファイルが通常のファイルではないか、2 MiB を超えていることを検出したため、ファイルを読み込まずにこのエラーで終了します。

3274 3391 

3275```text theme={null}3392```text theme={null}

3276Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.3393Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.

3277```3394```

3278 3395 

3279v2.1.257 より前は、`.mcp.json` が FIFO の場合はコマンドが出力なしで永久に待機し、`/dev/zero` のようなデバイスファイルへのシンボリックリンクの場合はプロセスが強制終了されるまでメモリが増加していました。3396v2.1.257 より前は、`.mcp.json` が FIFO の場合はコマンドが出力なしで永久に待機し、`/dev/zero` などのデバイスファイルへのシンボリックリンクの場合はプロセスが強制終了されるまでメモリが増加していました。

3280 3397 

3281**対処方法:**3398**対処方法:**

3282 3399 

3283* 現在のディレクトリの `.mcp.json` に何があるかを確認します。[プロジェクトスコープの形式](/docs/ja/mcp#project-scope)の通常の JSON ファイルに置き換えるか削除してから、コマンドを再度実行します。3400* 現在のディレクトリの `.mcp.json` にあるものを確認します。[プロジェクトスコープの形式](/docs/ja/mcp#project-scope)の通常の JSON ファイルに置き換えるか削除してから、コマンドを再実行します。

3284 3401 

3285<h3 id="mcp-server-was-not-saved-or-removed">3402<h3 id="mcp-server-was-not-saved-or-removed">

3286 MCP server was not saved or removed3403 MCP server was not saved or removed

3287</h3>3404</h3>

3288 3405 

3289`user` または `local` [スコープ](/docs/ja/mcp#mcp-installation-scopes)のサーバーに対して `claude mcp add`、`claude mcp add-json`、または `claude mcp remove` を実行しました。どちらのスコープも `~/.claude.json` に保存されますが、Claude Code が書き込み後にファイルを読み戻したとき、変更がそのファイルに反映されていませんでした。コマンドは成功の行の代わりにこのエラーで終了します。3406`user` または `local` [スコープ](/docs/ja/mcp#mcp-installation-scopes)のサーバーに対して `claude mcp add`、`claude mcp add-json`、または `claude mcp remove` を実行しました。どちらのスコープも `~/.claude.json` に保存されますが、書き込み後に Claude Code がそのファイルを読み直したときに、変更が反映されていませんでした。コマンドは成功を示す行の代わりにこのエラーで終了します。

3290 3407 

3291```text theme={null}3408```text theme={null}

3292MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.3409MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.

3293```3410```

3294 3411 

3295削除の後では、メッセージは `was not removed from` となり、`then remove the server again` で終わります。`local` スコープのサーバーの場合、パスの後にエントリが属するプロジェクトディレクトリが `(local scope for /path/to/project)` として続きます。3412削除の後は、メッセージが `was not removed from` となり、`then remove the server again` で終わります。`local` スコープのサーバーの場合、パスの後にエントリが属するプロジェクトディレクトリが `(local scope for /path/to/project)` の形式で続きます。

3296 3413 

3297v2.1.283 より前は、`claude mcp add`、`claude mcp add-json`、`claude mcp remove` は、変更がファイルに反映されなかった場合でも成功を報告していました。3414v2.1.283 より前は、変更がファイルに反映されなかった場合でも、`claude mcp add`、`claude mcp add-json`、`claude mcp remove` は成功を報告していました。

3298 3415 

3299**対処方法:**3416**対処方法:**

3300 3417 

3301* メッセージに示されたファイルを書き込み可能にするか、サンドボックスの外部でコマンドを実行してから、同じ追加または削除のコマンドを再度実行します。3418* メッセージに示されたファイルを書き込み可能にするか、サンドボックスの外でコマンドを実行してから、同じ追加または削除のコマンドを再実行します。

3302 3419 

3303<h3 id="mcp-server-may-not-have-been-saved-or-removed">3420<h3 id="mcp-server-may-not-have-been-saved-or-removed">

3304 MCP server may not have been saved or removed3421 MCP server may not have been saved or removed

3305</h3>3422</h3>

3306 3423 

3307`user` または `local` [スコープ](/docs/ja/mcp#mcp-installation-scopes)のサーバーに対して `claude mcp add`、`claude mcp add-json`、または `claude mcp remove` を実行しましたが、Claude Code は変更を確認するために `~/.claude.json` を読み戻すことができませんでした。変更はディスクに反映されている場合も、されていない場合もあります。括弧内のテキストは、その読み取りのエラーです。3424`user` または `local` [スコープ](/docs/ja/mcp#mcp-installation-scopes)のサーバーに対して `claude mcp add`、`claude mcp add-json`、または `claude mcp remove` を実行しましたが、Claude Code が変更を確認するために `~/.claude.json` を読み直せませんでした。変更はディスクに反映されている場合もあれば、されていない場合もあります。括弧内のテキストは、その読み込み時のエラーです。

3308 3425 

3309```text theme={null}3426```text theme={null}

3310MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.3427MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.

3311```3428```

3312 3429 

3313削除の後では、メッセージは `may not have been removed` となり、`then remove the server again if it is still listed` で終わります。3430削除の後は、メッセージが `may not have been removed` となり、`then remove the server again if it is still listed` で終わります。

3314 3431 

3315v2.1.283 より前は、変更を確認できなかった場合でも、コマンドは成功を報告していました。3432v2.1.283 より前は、変更を確認できなかった場合でも、これらのコマンドは成功を報告していました。

3316 3433 

3317**対処方法:**3434**対処方法:**

3318 3435 

3319* `claude mcp get <name>` を実行して、変更がディスクに反映されているかどうかを確認します。`local` スコープのサーバーの場合、local スコープはプロジェクトごとであるため、サーバーが属するプロジェクトディレクトリから実行します。3436* `claude mcp get <name>` を実行して、変更がディスクに反映されているかを確認します。`local` スコープのサーバーの場合は、ローカルスコープがプロジェクトごとであるため、サーバーが属するプロジェクトディレクトリから実行します。

3320* 追加の後にサーバーが存在しない場合、または削除の後にまだ一覧に表示される場合は、同じ追加または削除のコマンドを再度実行します。3437* 追加の後にサーバーが存在しない場合、または削除の後にまだ一覧に表示される場合は、同じ追加または削除のコマンドを再実行します。

3321 3438 

3322<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3439<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

3323 Server is Anthropic-hosted and doesn't support local OAuth3440 Server is Anthropic-hosted and doesn't support local OAuth

3324</h3>3441</h3>

3325 3442 

3326サードパーティの ID プロバイダーを通じて認証する Anthropic ホストのコネクタホストを URL が指している MCP サーバーに対して、サインインを開始しました。これらのホストには、`microsoft365.mcp.claude.com`、`gmail.mcp.claude.com`、`gcal.mcp.claude.com` が含まれます。[これらのサインインは claude.ai を通じてのみ機能する](/docs/ja/mcp#use-mcp-servers-from-claude-ai)ため、Claude Code は `/mcp` パネルと `claude mcp login` のどちらからも、これらのホストに対するローカルの OAuth フローの開始を拒否します。3443URL が、サードパーティの ID プロバイダーを通じて認証する Anthropic ホストのコネクタホストを指している MCP サーバーに対してサインインを開始しました。これらのホストには `microsoft365.mcp.claude.com`、`gmail.mcp.claude.com`、`gcal.mcp.claude.com` が含まれます。[これらのサインインは claude.ai を通じてのみ機能する](/docs/ja/mcp#use-mcp-servers-from-claude-ai)ため、Claude Code は `/mcp` パネルからも `claude mcp login` からも、これらのホストに対するローカルの OAuth フローの開始を拒否します。

3327 3444 

3328```text theme={null}3445```text theme={null}

3329"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.3446"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.


3331 3448 

3332**対処方法:**3449**対処方法:**

3333 3450 

3334* `claude mcp remove <name>` でエントリを削除し、同じ URL の claude.ai コネクタを隠さないようにします3451* 同じ URL の claude.ai コネクタが隠れないように、`claude mcp remove <name>` でエントリを削除します

3335* 削除した後、Claude Code で使用しているアカウントにサインインした状態で、[claude.ai/customize/connectors](https://claude.ai/customize/connectors) でサービスを接続します。接続されると、有効な認証方法が claude.ai のサブスクリプションログインであれば、[コネクタは Claude Code に自動的に表示されます](/docs/ja/mcp#use-mcp-servers-from-claude-ai)3452* 削除した後、Claude Code で使用しているアカウントにサインインした状態で、[claude.ai/customize/connectors](https://claude.ai/customize/connectors) でサービスを接続します。接続後、アクティブな認証方法が claude.ai のサブスクリプションログインであれば、[コネクタは Claude Code に自動的に表示されます](/docs/ja/mcp#use-mcp-servers-from-claude-ai)

3336 3453 

3337<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">3454<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">

3338 Server rejected the Authorization header minted by the configured headersHelper3455 Server rejected the Authorization header minted by the configured headersHelper

3339</h3>3456</h3>

3340 3457 

3341[`headersHelper`](/docs/ja/mcp#use-dynamic-headers-for-custom-authentication) が `Authorization` ヘッダーを提供する MCP サーバーが、HTTP 401 または 403 で接続に応答したため、Claude Code は接続を失敗として報告します。ヘルパーが `Authorization` ヘッダーを提供するため、Claude Code はそのサーバーについて [OAuth にフォールバックしません](/docs/ja/mcp#authenticate-with-remote-mcp-servers):3458[`headersHelper`](/docs/ja/mcp#use-dynamic-headers-for-custom-authentication) が `Authorization` ヘッダーを提供する MCP サーバーが HTTP 401 または 403 で接続に応答したため、Claude Code は接続を失敗として報告します。ヘルパーが `Authorization` ヘッダーを提供するため、Claude Code はそのサーバーについて [OAuth にフォールバックしません](/docs/ja/mcp#authenticate-with-remote-mcp-servers):

3342 3459 

3343```text theme={null}3460```text theme={null}

3344Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.3461Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.

3345```3462```

3346 3463 

3347Claude Code は接続を試みるたびにヘルパーを再実行するため、トークンのローテーションの競合などの一時的な拒否の後に再試行すると、新しい認証情報で成功することがあります。3464Claude Code は接続を試みるたびにヘルパーを再実行するため、トークンのローテーションの競合など一時的な拒否の後であれば、再試行によって新しい認証情報で成功することがあります。

3348 3465 

3349**対処方法:**3466**対処方法:**

3350 3467 

3351* Claude Code が実行するのと同じ方法で `headersHelper` コマンドを自分で実行します。つまり、[Claude Code がヘルパーを実行するディレクトリ](/docs/ja/mcp#where-the-helper-runs)から、[Claude Code がヘルパーに設定する環境変数](/docs/ja/mcp#use-dynamic-headers-for-custom-authentication)を使用し、プロジェクトの `.mcp.json`、プラグイン、またはプロジェクトのエージェントファイルからのサーバーについては [Claude Code が削除する認証情報の変数](/docs/ja/mcp#which-variables-a-helper-can-read)を除いて実行します。サーバーのエンドポイントが受け付ける `Authorization` の値が出力されることを確認します3468* Claude Code が実行するのと同じ方法で、`headersHelper` コマンドを自分で実行します。つまり、[Claude Code がヘルパーを実行するディレクトリ](/docs/ja/mcp#where-the-helper-runs)から、[Claude Code がヘルパー用に設定する環境変数](/docs/ja/mcp#use-dynamic-headers-for-custom-authentication)を付け、プロジェクトの `.mcp.json`、プラグイン、またはプロジェクトのエージェントファイルのサーバーの場合は[Claude Code が削除する認証情報の変数](/docs/ja/mcp#which-variables-a-helper-can-read)を除いて実行します。サーバーのエンドポイントが受け付ける `Authorization` の値が出力されることを確認してください

3352* ヘルパーまたはその認証情報のソースを修正した後、`/mcp` でサーバーを選択し、**Reconnect** を選択します3469* ヘルパーまたはその認証情報のソースを修正した後、`/mcp` でサーバーを選択し、**Reconnect** を選択します

3353 3470 

3354v2.1.248 より前は、ヘルパーが `Authorization` ヘッダーを提供するサーバーに対して Claude Code は OAuth ディスカバリーを実行していました。そのディスカバリーは、拒否された認証情報を報告する代わりに、`Incompatible auth server: does not support dynamic client registration` で失敗することがありました。3471v2.1.248 より前は、ヘルパーが `Authorization` ヘッダーを提供するサーバーに対しても Claude Code は OAuth の検出を実行していました。その検出は、拒否された認証情報を報告する代わりに、`Incompatible auth server: does not support dynamic client registration` で失敗することがありました。

3355 3472 

3356<h3 id="mcp-permission-prompt-tool-not-found">3473<h3 id="mcp-permission-prompt-tool-not-found">

3357 MCP permission prompt tool not found3474 MCP permission prompt tool not found

3358</h3>3475</h3>

3359 3476 

3360[`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) に渡したツールが、実行で最初に権限の判断が必要になった時点で、接続済みの MCP ツールの中にありませんでした。原因は、そのサーバーが一度も接続しなかったか、接続済みのサーバーがその名前のツールを公開していないかのいずれかです。Claude Code はそれでもプロンプトを送信します。[非対話](/docs/ja/headless)の実行は最初のツール呼び出しでこのエラーと終了コード 1 で終了するため、リクエストは行われたにもかかわらず回答は生成されません。最初のプロンプトの前に、Claude Code は [`MCP_TIMEOUT`](/docs/ja/env-vars) で設定されるサーバーごとの接続タイムアウト(30 秒)まで、そのサーバーの接続を待ちます。v2.1.206 より前は、起動時にサーバーの接続完了を待たなかったため、起動が遅いものの正常なサーバーでもこのエラーが発生していました。3477[`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) に渡したツールが、実行で初めて権限の判断が必要になった時点で、接続済みの MCP ツールの中にありませんでした。そのサーバーが接続しなかったか、接続済みのどのサーバーもその名前のツールを公開していないためです。Claude Code はそれでもプロンプトを送信します。[非対話](/docs/ja/headless)の実行は最初のツール呼び出しでこのエラーと終了コード 1 で終了するため、リクエストは行われたものの回答は生成されません。最初のプロンプトの前に、Claude Code はそのサーバーが接続するまで、[`MCP_TIMEOUT`](/docs/ja/env-vars) で設定されるサーバーごとの接続タイムアウト(30 秒)まで待機します。v2.1.206 より前は、起動時にサーバーの接続完了を待たなかったため、起動が遅いものの正常なサーバーでもこのエラーが発生していました。

3361 3478 

3362```text theme={null}3479```text theme={null}

3363Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3480Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none

3364```3481```

3365 3482 

3366`Available MCP tools:` の後のリストには、接続されていた MCP ツールが示されます。3483`Available MCP tools:` の後の一覧は、接続されていた MCP ツールを示します。

3367 3484 

3368**対処方法:**3485**対処方法:**

3369 3486 

3370* サーバーが起動して接続を維持していることを確認します。同じディレクトリで `claude mcp list` を実行し、サーバーが接続済みとして表示されることを確認します3487* サーバーが起動し、接続を維持していることを確認します。同じディレクトリで `claude mcp list` を実行し、サーバーが接続済みとして一覧に表示されることを確認してください

3371* ツール名が、サーバーが公開する `mcp__<server>__<tool>` の名前と一致していることを確認します3488* ツール名が、サーバーが公開する `mcp__<server>__<tool>` の名前と一致することを確認します

3372* サーバーの起動に 30 秒以上かかる場合は、[`MCP_TIMEOUT`](/docs/ja/env-vars) の値を増やします3489* サーバーの起動に 30 秒より長くかかる場合は、[`MCP_TIMEOUT`](/docs/ja/env-vars) の値を引き上げます

3373 3490 

3374<h3 id="oauth-callback-port-is-already-in-use">3491<h3 id="oauth-callback-port-is-already-in-use">

3375 OAuth callback port is already in use3492 OAuth callback port is already in use

3376</h3>3493</h3>

3377 3494 

3378OAuth でリモートの MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためにローカルのリスナーを開始します。そのリスナーが必要とするポートを別のプロセスが保持している場合、サインインはこのメッセージで失敗します。これは主に、[`MCP_OAUTH_CALLBACK_PORT`](/docs/ja/env-vars) 変数または `--callback-port` で[固定のコールバックポート](/docs/ja/mcp#use-a-fixed-oauth-callback-port)を設定している場合に発生します。固定ポートがない場合、Claude Code は利用可能なポートを選択するためです。3495OAuth でリモート MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためのローカルリスナーを起動します。そのリスナーが必要とするポートを別のプロセスが保持している場合、サインインはこのメッセージで失敗します。これは主に、[`MCP_OAUTH_CALLBACK_PORT`](/docs/ja/env-vars) 変数または `--callback-port` で[固定のコールバックポート](/docs/ja/mcp#use-a-fixed-oauth-callback-port)を設定している場合に発生します。固定ポートを設定しない場合、Claude Code は利用可能なポートを選ぶためです。

3379 3496 

3380```text theme={null}3497```text theme={null}

3381OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.3498OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.


3385 3502 

3386**対処方法:**3503**対処方法:**

3387 3504 

3388* メッセージに示されたコマンドを実行してポートを保持しているプロセスを特定し、停止するか終了するのを待ちます3505* メッセージのコマンドを実行してポートを保持しているプロセスを特定し、そのプロセスを停止するか、終了するまで待ちます

3389* 別のプログラムがそのポートを恒久的に必要とする場合は、別のリダイレクト URI をサーバーに登録し、使用している方法に応じて `MCP_OAUTH_CALLBACK_PORT` または `--callback-port` でそのポートを設定します3506* 別のプログラムがそのポートを常に必要とする場合は、サーバーに別のリダイレクト URI を登録し、使用している方法に応じて `MCP_OAUTH_CALLBACK_PORT` または `--callback-port` でそのポートを設定します

3390* その後、たとえば `/mcp` でサーバーを選択して、サインインを再度開始します3507* その後、たとえば `/mcp` でサーバーを選択して、サインインを再度開始します

3391 3508 

3392<h3 id="no-available-ports-for-oauth-redirect">3509<h3 id="no-available-ports-for-oauth-redirect">

3393 No available ports for OAuth redirect3510 No available ports for OAuth redirect

3394</h3>3511</h3>

3395 3512 

3396[OAuth](/docs/ja/mcp#authenticate-with-remote-mcp-servers) でリモートの MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためにローカルのリスナーを開始します。Claude Code がそのためのローカルポートをバインドできない場合、サインインはこのメッセージで失敗します。マシン上の何か(たとえば、セキュリティソフトウェアや、ローカルのリスナーを拒否するサンドボックスポリシー)が、`127.0.0.1` でのリッスンを妨げています。3513[OAuth](/docs/ja/mcp#authenticate-with-remote-mcp-servers) でリモート MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためのローカルリスナーを起動します。そのためのローカルポートを Claude Code がバインドできない場合、サインインはこのメッセージで失敗します。セキュリティソフトウェアや、ローカルリスナーを拒否するサンドボックスポリシーなど、マシン上の何かが `127.0.0.1` での待ち受けを妨げています。

3397 3514 

3398```text theme={null}3515```text theme={null}

3399No available ports for OAuth redirect3516No available ports for OAuth redirect

3400```3517```

3401 3518 

3402v2.1.268 より前は、Claude Code はオペレーティングシステムが割り当てるポートにフォールバックしなかったため、自身で選択したポートだけをバインドできなかった場合にもこのメッセージが表示されていました。これは、Claude Code が選択するポートを含むポート範囲を Hyper-V が予約している Windows ホストで発生することがあります。3519v2.1.268 より前は、Claude Code はオペレーティングシステムが割り当てるポートにフォールバックしなかったため、自身で選んだポートだけをバインドできない場合にもこのメッセージが表示されていました。これは、Hyper-V が Claude Code の選択対象となるポートを含む範囲を予約している Windows ホストで発生することがあります。

3403 3520 

3404**対処方法:**3521**対処方法:**

3405 3522 

3406* セキュリティソフトウェアまたはサンドボックスポリシーが、プロセスによる `127.0.0.1` でのリッスンをブロックしていないかを確認し、Claude Code がローカルポートをバインドできるようにします3523* セキュリティソフトウェアまたはサンドボックスポリシーが、プロセスによる `127.0.0.1` での待ち受けをブロックしていないかを確認し、Claude Code がローカルポートをバインドできるように許可します

3407* その後、たとえば `/mcp` でサーバーを選択して、サインインを再度開始します3524* その後、たとえば `/mcp` でサーバーを選択して、サインインを再度開始します

3408 3525 

3409<h3 id="security-review-fails-without-origin-head">3526<h3 id="security-review-fails-without-origin-head">

3410 origin/HEAD がないと /security-review が失敗する3527 origin/HEAD がない場合に /security-review が失敗する

3411</h3>3528</h3>

3412 3529 

3413[`/security-review`](/docs/ja/commands#all-commands) は、`origin` リモートでどのブランチがデフォルトかを記録するローカルの ref である `origin/HEAD` とブランチの差分を取ることで、レビューのコンテキストを構築します。その ref が存在しない場合、差分を収集する git コマンドが失敗し、レビューは開始前に停止します。3530[`/security-review`](/docs/ja/commands#all-commands) は、ブランチと `origin/HEAD`(`origin` リモートでどのブランチがデフォルトかを記録するローカル参照)との差分を取ることで、レビューのコンテキストを構築します。その参照が存在しない場合、差分を収集する git コマンドが失敗し、レビューは開始前に停止します。

3414 3531 

3415```text theme={null}3532```text theme={null}

3416Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]3533Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]


3419'git <command> [<revision>...] -- [<file>...]'3536'git <command> [<revision>...] -- [<file>...]'

3420```3537```

3421 3538 

3422メッセージには、代わりに `git log` や別の `git diff` が引用される場合があります。Git が `origin/HEAD` を作成するのは、リモートがデフォルトブランチを通知し、かつ fetch の refspec がそれをカバーしている場合のみです。コミットのあるリモートを完全に `git clone` した場合はこれに該当します。次の構成では ref が存在しません:3539メッセージには、代わりに `git log` や別の `git diff` が引用されている場合もあります。Git が `origin/HEAD` を作成するのは、リモートがデフォルトブランチを通知し、フェッチの refspec がそれを含む場合だけです。コミットのあるリモートを完全に `git clone` した場合はこれに該当します。次のような構成では、参照が存在しません:

3423 3540 

3424* refspec の範囲が狭すぎる fetch を行う、シングルブランチまたは CI のチェックアウト3541* 単一ブランチのチェックアウトや CI のチェックアウト。フェッチする refspec が狭すぎます

3425* サーバー側の HEAD が、誰もプッシュしていないブランチを指しているリモート3542* サーバー側の HEAD が、誰もプッシュしていないブランチを指しているリモート

3426* `origin` リモートがないリポジトリ、または一度も fetch していないリポジトリ3543* `origin` リモートがないリポジトリ、または一度もフェッチしていないリポジトリ

3427 3544 

3428Claude Code は、[動的コンテキストを挿入する](/docs/ja/skills#when-an-injected-command-fails)スキルすべてで同じエラーを表示し、挿入されたコマンドが失敗するとそのスキルの呼び出しは中止されます。コマンドの実行前に発生する、関連する 2 つの文字列があります:3545Claude Code は、[動的コンテキストを挿入する](/docs/ja/skills#when-an-injected-command-fails)すべてのスキルで同じエラーを表示し、挿入されたコマンドが失敗するとそのスキルの呼び出しは中止されます。コマンドが実行される前に発生する、関連する 2 つの文字列があります:

3429 3546 

3430* `Shell command permission check failed for pattern "..."`: コマンドの権限チェックで許可されませんでした。[注入されたコマンドの権限チェック](/docs/ja/skills#permission-checks-on-injected-commands)では、各権限モードでどの結果が中止につながるか、および `allowed-tools` でコマンドを事前承認する方法を説明しています3547* `Shell command permission check failed for pattern "..."`: コマンドの権限チェックで許可されませんでした。[挿入されたコマンドの権限チェック](/docs/ja/skills#permission-checks-on-injected-commands)では、各権限モードでどの結果によって中止されるか、および `allowed-tools` でコマンドを事前承認する方法を説明しています

3431* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: bash がないマシンで、スキルのフロントマターが bash を要求しています。Git for Windows をインストールするか、フロントマターを `shell: powershell` に変更してください。[注入されたコマンドの実行方法](/docs/ja/skills#how-injected-commands-run)を参照してください3548* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: スキルのフロントマターが、bash のないマシンで bash を要求しています。Git for Windows をインストールするか、フロントマターを `shell: powershell` に変更してください。[挿入されたコマンドの実行方法](/docs/ja/skills#how-injected-commands-run)を参照してください

3432 3549 

3433**対処方法:**3550**対処方法:**

3434 3551 

3435* リモートのデフォルトブランチを指定して ref を作成します: `git remote set-head origin <default-branch>`。これは、ローカルの追跡 ref `origin/<default-branch>` が存在する場合に機能します。シングルブランチのクローンのように存在しない場合は、まずブランチを fetch します。`git remote set-branches --add origin <branch>` を実行し、次に `git fetch origin` を実行してから、set-head コマンドを再実行します。その後、`/security-review` を再実行します。3552* リモートのデフォルトブランチを指定して参照を作成します: `git remote set-head origin <default-branch>`。これは、ローカルの追跡参照 `origin/<default-branch>` が存在する場合に機能します。単一ブランチのクローンのように存在しない場合は、まずブランチをフェッチします。`git remote set-branches --add origin <branch>` を実行し、次に `git fetch origin` を実行してから、set-head コマンドを再実行します。その後、`/security-review` を再実行します。

3436* ブランチを指定したくない場合は、`git fetch origin` を実行してから `git remote set-head origin --auto` を実行します。これにより、どのブランチがデフォルトかをリモートに問い合わせます。リモートが空であるか、その HEAD が誰もプッシュしていないブランチを指しているためにリモートがデフォルトブランチを通知しない場合、`error: Cannot determine remote HEAD` で失敗します。その場合は、ブランチを明示的に指定します。クローンがそのブランチを fetch しない場合は `error: Not a valid ref` で失敗します。その場合は、まず上記のように refspec を広げます。3553* ブランチを指定したくない場合は、`git fetch origin` を実行してから `git remote set-head origin --auto` を実行します。これはリモートにデフォルトブランチを問い合わせます。リモートが空であるか、HEAD が誰もプッシュしていないブランチを指しているためにデフォルトブランチを通知しない場合は、`error: Cannot determine remote HEAD` で失敗します。その場合は代わりにブランチを明示的に指定してください。クローンがそのブランチをフェッチしない場合は `error: Not a valid ref` で失敗します。まず上記のとおり refspec を広げてください。

3437* リポジトリにリモートがない場合は、`git remote add origin <url>` でリモートを追加し、ref を作成する前に fetch します。リモートが空の場合は、まず `git push -u origin HEAD` でブランチをプッシュし、set-head コマンドでそのブランチを指定します。すると `origin/HEAD` はプッシュしたばかりのブランチを指すため、ブランチが分岐するまで `/security-review` には空の差分が表示されます。3554* リポジトリにリモートがない場合は、`git remote add origin <url>` でリモートを追加し、フェッチしてから参照を作成します。リモートが空の場合は、まず `git push -u origin HEAD` でブランチをプッシュし、set-head コマンドでそのブランチを指定します。すると `origin/HEAD` はプッシュしたばかりのブランチを指すため、ブランチがそこから分岐するまで `/security-review` には空の差分が表示されます。

3438 3555 

3439<h3 id="input-must-be-provided-when-using-print">3556<h3 id="input-must-be-provided-when-using-print">

3440 Input must be provided when using `--print`3557 Input must be provided when using `--print`

3441</h3>3558</h3>

3442 3559 

3443引数なしの `claude` が対話 UI を開始するには、stdout がターミナルである必要があります。stdout がリダイレクトされている場合、またはコンソールが実際のターミナルではない場合(PowerShell ISE や一部の IDE の出力ペインなど)、`claude` は代わりに[非対話](/docs/ja/headless)で実行されます。これは `claude -p` と同じモードで、プロンプトが必要です。そのため、フラグを渡していなくてもメッセージには `--print` が示されます。プロンプトなしで、stdin に何もパイプせずに `-p`/`--print` を渡した場合も、どこでも同じエラーが発生します。3560引数なしの `claude` で対話 UI を開始するには、stdout がターミナルである必要があります。stdout がリダイレクトされている場合や、PowerShell ISE や一部の IDE の出力ペインのようにコンソールが本物のターミナルではない場合、`claude` は代わりに[非対話](/docs/ja/headless)で実行されます。これは `claude -p` と同じモードで、プロンプトが必要です。そのため、フラグを渡していなくてもメッセージには `--print` が示されます。プロンプトなしで、stdin にも何もパイプせずに `-p`/`--print` を渡した場合も、どこであっても同じエラーが発生します。

3444 3561 

3445```text theme={null}3562```text theme={null}

3446Error: Input must be provided either through stdin or as a prompt argument when using --print3563Error: Input must be provided either through stdin or as a prompt argument when using --print


3448 3565 

3449**対処方法:**3566**対処方法:**

3450 3567 

3451* 対話的に使用する場合は、実際のターミナルで `claude` を実行します。ISE ではなく Windows Terminal または PowerShell コンソールを、出力ペインではなく IDE の統合ターミナルを使用します3568* 対話的に使用する場合は、本物のターミナルで `claude` を実行します。ISE ではなく Windows Terminal または PowerShell コンソールを、出力ペインではなく IDE の統合ターミナルを使用してください

3452* 1 回限りの使用の場合は、プロンプトを渡します: `claude -p "your question"`、またはパイプで `echo "your question" | claude -p` とします3569* 単発で使用する場合は、プロンプトを渡します: `claude -p "your question"`、または `echo "your question" | claude -p` でパイプします

3453 3570 

3454<h3 id="claude-code-cant-read-the-keyboard-here">3571<h3 id="claude-code-cant-read-the-keyboard-here">

3455 Claude Code can't read the keyboard here3572 Claude Code can't read the keyboard here

3456</h3>3573</h3>

3457 3574 

3458[`-p`](/docs/ja/headless) なしで `claude` を実行したため[対話セッション](/docs/ja/interactive-mode)が開始されますが、その標準入力がターミナルではありません。何かがパイプまたはリダイレクトしているか、`claude` を起動したプログラムが独自の入力ストリームを提供しています。3575[`-p`](/docs/ja/headless) を付けずに `claude` を実行したため[対話セッション](/docs/ja/interactive-mode)が開始されますが、その標準入力がターミナルではありません。何かがパイプまたはリダイレクトしているか、`claude` を起動したプログラムが独自の入力ストリームを提供しています。

3459 3576 

3460対話セッションはキー入力を読み取るためのターミナルを必要とし、ターミナルがない場合の Claude Code の動作はプラットフォームによって異なります:3577対話セッションではキー入力を読み取るためのターミナルが必要であり、ターミナルがない場合の Claude Code の動作はプラットフォームによって異なります:

3461 3578 

3462* **Windows**: Claude Code はメッセージを stderr に出力し、インターフェースを開始せずに終了コード 1 で終了します3579* **Windows**: Claude Code はインターフェースを開始せず、メッセージを stderr に出力して終了コード 1 で終了します

3463* **macOS と Linux**: Claude Code は `/dev/tty` からキー入力を読み取り、パイプされたテキストがあれば最初のプロンプトとしてセッションを開始します。`/dev/tty` を開けない場合にメッセージが表示され、その 1 行目には Windows の文言の代わりに `/dev/tty` が示されます。3580* **macOS と Linux**: Claude Code は `/dev/tty` からキー入力を読み取ってセッションを開始し、パイプされたテキストがあれば最初のプロンプトとして使用します。`/dev/tty` を開けない場合にメッセージが表示され、その 1 行目では Windows の文言の代わりに `/dev/tty` が示されます。

3464 3581 

3465Windows では、メッセージは次のとおりです:3582Windows では、メッセージは次のようになります:

3466 3583 

3467```text theme={null}3584```text theme={null}

3468Claude Code can't read the keyboard here: stdin is not a terminal (it is piped, redirected, or supplied by the program that launched claude), and on Windows it can't fall back to the console for input yet.3585Claude Code can't read the keyboard here: stdin is not a terminal (it is piped, redirected, or supplied by the program that launched claude), and on Windows it can't fall back to the console for input yet.


3472 3589 

3473**対処方法:**3590**対処方法:**

3474 3591 

3475* 対話的に作業するには、入力をパイプやリダイレクトせずに、ターミナルで直接 `claude` を実行します3592* 対話的に作業するには、入力をパイプまたはリダイレクトせずに、ターミナルで直接 `claude` を実行します

3476* スクリプトからなど、対話インターフェースなしで応答を得るには、`-p` を追加し、`claude -p "your question"` や `echo "your question" | claude -p` のように、プロンプトを引数または stdin で渡します。`--continue` や `--resume <session-id>` でも同様に機能します。3593* スクリプトからなど、対話インターフェースなしで応答を得るには、`-p` を追加し、`claude -p "your question"` や `echo "your question" | claude -p` のように、プロンプトを引数または stdin で渡します。`--continue` や `--resume <session-id>` でも同じように機能します。

3477 3594 

3478v2.1.287 より前は、Claude Code はこのメッセージを出力する代わりにインターフェースを開始し、画面に何も表示しないか、`Raw mode is not supported` を含むエラーで失敗していました。3595v2.1.287 より前は、Claude Code はこのメッセージを出力する代わりにインターフェースを開始し、画面に何も表示しないか、`Raw mode is not supported` を含むエラーで失敗していました。

3479 3596 

3480代わりに `claude install` の実行中に `Raw mode is not supported` が表示される場合は、[インストール中の `Raw mode is not supported`](/docs/ja/troubleshoot-install#raw-mode-is-not-supported-during-install)を参照してください。3597代わりに `claude install` の実行中に `Raw mode is not supported` が表示される場合は、[インストール中の `Raw mode is not supported`](/docs/ja/troubleshoot-install#raw-mode-is-not-supported-during-install) を参照してください。

3481 3598 

3482<h3 id="input-contained-only-whitespace">3599<h3 id="input-contained-only-whitespace">

3483 Input contained only whitespace3600 Input contained only whitespace

3484</h3>3601</h3>

3485 3602 

3486[非対話モード](/docs/ja/headless)では、API は目に見えるテキストのないメッセージを拒否するため、Claude Code はスペース、タブ、改行のみで構成されたプロンプトを送信せずに拒否します。表示されるメッセージは、空白のプロンプトがどこから来たかによって異なります:3603[非対話モード](/docs/ja/headless)では、Claude Code はスペース、タブ、改行だけで構成されたプロンプトを送信せずに拒否します。API は表示可能なテキストのないメッセージを拒否するためです。表示されるメッセージは、空白のプロンプトがどこから来たかによって異なります:

3487 3604 

3488* **`claude -p` のプロンプト引数またはパイプされた stdin**: `claude` は `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print` で終了します3605* **`claude -p` のプロンプト引数またはパイプされた stdin**: `claude` は `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print` で終了します

3489* **実行中の `--input-format stream-json` または [Agent SDK](/docs/ja/agent-sdk/overview) セッションに送信されたメッセージ**: Claude Code はモデルを呼び出さずにターンを終了し、セッションは引き続き使用できます。拒否は情報メッセージとして、またターンの結果テキストとして届きます: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`3606* **実行中の `--input-format stream-json` または [Agent SDK](/docs/ja/agent-sdk/overview) セッションに送信されたメッセージ**: Claude Code はモデルを呼び出さずにターンを終了し、セッションは引き続き使用できます。拒否は、情報メッセージとして、またターンの結果テキストとして届きます: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`

3490 3607 

3491v2.1.229 より前は、Claude Code は空白のみのメッセージを API に送信し、API は 400 エラーでリクエストを拒否していました。3608v2.1.229 より前は、Claude Code は空白のみのメッセージを API に送信し、API はリクエストを 400 エラーで拒否していました。

3492 3609 

3493**対処方法:**3610**対処方法:**

3494 3611 

3495* プロンプトに目に見えるテキストを含めます。スクリプトが変数やファイルからプロンプトを構築する場合は、Claude Code を呼び出す前にソースが空でないことを確認します。3612* プロンプトに表示可能なテキストを含めます。スクリプトが変数やファイルからプロンプトを作成する場合は、Claude Code を呼び出す前にソースが空でないことを確認します。

3496 3613 

3497<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">3614<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">

3498 stream-json input carried over 256M characters with no newline3615 stream-json input carried over 256M characters with no newline

3499</h3>3616</h3>

3500 3617 

3501プログラムが `claude -p --input-format stream-json` の実行に対して、改行なしで 268,435,456 文字を超える入力を stdin に送信したため、Claude Code はそれ以上の入力をバッファリングせずに、このエラーを stderr に出力して終了コード 1 で終了します。メッセージではこの上限を `256M` と表記しています。v2.1.257 より前は、Claude Code はそのような入力を無制限にバッファリングし、プロセスがクラッシュするか強制終了されるまでメモリが増加していました。3618プログラムが `claude -p --input-format stream-json` の実行に対して、改行なしで 268,435,456 文字を超える内容を stdin に送信したため、Claude Code は入力をそれ以上バッファリングせずに、このエラーを stderr に出力して終了コード 1 で終了します。メッセージではこの上限を `256M` と表記しています。v2.1.257 より前は、Claude Code はそのような入力を無制限にバッファリングし、プロセスがクラッシュするか強制終了されるまでメモリが増加していました。

3502 3619 

3503```text theme={null}3620```text theme={null}

3504Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.3621Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.

3505```3622```

3506 3623 

3507改行なしでこれほど長い入力がある場合、通常は入力元がそもそも stream-json の生成元ではないことを意味します。たとえば、誤ってパイプされたバイナリファイルやプレーンなログ出力などです。単一のメッセージが上限を超えた場合も、同じチェックで失敗します。3624改行なしでこれほど長い入力がある場合、通常は、誤ってパイプされたバイナリファイルやプレーンなログ出力など、入力元がそもそも stream-json の生成元ではないことを意味します。単一のメッセージが上限を超えた場合も、同じチェックで失敗します。

3508 3625 

3509**対処方法:**3626**対処方法:**

3510 3627 

3511* stdin に何がパイプされているかを確認します。[`--input-format stream-json`](/docs/ja/cli-reference#cli-flags) では、各メッセージは改行で終わる 1 行の JSON である必要があります3628* stdin に何がパイプされているかを確認します。[`--input-format stream-json`](/docs/ja/cli-reference#cli-flags) では、すべてのメッセージが改行で終わる 1 行の JSON である必要があります

3512* 代わりにプレーンテキストを送信するには、`--input-format stream-json` を削除します。`claude -p` はデフォルトで stdin からプレーンテキストのプロンプトを読み取ります3629* 代わりにプレーンテキストを送信するには、`--input-format stream-json` を削除します。`claude -p` はデフォルトで stdin からプレーンテキストのプロンプトを読み取ります

3513 3630 

3514<h3 id="unknown-command">3631<h3 id="unknown-command">

3515 Unknown command3632 Unknown command

3516</h3>3633</h3>

3517 3634 

3518対話的なターミナルセッションで、このセッションのどのコマンドにも一致しない `/` 名を送信したため、Claude Code は何も実行せずにその名前を報告します:3635対話型のターミナルセッションで、このセッションのどのコマンドにも一致しない `/` 名を送信したため、Claude Code は何も実行せずにその名前を報告します:

3519 3636 

3520```text theme={null}3637```text theme={null}

3521Unknown command: /hepl. Did you mean /help?3638Unknown command: /hepl. Did you mean /help?

3522```3639```

3523 3640 

3524Claude Code は、このセッションでメニューに表示される中から最も近いコマンド名またはエイリアスを提案します。近いものがない場合、メッセージは名前の後で終わります。原因は通常、次のいずれかです:3641Claude Code は、このセッションのメニューに表示されるコマンド名またはエイリアスのうち、最も近いものを提案します。近いものがない場合、メッセージは名前の後で終わります。原因は通常、次のいずれかです:

3525 3642 

3526* `/help` を `/hepl` と入力するようなタイプミス。[コマンドメニューが入力内容に一致させる方法](/docs/ja/commands#how-the-command-menu-matches-what-you-type)では、送信前に近い一致を選択する方法について説明しています3643* `/help` を `/hepl` と入力するようなタイプミス。[コマンドメニューが入力内容とどのように一致するか](/docs/ja/commands#how-the-command-menu-matches-what-you-type)では、送信前に近い候補を選ぶ方法を説明しています

3527* コマンドは存在するものの、プラットフォーム、プラン、認証方法などの要件を満たしていないため、このセッションでは利用できない。[`/web-setup`](/docs/ja/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) と [`/schedule`](/docs/ja/routines#schedule-returns-unknown-command) のトラブルシューティング項目では、2 つの一般的なケースを説明しています。一部のコマンドは、組織のポリシーによって無効化されている場合に、[`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy) のような独自のメッセージで応答します3644* コマンドは存在するものの、プラットフォーム、プラン、認証方法などの要件が満たされていないため、このセッションでは利用できない。[`/web-setup`](/docs/ja/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) と [`/schedule`](/docs/ja/routines#schedule-returns-unknown-command) のトラブルシューティング項目で、よくある 2 つのケースを説明しています。一部のコマンドは、組織のポリシーで無効になっている場合に、[`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy) のような独自のメッセージで応答します

3528* このセッションでインストールまたは接続されていない[プラグイン](/docs/ja/plugins/overview)または [MCP サーバー](/docs/ja/mcp#use-mcp-prompts-as-commands)のコマンド3645* このセッションでインストールまたは接続されていない[プラグイン](/docs/ja/plugins/overview)や [MCP サーバー](/docs/ja/mcp#use-mcp-prompts-as-commands)のコマンド

3529 3646 

3530Claude Code が一致しない `/` 名にこのように応答するのは、対話的なターミナルセッションのみです。それ以外のすべてのセッションでは、代わりにプロンプトを通常のメッセージとして Claude に送信し、コマンドが実行されなかったことの注記と、セッションで Claude が実行できるコマンドの一覧を付けます。対象となるセッションは次のとおりです:3647Claude Code が一致しない `/` 名にこのように応答するのは、対話型のターミナルセッションの場合だけです。それ以外のすべてのセッションでは、代わりにプロンプトを通常のメッセージとして Claude に送信し、コマンドが実行されなかったことを示すメモと、セッションで Claude が実行できるコマンドの一覧を添えます。そのようなセッションには次のものがあります:

3531 3648 

3532* `-p` の実行3649* `-p` での実行

3533* [Agent SDK](/docs/ja/agent-sdk/overview) アプリケーション3650* [Agent SDK](/docs/ja/agent-sdk/overview) アプリケーション

3534* [デスクトップアプリ](/docs/ja/desktop)の Code タブ3651* [デスクトップアプリ](/docs/ja/desktop)の Code タブ

3535* [VS Code 拡張機能](/docs/ja/vs-code)のチャットパネル3652* [VS Code 拡張機能](/docs/ja/vs-code)のチャットパネル

3536* [クラウドセッション](/docs/ja/claude-code-on-the-web)と[ルーティン](/docs/ja/routines)3653* [クラウドセッション](/docs/ja/claude-code-on-the-web)と[ルーティン](/docs/ja/routines)

3537 3654 

3538これらのセッションのいずれかで実行できない組み込みコマンドについては、Claude Code はそれでも Claude に送信せずに、コマンドが利用できないと応答します。v2.1.274 より前は、一致しない名前を Claude に送信していたのはクラウドセッションとルーティンのみでした。v2.1.273 より前は、それらも `Unknown command` と応答していました。3655これらのセッションのいずれかで実行できない組み込みコマンドについては、Claude Code は Claude に送信する代わりに、そのコマンドは利用できないと応答します。v2.1.274 より前は、一致しない名前を Claude に送信していたのはクラウドセッションとルーティンだけでした。v2.1.273 より前は、それらも `Unknown command` と応答していました。

3539 3656 

3540Claude Code は、`/` で始まるすべてのプロンプトをコマンドとして扱うわけではありません。`/` の後の最初の単語が句読点で始まる場合(Lean のドキュメントコメントを開始する `/--` など)や、`/var/log/syslog` のようなパスである場合は、プロンプトを通常のメッセージとして Claude に送信します。3657Claude Code は、`/` で始まるすべてのプロンプトをコマンドとして扱うわけではありません。`/` の後の最初の単語が、Lean のドキュメントコメントを開始する `/--` のように句読点で始まる場合、または `/var/log/syslog` のようなパスである場合は、プロンプトを通常のメッセージとして Claude に送信します。

3541 3658 

3542v2.1.236 より前は、入力した名前に近い一致がコマンドメニューに表示されている状態で `Enter` を押すと、Claude Code はその一致を実行していました。そのため、`/hepl` のようなタイプミスでは、このメッセージが表示される代わりに `/help` が実行されていました。3659v2.1.236 より前は、入力した名前に近い候補がコマンドメニューに表示されている状態で `Enter` を押すと、Claude Code はその候補を実行していました。そのため、`/hepl` のようなタイプミスでは、このメッセージを表示する代わりに `/help` が実行されていました。

3543 3660 

3544**対処方法:**3661**対処方法:**

3545 3662 

3546* 提案された名前を実行するか、`/` に続けて名前の一部を入力し、このセッションで利用可能なものを確認します3663* 提案された名前を実行するか、`/` に続けて名前の一部を入力し、このセッションで利用できるものを確認します

3547* ドキュメントに記載されているコマンドが不明と報告される場合は、[コマンドリファレンス](/docs/ja/commands)のその行を確認し、示されている要件を確認します3664* ドキュメントに記載されたコマンドが不明として報告される場合は、[コマンドリファレンス](/docs/ja/commands)のその行で、示されている要件を確認します

3548 3665 

3549<h3 id="diff-is-too-large-for-ultrareview">3666<h3 id="diff-is-too-large-for-ultrareview">

3550 Diff is too large for ultrareview3667 Diff is too large for ultrareview

3551</h3>3668</h3>

3552 3669 

3553コミットされていない変更とステージされた変更を含む、ブランチとベースブランチの間の差分が [ultrareview](/docs/ja/ultrareview) のサイズ制限を超えているため、`/code-review ultra` と `claude ultrareview` サブコマンドは、クラウドセッションの開始前にレビューを拒否します。拒否されたレビューは無料の実行回数を消費せず、使用クレジットも請求されません。メッセージには、適用されている制限、差分のサイズ、および変更行数が最も多いファイルが示されます。v2.1.216 より前は、メッセージには生の差分統計のみが表示されていました。3670コミットされていない変更やステージされた変更を含む、ブランチとベースブランチとの差分が [ultrareview](/docs/ja/ultrareview) のサイズ制限を超えているため、`/code-review ultra` と `claude ultrareview` サブコマンドは、クラウドセッションの開始前にレビューを拒否します。拒否されたレビューは無料実行回数を消費せず、使用クレジットも請求されません。メッセージには、適用されている制限、差分のサイズ、そして変更行数が最も多いファイルが示されます。v2.1.216 より前は、メッセージには生の差分統計のみが表示されていました。

3554 3671 

3555```text theme={null}3672```text theme={null}

3556Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.3673Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.


3560 3677 

3561**対処方法:**3678**対処方法:**

3562 3679 

3563* `/code-review ultra develop` のように、作業に近いベースブランチを渡して、レビューがそのブランチとの差分のみを対象にするようにします3680* `/code-review ultra develop` のように、作業に近いベースブランチを渡して、レビューがそのブランチとの差分だけを対象とするようにします

3564* 変更をより小さなブランチに分割し、それぞれをレビューします。メッセージに示されたファイルは変更行数が最も多いため、まずそれらを独自のブランチに移動します。3681* 変更をより小さなブランチに分割し、それぞれをレビューします。メッセージに示されたファイルは変更行数が最も多いため、まずそれらを専用のブランチに移動することから始めてください。

3565 3682 

3566<h3 id="could-not-find-merge-base-with-the-base-branch">3683<h3 id="could-not-find-merge-base-with-the-base-branch">

3567 Could not find merge-base with the base branch3684 Could not find merge-base with the base branch

3568</h3>3685</h3>

3569 3686 

3570`/code-review ultra` と `claude ultrareview` サブコマンドは、ブランチとベースブランチの間の差分をレビューします。これには両者が共有するコミットが必要です。`git merge-base` が共有コミットを見つけられない場合、Claude Code はクラウドセッションの開始前にレビューを拒否します。Claude Code が完全であることを確認でき、少なくとも 1 つのブランチがあるクローンでは、拒否する代わりに[追跡されているすべてのファイルのレビュー](/docs/ja/ultrareview#diff-limits-and-fallbacks)にフォールバックします。この拒否が表示されるのは、ベースブランチがまったく見つからない場合、クローンが完全であることを Claude Code が確認できない場合、またはツリー全体の差分が不可能なまれなリポジトリ(SHA-256 オブジェクト形式など)の場合です。3687`/code-review ultra` と `claude ultrareview` サブコマンドは、ブランチとベースブランチとの差分をレビューします。そのためには、両者が共有するコミットが必要です。`git merge-base` が共有コミットを見つけられない場合、Claude Code はクラウドセッションの開始前にレビューを拒否します。Claude Code が完全であると確認できるクローンで、ブランチが 1 つ以上ある場合は、拒否する代わりに[追跡されているすべてのファイルのレビュー](/docs/ja/ultrareview#diff-limits-and-fallbacks)にフォールバックします。この拒否が表示されるのは、ベースブランチがまったく見つからない場合、Claude Code がクローンの完全性を確認できない場合、または SHA-256 オブジェクト形式のように、ツリー全体の差分が不可能なまれなリポジトリの場合です。

3571 3688 

3572```text theme={null}3689```text theme={null}

3573Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.3690Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.

3574```3691```

3575 3692 

3576最初の文の後のヒントは、Claude Code が観測した内容によって異なります:3693最初の文の後のヒントは、Claude Code が確認した内容によって異なります:

3577 3694 

3578* **ベースブランチを渡さなかった場合**: Claude Code はリポジトリのデフォルトブランチと比較し、上記の例のようにベースを明示的に渡すことを提案します3695* **ベースブランチを渡さなかった場合**: Claude Code はリポジトリのデフォルトブランチと比較し、上の例のように、ベースを明示的に渡すよう提案します

3579* **既にクローンにあるベースブランチを渡した場合**: ヒントは ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)`` となります3696* **すでにクローン内にあるベースブランチを渡した場合**: ヒントは ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)`` となります

3580* **クローン内にないベースブランチを渡した場合**: Claude Code は比較の前に origin からそのブランチを fetch しました。ヒントは ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` となります。クローンがシャロークローンかどうかを Claude Code が判断できない場合は、代わりに `git fetch --unshallow origin` を提案します。v2.1.221 より前は、fetch したすべてのベースブランチに対してヒントが `git fetch --unshallow origin` を提案していましたが、完全なクローンではこのコマンドは `fatal: --unshallow on a complete repository does not make sense` で失敗します。3697* **クローン内にないベースブランチを渡した場合**: Claude Code は比較の前に origin からそのブランチをフェッチしました。ヒントは ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` となります。クローンがシャロークローンかどうかを Claude Code が判断できない場合は、代わりに `git fetch --unshallow origin` を提案します。v2.1.221 より前は、フェッチしたすべてのベースブランチについて `git fetch --unshallow origin` が提案されていましたが、完全なクローンでは、このコマンドは `fatal: --unshallow on a complete repository does not make sense` で失敗します。

3581 3698 

3582**対処方法:**3699**対処方法:**

3583 3700 

3584* 別のブランチが実際のベースである場合は、明示的に渡します: `/code-review ultra <branch>`3701* 別のブランチが本当のベースである場合は、それを明示的に渡します: `/code-review ultra <branch>`

3585* クローンに完全な履歴がない可能性がある場合は、`git fetch --unshallow origin` を実行してレビューを再実行します3702* クローンに完全な履歴がない可能性がある場合は、`git fetch --unshallow origin` を実行してからレビューを再実行します

3586 3703 

3587<h3 id="your-checkout-has-no-branches">3704<h3 id="your-checkout-has-no-branches">

3588 Your checkout has no branches3705 Your checkout has no branches

3589</h3>3706</h3>

3590 3707 

3591チェックアウトには、コミットはあってもブランチがない場合があります。`git init` に続けて `git fetch <url>` と `git checkout FETCH_HEAD` を実行すると、ref のない detached HEAD になります。Claude Code は [ultrareview](/docs/ja/ultrareview) のためにリポジトリを git バンドルとしてパッケージ化してアップロードしますが、ブランチやその他の ref がないリポジトリはバンドルできないため、`/code-review ultra` と `claude ultrareview` サブコマンドはクラウドセッションの開始前にレビューを拒否します。3708チェックアウトには、コミットはあってもブランチがない場合があります。`git init` の後に `git fetch <url>` と `git checkout FETCH_HEAD` を実行すると、参照のない detached HEAD の状態になります。Claude Code は [ultrareview](/docs/ja/ultrareview) のためにリポジトリを git バンドルとしてパッケージ化してアップロードしますが、ブランチやその他の参照のないリポジトリはバンドルできないため、`/code-review ultra` と `claude ultrareview` サブコマンドはクラウドセッションの開始前にレビューを拒否します。

3592 3709 

3593```text theme={null}3710```text theme={null}

3594Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.3711Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.


3604 No GitHub account is connected to your Claude account3721 No GitHub account is connected to your Claude account

3605</h3>3722</h3>

3606 3723 

3607`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行すると、Claude Code はクラウドセッションを作成する前に、[Claude アカウントに接続された GitHub アカウント](/docs/ja/ultrareview#review-a-pull-request)が PR のリポジトリにアクセスできるかどうかをサーバーに問い合わせます。アカウントが接続されていないか、接続の有効期限が切れているため、クラウドでのクローンが失敗することから、Claude Code は起動を拒否します。拒否された起動について、Claude Code は無料の実行回数を消費せず、使用クレジットも請求しません。3724`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行しました。Claude Code はクラウドセッションを作成する前に、[Claude アカウントに接続された GitHub アカウント](/docs/ja/ultrareview#review-a-pull-request)が PR のリポジトリにアクセスできるかをサーバーに問い合わせます。アカウントが接続されていないか、接続の有効期限が切れているため、クラウドでのクローンが失敗することになり、Claude Code は起動を拒否します。拒否された起動では、無料実行回数は消費されず、使用クレジットも請求されません。

3608 3725 

3609```text theme={null}3726```text theme={null}

3610Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).3727Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).


3615**対処方法:**3732**対処方法:**

3616 3733 

3617* `/web-setup` を実行して GitHub CLI のログインを Claude アカウントに接続するか、[claude.ai/connect-github](https://claude.ai/connect-github) でアカウントを接続します3734* `/web-setup` を実行して GitHub CLI のログインを Claude アカウントに接続するか、[claude.ai/connect-github](https://claude.ai/connect-github) でアカウントを接続します

3618* 接続してから 1 分後にレビューを再実行します3735* 接続してから 1 分ほど待って、レビューを再実行します

3619 3736 

3620v2.1.248 より前は、Claude Code は起動前にこれを確認していませんでした。3737v2.1.248 より前は、Claude Code は起動前にこのチェックを行っていませんでした。

3621 3738 

3622<h3 id="your-connected-github-account-cant-see-the-repository">3739<h3 id="your-connected-github-account-cant-see-the-repository">

3623 Your connected GitHub account can't see the repository3740 Your connected GitHub account can't see the repository

3624</h3>3741</h3>

3625 3742 

3626`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行しましたが、[Claude アカウントに接続された GitHub アカウント](/docs/ja/ultrareview#review-a-pull-request)が PR のリポジトリを読み取れないため、クラウドでのクローンが失敗することから、Claude Code は起動を拒否します。拒否された起動について、Claude Code は無料の実行回数を消費せず、使用クレジットも請求しません。3743`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行しましたが、[Claude アカウントに接続された GitHub アカウント](/docs/ja/ultrareview#review-a-pull-request)が PR のリポジトリを読み取れないため、クラウドでのクローンが失敗することになり、Claude Code は起動を拒否します。拒否された起動では、無料実行回数は消費されず、使用クレジットも請求されません。

3627 3744 

3628```text theme={null}3745```text theme={null}

3629Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.3746Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.


3636* ローカルの `gh` CLI がリポジトリを読み取れる場合は、`/web-setup` を実行してそのログインを Claude アカウントに接続します3753* ローカルの `gh` CLI がリポジトリを読み取れる場合は、`/web-setup` を実行してそのログインを Claude アカウントに接続します

3637* 変更後にレビューを再実行します3754* 変更後にレビューを再実行します

3638 3755 

3639v2.1.248 より前は、Claude Code は起動前にこれを確認していませんでした。3756v2.1.248 より前は、Claude Code は起動前にこのチェックを行っていませんでした。

3640 3757 

3641<h3 id="the-github-app-preflight-failed-transiently">3758<h3 id="the-github-app-preflight-failed-transiently">

3642 The GitHub App preflight failed transiently3759 The GitHub App preflight failed transiently

3643</h3>3760</h3>

3644 3761 

3645ローカルリポジトリから[クラウドセッション](/docs/ja/claude-code-on-the-web)を開始しましたが、2 つのステップが同時に失敗しました。Claude Code はリポジトリのバンドルをビルドまたはアップロードできませんでした。アップロードの前に、クラウドサービスが GitHub からリポジトリをクローンできるかどうかを確認しましたが、そのチェックは明確な答えではなく、ネットワークエラー、タイムアウト、一時的なサーバーエラーなど、再試行で解消される可能性のあるエラーで終わりました。完全なメッセージは、バンドルを妨げた内容(たとえば `Could not upload repo bundle (<error>)`)で始まり、プリフライトの文で終わります:3762ローカルリポジトリから[クラウドセッション](/docs/ja/claude-code-on-the-web)を開始しましたが、2 つのステップが同時に失敗しました。Claude Code はリポジトリのバンドルをビルドまたはアップロードできませんでした。アップロードの前に、Claude Code はクラウドサービスが GitHub からリポジトリをクローンできるかをチェックしましたが、そのチェックは明確な答えではなく、ネットワークエラー、タイムアウト、一時的なサーバーエラーなど、再試行で解消される可能性のあるエラーで終了しました。完全なメッセージは、`Could not upload repo bundle (<error>)` のようにバンドルを妨げた原因で始まり、事前チェックに関する文で終わります:

3646 3763 

3647```text theme={null}3764```text theme={null}

3648Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3765Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead


3650 3767 

3651**対処方法:**3768**対処方法:**

3652 3769 

3653* しばらくしてからコマンドを再実行します。GitHub のチェックが成功すると、Claude Code は GitHub のクローンからセッションを開始できるため、失敗したアップロードが起動を妨げることはなくなります3770* 少し待ってからコマンドを再実行します。GitHub のチェックに合格すると、Claude Code は GitHub のクローンからセッションを開始できるため、失敗したアップロードによって起動が妨げられることはなくなります

3654* 再試行しても失敗し続ける場合は、メッセージの冒頭にアップロードを妨げた原因が示されています。その原因が修正可能なものであれば、修正してローカルリポジトリからセッションを開始できるようにします3771* 再試行しても失敗が続く場合は、メッセージの冒頭にアップロードを妨げた原因が示されています。その原因が修正可能なものであれば修正して、代わりにローカルリポジトリからセッションを開始できるようにします

3655 3772 

3656v2.1.251 より前は、GitHub のチェックが一時的に失敗しただけの場合でも、Claude Code はメッセージを `Please set up GitHub on https://claude.ai/code` で終えていましたが、セットアップの助言では一時的な失敗を解消できません。3773v2.1.251 より前は、GitHub のチェックが一時的に失敗しただけの場合でも、Claude Code はメッセージの最後に `Please set up GitHub on https://claude.ai/code` を表示していましたが、セットアップの助言では一時的な失敗は解消できません。

3657 3774 

3658<h3 id="the-repository-upload-cant-follow-a-git-setting">3775<h3 id="the-repository-upload-cant-follow-a-git-setting">

3659 リポジトリのアップロードが git の設定に従えない3776 リポジトリのアップロードが git 設定に従えない

3660</h3>3777</h3>

3661 3778 

3662[ローカルリポジトリをアップロードするクラウドセッション](/docs/ja/claude-code-on-the-web#send-local-repositories-without-github)、またはブランチの [ultrareview](/docs/ja/ultrareview) を開始しましたが、ファイルにどの属性ルールを適用するかを決定する git の設定の 1 つに、アップロードが従うことができません。アップロードを進めてルールを見落とした場合、git が保存前に変換するファイル(たとえば clean フィルターが暗号化するファイル)が、ディスク上のままの状態でクラウドに届く可能性があります。Claude Code は代わりにアップロードを拒否し、何もアップロードされません:3779[ローカルリポジトリをアップロードするクラウドセッション](/docs/ja/claude-code-on-the-web#send-local-repositories-without-github)、またはブランチの [ultrareview](/docs/ja/ultrareview) を開始しましたが、ファイルにどの属性ルールを適用するかを決める git 設定のいずれかに、アップロードが従えません。アップロードをそのまま進めてルールを見落とすと、git が保存前に変換するファイル(clean フィルターで暗号化されるファイルなど)が、ディスク上の状態のままクラウドに届く可能性があります。そのため Claude Code はアップロードを拒否し、何もアップロードされません:

3663 3780 

3664```text theme={null}3781```text theme={null}

3665Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry.3782Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry.

3666```3783```

3667 3784 

3668メッセージには設定とその設定場所が示され、該当するケースの修正方法で終わります。`core.attributesFile` と `attr.tree` についても同じ拒否が表示され、それぞれ独自の修正方法が示されます。3785メッセージには設定項目の名前とその設定場所が示され、最後に該当するケースの修正方法が記載されます。`core.attributesFile` と `attr.tree` についても同じ拒否が表示され、それぞれ固有の修正方法が示されます。

3669 3786 

3670メッセージには、git の設定が `include` または `includeIf` ディレクティブを通じて取り込む設定ファイルが示されることがあります。これは、そのディレクティブの条件がこのリポジトリに当てはまらない場合でも同様です。3787メッセージには、git の設定が `include` または `includeIf` ディレクティブを通じて読み込む設定ファイルが示されることがあります。これは、そのディレクティブの条件がこのリポジトリに該当しない場合でも同様です。

3671 3788 

3672**対処方法:**3789**対処方法:**

3673 3790 

3674* メッセージの最後の文に示された修正を適用します3791* メッセージの最後の文に記載された修正を適用します

3675 3792 

3676<h3 id="github-isnt-connected-to-your-claude-account">3793<h3 id="github-isnt-connected-to-your-claude-account">

3677 GitHub isn't connected to your Claude account3794 GitHub isn't connected to your Claude account

3678</h3>3795</h3>

3679 3796 

3680たとえば `/autofix-pr` を使用して、ローカルリポジトリから[クラウドセッション](/docs/ja/claude-code-on-the-web)を開始しました。Claude アカウントに GitHub アカウントが接続されていないか、接続の有効期限が切れているため、Claude Code は起動を拒否します:3797ローカルリポジトリから、たとえば `/autofix-pr` を使って[クラウドセッション](/docs/ja/claude-code-on-the-web)を開始しました。Claude アカウントに GitHub アカウントが接続されていないか、接続の有効期限が切れているため、Claude Code は起動を拒否します:

3681 3798 

3682```text theme={null}3799```text theme={null}

3683GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github3800GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github

3684```3801```

3685 3802 

3686[`/schedule`](/docs/ja/routines) でルーティンを作成すると、同じメッセージがリポジトリ名を含むセットアップの注記として表示されます。この注記はルーティンの作成を妨げません。3803[`/schedule`](/docs/ja/routines) でルーティンを作成する場合は、同じメッセージがリポジトリ名を示すセットアップの注記として表示されます。この注記はルーティンの作成をブロックしません。

3687 3804 

3688**対処方法:**3805**対処方法:**

3689 3806 

3690* `/web-setup` を実行して GitHub CLI のログインを Claude アカウントに接続するか、[claude.ai/connect-github](https://claude.ai/connect-github) でアカウントを接続します。両者の違いについては、[GitHub の認証オプション](/docs/ja/claude-code-on-the-web#github-authentication-options)を参照してください。3807* `/web-setup` を実行して GitHub CLI のログインを Claude アカウントに接続するか、[claude.ai/connect-github](https://claude.ai/connect-github) でアカウントを接続します。両者の違いについては [GitHub 認証オプション](/docs/ja/claude-code-on-the-web#github-authentication-options)を参照してください。

3691* 接続してから 1 分後にコマンドを再実行します3808* 接続してから 1 分後にコマンドを再実行します

3692 3809 

3693v2.1.268 より前は、Claude Code はこれを Claude GitHub App のチェックの一時的な失敗として報告し、再試行またはアプリのインストールを提案していましたが、どちらも GitHub アカウントを接続するものではありません。3810v2.1.268 より前では、Claude Code はこれを Claude GitHub App チェックの一時的な失敗として報告し、再試行またはアプリのインストールを提案していました。どちらも GitHub アカウントを接続するものではありません。

3694 3811 

3695<h3 id="a-github-organization-policy-is-blocking-claude">3812<h3 id="a-github-organization-policy-is-blocking-claude">

3696 A GitHub organization policy is blocking Claude3813 GitHub 組織のポリシーが Claude をブロックしている

3697</h3>3814</h3>

3698 3815 

3699Claude Code のプロンプトで、[`/autofix-pr`](/docs/ja/claude-code-on-the-web#auto-fix-pull-requests) などのクラウドセッションを開始するコマンドを実行しました。Claude Code はセッションを作成する前に GitHub 上のリポジトリに対する Claude のアクセスを確認しますが、GitHub 組織に Claude をブロックするポリシーがあるため、GitHub が拒否しました。Claude Code はそこで停止し、該当するポリシーを示すメッセージを表示します。3816Claude Code のプロンプトで、[`/autofix-pr`](/docs/ja/claude-code-on-the-web#auto-fix-pull-requests) などクラウドセッションを開始するコマンドを実行しました。Claude Code はセッションを作成する前に GitHub 上のリポジトリへの Claude のアクセスを確認しますが、GitHub 組織に Claude をブロックするポリシーがあるため、GitHub が拒否しました。Claude Code はそこで停止し、そのポリシーを示すメッセージを表示します。

3700 3817 

3701IP 許可リストによってアクセスがブロックされている場合、メッセージは次のようになります。3818IP 許可リストがアクセスをブロックしている場合、メッセージは次のようになります:

3702 3819 

3703```text theme={null}3820```text theme={null}

3704Your GitHub organization has an IP allowlist that is blocking Claude. Add Claude's IP ranges to your GitHub allowlist.3821Your GitHub organization has an IP allowlist that is blocking Claude. Add Claude's IP ranges to your GitHub allowlist.

3705```3822```

3706 3823 

3707シングルサインオンによってブロックされている場合、メッセージは次のようになります。3824シングルサインオンがブロックしている場合、メッセージは次のようになります:

3708 3825 

3709```text theme={null}3826```text theme={null}

3710Your GitHub organization requires single sign-on. Disconnect and reconnect GitHub on the Connectors page in Claude on the web, click Authorize next to your organization when GitHub asks, then try again.3827Your GitHub organization requires single sign-on. Disconnect and reconnect GitHub on the Connectors page in Claude on the web, click Authorize next to your organization when GitHub asks, then try again.

3711```3828```

3712 3829 

3713Microsoft Entra ID の条件付きアクセスポリシーによってブロックされている場合、メッセージは次のようになります。3830Microsoft Entra ID の条件付きアクセスポリシーがブロックしている場合、メッセージは次のようになります:

3714 3831 

3715```text theme={null}3832```text theme={null}

3716Your GitHub organization's identity provider (Microsoft Entra ID) has a Conditional Access policy that is blocking Claude. Ask your GitHub Enterprise or Entra ID admin to allow Claude in that policy.3833Your GitHub organization's identity provider (Microsoft Entra ID) has a Conditional Access policy that is blocking Claude. Ask your GitHub Enterprise or Entra ID admin to allow Claude in that policy.


3718 3835 

3719**対処方法:**3836**対処方法:**

3720 3837 

3721* **IP 許可リスト**: GitHub 組織またはエンタープライズのオーナーに、Anthropic の送信元 IP アドレスを許可するよう依頼してください。アドレスと変更すべき GitHub の設定については、[GitHub の許可リストとファイアウォール](/docs/ja/network-config#github-allow-lists-and-firewalls)を参照してください。3838* **IP 許可リスト**: GitHub 組織または Enterprise のオーナーに、Anthropic の送信元 IP アドレスを許可するよう依頼します。アドレスと変更すべき GitHub の設定については、[GitHub の許可リストとファイアウォール](/docs/ja/network-config#github-allow-lists-and-firewalls)を参照してください。

3722* **シングルサインオン**: [claude.ai/customize/connectors](https://claude.ai/customize/connectors) で GitHub の接続を解除してから、再度接続してください。GitHub から求められたら、組織の横にある **Authorize** をクリックして、新しい接続をその組織のシングルサインオン用に認可してください。3839* **シングルサインオン**: [claude.ai/customize/connectors](https://claude.ai/customize/connectors) で GitHub の接続を解除してから、再度接続します。GitHub から求められたら、組織の横にある **Authorize** をクリックして、新しい接続がその組織のシングルサインオンに対して認可されるようにします。

3723* **条件付きアクセスポリシー**: GitHub Enterprise または Microsoft Entra ID の管理者に、そのポリシーで Claude を許可するよう依頼してください3840* **条件付きアクセスポリシー**: GitHub Enterprise または Microsoft Entra ID の管理者に、そのポリシーで Claude を許可するよう依頼します

3724* 変更後、コマンドを再度実行してください3841* 変更後、コマンドを再度実行します

3725 3842 

3726<h3 id="single-sign-on-authorization-needed">3843<h3 id="single-sign-on-authorization-needed">

3727 Single sign-on authorization needed3844 Single sign-on authorization needed

3728</h3>3845</h3>

3729 3846 

3730[`/install-github-app`](/docs/ja/github-actions#quick-setup) を実行し、SAML シングルサインオンを強制している組織のリポジトリを選択しました。Claude Code はセットアップの前に GitHub CLI を使ってリポジトリへのアクセスを確認しますが、`gh` トークンがまだその組織に対して認可されていないため、GitHub がその確認を拒否しました。ウィザードは、認可の手順とともに次の警告を表示します。3847[`/install-github-app`](/docs/ja/github-actions#quick-setup) を実行し、SAML シングルサインオンを強制している組織のリポジトリを選択しました。セットアップの前に Claude Code は GitHub CLI でリポジトリへのアクセスを確認しますが、`gh` トークンがまだその組織に対して認可されていないため、GitHub がその確認を拒否しました。ウィザードには、認可の手順とともに警告が表示されます:

3731 3848 

3732```text theme={null}3849```text theme={null}

3733Single sign-on authorization needed3850Single sign-on authorization needed


3736 3853 

3737**対処方法:**3854**対処方法:**

3738 3855 

3739* `gh auth refresh -h github.com -s repo,workflow` を実行して、`repo` および `workflow` スコープで GitHub CLI のログインを再認可し、GitHub からシングルサインオンを求められたら組織を認可してください3856* `gh auth refresh -h github.com -s repo,workflow` を実行して、`repo` と `workflow` スコープで GitHub CLI のログインを再認可し、GitHub からシングルサインオンを求められたら組織を認可します

3740* `GH_TOKEN` の個人アクセストークンで認証している場合は、[github.com/settings/tokens](https://github.com/settings/tokens) を開き、トークンの **Configure SSO** を選択して組織を認可してください3857* `GH_TOKEN` の個人アクセストークンで認証している場合は、[github.com/settings/tokens](https://github.com/settings/tokens) を開き、トークンの **Configure SSO** を選択して組織を認可します

3741* `/install-github-app` を再度実行してください3858* `/install-github-app` を再度実行します

3742 3859 

3743v2.1.273 より前では、この状況で Claude Code は代わりに `Admin permissions required` 警告を表示していました。3860v2.1.273 より前では、この状況で Claude Code は代わりに `Admin permissions required` という警告を表示していました。

3744 3861 

3745<h3 id="failed-to-resume-the-conversation">3862<h3 id="failed-to-resume-the-conversation">

3746 Failed to resume the conversation3863 Failed to resume the conversation

3747</h3>3864</h3>

3748 3865 

3749Claude Code は、[`claude --resume` ピッカー](/docs/ja/sessions#use-the-session-picker)で選択したセッションの保存済みトランスクリプトを読み取れないか処理できなかったため、部分的に読み込まれた状態で続行するのではなくプロセスを終了します。メッセージには再試行用のコマンドが含まれます。3866[`claude --resume` ピッカー](/docs/ja/sessions#use-the-session-picker)で選択したセッションの保存済みトランスクリプトを Claude Code が読み取りまたは処理できなかったため、部分的に読み込まれた状態で続行するのではなくプロセスを終了します。メッセージには再試行のためのコマンドが含まれます:

3750 3867 

3751```text theme={null}3868```text theme={null}

3752Failed to resume the conversation.3869Failed to resume the conversation.

3753Run claude --resume <session-id> to retry, or claude to start a new session.3870Run claude --resume <session-id> to retry, or claude to start a new session.

3754```3871```

3755 3872 

3756Claude Code はメッセージを表示した後、終了コード 1 で終了します。実行中のセッション内の `/resume` ピッカーでは、代わりに会話内で `Failed to resume conversation` と報告され、現在のセッションは実行を続けます。v2.1.216 より前では、`claude --resume` ピッカーからの再開に失敗すると、このメッセージを表示する代わりに `Resuming conversation…` スピナーが表示されたままになっていました。3873Claude Code はメッセージを表示した後、終了コード 1 で終了します。実行中のセッション内の `/resume` ピッカーでは、代わりに会話内に `Failed to resume conversation` と表示され、現在のセッションは実行を続けます。v2.1.216 より前では、`claude --resume` ピッカーからの再開に失敗すると、このメッセージを表示する代わりに `Resuming conversation…` スピナーが表示されたままになっていました。

3757 3874 

3758**対処方法:**3875**対処方法:**

3759 3876 

3760* メッセージに記載されたセッション ID を使って `claude --resume <session-id>` を実行し、再試行してください3877* メッセージに示されたセッション ID を使って `claude --resume <session-id>` を実行し、再試行します

3761* v2.1.285 より前のバージョンで再試行が同じように失敗する場合は、`claude update` を実行してから再度再開してください。これらのバージョンでは、保存済みトランスクリプトに読み取れないエントリが含まれていると再開に失敗します。3878* v2.1.285 より前のバージョンで、再試行が同じように失敗する場合は、`claude update` を実行してから再度再開します。これらのバージョンでは、保存済みトランスクリプトに読み取れないエントリが含まれていると再開に失敗します。

3762* 再試行が再び失敗する場合は、`claude` を実行して新しいセッションを開始してください3879* 再試行が再び失敗する場合は、`claude` を実行して新しいセッションを開始します

3763 3880 

3764<h3 id="no-conversation-found-with-the-session-id">3881<h3 id="no-conversation-found-with-the-session-id">

3765 No conversation found with the session ID3882 No conversation found with the session ID

3766</h3>3883</h3>

3767 3884 

3768`claude --resume <session-id>` にセッション ID を渡しましたが、一致する保存済みトランスクリプトがありませんでした。3885`claude --resume <session-id>` にセッション ID を渡しましたが、一致する保存済みトランスクリプトがありませんでした:

3769 3886 

3770```text theme={null}3887```text theme={null}

3771No conversation found with session ID: <session-id>3888No conversation found with session ID: <session-id>

3772```3889```

3773 3890 

3774Claude Code はメッセージを表示した後、終了コード 1 で終了します。Claude Code は、[まず現在のプロジェクトを、次にこのマシン上の他のすべてのプロジェクトを](/docs/ja/sessions#where-the-session-picker-looks)対象に ID を検索します。v2.1.223 より前は、検索が現在のプロジェクトディレクトリとその git worktree で止まっていたため、セッションが最後に作業していたディレクトリから再開してください。3891Claude Code はメッセージを表示した後、終了コード 1 で終了します。Claude Code は、[まず現在のプロジェクトを検索し、次にこのマシン上の他のすべてのプロジェクト](/docs/ja/sessions#where-the-session-picker-looks)からその ID を検索します。v2.1.223 より前では、検索は現在のプロジェクトディレクトリとその git worktree で止まっていたため、セッションが最後に作業していたディレクトリから再開してください。

3775 3892 

3776一般的な原因:3893主な原因:

3777 3894 

3778* **ID の入力ミス**: 非インタラクティブ実行の場合、ID は [`--output-format json` の出力](/docs/ja/headless#get-structured-output)の `session_id` フィールドです3895* **ID の入力ミス**: 非対話型の実行では、ID は [`--output-format json` の出力](/docs/ja/headless#get-structured-output)の `session_id` フィールドです

3779* **トランスクリプトの削除**: Claude Code は、[保持期間](/docs/ja/sessions#where-transcripts-are-stored)(デフォルトでは 30 日)が経過すると、[保持期間のクリーンアップルール](/docs/ja/claude-directory#cleaned-up-automatically)に従ってトランスクリプトを削除します3896* **トランスクリプトの削除**: Claude Code は[保持期間](/docs/ja/sessions#where-transcripts-are-stored)(デフォルトは 30 日)が過ぎると、[保持スイープのルール](/docs/ja/claude-directory#cleaned-up-automatically)に従ってトランスクリプトを削除します

3780* **別のマシン**: Claude Code はトランスクリプトをローカルに保存するため、セッションを実行したマシンで再開してください3897* **別のマシン**: Claude Code はトランスクリプトをローカルに保存するため、セッションを実行したマシンで再開してください

3781* **重複コピー**: `~/.claude/projects` 配下のプロジェクトディレクトリをコピーしたために 2 つのトランスクリプトが同じ ID を持っている場合、Claude Code はどちらかのコピーを任意に再開するのではなく、このメッセージを報告します3898* **重複したコピー**: `~/.claude/projects` 配下のプロジェクトディレクトリをコピーして 2 つのトランスクリプトが同じ ID を持つ場合、Claude Code はどちらかのコピーを任意に再開するのではなく、このメッセージを表示します

3782 3899 

3783**対処方法:**3900**対処方法:**

3784 3901 

3785* インタラクティブセッションの場合は、`claude --resume` で[セッションピッカー](/docs/ja/sessions#use-the-session-picker)を開き、`Ctrl+A` を押してこのマシン上のすべてのプロジェクトに範囲を広げてから、セッションを選択してください3902* 対話型セッションの場合は、`claude --resume` で[セッションピッカー](/docs/ja/sessions#use-the-session-picker)を開き、`Ctrl+A` を押してこのマシン上のすべてのプロジェクトに範囲を広げてから、セッションを選択します

3786* `claude -p` や [Agent SDK](/docs/ja/agent-sdk/overview) で作成されたセッションはピッカーに表示されないため、元の実行で出力された `session_id` と ID を照合し直してください3903* `claude -p` または [Agent SDK](/docs/ja/agent-sdk/overview) で作成したセッションはピッカーに表示されないため、元の実行で出力された `session_id` と ID を照合し直してください

3787 3904 

3788<h3 id="windows-reported-an-error-ebadf">3905<h3 id="windows-reported-an-error-ebadf">

3789 Windows reported an error (EBADF) when Claude Code read this session's transcript file3906 Windows reported an error (EBADF) when Claude Code read this session's transcript file

3790</h3>3907</h3>

3791 3908 

3792Windows でセッションを再開したところ、保存済みの[トランスクリプトファイル](/docs/ja/sessions#where-transcripts-are-stored)は正常に開かれましたが、その後の読み取りがシステムエラー EBADF で失敗しました。このシステムエラーからは読み取りが失敗した理由がわからないため、メッセージでは考えられる原因と試すべきことが示されます。3909Windows でセッションを再開し、保存済みの[トランスクリプトファイル](/docs/ja/sessions#where-transcripts-are-stored)は正常に開かれましたが、その後の読み取りがシステムエラー EBADF で失敗しました。システムエラーからは読み取りが失敗した理由がわからないため、メッセージでは考えられる原因と試すべきことが提案されます:

3793 3910 

3794```text theme={null}3911```text theme={null}

3795Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.3912Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.

3796```3913```

3797 3914 

3798このメッセージは、`Failed to resume session <session-id>` などのコマンド自体の失敗行に続いて表示されます。`claude --resume` または [`claude -p`](/docs/ja/headless) コマンドは、これを表示した後に終了コード 1 で終了します。セッション内で `/resume` を実行した場合は、現在のセッションは実行を続けます。3915このメッセージは、`Failed to resume session <session-id>` などのコマンド自体の失敗行に続いて表示されます。`claude --resume` または [`claude -p`](/docs/ja/headless) コマンドは、これを表示した後に終了コード 1 で終了します。セッション内で `/resume` を実行した場合は、現在のセッションが実行を続けます。

3799 3916 

3800**対処方法:**3917**対処方法:**

3801 3918 

3802* セキュリティ、暗号化、エンドポイント管理ツールなど、ファイルの読み取りをスキャンまたはインターセプトするソフトウェアの対象から、セッションのトランスクリプトを保存しているフォルダを除外してください。トランスクリプトはデフォルトでは `%USERPROFILE%\.claude\projects` 配下、または [`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars) が指定するディレクトリ配下に保存されます3919* セキュリティ、暗号化、エンドポイント管理ツールなど、ファイルの読み取りをスキャンまたはインターセプトするソフトウェアの対象から、セッションのトランスクリプトを保持するフォルダーを除外します。トランスクリプトはデフォルトで `%USERPROFILE%\.claude\projects` 配下、または [`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars) が指定するディレクトリ配下に保存されます

3803* 除外を追加できない場合は、代わりにそのソフトウェアの許可済みアプリケーションに Claude Code を追加してください3920* 除外を追加できない場合は、代わりにそのソフトウェアの許可されたアプリケーションに Claude Code を追加します

3804* セッションを再度再開してください3921* セッションを再度再開します

3805 3922 

3806v2.1.282 より前では、この失敗は説明なしで発生していました。`claude --resume <session-id>` は `Failed to resume session <session-id>` で終了し、`-p` 実行では `Failed to resume session: EBADF: bad file descriptor, read` のようなシステムエラーのテキストのみが出力されていました。3923v2.1.282 より前では、失敗時に説明は表示されませんでした。`claude --resume <session-id>` は `Failed to resume session <session-id>` で終了し、`-p` の実行では `Failed to resume session: EBADF: bad file descriptor, read` のようなシステムエラーのテキストのみが出力されていました。

3807 3924 

3808<h3 id="cannot-switch-renderers-in-this-session">3925<h3 id="cannot-switch-renderers-in-this-session">

3809 Cannot switch renderers in this session3926 Cannot switch renderers in this session

3810</h3>3927</h3>

3811 3928 

3812レンダラーを切り替えると、Claude Code はプロセスを再起動します。Claude Code が再起動を拒否するセッションで [`/tui`](/docs/ja/fullscreen#enable-fullscreen-rendering) を実行したため、切り替えは行われず、何も保存されません。表示されるメッセージによって原因がわかります。3929レンダラーを切り替えると、Claude Code はプロセスを再起動します。Claude Code が再起動を拒否するセッションで [`/tui`](/docs/ja/fullscreen#enable-fullscreen-rendering) を実行したため、切り替えは行われず、何も保存されません。表示されるメッセージによって原因がわかります:

3813 3930 

3814* `Cannot switch renderers while work is running in the background`: バックグラウンドシェルやサブエージェントなど、再起動によって放棄されてしまうバックグラウンド作業が実行中です。作業が完了するのを待つか、[`/tasks`](/docs/ja/commands) で停止してから、`/tui fullscreen` または `/tui default` を再度実行してください3931* `Cannot switch renderers while work is running in the background`: バックグラウンドシェルやサブエージェントなど、再起動すると放棄されてしまうバックグラウンドの作業が実行中です。作業が終わるのを待つか、[`/tasks`](/docs/ja/commands) で停止してから、`/tui fullscreen` または `/tui default` を再度実行します

3815* `Cannot switch renderers in this session`: セッションに、Claude Code が再起動後のプロセスに引き継げない制限があります。v2.1.234 より前では、Claude Code はそれでも再起動し、再起動されたセッションはそれらの制限なしで実行されていました3932* `Cannot switch renderers in this session`: セッションに、Claude Code が再起動後のプロセスに引き継げない制限があります。v2.1.234 より前では、Claude Code はそれでも再起動し、再起動されたセッションはそれらの制限なしで実行されていました

3816 3933 

3817制限に関するメッセージでは、括弧内の部分に Claude Code が検出した制限が示されます。3934制限に関するメッセージでは、括弧内の部分に Claude Code が検出した制限が示されます:

3818 3935 

3819```text theme={null}3936```text theme={null}

3820Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.3937Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.


3822 3939 

3823メッセージの括弧内に表示される可能性のある各理由:3940メッセージの括弧内に表示される可能性のある各理由:

3824 3941 

3825* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: Claude Code が再起動後のプロセスに引き継がないフラグを付けてセッションを開始しました。これらのフラグには、[`--system-prompt`](/docs/ja/cli-reference#cli-flags)、`--system-prompt-file`、`--append-system-prompt-file`、[`--tools`](/docs/ja/cli-reference#cli-flags) 許可リスト、[`--setting-sources`](/docs/ja/cli-reference#cli-flags)、[`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) が含まれます3942* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: Claude Code が再起動後のプロセスに引き継がないフラグを付けてセッションを開始しました。これらのフラグには、[`--system-prompt`](/docs/ja/cli-reference#cli-flags)、`--system-prompt-file`、`--append-system-prompt-file`、[`--tools`](/docs/ja/cli-reference#cli-flags) の許可リスト、[`--setting-sources`](/docs/ja/cli-reference#cli-flags)、[`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) が含まれます

3826* `permission rules set for this session only`: フックまたは SDK の呼び出し元からの[権限の更新](/docs/ja/hooks#permission-update-entries)によって、`session` を宛先とする拒否ルールまたは確認ルールが追加されました。セッションスコープの許可ルールでは拒否は発生しません。再起動によって許可ルールは破棄され、Claude Code は代わりに再度確認を求めます3943* `permission rules set for this session only`: フックまたは SDK の呼び出し元からの[権限の更新](/docs/ja/hooks#permission-update-entries)により、`session` を保存先とする拒否ルールまたは確認ルールが追加されました。セッションスコープの許可ルールでは拒否は発生しません。再起動するとそれらは破棄され、Claude Code は代わりに再度確認を求めます

3827* `ask-before-running rules with no command-line form`: フックまたは SDK の呼び出し元からの権限の更新によって、Claude Code が `--allowed-tools` および `--disallowed-tools` として引き継ぐルールに加えて確認ルールが追加されました。確認ルール用のフラグは存在しません3944* `ask-before-running rules with no command-line form`: フックまたは SDK の呼び出し元からの権限の更新により、Claude Code が `--allowed-tools` と `--disallowed-tools` として引き継ぐルールに加えて、確認ルールが追加されました。確認ルール用のフラグは存在しません

3828* `permission rules a command line cannot carry intact` および `added directories a command line cannot carry intact`: セッションの途中で、権限の更新によってルールまたはディレクトリパスが追加されました。再起動後のプロセスのコマンドラインでは、そのテキストを同じ値として引き継ぐことができません3945* `permission rules a command line cannot carry intact` および `added directories a command line cannot carry intact`: 権限の更新により、セッションの途中でルールまたはディレクトリパスが追加されました。再起動後のプロセスのコマンドラインでは、そのテキストを同じ値として引き継げません

3829 3946 

3830**対処方法:**3947**対処方法:**

3831 3948 

3832* それらの制限なしで開始したセッションで `/tui fullscreen` を実行するか、元に戻す場合は `/tui default` を実行してください。Claude Code はそのセッションで [`tui` 設定](/docs/ja/settings-reference#tui)を保存します3949* それらの制限なしで開始したセッションで `/tui fullscreen` を実行するか、元に戻す場合は `/tui default` を実行します。Claude Code はそのセッションで [`tui` 設定](/docs/ja/settings-reference#tui)を保存します

3833 3950 

3834<h3 id="claude-code-couldnt-restart">3951<h3 id="claude-code-couldnt-restart">

3835 Claude Code couldn't restart3952 Claude Code couldn't restart

3836</h3>3953</h3>

3837 3954 

3838Claude Code が、たとえば [`/tui`](/docs/ja/fullscreen#enable-fullscreen-rendering) の実行後にフルスクリーンレンダリングへの切り替えまたはその解除のために再起動していました。セッションは閉じましたが新しいプロセスを開始できなかったため、このメッセージを出力してステータス 1 で終了しました。3955このメッセージで会話が保存されていると示されている場合、会話はディスク上にあり、中断したところから再開できます。Claude Code は、たとえば [`/tui`](/docs/ja/fullscreen#enable-fullscreen-rendering) の実行後にフルスクリーンレンダリングへの切り替えまたはその解除のために自身を再起動しようとしましたが、新しいプロセスを開始できなかったため、ステータス 1 で終了しました:

3839 3956 

3840```text theme={null}3957```text theme={null}

3841Claude Code couldn't restart. Your conversation is saved. Start Claude Code again and run /resume to pick it up.3958Claude Code couldn't restart. Your conversation is saved. Start Claude Code again and run /resume to pick it up.

3842```3959```

3843 3960 

3844新しいセッションで `/tui` が最初の入力だった場合など、再起動時に再度開く会話がなかった場合、メッセージは `Claude Code couldn't restart. Start Claude Code again.` となります。3961たとえば新しいセッションで `/tui` が最初の入力だったために、再起動時に再度開く会話がなかった場合、メッセージは `Claude Code couldn't restart. Start Claude Code again.` となります。

3845 3962 

3846**対処方法:**3963**対処方法:**

3847 3964 

3848* 同じディレクトリからシェルで `claude` を再度実行してください。メッセージに会話が保存されていると示されていた場合は、新しいセッションで [`/resume`](/docs/ja/sessions#resume-a-session) を実行して会話を選択してください3965* シェルで `claude` を再度実行します。メッセージで会話が保存されていると示されていた場合は、新しいセッションで [`/resume`](/docs/ja/sessions#resume-a-session) を実行し、その会話を選択します。一覧にない場合は、[セッションピッカーの範囲を広げます](/docs/ja/sessions#where-the-session-picker-looks)

3849* 再起動が失敗し続ける場合は、シェルから [`claude --debug-file claude-debug.log`](/docs/ja/cli-reference#cli-flags) で Claude Code を起動してください。そのセッションからの再起動が失敗すると、起動したディレクトリにある `claude-debug.log` に、オペレーティングシステムのエラーを含む `Failed to relaunch:` 行が記録されます。[問題を報告する](#report-an-error)際にはその行を含めてください3966* 再起動が失敗し続ける場合は、シェルから [`claude --debug-file claude-debug.log`](/docs/ja/cli-reference#cli-flags) で Claude Code を起動します。そのセッションからの再起動が失敗すると、起動したディレクトリの `claude-debug.log` に、オペレーティングシステムのエラーを含む `Failed to relaunch:` 行が記録されます。[問題を報告する](#report-an-error)際は、その行を含めてください

3850 3967 

3851<h3 id="couldnt-open-claude-desktop">3968<h3 id="couldnt-open-claude-desktop">

3852 Couldn't open Claude Desktop3969 Couldn't open Claude Desktop

3853</h3>3970</h3>

3854 3971 

3855セッション内で [`/desktop`](/docs/ja/desktop#coming-from-the-cli) またはそのエイリアスの `/app` を実行したか、シェルで [`claude --desktop`](/docs/ja/cli-reference#cli-flags) を実行したところ、Claude Code が Claude Desktop を開くために使用するシステムコマンドが失敗しました。`/desktop` の後、セッションはターミナルに残ります。`claude --desktop` は `Error:` プレフィックスなしでメッセージを出力し、ステータス 1 で終了します。3972セッションで [`/desktop`](/docs/ja/desktop#coming-from-the-cli) またはそのエイリアス `/app` を実行したか、シェルで [`claude --desktop`](/docs/ja/cli-reference#cli-flags) を実行しましたが、Claude Code が Claude Desktop を開くために使うシステムコマンドが失敗しました。`/desktop` の後、セッションはターミナルにとどまります。`claude --desktop` は `Error:` プレフィックスなしでメッセージを出力し、ステータス 1 で終了します。

3856 3973 

3857括弧内のテキストには、失敗したコマンドと、出力された場合はその終了ステータスとエラー出力の最初の行が示されます。macOS ではこのコマンドは次の例のように `open` で、Windows では `rundll32` です。3974括弧内のテキストには、失敗したコマンドと、そのコマンドが出力した場合は終了ステータスおよびエラー出力の最初の行が示されます。macOS ではこの例のように `open` コマンド、Windows では `rundll32` コマンドです:

3858 3975 

3859```text theme={null}3976```text theme={null}

3860Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.3977Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.


3862 3979 

3863**対処方法:**3980**対処方法:**

3864 3981 

3865* Claude Desktop を手動で開いてから、`/desktop` または `claude --desktop` を再度実行してください3982* Claude Desktop を自分で開いてから、`/desktop` または `claude --desktop` を再度実行します

3866* 失敗したコマンドの完全なエラー出力を確認するには、`/debug` でデバッグログをオンにして `/desktop` を再度実行するか、`claude --desktop --debug-file <path>` を実行してから、デバッグログを確認してください3983* 失敗したコマンドの完全なエラー出力を確認するには、`/debug` でデバッグログをオンにして `/desktop` を再度実行するか、`claude --desktop --debug-file <path>` を実行してから、デバッグログを確認します

3867 3984 

3868v2.1.285 より前では、メッセージの末尾は `Open Claude Desktop and run /desktop again.` でした。v2.1.275 より前では、メッセージは `Failed to open Claude Desktop. Please try opening it manually.` で、何が失敗したかは示されていませんでした。3985v2.1.285 より前では、メッセージの末尾は `Open Claude Desktop and run /desktop again.` でした。v2.1.275 より前では、メッセージは `Failed to open Claude Desktop. Please try opening it manually.` で、何が失敗したかは示されませんでした。

3869 3986 

3870<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3987<h3 id="terminal-setup-left-your-zed-keymap-unchanged">

3871 /terminal-setup left your Zed keymap unchanged3988 /terminal-setup で Zed のキーマップが変更されなかった

3872</h3>3989</h3>

3873 3990 

3874Zed で [`/terminal-setup`](/docs/ja/terminal-config#enter-multiline-prompts) を実行しましたが、Claude Code が Zed の `keymap.json` の更新を完了できなかったため、ファイルは元のまま残されました。3991Zed で [`/terminal-setup`](/docs/ja/terminal-config#enter-multiline-prompts) を実行しましたが、Claude Code は Zed の `keymap.json` の更新を完了できなかったため、ファイルを元のままにしました。

3875 3992 

3876各メッセージにはキーマップのパスが示され、最後に自分で追加するためのキーボードショートカットのブロックが示されます。3993各メッセージにはキーマップのパスが示され、最後に自分で追加するためのキーボードショートカットのブロックが記載されます:

3877 3994 

3878```text theme={null}3995```text theme={null}

3879Couldn't update your Zed keymap, so it was left unchanged.3996Couldn't update your Zed keymap, so it was left unchanged.


3881{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }3998{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }

3882```3999```

3883 4000 

3884メッセージの最初の行に原因が示されます。4001メッセージの最初の行に原因が示されます:

3885 4002 

3886* `Couldn't read your Zed keymap, so it was left unchanged.`: ファイルの権限などの理由で、Claude Code がファイルを読み取れませんでした4003* `Couldn't read your Zed keymap, so it was left unchanged.`: ファイルの権限などが原因で、Claude Code がファイルを読み取れませんでした

3887* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: ファイルは正常に読み取れましたが、`//` コメントや末尾のカンマを許容しても、キーボードショートカットのブロックの配列として解析できません4004* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: ファイルは読み取れましたが、`//` コメントや末尾のカンマを許容しても、キーボードショートカットのブロックの配列として解析できません

3888* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code がファイルを隣の `.bak` バックアップにコピーできなかったため、何も変更しませんでした4005* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code がファイルをその隣の `.bak` バックアップにコピーできなかったため、何も変更しませんでした

3889* `Couldn't update your Zed keymap, so it was left unchanged.`: マージした結果が、キーボードショートカットを含む有効なキーマップとして検証されなかったため、Claude Code は書き込まずに破棄しました。キーが重複しているキーボードショートカットのブロックがあると、これが発生することがあります4006* `Couldn't update your Zed keymap, so it was left unchanged.`: マージした結果が、そのキーボードショートカットを含む有効なキーマップとして検証できなかったため、Claude Code は書き込まずに破棄しました。キーが重複したキーボードショートカットのブロックがあると、これが発生することがあります

3890 4007 

3891**対処方法:**4008**対処方法:**

3892 4009 

3893* メッセージのブロックを、メッセージに示されたパスにある `keymap.json` のトップレベルの配列にコピーしてください4010* メッセージに記載されたブロックを、メッセージが示すパスにある `keymap.json` のトップレベルの配列にコピーします

3894* `isn't a readable list of keybindings` の場合は、構文エラーを修正するか、ファイルのトップレベルの値を配列にしてから、`/terminal-setup` を再度実行してください4011* `isn't a readable list of keybindings` の場合は、構文エラーを修正するか、ファイルのトップレベルの値を配列にしてから、`/terminal-setup` を再度実行します

3895 4012 

3896v2.1.247 より前では、`/terminal-setup` は `//` コメントや末尾のカンマを使用した Zed のキーマップを解析できず、ファイル全体を自身のキーボードショートカットだけで置き換えたうえで、キーボードショートカットがインストールされたと報告していました。以前のバージョンによって置き換えられたキーマップを復元するには、[複数行のプロンプトを入力する](/docs/ja/terminal-config#enter-multiline-prompts)で説明されている `.bak` バックアップファイルを使用してください。4013v2.1.247 より前では、`/terminal-setup` は `//` コメントや末尾のカンマを使った Zed のキーマップを解析できず、ファイル全体を自身のキーボードショートカットのみに置き換えたうえで、そのキーボードショートカットがインストールされたと報告していました。以前のバージョンによって置き換えられたキーマップを復元するには、[複数行のプロンプトを入力する](/docs/ja/terminal-config#enter-multiline-prompts)で説明されている `.bak` バックアップファイルを使用します。

3897 4014 

3898<h3 id="skill-usage-reports-are-not-available-on-this-connection">4015<h3 id="skill-usage-reports-are-not-available-on-this-connection">

3899 Skill usage reports are not available on this connection4016 Skill usage reports are not available on this connection

3900</h3>4017</h3>

3901 4018 

3902スマートフォンやブラウザから [Remote Control](/docs/ja/remote-control) 経由で [`/skill-doctor`](/docs/ja/skills#find-unused-skills) を実行しました。Claude Code は Remote Control 経由ではスキルの使用状況レポートを送信せず、代わりに次のメッセージを返します。4019スマートフォンまたはブラウザから [Remote Control](/docs/ja/remote-control) 経由で [`/skill-doctor`](/docs/ja/skills#find-unused-skills) を実行しました。Claude Code はスキルの使用状況レポートを Remote Control 経由で送信せず、代わりに次のメッセージで応答します:

3903 4020 

3904```text theme={null}4021```text theme={null}

3905Skill usage reports are not available on this connection.4022Skill usage reports are not available on this connection.


3907 4024 

3908**対処方法:**4025**対処方法:**

3909 4026 

3910* セッションが実行されているマシンのターミナルで `/skill-doctor` を実行するか、そのマシンで `claude -p "/skill-doctor"` を実行してください4027* セッションが実行されているマシンのターミナルで `/skill-doctor` を実行するか、そこで `claude -p "/skill-doctor"` を実行します

3911 4028 

3912<h3 id="custom-output-styles-cant-be-selected-over-remote-control">4029<h3 id="custom-output-styles-cant-be-selected-over-remote-control">

3913 Custom output styles can't be selected over Remote Control4030 Custom output styles can't be selected over Remote Control

3914</h3>4031</h3>

3915 4032 

3916モバイルアプリまたは Web から [Remote Control](/docs/ja/remote-control) 経由で [`/output-style`](/docs/ja/output-styles#change-your-output-style) を実行したか、このコマンドがセッションに中継されたメッセージで届きました。そのようなターンはアカウントの所有者からのものではない可能性があるため、Claude Code はそのターンでは[組み込みスタイル](/docs/ja/output-styles#built-in-output-styles)のみを一覧表示および選択し、コマンドがスタイルを一覧表示したとき、または指定した名前を認識できなかったときに、この通知を追加します。[カスタムスタイル](/docs/ja/output-styles#create-a-custom-output-style)の名前には、存在しない名前と同じ応答が返されます。4033[Remote Control](/docs/ja/remote-control) 経由でモバイルアプリまたは Web から [`/output-style`](/docs/ja/output-styles#change-your-output-style) を実行したか、セッションに中継されたメッセージでそのコマンドが届きました。このようなターンはアカウント所有者からのものではない可能性があるため、Claude Code はそのターンでは[組み込みスタイル](/docs/ja/output-styles#built-in-output-styles)のみを一覧表示および選択し、コマンドがスタイルを一覧表示したとき、または指定した名前を認識できなかったときには、常にこの通知を追加します。[カスタムスタイル](/docs/ja/output-styles#create-a-custom-output-style)の名前には、存在しない名前と同じ応答が返されます:

3917 4034 

3918```text theme={null}4035```text theme={null}

3919Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.4036Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.


3921 4038 

3922**対処方法:**4039**対処方法:**

3923 4040 

3924* `/output-style concise` などの組み込みスタイルを選択してください4041* `/output-style concise` などの組み込みスタイルを選択します

3925* カスタムスタイルを使用するには、プロジェクトの `.claude/settings.local.json` で [`outputStyle`](/docs/ja/settings-reference#outputstyle) を設定するか、セッション自体にターミナルがある場合はそこで `/output-style <style>` を実行してください4042* カスタムスタイルを使用するには、プロジェクトの `.claude/settings.local.json` で [`outputStyle`](/docs/ja/settings-reference#outputstyle) を設定するか、セッション自体にターミナルがある場合はそこで `/output-style <style>` を実行します

3926 4043 

3927<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">4044<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">

3928 Output styles are saved to local settings which this session doesn't load4045 Output styles are saved to local settings which this session doesn't load

3929</h3>4046</h3>

3930 4047 

3931設定ソースから `local` が除外されているセッションで、`/output-style <style>` または `/config outputStyle=<style>` を使って[出力スタイル](/docs/ja/output-styles)を切り替えようとしました。例としては、[`settingSources`](/docs/ja/agent-sdk/typescript#options) に `"local"` が含まれていない [Agent SDK](/docs/ja/agent-sdk/typescript) セッションや、`local` を含まない [`--setting-sources`](/docs/ja/cli-reference#cli-flags) の値で開始された CLI セッションがあります。どちらのコマンドもスタイルを `.claude/settings.local.json` に保存しますが、このようなセッションはこのファイルを読み込まないため、Claude Code は効果のない設定を書き込む代わりに拒否します。4048設定ソースから `local` が除外されているセッションで、`/output-style <style>` または `/config outputStyle=<style>` を使って[出力スタイル](/docs/ja/output-styles)を切り替えようとしました。たとえば、[`settingSources`](/docs/ja/agent-sdk/typescript#options) に `"local"` が含まれていない [Agent SDK](/docs/ja/agent-sdk/typescript) セッションや、`local` を含まない [`--setting-sources`](/docs/ja/cli-reference#cli-flags) の値で開始した CLI セッションが該当します。どちらのコマンドもスタイルを `.claude/settings.local.json` に保存しますが、このようなセッションはこのファイルを読み込まないため、Claude Code は効果のない設定を書き込む代わりに拒否します:

3932 4049 

3933```text theme={null}4050```text theme={null}

3934Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.4051Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.


3936 4053 

3937**対処方法:**4054**対処方法:**

3938 4055 

3939* セッションの設定ソースに `local` を追加してから、再度切り替えてください4056* セッションの設定ソースに `local` を追加してから、再度切り替えます

3940* プロジェクトの `.claude/settings.json` や `~/.claude/settings.json` など、セッションが読み込む設定ファイルで [`outputStyle`](/docs/ja/settings-reference#outputstyle) キーを設定してください。TypeScript SDK では、代わりにインラインの `settings` オブジェクト内で `outputStyle` を設定してください。[出力スタイルを有効にする](/docs/ja/agent-sdk/modifying-system-prompts#activate-an-output-style)を参照してください4057* プロジェクトの `.claude/settings.json` や `~/.claude/settings.json` など、セッションが読み込む設定ファイルで [`outputStyle`](/docs/ja/settings-reference#outputstyle) キーを設定します。TypeScript SDK では、代わりにインラインの `settings` オブジェクト内で `outputStyle` を設定します。[出力スタイルを有効にする](/docs/ja/agent-sdk/modifying-system-prompts#activate-an-output-style)を参照してください

3941 4058 

3942<h3 id="recap-only-runs-when-you-ask-for-it-yourself">4059<h3 id="recap-only-runs-when-you-ask-for-it-yourself">

3943 /recap only runs when you ask for it yourself4060 /recap only runs when you ask for it yourself

3944</h3>4061</h3>

3945 4062 

3946[`/recap`](/docs/ja/interactive-mode#session-recap) のリクエストがユーザー自身の入力によるものではありませんでした。Slack、Teams、または[プロジェクト](/docs/ja/claude-projects)のスレッドからセッションに中継されたメッセージ、あるいは[ルーティン](/docs/ja/routines)や別のプログラムが送信したプロンプトで届きました。4063[`/recap`](/docs/ja/interactive-mode#session-recap) のリクエストがユーザー自身の入力からのものではありませんでした。Slack、Teams、または[プロジェクト](/docs/ja/claude-projects)のスレッドからセッションに中継されたメッセージ、あるいは[ルーティン](/docs/ja/routines)や別のプログラムが送信したプロンプトで届きました。

3947 4064 

3948中継されたメッセージは、ユーザー自身が書いたものであってもこの通知を受け取ります。Claude Code は、中継されたメッセージや自動化されたメッセージが、セッションを実行しているアカウントの本人からのものかどうかを判別できないため、要約の代わりに次の通知で応答します。4065中継されたメッセージは、ユーザー自身が書いたものであっても通知の対象になります。Claude Code は、中継されたメッセージや自動化されたメッセージが、セッションを実行しているアカウントの持ち主からのものかどうかを判断できないため、要約の代わりに次の通知で応答します:

3949 4066 

3950```text theme={null}4067```text theme={null}

3951/recap only runs when you ask for it yourself in this session: from the terminal, the Claude app or claude.ai/code, or over Remote Control. A message relayed from Slack, Teams or a project thread, or sent by a routine or another program, can't request it.4068/recap only runs when you ask for it yourself in this session: from the terminal, the Claude app or claude.ai/code, or over Remote Control. A message relayed from Slack, Teams or a project thread, or sent by a routine or another program, can't request it.

3952```4069```

3953 4070 

3954`claude -p` に渡した `/recap` や、ユーザー自身の [Agent SDK](/docs/ja/agent-sdk/overview) アプリケーションが起動したセッションに送信した `/recap` は、ユーザー自身の入力として扱われます。4071`claude -p` に渡した `/recap` や、独自の [Agent SDK](/docs/ja/agent-sdk/overview) アプリケーションが起動したセッションに送信した `/recap` は、ユーザー自身の入力として扱われます。

3955 4072 

3956**対処方法:**4073**対処方法:**

3957 4074 

3958* セッションを自分で開き、そこで `/recap` を実行してください。セッションのターミナル、[デスクトップアプリ](/docs/ja/desktop)や[モバイルアプリ](/docs/ja/mobile)、[claude.ai/code](https://claude.ai/code)、または [Remote Control](/docs/ja/remote-control) 経由で実行できます4075* 自分でセッションを開き、そこで `/recap` を実行します。セッションのターミナル、[デスクトップアプリ](/docs/ja/desktop)や[モバイルアプリ](/docs/ja/mobile)、[claude.ai/code](https://claude.ai/code)、または [Remote Control](/docs/ja/remote-control) 経由で実行できます

3959* ルーティンや別のプログラムが送信した場合は、そのプロンプトから `/recap` を削除してください4076* ルーティンや別のプログラムが送信した場合は、そのプロンプトから `/recap` を削除します

3960 4077 

3961<h2 id="plugin-errors">4078<h2 id="plugin-errors">

3962 プラグインエラー4079 プラグインエラー


5329* 同じターミナルまたはランチャーからの将来の起動を修正するには、その環境から `CLAUDE_CODE_CHILD_SESSION` を削除します5446* 同じターミナルまたはランチャーからの将来の起動を修正するには、その環境から `CLAUDE_CODE_CHILD_SESSION` を削除します

5330 5447 

5331<h2 id="configuration-warnings">5448<h2 id="configuration-warnings">

5332 設定警告5449 設定の警告

5333</h2>5450</h2>

5334 5451 

5335Claude Code はこれらのメッセージのほとんどを stderr に書き込み、会話には書き込みません。また、ほとんどのメッセージはスタートアップ時に書き込みます。エントリは、デバッグログや会話ビューのスタートアップ通知など、別の場所に表示される場合、または [認識されないモデル診断行](#unrecognized-model-id-on-a-request) のようにリクエスト時など別の時間に表示される場合に、そのことを記載します。5452Claude Code はこれらのメッセージのほとんどを会話ではなく stderr に書き込み、そのほとんどを起動時に書き込みます。メッセージがデバッグログや会話ビューの起動時通知など別の場所に表示される場合や、リクエスト時の[認識されないモデルの診断行](#unrecognized-model-id-on-a-request)のように別のタイミングで表示される場合は、各項目にその旨を記載しています。

5336 5453 

5337<h3 id="exited-after-an-unrecoverable-interface-error">5454<h3 id="exited-after-an-unrecoverable-interface-error">

5338 回復不可能なインターフェイスエラーの後に Claude Code が終了しました5455 Claude Code exited after an unrecoverable interface error

5339</h3>5456</h3>

5340 5457 

5341Claude Code は、ターミナルインターフェイスが回復できないエラーに遭遇して終了するときにこのメッセージを出力します。これはどちらのレンダラーでも発生する可能性があります。2 番目の文は、エラーが [フルスクリーン](/docs/ja/fullscreen) レンダラーの起動中に発生した場合にのみ表示されます。5458Claude Code は、ターミナルインターフェースが回復できないエラーに遭遇して終了したときに、使用していたレンダラーがどちらであってもこのメッセージを表示します。2 文目は、[フルスクリーン](/docs/ja/fullscreen)レンダラーの起動中にエラーが発生した場合にのみ表示されます。

5342 5459 

5343```text theme={null}5460```text theme={null}

5344Claude Code exited after an unrecoverable interface error (<error>). It happened while the fullscreen renderer was starting, so the next launch will use the classic renderer (CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 forces that any time).5461Claude Code exited after an unrecoverable interface error (<error>). It happened while the fullscreen renderer was starting, so the next launch will use the classic renderer (CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 forces that any time).

5345```5462```

5346 5463 

5347**対応方法:**5464**対処方法:**

5348 5465 

5349* Claude Code を再度起動してください。会話を再開するには、同じディレクトリで `claude --resume` を実行してください。5466* Claude Code を再度起動します。会話を再開するには、同じディレクトリで `claude --resume` を実行します。

5350* メッセージがフルスクリーンレンダラーに言及している場合、[フルスクリーンレンダリング](/docs/ja/fullscreen#fullscreen-renderer-didnt-finish-starting) は次の起動が何を行うかを説明しており、これはフルスクリーンをどのように有効にしたかによって異なり、フルスクリーンを再度試すか、クラシックレンダラーを保持する方法が説明されています。5467* メッセージにフルスクリーンレンダラーが示されている場合、次回の起動時の動作(フルスクリーンをどのようにオンにしたかによって異なります)と、フルスクリーンを再度試す方法やクラシックレンダラーを使い続ける方法については、[フルスクリーンレンダリング](/docs/ja/fullscreen#fullscreen-renderer-didnt-finish-starting)を参照してください。

5351 5468 

5352v2.1.236 より前では、Claude Code はこの種のエラーの後、メッセージを出力せずに終了していました。5469v2.1.236 より前では、この種のエラーの後、Claude Code はメッセージを表示せずに終了していました。

5353 5470 

5354<h3 id="agent-descriptions-are-over-the-15000-token-limit">5471<h3 id="agent-descriptions-are-over-the-15000-token-limit">

5355 エージェント説明が 15.0k トークン制限を超えています5472 Agent descriptions are over the 15.0k-token limit

5356</h3>5473</h3>

5357 5474 

5358Claude Code はこの警告を stderr ではなく、会話ビューのスタートアップ通知として表示します。[サブエージェント](/docs/ja/sub-agents) の組み合わせた説明(組み込みのものを除く)が、Claude Code が推定する 15,000 トークンを超えています。各エージェントはその名前とその `description` フロントマターをカウントします。Claude Code は合計が制限を超えているかどうかに関わらず、すべてのエージェントを読み込むため、警告は何が読み込まれるかを変更しません。5475Claude Code はこの警告を stderr ではなく、会話ビューの起動時通知として表示します。組み込みのものを除く[サブエージェント](/docs/ja/sub-agents)の説明の合計が、Claude Code の推定で 15,000 トークンを超えています。各エージェントについて、名前と `description` フロントマターがカウントされます。合計が上限を超えているかどうかにかかわらず Claude Code はすべてのエージェントを読み込むため、この警告によって読み込まれる内容は変わりません。

5359 5476 

5360```text theme={null}5477```text theme={null}

5361Agent descriptions are over the 15.0k-token limit (~16.2k tokens) · ask Claude to trim agent descriptions in .claude/agents/5478Agent descriptions are over the 15.0k-token limit (~16.2k tokens) · ask Claude to trim agent descriptions in .claude/agents/

5362```5479```

5363 5480 

5364**対応方法:**5481**対処方法:**

5365 5482 

5366* エージェントファイルの `description` フロントマターを短縮するか、Claude に短縮するよう依頼してください。5483* エージェントファイルの `description` フロントマターを短くするか、Claude に短縮を依頼します。

5367* 使用しなくなったエージェントファイルを削除してください。5484* 使用しなくなったエージェントファイルを削除します。

5485 

5486<h3 id="hook-needs-quotes-around-a-path-with-a-space">

5487 Hook needs quotes around a path with a space

5488</h3>

5489 

5490会話ビューに表示されるこの通知は、フックのスクリプトのパスにスペースが含まれていて引用符で囲まれていないため、そのスクリプトが実行されなかったことを意味します。そのフックはシェル形式の [`asyncRewake`](/docs/ja/hooks#run-hooks-in-the-background) フックです。その `command` では、`python3` などのインタープリターの後に引用符で囲まれていないパスのプレースホルダーが続いており、解決されたパスにスペースが含まれています。

5491 

5492通知はフックのイベント名で始まり、スクリプトの名前が示されます。

5493 

5494```text theme={null}

5495Stop hook needs quotes around a path with a space (check.py)

5496```

5497 

5498**対処方法:**

5499 

5500* 通知に示されたスクリプトを実行するフックの `command` で、パスを二重引用符で囲みます。JSON ファイルでは、`"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/check.py\""` のように記述します。

5368 5501 

5369<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">5502<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">

5370 スキル、コマンド、またはワークフローが読み込まれませんでした。その名前は予約されています5503 名前が予約されているため、スキル、コマンド、またはワークフローが読み込まれなかった

5371</h3>5504</h3>

5372 5505 

5373スキルフォルダ、フロントマター `name`、`.claude/commands/` 内のファイルまたはサブフォルダ、または [保存されたワークフロー](/docs/ja/workflows#save-the-workflow-for-reuse) が `anthropic-skills` という名前を使用するか、`anthropic-skills:` で始まる名前を使用しています。Claude Code は [claude.ai から同期されたスキルのためにその名前を予約](/docs/ja/skills#names-reserved-for-synced-skills) し、そのアイテムを読み込みません。5506スキルフォルダ、フロントマターの `name`、`.claude/commands/` 内のファイルやサブフォルダ、または[保存されたワークフロー](/docs/ja/workflows#save-the-workflow-for-reuse)が、`anthropic-skills` という名前、または `anthropic-skills:` で始まる名前を使用しています。Claude Code は[この名前を claude.ai から同期されたスキル用に予約](/docs/ja/skills#names-reserved-for-synced-skills)しているため、その項目を読み込みません。

5374 5507 

5375Claude Code はこの警告を stderr ではなく、会話ビューのスタートアップ通知として表示します。5508Claude Code はこの警告を stderr ではなく、会話ビューの起動時通知として表示します。

5376 5509 

5377```text theme={null}5510```text theme={null}

5378Not loaded: rename .claude/skills/anthropic-skills, then restart — its name uses "anthropic-skills", a name reserved for the skills synced from your claude.ai account5511Not loaded: rename .claude/skills/anthropic-skills, then restart — its name uses "anthropic-skills", a name reserved for the skills synced from your claude.ai account

5379```5512```

5380 5513 

5381通知は、拒否した最初のアイテムについて何を変更するかに名前を付けます。フォルダまたはファイルの名前を変更するか、`name:` 行を編集するか、ワークフローの名前を変更します。複数のアイテムが拒否された場合、通知は `· 2 more` などのカウントで終わり、[デバッグログ](/docs/ja/debug-your-config) は各アイテムに名前を付けます。5514通知には、拒否された最初の項目について変更すべき対象が示されます。名前を変更するフォルダやファイル、編集する `name:` 行、または名前を変更するワークフローです。複数の項目が拒否された場合、通知の末尾に `· 2 more` のような件数が付き、[デバッグログ](/docs/ja/debug-your-config)にそれぞれの項目が記録されます。

5382 5515 

5383**対応方法:**5516**対処方法:**

5384 5517 

5385* 通知が名前を付けるアイテムの名前を変更するか、それが指す `name:` 行を編集し、セッションを再度起動してください。5518* 通知に示された項目の名前を変更するか、通知が指す `name:` 行を編集してから、セッションを再起動します。

5386 5519 

5387v2.1.282 より前では、Claude Code はこれらの名前を持つスキルとコマンドを読み込みました。5520v2.1.282 より前では、Claude Code はこれらの名前のスキルやコマンドを読み込んでいました。

5521 

5522<h3 id="skill-or-command-name-refused">

5523 Skill or command name refused

5524</h3>

5525 

5526この起動時通知は、Claude Code が少なくとも 1 つの[スキルまたはカスタムコマンド](/docs/ja/skills)の名前を拒否したため、そのスキルやコマンドが読み込まれなかったか、`name` フィールドなしで読み込まれたことを意味します。

5527 

5528```text theme={null}

55291 skill or command name refused: run with --debug to see which ([names]), rename, then restart — a name may not hold hidden, direction-changing or blank-like characters, < or >, or be over 256 characters

5530```

5531 

5532* **読み込まれなかった場合**: Claude Code が、ディレクトリ名、コマンドファイルの名前やサブフォルダなど、スキルやコマンドの呼び名となる名前を拒否しました。そのスキルやコマンドは `/` メニューに表示されず、Claude も呼び出せません。デバッグログ内の該当行は `<name> is not offered` となります。

5533* **`name` フィールドが無視された場合**: Claude Code がスキルのフロントマターの `name` を拒否しました。スキル自体は読み込まれますが、`/` メニューには `name` の値が表示されず、その値を入力してもスキルは呼び出されません。デバッグログ内の該当行は `<name value> is not shown for <skill>` となります。

5534 

5535**対処方法:**

5536 

5537* シェルから `claude --debug` で Claude Code を起動し、[デバッグログ](/docs/ja/debug-your-config)で `[names]` を検索します。通知でカウントされた名前ごとに 1 行ずつ記録されています。行内では、ゼロ幅スペースを `\u{200B}` と表すなど一部の不可視文字がコードで表記されるため、それらの位置を確認できます。

5538* フォルダやファイルの名前を変更するか `name:` 行を編集して、[スキル名に含められない文字](/docs/ja/skills#characters-a-skill-name-cant-hold)を取り除くか、256 文字を超える名前を短くします。その後、ファイルが Claude Code が[変更を監視](/docs/ja/skills#live-change-detection)しているディレクトリにある場合を除き、セッションを再起動します。自分が作成していないプラグインのスキルの場合は、プラグインの作成者に名前の変更を依頼してください。

5388 5539 

5389<h3 id="workspace-has-not-been-trusted">5540<h3 id="workspace-has-not-been-trusted">

5390 ワークスペースが信頼されていません5541 Workspace has not been trusted

5391</h3>5542</h3>

5392 5543 

5393Claude Code はプロジェクトの `.claude/settings.json` または `.claude/settings.local.json` で `permissions.allow` ルールまたは `permissions.additionalDirectories` エントリを見つけましたが、[プロジェクト設定からの許可ルールはワークスペース信頼が必要](/docs/ja/permissions#project-allow-rules-and-workspace-trust) なため、それらを適用しませんでした。カウント、設定名、およびメッセージで名前が付けられたファイルは、設定によって異なります。`deny` および `ask` ルールは影響を受けません。5544Claude Code はプロジェクトの `.claude/settings.json` または `.claude/settings.local.json` に `permissions.allow` ルールまたは `permissions.additionalDirectories` エントリを見つけましたが、[プロジェクト設定の許可ルールにはワークスペースの信頼が必要](/docs/ja/permissions#project-allow-rules-and-workspace-trust)であるため、それらを適用しませんでした。メッセージに示される件数、設定名、ファイルは設定内容によって異なります。`deny` ルールと `ask` ルールは影響を受けません。

5394 5545 

5395```text theme={null}5546```text theme={null}

5396Ignoring 2 permissions.allow entries from .claude/settings.local.json: this workspace has not been trusted. Run Claude Code interactively here once and accept the trust dialog, or set projects["/Users/you/project"].hasTrustDialogAccepted: true in /Users/you/.claude.json.5547Ignoring 2 permissions.allow entries from .claude/settings.local.json: this workspace has not been trusted. Run Claude Code interactively here once and accept the trust dialog, or set projects["/Users/you/project"].hasTrustDialogAccepted: true in /Users/you/.claude.json.

5397```5548```

5398 5549 

5399**対応方法:**5550**対処方法:**

5400 5551 

5401* ディレクトリで `claude` を実行し、信頼ダイアログを受け入れてください。[プロジェクト許可ルールとワークスペース信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust) は、その受け入れがどのフォルダをカバーするかを説明しています。5552* そのディレクトリで `claude` を実行し、信頼ダイアログを承認します。その承認がどのフォルダに適用されるかについては、[プロジェクトの許可ルールとワークスペースの信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust)を参照してください。

5402* [非対話型モード](/docs/ja/headless) で `-p` を使用する場合、ダイアログは表示されません。メッセージが出力する正確な `projects` キーを使用して、`~/.claude.json` の `hasTrustDialogAccepted` エントリを設定してください。5553* `-p` を使用した[非対話モード](/docs/ja/headless)ではダイアログは表示されません。メッセージに表示された `projects` キーをそのまま使用して、`~/.claude.json` の `hasTrustDialogAccepted` エントリを設定します。

5403* メッセージが `.claude/settings.local.json` に名前を付けており、git リポジトリの外またはホームディレクトリで Claude Code を起動した場合は、v2.1.200 以降に更新してください。バージョン 2.1.196 から 2.1.199 は、これらのワークスペースでは独自の `.claude/settings.local.json` をリポジトリ提供として扱いました。v2.1.207 以降では、git リポジトリの外で信頼ダイアログを受け入れていない場合、更新だけでは不十分です。フォルダがリポジトリ内にないことを判断するには git を実行する必要があり、Claude Code はその確認を信頼ダイアログを受け入れた後にのみ実行するため、最初のステップを使用してください。ホームディレクトリおよび他の [設定ホーム](/docs/ja/permissions#project-allow-rules-and-workspace-trust) は除外され、ダイアログを待ちません。[プロジェクト許可ルールとワークスペース信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust) を参照してください。5554* メッセージに `.claude/settings.local.json` が示されていて、Git リポジトリの外またはホームディレクトリで Claude Code を起動した場合は、v2.1.200 以降に更新してください。バージョン 2.1.196 から 2.1.199 では、これらのワークスペースで自分の `.claude/settings.local.json` がリポジトリ由来のものとして扱われていました。v2.1.207 以降では、フォルダを信頼していない場合、Git リポジトリの外では更新だけでは不十分です。フォルダがリポジトリ内にないことを判定するには git を実行する必要があり、Claude Code はこのチェックを信頼ダイアログの承認後にのみ実行するため、最初の手順を使用してください。ホームディレクトリやその他の[設定ホーム](/docs/ja/permissions#project-allow-rules-and-workspace-trust)は対象外で、ダイアログを待ちません。[プロジェクトの許可ルールとワークスペースの信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust)を参照してください。

5404 5555 

5405<h3 id="working-directory-is-a-network-path">5556<h3 id="working-directory-is-a-network-path">

5406 作業ディレクトリはネットワークパスです5557 Working directory is a network path

5407</h3>5558</h3>

5408 5559 

5409Claude Code はネットワークパスを作業ディレクトリとして追加しません。ネットワークパスを検索すると、それが名前を付けるホストに接続でき、Windows ではその接続がホストに認証情報を送信する可能性があるため、Claude Code はそのパスを検索せずに拒否します。このメッセージは、そのようなパスで `/add-dir` を実行するとき、またはスタートアップ時の警告として表示されます。スタートアップ時に表示される場合、Claude Code はそのディレクトリなしで起動します。5560Claude Code はネットワークパスを作業ディレクトリとして追加しません。ネットワークパスを参照すると、そのパスが示すホストに接続する可能性があり、Windows ではその接続によってホストに認証情報が送信される場合があるため、Claude Code はパスを参照せずに拒否します。このメッセージは、そのようなパスで `/add-dir` を実行したとき、または起動時の警告として表示されます。起動時に表示された場合、Claude Code はそのディレクトリなしで起動します。

5410 5561 

5411```text theme={null}5562```text theme={null}

5412\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).5563\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).

5413```5564```

5414 5565 

5415Claude Code がこの方法で拒否するパスには、以下が含まれます。5566Claude Code がこの方法で拒否するパスには次のものがあります。

5416 5567 

5417* `\\server\share` などの UNC 共有5568* `\\server\share` などの UNC 共有

5418* `/net/<host>` などのオートマウントパス(そのホストのオートマウント下のディレクトリから Claude Code を起動した場合を除く)。そのオートマウント下での読み取りは、引き続き [ネットワークパスのチェック](/docs/ja/permissions#network-paths) の対象になります。5569* `/net/<host>` などの自動マウントパス(そのホストの自動マウント配下のディレクトリから Claude Code を起動した場合を除く)。その自動マウント配下の読み取りは、引き続き[ネットワークパスのチェック](/docs/ja/permissions#network-paths)の対象になります。

5419* シンボリックリンクまたはジャンクションを通じてネットワークロケーションに到達するローカルパス5570* シンボリックリンクやジャンクションを介してネットワーク上の場所に到達するローカルパス

5420 5571 

5421マップされたドライブ文字と `\\wsl$` パスはネットワークパスとしてカウントされません。5572マップされたドライブ文字と `\\wsl$` パスはネットワークパスとして扱われません。

5422 5573 

5423**対応方法:**5574**対処方法:**

5424 5575 

5425* Windows では、共有をドライブ文字にマップします。例えば `net use Z: \\server\share` を使用し、起動時に `claude --add-dir Z:\` でドライブを渡してください。5576* Windows では、`net use Z: \\server\share` などで共有をドライブ文字にマップし、起動時に `claude --add-dir Z:\` でそのドライブを渡します。

5426* macOS または Linux では、共有をローカルパスにマウントし、代わりにそのパスを追加してください。5577* macOS または Linux では、共有をローカルパスにマウントし、代わりにそのパスを追加します。

5427* パスが `permissions.additionalDirectories` にある場合は、それをリストする設定ファイルから削除してください。5578* パスが `permissions.additionalDirectories` に含まれている場合は、そのパスを記載している設定ファイルから削除します。

5428 5579 

5429v2.1.257 より前では、Claude Code は到達可能なネットワークパスを作業ディレクトリとして受け入れていました。5580v2.1.257 より前では、Claude Code は到達可能なネットワークパスを作業ディレクトリとして受け入れていました。

5430 5581 

5431<h3 id="remote-managed-settings-failed-to-load">5582<h3 id="remote-managed-settings-failed-to-load">

5432 リモート管理設定の読み込みに失敗しました5583 Remote managed settings failed to load

5433</h3>5584</h3>

5434 5585 

5435セッションは [サーバー管理設定](/docs/ja/server-managed-settings) の対象ですが、Claude Code はそれらを取得できなかったか、サーバーが返したものを適用できなかったため、対話型セッションでこの警告を表示します。5586セッションは[サーバー管理設定](/docs/ja/server-managed-settings)の対象ですが、Claude Code がそれらを取得できなかったか、サーバーから返された内容を適用できなかったため、対話セッションでこの警告が表示されます。

5436 5587 

5437括弧内の原因は、`network error`、`request timed out`、または `authentication rejected (401)` などの失敗した内容に名前を付けます。原因 `no setting in the server response could be applied as written` は、サーバーが応答したが、返された設定のいずれも [検証](/docs/ja/server-managed-settings#invalid-entries-in-delivered-settings) に合格しなかったことを意味します。v2.1.282 より前では、この原因は `server returned invalid settings` と読みました。5588括弧内の原因には、`network error`、`request timed out`、`authentication rejected (401)` など、失敗した内容が示されます。原因が `no setting in the server response could be applied as written` の場合は、サーバーは応答したものの、返された設定のいずれも[検証](/docs/ja/server-managed-settings#invalid-entries-in-delivered-settings)に合格しなかったことを意味します。v2.1.282 より前では、この原因は `server returned invalid settings` と表示されていました。

5438 5589 

5439行の残りはセッションが実行するポリシーを示しています。5590行の残りの部分には、セッションがどのポリシーで実行されるかが示されます。

5440 5591 

5441* **以前の成功した取得からキャッシュされた設定**:Claude Code は [保留されている環境変数](/docs/ja/server-managed-settings#fetch-and-caching-behavior) を除いて、そのキャッシュされたポリシーでセッションを実行し、行は `using cached policy` と読みます。5592* **以前の取得成功時にキャッシュされた設定がある場合**: Claude Code は、[保留される環境変数](/docs/ja/server-managed-settings#fetch-and-caching-behavior)を除き、そのキャッシュされたポリシーでセッションを実行し、行には `using cached policy` と表示されます。

5442* **キャッシュなし**:Claude Code はサーバー管理設定なしでセッションを実行し、行は `no remote policy applied` と読みます。5593* **キャッシュがない場合**: Claude Code はサーバー管理設定なしでセッションを実行し、行には `no remote policy applied` と表示されます。

5443 5594 

5444**対応方法:**5595**対処方法:**

5445 5596 

5446* メッセージが名前を付ける原因に対応してください。ネットワーク原因の場合は、このマシンが `api.anthropic.com` に到達できることを確認してください。認証原因の場合は、`/status` でサインインを確認してください。5597* メッセージに示された原因に対処します。ネットワークが原因の場合は、このマシンが `api.anthropic.com` に到達できるか確認します。認証が原因の場合は、`/status` でサインイン状態を確認します

5447* `no setting in the server response could be applied as written` の場合は、管理者に、サーバー上の設定を修正するよう依頼してください。5598* `no setting in the server response could be applied as written` の場合は、管理者にサーバー上の設定の修正を依頼します

5448* `/status` または `claude doctor` を実行して、完全な診断を取得してください。5599* 完全な診断を確認するには、`/status` または `claude doctor` を実行します

5449 5600 

5450v2.1.248 より前では、Claude Code は失敗した設定取得をデバッグログにのみ報告していました。5601v2.1.248 より前では、Claude Code は設定の取得失敗をデバッグログにのみ報告していました。

5451 5602 

5452<h3 id="managed-settings-were-not-approved">5603<h3 id="managed-settings-were-not-approved">

5453 管理設定が承認されませんでした5604 Managed settings were not approved

5454</h3>5605</h3>

5455 5606 

5456組織の [サーバー管理設定](/docs/ja/server-managed-settings) には承認が必要な設定が含まれており、[セキュリティ承認ダイアログ](/docs/ja/server-managed-settings#security-approval-dialogs) を拒否したため、Claude Code はそれらを適用せずに終了します。5607組織の[サーバー管理設定](/docs/ja/server-managed-settings)に承認が必要な設定が含まれており、[セキュリティ承認ダイアログ](/docs/ja/server-managed-settings#security-approval-dialogs)を拒否したため、Claude Code はそれらを適用せずに終了します。

5457 5608 

5458```text theme={null}5609```text theme={null}

5459Managed settings were not approved; exiting without applying them.5610Managed settings were not approved; exiting without applying them.

5460```5611```

5461 5612 

5462**対応方法:**5613**対処方法:**

5463 5614 

5464* Claude Code を再度起動し、ダイアログを承認して、組織の設定の下で続行してください。拒否されたダイアログは記憶されないため、次の起動時に再度表示されます。5615* Claude Code を再度起動し、ダイアログを承認して組織の設定のもとで続行します。拒否したダイアログは記憶されないため、次回の起動時にも再び表示されます。

5465* ダイアログがリストする設定について不確かな場合は、承認する前に組織の管理設定を保守している人に確認してください。5616* ダイアログに表示された設定について不明な点がある場合は、承認する前に組織の管理設定を管理している担当者に確認してください

5466 5617 

5467<h3 id="managed-settings-block-the-default-model">5618<h3 id="managed-settings-block-the-default-model">

5468 管理設定がデフォルトモデルをブロックしています5619 Managed settings block the default model

5469</h3>5620</h3>

5470 5621 

5471組織の [管理設定](/docs/ja/managed-settings) がデフォルトオプションが解決するモデルと、それがステップダウンできるすべてのモデルをブロックしています。デフォルトオプションで起動するセッションは、ブロックされたモデルを実行する代わりに、スタートアップで終了します。表示されるメッセージは、それをブロックする設定によって異なります。[`deniedModels`](/docs/ja/model-config#block-specific-models-or-versions) リストがそれをブロックする場合、メッセージは以下のように読みます。5622組織の[管理設定](/docs/ja/managed-settings)が、Default オプションが解決されるモデルと、その段階的フォールバック先となり得るすべてのモデルをブロックしています。Default オプションで開始されるはずのセッションは、ブロックされたモデルを実行する代わりに起動時に終了します。表示されるメッセージは、ブロックしている設定によって異なります。[`deniedModels`](/docs/ja/model-config#block-specific-models-or-versions) リストによってブロックされている場合、メッセージは次のようになります。

5472 5623 

5473```text theme={null}5624```text theme={null}

5474Claude Code can't start: your organization's managed settings block the default model (claude-opus-5-5) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".5625Claude Code can't start: your organization's managed settings block the default model (claude-opus-5-5) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".

5475```5626```

5476 5627 

5477`availableModels` リストが [`availableModelsMatch`](/docs/ja/settings-reference#availablemodelsmatch) を `"exact"` に設定して省略する場合、メッセージは以下のように読みます。5628[`availableModelsMatch`](/docs/ja/settings-reference#availablemodelsmatch) が `"exact"` に設定された `availableModels` リストにそのモデルが含まれていない場合、メッセージは次のようになります。

5478 5629 

5479```text theme={null}5630```text theme={null}

5480Claude Code can't start: your organization allows only the models listed in "availableModels", and none of them can be used as the default model (claude-opus-5-5 isn't listed). Ask your administrator to update "availableModels".5631Claude Code can't start: your organization allows only the models listed in "availableModels", and none of them can be used as the default model (claude-opus-5-5 isn't listed). Ask your administrator to update "availableModels".

5481```5632```

5482 5633 

5483**対応方法:**5634**対処方法:**

5484 5635 

5485* 設定を管理している場合は、ユーザーが実行できるモデルを `availableModels` に追加するか、すべてのフォールバックをブロックする `deniedModels` エントリを絞り込んでください。[特定のモデルまたはバージョンをブロック](/docs/ja/model-config#block-specific-models-or-versions) はデフォルトオプションがどのようにステップダウンするかを説明しています。5636* 設定を管理している場合は、ユーザーが実行できるモデルを `availableModels` に追加するか、すべてのフォールバックをブロックしている `deniedModels` エントリの範囲を狭めます。Default オプションが段階的にフォールバックする仕組みについては、[特定のモデルまたはバージョンをブロックする](/docs/ja/model-config#block-specific-models-or-versions)を参照してください

5486* 設定を管理していない場合は、メッセージを管理者に送信してください。独自の設定ファイルは、管理された `availableModels` または `deniedModels` リストを拡大することはできません。5637* 設定を管理していない場合は、メッセージを管理者に送ってください。自分の設定ファイルでは、管理された `availableModels` リストや `deniedModels` リストを拡張できません

5487 5638 

5488<h3 id="managed-settings-dont-allow-this-api-provider">5639<h3 id="managed-settings-dont-allow-this-api-provider">

5489 管理設定がこの API プロバイダーを許可していません5640 管理設定がこの API プロバイダーを許可していない

5490</h3>5641</h3>

5491 5642 

5492組織の [管理設定](/docs/ja/managed-settings) は [`allowedProviders`](/docs/ja/settings-reference#allowedproviders) リストを設定し、セッションの API プロバイダーがそれにないか、セッションがそのエントリが要求する方法でピン留めされていないエンドポイントを使用しています。Claude Code はスタートアップ前、ログイン前、またはセッションが次に API に接続するときに拒否します。メッセージは許可されたプロバイダーで始まります。5643組織の[管理設定](/docs/ja/managed-settings)が [`allowedProviders`](/docs/ja/settings-reference#allowedproviders) リストを設定しており、セッションの API プロバイダーがそのリストに含まれていないか、セッションがそのエントリで必要とされる方法で固定されていないエンドポイントを使用しています。Claude Code は、起動時、ログイン前、またはセッションが次に API に接続するときに拒否します。メッセージは許可されたプロバイダーの一覧から始まります。

5493 5644 

5494```text theme={null}5645```text theme={null}

5495Your organization's managed settings allow Claude Code to use: Anthropic API, Amazon Bedrock.5646Your organization's managed settings allow Claude Code to use: Anthropic API, Amazon Bedrock.

5496```5647```

5497 5648 

5498リストが空の場合、メッセージは代わりに以下のように読みます。5649リストが空の場合、メッセージは次のようになります。

5499 5650 

5500```text theme={null}5651```text theme={null}

5501Your organization's managed settings allow Claude Code to use no API provider at all (allowedProviders is an empty list), so it cannot start on this machine.5652Your organization's managed settings allow Claude Code to use no API provider at all (allowedProviders is an empty list), so it cannot start on this machine.

5502```5653```

5503 5654 

5504すべてのエントリが認識されない場合、括弧内は `(allowedProviders lists only unrecognized entries)` と読みます。5655すべてのエントリが認識されない場合、括弧内は代わりに `(allowedProviders lists only unrecognized entries)` となります。

5505 5656 

5506**対応方法:**5657**対処方法:**

5507 5658 

5508* メッセージの `To continue:` ステップに従ってください。5659* メッセージの `To continue:` の手順に従います

5509* 設定を管理している場合、メッセージの `Admins:` で始まる行は、追加するエントリまたはピン留めする値に名前を付け、[`allowedProviders`](/docs/ja/settings-reference#allowedproviders) エントリは、どのソースの `env` ブロックがそれをピン留めできるかを示しています。5660* 設定を管理している場合は、メッセージの `Admins:` で始まる行に、追加すべきエントリまたは固定すべき値が示されています。どのソースの `env` ブロックで固定できるかについては、[`allowedProviders`](/docs/ja/settings-reference#allowedproviders) の項目を参照してください

5510 5661 

5511<h3 id="mcp-server-is-blocked-by-enterprise-managed-policy">5662<h3 id="mcp-server-is-blocked-by-enterprise-managed-policy">

5512 MCP サーバーはエンタープライズ管理ポリシーによってブロックされています5663 MCP server is blocked by enterprise managed policy

5513</h3>5664</h3>

5514 5665 

5515`/mcp` でサーバーの **再接続** を選択したか、無効なサーバーをそこで再度有効にしたところ、[MCP サーバーを制限する](/docs/ja/managed-mcp) 設定がそのサーバーをブロックしています。Claude Code はそれへの接続を拒否し、以下を表示します。5666`/mcp` でサーバーの **Reconnect** を選択したか、無効化されたサーバーをそこで再度オンにしたものの、[MCP サーバーを制限する](/docs/ja/managed-mcp)設定がそのサーバーをブロックしています。Claude Code は接続を拒否し、次のメッセージを表示します。

5516 5667 

5517```text theme={null}5668```text theme={null}

5518MCP server <name> is blocked by enterprise managed policy5669MCP server <name> is blocked by enterprise managed policy

5519```5670```

5520 5671 

5521これらの設定のいずれかがメッセージを生成できます。5672次のいずれの設定でもこのメッセージが表示される可能性があります。

5522 5673 

5523* サーバーに一致する [`deniedMcpServers`](/docs/ja/managed-mcp#policy-based-control-with-allowlists-and-denylists) エントリ(`~/.claude/settings.json` またはプロジェクトの `.claude/settings.json` のものを含む)5674* サーバーに一致する [`deniedMcpServers`](/docs/ja/managed-mcp#policy-based-control-with-allowlists-and-denylists) エントリ(自分の `~/.claude/settings.json` やプロジェクトの `.claude/settings.json` にあるものを含む)

5524* サーバーが一致しない [`allowedMcpServers`](/docs/ja/managed-mcp#policy-based-control-with-allowlists-and-denylists) リスト5675* サーバーが一致しない [`allowedMcpServers`](/docs/ja/managed-mcp#policy-based-control-with-allowlists-and-denylists) リスト

5525* [`strictPluginOnlyCustomization`](/docs/ja/settings-reference#strictpluginonlycustomization) と `mcp` ロック(`~/.claude.json` および `.mcp.json` で設定されたサーバーをブロック)5676* `mcp` がロックされた [`strictPluginOnlyCustomization`](/docs/ja/settings-reference#strictpluginonlycustomization)(`~/.claude.json` と `.mcp.json` で設定されたサーバーをブロックします)

5526* [`disableClaudeAiConnectors`](/docs/ja/mcp#disable-claude-ai-connectors)(サーバーが claude.ai コネクタの場合)5677* サーバーが claude.ai コネクタである場合の [`disableClaudeAiConnectors`](/docs/ja/mcp#disable-claude-ai-connectors)

5527 5678 

5528**対応方法:**5679**対処方法:**

5529 5680 

5530* 独自のユーザーおよびプロジェクト設定ファイルでこれらの設定のいずれかを確認し、変更または削除してください。5681* 自分のユーザー設定ファイルとプロジェクト設定ファイルにこれらの設定がないか確認し、変更または削除します

5531* 独自の設定がブロックを説明しない場合は、管理者に、どの管理設定がサーバーをブロックするかを確認してください。5682* 自分の設定でブロックの理由が説明できない場合は、どの管理設定がサーバーをブロックしているかを管理者に確認してください

5532 5683 

5533v2.1.257 より前では、`/mcp` での **再接続** と再度有効化は、セッション中のポリシー更新がブロックしたサーバーに接続できました。5684v2.1.257 より前では、`/mcp` の **Reconnect** や再有効化によって、セッション中のポリシー更新でブロックされたサーバーに接続できてしまう場合がありました。

5534 5685 

5535<h3 id="managed-settings-document-could-not-be-parsed">5686<h3 id="managed-settings-document-could-not-be-parsed">

5536 管理設定ドキュメントを解析できませんでした5687 Managed settings document could not be parsed

5537</h3>5688</h3>

5538 5689 

5539組織は [管理設定](/docs/ja/managed-settings) をデプロイしており、デプロイされたドキュメントの 1 つが存在しますが、JSON オブジェクトとして解析できないため、Claude Code はポリシーを実行せずにスタートアップ時に終了コード 1 で終了します。行は失敗したソースをメッセージの前に名前を付けます。5690組織が[管理設定](/docs/ja/managed-settings)をデプロイしており、デプロイされたドキュメントの 1 つが存在するものの JSON オブジェクトとして解析できないため、Claude Code は、そのドキュメントに含まれるポリシーなしで実行する代わりに、起動時に終了コード 1 で終了します。行のメッセージの前に、失敗したソースが示されます。

5540 5691 

5541```text theme={null}5692```text theme={null}

5542/Library/Application Support/ClaudeCode/managed-settings.json: Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.5693/Library/Application Support/ClaudeCode/managed-settings.json: Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.

5543```5694```

5544 5695 

5545ソースは以下のいずれかです。5696ソースは次のいずれかです。

5546 5697 

5547* `managed-settings.json` ファイルのパスまたは `managed-settings.d` 下のドロップインファイル5698* `managed-settings.json` ファイルのパス、または `managed-settings.d` 配下のドロップインファイルのパス

5548* macOS の管理対象環境設定プロファイル(`per-user managed preferences` または `device-level managed preferences`)5699* macOS の管理対象環境設定プロファイル(`per-user managed preferences` または `device-level managed preferences`)

5549* Windows レジストリ値、`Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings`5700* Windows レジストリの値(`Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings`)

5550 5701 

5551[Claude Code がドロップしたエントリを検索](/docs/ja/managed-settings#find-entries-claude-code-dropped) は、各ソースを解析不可能にするものをリストしています。5702各ソースが解析できなくなる原因については、[Claude Code が破棄したエントリを見つける](/docs/ja/managed-settings#find-entries-claude-code-dropped)を参照してください。

5552 5703 

5553Claude Code は、別の管理ソースが有効なポリシーを配信する場合でも、起動を拒否します。このエラーは対話型セッション、`claude -p`、Agent SDK セッション、[バックグラウンドセッション](/docs/ja/agent-view)、およびほとんどのサブコマンド(`claude doctor` を含む)で表示されます。拒否は意図的に閉じられます。Claude Code が解析できないドキュメント内の設定は強制できず、とにかく起動すると、組織の制御なしでセッションが実行されます。5704Claude Code は、別の管理ソースが有効なポリシーを提供している場合でも起動を拒否します。このエラーは、対話セッション、`claude -p`、Agent SDK セッション、[バックグラウンドセッション](/docs/ja/agent-view)、および `claude doctor` を含むほとんどのサブコマンドで表示されます。この拒否は意図的なフェイルクローズです。Claude Code が解析できないドキュメント内の設定は強制できず、それでも起動すると組織の制御なしでセッションが実行されることになります。

5554 5705 

5555解析可能なドキュメント内のスキーマ問題はこのエラーを生成しません。[Claude Code がドロップしたエントリを検索](/docs/ja/managed-settings#find-entries-claude-code-dropped) は、Claude Code が 1 つで何を行うかをカバーしています。5706解析可能なドキュメント内のスキーマの問題では、このエラーは発生しません。その場合の Claude Code の動作については、[Claude Code が破棄したエントリを見つける](/docs/ja/managed-settings#find-entries-claude-code-dropped)を参照してください。

5556 5707 

5557`managed-settings.d/` ディレクトリが存在しますが、リストできない場合、Claude Code は `Managed settings drop-in directory could not be read:` の後に基になるエラーを報告します。[Claude Code がドロップしたエントリを検索](/docs/ja/managed-settings#find-entries-claude-code-dropped) は、読み取り失敗がスタートアップで終了する場合をカバーしています。5708`managed-settings.d/` ディレクトリが存在するものの一覧を取得できない場合、Claude Code は代わりに `Managed settings drop-in directory could not be read:` に続けて根本的なエラーを報告します。読み取りの失敗によって起動時に終了する場合については、[Claude Code が破棄したエントリを見つける](/docs/ja/managed-settings#find-entries-claude-code-dropped)を参照してください。

5558 5709 

5559**対応方法:**5710**対処方法:**

5560 5711 

5561* マシンを管理している場合は、名前が付けられたドキュメントを JSON オブジェクトとして解析するように修正するか、ファイル、プロファイル、またはレジストリ値を削除してください。空の `managed-settings.json` は `{}` としてカウントされ、起動をブロックしません。5712* マシンを管理している場合は、示されたドキュメントを JSON オブジェクトとして解析できるように修正するか、ファイル、プロファイル、またはレジストリの値を削除します。空の `managed-settings.json` は `{}` として扱われ、起動を妨げません。

5562* そうでない場合は、管理者に、デプロイされたドキュメントを修正するよう依頼してください。独自の設定ファイルの何もこのエラーを引き起こしたり、クリアしたりしません。5713* マシンを管理していない場合は、デプロイされたドキュメントの修正を管理者に依頼してください。自分の設定ファイルの内容がこのエラーの原因になることはなく、それによってエラーを解消することもできません。

5563 5714 

5564<h3 id="unable-to-read-managed-policy-settings">5715<h3 id="unable-to-read-managed-policy-settings">

5565 管理ポリシー設定を読み取ることができません5716 Unable to read managed policy settings

5566</h3>5717</h3>

5567 5718 

5568組織は [管理設定](/docs/ja/managed-settings) をデプロイしており、デプロイされたソースの 1 つが存在しますが、オペレーティングシステムが読み取りを拒否するのではなく、I/O エラーなどの理由で読み取ることができませんでした。他の管理ソースがポリシーを供給していない場合、Claude Code はポリシーが実行される可能性があるソースなしで実行するのではなく、スタートアップで終了します。5719組織が[管理設定](/docs/ja/managed-settings)をデプロイしており、デプロイされたソースの 1 つが存在するものの、オペレーティングシステムによる読み取り拒否ではなく I/O エラーなどの理由で読み取れませんでした。ポリシーを提供する他の管理ソースがない場合、Claude Code は、そのソースに含まれている可能性のあるポリシーなしで実行する代わりに、起動時に終了します。

5569 5720 

5570```text theme={null}5721```text theme={null}

5571Unable to read managed policy settings.5722Unable to read managed policy settings.


5575Detail: <source>: <reason>5726Detail: <source>: <reason>

5576```5727```

5577 5728 

5578同じ状態で、サインインフロー、既に実行中のセッションからの API リクエスト、および [`claude gateway`](/docs/ja/claude-apps-gateway) サーバーは、[`allowedProviders`](/docs/ja/settings-reference#allowedproviders) に名前を付ける最初の行のバリアントで拒否されます。5729同じ状態では、サインインフロー、すでに実行中のセッションからの API リクエスト、および [`claude gateway`](/docs/ja/claude-apps-gateway) サーバーが、[`allowedProviders`](/docs/ja/settings-reference#allowedproviders) を示す 1 行目の変形版のメッセージとともに拒否されます。

5579 5730 

5580オペレーティングシステムが拒否した読み取り(ルートのみのファイルなど)はこの終了を生成しません。[セッションはそのソースのポリシーなしで開始します](/docs/ja/managed-settings#find-entries-claude-code-dropped)。解析できないソースの場合、Claude Code は [ソースに名前を付ける別のメッセージで終了します](#managed-settings-document-could-not-be-parsed)。5731root 専用ファイルなど、オペレーティングシステムによって読み取りが拒否された場合は、この終了は発生しません。[セッションはそのソースのポリシーなしで開始されます](/docs/ja/managed-settings#find-entries-claude-code-dropped)。解析できないソースの場合、Claude Code は[ソースを示す別のメッセージ](#managed-settings-document-could-not-be-parsed)で終了します。

5581 5732 

5582**対応方法:**5733**対処方法:**

5583 5734 

5584* マシンを管理している場合は、`Detail:` 行が名前を付ける問題を修正して、デプロイされたソースを読み取ることができるようにするか、ソースを削除してください。5735* マシンを管理している場合は、`Detail:` 行に示された問題を修正してデプロイされたソースを読み取れるようにするか、ソースを削除します

5585* そうでない場合は、メッセージを管理者に送信してください。独自の設定ファイルの何もこのエラーを引き起こしたり、クリアしたりしません。5736* マシンを管理していない場合は、メッセージを管理者に送ってください。自分の設定ファイルの内容がこのエラーの原因になることはなく、それによってエラーを解消することもできません

5586 5737 

5587v2.1.285 より前では、claude.ai または Claude Console 認証情報でサインインしたセッションのみがこのメッセージで終了し、オペレーティングシステムが拒否した読み取りもそれを生成していました。5738v2.1.285 より前では、claude.ai または Claude Console の認証情報でサインインしたセッションのみがこのメッセージで終了し、オペレーティングシステムによって読み取りが拒否された場合にもこのメッセージが表示されていました。

5588 5739 

5589<h3 id="otelheadershelper-failed">5740<h3 id="otelheadershelper-failed">

5590 otelHeadersHelper が失敗しました5741 otelHeadersHelper failed

5591</h3>5742</h3>

5592 5743 

5593Claude Code は、[`otelHeadersHelper`](/docs/ja/settings-reference#otelheadershelper) スクリプトが失敗したか、[スクリプト要件](/docs/ja/monitoring-usage#script-requirements) を満たさない出力を出力したときに、この警告を対話型セッションで通知として表示します。5744[`otelHeadersHelper`](/docs/ja/settings-reference#otelheadershelper) スクリプトが失敗した場合、または[スクリプトの要件](/docs/ja/monitoring-usage#script-requirements)を満たさない出力を返した場合、Claude Code はこの警告をターミナルインターフェースの通知として、対話セッションごとに 1 回表示します。

5594 5745 

5595スクリプトが失敗し続ける間、エクスポートは失敗し、テレメトリバックエンドはセッションから何も受け取りません。5746スクリプトが失敗し続けている間はエクスポートが失敗し、テレメトリのバックエンドはそのセッションから何も受信しません。

5596 5747 

5597`See /status:` の後のテキストは、スクリプトの終了コードとそのエラー出力など、失敗した内容を示しています。5748`See /status:` の後のテキストには、スクリプトの終了コードとそれに続くエラー出力など、失敗した内容が示されます。

5598 5749 

5599```text theme={null}5750```text theme={null}

5600otelHeadersHelper failed; telemetry is not being exported. See /status: exited 1: token service unreachable5751otelHeadersHelper failed; telemetry is not being exported. See /status: exited 1: token service unreachable

5601```5752```

5602 5753 

5603**対応方法:**5754**対処方法:**

5604 5755 

5605* `/status` を実行して、失敗の詳細を読んでください。5756* `/status` を実行して失敗の詳細を確認します。

5606* スクリプトが 30 秒以内に終了コード 0 で終了し、stdout に文字列ヘッダー値の JSON オブジェクトを出力するように修正してください。[スクリプト要件](/docs/ja/monitoring-usage#script-requirements) を参照してください。5757* スクリプトが 30 秒以内に終了コード 0 で終了し、文字列のヘッダー値を持つ JSON オブジェクトを stdout に出力するように修正します。[スクリプトの要件](/docs/ja/monitoring-usage#script-requirements)を参照してください。

5607* 組織が [管理設定](/docs/ja/managed-settings) を通じてスクリプトをデプロイしている場合は、それを保守している人にそれを修正するよう依頼してください。5758* 組織が[管理設定](/docs/ja/managed-settings)を通じてスクリプトをデプロイしている場合は、管理設定を管理している担当者に修正を依頼してください。

5608 5759 

5609[非対話型モード](/docs/ja/headless) で `-p` を使用する場合、同じ失敗は stderr に `otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error>` として表示されます。5760`-p` を使用した[非対話モード](/docs/ja/headless)では、同じ失敗が代わりに stderr に `otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error>` として表示されます。

5610 5761 

5611<h3 id="headershelper-not-run">5762<h3 id="headershelper-not-run">

5612 headersHelper が実行されていません5763 headersHelper not run

5613</h3>5764</h3>

5614 5765 

5615Claude Code は MCP サーバーを静的 `headers` だけで接続し、サーバーの [`headersHelper`](/docs/ja/mcp#use-dynamic-headers-for-custom-authentication) をスキップしました。これは、ヘルパーがシェルコマンドであり、フォルダに保存された信頼がないためです。フォルダは、`~/.claude.json` でそのエントリを手動で設定するか、ホームディレクトリの外で、対話型セッションでそれを受け入れるときに、保存された信頼を取得します。[headersHelper を実行する前にフォルダを信頼する](/docs/ja/mcp#trust-a-folder-before-its-headershelper-runs) を参照して、このチェックが適用されるサーバーを確認してください。5766Claude Code は MCP サーバーを静的な `headers` のみで接続し、サーバーの [`headersHelper`](/docs/ja/mcp#use-dynamic-headers-for-custom-authentication) をスキップしました。ヘルパーはシェルコマンドであり、フォルダに保存された信頼がないためです。フォルダに信頼が保存されるのは、`~/.claude.json` でそのエントリを手動で設定した場合、またはホームディレクトリ以外で、対話セッションでそのフォルダの信頼ダイアログを承認した場合です。このチェックがどのサーバーに適用されるかについては、[headersHelper を実行する前にフォルダを信頼する](/docs/ja/mcp#trust-a-folder-before-its-headershelper-runs)を参照してください。

5616 5767 

5617Claude Code は [非対話型モード](/docs/ja/headless) でのみこの行を書き込み、サーバーごとに 1 回です。対話型セッションでは、同じ拒否をデバッグログに書き込みます。5768Claude Code はこの行を[非対話モード](/docs/ja/headless)でのみ、サーバーごとに 1 回書き込みます。対話セッションでは、同じ拒否を代わりにデバッグログに書き込みます。

5618 5769 

5619```text theme={null}5770```text theme={null}

5620MCP server 'internal-api': headersHelper not run — this workspace has no persisted trust; accept the trust dialog here once interactively, or set projects["/Users/you/project"].hasTrustDialogAccepted in /Users/you/.claude.json.5771MCP server 'internal-api': headersHelper not run — this workspace has no persisted trust; accept the trust dialog here once interactively, or set projects["/Users/you/project"].hasTrustDialogAccepted in /Users/you/.claude.json.

5621```5772```

5622 5773 

5623メッセージが出力する `projects` キーは、[プロジェクト許可ルールとワークスペース信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust) が Claude Code がその信頼をキーにするフォルダです。親フォルダの信頼ダイアログを受け入れることはこのチェックを満たさず、`-p` または SDK セッションもそれを満たしません。5774メッセージに表示される `projects` キーは、[プロジェクトの許可ルールとワークスペースの信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust)で説明されている、Claude Code が信頼のキーとして使用するフォルダです。親フォルダの信頼ダイアログを承認してもこのチェックは満たされず、`-p` セッションや SDK セッションでも満たされません。

5624 5775 

5625**対応方法:**5776**対処方法:**

5626 5777 

5627* メッセージが名前を付けるフォルダで `claude` を実行し、信頼ダイアログを受け入れ、その後、`-p` または SDK コマンドを再度実行してください。5778* メッセージに示されたフォルダで `claude` を実行して信頼ダイアログを承認し、その後 `-p` または SDK のコマンドを再度実行します

5628* `~/.claude.json` で `hasTrustDialogAccepted` エントリを自分で設定し、メッセージが出力する正確な `projects` キーを使用してください。5779* メッセージに表示された `projects` キーをそのまま使用して、`~/.claude.json` の `hasTrustDialogAccepted` エントリを自分で設定します

5629* ホームディレクトリでセッションを開始した場合は、信頼したプロジェクトディレクトリから作業してください。ホームディレクトリで信頼ダイアログを受け入れると、Claude Code はその信頼を現在のセッションのみ保持します。5780* ホームディレクトリでセッションを開始した場合は、信頼済みのプロジェクトディレクトリから作業してください。ホームディレクトリで信頼ダイアログを承認した場合、Claude Code はその信頼を現在のセッションの間のみ保持します。

5630 5781 

5631<h3 id="malformed-tool-content-rule">5782<h3 id="malformed-tool-content-rule">

5632 不正な形式の Tool(content) ルール5783 Malformed Tool(content) rule

5633</h3>5784</h3>

5634 5785 

5635[権限ルール](/docs/ja/permissions#permission-rule-syntax) の 1 つが設定ファイルに `Tool` または `Tool(content)` の形状を持たない場合(例えば、テキストが閉じ括弧の後に続く、または括弧の 1 つが欠落している)。Claude Code はルールをスキップし、対話型セッションが開始されるときに無効な設定ダイアログにリストし、[`claude doctor`](/docs/ja/debug-your-config#check-resolved-settings) 出力に表示します。5786設定ファイルのいずれかにある[権限ルール](/docs/ja/permissions#permission-rule-syntax)が、閉じ括弧の後にテキストが続いている、または括弧の一方が欠けているなどの理由で、`Tool` または `Tool(content)` の形式になっていません。Claude Code はそのルールをスキップし、対話セッションの開始時に表示される無効な設定のダイアログと、[`claude doctor`](/docs/ja/debug-your-config#check-resolved-settings) の出力に一覧表示します。

5636 5787 

5637```text theme={null}5788```text theme={null}

5638Invalid permission rule "Bash(ls) x" was skipped: Malformed Tool(content) rule. Rules take the form Tool or Tool(content) and must end at the closing ")"; parentheses inside the content are literal5789Invalid permission rule "Bash(ls) x" was skipped: Malformed Tool(content) rule. Rules take the form Tool or Tool(content) and must end at the closing ")"; parentheses inside the content are literal

5639```5790```

5640 5791 

5641**対応方法:**5792**対処方法:**

5642 5793 

5643* メッセージでリストされた設定ファイルで、ルールを閉じ括弧で終わるように書き直してください。例えば、`Bash(ls) x` の代わりに `Bash(ls *)` を使用してください。5794* メッセージとともに示された設定ファイルで、ルールが閉じ括弧で終わるように書き直します。たとえば、`Bash(ls) x` の代わりに `Bash(ls *)` とします

5644* コンテンツ内の括弧はそのままにしてください。それらはリテラルなので、`Edit(./Finance (2024)/**)` などのルールはエスケープなしで有効です。5795* content 内の括弧はそのままにしておきます。括弧はリテラルとして扱われるため、`Edit(./Finance (2024)/**)` のようなルールはエスケープなしで有効です

5645 5796 

5646v2.1.260 より前では、Claude Code は一致しない括弧を持つルールを `Mismatched parentheses` として報告していました。5797v2.1.260 より前では、Claude Code は括弧が対応していないルールを `Mismatched parentheses` として報告していました。

5647 5798 

5648<h3 id="is-not-matched-by-file-permission-checks">5799<h3 id="is-not-matched-by-file-permission-checks">

5649 ファイル権限チェックと一致しません5800 Is not matched by file permission checks

5650</h3>5801</h3>

5651 5802 

5652Claude Code は、[設定ファイル](/docs/ja/settings#where-settings-live)、[管理設定](/docs/ja/managed-settings)、または `--allowedTools`、`--disallowedTools`、または `--settings` フラグ値で、`Write`、`NotebookEdit`、`MultiEdit`、または `Glob` [権限ルール](/docs/ja/permissions#read-and-edit) を持つパスを見つけました。ファイル権限を `Edit` および `Read` ルールに対してのみチェックするため、他のファイルツールのいずれかに名前を付けるパスルールを参照することはありません。ルールを保持し、他に何も変更しません。警告はルール、括弧内のソース、および書き込む置換に名前を付けます。5803Claude Code は、[設定ファイル](/docs/ja/settings#where-settings-live)のいずれか、[管理設定](/docs/ja/managed-settings)、または `--allowedTools`、`--disallowedTools`、`--settings` フラグの値の中に、パスを指定した `Write`、`NotebookEdit`、`MultiEdit`、または `Glob` の[権限ルール](/docs/ja/permissions#read-and-edit)を見つけました。Claude Code はファイルの権限を `Edit` ルールと `Read` ルールに対してのみチェックするため、それ以外のファイルツールを指定したパスルールは参照されません。Claude Code はそのルールを保持し、それ以外は何も変更しません。警告には、ルール、括弧内のソース、および記述すべき置き換え後のルールが示されます。

5653 5804 

5654```text theme={null}5805```text theme={null}

5655Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).5806Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).

5656```5807```

5657 5808 

5658**対応方法:**5809**対処方法:**

5659 5810 

5660* `Write(path)`、`NotebookEdit(path)`、および従来の `MultiEdit(path)` ルールを `Edit(path)` に置き換えてください。`Edit` ルールはすべてのファイル編集ツールをカバーしています。5811* `Write(path)`、`NotebookEdit(path)`、およびレガシーの `MultiEdit(path)` ルールを `Edit(path)` に置き換えます。`Edit` ルールはすべてのファイル編集ツールに適用されます。

5661* `--allowedTools` を除き、Claude Code は警告なしで `Glob` ルールを受け入れます。`Glob(path)` ルールを `Read(path)` に置き換えてください。5812* Claude Code が `Glob` ルールを警告なしで受け入れる `--allowedTools` を除き、`Glob(path)` ルールを `Read(path)` に置き換えます。

5662* 警告が括弧内に名前を付けるソースでルールを修正してください。設定ファイルパス、または `--allowed-tools` および `--disallowed-tools` フラグ自体。ディスク上に存在しない `claude-settings-<hash>.json` パスはインライン `--settings` 値を表します。そのフラグに渡す JSON を修正してください。5813* 警告の括弧内に示されたソースでルールを修正します。ソースは設定ファイルのパスか、`--allowed-tools` と `--disallowed-tools` の場合はフラグそのものです。ディスク上に存在しない `claude-settings-<hash>.json` パスは、インラインの `--settings` 値を表します。そのフラグに渡す JSON を修正してください。

5663* `Write` または `Glob` などのベアツール名ルールはそのままにしてください。Claude Code は [ツールレベル](/docs/ja/permissions#match-all-uses-of-a-tool) でそれらと一致し、それらについて警告しません。5814* `Write` や `Glob` などのツール名のみのルールはそのままにします。Claude Code はこれらを[ツールレベル](/docs/ja/permissions#match-all-uses-of-a-tool)で照合し、警告を出しません。

5664* ソースが `managed policy settings` と読む場合は、警告を管理設定を保守している人に転送してください。自分でそれをクリアすることはできません。5815* ソースが `managed policy settings` となっている場合は、自分では解消できないため、管理設定を管理している担当者に警告を転送してください。

5665 5816 

5666[バックグラウンドセッション](/docs/ja/agent-view) または `--output-format json` または `stream-json` では、Claude Code は警告をデバッグログに stderr の代わりに書き込むため、マシン読み取り出力はクリーンなままです。`--debug` で `~/.claude/debug/<session-id>.txt` でキャプチャしてください。v2.1.210 より前では、Claude Code はこれらのルールを警告なしで受け入れていました。5817[バックグラウンドセッション](/docs/ja/agent-view)、または `--output-format json` や `stream-json` を使用している場合、機械可読な出力をクリーンに保つため、Claude Code は警告を stderr ではなくデバッグログに書き込みます。`--debug` を付けて実行すると、`~/.claude/debug/<session-id>.txt` に記録されます。v2.1.210 より前では、Claude Code はこれらのルールを警告なしで受け入れていました。

5667 5818 

5668<h3 id="has-a-wildcard-before-the-rest-of-the-command">5819<h3 id="has-a-wildcard-before-the-rest-of-the-command">

5669 コマンドの残りの部分の前にワイルドカードがあります5820 Has a wildcard before the rest of the command

5670</h3>5821</h3>

5671 5822 

5672Claude Code は、`*` が後の単語の前に来る `Bash` 許可ルールを見つけました。その単語はどのコマンドであるかを決定します。例えば `Bash(git * main)` または `Bash(git -C * status *)`。これは [設定ファイル](/docs/ja/settings#where-settings-live)、[管理設定](/docs/ja/managed-settings)、または `--allowedTools` または `--settings` フラグ値のいずれかにあります。`*` はテキストを一致させます。その位置に挿入されたオプションを含みます。`Bash(git * main)` は `git -c core.fsmonitor=<script> diff main` も承認します。ここで `-c` は git にコマンドが名前を付けるプログラムを実行させます。[ワイルドカードパターン](/docs/ja/permissions#wildcard-patterns) は一致ルールを示しています。5823Claude Code は、[設定ファイル](/docs/ja/settings#where-settings-live)のいずれか、[管理設定](/docs/ja/managed-settings)、または `--allowedTools` や `--settings` フラグの値の中に、`Bash(git * main)` や `Bash(git -C * status *)` のように、どのコマンドであるかを決定する後続の単語よりも前に `*` がある `Bash` 許可ルールを見つけました。`*` はその位置に挿入されたオプションを含む任意のテキストに一致します。`Bash(git * main)` は `git -c core.fsmonitor=<script> diff main` も承認してしまい、この場合 `-c` によって git はコマンドで指定されたプログラムを実行します。照合のルールについては、[ワイルドカードパターン](/docs/ja/permissions#wildcard-patterns)を参照してください。

5673 5824 

5674警告は、意図したより広いワイルドカードを持つルールを絞り込むことができるように存在します。Claude Code はルールを保持し、それがどのように一致するかについて何も変更しません。警告はルールとその括弧内のソースに名前を付けます。5825この警告は、ワイルドカードが意図よりも広い範囲に一致するルールを絞り込めるようにするためのものです。Claude Code はルールを保持し、照合の方法も一切変更しません。警告には、ルールと括弧内のソースが示されます。

5675 5826 

5676```text theme={null}5827```text theme={null}

5677Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).5828Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).

5678```5829```

5679 5830 

5680**対応方法:**5831**対処方法:**

5681 5832 

5682* サブコマンドの前の `*` を意味する正確な値に置き換えてください。`Bash(git * main)` の代わりに `Bash(git checkout main)` を使用してください。5833* サブコマンドの前にある `*` を、意図する正確な値に置き換えます。`Bash(git * main)` の代わりに `Bash(git checkout main)` とします。

5683* すべての `*` をサブコマンドの後に移動してください。`Bash(git -C * status *)` の代わりに `Bash(git status *)` を使用してください。許可したいサブコマンドごとに 1 つのルールを書いてください。5834* すべての `*` をサブコマンドの後に移動します。`Bash(git -C * status *)` の代わりに `Bash(git status *)` とします。許可したいサブコマンドごとに 1 つのルールを記述してください。

5684* 警告が括弧内に名前を付けるソースでルールを修正してください。設定ファイルパス、または `--allowed-tools` フラグ自体。ディスク上に存在しない `claude-settings-<hash>.json` パスはインライン `--settings` 値を表します。そのフラグに渡す JSON を修正してください。5835* 警告の括弧内に示されたソースでルールを修正します。ソースは設定ファイルのパスか、`--allowed-tools` フラグそのものです。ディスク上に存在しない `claude-settings-<hash>.json` パスは、インラインの `--settings` 値を表します。そのフラグに渡す JSON を修正してください。

5685* ソースが `managed policy settings` と読む場合は、警告を管理設定を保守している人に転送してください。自分でそれをクリアすることはできません。5836* ソースが `managed policy settings` となっている場合は、自分では解消できないため、管理設定を管理している担当者に警告を転送してください。

5686 5837 

5687[バックグラウンドセッション](/docs/ja/agent-view) または `--output-format json` または `stream-json` では、Claude Code は警告をデバッグログに stderr の代わりに書き込むため、マシン読み取り出力はクリーンなままです。`--debug` で `~/.claude/debug/<session-id>.txt` でキャプチャしてください。v2.1.246 より前では、Claude Code はこれらのルールを警告なしで受け入れていました。5838[バックグラウンドセッション](/docs/ja/agent-view)、または `--output-format json` や `stream-json` を使用している場合、機械可読な出力をクリーンに保つため、Claude Code は警告を stderr ではなくデバッグログに書き込みます。`--debug` を付けて実行すると、`~/.claude/debug/<session-id>.txt` に記録されます。v2.1.246 より前では、Claude Code はこれらのルールを警告なしで受け入れていました。

5688 5839 

5689<h3 id="denying-bash-also-turns-off-the-powershell-tool">5840<h3 id="denying-bash-also-turns-off-the-powershell-tool">

5690 Denying Bash also turns off the PowerShell tool5841 Denying Bash also turns off the PowerShell tool

5691</h3>5842</h3>

5692 5843 

5693Bash ツール全体を削除しました。例えば `--disallowedTools Bash` を使用したか、設定ファイルのいずれかで単独の `Bash` または `Bash(*)` [拒否ルール](/docs/ja/permissions#match-all-uses-of-a-tool) を設定した場合です。Git Bash がインストールされた Windows では、[Bash を拒否すると PowerShell ツールもオフになる](/docs/ja/tools-reference#bash-deny-rules-also-turn-off-the-powershell-tool) ため、セッションはシェルツールなしで起動します。Claude Code はスタートアップ時にこの警告を出力します。5844`--disallowedTools Bash` を使用した場合や、設定ファイルのいずれかでツール名のみの `Bash` または `Bash(*)` の[拒否ルール](/docs/ja/permissions#match-all-uses-of-a-tool)を使用した場合など、Bash ツール全体を削除しました。Git Bash がインストールされた Windows では、[Bash を拒否すると PowerShell ツールもオフになる](/docs/ja/tools-reference#bash-deny-rules-also-turn-off-the-powershell-tool)ため、セッションはシェルツールなしで開始されます。Claude Code は起動時に次の警告を表示します。

5694 5845 

5695```text theme={null}5846```text theme={null}

5696Denying Bash also turns off the PowerShell tool, so Claude has neither. To use PowerShell, set CLAUDE_CODE_USE_POWERSHELL_TOOL=1.5847Denying Bash also turns off the PowerShell tool, so Claude has neither. To use PowerShell, set CLAUDE_CODE_USE_POWERSHELL_TOOL=1.

5697```5848```

5698 5849 

5699**対応方法:**5850**対処方法:**

5700 5851 

5701* Claude に PowerShell を使用させるには、[PowerShell ツールを有効にする](/docs/ja/tools-reference#enable-the-powershell-tool) で示されているように、環境または設定ファイルの `env` ブロックで [`CLAUDE_CODE_USE_POWERSHELL_TOOL`](/docs/ja/env-vars) を `1` に設定してください。これにより、Bash 拒否ルールと並行して PowerShell ツールがオンのままになります。5852* Claude に PowerShell を使用させるには、[PowerShell ツールを有効にする](/docs/ja/tools-reference#enable-the-powershell-tool)で示されているように、環境または設定ファイルの `env` ブロックで [`CLAUDE_CODE_USE_POWERSHELL_TOOL`](/docs/ja/env-vars) を `1` に設定します。これにより、Bash の拒否ルールと併用しても PowerShell ツールはオンのままになります。

5702* ツール全体ではなく特定のコマンドをブロックするには、同じ設定ファイルまたはフラグ内の単独の `Bash` エントリを、`Bash(git push *)` などのスコープ付きルールに置き換えてください。Claude は Bash ツールを保持し、PowerShell ツールは、変数も設定するかスコープ付きの [`PowerShell` 権限ルール](/docs/ja/permissions#powershell) を追加するまでオフのままです。5853* ツール全体ではなく特定のコマンドをブロックするには、同じ設定ファイルまたはフラグで、ツール名のみの `Bash` エントリを `Bash(git push *)` のような範囲を限定したルールに置き換えます。Claude は Bash ツールを維持し、PowerShell ツールは、この変数も設定するか、範囲を限定した [`PowerShell` 権限ルール](/docs/ja/permissions#powershell)を追加するまでオフのままです。

5703 5854 

5704[バックグラウンドセッション](/docs/ja/agent-view) または `--output-format json` または `stream-json` では、Claude Code は警告を stderr の代わりにデバッグログに書き込みます。`--debug` で実行すると `~/.claude/debug/<session-id>.txt` にキャプチャできます。v2.1.287 より前では、Claude Code は警告を出力せずに同じ方法で PowerShell ツールをオフにしていました。5855[バックグラウンドセッション](/docs/ja/agent-view)、または `--output-format json` や `stream-json` を使用している場合、Claude Code は警告を stderr ではなくデバッグログに書き込みます。`--debug` を付けて実行すると、`~/.claude/debug/<session-id>.txt` に記録されます。v2.1.287 より前では、Claude Code は同じように PowerShell ツールをオフにしていましたが、警告は表示していませんでした。

5705 5856 

5706<h3 id="crosssessioninbound-must-be-one-of-accept-hold-refuse">5857<h3 id="crosssessioninbound-must-be-one-of-accept-hold-refuse">

5707 crossSessionInbound は accept、hold、refuse のいずれかである必要があります5858 crossSessionInbound must be one of accept, hold, refuse

5708</h3>5859</h3>

5709 5860 

5710設定ファイルは [`crossSessionInbound`](/docs/ja/settings-reference#crosssessioninbound) を Claude Code が認識しない値に設定します。例えば、タイプミスの `"reject"`。警告の 2 番目の文は、どのファイルが値を保持するかによって異なります。ユーザー、プロジェクト、ローカル、または `--settings` ファイルでは、以下のように読みます。5861設定ファイルで [`crossSessionInbound`](/docs/ja/settings-reference#crosssessioninbound) が、タイプミスの `"reject"` など、Claude Code が認識しない値に設定されています。警告の 2 文目は、値がどのファイルにあるかによって異なります。ユーザー、プロジェクト、ローカル、または `--settings` のファイルの場合は次のようになります。

5711 5862 

5712```text theme={null}5863```text theme={null}

5713"crossSessionInbound" must be one of "accept", "hold", "refuse"; received "reject". This value was ignored; while it is present, cross-session messages are held for your approval instead of being delivered. Set it to one of the values above.5864"crossSessionInbound" must be one of "accept", "hold", "refuse"; received "reject". This value was ignored; while it is present, cross-session messages are held for your approval instead of being delivered. Set it to one of the values above.

5714```5865```

5715 5866 

5716[管理設定](/docs/ja/managed-settings) では、Claude Code は認識されない値を `refuse`(最も制限的な値)として扱い、警告は、管理者がそれを修正するまで、クロスセッションメッセージが拒否されることを示しています。保留が他の設定ファイルの値とどのように組み合わされるかについては、[`crossSessionInbound`](/docs/ja/settings-reference#crosssessioninbound) を参照してください。5867[管理設定](/docs/ja/managed-settings)では、Claude Code は認識されない値を最も制限の厳しい値である `refuse` として扱い、警告には、管理者が修正するまでセッション間メッセージが拒否されることが示されます。この保留が他の設定ファイルの値とどのように組み合わされるかについては、[`crossSessionInbound`](/docs/ja/settings-reference#crosssessioninbound) を参照してください。

5717 5868 

5718**対応方法:**5869**対処方法:**

5719 5870 

5720* キーを `"accept"`、`"hold"`、または `"refuse"` に設定するか、削除してください。5871* キーを `"accept"`、`"hold"`、または `"refuse"` に設定するか、削除します

5721* 警告が管理設定に名前を付ける場合は、管理者に値を修正するよう依頼してください。5872* 警告に管理設定が示されている場合は、値の修正を管理者に依頼してください

5722 5873 

5723v2.1.248 より前では、Claude Code は認識されない値を警告なしで無視していました。5874v2.1.248 より前では、Claude Code は認識されない値を警告なしで無視していました。

5724 5875 

5725<h3 id="anthropic-foundry-resource-must-be-a-foundry-resource-name">5876<h3 id="anthropic-foundry-resource-must-be-a-foundry-resource-name">

5726 ANTHROPIC\_FOUNDRY\_RESOURCE は Foundry リソース名である必要があります5877 ANTHROPIC\_FOUNDRY\_RESOURCE must be a Foundry resource name

5727</h3>5878</h3>

5728 5879 

5729[`ANTHROPIC_FOUNDRY_RESOURCE`](/docs/ja/env-vars) を、エンドポイント URL やそのホスト名など、単独の [Microsoft Foundry](/docs/ja/microsoft-foundry) リソース名以外のものに設定しました。Claude Code はリクエストを送信する前にその値を拒否しました。このメッセージはスタートアップ警告としてではなく、Claude の応答の代わりに表示されます。5880[`ANTHROPIC_FOUNDRY_RESOURCE`](/docs/ja/env-vars) を、エンドポイント URL やそのホスト名など、[Microsoft Foundry](/docs/ja/microsoft-foundry) のリソース名のみ以外の値に設定しました。Claude Code はリクエストを送信する前にその値を拒否しました。このメッセージは起動時の警告としてではなく、Claude の応答の代わりに表示されます。

5730 5881 

5731```text theme={null}5882```text theme={null}

5732API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name (2-64 letters, digits and hyphens, not starting or ending with a hyphen, such as my-resource), not a URL or host name. To use a full URL, set ANTHROPIC_FOUNDRY_BASE_URL instead.5883API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name (2-64 letters, digits and hyphens, not starting or ending with a hyphen, such as my-resource), not a URL or host name. To use a full URL, set ANTHROPIC_FOUNDRY_BASE_URL instead.

5733```5884```

5734 5885 

5735**対応方法:**5886**対処方法:**

5736 5887 

5737* `ANTHROPIC_FOUNDRY_RESOURCE` をリソース名のみに設定し、Claude Code を再起動してください。エンドポイント `https://my-resource.services.ai.azure.com/anthropic` の場合、名前は `my-resource` です。5888* `ANTHROPIC_FOUNDRY_RESOURCE` にリソース名のみを設定し、Claude Code を再起動します。エンドポイントが `https://my-resource.services.ai.azure.com/anthropic` の場合、名前は `my-resource` です。

5738* 代わりに完全なエンドポイント URL を指定するには、[`ANTHROPIC_FOUNDRY_BASE_URL`](/docs/ja/env-vars) にその URL を設定して `ANTHROPIC_FOUNDRY_RESOURCE` を削除し、Claude Code を再起動してください。Claude Code は 2 つの変数のうち 1 つのみを受け入れます。5889* 代わりに完全なエンドポイント URL を指定するには、[`ANTHROPIC_FOUNDRY_BASE_URL`](/docs/ja/env-vars) にその URL を設定して `ANTHROPIC_FOUNDRY_RESOURCE` を削除し、Claude Code を再起動します。Claude Code は 2 つの変数のうち一方のみを受け付けます。

5739 5890 

5740<h3 id="the-200k-limit-isnt-enforced">5891<h3 id="the-200k-limit-isnt-enforced">

5741 200K 制限は強制されていません5892 The 200K limit isn't enforced

5742</h3>5893</h3>

5743 5894 

5744[`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ja/env-vars) を設定しました。これは通常、[自動コンパクション](/docs/ja/model-config#default-auto-compact-thresholds) が 1M コンテキストモデルのセッションを 200K ウィンドウに保持しますが、コンパクションしきい値がこのセッションを 200K 以下で上限にしないため、会話はそれを超えて成長できます。5895[`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ja/env-vars) を設定しました。この設定は通常、[自動圧縮](/docs/ja/model-config#default-auto-compact-thresholds)によって 1M コンテキストモデルのセッションを 200K のウィンドウに抑えますが、このセッションを 200K 以下に制限するコンテキスト圧縮のしきい値がないため、会話が 200K を超えて大きくなる可能性があります。

5745 5896 

5746```text theme={null}5897```text theme={null}

5747CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced for <model>, so this session can grow past it. To enforce it, set CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000 (or the autoCompactWindow setting).5898CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced for <model>, so this session can grow past it. To enforce it, set CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000 (or the autoCompactWindow setting).

5748```5899```

5749 5900 

5750Claude Code は、ネイティブ 1M ウィンドウを持つと認識するすべてのモデルに対して、および認識しないモデル ID に対して、それが想定するウィンドウでコンパクトするため、200K 制限を独自に強制します。警告は、他の設定がその強制を破る場合に表示されます。5901Claude Code は、ネイティブの 1M ウィンドウを持つと認識するすべてのモデルについて 200K の上限を自動的に強制し、認識しないモデル ID については想定するウィンドウで圧縮します。警告は、他の設定がこの強制を無効にしている場合に表示されます。

5751 5902 

5752* モデル ID は Claude Code が認識しないもの([LLM ゲートウェイ](/docs/ja/llm-gateway) エイリアスなど)であり、[`CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1`](/docs/ja/env-vars) を設定したか、[`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/ja/env-vars) で想定ウィンドウを 200K を超えて上げました。この場合、メッセージは `or update to a Claude Code version that recognizes <model>` も提供します。5903* モデル ID が、[LLM ゲートウェイ](/docs/ja/llm-gateway)のエイリアスなど Claude Code が認識しないものであり、かつ [`CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1`](/docs/ja/env-vars) を設定したか、[`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/ja/env-vars) で想定ウィンドウを 200K より大きくした場合。この場合、メッセージには対処方法として `or update to a Claude Code version that recognizes <model>` も示されます。

5753* `context-1m` ベータは [`ANTHROPIC_BETAS`](/docs/ja/env-vars) または [`--betas`](/docs/ja/cli-reference#cli-flags) フラグを通じてリクエストされ、そのベータを受け入れるモデルで API に 1M ウィンドウを要求し続けますが、何もセッションを 200K でコンパクトしません。5904* [`ANTHROPIC_BETAS`](/docs/ja/env-vars) または [`--betas`](/docs/ja/cli-reference#cli-flags) フラグで要求した `context-1m` ベータが、そのベータを受け付けるモデルで引き続き API に 1M ウィンドウを要求しており、かつセッションを 200K で圧縮するものが何もない場合

5754 5905 

5755**対応方法:**5906**対処方法:**

5756 5907 

5757* [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/ja/env-vars) を設定するか、[`autoCompactWindow`](/docs/ja/settings-reference#autocompactwindow) 設定を `200000` に設定して、自動コンパクションが 200K 境界でコンパクトするようにしてください。5908* [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/ja/env-vars) を設定するか、[`autoCompactWindow`](/docs/ja/settings-reference#autocompactwindow) 設定を `200000` にして、自動圧縮が 200K の境界で圧縮するようにします

5758* メッセージがこのバージョンが認識しないモデル ID に名前を付ける場合は、`claude update` を実行してください。ID を 1M コンテキストモデルとして認識するバージョンは、さらなる設定なしで制限を強制します。5909* メッセージにこのバージョンが認識しないモデル ID が示されている場合は、`claude update` を実行します。その ID を 1M コンテキストモデルとして認識するバージョンでは、追加の設定なしで上限が強制されます。

5759* セッションがモデルの完全なウィンドウを代わりに使用したい場合は、`CLAUDE_CODE_DISABLE_1M_CONTEXT` を設定解除してください。警告は 200K 制限が強制されていないことのみを報告します。5910* 代わりにセッションでモデルの完全なウィンドウを使用したい場合は、`CLAUDE_CODE_DISABLE_1M_CONTEXT` の設定を解除します。この警告は 200K の上限が強制されていないことを報告するだけです

5760 5911 

5761[バックグラウンドセッション](/docs/ja/agent-view) または `--output-format json` または `stream-json` では、Claude Code は警告をデバッグログに stderr の代わりに書き込みます。5912[バックグラウンドセッション](/docs/ja/agent-view)、または `--output-format json` や `stream-json` を使用している場合、Claude Code は警告を stderr ではなくデバッグログに書き込みます。

5762 5913 

5763<h3 id="unrecognized-model-id-on-a-request">5914<h3 id="unrecognized-model-id-on-a-request">

5764 リクエストで認識されないモデル ID5915 リクエストでの認識されないモデル ID

5765</h3>5916</h3>

5766 5917 

5767Claude Code は、Claude Code バージョンが認識しないモデル ID のリクエストを送信し、そのモデル ID を認識するモデルにマップする [`modelOverrides`](/docs/ja/model-config#override-model-ids-per-version) エントリを見つけませんでした。Claude Code は依然としてそのように設定した ID でリクエストを送信し、終了またはモデルを切り替えません。5918Claude Code は、使用中の Claude Code のバージョンが認識しないモデル ID でリクエストを送信し、その ID を認識可能なモデルにマッピングする [`modelOverrides`](/docs/ja/model-config#override-model-ids-per-version) エントリも見つかりませんでした。Claude Code は設定されたとおりの ID でリクエストを送信し続け、終了したりモデルを切り替えたりはしません。

5768 5919 

5769```text theme={null}5920```text theme={null}

5770[claude-code:unrecognized_model] {"model":"my-proxy-model","query_source":"sdk"}5921[claude-code:unrecognized_model] {"model":"my-proxy-model","query_source":"sdk"}

5771```5922```

5772 5923 

5773stderr を読み取るスクリプトまたはハーネスでは、`[claude-code:unrecognized_model]` プレフィックスと一致します。プレフィックスと 1 つのスペースの後、Claude Code は 1 行の JSON オブジェクトを書き込みます。Claude Code は後のバージョンでそれにフィールドを追加できるため、予期しないフィールドを無視してください。少なくともこれら 2 つを書き込みます。5924stderr を読み取るスクリプトやハーネスでは、`[claude-code:unrecognized_model]` プレフィックスで照合してください。プレフィックスと 1 つのスペースの後に、Claude Code は 1 行の JSON オブジェクトを書き込みます。Claude Code は今後のバージョンでフィールドを追加する可能性があるため、想定していないフィールドは無視してください。少なくとも次の 2 つのフィールドが書き込まれます。

5774 5925 

5775* `model`:設定したモデル文字列5926* `model`: 設定されたとおりのモデル文字列

5776* `query_source`:モデルを使用したリクエストパス。Claude Code は `-p` 実行に対して `sdk` を報告し、サブエージェントに対して `agent:` で始まる値を報告します。5927* `query_source`: そのモデルを使用したリクエストの経路。`-p` の実行では `sdk`、サブエージェントでは `agent:` で始まる値が報告されます。

5777 5928 

5778Claude Code は、実行方法に応じて、2 つの場所のいずれかに行を書き込みます。5929Claude Code は、実行方法に応じて次の 2 つの場所のいずれかにこの行を書き込みます。

5779 5930 

5780* [非対話型モード](/docs/ja/headless) で `-p` を使用する場合、Claude Code はすべての `--output-format` の下で stderr に書き込むため、行をフィルタリングせずに stdout を解析できます。5931* `-p` を使用した[非対話モード](/docs/ja/headless)では、すべての `--output-format` で stderr に書き込むため、この行を除外せずに stdout を解析できます

5781* 対話型セッションまたは [バックグラウンドセッション](/docs/ja/agent-view) では、Claude Code は代わりにデバッグログに書き込みます。`--debug` で `~/.claude/debug/<session-id>.txt` でキャプチャしてください。5932* 対話セッションまたは[バックグラウンドセッション](/docs/ja/agent-view)では、代わりにデバッグログに書き込みます。`--debug` を付けて実行すると、`~/.claude/debug/<session-id>.txt` に記録されます

5782 5933 

5783Claude Code は、プロセスごとにモデル文字列ごとに 1 回、行を書き込みます。[サブエージェント](/docs/ja/sub-agents#choose-a-model) または [バックグラウンド機能](/docs/ja/costs#background-token-usage) が使用するものなど、さらに認識されない ID ごとに別の行を書き込みます。5934Claude Code はこの行を、プロセスごとにモデル文字列ごとに 1 回書き込みます。[サブエージェント](/docs/ja/sub-agents#choose-a-model)や[バックグラウンド機能](/docs/ja/costs#background-token-usage)が使用する ID など、さらに認識されない ID があれば、それぞれ別の行を書き込みます。

5784 5935 

5785Claude Code は、Amazon Bedrock `us.anthropic.claude-...` ID、Google Cloud の Agent Platform ID(`@` バージョンサフィックス付き)、Claude モデル ID を含む Microsoft Foundry デプロイメント名など、認識するモデルに解決するプロバイダー ID の行を書き込みません。Claude Code は、ARN 自体ではなく、Amazon Bedrock [アプリケーション推論プロファイル ARN](/docs/ja/amazon-bedrock#map-each-model-version-to-an-inference-profile) の背後にあるモデルをチェックします。解決できない ARN(タイプミスされたものなど)に対して行を書き込みません。5936Amazon Bedrock の `us.anthropic.claude-...` ID、`@` バージョンサフィックス付きの Google Cloud の Agent Platform ID、Claude のモデル ID を含む Microsoft Foundry のデプロイ名など、Claude Code が認識可能なモデルに解決できるプロバイダー ID については、この行は書き込まれません。Amazon Bedrock の[アプリケーション推論プロファイル ARN](/docs/ja/amazon-bedrock#map-each-model-version-to-an-inference-profile) については、Claude Code は ARN そのものではなく、その背後にあるモデルをチェックします。入力ミスのある ARN など、解決できない ARN については行を書き込みません。

5786 5937 

5787**対応方法:**5938**対処方法:**

5788 5939 

5789* ID を意図的に設定した場合([LLM ゲートウェイ](/docs/ja/llm-gateway) エイリアスなど)、[設定ファイル](/docs/ja/settings#where-settings-live) に [`modelOverrides`](/docs/ja/model-config#override-model-ids-per-version) エントリを追加し、ID をその値として使用してください。キーとして Anthropic モデル ID を使用し、`opus` などのファミリエイリアスは使用しないでください。例の行の `my-proxy-model` の場合、このエントリを追加してください。5940* [LLM ゲートウェイ](/docs/ja/llm-gateway)のエイリアスなど、意図的にその ID を設定している場合は、その ID を値とする [`modelOverrides`](/docs/ja/model-config#override-model-ids-per-version) エントリを[設定ファイル](/docs/ja/settings#where-settings-live)に追加します。キーには `opus` のようなファミリーエイリアスではなく、Anthropic のモデル ID を使用してください。例の行の `my-proxy-model` の場合は、次のエントリを追加します。

5790 5941 

5791 ```json theme={null}5942 ```json theme={null}

5792 {5943 {


5796 }5947 }

5797 ```5948 ```

5798 5949 

5799 Claude Code は `my-proxy-model` を `claude-opus-4-6` として扱い、行の書き込みを停止します。5950 これにより、Claude Code は `my-proxy-model` を `claude-opus-4-6` として扱い、この行の書き込みを停止します。

5800 5951 

5801* ID が Claude Code バージョンより新しいモデルに名前を付ける場合は、`claude update` を実行してください。5952* ID が使用中の Claude Code のバージョンより新しいモデルを指している場合は、`claude update` を実行します

5802 5953 

5803* ID がタイプミスの場合は、[モデルを設定できる場所](/docs/ja/model-config#setting-your-model) または [エイリアス変数](/docs/ja/model-config#environment-variables) のいずれかで保持する場所で修正してください。`query_source` が `agent:` で始まる場合は、代わりに [サブエージェントのモデル](/docs/ja/sub-agents#choose-a-model) を設定する場所で修正してください。5954* ID がタイプミスの場合は、[モデルを設定できる場所](/docs/ja/model-config#setting-your-model)または[エイリアス変数](/docs/ja/model-config#environment-variables)のうち、その ID が設定されている箇所で修正します。`query_source` が `agent:` で始まる場合は、代わりに[サブエージェントのモデル](/docs/ja/sub-agents#choose-a-model)を設定している箇所で修正します。

5804 5955 

5805v2.1.233 より前では、Claude Code は認識しないモデル ID のリクエストを送信したときに行を書き込みませんでした。5956v2.1.233 より前では、Claude Code は認識しないモデル ID でリクエストを送信しても、行を書き込んでいませんでした。

5806 5957 

5807<h3 id="stale-sandbox-mask-files-left-by-a-killed-session">5958<h3 id="stale-sandbox-mask-files-left-by-a-killed-session">

5808 殺されたセッションによって残された古いサンドボックスマスクファイル5959 Stale sandbox mask files left by a killed session

5809</h3>5960</h3>

5810 5961 

5811`claude doctor` はその診断でこの警告を出力し、`/status` は同じ行をリストします。これは、[サンドボックス](/docs/ja/sandboxing) がファイルシステム分離をオンにして有効になっている Linux および WSL2 に表示されます。5962`claude doctor` はこの警告を診断結果に表示し、`/status` にも同じ行が表示されます。この警告は、Linux および WSL2 で、ファイルシステムの分離を有効にした状態で[サンドボックス化](/docs/ja/sandboxing)が有効になっている場合に表示されます。

5812 5963 

5813サンドボックスコマンドが実行されている間、サンドボックスはまだ存在しないファイルへの書き込み拒否を保持し、そこに 0 バイトの読み取り専用プレースホルダーを作成し、その後削除します。SIGKILL によって殺されたセッションなど、そのクリーンアップが実行される前に、プレースホルダーが残ります。後のセッションは、起動するたびにそれらを読み取り専用で再度バインドするため、「はい、今後は尋ねない」を保存するなどの設定書き込みは、そこに座っているものが失敗します。5964サンドボックス化されたコマンドの実行中、サンドボックスはまだ存在しないファイルへの書き込み拒否を保持するために、その場所に 0 バイトの読み取り専用のプレースホルダーを作成し、実行後に削除します。このクリーンアップが実行される前に SIGKILL などでセッションが強制終了されると、プレースホルダーが残ります。以降のセッションは起動のたびにそれらを再び読み取り専用でバインドするため、プレースホルダーがある場所では、「Yes, and don't ask again」の保存などの設定の書き込みが失敗します。

5814 5965 

5815```text theme={null}5966```text theme={null}

5816- Stale sandbox mask files left by a killed session: /home/you/project/.claude/settings.local.json5967- Stale sandbox mask files left by a killed session: /home/you/project/.claude/settings.local.json

5817 Fix: Remove each with `rm <path>` while no other Claude Code session is running in that project — a 0-byte read-only file where a settings file belongs makes "Yes, and don't ask again" fail to save, and the sandbox binds it read-only again on every start5968 Fix: Remove each with `rm <path>` while no other Claude Code session is running in that project — a 0-byte read-only file where a settings file belongs makes "Yes, and don't ask again" fail to save, and the sandbox binds it read-only again on every start

5818```5969```

5819 5970 

5820**対応方法:**5971**対処方法:**

5821 5972 

5822* そのプロジェクトで実行されている他の Claude Code セッションを終了し、`rm` で各リストされたファイルを削除してください。警告は最大 3 つのファイルに名前を付け、残りをカウントするため、削除されるまで `claude doctor` を再度実行してください。別のセッションのサンドボックスがまだ使用しているプレースホルダーは、そのセッションの書き込み保護の生きた部分です。5973* そのプロジェクトで実行中の他の Claude Code セッションを終了してから、一覧に表示された各ファイルを `rm` で削除します。警告には最大 3 つのファイルが示され、残りは件数として表示されるため、警告が表示されなくなるまで削除後に `claude doctor` を再実行してください。別のセッションのサンドボックスがまだ使用しているプレースホルダーは、そのセッションの書き込み保護として機能している部分です

5823* 「はい、今後は尋ねない」で保存した権限の選択が固定されなかった場合は、プレースホルダーを削除した後、再度保存してください。5974* 「Yes, and don't ask again」で保存した権限の選択が保持されなかった場合は、プレースホルダーを削除した後に再度保存します

5824 5975 

5825v2.1.257 より前では、`claude doctor` はこれらのファイルにフラグを立てませんでした。以前のバージョンは、セッションが殺されたときに同じプレースホルダーを残します。5976v2.1.257 より前では、`claude doctor` はこれらのファイルを警告しませんでした。それ以前のバージョンでも、セッションが強制終了されると同じプレースホルダーが残ります。

5826 5977 

5827<h2 id="responses-seem-lower-quality-than-usual">5978<h2 id="responses-seem-lower-quality-than-usual">

5828 応答の品質がいつもより低いように見える5979 応答の品質がいつもより低いように見える

Details

220</table>220</table>

221 221 

222<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> Google Cloud の Agent Platform では、Opus 4、Sonnet 4、Haiku 4.5 以降のモデルで Web 検索が利用可能です。<br />222<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> Google Cloud の Agent Platform では、Opus 4、Sonnet 4、Haiku 4.5 以降のモデルで Web 検索が利用可能です。<br />

223<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> これらのプロバイダーでは、Auto mode は Claude Sonnet 5 以降、Opus 4.7 以降、Haiku 5.5、および Fable モデルのみをサポートしています。[Auto mode 設定](/docs/ja/auto-mode-config)を参照してください。これらのプロバイダーのセッションが開始される権限モードについては、[セッションが開始される権限モード](/docs/ja/permission-modes#which-mode-a-session-starts-in)を参照してください。v2.1.158 から v2.1.206 では、これらのプロバイダーの Auto mode は `CLAUDE_CODE_ENABLE_AUTO_MODE=1` の設定も必要でしたが、v2.1.207 でその要件が削除されました。<br />223<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> これらのプロバイダーでは、auto モードは Claude Sonnet 5 以降、Opus 4.7 以降、Haiku 5.5、および Fable モデルのみをサポートしています。[Auto mode 設定](/docs/ja/auto-mode-config)を参照してください。これらのプロバイダーのセッションが開始される権限モードについては、[セッションが開始される権限モード](/docs/ja/permission-modes#which-mode-a-session-starts-in)を参照してください。<br />

224<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> クラウドプロバイダーとの契約に従います。<br />224<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> クラウドプロバイダーとの契約に従います。<br />

225<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> ダッシュボードと API のみ。[貢献メトリクス](/docs/ja/analytics#enable-contribution-metrics)には claude.ai Team または Enterprise 組織が必要です。<br />225<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> ダッシュボードと API のみ。[貢献メトリクス](/docs/ja/analytics#enable-contribution-metrics)には claude.ai Team または Enterprise 組織が必要です。<br />

226<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> macOS および Linux(WSL 2 内の Linux を含む)では Claude Code v2.1.224 以降が必要です。ネイティブ Windows では Claude Code v2.1.234 以降が必要です。API キー認証では、メッセージングは同じマシンのみです。Amazon Bedrock、Claude Platform on AWS、Google Cloud の Agent Platform、および Microsoft Foundry では、メッセージングは同じマシンのみであり、Claude Code v2.1.248 以降が必要です。Claude は、[Remote Control](/docs/ja/remote-control) に接続されているセッションからのみ、[クラウドセッション](/docs/ja/claude-code-on-the-web)および他のマシン上のセッションを見つけることができます。接続するには、claude.ai サインインと他の [Remote Control 要件](/docs/ja/remote-control#requirements)が必要です。[他のマシン上のセッションをメッセージする](/docs/ja/cross-session-messaging#message-sessions-on-other-machines)を参照してください。226<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> macOS および Linux(WSL 2 内の Linux を含む)では Claude Code v2.1.224 以降が必要です。ネイティブ Windows では Claude Code v2.1.234 以降が必要です。API キー認証では、メッセージングは同じマシンのみです。Amazon Bedrock、Claude Platform on AWS、Google Cloud の Agent Platform、および Microsoft Foundry では、メッセージングは同じマシンのみであり、Claude Code v2.1.248 以降が必要です。Claude は、[Remote Control](/docs/ja/remote-control) に接続されているセッションからのみ、[クラウドセッション](/docs/ja/claude-code-on-the-web)および他のマシン上のセッションを見つけることができます。接続するには、claude.ai サインインと他の [Remote Control 要件](/docs/ja/remote-control#requirements)が必要です。[他のマシン上のセッションをメッセージする](/docs/ja/cross-session-messaging#message-sessions-on-other-machines)を参照してください。

Details

22 22 

23| 機能 | GHES サポート | 注記 |23| 機能 | GHES サポート | 注記 |

24| :- | :- | :- |24| :- | :- | :- |

25| Cloud セッション | ✅ サポート | 所有者が GHES インスタンスを 1 回接続すると、開発者は通常通り `claude --cloud` または [claude.ai/code](https://claude.ai/code) を使用できます |25| クラウドセッション | ✅ サポート | 所有者が GHES インスタンスを 1 回接続すると、開発者は `claude --cloud` または [claude.ai/code](https://claude.ai/code) を使用できます |

26| Code Review | ✅ サポート | github.com と同じ自動 PR レビュー |26| Code Review | ✅ サポート | github.com と同じ自動 PR レビュー |

27| Claude Security | ✅ サポート | Enterprise プランの公開ベータで [claude.ai/security](https://claude.ai/security) で利用可能 |27| Claude Security | ✅ サポート | Enterprise プランの公開ベータで [claude.ai/security](https://claude.ai/security) で利用可能 |

28| Teleport セッション | ✅ サポート | `--teleport` で Cloud とターミナル間でセッションを移動 |28| Teleport セッション | ✅ サポート | `--teleport` で Cloud とターミナル間でセッションを移動 |


35 管理者セットアップ35 管理者セットアップ

36</h2>36</h2>

37 37 

38Owner は GHES インスタンスを Claude Code に 1 回接続します。その後、組織内の開発者は追加の設定なしで GHES リポジトリを使用できます。Claude 組織で Owner または Primary Owner ロールを持ち、GHES インスタンスで GitHub Apps を作成する権限が必要です。38Owner は GHES インスタンスを Claude Code に 1 回接続します。Claude 組織で Owner または Primary Owner ロールを持ち、GHES インスタンスで GitHub Apps を作成する権限が必要です。

39 39 

40ガイド付きセットアップは GitHub App マニフェストを生成し、GHES インスタンスにリダイレクトしてアプリをワンクリックで作成します。環境がリダイレクトフローをブロックしている場合は、[代替の手動セットアップ](#manual-setup)が利用可能です。40ガイド付きセットアップは GitHub App マニフェストを生成し、GHES インスタンスにリダイレクトしてアプリをワンクリックで作成します。環境がリダイレクトフローをブロックしている場合は、[代替の手動セットアップ](#manual-setup)が利用可能です。

41 41 


103 開発者ワークフロー103 開発者ワークフロー

104</h2>104</h2>

105 105 

106管理者が GHES インスタンスを接続した後、開発者側の設定は不要です。Claude Code は作業ディレクトリの git リモートから GHES ホスト名を自動的に検出します。106Claude Code は作業ディレクトリの git リモートから GHES ホスト名を自動的に検出します。

107 107 

108通常通り GHES インスタンスからリポジトリをクローンします。`github.example.com` とリポジトリパスを GHES ホスト名とリポジトリに置き換えてください。108通常通り GHES インスタンスからリポジトリをクローンします。`github.example.com` とリポジトリパスを GHES ホスト名とリポジトリに置き換えてください。

109 109 


223</h2>223</h2>

224 224 

225<h3 id="cloud-session-fails-to-clone-repository">225<h3 id="cloud-session-fails-to-clone-repository">

226 クラウドセッションがリポジトリのクローンに失敗226 クラウドセッションでリポジトリのクローンに失敗する

227</h3>227</h3>

228 228 

229`claude --cloud` がクローンエラーで失敗する場合は、Owner が GHES インスタンスのセットアップを完了し、GitHub App が作業しているリポジトリにインストールされていることを確認してください。インスタンスを接続した Owner に確認して、Claude 設定に登録されているホスト名が git リモートのホスト名と一致することを確認してください。229`claude --cloud` がクローンエラーで失敗する場合は、Owner が GHES インスタンスのセットアップを完了していること、および作業中のリポジトリに GitHub App がインストールされていることを確認してください。インスタンスを接続した Owner に、Claude の設定に登録されているホスト名が Git リモートのホスト名と一致しているかを確認するよう依頼してください。

230 

231セッションが「Authentication failed while accessing the repository」で停止する場合は、自分の GitHub Enterprise アカウントを接続していない可能性があります。[claude.ai/code](https://claude.ai/code) のリポジトリピッカーから接続し、新しいセッションを開始してください。

230 232 

231<h3 id="marketplace-add-fails-with-a-policy-error">233<h3 id="marketplace-add-fails-with-a-policy-error">

232 マーケットプレイス追加がポリシーエラーで失敗234 マーケットプレイスの追加がポリシーエラーで失敗する

233</h3>235</h3>

234 236 

235GHES URL の `/plugin marketplace add` がブロックされている場合、組織はマーケットプレイスソースを制限しています。管理者に [管理設定](#allowlist-ghes-marketplaces-in-managed-settings) で GHES ホスト名の `hostPattern` エントリを追加するよう依頼してください。237GHES の URL に対して `/plugin marketplace add` がブロックされる場合、組織がマーケットプレイスのソースを制限しています。管理者に依頼して、[管理設定](#allowlist-ghes-marketplaces-in-managed-settings)に GHES ホスト名の `hostPattern` エントリを追加してもらってください。

236 238 

237<h3 id="marketplace-add-on-claude-ai-fails-with-a-github-access-error">239<h3 id="marketplace-add-on-claude-ai-fails-with-a-github-access-error">

238 claude.ai でのマーケットプレイス追加が GitHub アクセスエラーで失敗240 claude.ai でのマーケットプレイスの追加が GitHub アクセスエラーで失敗する

239</h3>241</h3>

240 242 

241ユーザー設定から GHES マーケットプレイスを追加する際に「Marketplace couldn't be added」のような一般的なエラーで失敗する場合は、まず GitHub Enterprise 接続を確認してください。これは、組織の GHES インスタンスが設定されており他のユーザーが接続されている場合でも、独自の GitHub Enterprise アカウントが Claude に接続されていない場合に表示されます。ダイアログは GitHub Enterprise 接続フローを指していません。また、Browse タブの「Connect to GitHub」オプションは github.com にサインインするため、GHES リポジトリへのアクセス権を付与しません。243ユーザー設定から GHES マーケットプレイスを追加しようとして「Marketplace couldn't be added」のような一般的なエラーで失敗する場合は、まず GitHub Enterprise の接続を確認してください。このエラーは、組織の GHES インスタンスが設定済みで他のユーザーが接続していても、自分の GitHub Enterprise アカウントが Claude に接続されていない場合に表示されます。このダイアログは GitHub Enterprise の接続フローを案内せず、また Browse タブの「Connect to GitHub」オプションは github.com にサインインするものであり、GHES リポジトリへのアクセスは付与されません。

242 244 

243次のいずれかの場所で GitHub Enterprise アカウントを接続してから、マーケットプレイスを再度追加してください。245次のいずれかの場所で GitHub Enterprise アカウントを接続してから、マーケットプレイスを再度追加してください。

244 246 

245* **リポジトリピッカー**:[claude.ai/code](https://claude.ai/code) では、リポジトリピッカーが設定済みの各 GHES インスタンスの接続オプションを提供します。247* **リポジトリピッカー**:[claude.ai/code](https://claude.ai/code) のリポジトリピッカーには、設定済みの各 GHES インスタンスに対する接続オプションがあります。

246* **Git プロバイダーページ**:Owner の場合は、[**Organization settings > Git providers**](https://claude.ai/admin-settings/source-control) の GitHub セクションに移動して **Connect** をクリックします。アカウントがすでに接続されている場合は **Add organization** をクリックします。**GitHub instance** で GHES ホスト名を選択し、**Connect** をクリックします。248* **Git providers ページ**:Owner の場合は、[**Organization settings > Git providers**](https://claude.ai/admin-settings/source-control) の GitHub セクションに移動して **Connect** をクリックするか、アカウントが接続済みであれば **Add organization** をクリックします。**GitHub instance** で GHES ホスト名を選択し、**Connect** をクリックします。

247 249 

248または、Owner に組織プラグイン設定でマーケットプレイスを追加するよう依頼してください。これにより、ユーザーごとの接続要件が削除されます。250または、Owner に依頼して組織のプラグイン設定でマーケットプレイスを追加してもらうこともできます。この方法では、ユーザーごとの接続は不要になります。

249 251 

250他の claude.ai サーフェスでは、GHES マーケットプレイスの「Repository not found. If it's private, GitHub access is required」エラーは通常、同じ接続の欠落を示しています。上記のいずれかのパスを通じて GitHub Enterprise アカウントを接続してから、もう一度試してください。252claude.ai の他のサーフェスで、GHES マーケットプレイスに対して「Repository not found. If it's private, GitHub access is required」エラーが表示される場合も、通常は同じく接続が不足していることを示しています。上記のいずれかの方法で GitHub Enterprise アカウントを接続してから、再度お試しください。

251 253 

252<h3 id="ghes-instance-not-reachable">254<h3 id="ghes-instance-not-reachable">

253 GHES インスタンスに到達不可255 GHES インスタンスに到達できない

254</h3>256</h3>

255 257 

256レビューまたは Anthropic ホスト型クラウドセッションがタイムアウトする場合、GHES インスタンスは Anthropic インフラストラクチャから到達不可能な可能性があります。ファイアウォールが Anthropic の [アウトバウンド IP アドレス](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) からのインバウンド接続を許可していることを確認してください。[セルフホスト環境](/docs/ja/self-hosted-environments) のセッションは、ネットワーク内から GHES に到達するため、代わりにランナー自体のネットワークパスを確認してください。リポジトリピッカーおよび他のホスト型セッション前フローについては、[ネットワーク要件](#network-requirements) を参照してください。258レビューや Anthropic がホストするクラウドセッションがタイムアウトする場合、Anthropic のインフラストラクチャから GHES インスタンスに到達できない可能性があります。ファイアウォールが Anthropic の[送信元 IP アドレス](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses)からのインバウンド接続を許可していることを確認してください。[セルフホスト環境](/docs/ja/self-hosted-environments)のセッションはネットワーク内部から GHES に到達するため、そうしたセッションでクローンできない場合は、代わりにランナー自体のネットワーク経路を確認してください。リポジトリピッカーやその他のホスト型のセッション開始前フローについては、[ネットワーク要件](#network-requirements)を参照してください。

257 259 

258<h3 id="session-start-fails-with-unable-to-get-organization-uuid">260<h3 id="session-start-fails-with-unable-to-get-organization-uuid">

259 セッション開始が `Unable to get organization UUID` で失敗261 セッションの開始が `Unable to get organization UUID` で失敗する

260</h3>262</h3>

261 263 

262Claude Code は認証情報から claude.ai 組織を読み取ることができませんでした。Team または Enterprise 組織のアカウントを使用して `/login` でサインインしてください。GitHub Enterprise Server サポートはこれらのプランに限定されています。原因と、この状態が生成する他のメッセージについては、[Unable to get organization UUID](/docs/ja/claude-code-on-the-web#unable-to-get-organization-uuid) を参照してください。264Claude Code が認証情報から claude.ai の組織を読み取れませんでした。GitHub Enterprise Server のサポートは Team プランと Enterprise プランに限定されているため、Team または Enterprise 組織のアカウントを使用して `/login` でサインインしてください。原因およびこの状態で表示されるその他のメッセージについては、[Unable to get organization UUID](/docs/ja/claude-code-on-the-web#unable-to-get-organization-uuid) を参照してください。

263 265 

264<h2 id="related-resources">266<h2 id="related-resources">

265 関連リソース267 関連リソース

Details

261* バックグラウンドタスクに Haiku を使用するには、`ANTHROPIC_DEFAULT_HAIKU_MODEL` をプロジェクトで利用可能なモデル ID に設定します。261* バックグラウンドタスクに Haiku を使用するには、`ANTHROPIC_DEFAULT_HAIKU_MODEL` をプロジェクトで利用可能なモデル ID に設定します。

262 262 

263<Warning>263<Warning>

264 Opus モデルは Sonnet モデルより高いトークンあたりの価格を持つため、プライマリモデルをピン留めしないデプロイメントは v2.1.207 以降に更新されると Opus レートで課金されます。Sonnet 4.5 をプライマリモデルとして保つには、`ANTHROPIC_MODEL` をその完全なモデル ID に設定します。`ANTHROPIC_DEFAULT_SONNET_MODEL` でデフォルトを制御し、`ANTHROPIC_DEFAULT_OPUS_MODEL` を設定しないデプロイメントは、制御された Sonnet モデルをデフォルトとして保ちます。264 Opus モデルは Sonnet モデルよりトークンあたりの価格が高いため、プライマリモデルをピン留めしない場合は Opus レートで課金されます。Sonnet 4.5 をプライマリモデルとして使用するには、`ANTHROPIC_MODEL` をその完全なモデル ID に設定します。`ANTHROPIC_DEFAULT_SONNET_MODEL` でデフォルトを制御し、`ANTHROPIC_DEFAULT_OPUS_MODEL` を設定しないデプロイは、制御された Sonnet モデルをデフォルトとして保ちます。

265</Warning>265</Warning>

266 266 

267v2.1.280 より前は、Google Cloud の Agent Platform 上のプライマリモデルは Opus 5 にデフォルト設定され、`opus` エイリアスは v2.1.219 から Opus 5 に解決されました。v2.1.207 ~ v2.1.218 では、Google Cloud の Agent Platform 上のプライマリモデルは Opus 4.8 にデフォルト設定され、`opus` エイリアスは Opus 4.8 に解決されました。v2.1.207 より前は、プライマリモデルは Sonnet 4.5 にデフォルト設定され、`opus` エイリアスは Opus 4.6 に解決され、バックグラウンドタスクは常にプライマリモデルを使用していました。267v2.1.280 より前は、Google Cloud の Agent Platform 上のプライマリモデルは Opus 5 にデフォルト設定され、`opus` エイリアスは v2.1.219 から Opus 5 に解決されました。v2.1.207 ~ v2.1.218 では、Google Cloud の Agent Platform 上のプライマリモデルは Opus 4.8 にデフォルト設定され、`opus` エイリアスは Opus 4.8 に解決されました。

268 268 

269モデルをさらにカスタマイズするには、以下を実行します。269モデルをさらにカスタマイズするには、以下を実行します。

270 270 

headless.md +6 −6

Details

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

39</h3>39</h3>

40 40 

41`--bare` を追加して、フック、スキル、カスタムコマンド、[サブエージェント](/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` は対話的セッションと同様にそれらを検出して読み込みます。これには、作業ディレクトリまたは `~/.claude` で設定されたすべてが含まれます。

42 42 

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


184 --json-schema '{"type":"object","properties":{"functions":{"type":"array","items":{"type":"string"}}},"required":["functions"]}'184 --json-schema '{"type":"object","properties":{"functions":{"type":"array","items":{"type":"string"}}},"required":["functions"]}'

185```185```

186 186 

187値が有効な JSON Schema でない場合、`claude` は `Error: --json-schema is not a valid JSON Schema` とそれに続くバリデータの診断を出力して終了します。Claude Code は `format` キーワード(例:`"format": "email"`)を使用するスキーマを受け入れますが、`format` を注釈として扱い、強制はしません。v2.1.205 より前では、Claude Code は無効なスキーマを静かに無視して非構造化テキストを返し、`format` を含むスキーマをすべて無効として扱っていました。187値が有効な JSON Schema でない場合、`claude` は `Error: --json-schema is not a valid JSON Schema` とそれに続くバリデータの診断を出力して終了します。Claude Code は `format` キーワード(例:`"format": "email"`)を使用するスキーマを受け入れますが、`format` を注釈として扱い、強制はしません。

188 188 

189<Tip>189<Tip>

190 [jq](https://jqlang.org/) などのツールを使用して応答を解析し、特定のフィールドを抽出します。190 [jq](https://jqlang.org/) などのツールを使用して応答を解析し、特定のフィールドを抽出します。


281`system/init` イベントは、モデル、ツール、MCP サーバー、読み込まれたプラグインを含むセッションメタデータを報告します。起動時のイベントが先行しない限り、ストリームの最初のイベントです。281`system/init` イベントは、モデル、ツール、MCP サーバー、読み込まれたプラグインを含むセッションメタデータを報告します。起動時のイベントが先行しない限り、ストリームの最初のイベントです。

282 282 

283* `plugin_install` イベント([`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ja/env-vars) が設定されている場合)。283* `plugin_install` イベント([`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ja/env-vars) が設定されている場合)。

284* [`hook_started`、`hook_progress`、および `hook_response` イベント](/docs/ja/agent-sdk/typescript#sdkhookstartedmessage)(設定された [`SessionStart`](/docs/ja/hooks#sessionstart) または [`Setup`](/docs/ja/hooks#setup) フックが実行されている間)。これらはフックが生成するたびにストリーミングされます。Claude Code v2.1.169 から v2.1.203 では、フックの完了後に 1 つのバッチで配信されていました(それでも `system/init` より前)。v2.1.204 でライブ配信が復元されました。284* [`hook_started`、`hook_progress`、および `hook_response` イベント](/docs/ja/agent-sdk/typescript#sdkhookstartedmessage)(設定された [`SessionStart`](/docs/ja/hooks#sessionstart) または [`Setup`](/docs/ja/hooks#setup) フックが実行されている間)。これらはフックが生成するたびにストリーミングされます。

285 285 

286このイベントには、この Claude Code バージョンが実装しているプロトコル動作を示す文字列の optional な `capabilities` 配列も含まれます(例:`interrupt_receipt_v1` や `interrupt_cancel_queued_v1`)。バージョン文字列を比較する代わりにこれを確認して機能を検出し、認識しない値は無視してください。このフィールドには Claude Code v2.1.205 以降が必要で、それより前のバージョンでは存在しません。機能の一覧については [`SDKSystemMessage`](/docs/ja/agent-sdk/typescript#sdksystemmessage) を参照してください。286このイベントには、この Claude Code バージョンが実装しているプロトコル動作を示す文字列の optional な `capabilities` 配列も含まれます(例:`interrupt_receipt_v1` や `interrupt_cancel_queued_v1`)。バージョン文字列を比較する代わりにこれを確認して機能を検出し、認識しない値は無視してください。機能の一覧については [`SDKSystemMessage`](/docs/ja/agent-sdk/typescript#sdksystemmessage) を参照してください。

287 287 

288<h4 id="fail-ci-when-a-plugin-or-mcp-server-doesn’t-load">288<h4 id="fail-ci-when-a-plugin-or-mcp-server-doesn’t-load">

289 プラグインまたは MCP サーバーが読み込まれない場合に CI を失敗させる289 プラグインまたは MCP サーバーが読み込まれない場合に CI を失敗させる


388 388 

389 * ユーザーが呼び出す[スキル](/docs/ja/skills)とカスタムコマンドは機能します。プロンプト文字列に `/skill-name` を含めると、Claude Code は実行前にそれを展開します。389 * ユーザーが呼び出す[スキル](/docs/ja/skills)とカスタムコマンドは機能します。プロンプト文字列に `/skill-name` を含めると、Claude Code は実行前にそれを展開します。

390 * ターミナルインターフェースでのみ動作する `/login` などの組み込みコマンドは利用できません。390 * ターミナルインターフェースでのみ動作する `/login` などの組み込みコマンドは利用できません。

391 * `/model`、`/effort`、`/fast`、`/color`、`/rename` は値を引数として受け付け(例:`/model sonnet`)、`/mcp` は引数なしでサーバーステータスのテキスト概要を出力します。これらの形式には Claude Code v2.1.205 以降が必要で、各コマンドの[利用可能性に関する注記](/docs/ja/commands#all-commands)に従います。391 * `/model`、`/effort`、`/fast`、`/color`、`/rename` は値を引数として受け付け(例:`/model sonnet`)、`/mcp` は引数なしでサーバーステータスのテキスト概要を出力します。これらの形式は各コマンドの[利用可能性に関する注記](/docs/ja/commands#all-commands)に従います。

392 * 設定を変更するには、`/config` に `key=value` を渡します(例:`/config thinking=false`)。392 * 設定を変更するには、`/config` に `key=value` を渡します(例:`/config thinking=false`)。

393 * `/output-style <style>` は[出力スタイル](/docs/ja/output-styles)を切り替え、`/output-style` 単体ではそれらを一覧表示します。Claude Code v2.1.269 以降が必要です。393 * `/output-style <style>` は[出力スタイル](/docs/ja/output-styles)を切り替え、`/output-style` 単体ではそれらを一覧表示します。Claude Code v2.1.269 以降が必要です。

394</Note>394</Note>


407 407 

408スクリプト内の `"$1"` は、コマンドラインで渡す最初の引数を表します。`bash review.sh 123` を実行すると、シェルは `"$1"` を `123` に置き換えるため、スクリプトは PR 123 の差分を取得します。Claude Code はレビューを JSON として出力し、テキストは `result` フィールドに入ります。408スクリプト内の `"$1"` は、コマンドラインで渡す最初の引数を表します。`bash review.sh 123` を実行すると、シェルは `"$1"` を `123` に置き換えるため、スクリプトは PR 123 の差分を取得します。Claude Code はレビューを JSON として出力し、テキストは `result` フィールドに入ります。

409 409 

410デフォルトのプロンプトを完全に置き換える `--system-prompt` を含むその他のオプションについては、[システムプロンプトフラグ](/docs/ja/cli-reference#system-prompt-flags)を参照してください。410デフォルトのプロンプトを完全に置き換える `--system-prompt` を含むその他のオプションについては、[システムプロンプトフラグ](/docs/ja/cli-reference#system-prompt-flags)を参照してください。置き換えた場合、実行は [git ステータスのスナップショット](/docs/ja/settings-reference#includegitinstructions)もない状態で開始されます。

411 411 

412<h3 id="continue-conversations">412<h3 id="continue-conversations">

413 会話を続ける413 会話を続ける

hipaa-setup.md +1 −0

Details

228| `--cloud`、`/teleport`、[Remote Control](/docs/ja/remote-control) が拒否される | [クラウドセッション](/docs/ja/claude-code-on-the-web)と Remote Control はオフです |228| `--cloud`、`/teleport`、[Remote Control](/docs/ja/remote-control) が拒否される | [クラウドセッション](/docs/ja/claude-code-on-the-web)と Remote Control はオフです |

229| `/feedback` と `/bug` が使用できない | フィードバックの送信はオフです |229| `/feedback` と `/bug` が使用できない | フィードバックの送信はオフです |

230| Claude が[アーティファクト](/docs/ja/artifacts)を公開できない | アーティファクトの公開はオフです |230| Claude が[アーティファクト](/docs/ja/artifacts)を公開できない | アーティファクトの公開はオフです |

231| MCP ツールが最初からコンテキストに読み込まれる | [MCP ツール検索](/docs/ja/mcp#configure-tool-search)はオフです。`ENABLE_TOOL_SEARCH` でも管理設定でも再びオンにすることはできません |

231| `ANTHROPIC_API_KEY` を読み取る MCP サーバーやフックが認証できなくなる | Claude Code は、自身が起動するプロセスから [Anthropic の認証情報を削除します](#anthropic-credentials-in-commands-hooks-and-mcp-servers) |232| `ANTHROPIC_API_KEY` を読み取る MCP サーバーやフックが認証できなくなる | Claude Code は、自身が起動するプロセスから [Anthropic の認証情報を削除します](#anthropic-credentials-in-commands-hooks-and-mcp-servers) |

232| 別の組織に `/login` した後も制限が残る | HIPAA ステータスは Claude Code が再起動するまで維持されます |233| 別の組織に `/login` した後も制限が残る | HIPAA ステータスは Claude Code が再起動するまで維持されます |

233 234 

hooks.md +549 −522

Details

827 827 

828フックの終了コードは、ツール呼び出しやプロンプトなど、フックをトリガーしたアクションを続行するかどうかを Claude Code に伝えます。完了した実行の結果は次の 3 つのいずれかです。828フックの終了コードは、ツール呼び出しやプロンプトなど、フックをトリガーしたアクションを続行するかどうかを Claude Code に伝えます。完了した実行の結果は次の 3 つのいずれかです。

829 829 

830* **成功**: フックが 0 で終了します。Claude Code はフックが出力した [JSON 出力](#json-output)フィールドを適用し、それらのフィールドがアクションをブロックまたは拒否しない限り、アクションは進行します。830* **成功**: フックが 0 で終了します。Claude Code はフックが出力した [JSON 出力](#json-output)フィールドを適用し、それらのフィールドがアクションをブロックまたは拒否しない限り、アクションは進行します。例外については[バックグラウンド プロセスを開始するフック](#hooks-that-start-a-background-process)を参照してください。

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

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

833 833 


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

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

934 934 

935<h4 id="hooks-that-start-a-background-process">

936 バックグラウンド プロセスを開始するフック

937</h4>

938 

939コマンド フックがバックグラウンド プロセスで決定を行ってから終了する場合、Claude Code が読み取りを停止した後にそのプロセスが出力した deny はツール呼び出しをブロックしません。[非同期](#run-hooks-in-the-background)でないフックの場合、Claude Code はフック自身のプロセスが終了した直後にフックの出力の読み取りを終えます。

940 

941バックグラウンド プロセスを開始する前に決定を出力し、そのプロセスの stdout と stderr をリダイレクトしてください。スクリプトが allow を出力した後、そのプロセスの stdout と stderr をリダイレクトせずにバックグラウンド プロセスを開始した場合、Claude Code はツール呼び出しをブロックします。フック エラーには `refusing to honor the suspect capture` が含まれます。

942 

943この `PreToolUse` フック スクリプトは `policy-check.sh` で決定を出力し、その後バックグラウンドでメトリクスをアップロードします。

944 

945```bash theme={null}

946#!/bin/bash

947"$CLAUDE_PROJECT_DIR"/.claude/hooks/policy-check.sh || exit $?

948"$CLAUDE_PROJECT_DIR"/.claude/hooks/upload-metrics.sh >/dev/null 2>&1 &

949```

950 

951スクリプトの残りの部分は次の処理を行います。

952 

953* **`|| exit $?`**: チェックの終了コードをフック自身の終了コードにします。これにより、拒否のために 2 で終了するチェックは引き続きブロックします。これがない場合、フックは最後の行の終了コード(0)で終了します。

954* **`>/dev/null 2>&1 &`**: 出力をリダイレクトした状態で `upload-metrics.sh` をバックグラウンドで実行するため、フックの出力が開いたままになりません。

955 

956スクリプトをテストするには、`policy-check.sh` が 2 で終了するようにしてから、フックが一致するツール呼び出しをトリガーします。ツール呼び出しはブロックされます。

957 

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

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

937</h4>960</h4>


1245 フックイベント1268 フックイベント

1246</h2>1269</h2>

1247 1270 

1248各イベントは、Claude Code のライフサイクルにおいてフックを実行できるポイントに対応しています。以下のセクションはライフサイクルの順序に沿って並んでおり、セッションのセットアップからエージェント型ループを経てセッション終了までを扱います。各セクションでは、イベントが発火するタイミング、サポートされる matcher、受け取る JSON 入力、出力による動作の制御方法を説明します。1271各イベントは、フックを実行できる Claude Code のライフサイクル上のポイントに対応しています。以下のセクションは、セッションのセットアップからエージェント型ループを経てセッション終了まで、ライフサイクルに沿った順序で並んでいます。各セクションでは、イベントが発火するタイミング、サポートされる matcher、受け取る JSON 入力、出力による動作の制御方法を説明します。

1249 1272 

1250<h3 id="sessionstart">1273<h3 id="sessionstart">

1251 SessionStart1274 SessionStart

1252</h3>1275</h3>

1253 1276 

1254Claude Code が新しいセッションを開始したとき、または既存のセッションを再開したときに実行されます。既存の issue やコードベースへの最近の変更などの開発コンテキストを読み込んだり、環境変数を設定したりするのに便利です。スクリプトを必要としない静的なコンテキストには、代わりに [CLAUDE.md](/docs/ja/memory) を使用してください。1277Claude Code が新しいセッションを開始するとき、または既存のセッションを再開するときに実行されます。既存の issue やコードベースへの最近の変更などの開発コンテキストの読み込みや、環境変数の設定に便利です。スクリプトを必要としない静的なコンテキストには、代わりに [CLAUDE.md](/docs/ja/memory) を使用してください。

1255 1278 

1256SessionStart はすべてのセッションで実行されるため、これらのフックは高速に保ってください。サポートされるのは `type: "command"` と `type: "mcp_tool"` のフックのみです。`mcp_tool` フックが実行されるタイミングについては、[MCP ツールフックのフィールド](#mcp-tool-hook-fields)を参照してください。1279SessionStart はすべてのセッションで実行されるため、これらのフックは高速に保ってください。`type: "command"` と `type: "mcp_tool"` のフックのみがサポートされます。`mcp_tool` フックが実行されるタイミングについては、[MCP ツールフックのフィールド](#mcp-tool-hook-fields)を参照してください。

1257 1280 

1258matcher の値は、セッションがどのように開始されたかに対応します。1281matcher の値は、セッションがどのように開始されたかに対応します:

1259 1282 

1260| Matcher | 発火するタイミング |1283| Matcher | 発火するタイミング |

1261| :- | :- |1284| :- | :- |


1263| `resume` | `--resume`、`--continue`、または `/resume` |1286| `resume` | `--resume`、`--continue`、または `/resume` |

1264| `clear` | `/clear` |1287| `clear` | `/clear` |

1265| `compact` | 自動または手動のコンテキスト圧縮 |1288| `compact` | 自動または手動のコンテキスト圧縮 |

1266| `fork` | 既存のセッションからフォークされた新しいセッション:`--resume` または `--continue` と組み合わせた `--fork-session`、`/fork` によるバックグラウンドコピー、`/branch`、または[バックグラウンドに移動](/docs/ja/agent-view#from-inside-a-session)した会話 |1289| `fork` | 既存のセッションからフォークされた新しいセッション。`--resume` または `--continue` と併用した `--fork-session`、`/fork` によるバックグラウンドコピー、`/branch`、または[バックグラウンドに移動](/docs/ja/agent-view#from-inside-a-session)した会話 |

1267 1290 

1268v2.1.214 より前は、フォークされたセッションはソースとして `"resume"` を報告していました。1291v2.1.214 より前は、フォークされたセッションはソース `"resume"` を報告していました。

1269 1292 

1270対話セッションを開始したとき、起動時に `--continue` や `--resume` で会話を再開したとき、または `/clear` を実行したとき、SessionStart フックはバックグラウンドで実行されます。すぐに入力を始めることができ、再開した会話はフックを待たずに表示されます。ただし、Claude の最初の応答はフックの完了を待つため、フックのコンテキストは Claude に届きます。1293対話セッションを開始したとき、起動時に `--continue` または `--resume` で会話を再開したとき、または `/clear` を実行したとき、SessionStart フックはバックグラウンドで実行されます。すぐに入力を始めることができ、再開した会話はフックを待たずに表示されます。ただし、Claude の最初の応答はフックの完了を待つため、フックのコンテキストは Claude に届きます。

1271 1294 

1272セッション内で `/resume` を使って会話を切り替える場合は、代わりに切り替えがフックの完了を待ちます。バックグラウンドのフックがまだ実行中に `/clear` を実行するか別の会話に切り替えた場合、フックが返す内容はセッションに一切適用されません。1295セッション内で `/resume` を使って会話を切り替える場合は、代わりに切り替えがフックの完了を待ちます。バックグラウンドのフックがまだ実行中に `/clear` を実行したり別の会話に切り替えたりすると、フックが返すものはセッションに一切適用されません。

1273 1296 

1274再開したセッションを含め、起動時にも同じ待機が適用されます。SessionStart フックがまだ実行中に送信したプロンプトは、フックが完了するまで Claude に届きません。1297同じ待機は起動時にも適用され、再開したセッションも含まれます。SessionStart フックがまだ実行中に送信したプロンプトは、フックが完了するまで Claude に届きません。

1275 1298 

1276いずれの待機中も、`Esc` を押すとプロンプトを送信せずに入力欄に戻すことができます。フックは実行を続けます。1299いずれの待機中も、`Esc` を押すと、プロンプトを送信せずに入力欄に戻せます。フックは実行を続けます。

1277 1300 

1278<h4 id="sessionstart-input">1301<h4 id="sessionstart-input">

1279 SessionStart の入力1302 SessionStart の入力

1280</h4>1303</h4>

1281 1304 

1282[共通の入力フィールド](#common-input-fields)に加えて、SessionStart フックは `source` と、オプションで `model`、`agent_type`、`session_title` を受け取ります。1305[共通入力フィールド](#common-input-fields)に加えて、SessionStart フックは `source` と、オプションで `model`、`agent_type`、`session_title` を受け取ります:

1283 1306 

1284| フィールド | 説明 |1307| フィールド | 説明 |

1285| :- | :- |1308| :- | :- |

1286| `source` | セッションの開始方法:新しいセッションの場合は `"startup"`、再開したセッションの場合は `"resume"`、`/clear` の後は `"clear"`、コンテキスト圧縮の後は `"compact"`、既存のセッションからフォークされた新しいセッションの場合は `"fork"` |1309| `source` | セッションの開始方法。新しいセッションでは `"startup"`、再開したセッションでは `"resume"`、`/clear` の後は `"clear"`、コンテキスト圧縮の後は `"compact"`、既存のセッションからフォークされた新しいセッションでは `"fork"` |

1287| `model` | アクティブなモデルの識別子。`/clear` の後や、会話の復旧によってセッションが復元された場合などに省略されることがあるため、読み取る前にフィールドの有無を確認してください |1310| `model` | アクティブなモデルの識別子。たとえば `/clear` の後や、会話の復旧によってセッションが復元された場合などには省略されることがあるため、読み取る前にフィールドの有無を確認してください |

1288| `agent_type` | エージェント名。`claude --agent <name>` で Claude Code を起動した場合に存在します |1311| `agent_type` | エージェント名。`claude --agent <name>` で Claude Code を起動した場合に存在します |

1289| `session_title` | セッションのカスタムタイトル。`--name`、`/rename`、フックの `sessionTitle` 出力、Agent SDK の `renameSession()` などで設定されている場合に存在します。`sessionTitle` を出力するフックは、まずこのフィールドを確認することで既存のカスタムタイトルの上書きを回避できます |1312| `session_title` | セッションのカスタムタイトル。`--name`、`/rename`、フックの `sessionTitle` 出力、Agent SDK の `renameSession()` などで設定されている場合に存在します。`sessionTitle` を出力するフックは、まずこのフィールドを確認することで、既存のカスタムタイトルの上書きを避けられます |

1290 1313 

1291名前を付けていないセッションにも[生成されたタイトル](/docs/ja/sessions#name-your-sessions)が付いている場合があります。このタイトルはカスタムタイトルではないため、`session_title` には表示されません。1314名前を付けていないセッションにも[生成されたタイトル](/docs/ja/sessions#name-your-sessions)がある場合があります。そのタイトルはカスタムタイトルではなく、`session_title` には含まれません。

1292 1315 

1293`source` が `"resume"` または `"fork"` で、トランスクリプトに Claude からの応答が少なくとも 1 つ含まれている場合、SessionStart フックは以下の 4 つのフィールドも受け取ります。フックはこれらを使って、古い会話を再開するコストを最初のリクエストの前に報告できます。たとえば [`systemMessage`](#json-output) で報告できます。これらのフィールドには Claude Code v2.1.251 以降が必要です。1316`source` が `"resume"` または `"fork"` で、トランスクリプトに Claude からの応答が少なくとも 1 つ含まれている場合、SessionStart フックは以下の 4 つのフィールドも受け取ります。フックはこれらを使って、古い会話を再開するコストを最初のリクエストの前に報告できます(たとえば [`systemMessage`](#json-output) で)。これらのフィールドには Claude Code v2.1.251 以降が必要です。

1294 1317 

1295| フィールド | 説明 |1318| フィールド | 説明 |

1296| :- | :- |1319| :- | :- |

1297| `seconds_since_last_response` | 再開したトランスクリプト内の最後の応答からの経過時間(実時間の秒数) |1320| `seconds_since_last_response` | 再開したトランスクリプト内の最後の応答からの経過秒数(実時間) |

1298| `context_tokens` | 再開したセッションの最初のリクエストがプロンプトとして再送信するトークン数 |1321| `context_tokens` | 再開したセッションの最初のリクエストがプロンプトとして再送信するトークン数 |

1299| `prompt_cache_likely_expired` | 最後の応答がセッションの[プロンプトキャッシュの有効期間](/docs/ja/prompt-caching#cache-lifetime)より古い場合、またはその後のコンテキスト圧縮によってキャッシュされた会話が置き換えられた場合に `true` |1322| `prompt_cache_likely_expired` | 最後の応答がセッションの[プロンプトキャッシュの有効期間](/docs/ja/prompt-caching#cache-lifetime)より古い場合、またはその後のコンテキスト圧縮によってキャッシュされた会話が置き換えられた場合に `true` |

1300| `estimated_cache_write_usd` | セッションのモデルで `context_tokens` をプロンプトキャッシュに書き込む推定コスト(米ドル、応答を除く) |1323| `estimated_cache_write_usd` | セッションのモデルで `context_tokens` をプロンプトキャッシュに書き込む推定コスト(米ドル)。応答は含みません |

1301 1324 

1302次の例は、最後の応答から 90 分後に再開したセッションの入力を示しています。1325この例は、最後の応答から 90 分後に再開されたセッションの入力を示しています:

1303 1326 

1304```json theme={null}1327```json theme={null}

1305{1328{


1317```1340```

1318 1341 

1319<h4 id="sessionstart-decision-control">1342<h4 id="sessionstart-decision-control">

1320 SessionStart の判定制御1343 SessionStart の決定制御

1321</h4>1344</h4>

1322 1345 

1323SessionStart フックは、Claude へのコンテキストの追加、最初のユーザーメッセージの指定、セッションタイトルの設定、ファイルの監視、スキルの再読み込みを行えます。すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、それぞれに対応するフィールドを返してください。1346SessionStart フックは、Claude へのコンテキストの追加、最初のユーザーメッセージの提供、セッションタイトルの設定、ファイルの監視、スキルの再読み込みを行えます。すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、それぞれに対応するフィールドを返します:

1324 1347 

1325| フィールド | 説明 |1348| フィールド | 説明 |

1326| :- | :- |1349| :- | :- |

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

1328| `initialUserMessage` | `-p` フラグを使用した[非対話モード](/docs/ja/headless)で、セッションの最初のユーザーメッセージとして使用される文字列。プロンプトを渡さなくても最初のターンになります。プロンプトを渡した場合は、次のターンとして続きます |1351| `initialUserMessage` | `-p` フラグを使用した[非対話モード](/docs/ja/headless)で、セッションの最初のユーザーメッセージとして使用される文字列。プロンプトを渡さなくても最初のターンになります。プロンプトを渡した場合は、次のターンとして続きます |

1329| `sessionTitle` | セッションタイトルを設定します。`/rename` と同じ効果があります。`source` が `"startup"`、`"resume"`、または `"fork"` の場合に適用されます |1352| `sessionTitle` | `/rename` と同じ効果でセッションタイトルを設定します。`source` が `"startup"`、`"resume"`、`"fork"` のいずれかの場合に適用されます |

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

1331| `reloadSkills` | ブール値。`true` の場合、Claude Code は SessionStart フックの完了後に[スキル](/docs/ja/skills)とコマンドのディレクトリを再スキャンします。[フックがインストールしたスキルを再読み込みする](#reload-skills-that-a-hook-installs)を参照してください |1354| `reloadSkills` | ブール値。`true` の場合、SessionStart フックの完了後に Claude Code が[スキル](/docs/ja/skills)とコマンドのディレクトリを再スキャンします。[フックがインストールしたスキルを再読み込みする](#reload-skills-that-a-hook-installs)を参照してください |

1332 1355 

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

1334 1357 

1335```json theme={null}1358```json theme={null}

1336{1359{


1342}1365}

1343```1366```

1344 1367 

1345Claude Code は SessionStart フックの[プレーンテキストの stdout](#exit-code-0) を Claude のコンテキストに追加するため、コンテキストを追加するだけのフックは JSON を組み立てずにそのまま出力できます。1368コンテキストを追加するだけのフックは、JSON を組み立てずにそれを出力できます。Claude Code は SessionStart フックの[プレーンテキストの stdout](#exit-code-0) を Claude のコンテキストに追加するためです。

1346 1369 

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

1348 1371 

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

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

1351</h4>1374</h4>

1352 1375 

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

1354 1377 

1355次の例は、共有スキルのリポジトリを同期し、再スキャンを要求します。1378この例は共有スキルリポジトリを同期し、再スキャンを要求します:

1356 1379 

1357```bash theme={null}1380```bash theme={null}

1358#!/bin/bash1381#!/bin/bash


1369 環境変数を永続化する1392 環境変数を永続化する

1370</h4>1393</h4>

1371 1394 

1372SessionStart フックは `CLAUDE_ENV_FILE` 環境変数にアクセスできます。この変数はファイルパスを提供し、そのファイルに、セッション中に Claude が後で実行するシェルコマンド向けの環境変数を永続化できます。1395SessionStart フックは `CLAUDE_ENV_FILE` 環境変数にアクセスできます。これは、セッション中に Claude が後で実行するシェルコマンド向けに環境変数を永続化できるファイルパスを提供します。

1373 1396 

1374個別の環境変数を設定するには、`export` 文を `CLAUDE_ENV_FILE` に書き込みます。他のフックが設定した変数を保持するには、追記(`>>`)を使用してください。1397個々の環境変数を設定するには、`export` 文を `CLAUDE_ENV_FILE` に書き込みます。他のフックが設定した変数を保持するには、追記(`>>`)を使用してください:

1375 1398 

1376```bash theme={null}1399```bash theme={null}

1377#!/bin/bash1400#!/bin/bash


1385exit 01408exit 0

1386```1409```

1387 1410 

1388セットアップコマンドによるすべての環境の変更を取り込むには、エクスポートされた変数を実行前後で比較します。1411セットアップコマンドによるすべての環境変更を取り込むには、変更前後でエクスポートされた変数を比較します:

1389 1412 

1390```bash theme={null}1413```bash theme={null}

1391#!/bin/bash1414#!/bin/bash


1404exit 01427exit 0

1405```1428```

1406 1429 

1407各 Bash コマンドは、コマンド自体の前にファイルの内容をシェルコードとして実行するため、そこに書く行では `export PATH="$PATH:./node_modules/.bin"` 内の `$PATH` 参照のように、Bash が評価するものは何でも使用できます。1430各 Bash コマンドは、コマンド自体の前にこのファイルの内容をシェルコードとして実行するため、ファイル内の行では `export PATH="$PATH:./node_modules/.bin"` の `$PATH` 参照のように、Bash が評価するものなら何でも使用できます。

1408 1431 

1409<a id="persisted-variables-in-powershell-commands" />1432<a id="persisted-variables-in-powershell-commands" />

1410 1433 


1412 PowerShell コマンドでの永続化された変数1435 PowerShell コマンドでの永続化された変数

1413</h5>1436</h5>

1414 1437 

1415Claude Code v2.1.296 以降では、[PowerShell](/docs/ja/tools-reference#powershell-tool) コマンドも `CLAUDE_ENV_FILE` から変数を受け取りますが、PowerShell がファイルを実行することはありません。代わりに、Claude Code がファイルから代入を読み取り、PowerShell コマンドの環境にコピーします。これが行われるのは、このセッションのすべてのフックが書き込んだ内容と、起動前に [`CLAUDE_ENV_FILE` に設定した](/docs/ja/env-vars)スクリプトのすべてにわたって、すべての行が次のいずれかである場合のみです。1438[PowerShell](/docs/ja/tools-reference#powershell-tool) コマンドも Claude Code v2.1.296 以降では `CLAUDE_ENV_FILE` から変数を受け取りますが、PowerShell がこのファイルを実行することはありません。代わりに、Claude Code がファイルから代入を読み取り、PowerShell コマンドの環境にコピーします。これが行われるのは、このセッションのすべてのフックが書き込んだ内容と、起動前に [`CLAUDE_ENV_FILE` に設定した](/docs/ja/env-vars)スクリプトの全体にわたって、すべての行が次のいずれかである場合に限られます:

1416 1439 

1417* 空行または `#` コメント1440* 空行または `#` コメント

1418* 行頭にある 1 つの代入。`export NAME=value`、`declare -x NAME=value`、または `NAME=value` の形式で記述され、値は Bash が記述どおりにそのまま使用するものであること。値は次の要素を任意に組み合わせて構成されます:文字、数字、および `_ @ % + = : , . / -` の文字のみを使用したクォートなしのテキスト、シングルクォートで囲まれたテキスト、内部の `$`、バッククォート、`"` がバックスラッシュでエスケープされたダブルクォートで囲まれたテキスト1441* 行頭にある 1 つの代入で、`export NAME=value`、`declare -x NAME=value`、または `NAME=value` の形式で記述され、Bash が記述どおりにそのまま使用する値であるもの。値は次の部分を任意に組み合わせたものです:英字、数字、`_ @ % + = : , . / -` の文字のみを使用するクォートなしのテキスト、シングルクォートで囲まれたテキスト、内部の `$`、バッククォート、`"` がすべてバックスラッシュでエスケープされたダブルクォートで囲まれたテキスト

1419 1442 

1420エスケープされていない `$PATH` を含む `export PATH="$PATH:./node_modules/.bin"`、`source` コマンド、`direnv export bash` が出力する `$'...'` 文字列など、他の種類の行が 1 つでもあると、PowerShell コマンドは変数を一切受け取らず、`claude --debug` は `Session environment is not all plain assignments` をログに記録します。Bash コマンドは引き続きすべての変数を受け取ります。Windows では、Git Bash と Windows でパスの表記が異なるため、値に `/` または `\` を含む変数も PowerShell コマンドには渡されません。[サンドボックス化された](/docs/ja/sandboxing) PowerShell コマンドは変数を一切受け取りません。1443いずれかの行がそれ以外の種類である場合(エスケープされていない `$PATH` を含む `export PATH="$PATH:./node_modules/.bin"`、`source` コマンド、`direnv export bash` が出力する `$'...'` 文字列など)、PowerShell コマンドは変数を一切受け取らず、`claude --debug` は `Session environment is not all plain assignments` をログに記録します。Bash コマンドは引き続きすべての変数を受け取ります。Windows では、Git Bash と Windows でパスの書き方が異なるため、値に `/` または `\` を含む変数も PowerShell コマンドには渡されません。[サンドボックス化](/docs/ja/sandboxing)された PowerShell コマンドは変数を一切受け取りません。

1421 1444 

1422<Note>1445<Note>

1423 `CLAUDE_ENV_FILE` は SessionStart、[Setup](#setup)、[CwdChanged](#cwdchanged)、[FileChanged](#filechanged) フックで利用できます。他のフックイベントはこの変数にアクセスできず、[`"shell": "powershell"`](#command-hook-fields) によるものか、Git Bash のない Windows でのデフォルトによるものかにかかわらず、PowerShell で実行されるフックもアクセスできません。1446 `CLAUDE_ENV_FILE` は、SessionStart、[Setup](#setup)、[CwdChanged](#cwdchanged)、[FileChanged](#filechanged) フックで利用できます。他のフックイベントはこの変数にアクセスできず、PowerShell で実行されるフックも、[`"shell": "powershell"`](#command-hook-fields) によるものか、Git Bash のない Windows でのデフォルトによるものかにかかわらず、アクセスできません。

1424</Note>1447</Note>

1425 1448 

1426<h3 id="setup">1449<h3 id="setup">

1427 Setup1450 Setup

1428</h3>1451</h3>

1429 1452 

1430Claude Code を `--init-only` で起動した場合、または `-p` フラグを使用した[非対話モード](/docs/ja/headless)で `--init` か `--maintenance` を指定して起動した場合にのみ発火します。通常の起動時には発火しません。通常のセッション起動とは別に、CI やスクリプトから明示的にトリガーする 1 回限りの依存関係のインストールや定期的なクリーンアップに使用してください。セッションごとの初期化には、代わりに [SessionStart](#sessionstart) を使用してください。1453`--init-only` を指定して Claude Code を起動した場合、または `-p` フラグを使用した[非対話モード](/docs/ja/headless)で `--init` または `--maintenance` を指定した場合にのみ発火します。通常の起動では発火しません。通常のセッション起動とは別に、CI やスクリプトから明示的にトリガーする一回限りの依存関係のインストールや定期的なクリーンアップに使用してください。セッションごとの初期化には、代わりに [SessionStart](#sessionstart) を使用してください。

1431 1454 

1432matcher の値は、フックをトリガーした CLI フラグに対応します。1455matcher の値は、フックをトリガーした CLI フラグに対応します:

1433 1456 

1434| Matcher | 発火するタイミング |1457| Matcher | 発火するタイミング |

1435| :- | :- |1458| :- | :- |

1436| `init` | `claude --init-only` または `claude -p --init` |1459| `init` | `claude --init-only` または `claude -p --init` |

1437| `maintenance` | `claude -p --maintenance` |1460| `maintenance` | `claude -p --maintenance` |

1438 1461 

1439`claude --init-only` を実行すると、Claude Code は Setup フックと `startup` matcher の `SessionStart` フックを実行した後、会話を開始せずに終了します。1462`claude --init-only` を実行すると、Claude Code は Setup フックと `startup` matcher の `SessionStart` フックを実行し、会話を開始せずに終了します。

1440 1463 

1441`-p` で会話を開始または続行する場合は、引数として、または標準入力へのパイプでプロンプトも指定する必要があります。`SessionStart` フックが [`initialUserMessage`](#sessionstart-decision-control) を提供する場合や、[遅延されたツール呼び出し](#defer-a-tool-call-for-later)を含むセッションを再開する場合は、プロンプトを省略できます。1464`-p` で会話を開始または継続する場合は、引数として、または stdin へのパイプで、プロンプトも指定する必要があります。`SessionStart` フックが [`initialUserMessage`](#sessionstart-decision-control) を提供する場合や、[遅延されたツール呼び出し](#defer-a-tool-call-for-later)を含むセッションを再開する場合は、プロンプトを省略できます。

1442 1465 

1443成功した場合、`--init-only` はターミナルに何も出力しません。フックが実行されたことを確認するには、`<path>` をログファイルの場所に置き換えて `claude --debug-file <path> --init-only` で起動し、ログに Setup と SessionStart のフックのエントリがあるか確認してください。1466成功した場合、`--init-only` はターミナルに何も出力しません。フックが実行されたことを確認するには、`<path>` をログファイルの場所に置き換えて `claude --debug-file <path> --init-only` で起動し、ログで Setup と SessionStart のフックのエントリを確認してください。

1444 1467 

1445Setup はすべての起動時に発火するわけではないため、依存関係のインストールを必要とするプラグインは Setup だけに頼ることはできません。実用的なパターンは、初回使用時に依存関係を確認し、存在しなければインストールすることです。たとえば、`${CLAUDE_PLUGIN_DATA}/node_modules` の有無をテストし、存在しなければ `npm install` を実行するフックやスキルです。インストールした依存関係の保存場所については、[永続データディレクトリ](/docs/ja/plugins/components#path-variables-and-persistent-data)を参照してください。マーケットプレイスを通じてプラグインを配布する場合、このパターンは不要な場合があります。Claude Code はプラグインをキャッシュする際に、[対象となる Node.js パッケージの依存関係を自動的にインストール](/docs/ja/plugins/loading#node-js-package-dependencies)します。1468Setup はすべての起動で発火するわけではないため、依存関係のインストールを必要とするプラグインは Setup だけに頼ることはできません。実用的なパターンは、初回使用時に依存関係を確認し、存在しなければインストールすることです。たとえば、`${CLAUDE_PLUGIN_DATA}/node_modules` の存在をテストし、なければ `npm install` を実行するフックやスキルなどです。インストールした依存関係の保存場所については、[永続データディレクトリ](/docs/ja/plugins/components#path-variables-and-persistent-data)を参照してください。マーケットプレイスを通じてプラグインを配布する場合、このパターンは不要な場合があります。Claude Code はプラグインをキャッシュする際に、[対象となる Node.js パッケージの依存関係を自動的にインストール](/docs/ja/plugins/loading#node-js-package-dependencies)します。

1446 1469 

1447<h4 id="setup-input">1470<h4 id="setup-input">

1448 Setup の入力1471 Setup の入力

1449</h4>1472</h4>

1450 1473 

1451[共通の入力フィールド](#common-input-fields)に加えて、Setup フックは `"init"` または `"maintenance"` のいずれかが設定された `trigger` フィールドを受け取ります。1474[共通入力フィールド](#common-input-fields)に加えて、Setup フックは `"init"` または `"maintenance"` のいずれかに設定された `trigger` フィールドを受け取ります:

1452 1475 

1453```json theme={null}1476```json theme={null}

1454{1477{


1461```1484```

1462 1485 

1463<h4 id="setup-decision-control">1486<h4 id="setup-decision-control">

1464 Setup の判定制御1487 Setup の決定制御

1465</h4>1488</h4>

1466 1489 

1467Setup フックはブロックできません。どの終了コードでも実行は続行されます。どの終了コードでも、Claude Code は Setup フックの [JSON 出力フィールド](#json-output)(`systemMessage`、`continue`、`hookSpecificOutput.additionalContext` など)を破棄します。`-p` を使用する場合、Setup フックの標準出力、標準エラー出力、終了コードは、`--output-format stream-json --verbose` で起動したときにのみ、[`hook_response` イベント](/docs/ja/headless#read-session-metadata)として実行の出力に表示されます。1490Setup フックはブロックできません。どの終了コードでも実行は継続されます。どの終了コードの場合も、Claude Code は Setup フックの [JSON 出力フィールド](#json-output)(`systemMessage`、`continue`、`hookSpecificOutput.additionalContext` など)を破棄します。`-p` では、Setup フックの stdout、stderr、終了コードは、`--output-format stream-json --verbose` で起動した場合にのみ、[`hook_response` イベント](/docs/ja/headless#read-session-metadata)として実行の出力に表示されます。

1468 1491 

1469Setup フックは `CLAUDE_ENV_FILE` にアクセスできます。このファイルに書き込まれた変数は、[SessionStart フック](#persist-environment-variables)と同様に、セッションの後続の Bash コマンドに引き継がれます。`Setup` で実行されるのは `type: "command"` フックのみです。`Setup` の `type: "mcp_tool"` フックは、[MCP ツールフックのフィールド](#mcp-tool-hook-fields)で説明されているとおり、常にスキップされます。1492Setup フックは `CLAUDE_ENV_FILE` にアクセスできます。このファイルに書き込まれた変数は、[SessionStart フック](#persist-environment-variables)と同様に、セッションの後続の Bash コマンドに引き継がれます。`Setup` では `type: "command"` フックのみが実行されます。`Setup` の `type: "mcp_tool"` フックは、[MCP ツールフックのフィールド](#mcp-tool-hook-fields)で説明されているとおり、常にスキップされます。

1470 1493 

1471<h3 id="instructionsloaded">1494<h3 id="instructionsloaded">

1472 InstructionsLoaded1495 InstructionsLoaded

1473</h3>1496</h3>

1474 1497 

1475`CLAUDE.md` または `.claude/rules/*.md` ファイルがコンテキストに読み込まれたときに発火します。このイベントは、即時に読み込まれるファイルに対してはセッション開始時に発火し、ファイルが遅延読み込みされるときにも再度発火します。たとえば、Claude がネストされた `CLAUDE.md` を含むサブディレクトリにアクセスしたときや、`paths:` フロントマターを持つ条件付きルールが一致したときです。このフックはブロックや判定制御をサポートしていません。可観測性を目的として非同期に実行されます。1498`CLAUDE.md` または `.claude/rules/*.md` ファイルがコンテキストに読み込まれたときに発火します。このイベントは、即時に読み込まれるファイルについてはセッション開始時に発火し、ファイルが遅延読み込みされるときにも後で再度発火します。たとえば、ネストされた `CLAUDE.md` を含むサブディレクトリに Claude がアクセスしたときや、`paths:` フロントマターを持つ条件付きルールがマッチしたときです。このフックはブロックや決定制御をサポートしません。可観測性のために非同期で実行されます。

1476 1499 

1477Claude が **Project instructions** 設定を通じて [`AGENTS.md` を直接読み込む](/docs/ja/memory#agents-md)場合、このイベントは発火しません。`CLAUDE.md` が `AGENTS.md` をインポートする場合は、他のインポートされたファイルと同様に `load_reason` が `include` に設定されて発火し、`CLAUDE.md` が `AGENTS.md` へのシンボリックリンクである場合は、通常の `CLAUDE.md` の読み込みとして発火します。1500このイベントは、Claude が **Project instructions** 設定を通じて [`AGENTS.md` を直接読み取る](/docs/ja/memory#agents-md)場合には発火しません。`CLAUDE.md` が `AGENTS.md` をインポートする場合は、他のインポートされたファイルと同様に `load_reason` が `include` に設定されて発火し、`CLAUDE.md` がそれへのシンボリックリンクである場合は、通常の `CLAUDE.md` の読み込みとして発火します。

1478 1501 

1479matcher は `load_reason` に対して実行されます。たとえば、セッション開始時に読み込まれたファイルに対してのみ発火させるには `"matcher": "session_start"` を、遅延読み込みに対してのみ発火させるには `"matcher": "path_glob_match|nested_traversal"` を使用します。1502matcher は `load_reason` に対して実行されます。たとえば、セッション開始時に読み込まれたファイルに対してのみ発火させるには `"matcher": "session_start"` を、遅延読み込みに対してのみ発火させるには `"matcher": "path_glob_match|nested_traversal"` を使用します。

1480 1503 


1482 InstructionsLoaded の入力1505 InstructionsLoaded の入力

1483</h4>1506</h4>

1484 1507 

1485[共通の入力フィールド](#common-input-fields)に加えて、InstructionsLoaded フックは以下のフィールドを受け取ります。1508[共通入力フィールド](#common-input-fields)に加えて、InstructionsLoaded フックは次のフィールドを受け取ります:

1486 1509 

1487| フィールド | 説明 |1510| フィールド | 説明 |

1488| :- | :- |1511| :- | :- |

1489| `file_path` | 読み込まれた指示ファイルの絶対パス |1512| `file_path` | 読み込まれた指示ファイルへの絶対パス |

1490| `memory_type` | ファイルのスコープ:`"User"`、`"Project"`、`"Local"`、または `"Managed"` |1513| `memory_type` | ファイルのスコープ:`"User"`、`"Project"`、`"Local"`、または `"Managed"` |

1491| `load_reason` | ファイルが読み込まれた理由:`"session_start"`、`"nested_traversal"`、`"path_glob_match"`、`"include"`、または `"compact"`。`"compact"` の値は、コンテキスト圧縮イベントの後に指示ファイルが再読み込みされたときに発火します |1514| `load_reason` | ファイルが読み込まれた理由:`"session_start"`、`"nested_traversal"`、`"path_glob_match"`、`"include"`、または `"compact"`。`"compact"` の値は、コンテキスト圧縮イベントの後に指示ファイルが再読み込みされたときに発火します |

1492| `globs` | ファイルの `paths:` フロントマターにあるパスの glob パターン(存在する場合)。`path_glob_match` の読み込みの場合にのみ存在します |1515| `globs` | ファイルの `paths:` フロントマターにあるパスの glob パターン(存在する場合)。`path_glob_match` による読み込みの場合にのみ存在します |

1493| `trigger_file_path` | 遅延読み込みの場合、この読み込みをトリガーしたアクセス先のファイルのパス |1516| `trigger_file_path` | 遅延読み込みの場合、この読み込みのきっかけとなったアクセス先のファイルへのパス |

1494| `parent_file_path` | `include` の読み込みの場合、このファイルをインクルードした親の指示ファイルのパス |1517| `parent_file_path` | `include` による読み込みの場合、このファイルをインクルードした親の指示ファイルへのパス |

1495 1518 

1496```json theme={null}1519```json theme={null}

1497{1520{


1506```1529```

1507 1530 

1508<h4 id="instructionsloaded-decision-control">1531<h4 id="instructionsloaded-decision-control">

1509 InstructionsLoaded の判定制御1532 InstructionsLoaded の決定制御

1510</h4>1533</h4>

1511 1534 

1512InstructionsLoaded フックには判定制御がありません。指示の読み込みをブロックしたり変更したりすることはできません。Claude Code はこれらのフックの [JSON 出力フィールド](#json-output)(`systemMessage` や `continue` など)を破棄します。このイベントは、監査ログ、コンプライアンスの追跡、可観測性のために使用してください。1535InstructionsLoaded フックには決定制御がありません。指示の読み込みをブロックしたり変更したりすることはできません。Claude Code はその [JSON 出力フィールド](#json-output)(`systemMessage` や `continue` など)を破棄します。このイベントは、監査ログ、コンプライアンスの追跡、可観測性のために使用してください。

1513 1536 

1514<h3 id="userpromptsubmit">1537<h3 id="userpromptsubmit">

1515 UserPromptSubmit1538 UserPromptSubmit


1519プロンプトや会話に基づいて追加のコンテキストを加えたり、プロンプトを検証したり、1542プロンプトや会話に基づいて追加のコンテキストを加えたり、プロンプトを検証したり、

1520特定の種類のプロンプトをブロックしたりできます。1543特定の種類のプロンプトをブロックしたりできます。

1521 1544 

1522`UserPromptSubmit` フックは、ユーザーが入力したプロンプトに対してだけ発火するわけではありません。Claude Code は以下の場合にも実行します。1545`UserPromptSubmit` フックは、入力したプロンプトに対してだけ発火するわけではありません。Claude Code は次の場合にも実行します:

1523 1546 

1524* [スケジュールタスク](/docs/ja/scheduled-tasks)の発火(`/loop` の反復を含む)1547* [スケジュールタスク](/docs/ja/scheduled-tasks)の発火(`/loop` の反復を含む)

1525* [バックグラウンドのサブエージェント](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)が、それを開始したセッションに結果を報告するとき1548* [バックグラウンドのサブエージェント](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)が、それを開始したセッションに報告を返すとき

1526* [別のセッションが送信したメッセージ](/docs/ja/cross-session-messaging)がメインの会話に届いたとき1549* [別のセッションが送信したメッセージ](/docs/ja/cross-session-messaging)がメインの会話に届くとき

1527 1550 

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

1529 1552 

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

1531 1554 

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

1533 1556 

1534<h4 id="userpromptsubmit-input">1557<h4 id="userpromptsubmit-input">

1535 UserPromptSubmit の入力1558 UserPromptSubmit の入力

1536</h4>1559</h4>

1537 1560 

1538[共通の入力フィールド](#common-input-fields)に加えて、UserPromptSubmit フックは送信されたテキストを含む `prompt` フィールドを受け取ります。`[Pasted text #N]` プレースホルダーに折りたたまれた貼り付けコンテンツは、その場で展開された状態で届きます。Claude Code が[貼り付けたテキストを Claude 向けにマークする](/docs/ja/terminal-config#how-claude-treats-pasted-text)セッションでは、展開されたコンテンツは `<pasted_content id="…">` の行と `</pasted_content id="…">` の行の間に置かれるため、フックがプロンプトを解析する場合はこれらの行を考慮してください。1561[共通入力フィールド](#common-input-fields)に加えて、UserPromptSubmit フックは送信されたテキストを含む `prompt` フィールドを受け取ります。`[Pasted text #N]` プレースホルダーに折りたたまれた貼り付けコンテンツは、その場で展開された状態で届きます。Claude Code が[貼り付けたテキストを Claude 向けにマークする](/docs/ja/terminal-config#how-claude-treats-pasted-text)セッションでは、展開されたコンテンツは `<pasted_content id="…">` の行と `</pasted_content id="…">` の行の間に置かれるため、フックがプロンプトを解析する場合はこれらの行を考慮してください。

1539 1562 

1540UserPromptSubmit フックは、セッションにカスタムタイトルがある場合に `session_title` も受け取ります。その意味は [SessionStart の `session_title` フィールド](#sessionstart-input)と同じです。1563UserPromptSubmit フックは、セッションにカスタムタイトルがある場合、`session_title` も受け取ります。意味は [SessionStart の `session_title` フィールド](#sessionstart-input)と同じです。

1541 1564 

1542```json theme={null}1565```json theme={null}

1543{1566{


1551```1574```

1552 1575 

1553<h4 id="userpromptsubmit-decision-control">1576<h4 id="userpromptsubmit-decision-control">

1554 UserPromptSubmit の判定制御1577 UserPromptSubmit の決定制御

1555</h4>1578</h4>

1556 1579 

1557`UserPromptSubmit` フックは、送信されたプロンプトを処理するかどうかを制御し、コンテキストを追加できます。すべての [JSON 出力フィールド](#json-output)が利用できます。1580`UserPromptSubmit` フックは、送信されたプロンプトを処理するかどうかを制御し、コンテキストを追加できます。すべての [JSON 出力フィールド](#json-output)が利用できます。

1558 1581 

1559終了コード 0 の場合、会話にコンテキストを追加する方法は 2 つあります。1582終了コード 0 で会話にコンテキストを追加する方法は 2 つあります:

1560 1583 

1561* **プレーンテキストの標準出力**:Claude Code は、[プレーンテキストとして扱う](#exit-code-0)標準出力を Claude のコンテキストに追加します1584* **プレーンテキストの stdout**:Claude Code は、[プレーンテキストとして扱う](#exit-code-0) stdout を Claude のコンテキストに追加します

1562* **`additionalContext` を含む JSON**:より細かく制御するには、以下の JSON 形式を使用します。`additionalContext` フィールドがコンテキストとして追加されます1585* **`additionalContext` を含む JSON**:より細かく制御するには、以下の JSON 形式を使用します。`additionalContext` フィールドがコンテキストとして追加されます

1563 1586 

1564どちらのチャネルも、トランスクリプトに表示されるエントリは作成しません。通常の標準出力と `additionalContext` の値は、それぞれフック名で始まるシステムリマインダーとして挿入され、Claude は両方を読み取ります。配信を確認するには、[デバッグログ](#debug-hooks)を確認してください。1587どちらの方法でも、トランスクリプトに表示されるエントリは作成されません。プレーンな stdout と `additionalContext` の値は、それぞれフック名で始まるシステムリマインダーとして挿入され、Claude は両方を読み取ります。配信を確認するには、[デバッグログ](#debug-hooks)を確認してください。

1565 1588 

1566プロンプトをブロックするには、`decision` を `"block"` に設定した JSON オブジェクトを返します。1589プロンプトをブロックするには、`decision` を `"block"` に設定した JSON オブジェクトを返します:

1567 1590 

1568| フィールド | 説明 |1591| フィールド | 説明 |

1569| :- | :- |1592| :- | :- |

1570| `decision` | `"block"` は、プロンプトが Claude に届く前に停止します。プロンプトの処理を続行させる場合は省略します |1593| `decision` | `"block"` はプロンプトが Claude に届く前に停止します。プロンプトの処理を続行させるには省略します |

1571| `reason` | `decision` が `"block"` の場合にユーザーに表示されます。コンテキストには追加されません |1594| `reason` | `decision` が `"block"` の場合にユーザーに表示されます。コンテキストには追加されません |

1572| `additionalContext` | 送信されたプロンプトとともに Claude のコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |1595| `additionalContext` | 送信されたプロンプトとともに Claude のコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |

1573| `sessionTitle` | セッションタイトルを設定します。プロンプトの内容に基づいてセッションに自動で名前を付ける場合に使用します |1596| `sessionTitle` | セッションタイトルを設定します。プロンプトの内容に基づいてセッションに自動的に名前を付けるために使用します |

1574| `suppressOriginalPrompt` | フックがプロンプトをブロックする際に `true` の場合、ブロックメッセージからプロンプトのテキストを除外します。[ブロックされたプロンプトが残すもの](#what-a-blocked-prompt-leaves-behind)を参照してください |1597| `suppressOriginalPrompt` | フックがプロンプトをブロックする際に `true` の場合、ブロックメッセージからプロンプトのテキストを除外します。[ブロックされたプロンプトが残すもの](#what-a-blocked-prompt-leaves-behind)を参照してください |

1575 1598 

1576終了コード 2 で終了してブロックするフックは、`reason` と同じ方法で処理されます。ブロックメッセージには標準エラー出力のテキストがユーザーに表示され、コンテキストには追加されません。1599終了コード 2 でブロックするフックは、`reason` と同じように扱われます。ブロックメッセージには stderr のテキストがユーザーに表示され、コンテキストには追加されません。

1577 1600 

1578```json theme={null}1601```json theme={null}

1579{1602{


1592 ブロックされたプロンプトが残すもの1615 ブロックされたプロンプトが残すもの

1593</h4>1616</h4>

1594 1617 

1595ブロックされたプロンプトは Claude に届きませんが、そのテキストがあらゆる場所から削除されるわけではありません。デフォルトでは、ユーザーに表示されるブロックメッセージの末尾に `Original prompt:` と送信されたテキストが続き、Claude Code はそのメッセージをディスク上のセッションのトランスクリプトファイルに書き込みます。メッセージからテキストを除外するには、`hookSpecificOutput` 内に `"suppressOriginalPrompt": true` を含む JSON を出力してください。これは、フックが `decision: "block"` でブロックする場合でも、終了コード 2 で終了してブロックする場合でも機能します。1618ブロックされたプロンプトが Claude に届くことはありませんが、そのテキストがあらゆる場所から削除されるわけではありません。デフォルトでは、ユーザーに表示されるブロックメッセージの末尾に `Original prompt:` と送信されたテキストが続き、Claude Code はそのメッセージをディスク上のセッションのトランスクリプトファイルに書き込みます。メッセージからテキストを除外するには、`hookSpecificOutput` 内に `"suppressOriginalPrompt": true` を含む JSON を出力します。これは、フックが `decision: "block"` でブロックする場合でも、終了コード 2 でブロックする場合でも機能します。

1596 1619 

1597`suppressOriginalPrompt` が変更するのはブロックメッセージだけです。送信されたテキストは、セッションのトランスクリプトやプロンプト履歴などのローカルファイルに引き続き表示される可能性があるため、ブロックするフックは秘密情報をディスクに残さないための手段にはなりません。これらのファイルを制限または削除するには、[プレーンテキストの保存](/docs/ja/claude-directory#plaintext-storage)と[ローカルデータを消去する](/docs/ja/claude-directory#clear-local-data)を参照してください。1620`suppressOriginalPrompt` が変更するのはブロックメッセージのみです。送信されたテキストは、セッションのトランスクリプトやプロンプト履歴などのローカルファイルに引き続き残る可能性があるため、ブロックするフックは機密情報をディスクに残さない手段にはなりません。これらのファイルを制限または削除するには、[プレーンテキストでの保存](/docs/ja/claude-directory#plaintext-storage)と[ローカルデータの消去](/docs/ja/claude-directory#clear-local-data)を参照してください。

1598 1621 

1599<h3 id="userpromptexpansion">1622<h3 id="userpromptexpansion">

1600 UserPromptExpansion1623 UserPromptExpansion

1601</h3>1624</h3>

1602 1625 

1603ユーザーが入力したコマンドが、Claude に届く前にプロンプトに展開されるときに実行されます。特定のコマンドの直接呼び出しをブロックしたり、特定のスキルにコンテキストを挿入したり、ユーザーがどのコマンドを呼び出したかをログに記録したりするのに使用します。たとえば、`deploy` に一致するフックは承認ファイルが存在しない限り `/deploy` をブロックでき、レビュースキルに一致するフックはチームのレビューチェックリストを `additionalContext` として追加できます。1626ユーザーが入力したコマンドが、Claude に届く前にプロンプトに展開されるときに実行されます。特定のコマンドの直接呼び出しのブロック、特定のスキルへのコンテキストの挿入、ユーザーが呼び出したコマンドのログ記録に使用します。たとえば、`deploy` にマッチするフックは承認ファイルが存在しない限り `/deploy` をブロックでき、レビュースキルにマッチするフックはチームのレビューチェックリストを `additionalContext` として追加できます。

1604 1627 

1605このイベントは、`PreToolUse` がカバーしない経路をカバーします。`Skill` ツールに一致する `PreToolUse` フックは Claude がツールを呼び出したときにのみ発火しますが、`/skillname` を直接入力すると `PreToolUse` はバイパスされます。`UserPromptExpansion` はその直接の経路で発火します。1628このイベントは、`PreToolUse` がカバーしない経路をカバーします。`Skill` ツールにマッチする `PreToolUse` フックは Claude がツールを呼び出したときにのみ発火しますが、`/skillname` を直接入力すると `PreToolUse` はバイパスされます。`UserPromptExpansion` はその直接の経路で発火します。

1606 1629 

1607`command_name` に対してマッチします。すべてのプロンプト型コマンドで発火させるには、matcher を空のままにしてください。1630`command_name` にマッチします。すべてのプロンプト型コマンドで発火させるには、matcher を空のままにします。

1608 1631 

1609<h4 id="userpromptexpansion-input">1632<h4 id="userpromptexpansion-input">

1610 UserPromptExpansion の入力1633 UserPromptExpansion の入力

1611</h4>1634</h4>

1612 1635 

1613[共通の入力フィールド](#common-input-fields)に加えて、UserPromptExpansion フックは `expansion_type`、`command_name`、`command_args`、`command_source`、および元の `prompt` 文字列を受け取ります。`expansion_type` フィールドは、スキルとカスタムコマンドの場合は `slash_command`、MCP サーバーのプロンプトの場合は `mcp_prompt` です。1636[共通入力フィールド](#common-input-fields)に加えて、UserPromptExpansion フックは `expansion_type`、`command_name`、`command_args`、`command_source`、および元の `prompt` 文字列を受け取ります。`expansion_type` フィールドは、スキルとカスタムコマンドの場合は `slash_command`、MCP サーバーのプロンプトの場合は `mcp_prompt` です。

1614 1637 

1615```json theme={null}1638```json theme={null}

1616{1639{


1628```1651```

1629 1652 

1630<h4 id="userpromptexpansion-decision-control">1653<h4 id="userpromptexpansion-decision-control">

1631 UserPromptExpansion の判定制御1654 UserPromptExpansion の決定制御

1632</h4>1655</h4>

1633 1656 

1634`UserPromptExpansion` フックは、展開をブロックしたりコンテキストを追加したりできます。すべての [JSON 出力フィールド](#json-output)が利用できます。1657`UserPromptExpansion` フックは展開をブロックしたり、コンテキストを追加したりできます。すべての [JSON 出力フィールド](#json-output)が利用できます。

1635 1658 

1636| フィールド | 説明 |1659| フィールド | 説明 |

1637| :- | :- |1660| :- | :- |

1638| `decision` | `"block"` はコマンドの展開を防ぎます。続行させる場合は省略します |1661| `decision` | `"block"` はコマンドの展開を防ぎます。続行させるには省略します |

1639| `reason` | `decision` が `"block"` の場合にユーザーに表示されます |1662| `reason` | `decision` が `"block"` の場合にユーザーに表示されます |

1640| `additionalContext` | 展開されたプロンプトとともに Claude のコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |1663| `additionalContext` | 展開されたプロンプトとともに Claude のコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |

1641 1664 

1642終了コード 2 で終了してブロックするフックは、`reason` と同じ方法で処理されます。ブロックメッセージには標準エラー出力のテキストがユーザーに表示されます。1665終了コード 2 でブロックするフックは、`reason` と同じように扱われます。ブロックメッセージには stderr のテキストがユーザーに表示されます。

1643 1666 

1644```json theme={null}1667```json theme={null}

1645{1668{


1656 MessageDisplay1679 MessageDisplay

1657</h3>1680</h3>

1658 1681 

1659アシスタントのメッセージが画面にストリーミングされている間に実行されます。Claude Code はメッセージを段階的に表示します。新たに完成した行のバッチが描画できる状態になるたびに、フックはそれらの行を受け取って 1 回実行され、Claude Code はフックの置換テキストをその位置に描画します。長いメッセージでは複数回呼び出され、短いメッセージでは 1 回だけの場合もあります。1682アシスタントメッセージが画面にストリーミングされている間に実行されます。Claude Code はメッセージを段階的に表示します。新たに完成した行のバッチが描画可能になるたびに、フックはそれらの行を受け取って 1 回実行され、Claude Code はその位置にフックの置換テキストを描画します。長いメッセージでは複数回呼び出され、短いメッセージでは 1 回だけの場合もあります。

1660 1683 

1661MessageDisplay は次の用途に使用します。1684MessageDisplay は次の用途に使用します:

1662 1685 

1663* 最小限の表示のために markdown を除去する1686* 最小限の表示のために markdown を除去する

1664* Agent SDK アプリケーションがユーザーに表示するテキストを変換する1687* Agent SDK アプリケーションがユーザーに表示するテキストを変換する

1665* Claude の応答から API キーや内部ホスト名を秘匿する1688* Claude の応答から API キーや内部ホスト名を秘匿する

1666 1689 

1667Claude Code はフックが戻るまで各バッチを保持するため、フックは高速に保ってください。フックが失敗するかタイムアウトした場合、Claude Code は元のテキストを表示します。このイベントのデフォルトのタイムアウトは 10 秒です。フックにさらに時間が必要な場合は、フックエントリの `timeout` フィールドを設定してください。1690Claude Code はフックが返るまで各バッチを保持するため、フックは高速に保ってください。フックが失敗またはタイムアウトした場合、Claude Code は元のテキストを表示します。このイベントのデフォルトのタイムアウトは 10 秒です。フックにより多くの時間が必要な場合は、フックエントリで `timeout` フィールドを設定してください。

1668 1691 

1669MessageDisplay は表示専用です。置換テキストは画面に描画される内容だけを変更します。トランスクリプトと Claude が参照する内容は元のテキストのままであるため、Claude が置換テキストを見ることはなく、詳細モードでは元のテキストが表示されます。フックが受け取るのはアシスタントのメッセージのテキストのみであるため、ツールの結果やユーザーが入力したテキストは変更されずに描画されます。1692MessageDisplay は表示専用です。置換テキストによって変わるのは画面に描画される内容だけです。トランスクリプトと Claude が見る内容は元のテキストのままなので、Claude が置換テキストを見ることはなく、verbose モードでは元のテキストが表示されます。フックが受け取るのはアシスタントメッセージのテキストのみなので、ツールの結果やユーザーが入力したテキストは変更されずに描画されます。

1670 1693 

1671MessageDisplay は matcher をサポートしておらず、テキストをストリーミングするすべてのアシスタントメッセージで発火します。ツール呼び出しのみの応答など、テキストを含まないメッセージでは発火しません。1694MessageDisplay は matcher をサポートせず、テキストをストリーミングするすべてのアシスタントメッセージで発火します。ツール呼び出しのみの応答など、テキストを含まないメッセージではトリガーされません。

1672 1695 

1673Agent SDK のクエリや `claude -p` を含む非対話の実行では、MessageDisplay は行のバッチごとではなく、アシスタントメッセージごとに 1 回実行されます。その 1 回の呼び出しはメッセージの完了後に届き、メッセージの全文を含みます。`index` は `0`、`final` は `true`、`delta` はメッセージ全体を保持します。各メッセージの `delta` テキストを収集するフックは、どちらのモードでも同じテキスト全体を受け取ります。1696Agent SDK のクエリや `claude -p` を含む非対話の実行では、MessageDisplay は行のバッチごとではなく、アシスタントメッセージごとに 1 回実行されます。この 1 回の呼び出しはメッセージの完了後に行われ、メッセージの全文を含みます。`index` は `0`、`final` は `true` で、`delta` にメッセージ全体が入ります。各メッセージの `delta` テキストを収集するフックは、どちらのモードでも同じ合計テキストを受け取ります。

1674 1697 

1675<h4 id="messagedisplay-input">1698<h4 id="messagedisplay-input">

1676 MessageDisplay の入力1699 MessageDisplay の入力

1677</h4>1700</h4>

1678 1701 

1679[共通の入力フィールド](#common-input-fields)に加えて、MessageDisplay フックは、ターンとメッセージの識別子、メッセージ内でのこの呼び出しの位置、および `delta` 内の新しいテキストを受け取ります。バッチの境界はテキストのストリーミング方法によって異なるため、行が特定の方法でグループ化されることを期待するのではなく、`index` と `final` を使用してメッセージ内の進行状況を追跡してください。1702[共通入力フィールド](#common-input-fields)に加えて、MessageDisplay フックは、ターンとメッセージの識別子、メッセージ内でのこの呼び出しの位置、`delta` 内の新しいテキストを受け取ります。バッチの境界はテキストのストリーミング方法によって異なるため、行が特定の方法でグループ化されることを期待せず、`index` と `final` を使ってメッセージの進行状況を追跡してください。

1680 1703 

1681| フィールド | 説明 |1704| フィールド | 説明 |

1682| :- | :- |1705| :- | :- |


1684| `message_id` | 表示中のアシスタントメッセージの UUID。同じメッセージのすべてのバッチで一定です。これは API の `msg_…` ID ではないため、トランスクリプトのメッセージ ID と関連付けることはできません |1707| `message_id` | 表示中のアシスタントメッセージの UUID。同じメッセージのすべてのバッチで一定です。これは API の `msg_…` ID ではないため、トランスクリプトのメッセージ ID と関連付けることはできません |

1685| `index` | メッセージ内でのこのバッチの 0 から始まるインデックス |1708| `index` | メッセージ内でのこのバッチの 0 から始まるインデックス |

1686| `final` | メッセージの最後のバッチで `true`。各メッセージには最終バッチがちょうど 1 つあります |1709| `final` | メッセージの最後のバッチで `true`。各メッセージには最終バッチがちょうど 1 つあります |

1687| `delta` | 前回のバッチ以降に新たに完成した行(終端の改行を含む)。常に行単位ですが、最終バッチは行の途中で終わる場合があります。対話の実行では、メッセージが改行で終わる場合に最終バッチの delta は空になるため、空でない delta ではなく `final` をメッセージ終了のシグナルとして扱ってください。Agent SDK と `claude -p` の実行では、1 回の呼び出しがメッセージ全体を含みます |1710| `delta` | 前のバッチ以降に新たに完成した行(末尾の改行を含む)。最終バッチは行の途中で終わる場合がありますが、それ以外は常に完全な行です。対話的な実行では、メッセージが改行で終わる場合、最終バッチの delta は空になるため、空でない delta ではなく `final` をメッセージ終了のシグナルとして扱ってください。Agent SDK と `claude -p` の実行では、1 回の呼び出しでメッセージ全体が渡されます |

1688 1711 

1689```json theme={null}1712```json theme={null}

1690{1713{


1704 MessageDisplay の出力1727 MessageDisplay の出力

1705</h4>1728</h4>

1706 1729 

1707すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、MessageDisplay フックは画面上の delta を置き換えるために `displayContent` を返すことができます。1730すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、MessageDisplay フックは `displayContent` を返して画面上の delta を置き換えることができます:

1708 1731 

1709| フィールド | 説明 |1732| フィールド | 説明 |

1710| :- | :- |1733| :- | :- |

1711| `displayContent` | delta の代わりに表示されるテキスト。元のテキストを表示する場合は省略します |1734| `displayContent` | delta の代わりに表示されるテキスト。元のテキストを表示するには省略します |

1712 1735 

1713MessageDisplay フックには判定制御がありません。メッセージをブロックしたり、トランスクリプトに保存される内容や Claude に送信される内容を変更したりすることはできません。Claude Code は JSON 出力の `displayContent` に従って動作し、`systemMessage` と `continue` は破棄します。1736MessageDisplay フックには決定制御がありません。メッセージをブロックしたり、トランスクリプトに保存される内容や Claude に送信される内容を変更したりすることはできません。Claude Code は JSON 出力の `displayContent` に基づいて動作し、`systemMessage` と `continue` は破棄します。

1714 1737 

1715次の例では、プレーンテキストで表示するために Claude の応答から markdown の書式を除去します。スクリプトは各バッチを標準入力から読み取り、`delta` から太字のマーカーとインラインコードのバッククォートを取り除き、結果を `displayContent` として返します。1738この例では、プレーンテキストで表示するために Claude の応答から markdown の書式を除去します。スクリプトは stdin から各バッチを読み取り、`delta` から太字マーカーとインラインコードのバッククォートを削除して、結果を `displayContent` として返します。

1716 1739 

1717<Tabs>1740<Tabs>

1718 <Tab title="macOS/Linux">1741 <Tab title="macOS/Linux">

1719 設定ファイルで、このイベント用のコマンドフックを登録します。1742 設定ファイルでこのイベントのコマンドフックを登録します:

1720 1743 

1721 ```json theme={null}1744 ```json theme={null}

1722 {1745 {


1736 }1759 }

1737 ```1760 ```

1738 1761 

1739 このスクリプトをプロジェクトの `.claude/hooks/plain-display.sh` に保存し、`chmod +x` で実行可能にします。1762 このスクリプトをプロジェクトの `.claude/hooks/plain-display.sh` に保存し、`chmod +x` で実行可能にします:

1740 1763 

1741 ```bash theme={null}1764 ```bash theme={null}

1742 #!/bin/bash1765 #!/bin/bash


1745 </Tab>1768 </Tab>

1746 1769 

1747 <Tab title="Windows (PowerShell)">1770 <Tab title="Windows (PowerShell)">

1748 PowerShell を通じてスクリプトを実行するコマンドフックを登録します。1771 PowerShell を通じてスクリプトを実行するコマンドフックを登録します:

1749 1772 

1750 ```json theme={null}1773 ```json theme={null}

1751 {1774 {


1771 }1794 }

1772 ```1795 ```

1773 1796 

1774 `-NoProfile` フラグは PowerShell プロファイルの読み込みをスキップしてフックを高速に起動し、`-ExecutionPolicy Bypass` は PowerShell がローカルのスクリプトファイルを実行できるようにします。1797 `-NoProfile` フラグは PowerShell プロファイルの読み込みをスキップしてフックを高速に起動させ、`-ExecutionPolicy Bypass` は PowerShell がローカルのスクリプトファイルを実行できるようにします。

1775 1798 

1776 このスクリプトをプロジェクトの `.claude/hooks/plain-display.ps1` に保存します。1799 このスクリプトをプロジェクトの `.claude/hooks/plain-display.ps1` に保存します:

1777 1800 

1778 ```powershell theme={null}1801 ```powershell theme={null}

1779 $batch = [Console]::In.ReadToEnd() | ConvertFrom-Json1802 $batch = [Console]::In.ReadToEnd() | ConvertFrom-Json


1788 </Tab>1811 </Tab>

1789</Tabs>1812</Tabs>

1790 1813 

1791markdown を含まないバッチは変更されずにそのまま通過します。`jq` がないなどの理由でスクリプトが失敗した場合、Claude Code は元のテキストを表示し、失敗はセッション内ではなく[デバッグ出力](#debug-hooks)にのみ記録されます。1814markdown を含まないバッチはそのまま通過します。スクリプトが失敗した場合(たとえば `jq` がない場合)、Claude Code は元のテキストを表示し、失敗はセッション内ではなく[デバッグ出力](#debug-hooks)でのみ通知されます。

1792 1815 

1793<h3 id="pretooluse">1816<h3 id="pretooluse">

1794 PreToolUse1817 PreToolUse

1795</h3>1818</h3>

1796 1819 

1797Claude がツールのパラメーターを作成した後、ツール呼び出しを処理する前に実行されます。`EndConversation` を除く任意のツール名にマッチします。`Bash`、`PowerShell`、`Edit`、`Write`、`Read`、`Glob`、`Grep`、`Agent`、`Workflow`、`WebFetch`、`WebSearch`、`AskUserQuestion`、`ExitPlanMode` などの組み込みツールと、任意の [MCP ツール名](#match-mcp-tools)が対象です。1820Claude がツールのパラメータを作成した後、ツール呼び出しを処理する前に実行されます。`EndConversation` を除くすべてのツール名にマッチします。`Bash`、`PowerShell`、`Edit`、`Write`、`Read`、`Glob`、`Grep`、`Agent`、`Workflow`、`WebFetch`、`WebSearch`、`AskUserQuestion`、`ExitPlanMode` などの組み込みツールと、任意の [MCP ツール名](#match-mcp-tools)が対象です。

1798 1821 

1799書き込んだのが何であれ、特定のファイルがディスク上で変更されたときにフックを実行するには、ファイル編集ツールを名前でマッチさせるのではなく [FileChanged](#filechanged) を使用してください。PreToolUse とは異なり、Claude Code は FileChanged フックを変更後に実行し、これには判定制御がないため、書き込みをブロックすることはできません。1822何が書き込んだかにかかわらず、特定のファイルがディスク上で変更されたときにフックを実行するには、ファイル編集ツールを名前でマッチさせる代わりに [FileChanged](#filechanged) を使用してください。PreToolUse とは異なり、Claude Code は FileChanged フックを変更の後に実行し、決定制御もないため、書き込みをブロックすることはできません。

1800 1823 

1801<Warning>1824<Warning>

1802 PreToolUse は、Claude がツールを呼び出した場合にのみ実行されます。[プロンプト内で `@` を使って参照した](/docs/ja/common-workflows#reference-files-and-directories)ファイルは、ツール呼び出しなしで追加されます。Claude Code はプロンプトの構築中にその内容を挿入するため、`Read` にマッチするフックを含め、PreToolUse フックはそれらのファイルに対して発火しません。`@` 参照から特定のパスをブロックするには、代わりに [`Read` の拒否ルール](/docs/ja/permissions#read-and-edit)を使用してください。1825 PreToolUse は Claude がツールを呼び出したときにのみ実行されます。デフォルトでは、[プロンプト内で `@` を使って参照した](/docs/ja/common-workflows#reference-files-and-directories)ファイルは、ツール呼び出しなしで追加されます。Claude Code はプロンプトの構築中にその内容を挿入するため、`Read` にマッチするフックを含め、PreToolUse フックは発火しません。PreToolUse は [`EndConversation`](/docs/ja/tools-reference#endconversation-tool-behavior) に対しても発火しません。

1826 

1827 特定のパスを `@` 参照からブロックしたり、挿入をオフにしたりできます:

1803 1828 

1804 PreToolUse は [`EndConversation`](/docs/ja/tools-reference#endconversation-tool-behavior) に対しても発火しません。1829 * **特定のパスをブロックする**:それらのパスに対する [`Read` の拒否ルール](/docs/ja/permissions#read-and-edit)を追加します

1830 * **挿入をオフにする**:シェル、ユーザー設定、または管理設定で [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/ja/env-vars#variables) を設定します。これにより Claude は、メンションされたパスを、ファイルツールで読み取るよう促す注記とともに受け取ります。Claude がそうした場合、マッチする PreToolUse フックが実行されます。この変数には Claude Code v2.1.299 以降が必要で、プロジェクト設定とローカル設定では Claude Code によって無視されます。

1805</Warning>1831</Warning>

1806 1832 

1807ツール呼び出しを許可、拒否、確認、または遅延させるには、[PreToolUse の判定制御](#pretooluse-decision-control)を使用します。1833[PreToolUse の決定制御](#pretooluse-decision-control)を使用して、ツール呼び出しを許可、拒否、確認、または遅延します。

1808 1834 

1809タイムアウトを超えた `PreToolUse` の [Agent SDK コールバックフック](/docs/ja/agent-sdk/hooks)はツール呼び出しをブロックし、Claude はタイムアウトを示すエラー結果を受け取ります。別のフックが返した明示的な拒否は引き続き優先されます。1835タイムアウトを超えた `PreToolUse` の [Agent SDK コールバックフック](/docs/ja/agent-sdk/hooks)はツール呼び出しをブロックし、Claude はタイムアウトを示すエラー結果を受け取ります。別のフックが返した明示的な拒否は引き続き優先されます。

1810 1836 


1812 PreToolUse の入力1838 PreToolUse の入力

1813</h4>1839</h4>

1814 1840 

1815[共通の入力フィールド](#common-input-fields)に加えて、PreToolUse フックは `tool_name`、`tool_input`、`tool_use_id` を受け取ります。1841[共通入力フィールド](#common-input-fields)に加えて、PreToolUse フックは `tool_name`、`tool_input`、`tool_use_id` を受け取ります。

1816 1842 

1817[MCP ツール](#match-mcp-tools)の場合、入力には `mcp_server` も含まれます。これは、サーバーの `name` と、サーバーの定義がどこから来たかを示す `source` を持つオブジェクトです。`source` の値には、`plugin`、`sdk`、および `user` や `project` などの設定スコープがあります。Agent SDK リファレンスの [`McpServerProvenance`](/docs/ja/agent-sdk/typescript#mcpserverprovenance) にすべての値の一覧と、認識できない値の扱い方が記載されています。信頼の判断は、`name` や `mcp__<server>__` というツール名のプレフィックスではなく、`source` に基づいて行ってください。`mcp_server` フィールドには Claude Code v2.1.274 以降が必要です。1843[MCP ツール](#match-mcp-tools)の場合、入力には `mcp_server` も含まれます。これは、サーバーの `name` と、サーバーの定義の出所を示す `source` を持つオブジェクトです。`source` の値には、`plugin`、`sdk`、および `user` や `project` などの設定スコープが含まれます。Agent SDK リファレンスの [`McpServerProvenance`](/docs/ja/agent-sdk/typescript#mcpserverprovenance) にすべての値が記載されており、認識できない値の扱い方も説明されています。信頼に関する判断は、`name` や `mcp__<server>__` というツール名のプレフィックスではなく、`source` に基づいて行ってください。`mcp_server` フィールドには Claude Code v2.1.274 以降が必要です。

1818 1844 

1819ファイルツールの `Write`、`Edit`、`Read` では、`tool_input.file_path` は常に絶対パスです。1845ファイルツールの `Write`、`Edit`、`Read` では、`tool_input.file_path` は常に絶対パスです:

1820 1846 

1821* Claude Code はフックの実行前に `~` と相対パスを展開するため、パスでマッチするフックを `~` や同じパスの相対表記でバイパスすることはできません1847* Claude Code はフックの実行前に `~` と相対パスを展開するため、パスでマッチするフックが `~` や同じパスの相対表記によって回避されることはありません

1822* Windows では、`$PWD` が `/c/project` のように見える Git Bash でフックを実行している場合でも、パスはバックスラッシュ区切りで届きます1848* Windows では、フックが `$PWD` が `/c/project` のように見える Git Bash で実行される場合でも、パスはバックスラッシュ区切りで届きます

1823* `/src/` のチェックなど、スラッシュで書かれた比較はバックスラッシュのパスには決してマッチせず、フックがブロックするものがなかったかのようにツール呼び出しが続行されます1849* `/src/` のチェックなど、スラッシュで書かれた比較はバックスラッシュのパスには決してマッチせず、ツール呼び出しはフックがブロックするものがなかったかのように続行されます

1824* 比較の前に区切り文字を正規化してください。Bash では `FILE_PATH="${FILE_PATH//\\//}"`、Python では `file_path.replace("\\", "/")` を使用し、パスは絶対パスであるため、`^` で先頭に固定するのではなく `/src/` などのパスセグメントでマッチさせてください1850* 比較の前に区切り文字を正規化してください。Bash では `FILE_PATH="${FILE_PATH//\\//}"`、Python では `file_path.replace("\\", "/")` を使用します。その後、パスは絶対パスなので、`^` で先頭を固定するのではなく、`/src/` などのパスセグメントでマッチさせます

1825 1851 

1826Windows での `Write` 呼び出しでは次のように渡されます。1852Windows での `Write` 呼び出しでは次が渡されます:

1827 1853 

1828```json theme={null}1854```json theme={null}

1829{1855{


1837}1863}

1838```1864```

1839 1865 

1840`tool_input` のフィールドはツールによって異なります。1866`tool_input` のフィールドはツールによって異なります:

1841 1867 

1842<a id="bash" />1868<a id="bash" />

1843 1869 


1850| フィールド | 型 | 例 | 説明 |1876| フィールド | 型 | 例 | 説明 |

1851| :- | :- | :- | :- |1877| :- | :- | :- | :- |

1852| `command` | string | `"npm test"` | 実行するシェルコマンド |1878| `command` | string | `"npm test"` | 実行するシェルコマンド |

1853| `description` | string | `"Run test suite"` | コマンドの動作についての説明(オプション) |1879| `description` | string | `"Run test suite"` | コマンドの動作に関する説明(任意) |

1854| `timeout` | number | `120000` | ミリ秒単位のタイムアウト(オプション)。[最大値](/docs/ja/tools-reference#bash-tool-behavior)を超える値は拒否されず、最大値に切り下げられます |1880| `timeout` | number | `120000` | ミリ秒単位のタイムアウト(任意)。[上限](/docs/ja/tools-reference#bash-tool-behavior)を超える値は拒否されず、上限に切り下げられます |

1855| `run_in_background` | boolean | `false` | コマンドをバックグラウンドで実行するかどうか |1881| `run_in_background` | boolean | `false` | コマンドをバックグラウンドで実行するかどうか |

1856 1882 

1857Bash コマンドが Git リポジトリ内のファイルを変更した場合、Claude Code は変更内容を記録できます。[`bashEditDiffEnabled`](/docs/ja/settings-reference#basheditdiffenabled) 設定で記録がオンになっている場合は、すべての権限モードで変更を記録します。どのファイルでこの設定を指定できるかは、その設定のエントリに記載されています。それ以外の場合は、auto モードと `bypassPermissions` モードでのみ、かつ Claude Code が Claude に Bash を通じてファイルを編集するよう指示した場合にのみ記録します。記録をオフにするには、`bashEditDiffEnabled` を `false` に設定してください。バックグラウンドのコマンドと読み取り専用のコマンドには差分は含まれません。1883Bash コマンドが Git リポジトリ内のファイルを変更すると、Claude Code は変更内容を記録できます。[`bashEditDiffEnabled`](/docs/ja/settings-reference#basheditdiffenabled) 設定で記録がオンになっている場合は、すべての権限モードで変更を記録します。どのファイルでこの設定を行えるかは、その設定の項目を参照してください。それ以外の場合は、auto モードと `bypassPermissions` モードでのみ、かつ Claude Code が Bash を通じてファイルを編集するよう Claude に指示した場合にのみ記録します。記録をオフにするには、`bashEditDiffEnabled` を `false` に設定します。バックグラウンドのコマンドと読み取り専用のコマンドには差分は含まれません。

1858 1884 

1859その後、[PostToolUse フック](#posttooluse)は `tool_response.bashEditDiff` で変更されたファイルを受け取ります。このリストは、コマンドの実行中にリポジトリ配下で変更された内容をカバーします。Git が無視するファイルやサブモジュール内のファイルは含まれません。Claude Code v2.1.269 以降が必要です。1885その後、[PostToolUse フック](#posttooluse)は `tool_response.bashEditDiff` で変更されたファイルを受け取ります。このリストには、コマンドの実行中にリポジトリ配下で変更されたものが含まれます。Git が無視するファイルとサブモジュール内のファイルは含まれません。Claude Code v2.1.269 以降が必要です。

1860 1886 

1861<Note>1887<Note>

1862 このリストはベストエフォートであり、パブリックベータです。Claude Code は変更を見逃したり、別のプロセスが同時に変更したファイルを含めたり、サイズ制限で打ち切ったりする場合があります。フィールドの形式は変更される可能性があります。このリストはレビュー対象を見つけるために使用し、ポリシーの強制には使用しないでください。1888 このリストはベストエフォートであり、パブリックベータです。Claude Code が変更を見逃したり、同時に別のプロセスが変更したファイルを含めたり、サイズ制限で打ち切ったりする場合があります。フィールドの形式は変更される可能性があります。このリストは、ポリシーの強制ではなく、レビューすべき対象を見つけるために使用してください。

1863</Note>1889</Note>

1864 1890 

1865`changedFiles` と `files` はコマンドが変更した内容を列挙し、残りのフィールドはそのリストがどの程度完全で信頼できるかを示します。1891`changedFiles` と `files` はコマンドが変更した内容を列挙し、残りのフィールドはそのリストがどの程度完全で信頼できるかを示します。

1866 1892 

1867| フィールド | 型 | 例 | 説明 |1893| フィールド | 型 | 例 | 説明 |

1868| :- | :- | :- | :- |1894| :- | :- | :- | :- |

1869| `changedFiles` | array | `["/path/to/src/app.ts"]` | コマンドが変更したファイルの絶対パス(最大 200 件)。`files` に差分が含まれている場合、または `moreFiles` が 0 より大きい場合に常に存在します |1895| `changedFiles` | array | `["/path/to/src/app.ts"]` | コマンドが変更したファイルの絶対パス(最大 200 件)。`files` に差分が含まれる場合、または `moreFiles` が 0 より大きい場合に必ず存在します |

1870| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | 表示用の、最大 5 件の変更されたファイルの差分。コマンドが追加または削除したファイルでは、`created` または `deleted` が `true` になります |1896| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | 表示用の、最大 5 つの変更されたファイルの差分。コマンドが追加または削除したファイルでは、`created` または `deleted` が `true` になります |

1871| `moreFiles` | number | `2` | `files` に差分が含まれていない変更されたファイルの数 |1897| `moreFiles` | number | `2` | `files` に差分がない変更されたファイルの数 |

1872| `unavailable` | boolean | `true` | 差分が不完全な場合、または取得できなかった場合に設定されます |1898| `unavailable` | boolean | `true` | 差分が不完全な場合、または取得できなかった場合に設定されます |

1873| `skipped` | boolean | `true` | `git checkout` や `git stash` など、作業ツリーを移動する Git コマンドの場合に設定され、Claude Code は差分を取得しません |1899| `skipped` | boolean | `true` | `git checkout` や `git stash` など、作業ツリーを移動する Git コマンドに対して設定され、Claude Code は差分を取得しません |

1874| `shared` | boolean | `true` | サブエージェントのものなど、別の Bash ツール呼び出しが同時に同じリポジトリで実行された場合に設定されます。そのため、列挙された変更の一部はそのコマンドによるものである可能性があります |1900| `shared` | boolean | `true` | サブエージェントのものなど、別の Bash ツール呼び出しが同時に同じリポジトリで実行された場合に設定されます。列挙された変更の一部はそのコマンドによるものである可能性があります |

1875 1901 

1876<a id="powershell" />1902<a id="powershell" />

1877 1903 


1881 1907 

1882PowerShell コマンドを実行します。プラットフォームごとの利用可否については、[PowerShell ツール](/docs/ja/tools-reference#powershell-tool)を参照してください。1908PowerShell コマンドを実行します。プラットフォームごとの利用可否については、[PowerShell ツール](/docs/ja/tools-reference#powershell-tool)を参照してください。

1883 1909 

1884フィールドは Bash ツールと同じで、コマンド文字列は `command` に含まれます。1910フィールドは Bash ツールと同じで、コマンド文字列は `command` に入ります:

1885 1911 

1886| フィールド | 型 | 例 | 説明 |1912| フィールド | 型 | 例 | 説明 |

1887| :- | :- | :- | :- |1913| :- | :- | :- | :- |

1888| `command` | string | `"Get-ChildItem -Recurse"` | 実行する PowerShell コマンド |1914| `command` | string | `"Get-ChildItem -Recurse"` | 実行する PowerShell コマンド |

1889| `description` | string | `"List files recursively"` | コマンドの動作についての説明(オプション) |1915| `description` | string | `"List files recursively"` | コマンドの動作に関する説明(任意) |

1890| `timeout` | number | `120000` | ミリ秒単位のタイムアウト(オプション) |1916| `timeout` | number | `120000` | ミリ秒単位のタイムアウト(任意) |

1891| `run_in_background` | boolean | `false` | コマンドをバックグラウンドで実行するかどうか |1917| `run_in_background` | boolean | `false` | コマンドをバックグラウンドで実行するかどうか |

1892 1918 

1893シェルコマンドを検査するフックでは、両方のツールをカバーするように `Bash|PowerShell` にマッチさせてください。1919シェルコマンドを検査するフックでは `Bash|PowerShell` をマッチさせ、両方のツールをカバーしてください:

1894 1920 

1895* Windows では、PowerShell ツールが有効になっている環境であればどこでも、Claude は PowerShell をプライマリシェルとして扱い、シェルコマンドをそこに経由させます。1921* Windows では、PowerShell ツールが有効になっている場合は常に、Claude は PowerShell をプライマリシェルとして扱い、シェルコマンドをそれ経由で実行します。

1896* Git Bash がない Windows では、このツールは自動的に有効になり、Claude Code は Bash ツールをまったく登録しません。1922* Git Bash のない Windows では、このツールが自動的に有効になり、Claude Code は Bash ツールをまったく登録しません。

1897* `Bash` のみにマッチするフックは、そこでは決して発火しません。1923* `Bash` のみにマッチするフックは、そこでは決して発火しません。

1898 1924 

1899<h5 id="write">1925<h5 id="write">


1904 1930 

1905| フィールド | 型 | 例 | 説明 |1931| フィールド | 型 | 例 | 説明 |

1906| :- | :- | :- | :- |1932| :- | :- | :- | :- |

1907| `file_path` | string | `"/path/to/file.txt"` | 書き込むファイルの絶対パス |1933| `file_path` | string | `"/path/to/file.txt"` | 書き込むファイルへの絶対パス |

1908| `content` | string | `"file content"` | ファイルに書き込む内容 |1934| `content` | string | `"file content"` | ファイルに書き込む内容 |

1909 1935 

1910<h5 id="edit">1936<h5 id="edit">


1915 1941 

1916| フィールド | 型 | 例 | 説明 |1942| フィールド | 型 | 例 | 説明 |

1917| :- | :- | :- | :- |1943| :- | :- | :- | :- |

1918| `file_path` | string | `"/path/to/file.txt"` | 編集するファイルの絶対パス |1944| `file_path` | string | `"/path/to/file.txt"` | 編集するファイルへの絶対パス |

1919| `old_string` | string | `"original text"` | 検索して置換するテキスト |1945| `old_string` | string | `"original text"` | 検索して置換するテキスト |

1920| `new_string` | string | `"replacement text"` | 置換後のテキスト |1946| `new_string` | string | `"replacement text"` | 置換後のテキスト |

1921| `replace_all` | boolean | `false` | すべての出現箇所を置換するかどうか |1947| `replace_all` | boolean | `false` | すべての出現箇所を置換するかどうか |


1928 1954 

1929| フィールド | 型 | 例 | 説明 |1955| フィールド | 型 | 例 | 説明 |

1930| :- | :- | :- | :- |1956| :- | :- | :- | :- |

1931| `file_path` | string | `"/path/to/file.txt"` | 読み取るファイルの絶対パス |1957| `file_path` | string | `"/path/to/file.txt"` | 読み取るファイルへの絶対パス |

1932| `offset` | number | `10` | 読み取りを開始する行番号(オプション) |1958| `offset` | number | `10` | 読み取りを開始する行番号(任意) |

1933| `limit` | number | `50` | 読み取る行数(オプション) |1959| `limit` | number | `50` | 読み取る行数(任意) |

1934 1960 

1935<h5 id="glob">1961<h5 id="glob">

1936 Glob1962 Glob

1937</h5>1963</h5>

1938 1964 

1939glob パターンに一致するファイルを検索します。1965glob パターンにマッチするファイルを検索します。

1940 1966 

1941| フィールド | 型 | 例 | 説明 |1967| フィールド | 型 | 例 | 説明 |

1942| :- | :- | :- | :- |1968| :- | :- | :- | :- |

1943| `pattern` | string | `"**/*.ts"` | ファイルを照合する glob パターン |1969| `pattern` | string | `"**/*.ts"` | ファイルをマッチさせる glob パターン |

1944| `path` | string | `"/path/to/dir"` | 検索するディレクトリ(オプション)。デフォルトは現在の作業ディレクトリです |1970| `path` | string | `"/path/to/dir"` | 検索するディレクトリ(任意)。デフォルトは現在の作業ディレクトリです |

1945 1971 

1946<h5 id="grep">1972<h5 id="grep">

1947 Grep1973 Grep


1952| フィールド | 型 | 例 | 説明 |1978| フィールド | 型 | 例 | 説明 |

1953| :- | :- | :- | :- |1979| :- | :- | :- | :- |

1954| `pattern` | string | `"TODO.*fix"` | 検索する正規表現パターン |1980| `pattern` | string | `"TODO.*fix"` | 検索する正規表現パターン |

1955| `path` | string | `"/path/to/dir"` | 検索するファイルまたはディレクトリ(オプション) |1981| `path` | string | `"/path/to/dir"` | 検索するファイルまたはディレクトリ(任意) |

1956| `glob` | string | `"*.ts"` | ファイルを絞り込む glob パターン(オプション) |1982| `glob` | string | `"*.ts"` | ファイルを絞り込む glob パターン(任意) |

1957| `output_mode` | string | `"content"` | `"content"`、`"files_with_matches"`、または `"count"`。デフォルトは `"files_with_matches"` です |1983| `output_mode` | string | `"content"` | `"content"`、`"files_with_matches"`、または `"count"`。デフォルトは `"files_with_matches"` です |

1958| `-i` | boolean | `true` | 大文字と小文字を区別しない検索 |1984| `-i` | boolean | `true` | 大文字と小文字を区別しない検索 |

1959| `multiline` | boolean | `false` | 複数行マッチングを有効にする |1985| `multiline` | boolean | `false` | 複数行マッチングを有効にする |


1966 1992 

1967| フィールド | 型 | 例 | 説明 |1993| フィールド | 型 | 例 | 説明 |

1968| :- | :- | :- | :- |1994| :- | :- | :- | :- |

1969| `url` | string | `"https://example.com/api"` | コンテンツを取得する URL |1995| `url` | string | `"https://example.com/api"` | コンテンツの取得元 URL |

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

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

1972 1998 

1973<h5 id="websearch">1999<h5 id="websearch">

1974 WebSearch2000 WebSearch


1979| フィールド | 型 | 例 | 説明 |2005| フィールド | 型 | 例 | 説明 |

1980| :- | :- | :- | :- |2006| :- | :- | :- | :- |

1981| `query` | string | `"react hooks best practices"` | 検索クエリ |2007| `query` | string | `"react hooks best practices"` | 検索クエリ |

1982| `allowed_domains` | array | `["docs.example.com"]` | オプション:これらのドメインの結果のみを含める |2008| `allowed_domains` | array | `["docs.example.com"]` | 任意:これらのドメインの結果のみを含めます |

1983| `blocked_domains` | array | `["spam.example.com"]` | オプション:これらのドメインの結果を除外する |2009| `blocked_domains` | array | `["spam.example.com"]` | 任意:これらのドメインの結果を除外します |

1984 2010 

1985<h5 id="agent">2011<h5 id="agent">

1986 Agent2012 Agent


1993| `prompt` | string | `"Find all API endpoints"` | エージェントが実行するタスク |2019| `prompt` | string | `"Find all API endpoints"` | エージェントが実行するタスク |

1994| `description` | string | `"Find API endpoints"` | タスクの短い説明 |2020| `description` | string | `"Find API endpoints"` | タスクの短い説明 |

1995| `subagent_type` | string | `"Explore"` | 使用する専門エージェントの種類 |2021| `subagent_type` | string | `"Explore"` | 使用する専門エージェントの種類 |

1996| `model` | string | `"sonnet"` | デフォルトを上書きするモデルエイリアス(オプション) |2022| `model` | string | `"sonnet"` | デフォルトを上書きするモデルエイリアス(任意) |

1997 2023 

1998フォアグラウンドの Agent 呼び出しが完了すると、[PostToolUse フック](#posttooluse)は `tool_response` でサブエージェントの結果と実行のテレメトリを受け取ります。これらのフィールドを読み取って実行内容を検査してください。`totalTokens` と `usage` は最後のリクエストのみを対象としているため、サブエージェント全体のトークンとコストの集計には、`query_source` を `"subagent"` で絞り込んだ[トークンとコストのカウンター](/docs/ja/monitoring-usage#token-counter)を使用してください。2024フォアグラウンドの Agent 呼び出しが完了すると、[PostToolUse フック](#posttooluse)は `tool_response` でサブエージェントの結果と実行のテレメトリを受け取ります。これらのフィールドを読み取って実行内容を調べてください。`totalTokens` と `usage` は最終リクエストのみを対象とするため、サブエージェント全体のトークンとコストの集計には、`query_source` `"subagent"` で絞り込んだ[トークンとコストのカウンター](/docs/ja/monitoring-usage#token-counter)を使用してください:

1999 2025 

2000| フィールド | 型 | 例 | 説明 |2026| フィールド | 型 | 例 | 説明 |

2001| :- | :- | :- | :- |2027| :- | :- | :- | :- |

2002| `status` | string | `"completed"` | フォアグラウンドのサブエージェントでは `"completed"`、バックグラウンドのサブエージェントでは `"async_launched"`。サブエージェントはデフォルトでバックグラウンドで実行されるため、`run_in_background` を省略した Agent 呼び出しでも `"async_launched"` になります |2028| `status` | string | `"completed"` | フォアグラウンドのサブエージェントでは `"completed"`、バックグラウンドのサブエージェントでは `"async_launched"`。サブエージェントはデフォルトでバックグラウンドで実行されるため、`run_in_background` を省略した Agent 呼び出しでも `"async_launched"` になります |

2003| `agentId` | string | `"a4d2c8f1e0b3a297"` | サブエージェントの実行の識別子 |2029| `agentId` | string | `"a4d2c8f1e0b3a297"` | サブエージェントの実行の識別子 |

2004| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | サブエージェントの最終テキストブロック。レポートが `SubagentHandback` を経由するサブエージェントの場合は、その代わりにその引き渡しについての短い注記 |2030| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | サブエージェントの最終的なテキストブロック。または、レポートが `SubagentHandback` を経由するサブエージェントの場合は、その代わりにその引き渡しに関する短い注記 |

2005| `resolvedModel` | string | `"claude-sonnet-4-5"` | サブエージェントが開始時に使用したモデル。要求されたモデルと異なる場合があります |2031| `resolvedModel` | string | `"claude-sonnet-4-5"` | サブエージェントが開始時に使用したモデル。要求されたモデルと異なる場合があります |

2006| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | 使用されたモデルを順番に並べたもの(連続する重複はまとめられます)。実行中にモデルが切り替えられた場合にのみ設定されます。Claude Code v2.1.212 以降が必要です |2032| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | 使用されたモデルの順序付きリスト(連続する重複はまとめられます)。実行中にモデルが切り替えられた場合にのみ設定されます。Claude Code v2.1.212 以降が必要です |

2007| `totalTokens` | number | `12450` | サブエージェントの最後の API リクエストのトークン数(入力、出力、キャッシュのトークンの合計)。実行全体の合計ではありません |2033| `totalTokens` | number | `12450` | サブエージェントの最終 API リクエストのトークン数(入力、出力、キャッシュのトークンの合計)。実行全体の合計ではありません |

2008| `totalDurationMs` | number | `48211` | サブエージェントの実行の実時間 |2034| `totalDurationMs` | number | `48211` | サブエージェントの実行の実時間 |

2009| `totalToolUseCount` | number | `7` | サブエージェントが行ったツール呼び出しの数 |2035| `totalToolUseCount` | number | `7` | サブエージェントが行ったツール呼び出しの数 |

2010| `usage` | object | `{"input_tokens": 8320, ...}` | 最後の API リクエストの種類別のトークン内訳:`input_tokens`、`output_tokens`、`cache_creation_input_tokens`、`cache_read_input_tokens` |2036| `usage` | object | `{"input_tokens": 8320, ...}` | 最終 API リクエストのトークンの種類別内訳:`input_tokens`、`output_tokens`、`cache_creation_input_tokens`、`cache_read_input_tokens` |

2011 2037 

2012Claude Code v2.1.271 以降では、Claude Code が [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)で提供する [`SubagentHandback`](/docs/ja/tools-reference) ツールを使って実行されるサブエージェントは、レポートをテキストとして返すのではなく、そのツールを通じて渡します。その場合、`completed` の結果の `content` フィールドには、レポート自体ではなく、その引き渡しについての短い注記が含まれます。レポートを読み取るには、`SubagentHandback` にマッチする `PreToolUse` または `PostToolUse` フックで `tool_input.message` を読み取ってください。2038Claude Code v2.1.271 以降では、Claude Code が [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)で提供する [`SubagentHandback`](/docs/ja/tools-reference) ツールを使って実行されるサブエージェントは、レポートをテキストとして返すのではなく、そのツールを通じて配信します。その場合、`completed` の結果の `content` フィールドには、レポート自体ではなく、その引き渡しに関する短い注記が入ります。レポートを読み取るには、`SubagentHandback` に `PreToolUse` または `PostToolUse` フックをマッチさせ、`tool_input.message` を読み取ってください。

2013 2039 

2014バックグラウンドのサブエージェントの場合、ツールはタスクがバックグラウンドに移動した時点で戻るため、`tool_response` には使用量のフィールドは含まれません。バックグラウンドでの起動はすぐに戻り、Claude Code が実行中にバックグラウンドに移したフォアグラウンドのタスクはその移行時点で戻ります。このレスポンスには、`status: "async_launched"`、`agentId`、`description`、`prompt`、`outputFile`、`resolvedModel` が含まれます。2040バックグラウンドのサブエージェントの場合、ツールはタスクがバックグラウンドに移った時点で返るため、`tool_response` には使用量のフィールドは含まれません。バックグラウンドでの起動は即座に返り、Claude Code が実行途中でバックグラウンドに移したフォアグラウンドのタスクはその移行時点で返ります。レスポンスには `status: "async_launched"`、`agentId`、`description`、`prompt`、`outputFile`、`resolvedModel` が含まれます。

2015 2041 

2016`completed` のレスポンスでは、`resolvedModel` はサブエージェントが開始時に使用したモデルを示します。これは、`availableModels` やその他の上書きが適用される場合など、`tool_input` の `model` の値と異なることがあります。`async_launched` のレスポンスでは、`resolvedModel` はエージェントがバックグラウンドに移動した時点で使用されていたモデルを示すため、バックグラウンドへの移行前に行われた切り替えはそこに反映されます。`modelsUsed` と、バックグラウンド移行時点の `resolvedModel` の動作には Claude Code v2.1.212 以降が必要です。2042`completed` のレスポンスでは、`resolvedModel` はサブエージェントが開始時に使用したモデルを示し、`availableModels` などの上書きが適用された場合など、`tool_input` の `model` の値と異なることがあります。`async_launched` のレスポンスでは、`resolvedModel` はエージェントがバックグラウンドに移った時点で使用されていたモデルを示すため、バックグラウンド化の前に行われた切り替えがそこに反映されます。`modelsUsed` と、バックグラウンド化時点の `resolvedModel` の動作には Claude Code v2.1.212 以降が必要です。

2017 2043 

2018<a id="askuserquestion" />2044<a id="askuserquestion" />

2019 2045 


2025 2051 

2026| フィールド | 型 | 例 | 説明 |2052| フィールド | 型 | 例 | 説明 |

2027| :- | :- | :- | :- |2053| :- | :- | :- | :- |

2028| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React", "description": "Component library"}, {"label": "Vue", "description": "Progressive framework"}], "multiSelect": false}]` | 提示する質問。それぞれに `question` 文字列、短い `header`、`options` 配列、オプションの `multiSelect` フラグがあります |2054| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React", "description": "Component library"}, {"label": "Vue", "description": "Progressive framework"}], "multiSelect": false}]` | 提示する質問。それぞれ `question` 文字列、短い `header`、`options` 配列、任意の `multiSelect` フラグを持ちます |

2029| `answers` | object | `{"Which framework?": "React"}` | オプション。質問のテキストを選択されたオプションのラベルに対応付けます。複数選択の回答は、ラベルをカンマで連結します。Claude はこのフィールドを設定しません。プログラムで回答するには、`updatedInput` を通じて指定してください |2055| `answers` | object | `{"Which framework?": "React"}` | 任意。質問テキストを選択されたオプションのラベルに対応付けます。複数選択の回答はラベルをカンマで結合します。Claude はこのフィールドを設定しません。プログラムで回答するには `updatedInput` を通じて指定します |

2030 2056 

2031<h5 id="exitplanmode">2057<h5 id="exitplanmode">

2032 ExitPlanMode2058 ExitPlanMode

2033</h5>2059</h5>

2034 2060 

2035Claude が [plan モード](/docs/ja/permission-modes#analyze-before-you-edit-with-plan-mode)を終了する前に、計画を提示してユーザーに承認を求めます。Claude はツールを呼び出す前に計画をディスク上のファイルに書き込むため、モデルからの実際の `tool_input` は通常空です。Claude Code は、入力をフックに渡す前に計画の内容とファイルパスを挿入します。2061計画を提示し、Claude が [plan モード](/docs/ja/permission-modes#analyze-before-you-edit-with-plan-mode)を終了する前にユーザーに承認を求めます。Claude はツールを呼び出す前に計画をディスク上のファイルに書き込むため、モデルからのそのままの `tool_input` は通常空です。Claude Code は、入力をフックに渡す前に計画の内容とファイルパスを挿入します。

2036 2062 

2037| フィールド | 型 | 例 | 説明 |2063| フィールド | 型 | 例 | 説明 |

2038| :- | :- | :- | :- |2064| :- | :- | :- | :- |

2039| `plan` | string | `"## Refactor auth\n1. Extract..."` | Markdown 形式の計画の内容。ディスク上の計画ファイルから挿入されます |2065| `plan` | string | `"## Refactor auth\n1. Extract..."` | Markdown 形式の計画の内容。ディスク上の計画ファイルから挿入されます |

2040| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | 計画ファイルのパス。挿入されます |2066| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | 計画ファイルへのパス。挿入されます |

2041| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | 非推奨。Claude Code はこのフィールドを受け付けますが無視します。v2.1.205 より前は、Claude が計画を実装するために要求したプロンプトベースの権限を保持していました |2067| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | 非推奨。Claude Code はこのフィールドを受け付けますが無視します。v2.1.205 より前は、計画を実装するために Claude が要求したプロンプトベースの権限を保持していました |

2042 2068 

2043`PostToolUse` では、`tool_response` は承認された計画を保持する `plan` と `filePath` フィールド、および内部のステータスフラグを持つオブジェクトです。計画の内容は、ディスクからファイルを再度読み取るのではなく、`tool_response.plan` から読み取ってください。2069`PostToolUse` では、`tool_response` は承認された計画を保持する `plan` と `filePath` のフィールドと、内部のステータスフラグを持つオブジェクトです。計画の内容は、ディスクからファイルを読み直すのではなく、`tool_response.plan` から読み取ってください。

2044 2070 

2045<h4 id="pretooluse-decision-control">2071<h4 id="pretooluse-decision-control">

2046 PreToolUse の判定制御2072 PreToolUse の決定制御

2047</h4>2073</h4>

2048 2074 

2049`PreToolUse` フックは、ツール呼び出しを続行するかどうかを制御できます。トップレベルの `decision` フィールドを使用する他のフックとは異なり、PreToolUse は `hookSpecificOutput` オブジェクト内で判定を返します。これにより、4 つの結果(allow、deny、ask、defer)に加えて、実行前にツールの入力を変更する機能という、より豊富な制御が可能になります。2075`PreToolUse` フックは、ツール呼び出しを続行するかどうかを制御できます。トップレベルの `decision` フィールドを使用する他のフックとは異なり、PreToolUse は `hookSpecificOutput` オブジェクト内で決定を返します。これにより、4 つの結果(allow、deny、ask、defer)に加えて、実行前にツールの入力を変更する機能という、より豊富な制御が可能になります。

2050 2076 

2051| フィールド | 説明 |2077| フィールド | 説明 |

2052| :- | :- |2078| :- | :- |

2053| `permissionDecision` | `"allow"` は権限プロンプトをスキップします。ただし、[どのモードでも自動承認されない操作](/docs/ja/permission-modes#actions-no-mode-auto-approves)、[ネットワークパスからの読み取り](/docs/ja/permissions#network-paths)、および[`updatedInput` との組み合わせ](#allow-with-updatedinput)が必要な `AskUserQuestion` と `ExitPlanMode` は除きます。`"deny"` はツール呼び出しを防ぎます。`"ask"` はユーザーに確認を求めます。`"defer"` は、後でツールを再開できるように正常に終了します。フックが何を返したかにかかわらず、[拒否ルールと確認ルール](/docs/ja/permissions#manage-permissions)は引き続き評価されます |2079| `permissionDecision` | `"allow"` は権限プロンプトをスキップします。ただし、[どのモードでも自動承認されないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)、[ネットワークパスからの読み取り](/docs/ja/permissions#network-paths)、および [`updatedInput` との組み合わせ](#allow-with-updatedinput)が必要な `AskUserQuestion` と `ExitPlanMode` は除きます。`"deny"` はツール呼び出しを防ぎます。`"ask"` はユーザーに確認を求めます。`"defer"` は正常に終了し、後でツールを再開できるようにします。フックが何を返しても、[拒否ルールと確認ルール](/docs/ja/permissions#manage-permissions)は引き続き評価されます |

2054| `permissionDecisionReason` | `"ask"` の場合、権限プロンプトでユーザーに表示されます。誰もそのプロンプトに回答できない `-p` の実行で Claude Code が[呼び出しを拒否する](/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs)場合は、代わりに Claude がツールの結果でその理由を読み取ります。`"deny"` の場合は Claude に表示されます。`"allow"` と `"defer"` の場合は、[デバッグログ](#debug-hooks)にのみ書き込まれます |2080| `permissionDecisionReason` | `"ask"` の場合、権限プロンプトでユーザーに表示されます。そのプロンプトに誰も応答できない `-p` の実行で Claude Code が[呼び出しを拒否する](/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs)場合は、代わりに Claude がツールの結果でその理由を読み取ります。`"deny"` の場合、Claude に表示されます。`"allow"` と `"defer"` の場合、[デバッグログ](#debug-hooks)にのみ書き込まれます |

2055| `updatedInput` | 実行前にツールの入力パラメーターを変更します。入力オブジェクト全体を置き換えるため、変更したフィールドとともに変更していないフィールドも含めてください。Claude Code は、権限ルールと Bash コマンドの[自動バックグラウンド化の適格性](/docs/ja/tools-reference#foreground-commands-that-move-to-the-background)を、Claude が送信した入力ではなく、フックが返した入力に対して評価します。自動承認するには `"allow"` と、変更された入力をユーザーに表示するには `"ask"` と組み合わせます。`"defer"` の場合は無視されます |2081| `updatedInput` | 実行前にツールの入力パラメータを変更します。入力オブジェクト全体を置き換えるため、変更したフィールドとともに変更していないフィールドも含めてください。Claude Code は、権限ルールと Bash コマンドの[自動バックグラウンド化の適格性](/docs/ja/tools-reference#foreground-commands-that-move-to-the-background)を、Claude が送信した入力ではなく、フックが返した入力に対して評価します。自動承認するには `"allow"` と、変更した入力をユーザーに表示するには `"ask"` と組み合わせます。`"defer"` の場合は無視されます |

2056| `additionalContext` | ツールの結果とともに Claude のコンテキストに追加される文字列。`permissionDecision` が `"defer"` の場合は無視されます。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |2082| `additionalContext` | ツールの結果とともに Claude のコンテキストに追加される文字列。`permissionDecision` が `"defer"` の場合は無視されます。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |

2057 2083 

2058複数の PreToolUse フックが異なる判定を返した場合、優先順位は `deny` > `defer` > `ask` > `allow` です。2084複数の PreToolUse フックが異なる決定を返した場合、優先順位は `deny` > `defer` > `ask` > `allow` です。

2059 2085 

2060終了コード 2 で終了してブロックするフックは、`"deny"` と同じ方法で処理されます。Claude は標準エラー出力のメッセージを拒否理由として受け取ります。2086終了コード 2 でブロックするフックは `"deny"` と同じように扱われます。Claude は stderr のメッセージを拒否の理由として受け取ります。

2061 2087 

2062フックが `"ask"` を返すと、ユーザーに表示される権限プロンプトには、フックの出所を示すラベルが含まれます。任意の設定ファイルまたはエージェントのフロントマターからのフックには `[settings]`、プラグインのフックには `[plugin:<name>]`、スキルのフロントマターからのフックには `[skill]` が表示されます。これにより、ユーザーはどの設定ソースが確認を求めているかを把握できます。2088フックが `"ask"` を返すと、ユーザーに表示される権限プロンプトには、フックの出所を示すラベルが含まれます。任意の設定ファイルまたはエージェントのフロントマターからのフックでは `[settings]`、プラグインのフックでは `[plugin:<name>]`、スキルのフロントマターからのフックでは `[skill]` です。これにより、どの設定ソースが確認を求めているかをユーザーが把握できます。

2063 2089 

2064フックの `"ask"` は、[auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)でも権限プロンプトを強制します。分類器はツール呼び出しを拒否することはできますが、暗黙的に承認することはできません。v2.1.211 より前は、分類器は[サンドボックス](/docs/ja/sandboxing)の外で実行される Bash コマンドを、フックが要求したプロンプトを表示せずに承認できました。その場合でも分類器はそのコマンドに独自の安全ルールを適用しており、フックの `"deny"` は常に尊重されていました。2090フックの `"ask"` は、[auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)でも権限プロンプトを強制します。分類器は引き続きツール呼び出しを拒否できますが、呼び出しを暗黙的に承認することはできません。v2.1.211 より前は、分類器は[サンドボックス](/docs/ja/sandboxing)外で実行される Bash コマンドを、フックが要求したプロンプトを表示せずに承認できました。その場合も分類器はそのコマンドに独自の安全ルールを適用しており、フックの `"deny"` は常に尊重されていました。

2065 2091 

2066```json theme={null}2092```json theme={null}

2067{2093{


2078```2104```

2079 2105 

2080<Note>2106<Note>

2081 PreToolUse では以前トップレベルの `decision` と `reason` フィールドを使用していましたが、このイベントではこれらは非推奨です。代わりに `hookSpecificOutput.permissionDecision` と `hookSpecificOutput.permissionDecisionReason` を使用してください。非推奨の値 `"approve"` と `"block"` は、それぞれ `"allow"` と `"deny"` に対応します。PostToolUse や Stop などの他のイベントでは、引き続きトップレベルの `decision` と `reason` が現在の形式として使用されます。2107 PreToolUse は以前はトップレベルの `decision` と `reason` フィールドを使用していましたが、このイベントではこれらは非推奨です。代わりに `hookSpecificOutput.permissionDecision` と `hookSpecificOutput.permissionDecisionReason` を使用してください。非推奨の値 `"approve"` と `"block"` は、それぞれ `"allow"` と `"deny"` に対応します。PostToolUse や Stop などの他のイベントは、引き続きトップレベルの `decision` と `reason` を現在の形式として使用します。

2082</Note>2108</Note>

2083 2109 

2084<h4 id="allow-with-updatedinput">2110<h4 id="allow-with-updatedinput">


2087 2113 

2088`AskUserQuestion` と `ExitPlanMode` はユーザーの操作を必要とします。`-p` フラグを使用した[非対話モード](/docs/ja/headless)では、Claude Code は、Agent SDK の `canUseTool` コールバックなど、プロンプトを受け取る[権限ホスト](/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs)が実行にある場合にのみ、これらのツールを提供します。2114`AskUserQuestion` と `ExitPlanMode` はユーザーの操作を必要とします。`-p` フラグを使用した[非対話モード](/docs/ja/headless)では、Claude Code は、Agent SDK の `canUseTool` コールバックなど、プロンプトを受け取る[権限ホスト](/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs)が実行にある場合にのみ、これらのツールを提供します。

2089 2115 

2090`PreToolUse` フックは、次のことを行う場合にその要件を満たします。2116`PreToolUse` フックは、次のことを行うことでその要件を満たします:

2091 2117 

20921. 標準入力からツールの入力を読み取る21181. stdin からツールの入力を読み取る

20932. 独自の UI を通じて回答を収集する21192. 独自の UI で回答を収集する

20943. 回答を保持する `updatedInput` とともに `permissionDecision: "allow"` を返し、ツールがプロンプトなしで実行されるようにする21203. 回答を保持する `updatedInput` とともに `permissionDecision: "allow"` を返し、プロンプトなしでツールが実行されるようにする

2095 2121 

2096これらのツールでは、`"allow"` を返すだけでは不十分です。2122これらのツールでは、`"allow"` を返すだけでは不十分です。

2097 2123 

2098`AskUserQuestion` の場合は、元の `questions` 配列をそのまま返し、各質問のテキストを選択された回答に対応付ける [`answers`](#askuserquestion) オブジェクトを追加します。次の出力は、1 つの質問に `React` と回答しています。2124`AskUserQuestion` では、元の `questions` 配列をそのまま返し、各質問のテキストを選択された回答に対応付ける [`answers`](#askuserquestion) オブジェクトを追加します。この出力は、1 つの質問に `React` と回答します:

2099 2125 

2100```json theme={null}2126```json theme={null}

2101{2127{


2117}2143}

2118```2144```

2119 2145 

2120サーバーが [`_meta["anthropic/requiresUserInteraction"]`](/docs/ja/mcp#require-approval-for-a-specific-tool) でマークした MCP ツールはより厳格です。Claude Code はフックがツールに必要な操作を収集したことを確認できないため、`updatedInput` の有無にかかわらず、フックは `"allow"` でその承認プロンプトをスキップできません。2146サーバーが [`_meta["anthropic/requiresUserInteraction"]`](/docs/ja/mcp#require-approval-for-a-specific-tool) でマークした MCP ツールはより厳格です。フックは、`updatedInput` の有無にかかわらず、`"allow"` でその承認プロンプトをスキップすることはできません。ツールが必要とする操作をフックが収集したことを Claude Code が確認できないためです。

2121 2147 

2122<h4 id="defer-a-tool-call-for-later">2148<h4 id="defer-a-tool-call-for-later">

2123 ツール呼び出しを後で処理するために遅延させる2149 ツール呼び出しを後回しにする

2124</h4>2150</h4>

2125 2151 

2126`"defer"` は、Agent SDK アプリや Claude Code 上に構築したカスタム UI など、`claude -p` をサブプロセスとして実行し、その JSON 出力を読み取るインテグレーション向けです。これにより、呼び出し元のプロセスはツール呼び出しの時点で Claude を一時停止し、独自のインターフェースを通じて入力を収集し、中断したところから再開できます。Claude Code がこの値を尊重するのは、`-p` フラグを使用した[非対話モード](/docs/ja/headless)の場合のみです。対話セッションでは警告をログに記録し、フックの結果を無視します。2152`"defer"` は、Agent SDK アプリや Claude Code 上に構築したカスタム UI など、`claude -p` をサブプロセスとして実行し、その JSON 出力を読み取る統合向けです。これにより、呼び出し側のプロセスは、ツール呼び出しの時点で Claude を一時停止し、独自のインターフェースで入力を収集して、中断したところから再開できます。Claude Code がこの値を尊重するのは、`-p` フラグを使用した[非対話モード](/docs/ja/headless)の場合のみです。対話セッションでは警告をログに記録し、フックの結果を無視します。

2127 2153 

2128典型的なケースは `AskUserQuestion` ツールです。Claude はユーザーに何かを尋ねたいものの、回答するためのターミナルがありません。`-p` の実行では、`--permission-prompt-tool` で渡す MCP ツールなどの[権限ホスト](/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs)がある場合にのみ `AskUserQuestion` が提供されるため、権限ホストを指定して実行を開始してください。往復の流れは次のとおりです。2154典型的な例は `AskUserQuestion` ツールです。Claude はユーザーに何かを尋ねたいのですが、回答するためのターミナルがありません。`-p` の実行では、`--permission-prompt-tool` で渡す MCP ツールなどの[権限ホスト](/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs)がある場合にのみ `AskUserQuestion` が提供されるため、権限ホストを指定して実行を開始してください。往復の流れは次のとおりです:

2129 2155 

21301. Claude が `AskUserQuestion` を呼び出します。`PreToolUse` フックが発火します。21561. Claude が `AskUserQuestion` を呼び出します。`PreToolUse` フックが発火します。

21312. フックが `permissionDecision: "defer"` を返します。ツールは実行されません。プロセスは `stop_reason: "tool_deferred"` で終了し、保留中のツール呼び出しはトランスクリプトに保存されます。21572. フックが `permissionDecision: "defer"` を返します。ツールは実行されません。プロセスは `stop_reason: "tool_deferred"` で終了し、保留中のツール呼び出しはトランスクリプトに保持されます。

21323. 呼び出し元のプロセスが SDK の結果から `deferred_tool_use` を読み取り、独自の UI に質問を表示して回答を待ちます。21583. 呼び出し側のプロセスが SDK の結果から `deferred_tool_use` を読み取り、独自の UI で質問を表示して、回答を待ちます。

21334. 呼び出し元のプロセスが同じ権限ホストを指定して `claude -p --resume <session-id>` を実行します。同じツール呼び出しが再び `PreToolUse` を発火させます。21594. 呼び出し側のプロセスが、同じ権限ホストを指定して `claude -p --resume <session-id>` を実行します。同じツール呼び出しが再び `PreToolUse` を発火させます。

21345. フックが `updatedInput` に回答を含めて `permissionDecision: "allow"` を返します。ツールが実行され、Claude が処理を続行します。21605. フックが `updatedInput` に回答を含めて `permissionDecision: "allow"` を返します。ツールが実行され、Claude が続行します。

2135 2161 

2136`deferred_tool_use` フィールドには、ツールの `id`、`name`、`input` が含まれます。`input` は、Claude がツール呼び出しのために生成したパラメーターで、実行前に取得されたものです。2162`deferred_tool_use` フィールドには、ツールの `id`、`name`、`input` が含まれます。`input` は Claude がツール呼び出しのために生成したパラメータで、実行前に取得されたものです:

2137 2163 

2138```json theme={null}2164```json theme={null}

2139{2165{


2149}2175}

2150```2176```

2151 2177 

2152タイムアウトや再試行の上限はありません。セッションは再開するまでディスク上に残りますが、[`cleanupPeriodDays`](/docs/ja/settings-reference#cleanupperioddays) の保持期間によるクリーンアップの対象となります。このクリーンアップは、[保持期間によるクリーンアップのルール](/docs/ja/claude-directory#cleaned-up-automatically)に従い、デフォルトで 30 日後にセッションファイルを削除します。再開時に回答の準備ができていない場合、フックは再び `"defer"` を返すことができ、プロセスは同じ方法で終了します。呼び出し元のプロセスは、最終的にフックから `"allow"` または `"deny"` を返すことで、ループを抜けるタイミングを制御します。2178タイムアウトや再試行の上限はありません。セッションは再開するまでディスク上に残りますが、[`cleanupPeriodDays`](/docs/ja/settings-reference#cleanupperioddays) による保持期間のクリーンアップの対象となります。このクリーンアップは、[保持期間のクリーンアップのルール](/docs/ja/claude-directory#cleaned-up-automatically)に従い、デフォルトで 30 日後にセッションファイルを削除します。再開時に回答の準備ができていない場合、フックは再び `"defer"` を返すことができ、プロセスは同じ方法で終了します。呼び出し側のプロセスは、最終的にフックから `"allow"` または `"deny"` を返すことで、ループを抜けるタイミングを制御します。

2153 2179 

2154`"defer"` は、Claude がターン内で単一のツール呼び出しを行う場合にのみ機能します。Claude が一度に複数のツール呼び出しを行う場合、`"defer"` は警告とともに無視され、ツールは通常の権限フローで処理されます。この制約は、再開時には 1 つのツールしか再実行できないために存在します。他の呼び出しを未解決のままにせずに、バッチの中から 1 つの呼び出しだけを遅延させる方法はありません。2180`"defer"` は、Claude がそのターンで単一のツール呼び出しを行う場合にのみ機能します。Claude が一度に複数のツール呼び出しを行う場合、`"defer"` は警告とともに無視され、ツールは通常の権限フローで処理されます。この制約は、再開時に再実行できるツールが 1 つだけであるために存在します。バッチから 1 つの呼び出しだけを遅延させると、他の呼び出しが未解決のまま残ってしまいます。

2155 2181 

2156再開時に遅延されたツールが利用できなくなっている場合、プロセスはフックが発火する前に `stop_reason: "tool_deferred_unavailable"` と `is_error: true` で終了します。これは、ツールを提供していた MCP サーバーが再開されたセッションで接続されていない場合に発生します。どのツールが見つからなくなったかを特定できるように、`deferred_tool_use` ペイロードは引き続き含まれます。2182再開時に遅延されたツールが利用できなくなっている場合、プロセスはフックが発火する前に `stop_reason: "tool_deferred_unavailable"` と `is_error: true` で終了します。これは、ツールを提供していた MCP サーバーが再開したセッションで接続されていない場合に発生します。`deferred_tool_use` ペイロードは引き続き含まれるため、どのツールが見つからなくなったかを特定できます。

2157 2183 

2158<Note>2184<Note>

2159 延期されたセッションを plan モードで再開するには、Claude Code が承認のために計画を提示できるよう、`--resume` とともに [`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) を渡してください。その他の条件については、[`-p` で plan モードを再開する](/docs/ja/sessions#resume-in-plan-mode-with-p)を参照してください。Claude Code v2.1.246 以降が必要です。2185 遅延されたセッションを plan モードで再開するには、Claude Code が計画を提示して承認を求められるように、`--resume` とともに [`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) を渡してください。その他の条件については、[`-p` で plan モードのまま再開する](/docs/ja/sessions#resume-in-plan-mode-with-p)を参照してください。Claude Code v2.1.246 以降が必要です。

2160 2186 

2161 `-p` で再開する場合、Claude Code はそれ以外の保存された権限モードを復元しません。新しい `claude -p` の実行が開始する権限モードで実行を開始するため、遅延されたセッションで `--permission-mode` または `--dangerously-skip-permissions` を使用していた場合は、再度渡してください。`-p` なしで `claude --resume <session-id>` を使って再開する場合、Claude Code は保存された権限モードを復元します。例外については[再開時の権限モード](/docs/ja/sessions#permission-mode-on-resume)に記載されています。2187 `-p` で再開する場合、Claude Code はそれ以外の保存された権限モードを復元しません。新しい `claude -p` の実行が開始するのと同じ権限モードで実行を開始するため、遅延されたセッションで `--permission-mode` または `--dangerously-skip-permissions` を使用していた場合は、再度渡してください。`-p` を付けずに `claude --resume <session-id>` で再開する場合、Claude Code は保存された権限モードを復元します。例外は[再開時の権限モード](/docs/ja/sessions#permission-mode-on-resume)に記載されています。

2162</Note>2188</Note>

2163 2189 

2164<h3 id="permissionrequest">2190<h3 id="permissionrequest">

2165 PermissionRequest2191 PermissionRequest

2166</h3>2192</h3>

2167 2193 

2168Claude Code がツールの使用について権限を求めようとするときに実行されます。[非対話モード](/docs/ja/headless)のバックグラウンドのサブエージェントなど、プロンプトを表示できないセッションでも、Claude Code はこれらのフックを実行し、どのフックも判定を返さない場合はツール呼び出しを拒否します。`--permission-prompt-tool` または Agent SDK の [`canUseTool` コールバック](/docs/ja/agent-sdk/permissions)に到達する呼び出しでは、フックはホストと並行して実行され、先に判定したほうが適用されます。2194Claude Code がツールの使用について権限を求めようとするときに実行されます。[非対話モード](/docs/ja/headless)のバックグラウンドのサブエージェントなど、プロンプトを表示できないセッションでも Claude Code はこれらのフックを実行し、どのフックも決定を返さない場合はツール呼び出しを拒否します。`--permission-prompt-tool` または Agent SDK の [`canUseTool` コールバック](/docs/ja/agent-sdk/permissions)に到達する呼び出しでは、フックはホストと並行して実行され、先に決定した方が適用されます。

2169ユーザーに代わって許可または拒否するには、[PermissionRequest の判定制御](#permissionrequest-decision-control)を使用します。2195[PermissionRequest の決定制御](#permissionrequest-decision-control)を使用して、ユーザーの代わりに許可または拒否します。

2170 2196 

2171Claude がツールの使用について権限を求めた瞬間にシグナルが必要な場合は、このイベントを使用してください。Claude Code が `permission_prompt` タイプの [Notification](#notification) フックを実行するのは、プロンプトが約 6 秒待機した後です。2197Claude がツールの使用について権限を求めた瞬間にシグナルが必要な場合は、このイベントを使用してください。Claude Code は、プロンプトが約 6 秒待機した後にのみ、`permission_prompt` タイプの [Notification](#notification) フックを実行します。

2172 2198 

2173Claude Code は、サンドボックス化されたコマンドの[ネットワークリクエスト](/docs/ja/sandboxing#network-isolation)に対しては PermissionRequest フックを実行しません。そのプロンプトのシグナルを受け取るには、`permission_prompt` 通知タイプを使用してください。2199Claude Code は、サンドボックス化されたコマンドの[ネットワークリクエスト](/docs/ja/sandboxing#network-isolation)については PermissionRequest フックを実行しません。そのプロンプトのシグナルを得るには、`permission_prompt` 通知タイプを使用してください。

2174 2200 

2175PreToolUse と同じ値で、ツール名に対してマッチします。2201PreToolUse と同じ値で、ツール名にマッチします。

2176 2202 

2177<h4 id="permissionrequest-input">2203<h4 id="permissionrequest-input">

2178 PermissionRequest の入力2204 PermissionRequest の入力

2179</h4>2205</h4>

2180 2206 

2181PermissionRequest フックは、PreToolUse フックと同様に `tool_name` と `tool_input` フィールドを受け取りますが、`tool_use_id` は受け取りません。MCP ツールの場合は、[`mcp_server`](#pretooluse-input) オブジェクトも受け取ります。オプションの `permission_suggestions` 配列には、許可ルールの追加や権限モードの変更など、Claude Code がこのリクエストに対して提案する[権限の更新](#permission-update-entries)が含まれます。2207PermissionRequest フックは、PreToolUse フックと同様に `tool_name` と `tool_input` フィールドを受け取りますが、`tool_use_id` は含まれません。MCP ツールの場合は、[`mcp_server`](#pretooluse-input) オブジェクトも受け取ります。オプションの `permission_suggestions` 配列には、許可ルールの追加や権限モードの変更など、Claude Code がこのリクエストに対して提案する[権限の更新](#permission-update-entries)が含まれます。

2182 2208 

2183`permission_suggestions` 配列は、表示されるオプションの正確なリストではありません。各権限ダイアログは独自のオプションを構築するためです。ファイル編集用のダイアログなど、一部のダイアログはこの配列をまったく読み取らず、リクエスト自体からオプションを導き出します。配列を読み取るダイアログでも、提案が配列に残っているオプションを表示しないことがあります。たとえば、[`allowManagedPermissionRulesOnly`](/docs/ja/settings-reference#allowmanagedpermissionrulesonly) によってルールを保存するオプションが非表示になる場合です。また、[**Yes, and switch to auto mode**](/docs/ja/permission-modes#switch-permission-modes) のように、提案エントリを持たないオプションを提供することもあります。このオプションは、権限の更新を経由せずに権限モードを直接変更します。2209各権限ダイアログはそれぞれ独自にオプションを構築するため、`permission_suggestions` 配列は表示されるオプションの正確なリストではありません。ファイル編集用のダイアログなど一部のダイアログは、この配列をまったく読み取らず、リクエスト自体からオプションを導出します。配列を読み取るダイアログでも、提案が配列に残っているオプションを表示しない場合があります。たとえば、[`allowManagedPermissionRulesOnly`](/docs/ja/settings-reference#allowmanagedpermissionrulesonly) によってルールを保存するオプションが非表示になる場合です。また、[**Yes, and switch to auto mode**](/docs/ja/permission-modes#switch-permission-modes) のように、提案エントリを持たないオプションを提示することもあります。このオプションは、権限の更新を介さずに権限モードを直接変更します。

2184 2210 

2185PreToolUse フックは、権限が必要かどうかにかかわらず、すべてのツール呼び出しの前に実行されます。PermissionRequest フックは、Claude Code が権限を求めようとするとき、またはプロンプトを表示できない呼び出しを自動的に拒否しようとするときにのみ実行されます。どちらのイベントも [`EndConversation`](/docs/ja/tools-reference#endconversation-tool-behavior) に対しては発火しません。2211PreToolUse フックは、権限が必要かどうかにかかわらず、すべてのツール呼び出しの前に実行されます。PermissionRequest フックは、Claude Code がユーザーに権限を求めようとしているとき、またはプロンプトを表示できない呼び出しを本来なら自動的に拒否するときにのみ実行されます。どちらのイベントも [`EndConversation`](/docs/ja/tools-reference#endconversation-tool-behavior) では発火しません。

2186 2212 

2187```json theme={null}2213```json theme={null}

2188{2214{


2208```2234```

2209 2235 

2210<h4 id="permissionrequest-decision-control">2236<h4 id="permissionrequest-decision-control">

2211 PermissionRequest の判定制御2237 PermissionRequest の決定制御

2212</h4>2238</h4>

2213 2239 

2214`PermissionRequest` フックは、権限リクエストを許可または拒否できます。すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、フックスクリプトは以下のイベント固有のフィールドを持つ `decision` オブジェクトを返すことができます。2240`PermissionRequest` フックは権限リクエストを許可または拒否できます。すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、フックスクリプトは次のイベント固有のフィールドを持つ `decision` オブジェクトを返すことができます。

2215 2241 

2216| フィールド | 説明 |2242| フィールド | 説明 |

2217| :- | :- |2243| :- | :- |

2218| `behavior` | `"allow"` は権限を付与し、`"deny"` は拒否します。[拒否ルールと確認ルール](/docs/ja/permissions#manage-permissions)は引き続き評価されるため、`"allow"` を返すフックが一致する拒否ルールを上書きすることはありません |2244| `behavior` | `"allow"` は権限を付与し、`"deny"` は拒否します。[拒否ルールと確認ルール](/docs/ja/permissions#manage-permissions)は引き続き評価されるため、`"allow"` を返すフックが一致する拒否ルールを上書きすることはありません |

2219| `updatedInput` | `"allow"` の場合のみ:実行前にツールの入力パラメーターを変更します。入力オブジェクト全体を置き換えるため、変更したフィールドとともに変更していないフィールドも含めてください。変更された入力は、拒否ルールと確認ルールに対して再評価されます |2245| `updatedInput` | `"allow"` の場合のみ:実行前にツールの入力パラメータを変更します。入力オブジェクト全体を置き換えるため、変更したフィールドと一緒に変更していないフィールドも含めてください。変更された入力は、拒否ルールと確認ルールに対して再評価されます |

2220| `updatedPermissions` | `"allow"` の場合のみ:適用する[権限の更新エントリ](#permission-update-entries)の配列。許可ルールの追加やセッションの権限モードの変更などがあります |2246| `updatedPermissions` | `"allow"` の場合のみ:適用する[権限更新エントリ](#permission-update-entries)の配列です。許可ルールの追加やセッションの権限モードの変更などを指定します |

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

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

2223 2249 

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

2225 2251 

2226```json theme={null}2252```json theme={null}

2227{2253{


2245 2271 

2246| `type` | フィールド | 効果 |2272| `type` | フィールド | 効果 |

2247| :- | :- | :- |2273| :- | :- | :- |

2248| `addRules` | `rules`、`behavior`、`destination` | 権限ルールを追加します。`rules` は `{toolName, ruleContent?}` オブジェクトの配列です。ツール全体にマッチさせるには `ruleContent` を省略します。`behavior` は `"allow"`、`"deny"`、`"ask"` のいずれかです |2274| `addRules` | `rules`、`behavior`、`destination` | 権限ルールを追加します。`rules` は `{toolName, ruleContent?}` オブジェクトの配列です。ツール全体に一致させるには `ruleContent` を省略します。`behavior` は `"allow"`、`"deny"`、`"ask"` のいずれかです |

2249| `replaceRules` | `rules`、`behavior`、`destination` | `destination` にある指定された `behavior` のルールをすべて、提供された `rules` で置き換えます |2275| `replaceRules` | `rules`、`behavior`、`destination` | `destination` にある指定された `behavior` のすべてのルールを、指定された `rules` で置き換えます |

2250| `removeRules` | `rules`、`behavior`、`destination` | 指定された `behavior` のうち、マッチするルールを削除します |2276| `removeRules` | `rules`、`behavior`、`destination` | 指定された `behavior` の一致するルールを削除します |

2251| `setMode` | `mode`、`destination` | 権限モードを変更します。有効なモードは `default`、`auto`、`acceptEdits`、`dontAsk`、`bypassPermissions`、`plan`、および `default` のエイリアスである `manual` です |2277| `setMode` | `mode`、`destination` | 権限モードを変更します。有効なモードは `default`、`auto`、`acceptEdits`、`dontAsk`、`bypassPermissions`、`plan`、および `default` のエイリアスである `manual` です |

2252| `addDirectories` | `directories`、`destination` | 作業ディレクトリを追加します。`directories` はパス文字列の配列です |2278| `addDirectories` | `directories`、`destination` | 作業ディレクトリを追加します。`directories` はパス文字列の配列です |

2253| `removeDirectories` | `directories`、`destination` | 作業ディレクトリを削除します |2279| `removeDirectories` | `directories`、`destination` | 作業ディレクトリを削除します |

2254 2280 

2255<Note>2281<Note>

2256 `bypassPermissions` を指定した `setMode` が有効になるのは、bypass モードがすでに利用可能な状態でセッションを起動した場合のみです。つまり、`--dangerously-skip-permissions`、`--permission-mode bypassPermissions`、`--allow-dangerously-skip-permissions`、または [ユーザー設定、`--settings`、管理設定](/docs/ja/settings-reference#permissions-defaultmode)での `permissions.defaultMode: "bypassPermissions"` のいずれかを使用した場合です。それ以外の場合、この更新は何も行いません。また、[`permissions.disableBypassPermissionsMode`](/docs/ja/permissions#managed-settings) がこのモードを無効にしている場合や、セッションが[制限モード](/docs/ja/cli-reference#cli-flags)で開始された場合も、この更新は何も行いません。2282 `bypassPermissions` を指定した `setMode` は、bypass モードがすでに利用可能な状態でセッションを起動した場合にのみ有効になります。具体的には、`--dangerously-skip-permissions`、`--permission-mode bypassPermissions`、`--allow-dangerously-skip-permissions`、または [ユーザー設定、`--settings`、管理設定](/docs/ja/settings-reference#permissions-defaultmode)での `permissions.defaultMode: "bypassPermissions"` のいずれかです。それ以外の場合、この更新は何も行いません。また、[`permissions.disableBypassPermissionsMode`](/docs/ja/permissions#managed-settings) によってこのモードが無効化されている場合や、セッションが[制限モード](/docs/ja/cli-reference#cli-flags)で開始された場合も、この更新は何も行いません。

2257 2283 

2258 `destination` に関係なく、`bypassPermissions` が `defaultMode` として永続化されることはありません。2284 `destination` にかかわらず、`bypassPermissions` が `defaultMode` として永続化されることはありません。

2259</Note>2285</Note>

2260 2286 

2261すべてのエントリの `destination` フィールドによって、変更がメモリ内にとどまるか、設定ファイルに永続化されるかが決まります。2287各エントリの `destination` フィールドによって、変更がメモリ内にとどまるか、設定ファイルに永続化されるかが決まります。

2262 2288 

2263| `destination` | 書き込み先 |2289| `destination` | 書き込み先 |

2264| :- | :- |2290| :- | :- |


2267| `projectSettings` | `.claude/settings.json` |2293| `projectSettings` | `.claude/settings.json` |

2268| `userSettings` | `~/.claude/settings.json` |2294| `userSettings` | `~/.claude/settings.json` |

2269 2295 

2270フックは、受け取った `permission_suggestions` のいずれかを、自身の `updatedPermissions` 出力としてそのまま返すことができます。2296フックは、受け取った `permission_suggestions` のいずれかを、そのまま自身の `updatedPermissions` 出力として返すことができます。

2271 2297 

2272<h3 id="posttooluse">2298<h3 id="posttooluse">

2273 PostToolUse2299 PostToolUse


2275 2301 

2276ツールが正常に完了した直後に実行されます。2302ツールが正常に完了した直後に実行されます。

2277 2303 

2278ツール名でマッチします。値は PreToolUse と同じです。2304ツール名で照合します。値は PreToolUse と同じです。

2279 2305 

2280ツール名が適切なフィルターでない場合は、より広くマッチさせます。2306ツール名が適切なフィルターでない場合は、より広く照合します。

2281 2307 

2282* ツールが正常に完了した後に毎回フックを実行するには、`matcher` を省略するか `"*"` に設定します。その後、フック自身が何が変更されたかを調べられます。たとえば `git status --porcelain` を実行すると、`git diff` では見落とされる未追跡ファイルも一覧表示されます。失敗したツール呼び出しについては、同じフックを [PostToolUseFailure](#posttoolusefailure) にも追加してください。2308* ツールが正常に完了した後に常にフックを実行するには、`matcher` を省略するか `"*"` に設定します。そのうえで、フック自身が何が変更されたかを調べます。たとえば `git status --porcelain` を実行すると、`git diff` では漏れる未追跡ファイルも一覧表示されます。失敗したツール呼び出しについては、同じフックを [PostToolUseFailure](#posttoolusefailure) に追加してください。

2283* 書き込んだのが何であれ、特定のファイルがディスク上で変更されたときにフックを実行するには、[FileChanged](#filechanged) を使用します。`Bash` コマンドや Claude Code 外部のプロセスが同じファイルを書き換えた場合、Claude Code は `Edit|Write` にマッチする `PostToolUse` フックを実行しません。2309* 書き込み元にかかわらず、特定のファイルがディスク上で変更されたときにフックを実行するには、[FileChanged](#filechanged) を使用します。`Bash` コマンドや Claude Code 外部のプロセスが同じファイルを書き換えた場合、Claude Code は `Edit|Write` に一致する `PostToolUse` フックを実行しません。

2284 2310 

2285<h4 id="posttooluse-input">2311<h4 id="posttooluse-input">

2286 PostToolUse の入力2312 PostToolUse の入力

2287</h4>2313</h4>

2288 2314 

2289`PostToolUse` フックは、ツールがすでに正常に実行された後に発火します。入力には、ツールに送信された引数である `tool_input` と、ツールが返した結果である `tool_response` の両方が含まれます。どちらの正確なスキーマもツールによって異なります。ファイルツールの `tool_input` のパスは [PreToolUse](#pretooluse-input) と同じ形式で届きます。つまり常に絶対パスで、プラットフォームネイティブの区切り文字が使われるため、Windows ではバックスラッシュになります。MCP ツールの場合、入力には [`mcp_server`](#pretooluse-input) オブジェクトも含まれます。2315`PostToolUse` フックは、ツールがすでに正常に実行された後に発火します。入力には、ツールに送信された引数である `tool_input` と、ツールが返した結果である `tool_response` の両方が含まれます。どちらの正確なスキーマもツールによって異なります。ファイルツールの `tool_input` のパスは [PreToolUse](#pretooluse-input) と同じ形式で渡されます。つまり、常に絶対パスで、プラットフォーム固有の区切り文字(Windows ではバックスラッシュ)が使われます。MCP ツールの場合、入力には [`mcp_server`](#pretooluse-input) オブジェクトも含まれます。

2290 2316 

2291```json theme={null}2317```json theme={null}

2292{2318{


2311 2337 

2312| フィールド | 説明 |2338| フィールド | 説明 |

2313| :- | :- |2339| :- | :- |

2314| `duration_ms` | 省略可能。ツールの実行時間(ミリ秒)。権限プロンプトと PreToolUse フックに費やされた時間は含まれません |2340| `duration_ms` | オプション。ツールの実行時間(ミリ秒)。権限プロンプトと PreToolUse フックに費やされた時間は含まれません |

2315 2341 

2316<h4 id="posttooluse-decision-control">2342<h4 id="posttooluse-decision-control">

2317 PostToolUse の決定制御2343 PostToolUse の決定制御


2321 2347 

2322| フィールド | 説明 |2348| フィールド | 説明 |

2323| :- | :- |2349| :- | :- |

2324| `decision` | `"block"` は、ツールの結果の横に `reason` を追加します。Claude には元の出力も引き続き表示されます。出力を置き換えるには `updatedToolOutput` を使用します |2350| `decision` | `"block"` は、ツールの結果の横に `reason` を追加します。Claude には元の出力も引き続き表示されます。出力を置き換えるには `updatedToolOutput` を使用してください |

2325| `reason` | `decision` が `"block"` の場合に Claude に表示される説明 |2351| `reason` | `decision` が `"block"` の場合に Claude に表示される説明 |

2326| `additionalContext` | ツールの結果と一緒に Claude のコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |2352| `additionalContext` | ツールの結果とともに Claude のコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |

2327| `classifierContext` | Claude ではなく [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)の分類器に向けた、この呼び出しの結果に関する短いメモ。[auto モードの分類器向けに結果に注釈を付ける](#annotate-a-result-for-the-auto-mode-classifier)を参照してください。Claude Code v2.1.236 以降が必要です |2353| `classifierContext` | この呼び出しの結果について、Claude ではなく [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)の分類器に向けた短いメモ。[auto モードの分類器向けに結果に注釈を付ける](#annotate-a-result-for-the-auto-mode-classifier)を参照してください。Claude Code v2.1.236 以降が必要です |

2328| `updatedToolOutput` | Claude に送信される前に、ツールの出力を指定した値で置き換えます。値はツールの出力の形式と一致する必要があります |2354| `updatedToolOutput` | Claude に送信される前に、ツールの出力を指定された値で置き換えます。値はツールの出力の形式と一致している必要があります |

2329| `updatedMCPToolOutput` | [MCP ツール](#match-mcp-tools)の出力のみを置き換えます。すべてのツールで機能する `updatedToolOutput` の使用を推奨します |2355| `updatedMCPToolOutput` | [MCP ツール](#match-mcp-tools)の出力のみを置き換えます。すべてのツールで機能する `updatedToolOutput` の使用を推奨します |

2330 2356 

2331以下の例では、`Bash` 呼び出しの出力を置き換えます。置き換える値は `Bash` ツールの出力の形式と一致しています。2357次の例は、`Bash` 呼び出しの出力を置き換えます。置き換える値は `Bash` ツールの出力の形式と一致しています。

2332 2358 

2333```json theme={null}2359```json theme={null}

2334{2360{


2346```2372```

2347 2373 

2348<Warning>2374<Warning>

2349 `updatedToolOutput` が変更するのは Claude に見える内容だけです。フックが発火した時点でツールはすでに実行されているため、書き込まれたファイル、実行されたコマンド、送信されたネットワークリクエストはすでに影響を及ぼしています。OpenTelemetry のツールスパンや分析イベントなどのテレメトリも、フックが実行される前の元の出力を記録します。ツール呼び出しを実行前に阻止または変更するには、代わりに [PreToolUse](#pretooluse) フックを使用してください。2375 `updatedToolOutput` が変更するのは、Claude に表示される内容だけです。フックが発火する時点でツールはすでに実行されているため、書き込まれたファイル、実行されたコマンド、送信されたネットワークリクエストはすでに反映されています。OpenTelemetry のツールスパンや分析イベントなどのテレメトリも、フックの実行前に元の出力を記録します。ツール呼び出しを実行前に阻止または変更するには、代わりに [PreToolUse](#pretooluse) フックを使用してください。

2350 2376 

2351 置き換える値はツールの出力の形式と一致する必要があります。組み込みツールはプレーンな文字列ではなく構造化オブジェクトを返します。たとえば、`Bash` は `stdout`、`stderr`、`interrupted`、`isImage` フィールドを持つオブジェクトを返します。組み込みツールの場合、ツールの出力スキーマと一致しない値は無視され、元の出力が使用されます。MCP ツールの出力はスキーマ検証なしでそのまま渡されます。Claude が必要とするエラーの詳細を取り除くと、Claude が誤った前提に基づいて作業を進める可能性があります。2377 置き換える値は、ツールの出力の形式と一致している必要があります。組み込みツールは、プレーンな文字列ではなく構造化されたオブジェクトを返します。たとえば `Bash` は、`stdout`、`stderr`、`interrupted`、`isImage` フィールドを持つオブジェクトを返します。組み込みツールの場合、ツールの出力スキーマと一致しない値は無視され、元の出力が使用されます。MCP ツールの出力は、スキーマ検証なしでそのまま渡されます。Claude が必要とするエラーの詳細を取り除くと、Claude が誤った前提のまま処理を進める可能性があります。

2352</Warning>2378</Warning>

2353 2379 

2354<h4 id="annotate-a-result-for-the-auto-mode-classifier">2380<h4 id="annotate-a-result-for-the-auto-mode-classifier">

2355 auto モードの分類器向けに結果に注釈を付ける2381 auto モードの分類器向けに結果に注釈を付ける

2356</h4>2382</h4>

2357 2383 

2358`classifierContext` を返すと、ツール呼び出しの結果に関する短いメモを、Claude ではなく [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)の分類器に送信できます。分類器は[ツールの結果そのものを受け取ることはない](/docs/ja/permission-modes#how-the-classifier-evaluates-actions)ため、このフィールドは、分類器が後続のアクションを審査する前に、呼び出しが返した内容について何かを伝えるためのサポートされた方法です。このフィールドには Claude Code v2.1.236 以降が必要です。2384`classifierContext` を返すと、ツール呼び出しの結果に関する短いメモを、Claude ではなく [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)の分類器に送信できます。分類器は[ツールの結果そのものを受け取ることはない](/docs/ja/permission-modes#how-the-classifier-evaluates-actions)ため、このフィールドは、分類器が後続のアクションを審査する前に、呼び出しが返した内容について伝えるためのサポートされた方法です。このフィールドには Claude Code v2.1.236 以降が必要です。

2359 2385 

2360以下の例では、クエリの出力がどこから来たかを分類器に伝えます。2386次の例は、クエリの出力がどこから得られたかを分類器に伝えます。

2361 2387 

2362```json theme={null}2388```json theme={null}

2363{2389{


2368}2394}

2369```2395```

2370 2396 

2371分類器がメモをどの程度重視するかは、フックを設定した場所によって異なります。2397分類器がこのメモをどの程度重視するかは、フックを設定した場所によって異なります。

2372 2398 

2373* **Claude Code で設定されたフック**: 設定ファイル、プラグイン、スキル、エージェントのフロントマターからのフックの場合、分類器はメモを検証されていない、アプリケーション提供のコンテキストとして扱います。メモがユーザーの意図を確定させることはなく、ユーザーが何かを承認した、または要求したとメモが主張する場合、分類器はその主張を会話内のユーザー自身のメッセージと照合します2399* **Claude Code で設定されたフック**:設定ファイル、プラグイン、スキル、エージェントのフロントマターに由来するフックの場合、分類器はメモを未検証のアプリケーション提供コンテキストとして扱います。メモがユーザーの意図を立証することはなく、メモがユーザーが何かを承認または要求したと主張している場合、分類器はその主張を会話内のユーザー自身のメッセージと照合します

2374* **インプロセスの Agent SDK コールバック**: Claude Code を組み込んだアプリケーションがフックを [TypeScript SDK コールバック](/docs/ja/agent-sdk/hooks)として登録し、ライブセッション中にメモを返す場合、分類器はメモで伝えられたユーザーの発言をユーザーの意図として重視することがあります。そのような発言は、ユーザーが送信したメッセージであれば分類器が受け入れる同意要件を満たすことができますが、ユーザー自身のメッセージでも解除できないブロックを解除することはありません。セッションが再開された後、Claude Code は復元されたメモを検証されていないコンテキストとして扱います。両方のグループのフックが同じ呼び出しに注釈を付けた場合、分類器は結合されたメモを検証されていないものとして扱います2400* **プロセス内の Agent SDK コールバック**:Claude Code を組み込んだアプリケーションがフックを [TypeScript SDK コールバック](/docs/ja/agent-sdk/hooks)として登録し、実行中のセッションでメモを返す場合、分類器はメモで伝えられたユーザーの発言をユーザーの意図として考慮することがあります。そのような発言は、ユーザーが送信するメッセージであれば分類器が受け入れる同意要件を満たすことはできますが、ユーザー自身のメッセージでも解除できないブロックを解除することはありません。セッションが再開された後は、Claude Code は復元されたメモを未検証のコンテキストとして扱います。両方のグループのフックが同じ呼び出しに注釈を付けた場合、分類器は結合されたメモを未検証として扱います

2375 2401 

2376Claude Code はメモを配信する際に次の制限を適用します。2402Claude Code は、メモを配信する際に次の制限を適用します。

2377 2403 

2378* **長さ**: Claude Code は 1 回のツール呼び出しに対するメモを 2,000 文字に制限し、残りを切り捨てます。この上限は、その呼び出しに応答するすべてのフックで共有されます2404* **長さ**:Claude Code は 1 回のツール呼び出しに対するメモを 2,000 文字に制限し、残りを切り捨てます。この上限は、その呼び出しに応答するすべてのフックで共有されます

2379* **同期応答のみ**: Claude Code は、[バックグラウンドで実行される](#run-hooks-in-the-background)フックの応答に含まれるこのフィールドを無視します。その応答は Claude Code がツールの結果を記録した後に届くためです2405* **同期応答のみ**:[バックグラウンドで実行される](#run-hooks-in-the-background)フックの応答では、Claude Code はこのフィールドを無視します。その応答は、Claude Code がツールの結果を記録した後に届くためです

2380* **分類器が記録しない呼び出し**: 分類器のトランスクリプトでは、ファイルの読み取りや検索などの読み取り専用の参照が省略されます。Claude Code は、そのような呼び出しに付けられたメモを破棄します2406* **分類器が記録しない呼び出し**:分類器のトランスクリプトでは、ファイルの読み取りや検索などの読み取り専用の参照は省略されます。Claude Code は、そのような呼び出しに付けられたメモを破棄します

2381* **書き換えとの相互作用**: `updatedToolOutput` で置き換えている出力についてメモを記述する場合は、同じフックの応答で両方のフィールドを返してください。その書き換えが拒否された場合、または別のフックの書き換えがそれを置き換えた場合、Claude Code はメモを破棄します。書き換えなしで返したメモは、別のフックが出力を書き換えた場合でも Claude Code によって配信されます2407* **書き換えとの相互作用**:`updatedToolOutput` で置き換える出力についてメモを記述する場合は、同じフックの応答で両方のフィールドを返してください。その書き換えが拒否された場合や、別のフックの書き換えによって置き換えられた場合、Claude Code はメモを破棄します。書き換えなしで返したメモは、別のフックが出力を書き換えた場合でも配信されます

2382 2408 

2383<Warning>2409<Warning>

2384 分類器は `classifierContext` に配置した内容を、セッションをホストしているアプリケーションからの情報として読み取ります。そのため、信頼できないツール出力やサードパーティのテキストをコピーしないでください。メモは、その 1 回の呼び出しに関する短い主張(出所に関する事実や、それに関するユーザーの発言など)にとどめてください。このフィールドを、無関係なメッセージやイベントのストリームを配信するために使用しないでください。2410 分類器は、`classifierContext` に記述された内容を、セッションをホストしているアプリケーションからの情報として読み取ります。そのため、信頼できないツールの出力やサードパーティのテキストをこのフィールドにコピーしないでください。メモは、その呼び出しの出所に関する事実や、その呼び出しに関するユーザーの発言など、この 1 回の呼び出しについての短い主張にとどめてください。無関係なメッセージやイベントのストリームを配信する目的でこのフィールドを使用しないでください。

2385</Warning>2411</Warning>

2386 2412 

2387<h3 id="posttoolusefailure">2413<h3 id="posttoolusefailure">

2388 PostToolUseFailure2414 PostToolUseFailure

2389</h3>2415</h3>

2390 2416 

2391実行を開始したツールが失敗したとき、つまりツールがエラーをスローしたか、MCP ツールがエラー結果を返したときに実行されます。失敗のログ記録、アラートの送信、Claude への修正フィードバックの提供に使用します。2417実行を開始したツールが失敗したとき、つまりツールがエラーをスローした場合や、MCP ツールがエラー結果を返した場合に実行されます。失敗のログ記録、アラートの送信、Claude への是正フィードバックの提供に使用します。

2392 2418 

2393ツール名でマッチします。値は PreToolUse と同じです。2419ツール名で照合します。値は PreToolUse と同じです。

2394 2420 

2395<Note>2421<Note>

2396 このイベントは、実行前に拒否されたツール呼び出し(不明なツール名、スキーマまたはツール固有の検証に失敗した入力、権限の拒否)では発火しません。検証による拒否は `tool_use_error` の結果として返され、フックの実行前に発生するため、`PreToolUse` も `PostToolUseFailure` も発火しません。権限の拒否では `PreToolUse` は発火しますが、このイベントは発火しません。[PermissionDenied](#permissiondenied) を参照してください。2422 このイベントは、実行前に拒否されたツール呼び出し(不明なツール名、スキーマやツール固有の検証に失敗した入力、権限の拒否)では発火しません。検証による拒否は `tool_use_error` の結果として返され、フックの実行前に発生するため、`PreToolUse` も `PostToolUseFailure` も発火しません。権限の拒否では `PreToolUse` は発火しますが、このイベントは発火しません。[PermissionDenied](#permissiondenied) を参照してください。

2397</Note>2423</Note>

2398 2424 

2399<h4 id="posttoolusefailure-input">2425<h4 id="posttoolusefailure-input">

2400 PostToolUseFailure の入力2426 PostToolUseFailure の入力

2401</h4>2427</h4>

2402 2428 

2403PostToolUseFailure フックは、PostToolUse と同じ `tool_name` および `tool_input` フィールドに加えて、トップレベルのフィールドとしてエラー情報を受け取ります。MCP ツールの場合は、[`mcp_server`](#pretooluse-input) オブジェクトも受け取ります。たとえば、失敗した `npm test` コマンドでは次のような内容が渡されます。2429PostToolUseFailure フックは、PostToolUse と同じ `tool_name` と `tool_input` フィールドに加えて、トップレベルのフィールドとしてエラー情報を受け取ります。MCP ツールの場合は、[`mcp_server`](#pretooluse-input) オブジェクトも受け取ります。たとえば、`npm test` コマンドが失敗した場合は次のように渡されます。

2404 2430 

2405```json theme={null}2431```json theme={null}

2406{2432{


2424| フィールド | 説明 |2450| フィールド | 説明 |

2425| :- | :- |2451| :- | :- |

2426| `error` | 何が問題だったかを説明する文字列。形式は失敗したツールによって異なります |2452| `error` | 何が問題だったかを説明する文字列。形式は失敗したツールによって異なります |

2427| `is_interrupt` | 省略可能なブール値。ツールが報告したエラーとしてではなく、中止として Claude Code に失敗が届いた場合に true になります。実行中のツールをキャンセルしてもこのフックは発火しません。その場合は、ツールの結果に中断メッセージが含まれます |2453| `is_interrupt` | オプションのブール値。失敗が、ツールが報告したエラーとしてではなく、中断として Claude Code に到達した場合に true になります。実行中のツールをキャンセルしてもこのフックは発火せず、代わりにツールの結果に中断メッセージが含まれます |

2428| `duration_ms` | 省略可能。ツールの実行時間(ミリ秒)。権限プロンプトと PreToolUse フックに費やされた時間は含まれません |2454| `duration_ms` | オプション。ツールの実行時間(ミリ秒)。権限プロンプトと PreToolUse フックに費やされた時間は含まれません |

2429 2455 

2430`error` 文字列は通常、失敗したツールの結果として Claude が受け取るテキストと同じです。その形式はツールと失敗の種類によって異なります。フックは `tool_name`、`is_interrupt`、および先頭行の `Exit code N` をキーにしてください。文字列の残りの部分は表示用のテキストとして扱い、安定した形式とみなさないでください。2456`error` 文字列は、一般に、失敗したツールの結果として Claude が受け取るテキストと同じです。その形式はツールや失敗の内容によって異なります。フックの判定には `tool_name`、`is_interrupt`、および 1 行目の `Exit code N` を使用し、文字列の残りの部分は安定した形式ではなく表示用のテキストとして扱ってください。

2431 2457 

2432* Bash と PowerShell の場合、実行されて終了したコマンドは先頭行に `Exit code N` を出力し、その後にコマンドが生成した出力を、stdout と stderr が混在した 1 つのブロックとして出力します2458* Bash と PowerShell では、実行されて終了したコマンドの場合、1 行目が `Exit code N` となり、その後にコマンドが生成した出力が、stdout と stderr が混在した 1 つのブロックとして続きます

2433* Claude Code がシェルプロセス自体を起動できなかった場合、ペイロードには終了コードの行がない、失敗メッセージだけが含まれることもあります2459* Claude Code がシェルプロセス自体を起動できなかった場合、ペイロードには終了コードの行がない失敗メッセージのみが含まれることもあります

2434* Claude Code は長い文字列を `... [N characters truncated] ...` マーカーを挟んで中間部分を切り詰めます。また、`Command timed out after 2m 0s` のような独自の行を挿入することもあります2460* Claude Code は長い文字列を `... [N characters truncated] ...` マーカーを挟んで中間部分を切り詰めます。また、`Command timed out after 2m 0s` のような独自の行を挿入することもあります

2435 2461 

2436<h4 id="posttoolusefailure-decision-control">2462<h4 id="posttoolusefailure-decision-control">


2441 2467 

2442| フィールド | 説明 |2468| フィールド | 説明 |

2443| :- | :- |2469| :- | :- |

2444| `additionalContext` | エラーと一緒に Claude のコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |2470| `additionalContext` | エラーとともに Claude のコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |

2445 2471 

2446```json theme={null}2472```json theme={null}

2447{2473{


2456 PostToolBatch2482 PostToolBatch

2457</h3>2483</h3>

2458 2484 

2459バッチ内のすべてのツール呼び出しが解決された後、Claude Code がモデルに次のリクエストを送信する前に 1 回実行されます。`PostToolUse` はツールごとに 1 回発火するため、Claude が並列にツールを呼び出すと同時に発火します。`PostToolBatch` はバッチ全体に対して正確に 1 回だけ発火するため、単一のツールではなく、実行されたツールの集合に依存するコンテキストを注入するのに適した場所です。このイベントには matcher がありません。2485バッチ内のすべてのツール呼び出しが解決した後、Claude Code がモデルに次のリクエストを送信する前に 1 回実行されます。`PostToolUse` はツールごとに 1 回発火するため、Claude が並列にツールを呼び出すと同時に発火します。`PostToolBatch` はバッチ全体に対して正確に 1 回だけ発火するため、個々のツールではなく、実行されたツールの組み合わせに依存するコンテキストを注入するのに適しています。このイベントには matcher はありません。

2460 2486 

2461<h4 id="posttoolbatch-input">2487<h4 id="posttoolbatch-input">

2462 PostToolBatch の入力2488 PostToolBatch の入力

2463</h4>2489</h4>

2464 2490 

2465[共通入力フィールド](#common-input-fields)に加えて、PostToolBatch フックは、バッチ内のすべてのツール呼び出しを記述する配列 `tool_calls` を受け取ります。2491[共通入力フィールド](#common-input-fields)に加えて、PostToolBatch フックはバッチ内のすべてのツール呼び出しを記述する配列 `tool_calls` を受け取ります。

2466 2492 

2467```json theme={null}2493```json theme={null}

2468{2494{


2488}2514}

2489```2515```

2490 2516 

2491`tool_response` には、モデルが対応する `tool_result` ブロックで受け取るのと同じ内容が含まれます。値は、ツールが出力したとおりのシリアライズされた文字列またはコンテンツブロックの配列です。`Read` の場合、生のファイル内容ではなく、行番号が先頭に付いたテキストになります。レスポンスは大きくなる可能性があるため、必要なフィールドだけを解析してください。2517`tool_response` には、モデルが対応する `tool_result` ブロックで受け取るものと同じ内容が含まれます。値は、ツールが出力したとおりのシリアライズされた文字列またはコンテンツブロックの配列です。`Read` の場合は、生のファイル内容ではなく、行番号が先頭に付いたテキストになります。応答は大きくなる可能性があるため、必要なフィールドだけを解析してください。

2492 2518 

2493<Note>2519<Note>

2494 `tool_response` の形式は `PostToolUse` のものとは異なります。`PostToolUse` はツールの構造化された `Output` オブジェクト(`Write` の場合は `{filePath: "...", type: "create"}` など)を渡しますが、`PostToolBatch` はモデルに表示されるシリアライズされた `tool_result` の内容を渡します。2520 `tool_response` の形式は `PostToolUse` のものとは異なります。`PostToolUse` は、`Write` の場合の `{filePath: "...", type: "create"}` のような、ツールの構造化された `Output` オブジェクトを渡します。`PostToolBatch` は、モデルに表示される、シリアライズされた `tool_result` の内容を渡します。

2495</Note>2521</Note>

2496 2522 

2497<h4 id="posttoolbatch-decision-control">2523<h4 id="posttoolbatch-decision-control">

2498 PostToolBatch の決定制御2524 PostToolBatch の決定制御

2499</h4>2525</h4>

2500 2526 

2501`PostToolBatch` フックは、Claude 向けにコンテキストを注入できます。すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、フックスクリプトは次のイベント固有のフィールドを返すことができます。2527`PostToolBatch` フックは、Claude 向けのコンテキストを注入できます。すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、フックスクリプトは次のイベント固有のフィールドを返すことができます。

2502 2528 

2503| フィールド | 説明 |2529| フィールド | 説明 |

2504| :- | :- |2530| :- | :- |

2505| `additionalContext` | 次のモデル呼び出しの前に 1 回注入されるコンテキスト文字列。配信の詳細、含めるべき内容、再開されたセッションが過去の値をどのように扱うかについては、[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |2531| `additionalContext` | 次のモデル呼び出しの前に 1 回注入されるコンテキスト文字列。配信の詳細、含めるべき内容、再開されたセッションで過去の値がどう扱われるかについては、[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |

2506 2532 

2507```json theme={null}2533```json theme={null}

2508{2534{


2513}2539}

2514```2540```

2515 2541 

2516`decision: "block"` または `continue: false` を返すと、次のモデル呼び出しの前にエージェント型ループが停止します。ブロックメッセージは、JSON の `reason` または `stopReason`、あるいは終了コード 2 の場合は stderr から取得されます。このメッセージはトランスクリプトに警告として表示され、会話に残るため、会話が続行されると Claude にも表示されます。2542`decision: "block"` または `continue: false` を返すと、次のモデル呼び出しの前にエージェント型ループが停止します。ブロックメッセージは、JSON の `reason` または `stopReason`、あるいは終了コード 2 の場合の stderr から取得されます。このメッセージはトランスクリプトに警告として表示され、会話内に残るため、会話が続行されると Claude にも表示されます。

2517 2543 

2518<h3 id="permissiondenied">2544<h3 id="permissiondenied">

2519 PermissionDenied2545 PermissionDenied

2520</h3>2546</h3>

2521 2547 

2522[auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)がツール呼び出しを拒否したときに実行されます。これには、[auto モードとは別の安全性チェックが分類器自身のリクエストを拒否した](/docs/ja/errors#auto-mode-cannot-determine-the-safety-of-an-action)場合や、分類器の応答を解析できなかった場合など、分類器の判定なしに拒否された場合も含まれます。このフックは auto モードでのみ発火します。権限ダイアログを手動で拒否した場合、`PreToolUse` フックが呼び出しをブロックした場合、`deny` ルールがマッチした場合には実行されません。拒否のログ記録、設定の調整、またはモデルにツール呼び出しを再試行してよいことを伝えるために使用します。2548[auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)がツール呼び出しを拒否したときに実行されます。これには、[auto モードとは別の安全性チェックが分類器自身のリクエストを拒否した](/docs/ja/errors#auto-mode-cannot-determine-the-safety-of-an-action)場合や、分類器の応答を解析できなかった場合など、分類器の判定なしで拒否した場合も含まれます。このフックは auto モードでのみ発火します。権限ダイアログを手動で拒否した場合、`PreToolUse` フックが呼び出しをブロックした場合、`deny` ルールに一致した場合には実行されません。拒否のログ記録、設定の調整、またはツール呼び出しを再試行してよいことをモデルに伝えるために使用します。

2523 2549 

2524ツール名でマッチします。値は PreToolUse と同じです。2550ツール名で照合します。値は PreToolUse と同じです。

2525 2551 

2526<h4 id="permissiondenied-input">2552<h4 id="permissiondenied-input">

2527 PermissionDenied の入力2553 PermissionDenied の入力


2548 2574 

2549| フィールド | 説明 |2575| フィールド | 説明 |

2550| :- | :- |2576| :- | :- |

2551| `reason` | 拒否の理由。分類器の判定の場合、ほとんどのセッションでは `[Data Exfiltration]` のように、マッチしたルールが角括弧で示されます。その他の形式については[拒否を確認する](/docs/ja/auto-mode-config#review-denials)を参照してください。[判定なしの拒否](#permissiondenied-decision-control)の場合は、`Auto mode could not evaluate this action and is blocking it for safety` で始まります。分類器モデルが利用できなかったことによる拒否の場合は、固定のテキスト `Classifier unavailable` になります |2577| `reason` | 拒否の理由。分類器の判定による場合、ほとんどのセッションでは `[Data Exfiltration]` のように、一致したルール名が角括弧で囲まれて示されます。その他の形式については[拒否を確認する](/docs/ja/auto-mode-config#review-denials)を参照してください。[判定なしの拒否](#permissiondenied-decision-control)の場合は、`Auto mode could not evaluate this action and is blocking it for safety` で始まります。分類器モデルが利用できなかったことによる拒否の場合は、固定テキスト `Classifier unavailable` になります |

2552 2578 

2553<h4 id="permissiondenied-decision-control">2579<h4 id="permissiondenied-decision-control">

2554 PermissionDenied の決定制御2580 PermissionDenied の決定制御


2565}2591}

2566```2592```

2567 2593 

2568`retry` が `true` の場合、Claude Code は、ツール呼び出しを再試行してよいことをモデルに伝えるメッセージを会話に追加します。Claude Code が拒否そのものを取り消すことはありません。フックが JSON を返さない場合、または `retry: false` を返した場合、拒否はそのまま維持され、モデルは元の拒否メッセージを受け取ります。2594`retry` が `true` の場合、Claude Code はツール呼び出しを再試行してよいことをモデルに伝えるメッセージを会話に追加します。Claude Code が拒否そのものを取り消すことはありません。フックが JSON を返さない場合、または `retry: false` を返した場合、拒否はそのまま維持され、モデルは元の拒否メッセージを受け取ります。

2569 2595 

2570分類器が[アクションに対する判定を下さなかった](/docs/ja/errors#auto-mode-cannot-determine-the-safety-of-an-action)場合、つまり応答を解析できなかった場合や、auto モードとは別の安全性チェックが分類器自身のリクエストを拒否した場合、Claude Code は `retry: true` を無視します。これらの拒否については、Claude Code はすでに拒否メッセージの中で、後で再試行するか先に進むかをモデルに伝えています。2596分類器が[アクションに対する判定を出さなかった](/docs/ja/errors#auto-mode-cannot-determine-the-safety-of-an-action)場合、つまり分類器の応答を解析できなかった場合や、auto モードとは別の安全性チェックが分類器自身のリクエストを拒否した場合、Claude Code は `retry: true` を無視します。これらの拒否については、後で再試行するか次に進むかを、Claude Code が拒否メッセージの中ですでにモデルに伝えています。

2571 2597 

2572<h3 id="notification">2598<h3 id="notification">

2573 Notification2599 Notification

2574</h3>2600</h3>

2575 2601 

2576Claude Code が通知を送信するときに実行されます。通知の種類でマッチします。すべての種類の通知でフックを実行するには、matcher を省略します。2602Claude Code が通知を送信するときに実行されます。通知タイプで照合します。すべての通知タイプでフックを実行するには、matcher を省略します。

2577 2603 

2578デスクトップ通知をオフにしていても、これらのフックイベントは受け取ります。`notifications_disabled` を含む `preferredNotifChannel` 設定が変更するのは通知の受け取り方だけであり、フックが実行されるかどうかは変わりません。2604デスクトップ通知をオフにしていても、これらのフックイベントは受け取ります。`preferredNotifChannel` 設定(`notifications_disabled` を含む)が変更するのはユーザーへの通知方法だけであり、フックが実行されるかどうかには影響しません。

2579 2605 

2580| Matcher | 発火するタイミング |2606| Matcher | 発火するタイミング |

2581| :- | :- |2607| :- | :- |

2582| `permission_prompt` | Claude がツールの使用、またはサンドボックス化されたコマンドの[ネットワークリクエスト](/docs/ja/sandboxing#network-isolation)について承認を必要としており、プロンプトが約 6 秒間待機している場合 |2608| `permission_prompt` | Claude がツールの使用、またはサンドボックス化されたコマンドの[ネットワークリクエスト](/docs/ja/sandboxing#network-isolation)の承認を必要としており、プロンプトが約 6 秒間待機しているとき |

2583| `idle_prompt` | Claude が約 60 秒前に応答を終え、それ以降ユーザーが入力していない場合 |2609| `idle_prompt` | Claude が約 60 秒前に応答を完了し、それ以降ユーザーが入力していないとき |

2584| `auth_success` | 認証が完了した場合 |2610| `auth_success` | 認証が完了したとき |

2585| `elicitation_dialog` | MCP サーバーが elicitation フォームを開き、ユーザーが約 6 秒間入力していない場合 |2611| `elicitation_dialog` | MCP サーバーが elicitation フォームを開き、ユーザーが約 6 秒間入力していないとき |

2586| `elicitation_url_dialog` | MCP サーバーがブラウザの URL を開くよう求め、ユーザーが約 6 秒間入力していない場合 |2612| `elicitation_url_dialog` | MCP サーバーがブラウザの URL を開くようユーザーに求め、ユーザーが約 6 秒間入力していないとき |

2587| `elicitation_complete` | MCP サーバーが [URL モードの elicitation](#elicitation-input) の完了を報告した場合 |2613| `elicitation_complete` | MCP サーバーが [URL モードの elicitation](#elicitation-input) の完了を報告したとき |

2588| `elicitation_response` | MCP の elicitation の応答がサーバーに送り返された場合 |2614| `elicitation_response` | MCP の elicitation の応答がサーバーに送り返されたとき |

2589| `agent_needs_input` | ターミナルで[エージェントビュー](/docs/ja/agent-view)が開いている間に、バックグラウンドセッションがユーザーの入力待ちを開始した場合。また、ターミナルセッションで[エージェントチームのチームメイトのターミナル設定に関する質問](/docs/ja/agent-teams#choose-a-display-mode)や、auto モードの[分類器リクエストの料金](/docs/ja/auto-mode-classifier-billing)に関する通知が表示され、ユーザーが約 6 秒間入力していない場合にも発火します |2615| `agent_needs_input` | ターミナルで[エージェントビュー](/docs/ja/agent-view)が開いている間に、バックグラウンドセッションがユーザーの入力待ちを開始したとき。また、ターミナルセッションで[エージェントチームのチームメイトのターミナル設定に関する質問](/docs/ja/agent-teams#choose-a-display-mode)や、[分類器のリクエスト料金](/docs/ja/auto-mode-classifier-billing)に関する auto モードの通知が表示され、ユーザーが約 6 秒間入力していないときにも発火します |

2590| `agent_completed` | バックグラウンドセッションが終了または失敗した場合。ターミナルで[エージェントビュー](/docs/ja/agent-view)が開いている間のみ発火します |2616| `agent_completed` | バックグラウンドセッションが完了または失敗したとき。ターミナルで[エージェントビュー](/docs/ja/agent-view)が開いている間にのみ発火します |

2591| `quota_auto_resume_fired` | claude.ai の使用制限によって一時停止されたタスクを Claude Code が続行した場合。リセット時、または待機中に Claude Code で使用クレジットの追加、プランのアップグレード、モデルの切り替えなどを行って再び使用可能になった場合はそれより早く続行されます。ただし、[モデル設定に関する例外](/docs/ja/interactive-mode#wait-for-a-usage-limit-to-reset)があります |2617| `quota_auto_resume_fired` | claude.ai の使用制限によってタスクが一時停止された後、Claude Code がタスクを続行したとき。続行はリセット時に行われるか、待機中に Claude Code で使用クレジットの追加、プランのアップグレード、モデルの切り替えなどを行って使用量が再び利用可能になった場合はそれより早く行われます([モデル設定の例外](/docs/ja/interactive-mode#wait-for-a-usage-limit-to-reset)あり) |

2592| `quota_auto_resume_stale` | コンピューターが約 30 分以上スリープしている間に claude.ai の使用制限がリセットされた場合。Claude Code は続行せず、ユーザーが `Enter` を押すのを待ちます。スリープがそれより短い場合は続行し、代わりに `quota_auto_resume_fired` を発火します |2618| `quota_auto_resume_stale` | コンピューターが約 30 分以上スリープしている間に claude.ai の使用制限がリセットされたとき。Claude Code は続行せず、ユーザーが `Enter` を押すのを待ちます。スリープがそれより短い場合は続行し、代わりに `quota_auto_resume_fired` を発火します |

2593| `quota_auto_resume_disabled` | Claude Code が claude.ai の使用制限の待機を、タスクを続行せずに終了した場合。原因は、[`autoContinueAtUsageLimit`](/docs/ja/settings-reference#autocontinueatusagelimit) がオフになった、Claude Code が自ら開始した待機中にリセットが 24 時間以上先に移動した、続行したタスクが繰り返し制限に達した、または続行がモデルに届く前にブロックされた、のいずれかです。ユーザーが `Esc` や `Ctrl+C` を押した場合、または **Don't continue automatically** を選択した場合は発火しません |2619| `quota_auto_resume_disabled` | Claude Code が claude.ai の使用制限の待機を、タスクを続行せずに終了したとき。たとえば、Claude Code が自動的に開始した待機中に [`autoContinueAtUsageLimit`](/docs/ja/settings-reference#autocontinueatusagelimit) がオフにされた場合やリセットが 24 時間以上先に移動した場合、続行したタスクが繰り返し制限に達した場合、続行がモデルに到達する前にブロックされた場合です。ユーザーが `Esc` または `Ctrl+C` を押した場合や、**Don't continue automatically** を選択した場合は発火しません |

2594 2620 

2595`quota_auto_resume_fired`、`quota_auto_resume_stale`、`quota_auto_resume_disabled` の種類には Claude Code v2.1.234 以降が必要です。2621`quota_auto_resume_fired`、`quota_auto_resume_stale`、`quota_auto_resume_disabled` タイプには Claude Code v2.1.234 以降が必要です。

2596 2622 

2597ターミナルセッションでは、サンドボックス化されたコマンドのネットワークリクエストに対する `permission_prompt` に Claude Code v2.1.246 以降が必要です。2623ターミナルセッションでは、サンドボックス化されたコマンドのネットワークリクエストに対する `permission_prompt` には Claude Code v2.1.246 以降が必要です。

2598 2624 

2599チームメイトのターミナル設定に関する質問に対する `agent_needs_input` には Claude Code v2.1.248 以降が必要です。2625チームメイトのターミナル設定に関する質問に対する `agent_needs_input` には Claude Code v2.1.248 以降が必要です。

2600 2626 

2601<Note>2627<Note>

2602 `permission_prompt`、`idle_prompt`、`elicitation_dialog`、`elicitation_url_dialog` の種類はデスクトップ通知とタイミングを共有しているため、ターミナルセッションでは、ユーザーがターミナルから離れているように見える場合にのみ表示されます。2628 `permission_prompt`、`idle_prompt`、`elicitation_dialog`、`elicitation_url_dialog` タイプはデスクトップ通知とタイミングを共有しているため、ターミナルセッションでは、ユーザーがターミナルから離れていると判断される場合にのみ表示されます。

2603 2629 

2604 * `permission_prompt` は、ユーザーが約 6 秒間入力していないときに発火します。タイマーは権限プロンプトが表示された時点で開始され、キー入力のたびに延期されます。Claude がツールの使用権限を求めたときに即座にフックを実行するには、代わりに [PermissionRequest](#permissionrequest) を使用してください。2630 * `permission_prompt` は、ユーザーが約 6 秒間入力していないときに発火します。タイマーは権限プロンプトが表示されたときに開始され、キー入力のたびに延期されます。Claude がツールの使用権限を求めたときにすぐにフックを実行するには、代わりに [PermissionRequest](#permissionrequest) を使用してください。

2605 * `idle_prompt` は、Claude が応答を終えてから約 60 秒後に発火します。ただし、それ以降ユーザーが入力しておらず、バックグラウンドの[サブエージェント](/docs/ja/sub-agents)などのバックグラウンドエージェントが実行中でない場合に限ります。Claude Code は、claude.ai の使用制限のリセットを待っている間は `idle_prompt` を送信しません。待機が自動的に終了した場合は、代わりに `quota_auto_resume_*` のいずれかの種類が発火します。2631 * `idle_prompt` は、Claude が応答を完了してから約 60 秒後に発火します。ただし、それ以降ユーザーが入力しておらず、バックグラウンドの[サブエージェント](/docs/ja/sub-agents)などのバックグラウンドエージェントが実行中でない場合に限ります。claude.ai の使用制限のリセットを待っている間、Claude Code は `idle_prompt` を送信しません。待機が自然に終了すると、代わりに `quota_auto_resume_*` タイプのいずれかが発火します。

2606 * elicitation フォームに対する `elicitation_dialog`、またはブラウザ URL のリクエストに対する `elicitation_url_dialog` は、ユーザーが約 6 秒間入力していないときに発火します。どちらも `permission_prompt` と同じ 6 秒のゲートを共有しており、タイマーはダイアログが表示された時点で開始され、キー入力のたびに延期されます。2632 * `elicitation_dialog`(elicitation フォームの場合)または `elicitation_url_dialog`(ブラウザの URL リクエストの場合)は、ユーザーが約 6 秒間入力していないときに発火します。どちらも `permission_prompt` と同じ 6 秒間の条件を共有しており、タイマーはダイアログが表示されたときに開始され、キー入力のたびに延期されます。

2607 2633 

2608 別のダイアログが画面に表示されている間に届いた権限リクエストや elicitation にも、リクエストが届いた時点から計測される同じ 6 秒のゲートが適用されます。その通知は、リクエストが開いているダイアログの後ろでまだ待機している間に届く場合があります。2634 別のダイアログが画面に表示されている間に届いた権限リクエストや elicitation にも、同じ 6 秒間の条件が適用され、タイマーはリクエストが届いた時点から計測されます。そのため、リクエストが開いているダイアログの後ろで待機している間に、その通知が届くことがあります。

2609</Note>2635</Note>

2610 2636 

2611Claude Code が権限リクエストを Agent SDK の [`canUseTool` コールバック](/docs/ja/agent-sdk/user-input)に送信するセッション(Claude Desktop と VS Code 拡張機能が Claude Code をホストする方法)では、Claude Code は `permission_prompt` のタイミングを異なる方法で計測します。2637Claude Code が権限リクエストを Agent SDK の [`canUseTool` コールバック](/docs/ja/agent-sdk/user-input)に送信するセッションでは、`permission_prompt` のタイミングが異なります。これは、Claude Desktop と VS Code 拡張機能が Claude Code をホストする方法です。

2612 2638 

2613* `permission_prompt` は、Claude が権限を求めてから約 6 秒後に発火します。Claude Code は入力中でも延期しません。2639* `permission_prompt` は、Claude が権限を求めてから約 6 秒後に発火します。ユーザーが入力している間も延期されません。

2614* ユーザーまたは [PermissionRequest](#permissionrequest) フックがそれより早く応答した場合、Claude Code は `permission_prompt` を実行しません。2640* ユーザーまたは [PermissionRequest](#permissionrequest) フックがそれより早く応答した場合、Claude Code は `permission_prompt` を実行しません。

2615* これらのセッションで `permission_prompt` をオフにするには、[`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/ja/env-vars) を `1` に設定します。2641* これらのセッションで `permission_prompt` をオフにするには、[`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/ja/env-vars) を `1` に設定します。

2616 2642 

2617v2.1.233 より前は、これらのセッションで `permission_prompt` は発火しませんでした。2643v2.1.233 より前では、これらのセッションで `permission_prompt` は発火しませんでした。

2618 2644 

2619通知の種類に応じて異なるハンドラーを実行するには、個別の matcher を使用します。この設定では、Claude が権限の承認を必要とするときに権限専用のアラートスクリプトを起動し、Claude がアイドル状態になったときに別の通知を起動します。2645通知タイプに応じて異なるハンドラーを実行するには、別々の matcher を使用します。次の設定では、Claude が権限の承認を必要とするときは権限専用のアラートスクリプトを、Claude がアイドル状態のときは別の通知を起動します。

2620 2646 

2621```json theme={null}2647```json theme={null}

2622{2648{


2649 Notification の入力2675 Notification の入力

2650</h4>2676</h4>

2651 2677 

2652[共通入力フィールド](#common-input-fields)に加えて、Notification フックは、通知テキストを含む `message`、省略可能な `title`、どの種類が発火したかを示す `notification_type` を受け取ります。2678[共通入力フィールド](#common-input-fields)に加えて、Notification フックは通知テキストを含む `message`、オプションの `title`、どのタイプが発火したかを示す `notification_type` を受け取ります。

2653 2679 

2654```json theme={null}2680```json theme={null}

2655{2681{


2663}2689}

2664```2690```

2665 2691 

2666Notification フックは通知をブロックしたり変更したりすることはできません。Claude Code はそれらの `systemMessage` と `continue` フィールドを破棄しますが、[`terminalSequence`](#emit-terminal-notifications) は引き続き出力します。デスクトップ通知の例はこれに依存しています。Notification フックは、通知を外部サービスに転送するなどの副作用を目的としています。2692Notification フックは、通知をブロックしたり変更したりすることはできません。Claude Code はこれらのフックの `systemMessage` と `continue` フィールドを破棄しますが、[`terminalSequence`](#emit-terminal-notifications) は引き続き出力します。デスクトップ通知の例はこれを利用しています。Notification フックは、通知を外部サービスに転送するなどの副作用を目的としています。

2667 2693 

2668<h3 id="subagentstart">2694<h3 id="subagentstart">

2669 SubagentStart2695 SubagentStart

2670</h3>2696</h3>

2671 2697 

2672Claude が Agent ツールでサブエージェントを生成したとき、Claude が[サブエージェントを再開](/docs/ja/sub-agents#resume-subagents)したとき、およびインプロセスの[エージェントチーム](/docs/ja/agent-teams)のチームメイトが新しいメッセージを処理するたびに実行されます。エージェントの種類名でフィルタリングする matcher をサポートしています。組み込みエージェントの場合、これは `general-purpose`、`Explore`、`Plan` などのエージェント名です。[カスタムサブエージェント](/docs/ja/sub-agents)の場合、これはファイル名ではなく、エージェントのフロントマターの `name` フィールドです。2698Claude が Agent ツールでサブエージェントを生成したとき、Claude が[サブエージェントを再開](/docs/ja/sub-agents#resume-subagents)したとき、およびプロセス内の[エージェントチーム](/docs/ja/agent-teams)のチームメイトが新しいメッセージを処理するたびに実行されます。エージェントタイプ名でフィルタリングする matcher をサポートしています。組み込みエージェントの場合、これは `general-purpose`、`Explore`、`Plan` などのエージェント名です。[カスタムサブエージェント](/docs/ja/sub-agents)の場合は、ファイル名ではなく、エージェントのフロントマターの `name` フィールドです。

2673 2699 

2674[プラグイン](/docs/ja/plugins/overview)に同梱されたサブエージェントの場合、エージェントの種類は素のフロントマターの名前ではなく、`my-plugin:reviewer` のようなプラグインスコープの識別子になります。コロンが含まれるとプラグインスコープの名前は正規表現として扱われるため、完全一致させるには matcher を `^` と `$` で固定してください: `^my-plugin:reviewer$`。2700[プラグイン](/docs/ja/plugins/overview)に含まれるサブエージェントの場合、エージェントタイプは素のフロントマターの名前ではなく、`my-plugin:reviewer` のようなプラグインスコープの識別子になります。コロンが含まれるとプラグインスコープの名前は正規表現として扱われるため、完全一致させるには matcher を `^` と `$` で固定してください(`^my-plugin:reviewer$`)。

2675 2701 

2676<h4 id="subagentstart-input">2702<h4 id="subagentstart-input">

2677 SubagentStart の入力2703 SubagentStart の入力


2694 2720 

2695| フィールド | 説明 |2721| フィールド | 説明 |

2696| :- | :- |2722| :- | :- |

2697| `additionalContext` | サブエージェントの会話の開始時、最初のプロンプトの前に、サブエージェントのコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |2723| `additionalContext` | サブエージェントの会話の開始時、最初のプロンプトの前にサブエージェントのコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |

2698 2724 

2699```json theme={null}2725```json theme={null}

2700{2726{


2705}2731}

2706```2732```

2707 2733 

2708同じサブエージェントに対してフックが再度実行された場合、Claude Code は、サブエージェントのコンテキストに以前の実行で得たコピーがまだ含まれていない場合にのみ、返されたコンテキストを注入します。起動時に注入されたコピーはそのまま残るため、サブエージェントの[プロンプトキャッシュ](/docs/ja/prompt-caching#subagents-and-the-cache)は損なわれません。[自動圧縮](/docs/ja/sub-agents#auto-compaction)によってそのコピーが破棄された後は、Claude Code は次の実行のコンテキストを再び注入します。2734同じサブエージェントに対してフックが再度実行された場合、Claude Code は、サブエージェントのコンテキストに以前の実行時のコピーがまだ含まれていない場合にのみ、返されたコンテキストを注入します。起動時に注入されたコピーはそのまま残るため、サブエージェントの[プロンプトキャッシュ](/docs/ja/prompt-caching#subagents-and-the-cache)は維持されます。[自動圧縮](/docs/ja/sub-agents#auto-compaction)によってそのコピーが破棄された後は、Claude Code は次の実行時のコンテキストを再び注入します。

2709 2735 

2710<h3 id="subagentstop">2736<h3 id="subagentstop">

2711 SubagentStop2737 SubagentStop

2712</h3>2738</h3>

2713 2739 

2714Claude Code のサブエージェントが応答を終えたときに実行されます。エージェントの種類でマッチします。値は SubagentStart と同じです。2740Claude Code のサブエージェントが応答を完了したときに実行されます。エージェントタイプで照合します。値は SubagentStart と同じです。

2715 2741 

2716<h4 id="subagentstop-input">2742<h4 id="subagentstop-input">

2717 SubagentStop の入力2743 SubagentStop の入力

2718</h4>2744</h4>

2719 2745 

2720[共通入力フィールド](#common-input-fields)に加えて、SubagentStop フックは `stop_hook_active`、`agent_id`、`agent_type`、`agent_transcript_path`、`last_assistant_message` を受け取ります。`agent_type` フィールドは matcher のフィルタリングに使用される値です。`transcript_path` はメインセッションのトランスクリプトであり、`agent_transcript_path` はネストされた `subagents/` フォルダーに保存されたサブエージェント自身のトランスクリプトです。`last_assistant_message` フィールドにはサブエージェントの最終応答のテキスト内容が含まれるため、フックはトランスクリプトファイルを解析せずにそれにアクセスできます。2746[共通入力フィールド](#common-input-fields)に加えて、SubagentStop フックは `stop_hook_active`、`agent_id`、`agent_type`、`agent_transcript_path`、`last_assistant_message` を受け取ります。`agent_type` フィールドは、matcher のフィルタリングに使用される値です。`transcript_path` はメインセッションのトランスクリプトであり、`agent_transcript_path` はネストされた `subagents/` フォルダに保存されているサブエージェント自身のトランスクリプトです。`last_assistant_message` フィールドにはサブエージェントの最終応答のテキスト内容が含まれるため、フックはトランスクリプトファイルを解析せずにアクセスできます。

2721 2747 

2722すべての SubagentStop イベントが、Claude が生成したサブエージェントから来るわけではありません。Claude Code は、[プロンプトの提案](/docs/ja/interactive-mode#prompt-suggestions)や [`/btw` による脇道の質問](/docs/ja/interactive-mode#side-questions-with-%2Fbtw)など、一部の独自機能のために内部エージェントも実行しており、それらが終了したときにも SubagentStop が発火します。これらのイベントでは、`agent_type` はセッション自体が実行されているエージェント名([`--agent`](/docs/ja/cli-reference#cli-flags) や [`agent` 設定](/docs/ja/settings-reference#agent)で設定されたものなど)になり、セッションがエージェントなしで実行されている場合は空文字列になります。2748すべての SubagentStop イベントが、Claude が生成したサブエージェントに由来するわけではありません。Claude Code は、[プロンプトの提案](/docs/ja/interactive-mode#prompt-suggestions)や [`/btw` による横道の質問](/docs/ja/interactive-mode#side-questions-with-%2Fbtw)など、一部の独自機能のために内部エージェントも実行しており、それらが完了したときにも SubagentStop が発火します。これらのイベントでは、`agent_type` は [`--agent`](/docs/ja/cli-reference#cli-flags) や [`agent` 設定](/docs/ja/settings-reference#agent)で設定されたものなど、セッション自体が実行されているエージェント名になり、セッションがエージェントなしで実行されている場合は空文字列になります。

2723 2749 

2724エージェントの種類を指定する `matcher` は、空の `agent_type` にはマッチしません。matcher が省略されている、`""` または `"*"` である、あるいは空文字列にマッチする正規表現であるフックは、空の `agent_type` のイベントでも実行されます。2750エージェントタイプを指定する `matcher` は、空の `agent_type` には一致しません。matcher が省略されているフック、`""` または `"*"` のフック、あるいは空文字列に一致する正規表現のフックは、`agent_type` が空のイベントでも実行されます。

2725 2751 

2726Claude Code v2.1.271 以降では、[`SubagentHandback`](/docs/ja/tools-reference) ツールを使用して実行されるサブエージェントは、停止する前にそのツールを通じてレポートを配信します。その場合、`last_assistant_message` フィールドにはサブエージェントの締めくくりのテキスト(存在する場合)が含まれ、これは配信されたレポートではありません。レポートはその呼び出しの `message` 入力であり、`SubagentHandback` にマッチした `PreToolUse` または `PostToolUse` フックは、それを `tool_input.message` として受け取ります。2752Claude Code v2.1.271 以降では、[`SubagentHandback`](/docs/ja/tools-reference) ツールを使用して実行されるサブエージェントは、停止する前にそのツールを通じてレポートを配信します。その場合、`last_assistant_message` フィールドには、配信されたレポートではなく、サブエージェントの締めくくりのテキスト(存在する場合)が含まれます。レポートはその呼び出しの `message` 入力であり、`SubagentHandback` に一致する `PreToolUse` または `PostToolUse` フックは、これを `tool_input.message` として受け取ります。

2727 2753 

2728SubagentStop フックは、[Stop の入力](#stop-input)で説明されている `background_tasks` と `session_crons` の配列も受け取ります。どちらの配列も、サブエージェントではなく親セッションをスコープとしています。2754SubagentStop フックは、[Stop の入力](#stop-input)で説明している `background_tasks` と `session_crons` 配列も受け取ります。どちらの配列も、サブエージェントではなく親セッションのスコープです。

2729 2755 

2730```json theme={null}2756```json theme={null}

2731{2757{


2744}2770}

2745```2771```

2746 2772 

2747SubagentStop フックは、[Stop フック](#stop-decision-control)と同じ決定制御の形式を使用します。これには、サブエージェントの実行を継続させるエラー以外のフィードバック用の、`hookEventName` を `"SubagentStop"` に設定した `hookSpecificOutput.additionalContext` も含まれます。`reason` とともに `decision: "block"` を返すと、サブエージェントの実行が継続され、`reason` が次の指示としてサブエージェントに配信されます。終了コード 2 でブロックするフックも、同じ方法で stderr メッセージを配信します。サブエージェントが戻った後に親セッションにコンテキストを注入するには、代わりに `Agent` ツールに対する [`PostToolUse`](#posttooluse) フックを使用してください。2773SubagentStop フックは、[Stop フック](#stop-decision-control)と同じ決定制御の形式を使用します。これには、サブエージェントの実行を継続させるエラー以外のフィードバックとして、`hookEventName` を `"SubagentStop"` に設定した `hookSpecificOutput.additionalContext` も含まれます。`reason` とともに `decision: "block"` を返すと、サブエージェントの実行が継続され、`reason` が次の指示としてサブエージェントに配信されます。終了コード 2 で終了してブロックするフックも、同じ方法で stderr メッセージを配信します。サブエージェントが戻った後に親セッションにコンテキストを注入するには、代わりに `Agent` ツールに対する [`PostToolUse`](#posttooluse) フックを使用してください。

2748 2774 

2749<h3 id="taskcreated">2775<h3 id="taskcreated">

2750 TaskCreated2776 TaskCreated

2751</h3>2777</h3>

2752 2778 

2753`TaskCreate` ツールを介してタスクが作成されるときに実行されます。命名規則の強制、タスクの説明の必須化、特定のタスクの作成の防止に使用します。[Task ツールのないセッション](/docs/ja/tools-reference#task-tool-availability)では、このイベントは発火しません。2779`TaskCreate` ツールでタスクが作成されるときに実行されます。命名規則の適用、タスクの説明の必須化、特定のタスクの作成防止に使用します。[Task ツールがないセッション](/docs/ja/tools-reference#task-tool-availability)では、このイベントは発火しません。

2754 2780 

2755TaskCreated フックは matcher をサポートしておらず、発生するたびに発火します。2781TaskCreated フックは matcher をサポートせず、すべての発生時に発火します。

2756 2782 

2757<h4 id="taskcreated-input">2783<h4 id="taskcreated-input">

2758 TaskCreated の入力2784 TaskCreated の入力

2759</h4>2785</h4>

2760 2786 

2761[共通入力フィールド](#common-input-fields)に加えて、TaskCreated フックは `task_id`、`task_subject`、および省略可能な `task_description`、`teammate_name`、`team_name` を受け取ります。2787[共通入力フィールド](#common-input-fields)に加えて、TaskCreated フックは `task_id`、`task_subject`、およびオプションで `task_description`、`teammate_name`、`team_name` を受け取ります。

2762 2788 

2763```json theme={null}2789```json theme={null}

2764{2790{


2780| `task_subject` | タスクのタイトル |2806| `task_subject` | タスクのタイトル |

2781| `task_description` | タスクの詳細な説明。存在しない場合があります |2807| `task_description` | タスクの詳細な説明。存在しない場合があります |

2782| `teammate_name` | タスクを作成するチームメイトの名前。存在しない場合があります |2808| `teammate_name` | タスクを作成するチームメイトの名前。存在しない場合があります |

2783| `team_name` | 非推奨。セッションから派生したチーム名。将来のリリースで削除されます |2809| `team_name` | 非推奨。セッションから派生したチーム名です。将来のリリースで削除される予定です |

2784| `agent_id` | このイベントでは、この[共通入力フィールド](#common-input-fields)はタスクを作成するサブエージェントまたは[インプロセスのチームメイト](/docs/ja/agent-teams#choose-a-display-mode)を識別します。存在しない場合があります。Claude Code v2.1.290 以降が必要です |2810| `agent_id` | このイベントでは、この[共通入力フィールド](#common-input-fields)は、タスクを作成するサブエージェントまたは[プロセス内のチームメイト](/docs/ja/agent-teams#choose-a-display-mode)を識別します。存在しない場合があります。Claude Code v2.1.290 以降が必要です |

2785 2811 

2786<h4 id="taskcreated-decision-control">2812<h4 id="taskcreated-decision-control">

2787 TaskCreated の決定制御2813 TaskCreated の決定制御

2788</h4>2814</h4>

2789 2815 

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

2791 2817 

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

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

2794 2820 

2795この例では、件名が必須の形式に従っていないタスクをブロックします。2821次の例は、件名が必須の形式に従っていないタスクをブロックします。

2796 2822 

2797```bash theme={null}2823```bash theme={null}

2798#!/bin/bash2824#!/bin/bash


2811 TaskCompleted2837 TaskCompleted

2812</h3>2838</h3>

2813 2839 

2814タスクが完了としてマークされるときに実行されます。これは 2 つの状況で発火します。いずれかのエージェントが TaskUpdate ツールを通じて明示的にタスクを完了としてマークしたとき、または[エージェントチーム](/docs/ja/agent-teams)のチームメイトが進行中のタスクを抱えたままターンを終えたときです。タスクを閉じる前に、テストや lint チェックの合格などの完了基準を強制するために使用します。2840タスクが完了としてマークされるときに実行されます。これは 2 つの状況で発火します。いずれかのエージェントが TaskUpdate ツールを通じてタスクを明示的に完了としてマークしたとき、または[エージェントチーム](/docs/ja/agent-teams)のチームメイトが進行中のタスクを抱えたままターンを終了したときです。タスクを閉じる前に、テストや lint チェックの合格といった完了基準を適用するために使用します。

2815 2841 

2816TaskCompleted フックは matcher をサポートしておらず、発生するたびに発火します。2842TaskCompleted フックは matcher をサポートせず、すべての発生時に発火します。

2817 2843 

2818<h4 id="taskcompleted-input">2844<h4 id="taskcompleted-input">

2819 TaskCompleted の入力2845 TaskCompleted の入力

2820</h4>2846</h4>

2821 2847 

2822[共通入力フィールド](#common-input-fields)に加えて、TaskCompleted フックは `task_id`、`task_subject`、および省略可能な `task_description`、`teammate_name`、`team_name` を受け取ります。2848[共通入力フィールド](#common-input-fields)に加えて、TaskCompleted フックは `task_id`、`task_subject`、およびオプションで `task_description`、`teammate_name`、`team_name` を受け取ります。

2823 2849 

2824```json theme={null}2850```json theme={null}

2825{2851{


2842| `task_subject` | タスクのタイトル |2868| `task_subject` | タスクのタイトル |

2843| `task_description` | タスクの詳細な説明。存在しない場合があります |2869| `task_description` | タスクの詳細な説明。存在しない場合があります |

2844| `teammate_name` | タスクを完了するチームメイトの名前。存在しない場合があります |2870| `teammate_name` | タスクを完了するチームメイトの名前。存在しない場合があります |

2845| `team_name` | 非推奨。セッションから派生したチーム名。将来のリリースで削除されます |2871| `team_name` | 非推奨。セッションから派生したチーム名です。将来のリリースで削除される予定です |

2846| `agent_id` | このイベントでは、この[共通入力フィールド](#common-input-fields)はタスクを完了するサブエージェントまたは[インプロセスのチームメイト](/docs/ja/agent-teams#choose-a-display-mode)を識別します。存在しない場合があります。Claude Code v2.1.290 以降が必要です |2872| `agent_id` | このイベントでは、この[共通入力フィールド](#common-input-fields)は、タスクを完了するサブエージェントまたは[プロセス内のチームメイト](/docs/ja/agent-teams#choose-a-display-mode)を識別します。存在しない場合があります。Claude Code v2.1.290 以降が必要です |

2847 2873 

2848<h4 id="taskcompleted-decision-control">2874<h4 id="taskcompleted-decision-control">

2849 TaskCompleted の決定制御2875 TaskCompleted の決定制御


2851 2877 

2852TaskCompleted フックは、タスクの完了を制御する 2 つの方法をサポートしています。2878TaskCompleted フックは、タスクの完了を制御する 2 つの方法をサポートしています。

2853 2879 

2854* **終了コード 2**: タスクは完了としてマークされず、stderr メッセージがフィードバックとしてモデルに返されます。2880* **終了コード 2**:タスクは完了としてマークされず、stderr メッセージがフィードバックとしてモデルに返されます。

2855* **JSON `{"continue": false, "stopReason": "..."}`**: チームメイトがターンを終えたことでイベントがトリガーされた場合、`Stop` フックの動作と同様に、チームメイトを完全に停止します。`stopReason` はユーザーに表示されます。`TaskUpdate` ツールがイベントをトリガーした場合、Claude Code は `continue: false` を無視します。終了コード 2 では引き続き完了がブロックされます。2881* **JSON `{"continue": false, "stopReason": "..."}`**:チームメイトがターンを終了したことでイベントが発生した場合、`Stop` フックの動作と同様に、チームメイトを完全に停止します。`stopReason` はユーザーに表示されます。`TaskUpdate` ツールによってイベントが発生した場合、Claude Code は `continue: false` を無視しますが、終了コード 2 では引き続き完了をブロックできます。

2856 2882 

2857この例では、テストを実行し、失敗した場合にタスクの完了をブロックします。2883次の例はテストを実行し、失敗した場合はタスクの完了をブロックします。

2858 2884 

2859```bash theme={null}2885```bash theme={null}

2860#!/bin/bash2886#!/bin/bash


2874 Stop2900 Stop

2875</h3>2901</h3>

2876 2902 

2877メインの Claude Code エージェントが応答を終えたときに実行されます。2903メインの Claude Code エージェントが応答を完了したときに実行されます。

2878停止がユーザーによる中断によって発生した場合は実行されません。API エラーの場合は、2904ユーザーの中断によって停止した場合は実行されません。API エラーの場合は、

2879代わりに [StopFailure](#stopfailure) が発火します。2905代わりに [StopFailure](#stopfailure) が発火します。

2880 2906 

2881<Tip>2907<Tip>

2882 [`/goal`](/docs/ja/goal) コマンドは、セッションスコープのプロンプトベースの Stop フックの組み込みショートカットです。フックの設定を書かずに、ある条件に向けて Claude に作業を続けさせたい場合に使用します。2908 [`/goal`](/docs/ja/goal) コマンドは、セッションスコープのプロンプトベースの Stop フックの組み込みショートカットです。フックの設定を書かずに、ある条件に向けて Claude に作業を続けさせたい場合に使用してください。

2883</Tip>2909</Tip>

2884 2910 

2885<h4 id="stop-input">2911<h4 id="stop-input">

2886 Stop の入力2912 Stop の入力

2887</h4>2913</h4>

2888 2914 

2889[共通入力フィールド](#common-input-fields)に加えて、Stop フックは `stop_hook_active`、`last_assistant_message`、`background_tasks`、`session_crons` を受け取ります。`stop_hook_active` フィールドは、Claude Code がすでに stop フックの結果として続行している場合に `true` になります。決して解決しない条件でブロックし続けることを避けるため、この値を確認するか、トランスクリプトを処理してください。2915[共通入力フィールド](#common-input-fields)に加えて、Stop フックは `stop_hook_active`、`last_assistant_message`、`background_tasks`、`session_crons` を受け取ります。`stop_hook_active` フィールドは、Claude Code が Stop フックの結果としてすでに続行している場合に `true` になります。決して解決しない条件でブロックし続けることを避けるため、この値を確認するか、トランスクリプトを処理してください。

2890 2916 

2891Claude Code は 8 回連続の続行上限を適用します。stop フックがターンを 8 回連続で続行させた後、Claude Code は次のブロックを上書きしてターンを終了します。連続続行の回数は、Claude がツールを呼び出すたびにリセットされます。上限を引き上げるには、[`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/ja/env-vars) を設定します。2917Claude Code は連続 8 回の継続上限を適用します。Stop フックが 8 回連続でターンを継続させた後、Claude Code は次のブロックを上書きしてターンを終了します。連続継続の回数は、Claude がツールを呼び出すたびにリセットされます。上限を引き上げるには、[`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/ja/env-vars) を設定してください。

2892 2918 

2893`last_assistant_message` フィールドには Claude の最終応答のテキスト内容が含まれるため、フックはトランスクリプトファイルを解析せずにそれにアクセスできます。読み上げフックや通知フックなど、完了したばかりのターンに対して動作するフックでは、`transcript_path` を読み取るのではなく、このフィールドを使用してください。すべてのバージョンで、Stop の時点でトランスクリプトファイルに最終メッセージが含まれていることは保証されていません。2919`last_assistant_message` フィールドには Claude の最終応答のテキスト内容が含まれるため、フックはトランスクリプトファイルを解析せずにアクセスできます。読み上げフックや通知フックなど、完了したばかりのターンに対して動作するフックでは、`transcript_path` を読み取るのではなく、このフィールドを使用してください。すべてのバージョンで、Stop の時点でトランスクリプトファイルに最終メッセージが含まれているとは限らないためです。

2894 2920 

2895`background_tasks` と `session_crons` の配列により、フックは「セッションが完了した」状態と「セッションがバックグラウンドの作業によって再開されるのを待って一時停止している」状態を区別できます。どちらの配列も、タスクレジストリにアクセスできる場合に存在し、実行中またはスケジュール済みのものがない場合は空になります。2921`background_tasks` と `session_crons` 配列を使うと、フックは「セッションが完了した」状態と「バックグラウンドの作業によって再開されるのを待って一時停止している」状態を区別できます。どちらの配列も、タスクレジストリにアクセスできる場合に存在し、実行中またはスケジュール済みのものがない場合は空になります。

2896 2922 

2897`background_tasks` の各エントリは実行中の 1 つのタスクを記述し、次のフィールドを使用します。2923`background_tasks` の各エントリは 1 つの実行中のタスクを表し、次のフィールドを使用します。

2898 2924 

2899| フィールド | 説明 |2925| フィールド | 説明 |

2900| :- | :- |2926| :- | :- |

2901| `id` | タスクの識別子 |2927| `id` | タスクの識別子 |

2902| `type` | `shell`、`subagent`、`monitor`、`workflow`、`teammate`、`cloud session`、`MCP task` などの、わかりやすいタスクの種類のラベル。各ラベルは、どの Claude Code 機能がタスクを作成したかを示します。認識されない種類の場合は、生の判別値にフォールバックします |2928| `type` | `shell`、`subagent`、`monitor`、`workflow`、`teammate`、`cloud session`、`MCP task` などの、わかりやすいタスクタイプのラベル。各ラベルは、どの Claude Code 機能がタスクを作成したかを示します。認識されないタイプの場合は、生の識別値にフォールバックします |

2903| `status` | 現在のタスクのステータス |2929| `status` | 現在のタスクのステータス |

2904| `description` | 自由記述の説明。1000 文字が上限で、切り詰められた場合は文字列内に `… [+N chars]` マーカーが付きます |2930| `description` | 自由形式の説明。1000 文字に制限され、切り詰められた場合は文字列内に `… [+N chars]` マーカーが付きます |

2905| `command` | シェルのコマンドライン。1000 文字が上限です。`shell` タスクの場合のみ存在します |2931| `command` | シェルのコマンドライン。1000 文字に制限されます。`shell` タスクにのみ存在します |

2906| `agent_type` | サブエージェントの種類名。`subagent` タスクの場合のみ存在します |2932| `agent_type` | サブエージェントのタイプ名。`subagent` タスクにのみ存在します |

2907| `server` | MCP サーバー名。`monitor` および `MCP task` タスクの場合のみ存在します |2933| `server` | MCP サーバー名。`monitor` および `MCP task` タスクにのみ存在します |

2908| `tool` | MCP ツール名。`monitor` および `MCP task` タスクの場合のみ存在します |2934| `tool` | MCP ツール名。`monitor` および `MCP task` タスクにのみ存在します |

2909| `name` | ワークフロー名。`workflow` タスクの場合のみ存在します |2935| `name` | ワークフロー名。`workflow` タスクにのみ存在します |

2910 2936 

2911`session_crons` の各エントリは、`CronCreate`、`ScheduleWakeup`、`/loop` から取得された、セッションスコープのスケジュール済みウェイクアップを 1 つ記述します。2937`session_crons` の各エントリは、`CronCreate`、`ScheduleWakeup`、`/loop` に由来する、セッションスコープのスケジュール済みの再開を 1 つ表します。

2912 2938 

2913| フィールド | 説明 |2939| フィールド | 説明 |

2914| :- | :- |2940| :- | :- |

2915| `id` | cron タスクの識別子 |2941| `id` | cron タスクの識別子 |

2916| `schedule` | cron 式。例: `0 9 * * 1-5` |2942| `schedule` | cron 式。例:`0 9 * * 1-5` |

2917| `recurring` | スケジュールが単一の発火時刻を表す 1 回限りのウェイクアップの場合は `false`、マッチするたびに再発火するタスクの場合は `true` |2943| `recurring` | スケジュールが 1 回の発火時刻を表す単発の再開の場合は `false`、一致するたびに再発火するタスクの場合は `true` |

2918| `prompt` | cron の発火時に送信されるプロンプト。1000 文字が上限で、同じ `… [+N chars]` マーカーが付きます |2944| `prompt` | cron の発火時に送信されるプロンプト。1000 文字に制限され、同じ `… [+N chars]` マーカーが付きます |

2919 2945 

2920この例は、実行中のシェルタスクが 1 つと、繰り返しの cron が 1 つある Stop の入力を示しています。2946次の例は、実行中のシェルタスク 1 つと繰り返しの cron 1 つを含む Stop の入力を示しています。

2921 2947 

2922```json theme={null}2948```json theme={null}

2923{2949{


2952 Stop の決定制御2978 Stop の決定制御

2953</h4>2979</h4>

2954 2980 

2955`Stop` および `SubagentStop` フックは、Claude が続行するかどうかを制御できます。すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、フックスクリプトは次のイベント固有のフィールドを返すことができます。2981`Stop` と `SubagentStop` フックは、Claude が続行するかどうかを制御できます。すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、フックスクリプトは次のイベント固有のフィールドを返すことができます。

2956 2982 

2957| フィールド | 説明 |2983| フィールド | 説明 |

2958| :- | :- |2984| :- | :- |

2959| `decision` | `"block"` は Claude の停止を防ぎます。Claude の停止を許可するには省略します |2985| `decision` | `"block"` は Claude の停止を阻止します。Claude の停止を許可するには省略します |

2960| `reason` | `decision` が `"block"` の場合は必須です。Claude に続行すべき理由を伝えます |2986| `reason` | `decision` が `"block"` の場合は必須です。Claude が続行すべき理由を伝えます |

2961| `hookSpecificOutput.additionalContext` | Claude へのエラー以外のフィードバック。Claude がそれに対応できるよう会話は続行されますが、`decision: "block"` とは異なり、トランスクリプトにはフックエラーではなくフックのフィードバックとして表示されます |2987| `hookSpecificOutput.additionalContext` | Claude へのエラー以外のフィードバック。Claude がこれに基づいて行動できるよう会話は続行されますが、`decision: "block"` とは異なり、トランスクリプトにはフックエラーではなくフックのフィードバックとして表示されます |

2962 2988 

2963終了コード 2 でブロックするフックは、`reason` と同じ方法で処理されます。Claude は、続行すべき理由の説明として stderr メッセージを受け取ります。2989終了コード 2 で終了してブロックするフックは、`reason` と同じ方法で処理されます。Claude は stderr メッセージを、続行すべき理由の説明として受け取ります。

2964 2990 

2965```json theme={null}2991```json theme={null}

2966{2992{


2969}2995}

2970```2996```

2971 2997 

2972フックが設計どおりに動作し、「終了する前にテストスイートを実行する」などのガイダンスを Claude に与えている場合は、`additionalContext` を使用します。これは `decision: "block"` と同じループ保護(`stop_hook_active` 入力と 8 回連続の続行上限)を通じて会話を継続させますが、トランスクリプトでは `Stop hook feedback` とラベル付けされ、フックエラーの通知は表示されません。2998フックが設計どおりに動作していて、「終了前にテストスイートを実行する」などのガイダンスを Claude に与える場合は、`additionalContext` を使用します。これは、`decision: "block"` と同じループ保護(`stop_hook_active` 入力と連続 8 回の継続上限)を通じて会話を継続させますが、トランスクリプトでは `Stop hook feedback` とラベル付けされ、フックエラーの通知は表示されません。

2973 2999 

2974```json theme={null}3000```json theme={null}

2975{3001{


2984 StopFailure3010 StopFailure

2985</h3>3011</h3>

2986 3012 

2987API エラーによってターンが終了したときに、[Stop](#stop) の代わりに実行されます。Claude Code は、[`terminalSequence`](#emit-terminal-notifications) を除き、フックの出力と終了コードを無視します。レート制限、認証の問題、その他の API エラーによって Claude が応答を完了できない場合に、失敗のログ記録、アラートの送信、または復旧アクションの実行に使用します。3013API エラーによってターンが終了したときに、[Stop](#stop) の代わりに実行されます。Claude Code は、[`terminalSequence`](#emit-terminal-notifications) を除き、フックの出力と終了コードを無視します。レート制限、認証の問題、その他の API エラーによって Claude が応答を完了できない場合に、失敗のログ記録、アラートの送信、復旧アクションの実行に使用します。

2988 3014 

2989<h4 id="stopfailure-input">3015<h4 id="stopfailure-input">

2990 StopFailure の入力3016 StopFailure の入力

2991</h4>3017</h4>

2992 3018 

2993[共通入力フィールド](#common-input-fields)に加えて、StopFailure フックは `error`、省略可能な `error_details`、省略可能な `last_assistant_message` を受け取ります。`error` フィールドはエラーの種類を示し、matcher のフィルタリングに使用されます。3019[共通入力フィールド](#common-input-fields)に加えて、StopFailure フックは `error`、オプションの `error_details`、オプションの `last_assistant_message` を受け取ります。`error` フィールドはエラーの種類を示し、matcher のフィルタリングに使用されます。

2994 3020 

2995| フィールド | 説明 |3021| フィールド | 説明 |

2996| :- | :- |3022| :- | :- |

2997| `error` | エラーの種類: `rate_limit`、`overloaded`、`authentication_failed`、`oauth_org_not_allowed`、`account_on_hold`、`billing_error`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`cloud_credential_error`、または `unknown` |3023| `error` | エラーの種類:`rate_limit`、`overloaded`、`authentication_failed`、`oauth_org_not_allowed`、`account_on_hold`、`billing_error`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`cloud_credential_error`、`unknown` のいずれか |

2998| `error_details` | エラーに関する追加の詳細(利用可能な場合) |3024| `error_details` | エラーに関する追加の詳細(利用可能な場合) |

2999| `last_assistant_message` | 会話に表示されるレンダリングされたエラーテキスト。このフィールドに Claude の会話出力が含まれる `Stop` や `SubagentStop` とは異なり、`StopFailure` では `"API Error: Rate limit reached"` のような API エラー文字列そのものが含まれます |3025| `last_assistant_message` | 会話に表示されるレンダリング済みのエラーテキスト。このフィールドに Claude の会話の出力が含まれる `Stop` や `SubagentStop` とは異なり、`StopFailure` では `"API Error: Rate limit reached"` のような API エラー文字列そのものが含まれます |

3000 3026 

3001```json theme={null}3027```json theme={null}

3002{3028{


3016 TeammateIdle3042 TeammateIdle

3017</h3>3043</h3>

3018 3044 

3019[エージェントチーム](/docs/ja/agent-teams)のチームメイトがターンを終えてアイドル状態になろうとしているときに実行されます。lint チェックの合格を必須にしたり、出力ファイルの存在を確認したりするなど、チームメイトが作業を停止する前に品質ゲートを強制するために使用します。3045[エージェントチーム](/docs/ja/agent-teams)のチームメイトがターンを終了した後、アイドル状態になろうとしているときに実行されます。lint チェックの合格を必須にしたり、出力ファイルが存在することを確認したりするなど、チームメイトが作業を停止する前に品質ゲートを適用するために使用します。

3020 3046 

3021TeammateIdle フックは matcher をサポートしておらず、発生するたびに発火します。3047TeammateIdle フックは matcher をサポートせず、すべての発生時に発火します。

3022 3048 

3023<h4 id="teammateidle-input">3049<h4 id="teammateidle-input">

3024 TeammateIdle の入力3050 TeammateIdle の入力


3041| フィールド | 説明 |3067| フィールド | 説明 |

3042| :- | :- |3068| :- | :- |

3043| `teammate_name` | アイドル状態になろうとしているチームメイトの名前 |3069| `teammate_name` | アイドル状態になろうとしているチームメイトの名前 |

3044| `team_name` | 非推奨。セッションから派生したチーム名。将来のリリースで削除されます |3070| `team_name` | 非推奨。セッションから派生したチーム名です。将来のリリースで削除される予定です |

3045| `agent_id` | このイベントでは、この[共通入力フィールド](#common-input-fields)はアイドル状態になろうとしている[インプロセスのチームメイト](/docs/ja/agent-teams#choose-a-display-mode)を識別します。存在しない場合があります。Claude Code v2.1.290 以降が必要です |3071| `agent_id` | このイベントでは、この[共通入力フィールド](#common-input-fields)は、アイドル状態になろうとしている[プロセス内のチームメイト](/docs/ja/agent-teams#choose-a-display-mode)を識別します。存在しない場合があります。Claude Code v2.1.290 以降が必要です |

3046 3072 

3047<h4 id="teammateidle-decision-control">3073<h4 id="teammateidle-decision-control">

3048 TeammateIdle の決定制御3074 TeammateIdle の決定制御


3050 3076 

3051TeammateIdle フックは、チームメイトの動作を制御する 2 つの方法をサポートしています。3077TeammateIdle フックは、チームメイトの動作を制御する 2 つの方法をサポートしています。

3052 3078 

3053* **終了コード 2**: チームメイトは stderr メッセージをフィードバックとして受け取り、アイドル状態にならずに作業を続けます。3079* **終了コード 2**:チームメイトは stderr メッセージをフィードバックとして受け取り、アイドル状態にならずに作業を続けます。

3054* **JSON `{"continue": false, "stopReason": "..."}`**: `Stop` フックの動作と同様に、チームメイトを完全に停止します。`stopReason` はユーザーに表示されます。3080* **JSON `{"continue": false, "stopReason": "..."}`**:`Stop` フックの動作と同様に、チームメイトを完全に停止します。`stopReason` はユーザーに表示されます。

3055 3081 

3056この例では、チームメイトがアイドル状態になるのを許可する前に、ビルドアーティファクトが存在することを確認します。3082次の例は、チームメイトがアイドル状態になるのを許可する前に、ビルドアーティファクトが存在することを確認します。

3057 3083 

3058```bash theme={null}3084```bash theme={null}

3059#!/bin/bash3085#!/bin/bash


3070 ConfigChange3096 ConfigChange

3071</h3>3097</h3>

3072 3098 

3073セッション中に設定ファイルが変更されたときに実行されます。設定変更の監査、セキュリティポリシーの強制、設定ファイルへの不正な変更のブロックに使用します。3099セッション中に設定ファイルが変更されたときに実行されます。設定変更の監査、セキュリティポリシーの適用、設定ファイルへの不正な変更のブロックに使用します。

3074 3100 

3075Claude Code は、設定ファイル、管理ポリシーファイル、またはスキルファイルが変更されたときに ConfigChange フックを実行します。管理ポリシーについては、`managed-settings.json` または `managed-settings.d/` 内のファイルが変更された場合にのみ実行します。[サーバー管理設定](/docs/ja/server-managed-settings)や、macOS の管理された環境設定または Windows レジストリポリシーへの変更は、フックを実行せずに適用します。[`wslInheritsWindowsSettings`](/docs/ja/settings-reference#wslinheritswindowssettings) を使用した WSL では、変更された Windows 側の管理設定ファイルも、ポリシーのポーリング時にフックを実行せずに適用します。3101Claude Code は、設定ファイル、管理ポリシーファイル、またはスキルファイルが変更されたときに ConfigChange フックを実行します。管理ポリシーについては、`managed-settings.json` または `managed-settings.d/` 内のファイルが変更された場合にのみ実行します。[サーバー管理設定](/docs/ja/server-managed-settings)や、macOS の管理された環境設定、Windows レジストリのポリシーへの変更は、フックを実行せずに適用されます。[`wslInheritsWindowsSettings`](/docs/ja/settings-reference#wslinheritswindowssettings) を使用した WSL では、変更された Windows 側の管理設定ファイルも、ポリシーのポーリング時にフックを実行せずに適用されます。

3076 3102 

3077matcher は設定のソースでフィルタリングします。3103matcher は設定のソースでフィルタリングします。

3078 3104 

3079| Matcher | 発火するタイミング |3105| Matcher | 発火するタイミング |

3080| :- | :- |3106| :- | :- |

3081| `user_settings` | `~/.claude/settings.json` が変更された場合 |3107| `user_settings` | `~/.claude/settings.json` が変更されたとき |

3082| `project_settings` | `.claude/settings.json` が変更された場合 |3108| `project_settings` | `.claude/settings.json` が変更されたとき |

3083| `local_settings` | `.claude/settings.local.json` が変更された場合 |3109| `local_settings` | `.claude/settings.local.json` が変更されたとき |

3084| `policy_settings` | `managed-settings.json` または `managed-settings.d/` 内のファイルが変更された場合 |3110| `policy_settings` | `managed-settings.json` または `managed-settings.d/` 内のファイルが変更されたとき |

3085| `skills` | `.claude/skills/` 内のスキルファイルが変更された場合 |3111| `skills` | `.claude/skills/` 内のスキルファイルが変更されたとき |

3086 3112 

3087この例では、セキュリティ監査のためにすべての設定変更をログに記録します。3113次の例は、セキュリティ監査のためにすべての設定変更をログに記録します。

3088 3114 

3089```json theme={null}3115```json theme={null}

3090{3116{


3108 ConfigChange の入力3134 ConfigChange の入力

3109</h4>3135</h4>

3110 3136 

3111[共通入力フィールド](#common-input-fields)に加えて、ConfigChange フックは `source` と、省略可能な `file_path` を受け取ります。`source` フィールドはどの種類の設定が変更されたかを示し、`file_path` は変更された特定のファイルへのパスを提供します。3137[共通入力フィールド](#common-input-fields)に加えて、ConfigChange フックは `source` と、オプションで `file_path` を受け取ります。`source` フィールドはどの種類の設定が変更されたかを示し、`file_path` は変更された特定のファイルへのパスを提供します。

3112 3138 

3113```json theme={null}3139```json theme={null}

3114{3140{


3125 ConfigChange の決定制御3151 ConfigChange の決定制御

3126</h4>3152</h4>

3127 3153 

3128ConfigChange フックは、設定変更が有効になるのをブロックできます。変更を防ぐには、終了コード 2 または JSON の `decision` を使用します。ブロックされた場合、新しい設定は実行中のセッションに適用されません。3154ConfigChange フックは、設定変更が反映されるのをブロックできます。変更を阻止するには、終了コード 2 または JSON の `decision` を使用します。ブロックされた場合、新しい設定は実行中のセッションに適用されません。

3129 3155 

3130| フィールド | 説明 |3156| フィールド | 説明 |

3131| :- | :- |3157| :- | :- |

3132| `decision` | `"block"` は設定変更が適用されるのを防ぎます。変更を許可するには省略します |3158| `decision` | `"block"` は設定変更の適用を阻止します。変更を許可するには省略します |

3133| `reason` | 受け付けられますが、表示されることはありません |3159| `reason` | 受け付けられますが、表示されることはありません |

3134 3160 

3135```json theme={null}3161```json theme={null}


3139}3165}

3140```3166```

3141 3167 

3142`policy_settings` の変更はブロックできません。マシン上の管理設定ファイルが変更されたとき、`policy_settings` ソースに対してもフックは発火するため、それらの編集をログに記録するために使用できますが、ブロックの決定は無視されます。これにより、エンタープライズで管理された設定が常に有効になることが保証されます。[サーバー管理設定](/docs/ja/server-managed-settings)が届いたり更新されたりしたときには、Claude Code は `ConfigChange` フックを実行しません。3168`policy_settings` の変更はブロックできません。マシン上の管理設定ファイルが変更されたときには `policy_settings` ソースに対してもフックが発火するため、それらの編集をログに記録するために使用できますが、ブロックの決定は無視されます。これにより、エンタープライズで管理された設定が常に反映されることが保証されます。[サーバー管理設定](/docs/ja/server-managed-settings)が届いたときや更新されたときには、Claude Code は `ConfigChange` フックを実行しません。

3143 3169 

3144Claude Code は ConfigChange フックの JSON 出力からブロックの決定に従って動作し、`systemMessage` と `continue` を破棄します。`reason` でブロックした場合も、終了コード 2 の stderr でブロックした場合も、ブロックされた変更についてユーザーにも Claude にもメッセージは表示されません。Claude Code はデバッグログに 1 行書き込むだけです。3170Claude Code は ConfigChange フックの JSON 出力のうちブロックの決定に基づいて動作し、`systemMessage` と `continue` は破棄します。`reason` でブロックした場合も、終了コード 2 の stderr でブロックした場合も、ブロックされた変更についてユーザーや Claude にメッセージが表示されることはありません。Claude Code はデバッグログに 1 行を書き込むだけです。

3145 3171 

3146<h3 id="cwdchanged">3172<h3 id="cwdchanged">

3147 CwdChanged3173 CwdChanged

3148</h3>3174</h3>

3149 3175 

3150メインの会話内のシェルコマンドが作業ディレクトリを変更したとき、たとえば Claude が `cd` コマンドを実行したときに実行されます。ディレクトリの変更に反応するために使用します。環境変数の再読み込み、プロジェクト固有のツールチェーンの有効化、セットアップスクリプトの自動実行などが可能です。ディレクトリごとの環境を管理する [direnv](https://direnv.net/) などのツールには、[FileChanged](#filechanged) と組み合わせて使用します。3176メインの会話内のシェルコマンドが作業ディレクトリを変更したとき、たとえば Claude が `cd` コマンドを実行したときに実行されます。環境変数の再読み込み、プロジェクト固有のツールチェーンの有効化、セットアップスクリプトの自動実行など、ディレクトリの変更に反応するために使用します。ディレクトリごとの環境を管理する [direnv](https://direnv.net/) のようなツールでは、[FileChanged](#filechanged) と組み合わせて使用します。

3151 3177 

3152CwdChanged フックは [`CLAUDE_ENV_FILE`](#persist-environment-variables) にアクセスできます。そのファイルに書き込まれた変数は、次の CwdChanged イベントで Claude Code がクリアするまで、後続の Bash コマンドに引き継がれます。3178CwdChanged フックは [`CLAUDE_ENV_FILE`](#persist-environment-variables) にアクセスできます。そのファイルに書き込まれた変数は、次の CwdChanged イベントで Claude Code によってクリアされるまで、後続の Bash コマンドに引き継がれます。

3153 3179 

3154CwdChanged は matcher をサポートしておらず、発生するたびに発火します。3180CwdChanged は matcher をサポートせず、すべての発生時に発火します。

3155 3181 

3156<h4 id="cwdchanged-input">3182<h4 id="cwdchanged-input">

3157 CwdChanged の入力3183 CwdChanged の入力


3178 3204 

3179| フィールド | 説明 |3205| フィールド | 説明 |

3180| :- | :- |3206| :- | :- |

3181| `watchPaths` | 絶対パスの配列。現在の動的な監視リストを置き換えます。`matcher` の設定に含まれるパスは常に監視されます。空の配列を返すと動的なリストがクリアされます。これは新しいディレクトリに入るときの典型的な使い方です |3207| `watchPaths` | 絶対パスの配列。現在の動的監視リストを置き換えます。`matcher` 設定のパスは常に監視されます。空の配列を返すと動的リストがクリアされます。これは新しいディレクトリに移動したときの典型的な使い方です |

3182 3208 

3183CwdChanged フックには決定制御がありません。ディレクトリの変更をブロックすることはできません。3209CwdChanged フックには決定制御がありません。ディレクトリの変更をブロックすることはできません。

3184 3210 

3185Claude Code は JSON 出力から `watchPaths` と `systemMessage` を読み取り、`continue` を破棄します。対話型セッションでは、`systemMessage` を短いターミナル通知として表示します。このメッセージは SDK のメッセージストリームには届きません。3211Claude Code は、これらのフックの JSON 出力から `watchPaths` と `systemMessage` を読み取り、`continue` は破棄します。対話型セッションでは、`systemMessage` を短いターミナル通知として表示します。このメッセージは SDK のメッセージストリームには届きません。

3186 3212 

3187<h3 id="directoryadded">3213<h3 id="directoryadded">

3188 DirectoryAdded3214 DirectoryAdded

3189</h3>3215</h3>

3190 3216 

3191`/add-dir` コマンドでセッションの途中に作業ディレクトリを追加した後、または SDK クライアントが `register_repo_root` 制御リクエストで作業ディレクトリを追加した後に実行されます。新しく追加されたリポジトリの準備(依存関係のインストールなど)に使用します。3217セッションの途中で `/add-dir` コマンドを使用して作業ディレクトリを追加した後、または SDK クライアントが `register_repo_root` 制御リクエストでディレクトリを追加した後に実行されます。新しく追加されたリポジトリの依存関係をインストールするなど、リポジトリの準備に使用します。

3192 3218 

3193Claude Code は次の場合にはこのイベントを発火しません。3219Claude Code は、次の場合にはこのイベントを発火しません。

3194 3220 

3195* `--add-dir` 起動フラグでディレクトリを渡した場合。これらのディレクトリは [SessionStart](#sessionstart) が対象とします3221* `--add-dir` 起動フラグでディレクトリを渡した場合。これらのディレクトリは [SessionStart](#sessionstart) で対応します

3196* `/permissions` の Workspace タブでディレクトリを追加した場合3222* `/permissions` の Workspace タブでディレクトリを追加した場合

3197* すでに作業ディレクトリであるか、作業ディレクトリ内にあるディレクトリを追加した場合3223* すでに作業ディレクトリであるディレクトリ、または作業ディレクトリ内のディレクトリを追加した場合

3198 3224 

3199Claude Code はサンドボックスと権限の状態を更新した後に DirectoryAdded を発火するため、フックが実行される時点で、サンドボックス化されたツールにはすでに新しいディレクトリが見えています。フックのコマンド自体はサンドボックス外で実行されます。3225Claude Code はサンドボックスと権限の状態を更新した後に DirectoryAdded を発火するため、フックの実行時には、サンドボックス化されたツールからすでに新しいディレクトリが見える状態になっています。フックのコマンド自体はサンドボックス外で実行されます。

3200 3226 

3201Claude Code はフックを待ちません。追加はすぐに完了し、フックは 600 秒のデフォルトのタイムアウトでバックグラウンドで実行されます。3227Claude Code はフックを待ちません。追加はすぐに完了し、フックはデフォルトの 600 秒のタイムアウトでバックグラウンドで実行されます。

3202 3228 

3203matcher は、ディレクトリがどのように追加されたかでフィルタリングします。3229matcher は、ディレクトリがどのように追加されたかでフィルタリングします。

3204 3230 

3205| Matcher | 発火するタイミング |3231| Matcher | 発火するタイミング |

3206| :- | :- |3232| :- | :- |

3207| `slash_command` | `/add-dir` でディレクトリを追加した場合 |3233| `slash_command` | `/add-dir` でディレクトリを追加したとき |

3208| `register_repo_root` | SDK クライアントが `register_repo_root` 制御リクエストでディレクトリを追加した場合 |3234| `register_repo_root` | SDK クライアントが `register_repo_root` 制御リクエストでディレクトリを追加したとき |

3209 3235 

3210<h4 id="directoryadded-input">3236<h4 id="directoryadded-input">

3211 DirectoryAdded の入力3237 DirectoryAdded の入力


3216| フィールド | 説明 |3242| フィールド | 説明 |

3217| :- | :- |3243| :- | :- |

3218| `directory` | 追加されたディレクトリの絶対パス |3244| `directory` | 追加されたディレクトリの絶対パス |

3219| `source` | ディレクトリがどのように追加されたか。`/add-dir` の場合は `"slash_command"`、SDK の制御リクエストの場合は `"register_repo_root"` |3245| `source` | ディレクトリの追加方法。`/add-dir` の場合は `"slash_command"`、SDK の制御リクエストの場合は `"register_repo_root"` |

3220 3246 

3221```json theme={null}3247```json theme={null}

3222{3248{


3229}3255}

3230```3256```

3231 3257 

3232DirectoryAdded フックには決定制御がありません。フックが実行される時点で追加はすでに完了しているため、追加をブロックすることはできません。Claude Code は JSON 出力から `continue` フィールドを破棄し、残りをソースごとに異なる方法で扱います。3258DirectoryAdded フックには決定制御がありません。フックの実行時には追加がすでに完了しているため、追加をブロックすることはできません。Claude Code はこれらのフックの JSON 出力から `continue` フィールドを破棄し、残りはソースに応じて異なる方法で表示します。

3233 3259 

3234* `slash_command`: Claude Code はフックの `systemMessage` を、ユーザーに表示するのではなく、次の会話ターンでコンテキストとして Claude に配信します。失敗したフックの数がトランスクリプトに表示されます。失敗の完全な出力はデバッグログに記録されます3260* `slash_command`:Claude Code はフックの `systemMessage` をユーザーに表示するのではなく、次の会話ターンでコンテキストとして Claude に配信します。失敗したフックの数がトランスクリプトに表示されます。失敗の完全な出力はデバッグログに記録されます

3235* `register_repo_root`: Claude Code は `systemMessage` の出力と失敗の出力をデバッグログにのみ書き込みます3261* `register_repo_root`:Claude Code は `systemMessage` の出力と失敗の出力をデバッグログにのみ書き込みます

3236 3262 

3237<h3 id="filechanged">3263<h3 id="filechanged">

3238 FileChanged3264 FileChanged

3239</h3>3265</h3>

3240 3266 

3241監視対象のファイルがディスク上で変更されたときに実行されます。Claude Code はツール呼び出しを調べるのではなく、ファイルシステムウォッチャーで変更を検出するため、何がファイルを変更したかに関係なくフックを実行します。`Edit` や `Write` のツール呼び出し、Claude が `Bash` で実行したスクリプト、あるいは Claude Code 外部のプロセスのいずれであっても実行されます。一般的な用途は、プロジェクトの設定ファイルが変更されたときに環境変数を再読み込みすることです。3267監視対象のファイルがディスク上で変更されたときに実行されます。Claude Code はツール呼び出しを調べるのではなく、ファイルシステムウォッチャーで変更を検出するため、ファイルを何が変更したかに関係なくフックを実行します。`Edit` や `Write` のツール呼び出し、Claude が `Bash` で実行するスクリプト、あるいは Claude Code とはまったく無関係のプロセスのいずれでも同様です。一般的な用途は、プロジェクトの設定ファイルが変更されたときに環境変数を再読み込みすることです。

3242 3268 

3243このイベントの `matcher` は 2 つの役割を果たします。3269このイベントの `matcher` には 2 つの役割があります。

3244 3270 

3245* **監視リストの構築**: 値は `|` で分割され、各セグメントが作業ディレクトリ内のリテラルなファイル名として登録されます。そのため、`".envrc|.env"` はちょうどその 2 つのファイルを監視します。ここでは正規表現パターンは役に立ちません。`^\.env` のような値は、文字どおり `^\.env` という名前のファイルを監視します。3271* **監視リストを構築する**: 値は `|` で分割され、各セグメントが作業ディレクトリ内のリテラルなファイル名として登録されます。そのため `".envrc|.env"` はちょうどこの 2 つのファイルを監視します。ここでは正規表現パターンは役に立ちません。`^\.env` のような値は、文字どおり `^\.env` という名前のファイルを監視します。

3246* **実行するフックのフィルタリング**: 監視対象のファイルが変更されると、同じ値が、変更されたファイルのベース名に対する標準の [matcher ルール](#matcher-patterns)を使用して、どのフックグループを実行するかをフィルタリングします。3272* **実行するフックを絞り込む**: 監視対象のファイルが変更されると、同じ値が標準の [matcher ルール](#matcher-patterns)に従い、変更されたファイルのベース名に対して照合され、実行するフックグループが絞り込まれます。

3247 3273 

3248この例では、`Bash` コマンドや外部スクリプトによるファイルの書き換えを含め、変更があるたびに `data.csv` の改行コードを正規化します。3274次の例は、`Bash` コマンドや外部スクリプトによる書き換えも含め、`data.csv` が変更されるたびにその改行コードを正規化します。

3249 3275 

3250```json theme={null}3276```json theme={null}

3251{3277{


3265}3291}

3266```3292```

3267 3293 

3268フックは、stdin の [JSON 入力](#filechanged-input)の `file_path` フィールドから、変更されたファイルの絶対パスを読み取ります。その `grep` によるガードは、`perl` が削除するのと同じもの、つまり行末の CR をテストするため、正規化後の実行ではファイルに触れずに終了します。より緩いガードにすると無限ループになります。`perl -i` は何も置換しない場合でもファイルを書き換え、Claude Code は書き換えのたびに再びフックを実行するためです。このスクリプトを `/path/to/normalize-line-endings.sh` に保存し、実行可能にしてください。3294このフックは、stdin で受け取る [JSON 入力](#filechanged-input)の `file_path` フィールドから、変更されたファイルの絶対パスを読み取ります。`grep` によるガードは `perl` が削除するものと同じもの、つまり行末の CR を検査するため、正規化後の実行ではファイルに触れずに終了します。これより緩いガードにすると無限ループになります。`perl -i` は何も置換しない場合でもファイルを書き換え、Claude Code は書き換えのたびにフックを再実行するためです。このスクリプトを `/path/to/normalize-line-endings.sh` に保存し、実行可能にしてください。

3269 3295 

3270```bash theme={null}3296```bash theme={null}

3271#!/bin/bash3297#!/bin/bash


3275fi3301fi

3276```3302```

3277 3303 

3278フックが機能することを確認するには、`Bash` コマンドで `data.csv` に CRLF の行を追加するよう Claude に依頼します。Claude Code がフックを実行し、ファイルの改行コードは LF になります。3304フックが動作することを確認するには、`Bash` コマンドで `data.csv` に CRLF の行を追記するよう Claude に依頼します。Claude Code がフックを実行し、ファイルの改行コードは LF になります。

3279 3305 

3280事前に名前を指定できないファイルを監視するには、フックから [`watchPaths`](#filechanged-output) を返して、監視リストを動的に更新します。Claude Code は何かが監視するファイルを指定した場合にのみウォッチャーを開始するため、少なくとも 1 つのファイルを matcher で指定した FileChanged グループ、または `watchPaths` を返す [SessionStart](#sessionstart-decision-control) フックや [CwdChanged](#cwdchanged) フックで、リストに初期値を設定してください。監視対象のファイルが変更されたときにどのフックグループを実行するかは引き続き matcher でフィルタリングされるため、動的なパスを処理するグループでは matcher を省略してください。省略した matcher はすべての監視対象ファイルにマッチし、監視リストには何も追加しません。`"*"` の matcher もすべてのファイルにマッチしますが、Claude Code は他の値と同様に、それを `*` という名前のリテラルなファイルとして監視リストに登録します。3306事前に名前を指定できないファイルを監視するには、フックから [`watchPaths`](#filechanged-output) を返して監視リストを動的に更新します。Claude Code は、監視するファイルを何かが指定したときにのみウォッチャーを起動します。そのため、少なくとも 1 つのファイルを指定する matcher を持つ FileChanged グループか、`watchPaths` を返す [SessionStart](#sessionstart-decision-control) フックまたは [CwdChanged](#cwdchanged) フックで、リストに初期値を与えてください。監視対象のファイルが変更されたときには引き続き matcher によって実行するフックグループが絞り込まれるため、動的なパスを処理するグループでは matcher を省略してください。省略した matcher は監視対象のすべてのファイルに一致し、監視リストには何も追加しません。`"*"` の matcher もすべてのファイルに一致しますが、Claude Code はほかの値と同様にこれを監視リストに登録し、`*` という名前のリテラルなファイルとして扱います。

3281 3307 

3282FileChanged フックは [`CLAUDE_ENV_FILE`](#persist-environment-variables) にアクセスできます。そのファイルに書き込まれた変数は、次の [CwdChanged](#cwdchanged) イベントで Claude Code がクリアするまで、後続の Bash コマンドに引き継がれます。3308FileChanged フックは [`CLAUDE_ENV_FILE`](#persist-environment-variables) にアクセスできます。このファイルに書き込まれた変数は、次の [CwdChanged](#cwdchanged) イベントで Claude Code がクリアするまで、以降の Bash コマンドに引き継がれます。

3283 3309 

3284<h4 id="filechanged-input">3310<h4 id="filechanged-input">

3285 FileChanged の入力3311 FileChanged の入力

3286</h4>3312</h4>

3287 3313 

3288[共通入力フィールド](#common-input-fields)に加えて、FileChanged フックは `file_path` と `event` を受け取ります。3314[共通の入力フィールド](#common-input-fields)に加えて、FileChanged フックは `file_path` と `event` を受け取ります。

3289 3315 

3290| フィールド | 説明 |3316| フィールド | 説明 |

3291| :- | :- |3317| :- | :- |

3292| `file_path` | 変更されたファイルの絶対パス |3318| `file_path` | 変更されたファイルの絶対パス |

3293| `event` | 何が起きたか。変更されたファイルの場合は `"change"`、作成されたファイルの場合は `"add"`、削除されたファイルの場合は `"unlink"` |3319| `event` | 発生した内容。変更されたファイルは `"change"`、作成されたファイルは `"add"`、削除されたファイルは `"unlink"` |

3294 3320 

3295```json theme={null}3321```json theme={null}

3296{3322{


3307 FileChanged の出力3333 FileChanged の出力

3308</h4>3334</h4>

3309 3335 

3310すべてのフックで利用できる [JSON 出力フィールド](#json-output)に加えて、FileChanged フックは `watchPaths` を返して、監視するファイルパスを動的に更新できます。3336すべてのフックで使用できる [JSON 出力フィールド](#json-output)に加えて、FileChanged フックは `watchPaths` を返して、監視するファイルパスを動的に更新できます。

3311 3337 

3312| フィールド | 説明 |3338| フィールド | 説明 |

3313| :- | :- |3339| :- | :- |

3314| `watchPaths` | 絶対パスの配列。現在の動的な監視リストを置き換えます。`matcher` の設定に含まれるパスは常に監視されます。フックスクリプトが、変更されたファイルに基づいて監視すべき追加のファイルを見つけた場合に使用します |3340| `watchPaths` | 絶対パスの配列。現在の動的な監視リストを置き換えます。`matcher` の設定に含まれるパスは常に監視されます。変更されたファイルに基づいて、フックスクリプトが監視すべき追加のファイルを見つけた場合に使用します |

3315 3341 

3316FileChanged フックには決定制御がありません。ファイルの変更が発生するのをブロックすることはできません。3342FileChanged フックには判定の制御がありません。ファイルの変更が発生するのをブロックすることはできません。

3317 3343 

3318Claude Code は JSON 出力から `watchPaths` と `systemMessage` を読み取り、`continue` を破棄します。対話型セッションでは、`systemMessage` を短いターミナル通知として表示します。このメッセージは SDK のメッセージストリームには届きません。3344Claude Code は JSON 出力から `watchPaths` と `systemMessage` を読み取り、`continue` は破棄します。対話セッションでは、`systemMessage` を短いターミナル通知として表示します。このメッセージは SDK のメッセージストリームには届きません。

3319 3345 

3320<h3 id="worktreecreate">3346<h3 id="worktreecreate">

3321 WorktreeCreate3347 WorktreeCreate

3322</h3>3348</h3>

3323 3349 

3324次のような場合に Claude Code が worktree を作成したときに実行されます。3350次のようなケースで Claude Code が worktree を作成するときに実行されます。

3325 3351 

3326* `claude --worktree` でセッションを開始した3352* `claude --worktree` でセッションを開始した

3327* Claude がセッション中に worktree を作成し、[`EnterWorktree`](/docs/ja/tools-reference) ツールでそこに切り替えた3353* Claude がセッション中に worktree を作成し、[`EnterWorktree`](/docs/ja/tools-reference) ツールでその worktree に切り替えた

3328* [サブエージェントが `isolation: "worktree"` を使用している](/docs/ja/sub-agents#choose-the-subagent-scope)3354* [サブエージェントが `isolation: "worktree"` を使用した](/docs/ja/sub-agents#choose-the-subagent-scope)

3329* [ワークフロー](/docs/ja/workflows#migrate-many-files-in-parallel)がエージェントを専用の worktree で実行した3355* [ワークフロー](/docs/ja/workflows#migrate-many-files-in-parallel)がエージェントを専用の worktree で実行した

3330* Claude Code が[バックグラウンドセッション](/docs/ja/agent-view#how-file-edits-are-isolated)を専用の worktree で分離した3356* Claude Code が[バックグラウンドセッション](/docs/ja/agent-view#how-file-edits-are-isolated)を専用の worktree に分離した

3331* `worktree` モードの [`claude remote-control`](/docs/ja/remote-control#start-a-remote-control-session) が専用の worktree でセッションを開始した3357* `worktree` モードの [`claude remote-control`](/docs/ja/remote-control#start-a-remote-control-session) が専用の worktree でセッションを開始した

3332 3358 

3333Claude が `EnterWorktree` を呼び出す代わりに Bash ツールで `git worktree add` を実行した場合、WorktreeCreate フックは実行されません。そのコマンドを検査またはブロックするには、`Bash` matcher を指定した [`PreToolUse`](#pretooluse) フックを追加してください。3359Claude が `EnterWorktree` を呼び出すのではなく、Bash ツールを通じて `git worktree add` を実行した場合、WorktreeCreate フックは実行されません。そのコマンドを検査またはブロックするには、`Bash` matcher を持つ [`PreToolUse`](#pretooluse) フックを追加してください。

3334 3360 

3335デフォルトでは、Claude Code は `git worktree` を使って分離された作業コピーを作成します。WorktreeCreate フックを設定すると、このデフォルトの git の動作が置き換えられ、SVN、Perforce、Mercurial など別のバージョン管理システムを使用できるようになります。3361デフォルトでは、Claude Code は `git worktree` を使って分離された作業コピーを作成します。WorktreeCreate フックを設定すると、このデフォルトの git の動作が置き換えられ、SVN、Perforce、Mercurial などの別のバージョン管理システムを使用できるようになります。

3336 3362 

3337フックはデフォルトの動作を完全に置き換えるため、[`.worktreeinclude`](/docs/ja/worktrees#copy-gitignored-files-into-worktrees) は処理されません。`.env` などのローカル設定ファイルを新しい worktree にコピーする必要がある場合は、フックスクリプト内でコピーしてください。3363フックはデフォルトの動作を完全に置き換えるため、[`.worktreeinclude`](/docs/ja/worktrees#copy-gitignored-files-into-worktrees) は処理されません。`.env` のようなローカルの設定ファイルを新しい worktree にコピーする必要がある場合は、フックスクリプトの中で行ってください。

3338 3364 

3339フックは、作成された worktree ディレクトリのパスを返す必要があります。Claude Code はこのパスを分離されたセッションの作業ディレクトリとして使用します。各フックタイプがパスを返す方法については、[WorktreeCreate の出力](#worktreecreate-output)を参照してください。3365フックは、作成した worktree ディレクトリへのパスを返す必要があります。Claude Code はこのパスを、分離されたセッションの作業ディレクトリとして使用します。各フックタイプがパスを返す方法については、[WorktreeCreate の出力](#worktreecreate-output)を参照してください。

3340 3366 

3341Claude Code はフックの成功と返されたパスに基づいて動作し、`systemMessage` と `continue` は破棄します。3367Claude Code はフックの成功と返されたパスに基づいて動作し、`systemMessage` と `continue` は破棄します。

3342 3368 

3343この例では、SVN の作業コピーを作成し、Claude Code が使用するパスを出力します。リポジトリの URL は独自のものに置き換えてください。3369次の例は SVN の作業コピーを作成し、Claude Code が使用するパスを出力します。リポジトリの URL は自分のものに置き換えてください。

3344 3370 

3345```json theme={null}3371```json theme={null}

3346{3372{


3359}3385}

3360```3386```

3361 3387 

3362このフックは、stdin の JSON 入力から worktree の `name` を読み取り、新しいディレクトリに新規コピーをチェックアウトして、そのディレクトリパスを出力します。最終行の `echo` が、Claude Code が worktree のパスとして読み取るものです。パスの妨げにならないよう、その他の出力はすべて stderr にリダイレクトしてください。3388このフックは stdin の JSON 入力から worktree の `name` を読み取り、新しいディレクトリに新規のコピーをチェックアウトして、そのディレクトリのパスを出力します。最後の行の `echo` が、Claude Code が worktree のパスとして読み取るものです。パスの妨げにならないよう、それ以外の出力はすべて stderr にリダイレクトしてください。

3363 3389 

3364<h4 id="worktreecreate-input">3390<h4 id="worktreecreate-input">

3365 WorktreeCreate の入力3391 WorktreeCreate の入力

3366</h4>3392</h4>

3367 3393 

3368[共通の入力フィールド](#common-input-fields)に加えて、WorktreeCreate フックは `name` フィールドを受け取ります。これは新しい worktree のスラッグ識別子で、ユーザーが指定するか自動生成されます(例: `bold-oak-a3f2`)。3394[共通の入力フィールド](#common-input-fields)に加えて、WorktreeCreate フックは `name` フィールドを受け取ります。これは新しい worktree のスラッグ識別子で、ユーザーが指定したものか自動生成されたもの(例: `bold-oak-a3f2`)です。

3369 3395 

3370```json theme={null}3396```json theme={null}

3371{3397{


3381 WorktreeCreate の出力3407 WorktreeCreate の出力

3382</h4>3408</h4>

3383 3409 

3384WorktreeCreate フックは、標準の許可/ブロックの決定モデルを使用しません。代わりに、フックの成功または失敗によって結果が決まります。フックは、作成された worktree ディレクトリのパスを返す必要があります。3410WorktreeCreate フックは、標準の許可/ブロックの判定モデルを使用しません。代わりに、フックの成功または失敗によって結果が決まります。フックは、作成した worktree ディレクトリへのパスを返す必要があります。

3385 3411 

3386* **コマンドフック**(`type: "command"`): stdout の最後の空でない行としてパスを出力します。Claude Code はその行を読み取る前に ANSI エスケープコードを除去するため、`echo` の前に出力されたシェルの起動バナーは無視されます。フックのその他の出力は stderr にリダイレクトしてください。3412* **コマンドフック**(`type: "command"`): パスを stdout の最後の空でない行として出力します。Claude Code はその行を読み取る前に ANSI エスケープコードを取り除くため、`echo` より前に出力されたシェルの起動バナーは無視されます。フックのそれ以外の出力は stderr にリダイレクトしてください。

3387* **HTTP フック**(`type: "http"`): レスポンスボディで `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` を返します。3413* **HTTP フック**(`type: "http"`): レスポンス本文で `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` を返します。

3388 3414 

3389フックが失敗した場合、またはパスを生成しなかった場合、worktree の作成はエラーで失敗します。3415フックが失敗した場合やパスを出力しなかった場合、worktree の作成はエラーで失敗します。

3390 3416 

3391Claude Code は相対パスをフックが実行されたディレクトリを基準に解決し、その中の `.` や `..` のセグメントを正規化します。結果のパスが Claude Code が移動できるディレクトリでない場合、セッションはそのパスを示すエラーを出力し、終了コード 1 で終了します。3417Claude Code は相対パスをフックが実行されたディレクトリを基準に解決し、その中の `.` や `..` のセグメントを折りたたみます。結果のパスが Claude Code が移動できるディレクトリでない場合、セッションはそのパスを示すエラーを出力し、終了コード 1 で終了します。

3392 3418 

3393Claude Code は、`.` や `..` のセグメントを含む絶対パス、およびリポジトリルート以下のシンボリックリンクを経由するパスを拒否します。リポジトリにコミットされたシンボリックリンクによって、worktree がリポジトリの外部にリダイレクトされる可能性があるためです。エラーには拒否された構成要素が示されます。リポジトリ内のシンボリックリンクを経由しない、正規化されたパスを返してください。v2.1.216 より前は、worktree の作成時にこのチェックを行わずにフックのパスに従っていました。3419Claude Code は、`.` や `..` のセグメントを含む絶対パス、およびリポジトリのルートより下でシンボリックリンクを経由するパスを拒否します。リポジトリにコミットされたシンボリックリンクによって、worktree がリポジトリの外にリダイレクトされる可能性があるためです。エラーには拒否された構成要素が示されます。リポジトリ内のシンボリックリンクを経由しない、正規化されたパスを返してください。v2.1.216 より前は、worktree の作成はこのチェックを行わずにフックのパスに従っていました。

3394 3420 

3395<h3 id="worktreeremove">3421<h3 id="worktreeremove">

3396 WorktreeRemove3422 WorktreeRemove


3398 3424 

3399[`WorktreeCreate`](#worktreecreate) フックが作成した worktree を Claude Code がクリーンアップするときに実行されます。このイベントは次の場合に発生します。3425[`WorktreeCreate`](#worktreecreate) フックが作成した worktree を Claude Code がクリーンアップするときに実行されます。このイベントは次の場合に発生します。

3400 3426 

3401* 対話型の [worktree セッション](/docs/ja/worktrees#start-claude-in-a-worktree)を終了し、Claude Code の確認に対して worktree の削除を選択した場合3427* 対話的な [worktree セッション](/docs/ja/worktrees#start-claude-in-a-worktree)を終了し、Claude Code に確認されたときに worktree の削除を選択した

3402* [名前を付けていない](/docs/ja/sessions#name-your-sessions)対話型の worktree セッションを終了し、Claude Code が変更されたファイルや追跡されていないファイルを検出せず、確認なしで worktree を削除した場合3428* [名前を付けていない](/docs/ja/sessions#name-your-sessions)対話的な worktree セッションを終了し、Claude Code が変更済みまたは未追跡のファイルを見つけなかったため、確認なしで worktree を削除した

3403* worktree 内で実行されている[バックグラウンドセッション](/docs/ja/agent-view#what-deleting-a-session-removes)を削除した場合3429* worktree で実行されている[バックグラウンドセッション](/docs/ja/agent-view#what-deleting-a-session-removes)を削除した

3404* セッション中に worktree を終了して削除するよう Claude に依頼し、Claude が [`ExitWorktree`](/docs/ja/tools-reference) ツールでそれを削除した3430* セッション中に worktree を終了して削除するよう Claude に依頼し、Claude が [`ExitWorktree`](/docs/ja/tools-reference) ツールでそれを削除した

3405* [`claude remote-control`](/docs/ja/remote-control#start-a-remote-control-session) が `worktree` モードで開始したセッションがクラッシュせずに終了し、Claude Code がその worktree に変更済みファイル、未追跡ファイル、新しいコミットを見つけなかった3431* [`claude remote-control`](/docs/ja/remote-control#start-a-remote-control-session) が `worktree` モードで開始したセッションがクラッシュせずに終了し、Claude Code がその worktree に変更済みまたは未追跡のファイルも新しいコミットも見つけなかった

3406* `worktree` モードで開始したセッションがまだ実行中の状態で `claude remote-control` を停止し、Claude Code がそれらの worktree に変更済みファイル、未追跡ファイル、新しいコミットを見つけなかった3432* `worktree` モードで開始したセッションがまだ実行中の状態で `claude remote-control` を停止し、Claude Code がそれらの worktree に変更済みまたは未追跡のファイルも新しいコミットも見つけなかった

3407 3433 

3408サブエージェントまたはワークフローのエージェントが終了したとき、Claude Code は WorktreeCreate フックがそれ用に作成した worktree を保持し、WorktreeRemove フックを実行しません。作業が完了したら、それらの worktree は自分で削除してください。3434サブエージェントやワークフローのエージェントが終了したとき、Claude Code は WorktreeCreate フックがそのエージェントのために作成した worktree を保持し、WorktreeRemove フックは実行しません。作業が完了したら、それらの worktree は自分で削除してください。

3409 3435 

3410`ExitWorktree` の呼び出しや `claude remote-control` のクリーンアップでは、Claude Code はフックの実行前に確認を求めません。`ExitWorktree` は、呼び出しで [`discard_changes: true`](/docs/ja/agent-sdk/typescript#exitworktree) が渡されない限りフックが作成した worktree の削除を拒否するため、その経路ではフックが最後のチェックになります。3436`ExitWorktree` の呼び出しや `claude remote-control` のクリーンアップでは、Claude Code はフックの実行前に確認を求めません。`ExitWorktree` は、呼び出しで [`discard_changes: true`](/docs/ja/agent-sdk/typescript#exitworktree) が渡されない限り、フックで作成された worktree の削除を拒否します。そのため、この経路ではフックが最後のチェックになります。

3411 3437 

3412Claude Code は git を使用して変更されたファイルや追跡されていないファイルを探すため、git のチェックアウトではない worktree や git のチェックアウト内にない worktree では、ディレクトリにコミットされていない作業があっても何も検出されません。WorktreeRemove フックで何かを削除する前に、そのような作業がないかを確認してください。3438Claude Code は git を使って変更済みまたは未追跡のファイルを探すため、git のチェックアウトではない worktree やその中にない worktree では、ディレクトリにコミットされていない作業があっても何も見つけません。WorktreeRemove フックでは、何かを削除する前にそのような作業がないか確認してください。

3413 3439 

3414git ベースの worktree では、Claude Code が `git worktree remove` で自動的にクリーンアップを処理します。WorktreeCreate フックを設定した場合は、WorktreeRemove フックと組み合わせてクリーンアップを制御してください。3440git ベースの worktree では、Claude Code は `git worktree remove` でクリーンアップを自動的に処理します。WorktreeCreate フックを設定した場合は、WorktreeRemove フックと組み合わせてクリーンアップを制御してください。

3415 3441 

3416* **WorktreeRemove フックがない場合**:終了時または `ExitWorktree` による削除では Claude Code は git にフォールバックし、`claude remote-control` がクリーンアップする場合は worktree を保持します。3442* **WorktreeRemove フックがない場合**: 終了時または `ExitWorktree` による削除では Claude Code は git にフォールバックし、`claude remote-control` がクリーンアップする場合は worktree を保持します。

3417 * **worktree セッションを終了した場合、または Claude が `ExitWorktree` を呼び出した場合**:Claude Code は WorktreeCreate フックが返したパスを `git worktree remove --force` と同様に削除するため、git が認識する worktree は削除されます。git が認識しない worktree(例:フックが git 以外のバージョン管理システムで作成したもの)はディスク上に残ります。3443 * **worktree セッションを終了した場合、または Claude が `ExitWorktree` を呼び出した場合**: Claude Code は WorktreeCreate フックが返したパスを `git worktree remove --force` と同じように削除するため、git が認識している worktree は削除されます。git が認識していない worktree(たとえば、フックが git 以外のバージョン管理システムで作成したもの)はディスク上に残ります。

3418 * **`claude remote-control` がセッションの worktree をクリーンアップする場合**:worktree はディスク上に残り、`claude remote-control` を実行しているターミナルに `worktree removal failed, kept: <path>` が表示されます。3444 * **`claude remote-control` がセッションの worktree をクリーンアップする場合**: worktree はディスク上に残り、`claude remote-control` を実行しているターミナルに `worktree removal failed, kept: <path>` と表示されます。

3419 * **バックグラウンドセッションを削除した場合**:[セッションの削除で削除されるもの](/docs/ja/agent-view#what-deleting-a-session-removes)を参照してください。3445 * **バックグラウンドセッションを削除した場合**: [セッションの削除で削除されるもの](/docs/ja/agent-view#what-deleting-a-session-removes)を参照してください。

3420* **フックが 0 で終了した場合**: worktree は削除されたものとみなされます。Claude Code はフックからそれ以外の情報を読み取らないため、フックがディレクトリを削除したことを確認してください。3446* **フックが 0 で終了した場合**: worktree は削除済みとみなされます。Claude Code はフックからそれ以外に何も読み取らないため、フックが確実にディレクトリを削除するようにしてください。

3421* **フックが 0 以外で終了した場合**: その後も `worktree_path` のディレクトリが存在していれば削除は失敗し、git へのフォールバックなしで worktree はディスク上に残ります。0 以外で終了する前にディレクトリを削除したフックは、削除済みとみなされます。失敗の報告方法については、[WorktreeRemove の入力](#worktreeremove-input)を参照してください。3447* **フックが 0 以外で終了した場合**: その後も `worktree_path` のディレクトリが存在していれば削除は失敗し、worktree は git へのフォールバックなしにディスク上に残ります。0 以外で終了する前にディレクトリを削除したフックは、削除済みとみなされます。失敗の報告方法については、[WorktreeRemove の入力](#worktreeremove-input)を参照してください。

3422 3448 

3423Claude Code は WorktreeCreate フックが返したパスしか把握していないため、フックで作成された worktree に属するブランチを削除することはありません。WorktreeCreate フックがブランチを作成する場合は、WorktreeRemove フックでそのブランチを削除してください。3449Claude Code は WorktreeCreate フックが返したパスしか把握していないため、フックで作成された worktree に属するブランチを削除することはありません。WorktreeCreate フックがブランチを作成する場合は、WorktreeRemove フックでそれを削除してください。

3424 3450 

3425Claude Code は、`systemMessage` や `continue` などの WorktreeRemove フックの [JSON 出力フィールド](#json-output)を破棄します。3451Claude Code は、`systemMessage` や `continue` などの WorktreeRemove フックの [JSON 出力フィールド](#json-output)を破棄します。

3426 3452 

3427バックグラウンドセッションの削除では、Claude Code はフックを実行する前に保存されている worktree のパスを検証し、シンボリックリンクであるパスや、リポジトリルートより下のシンボリックリンクを経由するパスを拒否します。この経路では、まだファイルを含む worktree に対してフックが実行されるのは、[agent view](/docs/ja/agent-view#what-deleting-a-session-removes) で削除を確認した場合のみです。そのような worktree に対して [`claude rm`](/docs/ja/agent-view#manage-sessions-from-the-shell) を実行した場合は、代わりにセッションと worktree が保持されます。v2.1.216 より前は、これらのチェックなしで保存されたパスに対してフックが実行されていました。3453バックグラウンドセッションの削除では、Claude Code はフックを実行する前に保存されている worktree のパスを検証し、シンボリックリンクであるパスや、リポジトリのルートより下でシンボリックリンクを経由するパスを拒否します。この経路では、まだファイルが含まれている worktree に対してフックが実行されるのは、[エージェントビュー](/docs/ja/agent-view#what-deleting-a-session-removes)で削除を確定した場合のみです。そのような worktree の場合、[`claude rm`](/docs/ja/agent-view#manage-sessions-from-the-shell) は代わりにセッションと worktree を保持します。v2.1.216 より前は、これらのチェックなしに保存されたパスに対してフックが実行されていました。

3428 3454 

3429Claude Code は、WorktreeCreate が返したパスをフック入力の `worktree_path` として渡します。この例では、そのパスを読み取ってディレクトリを削除します。3455Claude Code は、WorktreeCreate が返したパスをフックの入力の `worktree_path` として渡します。次の例はそのパスを読み取り、ディレクトリを削除します。

3430 3456 

3431```json theme={null}3457```json theme={null}

3432{3458{


3461}3487}

3462```3488```

3463 3489 

3464WorktreeRemove フックの終了コードによって結果が決まります。フックが 0 以外で終了し、その後も `worktree_path` のディレクトリが存在する場合、削除は失敗します。3490結果は WorktreeRemove フックの終了コードによって決まります。フックが 0 以外で終了し、その後も `worktree_path` のディレクトリが存在している場合、削除は失敗します。

3465 3491 

3466* worktree はディスク上に残り、フックのコマンドと stderr は[デバッグログ](#debug-hooks)に出力されます。3492* worktree はディスク上に残り、フックのコマンドと stderr は[デバッグログ](#debug-hooks)に記録されます。

3467* バックグラウンドセッションを削除しようとしていた場合、セッションも残ります。[エージェントビュー](/docs/ja/agent-view#what-deleting-a-session-removes)の拒否メッセージには、`exited 1` のようなフックの終了状況、stderr の冒頭部分の引用、およびセッションを再度削除した場合にディレクトリがそれでも削除されるかどうかが表示されます。3493* バックグラウンドセッションを削除しようとしていた場合は、セッションも残ります。[エージェントビュー](/docs/ja/agent-view#what-deleting-a-session-removes)の拒否メッセージには、`exited 1` のようにフックがどのように終了したかが示され、stderr の冒頭が引用され、セッションを再度削除した場合にディレクトリが強制的に削除されるかどうかが示されます。

3468* `claude remote-control` がセッションの worktree をクリーンアップしていた場合は、それを実行しているターミナルに `worktree removal failed, kept: <path>` が表示されます。3494* `claude remote-control` がセッションの worktree をクリーンアップしていた場合は、それを実行しているターミナルに `worktree removal failed, kept: <path>` と表示されます。

3469 3495 

3470<h3 id="precompact">3496<h3 id="precompact">

3471 PreCompact3497 PreCompact

3472</h3>3498</h3>

3473 3499 

3474Claude Code がコンテキスト圧縮処理を実行する直前に実行されます。3500Claude Code がコンテキスト圧縮の操作を実行する直前に実行されます。

3475 3501 

3476matcher の値は、コンテキスト圧縮が手動でトリガーされたか自動でトリガーされたかを示します。3502matcher の値は、圧縮が手動でトリガーされたか自動でトリガーされたかを示します。

3477 3503 

3478| Matcher | 発生するタイミング |3504| Matcher | 発生するタイミング |

3479| :- | :- |3505| :- | :- |

3480| `manual` | `/compact` |3506| `manual` | `/compact` |

3481| `auto` | 会話が[自動圧縮ウィンドウ](/docs/ja/model-config#set-the-auto-compact-window)に達したときの自動圧縮 |3507| `auto` | 会話が[自動圧縮ウィンドウ](/docs/ja/model-config#set-the-auto-compact-window)に達したときの自動圧縮、および[アイドル時の圧縮](/docs/ja/settings-reference#idlecompaction) |

3482 3508 

3483圧縮をブロックするには、終了コード 2 で終了します。手動の `/compact` の場合、stderr のメッセージがユーザーに表示されます。`"decision": "block"` を含む JSON を返すことでもブロックできます。3509圧縮をブロックするには、終了コード 2 で終了します。手動の `/compact` の場合、stderr のメッセージがユーザーに表示されます。`"decision": "block"` を含む JSON を返してブロックすることもできます。

3484 3510 

3485自動圧縮のブロックは、発生するタイミングによって影響が異なります。コンテキストの上限に達する前に先行して圧縮がトリガーされた場合、Claude Code は圧縮をスキップし、会話は圧縮されずに続行されます。API がすでに返したコンテキスト上限エラーから回復するために圧縮がトリガーされた場合は、元のエラーが表面化し、現在のリクエストは失敗します。3511自動圧縮をブロックした場合の効果は、それが発生したタイミングによって異なります。コンテキストの上限に達する前に先回りして圧縮がトリガーされた場合、Claude Code は圧縮をスキップし、会話は圧縮されないまま続行されます。API からすでに返されたコンテキスト上限エラーから回復するために圧縮がトリガーされた場合は、元のエラーが表面化し、現在のリクエストは失敗します。

3486 3512 

3487Claude Code は、PreCompact フックの `systemMessage` と `continue` フィールドを破棄します。3513Claude Code は、PreCompact フックの `systemMessage` フィールドと `continue` フィールドを破棄します。

3488 3514 

3489<h4 id="precompact-input">3515<h4 id="precompact-input">

3490 PreCompact の入力3516 PreCompact の入力


3507 PostCompact3533 PostCompact

3508</h3>3534</h3>

3509 3535 

3510Claude Code がコンテキスト圧縮処理を完了した後に実行されます。このイベントを使用すると、圧縮後の新しい状態に対応できます。例えば、生成された要約をログに記録したり、外部の状態を更新したりできます。Claude Code は、PostCompact フックの `systemMessage` と `continue` フィールドを破棄します。3536Claude Code がコンテキスト圧縮の操作を完了した後に実行されます。このイベントを使って、圧縮後の新しい状態に対応できます。たとえば、生成された要約をログに記録したり、外部の状態を更新したりできます。Claude Code は、PostCompact フックの `systemMessage` フィールドと `continue` フィールドを破棄します。

3511 3537 

3512`PreCompact` と同じ matcher の値が適用されます。3538`PreCompact` と同じ matcher の値が適用されます。

3513 3539 

3514| Matcher | 発生するタイミング |3540| Matcher | 発生するタイミング |

3515| :- | :- |3541| :- | :- |

3516| `manual` | `/compact` の後 |3542| `manual` | `/compact` の後 |

3517| `auto` | 会話が[自動圧縮ウィンドウ](/docs/ja/model-config#set-the-auto-compact-window)に達して自動圧縮された後 |3543| `auto` | 会話が[自動圧縮ウィンドウ](/docs/ja/model-config#set-the-auto-compact-window)に達したときの自動圧縮の後、および[アイドル時の圧縮](/docs/ja/settings-reference#idlecompaction)の後 |

3518 3544 

3519<h4 id="postcompact-input">3545<h4 id="postcompact-input">

3520 PostCompact の入力3546 PostCompact の入力

3521</h4>3547</h4>

3522 3548 

3523[共通の入力フィールド](#common-input-fields)に加えて、PostCompact フックは `trigger` と `compact_summary` を受け取ります。`compact_summary` フィールドには、圧縮処理によって生成された会話の要約が含まれます。3549[共通の入力フィールド](#common-input-fields)に加えて、PostCompact フックは `trigger` と `compact_summary` を受け取ります。`compact_summary` フィールドには、圧縮操作によって生成された会話の要約が含まれます。

3524 3550 

3525```json theme={null}3551```json theme={null}

3526{3552{


3533}3559}

3534```3560```

3535 3561 

3536PostCompact フックには決定制御がありません。圧縮の結果に影響を与えることはできませんが、後続のタスクを実行できます。3562PostCompact フックには判定の制御がありません。圧縮の結果に影響を与えることはできませんが、後続のタスクを実行できます。

3537 3563 

3538<h3 id="premodelswitch">3564<h3 id="premodelswitch">

3539 PreModelSwitch3565 PreModelSwitch

3540</h3>3566</h3>

3541 3567 

3542ユーザーまたはクライアントが要求したモデルの切り替えを Claude Code が適用する前に実行されます。切り替えをブロックしたり、確認を求めたり、切り替えが行われる前にそのコストを表示したりするために使用します。3568ユーザーまたはクライアントが要求したモデルの切り替えを Claude Code が適用する前に実行されます。切り替えをブロックしたり、確認を求めたり、切り替えにかかるコストを事前に表示したりするために使用します。

3543 3569 

3544PreModelSwitch には Claude Code v2.1.251 以降が必要です。Claude Code は次のリクエストに対してこのフックを実行します。3570PreModelSwitch には Claude Code v2.1.251 以降が必要です。Claude Code は次のリクエストに対してこれを実行します。

3545 3571 

3546* `/model <name>` および `/model` ピッカー3572* `/model <name>` および `/model` のピッカー

3547* `Option+P` または `Alt+P` のモデルピッカー3573* `Option+P` または `Alt+P` のモデルピッカー

3548* `/config` の Model 設定3574* `/config` の Model 設定

3549* セッションのモデルが変わる場合の [fast mode](/docs/ja/fast-mode) のオン3575* [fast mode](/docs/ja/fast-mode) をオンにしたことでセッションのモデルが変わる場合

3550* [Agent SDK](/docs/ja/agent-sdk/typescript#query-object) ホストまたは [Remote Control](/docs/ja/remote-control) からの `set_model` リクエスト、または `apply_flag_settings` リクエストでのモデル変更3576* [Agent SDK](/docs/ja/agent-sdk/typescript#query-object) のホストまたは [Remote Control](/docs/ja/remote-control) からの `set_model` リクエスト、または `apply_flag_settings` リクエストでのモデル変更

3551 3577 

3552Claude Code は、[自動モデルフォールバック](/docs/ja/model-config#automatic-model-fallback)やセッション再開時のモデル復元など、Claude Code が自ら行う切り替えに対しては PreModelSwitch フックを実行しません。これらの変更は [PostModelSwitch](#postmodelswitch) にのみ届きます。3578Claude Code は、[モデルの自動フォールバック](/docs/ja/model-config#automatic-model-fallback)やセッション再開時のモデルの復元など、自身で行う切り替えに対しては PreModelSwitch フックを実行しません。これらの変更は [PostModelSwitch](#postmodelswitch) にのみ届きます。

3553 3579 

3554Claude Code は、`[1m]` サフィックスを無視して、セッションの切り替え先モデルの正規名と matcher を比較します。`opus` のようなエイリアス、日付付きのモデル ID、Amazon Bedrock のモデル ID のようなプロバイダー固有の ID は、いずれも解決先の 1 つの正規名に一致するため、`claude-opus-5` は Opus 5 のあらゆる表記をカバーします。3580Claude Code は、`[1m]` サフィックスを無視して、セッションの切り替え先モデルの正規名と matcher を比較します。`opus` のようなエイリアス、日付付きのモデル ID、Amazon Bedrock のモデル ID のようなプロバイダー固有の ID はすべて、解決先の 1 つの正規名に一致します。そのため、`claude-opus-5` は Opus 5 のあらゆる表記をカバーします。

3555 3581 

3556切り替え先の正規名を Claude Code が判定できない場合(例えば、[LLM ゲートウェイ](/docs/ja/llm-gateway)だけが認識するカスタムモデル ID の場合)、Claude Code は matcher に関係なくすべての PreModelSwitch フックを実行します。そのため、ブロックを行うフックは matcher だけに頼るのではなく、入力の `to_model` を確認する必要があります。3582たとえば [LLM ゲートウェイ](/docs/ja/llm-gateway)だけが知っているカスタムモデル ID のように、Claude Code が切り替え先の正規名を特定できない場合は、matcher に関係なくすべての PreModelSwitch フックを実行します。したがって、ブロックを行うフックは matcher だけに頼らず、入力の `to_model` を確認する必要があります。

3557 3583 

3558matcher は、完全な名前、`claude-opus-4-6|claude-opus-5` のような `|` 区切りのリスト、または `.*opus.*` のような正規表現として記述します。この例では完全な名前の matcher を使用し、さらにフック入力の `to_model` も確認することで、Opus 4.6 への切り替えを終了コード 2 で拒否し、それ以外の切り替え先は通過させます。3584matcher は、完全な名前、`claude-opus-4-6|claude-opus-5` のような `|` 区切りのリスト、または `.*opus.*` のような正規表現で記述します。次の例では完全な名前の matcher を使用し、さらにフックの入力の `to_model` も確認しています。これにより、終了コード 2 で終了して Opus 4.6 への切り替えを拒否し、それ以外の切り替え先は通過させます。

3559 3585 

3560<Tabs>3586<Tabs>

3561 <Tab title="macOS/Linux">3587 <Tab title="macOS/Linux">

3562 コマンドは `jq` で `to_model` を確認します。3588 このコマンドは `jq` で `to_model` を確認します。

3563 3589 

3564 ```json theme={null}3590 ```json theme={null}

3565 {3591 {


3608 }3634 }

3609 ```3635 ```

3610 3636 

3611 このスクリプトをプロジェクトの `.claude/hooks/block-opus-46.ps1` に保存します。3637 このスクリプトをプロジェクト内の `.claude/hooks/block-opus-46.ps1` に保存します。

3612 3638 

3613 ```powershell theme={null}3639 ```powershell theme={null}

3614 $hookInput = [Console]::In.ReadToEnd() | ConvertFrom-Json3640 $hookInput = [Console]::In.ReadToEnd() | ConvertFrom-Json


3621 </Tab>3647 </Tab>

3622</Tabs>3648</Tabs>

3623 3649 

3624フックが機能することを確認するには、別のモデルで実行中のセッションから `/model claude-opus-4-6` を実行します。Claude Code は現在のモデルを維持し、PreModelSwitch フックが切り替えをブロックしたことを、設定したメッセージを理由として報告します。3650フックが動作することを確認するには、別のモデルで実行中のセッションから `/model claude-opus-4-6` を実行します。Claude Code は現在のモデルを維持し、PreModelSwitch フックが切り替えをブロックしたことを、指定したメッセージを理由として報告します。

3625 3651 

3626<h4 id="premodelswitch-input">3652<h4 id="premodelswitch-input">

3627 PreModelSwitch の入力3653 PreModelSwitch の入力

3628</h4>3654</h4>

3629 3655 

3630[共通の入力フィールド](#common-input-fields)に加えて、PreModelSwitch フックはこの表のフィールドを受け取ります。最後の 5 つは、会話を新しいモデルに再送信する際のコストを示すため、フックは切り替えが行われる前にその数値を表示できます。3656[共通の入力フィールド](#common-input-fields)に加えて、PreModelSwitch フックは次の表のフィールドを受け取ります。最後の 5 つは、会話を新しいモデルに再送信するのにかかるコストを表しており、フックは切り替えの前にその数値を表示できます。

3631 3657 

3632| フィールド | 型 | 説明 |3658| フィールド | 型 | 説明 |

3633| :- | :- | :- |3659| :- | :- | :- |

3634| `from_model` | string | 切り替え元のモデル ID |3660| `from_model` | string | 切り替え元のモデル ID |

3635| `to_model` | string | 切り替え先のモデル ID。matcher はこのモデルの正規名と比較されます |3661| `to_model` | string | 切り替え先のモデル ID。matcher はこのモデルの正規名と比較されます |

3636| `requested_model` | string または `null` | リクエストで指定されたモデル。`opus` のようなエイリアス、完全なモデル ID、またはデフォルトモデルのリクエストの場合は `null` |3662| `requested_model` | string または `null` | リクエストで指定されたモデル。`opus` のようなエイリアス、完全なモデル ID、またはデフォルトモデルが要求された場合は `null` |

3637| `source` | string | リクエストの送信元。`/model <name>`、`/config` の Model 設定、または fast mode のオンの場合は `"command"`、モデルピッカーの場合は `"picker"`、Agent SDK ホストまたは Remote Control からの `set_model` リクエスト、または `apply_flag_settings` リクエストでのモデル変更の場合は `"sdk"` |3663| `source` | string | リクエストの発生元。`/model <name>`、`/config` の Model 設定、fast mode をオンにした場合は `"command"`、モデルピッカーの場合は `"picker"`、Agent SDK のホストまたは Remote Control からの `set_model` リクエスト、または `apply_flag_settings` リクエストでのモデル変更の場合は `"sdk"` |

3638| `context_tokens` | number | 次のリクエストがプロンプトとして再送信するトークン数。メイン会話の最後の応答における入力、キャッシュ読み取り、キャッシュ作成、出力のトークンの合計です。最初の応答の前は `0` |3664| `context_tokens` | number | 次のリクエストがプロンプトとして再送信するトークン数。メイン会話の最後の応答の入力トークン、キャッシュ読み取りトークン、キャッシュ作成トークン、出力トークンの合計です。最初の応答の前は `0` |

3639| `prompt_cache_warm` | boolean | 現在のモデルのプロンプトキャッシュがまだウォームである可能性が高いかどうか。つまり、切り替えによってキャッシュが失われるかどうか |3665| `prompt_cache_warm` | boolean | 現在のモデルのプロンプトキャッシュがまだウォームである可能性が高いかどうか。つまり、切り替えによってそれが失われるかどうか |

3640| `cache_ttl` | string | Claude Code がこのセッションで要求する[プロンプトキャッシュの有効期間](/docs/ja/prompt-caching#cache-lifetime)。`"5m"` または `"1h"` |3666| `cache_ttl` | string | Claude Code がこのセッションで要求する[プロンプトキャッシュの有効期間](/docs/ja/prompt-caching#cache-lifetime)。`"5m"` または `"1h"` |

3641| `estimated_cache_write_usd` | number | `to_model` で `context_tokens` を `cache_ttl` の料金でプロンプトキャッシュに書き込む推定コスト(米ドル)。次の応答は含みません。サーバーがコンテキスト全体を再キャッシュする必要がない場合もあるため、推定値として扱ってください |3667| `estimated_cache_write_usd` | number | `to_model` で `context_tokens` を `cache_ttl` の料金でプロンプトキャッシュに書き込む推定コスト(米ドル)。次の応答は含みません。サーバーがコンテキスト全体を再キャッシュする必要がない場合もあるため、推定値として扱ってください |

3642| `pricing` | string | Claude Code が `estimated_cache_write_usd` を算出した方法。組織が独自の料金を設定している場合はその料金による `"configured"`、定価による `"catalog"`、または `to_model` の価格が不明で Claude Code がデフォルトの料金を想定した場合は `"default"` |3668| `pricing` | string | Claude Code が `estimated_cache_write_usd` を算出した方法。組織が独自の料金を設定している場合はその料金による `"configured"`、定価による `"catalog"`、または `to_model` の価格が不明で Claude Code がデフォルトの料金を仮定した場合は `"default"` |

3643 3669 

3644この例は、Sonnet 5 で実行中のセッションで `/model opus` を実行した場合の入力を示しています。3670次の例は、Sonnet 5 で実行中のセッションで `/model opus` を実行した場合の入力を示しています。

3645 3671 

3646```json theme={null}3672```json theme={null}

3647{3673{


3662```3688```

3663 3689 

3664<h4 id="premodelswitch-decision-control">3690<h4 id="premodelswitch-decision-control">

3665 PreModelSwitch の決定制御3691 PreModelSwitch の判定の制御

3666</h4>3692</h4>

3667 3693 

3668`PreModelSwitch` フックは、切り替えをキャンセルしたり、ユーザーに確認を求めたり、そのまま続行させたりできます。終了コード 2 またはトップレベルの `decision: "block"` で切り替えがキャンセルされます。3694`PreModelSwitch` フックは、切り替えをキャンセルしたり、ユーザーに確認を求めたり、そのまま続行させたりできます。終了コード 2 またはトップレベルの `decision: "block"` で切り替えがキャンセルされます。

3669 3695 

3670より細かく制御するには、[PreToolUse](#pretooluse-decision-control) と同様に、`hookSpecificOutput` オブジェクト内で `permissionDecision` と `permissionDecisionReason` を返します。`PreModelSwitch` は `"allow"`、`"deny"`、`"ask"` を受け付けます。`"defer"`、`updatedInput`、`additionalContext` は受け付けません。以下の表で両フィールドを説明します。3696より細かく制御するには、[PreToolUse](#pretooluse-decision-control) と同様に、`hookSpecificOutput` オブジェクトで `permissionDecision` と `permissionDecisionReason` を返します。`PreModelSwitch` は `"allow"`、`"deny"`、`"ask"` を受け付けます。`"defer"`、`updatedInput`、`additionalContext` は受け付けません。次の表で両方のフィールドについて説明します。

3671 3697 

3672| フィールド | 説明 |3698| フィールド | 説明 |

3673| :- | :- |3699| :- | :- |

3674| `permissionDecision` | `"allow"` は続行し、[プロンプトキャッシュがウォームな間に Claude Code が表示する確認](/docs/ja/prompt-caching#switching-models)をスキップします。`"deny"` は切り替えをキャンセルします。`"ask"` はユーザーに確認を求めます |3700| `permissionDecision` | `"allow"` は続行し、[プロンプトキャッシュがウォームな間に Claude Code が表示する確認](/docs/ja/prompt-caching#switching-models)をスキップします。`"deny"` は切り替えをキャンセルします。`"ask"` はユーザーに確認を求めます |

3675| `permissionDecisionReason` | `"deny"` の場合、切り替えがブロックされた理由としてユーザーに表示されるか、`set_model` リクエストに対するエラーとして返されます。`"ask"` の場合、確認プロンプトに表示されます。`"allow"` の場合は無視されます |3701| `permissionDecisionReason` | `"deny"` の場合は、切り替えがブロックされた理由としてユーザーに表示されるか、`set_model` リクエストのエラーとして返されます。`"ask"` の場合は、確認プロンプトに表示されます。`"allow"` の場合は無視されます |

3676 3702 

3677`"ask"` のプロンプトを表示できるのは、対話セッションでの `/model` のみです。`-p` フラグを使用する非対話モード、`/config`、`set_model` リクエストなど、その他のすべてのサーフェスでは、Claude Code は `"ask"` を拒否として扱います。3703`"ask"` のプロンプトを表示できるのは、対話セッションの `/model` のみです。`-p` フラグを使った非対話モード、`/config`、`set_model` リクエストを含むその他すべてのサーフェスでは、Claude Code は `"ask"` を拒否として扱います。

3678 3704 

3679この例では、ユーザーに確認を求め、`context_tokens` のトークン数を引用しています。3705次の例は、`context_tokens` のトークン数を引用してユーザーに確認を求めます。

3680 3706 

3681```json theme={null}3707```json theme={null}

3682{3708{


3688}3714}

3689```3715```

3690 3716 

3691複数の PreModelSwitch フックが異なる決定を返した場合、優先順位は `deny` > `ask` > `allow` です。3717複数の PreModelSwitch フックが異なる判定を返した場合、優先順位は `deny` > `ask` > `allow` です。

3692 3718 

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

3694 3720 

3695タイムアウトまでに応答しない PreModelSwitch フックは、切り替えをブロックします。他のイベントでのタイムアウトの動作については、[タイムアウト](#timeouts)を参照してください。このイベントのデフォルトのタイムアウトは 30 秒です。`PreModelSwitch` は `command`、`http`、`mcp_tool` フックのみを実行するため、`prompt` と `agent` のデフォルトは適用されません。3721タイムアウトまでに応答しない PreModelSwitch フックは、切り替えをブロックします。ほかのイベントでタイムアウトがどう作用するかについては、[タイムアウト](#timeouts)を参照してください。このイベントのデフォルトのタイムアウトは 30 秒です。`PreModelSwitch` は `command`、`http`、`mcp_tool` のフックのみを実行するため、`prompt` と `agent` のデフォルトは適用されません。

3696 3722 

36970 または 2 以外のコードで終了し、JSON の決定を出力しないフックは、[その他の終了コード](#other-exit-codes)で説明されているように、非ブロッキングエラーになります。37230 または 2 以外のコードで終了し、JSON の判定を出力しないフックは、[その他の終了コード](#other-exit-codes)で説明しているとおり、ブロックしないエラーになります。

3698 3724 

3699<h3 id="postmodelswitch">3725<h3 id="postmodelswitch">

3700 PostModelSwitch3726 PostModelSwitch

3701</h3>3727</h3>

3702 3728 

3703セッションのモデルが変更された後に実行されます。すべての CLAUDE.md を編集することなく、Claude にモデル固有のガイダンスを与えるために使用します。例えば、特定のモデルに適用される組織全体の指示などです。3729セッションのモデルが変わった後に実行されます。すべての CLAUDE.md を編集することなく、モデル固有のガイダンスを Claude に与えるために使用します。たとえば、特定のモデルに適用される組織全体の指示などです。

3704 3730 

3705PostModelSwitch には Claude Code v2.1.251 以降が必要です。モデルはすでに変更されているため、ブロックすることはできません。Claude Code は、次のいずれかの変更の後に PostModelSwitch フックを実行します。3731PostModelSwitch には Claude Code v2.1.251 以降が必要です。モデルはすでに変わっているため、ブロックすることはできません。Claude Code は、次のいずれかの変更の後に PostModelSwitch フックを実行します。

3706 3732 

3707* ユーザーまたはクライアントが要求した切り替え3733* ユーザーまたはクライアントが要求した切り替え

3708* セッションのモデルを変更する[自動モデルフォールバック](/docs/ja/model-config#automatic-model-fallback)3734* セッションのモデルを変更する[モデルの自動フォールバック](/docs/ja/model-config#automatic-model-fallback)

3709* [`opusplan`](/docs/ja/model-config#opusplan-model-setting) などの設定による plan モードへの移行または plan モードからの離脱3735* [`opusplan`](/docs/ja/model-config#opusplan-model-setting) のような設定による plan モードへの移行または plan モードからの離脱

3710* セッション再開時の Claude Code によるモデルの復元3736* セッション再開時に Claude Code がモデルを復元した場合

3711 3737 

3712[フォールバックモデルチェーン](/docs/ja/model-config#fallback-model-chains)のモデルがターンを処理する場合、Claude Code は PostModelSwitch フックを実行しません。この代替は 1 ターンのみ続き、セッションのモデルは変更されないためです。3738[フォールバックモデルチェーン](/docs/ja/model-config#fallback-model-chains)のモデルがターンを処理する場合、Claude Code は PostModelSwitch フックを実行しません。その置き換えは 1 ターンだけのもので、セッションのモデルは変わらないためです。

3713 3739 

3714matcher は [PreModelSwitch](#premodelswitch) と同じルールに従います。Claude Code は、セッションの切り替え先モデルの正規名と matcher を比較します。3740matcher は [PreModelSwitch](#premodelswitch) と同じルールに従います。Claude Code は、セッションの切り替え先モデルの正規名と matcher を比較します。

3715 3741 

3716この例では、セッションのモデルがいずれかの Opus モデルに変わるたびにガイダンスを追加します。3742次の例は、セッションのモデルがいずれかの Opus モデルに変わるたびにガイダンスを追加します。

3717 3743 

3718```json theme={null}3744```json theme={null}

3719{3745{


3733}3759}

3734```3760```

3735 3761 

3736フックが機能することを確認するには、別のモデルで実行中のセッションから Opus モデルに切り替え(例えば Sonnet のセッションから `/model opus` を実行し)、現在のモデルについてどのようなガイダンスがあるかを Claude に尋ねます。3762フックが動作することを確認するには、別のモデルで実行中のセッションから Opus モデルに切り替え(たとえば Sonnet のセッションから `/model opus` を実行し)、現在のモデルについてどのようなガイダンスがあるか Claude に尋ねます。

3737 3763 

3738<h4 id="postmodelswitch-input">3764<h4 id="postmodelswitch-input">

3739 PostModelSwitch の入力3765 PostModelSwitch の入力

3740</h4>3766</h4>

3741 3767 

3742PostModelSwitch フックは [PreModelSwitch](#premodelswitch-input) と同じフィールドを受け取ります。ただし、`hook_event_name` は `"PostModelSwitch"` に設定され、`source` の値が 2 つ追加されます。自動フォールバックまたは Claude Code が自ら行ったその他の変更の場合は `"auto"`、セッション再開時に復元されたモデルの場合は `"resume"` です。3768PostModelSwitch フックは [PreModelSwitch](#premodelswitch-input) と同じフィールドを受け取ります。ただし、`hook_event_name` は `"PostModelSwitch"` に設定され、`source` の値が 2 つ追加されます。自動フォールバックや Claude Code が自身で行ったその他の変更の場合は `"auto"`、セッション再開時に復元されたモデルの場合は `"resume"` です。

3743 3769 

3744`source` が `"auto"` の場合、`requested_model` は `null` です。`source` が `"resume"` の場合は、Claude Code が復元した保存済みのモデル設定になります。3770`source` が `"auto"` の場合、`requested_model` は `null` です。`source` が `"resume"` の場合は、Claude Code が復元した保存済みのモデル設定になります。

3745 3771 

3746<h4 id="postmodelswitch-decision-control">3772<h4 id="postmodelswitch-decision-control">

3747 PostModelSwitch の決定制御3773 PostModelSwitch の判定の制御

3748</h4>3774</h4>

3749 3775 

3750Claude Code は、終了コード 0 のときのフックの[プレーンテキストの stdout](#exit-code-0)、または JSON 出力の `additionalContext` を受け取り、切り替え後の次のリクエストとともに Claude に渡します。すべてのフックで使用できる [JSON 出力フィールド](#json-output)に加えて、次のフィールドを返すことができます。3776Claude Code は、終了コード 0 の場合のフックの[プレーンテキストの stdout](#exit-code-0)、または JSON 出力の `additionalContext` を受け取り、切り替え後の次のリクエストで Claude に届けます。すべてのフックで使用できる [JSON 出力フィールド](#json-output)に加えて、次を返すことができます。

3751 3777 

3752| フィールド | 説明 |3778| フィールド | 説明 |

3753| :- | :- |3779| :- | :- |

3754| `additionalContext` | 次のリクエストとともに Claude のコンテキストに追加される文字列。[Claude のコンテキストを追加する](#add-context-for-claude)を参照してください |3780| `additionalContext` | 次のリクエストで Claude のコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |

3755 3781 

3756次のプロンプトを送信してから 5 秒以内にフックが完了しない場合、Claude Code はその出力なしでリクエストを送信し、代わりにその次のリクエストに出力を添付します。次のリクエストの前にモデルが複数回変更された場合、Claude Code は最後の切り替え先モデルに対する出力のみを渡します。3782次のプロンプトを送信してから 5 秒以内にフックが完了しない場合、Claude Code はその出力なしでリクエストを送信し、代わりにその次のリクエストに出力を添付します。次のリクエストまでにモデルが複数回変わった場合、Claude Code は最後の切り替え先モデルに対する出力のみを届けます。

3757 3783 

3758<h3 id="sessionend">3784<h3 id="sessionend">

3759 SessionEnd3785 SessionEnd

3760</h3>3786</h3>

3761 3787 

3762Claude Code のセッションが終了するときに実行されます。クリーンアップタスク、セッション統計のログ記録、セッション状態の保存に役立ちます。終了理由でフィルタリングするための matcher をサポートしています。3788Claude Code のセッションが終了したときに実行されます。クリーンアップタスク、セッション統計のログ記録、

3789セッション状態の保存に役立ちます。終了理由で絞り込むための matcher をサポートしています。

3763 3790 

3764フック入力の `reason` フィールドは、セッションが終了した理由を示します。3791フックの入力の `reason` フィールドは、セッションが終了した理由を示します。

3765 3792 

3766| 理由 | 説明 |3793| 理由 | 説明 |

3767| :- | :- |3794| :- | :- |

3768| `clear` | `/clear` コマンドでセッションがクリアされた |3795| `clear` | `/clear` コマンドでセッションがクリアされた |

3769| `resume` | 対話型の `/resume` でセッションが切り替えられた |3796| `resume` | 対話的な `/resume` でセッションが切り替えられた |

3770| `logout` | ユーザーがログアウトした |3797| `logout` | ユーザーがログアウトした |

3771| `prompt_input_exit` | プロンプト入力が表示されている間にユーザーが終了した |3798| `prompt_input_exit` | プロンプト入力が表示されている間にユーザーが終了した |

3772| `other` | その他の終了理由 |3799| `other` | その他の終了理由 |

3773| `bypass_permissions_disabled` | v2.1.234 で削除されました。Claude Code はこの値を送信しません。`SessionEnd` の matcher から削除してください |3800| `bypass_permissions_disabled` | v2.1.234 で削除されました。Claude Code はこれを送信しません。`SessionEnd` の matcher から削除してください |

3774 3801 

3775<h4 id="sessionend-input">3802<h4 id="sessionend-input">

3776 SessionEnd の入力3803 SessionEnd の入力


3788}3815}

3789```3816```

3790 3817 

3791SessionEnd フックには決定制御がありません。セッションの終了をブロックすることはできませんが、クリーンアップタスクを実行できます。Claude Code は、`systemMessage` などのフックの [JSON 出力フィールド](#json-output)を破棄します。3818SessionEnd フックには判定の制御がありません。セッションの終了をブロックすることはできませんが、クリーンアップタスクを実行できます。Claude Code は、`systemMessage` などの [JSON 出力フィールド](#json-output)を破棄します。

3792 3819 

3793SessionEnd フックのデフォルトのタイムアウトは 1.5 秒です。これは、終了時、`/clear` の実行時、または対話型の `/resume` でセッションを切り替えたときに適用されます。フックにより多くの時間を与えるには、次の 2 つの方法があります。3820SessionEnd フックのデフォルトのタイムアウトは 1.5 秒です。これは、終了したとき、`/clear` を実行したとき、または対話的な `/resume` でセッションを切り替えたときに適用されます。フックにより多くの時間を与えるには、次の 2 つの方法があります。

3794 3821 

3795* **フックごとの `timeout`**: そのフックの設定で `timeout` を設定します。全体の制限時間は、設定ファイル内のフックごとの `timeout` の最大値に合わせて、最大 60 秒まで自動的に引き上げられます。この方法で制限時間を引き上げた場合でも、独自の `timeout` を持たないフックはデフォルトのままです。プラグインが提供するフックに設定されたタイムアウトでは、制限時間は引き上げられません。3822* **フックごとの `timeout`**: そのフックの設定で `timeout` を設定します。全体の予算は、設定ファイル内のフックごとの `timeout` の最大値に合わせて、最大 60 秒まで自動的に引き上げられます。この方法で予算を引き上げた場合でも、独自の `timeout` を持たないフックはデフォルトのままです。プラグインが提供するフックに設定されたタイムアウトは、予算を引き上げません。

3796* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`**: この環境変数をミリ秒単位で設定して、制限時間を明示的に上書きします。設定した値は、独自の `timeout` を持たない各フックのタイムアウトにもなります。3823* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`**: この環境変数をミリ秒単位で設定すると、予算を明示的に上書きできます。設定した値は、独自の `timeout` を持たない各フックのタイムアウトにもなります。

3797 3824 

3798この例では、制限時間を 5 秒に設定します。3825次の例は予算を 5 秒に設定します。

3799 3826 

3800```bash theme={null}3827```bash theme={null}

3801CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude3828CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude

3802```3829```

3803 3830 

3804v2.1.268 より前は、`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` は全体の制限時間のみを引き上げ、独自の `timeout` を持たないフックは 1.5 秒後にキャンセルされていました。3831v2.1.268 より前は、`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` は全体の予算だけを引き上げ、独自の `timeout` を持たないフックは引き続き 1.5 秒後にキャンセルされていました。

3805 3832 

3806<h3 id="elicitation">3833<h3 id="elicitation">

3807 Elicitation3834 Elicitation

3808</h3>3835</h3>

3809 3836 

3810MCP サーバーがタスクの途中でユーザー入力を要求したときに実行されます。デフォルトでは、Claude Code はユーザーが応答するための対話ダイアログを表示します。フックはこのリクエストをインターセプトしてプログラムで応答し、ダイアログを完全にスキップできます。3837MCP サーバーがタスクの途中でユーザー入力を要求したときに実行されます。デフォルトでは、Claude Code はユーザーが応答するための対話的なダイアログを表示します。フックはこのリクエストをインターセプトしてプログラムで応答し、ダイアログを完全にスキップできます。

3811 3838 

3812設定エントリとスクリプトを含む完全なフックについては、[スクリプトからフォームリクエストに回答する](#answer-a-form-request-from-a-script)を参照してください。3839設定エントリとスクリプトを含む完全なフックについては、[スクリプトからフォームリクエストに回答する](#answer-a-form-request-from-a-script)を参照してください。

3813 3840 

3814matcher フィールドは MCP サーバー名と照合されます。3841matcher フィールドは MCP サーバー名に対して照合されます。

3815 3842 

3816<h4 id="elicitation-input">3843<h4 id="elicitation-input">

3817 Elicitation の入力3844 Elicitation の入力


3858 Elicitation の出力3885 Elicitation の出力

3859</h4>3886</h4>

3860 3887 

3861Elicitation フックは、ユーザーの代わりにリクエストに回答したり、辞退またはキャンセルしたり、ダイアログに任せたりできます。回答、辞退、またはキャンセルするには、0 で終了し、`action` を含む `hookSpecificOutput` オブジェクトを出力します。サーバーは回答を受け取り、ダイアログは表示されません。この表の各行は、1 つの結果に対して返す内容と、MCP サーバーが受け取る内容を示しています。3888Elicitation フックは、ユーザーの代わりにリクエストに回答したり、辞退またはキャンセルしたり、ダイアログに任せたりできます。回答、辞退、キャンセルを行うには、0 で終了し、`action` を含む `hookSpecificOutput` オブジェクトを出力します。サーバーは回答を受け取り、ダイアログは表示されません。この表の各行は、1 つの結果について何を返すか、MCP サーバーが何を受け取るかを示しています。

3862 3889 

3863| 目的 | 返す内容 | サーバーが受け取る内容 |3890| 目的 | 返す内容 | サーバーが受け取るもの |

3864| :- | :- | :- |3891| :- | :- | :- |

3865| ユーザーの代わりに回答する | `"action": "accept"` と、`content` 内のフォームフィールドの値 | `accept` と指定した `content` |3892| ユーザーの代わりに回答する | `"action": "accept"` と、`content` 内のフォームフィールドの値 | 指定した `content` を伴う `accept` |

3866| リクエストを辞退する | `"action": "decline"` | `decline` |3893| リクエストを辞退する | `"action": "decline"` | `decline` |

3867| リクエストをキャンセルする | `"action": "cancel"` | `cancel` |3894| リクエストをキャンセルする | `"action": "cancel"` | `cancel` |

3868| リクエストをユーザーに任せる | 出力なし、終了コード 0 | [ダイアログ](/docs/ja/mcp#respond-to-mcp-elicitation-requests)でのユーザーの回答 |3895| リクエストをユーザーに任せる | 出力なし、終了コード 0 | [ダイアログ](/docs/ja/mcp#respond-to-mcp-elicitation-requests)でのユーザーの回答 |

3869 3896 

3870この出力は、[Elicitation の入力](#elicitation-input)で示したフォームモードのリクエストに回答します。`content` のキーは、そのリクエストの `requested_schema` のプロパティ名です。3897次の出力は、[Elicitation の入力](#elicitation-input)で示したフォームモードのリクエストに回答します。`content` のキーは、そのリクエストの `requested_schema` のプロパティ名です。

3871 3898 

3872```json theme={null}3899```json theme={null}

3873{3900{


3881}3908}

3882```3909```

3883 3910 

3884この出力はリクエストを辞退します。3911次の出力はリクエストを辞退します。

3885 3912 

3886```json theme={null}3913```json theme={null}

3887{3914{


3894 3921 

3895ダイアログでは、**Decline** を選択すると `decline` が送信され、`Esc` を押すと `cancel` が送信されます。サーバーに見せたいほうを返してください。3922ダイアログでは、**Decline** を選択すると `decline` が送信され、`Esc` を押すと `cancel` が送信されます。サーバーに見せたいほうを返してください。

3896 3923 

3897URL モードのリクエストの場合、`accept` を返すフックはダイアログをスキップするため、URL は開かれません。3924URL モードのリクエストでは、`accept` を返すフックはダイアログをスキップするため、URL は開かれません。

3898 3925 

3899Claude Code は、どの `action` を返した場合でも、Elicitation フックの JSON 出力から `reason`、`systemMessage`、`continue` を破棄します。3926Claude Code は、どの `action` を返した場合でも、Elicitation フックの JSON 出力の `reason`、`systemMessage`、`continue` を破棄します。

3900 3927 

3901<h4 id="other-ways-to-decline-an-elicitation">3928<h4 id="other-ways-to-decline-an-elicitation">

3902 elicitation を辞退するその他の方法3929 elicitation を辞退するその他の方法


3907* **終了コード 2 で終了する**: Claude Code は同じフックが出力した `hookSpecificOutput` を無視します3934* **終了コード 2 で終了する**: Claude Code は同じフックが出力した `hookSpecificOutput` を無視します

3908* **トップレベルの `"decision": "block"` を出力する**: ブロックは同じ出力内の `action` を上書きします3935* **トップレベルの `"decision": "block"` を出力する**: ブロックは同じ出力内の `action` を上書きします

3909 3936 

3910複数のフックが同じリクエストに一致する場合、いずれかのフックによる辞退は、他のフックによる `accept` や `cancel` を上書きします。3937複数のフックが同じリクエストに一致した場合、いずれかのフックによる辞退は、ほかのフックの `accept` や `cancel` を上書きします。

3911 3938 

3912このスクリプトは、URL モードのリクエストを辞退し、フォームリクエストはダイアログに任せます。3939次のスクリプトは、URL モードのリクエストを辞退し、フォームのリクエストはダイアログに任せます。

3913 3940 

3914```bash theme={null}3941```bash theme={null}

3915#!/bin/bash3942#!/bin/bash


3918fi3945fi

3919```3946```

3920 3947 

3921Claude Code は stderr や `reason` を表示しないため、ユーザーもサーバーもフックが辞退した理由を知ることはできません。3948Claude Code は stderr も `reason` も表示しないため、ユーザーもサーバーもフックが辞退した理由を知ることはできません。

3922 3949 

3923v2.1.105 から v2.1.284 で修正されるまで、Claude Code は `Elicitation` および `ElicitationResult` フックのトップレベルの `decision` を無視していました。3950Claude Code は、v2.1.105 から v2.1.284 で修正されるまで、`Elicitation` フックと `ElicitationResult` フックのトップレベルの `decision` を無視していました。

3924 3951 

3925<h4 id="answer-a-form-request-from-a-script">3952<h4 id="answer-a-form-request-from-a-script">

3926 スクリプトからフォームリクエストに回答する3953 スクリプトからフォームリクエストに回答する


3951 }3978 }

3952 ```3979 ```

3953 3980 

3954 このスクリプトをプロジェクトの `.claude/hooks/answer-project-key.sh` に保存し、`chmod +x` で実行可能にします。3981 このスクリプトをプロジェクト内の `.claude/hooks/answer-project-key.sh` に保存し、`chmod +x` で実行可能にします。

3955 3982 

3956 ```bash theme={null}3983 ```bash theme={null}

3957 #!/bin/bash3984 #!/bin/bash


3992 }4019 }

3993 ```4020 ```

3994 4021 

3995 このスクリプトをプロジェクトの `.claude/hooks/answer-project-key.ps1` に保存します。4022 このスクリプトをプロジェクト内の `.claude/hooks/answer-project-key.ps1` に保存します。

3996 4023 

3997 ```powershell theme={null}4024 ```powershell theme={null}

3998 $request = [Console]::In.ReadToEnd() | ConvertFrom-Json4025 $request = [Console]::In.ReadToEnd() | ConvertFrom-Json


4011 </Tab>4038 </Tab>

4012</Tabs>4039</Tabs>

4013 4040 

4014フックが機能することを確認するには、`claude --debug` で Claude Code を起動し、サーバーがプロジェクトキーを尋ねるようなタスクを Claude に与えます。ダイアログは表示されず、[デバッグログ](#debug-hooks)に `Elicitation resolved by hook: {"action":"accept","content":{"project_key":"DOCS"}}` で終わる行が記録されます。4041フックが動作することを確認するには、`claude --debug` で Claude Code を起動し、サーバーがプロジェクトキーを尋ねるようなタスクを Claude に与えます。ダイアログは表示されず、[デバッグログ](#debug-hooks)に `Elicitation resolved by hook: {"action":"accept","content":{"project_key":"DOCS"}}` で終わる行が記録されます。

4015 4042 

4016<h3 id="elicitationresult">4043<h3 id="elicitationresult">

4017 ElicitationResult4044 ElicitationResult

4018</h3>4045</h3>

4019 4046 

4020ユーザーが MCP の elicitation に応答した後に実行されます。フックは、応答が MCP サーバーに返される前に、その応答を監視、変更、またはブロックできます。4047ユーザーが MCP の elicitation に応答した後に実行されます。フックは、応答が MCP サーバーに送り返される前に、それを監視、変更、またはブロックできます。

4021 4048 

4022[Elicitation](#elicitation) フックがリクエストに回答した場合、Claude Code は ElicitationResult フックを実行せずにその回答をサーバーに送信します。4049[Elicitation](#elicitation) フックがリクエストに回答した場合、Claude Code は ElicitationResult フックを実行せずにその回答をサーバーに送信します。

4023 4050 

4024matcher フィールドは MCP サーバー名と照合されます。4051matcher フィールドは MCP サーバー名に対して照合されます。

4025 4052 

4026<h4 id="elicitationresult-input">4053<h4 id="elicitationresult-input">

4027 ElicitationResult の入力4054 ElicitationResult の入力


4046 ElicitationResult の出力4073 ElicitationResult の出力

4047</h4>4074</h4>

4048 4075 

4049ElicitationResult フックは、ユーザーの応答をそのまま通過させたり、その値を変更したり、ブロックしたりできます。応答を変更またはブロックするには、0 で終了し、`action` を含む `hookSpecificOutput` オブジェクトを出力します。この表の各行は、1 つの結果に対して返す内容と、MCP サーバーが受け取る内容を示しています。4076ElicitationResult フックは、ユーザーの応答をそのまま通したり、その値を変更したり、ブロックしたりできます。応答を変更またはブロックするには、0 で終了し、`action` を含む `hookSpecificOutput` オブジェクトを出力します。この表の各行は、1 つの結果について何を返すか、MCP サーバーが何を受け取るかを示しています。

4050 4077 

4051| 目的 | 返す内容 | サーバーが受け取る内容 |4078| 目的 | 返す内容 | サーバーが受け取るもの |

4052| :- | :- | :- |4079| :- | :- | :- |

4053| 応答を通過させる | 出力なし、終了コード 0 | 変更されていないユーザーの応答 |4080| 応答をそのまま通す | 出力なし、終了コード 0 | 変更されていないユーザーの応答 |

4054| 送信された値を変更する | `"action": "accept"` と、`content` 内の新しい値 | `accept` と、ユーザーの値の代わりに指定した `content` |4081| 送信された値を変更する | `"action": "accept"` と、`content` 内の新しい値 | ユーザーの値の代わりに指定した `content` を伴う `accept` |

4055| 応答をブロックする | `"action": "decline"` | ユーザーの値を含まない `decline` |4082| 応答をブロックする | `"action": "decline"` | ユーザーの値を含まない `decline` |

4056| リクエストをキャンセルする | `"action": "cancel"` | `cancel` と、ユーザーが送信した値。値を送らないようにするには `"decline"` を返します |4083| リクエストをキャンセルする | `"action": "cancel"` | ユーザーが送信した値を伴う `cancel`。値を渡さないようにするには `"decline"` を返してください |

4057 4084 

4058この出力は、[ElicitationResult の入力](#elicitationresult-input)で示した応答を変更し、ユーザーが `alice` を送信したところでサーバーが `alice@example.com` を受け取るようにします。4085次の出力は [ElicitationResult の入力](#elicitationresult-input)で示した応答を変更し、ユーザーが `alice` と送信したところをサーバーが `alice@example.com` として受け取るようにします。

4059 4086 

4060```json theme={null}4087```json theme={null}

4061{4088{


4071 4098 

4072指定した `content` はユーザーの `content` オブジェクト全体を置き換えるため、変更しないフィールドも含めてください。Claude Code は `action` のない `hookSpecificOutput` を無視するため、`action` も一緒に返してください。4099指定した `content` はユーザーの `content` オブジェクト全体を置き換えるため、変更しないフィールドも含めてください。Claude Code は `action` のない `hookSpecificOutput` を無視するため、`action` も一緒に返してください。

4073 4100 

4074ElicitationResult フックはユーザーが辞退またはキャンセルした場合にも実行され、フックの `action` がユーザーの action を置き換えます。`accept` を返す前に入力の `action` が `accept` であることを確認してください。確認しないと、フックが辞退されたリクエストを受け入れられたリクエストに変えてしまいます。このスクリプトは、ユーザーが受け入れた場合に同じ変更を行い、他のフィールドは保持し、それ以外の場合は何も出力しません。4101ElicitationResult フックはユーザーが辞退またはキャンセルした場合にも実行され、フックの `action` がユーザーのものを置き換えます。`accept` を返す前に入力の `action` が `accept` であることを確認してください。そうしないと、フックが辞退されたリクエストを受け入れられたものに変えてしまいます。次のスクリプトは、ユーザーが受け入れた場合に同じ変更を行い、ほかのフィールドは保持し、それ以外の場合は何も出力しません。

4075 4102 

4076```bash theme={null}4103```bash theme={null}

4077#!/bin/bash4104#!/bin/bash


4082fi4109fi

4083```4110```

4084 4111 

4085この出力は応答をブロックします。4112次の出力は応答をブロックします。

4086 4113 

4087```json theme={null}4114```json theme={null}

4088{4115{


4095 4122 

4096終了コード 2 とトップレベルの `"decision": "block"` でも応答をブロックできます。フックがこれらを組み合わせた場合にどれが有効になるか、ユーザーに何が表示されるか、どのバージョンが `decision` を無視していたかについては、[elicitation を辞退するその他の方法](#other-ways-to-decline-an-elicitation)で説明しています。4123終了コード 2 とトップレベルの `"decision": "block"` でも応答をブロックできます。フックがこれらを組み合わせた場合にどれが有効になるか、ユーザーに何が表示されるか、どのバージョンが `decision` を無視していたかについては、[elicitation を辞退するその他の方法](#other-ways-to-decline-an-elicitation)で説明しています。

4097 4124 

4098Claude Code は、どの `action` を返した場合でも、ElicitationResult フックの JSON 出力から `reason`、`systemMessage`、`continue` を破棄します。4125Claude Code は、どの `action` を返した場合でも、ElicitationResult フックの JSON 出力の `reason`、`systemMessage`、`continue` を破棄します。

4099 4126 

4100<h2 id="prompt-based-hooks">4127<h2 id="prompt-based-hooks">

4101 プロンプト ベースのフック4128 プロンプト ベースのフック


4350* **stdout に単独で出力**: レスポンスが stdout 上の唯一のテキストである場合、整形された `jq` 出力のように複数行にまたがってもかまいません。複数行にまたがるには Claude Code v2.1.295 以降が必要です。4377* **stdout に単独で出力**: レスポンスが stdout 上の唯一のテキストである場合、整形された `jq` 出力のように複数行にまたがってもかまいません。複数行にまたがるには Claude Code v2.1.295 以降が必要です。

4351* **それ自体だけの 1 行として出力**: `jq -c` を使用するなどしてレスポンスが単独で 1 行に収まる場合、非同期フックは stdout に他のテキストを出力できます。4378* **それ自体だけの 1 行として出力**: `jq -c` を使用するなどしてレスポンスが単独で 1 行に収まる場合、非同期フックは stdout に他のテキストを出力できます。

4352 4379 

4353Claude Code は JSON レスポンスを同期フックと同じ[出力スキーマ](#json-output)に対して検証し、`systemMessage` が文字列でないなど、値の型が間違っているフィールドをドロップします。これは配信する代わりに行われます。`--debug` で実行すると、ドロップされた各フィールドに名前を付けた警告が表示されます。v2.1.202 より前では、非同期フックからの不正な形式の JSON 出力はセッションをクラッシュさせる可能性があり、セッションが再開されるたびにクラッシュが再発生していました。4380Claude Code はその JSON レスポンスを同期フックと同じ[出力スキーマ](#json-output)に対して検証し、`systemMessage` が文字列でない場合など、値の型が間違っているフィールドは配信せずにドロップします。`--debug` で実行すると、ドロップされた各フィールドの名前を示す警告が表示されます。

4354 4381 

4355非同期フック完了通知はデフォルトで抑制されます。これらを表示するには、`Ctrl+O` で詳細モードを有効にするか、`--verbose` で Claude Code を開始します。4382非同期フック完了通知はデフォルトで抑制されます。これらを表示するには、`Ctrl+O` で詳細モードを有効にするか、`--verbose` で Claude Code を開始します。

4356 4383 

Details

491 491 

492組織全体でプロンプト提案をオフにするには、[managed settings](/docs/ja/managed-settings) で `promptSuggestionEnabled` を `false` に設定します。また、ユーザーが独自の環境変数で再度有効にできないように、managed [`env`](/docs/ja/settings-reference#env) キーの下で `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` を `false` に設定します。492組織全体でプロンプト提案をオフにするには、[managed settings](/docs/ja/managed-settings) で `promptSuggestionEnabled` を `false` に設定します。また、ユーザーが独自の環境変数で再度有効にできないように、managed [`env`](/docs/ja/settings-reference#env) キーの下で `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` を `false` に設定します。

493 493 

494<h2 id="you-should-know-suggestions">

495 You should know の提案

496</h2>

497 

498「You should know」は、Claude が明示せずに選んだトレードオフや、誤っている可能性のある結果など、知っておくべきなのに見落としているかもしれない事柄を 1 つ探します。見つかると、プロンプト入力欄の上に短いメモを表示します。

499 

500```text theme={null}

501✦ Heads up · There was a change to how folder sharing starts in June, which may have bumped usage metrics artificially.

502 1: Learn more 2: Knew this already 0: Dismiss

503```

504 

505これは Claude Code の[組み込み mod](/docs/ja/plugins/mods/overview#mods-built-into-claude-code) の 1 つで、Claude Code に組み込まれたプラグインであり、デフォルトではオフになっています。Claude Code v2.1.287 以降が必要です。

506 

507オンになっている間は、Claude が長めのタスクを進めるにつれて、サイドエージェントが会話をときどき読み直します。サイドエージェントは同じモデルへの別のリクエストであり、ツールを持たないため、ファイルを読んだり、コマンドを実行したり、Claude の動作を変更したりすることはできません。

508 

509組織でこの mod が利用可能な場合、claude.ai アカウントまたは Console API キーで Claude API に直接接続していると、`/plugin` に表示されます。[LLM ゲートウェイ](/docs/ja/llm-gateway)や [Claude apps ゲートウェイ](/docs/ja/claude-apps-gateway)を介して接続している場合や、[`apiKeyHelper`](/docs/ja/settings-reference#apikeyhelper) からキーを取得している場合は表示されません。直接接続の場合でも、次のセッションでは表示されません。

510 

511* `DISABLE_TELEMETRY` が設定されているセッションなど、mod が依存する[機能フラグを取得しない](/docs/ja/env-vars#features-that-need-feature-flag-fetching)セッション

512* フラグがまだ届いていない、[インストールまたはアップグレード後の最初のセッション](/docs/ja/env-vars#first-session-after-an-install-or-upgrade)

513 

514オンにするには、Claude Code のプロンプトで次を実行します。

515 

516```text theme={null}

517/plugin enable cc-plugin-you-should-know@builtin

518```

519 

520`/plugin` に mod が表示されない環境では、有効化コマンドは `Plugin "cc-plugin-you-should-know@builtin" is not installed in this project` と応答します。

521 

522<h3 id="cost-of-checks">

523 チェックのコスト

524</h3>

525 

526mod がオンの間、チェックはセッションで使用しているのと同じモデルへのバックグラウンドリクエストであり、プランの使用制限または API コストにカウントされます。各チェックでは、Claude のコンテキストに既にあるもの、つまりツールの結果を含むこれまでの会話を送信し、その後に mod 自体の指示と最近のメモのテキストを送信します。会話部分は、Claude 自身の次のリクエストと同じ条件でセッションの[プロンプトキャッシュ](/docs/ja/prompt-caching)から読み取られます。数千トークンに及ぶ指示と、サイドエージェントの応答は、チェックのたびに全額課金されます。

527 

528チェックの実行を確認するには、Claude Code を起動する前にシェルで [`CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG=1`](/docs/ja/env-vars) を設定します。

529 

530<h3 id="answer-a-note">

531 メモに応答する

532</h3>

533 

534空のプロンプト入力欄に、選択肢の数字だけを入力します。メモには次の選択肢があります。

535 

536* **Learn more**:メモの下に短い説明を開き、独自の選択肢を表示します。

537 * **Understood**:説明を閉じ、そのトピックを既知としてマークします

538 * **Chat in main session**:メモをプロンプト入力欄に引用し、質問を追加して Claude に送信できるようにします

539 * **Dismiss**:トピックを既知としてマークせずに閉じます

540* **Knew this already**:メモを閉じ、そのトピックを既知としてマークします。

541* **Dismiss**:メモを閉じます。

542 

543**Chat in main session** で送信しない限り、メインエージェントはメモを見ることはありません。

544 

545Claude Code は、最近のメモと既知としてマークしたトピックを、`~/.claude/plugins/store/` の下にある `cc-plugin-you-should-know` で始まる名前のファイルに保存します。このセッションおよび以降のセッションの各チェックでは、これらを繰り返さないものとしてサイドエージェントに伝えます。どのセッションからも読み書きされないまま [`cleanupPeriodDays`](/docs/ja/settings-reference#cleanupperioddays) が経過すると、Claude Code はこのファイルを削除します。それより早く消去するには、セッションが実行されていないときにそのファイルを削除してください。

546 

547<h3 id="turn-off-you-should-know">

548 You should know をオフにする

549</h3>

550 

551You should know をオフにするには、次のいずれかを使用します。

552 

553* Claude Code のプロンプトで `/plugin disable cc-plugin-you-should-know@builtin` を実行するか、`/plugin` の **Installed** タブからオフにする

554* 先に **Learn more** を開かずにメモで **Dismiss** を選んだ後、20 秒後に消える `Dismissed.` の行で **Turn off suggestions** を選ぶ

555 

494<h2 id="emoji-shortcodes">556<h2 id="emoji-shortcodes">

495 絵文字ショートコード557 絵文字ショートコード

496</h2>558</h2>

Details

257 257 

258`sparsePaths` にはディレクトリをリストし、個別のファイルはリストしません。`package.json`、`tsconfig.base.json`、ロックファイルなどのルートレベルのファイルは、リストするディレクトリと一緒に常にチェックアウトされます。ルートレベルのディレクトリはそうではないため、ワークツリー内でリポジトリルートの `.claude/settings.json` または `.claude/rules/` を利用可能にしたい場合は、リストに `.claude` を含めます。プロジェクトスキル、エージェント、コマンドについては、[ワークツリーがメインチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout)を参照してください。258`sparsePaths` にはディレクトリをリストし、個別のファイルはリストしません。`package.json`、`tsconfig.base.json`、ロックファイルなどのルートレベルのファイルは、リストするディレクトリと一緒に常にチェックアウトされます。ルートレベルのディレクトリはそうではないため、ワークツリー内でリポジトリルートの `.claude/settings.json` または `.claude/rules/` を利用可能にしたい場合は、リストに `.claude` を含めます。プロジェクトスキル、エージェント、コマンドについては、[ワークツリーがメインチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout)を参照してください。

259 259 

260Sparse checkout では、sparse ワークツリーが存在する間、git がリポジトリの共有 `.git/config` で `extensions.worktreeConfig` を有効にする必要があります。Claude Code は最後のワークツリーが削除された後、そのエントリを削除しますが、Claude Code が追加した場合のみです。自分で設定した値は削除されません。v2.1.207 より前では、エントリは最後のワークツリーが削除された後も残り、`tea` などの go-git ベースのツールは `git config --unset extensions.worktreeConfig` を実行するまでリポジトリを開くことができませんでした。260Sparse checkout では、sparse worktree が存在する間、git がリポジトリの共有 `.git/config` で `extensions.worktreeConfig` を有効にする必要があります。Claude Code は最後の worktree が削除された後にそのエントリを削除しますが、それは Claude Code が追加した場合のみです。自分で設定した値が削除されることはありません。

261 261 

262`node_modules` などの大規模ディレクトリをワークツリー全体で複製するのを避けるには、同じ `.claude/settings.json` で `sparsePaths` を `symlinkDirectories` とペアにします。262`node_modules` などの大規模ディレクトリをワークツリー全体で複製するのを避けるには、同じ `.claude/settings.json` で `sparsePaths` を `symlinkDirectories` とペアにします。

263 263 

Details

518 518 

519ゲートウェイの認証情報を`ANTHROPIC_FOUNDRY_API_KEY`に入れます。これは`x-api-key`ヘッダーとしてゲートウェイに送信されます。ベアラートークンを期待するゲートウェイは、代わりに[`ANTHROPIC_FOUNDRY_AUTH_TOKEN`](/docs/ja/env-vars)を使用できます。Claude Code はその値を`Authorization: Bearer`ヘッダーとして送信し、両方が設定されている場合は`ANTHROPIC_FOUNDRY_API_KEY`よりも優先されます。Claude Code v2.1.203 以降が必要です。519ゲートウェイの認証情報を`ANTHROPIC_FOUNDRY_API_KEY`に入れます。これは`x-api-key`ヘッダーとしてゲートウェイに送信されます。ベアラートークンを期待するゲートウェイは、代わりに[`ANTHROPIC_FOUNDRY_AUTH_TOKEN`](/docs/ja/env-vars)を使用できます。Claude Code はその値を`Authorization: Bearer`ヘッダーとして送信し、両方が設定されている場合は`ANTHROPIC_FOUNDRY_API_KEY`よりも優先されます。Claude Code v2.1.203 以降が必要です。

520 520 

521独自の`Authorization`ヘッダーを挿入するゲートウェイの場合、`CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1`を設定し、両方の認証情報変数を設定しないままにします。Claude Code はその後、Azure 認証情報なしでリクエストを送信し、例えば`ANTHROPIC_CUSTOM_HEADERS`を通じて提供する`Authorization`ヘッダーを保持します。v2.1.203 より前では、API キーなしで`CLAUDE_CODE_SKIP_FOUNDRY_AUTH`を使用すると、Microsoft Foundry クライアントはリクエストを送信できなくなりました。521独自の`Authorization`ヘッダーを挿入するゲートウェイの場合、`CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1`を設定し、両方の認証情報変数を設定しないままにします。Claude Code はその後、Azure 認証情報なしでリクエストを送信し、例えば`ANTHROPIC_CUSTOM_HEADERS`を通じて提供する`Authorization`ヘッダーを保持します。

522 522 

523<Tabs>523<Tabs>

524 <Tab title="Bash or Zsh">524 <Tab title="Bash or Zsh">


587| エラー | 原因 | 修正 |587| エラー | 原因 | 修正 |

588| :- | :- | :- |588| :- | :- | :- |

589| 2 つの認証情報ソースという名前の起動警告で、`auth may not work as expected` で終わります。古いバージョンは代わりに `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` を表示します。 | ゲートウェイ認証情報と保存されたログインの両方がアクティブです。変数はリクエストに使用されますが、古いログインは予期しない認証動作を引き起こす可能性があります | 変数を設定解除して保存されたログインを使用するか、`/logout` を実行してゲートウェイ認証情報を使用します |589| 2 つの認証情報ソースという名前の起動警告で、`auth may not work as expected` で終わります。古いバージョンは代わりに `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` を表示します。 | ゲートウェイ認証情報と保存されたログインの両方がアクティブです。変数はリクエストに使用されますが、古いログインは予期しない認証動作を引き起こす可能性があります | 変数を設定解除して保存されたログインを使用するか、`/logout` を実行してゲートウェイ認証情報を使用します |

590| 無効または認識されないトークンという名前の `401` エラー | 認証情報はゲートウェイが発行したものではないか、ゲートウェイが読むヘッダーにあります | [認証情報テーブル](#set-the-credential-variable)で変数が認証情報の種類と一致することを確認し、ゲートウェイで失効した場合はキーを再生成します |590| 無効または認識されないトークンという名前の `401` エラー | 認証情報はゲートウェイが発行したものではないか、ゲートウェイが読まないヘッダーにあります | [認証情報テーブル](#set-the-credential-variable)で変数が認証情報の種類と一致することを確認し、ゲートウェイで失効した場合はキーを再生成します |

591| `Your apiKeyHelper script is failing`、または非対話型モードで stderr に `apiKeyHelper failed:` | [`apiKeyHelper`](/docs/ja/settings-reference#apikeyhelper) 設定のコマンドが使用可能なキーを生成しなかったため、リクエストはプレースホルダーキーを含みます | コマンドを直接実行して失敗の理由を確認し、期限切れセッションを報告する場合は認証情報プロバイダーで再認証します。[エラーリファレンス](/docs/ja/errors#your-apikeyhelper-script-is-failing)を参照してください |591| `Your apiKeyHelper script is failing`、または非対話型モードで stderr に `apiKeyHelper failed:` | [`apiKeyHelper`](/docs/ja/settings-reference#apikeyhelper) 設定のコマンドが使用可能なキーを生成しなかったため、リクエストはプレースホルダーキーを含みます | コマンドを直接実行して失敗の理由を確認し、期限切れセッションを報告する場合は認証情報プロバイダーで再認証します。[エラーリファレンス](/docs/ja/errors#your-apikeyhelper-script-is-failing)を参照してください |

592| アドレスで何も応答しない場合は `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)`、またはホスト名が解決しない場合は `Can't reach the API server — check your internet or DNS (ENOTFOUND)`。多くの場合、Claude Code が[バックオフで再試行](/docs/ja/errors#automatic-retries)している間の静かな一時停止の後です。括弧内のコードは異なります。[Unable to connect to API](/docs/ja/errors#unable-to-connect-to-api) はコードのスペルと以前の表現をカバーしています | 基本 URL で何も応答しません。アドレスが間違っているか、VPN またはファイアウォールがゲートウェイへのパスをブロックしています | 上記の [curl テスト](#verify-the-connection)を実行します。これは同じ原因で直ちに失敗し、URL とネットワークパスをゲートウェイチームで確認します |592| アドレスで何も応答しない場合は `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)`、またはホスト名が解決しない場合は `Can't reach the API server — check your internet or DNS (ENOTFOUND)`。多くの場合、Claude Code が[バックオフで再試行](/docs/ja/errors#automatic-retries)している間の静かな一時停止の後です。括弧内のコードは異なります。[Unable to connect to API](/docs/ja/errors#unable-to-connect-to-api) はコードのスペルと以前の表現をカバーしています | 基本 URL で何も応答しません。アドレスが間違っているか、VPN またはファイアウォールがゲートウェイへのパスをブロックしています | 上記の [curl テスト](#verify-the-connection)を実行します。これは同じ原因で直ちに失敗し、URL とネットワークパスをゲートウェイチームで確認します |

593| `API returned an empty or malformed response (HTTP 200)` | ゲートウェイまたは中間プロキシが非 API レスポンス(多くの場合 HTML エラーまたはログインページ)を返しました | 上記の [curl リクエスト](#verify-the-connection)でテストします。Claude API レスポンス以外で応答するゲートウェイルートを修正します。[エラーリファレンス](/docs/ja/errors#api-returned-an-empty-or-malformed-response)はメッセージが報告する詳細を説明しています |593| `API returned an empty or malformed response (HTTP 200)` | ゲートウェイまたは中間プロキシが非 API レスポンス(多くの場合 HTML エラーまたはログインページ)を返しました | 上記の [curl リクエスト](#verify-the-connection)でテストします。Claude API レスポンス以外で応答するゲートウェイルートを修正します。[エラーリファレンス](/docs/ja/errors#api-returned-an-empty-or-malformed-response)はメッセージが報告する詳細を説明しています |

Details

168| :- | :- |168| :- | :- |

169| `x-claude-code-request-class` | このリクエストの種類:メイン会話のターンの場合は `main`、[サブエージェント](/docs/ja/sub-agents)のターンの場合は `subagent`、ワークフロー内で実行されているエージェントの場合は `workflow`、会話をコンパクト化する要約リクエストの場合は `compaction`、セッションタイトル、分類器、および要約などのサイドリクエストの場合は `auxiliary`。すべてのリクエストで送信されます |169| `x-claude-code-request-class` | このリクエストの種類:メイン会話のターンの場合は `main`、[サブエージェント](/docs/ja/sub-agents)のターンの場合は `subagent`、ワークフロー内で実行されているエージェントの場合は `workflow`、会話をコンパクト化する要約リクエストの場合は `compaction`、セッションタイトル、分類器、および要約などのサイドリクエストの場合は `auxiliary`。すべてのリクエストで送信されます |

170| `x-claude-code-agent-type` | リクエストを発行したサブエージェントの種類:`Explore`、`Plan`、または `general-purpose` などの組み込みエージェント型名、ユーザー定義エージェントの場合は `custom`、[エージェントチーム](/docs/ja/agent-teams)メンバーがリードのプロセスで実行されている場合は `teammate`、または [フォーク](/docs/ja/sub-agents#fork-the-current-conversation)の場合は `fork`。サブエージェント自身のターンにのみ存在します。サブエージェントのコンパクト化またはサイドリクエストはエージェント ID を保持しますが、タイプは含みません。ユーザーが選択したエージェント名は送信されません |170| `x-claude-code-agent-type` | リクエストを発行したサブエージェントの種類:`Explore`、`Plan`、または `general-purpose` などの組み込みエージェント型名、ユーザー定義エージェントの場合は `custom`、[エージェントチーム](/docs/ja/agent-teams)メンバーがリードのプロセスで実行されている場合は `teammate`、または [フォーク](/docs/ja/sub-agents#fork-the-current-conversation)の場合は `fork`。サブエージェント自身のターンにのみ存在します。サブエージェントのコンパクト化またはサイドリクエストはエージェント ID を保持しますが、タイプは含みません。ユーザーが選択したエージェント名は送信されません |

171| `x-claude-code-compaction` | [コンパクト化](/docs/ja/prompt-caching#compacting-the-conversation)中に会話を要約するリクエストに存在します。値は何がトリガーしたかを示します。コンテキストウィンドウが容量に近づいた場合は `auto`、`/compact` の場合は `manual`、API がリクエストが長すぎると拒否した場合は `reactive`。他のすべてのリクエストでは存在しません |171| `x-claude-code-compaction` | [コンテキスト圧縮](/docs/ja/prompt-caching#compacting-the-conversation)中に会話を要約するリクエストに存在します。値は何がトリガーしたかを示します。コンテキストウィンドウが容量に近づいた場合は `auto`、`/compact` の場合は `manual`、API がリクエストが長すぎると拒否した場合は `reactive`。[アイドル時の圧縮](/docs/ja/settings-reference#idlecompaction)の場合も値は `auto` です。他のすべてのリクエストでは存在しません |

172| `x-claude-code-context-compacted` | コンパクト化後の最初のメイン会話リクエストに 1 回存在し、`x-claude-code-compaction` と同じ値を持ちます。このリクエストの前の会話プレフィックスはもう使用されないため、それをキーとしたキャッシュは削除できます |172| `x-claude-code-context-compacted` | コンパクト化後の最初のメイン会話リクエストに 1 回存在し、`x-claude-code-compaction` と同じ値を持ちます。このリクエストの前の会話プレフィックスはもう使用されないため、それをキーとしたキャッシュは削除できます |

173| `x-claude-code-prev-tool-durations` | このリクエストが含む結果のツール呼び出しの測定実行時間。`<name>=<ms>;<name>=<ms>` として、例えば `Bash=742;Read=9`。同じ会話のツール呼び出しのバッチ後の次のリクエストで送信されます。メインセッションまたはサブエージェントから送信されます |173| `x-claude-code-prev-tool-durations` | このリクエストが含む結果のツール呼び出しの測定実行時間。`<name>=<ms>;<name>=<ms>` として、例えば `Bash=742;Read=9`。同じ会話のツール呼び出しのバッチ後の次のリクエストで送信されます。メインセッションまたはサブエージェントから送信されます |

174| `x-claude-code-prompt-id` | ユーザープロンプトがリクエストを提供するランダム UUID。1 つのプロンプトを提供するリクエストは値を共有します。これには、プロンプトが開始したサブエージェントのターンが含まれます。プロンプトに属性付けされていないリクエストはそれを省略します。セッションのリクエストをプロンプトでグループ化するために使用してください。Claude Code v2.1.283 以降が必要です |174| `x-claude-code-prompt-id` | ユーザープロンプトがリクエストを提供するランダム UUID。1 つのプロンプトを提供するリクエストは値を共有します。これには、プロンプトが開始したサブエージェントのターンが含まれます。プロンプトに属性付けされていないリクエストはそれを省略します。セッションのリクエストをプロンプトでグループ化するために使用してください。Claude Code v2.1.283 以降が必要です |


291 291 

292Claude Code v2.1.227 以降では、組織は [MCP ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)を[管理設定](/docs/ja/managed-settings)を通じてこの変数の下で有効に保つことができます。このオーバーライドが有効な場合に Claude Code が送信する内容は、接続方法によって異なります:292Claude Code v2.1.227 以降では、組織は [MCP ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)を[管理設定](/docs/ja/managed-settings)を通じてこの変数の下で有効に保つことができます。このオーバーライドが有効な場合に Claude Code が送信する内容は、接続方法によって異なります:

293 293 

294* 直接接続、または `ANTHROPIC_BASE_URL` で設定されたゲートウェイを通じて、Claude Code はツール検索ベータヘッダー、`defer_loading` ツールフィールド、および `tool_reference` ブロックを送信し続け、残りをストリップします294* HIPAA 設定のない直接接続、または `ANTHROPIC_BASE_URL` で設定されたゲートウェイを通じて接続している場合、Claude Code はツール検索ベータヘッダー、`defer_loading` ツールフィールド、および `tool_reference` ブロックを送信し続けます

295* クラウドプロバイダー、または [Claude apps ゲートウェイ](/docs/ja/claude-apps-gateway)を通じてサインインしている場合、オーバーライドは効果がありません295* クラウドプロバイダー、または [Claude apps ゲートウェイ](/docs/ja/claude-apps-gateway)を通じてサインインしている場合、オーバーライドは効果がありません

296* [HIPAA 設定を受け取る](/docs/ja/hipaa-setup#check-how-developers-sign-in-and-connect)セッションでは、上書きは効果がなく、ツール検索はオフのままです

296 297 

297Claude Code が送信する機能セットはリリース全体で増加します。現在のベータヘッダー文字列については、[ベータヘッダーリファレンス](https://platform.claude.com/docs/en/api/beta-headers)を参照してください。観察されたリストに固定するのではなく、新しい Claude Code リリースに対してゲートウェイをテストしてください。298Claude Code が送信する機能セットはリリース全体で増加します。現在のベータヘッダー文字列については、[ベータヘッダーリファレンス](https://platform.claude.com/docs/en/api/beta-headers)を参照してください。観察されたリストに固定するのではなく、新しい Claude Code リリースに対してゲートウェイをテストしてください。

298 299 

mcp.md +83 −54

Details

90 90 

91`.mcp.json`、`~/.claude.json`、または `claude mcp add-json` で JSON を使用して MCP サーバーを設定する場合、`type` フィールドは `http` のエイリアスとして `streamable-http` を受け入れます。MCP 仕様ではこのトランスポートに `streamable-http` という名前を使用しているため、サーバードキュメントからコピーされた設定は変更なしで機能します。91`.mcp.json`、`~/.claude.json`、または `claude mcp add-json` で JSON を使用して MCP サーバーを設定する場合、`type` フィールドは `http` のエイリアスとして `streamable-http` を受け入れます。MCP 仕様ではこのトランスポートに `streamable-http` という名前を使用しているため、サーバードキュメントからコピーされた設定は変更なしで機能します。

92 92 

93`url` を持つが `type` を持たない JSON エントリは設定エラーです。Claude Code は `type` を持たないエントリを stdio サーバーとして読み込むためです。Claude Code はそのサーバーをスキップし、`MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry` と報告します。v2.1.202 より前では、Claude Code はこの設定ミスを `command: expected string, received undefined` と報告していました。93`url` を持つが `type` を持たない JSON エントリは設定エラーです。Claude Code は `type` を持たないエントリを stdio サーバーとして読み込むためです。Claude Code はそのサーバーをスキップし、`MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry` と報告します。

94 94 

95SDK ホストアプリケーション([Agent SDK](/docs/ja/agent-sdk/mcp) アプリケーションや [デスクトップアプリ](/docs/ja/desktop) など)のみが、インプロセス `"type": "sdk"` サーバーを登録できます。Claude Code は `.mcp.json`、`~/.claude.json`、または設定の `"type": "sdk"` エントリをスキップし、`Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register` と報告します。95SDK ホストアプリケーション([Agent SDK](/docs/ja/agent-sdk/mcp) アプリケーションや [デスクトップアプリ](/docs/ja/desktop) など)のみが、インプロセス `"type": "sdk"` サーバーを登録できます。Claude Code は `.mcp.json`、`~/.claude.json`、または設定の `"type": "sdk"` エントリをスキップし、`Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register` と報告します。

96 96 


128 128 

129Claude Code は、生成されたサーバーの環境に `CLAUDE_PROJECT_DIR` を設定して、プロジェクトルートに設定します。これにより、サーバーは作業ディレクトリに依存することなくプロジェクト相対パスを解決できます。これはフックが `CLAUDE_PROJECT_DIR` 変数で受け取るのと同じディレクトリです。サーバープロセス内からこれを読み取ります。例えば、Node では `process.env.CLAUDE_PROJECT_DIR`、Python では `os.environ["CLAUDE_PROJECT_DIR"]` です。129Claude Code は、生成されたサーバーの環境に `CLAUDE_PROJECT_DIR` を設定して、プロジェクトルートに設定します。これにより、サーバーは作業ディレクトリに依存することなくプロジェクト相対パスを解決できます。これはフックが `CLAUDE_PROJECT_DIR` 変数で受け取るのと同じディレクトリです。サーバープロセス内からこれを読み取ります。例えば、Node では `process.env.CLAUDE_PROJECT_DIR`、Python では `os.environ["CLAUDE_PROJECT_DIR"]` です。

130 130 

131`CLAUDE_PROJECT_DIR` は安定したプロジェクトルートであり、セッション中に作業ディレクトリを追加または削除しても変わりません。ファイルシステムアクセスを許可されたディレクトリのセットに制限するサーバーは、代わりに MCP `roots/list` リクエストを実装する必要があります。Claude Code は `roots/list` にセッションの起動ディレクトリと、`--add-dir`、`/add-dir`、または `additionalDirectories` 設定で付与した [追加作業ディレクトリ](/docs/ja/permissions#working-directories) をすべて返します。Claude Code はそのセットが変わるときに `notifications/roots/list_changed` を送信します。v2.1.203 より前では、`roots/list` は起動ディレクトリのみを返し、Claude Code は `notifications/roots/list_changed` を送信していませんでした。131`CLAUDE_PROJECT_DIR` は安定したプロジェクトルートであり、セッション中に作業ディレクトリを追加または削除しても変わりません。ファイルシステムアクセスを許可されたディレクトリのセットに制限するサーバーは、代わりに MCP `roots/list` リクエストを実装する必要があります。Claude Code は `roots/list` にセッションの起動ディレクトリと、`--add-dir`、`/add-dir`、または `additionalDirectories` 設定で付与した [追加作業ディレクトリ](/docs/ja/permissions#working-directories) をすべて返します。Claude Code はそのセットが変わるときに `notifications/roots/list_changed` を送信します。

132 132 

133この変数はサーバーの環境に設定され、Claude Code 自体の環境には設定されないため、プロジェクトスコープの `.mcp.json` エントリ、または `~/.claude.json` 内のローカルまたはユーザースコープのサーバーエントリの `command` または `args` で `${VAR}` 展開を使用して参照するには、`${CLAUDE_PROJECT_DIR:-.}` などのデフォルトが必要です。プラグイン提供の MCP 設定は `${CLAUDE_PROJECT_DIR}` を直接置換し、デフォルトは必要ありません。133この変数はサーバーの環境に設定され、Claude Code 自体の環境には設定されないため、プロジェクトスコープの `.mcp.json` エントリ、または `~/.claude.json` 内のローカルまたはユーザースコープのサーバーエントリの `command` または `args` で `${VAR}` 展開を使用して参照するには、`${CLAUDE_PROJECT_DIR:-.}` などのデフォルトが必要です。プラグイン提供の MCP 設定は `${CLAUDE_PROJECT_DIR}` を直接置換し、デフォルトは必要ありません。

134 134 


154 `--env` は複数の `KEY=value` ペアを受け入れます。サーバー名が `--env` の直後に来る場合、CLI は名前を別のペアとして読み込み、拒否するため、`--env` とサーバー名の間に `--transport stdio` などの別のオプションを少なくとも 1 つ配置してください。154 `--env` は複数の `KEY=value` ペアを受け入れます。サーバー名が `--env` の直後に来る場合、CLI は名前を別のペアとして読み込み、拒否するため、`--env` とサーバー名の間に `--transport stdio` などの別のオプションを少なくとも 1 つ配置してください。

155</Note>155</Note>

156 156 

157<h4 id="how-claude-code-stops-a-stdio-server">

158 Claude Code が stdio サーバーを停止する方法

159</h4>

160 

161Claude Code が stdio サーバーを切断するとき(例えばセッションが終了したとき)、サーバープロセスにシグナルを送信し、強制停止する前にプロセスが終了するのを短時間待ちます。サーバーがシャットダウン時に状態を保存したりロックファイルを削除したりする場合は、プラットフォームに応じたシグナルを処理し、その時間内に完了させてください。

162 

163* **macOS と Linux**: Claude Code は `SIGINT` を送信し、100 ミリ秒後もプロセスが実行中であれば `SIGTERM` を、さらに 400 ミリ秒後に `SIGKILL` を送信します。

164* **Windows**: Claude Code はサーバーの stdin を閉じ、300 ミリ秒後もプロセスが実行中であればサーバーのプロセスツリーを終了します。

165 

166v2.1.296 より前では、Windows 上の Claude Code は、先に stdin を閉じたり待機したりせずに、サーバーのプロセスツリーを即座に終了していました。

167 

157<h3 id="option-4-add-a-remote-websocket-server">168<h3 id="option-4-add-a-remote-websocket-server">

158 オプション 4: リモート WebSocket サーバーを追加する169 オプション 4: リモート WebSocket サーバーを追加する

159</h3>170</h3>


415 リモートサーバーのセッション中のドロップ426 リモートサーバーのセッション中のドロップ

416</h4>427</h4>

417 428 

418Claude Code はドロップしたリモートサーバーを指数バックオフで再接続します。最大 5 回試行し、1 秒の遅延から開始して毎回 2 倍にします。表示内容は Claude Code の実行方法によって異なります。429Claude Code はまず、ドロップしたリモートサーバーを指数バックオフで最大 5 回再接続しようとします。1 秒の遅延から開始し、毎回 2 倍にします。

419 430 

420* **対話的セッション**: `/mcp` は Claude Code が再接続している間、サーバーを保留中として表示します。5 回の試行に失敗した後、Claude Code はサーバーを失敗としてマークするか、サーバーの再認可が必要な場合は認証が必要としてマークします。サーバーを失敗としてマークすると、`MCP server "<name>" disconnected · open /mcp to reconnect` 通知が表示されます。`/mcp` から手動で再試行できます。431* **対話的セッション**: `/mcp` は Claude Code が再接続している間、サーバーを保留中として表示します。5 回の試行に失敗した後、Claude Code はサーバーを失敗としてマークするか、サーバーの再認可が必要な場合は認証が必要としてマークします。サーバーを失敗としてマークすると、`MCP server "<name>" disconnected · open /mcp to reconnect` 通知が表示されます。`/mcp` から手動で再試行できます。

421* **[`claude -p`](/docs/ja/headless) 実行と [Agent SDK](/docs/ja/agent-sdk/overview) セッション**: Claude Code は同じスケジュールで再接続し、試行を表示する `/mcp` パネルはありません。432* **[`claude -p`](/docs/ja/headless) 実行と [Agent SDK](/docs/ja/agent-sdk/overview) セッション**: Claude Code は同じ 5 回の試行を行いますが、それを表示する `/mcp` パネルはありません。HTTP または SSE サーバーの試行が一時的なエラーで失敗した場合、最大約 30 分間バックグラウンドで再試行を続け、再試行で接続するとサーバーとそのツールが再び利用可能になります。

422 433 

423<h4 id="failed-first-connections">434<h4 id="failed-first-connections">

424 失敗した最初の接続435 失敗した最初の接続


479 490 

480サーバーごとの `timeout` はツール呼び出しごとのハードウォールクロック制限であり、サーバーからの進捗通知はそれを延長しません。1000 未満の値は無視され、`MCP_TOOL_TIMEOUT` にフォールスルーするか、その変数が設定されていない場合は約 28 時間のデフォルトにフォールスルーします。HTTP、SSE、または [claude.ai コネクタ](/docs/ja/mcp#use-mcp-servers-from-claude-ai) サーバーの場合、サーバーの最初の応答バイトまでの各リクエストをカバーする 2 つ目の、リクエストごとのタイマーもあります。Claude Code はそのタイマーを 3 つの値の最大値に設定します。60 秒、サーバーに適用されるツールタイムアウト、`MCP_TIMEOUT`。設定されていない `MCP_TOOL_TIMEOUT` の 28 時間デフォルトはその比較に入らず、60 秒未満の値はタイマーを短縮しません。Stdio と WebSocket サーバーにはリクエストごとのタイマーがありません。491サーバーごとの `timeout` はツール呼び出しごとのハードウォールクロック制限であり、サーバーからの進捗通知はそれを延長しません。1000 未満の値は無視され、`MCP_TOOL_TIMEOUT` にフォールスルーするか、その変数が設定されていない場合は約 28 時間のデフォルトにフォールスルーします。HTTP、SSE、または [claude.ai コネクタ](/docs/ja/mcp#use-mcp-servers-from-claude-ai) サーバーの場合、サーバーの最初の応答バイトまでの各リクエストをカバーする 2 つ目の、リクエストごとのタイマーもあります。Claude Code はそのタイマーを 3 つの値の最大値に設定します。60 秒、サーバーに適用されるツールタイムアウト、`MCP_TIMEOUT`。設定されていない `MCP_TOOL_TIMEOUT` の 28 時間デフォルトはその比較に入らず、60 秒未満の値はタイマーを短縮しません。Stdio と WebSocket サーバーにはリクエストごとのタイマーがありません。

481 492 

482少なくとも 1000 のサーバーごとの `timeout` は、以下で説明されるアイドルタイムアウトのフロアとしても機能します。Claude Code はそのサーバーのツール呼び出しをサーバーごとの `timeout` より早くアイドルのために中止しません。Claude Code v2.1.203 以降が必要です。493少なくとも 1000 のサーバーごとの `timeout` は、以下で説明されるアイドルタイムアウトのフロアとしても機能します。Claude Code はそのサーバーのツール呼び出しをサーバーごとの `timeout` より早くアイドルのために中止しません。

483 494 

484アイドルウィンドウの間、応答も進捗通知も送信しない MCP サーバーへのツール呼び出しは、ウォールクロック制限を待つ代わりにエラーで中止されます。アイドルタイムアウトは IDE サーバーと SDK インプロセスサーバーを除くすべてのサーバータイプに適用されます。アイドルウィンドウは HTTP、SSE、WebSocket、[claude.ai コネクタ](#use-mcp-servers-from-claude-ai) サーバーの場合は 5 分、stdio サーバーの場合は 30 分にデフォルト設定されます。v2.1.203 より前では、stdio サーバーはアイドルタイムアウトから除外されていました。495アイドルウィンドウの間、応答も進捗通知も送信しない MCP サーバーへのツール呼び出しは、ウォールクロック制限を待つ代わりにエラーで中止されます。アイドルタイムアウトは IDE サーバーと SDK インプロセスサーバーを除くすべてのサーバータイプに適用されます。アイドルウィンドウは HTTP、SSE、WebSocket、[claude.ai コネクタ](#use-mcp-servers-from-claude-ai) サーバーの場合は 5 分、stdio サーバーの場合は 30 分にデフォルト設定されます。

485 496 

486[`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/ja/env-vars) 環境変数をミリ秒単位で設定してアイドルウィンドウを変更するか、`0` に設定してチェックを無効にしてください。497[`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/ja/env-vars) 環境変数をミリ秒単位で設定してアイドルウィンドウを変更するか、`0` に設定してチェックを無効にしてください。

487 498 


493 504 

494メイン会話の MCP ツール呼び出しが 2 分後も実行中の場合、セッションをブロックする代わりにバックグラウンドタスクに移動します。Claude はタスク ID をすぐに受け取り、作業を続け、結果は呼び出しが解決するときにタスク通知として到着します。自動バックグラウンド化には Claude Code v2.1.212 以降が必要です。505メイン会話の MCP ツール呼び出しが 2 分後も実行中の場合、セッションをブロックする代わりにバックグラウンドタスクに移動します。Claude はタスク ID をすぐに受け取り、作業を続け、結果は呼び出しが解決するときにタスク通知として到着します。自動バックグラウンド化には Claude Code v2.1.212 以降が必要です。

495 506 

496タスクは [`/tasks`](/docs/ja/commands#all-commands) に表示され、そこで停止することもでき、セッションを終了しても存続しません。タスクのエントリは、サーバーが報告した最新の進捗を表示します。507タスクは [`/tasks`](/docs/ja/commands#all-commands) に表示され、そこで停止することもでき、セッションを終了しても存続しません。タスクのエントリは、サーバーが報告した最新の進捗を表示します。タスクを停止すると、Claude Code は呼び出しをキャンセルし、結果が届かないことを Claude に伝えます。停止してもサーバーが停止するとは限りません。サーバーはすでに作業の一部を実行している可能性があり、あるいはそのまま完了させる可能性もあります。

497 508 

498呼び出しがバックグラウンドで実行されている間、呼び出しごとの制限は引き続き適用されます。サーバーごとの `timeout` または [`MCP_TOOL_TIMEOUT`](/docs/ja/env-vars) で設定されたウォールクロック制限、および [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/ja/env-vars) で設定されたアイドルタイムアウト。509呼び出しがバックグラウンドで実行されている間、呼び出しごとの制限は引き続き適用されます。サーバーごとの `timeout` または [`MCP_TOOL_TIMEOUT`](/docs/ja/env-vars) で設定されたウォールクロック制限、および [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/ja/env-vars) で設定されたアイドルタイムアウト。

499 510 


793 --header "Authorization: Bearer YOUR_GITHUB_PAT"804 --header "Authorization: Bearer YOUR_GITHUB_PAT"

794```805```

795 806 

796`YOUR_GITHUB_PAT` を個人アクセストークンに置き換えてください。`claude mcp add` コマンドは認証情報を検証せずに設定を保存するため、ここではプレースホルダー値が受け入れられますが、サーバーは後で接続に失敗します。接続を確認するには、`/mcp` を実行し、サーバーが `connected` と表示されていることを確認してください。認証情報が不正なサーバーは `failed` と表示され、失敗の詳細には、サーバーが返した HTTP ステータス(401 など)が含まれます。807`YOUR_GITHUB_PAT` を個人アクセストークンに置き換えてください。`claude mcp add` コマンドは認証情報を検証せずに設定を保存するため、ここではプレースホルダー値が受け入れられますが、サーバーは後で接続に失敗します。接続を確認するには、`/mcp` を実行し、サーバーの行にチェックマークが表示されていることを確認してください。認証情報が不正なサーバーには代わりに ✘ が表示され、その[失敗の詳細](#server-status-detail)には、サーバーが返した HTTP ステータス(401 など)が含まれます。

797 808 

798その後、GitHub で作業します:809その後、GitHub で作業します:

799 810 


820 --dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"831 --dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"

821```832```

822 833 

823サーバーが起動することを確認するには、`/mcp` を実行し、`db` が `connected` と表示されていることを確認してください。834サーバーが起動することを確認するには、`/mcp` を実行し、`db` の行にチェックマークが表示されていることを確認してください。

824 835 

825その後、データベースを自然に照会します:836その後、データベースを自然に照会します:

826 837 


844 855 

845Claude Code は、サーバーが `401 Unauthorized` または `403 Forbidden` で応答するとき、リモートサーバーが認証を必要としていることをマークします。Claude Code が表示する内容はサーバーによって異なります。856Claude Code は、サーバーが `401 Unauthorized` または `403 Forbidden` で応答するとき、リモートサーバーが認証を必要としていることをマークします。Claude Code が表示する内容はサーバーによって異なります。

846 857 

847* サインインしていないサーバーの場合、どちらのステータスコードでも `/mcp` でフラグが立てられるため、OAuth フローを完了できます。858* サインインしていないサーバーの場合、どちらのステータスコードでも `/mcp` でそのサーバーが警告表示されるため、OAuth フローを完了できます。

848* [claude.ai コネクタ](#use-mcp-servers-from-claude-ai)の場合、claude.ai がセッショントークンを拒否することによる `401` はコネクタにフラグを立てません。コネクタを再認可してもログインを修正できないためです。Claude Code は代わりに[セッショントークン拒否状態](/docs/ja/errors#claude-ai-rejected-the-session-token)を表示します。859* [claude.ai コネクタ](#use-mcp-servers-from-claude-ai)の場合、claude.ai がセッショントークンを拒否することによる `401` ではコネクタは警告表示されません。コネクタを再認可してもログインを修正できないためです。Claude Code は代わりに[セッショントークン拒否状態](/docs/ja/errors#claude-ai-rejected-the-session-token)を表示します。

849* `Authorization` ヘッダーを設定したサーバーの場合、`headers` または [`headersHelper`](#use-dynamic-headers-for-custom-authentication) を通じて、接続中の `401` または `403` はサーバーにフラグを立てません。修正する認証情報は設定した認証情報だからです。Claude Code は代わりに接続が失敗したことを報告します。設定したヘッダーが `${VAR}` 参照から設定されている場合は、その変数が Claude Code が[空として読み込む](#credential-variables-that-read-as-empty)変数の 1 つであるかどうかを確認してください。860* `headers` または [`headersHelper`](#use-dynamic-headers-for-custom-authentication) を通じて `Authorization` ヘッダーを設定したサーバーの場合、接続中の `401` または `403` ではサーバーは警告表示されません。修正すべき認証情報は設定した認証情報だからです。Claude Code は代わりに接続が失敗したことを報告します。そのヘッダーを `${VAR}` 参照から設定している場合は、その変数が Claude Code が[空として読み込む](#credential-variables-that-read-as-empty)変数の 1 つであるかどうかを確認してください。

850* [クラウドセッションに配信されたコネクタ](#how-connectors-reach-claude-code)の場合、Claude Code はサインインフローを実行しません。セッションのプロキシが claude.ai で付与した認可を使用してコネクタに認証するためです。そこでコネクタが再度認可が必要な場合、セッションからではなく [claude.ai/customize/connectors](https://claude.ai/customize/connectors) で再接続してください。861* [クラウドセッションに配信されたコネクタ](#how-connectors-reach-claude-code)の場合、Claude Code はサインインフローを実行しません。セッションのプロキシが claude.ai で付与した認可を使用してコネクタに認証するためです。そこでコネクタが再度認可を必要とする場合は、セッションからではなく [claude.ai/customize/connectors](https://claude.ai/customize/connectors) で再接続してください。

851 862 

852既にサインインした OAuth サーバーへのリクエストが `401 Unauthorized` を返すとき、Claude Code は保存されたトークンをリフレッシュし、再接続して、リクエストを 1 回再試行します。その再試行も失敗した場合にのみ、`/mcp` でサーバーにフラグを立てます。v2.1.206 より前は、ネットワークエラーなどの一時的な理由でトークンリフレッシュが失敗した場合、リフレッシュトークンがまだ有効であっても、OAuth サーバーは残りのセッション中、認証が必要としてフラグが立てられていました。863既にサインインした OAuth サーバーへのリクエストが `401 Unauthorized` を返すとき、Claude Code は保存されたトークンをリフレッシュし、再接続して、リクエストを 1 回再試行します。その再試行も失敗した場合にのみ、`/mcp` でサーバーを警告表示します。

853 864 

854サーバーが保存されたリフレッシュトークンを拒否するとき、Claude Code は直ちに `/mcp` を指す通知を表示します。`/mcp` を開き、サーバーで **Re-authenticate** を選択して、次のツール呼び出しが失敗する前に再度サインインしてください。865サーバーが保存されたリフレッシュトークンを拒否するとき、Claude Code は直ちに `/mcp` を指す通知を表示します。`/mcp` を開き、サーバーで **Re-authenticate** を選択して、次のツール呼び出しが失敗する前に再度サインインしてください。

855 866 

856`WWW-Authenticate` ヘッダーを返すカスタムサーバーは、その認可サーバーを指し、他のリモートサーバーと同じ自動検出を取得します。867認可サーバーを指す `WWW-Authenticate` ヘッダーを返すカスタムサーバーも、他のリモートサーバーと同じ自動検出の対象になります。

857 868 

858Claude Code は、1 つ以上の設定されたサーバーが認証を必要とするときにスタートアップ通知も表示するため、`/mcp` を開いてサインインが必要なサーバーを確認する必要がありません。この通知は Claude Code からサインインできるサーバーのみをカウントします。v2.1.218 より前は、claude.ai で接続されていない [claude.ai コネクタ](#use-mcp-servers-from-claude-ai)もカウントされていました。これらは claude.ai の設定からのみ接続できます。869Claude Code は、1 つ以上の設定されたサーバーが認証を必要とするときにスタートアップ通知も表示するため、`/mcp` を開いてサインインが必要なサーバーを確認する必要がありません。この通知は Claude Code からサインインできるサーバーのみをカウントします。v2.1.218 より前は、claude.ai で接続されていない [claude.ai コネクタ](#use-mcp-servers-from-claude-ai)もカウントされていました。これらは claude.ai の設定からのみ接続できます。

859 870 

860通知は各サーバーを 1 回アナウンスし、そのサーバーが接続して再度サインインが必要になるまで、後の起動時のカウントから除外します。`/mcp` は依然としてサインインが必要なすべてのサーバーをリストします。871通知は各サーバーを 1 回アナウンスし、そのサーバーが接続して再度サインインが必要になるまで、後の起動時のカウントから除外します。`/mcp` は依然としてサインインが必要なすべてのサーバーをリストします。

861 872 

862非対話モードでは `/mcp` パネルがないため、Claude Code は OAuth フローを実行できません。[ツール検索](#scale-with-mcp-tool-search)が有効な(デフォルト)`claude -p` または Agent SDK 実行中に設定されたサーバーが認証を必要とするとき、Claude Code はサーバーのツールが認可されるまで利用できないことを Claude に伝えます。これにより Claude は、サインインが必要なサーバーの名前を示すことができます。対話セッションから `/mcp` または `claude mcp login <name>` でサインインを完了してください。873`claude -p` または Agent SDK の実行には `/mcp` パネルがないため、Claude Code はそこで OAuth フローを実行できません。認証が必要なサーバーを使用するには、まず対話セッションからサインインを完了してください。セッション内で `/mcp` を実行するか、シェルで `claude mcp login <name>` を実行します。[ツール検索](#scale-with-mcp-tool-search)が有効な `claude -p` または Agent SDK の実行中に、設定されたサーバーが認証を必要とする場合、Claude Code はそのサーバーのツールが認可されるまで利用できないことを Claude に伝えます。

863 874 

864サーバーに `headers.Authorization` を設定し、サーバーがそのヘッダーを拒否する場合、Claude Code は OAuth にフォールバックする代わりに接続が失敗したことを報告します。トークンが MCP エンドポイントに対して有効であることを確認するか、ヘッダーを削除して OAuth フローを使用してください。875サーバーに `headers.Authorization` を設定し、サーバーがそのヘッダーを拒否する場合、Claude Code は OAuth にフォールバックする代わりに接続が失敗したことを報告します。トークンが MCP エンドポイントに対して有効であることを確認するか、ヘッダーを削除して OAuth フローを使用してください。

865 876 


920`--callback-port` は単独で(動的クライアント登録を使用)または `--client-id` と一緒に(事前設定された認証情報を使用)使用できます。931`--callback-port` は単独で(動的クライアント登録を使用)または `--client-id` と一緒に(事前設定された認証情報を使用)使用できます。

921 932 

922```bash theme={null}933```bash theme={null}

923# 動的クライアント登録を使用した固定コールバックポート934# Fixed callback port with dynamic client registration

924claude mcp add --transport http \935claude mcp add --transport http \

925 --callback-port 8080 \936 --callback-port 8080 \

926 my-server https://mcp.example.com/mcp937 my-server https://mcp.example.com/mcp


936 <Step title="サーバーで OAuth アプリを登録する">947 <Step title="サーバーで OAuth アプリを登録する">

937 サーバーの開発者ポータルを通じてアプリを作成し、クライアント ID とクライアントシークレットをメモしてください。948 サーバーの開発者ポータルを通じてアプリを作成し、クライアント ID とクライアントシークレットをメモしてください。

938 949 

939 登録フォームがリダイレクト URI を要求する場合は、利用可能なポートを選択し、`http://localhost:PORT/callback` 形式でリダイレクト URI を入力してください。次のステップで同じポートを使用します。950 登録フォームがリダイレクト URI を要求する場合は、利用可能な任意のポートを選択し、そのポートを使って `http://localhost:PORT/callback` を入力してください。次のステップで同じポートを使用します。

940 951 

941 v2.1.229 では、Claude Code は代わりに `http://127.0.0.1:PORT/callback` を送信していました。登録されたリダイレクト URI と完全に一致するサーバーは、リダイレクト URI の不一致でサインインを拒否していました。Claude Code v2.1.231 は `localhost` 形式を復元しました。v2.1.229 で復旧するには、Claude Code をアップグレードするか、一時的にサーバーの登録されたリダイレクト URI に `http://127.0.0.1:PORT/callback` 形式を追加してください。952 v2.1.229 では、Claude Code は代わりに `http://127.0.0.1:PORT/callback` を送信していました。登録されたリダイレクト URI と完全に一致するサーバーは、リダイレクト URI の不一致でサインインを拒否していました。Claude Code v2.1.231 は `localhost` 形式を復元しました。v2.1.229 で復旧するには、Claude Code をアップグレードするか、一時的にサーバーの登録されたリダイレクト URI に `http://127.0.0.1:PORT/callback` 形式を追加してください。

942 </Step>953 </Step>


946 957 

947 <Tabs>958 <Tabs>

948 <Tab title="claude mcp add">959 <Tab title="claude mcp add">

949 `--client-id` を使用してアプリのクライアント ID を渡します。`--client-secret` フラグはマスクされた入力でシークレットをプロンプトします。960 `--client-id` を使用してアプリのクライアント ID を渡します。`--client-secret` フラグはマスクされた入力でシークレットの入力を求めます。

950 961 

951 ```bash theme={null}962 ```bash theme={null}

952 claude mcp add --transport http \963 claude mcp add --transport http \


995 ヒント:1006 ヒント:

996 1007 

997 * クライアントシークレットは、設定ではなく、システムキーチェーン(macOS)または認証情報ファイルに安全に保存されます1008 * クライアントシークレットは、設定ではなく、システムキーチェーン(macOS)または認証情報ファイルに安全に保存されます

998 * クライアントシークレットはサーバーを追加するときにのみ設定できます。`claude mcp login` または `/mcp` から認証するとき、Claude Code は保存されたシークレットを使用し、プロンプトを表示したり `MCP_CLIENT_SECRET` を読み込んだりしません1009 * クライアントシークレットはサーバーを追加するときにのみ設定できます。`claude mcp login` または `/mcp` から認証するとき、Claude Code は保存されたシークレットを使用し、入力を求めたり `MCP_CLIENT_SECRET` を読み込んだりしません

999 * 後でシークレットを追加または変更するには、`claude mcp remove <name>` でサーバーを削除してから、`--client-secret` と同じ `--scope` で再度追加してください1010 * 後でシークレットを追加または変更するには、`claude mcp remove <name>` でサーバーを削除してから、`--client-secret` と同じ `--scope` で再度追加してください

1000 * サーバーがシークレットのないパブリック OAuth クライアントを使用する場合は、`--client-secret` なしで `--client-id` のみを使用してください1011 * サーバーがシークレットのないパブリック OAuth クライアントを使用する場合は、`--client-secret` なしで `--client-id` のみを使用してください

1001 * これらのフラグは HTTP および SSE トランスポートにのみ適用されます。stdio サーバーには効果がありません1012 * これらのフラグは HTTP および SSE トランスポートにのみ適用されます。stdio サーバーには効果がありません


1003</Tip>1014</Tip>

1004 1015 

1005<h3 id="override-oauth-metadata-discovery">1016<h3 id="override-oauth-metadata-discovery">

1006 OAuth メタデータ検出をオーバーライドする1017 OAuth メタデータ検出を上書きする

1007</h3>1018</h3>

1008 1019 

1009特定の OAuth 認可サーバーメタデータ URL を指して、デフォルト検出チェーンをバイパスしてください。MCP サーバーの標準エンドポイントがエラーになるとき、または内部プロキシを通じて検出をルーティングしたいときに `authServerMetadataUrl` を設定してください。デフォルトでは、Claude Code は最初に `/.well-known/oauth-protected-resource` で RFC 9728 保護リソースメタデータをチェックし、次に `/.well-known/oauth-authorization-server` で RFC 8414 認可サーバーメタデータにフォールバックします。1020Claude Code が特定の OAuth 認可サーバーメタデータ URL を参照するよう指定して、デフォルトの検出チェーンをバイパスします。MCP サーバーの標準エンドポイントがエラーになるとき、または内部プロキシを通じて検出をルーティングしたいときに `authServerMetadataUrl` を設定してください。デフォルトでは、Claude Code は最初に `/.well-known/oauth-protected-resource` で RFC 9728 保護リソースメタデータをチェックし、次に `/.well-known/oauth-authorization-server` で RFC 8414 認可サーバーメタデータにフォールバックします。

1010 1021 

1011`.mcp.json` のサーバー設定の `oauth` オブジェクトで `authServerMetadataUrl` を設定してください。1022`.mcp.json` のサーバー設定の `oauth` オブジェクトで `authServerMetadataUrl` を設定してください。

1012 1023 


1024}1035}

1025```1036```

1026 1037 

1027URL は `https://` を使用する必要があります。メタデータ URL の `scopes_supported` は、アップストリームサーバーがアドバタイズするスコープをオーバーライドします。1038URL は `https://` を使用する必要があります。メタデータ URL の `scopes_supported` は、アップストリームサーバーがアドバタイズするスコープを上書きします。

1028 1039 

1029<h3 id="restrict-oauth-scopes">1040<h3 id="restrict-oauth-scopes">

1030 OAuth スコープを制限する1041 OAuth スコープを制限する

1031</h3>1042</h3>

1032 1043 

1033`oauth.scopes` を設定して、認可フロー中に Claude Code がリクエストするスコープをピン留めしてください。これは、アップストリーム認可サーバーがより多くのスコープをアドバタイズするときに、MCP サーバーをセキュリティチームによって承認されたサブセットに制限するサポートされた方法です。値は RFC 6749 §3.3 の `scope` パラメーター形式と一致する単一のスペース区切り文字列です。1044`oauth.scopes` を設定して、認可フロー中に Claude Code がリクエストするスコープをピン留めしてください。これは、アップストリーム認可サーバーが付与したい以上のスコープをアドバタイズするときに、MCP サーバーをセキュリティチームによって承認されたサブセットに制限するためのサポートされた方法です。値は RFC 6749 §3.3 の `scope` パラメーター形式と一致する単一のスペース区切り文字列です。

1034 1045 

1035```json theme={null}1046```json theme={null}

1036{1047{


1046}1057}

1047```1058```

1048 1059 

1049`oauth.scopes` は `authServerMetadataUrl` とサーバーが `/.well-known` で検出するスコープの両方より優先されます。MCP サーバーがリクエストされたスコープセットを決定できるようにするには、設定を解除のままにしてください。1060`oauth.scopes` は `authServerMetadataUrl` とサーバーが `/.well-known` で検出するスコープの両方より優先されます。MCP サーバーにリクエストするスコープセットを決定させるには、未設定のままにしてください。

1050 1061 

1051`oauth.scopes` が設定されていない場合、Claude Code は自動的に検出された認可サーバーメタデータから完全な `scopes_supported` カタログをリクエストしません。設定された `authServerMetadataUrl` から取得されたメタデータは、引き続きその `scopes_supported` をリクエストするスコープとして提供します。1062`oauth.scopes` が設定されていない場合、Claude Code は自動的に検出された認可サーバーメタデータから完全な `scopes_supported` カタログをリクエストしません。設定された `authServerMetadataUrl` から取得されたメタデータは、引き続きその `scopes_supported` をリクエストするスコープとして提供します。

1052 1063 

1053認可サーバーが `scopes_supported` で `offline_access` をアドバタイズする場合、Claude Code はそれをピン留めされたスコープに追加して、新しいブラウザーサインインなしでアクセストークンをリフレッシュできるようにします。1064認可サーバーが `scopes_supported` で `offline_access` をアドバタイズする場合、Claude Code はそれをピン留めされたスコープに追加して、新しいブラウザーサインインなしでアクセストークンをリフレッシュできるようにします。

1054 1065 

1055サーバーが後でツール呼び出しに対して 403 `insufficient_scope` を返す場合、呼び出しは[`needs additional permissions`](/docs/ja/errors#mcp-server-needs-you-to-sign-in-again) というメッセージで失敗し、サーバーが要求するスコープの名前が示されます。サーバーは `/mcp` で認証が必要として表示されます。1066サーバーが後でツール呼び出しに対して 403 `insufficient_scope` を返す場合、呼び出しは [`needs additional permissions`](/docs/ja/errors#mcp-server-needs-you-to-sign-in-again) というメッセージで失敗し、サーバーが要求するスコープの名前が示されます。サーバーは `/mcp` で認証が必要として表示されます。

1056 1067 

1057そのスコープがピン留めされた `oauth.scopes` にない場合は、それを追加してから `/mcp` を実行し、サーバーを再度認証してください。Claude Code はサーバーが名前を付けたスコープではなく、ピン留めされたスコープをリクエストするため、それを追加せずに再度認証する場合、取得するトークンはまだそれを欠いています。1068そのスコープがピン留めされた `oauth.scopes` にない場合は、それを追加してから `/mcp` を実行し、サーバーを再度認証してください。Claude Code はサーバーが名前を示したスコープではなく、ピン留めされたスコープをリクエストするため、それを追加せずに再度認証すると、取得するトークンには引き続きそのスコープが含まれません。

1058 1069 

1059<h3 id="use-dynamic-headers-for-custom-authentication">1070<h3 id="use-dynamic-headers-for-custom-authentication">

1060 カスタム認証に動的ヘッダーを使用する1071 カスタム認証に動的ヘッダーを使用する


1093* コマンドは文字列キーと値のペアの JSON オブジェクトを stdout に書き込む必要があります1104* コマンドは文字列キーと値のペアの JSON オブジェクトを stdout に書き込む必要があります

1094* Claude Code はコマンドをシェルで実行し、10 秒後にそれを放棄します1105* Claude Code はコマンドをシェルで実行し、10 秒後にそれを放棄します

1095* Claude Code は[サーバーを設定した場所](#where-the-helper-runs)によってコマンドの作業ディレクトリを選択するため、スクリプトを絶対パスとして指定するか、`PATH` に配置してください1106* Claude Code は[サーバーを設定した場所](#where-the-helper-runs)によってコマンドの作業ディレクトリを選択するため、スクリプトを絶対パスとして指定するか、`PATH` に配置してください

1096* 動的ヘッダーは同じ名前の静的 `headers` をオーバーライドします1107* 動的ヘッダーは同じ名前の静的 `headers` を上書きします

1097 1108 

1098Claude Code は各接続時にヘルパーを新たに実行します。セッション開始時と再接続時に、[プロジェクトおよびローカルスコープサーバーの信頼ルール](#trust-a-folder-before-its-headershelper-runs)がそれを実行できるようにします。結果をキャッシュしないため、スクリプトはトークンの再利用を担当します。1109Claude Code は、[プロジェクトおよびローカルスコープサーバーの信頼ルール](#trust-a-folder-before-its-headershelper-runs)によって実行が許可されると、接続ごとに、つまりセッション開始時と再接続時に、ヘルパーを新たに実行します。結果はキャッシュされないため、トークンの再利用はスクリプト側で行う必要があります。

1099 1110 

1100ツール呼び出しが `401 Unauthorized` または `403 Forbidden` を返す場合、Claude Code は自動的に同じルールの下でヘルパーを再実行し、新しいヘッダーで再接続し、呼び出しを 1 回再試行します。その再試行も失敗した場合にのみ、Claude Code は `/mcp` でサーバーを認証が必要としてマークします。1111ツール呼び出しが `401 Unauthorized` または `403 Forbidden` を返す場合、Claude Code は同じルールの下で自動的にヘルパーを再実行し、新しいヘッダーで再接続して、呼び出しを 1 回再試行します。その再試行も失敗した場合にのみ、Claude Code は `/mcp` でサーバーを認証が必要としてマークします。

1101 1112 

1102ヘルパーの出力に `Authorization` ヘッダーが含まれている場合、Claude Code はその認証情報をサーバーの認証として使用し、サーバーの OAuth にフォールバックしません。1113ヘルパーの出力に `Authorization` ヘッダーが含まれている場合、Claude Code はその認証情報をサーバーの認証として使用し、そのサーバーでは OAuth にフォールバックしません。

1103 1114 

1104サーバーが接続中にヘルパーの認証情報を拒否する場合、Claude Code はサーバーを認証が必要としてマークする代わりに、接続が失敗したことを報告します。ヘルパーが返す認証情報を修正してから、`/mcp` から再接続してヘルパーを再実行してください。1115サーバーが接続中にヘルパーの認証情報を拒否する場合、Claude Code はサーバーを認証が必要としてマークする代わりに、接続が失敗したことを報告します。ヘルパーが返す認証情報を修正してから、`/mcp` から再接続してヘルパーを再実行してください。

1105 1116 


1113 1124 

1114これらを使用して、複数の MCP サーバーに対応する単一のヘルパースクリプトを作成してください。1125これらを使用して、複数の MCP サーバーに対応する単一のヘルパースクリプトを作成してください。

1115 1126 

1116プラグイン提供の `headersHelper` はプラグインの [`${user_config.*}`](/docs/ja/plugins/manifest-reference#user-configuration)値を参照できません。コマンドはシェルを通じて実行されるためです。Claude Code はサーバーを設定ミスとして[エラー](/docs/ja/errors#plugin-command-references-user-config)で報告し、値を置換しません。代わりに、シェル解析されない `headers` フィールドに `${user_config.KEY}` を配置するか、ヘルパースクリプトに設定ファイルから値を読み込ませてください。v2.1.207 より前は、`headersHelper` は `${user_config.*}` 値を置換していました。1127プラグイン提供の `headersHelper` はプラグインの [`${user_config.*}`](/docs/ja/plugins/manifest-reference#user-configuration) 値を参照できません。コマンドはシェルを通じて実行されるためです。Claude Code はサーバーを設定ミスとして[エラー](/docs/ja/errors#plugin-command-references-user-config)で報告し、値を置換しません。代わりに、シェル解析されない `headers` フィールドに `${user_config.KEY}` を配置するか、ヘルパースクリプトに設定ファイルから値を読み込ませてください。v2.1.207 より前は、`headersHelper` は `${user_config.*}` 値を置換していました。

1117 1128 

1118<h4 id="where-the-helper-runs">1129<h4 id="where-the-helper-runs">

1119 ヘルパーが実行される場所1130 ヘルパーが実行される場所

1120</h4>1131</h4>

1121 1132 

1122Claude Code は、サーバーを宣言する設定から `headersHelper` コマンドの作業ディレクトリを選択します。Claude が Bash で実行する `cd` はそれを移動しません。[`/cd`](/docs/ja/permissions#move-the-session-to-another-directory)はセッションのプライマリ作業ディレクトリから実行されるサーバーのみを移動します。以下の各行は、`headersHelper` コマンドの相対パスが解決される対象のディレクトリを示します。1133Claude Code は、サーバーを宣言する設定から `headersHelper` コマンドの作業ディレクトリを選択します。Claude が Bash で実行する `cd` はそれを移動しません。[`/cd`](/docs/ja/permissions#move-the-session-to-another-directory) はセッションのプライマリ作業ディレクトリから実行されるサーバーについてのみ移動します。以下の各行は、`headersHelper` コマンドの相対パスが解決される基準のディレクトリを示します。

1123 1134 

1124| サーバーを設定した場所 | 作業ディレクトリ |1135| サーバーを設定した場所 | 作業ディレクトリ |

1125| :- | :- |1136| :- | :- |

1126| [プラグイン](/docs/ja/plugins/components#mcp-servers) | プラグインのルートディレクトリ |1137| [プラグイン](/docs/ja/plugins/components#mcp-servers) | プラグインのルートディレクトリ |

1127| プロジェクト `.mcp.json` または [ローカルスコープ](#local-scope)サーバー | サーバーが宣言されているプロジェクトディレクトリ |1138| プロジェクト `.mcp.json` または [ローカルスコープ](#local-scope)サーバー | サーバーが宣言されているプロジェクトディレクトリ |

1128| プロジェクト内のエージェントファイル、SDK の `mcpServers` オプションまたは `setMcpServers()` メソッドからのサーバー、または [`--mcp-config`](/docs/ja/cli-reference) | セッションの[プライマリ作業ディレクトリ](/docs/ja/permissions#working-directories) |1139| プロジェクト内のエージェントファイル、SDK の `mcpServers` オプションまたは `setMcpServers()` メソッドからのサーバー、または [`--mcp-config`](/docs/ja/cli-reference) | セッションの[プライマリ作業ディレクトリ](/docs/ja/permissions#working-directories) |

1129| [ユーザースコープ](#user-scope)、[管理 MCP](/docs/ja/managed-mcp)、[claude.ai コネクタ](#use-mcp-servers-from-claude-ai)、またはプロジェクト外のエージェントファイル(`--add-dir` ディレクトリからのものを含む) | 設定ディレクトリ `~/.claude`([`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars)を設定していない場合) |1140| [ユーザースコープ](#user-scope)、[管理 MCP](/docs/ja/managed-mcp)、[claude.ai コネクタ](#use-mcp-servers-from-claude-ai)、またはプロジェクト外のエージェントファイル(`--add-dir` ディレクトリからのものを含む) | 設定ディレクトリ([`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars) を設定していない場合は `~/.claude`) |

1130 1141 

1131v2.1.238 より前は、Claude Code はユーザースコープ、管理、および claude.ai コネクタサーバーのヘルパー、およびプロジェクト外のエージェントファイルのヘルパーも、それを開始したディレクトリから実行していました。1142v2.1.238 より前は、Claude Code はユーザースコープ、管理、および claude.ai コネクタサーバーのヘルパー、およびプロジェクト外のエージェントファイルのヘルパーも、Claude Code を起動したディレクトリから実行していました。

1132 1143 

1133<h4 id="which-variables-a-helper-can-read">1144<h4 id="which-variables-a-helper-can-read">

1134 ヘルパーが読み取ることができる変数1145 ヘルパーが読み取ることができる変数

1135</h4>1146</h4>

1136 1147 

1137リポジトリまたはプラグインが提供する `headersHelper` は、書いていないコマンドなため、Claude Code はそれを環境から認証情報変数なしで実行します(`ANTHROPIC_API_KEY` など)。サーバーを設定した場所によって、これが適用されるかどうかが決まります。1148リポジトリまたはプラグインが提供する `headersHelper` は自分で書いたものではないコマンドであるため、Claude Code はそれを、`ANTHROPIC_API_KEY` などの環境内の認証情報変数を除いた状態で実行します。これが適用されるかどうかは、サーバーを設定した場所によって決まります。

1138 1149 

1139* **削除される**:プロジェクト `.mcp.json` またはプラグイン内のサーバー、およびプロジェクトからのエージェントファイルまたは `--add-dir` ディレクトリからのインラインサーバー1150* **削除される**:プロジェクト `.mcp.json` またはプラグイン内のサーバー、およびプロジェクトまたは `--add-dir` ディレクトリからのエージェントファイル内のインラインサーバー

1140* **削除されない**:[ユーザー](#user-scope)または[ローカルスコープ](#local-scope)、[管理 MCP](/docs/ja/managed-mcp)、[claude.ai コネクタ](#use-mcp-servers-from-claude-ai)、または SDK または [`--mcp-config`](/docs/ja/cli-reference) から提供されるサーバー、および `~/.claude/agents/` からのインラインサーバー、管理設定から、または `--agents` で渡されるもの1151* **削除されない**:[ユーザー](#user-scope)または[ローカルスコープ](#local-scope)、[管理 MCP](/docs/ja/managed-mcp)、[claude.ai コネクタ](#use-mcp-servers-from-claude-ai)のサーバー、または SDK や [`--mcp-config`](/docs/ja/cli-reference) から提供されるサーバー、および `~/.claude/agents/` からのエージェントファイル、管理設定からのエージェントファイル、または `--agents` で渡されたエージェントファイル内のインラインサーバー

1141 1152 

1142Git の `GIT_CONFIG_KEY_<n>` 変数を除き、Claude Code は環境から `TOKEN`、`SECRET`、`PASSWORD`、`KEY`、または `AUTH` を含む名前のような認証情報のように見える名前を持つすべての変数を削除します。したがって、`ANTHROPIC_API_KEY` と `MY_REGISTRY_TOKEN` の両方が削除されます。Claude Code は、`ANTHROPIC_CUSTOM_HEADERS` などの名前がそのパターンに従わない固定リストの認証情報変数も削除します。1153Git の `GIT_CONFIG_KEY_<n>` 変数を除き、Claude Code は環境から、大文字・小文字を問わず `TOKEN`、`SECRET`、`PASSWORD`、`KEY`、または `AUTH` を含む名前など、認証情報のように見える名前を持つすべての変数を削除します。したがって、`ANTHROPIC_API_KEY` と `MY_REGISTRY_TOKEN` の両方が削除されます。Claude Code は、`ANTHROPIC_CUSTOM_HEADERS` など、名前がそのパターンに従わない認証情報変数の固定リストも削除します。

1143 1154 

1144これがヘルパーに適用される場合は、スクリプトにファイルまたは認証情報ストアから認証情報を読み込ませてください。サーバーの `url` に `MY_REGISTRY_TOKEN` など[これらの変数のいずれかの実際の値が含まれる](#environment-variable-expansion-in-mcp-json)場合、ヘルパーが受け取る `CLAUDE_CODE_MCP_SERVER_URL` の値でも、その部分が `REDACTED` に置き換えられます。1155これがヘルパーに適用される場合は、スクリプトにファイルまたは認証情報ストアから認証情報を読み込ませてください。サーバーの `url` に `MY_REGISTRY_TOKEN` など[これらの変数のいずれかの実際の値が含まれる](#environment-variable-expansion-in-mcp-json)場合、ヘルパーが受け取る `CLAUDE_CODE_MCP_SERVER_URL` の値でも、その部分が `REDACTED` に置き換えられます。

1145 1156 


1147 headersHelper が実行される前にフォルダーを信頼する1158 headersHelper が実行される前にフォルダーを信頼する

1148</h4>1159</h4>

1149 1160 

1150Claude Code は `headersHelper` を任意のシェルコマンドとして実行します。プロジェクト `.mcp.json` 内のサーバーまたは[ローカルスコープ](#local-scope)の場合、サーバーが宣言されているプロジェクトディレクトリの[信頼ダイアログ](/docs/ja/permissions#project-allow-rules-and-workspace-trust)を受け入れた後にのみ、ヘルパーを実行します。v2.1.238 より前は、`claude -p` または SDK セッションはこれらのヘルパーを信頼をチェックせずに実行していました。対話セッションは親フォルダーを信頼した後に 1 回実行していました。1161Claude Code は `headersHelper` を任意のシェルコマンドとして実行します。プロジェクト `.mcp.json` 内のサーバーまたは[ローカルスコープ](#local-scope)のサーバーの場合、サーバーが宣言されているプロジェクトディレクトリの[信頼ダイアログ](/docs/ja/permissions#project-allow-rules-and-workspace-trust)を受け入れた後にのみ、ヘルパーを実行します。v2.1.238 より前は、`claude -p` または SDK セッションはこれらのヘルパーを信頼をチェックせずに実行しており、対話セッションは親フォルダーを信頼した時点で実行していました。

1151 1162 

1152* **カウントされない信頼**:親フォルダーの信頼、および `claude -p` または SDK セッションが[設定ファイルのフック](/docs/ja/permissions#what-runs-before-you-trust-a-folder)に対して取得する自動信頼1163* **カウントされない信頼**:親フォルダーの信頼、および `claude -p` または SDK セッションが[設定ファイルのフック](/docs/ja/permissions#what-runs-before-you-trust-a-folder)に対して取得する自動信頼

1153* **フォルダーを信頼するまで**:Claude Code は静的 `headers` のみでサーバーを接続します。`claude -p` または SDK セッションでは、1 つの [`headersHelper not run`](/docs/ja/errors#headershelper-not-run) 行を stderr に出力し、信頼を付与する方法を示します。1164* **フォルダーを信頼するまで**:Claude Code は静的 `headers` のみでサーバーを接続します。`claude -p` または SDK セッションでは、さらにサーバーごとに 1 行の [`headersHelper not run`](/docs/ja/errors#headershelper-not-run) を stderr に出力し、信頼を付与する方法を示します。

1154* **ダイアログなしで信頼する**:`~/.claude.json` で `projects["<path>"].hasTrustDialogAccepted` を `true` に設定してください。`<path>` は、[プロジェクト許可ルールとワークスペース信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust)が Claude Code がキーを設定するフォルダーです。1165* **ダイアログなしで信頼する**:`~/.claude.json` で `projects["<path>"].hasTrustDialogAccepted` を `true` に設定してください。`<path>` は、[プロジェクト許可ルールとワークスペース信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust)で説明されている、Claude Code が信頼のキーとするフォルダーです。

1155 1166 

1156Claude Code は[エージェントファイル](/docs/ja/sub-agents#scope-mcp-servers-to-a-subagent)で宣言されたサーバーに同じルールを適用し、そのエージェントファイルがどこから来たかをチェックします。プロジェクト内のファイルの場合は `.claude/agents/` ディレクトリから、または `--add-dir` ディレクトリから。[そのプロジェクトまたはディレクトリ自体を信頼する](/docs/ja/permissions#what-runs-before-you-trust-a-folder)まで、Claude Code はサーバーをロードしません。したがって、そのヘルパーも実行されません。1167Claude Code は[エージェントファイル](/docs/ja/sub-agents#scope-mcp-servers-to-a-subagent)でインライン宣言されたサーバーにも同じルールを適用し、そのエージェントファイルの出所をチェックします。出所とは、プロジェクト(その `.claude/agents/` ディレクトリ内のファイルの場合)、または `--add-dir` ディレクトリです。[そのプロジェクトまたはディレクトリ自体を信頼する](/docs/ja/permissions#what-runs-before-you-trust-a-folder)まで、Claude Code はサーバーをまったくロードしないため、そのヘルパーも実行されません。

1157 1168 

1158<h2 id="add-mcp-servers-from-json-configuration">1169<h2 id="add-mcp-servers-from-json-configuration">

1159 JSON 設定から MCP サーバーを追加する1170 JSON 設定から MCP サーバーを追加する


1218 </Step>1229 </Step>

1219</Steps>1230</Steps>

1220 1231 

1221`claude mcp` コマンドで追加されたサーバー名には、文字、数字、ハイフン、アンダースコアのみを含めることができます。Claude Desktop はその制限を適用しないため、スペースなどの他の文字を含む名前を持つ Claude Desktop サーバーはインポートできません。インポートは拒否された各名前を報告し、選択した他のサーバーはインポートします。v2.1.205 より前では、最初の無効な名前がインポートを停止し、選択されたサーバーは追加されませんでした。1232`claude mcp` コマンドで追加されたサーバー名には、文字、数字、ハイフン、アンダースコアのみを含めることができます。Claude Desktop はその制限を適用しないため、スペースなどの他の文字を含む名前を持つ Claude Desktop サーバーはインポートできません。インポートは拒否された各名前を報告し、選択した他のサーバーはインポートします。

1222 1233 

1223<Tip>1234<Tip>

1224 ヒント:1235 ヒント:


1398 * この MCP サーバーは Claude Code のツールのみを MCP クライアントに公開するため、独自のクライアントは個別のツール呼び出しのユーザー確認を実装する責任があります。1409 * この MCP サーバーは Claude Code のツールのみを MCP クライアントに公開するため、独自のクライアントは個別のツール呼び出しのユーザー確認を実装する責任があります。

1399</Tip>1410</Tip>

1400 1411 

1412Bash または PowerShell のツール呼び出しの結果に含まれる JSON テキストに `backgroundOutputPath` フィールドが含まれている場合、その呼び出しはコマンドを[バックグラウンド](/docs/ja/tools-reference#background-commands)で実行したままにしています。たとえば、呼び出しで `run_in_background: true` が設定された場合や、コマンドがタイムアウトに達した場合です。このフィールドは、コマンドの出力ファイルのパスを示します。コマンドが終了してもクライアントには何も通知されず、終了時にファイルに最終行が書き込まれることもないため、ファイルを読み取るとその時点までに書き込まれた出力が表示されます。終了を検出するには、`npm test; echo DONE` のようにコマンドにマーカーを追加し、ファイル内でそのマーカーを探します。`backgroundOutputPath` フィールドには Claude Code v2.1.295 以降が必要です。

1413 

1401<h2 id="mcp-output-limits-and-warnings">1414<h2 id="mcp-output-limits-and-warnings">

1402 MCP 出力制限と警告1415 MCP 出力制限と警告

1403</h2>1416</h2>


1409* **デフォルト制限**:デフォルトの最大値は 25,000 トークンです1422* **デフォルト制限**:デフォルトの最大値は 25,000 トークンです

1410* **スコープ**:環境変数は、独自の制限を宣言していないツールに適用されます。[`anthropic/maxResultSizeChars`](#raise-the-limit-for-a-specific-tool) を設定するツールは、`MAX_MCP_OUTPUT_TOKENS` に設定されている値に関係なく、テキストコンテンツに対してその値を代わりに使用します。画像データを返すツールは、引き続き `MAX_MCP_OUTPUT_TOKENS` の対象となります1423* **スコープ**:環境変数は、独自の制限を宣言していないツールに適用されます。[`anthropic/maxResultSizeChars`](#raise-the-limit-for-a-specific-tool) を設定するツールは、`MAX_MCP_OUTPUT_TOKENS` に設定されている値に関係なく、テキストコンテンツに対してその値を代わりに使用します。画像データを返すツールは、引き続き `MAX_MCP_OUTPUT_TOKENS` の対象となります

1411* **制限を超える場合**:画像コンテンツのない成功した結果がトークン制限を超える場合、Claude Code はそれをファイルに保存し、会話内でファイルパスを名前とするメッセージに置き換えます。そのため、Claude はコンテンツが必要な場合にファイルを読み取ります。ファイルはセッションの `tool-results` ディレクトリ内の [`~/.claude/projects/`](/docs/ja/claude-directory#cleaned-up-automatically) に配置されます。1424* **制限を超える場合**:画像コンテンツのない成功した結果がトークン制限を超える場合、Claude Code はそれをファイルに保存し、会話内でファイルパスを名前とするメッセージに置き換えます。そのため、Claude はコンテンツが必要な場合にファイルを読み取ります。ファイルはセッションの `tool-results` ディレクトリ内の [`~/.claude/projects/`](/docs/ja/claude-directory#cleaned-up-automatically) に配置されます。

1412* **HTTP および SSE サーバーからのレスポンスサイズ**:Claude Code は、[HTTP](#option-1-add-a-remote-http-server) または [SSE](#option-2-add-a-remote-sse-server) サーバーからのレスポンスについて、1 つの JSON レスポンスボディ、またはイベントストリームの 1 つのイベントが展開後に 16 MB を超えると、そのレスポンスの読み取りを停止します。そのレスポンスが応答するリクエストは失敗します。サーバーを管理している場合は、結果をページ分割するなどして、レスポンスごとに返すデータを減らし、制限内に収めてください1425* **HTTP および SSE サーバーからのレスポンスサイズ**:[HTTP](#option-1-add-a-remote-http-server) または [SSE](#option-2-add-a-remote-sse-server) サーバーからのレスポンスが 16 MiB を超えると、Claude Code はその読み取りを停止し、リクエストは失敗します。この制限は、展開後の 1 つの JSON レスポンスボディ、またはイベントストリームの 1 つのイベントに適用されます。サーバーを管理している場合は、結果をページ分割するなどして、レスポンスごとに返すデータを減らし、制限内に収めてください

1426* **WebSocket サーバーからのメッセージサイズ**:[WebSocket](#option-4-add-a-remote-websocket-server) サーバーが 16 MiB を超えるメッセージを 1 つ送信すると、Claude Code は[接続を閉じ](#mid-session-drops-of-a-remote-server)、そのサーバーで進行中の呼び出しは失敗します。サーバーを管理している場合は、メッセージごとに返すデータを減らし、制限内に収めてください

1413 1427 

1414Claude Code が[バックグラウンドタスクに移動した](#automatic-backgrounding-of-long-tool-calls)呼び出しは、タスク通知を通じて結果を報告します。フォアグラウンドで完了する呼び出しには、さらに 2 つの制限が適用されます。1428Claude Code が[バックグラウンドタスクに移動した](#automatic-backgrounding-of-long-tool-calls)呼び出しは、タスク通知を通じて結果を報告します。フォアグラウンドで完了する呼び出しには、さらに 2 つの制限が適用されます。

1415 1429 


1483 1497 

1484[ルートレベルのコンビネータ処理](#tool-input-schemas-with-a-root-level-combinator) は独立しており、フラグ取得がオフの場合またはフラグが到着したことのない場合、独自の動作を保持します。1498[ルートレベルのコンビネータ処理](#tool-input-schemas-with-a-root-level-combinator) は独立しており、フラグ取得がオフの場合またはフラグが到着したことのない場合、独自の動作を保持します。

1485 1499 

1500<h2 id="tools-with-names-longer-than-128-characters">

1501 名前が 128 文字を超えるツール

1502</h2>

1503 

1504`/mcp` に表示されているツールを Claude が呼び出せない場合は、そのツールの完全な名前が 128 文字を超えていないかを確認してください。セッションで `/mcp` を実行し、ツールを選択すると、`mcp__<server>__<tool>` のような完全な名前を確認できます。Claude Code は、完全な名前が 128 文字を超える MCP ツールを、Claude に送信するツールから除外します。Claude API はそのようなツールを含むリクエストを拒否するため、そのツールを除外することで、サーバーの他のツールは引き続き動作します。

1505 

1506ツール名を示すメッセージと、完全な名前を短くする方法については、[MCP ツール名が 128 文字を超える場合](/docs/ja/errors#mcp-tool-name-over-128-characters)を参照してください。

1507 

1486<h2 id="require-approval-for-a-specific-tool">1508<h2 id="require-approval-for-a-specific-tool">

1487 特定のツールに対して承認を要求する1509 特定のツールに対して承認を要求する

1488</h2>1510</h2>


1584ツール検索は、Claude がツールを必要とするまでツール定義を遅延させることで、MCP コンテキスト使用量を低く保ちます。セッション開始時にはツール名とサーバー指示のみが読み込まれるため、MCP サーバーを追加してもコンテキストウィンドウへの影響は最小限です。Claude Code はサーバーごとの固定ツール上限を課しません。実用的な上限はコンテキストウィンドウの予算です。1606ツール検索は、Claude がツールを必要とするまでツール定義を遅延させることで、MCP コンテキスト使用量を低く保ちます。セッション開始時にはツール名とサーバー指示のみが読み込まれるため、MCP サーバーを追加してもコンテキストウィンドウへの影響は最小限です。Claude Code はサーバーごとの固定ツール上限を課しません。実用的な上限はコンテキストウィンドウの予算です。

1585 1607 

1586<Note>1608<Note>

1587 ツール検索は Microsoft Foundry の[Azure でホストされているデプロイメント](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)ではサポートされていません。これらのデプロイメントはサーバー側でツール検索を拒否します。Claude Code はこの拒否を検出し、そのデプロイメント用に MCP ツールを事前に読み込みます。[`ENABLE_TOOL_SEARCH`](#configure-tool-search) はデプロイメント自体からの拒否であるため、これをオーバーライドすることはできません。1609 ツール検索は Microsoft Foundry の[Azure でホストされているデプロイ](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)ではサポートされていません。これらのデプロイはサーバー側でツール検索を拒否します。Claude Code はこの拒否を検出し、そのデプロイ用に MCP ツールを事前に読み込みます。[`ENABLE_TOOL_SEARCH`](#configure-tool-search) はデプロイ自体からの拒否であるため、これを上書きすることはできません。

1588</Note>1610</Note>

1589 1611 

1590<span id="for-mcp-server-authors" />1612<span id="for-mcp-server-authors" />


1601* Claude がツールを検索すべき時期1623* Claude がツールを検索すべき時期

1602* サーバーが提供する主な機能1624* サーバーが提供する主な機能

1603 1625 

1604Claude Code はツール説明とサーバー指示を各 2,048 文字でデフォルトで切り詰めます。簡潔に保ち、重要な詳細は最初の方に配置してください。1626Claude Code は、以下のデフォルトの上限を超えるツール説明やサーバー指示を切り詰めます。Claude には切り詰められる前のテキストのみが表示されます。

1627 

1628* **サーバー指示、および事前に読み込まれるツールの説明**: 4,096 文字

1629* **Claude がツール検索を通じて読み込むツールの説明**: 16,384 文字

1630 

1631説明と指示は簡潔に保ち、重要な詳細は最初の方に配置してください。ツール検索が Claude のクエリをツールの説明と照合する際は、短い方の上限内の部分のみを読み取るため、Claude が検索に使いそうな語句も最初の方に配置してください。ツールが遅延されない場合、たとえば[ツール検索がオフの場合](#configure-tool-search)、ツールが[事前に読み込むようマークされている場合](#per-tool-alwaysload)、またはそのサーバーが[遅延から除外されている場合](#exempt-a-server-from-deferral)には、ツールは事前に読み込まれ、短い方の上限が適用されます。

1632 

1633v2.1.296 より前は、短い方の上限は 2,048 文字でした。また v2.1.295 より前は、ツール検索を通じて読み込まれるものを含むすべてのツール説明にこの上限が適用されていました。

1605 1634 

1606セッション内のすべての MCP サーバーの上限を変更するには、[`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/ja/env-vars#variables)を文字数に設定します。この変数には Claude Code v2.1.280 以降が必要です。1635セッション内のすべての MCP サーバーの上限を変更するには、[`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/ja/env-vars#variables)を文字数に設定します。設定した数値は両方の上限を置き換えます。たとえば `8192` を設定すると、短い方の上限は引き上げられ、長い方の上限は引き下げられます。この変数には Claude Code v2.1.280 以降が必要です。

1607 1636 

1608<h4 id="per-tool-alwaysload">1637<h4 id="per-tool-alwaysload">

1609 ツールを事前に読み込むか遅延させたままにするかをマークする1638 ツールを事前に読み込むか遅延させたままにするかをマークする


1632 ツール検索を設定する1661 ツール検索を設定する

1633</h3>1662</h3>

1634 1663 

1635ツール検索はデフォルトで有効です。MCP ツールは遅延され、オンデマンドで検出されます。Claude Code は `ANTHROPIC_BASE_URL` が非ファーストパーティホストを指している場合、ツール検索を無効にします。ほとんどのプロキシは `tool_reference` ブロックを転送しないためです。`ENABLE_TOOL_SEARCH` を明示的に設定して、そのフォールバックをオーバーライドします。1664ツール検索はデフォルトで有効です。MCP ツールは遅延され、オンデマンドで検出されます。Claude Code は `ANTHROPIC_BASE_URL` が非ファーストパーティホストを指している場合、ツール検索を無効にします。ほとんどのプロキシは `tool_reference` ブロックを転送しないためです。`ENABLE_TOOL_SEARCH` を明示的に設定して、そのフォールバックを上書きします。

1636 1665 

1637[`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ja/env-vars) を設定するとツール検索がオフになります。`ENABLE_TOOL_SEARCH` を自分で設定してオーバーライドすることはできません。組織は [管理設定](/docs/ja/managed-settings)を通じて Claude Code v2.1.227 以降でツール検索をオンに保つことができます。[プリリリース機能を無効にする](/docs/ja/llm-gateway-protocol#disable-pre-release-capabilities)は、オーバーライドが適用される場所と変数が削除する内容をカバーしています。1666[`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ja/env-vars) を設定するとツール検索がオフになります。`ENABLE_TOOL_SEARCH` を自分で設定して上書きすることはできません。Claude Code v2.1.227 以降では、組織は[管理設定](/docs/ja/managed-settings)を通じて、この変数が設定されていてもツール検索をオンに保つことができます。[HIPAA 設定が適用される](/docs/ja/hipaa-setup#check-how-developers-sign-in-and-connect)セッションではツール検索はオフになり、`ENABLE_TOOL_SEARCH` と管理設定のいずれでも再びオンにすることはできません。[プリリリース機能を無効にする](/docs/ja/llm-gateway-protocol#disable-pre-release-capabilities)は、上書きが適用される場所と変数が削除する内容をカバーしています。

1638 1667 

1639ツール検索には `tool_reference` ブロックをサポートするモデルが必要です。Claude Sonnet 4.5、Claude Haiku 4.5、Claude Opus 4.5、およびそれ以降のモデルです。現在のリストについては、[API ドキュメントのモデル互換性](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool#model-compatibility)を参照してください。1668Claude Code は、Claude Opus 4、Claude Sonnet 4、Claude Haiku 4.5 およびそれ以降のモデル、また Google Cloud の Agent Platform では Opus 4.5、Sonnet 4.5、Haiku 4.5 およびそれ以降のモデルでツール検索を使用します。それより前のモデルでは、Claude Code はすべての MCP ツールを事前に読み込み、`ENABLE_TOOL_SEARCH=true` でもこれを上書きできません。

1640 1669 

1641Google Cloud の Agent Platform では、Claude Code はモデル世代によって決定します。1670Google Cloud の Agent Platform では、Claude Code はモデル世代によって決定します。

1642 1671 

1643* **Claude Opus 4.5、Sonnet 4.5、Haiku 4.5、およびそれ以降**: ツール検索はデフォルトでオンです。Anthropic API と同じです。1672* **Claude Opus 4.5、Sonnet 4.5、Haiku 4.5、およびそれ以降**: ツール検索はデフォルトでオンです。Anthropic API と同じです。

1644* **以前の Agent Platform モデル**: Claude Code は必要なベータヘッダーを拒否するサーバースタックのため、すべての MCP ツールを事前に読み込みます。`ENABLE_TOOL_SEARCH=true` はこれをオーバーライドしません。1673* **以前の Agent Platform モデル**: Claude Code は必要なベータヘッダーを拒否するサーバースタックのため、すべての MCP ツールを事前に読み込みます。`ENABLE_TOOL_SEARCH=true` はこれを上書きしません。

1645 1674 

1646v2.1.221 より前は、Claude Code は `ENABLE_TOOL_SEARCH=true` を設定しない限り、Google Cloud の Agent Platform 上のすべてのモデルに対してツール検索を無効にしていました。1675v2.1.221 より前は、Claude Code は `ENABLE_TOOL_SEARCH=true` を設定しない限り、Google Cloud の Agent Platform 上のすべてのモデルに対してツール検索を無効にしていました。

1647 1676 


1649 1678 

1650| 値 | 動作 |1679| 値 | 動作 |

1651| :- | :- |1680| :- | :- |

1652| (未設定) | すべての MCP ツールが遅延され、オンデマンドで読み込まれます。Google Cloud の Agent Platform の Claude 4.5 世代より前のモデル、`ANTHROPIC_BASE_URL` が非ファーストパーティホストの場合、または Azure でホストされている Microsoft Foundry デプロイメント上で事前読み込みにフォールバックします |1681| (未設定) | すべての MCP ツールが遅延され、オンデマンドで読み込まれます。Opus 4 および Sonnet 4 より前のモデル、Opus 4.5、Sonnet 4.5、Haiku 4.5 より前の Google Cloud の Agent Platform モデル、`ANTHROPIC_BASE_URL` が非ファーストパーティホストの場合、または Azure でホストされている Microsoft Foundry デプロイ上では、事前読み込みにフォールバックします |

1653| `true` | すべての MCP ツールが遅延されます。ただし、Azure でホストされている Microsoft Foundry デプロイメント上では、サーバー側の拒否により事前読み込みが強制され、Google Cloud の Agent Platform の Claude 4.5 世代より前のモデル上では、Claude Code はツール読み込みを事前に保ちます。Claude Code はベータヘッダーをプロキシ経由で送信し、`tool_reference` ブロックをサポートしないプロキシではリクエストが失敗します |1682| `true` | `ANTHROPIC_BASE_URL` が非ファーストパーティホストの場合でも、MCP ツールは遅延されたままになります。その他の(未設定時の)フォールバックは引き続き適用されます。Claude Code はベータヘッダーをプロキシ経由で送信し、`tool_reference` ブロックをサポートしないプロキシではリクエストが失敗します |

1654| `auto` | しきい値モード。Claude Code は、定義の合計がコンテキストウィンドウの 10% 未満の間は、遅延させるツールを事前に読み込み、定義が 10% に達すると、すべてを遅延させます |1683| `auto` | しきい値モード。Claude Code は、定義の合計がコンテキストウィンドウの 10% 未満の間は、遅延させるツールを事前に読み込み、定義が 10% に達すると、すべてを遅延させます |

1655| `auto:N` | カスタムパーセンテージを使用したしきい値モード。`N` は 0~100 です。たとえば、5% の場合は `auto:5` です |1684| `auto:N` | カスタムパーセンテージを使用したしきい値モード。`N` は 0~100 です。たとえば、5% の場合は `auto:5` です |

1656| `false` | すべての MCP ツールが事前に読み込まれ、遅延はありません |1685| `false` | すべての MCP ツールが事前に読み込まれ、遅延はありません |

memory.md +4 −4

Details

258 258 

259Claude Code は予算を超えるパターンを展開されていない状態で使用し、その文字通りのブレースはファイルをマッチさせません。v2.1.217 より前では、多くのブレースグループを持つ `paths` 値は起動時に CLI をスタールまたはクラッシュさせました。259Claude Code は予算を超えるパターンを展開されていない状態で使用し、その文字通りのブレースはファイルをマッチさせません。v2.1.217 より前では、多くのブレースグループを持つ `paths` 値は起動時に CLI をスタールまたはクラッシュさせました。

260 260 

261グロブ構文は `[` をブラケット式(`[abc]` など)の開始として扱います。`photos [2024/**` のようにブラケット式として読むことができない `[` を持つパターンは無効です。何もマッチせず、ルールの他のパターンは機能し続けます。ファイル名内のリテラル `[` をマッチさせるには、`photos \[2024/**` のようにエスケープしてください。v2.1.207 より前では、1 つの無効なパターンは、何もマッチしないのではなく、ルールが評価されたすべてのファイルに対して Read ツールを失敗させました。261グロブ構文は `[` をブラケット式(`[abc]` など)の開始として扱います。`photos [2024/**` のようにブラケット式として読むことができない `[` を持つパターンは無効です。何もマッチせず、ルールの他のパターンは機能し続けます。ファイル名内のリテラル `[` をマッチさせるには、`photos \[2024/**` のようにエスケープしてください。

262 262 

263<h4 id="rules-frontmatter-reference">263<h4 id="rules-frontmatter-reference">

264 ルールのフロントマターリファレンス264 ルールのフロントマターリファレンス


413 413 

414* **セッション開始時**: ワーキングディレクトリとその上位ディレクトリ内のすべての `AGENTS.md` と `.claude/AGENTS.md`。インタラクティブセッションでは、会話に `no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md` のような行が表示されます414* **セッション開始時**: ワーキングディレクトリとその上位ディレクトリ内のすべての `AGENTS.md` と `.claude/AGENTS.md`。インタラクティブセッションでは、会話に `no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md` のような行が表示されます

415* **Claude がサブディレクトリで作業するとき**: Claude が Read ツールでそこにファイルを開き、そのサブディレクトリに 3 つの `CLAUDE.md` ファイルのいずれも含まれていない場合、サブディレクトリの `AGENTS.md`415* **Claude がサブディレクトリで作業するとき**: Claude が Read ツールでそこにファイルを開き、そのサブディレクトリに 3 つの `CLAUDE.md` ファイルのいずれも含まれていない場合、サブディレクトリの `AGENTS.md`

416* **各 `AGENTS.md` 内**: [`@path` インポート](#import-additional-files) が展開され、[`claudeMdExcludes`](#exclude-specific-claude-md-files) パターンが適用され、[プロジェクト指示をスキップ](/docs/ja/sub-agents#what-loads-at-startup) するサブエージェントがこれらのファイルもスキップします416* **各 `AGENTS.md` 内**: [`@path` インポート](#import-additional-files) が展開され、[`claudeMdExcludes`](#exclude-specific-claude-md-files) パターンが適用され、[プロジェクト指示なしで起動する](/docs/ja/sub-agents#what-loads-at-startup) サブエージェントは、これらのファイルもなしで起動します

417* **読み込まれない**: `AGENTS.local.md`、`AGENTS.override.md`、または `.agents/` ディレクトリ下のすべてのもの417* **読み込まれない**: `AGENTS.local.md`、`AGENTS.override.md`、または `.agents/` ディレクトリ下のすべてのもの

418 418 

419<Note>419<Note>


495 495 

496## Claude Code496## Claude Code

497 497 

498`src/billing/` 下の変更にはプランモードを使用してください。498Use plan mode for changes under `src/billing/`.

499```499```

500 500 

501Claude 固有のコンテンツが不要な場合、シンボリックリンクも機能します。501Claude 固有のコンテンツが不要な場合、シンボリックリンクも機能します。


692 692 

693指示ファイルのいずれかが推奨される長さを超えている場合、起動時と `/status` の実行時に警告が表示されます。また、個々のファイルはその長さの範囲内であっても、セッション開始時の合計が上限を超える場合にも警告が表示されます。各 CLAUDE.md、ルールファイル、および `@path` インポートは、それぞれ別のファイルとしてカウントされます。693指示ファイルのいずれかが推奨される長さを超えている場合、起動時と `/status` の実行時に警告が表示されます。また、個々のファイルはその長さの範囲内であっても、セッション開始時の合計が上限を超える場合にも警告が表示されます。各 CLAUDE.md、ルールファイル、および `@path` インポートは、それぞれ別のファイルとしてカウントされます。

694 694 

695[`/doctor`](/docs/ja/commands#all-commands) チェックアップは、チェックインされた CLAUDE.md のトリミングを提案します。コードベースから派生できるコンテンツ(ディレクトリレイアウト、依存関係リスト、アーキテクチャの概要など)を削除し、落とし穴、根拠、およびツールのデフォルトと異なる規約を保持します。トリムチェックには Claude Code v2.1.206 以降が必要です。695[`/doctor`](/docs/ja/commands#all-commands) チェックアップは、チェックインされた CLAUDE.md のトリミングを提案します。コードベースから派生できるコンテンツ(ディレクトリレイアウト、依存関係リスト、アーキテクチャの概要など)を削除し、落とし穴、根拠、およびツールのデフォルトと異なる規約を保持します。

696 696 

697<h3 id="instructions-seem-lost-after-/compact">697<h3 id="instructions-seem-lost-after-/compact">

698 `/compact` 後に指示が失われたようです698 `/compact` 後に指示が失われたようです

Details

160 ベアラートークンを使用する160 ベアラートークンを使用する

161</h4>161</h4>

162 162 

163Claude Code は、すべてのリクエストで `ANTHROPIC_FOUNDRY_AUTH_TOKEN` の値を `Authorization: Bearer` ヘッダーとして送信します。ホストアプリケーションやサインインスクリプトなど、別のプロセスがすでにアクセストークンを取得している場合に、このオプションを使用します。Claude Code v2.1.203 以降が必要です。163Claude Code は、すべてのリクエストで `ANTHROPIC_FOUNDRY_AUTH_TOKEN` の値を `Authorization: Bearer` ヘッダーとして送信します。ホストアプリケーションやサインインスクリプトなど、別のプロセスがすでにアクセストークンを取得している場合に、このオプションを使用します。

164 164 

165変数を、Microsoft Entra ID がリソース用に発行したベアラートークンに設定します:165変数を、Microsoft Entra ID がリソース用に発行したベアラートークンに設定します:

166 166 

model-config.md +3 −0

Details

867* **すべてのモデル**:設定ファイルで [`autoCompactWindow`](/docs/ja/settings-reference#autocompactwindow) を設定します(例:`~/.claude/settings.json` に `"autoCompactWindow": 200000` を記述)。`/autocompact` でモデルごとに保存したウィンドウは、そのモデルについては同じファイル内のこのキーよりも優先されます。867* **すべてのモデル**:設定ファイルで [`autoCompactWindow`](/docs/ja/settings-reference#autocompactwindow) を設定します(例:`~/.claude/settings.json` に `"autoCompactWindow": 200000` を記述)。`/autocompact` でモデルごとに保存したウィンドウは、そのモデルについては同じファイル内のこのキーよりも優先されます。

868* **1 回の起動のみ**:Claude Code の起動時に [`--autocompact`](/docs/ja/cli-reference#cli-flags) を渡します。このフラグは、保存済みの設定を変更することなく、その起動に限って設定を上書きします。また、`claude --autocompact auto` を実行すると、保存済みの設定に値があっても、調整済みのウィンドウでセッションが実行されます。`/autocompact` とは異なり、このフラグは管理設定など、より優先順位の高い設定スコープによって無効化されることはありません。868* **1 回の起動のみ**:Claude Code の起動時に [`--autocompact`](/docs/ja/cli-reference#cli-flags) を渡します。このフラグは、保存済みの設定を変更することなく、その起動に限って設定を上書きします。また、`claude --autocompact auto` を実行すると、保存済みの設定に値があっても、調整済みのウィンドウでセッションが実行されます。`/autocompact` とは異なり、このフラグは管理設定など、より優先順位の高い設定スコープによって無効化されることはありません。

869* **スクリプトおよびクラウド環境**:[`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/ja/env-vars) を設定します。この環境変数が設定されている間は、コマンド、フラグ、設定よりも優先され、`/autocompact` はウィンドウを変更する代わりに上書きされていることを報告します。869* **スクリプトおよびクラウド環境**:[`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/ja/env-vars) を設定します。この環境変数が設定されている間は、コマンド、フラグ、設定よりも優先され、`/autocompact` はウィンドウを変更する代わりに上書きされていることを報告します。

870* **1 つのサブエージェントのみ**:[1 つのサブエージェントの自動圧縮ウィンドウを設定する](/docs/ja/sub-agents#subagent-auto-compact-window)を参照してください。

870 871 

871コマンドとフラグには、100K から 1M トークンまでのウィンドウサイズを次のいずれかの形式で指定できます。872コマンドとフラグには、100K から 1M トークンまでのウィンドウサイズを次のいずれかの形式で指定できます。

872 873 


888* ネイティブの 1M ウィンドウで実行されるモデルは、ウィンドウが埋まる前に、デフォルトで約 967K トークンの時点で圧縮します。これには、Fable モデル、Sonnet 5 以降、Haiku 5.5、Opus 4.7 以降が含まれます。カスタムの `ANTHROPIC_BASE_URL` を使用している場合は、[ゲートウェイ経由のコンテキストウィンドウ](#context-window-behind-a-gateway)を参照してください889* ネイティブの 1M ウィンドウで実行されるモデルは、ウィンドウが埋まる前に、デフォルトで約 967K トークンの時点で圧縮します。これには、Fable モデル、Sonnet 5 以降、Haiku 5.5、Opus 4.7 以降が含まれます。カスタムの `ANTHROPIC_BASE_URL` を使用している場合は、[ゲートウェイ経由のコンテキストウィンドウ](#context-window-behind-a-gateway)を参照してください

889* [LLM ゲートウェイ](/docs/ja/llm-gateway)のエイリアスなど、Claude Code が認識できないモデル ID を使用するセッションは、Claude Code がその ID に対して想定するコンテキストウィンドウで圧縮します。[ゲートウェイまたはカスタムモデル ID のウィンドウを修正する](#correct-the-window-for-a-gateway-or-custom-model-id)を参照してください890* [LLM ゲートウェイ](/docs/ja/llm-gateway)のエイリアスなど、Claude Code が認識できないモデル ID を使用するセッションは、Claude Code がその ID に対して想定するコンテキストウィンドウで圧縮します。[ゲートウェイまたはカスタムモデル ID のウィンドウを修正する](#correct-the-window-for-a-gateway-or-custom-model-id)を参照してください

890 891 

892会話をアイドル状態のまま放置した場合にも Claude Code が圧縮するタイミングについては、[`idleCompaction`](/docs/ja/settings-reference#idlecompaction) 設定を参照してください。

893 

891<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">894<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">

892 ゲートウェイまたはカスタムモデル ID のウィンドウを修正する895 ゲートウェイまたはカスタムモデル ID のウィンドウを修正する

893</h3>896</h3>

Details

641 641 

642* `prompt.id`: ユーザーのプロンプトと、次のプロンプトまでに発生する後続のすべてのイベントを関連付ける UUID。[イベント相関属性](#event-correlation-attributes)を参照してください。642* `prompt.id`: ユーザーのプロンプトと、次のプロンプトまでに発生する後続のすべてのイベントを関連付ける UUID。[イベント相関属性](#event-correlation-attributes)を参照してください。

643* `workspace.host_paths`: デスクトップアプリで選択されたホストのワークスペースディレクトリ(文字列配列)643* `workspace.host_paths`: デスクトップアプリで選択されたホストのワークスペースディレクトリ(文字列配列)

644* `workflow.run_id`: `wf_` をプレフィックスとする実行識別子。[Workflow](/docs/ja/workflows) ツールの実行に属するエージェントが発行する API イベントとツールイベントに付与されます。1 つの `workflow.run_id` でイベントをフィルタリングすると、その実行の API リクエストとツール結果を再構成できます。この識別子は、ワークフロースクリプトが起動するエージェントと、それらがさらに起動するエージェント(スキルの呼び出しなど)を対象とします。Workflow ツールの結果で報告される実行識別子と一致します。その他のすべてのイベントには含まれません。Claude Code v2.1.202 以降が必要です644* `workflow.run_id`: `wf_` という接頭辞の付いた実行識別子。[Workflow](/docs/ja/workflows) ツールの実行に属するエージェントが出力する API イベントおよびツールイベントに付与されます。1 つの `workflow.run_id` でイベントをフィルタリングすると、その実行の API リクエストとツール結果を再構成できます。この識別子は、ワークフロースクリプトが生成するエージェントと、それらがさらに生成するエージェント(スキルの呼び出しなど)を対象とします。Workflow ツールの結果で報告される実行識別子と一致します。その他のすべてのイベントには含まれません。

645* `workflow.name`: ワークフローの名前(スクリプトの `meta.name`)。`workflow.run_id` と一緒に出力されます。組み込みワークフローの名前は、未変更の組み込みスクリプトが実行された場合にそのまま表示されます。ユーザーが作成した名前(組み込みスクリプトを編集したコピーを含む)は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `custom` に置き換えられます。Claude Code v2.1.202 以降が必要です645* `workflow.name`: ワークフローの名前(スクリプトの `meta.name`)。`workflow.run_id` と一緒に出力されます。組み込みワークフローの名前は、実行で変更されていない組み込みスクリプトが使用された場合にそのまま表示されます。ユーザーが作成した名前(組み込みスクリプトを編集したコピーを含む)は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `custom` に置き換えられます。

646 646 

647<h4 id="repository-attributes">647<h4 id="repository-attributes">

648 リポジトリ属性648 リポジトリ属性


1374* `pre_tokens`: 圧縮前のおおよそのトークン数1374* `pre_tokens`: 圧縮前のおおよそのトークン数

1375* `post_tokens`: 圧縮後のおおよそのトークン数1375* `post_tokens`: 圧縮後のおおよそのトークン数

1376* `error`: 圧縮が失敗した場合のエラーメッセージ1376* `error`: 圧縮が失敗した場合のエラーメッセージ

1377* `precompute_reuse`: `trigger` が `"manual"` の場合にのみ設定されます。自動圧縮では、コンテキストウィンドウが埋まる前にバックグラウンドで要約を準備できます。この属性は、`/compact` がその準備済みの要約を再利用したかどうかを記録します。`"hit"` は再利用されたことを意味し、`"miss_custom_instructions"`、`"miss_hook"`、`"miss_not_ready"` は、代わりに新しい要約が計算された理由を示します1377* `precompute_reuse`: `trigger` が `"manual"` の場合、または `trigger` を `"auto"` として報告する[アイドル時の圧縮](/docs/ja/settings-reference#idlecompaction)の場合にのみ設定されます。自動圧縮はコンテキストウィンドウがいっぱいになる前にバックグラウンドで要約を準備することがあり、この属性は圧縮がその準備済みの要約を再利用したかどうかを記録します。`"hit"` は再利用されたことを意味します。`"miss_custom_instructions"`、`"miss_hook"`、`"miss_not_ready"` は、代わりに新しい要約が計算された理由を示します

1378 1378 

1379<h4 id="subagent-completed-event">1379<h4 id="subagent-completed-event">

1380 サブエージェント完了イベント1380 サブエージェント完了イベント

Details

209| :- | :- | :- | :- |209| :- | :- | :- | :- |

210| 最初のバイト期限 | Claude Code がリクエストを送信した後、レスポンスヘッダーが到着しない | 直接 Anthropic API および [Claude Platform on AWS](/docs/ja/claude-platform-on-aws)(HTTPS プロキシを含む)。ただし、`ANTHROPIC_BASE_URL` または `ANTHROPIC_AWS_BASE_URL` が [gateway](/docs/ja/gateways) を経由する場合は除外。Amazon Bedrock では `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` でオプトイン。Google Cloud の Agent Platform または Microsoft Foundry では実行されない | 直接 Anthropic API では 180 秒、その他では 300 秒、加えてリクエストボディの 32KB ごとに 1 秒 |210| 最初のバイト期限 | Claude Code がリクエストを送信した後、レスポンスヘッダーが到着しない | 直接 Anthropic API および [Claude Platform on AWS](/docs/ja/claude-platform-on-aws)(HTTPS プロキシを含む)。ただし、`ANTHROPIC_BASE_URL` または `ANTHROPIC_AWS_BASE_URL` が [gateway](/docs/ja/gateways) を経由する場合は除外。Amazon Bedrock では `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` でオプトイン。Google Cloud の Agent Platform または Microsoft Foundry では実行されない | 直接 Anthropic API では 180 秒、その他では 300 秒、加えてリクエストボディの 32KB ごとに 1 秒 |

211| イベントレベルウォッチドッグ | レスポンスイベントが解析されない。バイトレベルウォッチドッグが Amazon Bedrock 以外の接続で実行される場合、キープアライブピングを含む到着バイトもこのウォッチドッグをリセットし、解析されたイベントがない状態で約 5 分間まで実行される | すべてのプロバイダー | 300 秒 |211| イベントレベルウォッチドッグ | レスポンスイベントが解析されない。バイトレベルウォッチドッグが Amazon Bedrock 以外の接続で実行される場合、キープアライブピングを含む到着バイトもこのウォッチドッグをリセットし、解析されたイベントがない状態で約 5 分間まで実行される | すべてのプロバイダー | 300 秒 |

212| バイトレベルウォッチドッグ | ワイヤー上にバイトが到着しない(SSE キープアライブピングを含む) | 直接 Anthropic API、[Claude Platform on AWS](/docs/ja/claude-platform-on-aws)、および [gateway](/docs/ja/gateways) 接続(カスタム `ANTHROPIC_BASE_URL` を含む)。Amazon Bedrock の `vnd.amazon.eventstream` レスポンスでは `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` でオプトイン。Google Cloud の Agent Platform または Microsoft Foundry では実行されない | 直接 Anthropic API では 180 秒。カスタム `ANTHROPIC_BASE_URL` 経由では、Claude Code が [機能フラグを取得済み](/docs/ja/env-vars#features-that-need-feature-flag-fetching) の場合は 180 秒、取得していない場合は 300 秒。その他では 300 秒 |212| バイトレベルウォッチドッグ | ワイヤー上にバイトが到着しない(SSE キープアライブピングを含む) | 直接 Anthropic API、[Claude Platform on AWS](/docs/ja/claude-platform-on-aws)、および [gateway](/docs/ja/gateways) 接続(カスタム `ANTHROPIC_BASE_URL` を含む)。Amazon Bedrock の `vnd.amazon.eventstream` レスポンスでは `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` でオプトイン。Google Cloud の Agent Platform または Microsoft Foundry では実行されない | 直接 Anthropic API では 180 秒。Claude Platform on AWS、Amazon Bedrock、[Claude apps gateway](/docs/ja/claude-apps-gateway) セッション、およびカスタム `ANTHROPIC_BASE_URL` 経由では 300 秒 |

213| ボディアイドルタイムアウト | 5 分間バイトが到着しない | 直接 Anthropic API、Claude Platform on AWS、および `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` が設定された Amazon Bedrock 以外のプロバイダー。ただし、[`API_FORCE_IDLE_TIMEOUT`](/docs/ja/env-vars) がこれを変更する場合は除外 | 5 分 |213| ボディアイドルタイムアウト | 5 分間バイトが到着しない | 直接 Anthropic API、Claude Platform on AWS、および `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` が設定された Amazon Bedrock 以外のプロバイダー。ただし、[`API_FORCE_IDLE_TIMEOUT`](/docs/ja/env-vars) がこれを変更する場合は除外 | 5 分 |

214 214 

215`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` を設定した場合、バイトレベルウォッチドッグは Bedrock のボディアイドルタイムアウトを置き換え、並行して実行されるのではなく実行されます。その後、`CLAUDE_STREAM_IDLE_TIMEOUT_MS` は Bedrock ストリームが接続を切断されたものとして扱われるまで静止状態を保つことができる期間も制御し、以下にリストされた制限内です。到着バイトは Bedrock のイベントレベルウォッチドッグをリセットしません。デバッグログが有効な場合、各 Bedrock ストリームは `wire-heartbeat: _chunkTimes absent` で始まるデバッグメッセージをログに記録します。215`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` を設定した場合、バイトレベルウォッチドッグは Bedrock のボディアイドルタイムアウトを置き換え、並行して実行されるのではなく実行されます。その後、`CLAUDE_STREAM_IDLE_TIMEOUT_MS` は Bedrock ストリームが接続を切断されたものとして扱われるまで静止状態を保つことができる期間も制御し、以下にリストされた制限内です。到着バイトは Bedrock のイベントレベルウォッチドッグをリセットしません。デバッグログが有効な場合、各 Bedrock ストリームは `wire-heartbeat: _chunkTimes absent` で始まるデバッグメッセージをログに記録します。

Details

239 * **ローカルマシンの [Remote Control](/docs/ja/remote-control) セッション**:自分で開始したセッションの場合は Manual、Accept edits、Plan、Auto を使用でき、アプリから Bypass permissions を選択することはできません。Auto を使用するには、セッションが auto モードの[利用要件](#eliminate-prompts-with-auto-mode)を満たしている必要があります。コンピューター上で実行されるプロジェクトスレッドについては、[スレッドを自分のコンピューター上で実行する](/docs/ja/claude-projects#run-a-thread-on-your-own-computer)を参照してください。239 * **ローカルマシンの [Remote Control](/docs/ja/remote-control) セッション**:自分で開始したセッションの場合は Manual、Accept edits、Plan、Auto を使用でき、アプリから Bypass permissions を選択することはできません。Auto を使用するには、セッションが auto モードの[利用要件](#eliminate-prompts-with-auto-mode)を満たしている必要があります。コンピューター上で実行されるプロジェクトスレッドについては、[スレッドを自分のコンピューター上で実行する](/docs/ja/claude-projects#run-a-thread-on-your-own-computer)を参照してください。

240 * Bypass permissions を除き、ドロップダウンはローカルセッションの現在の権限モードを表示します。これにはターミナルから設定された権限モードも含まれます。アプリまたはターミナルで権限モードが変更されると、表示が更新されます。240 * Bypass permissions を除き、ドロップダウンはローカルセッションの現在の権限モードを表示します。これにはターミナルから設定された権限モードも含まれます。アプリまたはターミナルで権限モードが変更されると、表示が更新されます。

241 * [デスクトップアプリ](/docs/ja/desktop)または [VS Code 拡張機能](/docs/ja/vs-code)でホストされるセッションは、ターミナルでホストされるセッションと同様に、権限モードの変更を発生時に claude.ai に報告します。241 * [デスクトップアプリ](/docs/ja/desktop)または [VS Code 拡張機能](/docs/ja/vs-code)でホストされるセッションは、ターミナルでホストされるセッションと同様に、権限モードの変更を発生時に claude.ai に報告します。

242 * v2.1.202 より前では、`/remote-control` または `claude --remote-control` で接続されたセッションは権限モードをまったく報告しなかったため、claude.ai とモバイルアプリはセッションの実際とは異なる権限モードを表示する可能性がありました。不一致はラベルのみに影響しました。Claude Code は権限プロンプトをセッションの実際の権限モードから生成し、それらは依然としてアプリに表示されて承認されました。

243 242 

244 Remote Control の場合、ローカルマシンを実行するセッションは claude.ai アカウントでサインインする必要があります。API キーはサポートされていません。ローカルセッションを起動するときに開始権限モードを設定することもできます。243 Remote Control の場合、ローカルマシンを実行するセッションは claude.ai アカウントでサインインする必要があります。API キーはサポートされていません。ローカルセッションを起動するときに開始権限モードを設定することもできます。

245 244 


352 351 

353開発者が auto モードを使用できないようにするには、[管理設定](/docs/ja/managed-settings)で `disableAutoMode` を `"disable"` に設定します。これにより `auto` が `Shift+Tab` のサイクルから削除され、`--permission-mode auto` で開始されたセッションは代わりに Manual で開始します。すでに auto モードで実行中のセッションは、この設定が[管理者がデプロイしたソース](/docs/ja/managed-settings#which-managed-source-claude-code-uses)からそのセッションに届くと auto モードを終了し、`auto mode disabled by settings` と表示します。v2.1.251 より前では、実行中のセッションは終了するまで auto モードを維持していました。352開発者が auto モードを使用できないようにするには、[管理設定](/docs/ja/managed-settings)で `disableAutoMode` を `"disable"` に設定します。これにより `auto` が `Shift+Tab` のサイクルから削除され、`--permission-mode auto` で開始されたセッションは代わりに Manual で開始します。すでに auto モードで実行中のセッションは、この設定が[管理者がデプロイしたソース](/docs/ja/managed-settings#which-managed-source-claude-code-uses)からそのセッションに届くと auto モードを終了し、`auto mode disabled by settings` と表示します。v2.1.251 より前では、実行中のセッションは終了するまで auto モードを維持していました。

354 353 

355v2.1.158 から v2.1.206 では、これらのプロバイダーでは `CLAUDE_CODE_ENABLE_AUTO_MODE=1` を設定するまで auto モードはオフであり、Claude Code はこの変数も設定されていない限り、これらのプロバイダーで `defaultMode: "auto"` を無視していました。この変数は互換性のために引き続き受け付けられますが、v2.1.207 以降は効果がありません。

356 

357<h3 id="server-side-classifier-review">354<h3 id="server-side-classifier-review">

358 サーバー側の分類器レビュー355 サーバー側の分類器レビュー

359</h3>356</h3>


408* `--dangerously-skip-permissions` や `--no-sandbox` で起動したものなど、人間の承認やサンドボックスなしで実行される自律エージェントループの起動。これには、`--yes-always` で起動したランナーなど、分離とアクションごとの承認を無効にしてサードパーティのエージェントや eval ハーネスを実行することも含まれます405* `--dangerously-skip-permissions` や `--no-sandbox` で起動したものなど、人間の承認やサンドボックスなしで実行される自律エージェントループの起動。これには、`--yes-always` で起動したランナーなど、分離とアクションごとの承認を無効にしてサードパーティのエージェントや eval ハーネスを実行することも含まれます

409* ページコンテンツ、Cookie、または認証情報をオリジン外に送信する可能性のある [Claude in Chrome](/docs/ja/chrome) のブラウザアクション406* ページコンテンツ、Cookie、または認証情報をオリジン外に送信する可能性のある [Claude in Chrome](/docs/ja/chrome) のブラウザアクション

410* 特定の名前付きパスではなく、ワイルドカード、glob、または経過時間フィルターによって `/tmp`、`$TMPDIR`、またはその他の共有スクラッチディレクトリやキャッシュディレクトリ内のファイルを削除すること407* 特定の名前付きパスではなく、ワイルドカード、glob、または経過時間フィルターによって `/tmp`、`$TMPDIR`、またはその他の共有スクラッチディレクトリやキャッシュディレクトリ内のファイルを削除すること

411* 他の人や共有システムに送信、アップロード、公開、または書き込まれるコンテンツに、ユーザー自身のメッセージがその受信者に対して認めていない機密性の高い詳細を含めること。リポジトリが信頼境界の外にあるか公開されている場合(組織自身の公開リポジトリを含む)、PR やイシューの本文、コミットメッセージ、コメントはこの種の外部向けコンテンツとして扱われます。内部のファイルパス、コードネーム、メールアドレスやアカウント識別子などの実際の API レスポンスデータ、インフラストラクチャ識別子は機密性の高い詳細として扱われます。メールアドレス、アカウントや組織の識別子、使用量の指標など、API レスポンスから得た実際の個人データを PR やイシューの本文に含める場合は、リポジトリの可視性や信頼境界にかかわらず、それらの詳細と受信者を明示する必要があります。このチェックには Claude Code v2.1.203 以降が必要です408* 他の人や共有システムに送信、アップロード、公開、または書き込まれるコンテンツに、ユーザー自身のメッセージがその受信者に対して認めていない機密性の高い詳細を含めること。リポジトリが信頼境界の外にあるか公開されている場合(組織自身の公開リポジトリを含む)、PR やイシューの本文、コミットメッセージ、コメントはこの種の外部向けコンテンツとして扱われます。内部のファイルパス、コードネーム、メールアドレスやアカウント識別子などの実際の API レスポンスデータ、インフラストラクチャ識別子は機密性の高い詳細として扱われます。メールアドレス、アカウントや組織の識別子、使用量の指標など、API レスポンスから得た実際の個人データを PR やイシューの本文に含める場合は、リポジトリの可視性や信頼境界にかかわらず、それらの詳細と受信者を明示する必要があります

412* Claude Code 自身の tmux ペインにキーストロークを送信して自身のインターフェースを操作すること(分類器はこれを、Claude が自身の権限や監視を変更するものとして扱います)409* Claude Code 自身の tmux ペインにキーストロークを送信して自身のインターフェースを操作すること(分類器はこれを、Claude が自身の権限や監視を変更するものとして扱います)

413* 認証、アクセス制御、入力検証、サンドボックス化などのセキュリティ動作を保護するテストやアサーションのコメントアウト、削除、または強制的な合格化410* 認証、アクセス制御、入力検証、サンドボックス化などのセキュリティ動作を保護するテストやアサーションのコメントアウト、削除、または強制的な合格化

414* より具体的な削除ルールが適用されず、ユーザーがそのリソースを指定していない場合に、セッション中に Claude が作成していないステートフルなリソースを削除または破棄すること411* より具体的な削除ルールが適用されず、ユーザーがそのリソースを指定していない場合に、セッション中に Claude が作成していないステートフルなリソースを削除または破棄すること

415* API ベース URL、プロキシエンドポイント、webhook レシーバー、またはレジストリミラーを、タスクにそぐわないサードパーティホストに向け直すこと(`.env.example` のようなサンプルファイル内を含む)412* API ベース URL、プロキシエンドポイント、webhook レシーバー、またはレジストリミラーを、タスクにそぐわないサードパーティホストに向け直すこと(`.env.example` のようなサンプルファイル内を含む)

416* 新しいリモートをユーザーが指定していない限り、`git remote set-url` や `git remote add` でプッシュ先を変更すること413* 新しいリモートをユーザーが指定していない限り、`git remote set-url` や `git remote add` でプッシュ先を変更すること

417* 公開されていることがわかっているリポジトリへのシークレット、個人データ、または預かったデータのプッシュ、またはそのリポジトリ自体の作業に含まれない機密資料のプッシュ。dotfiles リポジトリ自体の対象となる内容は、個人データや預かったデータに関する唯一の例外であり、プライベートリポジトリのコンテンツがいずれかの公開サーフェスに到達する場合も同様にブロックされます。これらの改善にはいずれも Claude Code v2.1.203 以降が必要です。v2.1.203 より前では、個人データは機密資料と同じ扱いで、そのリポジトリ自体の作業に含まれない場合にのみブロックされていました。リポジトリの可視性が確認できない場合、分類器はそれだけを理由にブロックせず、代わりに他のルールに照らしてコンテンツを判断します414* 公開されていることがわかっているリポジトリへのシークレット、個人データ、または預かったデータのプッシュ、またはそのリポジトリ自体の作業に含まれない機密資料のプッシュ。dotfiles リポジトリ自体の対象となる内容は、個人データや預かったデータに関する唯一の例外であり、プライベートリポジトリのコンテンツがいずれかの公開サーフェスに到達する場合も同様にブロックされます。リポジトリの可視性が確認できない場合、分類器はそれだけを理由にブロックせず、代わりに他のルールに照らしてコンテンツを判断します

418* 外部のターゲットをユーザーが指定していない限り、別のリポジトリや組織に対するプルリクエストの作成、`gh repo fork` によるフォーク、またはサードパーティリポジトリへのプッシュ415* 外部のターゲットをユーザーが指定していない限り、別のリポジトリや組織に対するプルリクエストの作成、`gh repo fork` によるフォーク、またはサードパーティリポジトリへのプッシュ

419 

420これらのカテゴリのいくつかは、機密性の高いリモートターゲットや保護された IaC スコープなど、具体的な名前に絞り込める[環境](/docs/ja/auto-mode-config#define-trusted-infrastructure)エントリに依存しています。

421 

422Claude Code v2.1.203 以降では、以下もデフォルトでブロックされます。

423 

424* ソースと宛先の両方をユーザーが指定していない限り、機密性の高いローカルストア、または名前、パス、種類から機密であるとわかるファイルのコンテンツを、コミット、プッシュ、PR やイシューのテキスト、gist やペースト、またはパッケージの公開に含めること。セッションのトランスクリプトと会話ログ、SSH キー、クラウドの認証情報、ブラウザプロファイル、シェル履歴などの認証情報や設定のドットフォルダ、ユーザーデータのエクスポートはすべて対象であり、リポジトリがプライベートであっても解除されません416* ソースと宛先の両方をユーザーが指定していない限り、機密性の高いローカルストア、または名前、パス、種類から機密であるとわかるファイルのコンテンツを、コミット、プッシュ、PR やイシューのテキスト、gist やペースト、またはパッケージの公開に含めること。セッションのトランスクリプトと会話ログ、SSH キー、クラウドの認証情報、ブラウザプロファイル、シェル履歴などの認証情報や設定のドットフォルダ、ユーザーデータのエクスポートはすべて対象であり、リポジトリがプライベートであっても解除されません

425 

426Claude Code v2.1.205 以降では、以下もデフォルトでブロックされます。

427 

428* Claude Code のセッショントランスクリプト、つまり `~/.claude/projects/` または設定した config ディレクトリ配下の `.jsonl` 履歴ファイルへの書き込み(直接か、シェルコマンド経由かを問いません)。このルールは、Claude Code が独自のチェックのために各トランスクリプトエントリに追加するメタデータ行も対象とします。トランスクリプトの読み取りはブロックされません417* Claude Code のセッショントランスクリプト、つまり `~/.claude/projects/` または設定した config ディレクトリ配下の `.jsonl` 履歴ファイルへの書き込み(直接か、シェルコマンド経由かを問いません)。このルールは、Claude Code が独自のチェックのために各トランスクリプトエントリに追加するメタデータ行も対象とします。トランスクリプトの読み取りはブロックされません

429* `rm -rf "$VAR"` や `Remove-Item -Recurse -Force $dir` のような再帰的な強制削除で、対象が分類器の見る会話のどこでも代入されていないシェル変数、またはそのような変数を起点とする glob であるもの。その値は分類器が受け取らない以前のコマンド出力からのみ得られたものであるため、分類器は削除対象を他の削除ルールに照らして検証できません。このブロックは、削除する正確なパスをユーザーが指定するか、Claude が解決済みのリテラルパスをコマンドに書き込んで削除を再実行すると解除されます。分類器が対象を解決できる削除は影響を受けません。418* `rm -rf "$VAR"` や `Remove-Item -Recurse -Force $dir` のような再帰的な強制削除で、対象が分類器の見る会話のどこでも代入されていないシェル変数、またはそのような変数を起点とする glob であるもの。その値は分類器が受け取らない以前のコマンド出力からのみ得られたものであるため、分類器は削除対象を他の削除ルールに照らして検証できません。このブロックは、削除する正確なパスをユーザーが指定するか、Claude が解決済みのリテラルパスをコマンドに書き込んで削除を再実行すると解除されます。分類器が対象を解決できる削除は影響を受けません。

430 419 

431 `rm -rf "$VAR"/*` のように変数の直下にある glob は、代わりに[重要なパス](#critical-paths)として扱われます。`Remove-Item` の対象が単独の `*` であるか、`/*` または `\*` で終わる場合は分類器に到達せず、Claude Code が[それらを直ちに拒否します](#remove-item-in-powershell)。420 `rm -rf "$VAR"/*` のように変数の直下にある glob は、代わりに[重要なパス](#critical-paths)として扱われます。`Remove-Item` の対象が単独の `*` であるか、`/*` または `\*` で終わる場合は分類器に到達せず、Claude Code が[それらを直ちに拒否します](#remove-item-in-powershell)。

432 421 

422これらのカテゴリのいくつかは、機密性の高いリモートターゲットや保護された IaC スコープなど、具体的な名前に絞り込める[環境](/docs/ja/auto-mode-config#define-trusted-infrastructure)エントリに依存しています。

423 

433Claude Code v2.1.257 以降では、以下もデフォルトでブロックされます。424Claude Code v2.1.257 以降では、以下もデフォルトでブロックされます。

434 425 

435* `169.254.169.254` などのクラウドインスタンスメタデータエンドポイントに認証情報を要求すること、またはマシン自身のサービスアカウントやノード ID を使ってクラウド、クラスター、レジストリへの呼び出しを明示的に認証すること426* `169.254.169.254` などのクラウドインスタンスメタデータエンドポイントに認証情報を要求すること、またはマシン自身のサービスアカウントやノード ID を使ってクラウド、クラスター、レジストリへの呼び出しを明示的に認証すること


449* ロックファイルやマニフェストで宣言された依存関係のインストール440* ロックファイルやマニフェストで宣言された依存関係のインストール

450* `.env` の読み取りと、対応する API への認証情報の送信441* `.env` の読み取りと、対応する API への認証情報の送信

451* 読み取り専用の HTTP リクエスト442* 読み取り専用の HTTP リクエスト

452* デフォルトブランチを含む、作業中のリポジトリの任意のブランチへのプッシュ。`production` や `gh-pages` など、名前からデプロイ先や公開先であるとわかるデフォルト以外のブランチは対象外で、分類器はそこへのプッシュを個別に判断します。プッシュの内容は引き続き他のルールに照らしてチェックされ、[`permissions.deny` ルール](/docs/ja/permissions#manage-permissions)はすべてのモードで引き続き[記述されたとおりに](/docs/ja/permissions#bash-rule-limits)プッシュコマンドをブロックでき、リモート側のブランチ保護も引き続き適用されます。v2.1.211 より前では、開始時のブランチ、Claude が作成したブランチへのプッシュ、およびデフォルトブランチへの日常的なプッシュのみがデフォルトで許可されており、v2.1.203 より前では、デフォルトブランチへの直接プッシュはすべてブロックされていました443* デフォルトブランチを含む、作業中のリポジトリの任意のブランチへのプッシュ。`production` や `gh-pages` など、名前からデプロイ先や公開先であるとわかるデフォルト以外のブランチは対象外で、分類器はそこへのプッシュを個別に判断します。プッシュの内容は引き続き他のルールに照らしてチェックされ、[`permissions.deny` ルール](/docs/ja/permissions#manage-permissions)はすべてのモードで引き続き[記述されたとおりに](/docs/ja/permissions#bash-rule-limits)プッシュコマンドをブロックでき、リモート側のブランチ保護も引き続き適用されます。v2.1.211 より前では、開始時のブランチ、Claude が作成したブランチへのプッシュ、およびデフォルトブランチへの日常的なプッシュのみがデフォルトで許可されていました

453* 同じセッション内で Claude が以前に作成したジョブそのものの削除444* 同じセッション内で Claude が以前に作成したジョブそのものの削除

454* タスクの一環としての、セキュリティ関連のコード、設定、脅威モデルの読み取り、レビュー、または作成445* タスクの一環としての、セキュリティ関連のコード、設定、脅威モデルの読み取り、レビュー、または作成

455* 同じマルチエージェントセッションで協働するエージェント間のメッセージ446* 同じマルチエージェントセッションで協働するエージェント間のメッセージ

permissions.md +9 −4

Details

384 384 

385`Edit` ルールはファイルを編集するすべての組み込みツールに適用されます。Claude は、Grep や Glob などのファイルを読み取るすべての組み込みツール、プロンプト内の `@file` メンション、および接続された [IDE](/docs/ja/vs-code#the-built-in-ide-mcp-server) が Claude と共有する選択およびオープンファイルコンテキストに `Read` ルールを適用するためにベストエフォートを試みます。385`Edit` ルールはファイルを編集するすべての組み込みツールに適用されます。Claude は、Grep や Glob などのファイルを読み取るすべての組み込みツール、プロンプト内の `@file` メンション、および接続された [IDE](/docs/ja/vs-code#the-built-in-ide-mcp-server) が Claude と共有する選択およびオープンファイルコンテキストに `Read` ルールを適用するためにベストエフォートを試みます。

386 386 

387`Read(path)` deny ルールは、プロンプトに貼り付けた画像パスと @ メンションしたディレクトリにも適用されます。

388 

389* **画像パス**:ターミナルでプロンプトに画像のパスを貼り付けるか画像ファイルをドラッグし、ルールがそのパスにマッチする場合、Claude Code は画像を添付しません。貼り付けた内容に他の画像が含まれていない場合、パスはテキストとしてプロンプトに残ります。

390* **ディレクトリ**:[Claude が受け取る一覧](/docs/ja/common-workflows#reference-files-and-directories)から、ルールにマッチするファイル名とディレクトリ名が除外されます。

391 

392Claude Code は v2.1.290 以降で、貼り付けた画像パスとディレクトリ一覧をチェックします。

393 

387`Read` deny ルールは、同じパスの [Edit と Write ツール](/docs/ja/errors#file-is-covered-by-a-read-deny-rule)もブロックします。これには新しいファイルの作成も含まれます。NotebookEdit はカバーされないため、ツールが変更できないパスに対して `Edit` deny ルールを追加してください。チェックには編集時に Claude Code v2.1.208 以降が必要です。書き込み時には v2.1.228 以降が必要です。394`Read` deny ルールは、同じパスの [Edit と Write ツール](/docs/ja/errors#file-is-covered-by-a-read-deny-rule)もブロックします。これには新しいファイルの作成も含まれます。NotebookEdit はカバーされないため、ツールが変更できないパスに対して `Edit` deny ルールを追加してください。チェックには編集時に Claude Code v2.1.208 以降が必要です。書き込み時には v2.1.228 以降が必要です。

388 395 

389Claude Code は `Edit(path)` と `Read(path)` ルールに対してのみファイル権限をチェックします。代わりに `Write`、`NotebookEdit`、`Glob`、またはレガシー `MultiEdit` ツール用にパスルールを記述する場合、Claude Code はルールを受け入れますが、それを参照することはなく、[起動時に警告](/docs/ja/errors#is-not-matched-by-file-permission-checks)を表示します。ただし、`--allowedTools` で渡された `Glob` ルールは除きます。`Write(docs/**)`、`NotebookEdit(docs/**)`、または `MultiEdit(docs/**)` の代わりに `Edit(docs/**)` を使用し、`Glob(docs/**)` の代わりに `Read(docs/**)` を使用してください。Claude Code は `Write` の deny ルールなど、パスのないツール名ルールについては警告しません。それはどこでもツールレベルでそのルールをマッチさせます。v2.1.210 以降が必要です。396Claude Code は `Edit(path)` と `Read(path)` ルールに対してのみファイル権限をチェックします。代わりに `Write`、`NotebookEdit`、`Glob`、またはレガシー `MultiEdit` ツール用にパスルールを記述する場合、Claude Code はルールを受け入れますが、それを参照することはなく、[起動時に警告](/docs/ja/errors#is-not-matched-by-file-permission-checks)を表示します。ただし、`--allowedTools` で渡された `Glob` ルールは除きます。`Write(docs/**)`、`NotebookEdit(docs/**)`、または `MultiEdit(docs/**)` の代わりに `Edit(docs/**)` を使用し、`Glob(docs/**)` の代わりに `Read(docs/**)` を使用してください。Claude Code は `Write` の deny ルールなど、パスのないツール名ルールについては警告しません。それはどこでもツールレベルでそのルールをマッチさせます。v2.1.210 以降が必要です。


467 gitignore パターンでは、`*` は単一のパスセグメント内でマッチし、パターン内の任意の位置に表示できます。一方、`**` はディレクトリ全体でマッチします。474 gitignore パターンでは、`*` は単一のパスセグメント内でマッチし、パターン内の任意の位置に表示できます。一方、`**` はディレクトリ全体でマッチします。

468</Note>475</Note>

469 476 

470「はい、今後は聞かない」でファイルパスを承認すると、Claude Code は `[`、`]`、`*` などの gitignore パターン文字をそのパスでエスケープするため、生成されたルールは承認したリテラルパスのみをマッチさせます。自分で記述したルールはエスケープされません。v2.1.202 より前では、Claude Code はパスをエスケープなしで保存していたため、`[2024-06] Reports` という名前のディレクトリの生成されたルールは、独自のパスをマッチさせできなかったり、意図しない兄弟ディレクトリをマッチさせたりする可能性がありました。477「はい、今後は聞かない」でファイルパスを承認すると、Claude Code は `[`、`]`、`*` などの gitignore パターン文字をそのパスでエスケープするため、生成されたルールは承認したリテラルパスのみをマッチさせます。自分で記述したルールはエスケープされません。

471 478 

472パスに括弧をエスケープする必要はないため、`Edit(./Finance (2024)/**)` は `Finance (2024)` フォルダをそのまま記述してマッチさせます。479パスに括弧をエスケープする必要はないため、`Edit(./Finance (2024)/**)` は `Finance (2024)` フォルダをそのまま記述してマッチさせます。

473 480 


805 設定ホーム例外はトラストステップのみをスキップします。`~/.claude/settings.local.json` は依然として[ローカルスコープ](/docs/ja/settings#compare-the-scope-of-each-settings-file)であるため、Claude Code はホームディレクトリ自体で起動したセッションでのみそれを読み込み、すべてのプロジェクトでは読み込みません。すべてのプロジェクトに許可ルールを適用するには、代わりにユーザー設定に追加してください。`~/.claude/settings.json`、または `CLAUDE_CONFIG_DIR` が設定されている場合は `$CLAUDE_CONFIG_DIR/settings.json`。812 設定ホーム例外はトラストステップのみをスキップします。`~/.claude/settings.local.json` は依然として[ローカルスコープ](/docs/ja/settings#compare-the-scope-of-each-settings-file)であるため、Claude Code はホームディレクトリ自体で起動したセッションでのみそれを読み込み、すべてのプロジェクトでは読み込みません。すべてのプロジェクトに許可ルールを適用するには、代わりにユーザー設定に追加してください。`~/.claude/settings.json`、または `CLAUDE_CONFIG_DIR` が設定されている場合は `$CLAUDE_CONFIG_DIR/settings.json`。

806</Note>813</Note>

807 814 

808v2.1.207 より前では、Claude Code はダイアログを受け入れる前に追跡されていないファイルのルールを適用していました。

809 

810<h3 id="what-runs-before-you-trust-a-folder">815<h3 id="what-runs-before-you-trust-a-folder">

811 フォルダを信頼する前に実行されるもの816 フォルダを信頼する前に実行されるもの

812</h3>817</h3>


819| `.claude/settings.json` 内の `permissions.allow` ルールと `additionalDirectories` | トラストダイアログを受け入れるまで使用されません。ダイアログは再度表示され、それらをリストします | 使用されません。Claude Code は stderr に[`this workspace has not been trusted`](/docs/ja/errors#workspace-has-not-been-trusted)警告を出力します |824| `.claude/settings.json` 内の `permissions.allow` ルールと `additionalDirectories` | トラストダイアログを受け入れるまで使用されません。ダイアログは再度表示され、それらをリストします | 使用されません。Claude Code は stderr に[`this workspace has not been trusted`](/docs/ja/errors#workspace-has-not-been-trusted)警告を出力します |

820| プロジェクト[subagent](/docs/ja/sub-agents#hooks-in-subagent-frontmatter)のフロントマターフック、プロジェクト[`@skills-dir` プラグイン](/docs/ja/plugins/loading#plugins-shared-through-a-repository)、およびリポジトリまたは `--add-dir` ディレクトリからの[`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces)エントリ | 使用されず、ダイアログは提供されません | 使用されません |825| プロジェクト[subagent](/docs/ja/sub-agents#hooks-in-subagent-frontmatter)のフロントマターフック、プロジェクト[`@skills-dir` プラグイン](/docs/ja/plugins/loading#plugins-shared-through-a-repository)、およびリポジトリまたは `--add-dir` ディレクトリからの[`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces)エントリ | 使用されず、ダイアログは提供されません | 使用されません |

821| リポジトリまたは `--add-dir` ディレクトリからの subagent のフロントマター内のインライン[`mcpServers`](/docs/ja/sub-agents#scope-mcp-servers-to-a-subagent) | 使用されず、ダイアログは提供されません | 使用されません |826| リポジトリまたは `--add-dir` ディレクトリからの subagent のフロントマター内のインライン[`mcpServers`](/docs/ja/sub-agents#scope-mcp-servers-to-a-subagent) | 使用されず、ダイアログは提供されません | 使用されません |

822| `.mcp.json` 内のサーバー。リポジトリが[独自の設定で承認](/docs/ja/mcp#project-server-approvals-and-workspace-trust)するものを含む | Claude Code は接続する前にあなたに尋ねます。リポジトリ独自の承認はカウントされません | 承認されているかどうかに関わらず接続されます。SDK はセッティングソースがプロジェクト設定を含む場合にのみそれらを読み込みます。同じフォルダの `claude mcp list` はそのようなサーバーを保留中として報告します |827| `.mcp.json` 内のサーバー。リポジトリが[独自の設定で承認](/docs/ja/mcp#project-server-approvals-and-workspace-trust)するものを含む | Claude Code は接続する前にユーザーに確認します。リポジトリ独自の承認はカウントされません | 承認されているかどうかに関わらず接続されます。SDK は `settingSources` がプロジェクト設定を含む場合にのみそれらを読み込みます。同じフォルダの `claude mcp list` はそのようなサーバーを依然として保留中として報告します |

823| `.mcp.json` 内のサーバー上の[`headersHelper`](/docs/ja/mcp#trust-a-folder-before-its-headershelper-runs) | トラストダイアログを受け入れるまで実行されません。ダイアログは再度表示され、ヘルパーが宣言されている場所を名前で指定します。Claude Code はそれまでサーバーを静的 `headers` のみで接続します | 実行されません。Claude Code はサーバーを静的 `headers` のみで接続し、サーバーごとに stderr に[`headersHelper not run`](/docs/ja/errors#headershelper-not-run)行を出力します |828| `.mcp.json` 内のサーバー上の[`headersHelper`](/docs/ja/mcp#trust-a-folder-before-its-headershelper-runs) | トラストダイアログを受け入れるまで実行されません。ダイアログは再度表示され、ヘルパーが宣言されている場所を名前で指定します。Claude Code はそれまでサーバーを静的 `headers` のみで接続します | 実行されません。Claude Code はサーバーを静的 `headers` のみで接続し、サーバーごとに stderr に[`headersHelper not run`](/docs/ja/errors#headershelper-not-run)行を出力します |

824 829 

825このフォルダを信頼する必要がある行については、手動で信頼してください。`~/.claude.json` で `projects["<path>"].hasTrustDialogAccepted` を `true` に設定します。`<path>` はリポジトリルート、またはリポジトリ外のフォルダ自体です。Claude Code はスキップされた subagent フックまたはインライン MCP サーバーのデバッグログ行、スキップされた許可ルールの stderr 警告、およびスキップされたヘルパーの `headersHelper not run` 行に正確なキーを出力します。830このフォルダを信頼する必要がある行については、手動で信頼してください。`~/.claude.json` で `projects["<path>"].hasTrustDialogAccepted` を `true` に設定します。`<path>` はリポジトリルート、またはリポジトリ外のフォルダ自体です。Claude Code はスキップされた subagent フックまたはインライン MCP サーバーのデバッグログ行、スキップされた許可ルールの stderr 警告、およびスキップされたヘルパーの `headersHelper not run` 行に正確なキーを出力します。

plugin-evals.md +36 −5

Details

443 443 

444| 終了コード | 意味 |444| 終了コード | 意味 |

445| :- | :- |445| :- | :- |

446| 0 | すべてのケースが `--threshold` 以上でスコア化され、すべてのケースファイルがロードされました。 |446| 0 | スイートが合格しました。すべてのケースが `--threshold` 以上のスコアとなり、その他に実行を失敗させる要因もありませんでした。 |

447| 1 | ケースが閾値以下でスコア化された、ケースファイルがロードに失敗した、ケースが見つからない、実行を開始できない、プラグインディレクトリが信頼されておらず `--trust-plugin` が渡されなかった、またはオプションが無効です。 |447| 1 | ケースが閾値を下回るスコアとなった、ケースファイルのロードに失敗した、ケースが見つからなかった、実行を開始できなかった、または実行が [API エラーで終了した](#runs-ended-on-an-api-error)。プラグインディレクトリが信頼されておらず `--trust-plugin` が渡されなかった場合、オプションが無効だった場合、または `--json` の結果を書き込めなかった場合にも返されます。 |

448| 2 | 部分的な実行。`--max-cost-usd` 上限に達した、または認証情報が最初の実行の前または時点で拒否されました。それでも `results.json` は `partial: true` と理由とともに書き込まれます。 |448| 2 | 部分的な実行。`--max-cost-usd` 上限に達した、または認証情報が最初の実行の前または時点で拒否されました。それでも `results.json` は `partial: true` と理由とともに書き込まれます。 |

449| 130 | 中断。部分的な結果が書き込まれます。 |449| 130 | 中断。部分的な結果が書き込まれます。 |

450| 143 | 終了(CI タイムアウトなど)。 |450| 143 | 終了(CI タイムアウトなど)。 |


503| `cases[].name` | ケース名 |503| `cases[].name` | ケース名 |

504| `cases[].aggregates.score` | ケースの平均 with-arm 実行スコア |504| `cases[].aggregates.score` | ケースの平均 with-arm 実行スコア |

505| `cases[].aggregates.delta` | with-arm スコアから without-arm スコアを引いたもの。ケースが 1 つの arm のみで実行された場合、または arm が比較可能でない場合は省略。 |505| `cases[].aggregates.delta` | with-arm スコアから without-arm スコアを引いたもの。ケースが 1 つの arm のみで実行された場合、または arm が比較可能でない場合は省略。 |

506| `cases[].arms.with[].error` | `null`、またはランが異常に終了した理由(`timed out after 300s` など)。開始したが悪く終了した実行は、生成されたものに対してグレード化されるため、null 以外のエラーはスコア 0 を意味しません。 |506| `cases[].arms.with[].error` | `null`、または実行が異常終了した理由(`timed out after 300s` など)。こうした実行の一部は生成したものに基づいて引き続き採点されるため、null 以外のエラーはスコア 0 を意味しません。[API エラーで終了した](#runs-ended-on-an-api-error) 実行は採点されずにスコア 0 になります。 |

507| `cases[].arms.with[].aborted` | [モック](#mock-mcp-servers) が `expect:`、`abort_when`、または [agent-mock の呼び出し予算](#mock-call-budget-exceeded) によって実行を停止した場合に存在し、`server`、`tool`、`reason` を持ちます。実行はスコア 0 で、`error` は `null` のままです。 |507| `cases[].arms.with[].aborted` | [モック](#mock-mcp-servers) が `expect:`、`abort_when`、または [agent-mock の呼び出し予算](#mock-call-budget-exceeded) によって実行を停止した場合に存在し、`server`、`tool`、`reason` を持ちます。実行はスコア 0 で、`error` は `null` のままです。 |

508| `cases[].arms.with[].skippedPaidGraders` | コスト上限がこの実行のジャッジグレーダーをスキップした場合は `true`。そのスコアは比較可能ではありません。 |508| `cases[].arms.with[].skippedPaidGraders` | コスト上限がこの実行のジャッジグレーダーをスキップした場合は `true`。そのスコアは比較可能ではありません。 |

509| `costUsd`, `durationSeconds`, `claudeVersion` | 定価でのジャッジ呼び出しを含む推定コスト、壁時間秒、スイートを実行した Claude Code バージョン |509| `costUsd`, `durationSeconds`, `claudeVersion` | 定価でのジャッジ呼び出しを含む推定コスト、壁時間秒、スイートを実行した Claude Code バージョン |


724 724 

725v2.1.283 より前では、`claude plugin eval` は git バージョンをチェックしなかったため、古い git ではスイートはそれらのプログラムがオンのままで実行されました。725v2.1.283 より前では、`claude plugin eval` は git バージョンをチェックしなかったため、古い git ではスイートはそれらのプログラムがオンのままで実行されました。

726 726 

727<h3 id="cannot-be-evaluated-where-sessions-load-it">

728 "cannot be evaluated where sessions load it"

729</h3>

730 

731シェルで、[ローカルパスから追加した](/docs/ja/plugins/loading#in-place-and-copied-plugins)マーケットプレイスからインストールしたプラグインの名前を指定して `claude plugin eval` を実行しました。現在、そのマーケットプレイスからプラグインを読み込めるセッションがないため、コマンドはこのメッセージを表示して実行を拒否し、コード 1 で終了します。

732 

733```text theme={null}

734Error: formatter@my-marketplace cannot be evaluated where sessions load it: no session could load it now. Its marketplace is a folder whose catalog could not be read, or lists it no more. Check the marketplace with `claude plugin marketplace list`, or pass ./<dir> to evaluate a directory.

735```

736 

737`no session could load it now.` の後の文が、何が失敗したかを示しています。

738 

739シェルで `claude plugin marketplace list` を実行し、メッセージが示す問題を修正してください。たとえば、マーケットプレイスのディレクトリを復元するか、プラグインのエントリをカタログに戻します。マーケットプレイスを介さずにプラグインのソースを評価するには、`claude plugin eval ./plugins/formatter` のように、そのディレクトリをターゲットとして渡してください。

740 

727<h3 id="no-eval-cases-found">741<h3 id="no-eval-cases-found">

728 「No eval cases found」742 「No eval cases found」

729</h3>743</h3>


774 実行が 1 で終了するが、結果は問題ないように見える788 実行が 1 で終了するが、結果は問題ないように見える

775</h3>789</h3>

776 790 

777デフォルトの `--threshold` は 1.0 であるため、ケースが完璧未満のスコアを取得するとコマンドは 1 で終了します。必要なスコアに一致するしきい値を設定してください。終了 1 は、読み込みに失敗したケースファイルもカバーしており、テーブルの上の stderr で報告されます。791すべてのケースが `--threshold` 以上のスコアを取得したにもかかわらずコマンドが 1 で終了する場合、`--json` 指定時でも、stderr の行に原因が示されます。たとえば、ケースファイルの読み込みに失敗した場合や、実行が [API エラーで終了した](#runs-ended-on-an-api-error)場合です。その他の原因については、[終了コード](#run-evals-in-ci)を参照してください。

792 

793デフォルトの `--threshold` は 1.0 であるため、ケースが完璧未満のスコアを取得するとコマンドは 1 で終了します。必要なスコアに一致するしきい値を設定してください。

778 794 

779<h3 id="json-output-path-must-end-in-json">795<h3 id="json-output-path-must-end-in-json">

780 `--json output path must end in .json`796 `--json output path must end in .json`


788 804 

789そのグレーダーは設計上、2 アーム実行でスコアから除外され、その `scored` フィールドは `false` です。[プラグインなしベースラインと比較](#compare-against-a-no-plugin-baseline)を参照してください。805そのグレーダーは設計上、2 アーム実行でスコアから除外され、その `scored` フィールドは `false` です。[プラグインなしベースラインと比較](#compare-against-a-no-plugin-baseline)を参照してください。

790 806 

807<h3 id="runs-ended-on-an-api-error">

808 "ended on an API error and scored 0 without grading"

809</h3>

810 

811この stderr 警告は、少なくとも 1 つの実行の最後のリクエストに対して、API がレート制限やプランの使用制限などの HTTP エラーで応答したことを意味します。このような実行はグレーダーの結果なしでスコア 0 となり、スコアや `--threshold` に関係なく、コマンドは 0 以外のコードで終了します。

812 

813修正するには、影響を受けた各実行のエラーを見つけ、それが報告する原因を解決してから、スイートを再度実行してください。

814 

815* **`--json` なしの場合**: エラーは実行の進行状況の行の末尾、`error:` の後にあります

816* **`--json` 指定時**: エラーは [JSON 結果](#json-result)の `cases[].arms.with[].error` または `cases[].arms.without[].error` にあります

817 

818このカウントには[ベースライン](#the-no-plugin-baseline)実行も含まれます。ベースライン実行のスコアはケースの合否を決定しないため、すべてのケースが合格してもコマンドが失敗することがあります。2 アーム実行では、影響を受けたケースの `W/OUT` と `Δ` は `—` と表示されます。使用制限またはレート制限については、[実行がスイートの途中で使用制限またはレート制限エラーで失敗する](#runs-fail-with-a-usage-limit-or-rate-limit-error-partway-through)を参照してください。

819 

820v2.1.299 より前では、このような実行は生成されたものに基づいてグレード化されていました。

821 

791<h3 id="runs-fail-with-a-usage-limit-or-rate-limit-error-partway-through">822<h3 id="runs-fail-with-a-usage-limit-or-rate-limit-error-partway-through">

792 実行がスイートの途中で使用制限またはレート制限エラーで失敗する823 実行がスイートの途中で使用制限またはレート制限エラーで失敗する

793</h3>824</h3>

794 825 

795スイート実行中にアカウントがプランの使用制限または API レート制限に達した場合、その後の各実行はそのエラーで終了し、生成されたものに基づいてグレード化され、通常はスコア 0 になります。スイートはそれでも完了し、`partial` としてマークされないため、結果は回帰のように見える可能性があります。スコアを信頼する前に `NOTES` 列または JSON の `cases[].arms.with[].error` で制限メッセージを確認してから、制限がリセットされた後に再度実行してください。制限内に留まる必要がある場合は、`--runs 1` または `--case` フィルターを使用してください。826使用制限またはレート制限エラーで終了した実行は[グレード化されずにスコア 0 となり](#runs-ended-on-an-api-error)、コマンドは 0 以外のコードで終了します。スイートはそれでも完了し、`partial` としてマークされません。制限がリセットされた後に再度実行してください。制限内に留まる必要がある場合は、`--runs 1` または `--case` フィルターを使用してください。

796 827 

797<h3 id="mock-call-budget-exceeded">828<h3 id="mock-call-budget-exceeded">

798 "mock call budget exceeded"829 "mock call budget exceeded"

Details

523 523 

524| 終了コード | 意味 |524| 終了コード | 意味 |

525| :- | :- |525| :- | :- |

526| `0` | すべてのケースがしきい値を満たしている |526| `0` | スイートが合格した:すべてのケースがしきい値を満たし、それ以外に実行を失敗させたものがない |

527| `1` | 失敗するケース、ロードエラー、または信頼されていないプラグインディレクトリ |527| `1` | 失敗するケース、ロードエラー、信頼されていないプラグインディレクトリ、[API エラーで終了した](/docs/ja/plugin-evals#runs-ended-on-an-api-error)実行、または [CI で eval を実行する](/docs/ja/plugin-evals#run-evals-in-ci)に記載されているその他の原因 |

528| `2` | 部分的な実行 |528| `2` | 部分的な実行 |

529| `130` | 中断 |529| `130` | 中断 |

530| `143` | 終了 |530| `143` | 終了 |

Details

752 752 

753プラグインエージェントのフロントマターは、以下のルールに従います。753プラグインエージェントのフロントマターは、以下のルールに従います。

754 754 

755* **サポートされているフィールド**: `name`、`description`、`model`、`effort`、`maxTurns`、`tools`、`disallowedTools`、`skills`、`memory`、`background`、`omitClaudeMd`、`isolation`、`color`、および `experimental` の `cacheTtl` キー。唯一の有効な `isolation` 値は `"worktree"` です。各フィールドが何をするかについては、[サポートされているフロントマターフィールド](/docs/ja/sub-agents#supported-frontmatter-fields)を参照してください。755* **サポートされているフィールド**: `name`、`description`、`model`、`effort`、`maxTurns`、`autoCompactWindow`、`tools`、`disallowedTools`、`skills`、`memory`、`background`、`omitClaudeMd`、`isolation`、`color`、および `experimental` の `cacheTtl` キー。唯一の有効な `isolation` 値は `"worktree"` です。各フィールドが何をするかについては、[サポートされているフロントマターフィールド](/docs/ja/sub-agents#supported-frontmatter-fields)を参照してください。

756* **無視されるフィールド**: `permissionMode`、`hooks`、`mcpServers`、および `initialPrompt`。エージェントファイルは独自にフックまたは MCP サーバーを追加できないため、代わりにプラグイン[フック](#hooks)と[MCP サーバー](#mcp-servers)として追加してください。756* **無視されるフィールド**: `permissionMode`、`hooks`、`mcpServers`、および `initialPrompt`。エージェントファイルは独自にフックまたは MCP サーバーを追加できないため、代わりにプラグイン[フック](#hooks)と[MCP サーバー](#mcp-servers)として追加してください。

757* **解析されないフロントマター**: エージェントはすべてのフィールドが無視された状態で読み込まれます。ファイルの後に名前が付けられ、その説明は `Agent from my-plugin plugin` と読みます。シェルで [`claude plugin validate`](/docs/ja/plugins/cli-reference#plugin-validate) を実行して、これらのファイルを見つけます。757* **解析されないフロントマター**: エージェントはすべてのフィールドが無視された状態で読み込まれます。ファイルの後に名前が付けられ、その説明は `Agent from my-plugin plugin` と読みます。シェルで [`claude plugin validate`](/docs/ja/plugins/cli-reference#plugin-validate) を実行して、これらのファイルを見つけます。

758 758 

Details

237 237 

238ユーザーが依存関係を制約する最後のプラグインをアンインストールすると、依存関係はバージョン範囲に制約されなくなり、次の更新でマーケットプレイスエントリの追跡を再開します。238ユーザーが依存関係を制約する最後のプラグインをアンインストールすると、依存関係はバージョン範囲に制約されなくなり、次の更新でマーケットプレイスエントリの追跡を再開します。

239 239 

240<h3 id="dependencies-when-your-plugin-loads-from-claude-ai">

241 claude.ai からプラグインがロードされる場合の依存関係

242</h3>

243 

244ユーザーが自分の claude.ai アカウントでプラグインをオンにすると、Claude Code はそれを `<name>@synced` として[マーケットプレイスなしで](/docs/ja/plugins/loading#synced-plugins)ロードします。そのプラグインのコピーについて、Claude Code は、マーケットプレイスを指定する依存関係エントリを、ユーザーが次のいずれかを持っている場合に満たされているとみなします。

245 

246* **マーケットプレイスからの依存関係**: エントリで指定されたマーケットプレイスからインストールされ、有効になっているもの。Claude Code は、エントリ内の `version` 範囲をインストール済みコピーのバージョンに対してチェックします。

247* **同じ名前の claude.ai プラグイン**: ユーザーの claude.ai アカウントから有効にされているもの。Claude Code は、エントリ内の `version` 範囲をそのプラグインの `version` に対してチェックし、`version` を記載していないプラグインはチェックに合格します。

248 

249ユーザーに claude.ai からプラグインをオンにするよう案内する場合は、依存関係もそこでオンにするか、そのマーケットプレイスからインストールするよう案内してください。

250 

251claude.ai プラグインがエントリを満たすのは、プラグイン自体も claude.ai からロードされる場合のみです。

252 

240<h2 id="see-also">253<h2 id="see-also">

241 関連項目254 関連項目

242</h2>255</h2>

Details

48* **コミュニティマーケットプレイス名**: `claude-community`、`claude-plugins-community`、および `healthcare`。公式名と同じルールの下で予約されています。48* **コミュニティマーケットプレイス名**: `claude-community`、`claude-plugins-community`、および `healthcare`。公式名と同じルールの下で予約されています。

49* **プラグインディレクトリ名**: `anthropic-plugin-directory` および `claude-plugin-directory`。公式名と同じルールの下で予約されています。49* **プラグインディレクトリ名**: `anthropic-plugin-directory` および `claude-plugin-directory`。公式名と同じルールの下で予約されています。

50* **公式マーケットプレイスになりすまし名**: `official-claude-plugins` または `claude-plugins-v2` などの名前、および非 ASCII 文字を含む任意の名前。エラーは `Marketplace name impersonates an official Anthropic/Claude marketplace` です。名前内の制御文字または双方向フォーマット文字も `Marketplace name cannot contain control or bidirectional-formatting characters` を報告します。マーケットプレイスが既にそのような名前の下で登録されている場合、そのマーケットプレイスとそのプラグインは読み込みを停止します。50* **公式マーケットプレイスになりすまし名**: `official-claude-plugins` または `claude-plugins-v2` などの名前、および非 ASCII 文字を含む任意の名前。エラーは `Marketplace name impersonates an official Anthropic/Claude marketplace` です。名前内の制御文字または双方向フォーマット文字も `Marketplace name cannot contain control or bidirectional-formatting characters` を報告します。マーケットプレイスが既にそのような名前の下で登録されている場合、そのマーケットプレイスとそのプラグインは読み込みを停止します。

51* <span id="reserved-name-spellings" />**予約名の別のスペル**: 予約名と末尾のドット、またはハイフンの代わりにハイフン以外の記号によってのみ異なる名前。`claude.code.plugins` は `claude-code-plugins` としてカウントされます。マーケットプレイスの追加は [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/ja/errors#marketplace-name-is-another-spelling-of-a-reserved-name) で失敗し、1 つの下で登録されたマーケットプレイスは読み込みを停止します。このチェックには Claude Code v2.1.280 以降が必要です。51* <span id="reserved-name-spellings" />**予約名の別のスペル**: 予約名と末尾のドット、またはハイフンの代わりにアンダースコア以外の記号によってのみ異なる名前。`claude.code.plugins` は `claude-code-plugins` としてカウントされます。マーケットプレイスの追加は [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/ja/errors#marketplace-name-is-another-spelling-of-a-reserved-name) で失敗し、そのような名前で既に登録されているマーケットプレイスは読み込みを停止します。このチェックには Claude Code v2.1.280 以降が必要です。

52* **Claude Code がマーケットプレイスから来ないプラグインに使用する名前**: [`--plugin-dir`](/docs/ja/cli-reference) で読み込まれたプラグインの `inline`、組み込みプラグインの `builtin`、[`.claude/skills/`](/docs/ja/skills) から自動読み込みされたプラグインの `skills-dir`、および claude.ai アカウントから同期されたプラグインの `synced`。`claude-plugin-test` も予約されています。`skills-dir` は `strictKnownMarketplaces` および `blockedMarketplaces` で `{"source": "skills-dir"}` としても表示されます。[ポリシーリストでのみ有効なソース値](#source-values-valid-only-in-policy-lists) で説明されています。52* **Claude Code がマーケットプレイスから来ないプラグインに使用する名前**: [`--plugin-dir`](/docs/ja/cli-reference) で読み込まれたプラグインの `inline`、組み込みプラグインの `builtin`、[`.claude/skills/`](/docs/ja/skills) から自動読み込みされたプラグインの `skills-dir`、および claude.ai アカウントから同期されたプラグインの `synced`。`claude-plugin-test` も予約されています。`skills-dir` は `strictKnownMarketplaces` および `blockedMarketplaces` で `{"source": "skills-dir"}` としても表示されます。[ポリシーリストでのみ有効なソース値](#source-values-valid-only-in-policy-lists) で説明されています。

53* **`npm`、`pip`、`uv`、`cargo`、`github`、および `gh`**: 任意の大文字小文字で予約されています。このチェックには Claude Code v2.1.275 以降が必要です。53* **`npm`、`pip`、`uv`、`cargo`、`github`、および `gh`**: 任意の大文字小文字で予約されています。このチェックには Claude Code v2.1.275 以降が必要です。

54* **すべての JavaScript オブジェクトが持つメンバー名**: `constructor`、`hasOwnProperty`、`isPrototypeOf`、`propertyIsEnumerable`、`toLocaleString`、`toString`、および `valueOf`。`claude plugin marketplace add` は、これらのいずれかを使用するマーケットプレイスを [`Claude Code reserves this name and cannot register a marketplace under it`](/docs/ja/plugins/troubleshooting#claude-code-reserves-this-name) で拒否します。このチェックには Claude Code v2.1.296 以降が必要です。54* **すべての JavaScript オブジェクトが持つメンバー名**: `constructor`、`hasOwnProperty`、`isPrototypeOf`、`propertyIsEnumerable`、`toLocaleString`、`toString`、および `valueOf`。`claude plugin marketplace add` は、これらのいずれかを使用するマーケットプレイスを [`Claude Code reserves this name and cannot register a marketplace under it`](/docs/ja/plugins/troubleshooting#claude-code-reserves-this-name) で拒否します。このチェックには Claude Code v2.1.296 以降が必要です。

Details

252 252 

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)します。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)します。

254 254 

255Claude が読むその他の内容は[他のイベント](/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)。`skill.prompt` フックでは、[スキルの取得元となったプラグインまたはファイル](/docs/ja/plugins/mods/reference#skill-prompt-fields)を読み取ることもできます。

256 256 

257<h3 id="follow-a-turn">257<h3 id="follow-a-turn">

258 ターンを追跡する258 ターンを追跡する

Details

212 mod が実行される場所212 mod が実行される場所

213</h3>213</h3>

214 214 

215Mod のフックは、プラグインをロードするあらゆる種類のセッションで実行されます。描画の範囲はより狭く、mod のペイン、バンド、置き換えられた行を表示するのはターミナルと Desktop アプリのみです。この表は、Claude Code を実行する可能性のある各場所を示しています。215Mod のフックは、モデルを提供するプロバイダーが Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry のいずれであっても、プラグインをロードするあらゆる種類のセッションで実行されます。描画の範囲はより狭く、mod のペイン、バンド、置き換えられた行を表示するのはターミナルと Desktop アプリのみです。この表は、Claude Code を実行する可能性のある各場所を示しています。

216 216 

217| Claude Code を実行する場所 | フックが実行される | mod の描画が表示される |217| Claude Code を実行する場所 | フックが実行される | mod の描画が表示される |

218| :- | :- | :- |218| :- | :- | :- |


263| `cc-plugin-plugin-authoring` | Claude に mod を書くための [`plugin-authoring` skill](/docs/ja/plugins/mods/create#ask-claude-for-a-mod) を提供する。Skill を保持し、mod コードはない。 | Anthropic がインストール済み mod をリモートでオフにしていない限り | `/plugin` で無効化 |263| `cc-plugin-plugin-authoring` | Claude に mod を書くための [`plugin-authoring` skill](/docs/ja/plugins/mods/create#ask-claude-for-a-mod) を提供する。Skill を保持し、mod コードはない。 | Anthropic がインストール済み mod をリモートでオフにしていない限り | `/plugin` で無効化 |

264| `cc-plugin-sec-default` | ユーザーがインストールした mod から組織が管理するものを保護する | [ガードがロードされる場所](/docs/ja/plugins/mods/admin#know-what-happens-by-default) | できません。管理者が [管理設定で順序を設定します](/docs/ja/plugins/mods/admin#install-your-organizations-mods) |264| `cc-plugin-sec-default` | ユーザーがインストールした mod から組織が管理するものを保護する | [ガードがロードされる場所](/docs/ja/plugins/mods/admin#know-what-happens-by-default) | できません。管理者が [管理設定で順序を設定します](/docs/ja/plugins/mods/admin#install-your-organizations-mods) |

265| `cc-plugin-telemetry` | Claude Code とその組み込み mod がログするアナリティクスレコードを送信する | Claude Code 独自のアナリティクスがオンの場所 | `/plugin` で無効化するか、アナリティクスをオフにします。たとえば [`DISABLE_TELEMETRY`](/docs/ja/env-vars) で |265| `cc-plugin-telemetry` | Claude Code とその組み込み mod がログするアナリティクスレコードを送信する | Claude Code 独自のアナリティクスがオンの場所 | `/plugin` で無効化するか、アナリティクスをオフにします。たとえば [`DISABLE_TELEMETRY`](/docs/ja/env-vars) で |

266| `cc-plugin-you-should-know` | Claude がより長いタスクに取り組んでいる間、ユーザーを見守るサイドエージェントを実行します。見落とす可能性のある価値のある情報を見つけると、プロンプトの上にメモを表示します。 | デフォルトで無効化。組織で利用可能な場合、`/plugin` -> **Installed** -> **Show disabled** にリストされています。[`/plugin enable cc-plugin-you-should-know@builtin`](/docs/ja/plugins/cli-reference#plugin-in-a-session) で有効化します。 | `/plugin` で無効化 |266| `cc-plugin-you-should-know` | [You should know](/docs/ja/interactive-mode#you-should-know-suggestions): サイドエージェントが、ユーザーが見落としている可能性のあるものを見つけると、プロンプトの上にメモを表示する | [オンにする](/docs/ja/interactive-mode#you-should-know-suggestions)までオフ | `/plugin` で無効化 |

267 267 

268`disableAllHooks`、`--bare`、`--safe-mode` など、インストール済み mod を停止する設定やフラグは、組み込み mod を停止しません。268`disableAllHooks`、`--bare`、`--safe-mode` など、インストール済み mod を停止する設定やフラグは、組み込み mod を停止しません。

269 269 

Details

43| `next.origin` | イベントを発火したものの `{ plugin, tier }`。Claude Code 自身は `{ plugin: 'engine', tier: 'core' }` です。mod の `tier` は、[mod が実行される順序](/docs/ja/plugins/mods/events#the-order-mods-run-in)における優先度グループで、`prepend`、`user`、`append`、`builtin` のいずれかです。 |43| `next.origin` | イベントを発火したものの `{ plugin, tier }`。Claude Code 自身は `{ plugin: 'engine', tier: 'core' }` です。mod の `tier` は、[mod が実行される順序](/docs/ja/plugins/mods/events#the-order-mods-run-in)における優先度グループで、`prepend`、`user`、`append`、`builtin` のいずれかです。 |

44| `next.budget` | フックの制限時間(ミリ秒):`next.budget.ms` は制限全体、`next.budget.remainingMs` は現時点の残り時間です |44| `next.budget` | フックの制限時間(ミリ秒):`next.budget.ms` は制限全体、`next.budget.remainingMs` は現時点の残り時間です |

45| `next.to(e, tier)` | 後の tier(`append`、`builtin`、`core` のいずれか)までスキップします。`next.to(e, 'append')` はユーザーがインストールした mod をスキップします。呼び出せるのは `prependPlugins` または `appendPlugins` にある mod だけです。 |45| `next.to(e, tier)` | 後の tier(`append`、`builtin`、`core` のいずれか)までスキップします。`next.to(e, 'append')` はユーザーがインストールした mod をスキップします。呼び出せるのは `prependPlugins` または `appendPlugins` にある mod だけです。 |

46| `next.error` | `.catch` ハンドラー内でのみ使用できます。フックが失敗した場合、`kind` は `throw` または `timeout` で、`message` はエラーのテキストです。イベントがフック自身の mods API 呼び出しの内部から発生したためにフックがスキップされた場合、`kind` は `re-entry` になり、別の mod が mods API に追加したメソッドがそのイベントを発火した場合は `cause` が `lent` になります。`re-entry` と `cause` には Claude Code v2.1.292 以降が必要です。 |46| `next.error` | `.catch` ハンドラー内でのみ使用できます。フックが失敗した場合、`kind` は `throw` または `timeout` で、`message` はエラーのテキストです。イベントがそのフック自身、またはフックの外側にある mod のコードによる mods API 呼び出しの内部から発生したためにフックがスキップされた場合、`kind` は `re-entry` になります。`re-entry` には Claude Code v2.1.292 以降が必要です。 |

47| `next.error.cause` | `kind` が `re-entry` の場合にのみ設定されます。イベントの発生元である mods API 呼び出しを `tool.call` または [`PreToolUse`](/docs/ja/hooks#pretooluse) フックが変更した場合、またはその呼び出しによって開始されたエージェントを `agent.spawn` フックが変更した場合は `rewritten` です。別の mod が mods API に追加したメソッドがそのイベントを発火した場合は、`rewritten` にも該当しない限り `lent` です。`lent` には Claude Code v2.1.292 以降、`rewritten` には v2.1.300 以降が必要です。 |

47| `next.called` | `.catch` ハンドラー内でのみ使用できます。フックが `next` を呼び出していた場合は `true` です。 |48| `next.called` | `.catch` ハンドラー内でのみ使用できます。フックが `next` を呼び出していた場合は `true` です。 |

48 49 

49<h2 id="events">50<h2 id="events">


97| [`skill.prompt`](/docs/ja/plugins/mods/events#rewrite-or-add-to-a-prompt) | スキルのテキストが Claude 向けに展開されるとき | `{ text }` |98| [`skill.prompt`](/docs/ja/plugins/mods/events#rewrite-or-add-to-a-prompt) | スキルのテキストが Claude 向けに展開されるとき | `{ text }` |

98| `attribution.text` | Claude Code がコミットまたはプルリクエストの帰属テキストを作成するとき | `{ text }` |99| `attribution.text` | Claude Code がコミットまたはプルリクエストの帰属テキストを作成するとき | `{ text }` |

99 100 

101<h4 id="skill-prompt-fields">

102 `skill.prompt` のソースとフロントマターのフィールド

103</h4>

104 

105`skill.prompt` フックでは、`e.skill` のスキル名と `e.text` の Claude が読むテキストに加えて、次のフィールドを読み取れます。

106 

107| フィールド | 型 | 内容 |

108| :- | :- | :- |

109| `e.source` | string | スキルの提供元。エンタープライズ、個人、プロジェクトの[場所](/docs/ja/skills#where-skills-live)にあるスキルの場合は、それぞれ `policySettings`、`userSettings`、`projectSettings` です。その他の提供元では、`plugin`、`mcp`、`syncedSkills`、`built-in` などの語になります。 |

110| `e.pluginName` | string | `e.source` が `plugin` であるスキルの場合、そのプラグインの名前 |

111| `e.path` | string | スキルの `SKILL.md` ファイルの絶対パス。[コマンドファイル](/docs/ja/skills#where-skills-live)として書かれたスキルの場合は、その `.md` ファイルの絶対パス。組み込みスキルのように、このマシン上にファイルがないスキルの場合は存在しません。 |

112| `e.frontmatter` | object | スキルのファイルのフロントマター(プレーンなデータとして) |

113| `e.frontmatterProblem` | string | `e.frontmatter` にファイルのフロントマターまたはそのキーのいずれかが欠けている理由(例:`is a list or a single value, not a table`)。`e.frontmatter` がフロントマター全体を保持している場合、またはスキルにフロントマターがない場合は存在しません。 |

114 

115フックは変更した `text` または `frontmatter` を `next` に渡せます。後続のフックは両方を読み取り、Claude は最終的な `text` を読みます。それ以外のフィールドを変更したフックは[失敗](/docs/ja/plugins/mods/events#handle-a-hook-that-fails)します。

116 

117`skill.prompt` の `e.source`、`e.pluginName`、`e.path`、`e.frontmatter`、`e.frontmatterProblem` には Claude Code v2.1.299 以降が必要です。

118 

100<h3 id="commands-and-configuration">119<h3 id="commands-and-configuration">

101 コマンドと設定120 コマンドと設定

102</h3>121</h3>

Details

31* [**Skills**](/docs/ja/plugins/components#skills):Claude が関連する場合に読み込む `SKILL.md` 命令。コマンドとして実行することもできます31* [**Skills**](/docs/ja/plugins/components#skills):Claude が関連する場合に読み込む `SKILL.md` 命令。コマンドとして実行することもできます

32* [**Agents**](/docs/ja/plugins/components#agents):Claude が委譲できるサブエージェント定義32* [**Agents**](/docs/ja/plugins/components#agents):Claude が委譲できるサブエージェント定義

33* [**Hooks**](/docs/ja/plugins/components#hooks):編集後など、ライフサイクルのポイントで Claude Code が実行するコマンド33* [**Hooks**](/docs/ja/plugins/components#hooks):編集後など、ライフサイクルのポイントで Claude Code が実行するコマンド

34* [**A hooks module**](/docs/ja/plugins/mods/overview):JavaScript 関数として記述された hooks。ペインを描画したり、コマンドを追加したりすることもできます。1 つを持つプラグインは mod と呼ばれます34* [**A hooks module**](/docs/ja/plugins/mods/overview):JavaScript 関数として記述されたフック。ペインを描画したり、コマンドを追加したりすることもできます。フックモジュールを持つプラグインは mod と呼ばれます。一部の mod は [Claude Code に組み込まれています](/docs/ja/plugins/mods/overview#mods-built-into-claude-code)。

35* [**MCP servers**](/docs/ja/plugins/components#mcp-servers):プラグインが有効な場合に Claude Code が接続するツールサーバー35* [**MCP servers**](/docs/ja/plugins/components#mcp-servers):プラグインが有効な場合に Claude Code が接続するツールサーバー

36 36 

37このダイアグラムは、`my-plugin` という名前のプラグインを示しており、スキル、エージェント、hooks、および MCP サーバーを保持しており、プラグインが読み込まれた後に各ファイルから何を取得するかを示しています。37このダイアグラムは、`my-plugin` という名前のプラグインを示しており、スキル、エージェント、hooks、および MCP サーバーを保持しており、プラグインが読み込まれた後に各ファイルから何を取得するかを示しています。

Details

693| メッセージ | 意味 | 解決方法 |693| メッセージ | 意味 | 解決方法 |

694| :- | :- | :- |694| :- | :- | :- |

695| `Dependency "<dep>" is not installed` | 宣言された依存関係がインストールされていません。 | シェルで `claude plugin install <dep>@<marketplace>` でインストールするか、プラグインをアンインストールしてください。依存関係のマーケットプレイスがまだ登録されていない場合は、それを追加し、セッションで `/reload-plugins` を実行してください。これにより、解決できる不足している依存関係がインストールされます。 |695| `Dependency "<dep>" is not installed` | 宣言された依存関係がインストールされていません。 | シェルで `claude plugin install <dep>@<marketplace>` でインストールするか、プラグインをアンインストールしてください。依存関係のマーケットプレイスがまだ登録されていない場合は、それを追加し、セッションで `/reload-plugins` を実行してください。これにより、解決できる不足している依存関係がインストールされます。 |

696| `is not installed` メッセージ内の `"<name>@synced" is loaded from your claude.ai account but meets a marketplace dependency only for other claude.ai plugins` | 依存関係はマーケットプレイスを指定しており、その名前のプラグインが claude.ai アカウントから読み込まれています。依存関係を宣言しているプラグインは claude.ai から読み込まれないため、claude.ai のプラグインはその依存関係を満たしません。 | シェルで `claude plugin install <dep>@<marketplace>` を実行して、依存関係をそのマーケットプレイスからインストールしてください。その後は、claude.ai のものの代わりにマーケットプレイスのコピーが読み込まれます。 |

696| `Dependency "<dep>" is disabled` | 依存関係はインストールされていますが、オフになっています。 | 依存関係を有効にするか、それを必要とするプラグインをアンインストールしてください。 |697| `Dependency "<dep>" is disabled` | 依存関係はインストールされていますが、オフになっています。 | 依存関係を有効にするか、それを必要とするプラグインをアンインストールしてください。 |

697| `Requires "<dep>" <range>, installed <version>` | インストールされた依存関係のバージョンはプラグインの宣言された範囲外です。 | 依存関係を範囲内のバージョンに更新するか、プラグインをアンインストールしてください。 |698| `Requires "<dep>" <range>, installed <version>` | インストールされた依存関係のバージョンはプラグインの宣言された範囲外です。 | 依存関係を範囲内のバージョンに更新するか、プラグインをアンインストールしてください。 |

698| `<Plugin or Dependency> "<name>" has conflicting version requirements` | バージョンはすべての範囲を満たしていません。メッセージは範囲をリストします。 | 競合するプラグインの 1 つをアンインストールまたは更新するか、上流の作成者に制約を広げるよう依頼してください。 |699| `<Plugin or Dependency> "<name>" has conflicting version requirements` | バージョンはすべての範囲を満たしていません。メッセージは範囲をリストします。 | 競合するプラグインの 1 つをアンインストールまたは更新するか、上流の作成者に制約を広げるよう依頼してください。 |


700| `... has no git tag satisfying <range>` | 依存関係のリポジトリには範囲内に `<name>--v*` タグがありません。 | 上流がその規約でリリースをタグ付けしていることを確認するか、範囲を緩和してください。 |701| `... has no git tag satisfying <range>` | 依存関係のリポジトリには範囲内に `<name>--v*` タグがありません。 | 上流がその規約でリリースをタグ付けしていることを確認するか、範囲を緩和してください。 |

701| `Dependency "<dep>" (required by <plugin>) is in <marketplace>, which is not in the allowlist` | 依存関係は別のマーケットプレイスにあり、クロスマーケットプレイス解決はデフォルトでオフです。 | 依存関係を自分でインストールしてください。シェルで `claude plugin install <dep>@<marketplace>` に加えて、プラグインをインストールしている `--scope` を使用してから、再試行してください。 |702| `Dependency "<dep>" (required by <plugin>) is in <marketplace>, which is not in the allowlist` | 依存関係は別のマーケットプレイスにあり、クロスマーケットプレイス解決はデフォルトでオフです。 | 依存関係を自分でインストールしてください。シェルで `claude plugin install <dep>@<marketplace>` に加えて、プラグインをインストールしている `--scope` を使用してから、再試行してください。 |

702 703 

703これらをプログラムで表示するには、シェルで `claude plugin list --json` を実行してください。問題のあるプラグインは、メッセージを含む `errors` フィールドと、各フィールドの `type` を含む `errorDetails` フィールドを運びます:最初の 2 行は `dependency-unsatisfied` で、3 番目は `dependency-version-unsatisfied` です。704これらをプログラムで表示するには、シェルで `claude plugin list --json` を実行してください。問題のあるプラグインは、メッセージを含む `errors` フィールドと、各メッセージの `type` を含む `errorDetails` フィールドを運びます:最初の 3 行は `dependency-unsatisfied` で、4 番目は `dependency-version-unsatisfied` です。

704 705 

705<h2 id="plugin-installed-but-not-working">706<h2 id="plugin-installed-but-not-working">

706 プラグインがインストールされているが機能していない707 プラグインがインストールされているが機能していない

Details

211 コンテキスト圧縮は、破棄するコンテキストがもう必要ないコンテンツである場合に有利に働きます。そのオーバーヘッドが発生するタイミングを選択するには、自動圧縮がタスク中にトリガーされるのを待つのではなく、タスク間などの作業の自然な区切りで `/compact` を実行します。完全に放棄したい方向に進んでしまった場合は、代わりに [`/rewind`](#rewinding-the-conversation) で以前のターンに戻してください。巻き戻しは、圧縮のように新しいプレフィックスを構築するのではなく、既にキャッシュされているプレフィックスまで切り詰めます。211 コンテキスト圧縮は、破棄するコンテキストがもう必要ないコンテンツである場合に有利に働きます。そのオーバーヘッドが発生するタイミングを選択するには、自動圧縮がタスク中にトリガーされるのを待つのではなく、タスク間などの作業の自然な区切りで `/compact` を実行します。完全に放棄したい方向に進んでしまった場合は、代わりに [`/rewind`](#rewinding-the-conversation) で以前のターンに戻してください。巻き戻しは、圧縮のように新しいプレフィックスを構築するのではなく、既にキャッシュされているプレフィックスまで切り詰めます。

212</Tip>212</Tip>

213 213 

214[1 時間の TTL](#which-ttl-each-request-gets) が適用されているターミナルセッションで長い会話をアイドル状態のままにすると、Claude Code はキャッシュが期限切れになる少し前にその会話を圧縮することがあります。アイドル時の圧縮をオフにするには、[`idleCompaction`](/docs/ja/settings-reference#idlecompaction) を `false` に設定します。これには Claude Code v2.1.290 以降が必要です。

215 

214<h3 id="accumulating-many-images">216<h3 id="accumulating-many-images">

215 多くの画像の蓄積217 多くの画像の蓄積

216</h3>218</h3>

Details

38 * `DISABLE_TELEMETRY` または `DO_NOT_TRACK` のみを設定した場合、組織が [Trusted Devices](#trusted-devices) を要求しない限り、Remote Control は利用可能なままです。要求する場合は、Remote Control を使用するために変数を設定解除してください。いずれかの変数を設定した状態で Remote Control を使用するには、Claude Code v2.1.283 以降が必要です。38 * `DISABLE_TELEMETRY` または `DO_NOT_TRACK` のみを設定した場合、組織が [Trusted Devices](#trusted-devices) を要求しない限り、Remote Control は利用可能なままです。要求する場合は、Remote Control を使用するために変数を設定解除してください。いずれかの変数を設定した状態で Remote Control を使用するには、Claude Code v2.1.283 以降が必要です。

39* **ワークスペース信頼**: まだ信頼していないディレクトリで、`claude remote-control` は信頼を有効にする内容を出力し、開始する前に `Trust <directory>? [y/N]` と尋ねます。`y` と答えると選択が保存されます。ただし、ホームディレクトリでは信頼は保存されず、実行するたびに質問が返されます。標準入力または出力がターミナルでない場合、コマンドは質問できず、[`Workspace not trusted`](/docs/ja/errors#workspace-not-trusted-when-starting-remote-control) エラーで終了します。39* **ワークスペース信頼**: まだ信頼していないディレクトリで、`claude remote-control` は信頼を有効にする内容を出力し、開始する前に `Trust <directory>? [y/N]` と尋ねます。`y` と答えると選択が保存されます。ただし、ホームディレクトリでは信頼は保存されず、実行するたびに質問が返されます。標準入力または出力がターミナルでない場合、コマンドは質問できず、[`Workspace not trusted`](/docs/ja/errors#workspace-not-trusted-when-starting-remote-control) エラーで終了します。

40 40 

41***

42 

43title: "リモートコントロールセッションを開始する"

44description: "CLI、Claude Desktop アプリ、または VS Code 拡張機能からリモートコントロールセッションを開始する方法を学びます。"

45 

46<h2 id="start-a-remote-control-session">41<h2 id="start-a-remote-control-session">

47 リモートコントロールセッションを開始する42 リモートコントロールセッションを開始する

48</h2>43</h2>


267 261 

268バイオメトリック チェックはデバイス上でオペレーティングシステムまたはブラウザを通じて実行され、パスキーサインインと同じメカニズムです。Anthropic は指紋、顔データ、またはその他のバイオメトリック情報を受け取ったり保存したりすることはありません。デバイスの公開鍵と表示名、プラットフォーム、登録時刻などの基本的なメタデータのみが保存されます。262バイオメトリック チェックはデバイス上でオペレーティングシステムまたはブラウザを通じて実行され、パスキーサインインと同じメカニズムです。Anthropic は指紋、顔データ、またはその他のバイオメトリック情報を受け取ったり保存したりすることはありません。デバイスの公開鍵と表示名、プラットフォーム、登録時刻などの基本的なメタデータのみが保存されます。

269 263 

270この設定は、Claude Code と [Cowork](https://claude.com/docs/cowork/overview) の両方の Remote Control に適用されます。このページでは Claude Code 側について説明します。通常の Claude チャット、ターミナルの Claude Code、および API 使用は影響を受けません。264この設定は、Claude Code の Remote Control と、[Cowork](https://claude.com/docs/cowork/overview) の Computer access に適用されます。このページでは Claude Code 側について説明します。通常の Claude チャット、ターミナルの Claude Code、および API 使用は影響を受けません。

271 265 

272<h3 id="enable-trusted-devices-for-your-organization">266<h3 id="enable-trusted-devices-for-your-organization">

273 Team または Enterprise 組織で信頼できるデバイスを有効にする267 Team または Enterprise 組織で信頼できるデバイスを有効にする

routines.md +28 −15

Details

52 52 

53作成フォームは、ルーチンのプロンプト、リポジトリ、環境、コネクタ、およびトリガーを設定します。53作成フォームは、ルーチンのプロンプト、リポジトリ、環境、コネクタ、およびトリガーを設定します。

54 54 

55ルーチンは完全な Claude Code クラウドセッションとして自律的に実行されます。権限モードピッカーはなく、セッションはシェルコマンドを実行し、クローンされたリポジトリにコミットされた [skills](/docs/ja/skills) を使用し、含めたコネクタを呼び出します。すべて承認を求めずに実行されます。ただし、一部の [artifact](/docs/ja/artifacts) アクションは除きます。55ルーティンは完全な Claude Code クラウドセッションとして自律的に実行されます。権限モードピッカーはなく、セッションはシェルコマンドを実行し、クローンされたリポジトリにコミットされた[スキル](/docs/ja/skills)を使用し、含めたコネクタを呼び出します。一部の[アーティファクトアクション](#when-a-run-publishes-an-artifact-without-asking)を除き、すべて承認を求めずに実行されます。

56 56 

57ルーチンが到達できる範囲は、選択したリポジトリ、[環境](/docs/ja/cloud-environments) のネットワークアクセスと変数、および含めたコネクタによって決定されます。これらのそれぞれをルーチンが実際に必要とするものにスコープします。57ルーチンが到達できる範囲は、選択したリポジトリ、[環境](/docs/ja/cloud-environments) のネットワークアクセスと変数、および含めたコネクタによって決定されます。これらのそれぞれをルーチンが実際に必要とするものにスコープします。

58 58 

59ルーチンのスケジュールまたは **Run now** が実行を開始するとき、Claude は以下のすべてが当てはまる場合にのみ、既存の artifact を再公開します。承認を求めません。

60 

61* artifact を編集でき、自分の組織に属している

62* artifact は公開共有されていない

63* artifact が特定の人または組織と共有されている場合、その閲覧者は自動的に各新しいバージョンを見ない

64* 公開は、ページのみを含み、サポートファイルやその他のものは追加されず、新しいバージョンを強制的に上書きしない

65* ページは、[connector calls](/docs/ja/artifacts#pull-live-data-with-mcp-connectors) などのページを超えて到達する権限を保持していない

66 

67その他のすべての場合(新しい artifact を公開する場合を含む)、Claude は最初に確認します。ルーチンの仕事がページを最新に保つことである場合、既に公開した artifact を与えます。

68 

69ルーチンは個別の claude.ai アカウントに属します。チームメイトと共有されず、アカウントの [usage and limits](#usage-and-limits) に対してカウントされます。ルーチンが接続された GitHub ID またはコネクタを通じて実行するすべてのことは、あなたとして表示されます。コミットとプルリクエストは GitHub ユーザーを含み、Slack メッセージ、Linear チケット、またはその他のコネクタアクションはこれらのサービスのリンクされたアカウントを使用します。59ルーチンは個別の claude.ai アカウントに属します。チームメイトと共有されず、アカウントの [usage and limits](#usage-and-limits) に対してカウントされます。ルーチンが接続された GitHub ID またはコネクタを通じて実行するすべてのことは、あなたとして表示されます。コミットとプルリクエストは GitHub ユーザーを含み、Slack メッセージ、Linear チケット、またはその他のコネクタアクションはこれらのサービスのリンクされたアカウントを使用します。

70 60 

71<h3 id="create-from-the-web">61<h3 id="create-from-the-web">


93 ルーチン用の [cloud environment](/docs/ja/cloud-environments) を選択します。環境は、クラウドセッションがアクセスできるものを制御します。83 ルーチン用の [cloud environment](/docs/ja/cloud-environments) を選択します。環境は、クラウドセッションがアクセスできるものを制御します。

94 84 

95 * **Network access**: 各実行中に利用可能なインターネットアクセスのレベルを設定します85 * **Network access**: 各実行中に利用可能なインターネットアクセスのレベルを設定します

96 * **Environment variables**: Claude が各実行中に使用できる値を提供します。これらは[環境を使用するすべてのユーザーに表示される](/docs/ja/cloud-environments#what-carries-over-from-your-setup)ため、Pro および Max プランでは、Claude が実行中に呼び出す API のキーは代わりに[ネットワークシークレット](/docs/ja/cloud-environments#add-network-secrets)として保存してください。そのセクションには、シークレットが付与されないリクエストも記載されています86 * **Environment variables**: Claude が各実行中に使用できる値を提供します。これらは[環境を使用するすべてのユーザーに表示される](/docs/ja/cloud-environments#what-carries-over-from-your-setup)ため、Anthropic がホストする環境では、Claude が実行中に呼び出す API のキーは代わりに[ネットワークシークレット](/docs/ja/cloud-environments#add-network-secrets)として保存してください。そのセクションには、シークレットが付与されないリクエストも記載されています

97 * **Setup script**: ルーチンが必要とする依存関係とツールをインストールします。結果は [cached](/docs/ja/cloud-environments#environment-caching) されるため、スクリプトはセッションごとに再実行されません87 * **Setup script**: ルーチンが必要とする依存関係とツールをインストールします。結果は [cached](/docs/ja/cloud-environments#environment-caching) されるため、スクリプトはセッションごとに再実行されません

98 88 

99 **Default** 環境は **Trusted** ネットワークアクセスで提供されます。これにより、[default allowlist](/docs/ja/cloud-environments#default-allowed-domains) のパッケージレジストリ、クラウドプロバイダー API、コンテナレジストリ、および一般的な開発ドメインのみがセッションのネットワークを通じて許可されます。ルーチンに追加するコネクタは Anthropic のサーバーを通じてサービスに到達するため、許可リストの変更は必要ありません。ルーチンが独自のサービスに直接到達する必要がある場合、またはそのリスト外のドメインに到達する必要がある場合は、実行前に環境の [network access](/docs/ja/cloud-environments#network-access) を編集してください。別の環境を使用するには、最初に [create one](/docs/ja/cloud-environments#configure-your-environment) してください。89 **Default** 環境は **Trusted** ネットワークアクセスで提供されます。これにより、[default allowlist](/docs/ja/cloud-environments#default-allowed-domains) のパッケージレジストリ、クラウドプロバイダー API、コンテナレジストリ、および一般的な開発ドメインのみがセッションのネットワークを通じて許可されます。ルーチンに追加するコネクタは Anthropic のサーバーを通じてサービスに到達するため、許可リストの変更は必要ありません。ルーチンが独自のサービスに直接到達する必要がある場合、またはそのリスト外のドメインに到達する必要がある場合は、実行前に環境の [network access](/docs/ja/cloud-environments#network-access) を編集してください。別の環境を使用するには、最初に [create one](/docs/ja/cloud-environments#configure-your-environment) してください。


182 172 

183API トリガーはルーティンに専用 HTTP エンドポイントを提供します。ルーティンのベアラートークンでエンドポイントに POST すると、新しいセッションが開始され、セッション URL が返されます。これを使用して Claude Code をアラートシステム、デプロイパイプライン、内部ツール、または認証済み HTTP リクエストを実行できる任意の場所に接続します。173API トリガーはルーティンに専用 HTTP エンドポイントを提供します。ルーティンのベアラートークンでエンドポイントに POST すると、新しいセッションが開始され、セッション URL が返されます。これを使用して Claude Code をアラートシステム、デプロイパイプライン、内部ツール、または認証済み HTTP リクエストを実行できる任意の場所に接続します。

184 174 

185API トリガーは Web から既存のルーティンに追加されます。CLI は現在、トークンを作成または取り消すことができません。175API トリガーは Web から既存のルーティンに追加されます。CLI は現在、トークンを作成、再生成、または削除することができません。

186 176 

187<Steps>177<Steps>

188 <Step title="ルーティンを編集用に開く">178 <Step title="ルーティンを編集用に開く">


202 </Step>192 </Step>

203</Steps>193</Steps>

204 194 

205各ルーティンは独自のトークンを持ち、そのルーティンのトリガーのみにスコープされています。ローテーションまたは取り消すには、同じモーダルに戻り、**Regenerate** または **Revoke** をクリックします。195各ルーティンは独自のトークンを持ち、そのルーティンのトリガーのみにスコープされています。API アクセスをオフにする、またはトークンをローテーションするには、同じモーダルに戻ります。

196 

197* **API アクセスをオフにする**: **Regenerate** の横にあるゴミ箱アイコンである **Delete token** をクリックします

198* **トークンをローテーションする**: **Regenerate** をクリックします

206 199 

207<h4 id="trigger-a-routine">200<h4 id="trigger-a-routine">

208 ルーティンをトリガーする201 ルーティンをトリガーする


379 372 

380ルーチンフォーム外でコネクタを管理または追加するには、[claude.ai/customize/connectors](https://claude.ai/customize/connectors) にアクセスするか、CLI で `/schedule update` を使用します。373ルーチンフォーム外でコネクタを管理または追加するには、[claude.ai/customize/connectors](https://claude.ai/customize/connectors) にアクセスするか、CLI で `/schedule update` を使用します。

381 374 

375<h3 id="when-a-run-publishes-an-artifact-without-asking">

376 実行が確認なしでアーティファクトを公開する場合

377</h3>

378 

379ルーティンのスケジュールまたは **Run now** によって実行が開始された場合、Claude は確認を求めずに新しい[アーティファクト](/docs/ja/artifacts)を公開できます。新しいアーティファクトは、[共有する](/docs/ja/artifacts#share-an-artifact)まではユーザー本人にのみ表示されます。公開時にページのランタイム機能([コネクタ呼び出し](/docs/ja/artifacts#pull-live-data-with-mcp-connectors)や[ファイルのダウンロード](/docs/ja/artifacts#offer-a-file-download)など)を宣言する場合、Claude は事前に確認を求めます。

380 

381これらの実行では、Claude は以下のすべてが満たされる場合にのみ、確認を求めずに既存のアーティファクトを再公開します。

382 

383* アーティファクトを編集でき、かつ自分の組織に属している

384* 公開内容にページ以外のもの(サポートファイルなど)が含まれる場合、そのアーティファクトを所有している

385* アーティファクトが一般公開で共有されていない

386* アーティファクトが特定のユーザーまたは組織と共有されている場合、その閲覧者に新しいバージョンが自動的に表示されない

387* 公開によって新しいバージョンを強制的に上書きしない

388* 公開でページのランタイム機能を宣言しない

389* 既存のページに、ページの範囲を超える権限付与([コネクタ呼び出し](/docs/ja/artifacts#pull-live-data-with-mcp-connectors)など)がない

390 

391API トリガーや GitHub トリガーによって開始された実行を含め、それ以外のすべての場合、Claude は事前に確認を求めます。

392 

393ルーティンの役割がページを最新の状態に保つことである場合は、すでに公開済みのアーティファクトを渡してください。

394 

382<h3 id="environments-and-network-access">395<h3 id="environments-and-network-access">

383 環境とネットワークアクセス396 環境とネットワークアクセス

384</h3>397</h3>


403 </Step>416 </Step>

404 417 

405 <Step title="ネットワークアクセスレベルを変更する">418 <Step title="ネットワークアクセスレベルを変更する">

406 **Edit environment** ダイアログで、**Network access** を **Custom** に変更し、**Allowed domains** にドメインを入力します。**Also include default list of common package managers** をチェックして、カスタムドメインと共に [デフォルト許可リスト](/docs/ja/cloud-environments#default-allowed-domains)を保持します。制限のないアクセスの場合は、代わりに **Full** を選択します。419 **Edit cloud environment** ダイアログで、**Network access** を **Custom** に変更し、**Allowed domains** にドメインを入力します。**Also include default list of common package managers** をチェックして、カスタムドメインと共に [デフォルト許可リスト](/docs/ja/cloud-environments#default-allowed-domains)を保持します。制限のないアクセスの場合は、代わりに **Full** を選択します。

407 </Step>420 </Step>

408 421 

409 <Step title="保存">422 <Step title="保存">

Details

79 79 

80[Monitor ツールが利用可能](/docs/ja/tools-reference#monitor-tool)なセッションでは、動的な `/loop` スケジュールをリクエストすると、Claude は Monitor ツールを直接使用する場合があります。Monitor はバックグラウンドスクリプトを実行し、各出力行をストリーミングバックします。これにより、ポーリングを完全に回避でき、プロンプトを間隔で再実行するよりも多くの場合、トークン効率が高く、応答性が高くなります。80[Monitor ツールが利用可能](/docs/ja/tools-reference#monitor-tool)なセッションでは、動的な `/loop` スケジュールをリクエストすると、Claude は Monitor ツールを直接使用する場合があります。Monitor はバックグラウンドスクリプトを実行し、各出力行をストリーミングバックします。これにより、ポーリングを完全に回避でき、プロンプトを間隔で再実行するよりも多くの場合、トークン効率が高く、応答性が高くなります。

81 81 

82動的にスケジュールされたループは、他のタスクと同様に[スケジュール済みタスクリスト](#manage-scheduled-tasks)に表示されるため、同じ方法でリストまたはキャンセルできます。[ジッタールール](#jitter)は適用されませんが、[7 日間の有効期限](#seven-day-expiry)は適用されます。82動的にスケジュールされたループは、他のタスクと同様に[スケジュールタスクリスト](#manage-scheduled-tasks)に表示されるため、同じ方法でリストまたはキャンセルできます。リストには保留中のウェイクアップが単発タスクとして表示されるため、`:00` または `:30` にスケジュールされたウェイクアップは[少し早く実行される](#when-a-one-shot-task-runs-early)場合があります。[7 日間の有効期限](#seven-day-expiry)もループに適用されます。

83 83 

84<span id="loop-provider-differences" />84<span id="loop-provider-differences" />

85 85 


174| ツール | 目的 |174| ツール | 目的 |

175| :- | :- |175| :- | :- |

176| `CronCreate` | 新しいタスクをスケジュールします。5 フィールドの cron 式、実行するプロンプト、および繰り返すか 1 回実行するかを受け入れます。 |176| `CronCreate` | 新しいタスクをスケジュールします。5 フィールドの cron 式、実行するプロンプト、および繰り返すか 1 回実行するかを受け入れます。 |

177| `CronList` | ID、スケジュール、プロンプトを含むすべてのスケジュール済みタスクをリストします。 |177| `CronList` | スケジュールタスクを、ID、スケジュール、[次回実行時刻](#jitter)、プロンプトとともにリストします。 |

178| `CronDelete` | ID でタスクをキャンセルします。 |178| `CronDelete` | ID でタスクをキャンセルします。 |

179 179 

180各スケジュール済みタスクには、`CronDelete` に渡すことができる 8 文字の ID があります。セッションは一度に最大 50 個のスケジュール済みタスクを保持できます。180各スケジュール済みタスクには、`CronDelete` に渡すことができる 8 文字の ID があります。セッションは一度に最大 50 個のスケジュール済みタスクを保持できます。


193 193 

194スケジュールタスクは、スケジュールで指定された時刻とは異なる時刻に実行されることがあります。すべてのセッションのタスクが正確にスケジュールどおりに実行されると、多くのタスクが同じ瞬間に API を呼び出すことになるため、Claude Code は各タスクの実行時刻をずらします。定期的なタスクは遅れて実行されます。ただし、`*/5 * * * *` と記述される 5 分ごとに実行されるタスクは例外です。毎時 0 分または 30 分にスケジュールされた 1 回限りのタスクは少し早く実行されます。194スケジュールタスクは、スケジュールで指定された時刻とは異なる時刻に実行されることがあります。すべてのセッションのタスクが正確にスケジュールどおりに実行されると、多くのタスクが同じ瞬間に API を呼び出すことになるため、Claude Code は各タスクの実行時刻をずらします。定期的なタスクは遅れて実行されます。ただし、`*/5 * * * *` と記述される 5 分ごとに実行されるタスクは例外です。毎時 0 分または 30 分にスケジュールされた 1 回限りのタスクは少し早く実行されます。

195 195 

196タスクの次回実行予定時刻を確認するには、ターミナルで Claude の `CronCreate` 呼び出しの下にある行を確認してください。この行には、スケジュールの後にその時刻が表示されます(例:`next run 10:21 AM`)。後で改めて確認するには、[Claude にタスクの一覧表示を依頼](#manage-scheduled-tasks)し、`CronList` 呼び出しの下の行で `next run` を探してください。これらの行に次回実行時刻が表示されるには、Claude Code v2.1.299 以降が必要です。

197 

196<h4 id="how-late-a-recurring-task-runs">198<h4 id="how-late-a-recurring-task-runs">

197 定期的なタスクがどれだけ遅れて実行されるか199 定期的なタスクがどれだけ遅れて実行されるか

198</h4>200</h4>

Details

1001. 空き容量のあるランナーがセッションを取得し、そのリースを保持します。1001. 空き容量のあるランナーがセッションを取得し、そのリースを保持します。

1012. ランナーはリポジトリを作業ディレクトリにクローンし、子 Claude Code プロセスを生成します。1012. ランナーはリポジトリを作業ディレクトリにクローンし、子 Claude Code プロセスを生成します。

1023. 子プロセスは HTTPS 経由でイベントをストリーミングし、その間ランナーはポーリングを続けます。各ポーリングはリースを更新し、ハートビートも兼ねます。1023. 子プロセスは HTTPS 経由でイベントをストリーミングし、その間ランナーはポーリングを続けます。各ポーリングはリースを更新し、ハートビートも兼ねます。

1034. ランナーがポーリングを停止すると、リースは約 60 秒後に失効し、サーバーは数分以内にそのセッションを別のランナー向けに再度キューに入れます。1034. ランナーがポーリングを停止すると、リースは約 60 秒後に失効します。その後、サーバーがそのセッションを別のランナー向けに再度キューに入れるまでに、数分、場合によってはそれ以上かかることがあります。

104 104 

105ランナーは各ポーリングリクエストに 10 秒を割り当てます。リクエストがタイムアウトした場合、失われた場合、またはランナーが解析できないレスポンスを受け取った場合、ランナーは稼働中のセッションの処理を続け、次のスケジュールされたポーリングを待たずに 1〜2 秒後に再試行します。たとえば、ポーリングに対して独自のページを返すインターセプトプロキシは、ランナーが解析できないレスポンスを生成します。リクエストがこのいずれかの形で失敗するたびに、ランナーは次の再試行までの間隔を最大 20 秒まで倍増させ、リースの期限が近づくと間隔を短縮します。105ランナーは各ポーリングリクエストに 10 秒を割り当てます。リクエストがタイムアウトした場合、失われた場合、またはランナーが解析できないレスポンスを受け取った場合、ランナーは稼働中のセッションの処理を続け、次のスケジュールされたポーリングを待たずに 1〜2 秒後に再試行します。たとえば、ポーリングに対して独自のページを返すインターセプトプロキシは、ランナーが解析できないレスポンスを生成します。リクエストがこのいずれかの形で失敗するたびに、ランナーは次の再試行までの間隔を最大 20 秒まで倍増させ、リースの期限が近づくと間隔を短縮します。

106 106 

Details

40| `CLAUDE_CODE_REMOTE_SLACK_THREAD_TS` | 1 つの Slack スレッドに属する Claude Tag セッションの場合、そのスレッドの Slack タイムスタンプ(`1700000000.000100` など)。設定されない場合があり、`CLAUDE_CODE_REMOTE_SLACK_THREAD_URL` が設定されていないときに設定される場合もあるため、各変数を個別に確認してください。 |40| `CLAUDE_CODE_REMOTE_SLACK_THREAD_TS` | 1 つの Slack スレッドに属する Claude Tag セッションの場合、そのスレッドの Slack タイムスタンプ(`1700000000.000100` など)。設定されない場合があり、`CLAUDE_CODE_REMOTE_SLACK_THREAD_URL` が設定されていないときに設定される場合もあるため、各変数を個別に確認してください。 |

41| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | 現在のセッション JWT を保持する、セッションごとのファイルへの絶対パス。トークン更新全体で最新に保たれます。シェルサブプロセスは、ユーザーがセッションに追加した添付ファイルをダウンロードするときに、その `Authorization` ヘッダーに対して読み取ります。`exec` は変数を自動的に保持します。子の環境を再構築するラッパーは変数を引き継ぐ必要があります。そうしないと、添付ファイルのダウンロードが静かに停止します。 |41| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | 現在のセッション JWT を保持する、セッションごとのファイルへの絶対パス。トークン更新全体で最新に保たれます。シェルサブプロセスは、ユーザーがセッションに追加した添付ファイルをダウンロードするときに、その `Authorization` ヘッダーに対して読み取ります。`exec` は変数を自動的に保持します。子の環境を再構築するラッパーは変数を引き継ぐ必要があります。そうしないと、添付ファイルのダウンロードが静かに停止します。 |

42| `CLAUDE_CONFIG_DIR` | セッションごとの Claude 設定ディレクトリ。ランナーが起動時にキャプチャするランナーホストの設定のスナップショットからセッション開始時に書き込まれます。[権限とツール承認](#permissions-and-tool-approval) を参照してください。このディレクトリへの書き込みはこのセッションに分離されます。ディレクトリはセッション終了後、ランナーを [`--remove-session-state`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) で起動しない限り `<base-dir>/_sessions/` の下に留まります。[事前ウォーミングされたチェックアウトを再利用する](/docs/ja/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout) を参照してください。 |42| `CLAUDE_CONFIG_DIR` | セッションごとの Claude 設定ディレクトリ。ランナーが起動時にキャプチャするランナーホストの設定のスナップショットからセッション開始時に書き込まれます。[権限とツール承認](#permissions-and-tool-approval) を参照してください。このディレクトリへの書き込みはこのセッションに分離されます。ディレクトリはセッション終了後、ランナーを [`--remove-session-state`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) で起動しない限り `<base-dir>/_sessions/` の下に留まります。[事前ウォーミングされたチェックアウトを再利用する](/docs/ja/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout) を参照してください。 |

43| `CLAUDE_CODE_REMOTE_MCP_CONFIG` | Anthropic のコントロールプレーンがこのセッション用に配信した MCP サーバー定義を保持する、`CLAUDE_CONFIG_DIR` 内のファイルへのパス。ラッパーが子の環境を再構築する場合は、この変数を引き継いでください。この変数がないと、コントロールプレーンが配信するサーバーを更新したときに、ラッパーが [`--mcp-config`](/docs/ja/cli-reference#cli-flags) で追加した stdio、HTTP、SSE サーバーのうち更新に含まれないものを子がシャットダウンします。Claude Code v2.1.299 以降が必要です。 |

43| `ANTHROPIC_BASE_URL` | こどもが使用する API ベース URL。コントロールプレーンによってセッションごとに配信され、通常は `https://api.anthropic.com` です。上書きしないでください。セッションの推論認証情報は Anthropic が発行した OAuth トークンであり、他のプロバイダーはこれを受け入れません。 |44| `ANTHROPIC_BASE_URL` | こどもが使用する API ベース URL。コントロールプレーンによってセッションごとに配信され、通常は `https://api.anthropic.com` です。上書きしないでください。セッションの推論認証情報は Anthropic が発行した OAuth トークンであり、他のプロバイダーはこれを受け入れません。 |

44| `CLAUDE_CODE_OAUTH_TOKEN` | こどもがモデル推論に使用する短期 OAuth アクセストークン。モデル推論とファイルアップロードのみにスコープされ、約 30 分の有効期限があります。ランナーは有効期限前に再発行し、こどもの stdin を介して更新を配信するため、[stdin を接続したままにしない](#keep-stdin-and-file-descriptor-3-attached) ラッパーは初期値のみを見ます。組織の IP 許可リストに依存してこのトークンの使用を制限しないでください。約 30 分間リークした場合に使用可能なままのベアラー認証情報として扱い、ログに記録したり、ディスクに書き込んだり、セッションコンテナの外に転送したりしないでください。 |45| `CLAUDE_CODE_OAUTH_TOKEN` | こどもがモデル推論に使用する短期 OAuth アクセストークン。モデル推論とファイルアップロードのみにスコープされ、約 30 分の有効期限があります。ランナーは有効期限前に再発行し、こどもの stdin を介して更新を配信するため、[stdin を接続したままにしない](#keep-stdin-and-file-descriptor-3-attached) ラッパーは初期値のみを見ます。組織の IP 許可リストに依存してこのトークンの使用を制限しないでください。約 30 分間リークした場合に使用可能なままのベアラー認証情報として扱い、ログに記録したり、ディスクに書き込んだり、セッションコンテナの外に転送したりしないでください。 |

45 46 


51 設定されない可能性のある変数にデフォルト値を与える52 設定されない可能性のある変数にデフォルト値を与える

52</h3>53</h3>

53 54 

54`CCR_SESSION_ACCOUNT_EMAIL`、`CLAUDE_RUNNER_CLIENT_PLATFORM`、`CLAUDE_CODE_REMOTE_SLACK_THREAD_URL`、`CLAUDE_CODE_REMOTE_SLACK_THREAD_TS` は、それぞれ設定されない場合があります。スクリプトで `set -u` を使用している場合、設定されていない変数を展開すると Bash は `unbound variable` で停止するため、`${CCR_SESSION_ACCOUNT_EMAIL:-}` のようにデフォルト値付きで展開してください。55`CCR_SESSION_ACCOUNT_EMAIL`、`CLAUDE_RUNNER_CLIENT_PLATFORM`、`CLAUDE_CODE_REMOTE_SLACK_THREAD_URL`、`CLAUDE_CODE_REMOTE_SLACK_THREAD_TS` は、それぞれ設定されない場合があります。スクリプトで `set -u` を使用している場合、設定されていない変数を展開すると Bash は `unbound variable` で停止するため、`"${CCR_SESSION_ACCOUNT_EMAIL:-}"` のようにデフォルト値付きで展開してください。

55 56 

56シェルが Slack スレッドのリンクを展開する箇所では、次の対策を取ってください。57<h3 id="quote-the-arguments-and-variables-your-script-expands">

58 スクリプトが展開する引数と変数を引用符で囲む

59</h3>

60 

61ランナーがラッパーまたは [`command` フック](#command) に渡すすべての引数と変数を引用符で囲んでください。JSON、文全体、または `Bash(npm run test *)` などの[権限ルール](/docs/ja/permissions#permission-rule-syntax)を保持するため、シェルが解釈する文字を含む値があります。

57 62 

58* **引用符で囲む**: リンクには `?` や `&` など、シェルが解釈する文字が含まれる場合があるため、`"${CLAUDE_CODE_REMOTE_SLACK_THREAD_URL:-}"` のように変数を引用符で囲みます。63* **引数**: `"$@"` として渡します

59* **その値を `eval` や `sh -c` の文字列に入れない**: 引用符の内側であっても、`eval` や `sh -c` が実行する文字列にその値を代入しないでください。代わりに、その文字列から変数を参照するようにします。64* **変数**: `"${CLAUDE_CODE_REMOTE_SLACK_THREAD_URL:-}"` のように、それぞれを引用符で囲みます。例えば、Slack スレッドのリンクには `?` や `&` が含まれる場合があります。

65* **`eval` と `sh -c` の文字列**: 引用符の内側であっても、`eval` や `sh -c` が実行する文字列に値を代入しないでください。代わりに、その文字列から変数を参照するようにします。

60 66 

61<h3 id="keep-stdin-and-file-descriptor-3-attached">67<h3 id="keep-stdin-and-file-descriptor-3-attached">

62 stdin とファイルディスクリプタ 3 を接続したままにする68 stdin とファイルディスクリプタ 3 を接続したままにする


136| `CLAUDE_RUNNER_SESSION_ID` | ログと相関のための `session_...` 形式のセッション ID |142| `CLAUDE_RUNNER_SESSION_ID` | ログと相関のための `session_...` 形式のセッション ID |

137| `CLAUDE_RUNNER_SESSION_UUID` | 正規 UUID 形式の同じセッション ID |143| `CLAUDE_RUNNER_SESSION_UUID` | 正規 UUID 形式の同じセッション ID |

138| `CLAUDE_RUNNER_API_BASE_URL` | セッションスコープの呼び出し用の Anthropic API ベース URL |144| `CLAUDE_RUNNER_API_BASE_URL` | セッションスコープの呼び出し用の Anthropic API ベース URL |

139| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアントサーフェス。`web_claude_ai`、`desktop_app`、`ios` など。セッションに記録または認識されたサーフェスがない場合は未設定のため、`set -u` の下では `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}` として参照してください。Claude Code v2.1.229 以降が必要 |145| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアントサーフェス。`web_claude_ai`、`desktop_app`、`ios` など。セッションに記録または認識されたサーフェスがない場合は未設定のため、`set -u` の下では `"${CLAUDE_RUNNER_CLIENT_PLATFORM:-}"` として参照してください。Claude Code v2.1.229 以降が必要 |

140| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | セッションスコープの API 呼び出し用のセッションアクセストークン |146| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | セッションスコープの API 呼び出し用のセッションアクセストークン |

141| `GIT_CONFIG_COUNT`、`GIT_CONFIG_KEY_n`、`GIT_CONFIG_VALUE_n` | フックが実行する git に対してランナーが固定する git 設定。[ライフサイクルフック内の Git 設定](#git-configuration-inside-lifecycle-hooks)で説明しています。Claude Code v2.1.280 以降が必要 |147| `GIT_CONFIG_COUNT`、`GIT_CONFIG_KEY_n`、`GIT_CONFIG_VALUE_n` | フックが実行する git に対してランナーが固定する git 設定。[ライフサイクルフック内の Git 設定](#git-configuration-inside-lifecycle-hooks)で説明しています。Claude Code v2.1.280 以降が必要 |

142 148 


159 165 

160フックが 0 以外で終了した場合、または 0 で終了しても使用可能なチェックアウトを残さなかった場合、フックは失敗となります。166フックが 0 以外で終了した場合、または 0 で終了しても使用可能なチェックアウトを残さなかった場合、フックは失敗となります。

161 167 

162* **セッションが結果をプッシュするリポジトリ**:ランナーはセッションを失敗させ、0 以外の終了時にスクリプトの stderr の末尾をユーザーに表示します。168* **セッションが結果をプッシュするリポジトリ**:ランナーはセッションを失敗させ、0 以外の終了時にスクリプトの stderr の末尾をユーザーに表示します。理由は短い 1 行として stderr に書き込み、最後に書き込んでから 0 以外で終了してください。stderr にシークレットを出力せず、フックをデプロイする前に `set -x` を削除してください。

163* **セッションが読み取りのみを行うリポジトリ**(実行中のセッションに追加されたリポジトリなど):ランナーは失敗の詳細を含む `[runner:warn]` 行をログに記録し、`Skipped` ステップをセッションにポストし、フックがチェックアウトパスに残したものを削除し、残りのリポジトリで続行します。スキップによってセッションにリポジトリがまったくなくなった場合、ランナーはとにかくセッションを失敗させます。169* **セッションが読み取りのみを行うリポジトリ**(実行中のセッションに追加されたリポジトリなど):ランナーは失敗の詳細を含む `[runner:warn]` 行をログに記録し、`Skipped` ステップをセッションにポストし、フックがチェックアウトパスに残したものを削除し、残りのリポジトリで続行します。スキップによってセッションにリポジトリがまったくなくなった場合、ランナーはとにかくセッションを失敗させます。

164 170 

165フックが成功した場合、ランナーはセッション終了後にチェックアウトパスを削除します。171フックが成功した場合、ランナーはセッション終了後にチェックアウトパスを削除します。


180| `CLAUDE_RUNNER_WORKSPACE_PATHS` | セッションのワーキングツリーのコロン区切り絶対パス。ゼロリポジトリセッションの場合は空 |186| `CLAUDE_RUNNER_WORKSPACE_PATHS` | セッションのワーキングツリーのコロン区切り絶対パス。ゼロリポジトリセッションの場合は空 |

181| `CLAUDE_RUNNER_DEBUG_LOG_PATH` | セッションのデバッグログへのパス。フック実行中もディスク上に存在 |187| `CLAUDE_RUNNER_DEBUG_LOG_PATH` | セッションのデバッグログへのパス。フック実行中もディスク上に存在 |

182| `CLAUDE_RUNNER_API_BASE_URL` | セッションスコープの呼び出し用の Anthropic API ベース URL |188| `CLAUDE_RUNNER_API_BASE_URL` | セッションスコープの呼び出し用の Anthropic API ベース URL |

183| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアントサーフェス。`web_claude_ai`、`desktop_app`、`ios` など。セッションに記録または認識されたサーフェスがない場合は未設定のため、`set -u` の下では `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}` として参照してください。Claude Code v2.1.229 以降が必要 |189| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアントサーフェス。`web_claude_ai`、`desktop_app`、`ios` など。セッションに記録または認識されたサーフェスがない場合は未設定のため、`set -u` の下では `"${CLAUDE_RUNNER_CLIENT_PLATFORM:-}"` として参照してください。Claude Code v2.1.229 以降が必要 |

184| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | セッションスコープの API 呼び出し用のセッションアクセストークン |190| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | セッションスコープの API 呼び出し用のセッションアクセストークン |

185| `GIT_CONFIG_COUNT`、`GIT_CONFIG_KEY_n`、`GIT_CONFIG_VALUE_n` | フックが実行する git に対してランナーが固定する git 設定。[ライフサイクルフック内の Git 設定](#git-configuration-inside-lifecycle-hooks)で説明しています。Claude Code v2.1.280 以降が必要 |191| `GIT_CONFIG_COUNT`、`GIT_CONFIG_KEY_n`、`GIT_CONFIG_VALUE_n` | フックが実行する git に対してランナーが固定する git 設定。[ライフサイクルフック内の Git 設定](#git-configuration-inside-lifecycle-hooks)で説明しています。Claude Code v2.1.280 以降が必要 |

186 192 


3293. **終了コードコントラクトを使用します。** 結果に一致するステータスで終了してください。3353. **終了コードコントラクトを使用します。** 結果に一致するステータスで終了してください。

330 336 

331 * **終了 0**:送信済み。337 * **終了 0**:送信済み。

332 * **終了 1**:再試行可能な失敗。セッションはバックオフして再度提供されます。338 * **終了 1、または `--hook-timeout` の終了時点でまだ実行中**:再試行可能な失敗。セッションはバックオフして再度提供されます。

333 * **終了 2 以上**:再試行不可の失敗。ユーザーがセッションに新しいメッセージを送信するか、[Owner](/docs/ja/cloud-environments#organization-shared-environments) が環境の **Activity** タブでそのセッションに対して **Retry** を選択するまで、セッションは再度スポーンされることがブロックされます。339 * **終了 2 以上**:再試行不可の失敗。ユーザーがセッションに新しいメッセージを送信するか、[Owner](/docs/ja/cloud-environments#organization-shared-environments) が環境の **Activity** タブでそのセッションに対して **Retry** を選択するまで、セッションは再度スポーンされることがブロックされます。

334 340 

335 ゼロ以外の終了時には、フックの stderr の末尾が **Activity** タブに失敗理由として表示されるため、対処可能なエラーを stderr に書き込み、シークレットは決して書き込まないでください。シェルフックでは、[一時的な失敗を再試行可能なままにしてください](#keep-transient-failures-retryable-in-a-shell-hook)。341 ゼロ以外の終了時には、フックの stderr の末尾が **Activity** タブに失敗理由として表示されるため、対処可能なエラーを stderr に書き込み、シークレットは決して書き込まないでください。シェルフックでは、[一時的な失敗を再試行可能なままにしてください](#keep-transient-failures-retryable-in-a-shell-hook)。


341 347 

342セッションが **Activity** タブにスポーンエラーなしでキューに入ったままの場合、フックがセッション ID でキーになっていることを意味する可能性があります。確認するには、プラットフォームがそのセッションの最初のスポーン要求のワークロードを持っているかどうか、および再要求のワークロードを持っていないかどうかを確認してください。その場合は、ワークロードを `CLAUDE_RUNNER_ORDER_ID` でキーにしてください。348セッションが **Activity** タブにスポーンエラーなしでキューに入ったままの場合、フックがセッション ID でキーになっていることを意味する可能性があります。確認するには、プラットフォームがそのセッションの最初のスポーン要求のワークロードを持っているかどうか、および再要求のワークロードを持っていないかどうかを確認してください。その場合は、ワークロードを `CLAUDE_RUNNER_ORDER_ID` でキーにしてください。

343 349 

350<h4 id="make-on-demand-runners-exit-when-idle">

351 オンデマンドランナーをアイドル時に終了させる

352</h4>

353 

354デフォルトでは、フックが起動したランナーはセッションのターンが終了しても終了しないため、送信したワークロードは実行され続けます。ランナーを終了させるには、フックから次の[ランナーフラグ](/docs/ja/self-hosted-environments-reference#runner-cli-flags)を渡すようにします。

355 

356| フラグ(値の例) | 渡す対象 | 動作 |

357| :- | :- | :- |

358| `--release-idle-session-min 30` | フックが起動するすべてのランナー | ランナーは指定した分数アイドル状態が続くとセッションを解放し、その後 0 で終了します。セッションはユーザーが次のメッセージを送信すると再開されますが、[プッシュされていなかった作業は失われます](/docs/ja/self-hosted-environments-deploy#additional-limitations)。 |

359| `--kill-session-after-min 480` | フックが起動するすべてのランナー | 各セッションをその分数に制限します。[アイドルとしてカウントされないセッション](/docs/ja/self-hosted-environments-deploy#some-sessions-don’t-count-as-idle)に対するバックストップとして機能するため、想定される最長のセッションより大きい値を設定してください。 |

360| `--exit-if-unused-min 60` | スタンバイランナー(事前ウォーミング要求に対してフックが起動するもの) | セッションを一度も受け取らないスタンバイは、その分数が経過すると終了します。[`--min-idle`](/docs/ja/self-hosted-environments-reference#orchestrator-cli-flags) を設定している場合、スタンバイが余剰でない限り代わりのランナーが起動されるため、ブート時間を十分に上回る値を使用してください。 |

361 

362ランナーが終了したらワークロードを削除してください。たとえば、Kubernetes Job に `ttlSecondsAfterFinished` を設定するか、VM の起動スクリプトでその後に VM を削除するようにします。

363 

344<h4 id="keep-transient-failures-retryable-in-a-shell-hook">364<h4 id="keep-transient-failures-retryable-in-a-shell-hook">

345 シェルフックで一時的な失敗を再試行可能なままにする365 シェルフックで一時的な失敗を再試行可能なままにする

346</h4>366</h4>


484* 標準のシステムパスにあるエンタープライズスコープの[管理 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` というメッセージを出して終了していました。504* 標準のシステムパスにあるエンタープライズスコープの[管理 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` というメッセージを出して終了していました。

485* ランナーホスト上の[管理設定](/docs/ja/managed-settings)にある [`managedMcpServers`](/docs/ja/settings-reference#managedmcpservers) キー:排他的な制御を行わずに HTTP および SSE サーバーを提供するため、ほかのソースからのサーバーも引き続き読み込まれます。Claude Code v2.1.259 以降が必要です。505* ランナーホスト上の[管理設定](/docs/ja/managed-settings)にある [`managedMcpServers`](/docs/ja/settings-reference#managedmcpservers) キー:排他的な制御を行わずに HTTP および SSE サーバーを提供するため、ほかのソースからのサーバーも引き続き読み込まれます。Claude Code v2.1.259 以降が必要です。

486* `<repo>/.mcp.json`:プロジェクトスコープです。このファイルをリポジトリにコミットしてください。そのサーバーはクラウドセッションで自動承認されます。複数のリポジトリを含むセッションでは、[読み込まれるのは最大 1 つのリポジトリのファイルのみです](#repository-settings-in-sessions-with-several-repositories)。506* `<repo>/.mcp.json`:プロジェクトスコープです。このファイルをリポジトリにコミットしてください。そのサーバーはクラウドセッションで自動承認されます。複数のリポジトリを含むセッションでは、[読み込まれるのは最大 1 つのリポジトリのファイルのみです](#repository-settings-in-sessions-with-several-repositories)。

507* ラッパースクリプトから指定する [`--mcp-config`](/docs/ja/cli-reference#cli-flags) ファイル:`exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --mcp-config /etc/claude/mcp.json` のように、`"$@"` の後にフラグを追加します。セッションに配信されるサーバーがセッションの途中で更新されたときにもこのファイルのサーバーを実行し続けるには、`exec` のように、ラッパーから子プロセスに[環境全体](#wrapper-scripts)を渡すようにしてください。v2.1.299 より前は、このファイル内の stdio、HTTP、SSE サーバーは、それらを指定していない最初の更新の時点でシャットダウンしていました。

487 508 

488組織でコネクタ配信が有効になっている場合、Anthropic のコントロールプレーンは、claude.ai で設定したコネクタを、サーバーが提供する MCP 設定を通じて対話的に作成されたセッションに配信します。この配信は `api.anthropic.com` を経由します。[CLI からのディスパッチ](/docs/ja/self-hosted-environments-testing#run-the-test-loop)のようにプログラムで作成されたセッションには、コネクタは配信されません。そうしたセッションには、このセクションで挙げたほかのいずれかのソースを通じて MCP サーバーを提供してください。子プロセスの OAuth トークンにはコネクタを直接取得するためのスコープが含まれていないため、子プロセスが自らその取得を試みることはありません。配信はサーバー主導で行われます。509組織でコネクタ配信が有効になっている場合、Anthropic のコントロールプレーンは、claude.ai で設定したコネクタを、サーバーが提供する MCP 設定を通じて対話的に作成されたセッションに配信します。この配信は `api.anthropic.com` を経由します。[CLI からのディスパッチ](/docs/ja/self-hosted-environments-testing#run-the-test-loop)のようにプログラムで作成されたセッションには、コネクタは配信されません。そうしたセッションには、このセクションで挙げたほかのいずれかのソースを通じて MCP サーバーを提供してください。子プロセスの OAuth トークンにはコネクタを直接取得するためのスコープが含まれていないため、子プロセスが自らその取得を試みることはありません。配信はサーバー主導で行われます。

489 510 

Details

182* 最小限のスコープトークンを返す `credential.helper`182* 最小限のスコープトークンを返す `credential.helper`

183* 狭くスコープされたキーを指す `GIT_SSH_COMMAND`183* 狭くスコープされたキーを指す `GIT_SSH_COMMAND`

184 184 

185設定するメカニズムは、ランナーの組み込みクローンとフェッチがプロンプトを無効にするため、プロンプトなしで動作する必要があります。git、SSH、Git Credential Manager が表示するプロンプト:185<span id="git-must-work-without-a-prompt" />設定するメカニズムは、ランナーの組み込みクローンとフェッチがプロンプトを無効にするため、プロンプトなしで動作する必要があります。git、SSH、Git Credential Manager が表示するプロンプト:

186 186 

187* ランナーは `GIT_TERMINAL_PROMPT=0` を設定するため、git はユーザー名またはパスワードを要求しません。187* ランナーは `GIT_TERMINAL_PROMPT=0` を設定するため、git はユーザー名またはパスワードを要求しません。

188* ランナーは `BatchMode=yes` で SSH を実行します。`GIT_SSH_COMMAND` を設定した場合は追加されます。SSH はパスフレーズまたはホスト確認を要求しません。188* ランナーは `BatchMode=yes` で SSH を実行します。`GIT_SSH_COMMAND` を設定した場合は追加されます。SSH はパスフレーズまたはホスト確認を要求しません。


212* **github.com のみ**:Anthropic は、セッションのすべてのリポジトリが github.com 上にある場合にのみそのセッションを提供します。また、git プロキシはまだ GitHub Enterprise Server をサポートしていません。git プロキシを使用するランナーでは、別の git ホスト上のリポジトリを持つセッションは[開始に失敗します](#when-anthropic-doesnt-serve-a-session)。212* **github.com のみ**:Anthropic は、セッションのすべてのリポジトリが github.com 上にある場合にのみそのセッションを提供します。また、git プロキシはまだ GitHub Enterprise Server をサポートしていません。git プロキシを使用するランナーでは、別の git ホスト上のリポジトリを持つセッションは[開始に失敗します](#when-anthropic-doesnt-serve-a-session)。

213* **セッションのリポジトリのみの認証情報**:Anthropic は、セッションに含まれるリポジトリに対して git 認証情報を提供し、同じ git ホスト上の他のリポジトリに対しては提供しません。プライベートサブモジュール、パッケージマネージャーが git で取得する依存関係、または別のリポジトリにあるプラグインマーケットプレイスは、Anthropic から認証情報を受け取りません。セッションを作成するユーザーに、作成時にセッションが必要とする[すべてのリポジトリを追加する](/docs/ja/web-quickstart#start-a-task)よう依頼してください。213* **セッションのリポジトリのみの認証情報**:Anthropic は、セッションに含まれるリポジトリに対して git 認証情報を提供し、同じ git ホスト上の他のリポジトリに対しては提供しません。プライベートサブモジュール、パッケージマネージャーが git で取得する依存関係、または別のリポジトリにあるプラグインマーケットプレイスは、Anthropic から認証情報を受け取りません。セッションを作成するユーザーに、作成時にセッションが必要とする[すべてのリポジトリを追加する](/docs/ja/web-quickstart#start-a-task)よう依頼してください。

214* **ブランチへのプッシュのみ**:ブランチを削除するプッシュは失敗し、タグなど他の種類の ref へのプッシュも失敗します。プッシュで更新できるブランチについては、[GitHub プロキシ](/docs/ja/cloud-environments#github-proxy)を参照してください。214* **ブランチへのプッシュのみ**:ブランチを削除するプッシュは失敗し、タグなど他の種類の ref へのプッシュも失敗します。プッシュで更新できるブランチについては、[GitHub プロキシ](/docs/ja/cloud-environments#github-proxy)を参照してください。

215* **接続済みの GitHub アカウント**:ユーザーセッションを作成したユーザーが claude.ai で GitHub を接続している必要があります。接続していない場合、セッションは[開始されません](#creator-has-no-github-connection)。215* **接続済みの GitHub アカウント**:リポジトリを含むユーザーセッションを作成する各ユーザーに、[GitHub を接続する](/docs/ja/web-quickstart#connect-github)よう依頼してください。本人の接続がない場合、それらのセッションは[開始されません](#creator-has-no-github-connection)。

216* **`--capacity 1`**:git プロキシはランナープロセスごとに 1 つのセッションを必要とするため、並列処理のためにより多くのレプリカを実行してください。要件は [Anthropic git プロキシをオンにする](#turn-the-anthropic-git-proxy-on)に記載されています。216* **`--capacity 1`**:git プロキシはランナープロセスごとに 1 つのセッションを必要とするため、並列処理のためにより多くのレプリカを実行してください。要件は [Anthropic git プロキシをオンにする](#turn-the-anthropic-git-proxy-on)に記載されています。

217* **グローバル git 設定の置き換え**:ランナーは、実行ユーザーの[グローバル git 設定を削除して置き換えます](#git-proxy-replaces-global-git-config)。専用ユーザーとして、またはコンテナ内で実行してください。217* **グローバル git 設定の置き換え**:ランナーは、実行ユーザーの[グローバル git 設定を削除して置き換えます](#git-proxy-replaces-global-git-config)。専用ユーザーとして、またはコンテナ内で実行してください。

218* **ホストからのプッシュにはホストの認証情報**:ランナーの [`--push-outcome-on-release`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) によるプッシュと、[`post-session` フック](/docs/ja/self-hosted-environments-configuration#post-session)が行うプッシュは、引き続きランナーホスト独自の git 認証情報と [`github.com` へのネットワーク経路](#github-com-egress-with-the-anthropic-git-proxy)を使用します。これらの認証情報については、[イメージに git 設定を含める](#ship-git-config-in-your-image)を参照してください。218* **ホストからのプッシュにはホストの認証情報**:ランナーの [`--push-outcome-on-release`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) によるプッシュと、[`post-session` フック](/docs/ja/self-hosted-environments-configuration#post-session)が行うプッシュは、引き続きランナーホスト独自の git 認証情報と [`github.com` へのネットワーク経路](#github-com-egress-with-the-anthropic-git-proxy)を使用します。これらの認証情報は[グローバル git 設定](#git-proxy-replaces-global-git-config)に置かないでください。提供方法については[イメージに git 設定を含める](#ship-git-config-in-your-image)を参照してください。

219* **セッションごとの判断**:Anthropic はランナー上の各セッションについて git を提供するかどうかを決定し、提供されないセッションは開始に失敗します。原因については [git プロキシを使用するランナーでセッションの開始に失敗する場合](#when-anthropic-doesnt-serve-a-session)で説明しています。219* **セッションごとの判断**:Anthropic はランナー上の各セッションについて git を提供するかどうかを決定し、提供されないセッションは開始に失敗します。原因については [git プロキシを使用するランナーでセッションの開始に失敗する場合](#when-anthropic-doesnt-serve-a-session)で説明しています。

220 220 

221<span id="git-proxy-replaces-global-git-config" />221<span id="git-proxy-replaces-global-git-config" />


356リポジトリ URL はコントロールプレーンから HTTPS として到達します。git ホストのホスト名を使用します。GitHub Enterprise の場合、claude.ai で [GitHub Enterprise 統合](/docs/ja/github-enterprise-server)用に設定したホスト名です。2 つの繰り返し可能なフラグはクローン前にこれらの URL を書き直します:356リポジトリ URL はコントロールプレーンから HTTPS として到達します。git ホストのホスト名を使用します。GitHub Enterprise の場合、claude.ai で [GitHub Enterprise 統合](/docs/ja/github-enterprise-server)用に設定したホスト名です。2 つの繰り返し可能なフラグはクローン前にこれらの URL を書き直します:

357 357 

358* `--git-host-rewrite <from>=<to>`:スプリットホライズン DNS の場合。Anthropic は外部ホスト名を通じて git ホストに到達しますが、ランナーは内部ホスト名を使用する必要があります358* `--git-host-rewrite <from>=<to>`:スプリットホライズン DNS の場合。Anthropic は外部ホスト名を通じて git ホストに到達しますが、ランナーは内部ホスト名を使用する必要があります

359* `--git-ssh-rewrite <host>`:SSH のみを受け入れる git ホストの場合。`https://<host>/owner/repo` を `git@<host>:owner/repo` に書き直します359* `--git-ssh-rewrite <host>`:SSH のみを受け入れる git ホストの場合、または SSH キーしか持たないランナーホストの場合。例えば、github.com のリポジトリを SSH でクローンするには、ランナーのコマンドに `--git-ssh-rewrite github.com` を追加します。するとランナーは `https://github.com/owner/repo` を `git@github.com:owner/repo` に書き直します。SSH は[プロンプトなしで接続](#git-must-work-without-a-prompt)できる必要があります。

360 360 

361ホスト書き直しが最初に実行されるため、両方が必要な場合は `--git-ssh-rewrite` に内部ホスト名をリストします。チェックアウトを完全に制御するには、[`checkout` ライフサイクルフック](/docs/ja/self-hosted-environments-configuration#checkout)を使用してください。361ホスト書き直しが最初に実行されるため、両方が必要な場合は `--git-ssh-rewrite` に内部ホスト名をリストします。チェックアウトを完全に制御するには、[`checkout` ライフサイクルフック](/docs/ja/self-hosted-environments-configuration#checkout)を使用してください。

362 362 


578 578 

579ホストの停止タイムアウトに、少なくとも 3 つの部分の合計を与えてください:設定する `n` 分、リリース後の猶予、[シャットダウンタイミング](#shutdown-timing)で説明されているドレインです。デフォルト設定ではリリース後の猶予は 75 秒、ドレインは最大 80 秒かかるため、`n` 分 + 155 秒を確保してください。`--defer-shutdown-max-min` が設定されている場合、ランナーはこの合計を起動時に出力します。579ホストの停止タイムアウトに、少なくとも 3 つの部分の合計を与えてください:設定する `n` 分、リリース後の猶予、[シャットダウンタイミング](#shutdown-timing)で説明されているドレインです。デフォルト設定ではリリース後の猶予は 75 秒、ドレインは最大 80 秒かかるため、`n` 分 + 155 秒を確保してください。`--defer-shutdown-max-min` が設定されている場合、ランナーはこの合計を起動時に出力します。

580 580 

581ランナーが終了する前に停止タイムアウトが切れると、ホストはランナーを強制終了します。まだ保持しているセッションでは `post-session` フックが実行されません。ランナーは登録解除されず、コントロールプレーンは数分以内にセッションを再キューイングします。停止タイムアウトにその合計を与えることができない場合は、`--defer-shutdown-max-min` を設定しないままにして、ランナーが最初のシグナルでドレインするようにしてください。581ランナーが終了する前に停止タイムアウトが切れると、まだ保持しているセッションでは `post-session` フックが実行されません。ランナーは登録解除されないため、コントロールプレーンがそれらのセッションを再キューイングするまでに数分、場合によってはそれ以上かかることがあります。停止タイムアウトにその合計を与えることができない場合は、`--defer-shutdown-max-min` を設定しないままにして、ランナーが最初のシグナルでドレインするようにしてください。

582 582 

583<h3 id="what-reaches-a-running-post-session-hook">583<h3 id="what-reaches-a-running-post-session-hook">

584 実行中の post-session フックに到達するもの584 実行中の post-session フックに到達するもの


720 720 

721* **ランナーが環境に表示されない**:ホストが HTTPS 経由で `api.anthropic.com` に到達できること、環境シークレットが最新であること、ホストの時刻が実時間の 5 分以内であることを確認してください。より大きなずれは認証失敗を引き起こします。ランナーは認証失敗時に拒否理由を含む `[runner:fatal]` をログに記録します。721* **ランナーが環境に表示されない**:ホストが HTTPS 経由で `api.anthropic.com` に到達できること、環境シークレットが最新であること、ホストの時刻が実時間の 5 分以内であることを確認してください。より大きなずれは認証失敗を引き起こします。ランナーは認証失敗時に拒否理由を含む `[runner:fatal]` をログに記録します。

722* **ランナーが `cannot create or write to base directory` で起動時に終了する**:ランナーが `--base-dir` を作成または書き込みできません。これはデフォルトで `/workspace` です。ディレクトリの所有権を修正するか、[ランナー全体でベースディレクトリと容量を同じに保つ](#keep-the-base-directory-and-capacity-identical-across-runners)で説明されているように `--base-dir` を書き込み可能なパスに指定してください。ランナーが代わりにベースディレクトリチェックがタイムアウトしたことを示す `[runner:fatal]` をログに記録する場合、ディレクトリはハングしている NFS または CSI マウント上にあります。権限ではなくマウントヘルスを確認してください。ランナーは `--log-file` を開く前にこれらの起動失敗を stderr に出力するため、ログファイルではなくターミナルまたはプラットフォームのコンテナログで探してください。v2.1.225 より前では、ランナーは起動時にベースディレクトリをチェックしておらず、この設定ミスはピックアップ後にセッションを失敗させました。722* **ランナーが `cannot create or write to base directory` で起動時に終了する**:ランナーが `--base-dir` を作成または書き込みできません。これはデフォルトで `/workspace` です。ディレクトリの所有権を修正するか、[ランナー全体でベースディレクトリと容量を同じに保つ](#keep-the-base-directory-and-capacity-identical-across-runners)で説明されているように `--base-dir` を書き込み可能なパスに指定してください。ランナーが代わりにベースディレクトリチェックがタイムアウトしたことを示す `[runner:fatal]` をログに記録する場合、ディレクトリはハングしている NFS または CSI マウント上にあります。権限ではなくマウントヘルスを確認してください。ランナーは `--log-file` を開く前にこれらの起動失敗を stderr に出力するため、ログファイルではなくターミナルまたはプラットフォームのコンテナログで探してください。v2.1.225 より前では、ランナーは起動時にベースディレクトリをチェックしておらず、この設定ミスはピックアップ後にセッションを失敗させました。

723* **ランナーが `RegisterRunner failed:` と TLS 証明書エラーで起動時に終了する**:エラーは、例えば `self signed certificate in certificate chain` のようになります。ランナーは受け取った証明書の背後にある認証局(CA)を信頼していません。これは TLS インスペクションを行うプロキシの背後で発生します。ランナーの環境で [`NODE_EXTRA_CA_CERTS`](/docs/ja/network-config#custom-ca-certificates) をプロキシのルート CA を含む PEM ファイルに設定してください。

724 

725 セッションはこれを継承するため、セッション用に再度設定する必要はありません。git はこれを読み取りません。そのプロキシを経由するクローンには、[`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git) も設定してください。

726* **オーケストレーターが TLS 証明書エラーとともに `poll failed:` をログに記録し、再試行し続ける**:オーケストレーターは受け取った証明書の背後にある CA を信頼していません。これは TLS インスペクションを行うプロキシの背後で発生します。オーケストレーターの環境で [`NODE_EXTRA_CA_CERTS`](/docs/ja/network-config#custom-ca-certificates) をプロキシのルート CA を含む PEM ファイルに設定してください。`spawn-runner` フックが起動するランナーにも設定してください。

727 

728 例えば、行が `poll failed: self signed certificate in certificate chain — retrying in 1s` で終わることがあり、コロンとダッシュの間には TLS ライブラリの文言が入ります。修正を確認するには、オーケストレーターの [`/healthz`](/docs/ja/self-hosted-environments-reference#health-endpoint) 本体で `connected` が `true` であることを確認してください。

723* **セッションがキューに留まる**:すべてのオンラインランナーは異なる所有者にロックされている可能性があります。各ランナーの `claude_code_self_hosted_runner_locked_account` [メトリクス](/docs/ja/self-hosted-environments-reference#prometheus-metrics)またはその `[runner:health]` ログ行の `locked_account` フィールドをチェックして、誰がそれを保持しているかを確認してください。どちらも、ランナーが `act.email` クレームを含むセッショントークンを発行された後にのみ所有者のメールアドレスを表示します。これは Claude Tag エージェントのセッションでは決して行われません。クレームがない場合、ランナーは `locked_account` シリーズを出力せず、`locked_account=yes` をログに記録します。これはランナーがロックされていることを示しますが、どの所有者にロックされているかは示しません。レプリカを追加するか、既存のランナーがドレインして再起動するのを待ってください。環境がオンデマンドランナーを使用する場合は、代わりにオーケストレーターをチェックしてください。[オンデマンドランナー](/docs/ja/self-hosted-environments-configuration#on-demand-runners)を参照してください。729* **セッションがキューに留まる**:すべてのオンラインランナーは異なる所有者にロックされている可能性があります。各ランナーの `claude_code_self_hosted_runner_locked_account` [メトリクス](/docs/ja/self-hosted-environments-reference#prometheus-metrics)またはその `[runner:health]` ログ行の `locked_account` フィールドをチェックして、誰がそれを保持しているかを確認してください。どちらも、ランナーが `act.email` クレームを含むセッショントークンを発行された後にのみ所有者のメールアドレスを表示します。これは Claude Tag エージェントのセッションでは決して行われません。クレームがない場合、ランナーは `locked_account` シリーズを出力せず、`locked_account=yes` をログに記録します。これはランナーがロックされていることを示しますが、どの所有者にロックされているかは示しません。レプリカを追加するか、既存のランナーがドレインして再起動するのを待ってください。環境がオンデマンドランナーを使用する場合は、代わりにオーケストレーターをチェックしてください。[オンデマンドランナー](/docs/ja/self-hosted-environments-configuration#on-demand-runners)を参照してください。

724* **セッションがピックアップ直後に失敗する**:claude.ai/code でセッションを開いてエラーを確認してください。最も一般的な原因は、ランナーイメージの [git 認証情報](#configure-git)の欠落とインストールされていないビルドツールです。`--use-anthropic-git-proxy` で起動したランナーの場合は、[git プロキシを使用するランナーでセッションの開始に失敗する場合](#when-anthropic-doesnt-serve-a-session)を参照してください。書き込み不可能なベースディレクトリはセッションを失敗させるのではなく、起動時にランナーを停止させます。このリストの **ランナーが `cannot create or write to base directory` で起動時に終了する** エントリを参照してください。730* **セッションがピックアップ直後に失敗する**:claude.ai/code でセッションを開いてエラーを確認してください。最も一般的な原因は、ランナーイメージの [git 認証情報](#configure-git)の欠落とインストールされていないビルドツールです。`--use-anthropic-git-proxy` で起動したランナーの場合は、[git プロキシを使用するランナーでセッションの開始に失敗する場合](#when-anthropic-doesnt-serve-a-session)を参照してください。書き込み不可能なベースディレクトリはセッションを失敗させるのではなく、起動時にランナーを停止させます。このリストの **ランナーが `cannot create or write to base directory` で起動時に終了する** エントリを参照してください。

725* **`--use-anthropic-git-proxy` を設定したランナーでセッションの開始に失敗する**:ランナーのログで `access denied by the git proxy`、または `/git_proxy/` を含む `api.anthropic.com` のアドレスを示す git エラーを探してください。Anthropic がそのセッションを処理したかどうかを判断して原因を修正するには、[git プロキシを使用するランナーでセッションの開始に失敗する場合](#when-anthropic-doesnt-serve-a-session)を参照してください。731* **`--use-anthropic-git-proxy` を設定したランナーでセッションの開始に失敗する**:ランナーのログで `access denied by the git proxy`、または `/git_proxy/` を含む `api.anthropic.com` のアドレスを示す git エラーを探してください。Anthropic がそのセッションを処理したかどうかを判断して原因を修正するには、[git プロキシを使用するランナーでセッションの開始に失敗する場合](#when-anthropic-doesnt-serve-a-session)を参照してください。


741 v2.1.274 より前では、ランナーは数回の試行後に失敗したフェッチの再試行を停止し、次のスケジュール済みのものを待ちました。失敗したターンはフェッチをトリガーしなかったため、次のスケジュール済みフェッチまで、すべてのターンが 401 で失敗しました。747 v2.1.274 より前では、ランナーは数回の試行後に失敗したフェッチの再試行を停止し、次のスケジュール済みのものを待ちました。失敗したターンはフェッチをトリガーしなかったため、次のスケジュール済みフェッチまで、すべてのターンが 401 で失敗しました。

742* **ポッドがドレイン中に強制終了される**:`terminationGracePeriodSeconds` をランナーが起動時にログに記録する値以上に引き上げてください。[シャットダウンタイミング](#shutdown-timing)を参照してください。748* **ポッドがドレイン中に強制終了される**:`terminationGracePeriodSeconds` をランナーが起動時にログに記録する値以上に引き上げてください。[シャットダウンタイミング](#shutdown-timing)を参照してください。

743 749 

744ログが初期化されると、ランナーはそのライフサイクルログ(`[runner:fatal]` 行を含む)を stdout に書き込み、デバッグ出力を stderr に書き込みます。すべて JSON ではなくプレーンテキスト行として。上記のトラブルシューティングエントリで説明されている起動失敗はその前に stderr に出力されます。`--log-file` で両方のストリームをキャプチャします。これにより `self-hosted-runner doctor` がそれらをテールできるようになり、またはプラットフォームのログ収集で。750ログが初期化されると、ランナーはそのライフサイクルログ(`[runner:fatal]` 行を含む)を stdout に書き込み、デバッグ出力を stderr に書き込みます。すべて JSON ではなくプレーンテキスト行として。上記のトラブルシューティングエントリで説明されているベースディレクトリの失敗はその前に stderr に出力されます。`--log-file` で両方のストリームをキャプチャします。これにより `self-hosted-runner doctor` がそれらをテールできるようになり、またはプラットフォームのログ収集で。

745 751 

746各セッションの子プロセスは個別のデバッグログを書き込みます。失敗時、ランナーはログのテールを claude.ai/code のセッションと一緒に表示します。[`--remove-session-state`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) でランナーを起動しない限り、失敗したセッションのログもディスク上に保持し、ランナーログにそのパスを出力します。752各セッションの子プロセスは個別のデバッグログを書き込みます。失敗時、ランナーはログのテールを claude.ai/code のセッションと一緒に表示します。[`--remove-session-state`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) でランナーを起動しない限り、失敗したセッションのログもディスク上に保持し、ランナーログにそのパスを出力します。

747 753 

Details

25claude.ai 側には以下が必要です。25claude.ai 側には以下が必要です。

26 26 

27* **セルフホストされた環境を許可**は、[**Cloud environments** 管理ページ](https://claude.ai/admin-settings/cloud-environments)で[オーナー](/docs/ja/cloud-environments#organization-shared-environments)によってオンにされます。**新規**ボタンはそれがオンになるまで表示されません。ロールを保持していない場合、保持している人が環境を作成してシークレットを渡すことができます。このページのランナーとターミナルのステップには claude.ai ロールは不要です。ステップが管理 UI でステータスをチェックする場合、ランナー自身のログ行が同じシグナルを提供します。27* **セルフホストされた環境を許可**は、[**Cloud environments** 管理ページ](https://claude.ai/admin-settings/cloud-environments)で[オーナー](/docs/ja/cloud-environments#organization-shared-environments)によってオンにされます。**新規**ボタンはそれがオンになるまで表示されません。ロールを保持していない場合、保持している人が環境を作成してシークレットを渡すことができます。このページのランナーとターミナルのステップには claude.ai ロールは不要です。ステップが管理 UI でステータスをチェックする場合、ランナー自身のログ行が同じシグナルを提供します。

28* 組織の[GitHub 接続](/docs/ja/claude-code-on-the-web#github-authentication-options)。開発者がセッションを開始するときにリポジトリを選択できるようにします。28* オーナーによってオンにされた [GitHub コネクタ](https://claude.ai/admin-settings/connectors)と、各開発者自身の [GitHub 接続](/docs/ja/web-quickstart#connect-github)。これにより、開発者はセッションを開始するときに github.com のリポジトリを選択できます。

29 29 

30<h3 id="host-and-network">30<h3 id="host-and-network">

31 ホストとネットワーク31 ホストとネットワーク


34ランナーホストには以下が必要です。34ランナーホストには以下が必要です。

35 35 

36* `api.anthropic.com`、`claude.ai` および以下のインストールステップ用のダウンロードホストへのアウトバウンド HTTPS、および git ホストへのクローン用の Linux または macOS ホストまたはコンテナ。[ネットワーク要件テーブル](/docs/ja/self-hosted-environments-deploy#network-requirements)に完全なリストがあります。Windows はランナーホストとしてサポートされていません。代わりに Linux コンテナでランナーを実行してください。セッションは claude.ai のブラウザから開始されるため、開発者ワークステーションは影響を受けません。36* `api.anthropic.com`、`claude.ai` および以下のインストールステップ用のダウンロードホストへのアウトバウンド HTTPS、および git ホストへのクローン用の Linux または macOS ホストまたはコンテナ。[ネットワーク要件テーブル](/docs/ja/self-hosted-environments-deploy#network-requirements)に完全なリストがあります。Windows はランナーホストとしてサポートされていません。代わりに Linux コンテナでランナーを実行してください。セッションは claude.ai のブラウザから開始されるため、開発者ワークステーションは影響を受けません。

37* テストセッション用のリポジトリ。公開リポジトリ、またはこのホストが認証情報を求められることなく HTTPS URL で既にクローンできるリポジトリを用意してください。37* テストセッション用のリポジトリ。公開リポジトリ、またはこのホストが認証情報を求められることなく HTTPS URL で既にクローンできるリポジトリを用意してください。ランナーはリポジトリの `https://` URL をクローンするため、SSH キーだけでは不十分です。代わりに SSH 経由でクローンするには、[プライベートネットワーク用に git URL を書き換える](/docs/ja/self-hosted-environments-deploy#rewrite-git-urls-for-private-networks)を参照してください。

38* NTP などで実時間に同期されたクロック。クロックが 5 分以上ずれていると認証が失敗します。[トラブルシューティング](/docs/ja/self-hosted-environments-deploy#troubleshooting)を参照してください。38* NTP などで実時間に同期されたクロック。クロックが 5 分以上ずれていると認証が失敗します。[トラブルシューティング](/docs/ja/self-hosted-environments-deploy#troubleshooting)を参照してください。

39 39 

40<h3 id="software-on-the-runner-host">40<h3 id="software-on-the-runner-host">


105 105 

106 ベースディレクトリを選択し、以下のランナーコマンドの `<writable-dir>` を、ランナーが書き込みまたは作成できる絶対パスに置き換えます。ランナーは起動時にディレクトリを作成し、リポジトリをチェックアウトして、その下にセッションごとのディレクトリを作成します。`--base-dir` がない場合、`/workspace` を使用します。これは、そのディレクトリが既に存在し、書き込み可能であるか、ランナーを root として起動する場合にのみ機能します。106 ベースディレクトリを選択し、以下のランナーコマンドの `<writable-dir>` を、ランナーが書き込みまたは作成できる絶対パスに置き換えます。ランナーは起動時にディレクトリを作成し、リポジトリをチェックアウトして、その下にセッションごとのディレクトリを作成します。`--base-dir` がない場合、`/workspace` を使用します。これは、そのディレクトリが既に存在し、書き込み可能であるか、ランナーを root として起動する場合にのみ機能します。

107 107 

108 ランナーがパスを作成または書き込みできない場合、起動時にディレクトリを名前として指定するエラーで終了し、登録されません。[トラブルシューティング](/docs/ja/self-hosted-environments-deploy#troubleshooting)を参照してください。108 <Warning>

109 ホームディレクトリや自分のクローンを置いているディレクトリではなく、ランナー専用のディレクトリを使用してください。ランナーは `<writable-dir>/<repo-owner>/<repo>` にあるものを自身のクローンとして扱い、それをリセットしたり、その中のファイルを上書きまたは削除したりすることがあります。

110 </Warning>

111 

112 ランナーがベースディレクトリを作成または書き込みできない場合、登録されずに、起動時にそのディレクトリ名を示すエラーで終了します。[トラブルシューティング](/docs/ja/self-hosted-environments-deploy#troubleshooting)を参照してください。

109 113 

110 次に、`--environment-secret-file` と `--base-dir` を使用してランナーを起動します。114 次に、`--environment-secret-file` と `--base-dir` を使用してランナーを起動します。

111 115 


113 claude self-hosted-runner --environment-secret-file '/etc/claude/environment-secret' --base-dir '<writable-dir>'117 claude self-hosted-runner --environment-secret-file '/etc/claude/environment-secret' --base-dir '<writable-dir>'

114 ```118 ```

115 119 

116 ランナーは環境に登録されると `Registered: runner_id=<runner-id>` をログに記録し、作業のポーリングを開始します。後でランナーが終了した場合は、手動で再起動してください。これが発生する状況については、[ランナーが終了した場合](#if-the-runner-exits)を参照してください。120 ランナーは環境に登録されると `Registered: runner_id=<runner-id>` をログに記録し、作業のポーリングを開始します。このコマンドで起動した場合、ランナーは設計上、ターンごとではなく 1 つのセッションを処理した後に終了します。さらに多くのセッションを処理するには、ランナーが終了するたびに再度起動してください。これが発生する状況とランナーがログに記録する内容については、[ランナーが終了した場合](#if-the-runner-exits)を参照してください。

117 </Step>121 </Step>

118 122 

119 <Step title="ランナーが表示されることを確認する">123 <Step title="ランナーが表示されることを確認する">


121 </Step>125 </Step>

122 126 

123 <Step title="セッションを環境にルーティングする">127 <Step title="セッションを環境にルーティングする">

124 <span id="route-a-session" />claude.ai/code でセッションを開始し、環境ピッカーから環境を選択します。セルフホスト環境は Anthropic ホスト環境と並んで表示されます。リポジトリには、[前提条件](#host-and-network)で用意したもの、つまり公開リポジトリ、またはこのホストが既にクローンできるリポジトリを選択してください。ランナーは、ホストが既に持っている git 認証情報を使用してクローンを作成します。128 <span id="route-a-session" />claude.ai/code でセッションを開始し、環境ピッカーから環境を選択します。セルフホスト環境は Anthropic ホスト環境と並んで表示されます。リポジトリには、[前提条件](#host-and-network)で用意したもの、つまり公開リポジトリ、またはこのホストが認証情報を求められることなく HTTPS URL で既にクローンできるリポジトリを選択してください。

125 129 

126 次に利用可能なランナーがキューに入ったセッションを取得し、`Picked up session <session-id>` をアクティブカウントと容量とともにログに記録します。ランナー自身の出力からどのホストがセッションを取得したかを確認できます。[claude.ai/code](https://claude.ai/code) でセッションの動作を監視し、Claude の返信を読んでください。130 次に利用可能なランナーがキューに入ったセッションを取得し、`Picked up session <session-id>` をアクティブカウントと容量とともにログに記録します。ランナー自身の出力からどのホストがセッションを取得したかを確認できます。[claude.ai/code](https://claude.ai/code) でセッションの動作を監視し、Claude の返信を読んでください。

127 131 

128 セッションが動作を開始しない場合は、表示される状況に応じて対処してください。132 <span id="session-doesnt-start" />セッションが動作を開始しない場合は、表示される状況に応じて対処してください。

129 133 

130 * **セッションがキューに入ったままになる**:[トラブルシューティング](/docs/ja/self-hosted-environments-deploy#troubleshooting)を参照してください。134 * **セッションがキューに入ったままになる**:[トラブルシューティング](/docs/ja/self-hosted-environments-deploy#troubleshooting)を参照してください。

131 * **セッションが git エラーで開始に失敗する**:エラーはセッションとランナーのログに表示されます。git の `could not read Username for` に続いて git ホストの URL が含まれている場合、ランナーにはそのホストの HTTPS 認証情報がありませんでした。[git を設定する](/docs/ja/self-hosted-environments-deploy#configure-git)を参照してください。本番環境のプライベートリポジトリの認証情報オプションもここに記載されています。135 * **セッションが git エラーで開始に失敗する**:エラーに git の `could not read Username for` に続いて git ホストの URL が含まれている場合、ランナーにはそのホストの HTTPS 認証情報がありませんでした。

136 * **HTTPS 認証情報を指定する**:[git を設定する](/docs/ja/self-hosted-environments-deploy#configure-git)を参照してください

137 * **代わりに SSH でクローンする**:ランナーホストに既に SSH キーがある場合は、[プライベートネットワーク向けに git URL を書き換える](/docs/ja/self-hosted-environments-deploy#rewrite-git-urls-for-private-networks)を参照してください

132 </Step>138 </Step>

133</Steps>139</Steps>

134 140 


136 ランナーが終了した場合142 ランナーが終了した場合

137</h3>143</h3>

138 144 

139このクイックスタートの途中でランナーが終了した場合は、同じコマンドで再度起動してください。ランナーは自ら終了することがあります。145このクイックスタートの途中でランナーが終了した場合は、再度起動してください。ランナーは自ら終了することがあります。

140 146 

141* **セッションの終了**:ログに `[runner:exit] account workload drained — exiting` が表示されます。ランナーは設計上、アクティブセッションが終了すると終了します。[ランナーのライフサイクル](/docs/ja/self-hosted-environments#runner-lifecycle)を参照してください。147* **実行中のものがなくなった**:ログに `[runner:exit] account workload drained — exiting` が表示されます。ランナーは、セッションを実行しなくなると[設計上終了します](/docs/ja/self-hosted-environments#runner-lifecycle)。例:

148 * **セッションをアーカイブまたは削除した**:ランナーを再度起動してください

149 * **セッションの開始に失敗した**:[原因を修正](#session-doesnt-start)してから、ランナーを再度起動してください

142* **接続の喪失**:ログに `runner record gone server-side` または `poll auth failed` を含む `[runner:fatal]` の行が表示されます。ホストがスリープするなどしてランナーが Anthropic としばらく接続できなくなった場合、次に Anthropic に接続したときに終了することがあります。150* **接続の喪失**:ログに `runner record gone server-side` または `poll auth failed` を含む `[runner:fatal]` の行が表示されます。ホストがスリープするなどしてランナーが Anthropic としばらく接続できなくなった場合、次に Anthropic に接続したときに終了することがあります。

143 151 

144ターンが終了しても、テストセッションは終了しません。最初のターンの後もセッションは接続されたままで、ランナーも稼働し続けているため、先にランナーを再起動することなく[セッションにフォローアップメッセージを送信](#send-a-follow-up-message-to-a-running-session)できます。152ターンが終了しても、テストセッションは終了しません。最初のターンの後もセッションは接続されたままで、ランナーも稼働し続けているため、先にランナーを再起動することなく[セッションにフォローアップメッセージを送信](#send-a-follow-up-message-to-a-running-session)できます。

Details

54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | 未設定 | ランナーを秒単位の絶対 Unix タイムスタンプでリタイアします。ランナーが既知の時間に強制終了されるインフラストラクチャ用です。[ランナーライフサイクル](/docs/ja/self-hosted-environments#runner-lifecycle) はリリースシーケンスとマージンのサイズ方法を説明しています。2001 より前または 5138 年より後の値はフラグによって拒否され、環境変数によって無視されます。 |54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | 未設定 | ランナーを秒単位の絶対 Unix タイムスタンプでリタイアします。ランナーが既知の時間に強制終了されるインフラストラクチャ用です。[ランナーライフサイクル](/docs/ja/self-hosted-environments#runner-lifecycle) はリリースシーケンスとマージンのサイズ方法を説明しています。2001 より前または 5138 年より後の値はフラグによって拒否され、環境変数によって無視されます。 |

55| `--server-auto-mode-lists <mode>` | `SELF_HOSTED_RUNNER_SERVER_AUTO_MODE_LISTS` | `no-allow` | コントロールプレーンがセッションとともに送信する [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) 分類器のルールリストのうち、どれをそのセッションに到達させるかを指定します。`all`、`no-allow`、`none` のいずれかです。各値が何を適用するかについては、[auto モードのルールリスト](#auto-mode-rule-lists) を参照してください。無効な値を指定すると、ランナーはスタートアップ時に停止します。Claude Code v2.1.295 以降が必要です。 |55| `--server-auto-mode-lists <mode>` | `SELF_HOSTED_RUNNER_SERVER_AUTO_MODE_LISTS` | `no-allow` | コントロールプレーンがセッションとともに送信する [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) 分類器のルールリストのうち、どれをそのセッションに到達させるかを指定します。`all`、`no-allow`、`none` のいずれかです。各値が何を適用するかについては、[auto モードのルールリスト](#auto-mode-rule-lists) を参照してください。無効な値を指定すると、ランナーはスタートアップ時に停止します。Claude Code v2.1.295 以降が必要です。 |

56| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | セッション終了後、Claude プロセスがクリーンに終了するまで待機する時間。強制終了する前に。子独自の `SessionEnd` フックがより多くの時間を必要とする場合は、値を上げてください。 |56| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | セッション終了後、Claude プロセスがクリーンに終了するまで待機する時間。強制終了する前に。子独自の `SessionEnd` フックがより多くの時間を必要とする場合は、値を上げてください。 |

57| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | 子が生成後 N 分以内に初期化されたことを通知していない場合、セッションスロットをリリースします。クローンは生成前に行われるため、クローン時間はカウントされません。通常の出力ではなく、[アクティビティチャネル](/docs/ja/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached) 上の子の初期化シグナルによってクリアされます。その後、`--release-idle-session-min` が引き継ぎます。`0` は無効にします。 |57| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | 子が N 分以内に初期化したことを [アクティビティチャネル](/docs/ja/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached) 上で通知しない場合、セッションスロットをリリースします。N 分はクローン後の生成時点から始まり、子が初期化するか状態を報告する前に出力する `user` または `assistant` メッセージごとにやり直しになります。v2.1.299 より前は、このタイムアウトはセッションの最初のそのようなメッセージの時点で適用されなくなっていました。初期化シグナル後のリリースについては、`--release-idle-session-min` を参照してください。`0` は無効にします。 |

58| `--trust-workspace [bool]` | `SELF_HOSTED_RUNNER_TRUST_WORKSPACE` | オン | 各セッションのリポジトリパスの永続化された信頼をシードします。リポジトリコミットされた `permissions.allow` と `additionalDirectories` が尊重されるようにします。`false` に設定して、リポジトリコミットされた権限付与をドロップし、代わりにホスト設定の `settings.json` で許可ルールを設定します。リポジトリコミットされた `sandbox.*` 設定はどちらの方法でも適用されます。これが [リポジトリ設定ガード](/docs/ja/self-hosted-environments-deploy#harden-your-deployment) がこのフラグに関係なくそれらをスキャンする理由です。 |58| `--trust-workspace [bool]` | `SELF_HOSTED_RUNNER_TRUST_WORKSPACE` | オン | 各セッションのリポジトリパスの永続化された信頼をシードします。リポジトリコミットされた `permissions.allow` と `additionalDirectories` が尊重されるようにします。`false` に設定して、リポジトリコミットされた権限付与をドロップし、代わりにホスト設定の `settings.json` で許可ルールを設定します。リポジトリコミットされた `sandbox.*` 設定はどちらの方法でも適用されます。これが [リポジトリ設定ガード](/docs/ja/self-hosted-environments-deploy#harden-your-deployment) がこのフラグに関係なくそれらをスキャンする理由です。 |

59| `--use-anthropic-git-proxy` | `CLAUDE_RUNNER_USE_GIT_PROXY=1` | オフ | 顧客管理の git 認証の代わりに [Anthropic git プロキシ](/docs/ja/self-hosted-environments-deploy#use-the-anthropic-git-proxy) 経由で github.com 上のリポジトリをクローンします。`--capacity 1` と git 2.32 以降が必要です。ランナーはそれ以外の場合は起動を拒否します。書き換えフラグに優先します。 |59| `--use-anthropic-git-proxy` | `CLAUDE_RUNNER_USE_GIT_PROXY=1` | オフ | 顧客管理の git 認証の代わりに [Anthropic git プロキシ](/docs/ja/self-hosted-environments-deploy#use-the-anthropic-git-proxy) 経由で github.com 上のリポジトリをクローンします。`--capacity 1` と git 2.32 以降が必要です。ランナーはそれ以外の場合は起動を拒否します。書き換えフラグに優先します。 |

60 60 


160 160 

161カスタムプローブでライブネスシグナルとして `last_poll_age_ms` を使用します。無限に増加する値は、ポーリングループがスタックしていることを示します。`last_poll_at` と `last_poll_age_ms` の両方は、最初のポーリングが完了するまで `null` です。161カスタムプローブでライブネスシグナルとして `last_poll_age_ms` を使用します。無限に増加する値は、ポーリングループがスタックしていることを示します。`last_poll_at` と `last_poll_age_ms` の両方は、最初のポーリングが完了するまで `null` です。

162 162 

163オーケストレーターはそのヘルスポートで独自の `/healthz` を提供します。そのエンドポイントは常に `200` を返し、ボディは最新のポーリングが成功したかどうかを報告する `connected` フィールドと、`queue_counts` のスポーン キュー数ごとの状態を持ちます。ステータスコードではなく `connected` でレディネスとアラートをゲートします。163オーケストレーター自身の `/healthz` は、そのヘルスポート上で常に `200` を返します。ボディには、最新のポーリングが成功したかどうかを報告する `connected` フィールドと、`queue_counts` 内の状態ごとのスポーンキュー数が含まれます。`connected` が `false` である理由を確認するには、トップレベルの `last_error` フィールドを参照してください。このフィールドはポーリングが成功するたびに `null` にリセットされます。ステータスコードではなく `connected` でレディネスとアラートをゲートします。

164 164 

165[SCM コネクタ](#scm-connector-flags) が設定されている場合、オーケストレーターの `/healthz` ボディは `scm_connector_connected` と、`connected`、`last_connected_at`、`last_error`、`reconnects`、`requests_forwarded` を持つ `scm_connector` オブジェクトも持ちます。`--scm-connector-host` が設定されていない場合、両方のフィールドは `null` です。165[SCM コネクタ](#scm-connector-flags) が設定されている場合、オーケストレーターの `/healthz` ボディは `scm_connector_connected` と、`connected`、`last_connected_at`、`last_error`、`reconnects`、`requests_forwarded` を持つ `scm_connector` オブジェクトも持ちます。`--scm-connector-host` が設定されていない場合、両方のフィールドは `null` です。

166 166 

Details

692| [`gcpAuthRefresh`](#gcpauthrefresh) | 独自のコマンドで [Google Cloud の認証情報](/docs/ja/google-vertex-ai#advanced-credential-configuration)を更新します | 認証とプロバイダー | Any file |692| [`gcpAuthRefresh`](#gcpauthrefresh) | 独自のコマンドで [Google Cloud の認証情報](/docs/ja/google-vertex-ai#advanced-credential-configuration)を更新します | 認証とプロバイダー | Any file |

693| [`hooks`](#hooks) | Claude Code のライフサイクルの各時点で、独自のコマンドを[フック](/docs/ja/hooks)として実行します | フックと自動化 | Any file |693| [`hooks`](#hooks) | Claude Code のライフサイクルの各時点で、独自のコマンドを[フック](/docs/ja/hooks)として実行します | フックと自動化 | Any file |

694| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | [HTTP フック](/docs/ja/hooks)がヘッダーに含められる環境変数を制限します | フックと自動化 | Any file |694| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | [HTTP フック](/docs/ja/hooks)がヘッダーに含められる環境変数を制限します | フックと自動化 | Any file |

695| [`idleCompaction`](#idlecompaction) | ターミナルセッションがアイドル状態の間に、Claude Code が長い会話を圧縮しないようにします | メモリとコンテキスト | Any file |

695| [`includeCoAuthoredBy`](#includecoauthoredby) | 非推奨です。コミットと PR の帰属表示を非表示にしたり変更したりするには `attribution` を使用してください | Git と帰属表示 | Any file |696| [`includeCoAuthoredBy`](#includecoauthoredby) | 非推奨です。コミットと PR の帰属表示を非表示にしたり変更したりするには `attribution` を使用してください | Git と帰属表示 | Any file |

696| [`includeGitInstructions`](#includegitinstructions) | 組み込みのコミットおよび PR の指示を Claude のコンテキストから除外します | Git と帰属表示 | Any file |697| [`includeGitInstructions`](#includegitinstructions) | 組み込みのコミットおよび PR の指示を Claude のコンテキストから除外します | Git と帰属表示 | Any file |

697| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Claude がユーザーの入力を待っているときに[プッシュ通知](/docs/ja/remote-control#mobile-push-notifications)を受け取ります | リモート、デスクトップ、通知 | Any file |698| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Claude がユーザーの入力を待っているときに[プッシュ通知](/docs/ja/remote-control#mobile-push-notifications)を受け取ります | リモート、デスクトップ、通知 | Any file |


1425 * `true`: 動的ワークフローが有効になっており、モデルが `xhigh` をサポートする場合、セッションは ultracode でオンで開始されます1426 * `true`: 動的ワークフローが有効になっており、モデルが `xhigh` をサポートする場合、セッションは ultracode でオンで開始されます

1426 * `false`: セッションは ultracode でオフで開始されます1427 * `false`: セッションは ultracode でオフで開始されます

1427* **デフォルト**: 設定解除されているため、ultracode はオフです1428* **デフォルト**: 設定解除されているため、ultracode はオフです

1428* **セッションごとのオーバーライド**: `/effort ultracode` はこのキーなしで 1 つのセッションで ultracode をオンにし、`/effort ultracode off` はこのキーが `true` の場合、1 つのセッションでそれをオフにします。`--effort ultracode` フラグも 1 つのセッションでそれをオンにし、`xhigh` 努力で、Claude Code v2.1.203 以降が必要です1429* **セッションごとの上書き**: `/effort ultracode` はこのキーなしで 1 つのセッションの ultracode をオンにし、`/effort ultracode off` はこのキーが `true` の場合に 1 つのセッションの ultracode をオフにします。`--effort ultracode` フラグも、1 つのセッションで `xhigh` effort にして ultracode をオンにします

1429 1430 

1430```json settings.json theme={null}1431```json settings.json theme={null}

1431{1432{


2952}2953}

2953```2954```

2954 2955 

2955手動の `/compact` コマンドは自動コンパクト化がオフの間も機能し続けます。2956手動の `/compact` コマンドは自動圧縮がオフの間も機能し続けます。自動圧縮をオフにすると、[アイドル圧縮](#idlecompaction)もオフになります。

2956 2957 

2957<h3 id="autocompactwindow">2958<h3 id="autocompactwindow">

2958 `autoCompactWindow`2959 `autoCompactWindow`


3133 * Claude Code の起動またはシンク方法を変更する変数。`CLAUDE_CODE_PROCESS_WRAPPER`、`CLAUDE_CODE_SYNC_SKILLS`、`CLAUDE_CODE_SYNC_PLUGINS`、`CLAUDE_CODE_PLUGIN_CACHE_DIR`、`CLAUDE_CODE_PLUGIN_SEED_DIR` など。3134 * Claude Code の起動またはシンク方法を変更する変数。`CLAUDE_CODE_PROCESS_WRAPPER`、`CLAUDE_CODE_SYNC_SKILLS`、`CLAUDE_CODE_SYNC_PLUGINS`、`CLAUDE_CODE_PLUGIN_CACHE_DIR`、`CLAUDE_CODE_PLUGIN_SEED_DIR` など。

3134 * 応答のないダイアログのタイマーを設定する変数: [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`、`CLAUDE_AFK_TIMEOUT_MS`、`CLAUDE_AFK_COUNTDOWN_MS`](/docs/ja/env-vars#variables)。3135 * 応答のないダイアログのタイマーを設定する変数: [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`、`CLAUDE_AFK_TIMEOUT_MS`、`CLAUDE_AFK_COUNTDOWN_MS`](/docs/ja/env-vars#variables)。

3135 * 添付ファイルの処理をオフにする [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](/docs/ja/env-vars#variables)。3136 * 添付ファイルの処理をオフにする [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](/docs/ja/env-vars#variables)。

3137 * Claude Code がファイルやディレクトリへの `@` メンションを展開しないようにする [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](/docs/ja/env-vars#variables)。

3136 3138 

3137 v2.1.251 より前は、プロジェクトおよびローカル設定は `HOME` と `XDG_CONFIG_HOME` を除き、このリストのうち Claude Code がファイルを書き込む場所を選択する変数、またはセッションコンテンツをエクスポートする変数も設定できました。v2.1.290 より前は、ダイアログのタイマー変数と `CLAUDE_CODE_DISABLE_ATTACHMENTS` も設定できました。3139 v2.1.251 より前は、プロジェクトおよびローカル設定は `HOME` と `XDG_CONFIG_HOME` を除き、このリストのうち Claude Code がファイルを書き込む場所を選択する変数、またはセッションコンテンツをエクスポートする変数も設定できました。v2.1.290 より前は、ダイアログのタイマー変数と `CLAUDE_CODE_DISABLE_ATTACHMENTS` も設定できました。

3138* Claude Code のホスティング環境が所有する `CLAUDE_CODE_REMOTE` や `CLAUDE_CODE_ACCOUNT_UUID` などのアイデンティティ変数は、すべてのファイルから無視されます。3140* Claude Code のホスティング環境が所有する `CLAUDE_CODE_REMOTE` や `CLAUDE_CODE_ACCOUNT_UUID` などのアイデンティティ変数は、すべてのファイルから無視されます。


3163 3165 

3164`-p` 実行または Agent SDK セッションでは、Claude Code はこのキーを無視します。SDK は `enableFileCheckpointing` オプションでチェックポイント作成をオンにし、ベアの `-p` 実行には `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true` が必要です。[Agent SDK でのファイルチェックポイント作成](/docs/ja/agent-sdk/file-checkpointing)を参照してください。3166`-p` 実行または Agent SDK セッションでは、Claude Code はこのキーを無視します。SDK は `enableFileCheckpointing` オプションでチェックポイント作成をオンにし、ベアの `-p` 実行には `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true` が必要です。[Agent SDK でのファイルチェックポイント作成](/docs/ja/agent-sdk/file-checkpointing)を参照してください。

3165 3167 

3168<h3 id="idlecompaction">

3169 `idleCompaction`

3170</h3>

3171 

3172アイドル時のコンテキスト圧縮(アイドル圧縮)は、離席している長い会話を、そのプロンプトキャッシュの有効期限が切れる少し前に[圧縮](/docs/ja/context-window#what-survives-compaction)します。これにより、次のメッセージでは会話全体ではなく要約が送信されます。戻ってくると、会話に `Compacted while idle, before the prompt cache expired` と表示されます。

3173 

3174アイドル圧縮は、次のすべての条件を満たす会話に対してデフォルトでオンになっています。

3175 

3176* **セッション**: インタラクティブなターミナルセッションを使用している

3177* **プロンプトキャッシュ**: 会話が[1 時間のプロンプトキャッシュ TTL](/docs/ja/prompt-caching#which-ttl-each-request-gets) を使用している

3178* **機能フラグ**: Claude Code が [Anthropic から機能フラグを取得](/docs/ja/env-vars#features-that-need-feature-flag-fetching)できる

3179* **サイズ**: 会話のコンテキストがトークンのしきい値に達している。しきい値はデフォルトの 200,000 から[変更](#change-the-idle-compaction-threshold)できます

3180* **アイドル時間**: 最後のリクエストから約 54 分が経過しており、その時点でコンピューターがスリープしていない

3181 

3182アイドル圧縮をオフにするには、このキーを `false` に設定します。

3183 

3184* **スコープ**: [`任意のファイル`](#scopes)

3185* **タイプ**: ブール値

3186 * `true`: Claude Code は条件を満たすアイドル状態の会話を圧縮します

3187 * `false`: Claude Code はセッションがアイドル状態の間に圧縮しません

3188* **デフォルト**: `true`

3189* **セッションごとの上書き**: [`DISABLE_AUTO_COMPACT`](/docs/ja/env-vars) は自動圧縮とともにアイドル圧縮もオフにします

3190 

3191```json settings.json theme={null}

3192{

3193 "idleCompaction": false

3194}

3195```

3196 

3197このキーには Claude Code v2.1.290 以降が必要です。このキーを無視する以前のバージョンでアイドル圧縮を停止するには、[`autoCompactEnabled`](#autocompactenabled) をオフにします。

3198 

3199<h4 id="change-the-idle-compaction-threshold">

3200 アイドル圧縮のしきい値を変更する

3201</h4>

3202 

3203[`CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS`](/docs/ja/env-vars) に、アイドル圧縮が適用されるために会話のコンテキストが達する必要のあるトークン数を設定します。正の整数を使用してください。`100000` 未満の値は、最小のしきい値である `100000` に引き上げられます。

3204 

3205デフォルトでは、200K のコンテキストウィンドウを使用する会話は 200,000 トークンに達する前に自動圧縮されます。この例では、しきい値を 150,000 に下げて、そのような会話も対象になるようにします。

3206 

3207```json settings.json theme={null}

3208{

3209 "env": {

3210 "CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS": "150000"

3211 }

3212}

3213```

3214 

3166<h3 id="plansdirectory">3215<h3 id="plansdirectory">

3167 `plansDirectory`3216 `plansDirectory`

3168</h3>3217</h3>


4209}4258}

4210```4259```

4211 4260 

4261[非対話モード](/docs/ja/headless) または Agent SDK でシステムプロンプトを置き換えると、このキーが `true` の場合でも、セッションはスナップショットなしで開始されます。

4262 

4263* **`-p` 実行**: [`--system-prompt`](/docs/ja/cli-reference#system-prompt-flags) または `--system-prompt-file` を渡すと、プロンプトが置き換えられます。[`--agent`](/docs/ja/sub-agents#invoke-subagents-explicitly) または [`agent`](#agent) 設定で選択した、独自のプロンプトを持つカスタムエージェントを実行した場合も、プロンプトが置き換えられます。[bare モード](/docs/ja/headless#start-faster-with-bare-mode) 以外でスナップショットを保持するには、カスタムエージェントなしで実行し、プロンプトを置き換える代わりに [`--append-system-prompt`](/docs/ja/cli-reference#system-prompt-flags) で指示を追加してください。

4264* **[Agent SDK](/docs/ja/agent-sdk/modifying-system-prompts)**: カスタムシステムプロンプトまたはカスタムのメインスレッドエージェントを使用すると、プロンプトが置き換えられます。システムプロンプトを設定しない場合、SDK は最小限のデフォルトを使用し、この場合もセッションはスナップショットなしで開始されます。[bare モード](/docs/ja/headless#start-faster-with-bare-mode) 以外でスナップショットを保持するには、カスタム `agent` なしで `claude_code` プリセットを使用してください。

4265 

4212<h3 id="prurltemplate">4266<h3 id="prurltemplate">

4213 `prUrlTemplate`4267 `prUrlTemplate`

4214</h3>4268</h3>


4697}4751}

4698```4752```

4699 4753 

4700GitHub エントリは、[オーナーワイルドカード形式](#owner-wildcards) `"owner/*"` を使用して、その GitHub オーナーの下のすべてのリポジトリをブロックできます。これには Claude Code v2.1.223 以降が必要です。`{ "source": "skills-dir" }` を追加して、Claude Code が `~/.claude/skills/` から [`@skills-dir` プラグイン](/docs/ja/plugins/loading#plugins-shared-through-a-repository)を読み込むのを停止し、マーケットプレイスを制限しません。[マネージドマーケットプレイス制限](/docs/ja/plugins/org#restrict-what-users-can-install)を参照してください。4754`github` エントリは、[オーナーワイルドカード形式](#owner-wildcards) `"owner/*"` を使用して、その GitHub オーナーの下のすべてのリポジトリをブロックできます。これには Claude Code v2.1.223 以降が必要です。`{ "source": "skills-dir" }` を追加すると、マーケットプレイスを制限せずに、Claude Code が `~/.claude/skills/` から [`@skills-dir` プラグイン](/docs/ja/plugins/loading#plugins-shared-through-a-repository)を読み込むのを停止できます。[管理マーケットプレイス制限](/docs/ja/plugins/org#restrict-what-users-can-install)を参照してください。

4701 4755 

4702<h3 id="channelsenabled">4756<h3 id="channelsenabled">

4703 `channelsEnabled`4757 `channelsEnabled`


4812| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` 必須; `headers` は認証アクセス用の HTTP ヘッダーを追加します |4866| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` 必須; `headers` は認証アクセス用の HTTP ヘッダーを追加します |

4813| `file` | `{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }` | `path` 必須、`marketplace.json` ファイルへの絶対パス |4867| `file` | `{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }` | `path` 必須、`marketplace.json` ファイルへの絶対パス |

4814| `directory` | `{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }` | `path` 必須、`.claude-plugin/marketplace.json` を含むディレクトリへの絶対パス |4868| `directory` | `{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }` | `path` 必須、`.claude-plugin/marketplace.json` を含むディレクトリへの絶対パス |

4815| `hostPattern` | `{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }` | `hostPattern` 必須、マーケットプレイスホストに対して一致する正規表現 |4869| `hostPattern` | `{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }` | `hostPattern` 必須、マーケットプレイスホストのどこかに一致する正規表現。ホスト全体に一致させるには `^` と `$` でアンカーします |

4816| `pathPattern` | `{ "source": "pathPattern", "pathPattern": "^/opt/approved/" }` | `pathPattern` 必須、`file` および `directory` ソースの `path` に対して一致する正規表現 |4870| `pathPattern` | `{ "source": "pathPattern", "pathPattern": "^/opt/approved/" }` | `pathPattern` 必須、`file` および `directory` ソースの `path` のどこかに一致する正規表現。プレフィックスを固定するには `^` で始めます |

4817| `skills-dir` | `{ "source": "skills-dir" }` | フィールドなし。`~/.claude/skills/` プラグインスキャンをオプトバックインします |4871| `skills-dir` | `{ "source": "skills-dir" }` | フィールドなし。`~/.claude/skills/` プラグインスキャンをオプトバックインします |

4818 4872 

48193 つのソースタイプはテーブルを超えたルールを持ちます:48733 つのソースタイプはテーブルを超えたルールを持ちます:


4852 4906 

4853| Rule | `strictKnownMarketplaces` | `blockedMarketplaces` |4907| Rule | `strictKnownMarketplaces` | `blockedMarketplaces` |

4854| - | - | - |4908| - | - | - |

4855| マッチングソーススペリング | `owner/repo` 形式のみ。同じリポジトリをクローンする git URL は一致しません | `github.com` リポジトリに解決する git URL を含む任意のスペリング |4909| 一致するソースの表記 | `owner/repo` 形式のみ。同じリポジトリをクローンする git URL は一致しません | 同じ github.com リポジトリに解決される git URL を含む任意の表記 |

4856| オーナーの大文字と小文字 | 大文字と小文字を区別します | 大文字と小文字を区別しません |4910| オーナーの大文字と小文字 | 大文字と小文字を区別します | 大文字と小文字を区別しません |

4857| `ref` | 正確なエントリルールに従います: `ref` を持つエントリはその正確な ref を持つソースのみと一致し、1 つを持たないエントリは ref を指定しないソースのみと一致します | `ref` を持たないエントリは、一致するリポジトリのすべての ref をブロックします |4911| `ref` | 正確なエントリルールに従います: `ref` を持つエントリはその正確な ref を持つソースのみと一致し、1 つを持たないエントリは ref を指定しないソースのみと一致します | `ref` を持たないエントリは、一致するリポジトリのすべての ref をブロックします |

4858| `path` | 正確なエントリルールより緩い: `path` を持つエントリはその正確な値を必要とし、1 つを持たないエントリはリポジトリ内のすべてのパスと一致します | `path` を持たないエントリは、一致するリポジトリのすべてのパスをブロックします |4912| `path` | 正確なエントリルールより緩い: `path` を持つエントリはその正確な値を必要とし、1 つを持たないエントリはリポジトリ内のすべてのパスと一致します | `path` を持たないエントリは、一致するリポジトリのすべてのパスをブロックします |


4966 `strictPluginOnlyCustomization.agents`5020 `strictPluginOnlyCustomization.agents`

4967</h3>5021</h3>

4968 5022 

4969`agents` サーフェスをロックします。Claude Code は `~/.claude/agents/` および `.claude/agents/` からのエージェントの読み込みを停止し、プラグインエージェント、組み込みエージェント、およびマネージドポリシーディレクトリ内のエージェントの読み込みを続けます。5023`agents` サーフェスをロックします。Claude Code は `~/.claude/agents/`、`.claude/agents/`、および `--add-dir` ディレクトリからのエージェントの読み込みを停止します。プラグインエージェント、組み込みエージェント、および管理ポリシーディレクトリ内のエージェントは引き続き読み込みます。

4970 5024 

4971* **Scope**: [`Managed`](#scopes)5025* **Scope**: [`Managed`](#scopes)

4972* **Type**: [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) 配列内の文字列 `"agents"`5026* **Type**: [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) 配列内の文字列 `"agents"`


5088 5142 

5089* **`github`**: GitHub リポジトリ、`repo` を使用5143* **`github`**: GitHub リポジトリ、`repo` を使用

5090* **`git`**: 任意の git URL、`url` を使用5144* **`git`**: 任意の git URL、`url` を使用

5091* **`url`**: `marketplace.json` ファイルへの直接 URL、`url` とオプションの `headers` および `headersHelper` を使用して認証アクセスします。`headersHelper` は値が短命すぎてリストできないヘッダーを出力するコマンドに名前を付け、Claude Code v2.1.238 以降が必要です5145* **`url`**: `marketplace.json` ファイルへの直接 URL、`url` と、認証アクセス用のオプションの `headers` および `headersHelper` を使用。`headersHelper` は、値の有効期間が短すぎて `headers` に列挙できないヘッダーを出力するコマンドを指定し、Claude Code v2.1.238 以降が必要です

5092* **`file`**: `marketplace.json` ファイルへのローカルパス、`path` を使用5146* **`file`**: `marketplace.json` ファイルへのローカルパス、`path` を使用

5093* **`directory`**: ローカルファイルシステムパス、`path` を使用。開発用、または組織が[各マシンにデプロイするマーケットプレイス](/docs/ja/plugins/mods/admin#install-your-organizations-mods)に使用します。5147* **`directory`**: ローカルファイルシステムパス、`path` を使用。開発用、または組織が[各マシンにデプロイするマーケットプレイス](/docs/ja/plugins/mods/admin#install-your-organizations-mods)に使用します。

5094* **`settings`**: ホストされたリポジトリなしで設定ファイルに直接宣言されたインラインマーケットプレイス、`name` および `plugins` を使用5148* **`settings`**: ホストされたリポジトリなしで設定ファイルに直接宣言されたインラインマーケットプレイス、`name` および `plugins` を使用


5099 5153 

5100`source` オブジェクト内の `skipLfs` フィールドは受け入れられ、効果がありません。v2.1.274 より前では、Claude Code は `"skipLfs": true` を設定しない限り LFS コンテンツをダウンロードしました。5154`source` オブジェクト内の `skipLfs` フィールドは受け入れられ、効果がありません。v2.1.274 より前では、Claude Code は `"skipLfs": true` を設定しない限り LFS コンテンツをダウンロードしました。

5101 5155 

5102URL ソースの場合、`headers` の認証情報が期限切れになり、コマンドが新しい認証情報を生成する必要がある場合は、`source` オブジェクト内に `headersHelper` を設定します。Claude Code v2.1.238 以降が必要です。コマンドが出力する必要があるもの、および Claude Code がそれを実行する場所については、[headersHelper コマンドを書く](/docs/ja/plugins/host-marketplace#write-the-headershelper-command)を参照してください。Claude Code が headersHelper コマンドをスキップするか、その出力をドロップする場合については、[Claude Code が headersHelper コマンドをスキップするか、その出力をドロップする場合](/docs/ja/plugins/host-marketplace#when-claude-code-skips-a-headershelper-command-or-drops-its-output)を参照してください。`https://` マーケットプレイス URL に `headersHelper` を設定すると、Claude Code は 2 つのポイントでコマンドを実行し、1 回の実行の出力を最大 60 秒間再利用します:5156`url` ソースの場合、`headers` の認証情報が期限切れになり、コマンドで新しい認証情報を生成する必要があるときは、`source` オブジェクト内に `headersHelper` を設定します。Claude Code v2.1.238 以降が必要です。コマンドが出力する必要があるもの、および Claude Code がそれを実行する場所については、[headersHelper コマンドを書く](/docs/ja/plugins/host-marketplace#write-the-headershelper-command)を参照してください。Claude Code がコマンドを実行しない場合については、[Claude Code が headersHelper コマンドをスキップする場合](/docs/ja/plugins/host-marketplace#when-claude-code-skips-a-headershelper-command-or-drops-its-output)を参照してください。`https://` マーケットプレイス URL に `headersHelper` を設定すると、Claude Code は 2 つの時点でコマンドを実行し、1 回の実行の出力を最大 60 秒間再利用します:

5103 5157 

5104* そのマーケットプレイスの `marketplace.json` の各フェッチの前(後続のリフレッシュを含む)。Claude Code はそのフェッチで出力されたヘッダーを送信します。5158* そのマーケットプレイスの `marketplace.json` の各フェッチの前(後続のリフレッシュを含む)。Claude Code はそのフェッチで出力されたヘッダーを送信します。

5105* マーケットプレイス URL のオリジン上の各プラグインアーカイブダウンロードの前。つまり、同じスキーム、ホスト、ポート。Claude Code はそのダウンロードで出力を送信し、他のダウンロードはヘッダーを取得しません。5159* マーケットプレイス URL のオリジン上の各プラグインアーカイブダウンロードの前。つまり、同じスキーム、ホスト、ポート。Claude Code はそのダウンロードで出力を送信し、他のダウンロードはヘッダーを取得しません。


5175 5229 

5176組み込みプラグインは、`@builtin` サフィックス付きで同じキーの下にオプションを保存します。たとえば、Claude Code が `AGENTS.md` ファイルを読み込むかどうかを制御する [**Project instructions**](/docs/ja/memory#choose-which-instruction-files-load) 設定は `pluginConfigs["cc-plugin-agents-md@builtin"].options.instructionFiles` です。v2.1.285 より前では、このプラグインの ID は `agents-md@builtin` でした。それ以降のバージョンは、どちらの ID の下のエントリも読み込みます。5230組み込みプラグインは、`@builtin` サフィックス付きで同じキーの下にオプションを保存します。たとえば、Claude Code が `AGENTS.md` ファイルを読み込むかどうかを制御する [**Project instructions**](/docs/ja/memory#choose-which-instruction-files-load) 設定は `pluginConfigs["cc-plugin-agents-md@builtin"].options.instructionFiles` です。v2.1.285 より前では、このプラグインの ID は `agents-md@builtin` でした。それ以降のバージョンは、どちらの ID の下のエントリも読み込みます。

5177 5231 

5178Claude Code はプロジェクトおよびローカルエントリを無視します。これらの値をプラグインフック、MCP、および LSP 設定に置き換えるため、クローンされたリポジトリはそれらを提供できません。v2.1.207 より前では、プロジェクトおよびローカル設定も読まれていました。5232Claude Code はこれらの値をプラグインのフック、MCP、および LSP の設定に代入するため、クローンされたリポジトリがそれらを提供できてはならず、プロジェクトおよびローカルのエントリを無視します。

5179 5233 

5180<h3 id="prependplugins">5234<h3 id="prependplugins">

5181 `prependPlugins`5235 `prependPlugins`


5680}5734}

5681```5735```

5682 5736 

5683git リポジトリの外では、失敗する [`WorktreeCreate` フック](/docs/ja/worktrees#non-git-version-control)がブロックを解放し、セッションが作業ディレクトリをその場で編集できるようにします。その解放には Claude Code v2.1.203 以降が必要です。5737git リポジトリの外では、失敗する [`WorktreeCreate` フック](/docs/ja/worktrees#non-git-version-control)がブロックを解放し、セッションが作業ディレクトリをその場で編集できるようにします。

5684 5738 

5685<h3 id="worktree-location">5739<h3 id="worktree-location">

5686 `worktree.location`5740 `worktree.location`

setup.md +1 −1

Details

226 226 

227`claude doctor` を実行して、最新の更新試行の結果を確認します。227`claude doctor` を実行して、最新の更新試行の結果を確認します。

228 228 

229macOS と Linux では、ネイティブインストーラーは `~/.local/bin/claude` のランチャーを `~/.local/share/claude/versions/` へのシンボリックリンクとして管理します。そのランチャーを独自のスクリプトまたはシンボリックリンクに置き換えた場合、自動更新と `claude update` はそれをそのまま保持します。新しいバージョンは引き続き `versions/` ディレクトリの下にインストールされ、ランチャーはどのバージョンを実行するかを決定します。v2.1.207 より前では、自動アップデーターは毎回の更新時にそのパスのカスタムランチャーを独自のシンボリックリンクに置き換えていました。229macOS と Linux では、ネイティブインストーラーは `~/.local/bin/claude` のランチャーを `~/.local/share/claude/versions/` へのシンボリックリンクとして管理します。そのランチャーを独自のスクリプトまたはシンボリックリンクに置き換えた場合、自動更新と `claude update` はそれをそのまま保持します。新しいバージョンは引き続き `versions/` ディレクトリの下にインストールされ、ランチャーはどのバージョンを実行するかを決定します。

230 230 

231カスタムランチャーを使用する場合、Claude Code はランチャーがどのバージョンを必要とするかを判断できないため、インストール済みのすべてのバージョンをディスク上に保持します。`claude doctor` はネイティブインストーラーが作成しなかったランチャーを報告します。231カスタムランチャーを使用する場合、Claude Code はランチャーがどのバージョンを必要とするかを判断できないため、インストール済みのすべてのバージョンをディスク上に保持します。`claude doctor` はネイティブインストーラーが作成しなかったランチャーを報告します。

232 232 

skills.md +112 −89

Details

31バンドルされたスキルをオフにするには、[`disableBundledSkills`](/docs/ja/settings-reference#disablebundledskills) 設定を使用します。31バンドルされたスキルをオフにするには、[`disableBundledSkills`](/docs/ja/settings-reference#disablebundledskills) 設定を使用します。

32 32 

33<Note>33<Note>

34 [`/doctor`](/docs/ja/commands#all-commands) セットアップチェックアップは、Claude Code v2.1.205 以降で `disableBundledSkills` がオンの場合でも入力可能なままです。これを非表示にするには、`DISABLE_DOCTOR_COMMAND` 環境変数を設定するか、[`skillOverrides`](#override-skill-visibility-from-settings) エントリ `"doctor": "off"` を設定します。v2.1.205 より前では、`/doctor` はバンドルされたスキルではなく組み込みコマンドでした。34 [`/doctor`](/docs/ja/commands#all-commands) セットアップチェックアップは、`disableBundledSkills` がオンの場合でも入力可能なままです。これを非表示にするには、`DISABLE_DOCTOR_COMMAND` 環境変数を設定するか、[`skillOverrides`](#override-skill-visibility-from-settings) エントリ `"doctor": "off"` を設定します。

35</Note>35</Note>

36 36 

37バンドルされたスキルは、[コマンドリファレンス](/docs/ja/commands) に組み込みコマンドと一緒にリストされており、目的列に **Skill** とマークされています。37バンドルされたスキルは、[コマンドリファレンス](/docs/ja/commands) に組み込みコマンドと一緒にリストされており、目的列に **Skill** とマークされています。


69 69 

70`/verify` は独自のレシピを記録することもできます。記録されたレシピなしでアプリをビルドして駆動する必要がある場合、機能した内容をリポジトリルートの `.claude/skills/verify/SKILL.md`、またはモノレポの場合は変更されたパッケージディレクトリに書き込みます。これにより、後の実行や他のエージェントも同じステップに従います。リポジトリルートでは、記録されたスキルがバンドルスキルの `/verify` を置き換えます。70`/verify` は独自のレシピを記録することもできます。記録されたレシピなしでアプリをビルドして駆動する必要がある場合、機能した内容をリポジトリルートの `.claude/skills/verify/SKILL.md`、またはモノレポの場合は変更されたパッケージディレクトリに書き込みます。これにより、後の実行や他のエージェントも同じステップに従います。リポジトリルートでは、記録されたスキルがバンドルスキルの `/verify` を置き換えます。

71 71 

72Claude は、失敗したコマンドや欠落したステップなど、実行を誤った場合にのみ記録されたファイルを編集するため、セッションごとの差分なしでファイルをコミットできます。v2.1.205 より前では、バンドルされたスキルは Claude に実行から学んだことをすべて折り込むよう指示し、頻繁なマージコンフリクトを引き起こしていました。72Claude は、失敗したコマンドや欠落したステップなど、実行を誤った場合にのみ記録されたファイルを編集するため、セッションごとの差分なしでファイルをコミットできます。

73 73 

74<h3 id="run-your-checks-before-each-commit">74<h3 id="run-your-checks-before-each-commit">

75 各コミットの前にチェックを実行する75 各コミットの前にチェックを実行する


183* **シンボリックリンク付きフォルダ**: enterprise、personal、または project の場所の `<skill-name>` エントリは、ディスク上の別の場所へのシンボリックリンクにすることができます。Claude Code は、複数の場所が同じターゲットを指している場合でも、ターゲットから `SKILL.md` を読み込み、スキルを 1 回だけ読み込みます。プラグインスキルは [シンボリックリンクを異なる方法で処理します](/docs/ja/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)。183* **シンボリックリンク付きフォルダ**: enterprise、personal、または project の場所の `<skill-name>` エントリは、ディスク上の別の場所へのシンボリックリンクにすることができます。Claude Code は、複数の場所が同じターゲットを指している場合でも、ターゲットから `SKILL.md` を読み込み、スキルを 1 回だけ読み込みます。プラグインスキルは [シンボリックリンクを異なる方法で処理します](/docs/ja/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)。

184* **予約名 `synced`**: スキルフォルダに `synced` という名前を付けないでください。大文字小文字は問いません。Claude Code は `~/.claude/skills/synced/` を [claude.ai からダウンロードされたスキル](#where-synced-skills-load) に使用し、enterprise、personal、および project の場所でこの名前で作成したスキルをスキップします。184* **予約名 `synced`**: スキルフォルダに `synced` という名前を付けないでください。大文字小文字は問いません。Claude Code は `~/.claude/skills/synced/` を [claude.ai からダウンロードされたスキル](#where-synced-skills-load) に使用し、enterprise、personal、および project の場所でこの名前で作成したスキルをスキップします。

185* **予約名 `anthropic-skills`**: プラグイン外では、`anthropic-skills` という名前のスキルフォルダまたはコマンドファイル、または `anthropic-skills:` で始まるものは読み込まれません。[同期されたスキル用に予約された名前](#names-reserved-for-synced-skills) を参照してください。185* **予約名 `anthropic-skills`**: プラグイン外では、`anthropic-skills` という名前のスキルフォルダまたはコマンドファイル、または `anthropic-skills:` で始まるものは読み込まれません。[同期されたスキル用に予約された名前](#names-reserved-for-synced-skills) を参照してください。

186* **名前に含まれる文字**: プラグイン外では、ゼロ幅スペースや `<` などの文字を名前に含むスキルフォルダは読み込まれません。[スキル名に使用できない文字](#characters-a-skill-name-cant-hold) を参照してください。

186* **コマンドファイル**: `.claude/commands/` 内の Markdown ファイルは古い形式ですが、まだ機能します。`name` と `paths` を除く同じ [frontmatter](#frontmatter-reference) をサポートしています。それを呼び出すために入力するコマンド名を見つけるには、[スキルがコマンド名を取得する方法](#how-a-skill-gets-its-command-name) を参照してください。新しい作業にはスキルを使用してください。スキルは [サポートファイル](#add-supporting-files) もサポートしているためです。187* **コマンドファイル**: `.claude/commands/` 内の Markdown ファイルは古い形式ですが、まだ機能します。`name` と `paths` を除く同じ [frontmatter](#frontmatter-reference) をサポートしています。それを呼び出すために入力するコマンド名を見つけるには、[スキルがコマンド名を取得する方法](#how-a-skill-gets-its-command-name) を参照してください。新しい作業にはスキルを使用してください。スキルは [サポートファイル](#add-supporting-files) もサポートしているためです。

187* **プラグインとしてのスキルフォルダ**: `.claude-plugin/plugin.json` をスキルフォルダに追加すると、`<name>@skills-dir` という名前の [プラグイン](/docs/ja/plugins/loading#plugins-shared-through-a-repository) として読み込まれます。これにより、エージェント、hooks、および MCP サーバーをバンドルできます。プロジェクトの `.claude/skills/` では、最初にワークスペーストラストダイアログを受け入れる必要があります。188* **プラグインとしてのスキルフォルダ**: `.claude-plugin/plugin.json` をスキルフォルダに追加すると、`<name>@skills-dir` という名前の [プラグイン](/docs/ja/plugins/loading#plugins-shared-through-a-repository) として読み込まれます。これにより、エージェント、hooks、および MCP サーバーをバンドルできます。プロジェクトの `.claude/skills/` では、最初にワークスペーストラストダイアログを受け入れる必要があります。

188 189 


495 496 

496プラグインルート `SKILL.md` の場合、スキルディレクトリがないため、`name` は最後のセグメント全体を提供します。`name` フィールドがない場合、Claude Code はプラグインのディレクトリ名にフォールバックします。497プラグインルート `SKILL.md` の場合、スキルディレクトリがないため、`name` は最後のセグメント全体を提供します。`name` フィールドがない場合、Claude Code はプラグインのディレクトリ名にフォールバックします。

497 498 

499<h4 id="characters-a-skill-name-cant-hold">

500 スキル名に使用できない文字

501</h4>

502 

503スキルやカスタムコマンドが `/` メニューに表示されない場合、またはメニューにスキルのフロントマター `name` が表示されない場合は、名前を確認してください。Claude Code は、次のような文字を含むコマンド名やフロントマター `name` を拒否します。

504 

505* ゼロ幅スペースまたは制御文字

506* アイコンフォントのグリフなど、私用領域の文字または未割り当ての文字

507* 周囲のテキストの方向を変える文字

508* 単語間の通常のスペース 1 つ以外の空白(ノーブレークスペース、連続する 2 つのスペース、先頭または末尾のスペースなど)

509* `<` または `>`

510 

511Claude Code がディレクトリ名またはファイル名を拒否した場合、そのカスタムコマンドまたはスキルは読み込まれません。そのフォルダまたはファイルの名前を変更して、これらの文字を削除してください。これらの文字がプラグインのスキルフォルダの名前またはフロントマター `name` にのみ含まれる場合、スキルは引き続き読み込まれます。

512 

513* **プラグインの `skills/` ディレクトリ内、またはマニフェストの [`skills` パス](/docs/ja/plugins/components#skills) 内のフォルダ**:フォルダの名前を変更する必要はありません。これらの文字はスキルのコマンド名ではハイフンになるため、ハイフンを使ってコマンドを入力してください。

514* **フロントマター `name`**:`/` メニューに `name` の値は表示されず、それを入力してもスキルは呼び出されません。`name:` 行を編集してこれらの文字を削除してください。

515 

516Claude Code がどの名前を拒否したかを確認するには、シェルから [`claude --debug`](/docs/ja/cli-reference#cli-flags) で起動し、[デバッグログ](/docs/ja/debug-your-config) で `[names]` を検索します。対話型セッションでは、[起動時の通知](/docs/ja/errors#skill-or-command-name-refused) でも名前が拒否されたことが示されます。名前の変更または `name:` の編集後は、ファイルが Claude Code が [変更を監視している](#live-change-detection) ディレクトリにある場合を除き、セッションを再起動してください。

517 

498<h4 id="available-string-substitutions">518<h4 id="available-string-substitutions">

499 利用可能な文字列置換519 利用可能な文字列置換

500</h4>520</h4>


734 動的コンテキストを注入する754 動的コンテキストを注入する

735</h3>755</h3>

736 756 

737`` !`<command>` `` 構文は、スキルコンテンツが Claude に送信される前にシェルコマンドを実行します。コマンド出力がプレースホルダーを置き換えるため、Claude はコマンド自体ではなく実際のデータを受け取ります。Claude Code は、スキルが [claude.ai アカウントから同期される](#how-claude-code-handles-the-body-of-a-synced-skill) 場合、マシン上でこれらのコマンドを実行しません。この制限には Claude Code v2.1.228 以降が必要です。757`` !`<command>` `` 構文は、スキルの内容が Claude に送信される前にシェルコマンドを実行します。コマンドの出力がプレースホルダーを置き換えるため、Claude はコマンドそのものではなく実際のデータを受け取ります。スキルが [claude.ai アカウントから同期](#how-claude-code-handles-the-body-of-a-synced-skill)されている場合、Claude Code はこれらのコマンドをユーザーのマシン上で実行しません。この制限には Claude Code v2.1.228 以降が必要です。

738 758 

739このスキルは GitHub CLI を使用してライブ PR データを取得することで、プルリクエストを要約します。`` !`gh pr diff` `` およびその他のコマンドが最初に実行され、その出力がプロンプトに挿入されます。759次のスキルは、GitHub CLI でライブの PR データを取得してプルリクエストを要約します。`` !`gh pr diff` `` などのコマンドが最初に実行され、その出力がプロンプトに挿入されます。

740 760 

741```yaml theme={null}761```yaml theme={null}

742---762---


756Summarize this pull request...776Summarize this pull request...

757```777```

758 778 

759置換は元のファイルに対して 1 回実行されます。コマンド出力はプレーンテキストとして挿入され、さらに `` !`<command>` `` プレースホルダーについて再スキャンされないため、コマンドは後の処理で展開するプレースホルダーを出力することはできません。779置換は元のファイルに対して 1 回だけ実行されます。コマンドの出力はプレーンテキストとして挿入され、さらに `` !`<command>` `` プレースホルダーがないか再スキャンされることはありません。そのため、コマンドが後続のパスで展開されるプレースホルダーを出力することはできません。

760 780 

761インライン形式は、`!` が行の開始時または空白の直後に表示される場合にのみ認識されます。`` KEY=!`cmd` `` のように `!` が別の文字の後に続く場合、プレースホルダーはリテラルテキストとして残され、コマンドは実行されません。781インライン形式は、`!` が行頭または空白の直後にある場合にのみ認識されます。`` KEY=!`cmd` `` のように `!` が別の文字の後に続く場合、プレースホルダーはリテラルテキストとして残され、コマンドは実行されません。

762 782 

763複数行のコマンドの場合、インライン形式の代わりに ` ```! ` で開かれたフェンスコードブロックを使用します。783複数行のコマンドには、インライン形式の代わりに ` ```! ` で開始するフェンス付きコードブロックを使用します。

764 784 

765````markdown theme={null}785````markdown theme={null}

766## Environment786## Environment


770```790```

771````791````

772 792 

773ユーザー、プロジェクト、プラグイン、または [additional-directory](#skills-from-additional-directories) ソースからのスキルおよびカスタムコマンドについてこの動作を無効にするには、[settings](/docs/ja/settings) で `"disableSkillShellExecution": true` を設定します。各コマンドは実行される代わりに `[shell command execution disabled by policy]` に置き換えられます。バンドルされたスキルと管理されたスキルは影響を受けません。この設定は [managed settings](/docs/ja/managed-settings) で最も有用です。ここではユーザーはそれをオーバーライドできません。793ユーザー、プロジェクト、プラグイン、または[追加ディレクトリ](#skills-from-additional-directories)をソースとするスキルとカスタムコマンドでこの動作を無効にするには、[設定](/docs/ja/settings)で `"disableSkillShellExecution": true` を設定します。各コマンドは実行される代わりに `[shell command execution disabled by policy]` に置き換えられます。バンドルスキルと管理スキルは影響を受けません。この設定は、ユーザーが上書きできない[管理設定](/docs/ja/managed-settings)で使用すると特に効果的です。

774 794 

775Claude Code は、[claude.ai アカウントから同期されたスキル](#how-claude-code-handles-the-body-of-a-synced-skill) に表示されるコマンドをマシン上で実行することはありません。この制限には Claude Code v2.1.228 以降が必要です。[Claude Code がどのように同期されたスキルの本体を処理するか](#how-claude-code-handles-the-body-of-a-synced-skill) は、各種セッションで Claude が受け取るコマンドの代わりになるものを説明しています。795この設定に関係なく、[claude.ai アカウントから同期](#how-synced-skills-behave)されたスキルにこれらのコマンドが含まれている場合、Claude Code がユーザーのマシン上でそれらを実行することはありません。この制限には Claude Code v2.1.228 以降が必要です。各種セッションで Claude がコマンドの代わりに何を受け取るかについては、[同期されたスキルの本文を Claude Code がどのように扱うか](#how-claude-code-handles-the-body-of-a-synced-skill)を参照してください。

776 796 

777<Tip>797<Tip>

778 スキルが実行されるときにより深い推論をリクエストするには、スキルコンテンツの任意の場所に `ultrathink` を含めます。[1 回限りの深い推論に ultrathink を使用する](/docs/ja/model-config#use-ultrathink-for-one-off-deep-reasoning) を参照してください。798 スキルの実行時により深い推論を求めるには、スキルの内容のどこかに `ultrathink` を含めます。[一回限りの深い推論に ultrathink を使用する](/docs/ja/model-config#use-ultrathink-for-one-off-deep-reasoning)を参照してください。

779</Tip>799</Tip>

780 800 

781<h4 id="how-injected-commands-run">801<h4 id="how-injected-commands-run">

782 注入されたコマンドがどのように実行されるか802 注入されたコマンドの実行方法

783</h4>803</h4>

784 804 

785Claude Code は、スキルのフロントマターの `shell` キーと環境からスキルの注入されたコマンドを実行するツールを選択します。すべての組み合わせはコマンドを Bash ツールまたは PowerShell ツールを通じて実行します。ただし、呼び出しを完全に失敗させる 1 つの組み合わせを除きます。805Claude Code は、スキルのフロントマターの `shell` キーとユーザーの環境から、スキルの注入されたコマンドを実行するツールを選択します。どの組み合わせでもコマンドは Bash ツールまたは PowerShell ツールを通じて実行されますが、呼び出しが即座に失敗する組み合わせが 1 つだけあります。

786 806 

787* `shell: powershell`、[PowerShell ツール](/docs/ja/tools-reference#powershell-tool) が有効な場合:コマンドは PowerShell ツールを通じて実行されます。807* `shell: powershell` で、[PowerShell ツール](/docs/ja/tools-reference#powershell-tool)が有効な場合: コマンドは PowerShell ツールを通じて実行されます。

788* `shell: bash` で bash が利用できない場合:コマンドが実行される前に呼び出しが失敗します。これは Git Bash のない Windows で発生します。Claude Code は ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` を表示します。808* `shell: bash` で bash が利用できない場合: コマンドが実行される前に呼び出しが失敗します。これは Git Bash のない Windows で発生します。Claude Code は ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` と表示します。

789* その他の組み合わせ:bash が利用可能な場合、コマンドは Bash ツールを通じて実行されます。利用できない場合、PowerShell ツールを通じて実行されます。809* その他の組み合わせ: bash が利用できる場合、コマンドは Bash ツールを通じて実行されます。利用できない場合は PowerShell ツールを通じて実行されます。

790 810 

791どちらのツールも、Claude 独自のシェルコマンドを実行するのと同じ方法でコマンドを実行します。これらは作業ディレクトリ、タイムアウト、および出力処理を共有します。811どちらのツールも、Claude 自身のシェルコマンドを実行するのと同じ方法でコマンドを実行します。作業ディレクトリ、タイムアウト、出力の処理は共通です。

792 812 

793* **作業ディレクトリ**:Claude Code は各コマンドをセッションシェルの現在の作業ディレクトリで実行します。Claude が `cd` を実行するとそのディレクトリが移動します。毎回同じ方法で解決する必要があるパスで [`${CLAUDE_SKILL_DIR}` または `${CLAUDE_PROJECT_DIR}`](#available-string-substitutions) を使用します。813* **作業ディレクトリ**: Claude Code は各コマンドをセッションのシェルの現在の作業ディレクトリで実行します。このディレクトリは Claude が `cd` を実行すると移動します。毎回同じように解決される必要があるパスには [`${CLAUDE_SKILL_DIR}` または `${CLAUDE_PROJECT_DIR}`](#available-string-substitutions) を使用してください。

794* **stderr**:デフォルトの `bash` シェルでは、Claude Code は stderr を stdout にマージします。コマンドが stderr に書き込むすべてのものが注入されたテキストに表示されます。814* **stderr**: デフォルトの `bash` シェルでは、Claude Code は stderr を stdout にマージします。コマンドが stderr に書き込んだ内容はすべて、注入されるテキストに表示されます。

795* **タイムアウト**:各コマンドは Bash ツールのデフォルト 2 分 [timeout](/docs/ja/tools-reference#timeout-and-output-limits) の下で実行されます。Bash ツールが [タイムアウトしたコマンドをバックグラウンドに移動](/docs/ja/tools-reference#foreground-commands-that-move-to-the-background) する場合、スキルは引き続きレンダリングされます。注入されたテキストは移動を報告し、バックグラウンドタスクとコマンドの出力を収集するファイルに名前を付けます。コマンドが Bash ツールが自動的にバックグラウンドに移動しないコマンドの場合、Claude Code はタイムアウト時にそれを強制終了します。その失敗は [呼び出しを中止します](#when-an-injected-command-fails)。815* **タイムアウト**: 各コマンドは Bash ツールのデフォルトの 2 分の[タイムアウト](/docs/ja/tools-reference#timeout-and-output-limits)の下で実行されます。Bash ツールが[タイムアウトしたコマンドをバックグラウンドに移動](/docs/ja/tools-reference#foreground-commands-that-move-to-the-background)した場合でも、スキルはレンダリングされます。注入されるテキストにはその移動が報告され、バックグラウンドタスクとコマンドの出力を収集しているファイルの名前が示されます。Bash ツールが自動的にバックグラウンドに移動することのないコマンドの場合、Claude Code はタイムアウト時にそのコマンドを終了させます。この失敗は[呼び出しを中止します](#when-an-injected-command-fails)。

796* **出力サイズ**:Bash ツールのインライン上限を超える出力は、切り詰められたテキストではなく、ファイルパスと短いプレビューとして到着します。[出力制限](/docs/ja/tools-reference#output-limits) は上限とそれぞれの境界を調整する方法をカバーしています。816* **出力サイズ**: Bash ツールのインライン上限を超える出力は、切り詰められたテキストではなく、ファイルパスと短いプレビューとして届きます。上限と各境界の調整方法については[出力の制限](/docs/ja/tools-reference#output-limits)を参照してください。

797 817 

798PowerShell ツールは、実行するコマンドに同じタイムアウト、バックグラウンド処理、および出力上限の動作を適用します。その詳細については、[PowerShell ツール](/docs/ja/tools-reference#powershell-tool) セクションを参照してください。818PowerShell ツールも、実行するコマンドに同じタイムアウト、バックグラウンド移動、出力上限の動作を適用します。詳細については [PowerShell ツール](/docs/ja/tools-reference#powershell-tool)のセクションを参照してください。

799 819 

800<h4 id="when-an-injected-command-fails">820<h4 id="when-an-injected-command-fails">

801 注入されたコマンドが失敗する場合821 注入されたコマンドが失敗した場合

802</h4>822</h4>

803 823 

804失敗したコマンドは、スキル全体の呼び出しを中止します。独自のプレースホルダーだけではありません。Claude はその呼び出しのスキルコンテンツを見ることはありません。中止は `Shell command failed for pattern "..."` を表示します。エラーメッセージには `[stderr]` の下のコマンドの出力が含まれます。824コマンドが失敗すると、そのプレースホルダーだけでなくスキルの呼び出し全体が中止されます。その呼び出しでは、Claude がスキルの内容を目にすることはありません。中止時には `Shell command failed for pattern "..."` と表示されます。エラーメッセージには、`[stderr]` の下にコマンドの出力が含まれます。

805 825 

806デフォルトの `bash` シェルでは、ゼロ以外の終了コードはすべて失敗としてカウントされます。1 つの例外が適用されます。Claude Code は [検索および比較コマンド](/docs/ja/tools-reference#output-limits) からの終了コード 1 を通常の結果として扱い、その出力を注入します。終了コード 2 以上はこれらのコマンドでも失敗します。826デフォルトの `bash` シェルでは、0 以外の終了コードはすべて失敗とみなされます。ただし例外が 1 つあります。Claude Code は[検索コマンドと比較コマンド](/docs/ja/tools-reference#output-limits)からの終了コード 1 を通常の結果として扱い、その出力を注入します。これらのコマンドでも、終了コードが 2 以上の場合は失敗となります。

807 827 

808どのコマンドが例外を取得するかはシェルによって異なります。828どのコマンドがこの例外の対象になるかはシェルによって異なります。

809 829 

810* デフォルト `bash` シェル:[出力制限](/docs/ja/tools-reference#output-limits) の下にリストされているコマンド830* デフォルトの `bash` シェル: [出力の制限](/docs/ja/tools-reference#output-limits)に記載されているコマンド

811* `shell: powershell`、PowerShell ツールが有効な場合:`grep` と `git diff` を含むが `find` や `diff` は含まない [異なるセット](/docs/ja/tools-reference#shell-selection-in-settings-hooks-and-skills)831* `shell: powershell` で PowerShell ツールが有効な場合: `grep` と `git diff` を含み、`find` と `diff` を含まない[別のセット](/docs/ja/tools-reference#shell-selection-in-settings-hooks-and-skills)

812 832 

813デフォルトの `bash` シェルでは、ゼロ以外で終了することが予想される他のコマンドに `|| true` を追加します。問題を見つけたときに 1 で終了するチェックスクリプトは 1 つの例です。833デフォルトの `bash` シェルでは、0 以外で終了することが想定されるその他のコマンドには `|| true` を追加してください。問題を検出したときに 1 で終了するチェックスクリプトがその一例です。

814 834 

815<h4 id="permission-checks-on-injected-commands">835<h4 id="permission-checks-on-injected-commands">

816 注入されたコマンドの権限チェック836 注入されたコマンドの権限チェック

817</h4>837</h4>

818 838 

819注入されたコマンドは、スキルのレンダリング中に権限を求めるプロンプトを表示することはありません。Claude Code は最初に [権限ルール](/docs/ja/permissions) に対して各コマンドをチェックします。deny ルールが一致するコマンドは `Shell command permission check failed for pattern "..."` で呼び出しを中止します。839注入されたコマンドは、スキルのレンダリング中に権限を求めることはありません。Claude Code はまず各コマンドを[権限ルール](/docs/ja/permissions)と照合します。拒否ルールに一致するコマンドは、`Shell command permission check failed for pattern "..."` で呼び出しを中止します。

820 840 

821[auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) 以外では、コマンドの権限チェックが allow 以外を返す場合、Claude Code は同じエラーで呼び出しを中止します。これには通常はユーザーに確認を求めるルールも含まれます。一致しないコマンドがここで中止されるのを防ぐには、[`allowed-tools`](#pre-approve-tools-for-a-skill) で事前に承認します。組織が権限ルールを管理設定に制限している場合は、[管理された権限ルールのみが適用される場合](#when-only-managed-permission-rules-apply) を参照してください。拒否ルールと確認ルールは引き続き `allowed-tools` より優先されます。[権限を管理する](/docs/ja/permissions#manage-permissions) を参照してください。841[auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)以外では、コマンドの権限チェックが許可以外の結果を返した場合、Claude Code は同じエラーで呼び出しを中止します。これには、通常であればユーザーに確認を求めるルールも含まれます。一致しないコマンドがここで中止されないようにするには、[`allowed-tools`](#pre-approve-tools-for-a-skill) で事前に承認してください。組織が権限ルールを管理設定に限定している場合は、[管理された権限ルールのみが適用される場合](#when-only-managed-permission-rules-apply)を参照してください。拒否ルールと確認ルールは引き続き `allowed-tools` より優先されます。[権限を管理する](/docs/ja/permissions#manage-permissions)を参照してください。

822 842 

823auto mode では、そうでなければあなたの承認が必要なコマンドは呼び出しを中止しません。スキルは Claude にコマンドを最初に実行するよう指示して読み込まれ、Claude 独自の呼び出しは [auto mode の通常のチェック](/docs/ja/permission-modes#how-the-classifier-evaluates-actions) を通じて進みます。呼び出しは、`agent` を設定する [フォークされたスキル](#run-skills-in-a-subagent) でも、Claude が [注入されたコマンドを実行するシェルツール](#how-injected-commands-run) を持たないセッションでも中止されます。843auto モードでは、本来ユーザーの承認が必要なコマンドでも呼び出しは中止されません。スキルは、最初にそのコマンドを実行するよう Claude に指示する内容とともに読み込まれ、Claude 自身による呼び出しは [auto モードの通常のチェック](/docs/ja/permission-modes#how-the-classifier-evaluates-actions)を経由します。ただし、`agent` を設定する[フォークされたスキル](#run-skills-in-a-subagent)や、Claude が[注入されたコマンドを実行するシェルツール](#how-injected-commands-run)を持たないセッションでは、引き続き呼び出しが中止されます。

824 844 

825<h3 id="run-skills-in-a-subagent">845<h3 id="run-skills-in-a-subagent">

826 スキルをサブエージェントで実行する846 サブエージェントでスキルを実行する

827</h3>847</h3>

828 848 

829スキルを分離して実行したい場合は、フロントマターに `context: fork` を追加します。Claude Code は `agent` フィールドで設定されたタイプの新しいサブエージェントを開始し、スキルコンテンツをそのプロンプトとして提供します。サブエージェントは会話履歴を見ないため、スキルの指示は独立して機能する必要があります。849スキルを分離された環境で実行したい場合は、フロントマターに `context: fork` を追加します。Claude Code は `agent` フィールドで設定されたタイプの新しいサブエージェントを起動し、スキルの内容をそのプロンプトとして渡します。サブエージェントはユーザーの会話履歴を参照しないため、スキルの指示はそれ単体で完結している必要があります。

830 850 

831<Note>851<Note>

832 名前にもかかわらず、`context: fork` を持つスキルは [現在の会話のフォーク](/docs/ja/sub-agents#fork-the-current-conversation) では実行されません。これはサブエージェントにこれまで議論したすべてを渡すでしょう。タスクがその履歴に依存する場合、`context: fork` を使用する代わりに会話をフォークします。852 名前に反して、`context: fork` を持つスキルは[現在の会話のフォーク](/docs/ja/sub-agents#fork-the-current-conversation)では実行されません。会話のフォークでは、これまでに話し合った内容がすべてサブエージェントに引き渡されます。タスクがその履歴に依存する場合は、`context: fork` を使用する代わりに会話をフォークしてください。

833</Note>853</Note>

834 854 

835フォークされたサブエージェントは [バックグラウンド](/docs/ja/sub-agents#run-subagents-in-foreground-or-background) で実行されます。スキルが実行されている間、あなたは作業を続けることができ、その結果は完了時に会話に到着します。フロントマターで `background: false` を設定して、代わりにスキルを呼び出した順番で結果を待ちます。v2.1.218 より前では、フォークされたスキルは常に完了するまでターンをブロックしていました。855フォークされたサブエージェントは[バックグラウンド](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)で実行されます。実行中も作業を続けることができ、完了すると結果が会話に届きます。代わりにスキルを呼び出したターンで結果を待つには、フロントマターで `background: false` を設定します。v2.1.218 より前は、フォークされたスキルは完了するまで常にターンをブロックしていました。

836 856 

837Claude Code は、スキルが `background: false` を設定しない場合でも、次のような場合に結果を待ちます。857次のような場合には、スキルで `background: false` を設定していなくても、Claude Code は結果を待ちます。

838 858 

839* `-p` フラグまたは Agent SDK を使用した非対話モード859* 非対話モードで、`-p` フラグまたは Agent SDK を使用している場合

840* [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/ja/env-vars) を `1` に設定した場合。これはすべての他のバックグラウンドタスク機能もオフにします860* [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/ja/env-vars) を `1` に設定した場合(これにより、他のすべてのバックグラウンドタスク機能もオフになります)

841* 同じスキルの以前の呼び出しがまだ実行中の間にフォークされたスキルを呼び出す場合861* 同じスキルの以前の呼び出しがまだ実行中のときに、フォークされたスキルを呼び出した場合

842* [スケジュールされたタスク](/docs/ja/scheduled-tasks) がスキルをそのプロンプトとして発火する場合862* スキルをプロンプトとする[スケジュールタスク](/docs/ja/scheduled-tasks)が実行された場合

843 863 

844[動的ワークフロー](/docs/ja/workflows) 内のエージェントがフォークされたスキルを呼び出す場合、スキルが `background: false` を設定していなくても、そのエージェントは結果を待って受け取ります。v2.1.295 より前では、Claude Code はこの場合に待機せず、スキルがバックグラウンドで実行されると、その結果はそのエージェントに届く代わりにメインの会話に届いていました。864[動的ワークフロー](/docs/ja/workflows)内のエージェントがフォークされたスキルを呼び出した場合、スキルで `background: false` を設定していなくても、そのエージェントは結果を待って受け取ります。v2.1.295 より前は、このケースで Claude Code は待機せず、スキルがバックグラウンドで実行された場合、その結果はそのエージェントに届かずにメインの会話に届いていました。

845 865 

846バックグラウンドで実行されるフォークされたスキルは、[バックグラウンドサブエージェントに適用される狭いツールセット](/docs/ja/sub-agents#run-subagents-in-foreground-or-background) で編集を適用します。スキルのサブエージェントは通常のエージェントタイプなので、会話をフォークするサブエージェントの例外はそれをカバーしません。スキルのステップがそのセット外のツールに依存する場合、`background: false` を設定して完全なツールセットを保持します。866バックグラウンドで実行されるフォークは、[バックグラウンドのサブエージェントに適用される、より限定されたツールセット](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)でも実行されます。スキルのサブエージェントは通常のエージェントタイプであるため、会話をフォークするサブエージェント向けの例外は適用されません。スキルの手順がそのセット外のツールに依存する場合は、`background: false` を設定して完全なツールセットを維持してください。

847 867 

848バックグラウンドで実行されるフォークされたスキルは、セッションの [checkpoints](/docs/ja/checkpointing) の外で編集を適用するため、`/rewind` はそれらを元に戻しません。git を使用してそれらを元に戻します。868バックグラウンドで実行されるフォークされたスキルは、セッションの[チェックポイント](/docs/ja/checkpointing)の外で編集を適用するため、`/rewind` ではそれらを元に戻せません。元に戻すには git を使用してください。

849 869 

850<Warning>870<Warning>

851 `context: fork` は明示的な指示を持つスキルにのみ意味があります。スキルに「これらの API 規約を使用する」などのガイドラインが含まれていて、タスクがない場合、サブエージェントはガイドラインを受け取りますが、実行可能なプロンプトはなく、意味のある出力なしで返されます。871 `context: fork` は、明示的な指示を持つスキルでのみ意味があります。スキルにタスクがなく「これらの API 規約を使用する」のようなガイドラインしか含まれていない場合、サブエージェントはガイドラインを受け取るものの実行可能なプロンプトがないため、意味のある出力を返さずに終了します。

852</Warning>872</Warning>

853 873 

854スキルと [サブエージェント](/docs/ja/sub-agents) は 2 つの方向で連携します。874スキルと[サブエージェント](/docs/ja/sub-agents)は、2 つの方向で連携します。

855 875 

856| アプローチ | システムプロンプト | タスク | また読み込む |876| アプローチ | システムプロンプト | タスク | 追加で読み込まれるもの |

857| :- | :- | :- | :- |877| :- | :- | :- | :- |

858| `context: fork` を持つスキル | エージェントタイプから | SKILL.md コンテンツ | CLAUDE.md、エージェントの [startup context](/docs/ja/sub-agents#what-loads-at-startup) に従う |878| `context: fork` を持つスキル | エージェントタイプから | SKILL.md の内容 | CLAUDE.md(エージェントの[起動時コンテキスト](/docs/ja/sub-agents#what-loads-at-startup)に従う) |

859| `skills` フィールドを持つサブエージェント | サブエージェントのマークダウン本体 | Claude の委任メッセージ | 事前読み込みされたスキル + CLAUDE.md、サブエージェントの [startup context](/docs/ja/sub-agents#what-loads-at-startup) に従う |879| `skills` フィールドを持つサブエージェント | サブエージェントの markdown 本文 | Claude の委任メッセージ | プリロードされたスキル + CLAUDE.md(サブエージェントの[起動時コンテキスト](/docs/ja/sub-agents#what-loads-at-startup)に従う) |

880 

881`context: fork` では、スキルにタスクを記述し、それを実行するエージェントタイプを選択します。組み込みの Explore エージェントと Plan エージェントは、コンテキストを小さく保つために [CLAUDE.md と git status なしで起動します](/docs/ja/sub-agents#what-loads-at-startup)。タスクに必要なものはすべて SKILL.md に記述してください。`agent: Explore` を使用するフォークされたスキルは、その内容とエージェント自身のシステムプロンプトで起動し、CLAUDE.md ファイルは一切含まれません。

860 882 

861`context: fork` では、スキルにタスクを記述し、それを実行するエージェントタイプを選択します。組み込みの Explore および Plan エージェントは [CLAUDE.md と git status をスキップ](/docs/ja/sub-agents#what-loads-at-startup) して、コンテキストを小さく保ちます。そのため、`agent: Explore` を使用するフォークされたスキルは SKILL.md コンテンツとエージェント独自のシステムプロンプトのみを見ます。逆に、参照資料としてスキルを使用するカスタムサブエージェントを定義する場合は、[サブエージェント](/docs/ja/sub-agents#preload-skills-into-subagents) を参照してください。883逆に、スキルを参考資料として使用するカスタムサブエージェントを定義する場合については、[サブエージェント](/docs/ja/sub-agents#preload-skills-into-subagents)を参照してください。

862 884 

863<h4 id="example-research-skill-using-explore-agent">885<h4 id="example-research-skill-using-explore-agent">

864 例:Explore エージェントを使用した研究スキル886 例: Explore エージェントを使用するリサーチスキル

865</h4>887</h4>

866 888 

867このスキルはフォークされた Explore エージェントで研究を実行します。スキルコンテンツはタスクになり、エージェントはコードベース探索に最適化された読み取り専用ツールを提供します。889このスキルは、フォークされた Explore エージェントでリサーチを実行します。スキルの内容がタスクとなり、エージェントはコードベースの探索に最適化された読み取り専用ツールを提供します。

868 890 

869```yaml theme={null}891```yaml theme={null}

870---892---


8813. Summarize findings with specific file references9033. Summarize findings with specific file references

882```904```

883 905 

884このスキルが実行される場合:906このスキルが実行されると、次のようになります。

885 907 

8861. 新しい分離されたコンテキストが作成されます9081. 新しい分離されたコンテキストが作成されます

8872. サブエージェントはスキルコンテンツをそのプロンプトとして受け取ります(「Research \$ARGUMENTS thoroughly」指示)9092. サブエージェントがスキルの内容(「Research \$ARGUMENTS thoroughly」の指示)をプロンプトとして受け取ります

8883. `agent` フィールドは実行環境(モデル、ツール、および権限)を決定します9103. `agent` フィールドが実行環境(モデル、ツール、権限)を決定します

8894. サブエージェントはその結果を要約し、完了時にメイン会話に返します9114. サブエージェントは完了すると結果を要約し、メインの会話に返します

890 912 

891`agent` フィールドは使用するサブエージェント構成を指定します。オプションには組み込みエージェント(`Explore`、`Plan`、`general-purpose`)または `.claude/agents/` からのカスタムサブエージェントが含まれます。省略された場合、`general-purpose` を使用します。913`agent` フィールドは、使用するサブエージェントの設定を指定します。選択肢には組み込みエージェント(`Explore`、`Plan`、`general-purpose`)や `.claude/agents/` 内の任意のカスタムサブエージェントがあります。省略した場合は `general-purpose` が使用されます。

892 914 

893<h3 id="restrict-claude’s-skill-access">915<h3 id="restrict-claude’s-skill-access">

894 Claude のスキルアクセスを制限する916 Claude のスキルへのアクセスを制限する

895</h3>917</h3>

896 918 

897デフォルトでは、Claude は `disable-model-invocation: true` が設定されていない任意のスキルを呼び出すことができます。[`allowed-tools`](#pre-approve-tools-for-a-skill) を定義するスキルは、そのスキルを呼び出すターンの間、使用ごとの承認なしでそれらのツールへのアクセスを Claude に付与します。この付与は次のメッセージを送信するとクリアされます。[権限設定](/docs/ja/permissions) は引き続き、その他のすべてのツールの基本的な承認動作を管理します。`/init` や `/security-review` を含むいくつかの組み込みコマンドも Skill ツールを通じて利用できます。`/compact` などのその他の組み込みコマンドは利用できません。919デフォルトでは、Claude は `disable-model-invocation: true` が設定されていないすべてのスキルを呼び出せます。[`allowed-tools`](#pre-approve-tools-for-a-skill) を定義するスキルは、そのスキルを呼び出したターンの間、使用ごとの承認なしでそれらのツールへのアクセスを Claude に付与します。この付与は、ユーザーが次のメッセージを送信するとクリアされます。その他すべてのツールについては、引き続き[権限設定](/docs/ja/permissions)が基本的な承認動作を制御します。`/init` や `/security-review` など、いくつかの組み込みコマンドも Skill ツールを通じて利用できます。`/compact` などのその他の組み込みコマンドは利用できません。

898 920 

899Claude が呼び出すことができるスキルを制御する 3 つの方法:921Claude が呼び出せるスキルを制御する方法は 3 つあります。

900 922 

901**すべてのスキルを無効にする** には、`/permissions` で Skill ツールを deny します。923**すべてのスキルを無効にする**には、`/permissions` で Skill ツールを拒否します。

902 924 

903```text theme={null}925```text theme={null}

904# Add to deny rules:926# Add to deny rules:

905Skill927Skill

906```928```

907 929 

908**特定のスキルを許可または拒否する** には [permission rules](/docs/ja/permissions) を使用します。930**特定のスキルを許可または拒否する**には、[権限ルール](/docs/ja/permissions)を使用します。

909 931 

910```text theme={null}932```text theme={null}

911# Allow only specific skills933# Allow only specific skills


916Skill(deploy *)938Skill(deploy *)

917```939```

918 940 

919権限構文:正確な一致の場合は `Skill(name)`、任意の引数を持つプレフィックス一致の場合は `Skill(name *)`。941権限の構文: 完全一致には `Skill(name)`、任意の引数を伴う前方一致には `Skill(name *)` を使用します。

920 942 

921テーブルは、あなたが書く名前の種類によって、`deny` ルールが名前を超えてブロックするものを示しています。943次の表は、ルールに記述する名前の種類ごとに、`deny` ルールが記述した名前以外に何をブロックするかを示しています。

922 944 

923| あなたの `deny` ルール名 | ルール例 | Claude Code もブロック |945| `deny` ルールで指定する名前 | ルールの例 | Claude Code が追加でブロックするもの |

924| :- | :- | :- |946| :- | :- | :- |

925| エイリアス | `Skill(review)` | バンドルされた `/code-review`、その `/review` エイリアスを通じて |947| エイリアス | `Skill(review)` | `/review` エイリアスを介したバンドルの `/code-review` |

926| 修飾されていない名前 | `Skill(deploy)` | [ネストされたスキル](#where-skills-live) を `apps/web:deploy` として |948| 修飾されていない名前 | `Skill(deploy)` | `apps/web:deploy` として一覧表示される[ネストされたスキル](#where-skills-live) |

927| [claude.ai から同期されたスキル](#how-synced-skills-behave) | `Skill(anthropic-skills:deploy)` | Claude Desktop がそれをセッションにプラグインとして配信するとき |949| [claude.ai から同期されたスキル](#how-synced-skills-behave) | `Skill(anthropic-skills:deploy)` | Claude Desktop がプラグインとしてセッションに配信する場合のそのスキル |

928| 同期されたスキルのプラグイン形式 | `Skill(deploy:deploy)` | 同期されたスキル |950| 同期されたスキルのプラグイン形式 | `Skill(deploy:deploy)` | 同期されたスキル |

929| [parameter form](/docs/ja/permissions#match-by-input-parameter) のスキル | `Skill(skill:deploy)` | スキルが呼び出される名前のいずれかで、そのエイリアスと表示名を含む |951| [パラメーター形式](/docs/ja/permissions#match-by-input-parameter)で指定したスキル | `Skill(skill:deploy)` | Claude がどの名前(エイリアスや表示名を含む)で呼び出しても、そのスキル |

930 952 

931v2.1.260 より前では、Claude Code は deny ルールが修飾されていない名前のみを指定する場合、修飾された名前の下にリストされたネストされたスキルをブロックしませんでした。953v2.1.260 より前は、拒否ルールで修飾されていない名前のみを指定した場合、修飾名で一覧表示されるネストされたスキルを Claude Code はブロックしませんでした。

932 954 

933Claude Code は `allow` ルールをスキル独自の名前と Claude の呼び出しの名前に対してのみ一致させます。[synced skill](#how-synced-skills-behave) を事前承認なしで承認するには、その [reserved namespace](#names-reserved-for-synced-skills) 内の名前を付けます。955Claude Code は、`allow` ルールをスキル自身の名前と Claude の呼び出しにおける名前とのみ照合します。[同期されたスキル](#how-synced-skills-behave)をプロンプトなしで承認するには、その[予約済み名前空間](#names-reserved-for-synced-skills)内で名前を指定します。

934 956 

935* `Skill(anthropic-skills:pdf)` は synced `pdf` スキルを承認します957* `Skill(anthropic-skills:pdf)` は同期された `pdf` スキルを承認します

936* `Skill(anthropic-skills *)` はすべての synced スキルを承認します958* `Skill(anthropic-skills *)` はすべての同期されたスキルを承認します

937* `Skill(anthropic *)` は `anthropic-skills:pdf` をカバーしません。ネームスペース外のプレフィックスはその中の名前と一致しないため959* `Skill(anthropic *)` は `anthropic-skills:pdf` を対象としません。名前空間外のプレフィックスは、その内部の名前に一致しないためです

938 960 

939**個別のスキルを非表示にする** には、フロントマターに `disable-model-invocation: true` を追加します。これはスキルを Claude のコンテキストから完全に削除します。961**個々のスキルを非表示にする**には、そのフロントマターに `disable-model-invocation: true` を追加します。これにより、スキルは Claude のコンテキストから完全に削除されます。

940 962 

941<Note>963<Note>

942 `user-invocable: false` では、スキルを呼び出すことはできませんが、Claude はできます。Claude が Skill ツールを通じてそれを呼び出すのを防ぐには、`disable-model-invocation: true` を設定します。964 `user-invocable: false` を設定すると、ユーザーはスキルを呼び出せなくなりますが、Claude は引き続き呼び出せます。Claude が Skill ツールを通じて呼び出せないようにするには、`disable-model-invocation: true` を設定してください。

943</Note>965</Note>

944 966 

945<h3 id="override-skill-visibility-from-settings">967<h3 id="override-skill-visibility-from-settings">

946 設定からスキルの可視性をオーバーライドする968 設定からスキルの表示を上書きする

947</h3>969</h3>

948 970 

949`skillOverrides` 設定は、スキル独自のフロントマターの代わりに [settings](/docs/ja/settings) からスキルの可視性を制御します。SKILL.md を編集したくないスキル(共有プロジェクトリポにチェックインされたものなど)に使用します。`/skills` メニューはあなたのために書き込みます。スキルをハイライトして `Space` を押して状態をサイクルし、`Esc` を押して `.claude/settings.local.json` に保存します。971`skillOverrides` 設定は、スキル自身のフロントマターではなく[設定](/docs/ja/settings)からスキルの表示を制御します。共有プロジェクトリポジトリにチェックインされているものなど、SKILL.md を編集したくないスキルに使用してください。`/skills` メニューがこの設定を書き込んでくれます。スキルをハイライトして `Space` を押すと状態が切り替わり、`Esc` を押すと `.claude/settings.local.json` に保存されます。

950 972 

951各キーはスキル名で、各値は 4 つの状態の 1 つです。973各キーはスキル名で、各値は次の 4 つの状態のいずれかです。

952 974 

953| 値 | Claude にリストされている | `/` メニューで |975| 値 | Claude への一覧表示 | `/` メニュー内 |

954| :- | :- | :- |976| :- | :- | :- |

955| `"on"` | 名前と説明 | はい |977| `"on"` | 名前と説明 | はい |

956| `"name-only"` | 名前のみ | はい |978| `"name-only"` | 名前のみ | はい |

957| `"user-invocable-only"` | 非表示 | はい |979| `"user-invocable-only"` | 非表示 | はい |

958| `"off"` | 非表示 | 非表示 |980| `"off"` | 非表示 | 非表示 |

959 981 

960`/skills` メニューは `"user-invocable-only"` 状態を `user-only` とラベル付けします。982`/skills` メニューでは、`"user-invocable-only"` 状態は `user-only` と表示されます。

961 983 

962`"off"` は、ターミナルの `/` メニューに加えて、[Remote Control](/docs/ja/remote-control) クライアントと [Agent SDK](/docs/ja/agent-sdk/skills#discover-available-commands) 呼び出し元に公開されるコマンドリストからもスキルを非表示にします。非表示のスキルを完全な名前で呼び出すと、実行される代わりに `skillOverrides` エラーが返されます。984`"off"` は、ターミナルの `/` メニューに加えて、[Remote Control](/docs/ja/remote-control) クライアントや [Agent SDK](/docs/ja/agent-sdk/skills#discover-available-commands) の呼び出し元に公開されるコマンド一覧からもスキルを非表示にします。非表示のスキルをフルネームで呼び出すと、実行されずに `skillOverrides` のエラーが返されます。

963 985 

964`skillOverrides` に存在しないスキルは `"on"` として扱われます。以下の例は 1 つのスキルをその名前に折りたたみ、別のスキルを完全にオフにします。986`skillOverrides` に含まれていないスキルは `"on"` として扱われます。次の例では、一方のスキルを名前のみに縮小し、もう一方を完全にオフにしています。

965 987 

966```json theme={null}988```json theme={null}

967{989{


972}994}

973```995```

974 996 

975一部のバンドルされたスキルには、`/doctor` の `checkup` などのエイリアスがあります。[managed settings](/docs/ja/managed-settings) または `--settings` フラグで渡すファイルでエイリアスの下に `skillOverrides` エントリを設定する場合、Claude Code はそれをエイリアスの背後にあるスキルに適用します。エイリアスを通じてスキルをさらに制限することのみが可能で、より可視化することはできません。また、managed settings でスキル独自の名前の下にエントリも設定する場合、そのエントリが優先されます。v2.1.260 より前では、Claude Code はいかなる設定ソースでもエイリアスの下のエントリをスキルに適用しませんでした。997一部のバンドルスキルには、`/doctor` に対する `checkup` のようなエイリアスがあります。[管理設定](/docs/ja/managed-settings)または `--settings` フラグで渡すファイルでエイリアスの下に `skillOverrides` エントリを設定すると、Claude Code はそのエイリアスの背後にあるスキルに適用します。エイリアスを通じてできるのはスキルをさらに制限することだけで、より表示されるようにすることはできません。また、管理設定でスキル自身の名前の下にもエントリを設定した場合は、そのエントリが優先されます。v2.1.260 より前は、Claude Code はどの設定ソースでも、エイリアスの下のエントリをスキルに適用していませんでした。

976 998 

977ユーザー、プロジェクト、およびローカル設定では、Claude Code はスキル名に対してのみエントリを一致させます。そこで `review` のエントリを設定する場合、それは `review` という名前のスキルに適用され、バンドルされた `/code-review` にはその `/review` エイリアスを通じて適用されません。999ユーザー設定、プロジェクト設定、ローカル設定では、Claude Code はエントリをスキル名とのみ照合します。そこで `review` のエントリを設定した場合、それは `review` という名前のスキルに適用され、`/review` エイリアスを介したバンドルの `/code-review` には適用されません。

978 1000 

979プラグインスキルは `skillOverrides` の影響を受けません。`/plugin` を通じてそれらを管理します。1001プラグインのスキルは `skillOverrides` の影響を受けません。それらは代わりに `/plugin` で管理してください。

980 1002 

981<h3 id="find-unused-skills">1003<h3 id="find-unused-skills">

982 未使用のスキルを見つける1004 使用されていないスキルを見つける

983</h3>1005</h3>

984 1006 

985[スキルリスト](#skill-descriptions-are-cut-short) のすべてのスキルは、Claude がそれを使用するかどうかに関係なく、すべてのターンでコンテキストに追加されます。`/skill-doctor` を実行して、各スキルのコストと使用頻度を確認し、どのスキルをオフにするかを決定します。対話型セッションでは、レポートは `/plugin` マネージャーの **Stats** タブで開きます。[非対話モード](/docs/ja/headless) で `-p` を使用する場合、Claude Code はテキストとして出力します。1007[スキル一覧](#skill-descriptions-are-cut-short)に含まれるすべてのスキルは、Claude が実際に使用するかどうかにかかわらず、毎ターンのコンテキストを増やします。`/skill-doctor` を実行すると、各スキルのコストと使用頻度を確認でき、どのスキルをオフにするかを判断できます。対話セッションでは、レポートは `/plugin` マネージャーの **Stats** タブで開きます。`-p` を使用した[非対話モード](/docs/ja/headless)では、Claude Code はレポートをテキストとして出力します。

986 1008 

987レポートはバンドルされたスキルとエンタープライズスキル以外のセッション内のスキルをカバーします。リストに表示されたスキルのうち、呼び出されたことのないスキルにフラグを付け、どこでそれらをオフにするかを示します。オフにする場所を示すスキルのうち、最も高いコンテキストコストを持つものから始めます。レポートは最近使用していないプラグインもリストします。1009レポートは、バンドルスキルとエンタープライズスキル以外の、セッション内のスキルを対象とします。一覧に含まれていながら一度も呼び出されていないスキルを指摘し、それらをオフにする場所を示します。オフにする場所が示されたスキルのうち、コンテキストコストが最も高いものから始めてください。レポートには、最近使用していないプラグインも一覧表示されます。

988 1010 

989`/skill-doctor` には Claude Code v2.1.252 以降が必要で、[feature-flag fetching](/docs/ja/env-vars#features-that-need-feature-flag-fetching) をスキップするセッションでは利用できません。[Remote Control](/docs/ja/remote-control) から電話またはブラウザで `/skill-doctor` を実行する場合、Claude Code は [`Skill usage reports are not available on this connection.`](/docs/ja/errors#skill-usage-reports-are-not-available-on-this-connection) で返信します。セッションが実行されているマシンのターミナルで `/skill-doctor` を実行します。1011`/skill-doctor` には Claude Code v2.1.252 以降が必要で、[フィーチャーフラグの取得](/docs/ja/env-vars#features-that-need-feature-flag-fetching)をスキップするセッションでは利用できません。スマートフォンやブラウザから [Remote Control](/docs/ja/remote-control) 経由で `/skill-doctor` を実行した場合、Claude Code は代わりに [`Skill usage reports are not available on this connection.`](/docs/ja/errors#skill-usage-reports-are-not-available-on-this-connection) と応答します。セッションが実行されているマシンのターミナルで `/skill-doctor` を実行してください。

990 1012 

991<h2 id="evaluate-and-iterate-on-a-skill">1013<h2 id="evaluate-and-iterate-on-a-skill">

992 スキルを評価して反復する1014 スキルを評価して反復する


12472. スキルが「利用可能なスキルは何ですか?」に表示されているか確認してください12692. スキルが「利用可能なスキルは何ですか?」に表示されているか確認してください

12483. 説明により密接に一致するようにリクエストを言い換えてみてください12703. 説明により密接に一致するようにリクエストを言い換えてみてください

12494. スキルがユーザー呼び出し可能な場合は、`/skill-name` で直接呼び出してください12714. スキルがユーザー呼び出し可能な場合は、`/skill-name` で直接呼び出してください

12725. `/skill-name` も認識されない場合は、Claude Code が[スキルの名前を拒否した](#characters-a-skill-name-cant-hold)かどうかを確認してください

1250 1273 

1251frontmatter YAML が不正な形式の場合、Claude Code はスキル本体を空のメタデータで読み込むため、`/skill-name` は機能しますが Claude は `description` と照合できません。`--debug` で実行してパースエラーを確認してください。1274frontmatter YAML が不正な形式の場合、Claude Code はスキル本体を空のメタデータで読み込むため、`/skill-name` は機能しますが Claude は `description` と照合できません。`--debug` で実行してパースエラーを確認してください。

1252 1275 

statusline.md +3 −3

Details

1178 1178 

1179オーバーライドしたい各行に対して stdout に 1 つの JSON 行を書き込みます。形式は `{"id": "<task id>", "content": "<row body>"}` です。`content` 文字列はそのままレンダリングされます。ANSI 色と OSC 8 ハイパーリンクを含みます。タスクの `id` を省略して、その行のデフォルトレンダリングを保持します。空の `content` 文字列を出力して、その行を非表示にします。1179オーバーライドしたい各行に対して stdout に 1 つの JSON 行を書き込みます。形式は `{"id": "<task id>", "content": "<row body>"}` です。`content` 文字列はそのままレンダリングされます。ANSI 色と OSC 8 ハイパーリンクを含みます。タスクの `id` を省略して、その行のデフォルトレンダリングを保持します。空の `content` 文字列を出力して、その行を非表示にします。

1180 1180 

1181`statusLine` に適用される同じトラストと `disableAllHooks` および [`allowManagedHooksOnly`](/docs/ja/settings-reference#allowmanagedhooksonly) ゲートが `subagentStatusLine` に適用されます。プラグインは、[`settings.json`](/docs/ja/plugins/manifest-reference#standard-layout) でデフォルトの `subagentStatusLine` を配布できます。ただし、フックとは異なり、プラグインが管理設定で強制的に有効化されている場合でも、プラグイン値は `allowManagedHooksOnly` の下で実行されません。1181`statusLine` に適用される同じトラストと `disableAllHooks` および [`allowManagedHooksOnly`](/docs/ja/settings-reference#allowmanagedhooksonly) ゲートが `subagentStatusLine` に適用されます。プラグインは、[`settings.json`](/docs/ja/plugins/manifest-reference#standard-layout) でデフォルトの `subagentStatusLine` を配布できます。ただし、フックとは異なり、プラグインが管理設定の `enabledPlugins` で強制的に有効化されている場合でも、プラグイン値は `allowManagedHooksOnly` の下で実行されません。

1182 1182 

1183<h3 id="task-fields">1183<h3 id="task-fields">

1184 タスクフィールド1184 タスクフィールド


1196| `description` | string | タスクの短い説明。Claude がサブエージェントを生成したときに付けた説明など |1196| `description` | string | タスクの短い説明。Claude がサブエージェントを生成したときに付けた説明など |

1197| `label` | string | Claude Code が持っている場合はタスクの短い進捗サマリー、それ以外の場合は `description` と同じテキスト |1197| `label` | string | Claude Code が持っている場合はタスクの短い進捗サマリー、それ以外の場合は `description` と同じテキスト |

1198| `startTime` | number | タスクが開始された時刻(Unix エポックからのミリ秒) |1198| `startTime` | number | タスクが開始された時刻(Unix エポックからのミリ秒) |

1199| `model` | string、省略可能 | タスクが実行される解決済みモデルの ID。モデルが解決されるまでは省略されます。Claude Code v2.1.205 以降が必要です |1199| `model` | string、省略可能 | タスクが実行される解決済みモデルの ID。モデルが解決されるまでは省略されます |

1200| `effort` | string または number、省略可能 | サブエージェントの [定義フロントマター](/docs/ja/sub-agents#supported-frontmatter-fields) または個別の呼び出しで設定された推論 effort: `low`、`medium`、`high`、`xhigh`、`max`、またはトークン予算の数値。これは設定された値であり、モデルがそのレベルをサポートしていない場合、Claude Code が実際に適用する effort は異なる可能性があります。effort が設定されていない場合は省略されます。Claude Code v2.1.213 以降が必要です |1200| `effort` | string または number、省略可能 | サブエージェントの [定義フロントマター](/docs/ja/sub-agents#supported-frontmatter-fields) または個別の呼び出しで設定された推論 effort: `low`、`medium`、`high`、`xhigh`、`max`、またはトークン予算の数値。これは設定された値であり、モデルがそのレベルをサポートしていない場合、Claude Code が実際に適用する effort は異なる可能性があります。effort が設定されていない場合は省略されます。Claude Code v2.1.213 以降が必要です |

1201| `contextWindowSize` | number、省略可能 | `model` のコンテキストウィンドウ(トークン単位)。メインステータスラインの [`context_window.context_window_size`](#context-window-fields) と同じ方法で計算されるため、`tokenCount` から行ごとのパーセンテージをレンダリングできます。`model` が省略されている場合は省略されます。Claude Code v2.1.205 以降が必要です |1201| `contextWindowSize` | number、省略可能 | `model` のコンテキストウィンドウ(トークン単位)。メインステータスラインの [`context_window.context_window_size`](#context-window-fields) と同じ方法で計算されるため、`tokenCount` から行ごとのパーセンテージをレンダリングできます。`model` が省略されている場合は省略されます |

1202| `tokenCount` | number | サブエージェントの累計トークン数。デフォルトの行に表示される数値です |1202| `tokenCount` | number | サブエージェントの累計トークン数。デフォルトの行に表示される数値です |

1203| `tokenSamples` | array of numbers | 直近最大 16 個の `tokenCount` の読み取り値。リフレッシュティックごとに 1 つずつ、古い順に並び、現在の値で終わります |1203| `tokenSamples` | array of numbers | 直近最大 16 個の `tokenCount` の読み取り値。リフレッシュティックごとに 1 つずつ、古い順に並び、現在の値で終わります |

1204| `cwd` | string | サブエージェントの作業ディレクトリ。隔離された worktree など独自のディレクトリで実行される場合はそのディレクトリ、それ以外の場合はセッションの作業ディレクトリです |1204| `cwd` | string | サブエージェントの作業ディレクトリ。隔離された worktree など独自のディレクトリで実行される場合はそのディレクトリ、それ以外の場合はセッションの作業ディレクトリです |

sub-agents.md +43 −14

Details

32 32 

33Claude Code には、Claude が必要に応じて自動的に使用する組み込みサブエージェントが含まれています。各サブエージェントは親の会話の権限を継承します。ほとんどは制限されたツールセットで実行されます。33Claude Code には、Claude が必要に応じて自動的に使用する組み込みサブエージェントが含まれています。各サブエージェントは親の会話の権限を継承します。ほとんどは制限されたツールセットで実行されます。

34 34 

35Explore と Plan は、研究を高速かつ低コストに保つために、CLAUDE.md ファイルと git ステータススナップショットをスキップします。その他のすべての組み込みサブエージェントと[カスタムサブエージェント](#configure-subagents)は、その定義が[`omitClaudeMd`](#supported-frontmatter-fields)フィールドを設定してユーザー、プロジェクト、およびローカル CLAUDE.md ファイルをスキップしない限り、両方を読み込みます。サブエージェントに到達するものの完全な内訳については、[スタートアップ時に読み込まれるもの](#what-loads-at-startup)を参照してください。35Explore と Plan は、調査を高速かつ低コストに保つために、CLAUDE.md ファイルと git ステータスのスナップショットを読み込まずに開始します。その他の組み込みサブエージェントと[カスタムサブエージェント](#configure-subagents)は両方を読み込みます。ただし、カスタムサブエージェントの定義で [`omitClaudeMd`](#supported-frontmatter-fields) を設定すると、ユーザー、プロジェクト、およびローカルの CLAUDE.md ファイルを読み込まずに開始できます。サブエージェントに到達するものの完全な内訳については、[スタートアップ時に読み込まれるもの](#what-loads-at-startup)を参照してください。

36 36 

37<Tabs>37<Tabs>

38 <Tab title="Explore">38 <Tab title="Explore">


89* 組み込みの`Explore`および`Plan`サブエージェントのみを削除するには、[`CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS=1`](/docs/ja/env-vars)を設定します。Claude はファイルを直接読み取り、探索し、サブエージェントに委譲しません。Claude Code v2.1.198 以降が必要です。89* 組み込みの`Explore`および`Plan`サブエージェントのみを削除するには、[`CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS=1`](/docs/ja/env-vars)を設定します。Claude はファイルを直接読み取り、探索し、サブエージェントに委譲しません。Claude Code v2.1.198 以降が必要です。

90* [非インタラクティブモード](/docs/ja/headless)および[Agent SDK](/docs/ja/agent-sdk/overview)では、[`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/docs/ja/env-vars)を設定して、すべての組み込みタイプを削除し、独自のタイプのみを提供します。90* [非インタラクティブモード](/docs/ja/headless)および[Agent SDK](/docs/ja/agent-sdk/overview)では、[`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/docs/ja/env-vars)を設定して、すべての組み込みタイプを削除し、独自のタイプのみを提供します。

91 91 

92サブエージェント型を省略する Agent ツール呼び出しは、セッションにフォールバックする general-purpose サブエージェントがない場合、[`subagent_type is required`](/docs/ja/errors#subagent-type-is-required)で失敗します。92`subagent_type` を省略する Agent ツール呼び出しは、フォールバック先となる `general-purpose` サブエージェントがセッションにない場合、[`subagent_type is required`](/docs/ja/errors#subagent-type-is-required) で失敗します。

93 93 

94これらの組み込みサブエージェント以外に、カスタムプロンプト、ツール制限、権限モード、フック、およびスキルを使用して独自のサブエージェントを作成できます。次のセクションでは、サブエージェントの使用を開始し、カスタマイズする方法を示します。94これらの組み込みサブエージェント以外に、カスタムプロンプト、ツール制限、権限モード、フック、およびスキルを使用して独自のサブエージェントを作成できます。次のセクションでは、サブエージェントの使用を開始し、カスタマイズする方法を示します。

95 95 


185 185 

186Claude Code は `.claude/agents/` と `~/.claude/agents/` を再帰的にスキャンするため、`agents/review/` や `agents/research/` などのサブフォルダに定義を整理できます。サブディレクトリパスはサブエージェントの識別方法や呼び出し方法に影響しません。これは、ID が `name` frontmatter フィールドのみから来るためです。186Claude Code は `.claude/agents/` と `~/.claude/agents/` を再帰的にスキャンするため、`agents/review/` や `agents/research/` などのサブフォルダに定義を整理できます。サブディレクトリパスはサブエージェントの識別方法や呼び出し方法に影響しません。これは、ID が `name` frontmatter フィールドのみから来るためです。

187 187 

188`name` 値をツリー全体で一意に保ちます。同じ `.claude/agents/` ディレクトリ内(サブフォルダを含む)の 2 つのファイルが同じ名前を宣言する場合、Claude Code はそのうちの 1 つだけを読み込み、ドキュメント化された優先順位ではなくファイルシステムの読み取り順序で選択されます。ネストされたプロジェクトディレクトリ全体では、作業ディレクトリに最も近い定義が優先されます(上記で説明)。[`/doctor`](/docs/ja/commands#all-commands)セットアップチェックアップは、同じディレクトリ内で名前を共有するファイルをレポートし、1 つを除くすべての名前変更または削除を提案します。v2.1.205 より前では、`/doctor` は重複をリストし、どの定義がアクティブであるかを示す診断画面を開きました。188`name` 値をツリー全体で一意に保ちます。同じ `.claude/agents/` ディレクトリ内(サブフォルダを含む)の 2 つのファイルが同じ名前を宣言する場合、Claude Code はそのうちの 1 つだけを読み込み、ドキュメント化された優先順位ではなくファイルシステムの読み取り順序で選択されます。ネストされたプロジェクトディレクトリ全体では、作業ディレクトリに最も近い定義が優先されます(上記で説明)。[`/doctor`](/docs/ja/commands#all-commands) セットアップチェックアップは、同じディレクトリ内で名前を共有するファイルをレポートし、1 つを除くすべての名前変更または削除を提案します。

189 189 

190プラグイン `agents/` ディレクトリも再帰的にスキャンされます。プロジェクトおよびユーザースコープとは異なり、プラグインの `agents/` ディレクトリ内のサブフォルダは[スコープ付き識別子](#invoke-subagents-explicitly)の一部になります。プラグイン `my-plugin` の `agents/review/security.md` にあるファイルは `my-plugin:review:security` として登録されます。190プラグイン `agents/` ディレクトリも再帰的にスキャンされます。プロジェクトおよびユーザースコープとは異なり、プラグインの `agents/` ディレクトリ内のサブフォルダは[スコープ付き識別子](#invoke-subagents-explicitly)の一部になります。プラグイン `my-plugin` の `agents/review/security.md` にあるファイルは `my-plugin:review:security` として登録されます。

191 191 


234JSON の各トップレベルキーはエージェントの名前で、その値がそのエージェントの定義です。名前を `-` で始めないでください。定義は以下のフィールドを取ります。234JSON の各トップレベルキーはエージェントの名前で、その値がそのエージェントの定義です。名前を `-` で始めないでください。定義は以下のフィールドを取ります。

235 235 

236* **`prompt`**。エージェントのシステムプロンプト。ファイルベースのサブエージェントのマークダウン本体と同等です。`prompt` は空にすることができます。空の `prompt` と `memory` フィールドのないエージェントを `--agent` でセッションのエージェントとして選択する場合、セッションのシステムプロンプトは変更されません。空の `prompt` には Claude Code v2.1.281 以降が必要です。236* **`prompt`**。エージェントのシステムプロンプト。ファイルベースのサブエージェントのマークダウン本体と同等です。`prompt` は空にすることができます。空の `prompt` と `memory` フィールドのないエージェントを `--agent` でセッションのエージェントとして選択する場合、セッションのシステムプロンプトは変更されません。空の `prompt` には Claude Code v2.1.281 以降が必要です。

237* **[Frontmatter フィールド](#supported-frontmatter-fields)**。`description`、`tools`、`disallowedTools`、`model`、`permissionMode`、`mcpServers`、`hooks`、`maxTurns`、`skills`、`initialPrompt`、`memory`、`effort`、`background`、`omitClaudeMd`、および `isolation`。237* **[フロントマターフィールド](#supported-frontmatter-fields)**。`description`、`tools`、`disallowedTools`、`model`、`permissionMode`、`mcpServers`、`hooks`、`maxTurns`、`autoCompactWindow`、`skills`、`initialPrompt`、`memory`、`effort`、`background`、`omitClaudeMd`、および `isolation`。

238* **無視されるフィールド**。`color` と `experimental` はここでは受け入れられず、拒否されるのではなく無視されます。238* **無視されるフィールド**。`color` と `experimental` はここでは受け入れられず、拒否されるのではなく無視されます。

239 239 

240Claude Code が読み込めない値で何をするか、およびそのチェックをスキップするフラグと環境変数については、[`Invalid --agents configuration`](/docs/ja/errors#invalid-agents-configuration)を参照してください。240Claude Code が読み込めない値で何をするか、およびそのチェックをスキップするフラグと環境変数については、[`Invalid --agents configuration`](/docs/ja/errors#invalid-agents-configuration)を参照してください。


285 285 

286サブエージェントはメイン会話の現在の作業ディレクトリで開始します。サブエージェント内では、`cd` コマンドは Bash または PowerShell ツール呼び出し間で永続化されず、メイン会話の作業ディレクトリに影響しません。代わりにサブエージェントにリポジトリの分離されたコピーを与えるには、[`isolation: worktree`](#supported-frontmatter-fields)を設定します。286サブエージェントはメイン会話の現在の作業ディレクトリで開始します。サブエージェント内では、`cd` コマンドは Bash または PowerShell ツール呼び出し間で永続化されず、メイン会話の作業ディレクトリに影響しません。代わりにサブエージェントにリポジトリの分離されたコピーを与えるには、[`isolation: worktree`](#supported-frontmatter-fields)を設定します。

287 287 

288`isolation: worktree` を持つサブエージェントは、その worktree 内で Bash および PowerShell コマンドを実行します。作業ディレクトリがメインチェックアウトに解決されるコマンド(例えば、サブエージェント実行中に worktree ディレクトリが削除された場合)はエラーで失敗します。v2.1.203 より前では、そのようなコマンドはメインチェックアウトで実行できました。288`isolation: worktree` を持つサブエージェントは、その worktree 内で Bash および PowerShell コマンドを実行します。作業ディレクトリが代わりにメインチェックアウトに解決されるコマンド(例えば、サブエージェント実行中に worktree ディレクトリが削除された場合)はエラーで失敗します。

289 289 

290この作業ディレクトリチェックは、Claude Code を起動したディレクトリを含むリポジトリ全体をカバーします。セッションがリンクされた[worktree](/docs/ja/worktrees)で独自に実行される場合、チェックはその worktree がリンクされているメインチェックアウトもカバーします。v2.1.210 より前では、チェックは起動ディレクトリのみをカバーしていました。作業ディレクトリがリポジトリ内の他の場所(例えば、monorepo サブディレクトリから Claude Code を起動した場合のリポジトリルート)に解決されるコマンドは、失敗する代わりにそこで実行されました。290この作業ディレクトリチェックは、Claude Code を起動したディレクトリを含むリポジトリ全体をカバーします。セッションがリンクされた[worktree](/docs/ja/worktrees)で独自に実行される場合、チェックはその worktree がリンクされているメインチェックアウトもカバーします。v2.1.210 より前では、チェックは起動ディレクトリのみをカバーしていました。作業ディレクトリがリポジトリ内の他の場所(例えば、monorepo サブディレクトリから Claude Code を起動した場合のリポジトリルート)に解決されるコマンドは、失敗する代わりにそこで実行されました。

291 291 


306 306 

307サブエージェントは、ファイル先頭の `---` マーカーで囲んだ YAML [フロントマター](/docs/ja/glossary#frontmatter)で設定し、閉じの `---` の後にシステムプロンプトを Markdown で記述します。`name` と `description` のみが必須です。307サブエージェントは、ファイル先頭の `---` マーカーで囲んだ YAML [フロントマター](/docs/ja/glossary#frontmatter)で設定し、閉じの `---` の後にシステムプロンプトを Markdown で記述します。`name` と `description` のみが必須です。

308 308 

309複数単語のフィールド名は `maxTurns` や `disallowedTools` などの camelCase を使用し、テーブルと正確に一致する必要があります。Claude Code は認識しないフィールドを無視し、エラーを報告しません。サブエージェントファイルが読み込まれなかった理由を確認するには、[Claude Code がスキップするサブエージェントファイル](#subagent-files-claude-code-skips)を参照してください。309複数単語のフィールド名は `maxTurns` や `disallowedTools` などの camelCase を使用し、テーブルと正確に一致する必要があります。Claude Code は認識しないフィールドを無視し、エラーを報告しません。

310 

311* 読み込まれたサブエージェントでスペルミスのあるフィールドを見つけるには、シェルで [`claude --debug`](/docs/ja/cli-reference#cli-flags) を実行し、`~/.claude/debug/<session-id>.txt` にあるデバッグログで `does not recognize or apply` を検索します。デバッグログには、Claude Code が認識しないサブエージェントファイル内のトップレベルフィールドが最大 5 つまで示され、サポートされているフィールドに近い場合は意図したと思われる名前も示されます。Claude Code v2.1.296 以降が必要です。

312* サブエージェントファイルが読み込まれなかった理由を確認するには、[Claude Code がスキップするサブエージェントファイル](#subagent-files-claude-code-skips)を参照してください。

310 313 

311| フィールド | 必須 | 説明 |314| フィールド | 必須 | 説明 |

312| :- | :- | :- |315| :- | :- | :- |


317| `model` | いいえ | 使用する[モデル](#choose-a-model)。`sonnet`、`opus`、`haiku`、`fable`、`claude-opus-5-5` などの完全なモデル ID、または `inherit`。省略した場合、Claude Code は[サブエージェントモデル順序](#choose-a-model)でモデルを選択します |320| `model` | いいえ | 使用する[モデル](#choose-a-model)。`sonnet`、`opus`、`haiku`、`fable`、`claude-opus-5-5` などの完全なモデル ID、または `inherit`。省略した場合、Claude Code は[サブエージェントモデル順序](#choose-a-model)でモデルを選択します |

318| `permissionMode` | いいえ | [権限モード](#permission-modes)。`default`、`acceptEdits`、`auto`、`dontAsk`、`bypassPermissions`、`plan`、または `default` のエイリアスとしての `manual`。[プラグインサブエージェント](#choose-the-subagent-scope)では無視されます |321| `permissionMode` | いいえ | [権限モード](#permission-modes)。`default`、`acceptEdits`、`auto`、`dontAsk`、`bypassPermissions`、`plan`、または `default` のエイリアスとしての `manual`。[プラグインサブエージェント](#choose-the-subagent-scope)では無視されます |

319| `maxTurns` | いいえ | サブエージェントが停止する前の最大 agentic ターン数。サブエージェントが制限に達すると、Claude Code は出力を部分的としてマークして返し、Claude は[再開](#resume-subagents)して続行できます。部分的なマーキングには Claude Code v2.1.246 以降が必要です |322| `maxTurns` | いいえ | サブエージェントが停止する前の最大 agentic ターン数。サブエージェントが制限に達すると、Claude Code は出力を部分的としてマークして返し、Claude は[再開](#resume-subagents)して続行できます。部分的なマーキングには Claude Code v2.1.246 以降が必要です |

323| `autoCompactWindow` | いいえ | このサブエージェントの[自動圧縮ウィンドウ](#subagent-auto-compact-window)を、`100000` から `1000000` までのトークン数に下げます。Claude Code v2.1.296 以降が必要です |

320| `skills` | いいえ | 起動時にサブエージェントのコンテキストにプリロードする[スキル](/docs/ja/skills)。説明のみではなく、完全なスキルコンテンツが注入されます。サブエージェントは、Skill ツールを通じてリストされていないプロジェクト、ユーザー、およびプラグインスキルを呼び出すことができます |324| `skills` | いいえ | 起動時にサブエージェントのコンテキストにプリロードする[スキル](/docs/ja/skills)。説明のみではなく、完全なスキルコンテンツが注入されます。サブエージェントは、Skill ツールを通じてリストされていないプロジェクト、ユーザー、およびプラグインスキルを呼び出すことができます |

321| `mcpServers` | いいえ | このサブエージェントで利用可能な[MCP サーバー](/docs/ja/mcp)。各エントリは、既に設定されているサーバーを参照するサーバー名(例えば、`"slack"`)、または完全な[MCP サーバー設定](/docs/ja/mcp#installing-mcp-servers)を値として持つサーバー名をキーとするインライン定義のいずれかです。[プラグインサブエージェント](#choose-the-subagent-scope)では無視されます |325| `mcpServers` | いいえ | このサブエージェントで利用可能な[MCP サーバー](/docs/ja/mcp)。各エントリは、既に設定されているサーバーを参照するサーバー名(例えば、`"slack"`)、または完全な[MCP サーバー設定](/docs/ja/mcp#installing-mcp-servers)を値として持つサーバー名をキーとするインライン定義のいずれかです。[プラグインサブエージェント](#choose-the-subagent-scope)では無視されます |

322| `hooks` | いいえ | このサブエージェントにスコープされた[ライフサイクルフック](#define-hooks-for-subagents)。[プラグインサブエージェント](#choose-the-subagent-scope)では無視されます |326| `hooks` | いいえ | このサブエージェントにスコープされた[ライフサイクルフック](#define-hooks-for-subagents)。[プラグインサブエージェント](#choose-the-subagent-scope)では無視されます |

323| `memory` | いいえ | [永続メモリスコープ](#enable-persistent-memory)。`user`、`project`、または `local`。クロスセッション学習を有効にします |327| `memory` | いいえ | [永続メモリスコープ](#enable-persistent-memory)。`user`、`project`、または `local`。クロスセッション学習を有効にします |

324| `background` | いいえ | Claude がフォアグラウンドで実行するよう要求した場合でも、このサブエージェントをバックグラウンドに保つには `true` に設定します。[フォークモード](#turn-fork-mode-on-or-off)がオンの場合、Claude Code は Claude がスポーンするサブエージェントを既に[バックグラウンド](#run-subagents-in-foreground-or-background)で実行します |328| `background` | いいえ | Claude がフォアグラウンドで実行するよう要求した場合でも、このサブエージェントをバックグラウンドに保つには `true` に設定します。[フォークモード](#turn-fork-mode-on-or-off)がオンの場合、Claude Code は Claude がスポーンするサブエージェントを既に[バックグラウンド](#run-subagents-in-foreground-or-background)で実行します |

325| `omitClaudeMd` | いいえ | このサブエージェントをユーザー、プロジェクト、およびローカル CLAUDE.md ファイルなしで起動するには `true` に設定します。[管理ポリシーファイル](/docs/ja/memory#how-claude-md-files-load)は引き続き読み込まれます。ただし、[管理サブエージェント](#choose-the-subagent-scope)は除きます。[委任プロンプト](#what-loads-at-startup)から必要なすべてを取得するサブエージェントに使用します。エージェントが `--agent` または `agent` 設定経由でメインセッションエージェントとして実行される場合は無視されます。Claude Code v2.1.271 以降が必要です |329| `omitClaudeMd` | いいえ | このサブエージェントを、[初期コンテキスト](#what-loads-at-startup)にユーザー、プロジェクト、およびローカルの CLAUDE.md ファイルを含めずに起動するには `true` に設定します。[管理ポリシーファイル](/docs/ja/memory#how-claude-md-files-load)は引き続き読み込まれます。ただし、[管理サブエージェント](#choose-the-subagent-scope)は除きます。委任プロンプトから必要なすべてを取得するサブエージェントに使用します。エージェントが `--agent` または `agent` 設定経由でメインセッションエージェントとして実行される場合は無視されます。Claude Code v2.1.271 以降が必要です |

326| `effort` | いいえ | このサブエージェントがアクティブな場合の effort レベル。セッションの effort レベルを上書きしますが、[`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ja/env-vars#variables) 環境変数は上書きしません。オプション:`low`、`medium`、`high`、`xhigh`、`max`。利用可能なレベルはモデルによって異なります。[effort レベルを選択する](#choose-an-effort-level)を参照してください |330| `effort` | いいえ | このサブエージェントがアクティブな場合の effort レベル。セッションの effort レベルを上書きしますが、[`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ja/env-vars#variables) 環境変数は上書きしません。オプション:`low`、`medium`、`high`、`xhigh`、`max`。利用可能なレベルはモデルによって異なります。[effort レベルを選択する](#choose-an-effort-level)を参照してください |

327| `isolation` | いいえ | サブエージェントを一時的な[git worktree](/docs/ja/worktrees)で実行するには `worktree` に設定します。これにより、親セッションの `HEAD` ではなく、デフォルトで[デフォルトブランチ](/docs/ja/worktrees#choose-the-base-branch)からブランチされたリポジトリの分離されたコピーが提供されます。サブエージェントが変更を加えない場合、worktree は自動的にクリーンアップされます |331| `isolation` | いいえ | サブエージェントを一時的な[git worktree](/docs/ja/worktrees)で実行するには `worktree` に設定します。これにより、親セッションの `HEAD` ではなく、デフォルトで[デフォルトブランチ](/docs/ja/worktrees#choose-the-base-branch)からブランチされたリポジトリの分離されたコピーが提供されます。サブエージェントが変更を加えない場合、worktree は自動的にクリーンアップされます |

328| `color` | いいえ | タスクリストとトランスクリプトでのサブエージェントの表示カラー。`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、または `cyan` を受け入れます |332| `color` | いいえ | タスクリストとトランスクリプトでのサブエージェントの表示カラー。`red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、または `cyan` を受け入れます |


461* `WaitForMcpServers`465* `WaitForMcpServers`

462* `Workflow`466* `Workflow`

463 467 

4642 番目のフィルタはバックグラウンドで実行されるサブエージェントに適用されます。`Agent` と `ExitPlanMode` を除き、これらはサブエージェントが実行される場所に関係なく最初のフィルタの条件に従います。バックグラウンドサブエージェントはすべての MCP ツールを保持しますが、これらの組み込みツールのみです。`Read`、`Grep`、`Glob`、`LSP`、`Bash`、`PowerShell`、`Edit`、`Write`、`NotebookEdit`、`WebFetch`、`WebSearch`、`TodoWrite`、`Skill`、`ToolSearch`、`EnterWorktree`、`ExitWorktree`、`Monitor`、`TaskStop`、`SendMessage`、および `Artifact`。それを報告するサブエージェント用の [`SubagentHandback`](/docs/ja/tools-reference)。Claude Code はバックグラウンドサブエージェントから他のすべての組み込みツールを削除します。継承またはリストされているかどうかに関わらず、`tools` フィールドで。同じ定義はフォアグラウンドとバックグラウンドで異なるツールに解決できます。削除は、`tools` リストが[何も解決しない](/docs/ja/errors#agent-would-be-spawned-with-zero-tools)場合を除き、エラーを報告しません。4682 番目のフィルタはバックグラウンドで実行されるサブエージェントに適用されます。`Agent` と `ExitPlanMode` はサブエージェントがどこで実行されても最初のフィルタの条件に従います。それ以外については、バックグラウンドサブエージェントはすべての MCP ツールを保持しますが、組み込みツールは `Read`、`Grep`、`Glob`、`LSP`、`Bash`、`PowerShell`、`Edit`、`Write`、`NotebookEdit`、`WebFetch`、`WebSearch`、`TodoWrite`、`Skill`、`ToolSearch`、`EnterWorktree`、`ExitWorktree`、`Monitor`、`TaskStop`、`SendMessage`、`Artifact` のみを保持し、[`SubagentHandback`](/docs/ja/tools-reference) を通じて報告するサブエージェントはそれも保持します。Claude Code は、継承されたものか `tools` フィールドに列挙されたものかにかかわらず、それ以外のすべての組み込みツールをバックグラウンドサブエージェントから削除するため、同じ定義でもフォアグラウンドとバックグラウンドで異なるツールに解決される場合があります。この削除は、`tools` リストが[何にも解決されなくなる](/docs/ja/errors#agent-would-be-spawned-with-zero-tools)場合を除き、エラーを報告しません。

465 469 

466v2.1.280 より前では、バックグラウンドサブエージェントは `LSP` を使用できませんでした。470v2.1.280 より前では、バックグラウンドサブエージェントは `LSP` を使用できませんでした。

467 471 


892自然言語の場合、特別な構文はありません。サブエージェントに名前を付けると、Claude は通常委譲します。896自然言語の場合、特別な構文はありません。サブエージェントに名前を付けると、Claude は通常委譲します。

893 897 

894```text wrap theme={null}898```text wrap theme={null}

895test-runner サブエージェントを使用してテストを実行し、失敗したテストを修正してください899test-runner サブエージェントを使用して失敗したテストを修正してください

896code-reviewer サブエージェントに最近の変更を確認させてください900code-reviewer サブエージェントに最近の変更を確認させてください

897```901```

898 902 


914claude --agent code-reviewer918claude --agent code-reviewer

915```919```

916 920 

917エージェントの [プロンプトが空でない限り](#choose-the-subagent-scope)、カスタムサブエージェントのシステムプロンプトはデフォルトの Claude Code システムプロンプトを完全に置き換えます。これは [`--system-prompt`](/docs/ja/cli-reference) と同じ方法です。`CLAUDE.md` ファイルとプロジェクトメモリは、エージェント定義が [`omitClaudeMd`](#supported-frontmatter-fields) を設定している場合でも、通常のメッセージフローを通じて読み込まれます。921エージェントの [プロンプトが空でない限り](#choose-the-subagent-scope)、カスタムサブエージェントのシステムプロンプトはデフォルトの Claude Code システムプロンプトを完全に置き換えます。これは [`--system-prompt`](/docs/ja/cli-reference) と同じ方法です。`CLAUDE.md` ファイルとプロジェクトメモリは、エージェント定義が [`omitClaudeMd`](#supported-frontmatter-fields) を設定している場合でも、通常のメッセージフローを通じて読み込まれます。独自のプロンプトを持つカスタムエージェントとして `-p` でセッションを実行する場合、セッションは [git ステータスのスナップショット](/docs/ja/settings-reference#includegitinstructions) もなしで開始されます。

918 922 

919エージェント名は起動ヘッダーに `@<name>` として表示されるため、アクティブであることを確認できます。923エージェント名は起動ヘッダーに `@<name>` として表示されるため、アクティブであることを確認できます。

920 924 


1150* **CLAUDE.md ファイル**: メイン会話が読み込む [CLAUDE.md 階層](/docs/ja/memory#how-claude-md-files-load) のすべてのレベル。`~/.claude/CLAUDE.md`、プロジェクトルール、`CLAUDE.local.md`、管理ポリシーファイル、およびプロジェクト指示として読み込まれる任意の [`AGENTS.md` ファイル](/docs/ja/memory#agents-md) を含みます。組み込みの Explore および Plan エージェントはこれをスキップします。定義が [`omitClaudeMd`](#supported-frontmatter-fields) を設定するサブエージェントは、管理ポリシーファイルのみを読み込むか、定義が [管理設定](#choose-the-subagent-scope) から来る場合はまったく読み込みません。1154* **CLAUDE.md ファイル**: メイン会話が読み込む [CLAUDE.md 階層](/docs/ja/memory#how-claude-md-files-load) のすべてのレベル。`~/.claude/CLAUDE.md`、プロジェクトルール、`CLAUDE.local.md`、管理ポリシーファイル、およびプロジェクト指示として読み込まれる任意の [`AGENTS.md` ファイル](/docs/ja/memory#agents-md) を含みます。組み込みの Explore および Plan エージェントはこれをスキップします。定義が [`omitClaudeMd`](#supported-frontmatter-fields) を設定するサブエージェントは、管理ポリシーファイルのみを読み込むか、定義が [管理設定](#choose-the-subagent-scope) から来る場合はまったく読み込みません。

1151* **Git ステータス**: Claude Code がサブエージェント開始時にリポジトリから読み込むスナップショット。そのリポジトリの [独自の worktree](/docs/ja/worktrees#isolate-subagents-with-worktrees) 内にあるサブエージェントの場合、スナップショットには worktree のブランチ、ステータス、最近のコミットが表示されます。Git リポジトリの外部またはスナップショットがオフになっている場合は含まれません。[`includeGitInstructions`](/docs/ja/settings-reference#includegitinstructions) を参照してください。Explore および Plan はいずれにせよそれをスキップします。1155* **Git ステータス**: Claude Code がサブエージェント開始時にリポジトリから読み込むスナップショット。そのリポジトリの [独自の worktree](/docs/ja/worktrees#isolate-subagents-with-worktrees) 内にあるサブエージェントの場合、スナップショットには worktree のブランチ、ステータス、最近のコミットが表示されます。Git リポジトリの外部またはスナップショットがオフになっている場合は含まれません。[`includeGitInstructions`](/docs/ja/settings-reference#includegitinstructions) を参照してください。Explore および Plan はいずれにせよそれをスキップします。

1152* **プリロードされたスキル**: エージェントの [`skills` フィールド](#preload-skills-into-subagents) で名前が付けられたスキルの完全なコンテンツ。組み込みエージェントはスキルをプリロードしません。1156* **プリロードされたスキル**: エージェントの [`skills` フィールド](#preload-skills-into-subagents) で名前が付けられたスキルの完全なコンテンツ。組み込みエージェントはスキルをプリロードしません。

1153* **兄弟名簿**: `main` と、セッション内のすべての他の名前付きエージェントをリストする [システムリマインダー](/docs/ja/glossary#system-reminder)。各エージェントは [`SendMessage`](#resume-subagents) の有効な `to` 値です。Claude Code v2.1.206 以降が必要です。名簿は、サブエージェントのツールに `SendMessage` が含まれ、少なくとも 1 つの他のエージェントに名前がある場合にのみ表示されます。Claude が生成時に名前を付けたか、[エージェントチーム](/docs/ja/agent-teams) チームメイトとして実行されるかに関わらず。これはサブエージェント開始時に取得されたスナップショットであるため、後で名前が付けられたエージェントは表示されません。1157* **兄弟名簿**: `main` と、セッション内のすべての他の名前付きエージェントをリストする [システムリマインダー](/docs/ja/glossary#system-reminder)。各エージェントは [`SendMessage`](#resume-subagents) の有効な `to` 値です。名簿は、サブエージェントのツールに `SendMessage` が含まれ、少なくとも 1 つの他のエージェントに名前がある場合にのみ表示されます。Claude が生成時に名前を付けたか、[エージェントチーム](/docs/ja/agent-teams) チームメイトとして実行されるかに関わらず。これはサブエージェント開始時に取得されたスナップショットであるため、後で名前が付けられたエージェントは表示されません。

1154 1158 

1155ユーザー、プロジェクト、ローカル CLAUDE.md ファイルなしで独自のサブエージェントを起動するには、そのフロントマターまたは `--agents` JSON で [`omitClaudeMd: true`](#supported-frontmatter-fields) を設定します。1159ユーザー、プロジェクト、ローカル CLAUDE.md ファイルなしで独自のサブエージェントを起動するには、そのフロントマターまたは `--agents` JSON で [`omitClaudeMd: true`](#supported-frontmatter-fields) を設定します。Explore、Plan、および `omitClaudeMd` を持つサブエージェントでも、サブエージェントがサブディレクトリ内のファイルを扱う際には、そのサブディレクトリの `CLAUDE.md` および一致する [パス固有のルール](/docs/ja/memory#path-specific-rules) は引き続き [読み込まれます](/docs/ja/memory#how-claude-md-files-load)。

1156 1160 

1157メイン会話は、これらのサブエージェントの結果を読むときに完全な CLAUDE.md を持っているため、ほとんどのルールはサブエージェント自体に到達する必要はありません。ルールが必要な場合(「`vendor/` ディレクトリを無視する」など)、委譲時に Claude に与えるプロンプトで再度述べてください。1161メイン会話は、これらのサブエージェントの結果を読むときに完全な CLAUDE.md を持っているため、ほとんどのルールはサブエージェント自体に到達する必要はありません。ルールが必要な場合(「`vendor/` ディレクトリを無視する」など)、委譲時に Claude に与えるプロンプトで再度述べてください。

1158 1162 


1196 1200 

1197[そのサブエージェントの行がサブエージェントパネルにまだある](#run-subagents-in-foreground-or-background) 間に、そのトランスクリプトに入力して自分で再開します。その後、Claude からのメッセージは再び自動再開できます。1201[そのサブエージェントの行がサブエージェントパネルにまだある](#run-subagents-in-foreground-or-background) 間に、そのトランスクリプトに入力して自分で再開します。その後、Claude からのメッセージは再び自動再開できます。

1198 1202 

1199再開は同じ ID の下でエージェントの新しい実行を開始するため、既に失敗または完了したサブエージェントはタスクリストと Agent SDK のタスクイベントで再び実行中として表示されます。v2.1.205 より前では、再開された実行が動作している間、以前の失敗または完了ステータスを表示し続けました。1203再開は同じ ID の下でエージェントの新しい実行を開始するため、既に失敗または完了したサブエージェントはタスクリストと Agent SDK のタスクイベントで再び実行中として表示されます。

1200 1204 

1201`SendMessage` は、名前が会話の前半で到達したのと同じエージェントを引き続き参照していることを確認します。新しいエージェントが名前を取得した場合(例えば、名前を再利用した再生成されたバックグラウンドエージェント)、Claude Code は間違ったエージェントに配信するのではなく送信を拒否し、エラーは名前が現在到達するエージェントを報告するため、Claude は再ターゲットできます。以前のエージェントがまだ実行中の間にそれに到達するには、Claude はそのエージェントを生成したときに受け取ったエージェント ID でアドレス指定します。チェックは現在の会話にスコープされ、`/clear` でリセットされます。1205`SendMessage` は、名前が会話の前半で到達したのと同じエージェントを引き続き参照していることを確認します。新しいエージェントが名前を取得した場合(例えば、名前を再利用した再生成されたバックグラウンドエージェント)、Claude Code は間違ったエージェントに配信するのではなく送信を拒否し、エラーは名前が現在到達するエージェントを報告するため、Claude は再ターゲットできます。以前のエージェントがまだ実行中の間にそれに到達するには、Claude はそのエージェントを生成したときに受け取ったエージェント ID でアドレス指定します。チェックは現在の会話にスコープされ、`/clear` でリセットされます。

1202 1206 


1214 自動圧縮1218 自動圧縮

1215</h4>1219</h4>

1216 1220 

1217サブエージェントはメイン会話と同じロジックを使用して自動圧縮をサポートします。圧縮は同じ条件下でトリガーされ、`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` はサブエージェントにも適用されます。上書きがいつ有効になるかについては、[環境変数](/docs/ja/env-vars) を参照してください。1221サブエージェントは自動圧縮をサポートします。圧縮はサブエージェント自身のコンテキストウィンドウが埋まるにつれてトリガーされ、`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` はサブエージェントにも適用されます。上書きがいつ有効になるかについては、[環境変数](/docs/ja/env-vars) を参照してください。

1218 1222 

1219圧縮イベントはサブエージェントトランスクリプトファイルに記録されます。1223圧縮イベントはサブエージェントトランスクリプトファイルに記録されます。

1220 1224 


1231 1235 

1232`preTokens` 値は、圧縮が発生する前に使用されたトークン数を示します。1236`preTokens` 値は、圧縮が発生する前に使用されたトークン数を示します。

1233 1237 

1238<a id="subagent-auto-compact-window" />

1239 

1240<h5 id="set-the-auto-compact-window-for-one-subagent">

1241 1 つのサブエージェントの自動圧縮ウィンドウを設定する

1242</h5>

1243 

12441 つのサブエージェントを通常より早く圧縮させるには、その [フロントマター](#supported-frontmatter-fields) で `autoCompactWindow` を `100000` から `1000000` までのトークン数に設定します。[`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/ja/env-vars#variables) を正の整数に設定している場合、サブエージェントは代わりにその変数のウィンドウを使用し、このフィールドは効果を持ちません。Claude Code v2.1.296 以降が必要です。

1245 

1246このフロントマターは、長いログファイルを読むサブエージェントの `autoCompactWindow` を 200,000 トークンに設定します。

1247 

1248```yaml theme={null}

1249---

1250name: log-reader

1251description: Reads long log files and reports the errors it finds

1252autoCompactWindow: 200000

1253---

1254```

1255 

1256値は `200000` のようなプレーンな整数で記述してください。フロントマターでは Claude Code が `200k` を 200 として読み取り、許容範囲外になるためです。その場合でもサブエージェントは読み込まれ、フィールドが存在しないかのように圧縮されます。Claude Code が値を無視したかどうかを確認するには、シェルで `claude --debug` を実行し、[デバッグログ](#supported-frontmatter-fields) で `invalid autoCompactWindow` を検索してください。

1257 

1258値が範囲内であるにもかかわらず変化が見られない場合は、以下の原因を確認してください。

1259 

1260* **値が、サブエージェントが本来継承する [自動圧縮ウィンドウ](/docs/ja/model-config#context-window-and-auto-compaction) を下回っていない**: より早く圧縮するには、そのウィンドウより小さい値を設定してください。

1261* **`--agent` または `agent` 設定でセッション全体をこのサブエージェントとして実行している**: その場合、このフィールドは効果を持ちません。セッションのウィンドウを設定するには、[自動圧縮ウィンドウを設定する](/docs/ja/model-config#set-the-auto-compact-window) を参照してください。

1262 

1234<h2 id="fork-the-current-conversation">1263<h2 id="fork-the-current-conversation">

1235 現在の会話をフォークする1264 現在の会話をフォークする

1236</h2>1265</h2>

Details

44| `ReadMcpResourceTool` | URI で特定の MCP リソースを読み取ります | いいえ |44| `ReadMcpResourceTool` | URI で特定の MCP リソースを読み取ります | いいえ |

45| `RemoteTrigger` | claude.ai で[ルーチン](/docs/ja/routines)を作成、更新、実行、リストします。`/schedule` コマンドをサポートします。[`RemoteTrigger` 入力リファレンス](/docs/ja/agent-sdk/typescript#remotetrigger)は、すべてのアクションと、ツールを削除する組織ポリシーを文書化しています。ルーチンは claude.ai に存在し、Pro、Max、Team、または Enterprise プランが必要です。そのため、このツールは Amazon Bedrock、AWS 上の Claude Platform、Google Cloud の Agent Platform、または Microsoft Foundry からはアクセスできません | いいえ |45| `RemoteTrigger` | claude.ai で[ルーチン](/docs/ja/routines)を作成、更新、実行、リストします。`/schedule` コマンドをサポートします。[`RemoteTrigger` 入力リファレンス](/docs/ja/agent-sdk/typescript#remotetrigger)は、すべてのアクションと、ツールを削除する組織ポリシーを文書化しています。ルーチンは claude.ai に存在し、Pro、Max、Team、または Enterprise プランが必要です。そのため、このツールは Amazon Bedrock、AWS 上の Claude Platform、Google Cloud の Agent Platform、または Microsoft Foundry からはアクセスできません | いいえ |

46| `ReportFindings` | コードレビューの検出結果を構造化リストとしてレポートします。検出結果ごとにファイル、概要、失敗シナリオがあり、Claude Code はテキストとして出力する代わりにレンダリングできます。Claude はアクティブなコードレビュー指示がこれを呼び出すように指示する場合に呼び出します。検出結果には、`correctness` や `test-coverage` などのオプションの `category` スラッグを含めることもでき、レンダリングされたリストのファイルの場所の横に表示されます | いいえ |46| `ReportFindings` | コードレビューの検出結果を構造化リストとしてレポートします。検出結果ごとにファイル、概要、失敗シナリオがあり、Claude Code はテキストとして出力する代わりにレンダリングできます。Claude はアクティブなコードレビュー指示がこれを呼び出すように指示する場合に呼び出します。検出結果には、`correctness` や `test-coverage` などのオプションの `category` スラッグを含めることもでき、レンダリングされたリストのファイルの場所の横に表示されます | いいえ |

47| `ScheduleWakeup` | [自分のペースで進む `/loop`](/docs/ja/scheduled-tasks#let-claude-choose-the-interval) の次の反復をスケジュールし直します。Claude は各反復の終了時にこれを呼び出して、次の反復をいつ実行するかを 1 分後から 1 時間後の間で選択します。ユーザーが直接呼び出すことはありません。代わりにループを終了するには、Claude はこれを `stop: true` で呼び出します。これは保留中のウェイクアップをキャンセルします。`stop` フィールドには Claude Code v2.1.202 以降が必要です。保留中のウェイクアップは[Stop フックの入力](/docs/ja/hooks#stop-input)の `session_crons` に表示されます | いいえ |47| `ScheduleWakeup` | [自分のペースで進む `/loop`](/docs/ja/scheduled-tasks#let-claude-choose-the-interval) の次の反復をスケジュールし直します。Claude は各反復の終了時にこれを呼び出して、次の反復をいつ実行するかを 1 分後から 1 時間後の間で選択します。ユーザーが直接呼び出すことはありません。代わりにループを終了するには、Claude はこれを `stop: true` で呼び出します。これは保留中のウェイクアップをキャンセルします。保留中のウェイクアップは[Stop フックの入力](/docs/ja/hooks#stop-input)の `session_crons` に表示されます | いいえ |

48| `SendFeedback` | Claude Code に関するフィードバックレポートを作成します。製品の問題または Claude Code セッション内での Claude 自身の動作をカバーします。ユーザーがレビューできるよう、お使いのマシン上のキューに入れます。Claude Code は、ドラフトを送信することを選択するまで何も送信しません。[SendFeedback ツールの動作](#sendfeedback-tool-behavior)を参照してください。Claude Code v2.1.238 以降が必要です | いいえ |48| `SendFeedback` | Claude Code に関するフィードバックレポートを作成します。製品の問題または Claude Code セッション内での Claude 自身の動作をカバーします。ユーザーがレビューできるよう、お使いのマシン上のキューに入れます。Claude Code は、ドラフトを送信することを選択するまで何も送信しません。[SendFeedback ツールの動作](#sendfeedback-tool-behavior)を参照してください。Claude Code v2.1.238 以降が必要です | いいえ |

49| `SendMessage` | 別のエージェントにメッセージを送信します。[エージェントチーム](/docs/ja/agent-teams)チームメイト、[エージェント ID または名前で再開するサブエージェント](/docs/ja/sub-agents#resume-subagents)、またはこのマシン上またはその外にある他の Claude Code セッションのいずれか。他のセッションへのメッセージングには Claude Code v2.1.224 以降が必要です。[クロスセッションメッセージング](/docs/ja/cross-session-messaging)は、Claude が到達できるセッション、[メッセージが到着したときの外観](/docs/ja/cross-session-messaging#what-a-message-looks-like)、および[別のセッションがアイドル状態になったときに Claude が通知を受け取る方法](/docs/ja/cross-session-messaging#get-a-notice-when-another-session-goes-idle)をカバーしています。Claude はオプションの `summary` 入力を含めることができます。通常は 5~10 語で、Claude Code は 1 行のプレビューとして表示します。Claude が[プレーンテキストメッセージ](/docs/ja/cross-session-messaging#limitations)で省略した場合、Claude Code はメッセージの最初の行を概要として使用します。Claude Code は 200 文字を超える概要を省略記号で切り詰めます | いいえ |49| `SendMessage` | 別のエージェントにメッセージを送信します。[エージェントチーム](/docs/ja/agent-teams)チームメイト、[エージェント ID または名前で再開するサブエージェント](/docs/ja/sub-agents#resume-subagents)、またはこのマシン上またはその外にある他の Claude Code セッションのいずれか。他のセッションへのメッセージングには Claude Code v2.1.224 以降が必要です。[クロスセッションメッセージング](/docs/ja/cross-session-messaging)は、Claude が到達できるセッション、[メッセージが到着したときの外観](/docs/ja/cross-session-messaging#what-a-message-looks-like)、および[別のセッションがアイドル状態になったときに Claude が通知を受け取る方法](/docs/ja/cross-session-messaging#get-a-notice-when-another-session-goes-idle)をカバーしています。Claude はオプションの `summary` 入力を含めることができます。通常は 5~10 語で、Claude Code は 1 行のプレビューとして表示します。Claude が[プレーンテキストメッセージ](/docs/ja/cross-session-messaging#limitations)で省略した場合、Claude Code はメッセージの最初の行を概要として使用します。Claude Code は 200 文字を超える概要を省略記号で切り詰めます | いいえ |

50| `SendUserFile` | セッションからファイルをオプションのキャプション付きでユーザーに送信します。生成されたレポート、図、スクリーンショット、または構築されたアーティファクトがトランスクリプトで言及されるだけでなく、デバイスに届くようにします。オプションの `display` 入力は表示方法を制御します。`render` はファイルをクライアントにインラインで開き、`attach` はダウンロードカードのみを表示し、設定されていない場合、クライアントはファイルタイプで決定します。[Remote Control](/docs/ja/remote-control) クライアントが接続されている場合、または[クラウドセッション](/docs/ja/claude-code-on-the-web)で利用可能です。配信は Anthropic ホスト型インフラストラクチャを通じて実行されるため、このツールは Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません | いいえ |50| `SendUserFile` | セッションからファイルをオプションのキャプション付きでユーザーに送信します。生成されたレポート、図、スクリーンショット、または構築されたアーティファクトがトランスクリプトで言及されるだけでなく、デバイスに届くようにします。オプションの `display` 入力は表示方法を制御します。`render` はファイルをクライアントにインラインで開き、`attach` はダウンロードカードのみを表示し、設定されていない場合、クライアントはファイルタイプで決定します。[Remote Control](/docs/ja/remote-control) クライアントが接続されている場合、または[クラウドセッション](/docs/ja/claude-code-on-the-web)で利用可能です。配信は Anthropic ホスト型インフラストラクチャを通じて実行されるため、このツールは Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません | いいえ |


54| `TaskCreate` | タスクリストに新しいタスクを作成します。[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでデフォルトで提供され、他のモデルではオプトインした場合に提供されます | いいえ |54| `TaskCreate` | タスクリストに新しいタスクを作成します。[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでデフォルトで提供され、他のモデルではオプトインした場合に提供されます | いいえ |

55| `TaskGet` | 特定のタスクの完全な詳細を取得します。[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでデフォルトで提供され、他のモデルではオプトインした場合に提供されます | いいえ |55| `TaskGet` | 特定のタスクの完全な詳細を取得します。[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでデフォルトで提供され、他のモデルではオプトインした場合に提供されます | いいえ |

56| `TaskList` | すべてのタスクを現在のステータスでリストします。[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでデフォルトで提供され、他のモデルではオプトインした場合に提供されます | いいえ |56| `TaskList` | すべてのタスクを現在のステータスでリストします。[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでデフォルトで提供され、他のモデルではオプトインした場合に提供されます | いいえ |

57| `TaskOutput` | バックグラウンドタスクから出力を取得します。タスクの出力ファイルパスで `Read` を優先して廃止されました。ID に一致するタスクがない場合、エラーは実行中のバックグラウンドエージェントを ID と説明でリストします。v2.1.203 より前では、エラーは欠落している ID のみを名前付けていました | いいえ |57| `TaskOutput` | v2.1.277 で削除されました。以前はバックグラウンドタスクから出力を取得していました。現在、Claude はバックグラウンドタスクの[出力ファイル](/docs/ja/interactive-mode#how-backgrounding-works)を `Read` で読み取ります | いいえ |

58| `TaskStop` | 実行中のバックグラウンドタスクを ID で停止します。[エージェントチームのチームメイト](/docs/ja/agent-teams)や名前付きバックグラウンドエージェントも、エージェント ID または名前で受け付けます。ID に一致するタスクがない場合、エラーは実行中のバックグラウンドエージェントを ID と説明でリストします。別のエージェントが生成したエージェントも含まれます。v2.1.203 より前では、エラーは実行中のチームメイトと名前付きエージェントをリストしていましたが、別のエージェントが生成したバックグラウンドエージェントはリストしていなかったため、メイン会話から識別または停止できませんでした | いいえ |58| `TaskStop` | 実行中のバックグラウンドタスクを ID で停止します。[エージェントチームのチームメイト](/docs/ja/agent-teams)や名前付きバックグラウンドエージェントも、エージェント ID または名前で受け付けます。ID に一致するタスクがない場合、エラーは実行中のバックグラウンドエージェントを ID と説明でリストします。別のエージェントが生成したエージェントも含まれます | いいえ |

59| `TaskUpdate` | タスクステータス、依存関係、詳細を更新するか、タスクを削除します。[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでデフォルトで提供され、他のモデルではオプトインした場合に提供されます | いいえ |59| `TaskUpdate` | タスクステータス、依存関係、詳細を更新するか、タスクを削除します。[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでデフォルトで提供され、他のモデルではオプトインした場合に提供されます | いいえ |

60| `TodoWrite` | セッションタスクチェックリストを管理します。`TaskCreate`、`TaskGet`、`TaskList`、`TaskUpdate` を優先して、デフォルトで無効になっています。[タスク追跡ツールを持つセッション](#task-tool-availability)で再度有効にするには、`CLAUDE_CODE_ENABLE_TASKS=0` を設定します | いいえ |60| `TodoWrite` | セッションタスクチェックリストを管理します。`TaskCreate`、`TaskGet`、`TaskList`、`TaskUpdate` を優先して、デフォルトで無効になっています。[タスク追跡ツールを持つセッション](#task-tool-availability)で再度有効にするには、`CLAUDE_CODE_ENABLE_TASKS=0` を設定します | いいえ |

61| `ToolSearch` | [ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)が有効な場合、遅延ツールを検索してロードします | いいえ |61| `ToolSearch` | [ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)が有効な場合、遅延ツールを検索してロードします | いいえ |

ultrareview.md +2 −2

Details

149 実行中のレビューを追跡する149 実行中のレビューを追跡する

150</h2>150</h2>

151 151 

152レビューは通常 5 ~ 10 分かかります。レビューはバックグラウンドタスクとして実行されるため、セッションで作業を続けたり、他のコマンドを開始したりできます。[プルリクエストに検出結果を投稿](#post-findings-to-the-pull-request)することを選択した場合は、レビューが完了するまでセッションを開いたままにしてください。セッションが先に終了した場合、Claude Code は何も投稿しません。152レビューは通常 15 ~ 25 分かかります。レビューはバックグラウンドタスクとして実行されるため、セッションで作業を続けたり、他のコマンドを開始したりできます。[プルリクエストに検出結果を投稿](#post-findings-to-the-pull-request)することを選択した場合は、レビューが完了するまでセッションを開いたままにしてください。セッションが先に終了した場合、Claude Code は何も投稿しません。

153 153 

154`/tasks` を使用して、実行中および完了したレビューを表示し、レビューの詳細ビューを開くか、進行中のレビューを停止します。レビューを停止すると、Claude Code はクラウドセッションをアーカイブし、部分的な検出結果は返されません。154`/tasks` を使用して、実行中および完了したレビューを表示し、レビューの詳細ビューを開くか、進行中のレビューを停止します。レビューを停止すると、Claude Code はクラウドセッションをアーカイブし、部分的な検出結果は返されません。

155 155 


216| 対象 | 作業中の diff、プルリクエスト、ブランチ、またはパス | 作業中の diff またはプルリクエスト |216| 対象 | 作業中の diff、プルリクエスト、ブランチ、またはパス | 作業中の diff またはプルリクエスト |

217| 実行場所 | セッション内でローカルに実行 | クラウドサンドボックスで実行 |217| 実行場所 | セッション内でローカルに実行 | クラウドサンドボックスで実行 |

218| 深さ | effort 引数でスケール | 独立した検証を備えたマルチエージェントフリート |218| 深さ | effort 引数でスケール | 独立した検証を備えたマルチエージェントフリート |

219| 所要時間 | 数秒から数分 | 約 5 ~ 10 分 |219| 所要時間 | 数秒から数分 | 約 15 ~ 25 分 |

220| コスト | 通常の使用量にカウント | 無料実行、その後使用クレジットで約 $5 ~ $25 / レビュー |220| コスト | 通常の使用量にカウント | 無料実行、その後使用クレジットで約 $5 ~ $25 / レビュー |

221| 最適な用途 | 反復中の迅速なフィードバック | 大幅な変更のマージ前の確信度向上 |221| 最適な用途 | 反復中の迅速なフィードバック | 大幅な変更のマージ前の確信度向上 |

222 222 

Details

146 146 

147<Steps>147<Steps>

148 <Step title="リポジトリとブランチを選択する">148 <Step title="リポジトリとブランチを選択する">

149 [claude.ai/code](https://claude.ai/code) または Claude モバイルアプリの Code タブで、入力ボックスの下にあるリポジトリセレクターをクリックし、Claude が作業するリポジトリを選択します。各リポジトリにはブランチセレクターが表示されます。デフォルトではなくフィーチャーブランチから Claude を開始するには、これを変更します。複数のリポジトリを追加して、1 つのセッションでそれらにまたがって作業することもできます。149 [claude.ai/code](https://claude.ai/code) または Claude モバイルアプリの Code タブで、入力ボックスの下にあるリポジトリセレクターをクリックし、Claude が作業するリポジトリを選択します。複数のリポジトリを追加して、1 つのセッションでそれらにまたがって作業することもできます。

150 

151 claude.ai/code で、デフォルトではなくフィーチャーブランチから Claude を開始するには、リポジトリセレクターの後にあるコントロールでブランチを変更します。

150 </Step>152 </Step>

151 153 

152 <Step title="権限モードを選択する">154 <Step title="権限モードを選択する">

workflows.md +3 −3

Details

99| :- | :- |99| :- | :- |

100| `↑` / `↓` | フェーズまたはエージェントを選択します |100| `↑` / `↓` | フェーズまたはエージェントを選択します |

101| `Enter` または `→` | 選択したフェーズをドリルダウンし、次にエージェントの詳細をドリルダウンします。詳細では、`Enter` で展開または折りたたみます |101| `Enter` または `→` | 選択したフェーズをドリルダウンし、次にエージェントの詳細をドリルダウンします。詳細では、`Enter` で展開または折りたたみます |

102| `Esc` または `←` | 1 レベル戻ります。v2.1.203 から v2.1.205 では、`←` はフェーズまたはエージェントから戻りませんでした。これらのバージョンでは `Esc` を使用してください |102| `Esc` または `←` | 1 レベル戻ります |

103| `j` / `k` | エージェント詳細がオーバーフローしたときにスクロールします |103| `j` / `k` | エージェント詳細がオーバーフローしたときにスクロールします |

104| `f` | 選択したフェーズのエージェントリストをステータスでフィルタリングします。もう一度押すとサイクルします |104| `f` | 選択したフェーズのエージェントリストをステータスでフィルタリングします。もう一度押すとサイクルします |

105| `p` | 実行を一時停止または再開します |105| `p` | 実行を一時停止または再開します |


167/effort ultracode167/effort ultracode

168```168```

169 169 

170ultracode が既にオンの状態でセッションを開始するには、`claude --effort ultracode` で起動します。これは努力レベルを `xhigh` に設定します。Claude Code v2.1.203 以降が必要です。170ultracode が既にオンの状態でセッションを開始するには、`claude --effort ultracode` で起動します。これにより effort レベルも `xhigh` に設定されます。

171 171 

172`/effort` スライダーからオンにするには、`Tab` を押して **Ultracode** トグルを反転させ、`Enter` を押して適用します。[努力レベルを調整する](/docs/ja/model-config#adjust-effort-level)は ultracode をオンにするルートをリストします。172`/effort` スライダーからオンにするには、`Tab` を押して **Ultracode** トグルを反転させ、`Enter` を押して適用します。[努力レベルを調整する](/docs/ja/model-config#adjust-effort-level)は ultracode をオンにするルートをリストします。

173 173 


527 サイズガイドラインを設定する527 サイズガイドラインを設定する

528</h3>528</h3>

529 529 

530サイズガイドラインは、動的ワークフローを作成するときに Claude が目指すエージェント数を Claude に指示します。Claude Code はガイドラインを上限ではなくアドバイスとして Claude に送信するため、異なるスケールを要求するプロンプトはそれでも上書きします。Claude Code v2.1.202 以降が必要です。530サイズガイドラインは、動的ワークフローを作成するときに Claude が目指すエージェント数を Claude に指示します。Claude Code はガイドラインを上限ではなくアドバイスとして Claude に送信するため、異なるスケールを要求するプロンプトはそれでも上書きします。

531 531 

532各値はエージェント数にマップされます。532各値はエージェント数にマップされます。

533 533