SpyBara
Go Premium

Documentation 2026-10-09 23:02 UTC to 2026-10-10 21:01 UTC

69 files changed +1,509 −703. View all changes and history on the product overview
2026
Sat 10 22: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

187 187 

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

189 189 

190* **`allowed_tools` / `allowedTools`** リストされたツールを自動承認します。許可されたツールリストに `["Read", "Glob", "Grep"]` がある読み取り専用エージェントは、プロンプトなしでそれらのツールを実行します。リストされていないツールは引き続き利用可能ですが、それらへの呼び出しで承認が必要な場合は、権限モードと `canUseTool` にフォールスルーします。190* **`allowed_tools` / `allowedTools`** リストされたツールを自動承認します。許可されたツールリストに `["Read", "Glob", "Grep"]` がある読み取り専用エージェントは、[ネットワークパス](/docs/ja/permissions#network-paths)からの読み取りを除き、プロンプトなしでそれらのツールを実行します。リストされていないツールは引き続き利用可能ですが、それらへの呼び出しで承認が必要な場合は、権限モードと `canUseTool` にフォールスルーします。

191* **`disallowed_tools` / `disallowedTools`** リストされたツールをブロックします。他の設定に関係なく。ツールが実行される前にルールがチェックされる順序については、[権限](/docs/ja/agent-sdk/permissions)を参照してください。191* **`disallowed_tools` / `disallowedTools`** リストされたツールをブロックします。他の設定に関係なく。ツールが実行される前にルールがチェックされる順序については、[権限](/docs/ja/agent-sdk/permissions)を参照してください。

192* **`permission_mode` / `permissionMode`** 必要な人間の監視の量を制御します。SDK は有効なモードと許可および拒否ルールを固定順序で評価します。詳細については、[権限がどのように評価されるか](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated)を参照してください。利用可能なモードについては、[権限モード](#permission-mode)を参照してください。192* **`permission_mode` / `permissionMode`** 必要な人間の監視の量を制御します。SDK は有効なモードと許可および拒否ルールを固定順序で評価します。詳細については、[権限がどのように評価されるか](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated)を参照してください。利用可能なモードについては、[権限モード](#permission-mode)を参照してください。

193 193 


263| `"default"` | 許可ルールでカバーされていないツール呼び出しは `canUseTool` コールバックをトリガーします。コールバックがない場合は拒否 | カスタム承認コールバックを備えたインタラクティブアプリケーション |263| `"default"` | 許可ルールでカバーされていないツール呼び出しは `canUseTool` コールバックをトリガーします。コールバックがない場合は拒否 | カスタム承認コールバックを備えたインタラクティブアプリケーション |

264| `"acceptEdits"` | ファイル編集と一般的なファイルシステムコマンド(`mkdir`、`touch`、`mv`、`cp` など)を自動承認します。他の Bash コマンドはデフォルトルールに従います | Claude の編集を信頼し、プロトタイピング中や隔離されたディレクトリで作業する場合など、より高速な反復を望む |264| `"acceptEdits"` | ファイル編集と一般的なファイルシステムコマンド(`mkdir`、`touch`、`mv`、`cp` など)を自動承認します。他の Bash コマンドはデフォルトルールに従います | Claude の編集を信頼し、プロトタイピング中や隔離されたディレクトリで作業する場合など、より高速な反復を望む |

265| `"plan"` | Claude はソースファイルを編集せずに探索して計画を作成します。ファイル編集は自動承認されず、`canUseTool` コールバックを通じてプロンプトされます | Claude が変更を提案するが実行しないようにしたい場合、例えばコードレビュー中または変更を実行する前に承認する必要がある場合 |265| `"plan"` | Claude はソースファイルを編集せずに探索して計画を作成します。ファイル編集は自動承認されず、`canUseTool` コールバックを通じてプロンプトされます | Claude が変更を提案するが実行しないようにしたい場合、例えばコードレビュー中または変更を実行する前に承認する必要がある場合 |

266| `"dontAsk"` | プロンプトしません。[権限ルール](/docs/ja/settings-reference#permission-settings)によって事前承認されたツールが実行され、`default` モードで承認が不要な呼び出し(作業ディレクトリ内のファイル読み取りなど)も実行されます。それ以外のプロンプトが表示される呼び出しはすべて拒否されます。`AskUserQuestion`、組織が[`ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools)したコネクタツール、および[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool)とマークされた MCP ツールは、許可していても拒否されます | ヘッドレスエージェント用に固定で明示的なツール表面を望み、`canUseTool` が存在しないことへの暗黙的な依存よりもハード拒否を優先する |266| `"dontAsk"` | プロンプトしません。[権限ルール](/docs/ja/settings-reference#permission-settings)によって事前承認されたツールが実行され、`default` モードで承認が不要な呼び出し(作業ディレクトリ内のファイル読み取りなど)も実行されます。それ以外のプロンプトが表示される呼び出しはすべて拒否されます。`AskUserQuestion`、組織が[`ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools)したコネクタツール、[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool)とマークされた MCP ツール、および[ネットワークパスからの読み取り](/docs/ja/permissions#network-paths)は、許可していても拒否されます | ヘッドレスエージェント用に固定で明示的なツールサーフェスを望み、`canUseTool` が存在しないことへの暗黙的な依存よりもハード拒否を優先する |

267| `"auto"` | モデル分類器を使用してシェルコマンドやネットワークリクエストなどのアクションをレビューし、レビューする各アクションを許可または拒否します。利用可能性と決定順序については、[Auto mode](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)を参照してください | ツール使用に対する安全ガードレールを望む自律型エージェント |267| `"auto"` | モデル分類器を使用してシェルコマンドやネットワークリクエストなどのアクションをレビューし、レビューする各アクションを許可または拒否します。利用可能性と決定順序については、[Auto mode](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)を参照してください | ツール使用に対する安全ガードレールを望む自律型エージェント |

268| `"bypassPermissions"` | 明示的な[`ask` ルール](/docs/ja/settings-reference#permission-settings)に一致するツール、組織が[`ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools)したコネクタツール、およびユーザーインタラクションが必要なツールを除き、尋ねずにすべての許可されたツールを実行します。[クロスセッションメッセージングセーフガード](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)は引き続き適用されます。権限がどのように評価されるかについては、[権限の評価方法](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated)を参照してください。TypeScript SDK では、`options` で `allowDangerouslySkipPermissions: true` も必要です。Unix でルートとして実行する場合は使用できません。エージェントのアクションが気にするシステムに影響を与えられない隔離環境でのみ使用します | CI、コンテナ、またはその他の隔離環境 |268| `"bypassPermissions"` | 明示的な[`ask` ルール](/docs/ja/settings-reference#permission-settings)に一致するツール、組織が[`ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools)したコネクタツール、およびユーザーインタラクションが必要なツールを除き、尋ねずにすべての許可されたツールを実行します。[クロスセッションメッセージングセーフガード](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)は引き続き適用されます。権限がどのように評価されるかについては、[権限の評価方法](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated)を参照してください。TypeScript SDK では、`options` で `allowDangerouslySkipPermissions: true` も必要です。Unix でルートとして実行する場合は使用できません。エージェントのアクションが気にするシステムに影響を与えられない隔離環境でのみ使用します | CI、コンテナ、またはその他の隔離環境 |

269 269 

agent-sdk/hooks.md +30 −30

Details

307 例307 例

308</h2>308</h2>

309 309 

310このセクションの例の多くはコールバック関数のみを示しています。実行するには、[フックの設定](#configure-hooks)に示されているように、コールバックをオプションの `hooks` フィールドの対応するイベントに登録してください。310このセクションのいくつかの例では、コールバック関数のみを示しています。実行するには、[フックを設定する](#configure-hooks)で示すように、オプションの `hooks` フィールドで対応するイベントの下にコールバックを登録してください。

311 311 

312<h3 id="modify-tool-input">312<h3 id="modify-tool-input">

313 ツール入力を変更する313 ツール入力を変更する

314</h3>314</h3>

315 315 

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

317 317 

318<CodeGroup>318<CodeGroup>

319 ```python Python theme={null}319 ```python Python theme={null}


361</CodeGroup>361</CodeGroup>

362 362 

363<Note>363<Note>

364 `updatedInput` を `permissionDecision: 'allow'` と組み合わせて変更された入力を自動承認するか、`permissionDecision: 'ask'` を使用してユーザーに表示します。`permissionDecision` を省略した場合、変更された入力は依然として適用され、通常の権限評価を通じて流れます。`'defer'` を使用する場合、`updatedInput` は無視されます。元の `tool_input` を変更するのではなく、常に新しいオブジェクトを返してください。364 変更後の入力を自動承認するには `updatedInput` と `permissionDecision: 'allow'` を組み合わせ、ユーザーに表示するには `permissionDecision: 'ask'` を組み合わせます。`permissionDecision` を省略した場合も変更後の入力は適用され、通常の権限評価を経由します。`'defer'` の場合、`updatedInput` は無視されます。元の `tool_input` を変更するのではなく、常に新しいオブジェクトを返してください。

365</Note>365</Note>

366 366 

367リダイレクトを確認するには、プレフィックスを書き込み可能なパス(`./sandbox` または `/tmp/sandbox` など)に設定します(macOS はルートレベルの `/sandbox` ディレクトリの作成を許可していません)。その後、エージェントにファイルを書き込むよう指示します。メッセージストリーム内の Write ツールの結果は、Claude が要求したパスではなく、サンドボックスプレフィックス付きのパスを示します。367リダイレクトを確認するには、プレフィックスを `./sandbox` や `/tmp/sandbox` など書き込み可能なパスに設定し(macOS ではルートレベルの `/sandbox` ディレクトリを作成できません)、エージェントにファイルの書き込みを依頼します。メッセージストリーム内の Write ツールの結果には、Claude が要求したパスではなく、サンドボックスのプレフィックスが付いたパスが示されます。

368 368 

369<h3 id="add-context-and-block-a-tool">369<h3 id="add-context-and-block-a-tool">

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

371</h3>371</h3>

372 372 

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

374 374 

375* `permissionDecision: 'deny'` はツール呼び出しを停止します。375* `permissionDecision: 'deny'` はツール呼び出しを停止します。

376* `permissionDecisionReason` はモデルに理由を伝えるため、再試行を避けます。376* `permissionDecisionReason` はモデルに理由を伝え、再試行を避けられるようにします。

377* `systemMessage` はユーザーに何が起こったかを表示します。377* `systemMessage` は何が起きたかをユーザーに表示します。

378 378 

379<CodeGroup>379<CodeGroup>

380 ```python Python theme={null}380 ```python Python theme={null}


418 ```418 ```

419</CodeGroup>419</CodeGroup>

420 420 

421リダイレクトをブロックを確認するには、コールバックを `PreToolUse` に `Write|Edit` マッチャーで登録し、エージェントに `/etc` の下にファイルを作成するよう指示します。メッセージストリーム内の Write ツールの結果に `Writing to /etc is not allowed` が含まれ、ファイルは作成されません。421ブロックが機能していることを確認するには、`Write|Edit` matcher を指定して `PreToolUse` の下にコールバックを登録し、エージェントに `/etc` 配下でのファイル作成を依頼します。メッセージストリーム内の Write ツールの結果に `Writing to /etc is not allowed` が含まれ、ファイルは作成されません。

422 422 

423<h3 id="auto-approve-specific-tools">423<h3 id="auto-approve-specific-tools">

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

425</h3>425</h3>

426 426 

427デフォルトでは、エージェントは特定のツールを使用する前に権限を求めるプロンプトを表示する場合があります。この例は `permissionDecision: 'allow'` を返すことで読み取り専用ファイルシステムツール(Read、Glob、Grep)を自動承認し、ユーザーの確認なしで実行できるようにしながら、他のすべてのツールは通常の権限チェックの対象のままにします。427デフォルトでは、エージェントは特定のツールを使用する前に権限を求めることがあります。この例では、`permissionDecision: 'allow'` を返すことで読み取り専用のファイルシステムツール(Read、Glob、Grep)を自動承認し、[ネットワークパス](/docs/ja/permissions#network-paths)からの読み取りを除いて、ユーザーの確認なしで実行できるようにします。その他のツールはすべて通常の権限チェックの対象のままです。

428 428 

429<CodeGroup>429<CodeGroup>

430 ```python Python theme={null}430 ```python Python theme={null}


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

469</h3>469</h3>

470 470 

471イベントが発火すると、すべての一致するフックが並列で実行されます。権限決定については、最も制限的な結果が適用されます。単一の `deny` は他のフックが何を返すかに関わらずツール呼び出しをブロックします。完了順序は非決定的であるため、別のフックが最初に実行されたことに依存するのではなく、各フックが独立して動作するように記述してください。471イベントが発生すると、一致するすべてのフックが並列に実行されます。権限の決定については、最も制限の厳しい結果が適用されます。1 つでも `deny` があれば、他のフックが何を返したかに関係なくツール呼び出しはブロックされます。完了順序は非決定的であるため、別のフックが先に実行されていることに依存せず、各フックが独立して動作するように記述してください。

472 472 

473以下の例は、すべてのツール呼び出しに対して 3 つの独立したチェックを登録します。例の中のフック名(Python の `audit_logger` や TypeScript の `auditLogger` など)は、定義するコールバックの代わりになります。473以下の例では、すべてのツール呼び出しに対して 3 つの独立したチェックを登録します。例中のフック名(Python の `audit_logger` や TypeScript の `auditLogger` など)は、ユーザーが定義するコールバックを表しています。

474 474 

475<CodeGroup>475<CodeGroup>

476 ```python Python theme={null}476 ```python Python theme={null}


499</CodeGroup>499</CodeGroup>

500 500 

501<h3 id="filter-with-multi-tool-matchers">501<h3 id="filter-with-multi-tool-matchers">

502 マルチツールマッチャーでフィルタリングする502 複数ツールの matcher でフィルタリングする

503</h3>503</h3>

504 504 

505マルチツールマッチャーを使用して、関連するツール間で 1 つのコールバックを共有します。この例は異なるスコープを持つ 3 つのマッチャーを登録し、各フックが名前の代わりになります。505複数ツールの matcher を使用すると、関連するツール間で 1 つのコールバックを共有できます。この例ではスコープの異なる 3 つの matcher を登録しており、例中の各フックはユーザーが定義するコールバックを表しています。

506 506 

507* パイプで区切られた正確なリスト(`Write|Edit|NotebookEdit`)は、ファイル変更ツールに対してのみ `file_security_hook` をトリガーします。507* パイプ区切りの完全一致リスト(`Write|Edit|NotebookEdit`)は、ファイル変更ツールに対してのみ `file_security_hook` をトリガーします。

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

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

510 510 

511<CodeGroup>511<CodeGroup>

512 ```python Python theme={null}512 ```python Python theme={null}


543</CodeGroup>543</CodeGroup>

544 544 

545<h3 id="track-subagent-activity">545<h3 id="track-subagent-activity">

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

547</h3>547</h3>

548 548 

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

550 550 

551<CodeGroup>551<CodeGroup>

552 ```python Python theme={null}552 ```python Python theme={null}


587 ```587 ```

588</CodeGroup>588</CodeGroup>

589 589 

590フックが発火することを確認するには、コールバックを登録し、エージェントに小さなタスクをサブエージェントに委譲するよう指示します。例えば、現在のディレクトリ内のファイルをリストアップするなど。サブエージェントが完了すると、コールバックはサブエージェントの ID とトランスクリプトパスを含む `[SUBAGENT] Completed:` 行を出力します。590フックが発火することを確認するには、コールバックを登録し、現在のディレクトリ内のファイル一覧の取得など、小さなタスクをサブエージェントに委任するようエージェントに依頼します。サブエージェントが完了すると、コールバックがサブエージェントの ID とトランスクリプトのパスを含む `[SUBAGENT] Completed:` の行を出力します。

591 591 

592<h3 id="make-http-requests-from-hooks">592<h3 id="make-http-requests-from-hooks">

593 フックから HTTP リクエストを実行する593 フックから HTTP リクエストを送信する

594</h3>594</h3>

595 595 

596フックは HTTP リクエストなどの非同期操作を実行できます。フックの内部でエラーをキャッチし、伝播させないようにしてください。596フックは HTTP リクエストなどの非同期操作を実行できます。エラーは伝播させず、フック内でキャッチしてください。

597 597 

598この例は各ツール完了後にウェブフックを送信し、どのツールが実行されたかと実行時刻をログに記録します。フックは失敗したウェブフックからのエラーをキャッチします。598この例では、各ツールの完了後に Webhook を送信し、どのツールがいつ実行されたかを記録します。フックは Webhook の失敗によるエラーをキャッチします。

599 599 

600<CodeGroup>600<CodeGroup>

601 ```python Python theme={null}601 ```python Python theme={null}


680 ```680 ```

681</CodeGroup>681</CodeGroup>

682 682 

683フックが発火することを確認するには、ウェブフック URL をウォッチできるエンドポイントに指定し、ツールを使用するプロンプトを送信します。フックは各ツール完了後にツール名とタイムスタンプを含む POST を送信します。683フックが発火することを確認するには、Webhook の URL を監視可能なエンドポイントに向け、ツールを使用するプロンプトを送信します。各ツールの完了後に、フックがツール名とタイムスタンプを含む POST を送信します。

684 684 

685<h3 id="forward-notifications-to-slack">685<h3 id="forward-notifications-to-slack">

686 Slack に通知を転送する686 通知を Slack に転送する

687</h3>687</h3>

688 688 

689`Notification` フックを使用して、エージェントからのシステム通知を受け取り、外部サービスに転送します。SDK セッションでは、Claude Code は以下の通知タイプに対してこのフックを実行します。689`Notification` フックを使用すると、エージェントからのシステム通知を受け取り、外部サービスに転送できます。SDK セッションでは、Claude Code は次の通知タイプに対してこのフックを実行します。

690 690 

691* [`permission_prompt`](/docs/ja/hooks#notification) は、権限リクエストが [`canUseTool` コールバック](/docs/ja/agent-sdk/user-input)で約 6 秒待機した後に 1 回発火します。TypeScript Agent SDK v0.3.233 以降または Python Agent SDK v0.2.139 以降が必要です。691* [`permission_prompt`](/docs/ja/hooks#notification):権限リクエストが [`canUseTool` コールバック](/docs/ja/agent-sdk/user-input)で約 6 秒間待機した時点で発生します。TypeScript Agent SDK v0.3.233 以降、または Python Agent SDK v0.2.139 以降が必要です

692* ユーザープロンプト引き出しフロー用の `elicitation_complete` および `elicitation_response`692* `elicitation_complete` および `elicitation_response`:ユーザーへの入力要求(elicitation)フロー用

693 693 

694Claude Code は、SDK セッションが実行しないインタラクティブ UI から `idle_prompt`、`auth_success`、`elicitation_dialog` などの他のタイプを発行します。694`idle_prompt`、`auth_success`、`elicitation_dialog` などのその他のタイプは、SDK セッションでは実行されないインタラクティブ UI から Claude Code が発行します。

695 695 

696各通知には、人間が読める説明を含む `message` フィールドと、オプションで `title` が含まれます。696各通知には、人間が読める説明を含む `message` フィールドと、オプションで `title` が含まれます。

697 697 

698この例は、すべての通知を Slack チャネルに転送します。[Slack 受信ウェブフック URL](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/) が必要です。これは、Slack ワークスペースにアプリを追加し、受信ウェブフックを有効にすることで作成します。698この例では、すべての通知を Slack チャンネルに転送します。[Slack の Incoming Webhook URL](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/) が必要です。これは、Slack ワークスペースにアプリを追加し、Incoming Webhook を有効にすることで作成できます。

699 699 

700<CodeGroup>700<CodeGroup>

701 ```python Python theme={null}701 ```python Python theme={null}


791 ```791 ```

792</CodeGroup>792</CodeGroup>

793 793 

794`Notification` イベントが発火すると、フックは通知の `message` を `Agent status:` というプレフィックス付きでウェブフックが対象とするチャネルに投稿します。794`Notification` イベントが発生すると、フックは通知の `message` の先頭に `Agent status:` を付けて、Webhook の送信先チャンネルに投稿します。

795 795 

796<h2 id="fix-common-issues">796<h2 id="fix-common-issues">

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

Details

44 `allow` ルール(`allowed_tools` および settings.json から)をチェックします。ルールがマッチした場合、ツールは承認されます。ツール自体が承認する呼び出しもこのステップで解決されます。ルールは不要です。例えば、作業ディレクトリ内のファイル読み取りまたは [読み取り専用 Bash コマンド](/docs/ja/permissions#read-only-commands)。44 `allow` ルール(`allowed_tools` および settings.json から)をチェックします。ルールがマッチした場合、ツールは承認されます。ツール自体が承認する呼び出しもこのステップで解決されます。ルールは不要です。例えば、作業ディレクトリ内のファイル読み取りまたは [読み取り専用 Bash コマンド](/docs/ja/permissions#read-only-commands)。

45 45 

46 `rm` および `rmdir` の削除で [重要なパス](/docs/ja/permission-modes#critical-paths) をターゲットとするものは、allow ルールによって決して承認されません。その後、コールバックに到達するかどうかは permission モードに依存します。例えば、`auto` モードの Agent SDK セッションでは、Claude Code はデフォルトでそれを呼び出さずに拒否します。[重要なパス](/docs/ja/permission-modes#critical-paths) モード表は、各モードがそれらで何をするかをリストしています。46 `rm` および `rmdir` の削除で [重要なパス](/docs/ja/permission-modes#critical-paths) をターゲットとするものは、allow ルールによって決して承認されません。その後、コールバックに到達するかどうかは permission モードに依存します。例えば、`auto` モードの Agent SDK セッションでは、Claude Code はデフォルトでそれを呼び出さずに拒否します。[重要なパス](/docs/ja/permission-modes#critical-paths) モード表は、各モードがそれらで何をするかをリストしています。

47 

48 allow ルールは、[ネットワークパス](/docs/ja/permissions#network-paths) からの読み取りを承認しません。

47 </Step>49 </Step>

48 50 

49 <Step title="canUseTool コールバック">51 <Step title="canUseTool コールバック">


60TypeScript SDK がコールバックが相談される前に呼び出しを自動承認することを期待する設定で `canUseTool` コールバックを渡す場合、SDK はクエリが構築されるときに Node.js プロセス警告を 1 回発行します。警告のコードは `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED` です。2 つの設定がそれをトリガーします。62TypeScript SDK がコールバックが相談される前に呼び出しを自動承認することを期待する設定で `canUseTool` コールバックを渡す場合、SDK はクエリが構築されるときに Node.js プロセス警告を 1 回発行します。警告のコードは `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED` です。2 つの設定がそれをトリガーします。

61 63 

62* `permissionMode: 'bypassPermissions'`。これは permission モードステップに到達するすべての呼び出しを自動承認します。ただし、[どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves) は除きます。64* `permissionMode: 'bypassPermissions'`。これは permission モードステップに到達するすべての呼び出しを自動承認します。ただし、[どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves) は除きます。

63* `"Read"` などの各裸の `allowedTools` エントリ。これはコールバックが相談される前にそのツール全体を自動承認します。ただし、[どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves) は除きます。65* `"Read"` などの各裸の `allowedTools` エントリ。これはコールバックが相談される前にそのツール全体を自動承認します。ただし、[どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves) および [ネットワークパスからの読み取り](/docs/ja/permissions#network-paths) は除きます。

64 66 

65`Bash(ls *)` などの指定子を持つエントリおよび `acceptEdits` モードはそれをトリガーしません。また、設定ファイルから来る allow ルールはチェックに表示されません。67`Bash(ls *)` などの指定子を持つエントリおよび `acceptEdits` モードはそれをトリガーしません。また、設定ファイルから来る allow ルールはチェックに表示されません。

66 68 


79 81 

80| オプション | 効果 |82| オプション | 効果 |

81| :- | :- |83| :- | :- |

82| `allowed_tools=["Read", "Grep"]` | `Read` と `Grep` は自動承認されます。ここにリストされていない他のツールは依然として存在し、承認が必要なそれらへの呼び出しは権限モードと `canUseTool` にフォールスルーします。 |84| `allowed_tools=["Read", "Grep"]` | `Read` と `Grep` は、[ネットワークパスからの読み取り](/docs/ja/permissions#network-paths)を除いて自動承認されます。ここにリストされていない他のツールは依然として存在し、承認が必要なそれらへの呼び出しは権限モードと `canUseTool` にフォールスルーします。 |

83| `disallowed_tools=["Bash"]` | `Bash` ツール定義はリクエストから削除されます。Claude はツールを認識せず、実行を試みることはできません。 |85| `disallowed_tools=["Bash"]` | `Bash` ツール定義はリクエストから削除されます。Claude はツールを認識せず、実行を試みることはできません。 |

84| `disallowed_tools=["Bash(rm *)"]` | `Bash` は利用可能なままです。`rm *`[に記載されているとおり](/docs/ja/permissions#bash-rule-limits)にマッチする呼び出しは、`bypassPermissions` を含むすべての権限モードで拒否されます。`/bin/rm` を含む他の `Bash` 呼び出しは、権限モードにフォールスルーします。 |86| `disallowed_tools=["Bash(rm *)"]` | `Bash` は利用可能なままです。`rm *`[に記載されているとおり](/docs/ja/permissions#bash-rule-limits)にマッチする呼び出しは、`bypassPermissions` を含むすべての権限モードで拒否されます。`/bin/rm` を含む他の `Bash` 呼び出しは、権限モードにフォールスルーします。 |

85| `disallowed_tools=["*"]` | すべてのツール定義がリクエストから削除されます。拒否ルールではツール名グロブがサポートされています:`"*"` はすべてのツールにマッチし、`"mcp__*"` はすべてのサーバー全体のすべての MCP ツールにマッチします。 |87| `disallowed_tools=["*"]` | すべてのツール定義がリクエストから削除されます。拒否ルールではツール名グロブがサポートされています:`"*"` はすべてのツールにマッチし、`"mcp__*"` はすべてのサーバー全体のすべての MCP ツールにマッチします。 |


95 97 

96 許可ルールは、`AskUserQuestion`、MCP ツール([`_meta["anthropic/requiresUserInteraction"]`](/docs/ja/mcp#require-approval-for-a-specific-tool)でマークされている)、コネクタツール([組織が `ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools))、および[重要なパス](/docs/ja/permission-modes#critical-paths)をターゲットとする `rm` と `rmdir` 削除を自動承認することはありません。`dontAsk` モードでは、Claude Code はこれらの呼び出しをコールバックを呼び出さずに拒否します。他のモードでは、最初の 3 つはコールバックに到達します。[権限モード](/docs/ja/permission-modes#critical-paths)に応じて、重要なパス削除はコールバックに到達するか、Claude Code はそれを呼び出さずに拒否します。デフォルトでは Agent SDK セッションの `auto` モードでそうするように、です。98 許可ルールは、`AskUserQuestion`、MCP ツール([`_meta["anthropic/requiresUserInteraction"]`](/docs/ja/mcp#require-approval-for-a-specific-tool)でマークされている)、コネクタツール([組織が `ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools))、および[重要なパス](/docs/ja/permission-modes#critical-paths)をターゲットとする `rm` と `rmdir` 削除を自動承認することはありません。`dontAsk` モードでは、Claude Code はこれらの呼び出しをコールバックを呼び出さずに拒否します。他のモードでは、最初の 3 つはコールバックに到達します。[権限モード](/docs/ja/permission-modes#critical-paths)に応じて、重要なパス削除はコールバックに到達するか、Claude Code はそれを呼び出さずに拒否します。デフォルトでは Agent SDK セッションの `auto` モードでそうするように、です。

97 99 

98 カバレッジはエントリの形式に依存します:`Read` や `mcp__github__get_issue` のような裸の名前は、上記の例外を除いて、そのツールへのすべての呼び出しを自動承認しますが、`Bash(npm test *)` のようなスコープ付きルールはマッチする呼び出しのみを自動承認し、承認が必要な他の `Bash` 呼び出しはコールバックにフォールスルーします。すべてのツール呼び出しで実行する必要があるチェックの場合は、[`PreToolUse` フック](/docs/ja/agent-sdk/hooks)を使用します:フックはすべての他のステップの前に実行され、フック拒否は `bypassPermissions` モードでも適用されます。100 カバレッジはエントリの形式に依存します:`Read` や `mcp__github__get_issue` のような裸の名前は、上記の例外と[ネットワークパスからの読み取り](/docs/ja/permissions#network-paths)を除いて、そのツールへのすべての呼び出しを自動承認しますが、`Bash(npm test *)` のようなスコープ付きルールはマッチする呼び出しのみを自動承認し、承認が必要な他の `Bash` 呼び出しはコールバックにフォールスルーします。すべてのツール呼び出しで実行する必要があるチェックの場合は、[`PreToolUse` フック](/docs/ja/agent-sdk/hooks)を使用します:フックはすべての他のステップの前に実行され、フック拒否は `bypassPermissions` モードでも適用されます。

99</Warning>101</Warning>

100 102 

101ロックダウンされたエージェントの場合、`allowedTools` を `permissionMode: "dontAsk"` と組み合わせます:103ロックダウンされたエージェントの場合、`allowedTools` を `permissionMode: "dontAsk"` と組み合わせます:


107};109};

108```110```

109 111 

110リストされたツールは承認されます。ただし、[モードが自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)を除きます。プロンプトを表示する他のすべての呼び出しは代わりに拒否されます。`default` モードで承認が不要な呼び出しは、リストするかどうかに関わらず実行されます。例えば、[読み取り専用 Bash コマンド](/docs/ja/permissions#read-only-commands)、`Agent` のような実行前に尋ねないツール、および作業ディレクトリ内のファイル読み取りなどです。ツールを Claude の到達範囲から完全に外すには、その裸の名前を `disallowedTools` に追加します。112リストされたツールは承認されます。ただし、[モードが自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)と[ネットワークパスからの読み取り](/docs/ja/permissions#network-paths)を除きます。プロンプトを表示する他のすべての呼び出しは代わりに拒否されます。`default` モードで承認が不要な呼び出しは、リストするかどうかに関わらず実行されます。例えば、[読み取り専用 Bash コマンド](/docs/ja/permissions#read-only-commands)、`Agent` のような実行前に尋ねないツール、および作業ディレクトリ内のファイル読み取りなどです。ツールをリクエストから完全に削除するには、その裸の名前を `disallowedTools` に追加します。

111 113 

112<Warning>114<Warning>

113 **`allowed_tools` は `bypassPermissions` を制約しません。** `allowed_tools` はリストしたツールを事前承認します。リストされていない他のツールは、許可ルールによってマッチされず、権限モードにフォールスルーします。ここで `bypassPermissions` はそれらを承認します。`allowed_tools=["Read"]` を `permission_mode="bypassPermissions"` と一緒に設定すると、`Bash`、`Write`、`Edit` を含むすべてのツールが承認されます。`bypassPermissions` が必要だが、特定のツールをブロックしたい場合は、`disallowed_tools` を使用します。115 **`allowed_tools` は `bypassPermissions` を制約しません。** `allowed_tools` はリストしたツールを事前承認します。リストされていない他のツールは、許可ルールによってマッチされず、権限モードにフォールスルーします。ここで `bypassPermissions` はそれらを承認します。`allowed_tools=["Read"]` を `permission_mode="bypassPermissions"` と一緒に設定すると、`Bash`、`Write`、`Edit` を含むすべてのツールが承認されます。`bypassPermissions` が必要だが、特定のツールをブロックしたい場合は、`disallowed_tools` を使用します。


139| モード | 説明 | ツール動作 |141| モード | 説明 | ツール動作 |

140| :- | :- | :- |142| :- | :- | :- |

141| `default` | 標準的な権限動作 | モードベースの自動承認なし。承認が必要で許可ルールに一致しないコールは、`canUseTool` コールバックをトリガーします |143| `default` | 標準的な権限動作 | モードベースの自動承認なし。承認が必要で許可ルールに一致しないコールは、`canUseTool` コールバックをトリガーします |

142| `dontAsk` | プロンプトの代わりに拒否 | それ以外の場合はプロンプトが表示されるコールは拒否されます。`allowed_tools` またはルールで承認されたコール、および `default` モードで承認が不要なコールは実行されます。コネクタツール([組織が `ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools))およびユーザーインタラクションが必要なツール、ならびに [重要なパス](/docs/ja/permission-modes#critical-paths) をターゲットとする `rm` および `rmdir` の削除は、事前に承認していても拒否されます。`canUseTool` は呼び出されません |144| `dontAsk` | プロンプトの代わりに拒否 | それ以外の場合はプロンプトが表示されるコールは拒否されます。`allowed_tools` またはルールで承認されたコール、および `default` モードで承認が不要なコールは実行されます。コネクタツール([組織が `ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools))、ユーザーインタラクションが必要なツール、[ネットワークパスからの読み取り](/docs/ja/permissions#network-paths)、ならびに [重要なパス](/docs/ja/permission-modes#critical-paths) をターゲットとする `rm` および `rmdir` の削除は、事前に承認していても拒否されます。`canUseTool` は呼び出されません |

143| `acceptEdits` | ファイル編集を自動承認 | ファイル編集および [ファイルシステム操作](#accept-edits-mode-acceptedits)(`mkdir`、`rm`、`mv` など)は自動的に承認されます |145| `acceptEdits` | ファイル編集を自動承認 | ファイル編集および [ファイルシステム操作](#accept-edits-mode-acceptedits)(`mkdir`、`rm`、`mv` など)は自動的に承認されます |

144| `bypassPermissions` | 権限チェックをバイパス | [モードが自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves) を除き、ツールは権限プロンプトなしで実行されます。注意して使用してください |146| `bypassPermissions` | 権限チェックをバイパス | [モードが自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves) を除き、ツールは権限プロンプトなしで実行されます。注意して使用してください |

145| `plan` | 計画モード | Claude はソースファイルを編集せずに探索と計画を行います。ファイル編集は自動承認されず、`canUseTool` コールバックを通じてプロンプトが表示されます |147| `plan` | 計画モード | Claude はソースファイルを編集せずに探索と計画を行います。ファイル編集は自動承認されず、`canUseTool` コールバックを通じてプロンプトが表示されます |


286 質問しないモード(`dontAsk`)288 質問しないモード(`dontAsk`)

287</h4>289</h4>

288 290 

289`canUseTool` を呼び出さずに、権限プロンプトを拒否に変換します。`allowed_tools`、`settings.json` 許可ルール、またはフックで事前承認されたツール、および `default` モードで承認が不要なコール(作業ディレクトリ内のファイル読み取りや `Agent` への呼び出しなど)は通常どおり実行されます。コネクタツール([組織が `ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools))、ユーザーインタラクションが必要なツール、および [重要なパス](/docs/ja/permission-modes#critical-paths) をターゲットとする `rm` および `rmdir` の削除は、許可ルールが一致する場合でも拒否されます。`PreToolUse` フック許可は、重要なパス削除をクリアしません。291`canUseTool` を呼び出さずに、権限プロンプトを拒否に変換します。`allowed_tools`、`settings.json` 許可ルール、またはフックで事前承認されたツール、および `default` モードで承認が不要なコール(作業ディレクトリ内のファイル読み取りや `Agent` への呼び出しなど)は通常どおり実行されます。コネクタツール([組織が `ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools))、ユーザーインタラクションが必要なツール、[ネットワークパスからの読み取り](/docs/ja/permissions#network-paths)、および [重要なパス](/docs/ja/permission-modes#critical-paths) をターゲットとする `rm` および `rmdir` の削除は、許可ルールが一致する場合でも拒否されます。`PreToolUse` フックによる許可も、重要なパスの削除やネットワークパスからの読み取りをクリアしません。

290 292 

291**使用時期:** ヘッドレスエージェント用に固定された明示的なツールサーフェスを望み、`canUseTool` が存在しないことへの暗黙的な依存よりもハード拒否を優先する場合。293**使用時期:** ヘッドレスエージェント用に固定された明示的なツールサーフェスを望み、`canUseTool` が存在しないことへの暗黙的な依存よりもハード拒否を優先する場合。

292 294 

Details

518 print(session.summary)518 print(session.summary)

519```519```

520 520 

521<h3 id="fork_session">

522 `fork_session()`

523</h3>

524 

525セッションのトランスクリプトを新しいセッションにコピーし、元のセッションを変更せずに会話を別の方向に進められるようにします。会話の途中の時点から分岐するには、`up_to_message_id` を渡します。同期的です。

526 

527```python theme={null}

528def fork_session(

529 session_id: str,

530 directory: str | None = None,

531 up_to_message_id: str | None = None,

532 title: str | None = None,

533) -> ForkSessionResult

534```

535 

536<h4 id="parameters-9">

537 パラメータ

538</h4>

539 

540| パラメータ | 型 | デフォルト | 説明 |

541| :- | :- | :- | :- |

542| `session_id` | `str` | 必須 | フォークするセッションの UUID |

543| `directory` | `str \| None` | `None` | プロジェクトディレクトリパス。省略した場合、すべてのプロジェクトディレクトリを検索します |

544| `up_to_message_id` | `str \| None` | `None` | この UUID を持つメッセージまで(そのメッセージを含む)トランスクリプトをコピーします。UUID には [`get_session_messages()`](#get_session_messages) から取得した `uuid` などを指定します。省略した場合、トランスクリプト全体をコピーします |

545| `title` | `str \| None` | `None` | フォークのタイトル。省略した場合、SDK は元のセッションからタイトルを導出し、その後に `(fork)` を付けます |

546 

547`session_id` が新しいセッションの UUID である `ForkSessionResult` を返します。フォークを続行するには、これを [`resume`](#claudeagentoptions) として渡します。フォークには元のセッションの[ファイルチェックポイント](/docs/ja/agent-sdk/file-checkpointing)が含まれないため、フォーク前に取得したチェックポイントまで巻き戻すことはできません。

548 

549`fork_session()` は次の例外を発生させます:

550 

551* `ValueError`:`session_id` または `up_to_message_id` が有効な UUID ではない

552* `ValueError`:セッションにメッセージがない、または `up_to_message_id` がトランスクリプト内のどのメッセージにも一致しない

553* `FileNotFoundError`:セッションが見つからない

554 

555<h4 id="example-8">

556 例

557</h4>

558 

559最新のセッションを新しいタイトルでフォークし、そのフォークを再開します。元のセッションは独自の履歴を保持します。

560 

561```python theme={null}

562from claude_agent_sdk import fork_session, list_sessions

563 

564sessions = list_sessions(directory="/path/to/project", limit=1)

565if sessions:

566 forked = fork_session(sessions[0].session_id, title="Try the OAuth approach")

567 print(forked.session_id) # pass as ClaudeAgentOptions(resume=...) to continue the fork

568```

569 

521<h2 id="classes">570<h2 id="classes">

522 クラス571 クラス

523</h2>572</h2>


919| プロパティ | 型 | デフォルト | 説明 |968| プロパティ | 型 | デフォルト | 説明 |

920| :- | :- | :- | :- |969| :- | :- | :- | :- |

921| `tools` | `list[str] \| ToolsPreset \| None` | `None` | ツール設定。Claude Codeのデフォルトツールには`{"type": "preset", "preset": "claude_code"}`を使用します |970| `tools` | `list[str] \| ToolsPreset \| None` | `None` | ツール設定。Claude Codeのデフォルトツールには`{"type": "preset", "preset": "claude_code"}`を使用します |

922| `allowed_tools` | `list[str]` | `[]` | プロンプトなしで自動承認するツール。これはClaudeをこれらのツールのみに制限しません。ここで[タスク追跡ツール](/docs/ja/agent-sdk/todo-tracking#model-availability)の1つに名前を付けた場合、Claude Codeもセッションをオプトインします。その他のリストされていないツールは`permission_mode`と`can_use_tool`を通じて処理されます。`disallowed_tools`を使用してツールをブロックします。[権限](/docs/ja/agent-sdk/permissions#allow-and-deny-rules)を参照してください |971| `allowed_tools` | `list[str]` | `[]` | プロンプトなしで自動承認するツール([ネットワークパス](/docs/ja/permissions#network-paths)からの読み取りを除く)。これはClaudeをこれらのツールのみに制限しません。ここで[タスク追跡ツール](/docs/ja/agent-sdk/todo-tracking#model-availability)の1つに名前を付けた場合、Claude Codeもセッションをオプトインします。その他のリストされていないツールは`permission_mode`と`can_use_tool`を通じて処理されます。`disallowed_tools`を使用してツールをブロックします。[権限](/docs/ja/agent-sdk/permissions#allow-and-deny-rules)を参照してください |

923| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | システムプロンプト設定。カスタムプロンプトの場合は文字列を渡し、Claude Codeのシステムプロンプトの場合は`{"type": "preset", "preset": "claude_code"}`をオプションの`"append"`で渡すか、カスタムプロンプトの場合は`{"type": "custom", "prompt": "..."}`を渡して`"snapshot"`も設定するか、`{"type": "file", "path": "..."}`でディスクから大きなプロンプトを読み込みます。[`SystemPromptPreset`](#systempromptpreset)、[`SystemPromptCustom`](#systempromptcustom)、[`SystemPromptFile`](#systempromptfile)を参照してください |972| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | システムプロンプト設定。カスタムプロンプトの場合は文字列を渡し、Claude Codeのシステムプロンプトの場合は`{"type": "preset", "preset": "claude_code"}`をオプションの`"append"`で渡すか、カスタムプロンプトの場合は`{"type": "custom", "prompt": "..."}`を渡して`"snapshot"`も設定するか、`{"type": "file", "path": "..."}`でディスクから大きなプロンプトを読み込みます。[`SystemPromptPreset`](#systempromptpreset)、[`SystemPromptCustom`](#systempromptcustom)、[`SystemPromptFile`](#systempromptfile)を参照してください |

924| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCPサーバー設定または設定ファイルへのパス |973| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCPサーバー設定または設定ファイルへのパス |

925| `strict_mcp_config` | `bool` | `False` | `True`の場合、`mcp_servers`で渡されたサーバーのみを使用し、プロジェクト`.mcp.json`、ユーザー設定、プラグイン提供のMCPサーバー、および[claude.aiコネクタ](/docs/ja/mcp#use-mcp-servers-from-claude-ai)を無視します。CLI`--strict-mcp-config`フラグにマップされます |974| `strict_mcp_config` | `bool` | `False` | `True`の場合、`mcp_servers`で渡されたサーバーのみを使用し、プロジェクト`.mcp.json`、ユーザー設定、プラグイン提供のMCPサーバー、および[claude.aiコネクタ](/docs/ja/mcp#use-mcp-servers-from-claude-ai)を無視します。CLI`--strict-mcp-config`フラグにマップされます |


1849* `terminal_reason`:クエリループが終了した理由。例:`"completed"`、`"max_turns"`、`"api_error"`、`"aborted_streaming"`、または `"aborted_tools"`。`"aborted_streaming"` または `"aborted_tools"` の値は、ターンが完了する前に中止されたことを意味します。一般的な原因は [`interrupt()`](#claudesdkclient) と、`interrupt=True` で [`PermissionResultDeny`](#permissionresultdeny) を返すパーミッション コールバックです。CLI バージョンがフィールドより前の場合、`/voice` や `/usage` などのローカルコマンドの結果(クエリループをバイパス)、またはセッションが致命的に失敗したときに発行される合成エラー結果の場合は `None`。TypeScript SDK の [`SDKResultMessage.terminal_reason`](/docs/ja/agent-sdk/typescript#sdkresultmessage) を反映しており、値の完全なセットをリストしています。1898* `terminal_reason`:クエリループが終了した理由。例:`"completed"`、`"max_turns"`、`"api_error"`、`"aborted_streaming"`、または `"aborted_tools"`。`"aborted_streaming"` または `"aborted_tools"` の値は、ターンが完了する前に中止されたことを意味します。一般的な原因は [`interrupt()`](#claudesdkclient) と、`interrupt=True` で [`PermissionResultDeny`](#permissionresultdeny) を返すパーミッション コールバックです。CLI バージョンがフィールドより前の場合、`/voice` や `/usage` などのローカルコマンドの結果(クエリループをバイパス)、またはセッションが致命的に失敗したときに発行される合成エラー結果の場合は `None`。TypeScript SDK の [`SDKResultMessage.terminal_reason`](/docs/ja/agent-sdk/typescript#sdkresultmessage) を反映しており、値の完全なセットをリストしています。

1850* `origin`:このターンをトリガーしたユーザーメッセージの出所。[ストリーミング入力モード](/docs/ja/agent-sdk/streaming-vs-single-mode) では、これをチェックして、`origin` が `None` または `{"kind": "human"}` である独自のプロンプトの結果と、バックグラウンドタスク通知などの注入されたターンの結果を区別します。Python Agent SDK 0.2.137 以降が必要です。1899* `origin`:このターンをトリガーしたユーザーメッセージの出所。[ストリーミング入力モード](/docs/ja/agent-sdk/streaming-vs-single-mode) では、これをチェックして、`origin` が `None` または `{"kind": "human"}` である独自のプロンプトの結果と、バックグラウンドタスク通知などの注入されたターンの結果を区別します。Python Agent SDK 0.2.137 以降が必要です。

1851 1900 

1901複数のバックグラウンドタスクが近いタイミングで終了した場合、Claude Code はそれらの通知にそれぞれ 1 ターンずつではなく、1 つのターンでまとめて応答することがあります。その場合でも、通知ごとに 1 つの `ResultMessage` が順番に届き、それぞれの `origin` の `kind` は `"task-notification"` です。最後のもの以外は `num_turns` が `0` に設定され、`result` は空になります。最後のものが、すべての通知に応答したターンを保持します。

1902 

1852`usage` dict はメインエージェントループのみをカバーし、サブエージェントおよび他のネストされた、または補助的なモデル呼び出しを除外します。[ストリーミング入力モード](/docs/ja/agent-sdk/streaming-vs-single-mode) では、値はターンごとです。トークンとコストのアカウンティングについては `model_usage` を優先してください。`usage` dict は、存在する場合、以下のキーを含みます:1903`usage` dict はメインエージェントループのみをカバーし、サブエージェントおよび他のネストされた、または補助的なモデル呼び出しを除外します。[ストリーミング入力モード](/docs/ja/agent-sdk/streaming-vs-single-mode) では、値はターンごとです。トークンとコストのアカウンティングについては `model_usage` を優先してください。`usage` dict は、存在する場合、以下のキーを含みます:

1853 1904 

1854| キー | 型 | 説明 |1905| キー | 型 | 説明 |


1948 1999 

1949| フィールド | 型 | 説明 |2000| フィールド | 型 | 説明 |

1950| :- | :- | :- |2001| :- | :- | :- |

1951| `status` | `RateLimitStatus` | 現在のステータス。`"allowed_warning"` は制限に近づいていることを意味します。`"rejected"` は制限に達したことを意味します |2002| `status` | `RateLimitStatus` | 現在のステータス。`"allowed"`、`"allowed_warning"`、または `"rejected"` のいずれかです。`"allowed_warning"` は制限に近づいていることを意味します。`"rejected"` は制限に達したことを意味します |

1952| `resets_at` | `int \| None` | レート制限ウィンドウがリセットされる Unix タイムスタンプ |2003| `resets_at` | `int \| None` | レート制限ウィンドウがリセットされる Unix タイムスタンプ |

1953| `rate_limit_type` | `RateLimitType \| None` | どのレート制限ウィンドウが適用されるか |2004| `rate_limit_type` | `RateLimitType \| None` | どのレート制限ウィンドウが適用されるか |

1954| `utilization` | `float \| None` | 消費されたレート制限の割合(0.0 から 1.0) |2005| `utilization` | `float \| None` | 消費されたレート制限の割合(0.0 から 1.0) |

Details

360* [`renameSession()`](/docs/ja/agent-sdk/typescript#renamesession)360* [`renameSession()`](/docs/ja/agent-sdk/typescript#renamesession)

361* [`tagSession()`](/docs/ja/agent-sdk/typescript#tagsession)361* [`tagSession()`](/docs/ja/agent-sdk/typescript#tagsession)

362* [`deleteSession()`](/docs/ja/agent-sdk/typescript)362* [`deleteSession()`](/docs/ja/agent-sdk/typescript)

363* [`forkSession()`](/docs/ja/agent-sdk/typescript)363* [`forkSession()`](/docs/ja/agent-sdk/typescript#forksession)

364* [`listSubagents()`](/docs/ja/agent-sdk/typescript)364* [`listSubagents()`](/docs/ja/agent-sdk/typescript)

365* [`getSubagentMessages()`](/docs/ja/agent-sdk/typescript)365* [`getSubagentMessages()`](/docs/ja/agent-sdk/typescript)

366 366 

Details

293 293 

294 任意の作業ディレクトリからセッションを再開できます:294 任意の作業ディレクトリからセッションを再開できます:

295 295 

296 * **クロスディレクトリルックアップ**:Claude Code は現在のプロジェクトディレクトリを超えて ID を検索します。正確なルックアップ順序と重複コピーの処理方法については、[セッションを再開する](/docs/ja/sessions#resume-a-session)を参照してください。296 * **クロスディレクトリルックアップ**:Claude Code は現在のプロジェクトディレクトリを超えて ID を検索します。正確なルックアップ順序と重複コピーの処理方法については、[セッションを再開する](/docs/ja/sessions#where-the-session-picker-looks)を参照してください。

297 * **同じマシンのみ**:セッションファイルは現在のマシンに存在する必要があります。297 * **同じマシンのみ**:セッションファイルは現在のマシンに存在する必要があります。

298 298 

299 v2.1.223 より前では、ルックアップは現在のプロジェクトディレクトリとその git worktrees にスコープされていました。古い CLI をバンドルする SDK バージョンはこのように動作します。299 v2.1.223 より前では、ルックアップは現在のプロジェクトディレクトリとその git worktrees にスコープされていました。古い CLI をバンドルする SDK バージョンはこのように動作します。


423 423 

424* **セッションファイルを移動します。** 最初の実行から `~/.claude/projects/<encoded-cwd>/<session-id>.jsonl` を保持し、`resume` を呼び出す前に新しいホスト上の `~/.claude/projects/` の下の任意のディレクトリ内に復元します。424* **セッションファイルを移動します。** 最初の実行から `~/.claude/projects/<encoded-cwd>/<session-id>.jsonl` を保持し、`resume` を呼び出す前に新しいホスト上の `~/.claude/projects/` の下の任意のディレクトリ内に復元します。

425 425 

426 Claude Code は現在のプロジェクトディレクトリを超えて検索して ID を見つけます。正確な検索順序と重複コピーの処理方法については、[セッションを再開する](/docs/ja/sessions#resume-a-session)を参照してください。v2.1.223 より前では、検索は現在のプロジェクトディレクトリとその git worktrees にスコープされていました。古い CLI をバンドルする SDK バージョンは引き続きこのように動作します。426 Claude Code は現在のプロジェクトディレクトリを超えて検索して ID を見つけます。正確な検索順序と重複コピーの処理方法については、[セッションを再開する](/docs/ja/sessions#where-the-session-picker-looks)を参照してください。v2.1.223 より前では、検索は現在のプロジェクトディレクトリとその git worktree にスコープされていました。古い CLI をバンドルする SDK バージョンは引き続きこのように動作します。

427 427 

428* **セッション再開に依存しないでください。** 必要な結果(分析出力、決定、ファイル差分)をアプリケーション状態としてキャプチャし、新しいセッションのプロンプトに渡します。これは多くの場合、トランスクリプトファイルを周りに配送するよりも堅牢です。428* **セッション再開に依存しないでください。** 必要な結果(分析出力、決定、ファイル差分)をアプリケーション状態としてキャプチャし、新しいセッションのプロンプトに渡します。これは多くの場合、トランスクリプトファイルを周りに配送するよりも堅牢です。

429 429 

Details

124 124 

125部分メッセージが有効でない場合、`StreamEvent` を除くすべてのメッセージタイプを受け取ります。一般的なタイプには `SystemMessage`(セッション初期化)、`AssistantMessage`(完全なコンテンツブロック)、`ResultMessage`(最終結果)、および会話履歴がコンパクト化されたときを示すコンパクト境界メッセージ(TypeScript では `SDKCompactBoundaryMessage`、Python では subtype `"compact_boundary"` の `SystemMessage`)が含まれます。125部分メッセージが有効でない場合、`StreamEvent` を除くすべてのメッセージタイプを受け取ります。一般的なタイプには `SystemMessage`(セッション初期化)、`AssistantMessage`(完全なコンテンツブロック)、`ResultMessage`(最終結果)、および会話履歴がコンパクト化されたときを示すコンパクト境界メッセージ(TypeScript では `SDKCompactBoundaryMessage`、Python では subtype `"compact_boundary"` の `SystemMessage`)が含まれます。

126 126 

127<h3 id="handle-a-stream-that’s-cut-off">

128 途中で切断されたストリームを処理する

129</h3>

130 

131ターンを中断した場合や接続が切れた場合など、ストリームがメッセージの途中で切断された場合でも、ターンが終了する前にそのメッセージの `message_stop` を受け取ります。切断されたテキストブロックまたは思考ブロックには `content_block_stop` も送られます。切断されたツール呼び出しには送られないため、ツール呼び出しのブロックがまだ開いている間に `message_stop` が到着した場合は、その呼び出しの入力を不完全なものとして扱ってください。

132 

133Claude Code v2.1.290 より前では、切断されたストリームが `message_stop` なしでターンを終了することがあり、ストリームイベントからレンダリングした応答が進行中のまま表示され続ける可能性がありました。TypeScript Agent SDK は v0.3.290 以降、Python Agent SDK は v0.2.164 以降で Claude Code v2.1.290 以降をバンドルしています。ターンの終了後も応答が進行中のまま表示される場合は、SDK を更新してください。

134 

127<h2 id="stream-tool-calls">135<h2 id="stream-tool-calls">

128 ツール呼び出しをストリーミングする136 ツール呼び出しをストリーミングする

129</h2>137</h2>

Details

464| `tag` | `string \| null` | 必須 | タグ文字列、またはクリアする場合は `null` |464| `tag` | `string \| null` | 必須 | タグ文字列、またはクリアする場合は `null` |

465| `options.dir` | `string` | `undefined` | プロジェクトディレクトリパス。省略した場合、すべてのプロジェクトディレクトリを検索します |465| `options.dir` | `string` | `undefined` | プロジェクトディレクトリパス。省略した場合、すべてのプロジェクトディレクトリを検索します |

466 466 

467<h3 id="forksession">

468 `forkSession()`

469</h3>

470 

471セッションのトランスクリプトを新しいセッションにコピーし、元のセッションを変更しないまま会話を別の方向に進められるようにします。会話の以前の時点から分岐するには、`upToMessageId` を渡します。

472 

473```typescript theme={null}

474function forkSession(

475 sessionId: string,

476 options?: ForkSessionOptions

477): Promise<ForkSessionResult>;

478```

479 

480<h4 id="parameters-10">

481 パラメータ

482</h4>

483 

484| パラメータ | 型 | デフォルト | 説明 |

485| :- | :- | :- | :- |

486| `sessionId` | `string` | 必須 | フォークするセッションの UUID |

487| `options.dir` | `string` | `undefined` | プロジェクトディレクトリパス。省略した場合、すべてのプロジェクトディレクトリを検索します |

488| `options.upToMessageId` | `string` | `undefined` | この `uuid` を持つメッセージまで(そのメッセージを含む)トランスクリプトをコピーします。値は [`getSessionMessages()`](#getsessionmessages) から取得したもの、またはストリーミングした [`SDKUserMessage`](#sdkusermessage) に設定した `uuid` です。省略した場合、トランスクリプト全体をコピーします |

489| `options.title` | `string` | `undefined` | フォークのタイトル。省略した場合、SDK は元のセッションからタイトルを導出し、その後に `(fork)` を付けます |

490 

491新しいセッションの UUID である `{ sessionId }` を返します。フォークを続行するには、これを [`resume`](#options) として渡します。フォークには元のセッションの [ファイルチェックポイント](/docs/ja/agent-sdk/file-checkpointing) が含まれないため、フォーク前に取得したチェックポイントまで巻き戻すことはできません。

492 

493`forkSession()` は次の場合にスローします。

494 

495* `sessionId` が UUID ではない

496* セッションが見つからない、またはメッセージがない

497* `upToMessageId` がトランスクリプト内のどのメッセージとも一致しない

498 

467<h3 id="resolvesettings">499<h3 id="resolvesettings">

468 `resolveSettings()`500 `resolveSettings()`

469</h3>501</h3>


486): Promise<ResolvedSettings>;518): Promise<ResolvedSettings>;

487```519```

488 520 

489<h4 id="parameters-10">521<h4 id="parameters-11">

490 パラメータ522 パラメータ

491</h4>523</h4>

492 524 


547| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | サブエージェントをプログラムで定義します |579| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | サブエージェントをプログラムで定義します |

548| `agentProgressSummaries` | `boolean` | `false` | `true` の場合、サブエージェントの 1 行の進捗サマリーを生成し、`summary` フィールドを介して [`task_progress`](#sdktaskprogressmessage) イベントで転送します。フォアグラウンドとバックグラウンドの両方のサブエージェントに適用されます |580| `agentProgressSummaries` | `boolean` | `false` | `true` の場合、サブエージェントの 1 行の進捗サマリーを生成し、`summary` フィールドを介して [`task_progress`](#sdktaskprogressmessage) イベントで転送します。フォアグラウンドとバックグラウンドの両方のサブエージェントに適用されます |

549| `allowDangerouslySkipPermissions` | `boolean` | `false` | 権限のバイパスを有効にします。起動時、または後から `setPermissionMode()` を通じて `permissionMode: 'bypassPermissions'` を使用する場合に必要です。`permissionMode: 'plan'` との相互作用については [plan モード](/docs/ja/agent-sdk/permissions#plan-mode-plan)を参照してください |581| `allowDangerouslySkipPermissions` | `boolean` | `false` | 権限のバイパスを有効にします。起動時、または後から `setPermissionMode()` を通じて `permissionMode: 'bypassPermissions'` を使用する場合に必要です。`permissionMode: 'plan'` との相互作用については [plan モード](/docs/ja/agent-sdk/permissions#plan-mode-plan)を参照してください |

550| `allowedTools` | `string[]` | `[]` | プロンプトを表示せずに自動承認するツール。これは Claude をこれらのツールのみに制限するものではありません。ここで[タスク追跡ツール](/docs/ja/agent-sdk/todo-tracking#model-availability)のいずれかを指定すると、Claude Code はセッションでもその機能を有効にします。リストにない他のツールは `permissionMode` と `canUseTool` にフォールスルーします。ツールをブロックするには `disallowedTools` を使用します。[権限](/docs/ja/agent-sdk/permissions#allow-and-deny-rules)を参照してください |582| `allowedTools` | `string[]` | `[]` | [ネットワークパス](/docs/ja/permissions#network-paths)からの読み取りを除き、確認なしで自動承認するツール。これは Claude が使用できるツールをこれらだけに制限するものではありません。ここで[タスク追跡ツール](/docs/ja/agent-sdk/todo-tracking#model-availability)のいずれかを指定すると、Claude Code はセッションでその機能も有効にします。リストにないその他のツールは `permissionMode` と `canUseTool` に委ねられます。ツールをブロックするには `disallowedTools` を使用します。[権限](/docs/ja/agent-sdk/permissions#allow-and-deny-rules)を参照してください |

551| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | ベータ機能を有効にします |583| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | ベータ機能を有効にします |

552| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | カスタム権限関数。[権限フロー](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated)がプロンプトにフォールスルーした場合にのみ呼び出されます。`allowedTools`、許可ルール、または `permissionMode` によって自動承認された呼び出しでは呼び出されません。許可ルールは、[どのモードでも自動承認されないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)を事前承認しません。詳細は [`CanUseTool`](#canusetool) を参照してください |584| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | カスタム権限関数。[権限フロー](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated)がプロンプトにフォールスルーした場合にのみ呼び出されます。`allowedTools`、許可ルール、または `permissionMode` によって自動承認された呼び出しでは呼び出されません。許可ルールは、[どのモードでも自動承認されないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)を事前承認しません。詳細は [`CanUseTool`](#canusetool) を参照してください |

553| `continue` | `boolean` | `false` | 最新の会話を続行します |585| `continue` | `boolean` | `false` | 最新の会話を続行します |


1588 1620 

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

1590 1622 

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

1592 1624 

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

1594 1626 


1631 1663 

1632`message.content` のどの部分をユーザーが入力したのではなく貼り付けたのかを Claude Code に伝えるには、`inline_pastes` を設定します。貼り付け 1 回につき 1 つの文字列を指定します。プロンプトのテキストはユーザーが置いた位置のままです。Claude Code は、Claude が貼り付けられた内容とユーザー自身の言葉を区別できるよう、リストに含まれる各貼り付けをその位置で `<pasted_content>` タグで囲むことがあります。囲まれるのは、プロンプトの最後のテキストブロック内の貼り付けのみです。TypeScript Agent SDK v0.3.280 以降が必要です。1664`message.content` のどの部分をユーザーが入力したのではなく貼り付けたのかを Claude Code に伝えるには、`inline_pastes` を設定します。貼り付け 1 回につき 1 つの文字列を指定します。プロンプトのテキストはユーザーが置いた位置のままです。Claude Code は、Claude が貼り付けられた内容とユーザー自身の言葉を区別できるよう、リストに含まれる各貼り付けをその位置で `<pasted_content>` タグで囲むことがあります。囲まれるのは、プロンプトの最後のテキストブロック内の貼り付けのみです。TypeScript Agent SDK v0.3.280 以降が必要です。

1633 1665 

1666各貼り付けフィールドにはサイズ制限があります。

1667 

1668* `pasted_content`: エントリとその中のコンテンツブロックの合計が 1,000 を超える場合、Claude Code はフィールド全体を無視します。

1669* `inline_pastes`: Claude Code は空白でない最初の 100 エントリを使用し、残りは無視します。

1670 

1634`shouldQuery`、`client_composed`、または `priority` を設定すると、送信したメッセージを Claude Code がどのように扱うかを変更できます。1671`shouldQuery`、`client_composed`、または `priority` を設定すると、送信したメッセージを Claude Code がどのように扱うかを変更できます。

1635 1672 

1636* `shouldQuery`: `false` に設定すると、アシスタントのターンを開始せずにメッセージをトランスクリプトに追加します。メッセージは保持され、ターンを開始する次のユーザーメッセージにマージされます。帯域外で実行したコマンドの出力などのコンテキストを、モデル呼び出しを消費せずに注入するために使用します。1673* `shouldQuery`: `false` に設定すると、アシスタントのターンを開始せずにメッセージをトランスクリプトに追加します。メッセージは保持され、ターンを開始する次のユーザーメッセージにマージされます。帯域外で実行したコマンドの出力などのコンテキストを、モデル呼び出しを消費せずに注入するために使用します。


1661* `'now'` メッセージを届けるために Claude Code がバックグラウンドに移した WebFetch または WebSearch の呼び出し: その呼び出しの `tool_result` を含むユーザーメッセージでは、`tool_use_result` が `{ detachedToolCall: true }` に設定されます。呼び出しはまだ実行中で、完了すると Claude はその結果を受け取ります。その `tool_use_id` に対する 2 つ目の `tool_result` は続かないため、アプリケーションでツール呼び出しごとに行を描画している場合は、このメッセージを受信した時点でその行をバックグラウンドに移動済みとしてマークしてください。Claude Code v2.1.287 以降が必要です。1698* `'now'` メッセージを届けるために Claude Code がバックグラウンドに移した WebFetch または WebSearch の呼び出し: その呼び出しの `tool_result` を含むユーザーメッセージでは、`tool_use_result` が `{ detachedToolCall: true }` に設定されます。呼び出しはまだ実行中で、完了すると Claude はその結果を受け取ります。その `tool_use_id` に対する 2 つ目の `tool_result` は続かないため、アプリケーションでツール呼び出しごとに行を描画している場合は、このメッセージを受信した時点でその行をバックグラウンドに移動済みとしてマークしてください。Claude Code v2.1.287 以降が必要です。

1662* 結果に `resource_link` ブロックを含む MCP ツール: `tool_use_result` は、[`SDKMcpResourceLink`](#sdkmcpresourcelink) エントリの `resourceLinks` 配列を持つオブジェクトです。Claude は各リンクを `tool_result` ブロック内の 1 行のテキストとして受け取るため、そのテキストを解析するのではなく `resourceLinks` を読み取ってサーバーが返したファイルを表示してください。Claude Code は、結果にリンクがない場合およびサブエージェントからの結果では `resourceLinks` を省略し、1 つの結果につき最大 50 個のリンクを保持し、配列がシリアル化された JSON で 64 KiB に達するとリンクの追加を停止します。`resourceLinks` には Agent SDK v0.3.257 以降が必要です。1699* 結果に `resource_link` ブロックを含む MCP ツール: `tool_use_result` は、[`SDKMcpResourceLink`](#sdkmcpresourcelink) エントリの `resourceLinks` 配列を持つオブジェクトです。Claude は各リンクを `tool_result` ブロック内の 1 行のテキストとして受け取るため、そのテキストを解析するのではなく `resourceLinks` を読み取ってサーバーが返したファイルを表示してください。Claude Code は、結果にリンクがない場合およびサブエージェントからの結果では `resourceLinks` を省略し、1 つの結果につき最大 50 個のリンクを保持し、配列がシリアル化された JSON で 64 KiB に達するとリンクの追加を停止します。`resourceLinks` には Agent SDK v0.3.257 以降が必要です。

1663* [`structuredContent`](#calltoolresult) を返す MCP ツール: `tool_use_result` は、`structuredContent` メンバーにサーバーが送信したものを、`content` メンバーに [`McpOutput`](#mcpoutput) の値を保持するオブジェクトです。サブエージェントからの結果には `structuredContent` は含まれません。1700* [`structuredContent`](#calltoolresult) を返す MCP ツール: `tool_use_result` は、`structuredContent` メンバーにサーバーが送信したものを、`content` メンバーに [`McpOutput`](#mcpoutput) の値を保持するオブジェクトです。サブエージェントからの結果には `structuredContent` は含まれません。

1664* `structuredContent` が JSON にシリアル化すると 1,048,576 文字を超える MCP ツール: Claude Code は `tool_use_result` から `structuredContent` を除外し、代わりに `structuredContentOmitted: true` を設定します。これにより、アプリケーションはオブジェクトが除外されたのか、ツールが何も送信しなかったのかを区別できます。`content` や `resourceLinks` などの他のメンバーは残り、Claude が受け取る内容は変わりません。[インプロセス SDK サーバー](/docs/ja/agent-sdk/custom-tools)のツールと、`tools/list` エントリで [MCP Apps の `_meta.ui` リソース](#mcpserverstatus)を宣言しているツールは対象外で、オブジェクト全体を渡します。この上限は Claude Code v2.1.287 以降で適用されます。1701* `structuredContent` をシリアル化すると 1,048,576 文字を超える JSON になる MCP ツール:Claude Code は `tool_use_result` から `structuredContent` を除外し、代わりに `structuredContentOmitted: true` を設定するため、アプリケーションはオブジェクトが削除された場合とツールが何も送信しなかった場合を区別できます。`content` や `resourceLinks` などの他のメンバーは残り、Claude が受け取る内容は変わりません。この上限は Claude Code v2.1.287 以降で適用されます。次の 2 種類のツールは扱いが異なります。

1702 * [インプロセス SDK サーバー](/docs/ja/agent-sdk/custom-tools)のツールは対象外で、オブジェクト全体を配信します。

1703 * `tools/list` エントリで [MCP Apps の `ui://` リソース](#mcpserverstatus)を宣言するツールの上限は、Claude Code v2.1.295 以降では 8,388,608 文字で、v2.1.295 より前のバージョンでは対象外です。

1665 1704 

1666<h3 id="sdkusermessagereplay">1705<h3 id="sdkusermessagereplay">

1667 `SDKUserMessageReplay`1706 `SDKUserMessageReplay`


1775* `ttft_stream_ms`: 応答ストリームが開いたときの最初の `message_start` ストリームイベントまでの時間(ミリ秒)。`ttft_ms` より小さく、両者の差は最初のメッセージのストリーミングに費やされた時間です。success アームにのみ存在します。1814* `ttft_stream_ms`: 応答ストリームが開いたときの最初の `message_start` ストリームイベントまでの時間(ミリ秒)。`ttft_ms` より小さく、両者の差は最初のメッセージのストリーミングに費やされた時間です。success アームにのみ存在します。

1776* `user_message_uuid`: このターンが応答した、送信済みメッセージの `uuid`。どの結果がこれを持つかについては [`user_message_uuid`](#user_message_uuid) を参照してください。1815* `user_message_uuid`: このターンが応答した、送信済みメッセージの `uuid`。どの結果がこれを持つかについては [`user_message_uuid`](#user_message_uuid) を参照してください。

1777* `user_message_uuids`: このターンで Claude Code が応答した、送信済みのすべてのメッセージの `uuid`。[`user_message_uuids`](#user_message_uuids) を参照してください。1816* `user_message_uuids`: このターンで Claude Code が応答した、送信済みのすべてのメッセージの `uuid`。[`user_message_uuids`](#user_message_uuids) を参照してください。

1778* `resume_reason`:再起動によって中断されたこのターンを Claude Code が再実行した理由。両方のアームに存在します。[`resume_reason`](#resume_reason) を参照してください。1817* `resume_reason`: このターンが再起動によって中断されたターンを継続する理由です。両方のアームに存在します。[`resume_reason`](#resume_reason) を参照してください。

1779* `local_command`: `/compact` など、エージェントループに入らずにコマンドが完了したターンの success 結果における、そのターンがディスパッチしたコマンドの名前。名前は小文字とアンダースコアに変換されるため、`/reload-plugins` は `reload_plugins` と報告されます。MCP サーバーが提供するコマンドと組み込みの `/mcp` は `mcp` と報告されます。自分で定義したコマンドは `custom` と報告されます。引数は含まれません。エージェントループに入ったすべてのターンと、コマンドを実行しなかった送信には存在しません。Agent SDK v0.3.268 以降が必要です。1818* `local_command`: `/compact` など、エージェントループに入らずにコマンドが完了したターンの success 結果における、そのターンがディスパッチしたコマンドの名前。名前は小文字とアンダースコアに変換されるため、`/reload-plugins` は `reload_plugins` と報告されます。MCP サーバーが提供するコマンドと組み込みの `/mcp` は `mcp` と報告されます。自分で定義したコマンドは `custom` と報告されます。引数は含まれません。エージェントループに入ったすべてのターンと、コマンドを実行しなかった送信には存在しません。Agent SDK v0.3.268 以降が必要です。

1780* `request_sent_wall_ms`: Claude Code が API リクエストをディスパッチした時刻のエポックミリ秒で、サーバー側のタイムスタンプとの結合に使用します。API リクエストを送信したターンの、`is_error` が false である success 結果において、[`user_message_uuid`](#user_message_uuid) と一緒にのみ存在します。1819* `request_sent_wall_ms`: Claude Code が API リクエストをディスパッチした時刻のエポックミリ秒で、サーバー側のタイムスタンプとの結合に使用します。API リクエストを送信したターンの、`is_error` が false である success 結果において、[`user_message_uuid`](#user_message_uuid) と一緒にのみ存在します。

1781* `first_content_frame_ms`: 最初の `content_block_start` または `content_block_delta` ストリームイベントまでの時間(ミリ秒)で、思考ブロックもコンテンツとして数えます。success アームで、`is_error` が false の場合にのみ存在します。Agent SDK v0.3.260 以降が必要です。1820* `first_content_frame_ms`: 最初の `content_block_start` または `content_block_delta` ストリームイベントまでの時間(ミリ秒)で、思考ブロックもコンテンツとして数えます。success アームで、`is_error` が false の場合にのみ存在します。Agent SDK v0.3.260 以降が必要です。


1825 1864 

1826* **送信した通常のメッセージ**(`isSynthetic: true` のないもの): ターンは実行全体を通してそのメッセージに応答します。複数のメッセージを短い間隔で送信すると、Claude Code はそれらを 1 つのターンにマージすることがあり、その場合フィールドには最後のメッセージの `uuid` のみが含まれます。マージされたいずれかのメッセージに応答を対応付けるには、[`user_message_uuids`](#user_message_uuids) を使用してください。1865* **送信した通常のメッセージ**(`isSynthetic: true` のないもの): ターンは実行全体を通してそのメッセージに応答します。複数のメッセージを短い間隔で送信すると、Claude Code はそれらを 1 つのターンにマージすることがあり、その場合フィールドには最後のメッセージの `uuid` のみが含まれます。マージされたいずれかのメッセージに応答を対応付けるには、[`user_message_uuids`](#user_message_uuids) を使用してください。

1827* **`isSynthetic: true` を付けて送信したメッセージ**: ターンは最初はそのメッセージに応答します。Claude Code がツール呼び出しの合間に通常のメッセージを拾った場合、それ以降ターンは拾ったメッセージに応答します。合成メッセージの `uuid` をエコーするには Agent SDK v0.3.265 以降が必要です。以前のバージョンでは合成ターンで何もエコーされません。1866* **`isSynthetic: true` を付けて送信したメッセージ**: ターンは最初はそのメッセージに応答します。Claude Code がツール呼び出しの合間に通常のメッセージを拾った場合、それ以降ターンは拾ったメッセージに応答します。合成メッセージの `uuid` をエコーするには Agent SDK v0.3.265 以降が必要です。以前のバージョンでは合成ターンで何もエコーされません。

1828* **[`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ja/env-vars) のもとで中断されたターンを再実行するために Claude Code が生成するプロンプト**: 中断されたターンの最後のプロンプトが送信した通常のメッセージである場合(それがターンを開始したものか、ターン中に Claude Code が拾ったものかを問わず)、再実行は最初はそのメッセージに応答します。[`resume_reason`](#resume_reason) によって、再実行のフレームと中断された試行のフレームを区別できます。最後のプロンプトが送信した通常のメッセージでない場合、再実行は最初は送信したどのメッセージにも応答しません。Claude Code がツール呼び出しの合間に通常のメッセージを拾った場合、それ以降ターンは拾ったメッセージに応答します。中断されたターンのプロンプトをエコーするには Agent SDK v0.3.268 以降が必要です。1867* **[`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ja/env-vars) のもとで中断されたターンを継続するために Claude Code が生成するプロンプト**: 中断されたターンの最後のプロンプトが送信した通常のメッセージである場合(それがターンを開始したか、ターン中に Claude Code が取り込んだかにかかわらず)、継続されたターンは最初はそのメッセージに応答します。[`resume_reason`](#resume_reason) により、継続されたターンのフレームと中断された試行のフレームを区別できます。最後のプロンプトが通常のメッセージでない場合、継続されたターンは最初はどのメッセージにも応答しません。Claude Code がツール呼び出しの合間に通常のメッセージを取り込んだ場合、以降ターンは取り込まれたメッセージに応答します。中断されたターンのプロンプトのエコーには Agent SDK v0.3.268 以降が必要です。

1829* **Claude Code 自身が生成したその他のプロンプト**: ターンは最初は送信したどのメッセージにも応答せず、そのフレームにはエコーが含まれません。Claude Code がツール呼び出しの合間に通常のメッセージを拾った場合、それ以降ターンはそのメッセージに応答します。拾った際のエコーには Agent SDK v0.3.265 以降が必要です。以前のバージョンではこれらのターンで何もエコーされません。1868* **Claude Code 自身が生成したその他のプロンプト**: ターンは最初は送信したどのメッセージにも応答せず、そのフレームにはエコーが含まれません。Claude Code がツール呼び出しの合間に通常のメッセージを拾った場合、それ以降ターンはそのメッセージに応答します。拾った際のエコーには Agent SDK v0.3.265 以降が必要です。以前のバージョンではこれらのターンで何もエコーされません。

1830 1869 

1831Claude Code は、応答したメッセージの `uuid` を 3 種類のフレームでエコーします。1870Claude Code は、応答したメッセージの `uuid` を 3 種類のフレームでエコーします。


1847 1886 

1848このターンで Claude Code が応答した、送信済みのすべてのメッセージの `uuid`。複数のメッセージを短い間隔で送信すると、Claude Code はそれらを 1 つのターンにマージすることがあり、その場合 `user_message_uuid` はそのうち最後のものだけを示します。マージされたいずれかのメッセージに応答を対応付けるには、このリスト内でそのメッセージの `uuid` を探してください。Agent SDK v0.3.259 以降が必要です。1887このターンで Claude Code が応答した、送信済みのすべてのメッセージの `uuid`。複数のメッセージを短い間隔で送信すると、Claude Code はそれらを 1 つのターンにマージすることがあり、その場合 `user_message_uuid` はそのうち最後のものだけを示します。マージされたいずれかのメッセージに応答を対応付けるには、このリスト内でそのメッセージの `uuid` を探してください。Agent SDK v0.3.259 以降が必要です。

1849 1888 

1850Claude Code は、`user_message_uuid` を持つ各応答フレームと結果に、このリストを `user_message_uuid` と一緒に設定します。応答したメッセージの `uuid` をエコーするターンフレームの全体と、それぞれに必要なバージョンについては、[`user_message_uuid`](#user_message_uuid) を参照してください。リストには常に `user_message_uuid` が含まれ、最大 64 エントリを保持します。1889Claude Code は、`user_message_uuid` を含む各応答フレームと結果に、そのフィールドと一緒にこのリストを設定します。応答したメッセージの `uuid` をエコーするターンフレームの全体と、それぞれに必要なバージョンについては、[`user_message_uuid`](#user_message_uuid) を参照してください。リストには常に `user_message_uuid` が含まれ、最大 64 エントリを保持します。

1851 1890 

1852ターンの実行中に送信した通常のメッセージを Claude Code が拾った場合、そのメッセージの `uuid` が結果のリストに追加されます。1891ターンの実行中に送信した通常のメッセージを Claude Code が拾った場合、そのメッセージの `uuid` が結果のリストに追加されます。

1853 1892 


1857 `resume_reason`1896 `resume_reason`

1858</h4>1897</h4>

1859 1898 

1860再起動後に Claude Code がこのターンを再実行した理由。Claude Code は、[`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ja/env-vars) のもとで再実行したターンにこのフィールドを設定するため、再実行の応答と結果を中断された試行のものと区別できます。Agent SDK v0.3.268 以降が必要です。1899このターンが再起動によって中断されたターンを継続する理由です。Claude Code は、[`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ja/env-vars) のもとで中断されたターンを継続するターンにこのフィールドを設定するため、継続されたターンの返信と結果を中断された試行のものと区別できます。Agent SDK v0.3.268 以降が必要です。

1861 1900 

1862Claude Code は 2 種類のフレームにこのフィールドを設定します。1901Claude Code は 2 種類のフレームにこのフィールドを設定します。

1863 1902 

1864* **再実行の結果**: success アームとエラーアームの両方で、結果に `user_message_uuid` が含まれるかどうかにかかわらず設定されます。1903* **継続されたターンの結果**: success と error の両方のアームで、結果が `user_message_uuid` を持つかどうかにかかわらず設定されます。

1865* **再実行の応答フレーム**: [`user_message_uuid`](#user_message_uuid) を持つもの。1904* **継続されたターンの返信フレーム**: [`user_message_uuid`](#user_message_uuid) を持つものです。

1866 1905 

1867値は、`interrupted_turn` など、ターンが再実行された理由を示す短い小文字のトークンです。1906値は `interrupted_turn` のような短い小文字のトークンです。

1868 1907 

1869<h4 id="queued_turn_count">1908<h4 id="queued_turn_count">

1870 `queued_turn_count`1909 `queued_turn_count`


2029};2068};

2030```2069```

2031 2070 

2032Claude Code は、[`user_message_uuid`](#user_message_uuid) に記載された条件のもとで、ターンの最初の ping 以外のストリームイベントに、およびターンが応答しているメッセージが変わったときに再度、`user_message_uuid` と `user_message_uuids` を設定します。再起動によって中断されたターンを Claude Code が再実行する場合、再実行でこれらのフィールドを持つストリームイベントには [`resume_reason`](#resume_reason) も含まれます。2071Claude Code は、[`user_message_uuid`](#user_message_uuid) に記載された条件のもとで、ターンの最初の ping 以外のストリームイベントと、ターンが応答しているメッセージが変わったときに再度、`user_message_uuid` と `user_message_uuids` を設定します。再起動によって中断されたターンを継続するターンでは、これらのフィールドを持つストリームイベントに [`resume_reason`](#resume_reason) も設定されます。

2033 2072 

2034<h3 id="sdkcompactboundarymessage">2073<h3 id="sdkcompactboundarymessage">

2035 `SDKCompactBoundaryMessage`2074 `SDKCompactBoundaryMessage`


3558| - | - | - |3597| - | - | - |

3559| `script` | `string` | インラインワークフロースクリプト。リテラルとして `export const meta = { name, description }` で始まり、その後に `agent()`、`parallel()`、`pipeline()`、および `phase()` を使用するスクリプト本体が続く必要があります。`meta` 内のオプションの `phases` 配列は、進捗ビューで名前付きステージの下にエージェントをグループ化します |3598| `script` | `string` | インラインワークフロースクリプト。リテラルとして `export const meta = { name, description }` で始まり、その後に `agent()`、`parallel()`、`pipeline()`、および `phase()` を使用するスクリプト本体が続く必要があります。`meta` 内のオプションの `phases` 配列は、進捗ビューで名前付きステージの下にエージェントをグループ化します |

3560| `name` | `string` | 組み込みワークフローまたは `.claude/workflows/` に保存されたワークフローの名前。スクリプトに解決されます |3599| `name` | `string` | 組み込みワークフローまたは `.claude/workflows/` に保存されたワークフローの名前。スクリプトに解決されます |

3561| `scriptPath` | `string` | ディスク上のワークフロースクリプトファイルへのパス。`script` と `name` より優先されます。Claude Code はすべての呼び出しのスクリプトを永続化し、結果でパスを返すため、そのファイルを編集して同じ `scriptPath` で再度呼び出して反復処理できます |3600| `scriptPath` | `string` | ディスク上のワークフロースクリプトファイルへのパス(以前の実行が返した `scriptPath` など)。`script` と `name` より優先されます。セッションのツールに `Read` が含まれていない場合、Claude Code は `scriptPath` をエラーで拒否します |

3562| `args` | `unknown` | スクリプトにグローバル `args` として公開される入力値。研究質問またはファイルパスのリストなど、パラメータ化された名前付きワークフロー用です。配列とオブジェクトを JSON エンコード文字列ではなく実際の JSON 値として渡します |3601| `args` | `unknown` | スクリプトにグローバル `args` として公開される入力値。研究質問またはファイルパスのリストなど、パラメータ化された名前付きワークフロー用です。配列とオブジェクトを JSON エンコード文字列ではなく実際の JSON 値として渡します |

3563| `resumeFromRunId` | `string` | 再開する前の `Workflow` 呼び出しの実行 ID。変更されていない入力を持つ完了した `agent()` 呼び出しは通常キャッシュされた結果を返します。残りは実行されます。[一時停止後に再開](/docs/ja/workflows#resume-after-a-pause) は、どの完了した呼び出しが再実行されるかをカバーしています。同じセッションのみ |3602| `resumeFromRunId` | `string` | 再開する前の `Workflow` 呼び出しの実行 ID。変更されていない入力を持つ完了した `agent()` 呼び出しは通常キャッシュされた結果を返します。残りは実行されます。[一時停止後に再開](/docs/ja/workflows#resume-after-a-pause) は、どの完了した呼び出しが再実行されるかをカバーしています。同じセッションのみ |

3564| `title` | `string` | 無視されます;スクリプトの `meta` ブロックがタイトルを設定します |3603| `title` | `string` | 無視されます;スクリプトの `meta` ブロックがタイトルを設定します |

agent-view.md +18 −14

Details

152| 形状 | 意味 |152| 形状 | 意味 |

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

154| `✻` またはアニメーション `✽` | セッションプロセスが実行中であるか、セッションがユーザーの入力を必要としています |154| `✻` またはアニメーション `✽` | セッションプロセスが実行中であるか、セッションがユーザーの入力を必要としています |

155| `∙` | プロセスは終了しています。行のピーク表示は引き続き可能で、返信またはアタッチすると、Claude は中断したところから再開します |155| `∙` | プロセスは終了しています。行のピーク表示は引き続き可能で、返信またはアタッチすると、Claude は保存された会話からセッションを再起動します |

156| `✢` | イテレーション間でスリープしている [`/loop`](/docs/ja/scheduled-tasks) セッションです。行は実行回数とカウントダウンを表示します |156| `✢` | イテレーション間でスリープしている [`/loop`](/docs/ja/scheduled-tasks) セッションです。行は実行回数とカウントダウンを表示します |

157 157 

158行の右端に表示される `#N` または `!N` ラベルは [セッションのプルリクエストまたはマージリクエスト](#pull-request-status) へのリンクであり、状態アイコンの一部ではありません。158行の右端に表示される `#N` または `!N` ラベルは [セッションのプルリクエストまたはマージリクエスト](#pull-request-status) へのリンクであり、状態アイコンの一部ではありません。


256 256 

257バックグラウンドセッションには追記先となるターミナルのスクロールバックがないため、アタッチされたセッションは `tui` 設定に関係なく、常に [フルスクリーンモード](/docs/ja/fullscreen) でレンダリングされます。`PgUp`、`PgDn`、またはマウスホイールでスクロールし、トランスクリプトモードには `Ctrl+O` を押します。ターミナルのネイティブスクロールと tmux のコピーモードは現在のビューポートのみを表示します。これはフルスクリーンアプリケーションを実行するときと同じです。257バックグラウンドセッションには追記先となるターミナルのスクロールバックがないため、アタッチされたセッションは `tui` 設定に関係なく、常に [フルスクリーンモード](/docs/ja/fullscreen) でレンダリングされます。`PgUp`、`PgDn`、またはマウスホイールでスクロールし、トランスクリプトモードには `Ctrl+O` を押します。ターミナルのネイティブスクロールと tmux のコピーモードは現在のビューポートのみを表示します。これはフルスクリーンアプリケーションを実行するときと同じです。

258 258 

259アタッチされたセッションは [ターミナルにステータスを報告しません](/docs/ja/terminal-config#see-session-status-in-your-terminal)。

260 

259空のプロンプトで `←` を押すか、`/exit` を実行してデタッチし、エージェントビューに戻ります。エージェントビューからセッションを開いたか、シェルから `claude attach <id>` を実行したかに関係なく機能します。261空のプロンプトで `←` を押すか、`/exit` を実行してデタッチし、エージェントビューに戻ります。エージェントビューからセッションを開いたか、シェルから `claude attach <id>` を実行したかに関係なく機能します。

260 262 

261`←` は [`/btw` オーバーレイ](/docs/ja/interactive-mode#side-questions-with-%2Fbtw) が開いている間もデタッチします。Claude Code v2.1.257 以降が必要です。回答中のサイド質問は、離れている間も実行を続けます。次にアタッチすると、オーバーレイがその質問、またはその回答とともに再び開きます。263`←` は [`/btw` オーバーレイ](/docs/ja/interactive-mode#side-questions-with-%2Fbtw) が開いている間もデタッチします。Claude Code v2.1.257 以降が必要です。回答中のサイド質問は、離れている間も実行を続けます。次にアタッチすると、オーバーレイがその質問、またはその回答とともに再び開きます。


264 266 

265`Ctrl+Z` もデタッチしますが、開始した場所に戻ります。エージェントビューからアタッチした場合はエージェントビュー、`claude attach` を実行した場合はシェルです。ダイアログがフォーカスを持っていて `←` に応答しない場合は `Ctrl+Z` を使用します。267`Ctrl+Z` もデタッチしますが、開始した場所に戻ります。エージェントビューからアタッチした場合はエージェントビュー、`claude attach` を実行した場合はシェルです。ダイアログがフォーカスを持っていて `←` に応答しない場合は `Ctrl+Z` を使用します。

266 268 

267`Ctrl+C` はアタッチ中も標準的な割り込み動作を保持します。デタッチするのではなく、実行中の応答または `!` シェルコマンドをキャンセルします。空のプロンプトで `Ctrl+C` を 2 回押すとデタッチします。これは他のセッションと同じです。269`Ctrl+C` はアタッチ中も標準的な割り込み動作を保持します。デタッチするのではなく、実行中の応答または `!` シェルコマンドをキャンセルします。空のプロンプトで `Ctrl+C` を 2 回押すとデタッチします。

268 270 

269デタッチしてもバックグラウンドセッションは停止しません。`←`、`Ctrl+Z`、`/exit`、および `Ctrl+C` または `Ctrl+D` の 2 回押しは、いずれもセッションを実行したままにします。セッション内からセッションを終了するには、`/stop` を実行します。271デタッチしてもバックグラウンドセッションは停止しません。`←`、`Ctrl+Z`、`/exit`、および `Ctrl+C` または `Ctrl+D` の 2 回押しは、いずれもセッションを実行したままにします。`/loop` が次のイテレーションを待っている間にデタッチすると、ループは実行を続け、そのイテレーションはユーザーがいなくてもスケジュールどおりに開始されます。デタッチする前にループを停止するには、[ループを停止する](/docs/ja/scheduled-tasks#stop-a-loop) を参照してください。セッション内からセッションを終了するには、`/stop` を実行します。

270 272 

271<h4 id="switch-sessions-without-leaving-the-terminal">273<h4 id="switch-sessions-without-leaving-the-terminal">

272 ターミナルを離れずにセッションを切り替える274 ターミナルを離れずにセッションを切り替える


293約 10 秒経過すると、Claude Code はそれ以上待たずにセッションをバックグラウンドにします。ただし、次のようなケースは例外です:295約 10 秒経過すると、Claude Code はそれ以上待たずにセッションをバックグラウンドにします。ただし、次のようなケースは例外です:

294 296 

295* **フォアグラウンドのサブエージェントがまだ実行中**:Claude が開始した [フォアグラウンドのサブエージェント](/docs/ja/sub-agents#run-subagents-in-foreground-or-background) の作業が引き継がれるよう、Claude Code は待機を続け、`Still backgrounding after the current tool` を表示します。待たずにバックグラウンドにするには `←` を再度押しますが、その場合それらのサブエージェントは最初からやり直しになります。297* **フォアグラウンドのサブエージェントがまだ実行中**:Claude が開始した [フォアグラウンドのサブエージェント](/docs/ja/sub-agents#run-subagents-in-foreground-or-background) の作業が引き継がれるよう、Claude Code は待機を続け、`Still backgrounding after the current tool` を表示します。待たずにバックグラウンドにするには `←` を再度押しますが、その場合それらのサブエージェントは最初からやり直しになります。

296* **権限プロンプトまたは質問が回答を待っている**:権限プロンプトまたは Claude が尋ねた質問が待機している間、Claude Code は待機を続け、`Still backgrounding after the current tool — a question is waiting for your answer.` を表示します。298* **権限プロンプトまたは質問が回答を待っている**:権限プロンプトまたは Claude が尋ねた質問が待機している間、Claude Code は待機を続け、`Still backgrounding after the current tool — a question is waiting for your answer.` を表示します。権限プロンプトでの **Yes** など、回答によってターンが続行する場合、Claude Code は現在のツールが完了した時点でセッションをバックグラウンドにします。

297* **プロンプト入力に入力した**:未送信のテキストはターミナルの入力ボックスに残り、バックグラウンドセッションには移動しないため、Claude Code は切り替えをキャンセルします。`Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` と表示されます。299* **プロンプト入力に入力した**:未送信のテキストはターミナルの入力ボックスに残り、バックグラウンドセッションには移動しないため、Claude Code は切り替えをキャンセルします。`Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` と表示されます。

300* **ターンを停止した**:Claude Code は切り替えをキャンセルし、`Backgrounding cancelled — the turn was stopped.` を表示します。たとえば、[`Esc` で Claude を中断した](/docs/ja/interactive-mode#general-controls) 場合、メインの会話からの権限プロンプトで [コメントなしで](/docs/ja/permissions#add-a-comment-when-you-answer-a-permission-prompt) **No** を選択した場合、またはそこで Claude が尋ねた質問で `Esc` を押した場合に、ターンは停止します。セッションをバックグラウンドにするには、`←` を再度押します。

298* **キューに入れたメッセージを移動できない**:[Claude の作業中にキューに入れた](/docs/ja/interactive-mode#queue-messages-while-claude-works) メッセージは、会話とともにバックグラウンドセッションに移動します。そのいずれかを移動できない場合、セッションはフォアグラウンドに留まり、Claude Code は `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.` のような通知を表示します。301* **キューに入れたメッセージを移動できない**:[Claude の作業中にキューに入れた](/docs/ja/interactive-mode#queue-messages-while-claude-works) メッセージは、会話とともにバックグラウンドセッションに移動します。そのいずれかを移動できない場合、セッションはフォアグラウンドに留まり、Claude Code は `Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.` のような通知を表示します。

299 302 

300`←` を押すと、会話にまだメッセージがない場合でもセッションの行が作成されるため、`→` でその行に戻れます。303`←` を押すと、会話にまだメッセージがない場合でもセッションの行が作成されるため、`→` でその行に戻れます。


513* `--fallback-model`516* `--fallback-model`

514* `--allow-dangerously-skip-permissions`517* `--allow-dangerously-skip-permissions`

515 518 

516セッション中に [`/add-dir`](/docs/ja/permissions#additional-directories-grant-file-access-not-configuration) で追加したディレクトリも引き継がれます。`--allow-dangerously-skip-permissions` を引き継ぐと、バックグラウンド化されたセッションでも `bypassPermissions` に切り替えられる状態が維持されますが、新たに何かを付与するわけではありません。このモードには引き続き、[権限モード、モデル、effort](#permission-mode-model-and-effort) で説明されている 1 回限りのインタラクティブな同意が必要です。519セッション中に [`/add-dir`](/docs/ja/permissions#additional-directories-grant-file-access-not-configuration) で追加したディレクトリも引き継がれます。`--allow-dangerously-skip-permissions` を引き継ぐと、バックグラウンド化されたセッションでも `bypassPermissions` に切り替えられる状態が維持されますが、新たに何かを付与するわけではありません。このモードには引き続き、[バイパスの免責事項への同意](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode) が記録されている必要があります。

517 520 

518<span id="from-your-shell" />521<span id="from-your-shell" />

519 522 


767 770 

768有効なデフォルトは、ディスパッチ入力の下のフッターに表示されます。771有効なデフォルトは、ディスパッチ入力の下のフッターに表示されます。

769 772 

770`claude --dangerously-skip-permissions` を一度インタラクティブに実行してバイパスの免責事項に同意するまで、Claude Code は `claude --bg --permission-mode bypassPermissions` を拒否します。このモードでは、監視していないセッションが承認なしに操作を行えるためです。`claude agents` に `--dangerously-skip-permissions` または `--permission-mode bypassPermissions` を渡すと、以前に同意していない場合は同じ免責事項が表示され、同意するとビューから起動するセッションに `bypassPermissions` が適用されます。`--allow-dangerously-skip-permissions` を渡した場合も同じ免責事項が表示され、同意すると、それらのセッションをそのモードで開始せずに、`Shift+Tab` サイクルで `bypassPermissions` を利用可能にします。773`bypassPermissions` モードで開始されるバックグラウンドセッションには、[バイパスの免責事項への同意](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode) が記録されている必要があります。このモードでは、監視していないセッションが承認なしに操作を行えるためです。`claude agents` に `--dangerously-skip-permissions` または `--permission-mode bypassPermissions` を渡すと、以前に同意していない場合は同じ免責事項が表示され、同意するとビューから起動するセッションに `bypassPermissions` が適用されます。`--allow-dangerously-skip-permissions` を渡した場合も同じ免責事項が表示され、同意すると、それらのセッションをそのモードで開始せずに、`Shift+Tab` サイクルで `bypassPermissions` を利用可能にします。

771 774 

772<h4 id="what-persists-across-restarts">775<h4 id="what-persists-across-restarts">

773 再起動後も維持されるもの776 再起動後も維持されるもの

774</h4>777</h4>

775 778 

776バックグラウンドセッションに選択した権限モード、モデル、effort は、[引き継いだ設定フラグ](#what-carries-over-when-you-background) とともに、スーパーバイザーが後でそのプロセスを [停止して再起動](#the-supervisor-process) しても維持されます。`claude --bg --dangerously-skip-permissions` または `claude --bg --permission-mode bypassPermissions` で起動したセッションは、その再起動後も `bypassPermissions` のままです。セッションの途中で `/model` や `/effort` で変更したモデルや effort も保持されます。779バックグラウンドセッションに選択した権限モード、モデル、effort は、[引き継いだ設定フラグ](#what-carries-over-when-you-background) とともに、スーパーバイザーが後でそのプロセスを [停止して再起動](#the-supervisor-process) しても維持されます。セッションの途中で `/model` や `/effort` で変更したモデルや effort も保持されます。

777 780 

778セッションが `--effort` や `/effort` ではなく設定から effort を取得していた場合、Claude Code はそのセッションのプロセスを開始するたびに設定を読み直します。`settings.json` で保存された effort を編集すると、その変更は `←` または `/bg` でバックグラウンドに移動するセッションと、その後の再起動に反映されます。保存された effort とは、[`effortLevel`](/docs/ja/settings-reference#effortlevel) キーまたは [`modelSettings`](/docs/ja/settings-reference#modelsettings) のエントリです。781セッションが `--effort` や `/effort` ではなく設定から effort を取得していた場合、Claude Code はそのセッションのプロセスを開始するたびに設定を読み直します。`settings.json` で保存された effort を編集すると、その変更は `←` または `/bg` でバックグラウンドに移動するセッションと、その後の再起動に反映されます。保存された effort とは、[`effortLevel`](/docs/ja/settings-reference#effortlevel) キーまたは [`modelSettings`](/docs/ja/settings-reference#modelsettings) のエントリです。

779 782 


822| `claude attach <id\|name>` | このターミナルでセッションにアタッチする |825| `claude attach <id\|name>` | このターミナルでセッションにアタッチする |

823| `claude logs <id\|name>` | セッションの最新出力を出力する |826| `claude logs <id\|name>` | セッションの最新出力を出力する |

824| `claude stop <id>` | セッションを停止する。`claude kill` も受け入れます |827| `claude stop <id>` | セッションを停止する。`claude kill` も受け入れます |

825| `claude respawn <id>` | セッションを再開する。実行中または停止状態のセッションを再開します。例えば、更新された Claude Code バイナリを取得するため。再開されたセッションは保存された会話を再開します。ディスク上に会話がない場合は、新しい会話として元のプロンプトを再度実行します |828| `claude respawn <id>` | セッションを再開する。実行中または停止状態のセッションを再開します。例えば、更新された Claude Code バイナリを取得するため。保存された会話があるセッションはその会話を再開します |

826| `claude respawn --all` | すべての実行中のセッションを再開する。例えば、すべてのセッションを一度に更新された Claude Code バイナリに移動するため |829| `claude respawn --all` | すべての実行中のセッションを再開する。例えば、すべてのセッションを一度に更新された Claude Code バイナリに移動するため |

827| `claude rm <id>` | セッションをリストから削除します。削除が安全な場合、Claude が作成した worktree も削除します。[セッションの削除で何が削除されるか](#what-deleting-a-session-removes)を参照してください。会話トランスクリプトはローカルマシンに保存され、`claude --resume` を通じて利用可能なままです |830| `claude rm <id>` | セッションをリストから削除します。削除が安全な場合、Claude が作成した worktree も削除します。[セッションの削除で何が削除されるか](#what-deleting-a-session-removes)を参照してください。会話トランスクリプトはローカルマシンに保存され、`claude --resume` を通じて利用可能なままです |

828| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | プッシュされていないコミットで削除が拒否されたセッションを削除し、worktree をそのブランチとコミットとともに破棄します。拒否が出力した正確な値を渡します。[セッションの削除で何が削除されるか](#what-deleting-a-session-removes)を参照してください。v2.1.260 以降が必要です |831| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | プッシュされていないコミットで削除が拒否されたセッションを削除し、worktree をそのブランチとコミットとともに破棄します。拒否が出力した正確な値を渡します。[セッションの削除で何が削除されるか](#what-deleting-a-session-removes)を参照してください。v2.1.260 以降が必要です |

829| `claude rm <id> --force-remove-worktree <worktree-id>` | git または `WorktreeRemove` フックが worktree を削除できなかったために削除が拒否されたセッションを削除し、worktree ディレクトリを削除してそのブランチをリポジトリに残します。拒否が出力した正確な値を渡します。[セッションの削除で何が削除されるか](#what-deleting-a-session-removes)を参照してください。v2.1.268 以降が必要です |832| `claude rm <id> --force-remove-worktree <worktree-id>` | git または `WorktreeRemove` フックが worktree を削除できなかったために削除が拒否されたセッションを削除し、worktree ディレクトリを削除してそのブランチをリポジトリに残します。拒否が出力した正確な値を渡します。[セッションの削除で何が削除されるか](#what-deleting-a-session-removes)を参照してください。v2.1.268 以降が必要です |

830| `claude daemon status` | [supervisor](#the-supervisor-process) の状態、バージョン、ソケットディレクトリ、およびワーカー数を出力する |833| `claude daemon status` | [supervisor](#the-supervisor-process) の状態、バージョン、ソケットディレクトリ、およびワーカー数を出力する |

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

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

833 836 

834`claude attach` と `claude logs` は、`claude logs "auth refactor"` のように、ID の代わりにセッション名の一部を受け取ることができます。名前を渡すには Claude Code v2.1.290 以降が必要です。837`claude attach` と `claude logs` は、`claude logs "auth refactor"` のように、ID の代わりにセッション名の一部を受け取ることができます。`claude attach` が名前でセッションを開けるのはそのプロセスが実行中の間だけなので、停止したセッションを再開するには代わりに ID を渡してください。名前を渡すには Claude Code v2.1.290 以降が必要です。

835 838 

836<h3 id="list-sessions-as-json">839<h3 id="list-sessions-as-json">

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


889* **完了したか次のメッセージを待機中で、約 1 時間未接続**:スーパーバイザーはリソースを解放するためにプロセスを停止します。質問を投げかけてターンを終了したセッションは、次のメッセージを待機中としてカウントされます。会話はディスクに保存され、次回接続または返信するときに、セッションは中断したところから再開されます。`Ctrl+T` でセッションをピンして、プロセスの実行を継続させます。892* **完了したか次のメッセージを待機中で、約 1 時間未接続**:スーパーバイザーはリソースを解放するためにプロセスを停止します。質問を投げかけてターンを終了したセッションは、次のメッセージを待機中としてカウントされます。会話はディスクに保存され、次回接続または返信するときに、セッションは中断したところから再開されます。`Ctrl+T` でセッションをピンして、プロセスの実行を継続させます。

890* **スーパーバイザーが実行中に予期せず終了した**:スーパーバイザーはプロセスを再起動します。`←` または `/background` で自分でバックグラウンドに送信したセッションを、たとえば `kill` で終了した場合は、再起動されずに停止済みとしてマークされます。シャットダウンで終了したセッションについては、[セッションがシャットダウン後に失敗または停止として表示される](#sessions-show-as-failed-after-shutdown) を参照してください。893* **スーパーバイザーが実行中に予期せず終了した**:スーパーバイザーはプロセスを再起動します。`←` または `/background` で自分でバックグラウンドに送信したセッションを、たとえば `kill` で終了した場合は、再起動されずに停止済みとしてマークされます。シャットダウンで終了したセッションについては、[セッションがシャットダウン後に失敗または停止として表示される](#sessions-show-as-failed-after-shutdown) を参照してください。

891* **自動更新後**:スーパーバイザーは新しいバージョンに再起動し、アイドル状態のセッションをバックグラウンドで移動します。動作中、ユーザーの応答を待機中、または接続中のセッションは中断されません。894* **自動更新後**:スーパーバイザーは新しいバージョンに再起動し、アイドル状態のセッションをバックグラウンドで移動します。動作中、ユーザーの応答を待機中、または接続中のセッションは中断されません。

895* **スーパーバイザー自体が停止した**(たとえば、そのプロセスが Claude Code の外部から終了された場合):macOS と Linux では、各セッションのプロセスは新しいスーパーバイザーが再接続するのを約 1 分間待ち、再接続されなければ停止します。その 1 分以内にシェルで `claude agents` を実行すると、新しいスーパーバイザーが起動し、セッションの実行が継続されます。先に 1 分が経過した場合、セッションは停止しますが、保存された会話はディスクに残ります。[セッションがシャットダウン後に失敗または停止として表示される](#sessions-show-as-failed-after-shutdown) で説明されているように、セッションに接続するか返信すると、保存された会話からセッションが再起動されます。

892 896 

893セッションのプロセスが停止または再起動されると、Claude が開始したバックグラウンドシェルコマンド、動的ワークフロー、およびバックグラウンドサブエージェントは次のプロセスに引き継がれます。実行中のモニターとサブエージェントが開始したシェルコマンドはプロセスで停止します。セッションを削除すると、引き継がれたすべてのものが停止します。代わりにプロセスで停止させるには、[`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/ja/env-vars#variables) を `1` に設定してください。897セッションのプロセスが停止または再起動されると、Claude が開始したバックグラウンドシェルコマンド、動的ワークフロー、およびバックグラウンドサブエージェントは次のプロセスに引き継がれます。実行中のモニターとサブエージェントが開始したシェルコマンドはプロセスで停止します。セッションを削除すると、引き継がれたすべてのものが停止します。代わりにプロセスで停止させるには、[`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/ja/env-vars#variables) を `1` に設定してください。

894 898 


911 915 

912ファイルを直接読み取らずにこの状態を検査するには、`claude daemon status` を実行してください。スーパーバイザーに到達可能かどうか、そのプロセス ID とバージョン、ソケットディレクトリ、およびライブバックグラウンドセッションの数を報告します。916ファイルを直接読み取らずにこの状態を検査するには、`claude daemon status` を実行してください。スーパーバイザーに到達可能かどうか、そのプロセス ID とバージョン、ソケットディレクトリ、およびライブバックグラウンドセッションの数を報告します。

913 917 

914このコマンドは、実行中のスーパーバイザーが呼び出した `claude` とは異なるバージョンにある場合に警告を表示します。これは、スーパーバイザーがまだ再起動していない更新後に発生します。警告は両方のバージョンを表示し、`claude daemon stop --any` を実行して新しいバージョンを取得するよう指示します。Claude Code が OS サービスとしてインストールされている場合、提案されるコマンドはフラグなしの `claude daemon stop` です。918このコマンドは、実行中のスーパーバイザーが呼び出した `claude` とは異なるバージョンにある場合に警告を表示します。これは、スーパーバイザーがまだ再起動していない更新後に発生します。警告は両方のバージョンを表示し、`claude daemon stop --any` を実行して新しいバージョンを取得するよう指示します。

915 919 

916セッションはそのバージョンの不一致を無傷で生き残ります。セッションの `state.json` を更新する古い Claude Code バージョンは、認識しないフィールドを保持し、セッションをリストに保ちます。`roster.json` のセッションリストも同じルールに従うため、新しいバージョンで開始されたセッションは到達可能なままで、スーパーバイザーが再起動した後も入力を受け付け続けます。920セッションはそのバージョンの不一致を無傷で生き残ります。セッションの `state.json` を更新する古い Claude Code バージョンは、認識しないフィールドを保持し、セッションをリストに保ちます。`roster.json` のセッションリストも同じルールに従うため、新しいバージョンで開始されたセッションは到達可能なままで、スーパーバイザーが再起動した後も入力を受け付け続けます。

917 921 


963 967 

964マシンをシャットダウンまたは再起動すると、実行中のバックグラウンドセッションが停止します。入力を待機していたセッションは、戻ってきたときに `Needs input` の下に留まります。その他の実行中のセッションについては、エージェントビューが表示する内容は、最後に進捗があってからどのくらい前かによって異なります:968マシンをシャットダウンまたは再起動すると、実行中のバックグラウンドセッションが停止します。入力を待機していたセッションは、戻ってきたときに `Needs input` の下に留まります。その他の実行中のセッションについては、エージェントビューが表示する内容は、最後に進捗があってからどのくらい前かによって異なります:

965 969 

966* 48 時間以内の場合、セッションは失敗として表示されます。アタッチまたは返信すると、中断したところから再開します。970* 48 時間以内の場合、セッションは失敗として表示されます。アタッチまたは返信すると、保存された会話から再開します。中断した作業を再開するには、続行を求める返信を送信してください。

967* 48 時間以上経過した場合(マシンが数日間オフになっていた後など)、セッションは `ended while the background service was off` として停止として表示されます。行で `Enter` を押すと、フッターに `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it.` が表示されます。同じ行で再度 `Enter` を押して、保存された会話を再開します。返信または `claude attach <id>` でそのフッタープロンプトなしで再開します。971* 48 時間以上経過した場合(マシンが数日間オフになっていた後など)、セッションは `ended while the background service was off` として停止として表示されます。行で `Enter` を押すと、フッターに `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it.` が表示されます。同じ行で再度 `Enter` を押して、保存された会話を再開します。返信または `claude attach <id>` でそのフッタープロンプトなしで再開します。

968 972 

969[トランスクリプトクリーンアップ](/docs/ja/settings-reference#cleanupperioddays)が停止したセッションの保存された会話を削除した場合、Claude Code は行を開くことを拒否します。メッセージは再開するものがないことを示しています。`claude rm <id>` は行を削除します。ただし、[保持されたケース](#what-deleting-a-session-removes)で説明されている場合を除き、`claude respawn <id>` は元のプロンプトを再度実行します。[このセッションの保存された会話はディスク上にもはやありません](/docs/ja/errors#this-sessions-saved-conversation-is-no-longer-on-disk)を参照してください。973[トランスクリプトクリーンアップ](/docs/ja/settings-reference#cleanupperioddays)が停止したセッションの保存された会話を削除した場合、Claude Code は行を開くことを拒否します。メッセージは再開するものがないことを示しています。`claude rm <id>` は行を削除します。ただし、[保持されたケース](#what-deleting-a-session-removes)で説明されている場合を除き、`claude respawn <id>` は元のプロンプトを再度実行します。[このセッションの保存された会話はディスク上にもはやありません](/docs/ja/errors#this-sessions-saved-conversation-is-no-longer-on-disk)を参照してください。


1022claude daemon stop --any --keep-workers1026claude daemon stop --any --keep-workers

1023```1027```

1024 1028 

1025新しいスーパーバイザーは実行中のセッションに再接続します。`--keep-workers` がない場合、コマンドはバックグラウンドセッションも終了します。`--any` フラグは、デフォルトであるインストール済みサービスではなく、オンデマンドで開始されたスーパーバイザーを停止したいことを確認します。1029次に、シェルで `claude agents` を実行して新しいスーパーバイザーを開始します。停止から[約 1 分](#the-supervisor-process)以内に実行すると、新しいスーパーバイザーはまだ実行中のセッションに再接続し、それらの作業は中断されることなく続行されます。それより時間がかかった場合、macOS と Linux ではその時点でセッションは自動的に停止しており、いずれかにアタッチまたは返信すると、保存された会話からそのセッションが再開されます。`--keep-workers` がない場合、コマンドはバックグラウンドセッションも終了します。`--any` フラグを指定すると、Claude Code がオンデマンドで開始したスーパーバイザーをコマンドで停止できます。

1026 1030 

1027スーパーバイザーが起動しても接続を受け入れることができない場合は、独自に終了してロックを解放するため、次の `claude agents` は手動停止なしで新しいものを開始します。上記の手順は、実行中のスーパーバイザーがスタールしている場合に適用されます。1031スーパーバイザーが起動しても接続を受け入れることができない場合は、独自に終了してロックを解放するため、次の `claude agents` は手動停止なしで新しいものを開始します。上記の手順は、実行中のスーパーバイザーがスタールしている場合に適用されます。

1028 1032 


1040claude daemon stop --any --keep-workers1044claude daemon stop --any --keep-workers

1041```1045```

1042 1046 

1043次の `claude agents` または `claude --bg` は、保存された認証情報を読み取る新しいスーパーバイザーを開始します。`/login` ではなく `ANTHROPIC_API_KEY` などの環境変数で認証する場合は、変数が設定されているシェルからその次のコマンドを実行してください。1047[約 1 分](#the-supervisor-process)以内に、シェルで `claude agents` または `claude --bg` を実行して、保存された認証情報を読み取る新しいスーパーバイザーを開始します。`/login` ではなく `ANTHROPIC_API_KEY` などの環境変数で認証する場合は、変数が設定されているシェルからその次のコマンドを実行してください。

1044 1048 

1045原因と修正の完全なリストについては、[エラーリファレンス](/docs/ja/errors#could-not-resolve-authentication-method)を参照してください。1049原因と修正の完全なリストについては、[エラーリファレンス](/docs/ja/errors#could-not-resolve-authentication-method)を参照してください。

1046 1050 

analytics.md +1 −1

Details

67* **「GitHub app required」**:貢献メトリクスを表示するには GitHub アプリをインストールしてください67* **「GitHub app required」**:貢献メトリクスを表示するには GitHub アプリをインストールしてください

68* **「Data processing in progress」**:数日後に確認し、データが表示されない場合は GitHub アプリがインストールされていることを確認してください68* **「Data processing in progress」**:数日後に確認し、データが表示されない場合は GitHub アプリがインストールされていることを確認してください

69 69 

70貢献メトリクスは GitHub Cloud と GitHub Enterprise Server をサポートしています。70貢献メトリクスは github.com でホストされているリポジトリを対象とします。[GitHub Enterprise Server](/docs/ja/github-enterprise-server) 上のリポジトリについては、分析ダッシュボードは使用メトリクスのみを表示します。

71 71 

72<h3 id="review-summary-metrics">72<h3 id="review-summary-metrics">

73 サマリーメトリクスを確認する73 サマリーメトリクスを確認する

Details

96 <Step title="ユーザーを追加">96 <Step title="ユーザーを追加">

97 以下のいずれかの方法でユーザーを追加できます。97 以下のいずれかの方法でユーザーを追加できます。

98 98 

99 * Console 内からユーザーを一括招待します。Settings -> Members -> Invite99 * [platform.claude.com/settings/members](https://platform.claude.com/settings/members) にある Console の Members ページからユーザーを一括招待します。**Invite** をクリックします

100 * [SSO を設定](https://support.claude.com/en/articles/13132885-setting-up-single-sign-on-sso)100 * [SSO を設定](https://support.claude.com/en/articles/13132885-setting-up-single-sign-on-sso)

101 </Step>101 </Step>

102 102 


123 123 

124API キーを作成しなくても Console アカウントにサインインできます。組織が開発者による API キーの作成を許可していない場合でも可能です。`/login` プロンプトで Anthropic Console アカウントを選択すると、Claude Code はサインイン方法を尋ねます。Claude Code v2.1.242 以降が必要です。両方のルートは Console にブラウザーでサインインしますが、Claude Code がその後に保存する内容が異なります。124API キーを作成しなくても Console アカウントにサインインできます。組織が開発者による API キーの作成を許可していない場合でも可能です。`/login` プロンプトで Anthropic Console アカウントを選択すると、Claude Code はサインイン方法を尋ねます。Claude Code v2.1.242 以降が必要です。両方のルートは Console にブラウザーでサインインしますが、Claude Code がその後に保存する内容が異なります。

125 125 

126* **Console アカウントでサインイン**(`(推奨)` とラベル付け): Claude Code はそのサインインから OAuth トークンを保持し、[Anthropic プロファイル](#anthropic-profiles-and-federation-credentials)として保存します。API キーは作成されません126* **Console アカウントでサインイン**(`(recommended)` とラベル付け): Claude Code はそのサインインから OAuth トークンを保持し、[Anthropic プロファイル](#anthropic-profiles-and-federation-credentials)として保存します。API キーは作成されません

127* **API キーを作成**(`(レガシー)` とラベル付け): Claude Code は Console API キーを作成し、他の認証情報と一緒に保存します127* **API キーを作成**(`(legacy)` とラベル付け): Claude Code は Console API キーを作成し、他の認証情報と一緒に保存します

128 128 

129実際には、プロファイルは OAuth ログインを保存し、API キーは静的な認証情報です。Claude Code はプロファイルのログインを自動的に更新し、更新に失敗すると、再度サインインするまで [Anthropic プロファイルログイン期限切れ](/docs/ja/errors#anthropic-profile-login-expired) でリクエストが失敗します。129実際には、プロファイルは OAuth ログインを保存し、API キーは静的な認証情報です。Claude Code はプロファイルのログインを自動的に更新し、更新に失敗すると、再度サインインするまで [Anthropic プロファイルログイン期限切れ](/docs/ja/errors#anthropic-profile-login-expired) でリクエストが失敗します。

130 130 

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# auto モード分類器リクエスト料金

6 

7> Claude Code の通知「このセッションは auto モードの無料分類器リクエストの対象ではありません」を解決する:その意味、表示される理由、対処方法。

8 

9[Auto mode](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) では、分類器がシェルコマンドやネットワークリクエストなどのアクションをチェックしてから実行します。[サーバー側チェックが有効な場合](/docs/ja/permission-modes#server-side-classifier-review)、サーバーはセッション自体のモデルリクエストの一部としてこれらのチェックを実行し、料金は請求されません。この通知は、サーバーのチェックがセッションに到達していないことを意味するため、Claude Code は代わりに独自の分類器リクエストを作成しており、アカウントではこれらのリクエストはトークン使用量にカウントされます:

10 

11```text theme={null}

12We're changing auto mode to no longer charge for classifier requests in Claude Code. However, this session isn't eligible.

13```

14 

15プロンプトで、Claude Code はこのようにチェックする最初のアクションを保留し、回答を待ちます。何も壊れていません:auto mode は動作し続け、その分類器リクエストは以前と同じように請求されます。最も一般的な原因は Claude Code と API の間の LLM ゲートウェイまたはプロキシであり、Claude Code がそれを識別できる場合、通知はそれに名前を付けます。**Enter** キーを押して続行するか、[セッションを対象にする](#make-the-session-eligible)を参照して、新しいセッションに表示されないようにしてください。

16 

17<h2 id="respond-to-the-notice">

18 ダイアログに応答する

19</h2>

20 

21ダイアログはあなたが答えるまでアクションを保留します:

22 

23* **Enter** で続行:保留されたアクションとセッションの残りの部分は Claude Code 独自の分類器リクエストを使用し、以前と同じようにトークン使用量として課金され、そのセッション内ではダイアログが再度表示されません。ダイアログがゲートウェイに名前を付けた場合、それを確認することで、このマシンで 24 時間再表示されなくなります。そうでない場合、ダイアログはセッションがフォールバックするたびに戻ります。

24* **Esc** または **Ctrl+C** でキャンセル:保留されたアクションは実行されず、現在のターンが停止し、セッションは自動モードのままになります。何も記憶されないため、次のチェック済みアクションの前にダイアログが再度表示されます。

25 

26代わりに自動モードの使用を停止するには、答えた後に `Shift+Tab` で権限モードを切り替えてください。

27 

28ダイアログが答えを待つことができない場合、Claude Code は同じテキストを報告し、セッションは自動モードで続行されます。ただし、このマシンでの過去 24 時間以内のゲートウェイ確認がそれを却下している場合を除きます。[非対話型モード](/docs/ja/headless)で `-p` を使用する場合、テキストは stderr に出力され、`stream-json` 出力では `system` 警告メッセージが発行されます。これは Agent SDK アプリケーションがメッセージストリームから読み取ることができます。

29 

30<h2 id="make-the-session-eligible">

31 セッションを対応可能にする

32</h2>

33 

34ゲートウェイが原因の場合、会社の管理者またはゲートウェイプロバイダーに、リクエストと返信を変更せずに通すよう依頼してください。つまり、ゲートウェイが認識しない `safeguards` リクエストフィールドなどのリクエストヘッダーとボディフィールドをそのまま転送し、`safeguard_results` フィールドなどのキーをドロップしたり、tool-use ID を書き換えたりせずにレスポンスとストリーミングイベントを返すことです。[ゲートウェイ互換性ガイド](/docs/ja/llm-gateway-protocol#feature-pass-through)で説明されているとおりです。このようにトラフィックを通すゲートウェイは、この機能と将来の機能で動作し続けます。その後、新しいセッションはサーバーのチェックを再度使用します。

35 

36ゲートウェイがサーバーのチェックを提供できないことが既にわかっている場合、セッションを開始する前に、シェルまたは [`env` 設定キー](/docs/ja/settings-reference#env)で `CLAUDE_CODE_AUTO_MODE_SERVER` を `0` に設定して、Claude Code にそこでチェックを要求しないよう指示してください。

37 

38```bash theme={null}

39export CLAUDE_CODE_AUTO_MODE_SERVER=0

40```

41 

42分類器リクエストはその後、常に Claude Code 独自のものであり、同じ方法で課金され、通知は表示されません。Anthropic API への直接接続では、変数は Claude Code v2.1.281 以降が必要です。`CLAUDE_CODE_AUTO_MODE_SERVER` が設定されていない状態で `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` を設定すると、[プリリリース機能を無効にする](/docs/ja/llm-gateway-protocol#disable-pre-release-capabilities)で説明されている場合を除き、サーバーのチェックもオフになります。

43 

44`CLAUDE_CODE_AUTO_MODE_SERVER` は一時的な設定であり、後のリリースで削除される可能性があります。

45 

46<h2 id="why-the-notice-appears">

47 ダイアログが表示される理由

48</h2>

49 

50[サーバー側分類器レビュー](/docs/ja/permission-modes#server-side-classifier-review)は、サーバーに分類器チェックをリクエストするセッションを一覧表示します。Pro、Max、Team プランではダイアログが表示されることはありません。ダイアログが表示される場合、通常の原因は以下の通りです:

51 

52* **LLM ゲートウェイまたはプロキシがパスに存在する**:リクエストヘッダーを削除または書き換える、認識しないリクエストフィールドを削除する、またはレスポンスを編集するもの。その場合、サーバーはチェックのリクエストを受け取らないか、Claude Code はレスポンスを受け取りません。設定またはレスポンスがゲートウェイを特定する場合、ダイアログはそれに名前を付けます。

53* **サーバー側チェックがまだプラットフォーム、リージョン、または認証情報に到達していない**:プラットフォームまたはリージョンがチェックを実行するかどうかは、そのプラットフォームのロールアウトに依存します。ダイアログが表示され、パスにゲートウェイまたはプロキシがなく、ダイアログが表示され続ける場合、これが原因である可能性が高いです。確認するには、サポートまたは会社の管理者に連絡するか、`/feedback` で報告してください。

54 

55auto mode のセッションをチェックするには、Claude Code プロンプトで `/status` を実行します。その **Auto mode server** 行は、サーバーのチェックがセッションのアクションを決定している間は `Enabled` と表示され、セッションがフォールバックした後は `Disabled` と表示されます。

56 

57ゲートウェイがレスポンスを短縮したり、Claude Code が読み取れない形式にレスポンスを書き換えたりする場合、このダイアログの代わりに判定がない拒否が表示されます。[サーバー側分類器レビュー](/docs/ja/permission-modes#server-side-classifier-review)を参照してください。

58 

59<h2 id="related-resources">

60 関連リソース

61</h2>

62 

63* [Auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode):Auto モードとは何か、およびデフォルトでブロックされるもの

64* [サーバー側分類器レビュー](/docs/ja/permission-modes#server-side-classifier-review):どのセッションがサーバーにアクションをチェックするよう要求するか、および各セッションに必要な Claude Code バージョン

65* [ゲートウェイ互換性ガイド](/docs/ja/llm-gateway-protocol#feature-pass-through):ゲートウェイがヘッダーまたはボディフィールドを削除した場合に何が破損するか

66* [サーバーが安全性判定を返さなかった](/docs/ja/errors#the-server-returned-no-safety-verdict):サーバーがアクションに対して判定を与えない場合に表示される拒否

67* [コストを効果的に管理する](/docs/ja/costs):トークン使用量を追跡し、Claude Code コストを削減する

Details

383 383 

384画面上の拒否を報告する他の 2 つの場所では、コマンドまたは URL が省略されています。入力ボックスの近くの通知(`bash denied by auto mode · [Data Exfiltration] · /permissions` など)はツールと理由を示し、**Recently denied** タブはシェルコマンドを Claude が記述した説明で一覧表示します。これらの拒否の正確な入力をプログラムで取得するには、[`PermissionDenied` フック](/docs/ja/hooks#permissiondenied)を追加します。これは `tool_input` として受け取ります。384画面上の拒否を報告する他の 2 つの場所では、コマンドまたは URL が省略されています。入力ボックスの近くの通知(`bash denied by auto mode · [Data Exfiltration] · /permissions` など)はツールと理由を示し、**Recently denied** タブはシェルコマンドを Claude が記述した説明で一覧表示します。これらの拒否の正確な入力をプログラムで取得するには、[`PermissionDenied` フック](/docs/ja/hooks#permissiondenied)を追加します。これは `tool_input` として受け取ります。

385 385 

386呼び出しの下のテキストは、修正すべきことがあるかどうかを示します。分類器自体の問題を報告するテキスト(`is temporarily unavailable` のようなモデルや分類器エラーなど)は、Claude Code が分類器からの最終判定なしに呼び出しをブロックしたことを意味します。詳細は[オートモードがアクションの安全性を判定できない](/docs/ja/errors#auto-mode-cannot-determine-the-safety-of-an-action)を参照してください。それ以外の場合、`Denied by auto mode classifier` と `[Production Deploy]` または `Blocked by classifier` などの理由が記載された行は、分類器が呼び出しを安全でないと判定したことを意味するため、呼び出しが何に到達しようとしていたか、または何をしようとしていたかから修正を選択します。386呼び出しの下のテキストは、修正すべきことがあるかどうかを示します。薄く表示された `Not run · auto mode's check had no usable answer` の行、または分類器自体の問題を報告するテキスト(`Auto mode could not evaluate this action` など)は、Claude Code が分類器からの判定なしに呼び出しをブロックしたことを意味します。`Not run` の行の場合は、`Ctrl+O` を押してメッセージ全文を読み、対処方法については[auto モードがアクションの安全性を判定できない](/docs/ja/errors#auto-mode-cannot-determine-the-safety-of-an-action)または[サーバーが安全性の判定を返さなかった](/docs/ja/errors#the-server-returned-no-safety-verdict)を参照してください。

387 

388それ以外の場合、`Denied by auto mode classifier` と `[Production Deploy]` または `Blocked by classifier` などの理由が記載された行は、分類器が呼び出しを安全でないと判定したことを意味するため、呼び出しが何に到達しようとしていたか、または何をしようとしていたかから修正を選択します。

387 389 

388* タスク全体を通じて Claude が必要とする宛先(パッケージレジストリ、内部ドメイン、リポジトリホストなど):`autoMode.environment` に追加します。390* タスク全体を通じて Claude が必要とする宛先(パッケージレジストリ、内部ドメイン、リポジトリホストなど):`autoMode.environment` に追加します。

389* これからレビューなしで実行したいコマンド:`allow` ルールを追加します。391* これからレビューなしで実行したいコマンド:`allow` ルールを追加します。

Details

114 ターン中に送信されたメッセージはチェックポイントされません114 ターン中に送信されたメッセージはチェックポイントされません

115</h3>115</h3>

116 116 

117[Claude が作業中にキューに入れたメッセージ](/docs/ja/interactive-mode#queue-messages-while-claude-works)が実行中のターン内に Claude に到達すると、新しいターンを開始する代わりにそのターンに参加します。メッセージは会話に表示されますが、Claude Code はそれのチェックポイントを作成しません。Claude Code が新しいターンの一部として送信するキューに入れたメッセージは、通常どおりチェックポイントを取得します。複数のキューに入れたメッセージが[そのターンを共有](/docs/ja/interactive-mode#when-claude-code-sends-what-you-queued)する場合も含まれます。117巻き戻しメニューでは、[Claude がまだ作業中に入力した](/docs/ja/interactive-mode#queue-messages-while-claude-works)メッセージに **No code restore**(コードの復元なし)と表示されることがあります。Claude はそのメッセージをターンの終了前に読み取っています。[チェックポイントはターンを開始するプロンプトに対して作成される](#how-checkpoints-work)ため、このメッセージ自体にはチェックポイントがありません。Claude がそのメッセージを読んだ後に行った編集は、ターンを開始したプロンプトに含まれます。

118 118 

119そのようなメッセージの後に Claude が行った編集を取り消すには、ターンを開始したプロンプトに巻き戻します。これにより、メッセージが到達する前に Claude が行った作業を含む、ターン全体が巻き戻されます。119メッセージ自体について何かをする必要はありません。セッションのその部分でのファイル変更を取り消すには、ターンを開始したプロンプトを選択し、**Restore code**(コードを復元)または **Restore code and conversation**(コードと会話を復元)を選択します。これにより、メッセージが到達する前の編集を含め、ターン全体での Claude のファイル編集が元に戻されます。マークされたメッセージを選択した場合も **Restore conversation**(会話を復元)は利用でき、会話をそのメッセージまで巻き戻し、ファイルはそのまま残します。

120 120 

121<h3 id="symlinked-and-hard-linked-paths-not-restored">121<h3 id="symlinked-and-hard-linked-paths-not-restored">

122 シンボリックリンクおよびハードリンクパスは復元されません122 シンボリックリンクおよびハードリンクパスは復元されません

chrome.md +3 −4

Details

129 VS Code セッションでの権限プロンプト129 VS Code セッションでの権限プロンプト

130</h3>130</h3>

131 131 

132VS Code セッションでは、ブラウザアクションの前に Claude Code が確認するかどうかは、セッションがブラウザに接続した方法によって異なります。132VS Code セッションでは、ブラウザアクションの前に Claude Code が確認する場合、プロンプトはチャットパネルにカードとして表示されます。アクションの対象が許可していないサイトである場合、カードにはそのサイトを許可するオプションも表示されます。

133 133 

134* **`@browser` と入力した場合**: Claude Code が通常であれば確認するブラウザアクションを、拡張機能がそれぞれ承認します。134[デフォルトで有効](#enable-chrome-by-default)がオンになっているために開始時にブラウザに接続したセッションでは、Claude Code は Manual、Edit automatically、Auto、Bypass permissions の各モードで、許可していないサイトでのブラウザアクションの前に確認します。Auto モードと Bypass permissions モードでは、これはそのセッションで `@browser` と入力するまで適用されます。

135* **[デフォルトで有効](#enable-chrome-by-default)設定によって開始時に接続された場合**: そのセッションで `@browser` と入力するまで、Claude Code は Manual、Edit automatically、Auto、Bypass permissions の各モードで、許可していないサイトでのブラウザアクションの前に確認します。

136 135 

137<h3 id="browser-tools-in-plan-mode">136<h3 id="browser-tools-in-plan-mode">

138 plan モードでのブラウザツール137 plan モードでのブラウザツール

139</h3>138</h3>

140 139 

141[plan モード](/docs/ja/permission-modes#analyze-before-you-edit-with-plan-mode)では、Claude が GIF を記録する、新しいタブを開く、またはショートカットを実行する前に権限プロンプトが表示されます。ただし、[`@browser`](#permission-prompts-in-vs-code-sessions) と入力した VS Code セッションは除きます。対話型 CLI セッションでは、[bypassPermissions モードが利用可能](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)で、かつ[機能フラグの取得](/docs/ja/env-vars#features-that-need-feature-flag-fetching)がオフの場合、これらの呼び出しはプロンプトなしで実行されます。140[plan モード](/docs/ja/permission-modes#analyze-before-you-edit-with-plan-mode)では、Claude が GIF を記録する、新しいタブを開く、またはショートカットを実行する前に権限プロンプトが表示されます。対話型 CLI セッションでは、[bypassPermissions モードが利用可能](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)で、かつ[機能フラグの取得](/docs/ja/env-vars#features-that-need-feature-flag-fetching)がオフの場合、これらの呼び出しはプロンプトなしで実行されます。

142 141 

143`createIfEmpty` を設定する `tabs_context_mcp` 呼び出しや、これらのアクションのいずれかを含む `browser_batch` 呼び出しでもプロンプトが表示されます。142`createIfEmpty` を設定する `tabs_context_mcp` 呼び出しや、これらのアクションのいずれかを含む `browser_batch` 呼び出しでもプロンプトが表示されます。

144 143 

Details

263 開発者を接続する263 開発者を接続する

264</h2>264</h2>

265 265 

266開発者は独自のラップトップから 1 つのブラウザサインインで接続し、企業の仕事用アカウントを使用します。claude.ai アカウント、API キー、またはサブスクリプションは必要ありません。モデルへのリクエストは組織のアップストリーム認証情報を使用してゲートウェイを通じて行くためです。接続は、MDM 経由でプッシュする[クライアント側管理設定](/docs/ja/claude-apps-gateway-config#client-side-managed-settings)によって駆動されるため、開発者側に手動セットアップはありません。このセクションは管理者が設定するものをカバーしています。266開発者は独自のラップトップから 1 つのブラウザサインインで接続し、企業の仕事用アカウントを使用します。claude.ai アカウント、API キー、またはサブスクリプションは必要ありません。モデルへのリクエストは組織のアップストリーム認証情報を使用してゲートウェイを通じて行くためです。接続は、MDM 経由でプッシュする[クライアント側管理設定](/docs/ja/claude-apps-gateway-config#client-side-managed-settings)によって駆動されます。このセクションは管理者が設定するものをカバーしています。

267 267 

268CLI はゲートウェイの TLS リーフ証明書を最初の接続時にフィンガープリントし、ホスト名ごとにピン留めします。サインイン時、サイレントセッション更新時、および管理設定フェッチ時にそのピンを再度チェックしますが、推論リクエストはピンなしで標準 TLS 検証を使用します。HTTPS プロキシを通じてルーティングされたリクエストはピンチェックをスキップするため、ゲートウェイホストを `NO_PROXY` に追加して直接接続を保つようにします。268CLI はゲートウェイの TLS リーフ証明書を最初の接続時にフィンガープリントし、ホスト名ごとにピン留めします。サインイン時、サイレントセッション更新時、および管理設定フェッチ時にそのピンを再度チェックしますが、推論リクエストはピンなしで標準 TLS 検証を使用します。HTTPS プロキシを通じてルーティングされたリクエストはピンチェックをスキップするため、ゲートウェイホストを `NO_PROXY` に追加して直接接続を保つようにします。

269 269 


287 ゲートウェイ URL を設定する287 ゲートウェイ URL を設定する

288</h3>288</h3>

289 289 

290MDM 経由またはディスク上で直接デプロイする OS ごとの[管理設定ファイル](/docs/ja/managed-settings#delivery-mechanisms)に 3 つのキーが入ります。`forceLoginMethod` と `forceLoginGatewayUrl` は `/login` を **Cloud gateway** 画面で URL が入力された状態で直接開き、`parentSettingsBehavior: "merge"` は Claude Desktop がゲートウェイの出力許可リストを起動する Claude Code セッションに配信できるようにします。これは[Claude Desktop セッションにポリシーを配信する](#deliver-policy-to-claude-desktop-sessions)で説明されています。290MDM 経由またはディスク上で直接デプロイする OS ごとの[管理設定ファイル](/docs/ja/managed-settings#delivery-mechanisms)に 3 つのキーが入ります。管理設定のないマシンについては、代わりに[ユーザー設定でゲートウェイ URL を設定する](#set-the-gateway-url-in-user-settings)を参照してください。`forceLoginMethod` と `forceLoginGatewayUrl` は `/login` を **Cloud gateway** 画面で URL が入力された状態で直接開き、`parentSettingsBehavior: "merge"` は Claude Desktop がゲートウェイの出力許可リストを起動する Claude Code セッションに配信できるようにします。これは[Claude Desktop セッションにポリシーを配信する](#deliver-policy-to-claude-desktop-sessions)で説明されています。

291 291 

292```json theme={null}292```json theme={null}

293{293{


299 299 

300開発者は Enter キーを押して接続します。[最初の接続 TLS フィンガープリントプロンプト](#connect-developers)は引き続き表示されます。ファイルがマシンに配置されると、ゲートウェイサインインを完了していない開発者は、[Administrator policy requires a Cloud gateway sign-in](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in)で説明されているメッセージの 1 つを見ます。`CLAUDE_CODE_USE_BEDROCK` などの環境変数を通じてクラウドプロバイダーを選択する開発者はゲートウェイサインインを必要としません。300開発者は Enter キーを押して接続します。[最初の接続 TLS フィンガープリントプロンプト](#connect-developers)は引き続き表示されます。ファイルがマシンに配置されると、ゲートウェイサインインを完了していない開発者は、[Administrator policy requires a Cloud gateway sign-in](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in)で説明されているメッセージの 1 つを見ます。`CLAUDE_CODE_USE_BEDROCK` などの環境変数を通じてクラウドプロバイダーを選択する開発者はゲートウェイサインインを必要としません。

301 301 

302開発者はこれを手動で設定することはできません。ログインピッカーにはゲートウェイオプションがなく、`forceLoginGatewayUrl` は開発者独自の設定ファイルでは無視されます。URL なしの `forceLoginMethod` のみでは、開発者を「IT 管理者に連絡してください」メッセージのままにします。ログインキーは、マシンにプッシュするファイルに属し、ゲートウェイの `managed.policies[].cli` ブロックには属しません。このブロックは既に接続されているクライアントにのみ到達します。302ログインピッカーにはゲートウェイオプションがなく、管理設定で URL なしの `forceLoginMethod` のみを設定すると、開発者は「IT 管理者に連絡してください」メッセージのままになります。ログインキーは、マシンにプッシュするファイルに属し、ゲートウェイの `managed.policies[].cli` ブロックには属しません。このブロックは既に接続されているクライアントにのみ到達します。

303 

304<h4 id="set-the-gateway-url-in-user-settings">

305 ユーザー設定でゲートウェイ URL を設定する

306</h4>

307 

308管理設定のないマシンでは、各開発者に `forceLoginMethod` と `forceLoginGatewayUrl` を自分のユーザー設定ファイル `~/.claude/settings.json` に追加してもらいます。これには開発者マシンで Claude Code v2.1.295 以降が必要です。この例では `claude-gateway.internal.example.com` のゲートウェイを指定しています。

309 

310```json theme={null}

311{

312 "forceLoginMethod": "gateway",

313 "forceLoginGatewayUrl": "https://claude-gateway.internal.example.com"

314}

315```

316 

317開発者が Claude Code のプロンプトで `/login` を実行すると、そのアドレスで **Cloud gateway** 画面が開き、Enter キーを押して接続します。[最初の接続 TLS フィンガープリントプロンプト](#connect-developers)は引き続き表示されます。この方法で設定したキーには以下の制限が適用されます。

318 

319* **ユーザー設定のみ**:Claude Code は 2 つのキーを `~/.claude/settings.json` から読み取り、プロジェクトの `.claude/settings.json` や `.claude/settings.local.json` からは読み取りません。

320* **管理設定があると無効になる**:管理設定ファイル、macOS plist または Windows HKLM ポリシー、あるいは[ポリシーヘルパー](/docs/ja/settings-reference#policyhelper)を通じて管理者の設定がマシンに届くと、Claude Code はユーザー設定で指定されたゲートウェイを無視します。

303 321 

304<h3 id="allow-a-gateway-on-public-address-space-you-own">322<h3 id="allow-a-gateway-on-public-address-space-you-own">

305 公開アドレス空間でゲートウェイを許可する323 公開アドレス空間でゲートウェイを許可する

Details

979 * **キーの混在**: `code` と `cli`(またはその以前の表記である `settings`)の両方を含むファイルは、起動時にゲートウェイを停止させます。1 回の編集で、すべてのブロックを 1 つのキーの下に置いてください。979 * **キーの混在**: `code` と `cli`(またはその以前の表記である `settings`)の両方を含むファイルは、起動時にゲートウェイを停止させます。1 回の編集で、すべてのブロックを 1 つのキーの下に置いてください。

980</Warning>980</Warning>

981 981 

982`.env` ファイルの読み取りを拒否するルールなど、ポリシーの Claude Code 設定は、`cli` キーまたは `code` キーの下のブロックに記述します。どちらのキーも同じ内容を受け付けます。キーによって、設定が適用される場所が決まります。982`.env` ファイルの読み取りを拒否するルールなど、ポリシーの Claude Code の設定は、`cli` または `code` キーの下のブロックに記述します。`code` が推奨されるキーで、`cli` は従来のキーです。どちらのキーも同じ内容を受け付けます。キーによって、設定が適用される場所が決まります。

983 983 

984* **`cli`**: ターミナル、VS Code と JetBrains の拡張機能、Agent SDK。`cli` の下では、Claude Desktop の Code タブには [派生した設定](#claude-desktop-overlay) が適用されるため、`Read(./.env)` のようなスコープ付きルールはそこでのユーザーの操作を止めません。984* **`cli`**: ターミナル、VS Code と JetBrains の拡張機能、Agent SDK。`cli` の下では、Claude Desktop の Code タブには [派生した設定](#claude-desktop-overlay) が適用されるため、`Read(./.env)` のようなスコープ付きルールはそこでのユーザーの操作を止めません。

985* **`code`**: 同じ場所に加え、Claude Desktop の Code タブもカバーできます。985* **`code`**: 同じ場所に加え、Claude Desktop の Code タブもカバーできます。

986 986 

987選択のポイントは、これらの設定で Code タブもカバーすべきかどうかです。カバーしない場合は、何も変更する必要はありません。`cli` を使用するファイルは以前と同様に動作し、[`desktop`](#claude-desktop-overlay) キーを持つポリシーで `cli` を見つけたゲートウェイは、起動時に警告を出したうえで起動します。Code タブをカバーするには、推奨キーである `code` に切り替えてください。987`cli` を使用するファイルは従来どおり動作し、[`desktop`](#claude-desktop-overlay) キーを持つポリシーで `cli` を検出したゲートウェイは、起動時に警告を出しますが起動は続行します。設定が Code タブにも適用されるように、`code` に切り替えてください。

988 988 

989切り替える前に、[Code タブで `code` 設定を適用する](#apply-code-settings-in-the-code-tab) をお読みください。設定がそこで適用されるには、ポリシーに `desktop` キーが必要で、ユーザーのマシンでのセットアップも必要です。また、Claude Desktop では Web 検索がオフになります。989切り替える前に、[Code タブで `code` 設定を適用する](#apply-code-settings-in-the-code-tab) をお読みください。設定がそこで適用されるには、ポリシーに `desktop` キーが必要で、ユーザーのマシンでのセットアップも必要です。また、Claude Desktop では Web 検索がオフになります。

990 990 


1711 1711 

1712Claude Desktop の場合、Claude Desktop 独自の[マネージド設定](https://claude.com/docs/third-party/claude-desktop/configuration)で `bootstrapUrl` キーを `<listen.public_url>/user/bootstrap` に設定します。サインインフロー及びグループごとのポリシーは、ポリシーが `desktop` キーでサーバー側で opt-in した後、CLI のものと一致します。opt-in がない場合、`/user/bootstrap` は 404 を返します。[Claude Desktop オーバーレイ](#claude-desktop-overlay)でサーバー側の半分を参照してください。1712Claude Desktop の場合、Claude Desktop 独自の[マネージド設定](https://claude.com/docs/third-party/claude-desktop/configuration)で `bootstrapUrl` キーを `<listen.public_url>/user/bootstrap` に設定します。サインインフロー及びグループごとのポリシーは、ポリシーが `desktop` キーでサーバー側で opt-in した後、CLI のものと一致します。opt-in がない場合、`/user/bootstrap` は 404 を返します。[Claude Desktop オーバーレイ](#claude-desktop-overlay)でサーバー側の半分を参照してください。

1713 1713 

1714Claude Code は [`forceLoginGatewayUrl`](/docs/ja/settings-reference#forcelogingatewayurl)、[`gatewayInternalNetworks`](/docs/ja/settings-reference#gatewayinternalnetworks)、および [`forceLoginMethod`](/docs/ja/settings-reference#forceloginmethod) の `"gateway"` 値をマシン上のマネージドソースからのみ認識します。`managed-settings.json`、macOS plist または Windows HKLM レジストリ、またはポリシーヘルパーです。開発者が独自の `~/.claude/settings.json` でこれらを設定しても効果がなく、ゲートウェイペイロードで設定しても同様です。1714Claude Code は [`forceLoginGatewayUrl`](/docs/ja/settings-reference#forcelogingatewayurl)、[`gatewayInternalNetworks`](/docs/ja/settings-reference#gatewayinternalnetworks)、および [`forceLoginMethod`](/docs/ja/settings-reference#forceloginmethod) の `"gateway"` 値をマシン上のマネージドソースから認識します。`managed-settings.json`、macOS plist または Windows HKLM レジストリ、またはポリシーヘルパーです。ゲートウェイペイロードでこれらを設定しても、ゲートウェイのサインインは設定されません。開発者自身の `~/.claude/settings.json` については、[ユーザー設定でゲートウェイ URL を設定する](/docs/ja/claude-apps-gateway#set-the-gateway-url-in-user-settings)を参照してください。

1715 1715 

1716`forceLoginMethod` と `forceLoginOrgUUID` をペイロードから除外してください。Claude Code はスタートアップ認証情報チェックのためにペイロードから両方のキーを読み込みます。そのため、Anthropic が発行した認証情報をマシンに保持している開発者は、サインイン後でも[管理者ポリシーがクラウドゲートウェイサインインを必要とする](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in)の下で説明されているスタートアップ終了を取得します。1716`forceLoginMethod` と `forceLoginOrgUUID` をペイロードから除外してください。Claude Code はスタートアップ認証情報チェックのためにペイロードから両方のキーを読み込みます。そのため、Anthropic が発行した認証情報をマシンに保持している開発者は、サインイン後でも[管理者ポリシーがクラウドゲートウェイサインインを必要とする](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in)の下で説明されているスタートアップ終了を取得します。

1717 1717 

Details

135 ゲートウェイ URL を開発者マシンにプッシュする135 ゲートウェイ URL を開発者マシンにプッシュする

136</h3>136</h3>

137 137 

138ゲートウェイがサービスを提供したら、MDM を通じて、または OS ごとの `managed-settings.json` を直接書き込むことで、管理設定を通じて各開発者のマシンに `forceLoginMethod`、`forceLoginGatewayUrl`、および `parentSettingsBehavior: "merge"` をプッシュします。これなしでは、`/login` はゲートウェイオプションなしで標準アカウントピッカーを表示します。138ゲートウェイが稼働したら、MDM を通じて、または OS ごとの `managed-settings.json` を直接書き込むことで、管理設定を通じて各開発者のマシンに `forceLoginMethod`、`forceLoginGatewayUrl`、および `parentSettingsBehavior: "merge"` をプッシュします。

139 139 

140キーをデプロイしたら、Claude Code はマシン上の残存する API キーまたは claude.ai ログインの使用を停止するため、サインイン指示と一緒にプッシュを計画します。[Administrator policy requires a Cloud gateway sign-in](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in) は開発者が見るメッセージについて説明しています。140キーをデプロイしたら、Claude Code はマシン上の残存する API キーまたは claude.ai ログインの使用を停止するため、サインイン指示と一緒にプッシュを計画します。[Administrator policy requires a Cloud gateway sign-in](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in) は開発者が見るメッセージについて説明しています。

141 141 

Details

277 277 

278スレッドはスレッドのモデルがサポートしている場合、[自動モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)で実行されるため、ほとんどのツール呼び出しはあなたに尋ねずに実行されます。スレッドがあなたの承認を必要とする場合、プロンプトはそのスレッド内にあり、スレッドはあなたがそこで答えるまで待機します。プロジェクト会話で Claude に先に進むように伝えることはそれに到達しません。278スレッドはスレッドのモデルがサポートしている場合、[自動モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)で実行されるため、ほとんどのツール呼び出しはあなたに尋ねずに実行されます。スレッドがあなたの承認を必要とする場合、プロンプトはそのスレッド内にあり、スレッドはあなたがそこで答えるまで待機します。プロジェクト会話で Claude に先に進むように伝えることはそれに到達しません。

279 279 

280各承認はそのプロンプト、またはより広いオプションを選択した場合はそのスレッドの残りをカバーします。すべてのスレッドが特定のコマンドを尋ねずに実行できるようにするか、いくつかをブロックするには、リポジトリの`.claude/settings.json`に[権限ルール](/docs/ja/permissions)を追加します。クラウドスレッドはそれらを 1 つのリポジトリを持つプロジェクトでのみ適用します。[スレッドがリポジトリから何を取得するか](#what-threads-pick-up-from-your-repositories)を参照してください。複数のリポジトリを持つプロジェクトでは、リポジトリの権限ルールはクラウドスレッドに到達しないため、自動モードとスレッド内で与える承認に依存します。280各承認はそのプロンプト、またはより広いオプションを選択した場合はそのスレッドの残りをカバーします。

281 

282すべてのスレッドが特定のコマンドを尋ねずに実行できるようにするか、いくつかをブロックするには、リポジトリの `.claude/settings.json` に[権限ルール](/docs/ja/permissions)を追加します。プロジェクト内のクラウドスレッドがそれらを適用するかどうかを確認してください。

283 

284* **1 つのリポジトリ**:クラウドスレッドはルールを適用します。[スレッドがリポジトリから何を取得するか](#what-threads-pick-up-from-your-repositories)を参照してください。

285* **複数のリポジトリ、Anthropic がホストする環境**:どのリポジトリの権限ルールもクラウドスレッドに届かないため、auto モードと各スレッド内で与える承認に依存します。

286* **複数のリポジトリ、セルフホスト環境**:[どのリポジトリの設定が適用されるか](/docs/ja/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories)を参照してください。

281 287 

282<h3 id="run-a-thread-on-your-own-computer">288<h3 id="run-a-thread-on-your-own-computer">

283 コンピューターでスレッドを実行する289 コンピューターでスレッドを実行する


381 スレッドがリポジトリから取得するもの387 スレッドがリポジトリから取得するもの

382</h3>388</h3>

383 389 

384各クラウドスレッドはプロジェクト内のすべてのリポジトリをクローンし、すべてのリポジトリから `CLAUDE.md` とスキルを読み込みます。権限ルール、フック、`env` は、スレッドが開始するディレクトリ内の `.claude/settings.json` からのみ取得されます:プロジェクトが 1 つのリポジトリを持つ場合はリポジトリ内、複数のリポジトリを持つ場合はクローンの上で、リポジトリのファイルはそれらに対して読み込まれません。390各クラウドスレッドはプロジェクト内のすべてのリポジトリをクローンし、すべてのリポジトリから `CLAUDE.md` とスキルを読み込みます。権限ルール、フック、`env` は、スレッドが開始するディレクトリ内の `.claude/settings.json` からのみ取得されます。

385 391 

386| 各リポジトリ内 | 1 つのリポジトリ | 複数のリポジトリ |392| 各リポジトリ内 | 1 つのリポジトリ | 複数のリポジトリ |

387| :- | :- | :- |393| :- | :- | :- |

388| `CLAUDE.md` | スレッド開始時に読み込まれます | スレッド開始時にすべてのリポジトリから読み込まれます |394| `CLAUDE.md` | スレッド開始時に読み込まれます | スレッド開始時にすべてのリポジトリから読み込まれます |

389| `.claude/` の下のスキル、エージェント、コマンド | 読み込まれます | すべてのリポジトリから読み込まれます |395| `.claude/` の下のスキル、エージェント、コマンド | 読み込まれます | すべてのリポジトリから読み込まれます |

390| `.claude/settings.json` で有効化されたプラグイン | 読み込まれません。代わりに **プロジェクト設定 > プラグイン** でプラグインを追加してください | 読み込まれません。代わりに **プロジェクト設定 > プラグイン** でプラグインを追加してください |396| `.claude/settings.json` で有効化されたプラグイン | 読み込まれません。代わりに **プロジェクト設定 > プラグイン** でプラグインを追加してください | 読み込まれません。代わりに **プロジェクト設定 > プラグイン** でプラグインを追加してください |

391| `.claude/settings.json` で定義された権限ルール、フック、`env` | スレッドに適用されます。ただし、[クラウドセッションが認識しない](/docs/ja/cloud-environments#what-carries-over-from-your-setup) `env` キーは除きます | 適用されません |397| `.claude/settings.json` で定義された権限ルール、フック、`env` | スレッドに適用されます。ただし、[クラウドセッションが認識しない](/docs/ja/cloud-environments#what-carries-over-from-your-setup) `env` キーは除きます | Anthropic ホスト環境では適用されません。セルフホスト環境については、[どのリポジトリの設定が適用されるか](/docs/ja/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories) を参照してください |

392 398 

393複数のリポジトリを持つプロジェクトでは、各クローンは `CLAUDE.md` 読み込みが有効になった [追加ディレクトリ](/docs/ja/memory#load-from-additional-directories) としてスレッドに接続されます。これが、スレッドがそれらの上で開始されるにもかかわらず、すべてのリポジトリの `CLAUDE.md` とスキルが開始時に読み込まれる理由です。このようなプロジェクトでは、スタンディングルールをプロジェクト指示に記載し、[クラウド環境](#choose-an-environment-for-threads) を通じてスレッドに環境変数を提供してください。399複数のリポジトリを持つプロジェクトでは、スタンディングルールをプロジェクト指示に記載し、[クラウド環境](#choose-an-environment-for-threads) を通じてスレッドに環境変数を提供してください。

394 400 

395<h3 id="choose-an-environment-for-threads">401<h3 id="choose-an-environment-for-threads">

396 スレッドの環境を選択する402 スレッドの環境を選択する


406 412 

407クラウドスレッドはマシンにのみインストールされているスキル、MCP サーバー、プラグイン、ツールを持っていません。[Remote Control](/docs/ja/remote-control) を通じてマシン上で Claude が実行するスレッドは、そこにインストールされているものを使用します。これらのそれぞれをクラウドスレッドで利用可能にするには:413クラウドスレッドはマシンにのみインストールされているスキル、MCP サーバー、プラグイン、ツールを持っていません。[Remote Control](/docs/ja/remote-control) を通じてマシン上で Claude が実行するスレッドは、そこにインストールされているものを使用します。これらのそれぞれをクラウドスレッドで利用可能にするには:

408 414 

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

410* プラグイン:**プロジェクト設定 > プラグイン** で追加します。各新しいクラウドスレッドに読み込まれます。リポジトリが `.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)。

411* 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) は、クラウドセッションのルールとコネクタをオフにする設定をリストしています。

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

Details

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

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

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

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

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

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

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


68| `--agent` | 現在のセッションのエージェントを指定します(`agent` 設定をオーバーライドします) | `claude --agent my-custom-agent` |68| `--agent` | 現在のセッションのエージェントを指定します(`agent` 設定をオーバーライドします) | `claude --agent my-custom-agent` |

69| `--agents` | JSON を使用してカスタムサブエージェントを動的に定義します。[CLI で定義されたサブエージェントのリストされたフィールド](/docs/ja/sub-agents#choose-the-subagent-scope)を受け入れます。`--print` を使用する場合、値は代わりに JSON オブジェクトを保持するファイルへのパスになります。ファイル形式には Claude Code v2.1.281 以降が必要です。Claude Code は起動時に値を検証し、無効な値で終了します。メッセージについては [`Invalid --agents configuration`](/docs/ja/errors#invalid-agents-configuration) を参照してください。また、検証をスキップするフラグと環境変数についても参照してください。検証には Claude Code v2.1.242 以降が必要です | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |69| `--agents` | JSON を使用してカスタムサブエージェントを動的に定義します。[CLI で定義されたサブエージェントのリストされたフィールド](/docs/ja/sub-agents#choose-the-subagent-scope)を受け入れます。`--print` を使用する場合、値は代わりに JSON オブジェクトを保持するファイルへのパスになります。ファイル形式には Claude Code v2.1.281 以降が必要です。Claude Code は起動時に値を検証し、無効な値で終了します。メッセージについては [`Invalid --agents configuration`](/docs/ja/errors#invalid-agents-configuration) を参照してください。また、検証をスキップするフラグと環境変数についても参照してください。検証には Claude Code v2.1.242 以降が必要です | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

70| `--allow-dangerously-skip-permissions` | `Shift+Tab` モードサイクルに `bypassPermissions` を追加します。ただし、それで開始しません。`plan` などの別のモードで開始し、後で `bypassPermissions` に切り替えることができます。[権限モード](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)を参照してください | `claude --permission-mode plan --allow-dangerously-skip-permissions` |70| `--allow-dangerously-skip-permissions` | `Shift+Tab` モードサイクルに `bypassPermissions` を追加します。ただし、それで開始しません。`plan` などの別のモードで開始し、後で `bypassPermissions` に切り替えることができます。[権限モード](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)を参照してください | `claude --permission-mode plan --allow-dangerously-skip-permissions` |

71| `--allowedTools`, `--allowed-tools` | 権限を求めずに実行するツール。パターンマッチングについては[権限ルール構文](/docs/ja/settings-reference#permission-rule-syntax)を参照してください。利用可能なツールを制限するには、代わりに `--tools` を使用してください。[タスク追跡ツール](/docs/ja/tools-reference#task-tool-availability)の 1 つをここで名前を付けた場合、Claude Code もセッションをオプトインします | `"Bash(git log *)" "Bash(git diff *)" "Read"` |71| `--allowedTools`, `--allowed-tools` | 権限を求めずに実行するツール。ただし、[ネットワークパス](/docs/ja/permissions#network-paths)からの読み取りは除きます。パターンマッチングについては[権限ルール構文](/docs/ja/settings-reference#permission-rule-syntax)を参照してください。利用可能なツールを制限するには、代わりに `--tools` を使用してください。[タスク追跡ツール](/docs/ja/tools-reference#task-tool-availability)の 1 つをここで名前を付けた場合、Claude Code もセッションをオプトインします | `"Bash(git log *)" "Bash(git diff *)" "Read"` |

72| `--append-subagent-system-prompt` | すべての[サブエージェント](/docs/ja/sub-agents)のシステムプロンプトの末尾にカスタムテキストを追加します。ネストされたサブエージェントを含みますが、[フォークされたサブエージェント](/docs/ja/sub-agents#fork-the-current-conversation)は除きます。フォークされたサブエージェントは会話独自のプロンプトを再利用します。`-p` を使用した非対話モードでのみ適用されます。Claude Code v2.1.205 以降が必要です | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |72| `--append-subagent-system-prompt` | すべての[サブエージェント](/docs/ja/sub-agents)のシステムプロンプトの末尾にカスタムテキストを追加します。ネストされたサブエージェントを含みますが、[フォークされたサブエージェント](/docs/ja/sub-agents#fork-the-current-conversation)は除きます。フォークされたサブエージェントは会話独自のプロンプトを再利用します。`-p` を使用した非対話モードでのみ適用されます。Claude Code v2.1.205 以降が必要です | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |

73| `--append-subagent-system-prompt-file` | ファイルからテキストを読み込み、[サブエージェント](/docs/ja/sub-agents)システムプロンプトに追加します。コマンドラインで渡すには長すぎるテキストの場合、`--append-subagent-system-prompt` の代替です。2 つのフラグを組み合わせることはできません。`-p` を使用した非対話モードでのみ適用されます。Claude Code v2.1.261 以降が必要です | `claude -p --append-subagent-system-prompt-file ./subagent-rules.txt "query"` |73| `--append-subagent-system-prompt-file` | ファイルからテキストを読み込み、[サブエージェント](/docs/ja/sub-agents)システムプロンプトに追加します。コマンドラインで渡すには長すぎるテキストの場合、`--append-subagent-system-prompt` の代替です。2 つのフラグを組み合わせることはできません。`-p` を使用した非対話モードでのみ適用されます。Claude Code v2.1.261 以降が必要です | `claude -p --append-subagent-system-prompt-file ./subagent-rules.txt "query"` |

74| `--append-system-prompt` | デフォルトシステムプロンプトの末尾にカスタムテキストを追加します | `claude --append-system-prompt "Always use TypeScript"` |74| `--append-system-prompt` | デフォルトシステムプロンプトの末尾にカスタムテキストを追加します | `claude --append-system-prompt "Always use TypeScript"` |


81| `--channels` | (研究プレビュー)Claude がこのセッションでリッスンすべき[チャネル](/docs/ja/channels)通知を持つ MCP サーバー。`plugin:<name>@<marketplace>` エントリのスペース区切りリスト。claude.ai または Console API キーを通じた Anthropic 認証が必要です | `claude --channels plugin:my-notifier@my-marketplace` |81| `--channels` | (研究プレビュー)Claude がこのセッションでリッスンすべき[チャネル](/docs/ja/channels)通知を持つ MCP サーバー。`plugin:<name>@<marketplace>` エントリのスペース区切りリスト。claude.ai または Console API キーを通じた Anthropic 認証が必要です | `claude --channels plugin:my-notifier@my-marketplace` |

82| `--chrome` | [Chrome ブラウザ統合](/docs/ja/chrome)を有効にして、Web 自動化とテストを行います | `claude --chrome` |82| `--chrome` | [Chrome ブラウザ統合](/docs/ja/chrome)を有効にして、Web 自動化とテストを行います | `claude --chrome` |

83| `--cloud` | タスク説明を使用して、新しい[クラウドセッション](/docs/ja/claude-code-on-the-web)を作成します。セッション ID(`session_...` または `cse_...`)または claude.ai/code URL を使用して、`-p` でそのセッションに代わりにメッセージをキューに入れます。[フォローアップメッセージを送信](/docs/ja/claude-code-on-the-web#send-follow-ups-from-the-cli)を参照してください。 | `claude --cloud "Fix the login bug"` |83| `--cloud` | タスク説明を使用して、新しい[クラウドセッション](/docs/ja/claude-code-on-the-web)を作成します。セッション ID(`session_...` または `cse_...`)または claude.ai/code URL を使用して、`-p` でそのセッションに代わりにメッセージをキューに入れます。[フォローアップメッセージを送信](/docs/ja/claude-code-on-the-web#send-follow-ups-from-the-cli)を参照してください。 | `claude --cloud "Fix the login bug"` |

84| `--continue`, `-c` | 現在のディレクトリで最新の会話を読み込みます。[終了したバックグラウンドセッション](/docs/ja/sessions#resume-a-session)を含みます。終了したバックグラウンドセッションを開くには Claude Code v2.1.257 以降が必要です。`claude -p` またはエージェント SDK で作成されたセッション、および最初のプロンプトが `/loop` だったセッションをスキップします。`claude -p --continue` には `-p`、SDK、`/loop` セッションが含まれます。このディレクトリを `/add-dir` で追加したセッションを含みます | `claude --continue` |84| `--continue`, `-c` | 現在のディレクトリで最新の会話を読み込みます。[終了したバックグラウンドセッション](/docs/ja/sessions#where-the-session-picker-looks)を含みます。終了したバックグラウンドセッションを開くには Claude Code v2.1.257 以降が必要です。`claude -p` または Agent SDK で作成されたセッション、および最初のプロンプトが `/loop` だったセッションをスキップします。`claude -p --continue` には `-p`、SDK、`/loop` セッションが含まれます。このディレクトリを `/add-dir` で追加したセッションを含みます | `claude --continue` |

85| `--dangerously-load-development-channels` | 承認済みの許可リストにない[チャネル](/docs/ja/channels-reference#test-during-the-research-preview)を有効にして、ローカル開発を行います。`plugin:<name>@<marketplace>` および `server:<name>` エントリを受け入れます。確認を求めるため、対話セッションで有効になります。`-p` を使用すると、Claude Code はこのフラグを無視します | `claude --dangerously-load-development-channels server:webhook` |85| `--dangerously-load-development-channels` | 承認済みの許可リストにない[チャネル](/docs/ja/channels-reference#test-during-the-research-preview)を有効にして、ローカル開発を行います。`plugin:<name>@<marketplace>` および `server:<name>` エントリを受け入れます。確認を求めるため、対話セッションで有効になります。`-p` を使用すると、Claude Code はこのフラグを無視します | `claude --dangerously-load-development-channels server:webhook` |

86| `--dangerously-skip-permissions` | 権限プロンプトをスキップします。`--permission-mode bypassPermissions` と同等です。[権限モード](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)でこれが何をスキップし、何をスキップしないかを参照してください。`--bg` で開始されたセッションの場合、モードは[スーパーバイザーがセッションを再開するときに保持](/docs/ja/agent-view#permission-mode-model-and-effort)されます | `claude --dangerously-skip-permissions` |86| `--dangerously-skip-permissions` | 権限プロンプトをスキップします。`--permission-mode bypassPermissions` と同等です。[権限モード](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)でこれが何をスキップし、何をスキップしないかを参照してください。`--bg` で開始されたセッションの場合、モードは[スーパーバイザーがセッションを再開するときに保持](/docs/ja/agent-view#permission-mode-model-and-effort)されます | `claude --dangerously-skip-permissions` |

87| `--debug` | デバッグモードを有効にします。オプションのカテゴリフィルタリング(`--debug='mcp,startup'` または `--debug='!1p'` など)を使用します。フィルターは `=` 形式でのみバインドされます。スペース区切りフィルターはフィルタリングなしでデバッグモードを有効にします | `claude --debug='mcp,startup'` |87| `--debug` | デバッグモードを有効にします。オプションのカテゴリフィルタリング(`--debug='mcp,startup'` または `--debug='!1p'` など)を使用します。フィルターは `=` 形式でのみバインドされます。スペース区切りフィルターはフィルタリングなしでデバッグモードを有効にします | `claude --debug='mcp,startup'` |


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

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

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

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

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

113| `--name`, `-n` | セッションの表示名を設定します。`/resume` とターミナルタイトルに表示されます。`claude --resume <name>` で名前付きセッションを再開できます。対話型セッションで、このマシン上の別のライブセッションが既に名前を使用している場合、Claude Code は[その変種を適用](/docs/ja/sessions#name-your-sessions)します。<br /><br />[`/rename`](/docs/ja/commands)はセッション中に名前を変更し、プロンプトバーにも表示します | `claude -n "my-feature-work"` |113| `--name`, `-n` | セッションの表示名を設定します。`/resume` とターミナルタイトルに表示されます。`claude --resume <name>` で名前付きセッションを再開できます。<br /><br />[`/rename`](/docs/ja/commands)はセッション中に名前を変更し、プロンプトバーにも表示します | `claude -n "my-feature-work"` |

114| `--no-chrome` | このセッションの [Chrome ブラウザ統合](/docs/ja/chrome)を無効にします | `claude --no-chrome` |114| `--no-chrome` | このセッションの [Chrome ブラウザ統合](/docs/ja/chrome)を無効にします | `claude --no-chrome` |

115| `--no-session-persistence` | セッション永続性を無効にして、セッションがディスクに保存されず、再開できないようにします。プリントモードのみ。[`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/ja/env-vars)環境変数は任意のモードで同じことを行います | `claude -p --no-session-persistence "query"` |115| `--no-session-persistence` | セッション永続性を無効にして、セッションがディスクに保存されず、再開できないようにします。プリントモードのみ。[`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/ja/env-vars)環境変数は任意のモードで同じことを行います | `claude -p --no-session-persistence "query"` |

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

117| `--permission-mode` | 指定された[権限モード](/docs/ja/permission-modes)で開始します。`default`、`acceptEdits`、`plan`、`auto`、`dontAsk`、`bypassPermissions`、または `manual` を `default` のエイリアスとして受け入れます。`manual` エイリアスは UI が Manual とラベル付けする権限モードを選択し、Claude Code v2.1.200 以降が必要です。`claude --help` は `default` の代わりにそれをリストアップし、両方の値が機能します。設定ファイルから `defaultMode` をオーバーライドします。このフラグまたは `--dangerously-skip-permissions` がない場合、新しいセッションは[セッションが開始される権限モード](/docs/ja/permission-modes#which-mode-a-session-starts-in)で説明されている権限モードで開始されます。`-p` の場合、何も設定されていないときは `default` です | `claude --permission-mode plan` |117| `--permission-mode` | 指定された[権限モード](/docs/ja/permission-modes)で開始します。`default`、`acceptEdits`、`plan`、`auto`、`dontAsk`、`bypassPermissions`、または `manual` を `default` のエイリアスとして受け入れます。`manual` エイリアスは UI が Manual とラベル付けする権限モードを選択し、Claude Code v2.1.200 以降が必要です。`claude --help` は `default` の代わりにそれをリストアップし、両方の値が機能します。設定ファイルの `defaultMode` を上書きします。このフラグまたは `--dangerously-skip-permissions` がない場合、新しいセッションは[セッションが開始される権限モード](/docs/ja/permission-modes#which-mode-a-session-starts-in)で説明されている権限モードで開始されます。このセクションでは `-p` 実行がどのモードで開始されるかについても説明しています | `claude --permission-mode plan` |

118| `--permission-prompt-tool` | 非対話モードで権限プロンプトを処理する MCP ツールを指定します。Claude Code は、最初のターンを実行する前に、そのツールの MCP サーバーが接続されるまで待機します。デフォルトでは [`MCP_TIMEOUT`](/docs/ja/env-vars) スタートアップタイムアウト 30 秒まで待機します。<br /><br />プロンプトツールは、[ユーザーインタラクションが必要](/docs/ja/mcp#require-approval-for-a-specific-tool)とマークされた MCP ツールを承認できません。Claude Code は 1 つに対する `allow` 結果を拒否に変換します。この制限には Claude Code v2.1.199 以降が必要です | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |118| `--permission-prompt-tool` | 非対話モードで権限プロンプトを処理する MCP ツールを指定します。Claude Code は、最初のターンを実行する前に、そのツールの MCP サーバーが接続されるまで待機します。デフォルトでは [`MCP_TIMEOUT`](/docs/ja/env-vars) スタートアップタイムアウト 30 秒まで待機します。<br /><br />プロンプトツールは、[ユーザーインタラクションが必要](/docs/ja/mcp#require-approval-for-a-specific-tool)とマークされた MCP ツールを承認できません。Claude Code は 1 つに対する `allow` 結果を拒否に変換します。この制限には Claude Code v2.1.199 以降が必要です | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |

119| `--permission-prompts` | プリントモードで権限プロンプトに誰が答えるかを設定します。デフォルトの `host` を使用すると、Claude Code はそれらをエージェント SDK ホストまたは `--permission-prompt-tool` ツールに送信します。誰も答えられない場合は `none` を渡し、Claude Code は代わりにそれらを拒否します。[無人実行で権限プロンプトをオフにする](/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs)を参照してください。Claude Code v2.1.259 以降が必要です | `claude -p --permission-prompts none "query"` |119| `--permission-prompts` | プリントモードで権限プロンプトに誰が答えるかを設定します。デフォルトの `host` を使用すると、Claude Code はそれらをエージェント SDK ホストまたは `--permission-prompt-tool` ツールに送信します。誰も答えられない場合は `none` を渡し、Claude Code は代わりにそれらを拒否します。[無人実行で権限プロンプトをオフにする](/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs)を参照してください。Claude Code v2.1.259 以降が必要です | `claude -p --permission-prompts none "query"` |

120| `--plugin-dir` | ディレクトリまたは `.zip` アーカイブからプラグインを読み込むか、[プラグインのフォルダ](/docs/ja/plugins/create#load-a-directory-or-archive-for-one-session)から複数を読み込みます。このセッションのみ。各フラグは 1 つのパスを取ります。より多くのパスについてはフラグを繰り返します。`--plugin-dir A --plugin-dir B.zip`。プラグインのフォルダを渡すには Claude Code v2.1.265 以降が必要です | `claude --plugin-dir ./my-plugin` |120| `--plugin-dir` | ディレクトリまたは `.zip` アーカイブからプラグインを読み込むか、[プラグインのフォルダ](/docs/ja/plugins/create#load-a-directory-or-archive-for-one-session)から複数を読み込みます。このセッションのみ。各フラグは 1 つのパスを取ります。より多くのパスについてはフラグを繰り返します。`--plugin-dir A --plugin-dir B.zip`。プラグインのフォルダを渡すには Claude Code v2.1.265 以降が必要です | `claude --plugin-dir ./my-plugin` |

Details

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

315| 組織の[サーバー管理設定](/docs/ja/server-managed-settings) | はい、[Claude Tag](https://claude.com/docs/claude-tag/overview) セッションを除く | セッション開始時に Anthropic のサーバーから取得されます。クラウドセッションで `availableModels` がどのように適用されるかについては、[Surface coverage](/docs/ja/model-config#surface-coverage) を参照してください。MDM または管理設定ファイルを通じてデバイスにデプロイされた設定は適用されません。セッションは Anthropic 管理 VM で実行されるためです。[セルフホスト環境](/docs/ja/self-hosted-environments)では、セッションはランナーイメージの管理設定ファイルも読み取ります。[Claude Code が管理ソースを組み合わせる方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources)に従います |315| 組織の[サーバー管理設定](/docs/ja/server-managed-settings) | はい、[Claude Tag](https://claude.com/docs/claude-tag/overview) セッションを除く | セッション開始時に Anthropic のサーバーから取得されます。クラウドセッションで `availableModels` がどのように適用されるかについては、[Surface coverage](/docs/ja/model-config#surface-coverage) を参照してください。MDM または管理設定ファイルを通じてデバイスにデプロイされた設定は適用されません。セッションは Anthropic 管理 VM で実行されるためです。[セルフホスト環境](/docs/ja/self-hosted-environments)では、セッションはランナーイメージの管理設定ファイルも読み取ります。[Claude Code が管理ソースを組み合わせる方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources)に従います |

316| ユーザー `~/.claude/CLAUDE.md` | いいえ | マシンに存在し、リポジトリには存在しません。[リポジトリにコミットせずに個人設定を追加する](#add-personal-preferences-without-committing-to-the-repo)を参照してください |316| ユーザー `~/.claude/CLAUDE.md` | いいえ | マシンに存在し、リポジトリには存在しません。[リポジトリにコミットせずに個人設定を追加する](#add-personal-preferences-without-committing-to-the-repo)を参照してください |

317| ユーザー `~/.claude/skills/`、`~/.claude/agents/`、`~/.claude/commands/` | いいえ | マシンに存在し、リポジトリには存在しません。代わりにリポジトリの `.claude/` ディレクトリにコミットしてください。クラウドセッションは claude.ai で有効にしたスキルを自動的に読み込みます |317| ユーザー `~/.claude/skills/`、`~/.claude/agents/`、`~/.claude/commands/` | いいえ | マシンに存在し、リポジトリには存在しません。代わりにリポジトリの `.claude/` ディレクトリにコミットしてください。クラウドセッションは [claude.ai で有効にしたスキル](/docs/ja/skills#skills-in-cowork-and-cloud-sessions)を自動的に読み込みます |

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

319| デフォルトのローカルスコープまたはユーザースコープで `claude mcp add` を使用して追加した MCP サーバー | いいえ | これらはマシンの `~/.claude.json` に書き込まれ、リポジトリには書き込まれません。`claude mcp add --scope project` でサーバーを追加します。これはリポジトリの[`.mcp.json`](/docs/ja/mcp#project-scope)に書き込まれ、そのファイルをコミットしてください。1 つのリポジトリを持つセッションはそれを読み込みます |319| デフォルトのローカルスコープまたはユーザースコープで `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 はこれらのキーを無視し、セッションのデバッグログで無視された各キーを記録します |320| リポジトリの `.claude/settings.json` `env` ブロック内のトランスポート変数(`NODE_EXTRA_CA_CERTS` や[mTLS クライアント証明書変数](/docs/ja/network-config#mtls-authentication)など) | いいえ | ホスティング環境がセッションの API 接続を管理するため、Claude Code はこれらのキーを無視し、セッションのデバッグログで無視された各キーを記録します |

code-review.md +4 −4

Details

264| セクション | 表示内容 |264| セクション | 表示内容 |

265| :- | :- |265| :- | :- |

266| PRs reviewed | 選択した時間範囲でレビューされたプルリクエストの日次カウント |266| PRs reviewed | 選択した時間範囲でレビューされたプルリクエストの日次カウント |

267| Cost weekly | Code Review の週次支出 |267| Code Review cost | 今月これまでの Code Review の支出 |

268| Feedback | 開発者が問題に対処したため自動解決されたレビューコメントのカウント |268| Feedback | 開発者が問題に対処したため自動解決されたレビューコメントのカウント |

269| Repository breakdown | リポジトリごとのレビューされた PR とコメント解決のカウント |269| Repository breakdown | リポジトリごとのレビューされた PR、解決されたコメント、レビュー実行のカウント(推定コストと PR ごとのビューを含む) |

270 270 

271ダッシュボードのコスト数値は活動を監視するための推定値です。請求書に正確な支出については、Anthropic の請求書を参照してください。271Code Review cost カードに金額が表示されるのは、当月が選択されている場合のみです。アナリティクスのコスト数値は請求書と異なる場合があります。Repository breakdown のコストは割引やクレジットを適用する前の定価で推定されており、Claude がプルリクエストに投稿したレビューのみが対象です。請求書に正確な支出については、Anthropic の請求書を参照してください。

272 272 

273<h2 id="pricing">273<h2 id="pricing">

274 料金274 料金


286 286 

287組織が他の Claude Code 機能に Amazon Bedrock または Google Cloud の Agent Platform を使用しているかどうかに関わらず、コストは Anthropic の請求書に表示されます。Code Review の月間支出上限を設定するには、[claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) にアクセスして Claude Code Review サービスの制限を設定してください。287組織が他の Claude Code 機能に Amazon Bedrock または Google Cloud の Agent Platform を使用しているかどうかに関わらず、コストは Anthropic の請求書に表示されます。Code Review の月間支出上限を設定するには、[claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) にアクセスして Claude Code Review サービスの制限を設定してください。

288 288 

289[分析](#view-usage) の週間コストチャートまたは管理設定のリポジトリごとの平均コスト列を通じて支出を監視してください。289支出を監視するには、[分析ダッシュボード](#view-usage) を使用してください。

290 290 

291<h2 id="troubleshooting">291<h2 id="troubleshooting">

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

commands.md +2 −2

Details

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` を渡して展開します |

80| `/copy [N]` | 最後のアシスタント応答をクリップボードにコピーします。数値 `N` を渡して N 番目に最新の応答をコピーします:`/copy 2` は 2 番目に最新の応答をコピーします。コードブロックが存在する場合、個別のブロックまたは完全な応答を選択するためのインタラクティブなピッカーを表示します。ピッカーで `w` を押して、クリップボードの代わりにファイルに選択を書き込みます。これは SSH 経由で便利です |80| `/copy [N]` | 最後のアシスタント応答をクリップボードにコピーします。数値 `N` を渡して N 番目に最新の応答をコピーします:`/copy 2` は 2 番目に最新の応答をコピーします。コードブロックまたはブロック引用が存在する場合、個別のブロックまたは完全な応答を選択するためのインタラクティブなピッカーを表示します。ピッカーで `w` を押して、クリップボードの代わりにファイルに選択を書き込みます。これは SSH 経由で便利です |

81| `/cost` | `/usage` のエイリアス |81| `/cost` | `/usage` のエイリアス |

82| `/dataviz [request]` | **[Skill](/docs/ja/skills#bundled-skills).** チャート、グラフ、ダッシュボードの設計ガイダンス。Claude はデータのチャート形式を選択し、役割別にカラーを割り当て、バンドルされたスクリプトで色覚異常の安全性とコントラストを検証し、マーク、インタラクション、アクセシビリティルールを適用します。独自のパレットに置き換えるブランド中立的なプレースホルダーパレットを使用します |82| `/dataviz [request]` | **[Skill](/docs/ja/skills#bundled-skills).** チャート、グラフ、ダッシュボードの設計ガイダンス。Claude はデータのチャート形式を選択し、役割別にカラーを割り当て、バンドルされたスクリプトで色覚異常の安全性とコントラストを検証し、マーク、インタラクション、アクセシビリティルールを適用します。独自のパレットに置き換えるブランド中立的なプレースホルダーパレットを使用します |

83| `/debug [description]` | **[Skill](/docs/ja/skills#bundled-skills).** 現在のセッションのデバッグログを有効にし、セッションデバッグログを読んで問題をトラブルシューティングします。デバッグログはデフォルトではオフです。`claude --debug` で開始した場合を除き、セッション中に `/debug` を実行するとその時点からログのキャプチャを開始します。オプションで問題を説明して分析にフォーカスを当てます |83| `/debug [description]` | **[Skill](/docs/ja/skills#bundled-skills).** 現在のセッションのデバッグログを有効にし、セッションデバッグログを読んで問題をトラブルシューティングします。デバッグログはデフォルトではオフです。`claude --debug` で開始した場合を除き、セッション中に `/debug` を実行するとその時点からログのキャプチャを開始します。オプションで問題を説明して分析にフォーカスを当てます |


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 サブスクリプションが必要であることを出力し、サインイン方法を示します。v2.1.206 より前は `Unknown command: /remote-control` を報告しました。エイリアス:`/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 以降が必要です。このマシン上の別のライブセッションが既に渡した名前を使用している場合、Claude Code は代わりに[その変種](/docs/ja/sessions#name-your-sessions)を適用します |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 以降が必要です |

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

8 8 

9一部の組織では、ワークステーション上のすべてのプロセスが必須ランチャーを通じて起動することを要求しています。ランチャーは、企業のセキュリティ体制が依存するサンドボックス、ネットワーク制御、または認証情報の注入を適用し、それなしで起動するバイナリはポリシー違反です。9一部の組織では、ワークステーション上のすべてのプロセスが必須ランチャーを通じて起動することを要求しています。ランチャーは、企業のセキュリティ体制が依存するサンドボックス、ネットワーク制御、または認証情報の注入を適用し、それなしで起動するバイナリはポリシー違反です。

10 10 

11`CLAUDE_CODE_PROCESS_WRAPPER` は、Claude Code がそのバイナリから起動するすべてのプロセスをランチャーを通じて実行します。バックグラウンドサービス、[エージェントビュー](/docs/ja/agent-view)でホストするすべてのセッション、および更新後の Claude Code の再起動が含まれます。ランチャーの絶対パスに設定すると、Claude Code はランチャーを実行し、Claude Code コマンドをその引数として渡します。11`CLAUDE_CODE_PROCESS_WRAPPER` は、Claude Code がそのバイナリから起動するすべてのプロセスをランチャーを通じて起動します。[バックグラウンドサービス](/docs/ja/agent-view#the-supervisor-process)、[エージェントビュー](/docs/ja/agent-view)でそれがホストするすべてのセッション、および更新後の Claude Code の再起動が含まれます。ランチャーの絶対パスに設定すると、Claude Code はランチャーを実行し、Claude Code コマンドをその引数として渡します。

12 12 

13`PATH` 上の `claude` コマンドをラップするランチャーはこれらのプロセスに到達できません。これらのプロセスは `claude` を検索せずにバイナリの直接パスから起動するためです。13`PATH` 上の `claude` コマンドをラップするランチャーはこれらのプロセスに到達できません。これらのプロセスは `claude` を検索せずにバイナリの直接パスから起動するためです。

14 14 


39 39 

40以下のプロセスはランチャーを通じて起動しません。40以下のプロセスはランチャーを通じて起動しません。

41 41 

42* [インストール済みバックグラウンドサービス](/docs/ja/agent-view#the-supervisor-process):ユニットがランチャーが設定される前に書き込まれた場合、`launchd` または `systemd` がそのプロセスをユニットファイルから起動します。`/status` と `claude daemon status` は実行中のサービスと設定されたランチャーが一致しない場合に警告を表示し、サービスが変数をその設定で再起動すると、サービスが生成するセッションはランチャーを通じて起動します。

43* ターミナルで自分で起動するセッション。これは呼び出し方法に関係なく実行されます。これらのセッションをカバーするには、`PATH` の前のディレクトリに `claude` という名前のスクリプトを配置し、ランチャーを実際のバイナリで実行します。管理されたシンボリックリンクを置き換えないでください。バックグラウンドサービスとそのセッションは `PATH` ルックアップなしで起動するため、2 つのランチャーはスタックしません。42* ターミナルで自分で起動するセッション。これは呼び出し方法に関係なく実行されます。これらのセッションをカバーするには、`PATH` の前のディレクトリに `claude` という名前のスクリプトを配置し、ランチャーを実際のバイナリで実行します。管理されたシンボリックリンクを置き換えないでください。バックグラウンドサービスとそのセッションは `PATH` ルックアップなしで起動するため、2 つのランチャーはスタックしません。

44* `claude-cli://` ディープリンクの最初のプロセス。オペレーティングシステムのプロトコルハンドラーが直接起動します。そのセッションがバックグラウンドで起動するすべてのものはランチャーを通じて実行されます。このパスを完全に閉じるには、`disableDeepLinkRegistration` 設定で[ハンドラー登録を防止](/docs/ja/deep-links#registration-and-supported-platforms)してください。43* `claude-cli://` ディープリンクの最初のプロセス。オペレーティングシステムのプロトコルハンドラーが直接起動します。そのセッションがバックグラウンドで起動するすべてのものはランチャーを通じて実行されます。このパスを完全に閉じるには、`disableDeepLinkRegistration` 設定で[ハンドラー登録を防止](/docs/ja/deep-links#registration-and-supported-platforms)してください。

45* `--worktree` と `--tmux` を組み合わせた再起動:ターミナルマルチプレクサーがそのペインを起動し、Claude Code のバイナリではありません。44* `--worktree` と `--tmux` を組み合わせた再起動:ターミナルマルチプレクサーがそのペインを起動し、Claude Code のバイナリではありません。


100 99 

101 `processWrapper` は名前付き設定であるため、[リモート管理設定](/docs/ja/managed-settings#delivery-mechanisms)を通じてそれを配信する組織は、[セキュリティ承認ダイアログ](/docs/ja/server-managed-settings#security-approval-dialogs)に管理者が提供した実行可能ファイルを実行する他の設定と一緒にリストされているのを見ます。100 `processWrapper` は名前付き設定であるため、[リモート管理設定](/docs/ja/managed-settings#delivery-mechanisms)を通じてそれを配信する組織は、[セキュリティ承認ダイアログ](/docs/ja/server-managed-settings#security-approval-dialogs)に管理者が提供した実行可能ファイルを実行する他の設定と一緒にリストされているのを見ます。

102 101 

103 プロジェクトおよびローカル設定はランチャーを設定できません。リポジトリにコミットされたファイルは、マシン上のすべての Claude Code プロセスの前にバイナリを配置できないため、Claude Code は `.claude/settings.json` または `.claude/settings.local.json` の `CLAUDE_CODE_PROCESS_WRAPPER` を無視し、[デバッグログ](/docs/ja/troubleshooting)に警告を表示し、これらのファイルから `processWrapper` キーを読み込みません。102 プロジェクトおよびローカル設定はランチャーを設定できません。リポジトリにコミットされたファイルが、マシン上のすべての Claude Code プロセスの前にバイナリを配置できてはならないため、Claude Code は `.claude/settings.json` または `.claude/settings.local.json` の `CLAUDE_CODE_PROCESS_WRAPPER` を無視して[デバッグログ](/docs/ja/troubleshooting)に警告を記録し、これらのファイルから `processWrapper` キーを読み込むことはありません。

104 </Step>103 </Step>

105 104 

106 <Step title="バックグラウンドサービスとセッションを再起動する">105 <Step title="バックグラウンドサービスとセッションを再起動する">

107 実行中のバックグラウンドサービスと開いている `claude` セッションは起動時に変数を 1 回読み込むため、再起動されるまでラップなしでプロセスを起動し続けます。`claude daemon stop --any` を実行してオンデマンドサービスを停止します。`claude agents` などそれを必要とする次のコマンドがラップされたものを起動します。[インストール済みサービス](/docs/ja/agent-view#the-supervisor-process)は `--any` なしで `claude daemon stop` を実行します。その後、開いている `claude` セッションを再起動します。106 実行中のバックグラウンドサービスと開いている `claude` セッションは起動時に変数を 1 回読み込むため、再起動されるまでラップなしでプロセスを起動し続けます。`claude daemon stop --any` を実行してオンデマンドサービスを停止します。`claude agents` などそれを必要とする次のコマンドがラップされたものを起動します。その後、開いている `claude` セッションを再起動します。

108 107 

109 手動で再起動できないマシンでは、設定プッシュ後に起動された最初のセッションが残されたラップなしのオンデマンドサービスを自動的に廃止します。新しいセッションが起動しないマシンは、セッションが起動するまでラップなしのサービスを保持し、インストール済みサービスは常にこのステップで再起動が必要です。108 手動で再起動できないマシンでは、設定プッシュ後に起動された最初のセッションが残されたラップなしのオンデマンドサービスを自動的に廃止します。新しいセッションが起動しないマシンは、セッションが起動するまでラップなしのバックグラウンドサービスを保持します。

110 </Step>109 </Step>

111 110 

112 <Step title="検証する">111 <Step title="検証する">

113 セッションで `/status` を実行します。Self-exec エントリは解決された起動コマンドを表示し、実行中のバックグラウンドサービスがそれと一致しない場合に警告します。`claude daemon status` はシェルから同じ情報を出力します。変数を設定解除した後も含めて、`/status` はエントリを表示しなくなります。112 セッションで `/status` を実行します。Self-exec エントリは解決された起動コマンドを表示し、実行中のバックグラウンドサービスがそれと一致しない場合に警告します。`claude daemon status` は同じ情報をシェルから出力します。変数を設定解除して `/status` にエントリが表示されなくなった後でも出力されます。

114 </Step>113 </Step>

115</Steps>114</Steps>

116 115 

Details

34自分でメッセージを促すには、別のセッションが知る必要があることや実行する必要があることを Claude に伝えます。以下の例は Claude が送信するメッセージではなく、ユーザーが入力するプロンプトです。34自分でメッセージを促すには、別のセッションが知る必要があることや実行する必要があることを Claude に伝えます。以下の例は Claude が送信するメッセージではなく、ユーザーが入力するプロンプトです。

35 35 

36```text wrap theme={null}36```text wrap theme={null}

37他のターミナルで実行中のセッションに、マイグレーションが完了したかどうかを確認してください37Ask the session running in my other terminal whether the migration finished

38```38```

39 39 

40Claude は実際のメッセージ自体を作成するため、ユーザーのプロンプトはコンテンツを Claude に任せることができます。このプロンプトは表現方法を指定せずに要約を求めており、Claude が送信する内容は異なります。40Claude は実際のメッセージ自体を作成するため、ユーザーのプロンプトはコンテンツを Claude に任せることができます。このプロンプトは表現方法を指定せずに要約を求めており、Claude が送信する内容は異なります。

41 41 

42```text wrap theme={null}42```text wrap theme={null}

43支払い API で作業中のセッションに、今実行したことを説明してください43Explain what we just did to the session working on the payments API

44```44```

45 45 

46ターゲットを自分で指定するには、プロンプトでセッションに言及します。`@` に続けてセッション名の最初の文字を入力し、タイプアヘッドからセッションを選択します。これは [サブエージェントを明示的に呼び出す](/docs/ja/sub-agents#invoke-subagents-explicitly) 場合と同じ方法です。Claude Code v2.1.232 以降が必要です。Claude Code はメンション(`@api-worker` など)を挿入し、Claude にそのセッションを指定するため、Claude はセッションを最初にリストアップせずにそのセッションにメッセージを送信できます。このプロンプトはメンションでターゲットを指定します。46ターゲットを自分で指定するには、プロンプトでセッションに言及します。`@` に続けてセッション名の最初の文字を入力し、タイプアヘッドからセッションを選択します。これは [サブエージェントを明示的に呼び出す](/docs/ja/sub-agents#invoke-subagents-explicitly) 場合と同じ方法です。Claude Code v2.1.232 以降が必要です。Claude Code はメンション(`@api-worker` など)を挿入し、Claude にそのセッションを指定するため、Claude はセッションを最初にリストアップせずにそのセッションにメッセージを送信できます。このプロンプトはメンションでターゲットを指定します。

47 47 

48```text wrap theme={null}48```text wrap theme={null}

49@api-worker にスキーママイグレーションが完了したことを知らせてください49Let @api-worker know the schema migration finished

50```50```

51 51 

52タイプアヘッドには、このマシン上の他のライブセッションが表示されます。名前の最初の文字以上が必要な場合は 2 つあります。52タイプアヘッドには、このマシン上の他のライブセッションが表示されます。名前の最初の文字以上が必要な場合は 2 つあります。


96待機中の内容を Claude に伝えます。このプロンプトはマイグレーションセッションから通知をリクエストします。96待機中の内容を Claude に伝えます。このプロンプトはマイグレーションセッションから通知をリクエストします。

97 97 

98```text wrap theme={null}98```text wrap theme={null}

99マイグレーションセッションが作業を完了したときに教えてください99Tell me when the migration session finishes what it's working on

100```100```

101 101 

102Claude は `SendMessage` ツールの `notify_when_idle` 入力で購読します。送信しているメッセージに添付するか、単独で。単独の場合、Claude Code は監視対象セッションでターンを開始したり、トークンを消費したりせずに購読し、そのセッションが既にアイドル状態の場合は通知をすぐに送信します。メッセージに添付する場合、Claude Code はメッセージを最初に配信し、後で通知を送信します。102Claude は `SendMessage` ツールの `notify_when_idle` 入力で購読します。送信しているメッセージに添付するか、単独で。単独の場合、Claude Code は監視対象セッションでターンを開始したり、トークンを消費したりせずに購読し、そのセッションが既にアイドル状態の場合は通知をすぐに送信します。メッセージに添付する場合、Claude Code はメッセージを最初に配信し、後で通知を送信します。


142 142 

143セッションは [`/rename`](/docs/ja/commands) コマンドまたは [`--name`](/docs/ja/cli-reference#cli-flags) フラグで設定した名前に応答します。設定しない場合、Claude Code はセッション自体に名前を付けます。インタラクティブセッションの場合、これは [実行中のセッションのリスト](/docs/ja/sessions#name-your-sessions) に表示される名前です。143セッションは [`/rename`](/docs/ja/commands) コマンドまたは [`--name`](/docs/ja/cli-reference#cli-flags) フラグで設定した名前に応答します。設定しない場合、Claude Code はセッション自体に名前を付けます。インタラクティブセッションの場合、これは [実行中のセッションのリスト](/docs/ja/sessions#name-your-sessions) に表示される名前です。

144 144 

145セッションの名前を変更するか、このマシン上の別のライブセッションが既に使用している名前でインタラクティブセッションを開始または再開する場合、Claude Code は既に名前を持つセッションに名前を残し、[ユーザーの名前をバリアントに変更します](/docs/ja/sessions#name-your-sessions)。セッションは、例えば 1 つが以前のバージョンの Claude Code を実行している場合や、共有名が Claude Code が生成した名前である場合など、名前を共有できます。このセッションがリモートコントロールに接続されていない限り、Claude Code は `/list-agents` 出力に各ローカルセッションの作業ディレクトリを表示するため、異なるディレクトリで実行されている同じ名前のセッションを区別できます。Claude はメッセージを 2 つの方法のいずれかで送信します。名前に応答するライブセッションの数によって異なります。145このセッションが Remote Control に接続されていない限り、Claude Code は `/list-agents` 出力に各ローカルセッションの作業ディレクトリを表示するため、異なるディレクトリで実行されている同じ名前のセッションを区別できます。Claude はメッセージを 2 つの方法のいずれかで送信します。名前に応答するライブセッションの数によって異なります。

146 146 

147* **1 つのセッションが名前に応答する**:Claude Code は名前だけでメッセージを配信します。147* **1 つのセッションが名前に応答する**:Claude Code は名前だけでメッセージを配信します。

148* **複数のセッションが名前を共有するか、Claude Code がセッションを実行するすべての場所をチェックできない**:Claude はリストの各行に短い識別子を追加し、アドレスで識別子を使用します。148* **複数のセッションが名前を共有するか、Claude Code がセッションを実行するすべての場所をチェックできない**:Claude はリストの各行に短い識別子を追加し、アドレスで識別子を使用します。

desktop.md +30 −4

Details

400 400 

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

402 402 

403Worktrees はデフォルトで`<project-root>/.claude/worktrees/`に保存されます。Settings → Claude Code の「Worktree location」でカスタムディレクトリに変更できます。また、すべての worktree ブランチ名の前に付加されるブランチプレフィックスを設定することもできます。これは Claude が作成したブランチを整理するのに便利です。完了したら、サイドバーのセッションにマウスを合わせてアーカイブアイコンをクリックして worktree を削除します。PR がマージまたはクローズされた後にセッションを自動的にアーカイブするには、Settings → Claude Code で**Auto-archive after PR merge or close**をオンにします。Auto-archive はローカルセッションで実行が完了したものにのみ適用されます。403Worktrees はデフォルトで`<project-root>/.claude/worktrees/`に保存されます。これはカスタムディレクトリに変更できます:

404 404 

405gitignored ファイル(`.env`など)を新しい worktrees に含めるには、プロジェクトルートに[`.worktreeinclude`ファイル](/docs/ja/worktrees#copy-gitignored-files-into-worktrees)を作成します。405* **ローカルセッション**:**Settings > Claude Code** で **Worktree location** を設定します

406* **SSH セッション**:[SSH 接続](#choose-where-ssh-session-worktrees-go)で **Worktree folder** を設定します

407 

408**Settings > Claude Code** で **Branch prefix** を設定することもできます。Desktop はすべての worktree ブランチ名の前にこれを付加するため、Claude が作成したブランチを整理するのに便利です。

409 

410完了したら、サイドバーのセッションにマウスを合わせてアーカイブアイコンをクリックして worktree を削除します。プルリクエストがマージまたはクローズされたときにセッションを自動的にアーカイブするには、**Settings > Claude Code** で **Auto-archive after PR merge or close** をオンにします。Auto-archive は実行が完了したローカルセッションにのみ適用されます。

411 

412gitignored ファイル(`.env`など)を新しい worktrees に含めるには、プロジェクトルートに[`.worktreeinclude`ファイル](/docs/ja/worktrees#copy-gitignored-files-into-worktrees)を作成します。worktree セッションがプロジェクト設定、フック、スキルをどこから読み取るかについては、[worktree がメインのチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout)を参照してください。

406 413 

407<Note>414<Note>

408 セッション分離には[Git](https://git-scm.com/downloads)が必要です。ほとんどの Mac には Git がデフォルトで含まれています。Terminal で`git --version`を実行して確認してください。バージョン番号が表示されれば、Git がインストールされています。Git エラーが発生した場合は、[Cowork タブ](https://claude.com/product/cowork)で Claude に助けを求めてセットアップのトラブルシューティングを行ってください。415 セッション分離には[Git](https://git-scm.com/downloads)が必要です。ほとんどの Mac には Git がデフォルトで含まれています。Terminal で`git --version`を実行して確認してください。バージョン番号が表示されれば、Git がインストールされています。Git エラーが発生した場合は、[Cowork タブ](https://claude.com/product/cowork)で Claude に助けを求めてセットアップのトラブルシューティングを行ってください。


811* **SSH host**:`user@hostname` または `~/.ssh/config` で定義されたホスト818* **SSH host**:`user@hostname` または `~/.ssh/config` で定義されたホスト

812* **SSH port**:空のままの場合はデフォルトで 22 になるか、SSH config のポートが使用されます819* **SSH port**:空のままの場合はデフォルトで 22 になるか、SSH config のポートが使用されます

813* **SSH key (optional)**:`~/.ssh/id_ed25519` などの秘密鍵へのパス。SSH config または SSH エージェントを使用するには空のままにします。820* **SSH key (optional)**:`~/.ssh/id_ed25519` などの秘密鍵へのパス。SSH config または SSH エージェントを使用するには空のままにします。

821* **Worktree folder**:新しいセッションが worktree を作成する、リモートマシン上のフォルダ(`~/worktrees` など)。[リモートマシンのデフォルト](#choose-where-ssh-session-worktrees-go)を使用するには空のままにします。

814 822 

815追加されると、接続は環境ドロップダウンの **SSH** の下に表示されます。それを選択して、そのマシンでセッションを開始します。Claude はリモートマシンで実行され、そのファイルとツールにアクセスできます。823追加されると、接続は環境ドロップダウンの **SSH** の下に表示されます。それを選択して、そのマシンでセッションを開始します。Claude はリモートマシンで実行され、そのファイルとツールにアクセスできます。

816 824 

817リモートマシンは Linux または macOS を実行する必要があります。Desktop は初回接続時にリモートマシンに Claude Code を自動的にインストールします。接続されると、SSH セッションは権限モード、コネクタ、プラグイン、および MCP サーバーをサポートします。825リモートマシンは Linux または macOS を実行する必要があります。Desktop は初回接続時にリモートマシンに Claude Code を自動的にインストールします。接続されると、SSH セッションは権限モード、コネクタ、プラグイン、および MCP サーバーをサポートします。

818 826 

827<h4 id="choose-where-ssh-session-worktrees-go">

828 SSH セッションの worktree の作成場所を選択する

829</h4>

830 

831組織がセッションで使用できるフォルダを制限していない限り、新しい SSH セッションは、次のうち最初に設定されている場所に [worktree](#work-in-parallel-with-sessions) を作成します:

832 

8331. SSH 接続の **Worktree folder**

8342. リモートマシン上の `~/.claude/settings.json` にある [`worktree.location`](/docs/ja/settings-reference#worktree-location)

8353. デフォルトの `<project-root>/.claude/worktrees/`

836 

837設定したフォルダ内には各プロジェクト専用のサブフォルダが作成されるため、`~/worktrees` を設定した場合、worktree のパスは `~/worktrees/<project>-<id>/<worktree-name>` になります。設定したフォルダがプロジェクト内にある場合、Desktop はそのプロジェクトではそのフォルダを無視し、デフォルトを使用します。

838 

839以前に追加した接続、または組織が管理する接続に **Worktree folder** を設定するには、環境ドロップダウンでその接続にマウスを合わせて、ギアアイコンをクリックします。

840 

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

842 

819<h4 id="open-an-ssh-session-from-a-link">843<h4 id="open-an-ssh-session-from-a-link">

820 リンクから SSH セッションを開く844 リンクから SSH セッションを開く

821</h4>845</h4>


869 チームの SSH 接続を事前設定する893 チームの SSH 接続を事前設定する

870</h4>894</h4>

871 895 

872管理者は、[管理設定](/docs/ja/managed-settings)で `sshConfigs` を設定することで、SSH 接続をチームメンバーに配布できます。この方法で定義された接続は、各ユーザーの環境ドロップダウンに自動的に表示され、管理対象として表示されるため、ユーザーはそれらを選択できますが、アプリで編集または削除することはできません。896管理者は、[管理設定](/docs/ja/managed-settings)で `sshConfigs` を設定することで、SSH 接続をチームメンバーに配布できます。この方法で定義された接続は、各ユーザーの環境ドロップダウンに自動的に表示され、管理対象として表示されます。ユーザーはそれらを選択し、[独自の **Worktree folder** を設定](#choose-where-ssh-session-worktrees-go)できますが、アプリでそれ以外を編集したり、削除したりすることはできません。

873 897 

874次の例は、単一の接続を事前設定しています:898次の例は、単一の接続を事前設定しています:

875 899 


935 管理コンソールの[データとプライバシー設定](https://claude.ai/admin-settings/data-privacy-controls)の**Monitoring**下の Cowork 用 OpenTelemetry フォームは、Cowork セッションのみに適用されます。このマシン上の Cowork セッションでは、デスクトップアプリはそのコレクタを Claude Code に`OTEL_*`環境変数として渡すため、Claude Code がそのセッションで[管理コンソール設定をフェッチしない](#managed-settings)場合でも、フォームは有効になります。959 管理コンソールの[データとプライバシー設定](https://claude.ai/admin-settings/data-privacy-controls)の**Monitoring**下の Cowork 用 OpenTelemetry フォームは、Cowork セッションのみに適用されます。このマシン上の Cowork セッションでは、デスクトップアプリはそのコレクタを Claude Code に`OTEL_*`環境変数として渡すため、Claude Code がそのセッションで[管理コンソール設定をフェッチしない](#managed-settings)場合でも、フォームは有効になります。

936 960 

937 Code タブセッションからテレメトリをエクスポートするには、Claude Code 管理設定の`env`ブロックで`CLAUDE_CODE_ENABLE_TELEMETRY`と`OTEL_*`変数を設定します。[監視用の管理者設定](/docs/ja/monitoring-usage#administrator-configuration)に示されているとおりです。ローカル、クラウド、SSH セッションは、それぞれ[異なるソースから管理設定を読み取ります](#managed-settings)。クラウドセッションが到達できるホストについては、[ネットワークアクセス](/docs/ja/cloud-environments#network-access)を参照してください。Code タブセッションが報告する`service.name`については、[サービス情報](/docs/ja/monitoring-usage#service-information)を参照してください。961 Code タブセッションからテレメトリをエクスポートするには、Claude Code 管理設定の`env`ブロックで`CLAUDE_CODE_ENABLE_TELEMETRY`と`OTEL_*`変数を設定します。[監視用の管理者設定](/docs/ja/monitoring-usage#administrator-configuration)に示されているとおりです。ローカル、クラウド、SSH セッションは、それぞれ[異なるソースから管理設定を読み取ります](#managed-settings)。クラウドセッションが到達できるホストについては、[ネットワークアクセス](/docs/ja/cloud-environments#network-access)を参照してください。Code タブセッションが報告する`service.name`については、[サービス情報](/docs/ja/monitoring-usage#service-information)を参照してください。

962 

963 SSH セッションがどのリモートマシンで実行されたかを確認するには、[テレメトリを Desktop SSH セッションに関連付ける](/docs/ja/monitoring-usage#attribute-telemetry-to-desktop-ssh-sessions)を参照してください。

938</Note>964</Note>

939 965 

940<h3 id="managed-settings">966<h3 id="managed-settings">


951| `browserExternalPageTools` | Claude が[Browser ペイン](#browse-external-sites)の外部ページを読み取るまたは操作するためのツールを使用するのを防ぐには`"disabled"`に設定します。ユーザーは引き続き外部サイトに自分でナビゲートできます。ローカル開発サーバープレビューは影響を受けません。 |977| `browserExternalPageTools` | Claude が[Browser ペイン](#browse-external-sites)の外部ページを読み取るまたは操作するためのツールを使用するのを防ぐには`"disabled"`に設定します。ユーザーは引き続き外部サイトに自分でナビゲートできます。ローカル開発サーバープレビューは影響を受けません。 |

952| `disableMobileSimulatorTools` | Claude の[iOS Simulator ペイン](/docs/ja/desktop-ios-simulator#turn-off-simulator-access)でデバイスを制御およびキャプチャするためのツールをブロックするには`true`に設定します。ペインはユーザー自身のタップに対して使用可能なままです。Claude のアクセスのみが削除されます。値は JSON ブール値`true`である必要があります。文字列`"true"`は無視されます。 |978| `disableMobileSimulatorTools` | Claude の[iOS Simulator ペイン](/docs/ja/desktop-ios-simulator#turn-off-simulator-access)でデバイスを制御およびキャプチャするためのツールをブロックするには`true`に設定します。ペインはユーザー自身のタップに対して使用可能なままです。Claude のアクセスのみが削除されます。値は JSON ブール値`true`である必要があります。文字列`"true"`は無視されます。 |

953| `disableBrowserExternalNavigation` | [Browser ペイン](#browse-external-sites)の外部ブラウジングを完全にオフにするには`true`に設定します。ユーザーも Claude も外部サイトにナビゲートできません。localhost 開発サーバープレビューは影響を受けません。値は JSON ブール値`true`である必要があります。文字列`"true"`は無視されます。 |979| `disableBrowserExternalNavigation` | [Browser ペイン](#browse-external-sites)の外部ブラウジングを完全にオフにするには`true`に設定します。ユーザーも Claude も外部サイトにナビゲートできません。localhost 開発サーバープレビューは影響を受けません。値は JSON ブール値`true`である必要があります。文字列`"true"`は無視されます。 |

954| `sshConfigs` | 環境ドロップダウンに表示される[SSH 接続](#pre-configure-ssh-connections-for-your-team)を事前設定します。ユーザーは管理接続を編集または削除できません。 |980| `sshConfigs` | 環境ドロップダウンに表示される[SSH 接続](#pre-configure-ssh-connections-for-your-team)を事前設定します。ユーザーは管理接続を削除できず、自分の **Worktree folder** 以外は編集できません。 |

955| `sshHostAllowlist` | [SSH セッション](#restrict-which-ssh-hosts-users-can-connect-to)を、解決されたホスト名がこれらのパターンのいずれかと一致するホストに制限します。管理設定からのみ読み取られます。 |981| `sshHostAllowlist` | [SSH セッション](#restrict-which-ssh-hosts-users-can-connect-to)を、解決されたホスト名がこれらのパターンのいずれかと一致するホストに制限します。管理設定からのみ読み取られます。 |

956| `disableDesktopLocalSessions` | [デバイスで実行されるコードセッション](#local-sessions-on-managed-devices)をオフにするには`true`に設定します。他のホストへの SSH セッションとクラウドセッションは利用可能なままです。値は JSON ブール値`true`である必要があります。管理設定からのみ読み取られます。Claude Desktop v1.37937.0 以降が必要です。 |982| `disableDesktopLocalSessions` | [デバイスで実行されるコードセッション](#local-sessions-on-managed-devices)をオフにするには`true`に設定します。他のホストへの SSH セッションとクラウドセッションは利用可能なままです。値は JSON ブール値`true`である必要があります。管理設定からのみ読み取られます。Claude Desktop v1.37937.0 以降が必要です。 |

957| `disableSshSavedPasswords` | Desktop が SSH パスワードの保存を提案したり、以前に保存したパスワードを使用または表示したりしないようにするには`true`に設定します。オンにしても、保存済みのパスワードは削除されません。管理設定からのみ読み取られます。Claude Desktop v1.49585.0 以降が必要です。 |983| `disableSshSavedPasswords` | Desktop が SSH パスワードの保存を提案したり、以前に保存したパスワードを使用または表示したりしないようにするには`true`に設定します。オンにしても、保存済みのパスワードは削除されません。管理設定からのみ読み取られます。Claude Desktop v1.49585.0 以降が必要です。 |

env-vars.md +5 −5

Details

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

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

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

213| `CLAUDE_AUTO_BACKGROUND_TASKS` | `1` に設定すると、長時間実行されるエージェントタスクの自動バックグラウンド化を強制的に有効にします。有効にすると、サブエージェントは約 2 分間実行された後にバックグラウンドに移動されます。Claude Code v2.1.212 以降では、非対話モードでの[長時間の MCP ツール呼び出しの自動バックグラウンド化](/docs/ja/mcp#automatic-backgrounding-of-long-tool-calls)も有効にします |213| `CLAUDE_AUTO_BACKGROUND_TASKS` | `1` に設定すると、長時間実行されるエージェントタスクの自動バックグラウンド化を強制的に有効にします。有効にすると、[サブエージェント](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)は約 2 分間実行された後にバックグラウンドに移動します。Claude がファイル編集などのツール呼び出しをサブエージェントの後ろにキューイングしていた場合、その呼び出しが開始される前にサブエージェントはフォアグラウンドで完了します。Claude Code v2.1.212 以降では、非対話モードでの[長時間の MCP ツール呼び出しの自動バックグラウンド化](/docs/ja/mcp#automatic-backgrounding-of-long-tool-calls)も有効にします |

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

215| `CLAUDE_AX_SCREEN_READER` | `1` に設定すると、スクリーンリーダーに適した出力(装飾的な枠線やアニメーションのないフラットなテキスト)をレンダリングします。[`axScreenReader`](/docs/ja/settings-reference#axscreenreader) が `true` の場合でもスクリーンリーダーモードを強制的にオフにするには、`0` に設定します。[`--ax-screen-reader`](/docs/ja/cli-reference#cli-flags) フラグが優先されます。Claude Code v2.1.181 以降が必要です |215| `CLAUDE_AX_SCREEN_READER` | `1` に設定すると、スクリーンリーダーに適した出力(装飾的な枠線やアニメーションのないフラットなテキスト)をレンダリングします。[`axScreenReader`](/docs/ja/settings-reference#axscreenreader) が `true` の場合でもスクリーンリーダーモードを強制的にオフにするには、`0` に設定します。[`--ax-screen-reader`](/docs/ja/cli-reference#cli-flags) フラグが優先されます。Claude Code v2.1.181 以降が必要です |

216| `CLAUDE_AX_STARTUP_QUIET_MS` | [スクリーンリーダーモード](/docs/ja/accessibility)で、起動確認行の後に Claude Code が最初のインターフェースのレンダリングを保留するミリ秒数。これにより、新しい出力に中断される前に、スクリーンリーダーがその行を最後まで読み上げることができます。デフォルトは `3000` です。すぐにレンダリングするには `0` を設定します。Claude Code は保留時間の上限を `600000`(10 分)にします。最初のキー入力で保留は早期に終了します。Claude Code v2.1.217 以降が必要です |216| `CLAUDE_AX_STARTUP_QUIET_MS` | [スクリーンリーダーモード](/docs/ja/accessibility)で、起動確認行の後に Claude Code が最初のインターフェースのレンダリングを保留するミリ秒数。これにより、新しい出力に中断される前に、スクリーンリーダーがその行を最後まで読み上げることができます。デフォルトは `3000` です。すぐにレンダリングするには `0` を設定します。Claude Code は保留時間の上限を `600000`(10 分)にします。最初のキー入力で保留は早期に終了します。Claude Code v2.1.217 以降が必要です |


285| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | `1` に設定すると、[安全性分類器がリクエストを警告したときの自動モデル切り替え](/docs/ja/model-config#automatic-model-fallback)をオフにします。これは [`switchModelsOnFlag`](/docs/ja/settings-reference#switchmodelsonflag) 設定が制御する動作です |285| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | `1` に設定すると、[安全性分類器がリクエストを警告したときの自動モデル切り替え](/docs/ja/model-config#automatic-model-fallback)をオフにします。これは [`switchModelsOnFlag`](/docs/ja/settings-reference#switchmodelsonflag) 設定が制御する動作です |

286| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | `1` に設定すると、アップストリームが構造化出力の `output_config.format` フィールドとそれと対になる `anthropic-beta` 値を拒否する [LLM ゲートウェイ](/docs/ja/llm-gateway-protocol#feature-pass-through)向けに、Claude Code がそれらを送信しないようにします。[`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ja/llm-gateway-protocol#disable-pre-release-capabilities) がオフにするその他のプレリリース機能はオンのままになります。Claude Code v2.1.288 以降が必要です |286| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | `1` に設定すると、アップストリームが構造化出力の `output_config.format` フィールドとそれと対になる `anthropic-beta` 値を拒否する [LLM ゲートウェイ](/docs/ja/llm-gateway-protocol#feature-pass-through)向けに、Claude Code がそれらを送信しないようにします。[`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ja/llm-gateway-protocol#disable-pre-release-capabilities) がオフにするその他のプレリリース機能はオンのままになります。Claude Code v2.1.288 以降が必要です |

287| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | `1` に設定すると、`rm -rf "$(pwd)"` のように、対象全体がコマンド置換の出力である再帰的な `rm` に対する[クリティカルパス](/docs/ja/permission-modes#critical-paths)のチェックをオフにします。その他のクリティカルパスのチェックは引き続き実行されます。Claude Code は設定の `env` ブロックを通じて配信されたコピーを無視するため、Claude Code を起動する環境で設定してください。Claude Code v2.1.281 以降が必要です |287| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | `1` に設定すると、`rm -rf "$(pwd)"` のように、対象全体がコマンド置換の出力である再帰的な `rm` に対する[クリティカルパス](/docs/ja/permission-modes#critical-paths)のチェックをオフにします。その他のクリティカルパスのチェックは引き続き実行されます。Claude Code は設定の `env` ブロックを通じて配信されたコピーを無視するため、Claude Code を起動する環境で設定してください。Claude Code v2.1.281 以降が必要です |

288| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | `1` に設定すると、会話のコンテキストに基づくターミナルタイトルの自動更新を無効にします。これにより、[セッションタイトルを生成する](/docs/ja/sessions#name-your-sessions)バックグラウンドの small/fast モデルへのリクエストもスキップされます |288| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | `1` に設定すると、会話のコンテキストに基づくターミナルタイトルの自動更新を無効にします。また、[セッションタイトルを生成する](/docs/ja/sessions#name-your-sessions)バックグラウンドの small/fast モデルリクエストもスキップし、[ターミナルへのステータスレポート](/docs/ja/terminal-config#see-session-status-in-your-terminal)もオフにします |

289| `CLAUDE_CODE_DISABLE_THINKING` | `1` に設定すると、API リクエストから `thinking` パラメーターを完全に省略します。これは、このパラメーターを拒否するプロキシやゲートウェイ向けの互換性オプションです。デフォルトで思考するモデルでは、パラメーターを省略してもモデルが思考する場合があります。Anthropic API で[拡張思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)を明示的に無効にするには、代わりに `MAX_THINKING_TOKENS=0` を使用します。Opus 5.5、Sonnet 5.5、Haiku 5.5、Fable モデルでは思考をオフにできないため、どちらの変数でも思考はオフになりません。[サードパーティプロバイダー](/docs/ja/third-party-integrations)では、`MAX_THINKING_TOKENS=0` も同様にパラメーターを省略するため、2 つの変数の動作は同じになります |289| `CLAUDE_CODE_DISABLE_THINKING` | `1` に設定すると、API リクエストから `thinking` パラメーターを完全に省略します。これは、このパラメーターを拒否するプロキシやゲートウェイ向けの互換性オプションです。デフォルトで思考するモデルでは、パラメーターを省略してもモデルが思考する場合があります。Anthropic API で[拡張思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)を明示的に無効にするには、代わりに `MAX_THINKING_TOKENS=0` を使用します。Opus 5.5、Sonnet 5.5、Haiku 5.5、Fable モデルでは思考をオフにできないため、どちらの変数でも思考はオフになりません。[サードパーティプロバイダー](/docs/ja/third-party-integrations)では、`MAX_THINKING_TOKENS=0` も同様にパラメーターを省略するため、2 つの変数の動作は同じになります |

290| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | `1` に設定すると、[LLM ゲートウェイ](/docs/ja/llm-gateway)のエイリアスなど、Claude Code がモデル ID を認識しない場合の事前の[自動圧縮](/docs/ja/costs#reduce-token-usage)をスキップします。この変数がない場合、Claude Code はその ID に対して想定するコンテキストウィンドウで圧縮します。代わりに `CLAUDE_CODE_MAX_CONTEXT_TOKENS` で想定されるウィンドウを補正することもできます。各変数が適用される場面については、[ゲートウェイまたはカスタムモデル ID のウィンドウを補正する](/docs/ja/model-config#correct-the-window-for-a-gateway-or-custom-model-id)を参照してください。Claude Code v2.1.223 以降が必要です |290| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | `1` に設定すると、[LLM ゲートウェイ](/docs/ja/llm-gateway)のエイリアスなど、Claude Code がモデル ID を認識しない場合の事前の[自動圧縮](/docs/ja/costs#reduce-token-usage)をスキップします。この変数がない場合、Claude Code はその ID に対して想定するコンテキストウィンドウで圧縮します。代わりに `CLAUDE_CODE_MAX_CONTEXT_TOKENS` で想定されるウィンドウを補正することもできます。各変数が適用される場面については、[ゲートウェイまたはカスタムモデル ID のウィンドウを補正する](/docs/ja/model-config#correct-the-window-for-a-gateway-or-custom-model-id)を参照してください。Claude Code v2.1.223 以降が必要です |

291| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | `1` に設定すると、[フルスクリーンレンダリング](/docs/ja/fullscreen)で仮想スクロールを無効にし、トランスクリプト内のすべてのメッセージをレンダリングします。フルスクリーンモードでスクロールしたときに、メッセージが表示されるべき場所に空白の領域が表示される場合に使用します |291| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | `1` に設定すると、[フルスクリーンレンダリング](/docs/ja/fullscreen)で仮想スクロールを無効にし、トランスクリプト内のすべてのメッセージをレンダリングします。フルスクリーンモードでスクロールしたときに、メッセージが表示されるべき場所に空白の領域が表示される場合に使用します |


309| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | クエリループがアイドル状態になってから自動的に終了するまで待機する時間(ミリ秒)。SDK モードを使用する自動化ワークフローやスクリプトに便利です |309| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | クエリループがアイドル状態になってから自動的に終了するまで待機する時間(ミリ秒)。SDK モードを使用する自動化ワークフローやスクリプトに便利です |

310| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | `1` に設定すると [エージェントチーム](/docs/ja/agent-teams) を有効にします。エージェントチームは実験的な機能で、デフォルトでは無効です |310| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | `1` に設定すると [エージェントチーム](/docs/ja/agent-teams) を有効にします。エージェントチームは実験的な機能で、デフォルトでは無効です |

311| `CLAUDE_CODE_EXTRA_BODY` | すべての API リクエストボディのトップレベルにマージする JSON オブジェクト。Claude Code が直接公開していないプロバイダー固有のパラメーターを渡すのに便利です。シェルでエクスポートした値は、`claude agents` または `--bg` でディスパッチする [バックグラウンドセッション](/docs/ja/agent-view) にも適用されます。v2.1.206 より前は、バックグラウンドセッションはシェルでエクスポートされた値を無視し、バックグラウンドスーパーバイザープロセスが継承したコピーを使用していました |311| `CLAUDE_CODE_EXTRA_BODY` | すべての API リクエストボディのトップレベルにマージする JSON オブジェクト。Claude Code が直接公開していないプロバイダー固有のパラメーターを渡すのに便利です。シェルでエクスポートした値は、`claude agents` または `--bg` でディスパッチする [バックグラウンドセッション](/docs/ja/agent-view) にも適用されます。v2.1.206 より前は、バックグラウンドセッションはシェルでエクスポートされた値を無視し、バックグラウンドスーパーバイザープロセスが継承したコピーを使用していました |

312| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | ファイル読み取りのデフォルトのトークン制限を上書きします。大きなファイル全体を読み取る必要がある場合に便利です |312| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | [ファイル読み取り](/docs/ja/tools-reference#large-files)のデフォルトのトークン制限(25,000 トークン)を上書きします。大きなファイルを全体的に読み取る必要がある場合に便利です。Claude が `allow_large` パラメーターを使って行う読み取りは、コンテキストウィンドウに余裕がある場合はこの制限を超えることができます |

313| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | `1` に設定すると、この `claude` が別の Claude Code セッション内から起動された場合でも、トランスクリプトの永続化、プロンプト履歴、`claude agents` への登録を強制します。`screen` セッションや、Claude Code の Bash ツールが最初に起動したバックグラウンドランチャーなどから継承された `CLAUDE_CODE_CHILD_SESSION` 値によって、本来のトップレベルセッションがネストされたセッションと誤分類される場合に使用します。v2.1.178 以降、Claude Code は tmux のケースを自動的に検出して継承されたマーカーを無視するため、tmux ではこの変数は不要になりました。v2.1.169 以前でも有効です。この変数が上書きするネストされたセッションの検出が削除されていた v2.1.170 および v2.1.171 では効果がありません |313| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | `1` に設定すると、この `claude` が別の Claude Code セッション内から起動された場合でも、トランスクリプトの永続化、プロンプト履歴、`claude agents` への登録を強制します。`screen` セッションや、Claude Code の Bash ツールが最初に起動したバックグラウンドランチャーなどから継承された `CLAUDE_CODE_CHILD_SESSION` 値によって、本来のトップレベルセッションがネストされたセッションと誤分類される場合に使用します。v2.1.178 以降、Claude Code は tmux のケースを自動的に検出して継承されたマーカーを無視するため、tmux ではこの変数は不要になりました。v2.1.169 以前でも有効です。この変数が上書きするネストされたセッションの検出が削除されていた v2.1.170 および v2.1.171 では効果がありません |

314| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | ターミナルが取り消し線をサポートしているものの、`TERM_PROGRAM` が転送されていない SSH 経由など自動検出されない場合に、`1` に設定すると Claude の応答内の `~~text~~` を強制的に取り消し線で表示します。これがない場合、検出されないターミナルではテキストが取り消し線で表示されず、`~~` マーカーがそのまま表示されます。Claude Code v2.1.186 以降が必要です |314| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | ターミナルが取り消し線をサポートしているものの、`TERM_PROGRAM` が転送されていない SSH 経由など自動検出されない場合に、`1` に設定すると Claude の応答内の `~~text~~` を強制的に取り消し線で表示します。これがない場合、検出されないターミナルではテキストが取り消し線で表示されず、`~~` マーカーがそのまま表示されます。Claude Code v2.1.186 以降が必要です |

315| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | ターミナルがサポートしているものの自動検出されない場合に、`1` に設定すると DEC プライベートモード 2026 の [同期出力](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) を強制的に有効にします。BSU/ESU を実装しているものの機能プローブに応答しない Emacs `eat` などのエミュレーターに便利です。tmux の下では効果がありません。[フルスクリーンレンダリング](/docs/ja/fullscreen) に切り替える `CLAUDE_CODE_NO_FLICKER` とは異なり、これはレンダラーを変更しません |315| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | ターミナルがサポートしているものの自動検出されない場合に、`1` に設定すると DEC プライベートモード 2026 の [同期出力](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) を強制的に有効にします。BSU/ESU を実装しているものの機能プローブに応答しない Emacs `eat` などのエミュレーターに便利です。tmux の下では効果がありません。[フルスクリーンレンダリング](/docs/ja/fullscreen) に切り替える `CLAUDE_CODE_NO_FLICKER` とは異なり、これはレンダラーを変更しません |


340| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | [WebSearch](/docs/ja/tools-reference#session-search-limit) 呼び出しの上限(デフォルト: 200)。Claude が上限に達すると、以降の WebSearch 呼び出しは、すでに収集した情報で作業を続けるよう伝える通知を返します。正の整数を受け付け、値に上限はありません。それ以外の値は無視されてデフォルトが適用されるため、上限を引き上げることはできますが、オフにすることはできません。Claude Code v2.1.212 以降が必要です |340| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | [WebSearch](/docs/ja/tools-reference#session-search-limit) 呼び出しの上限(デフォルト: 200)。Claude が上限に達すると、以降の WebSearch 呼び出しは、すでに収集した情報で作業を続けるよう伝える通知を返します。正の整数を受け付け、値に上限はありません。それ以外の値は無視されてデフォルトが適用されるため、上限を引き上げることはできますが、オフにすることはできません。Claude Code v2.1.212 以降が必要です |

341| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | `1` に設定すると、シェル環境を継承する代わりに、安全な最小限のベースライン環境とサーバーに設定された `env` のみで stdio MCP サーバーを起動します |341| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | `1` に設定すると、シェル環境を継承する代わりに、安全な最小限のベースライン環境とサーバーに設定された `env` のみで stdio MCP サーバーを起動します |

342| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | 実行中の MCP ツール呼び出しが [バックグラウンドタスクに移行する](/docs/ja/mcp#automatic-backgrounding-of-long-tool-calls) までの経過時間(ミリ秒)(デフォルト: 120000、つまり 2 分)。`0` に設定すると自動バックグラウンド化をオフにします。Claude Code v2.1.212 以降が必要です |342| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | 実行中の MCP ツール呼び出しが [バックグラウンドタスクに移行する](/docs/ja/mcp#automatic-backgrounding-of-long-tool-calls) までの経過時間(ミリ秒)(デフォルト: 120000、つまり 2 分)。`0` に設定すると自動バックグラウンド化をオフにします。Claude Code v2.1.212 以降が必要です |

343| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | [非対話](/docs/ja/headless) セッションの最初のターンが、まだ接続中の MCP サーバーを待機する時間(ミリ秒)。デフォルトの [最初のターンの待機](/docs/ja/agent-sdk/mcp#connection-timing) の代わりに使用されます。設定すると、待機は保留中のすべてのサーバーを対象にします。`0` に設定すると待機をスキップします。[`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) サーバーは、値に関係なく独自の `MCP_TIMEOUT` の待機を維持します。Claude Code v2.1.274 以降が必要です |343| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | [非対話](/docs/ja/headless)セッションの最初のターンが、まだ接続中の MCP サーバーを待つ時間(ミリ秒)。デフォルトの[最初のターンの待機](/docs/ja/agent-sdk/mcp#connection-timing)の代わりに使用されます。設定すると、待機は保留中のすべてのサーバーが対象になります。[セルフホスト環境](/docs/ja/self-hosted-environments-configuration#connection-timing)では、待機の長さのみが変わります。`0` に設定すると待機をスキップします。[`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) のサーバーは、値に関係なく独自の `MCP_TIMEOUT` の待機を維持します。Claude Code v2.1.274 以降が必要です |

344| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | MCP ツール呼び出しのアイドルタイムアウト(ミリ秒)。stdio、HTTP、SSE、WebSocket、または [claude.ai コネクタ](/docs/ja/mcp#use-mcp-servers-from-claude-ai) の MCP サーバーがこの時間、応答も進捗通知も送信しない場合、全体の `MCP_TOOL_TIMEOUT` を待たずに、ツール呼び出しはエラーで中止されます。ネットワークサーバーでは 300000(5 分)、stdio サーバーでは 1800000(30 分)というトランスポートごとのデフォルトを上書きします。`0` に設定するとアイドルチェックを無効にします。1000 未満の値は 1 秒に引き上げられ、値は実効的な `MCP_TOOL_TIMEOUT` が上限になります。`.mcp.json` のサーバーごとの `timeout` が 1000 以上の場合、そのサーバーのアイドル時間枠は少なくとも `timeout` の値まで引き上げられます。IDE サーバーや SDK のインプロセスサーバーには適用されません。Claude Code v2.1.187 以降が必要です。v2.1.203 より前は、stdio サーバーはアイドルタイムアウトの対象外でした |344| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | MCP ツール呼び出しのアイドルタイムアウト(ミリ秒)。stdio、HTTP、SSE、WebSocket、または [claude.ai コネクタ](/docs/ja/mcp#use-mcp-servers-from-claude-ai) の MCP サーバーがこの時間、応答も進捗通知も送信しない場合、全体の `MCP_TOOL_TIMEOUT` を待たずに、ツール呼び出しはエラーで中止されます。ネットワークサーバーでは 300000(5 分)、stdio サーバーでは 1800000(30 分)というトランスポートごとのデフォルトを上書きします。`0` に設定するとアイドルチェックを無効にします。1000 未満の値は 1 秒に引き上げられ、値は実効的な `MCP_TOOL_TIMEOUT` が上限になります。`.mcp.json` のサーバーごとの `timeout` が 1000 以上の場合、そのサーバーのアイドル時間枠は少なくとも `timeout` の値まで引き上げられます。IDE サーバーや SDK のインプロセスサーバーには適用されません。Claude Code v2.1.187 以降が必要です。v2.1.203 より前は、stdio サーバーはアイドルタイムアウトの対象外でした |

345| `CLAUDE_CODE_MESSAGING_SOCKET` | ユーザーではなく Claude Code が設定します。[受信箱ソケット](/docs/ja/cross-session-messaging#the-sessions-inbox-socket) をバインドするセッションでは、Claude Code はソケットをバインドするときに、そのソケットのパスをフックと Bash コマンドにエクスポートします。メッセージングをオンにして開始したセッションでは、Claude Code はフックが実行される前にソケットをバインドします。マシン上の他のセッションは、このパスにメッセージを配信します。各セッションは親から継承したソケットではなく独自のソケットをエクスポートし、そこに届いたメッセージはセッションの [受信制御](/docs/ja/cross-session-messaging#control-inbound-messages) を通過します。設定の `env` ブロックではこれを設定できません。Claude Code v2.1.224 以降が必要です |345| `CLAUDE_CODE_MESSAGING_SOCKET` | ユーザーではなく Claude Code が設定します。[受信箱ソケット](/docs/ja/cross-session-messaging#the-sessions-inbox-socket) をバインドするセッションでは、Claude Code はソケットをバインドするときに、そのソケットのパスをフックと Bash コマンドにエクスポートします。メッセージングをオンにして開始したセッションでは、Claude Code はフックが実行される前にソケットをバインドします。マシン上の他のセッションは、このパスにメッセージを配信します。各セッションは親から継承したソケットではなく独自のソケットをエクスポートし、そこに届いたメッセージはセッションの [受信制御](/docs/ja/cross-session-messaging#control-inbound-messages) を通過します。設定の `env` ブロックではこれを設定できません。Claude Code v2.1.224 以降が必要です |

346| `CLAUDE_CODE_MESSAGING_TOKEN` | ユーザーではなく Claude Code が設定します。[受信箱ソケット](/docs/ja/cross-session-messaging#the-sessions-inbox-socket) をバインドするセッションでは、Claude Code は `CLAUDE_CODE_MESSAGING_SOCKET` とともに、このセッションごとのトークンをフックと Bash コマンドにエクスポートします。ソケットに投稿するスクリプトは、最初の行として `{"type":"auth","token":"<token>"}` を送信することで、そのセッションに属していることを証明できます。ネイティブ Windows では、Claude Code はこの行を必須とし、有効な行で始まらない接続を閉じます。Claude Code がトークンを参照するタイミングは、[own-child ルール](/docs/ja/cross-session-messaging#the-sessions-inbox-socket) で定められています。各セッションは独自のトークンをエクスポートし、親セッションから継承したトークンをエクスポートすることはありません。設定の `env` ブロックではこれを設定できません。Claude Code v2.1.228 以降が必要です |346| `CLAUDE_CODE_MESSAGING_TOKEN` | ユーザーではなく Claude Code が設定します。[受信箱ソケット](/docs/ja/cross-session-messaging#the-sessions-inbox-socket) をバインドするセッションでは、Claude Code は `CLAUDE_CODE_MESSAGING_SOCKET` とともに、このセッションごとのトークンをフックと Bash コマンドにエクスポートします。ソケットに投稿するスクリプトは、最初の行として `{"type":"auth","token":"<token>"}` を送信することで、そのセッションに属していることを証明できます。ネイティブ Windows では、Claude Code はこの行を必須とし、有効な行で始まらない接続を閉じます。Claude Code がトークンを参照するタイミングは、[own-child ルール](/docs/ja/cross-session-messaging#the-sessions-inbox-socket) で定められています。各セッションは独自のトークンをエクスポートし、親セッションから継承したトークンをエクスポートすることはありません。設定の `env` ブロックではこれを設定できません。Claude Code v2.1.228 以降が必要です |


443| `CLAUDE_ENABLE_BYTE_WATCHDOG` | `1` に設定するとバイトレベルのストリーミングアイドルウォッチドッグを強制的に有効にし、`0` に設定すると強制的に無効にします。`0` は、[最初のバイトの期限](/docs/ja/network-config#streaming-idle-watchdogs)が適用される接続でその期限もオフにします。未設定の場合、ウォッチドッグは Anthropic API と [Claude Platform on AWS](/docs/ja/claude-platform-on-aws) への直接接続、および `ANTHROPIC_BASE_URL` または `ANTHROPIC_AWS_BASE_URL` を介して到達する[ゲートウェイ](/docs/ja/gateways)接続でのストリーミングレスポンスに対して、デフォルトで有効になります。v2.1.222 より前はこれらのゲートウェイ接続では実行されなかったため、キープアライブの ping が届いている間でも、イベントレベルのウォッチドッグが停止を報告することがありました。タイムアウトとタイマーの相互作用については、[ストリーミングアイドルウォッチドッグ](/docs/ja/network-config#streaming-idle-watchdogs)を参照してください |443| `CLAUDE_ENABLE_BYTE_WATCHDOG` | `1` に設定するとバイトレベルのストリーミングアイドルウォッチドッグを強制的に有効にし、`0` に設定すると強制的に無効にします。`0` は、[最初のバイトの期限](/docs/ja/network-config#streaming-idle-watchdogs)が適用される接続でその期限もオフにします。未設定の場合、ウォッチドッグは Anthropic API と [Claude Platform on AWS](/docs/ja/claude-platform-on-aws) への直接接続、および `ANTHROPIC_BASE_URL` または `ANTHROPIC_AWS_BASE_URL` を介して到達する[ゲートウェイ](/docs/ja/gateways)接続でのストリーミングレスポンスに対して、デフォルトで有効になります。v2.1.222 より前はこれらのゲートウェイ接続では実行されなかったため、キープアライブの ping が届いている間でも、イベントレベルのウォッチドッグが停止を報告することがありました。タイムアウトとタイマーの相互作用については、[ストリーミングアイドルウォッチドッグ](/docs/ja/network-config#streaming-idle-watchdogs)を参照してください |

444| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | `1` に設定すると、Amazon Bedrock の `vnd.amazon.eventstream` レスポンスでバイトレベルのストリーミングアイドルウォッチドッグを有効にし、Bedrock のストリーミングリクエストで[最初のバイトの期限](/docs/ja/network-config#streaming-idle-watchdogs)も有効にします。デフォルトではオフです。タイムアウトは `CLAUDE_STREAM_IDLE_TIMEOUT_MS` で設定します |444| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | `1` に設定すると、Amazon Bedrock の `vnd.amazon.eventstream` レスポンスでバイトレベルのストリーミングアイドルウォッチドッグを有効にし、Bedrock のストリーミングリクエストで[最初のバイトの期限](/docs/ja/network-config#streaming-idle-watchdogs)も有効にします。デフォルトではオフです。タイムアウトは `CLAUDE_STREAM_IDLE_TIMEOUT_MS` で設定します |

445| `CLAUDE_ENABLE_STREAM_WATCHDOG` | `0` に設定するとイベントレベルのストリーミングアイドルウォッチドッグを強制的に無効にし、`1` に設定すると強制的に有効にします。未設定の場合、ウォッチドッグはすべてのプロバイダーでデフォルトでオンになります。v2.1.196 より前は、未設定時のデフォルトは Anthropic API への直接接続ではサーバー側で制御され、その他のプロバイダーではオフでした。タイムアウトは `CLAUDE_STREAM_IDLE_TIMEOUT_MS` で設定します。これと並行して動作するその他の停止タイマーについては、[ストリーミングアイドルウォッチドッグ](/docs/ja/network-config#streaming-idle-watchdogs)を参照してください |445| `CLAUDE_ENABLE_STREAM_WATCHDOG` | `0` に設定するとイベントレベルのストリーミングアイドルウォッチドッグを強制的に無効にし、`1` に設定すると強制的に有効にします。未設定の場合、ウォッチドッグはすべてのプロバイダーでデフォルトでオンになります。v2.1.196 より前は、未設定時のデフォルトは Anthropic API への直接接続ではサーバー側で制御され、その他のプロバイダーではオフでした。タイムアウトは `CLAUDE_STREAM_IDLE_TIMEOUT_MS` で設定します。これと並行して動作するその他の停止タイマーについては、[ストリーミングアイドルウォッチドッグ](/docs/ja/network-config#streaming-idle-watchdogs)を参照してください |

446| `CLAUDE_ENV_FILE` | シェルスクリプトへのパス。Claude Code は各 Bash コマンドの前に同じシェルプロセス内でその内容を実行するため、ファイル内の export はコマンドから参照できます。virtualenv や conda の有効化をコマンド間で維持するために使用します。[SessionStart](/docs/ja/hooks#persist-environment-variables)、[Setup](/docs/ja/hooks#setup)、[CwdChanged](/docs/ja/hooks#cwdchanged)、[FileChanged](/docs/ja/hooks#filechanged) フックによっても動的に設定されます |446| `CLAUDE_ENV_FILE` | 各 Bash コマンドの前に Claude Code が同じシェルプロセス内でその内容を実行するシェルスクリプトのパス。ファイル内のエクスポートはコマンドから参照できます。virtualenv や conda のアクティベーションをコマンド間で維持するために使用します。v2.1.296 以降では、[PowerShell コマンドでの永続化された変数](/docs/ja/hooks#persisted-variables-in-powershell-commands)に記載された条件の下で、PowerShell コマンドもその変数を受け取ります。[SessionStart](/docs/ja/hooks#persist-environment-variables)、[Setup](/docs/ja/hooks#setup)、[CwdChanged](/docs/ja/hooks#cwdchanged)、[FileChanged](/docs/ja/hooks#filechanged) フックによっても動的に設定されます |

447| `CLAUDE_JOB_DIR` | 各[バックグラウンドセッション](/docs/ja/agent-view)で、Claude Code によってそのセッションの `~/.claude/jobs/<id>` ディレクトリに設定されます。セッションが実行するシェルコマンドはこれを継承します。一時ファイルは [`$CLAUDE_JOB_DIR/tmp`](/docs/ja/agent-view#where-state-is-stored) に書き込みます。そこへの Claude の `Write` および `Edit` 呼び出しでは権限の確認は求められず、このディレクトリはセッションが削除されると削除されます |447| `CLAUDE_JOB_DIR` | 各[バックグラウンドセッション](/docs/ja/agent-view)で、Claude Code によってそのセッションの `~/.claude/jobs/<id>` ディレクトリに設定されます。セッションが実行するシェルコマンドはこれを継承します。一時ファイルは [`$CLAUDE_JOB_DIR/tmp`](/docs/ja/agent-view#where-state-is-stored) に書き込みます。そこへの Claude の `Write` および `Edit` 呼び出しでは権限の確認は求められず、このディレクトリはセッションが削除されると削除されます |

448| `CLAUDE_PID` | Claude Code は、自身が生成するサブプロセス(Bash および PowerShell ツールのコマンドとフックコマンド)で、これを自身のプロセス ID に設定します。Linux では、Bash ツールのシェル統合がこれを使用して、Claude Code プロセス自体に一致する `pkill` パターンを拒否します。[エラーリファレンス](/docs/ja/errors#pkill-pattern-matches-the-claude-code-process)を参照してください。独自のスクリプトからこれを読み取ることで、親の Claude Code プロセスを意図的に識別したりシグナルを送ったりできます。Claude Code v2.1.214 以降が必要です |448| `CLAUDE_PID` | Claude Code は、自身が生成するサブプロセス(Bash および PowerShell ツールのコマンドとフックコマンド)で、これを自身のプロセス ID に設定します。Linux では、Bash ツールのシェル統合がこれを使用して、Claude Code プロセス自体に一致する `pkill` パターンを拒否します。[エラーリファレンス](/docs/ja/errors#pkill-pattern-matches-the-claude-code-process)を参照してください。独自のスクリプトからこれを読み取ることで、親の Claude Code プロセスを意図的に識別したりシグナルを送ったりできます。Claude Code v2.1.214 以降が必要です |

449| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 明示的な名前が指定されていない場合に自動生成される [Remote Control](/docs/ja/remote-control) セッション名のプレフィックス。デフォルトはマシンのホスト名で、`myhost-graceful-unicorn` のような名前になります。`--remote-control-session-name-prefix` CLI フラグは、1 回の呼び出しに対して同じ値を設定します |449| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 明示的な名前が指定されていない場合に自動生成される [Remote Control](/docs/ja/remote-control) セッション名のプレフィックス。デフォルトはマシンのホスト名で、`myhost-graceful-unicorn` のような名前になります。`--remote-control-session-name-prefix` CLI フラグは、1 回の呼び出しに対して同じ値を設定します |

errors.md +331 −268

Details

37| `Connection lost while your computer was asleep` | [自動再試行](#automatic-retries) |37| `Connection lost while your computer was asleep` | [自動再試行](#automatic-retries) |

38| `<model> is temporarily unavailable, so auto mode cannot determine the safety of...` | [サーバーエラー](#auto-mode-cannot-determine-the-safety-of-an-action) |38| `<model> is temporarily unavailable, so auto mode cannot determine the safety of...` | [サーバーエラー](#auto-mode-cannot-determine-the-safety-of-an-action) |

39| `Auto mode could not evaluate this action and is blocking it for safety` | [サーバーエラー](#auto-mode-cannot-determine-the-safety-of-an-action) |39| `Auto mode could not evaluate this action and is blocking it for safety` | [サーバーエラー](#auto-mode-cannot-determine-the-safety-of-an-action) |

40| `Not run · auto mode's check had no usable answer` | [サーバーエラー](#auto-mode-cannot-determine-the-safety-of-an-action) |

40| `Auto mode classifier transcript exceeded context window` | [サーバーエラー](#auto-mode-cannot-determine-the-safety-of-an-action) |41| `Auto mode classifier transcript exceeded context window` | [サーバーエラー](#auto-mode-cannot-determine-the-safety-of-an-action) |

41| `Agent aborted: auto mode classifier request refused by the safety safeguard` | [サーバーエラー](#auto-mode-cannot-determine-the-safety-of-an-action) |42| `Agent aborted: auto mode classifier request refused by the safety safeguard` | [サーバーエラー](#auto-mode-cannot-determine-the-safety-of-an-action) |

42| `The server-side auto mode classifier gave no verdict` | [サーバーエラー](#the-server-returned-no-safety-verdict) |43| `The server-side auto mode classifier gave no verdict` | [サーバーエラー](#the-server-returned-no-safety-verdict) |


247| `Windows reported an error (EBADF) when Claude Code read this session's transcript file` | [コマンドラインエラー](#windows-reported-an-error-ebadf) |248| `Windows reported an error (EBADF) when Claude Code read this session's transcript file` | [コマンドラインエラー](#windows-reported-an-error-ebadf) |

248| `Cannot switch renderers in this session` | [コマンドラインエラー](#cannot-switch-renderers-in-this-session) |249| `Cannot switch renderers in this session` | [コマンドラインエラー](#cannot-switch-renderers-in-this-session) |

249| `Cannot switch renderers while work is running in the background` | [コマンドラインエラー](#cannot-switch-renderers-in-this-session) |250| `Cannot switch renderers while work is running in the background` | [コマンドラインエラー](#cannot-switch-renderers-in-this-session) |

251| `Claude Code couldn't restart` | [コマンドラインエラー](#claude-code-couldnt-restart) |

250| `Couldn't open Claude Desktop` | [コマンドラインエラー](#couldnt-open-claude-desktop) |252| `Couldn't open Claude Desktop` | [コマンドラインエラー](#couldnt-open-claude-desktop) |

251| `Failed to open Claude Desktop. Please try opening it manually.` | [コマンドラインエラー](#couldnt-open-claude-desktop) |253| `Failed to open Claude Desktop. Please try opening it manually.` | [コマンドラインエラー](#couldnt-open-claude-desktop) |

252| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [コマンドラインエラー](#terminal-setup-left-your-zed-keymap-unchanged) |254| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [コマンドラインエラー](#terminal-setup-left-your-zed-keymap-unchanged) |


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

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

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

267| `Cannot add marketplace "<name>": Claude Code reserves this name and cannot register a marketplace under it` | [プラグインのトラブルシューティング](/docs/ja/plugins/troubleshooting#claude-code-reserves-this-name) |

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

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

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


308| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [ツールエラー](#disk-quota-or-temp-filesystem-is-full) |311| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [ツールエラー](#disk-quota-or-temp-filesystem-is-full) |

309| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [ツールエラー](#disk-quota-or-temp-filesystem-is-full) |312| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [ツールエラー](#disk-quota-or-temp-filesystem-is-full) |

310| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [ツールエラー](#disk-quota-or-temp-filesystem-is-full) |313| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [ツールエラー](#disk-quota-or-temp-filesystem-is-full) |

314| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [ツールエラー](#file-is-not-valid-utf-8) |

311| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [ツールエラー](#the-source-file-is-not-valid-utf-8-text) |315| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [ツールエラー](#the-source-file-is-not-valid-utf-8-text) |

312| `the source file has the replacement character U+FFFD` | [ツールエラー](#the-source-file-is-not-valid-utf-8-text) |316| `the source file has the replacement character U+FFFD` | [ツールエラー](#the-source-file-is-not-valid-utf-8-text) |

313| `Not published: that file is on a network share` | [ツールエラー](#not-published-that-file-is-on-a-network-share) |317| `Not published: that file is on a network share` | [ツールエラー](#not-published-that-file-is-on-a-network-share) |


334| `Session isn't responding` / `Press enter again to restart this session — it isn't responding` | [バックグラウンドセッションエラー](#session-isnt-responding) |338| `Session isn't responding` / `Press enter again to restart this session — it isn't responding` | [バックグラウンドセッションエラー](#session-isnt-responding) |

335| `Session <id> was stopped while the respawn was in flight` | [バックグラウンドセッションエラー](#session-was-stopped-while-the-respawn-was-in-flight) |339| `Session <id> was stopped while the respawn was in flight` | [バックグラウンドセッションエラー](#session-was-stopped-while-the-respawn-was-in-flight) |

336| `This session was running agent '<name>', which is no longer available` | [バックグラウンドセッションエラー](#session-agent-no-longer-available) |340| `This session was running agent '<name>', which is no longer available` | [バックグラウンドセッションエラー](#session-agent-no-longer-available) |

341| `This session restarted <time> after its next /loop wakeup was due, so that wakeup will not fire` | [バックグラウンドセッションエラー](#restarted-after-its-next-loop-wakeup-was-due) |

337| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [バックグラウンドセッションエラー](#claude_code_process_wrapper-launcher-errors) |342| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [バックグラウンドセッションエラー](#claude_code_process_wrapper-launcher-errors) |

338| `EUNKNOWN: unknown error, uv_spawn` | [バックグラウンドセッションエラー](#eunknown-when-starting-a-background-session) |343| `EUNKNOWN: unknown error, uv_spawn` | [バックグラウンドセッションエラー](#eunknown-when-starting-a-background-session) |

339| `EACCES: permission denied, posix_spawn` | [バックグラウンドセッションエラー](#eacces-when-starting-a-background-session) |344| `EACCES: permission denied, posix_spawn` | [バックグラウンドセッションエラー](#eacces-when-starting-a-background-session) |


439| :- | :- | :- |444| :- | :- | :- |

440| [`CLAUDE_CODE_MAX_RETRIES`](/docs/ja/env-vars) | 10 | 再試行の回数。v2.1.186 以降では上限は 15 です。v2.1.199 以降では、`CLAUDE_CODE_RETRY_WATCHDOG` によってデフォルトが引き上げられ、上限が撤廃されます。スクリプトで障害をより早く表面化させるには、値を下げてください。 |445| [`CLAUDE_CODE_MAX_RETRIES`](/docs/ja/env-vars) | 10 | 再試行の回数。v2.1.186 以降では上限は 15 です。v2.1.199 以降では、`CLAUDE_CODE_RETRY_WATCHDOG` によってデフォルトが引き上げられ、上限が撤廃されます。スクリプトで障害をより早く表面化させるには、値を下げてください。 |

441| [`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 も撤廃されます。 |446| [`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 も撤廃されます。 |

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

442| [`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 以降が必要です。 |448| [`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 以降が必要です。 |

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

444| [`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 以降が必要です。 |450| [`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 以降が必要です。 |


596<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.602<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.

597```603```

598 604 

605対話セッションでは、このメッセージの代わりに、ツール呼び出しの下に薄く表示される `Not run · auto mode's check had no usable answer` 行が現れます。`Ctrl+O` を押すと、[トランスクリプトビューアー](/docs/ja/interactive-mode#transcript-viewer) でメッセージを読むことができます。[The server returned no safety verdict](#the-server-returned-no-safety-verdict) で説明されている拒否でも同じ行が表示されます。v2.1.296 より前では、メッセージは呼び出しの下に赤いエラーとして表示されていました。

606 

599Claude Code が障害カテゴリを判定できる場合、`temporarily unavailable` の後の括弧内にカテゴリを示します。例えば `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`。カテゴリは `(rate-limited)`、`(overloaded)`、`(server error)`、`(timed out)`、`(connection failed)` です。`(timed out)` または `(connection failed)` が繰り返される場合は、接続を確認してください。[Unable to connect to API](#unable-to-connect-to-api) を参照してください。v2.1.229 より前では、メッセージはカテゴリを示さず、`Wait briefly and then try this action again` と読まれていました。607Claude Code が障害カテゴリを判定できる場合、`temporarily unavailable` の後の括弧内にカテゴリを示します。例えば `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`。カテゴリは `(rate-limited)`、`(overloaded)`、`(server error)`、`(timed out)`、`(connection failed)` です。`(timed out)` または `(connection failed)` が繰り返される場合は、接続を確認してください。[Unable to connect to API](#unable-to-connect-to-api) を参照してください。v2.1.229 より前では、メッセージはカテゴリを示さず、`Wait briefly and then try this action again` と読まれていました。

600 608 

601カテゴリが適合しない場合、メッセージは括弧内にカテゴリなしで表示されます。複数の障害がその形式を生成します。[Amazon Bedrock](/docs/ja/amazon-bedrock)([Mantle endpoint](/docs/ja/amazon-bedrock#use-the-mantle-endpoint) を含む)では、AWS アカウントがメッセージに示されているモデルを呼び出せない場合にも表示され、その障害はアカウントにモデルへのアクセスが付与されるまで、すべての再試行で繰り返されます。609カテゴリが適合しない場合、メッセージは括弧内にカテゴリなしで表示されます。複数の障害がその形式を生成します。[Amazon Bedrock](/docs/ja/amazon-bedrock)([Mantle endpoint](/docs/ja/amazon-bedrock#use-the-mantle-endpoint) を含む)では、AWS アカウントがメッセージに示されているモデルを呼び出せない場合にも表示され、その障害はアカウントにモデルへのアクセスが付与されるまで、すべての再試行で繰り返されます。


1900 1908 

1901Claude Code は、[管理設定ファイル、MDM ポリシー、またはポリシーヘルパー](/docs/ja/managed-settings) が [`forceLoginMethod`](/docs/ja/settings-reference#forceloginmethod) を `"gateway"` に設定するか、`forceLoginMethod` なしで [`forceLoginGatewayUrl`](/docs/ja/settings-reference#forcelogingatewayurl) を設定する場合、このチェックをスキップします。どちらの設定でも、Claude Code は Anthropic のサインイン方法ではなく **Cloud gateway** 画面でサインインステップを開きます。また、マシン上の管理設定ソースが存在するが読み取れない場合も、Claude Code はチェックをスキップします。そのソースがゲートウェイ設定を保持している可能性があるためです。v2.1.247 より前では、Claude Code はこの設定下でもチェックを実行し、Anthropic のエンドポイントに到達できない場合、このエラーで終了しました。1909Claude Code は、[管理設定ファイル、MDM ポリシー、またはポリシーヘルパー](/docs/ja/managed-settings) が [`forceLoginMethod`](/docs/ja/settings-reference#forceloginmethod) を `"gateway"` に設定するか、`forceLoginMethod` なしで [`forceLoginGatewayUrl`](/docs/ja/settings-reference#forcelogingatewayurl) を設定する場合、このチェックをスキップします。どちらの設定でも、Claude Code は Anthropic のサインイン方法ではなく **Cloud gateway** 画面でサインインステップを開きます。また、マシン上の管理設定ソースが存在するが読み取れない場合も、Claude Code はチェックをスキップします。そのソースがゲートウェイ設定を保持している可能性があるためです。v2.1.247 より前では、Claude Code はこの設定下でもチェックを実行し、Anthropic のエンドポイントに到達できない場合、このエラーで終了しました。

1902 1910 

1911管理設定のないマシンで、自身の `~/.claude/settings.json` が `forceLoginMethod` と `forceLoginGatewayUrl` で [ゲートウェイを指定している](/docs/ja/claude-apps-gateway#set-the-gateway-url-in-user-settings) 場合も、Claude Code はこのチェックをスキップします。v2.1.295 より前では、Claude Code はこの場合にもチェックを実行していました。

1912 

1903**対応方法:**1913**対応方法:**

1904 1914 

1905* メッセージがプロキシ変数を名前で示している場合は、その値が正しいプロキシを指していることを確認し、ネットワークチームにそのプロキシ経由でメッセージ内のホストへの HTTPS 接続を許可するよう依頼してください。[ネットワーク設定](/docs/ja/network-config) を参照してください。1915* メッセージがプロキシ変数を名前で示している場合は、その値が正しいプロキシを指していることを確認し、ネットワークチームにそのプロキシ経由でメッセージ内のホストへの HTTPS 接続を許可するよう依頼してください。[ネットワーク設定](/docs/ja/network-config) を参照してください。


2914* ブロックをトリガーしたターンの前のチェックポイントに戻るには、Esc キーを 2 回押すか、`/rewind` を実行してください。[チェックポイント機能](/docs/ja/checkpointing)を参照してください2924* ブロックをトリガーしたターンの前のチェックポイントに戻るには、Esc キーを 2 回押すか、`/rewind` を実行してください。[チェックポイント機能](/docs/ja/checkpointing)を参照してください

2915 2925 

2916<h2 id="command-line-errors">2926<h2 id="command-line-errors">

2917 コマンドラインのエラー2927 コマンドラインエラー

2918</h2>2928</h2>

2919 2929 

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


2923 `--bg` と `--print` の競合2933 `--bg` と `--print` の競合

2924</h3>2934</h3>

2925 2935 

2926このメッセージには 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 より前は、この組み合わせによって、アタッチできないバックグラウンドジョブが何も通知されずに作成されていました。2936このメッセージには 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 より前は、この組み合わせによって、決してアタッチできないバックグラウンドジョブが何も通知されずに作成されていました。

2927 2937 

2928```text theme={null}2938```text theme={null}

2929--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>'`.2939--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>'`.


2931 2941 

2932**対処方法:**2942**対処方法:**

2933 2943 

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

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

2936 2946 

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

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

2939</h3>2949</h3>

2940 2950 

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

2942 2952 

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

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

2945```2955```

2946 2956 

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

2948 2958 

2949**対処方法:**2959**対処方法:**

2950 2960 

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

2952 2962 

2953<h3 id="invalid-agents-configuration">2963<h3 id="invalid-agents-configuration">

2954 無効な `--agents` 設定2964 Invalid `--agents` configuration

2955</h3>2965</h3>

2956 2966 

2957`--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 はそのままセッションを開始していました。2967`--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 はそれでもセッションを開始していました。

2958 2968 

2959```text theme={null}2969```text theme={null}

2960Error: Invalid --agents configuration:2970Error: Invalid --agents configuration:

2961<what failed>2971<what failed>

2962```2972```

2963 2973 

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

2965 2975 

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

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


2969 2979 

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

2971 2981 

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

2973 2983 

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

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

2976 2986 

2977**対処方法:**2987**対処方法:**

2978 2988 

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

2980 2990 

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

2982 `--restricted` セッションからクラウドセッションを作成できない2992 Cloud sessions cannot be created from a `--restricted` session

2983</h3>2993</h3>

2984 2994 

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

2986 2996 

2987```text theme={null}2997```text theme={null}

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


2990 3000 

2991**対処方法:**3001**対処方法:**

2992 3002 

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

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

2995 3005 

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

2997 3007 

2998<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">3008<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">

2999 組織のポリシーによりクラウドセッションが無効になっている3009 Cloud sessions are disabled by your organization's policy

3000</h3>3010</h3>

3001 3011 

3002組織の `allow_remote_sessions` ポリシーがオフになっているため、[クラウドセッション](/docs/ja/claude-code-on-the-web)とそれを使用するコマンドは利用できません:3012組織の `allow_remote_sessions` ポリシーがオフになっているため、[クラウドセッション](/docs/ja/claude-code-on-the-web)とそれを使用するコマンドは利用できません:


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

3006```3016```

3007 3017 

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

3009 3019 

3010これはサーバー側の組織ポリシーであるため、ローカル設定、環境変数、CLI フラグで上書きすることはできません。3020これはサーバー側の組織ポリシーであるため、ローカル設定、環境変数、CLI フラグで上書きすることはできません。

3011 3021 

3012Claude Code が組織のポリシーをまだ読み込んでいないか、取得できない場合、これらのコマンドは代わりに `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` と応答します。3022Claude Code が組織のポリシーをまだ読み込んでいない場合や取得できない場合、これらのコマンドは代わりに `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` と応答します。

3013 3023 

3014**対処方法:**3024**対処方法:**

3015 3025 

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

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

3018 3028 

3019<h3 id="the-json-schema-value-is-not-a-valid-json-schema">3029<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

3020 `--json-schema` の値が有効な JSON Schema ではない3030 The `--json-schema` value is not a valid JSON Schema

3021</h3>3031</h3>

3022 3032 

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

3024 3034 

3025```text theme={null}3035```text theme={null}

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

3027```3037```

3028 3038 

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

3030 3040 

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

3032 3042 

3033**対処方法:**3043**対処方法:**

3034 3044 

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

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

3037 3047 

3038<h3 id="settings-file-exceeds-the-2mib-limit">3048<h3 id="settings-file-exceeds-the-2mib-limit">

3039 設定ファイルが 2MiB の上限を超えている3049 Settings file exceeds the 2MiB limit

3040</h3>3050</h3>

3041 3051 

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

3043 3053 

3044```text theme={null}3054```text theme={null}

3045Error: Settings file exceeds the 2MiB limit: /path/to/settings.json3055Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

3046```3056```

3047 3057 

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

3049 3059 

3050**対処方法:**3060**対処方法:**

3051 3061 

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

3053 3063 

3054<h3 id="the-current-directory-no-longer-exists">3064<h3 id="the-current-directory-no-longer-exists">

3055 現在のディレクトリが存在しない3065 The current directory no longer exists

3056</h3>3066</h3>

3057 3067 

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

3059 3069 

3060```text theme={null}3070```text theme={null}

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

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

3063```3073```

3064 3074 

3065どちらの形式でも原因と対処方法は同じです。3075どちらの形式も、原因と修正方法は同じです。

3066 3076 

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

3068 3078 

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

3070 3080 

3071**対処方法:**3081**対処方法:**

3072 3082 

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

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

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

3076 3086 

3077<h3 id="temp-directory-refused-or-cannot-be-created">3087<h3 id="temp-directory-refused-or-cannot-be-created">

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

3079</h3>3089</h3>

3080 3090 

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

3082 3092 

3083```text wrap theme={null}3093```text wrap theme={null}

3084ENOSPC: no space left on device, mkdir '/tmp/claude-501'3094ENOSPC: no space left on device, mkdir '/tmp/claude-501'


3092 3102 

3093**対処方法:**3103**対処方法:**

3094 3104 

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

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

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

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

3099 3109 

3100<h3 id="directory-couldnt-be-resolved-to-a-real-location">3110<h3 id="directory-couldnt-be-resolved-to-a-real-location">

3101 ディレクトリを実際の場所に解決できない3111 Directory couldn't be resolved to a real location

3102</h3>3112</h3>

3103 3113 

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

3105 3115 

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

3107 3117 

3108```text theme={null}3118```text theme={null}

3109packages/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.3119packages/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.


3111 3121 

3112**対処方法:**3122**対処方法:**

3113 3123 

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

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

3116 3126 

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

3118 3128 

3119<h3 id="workspace-not-trusted-when-starting-remote-control">3129<h3 id="workspace-not-trusted-when-starting-remote-control">

3120 Remote Control の開始時にワークスペースが信頼されていない3130 Workspace not trusted when starting Remote Control

3121</h3>3131</h3>

3122 3132 

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

3124 3134 

3125```text theme={null}3135```text theme={null}

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

3127```3137```

3128 3138 

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

3130 3140 

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

3132 3142 

3133```text theme={null}3143```text theme={null}

3134Error: 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).3144Error: 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).

3135```3145```

3136 3146 

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

3138 3148 

3139**対処方法:**3149**対処方法:**

3140 3150 

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

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

3143 3153 

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

3145 3155 

3146<h3 id="not-carried-over-to-the-sessions-remote-control-starts">3156<h3 id="not-carried-over-to-the-sessions-remote-control-starts">

3147 Remote Control が開始するセッションに引き継がれない3157 Not carried over to the sessions Remote Control starts

3148</h3>3158</h3>

3149 3159 

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

3151 3161 

3152```text theme={null}3162```text theme={null}

3153Error: `--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`).3163Error: `--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`).

3154```3164```

3155 3165 

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

3157 3167 

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

3159 3169 

3160**対処方法:**3170**対処方法:**

3161 3171 

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

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

3164 3174 

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

3166 3176 

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

3168 claude import がこのビルドではまだ利用できない3178 claude import is not yet available in this build

3169</h3>3179</h3>

3170 3180 

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

3172 3182 

3173```text theme={null}3183```text theme={null}

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


3176 3186 

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

3178 3188 

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

3180* 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` は利用できないままです。3190* 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` は利用できないままです。

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

3182 3192 

3183**対処方法:**3193**対処方法:**

3184 3194 

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

3186* 機能フラグの取得がオフのままの場合は、設定を自分で行います。[`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 サーバーを読み込みません。3196* 機能フラグの取得がオフのままの環境では、設定を自分で行います。[`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 サーバーを読み取りません。

3187 3197 

3188<h3 id="could-not-read-claude-code-config">3198<h3 id="could-not-read-claude-code-config">

3189 Claude Code の設定を読み取れない3199 Could not read Claude Code config

3190</h3>3200</h3>

3191 3201 

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

3193 3203 

3194```text theme={null}3204```text theme={null}

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


3197 3207 

3198**対処方法:**3208**対処方法:**

3199 3209 

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

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

3202 3212 

3203<h3 id="could-not-import-a-server-from-claude-desktop">3213<h3 id="could-not-import-a-server-from-claude-desktop">

3204 Claude Desktop からサーバーをインポートできない3214 Could not import a server from Claude Desktop

3205</h3>3215</h3>

3206 3216 

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

3208 3218 

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

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

3211```3221```

3212 3222 

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

3214 3224 

3215**対処方法:**3225**対処方法:**

3216 3226 

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

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

3219 3229 

3220<h3 id="cannot-add-mcp-server-to-the-managed-scope">3230<h3 id="cannot-add-mcp-server-to-the-managed-scope">

3221 MCP サーバーを managed スコープに追加できない3231 Cannot add MCP server to the managed scope

3222</h3>3232</h3>

3223 3233 

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

3225 3235 

3226```text theme={null}3236```text theme={null}

3227Cannot add MCP server to scope: managed3237Cannot add MCP server to scope: managed


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

3234 3244 

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

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

3237</h3>3247</h3>

3238 3248 

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

3240 3250 

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

3242Cannot 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.3252Cannot 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.

3243```3253```

3244 3254 

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

3246 3256 

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

3248 3258 

3249**対処方法:**3259**対処方法:**

3250 3260 

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

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

3253 3263 

3254<h3 id="cant-read-mcp-json">3264<h3 id="cant-read-mcp-json">

3255 .mcp.json を読み取れない3265 Can't read .mcp.json

3256</h3>3266</h3>

3257 3267 

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

3259 3269 

3260```text theme={null}3270```text theme={null}

3261Can'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.3271Can'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.

3262```3272```

3263 3273 

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

3265 3275 

3266**対処方法:**3276**対処方法:**

3267 3277 

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

3269 3279 

3270<h3 id="mcp-server-was-not-saved-or-removed">3280<h3 id="mcp-server-was-not-saved-or-removed">

3271 MCP サーバーが保存または削除されなかった3281 MCP server was not saved or removed

3272</h3>3282</h3>

3273 3283 

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

3275 3285 

3276```text theme={null}3286```text theme={null}

3277MCP 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.3287MCP 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.

3278```3288```

3279 3289 

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

3281 3291 

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

3283 3293 

3284**対処方法:**3294**対処方法:**

3285 3295 

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

3287 3297 

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

3289 MCP サーバーが保存または削除されていない可能性がある3299 MCP server may not have been saved or removed

3290</h3>3300</h3>

3291 3301 

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

3293 3303 

3294```text theme={null}3304```text theme={null}

3295MCP 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.3305MCP 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.

3296```3306```

3297 3307 

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

3299 3309 

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

3301 3311 

3302**対処方法:**3312**対処方法:**

3303 3313 

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

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

3306 3316 

3307<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3317<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

3308 サーバーが Anthropic でホストされておりローカル OAuth をサポートしていない3318 Server is Anthropic-hosted and doesn't support local OAuth

3309</h3>3319</h3>

3310 3320 

3311サードパーティの 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 フローの開始を拒否します。3321サードパーティの 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 フローの開始を拒否します。

3312 3322 

3313```text theme={null}3323```text theme={null}

3314"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.3324"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.


3316 3326 

3317**対処方法:**3327**対処方法:**

3318 3328 

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

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

3321 3331 

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

3323 設定された headersHelper が生成した Authorization ヘッダーをサーバーが拒否した3333 Server rejected the Authorization header minted by the configured headersHelper

3324</h3>3334</h3>

3325 3335 

3326[`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):3336[`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):

3327 3337 

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

3329Server 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.3339Server 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.

3330```3340```

3331 3341 

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

3333 3343 

3334**対処方法:**3344**対処方法:**

3335 3345 

3336* 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` の値が出力されることを確認します3346* 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` の値が出力されることを確認します

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

3338 3348 

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

3340 3350 

3341<h3 id="mcp-permission-prompt-tool-not-found">3351<h3 id="mcp-permission-prompt-tool-not-found">

3342 MCP の権限プロンプトツールが見つからない3352 MCP permission prompt tool not found

3343</h3>3353</h3>

3344 3354 

3345実行で最初に権限の判断が必要になった時点で、[`--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 より前は、起動時にサーバーの接続完了を待たなかったため、起動が遅いものの正常なサーバーでもこのエラーが発生していました。3355[`--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 より前は、起動時にサーバーの接続完了を待たなかったため、起動が遅いものの正常なサーバーでもこのエラーが発生していました。

3346 3356 

3347```text theme={null}3357```text theme={null}

3348Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3358Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none


3353**対処方法:**3363**対処方法:**

3354 3364 

3355* サーバーが起動して接続を維持していることを確認します。同じディレクトリで `claude mcp list` を実行し、サーバーが接続済みとして表示されることを確認します3365* サーバーが起動して接続を維持していることを確認します。同じディレクトリで `claude mcp list` を実行し、サーバーが接続済みとして表示されることを確認します

3356* ツール名が、サーバーが公開する `mcp__<server>__<tool>` 名と一致していることを確認します3366* ツール名が、サーバーが公開する `mcp__<server>__<tool>` の名前と一致していることを確認します

3357* サーバーの起動に 30 秒以上かかる場合は、[`MCP_TIMEOUT`](/docs/ja/env-vars) の値を増やします3367* サーバーの起動に 30 秒以上かかる場合は、[`MCP_TIMEOUT`](/docs/ja/env-vars) の値を増やします

3358 3368 

3359<h3 id="oauth-callback-port-is-already-in-use">3369<h3 id="oauth-callback-port-is-already-in-use">

3360 OAuth コールバックポートがすでに使用されている3370 OAuth callback port is already in use

3361</h3>3371</h3>

3362 3372 

3363OAuth でリモート MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためのローカルリスナーを開始します。そのリスナーが必要とするポートを別のプロセスが保持している場合、サインインはこのメッセージで失敗します。これは主に、[`MCP_OAUTH_CALLBACK_PORT`](/docs/ja/env-vars) 変数または `--callback-port` で[固定のコールバックポート](/docs/ja/mcp#use-a-fixed-oauth-callback-port)を設定している場合に発生します。固定ポートがない場合、Claude Code は利用可能なポートを選択するためです。3373OAuth でリモートの MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためにローカルのリスナーを開始します。そのリスナーが必要とするポートを別のプロセスが保持している場合、サインインはこのメッセージで失敗します。これは主に、[`MCP_OAUTH_CALLBACK_PORT`](/docs/ja/env-vars) 変数または `--callback-port` で[固定のコールバックポート](/docs/ja/mcp#use-a-fixed-oauth-callback-port)を設定している場合に発生します。固定ポートがない場合、Claude Code は利用可能なポートを選択するためです。

3364 3374 

3365```text theme={null}3375```text theme={null}

3366OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.3376OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.

3367```3377```

3368 3378 

3369Windows では、代わりに `netstat -ano | findstr :<port>` コマンドが提案されます。3379Windows では、代わりに `netstat -ano | findstr :<port>` が提案されます。

3370 3380 

3371**対処方法:**3381**対処方法:**

3372 3382 

3373* メッセージに示されたコマンドを実行してポートを保持しているプロセスを見つけ、停止するか終了するのを待ちます3383* メッセージに示されたコマンドを実行してポートを保持しているプロセスを特定し、停止するか終了するのを待ちます

3374* 別のプログラムがそのポートを常に必要とする場合は、サーバーに別のリダイレクト URI を登録し、使用している方法に応じて `MCP_OAUTH_CALLBACK_PORT` または `--callback-port` でそのポートを設定します3384* 別のプログラムがそのポートを恒久的に必要とする場合は、別のリダイレクト URI をサーバーに登録し、使用している方法に応じて `MCP_OAUTH_CALLBACK_PORT` または `--callback-port` でそのポートを設定します

3375* その後、たとえば `/mcp` でサーバーを選択して、サインインを再度開始します3385* その後、たとえば `/mcp` でサーバーを選択して、サインインを再度開始します

3376 3386 

3377<h3 id="no-available-ports-for-oauth-redirect">3387<h3 id="no-available-ports-for-oauth-redirect">

3378 OAuth リダイレクトに利用可能なポートがない3388 No available ports for OAuth redirect

3379</h3>3389</h3>

3380 3390 

3381[OAuth](/docs/ja/mcp#authenticate-with-remote-mcp-servers) でリモート MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためのローカルリスナーを開始します。Claude Code がそのためのローカルポートをバインドできない場合、サインインはこのメッセージで失敗します。セキュリティソフトウェアやローカルリスナーを禁止するサンドボックスポリシーなど、マシン上の何かが `127.0.0.1` でのリッスンを妨げています。3391[OAuth](/docs/ja/mcp#authenticate-with-remote-mcp-servers) でリモートの MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためにローカルのリスナーを開始します。Claude Code がそのためのローカルポートをバインドできない場合、サインインはこのメッセージで失敗します。マシン上の何か(たとえば、セキュリティソフトウェアや、ローカルのリスナーを拒否するサンドボックスポリシー)が、`127.0.0.1` でのリッスンを妨げています。

3382 3392 

3383```text theme={null}3393```text theme={null}

3384No available ports for OAuth redirect3394No available ports for OAuth redirect

3385```3395```

3386 3396 

3387v2.1.268 より前は、Claude Code はオペレーティングシステムが割り当てるポートにフォールバックしなかったため、自身で選択したポートだけをバインドできない場合にもこのメッセージが表示されていました。これは、Claude Code が選択するポートを含むポート範囲を Hyper-V が予約している Windows ホストで発生することがあります。3397v2.1.268 より前は、Claude Code はオペレーティングシステムが割り当てるポートにフォールバックしなかったため、自身で選択したポートだけをバインドできなかった場合にもこのメッセージが表示されていました。これは、Claude Code が選択するポートを含むポート範囲を Hyper-V が予約している Windows ホストで発生することがあります。

3388 3398 

3389**対処方法:**3399**対処方法:**

3390 3400 

3391* セキュリティソフトウェアやサンドボックスポリシーがプロセスの `127.0.0.1` でのリッスンをブロックしていないか確認し、Claude Code がローカルポートをバインドできるように許可します3401* セキュリティソフトウェアまたはサンドボックスポリシーが、プロセスによる `127.0.0.1` でのリッスンをブロックしていないかを確認し、Claude Code がローカルポートをバインドできるようにします

3392* その後、たとえば `/mcp` でサーバーを選択して、サインインを再度開始します3402* その後、たとえば `/mcp` でサーバーを選択して、サインインを再度開始します

3393 3403 

3394<h3 id="security-review-fails-without-origin-head">3404<h3 id="security-review-fails-without-origin-head">

3395 origin/HEAD がないと /security-review が失敗する3405 origin/HEAD がないと /security-review が失敗する

3396</h3>3406</h3>

3397 3407 

3398[`/security-review`](/docs/ja/commands#all-commands) は、ブランチと `origin/HEAD` との差分を取ってレビューのコンテキストを構築します。`origin/HEAD` は、`origin` リモートでどのブランチがデフォルトであるかを記録するローカルの ref です。この ref が存在しない場合、差分を収集する git コマンドが失敗し、レビューは開始前に停止します。3408[`/security-review`](/docs/ja/commands#all-commands) は、`origin` リモートでどのブランチがデフォルトかを記録するローカルの ref である `origin/HEAD` とブランチの差分を取ることで、レビューのコンテキストを構築します。その ref が存在しない場合、差分を収集する git コマンドが失敗し、レビューは開始前に停止します。

3399 3409 

3400```text theme={null}3410```text theme={null}

3401Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]3411Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]


3404'git <command> [<revision>...] -- [<file>...]'3414'git <command> [<revision>...] -- [<file>...]'

3405```3415```

3406 3416 

3407メッセージには、代わりに `git log` や別の `git diff` が引用されることがあります。Git が `origin/HEAD` を作成するのは、リモートがデフォルトブランチを公開しており、フェッチの refspec がそれを含む場合のみです。コミットのあるリモートを完全に `git clone` した場合はこれに該当します。次の構成では ref が存在しません:3417メッセージには、代わりに `git log` や別の `git diff` が引用される場合があります。Git が `origin/HEAD` を作成するのは、リモートがデフォルトブランチを通知し、かつ fetch の refspec がそれをカバーしている場合のみです。コミットのあるリモートを完全に `git clone` した場合はこれに該当します。次の構成では ref が存在しません:

3408 3418 

3409* refspec が狭すぎるフェッチを行う、シングルブランチまたは CI のチェックアウト3419* refspec の範囲が狭すぎる fetch を行う、シングルブランチまたは CI のチェックアウト

3410* サーバー側の HEAD が、誰もプッシュしていないブランチを指しているリモート3420* サーバー側の HEAD が、誰もプッシュしていないブランチを指しているリモート

3411* `origin` リモートがない、または一度もフェッチしていないリポジトリ3421* `origin` リモートがないリポジトリ、または一度も fetch していないリポジトリ

3412 3422 

3413Claude Code は、[動的なコンテキストを挿入する](/docs/ja/skills#when-an-injected-command-fails)すべてのスキルで同じエラーを表示し、挿入されたコマンドが失敗するとそのスキルの呼び出しは中止されます。関連する 2 つのメッセージは、コマンドが実行される前に発生します:3423Claude Code は、[動的コンテキストを挿入する](/docs/ja/skills#when-an-injected-command-fails)スキルすべてで同じエラーを表示し、挿入されたコマンドが失敗するとそのスキルの呼び出しは中止されます。コマンドの実行前に発生する、関連する 2 つの文字列があります:

3414 3424 

3415* `Shell command permission check failed for pattern "..."`: コマンドの権限チェックで許可されませんでした。[挿入されたコマンドの権限チェック](/docs/ja/skills#permission-checks-on-injected-commands)では、各権限モードでどの結果が中止につながるか、および `allowed-tools` でコマンドを事前承認する方法について説明しています3425* `Shell command permission check failed for pattern "..."`: コマンドの権限チェックで許可されませんでした。[注入されたコマンドの権限チェック](/docs/ja/skills#permission-checks-on-injected-commands)では、各権限モードでどの結果が中止につながるか、および `allowed-tools` でコマンドを事前承認する方法を説明しています

3416* ``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)を参照してください3426* ``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)を参照してください

3417 3427 

3418**対処方法:**3428**対処方法:**

3419 3429 

3420* リモートのデフォルトブランチを指定して ref を作成します: `git remote set-head origin <default-branch>`。これは、ローカルの追跡 ref `origin/<default-branch>` が存在する場合に機能します。シングルブランチのクローンのように存在しない場合は、まずブランチをフェッチします。`git remote set-branches --add origin <branch>` を実行し、次に `git fetch origin` を実行してから、set-head コマンドを再実行します。その後、`/security-review` を再実行します。3430* リモートのデフォルトブランチを指定して 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` を再実行します。

3421* ブランチ名を指定したくない場合は、`git fetch origin` を実行してから `git remote set-head origin --auto` を実行します。これはリモートにどのブランチがデフォルトかを問い合わせます。リモートが空である、またはその HEAD が誰もプッシュしていないブランチを指しているためにデフォルトブランチを公開していない場合は、`error: Cannot determine remote HEAD` で失敗します。その場合はブランチ名を明示的に指定してください。クローンがそのブランチをフェッチしない場合は `error: Not a valid ref` で失敗します。先に上記のように refspec を広げてください。3431* ブランチを指定したくない場合は、`git fetch origin` を実行してから `git remote set-head origin --auto` を実行します。これにより、どのブランチがデフォルトかをリモートに問い合わせます。リモートが空であるか、その HEAD が誰もプッシュしていないブランチを指しているためにリモートがデフォルトブランチを通知しない場合、`error: Cannot determine remote HEAD` で失敗します。その場合は、ブランチを明示的に指定します。クローンがそのブランチを fetch しない場合は `error: Not a valid ref` で失敗します。その場合は、まず上記のように refspec を広げます。

3422* リポジトリにリモートがない場合は、`git remote add origin <url>` でリモートを追加し、ref を作成する前にフェッチします。リモートが空の場合は、まず `git push -u origin HEAD` でブランチをプッシュし、set-head コマンドでそのブランチ名を指定します。その場合、`origin/HEAD` はプッシュしたばかりのブランチを指すため、ブランチがそこから分岐するまで `/security-review` には空の差分が表示されます。3432* リポジトリにリモートがない場合は、`git remote add origin <url>` でリモートを追加し、ref を作成する前に fetch します。リモートが空の場合は、まず `git push -u origin HEAD` でブランチをプッシュし、set-head コマンドでそのブランチを指定します。すると `origin/HEAD` はプッシュしたばかりのブランチを指すため、ブランチが分岐するまで `/security-review` には空の差分が表示されます。

3423 3433 

3424<h3 id="input-must-be-provided-when-using-print">3434<h3 id="input-must-be-provided-when-using-print">

3425 `--print` の使用時には入力を指定する必要がある3435 Input must be provided when using `--print`

3426</h3>3436</h3>

3427 3437 

3428引数なしの `claude` は、対話 UI を開始するために stdout がターミナルである必要があります。stdout がリダイレクトされている場合や、PowerShell ISE や一部の IDE の出力ペインのようにコンソールが実際のターミナルではない場合、`claude` は代わりに[非対話](/docs/ja/headless)で実行されます。これは `claude -p` と同じモードで、プロンプトが必要です。そのため、フラグを渡していなくてもメッセージには `--print` が示されます。プロンプトを指定せず stdin にも何もパイプせずに `-p`/`--print` を渡した場合も、どこでも同じエラーが発生します。3438引数なしの `claude` が対話 UI を開始するには、stdout がターミナルである必要があります。stdout がリダイレクトされている場合、またはコンソールが実際のターミナルではない場合(PowerShell ISE や一部の IDE の出力ペインなど)、`claude` は代わりに[非対話](/docs/ja/headless)で実行されます。これは `claude -p` と同じモードで、プロンプトが必要です。そのため、フラグを渡していなくてもメッセージには `--print` が示されます。プロンプトなしで、stdin に何もパイプせずに `-p`/`--print` を渡した場合も、どこでも同じエラーが発生します。

3429 3439 

3430```text theme={null}3440```text theme={null}

3431Error: Input must be provided either through stdin or as a prompt argument when using --print3441Error: Input must be provided either through stdin or as a prompt argument when using --print


3434**対処方法:**3444**対処方法:**

3435 3445 

3436* 対話的に使用する場合は、実際のターミナルで `claude` を実行します。ISE ではなく Windows Terminal または PowerShell コンソールを、出力ペインではなく IDE の統合ターミナルを使用します3446* 対話的に使用する場合は、実際のターミナルで `claude` を実行します。ISE ではなく Windows Terminal または PowerShell コンソールを、出力ペインではなく IDE の統合ターミナルを使用します

3437* 1 回限りの使用の場合は、プロンプトを渡します: `claude -p "your question"`、または `echo "your question" | claude -p` でパイプします3447* 1 回限りの使用の場合は、プロンプトを渡します: `claude -p "your question"`、またはパイプで `echo "your question" | claude -p` とします

3438 3448 

3439<h3 id="claude-code-cant-read-the-keyboard-here">3449<h3 id="claude-code-cant-read-the-keyboard-here">

3440 Claude Code がここではキーボードを読み取れない3450 Claude Code can't read the keyboard here

3441</h3>3451</h3>

3442 3452 

3443[`-p`](/docs/ja/headless) を付けずに `claude` を実行したため[対話セッション](/docs/ja/interactive-mode)が開始されますが、その標準入力がターミナルではありません。何かがパイプまたはリダイレクトしているか、`claude` を起動したプログラムが独自の入力ストリームを提供しています。3453[`-p`](/docs/ja/headless) なしで `claude` を実行したため[対話セッション](/docs/ja/interactive-mode)が開始されますが、その標準入力がターミナルではありません。何かがパイプまたはリダイレクトしているか、`claude` を起動したプログラムが独自の入力ストリームを提供しています。

3444 3454 

3445対話セッションにはキー入力を読み取るためのターミナルが必要で、ターミナルがない場合の Claude Code の動作はプラットフォームによって異なります:3455対話セッションはキー入力を読み取るためのターミナルを必要とし、ターミナルがない場合の Claude Code の動作はプラットフォームによって異なります:

3446 3456 

3447* **Windows**: Claude Code はインターフェースを開始せずに、メッセージを stderr に出力して終了コード 1 で終了します3457* **Windows**: Claude Code はメッセージを stderr に出力し、インターフェースを開始せずに終了コード 1 で終了します

3448* **macOS と Linux**: Claude Code は `/dev/tty` からキー入力を読み取ってセッションを開始し、パイプされたテキストがあれば最初のプロンプトとして使用します。`/dev/tty` を開けない場合にメッセージが表示され、その 1 行目には Windows の文言の代わりに `/dev/tty` が示されます。3458* **macOS と Linux**: Claude Code は `/dev/tty` からキー入力を読み取り、パイプされたテキストがあれば最初のプロンプトとしてセッションを開始します。`/dev/tty` を開けない場合にメッセージが表示され、その 1 行目には Windows の文言の代わりに `/dev/tty` が示されます。

3449 3459 

3450Windows では、メッセージは次のようになります:3460Windows では、メッセージは次のとおりです:

3451 3461 

3452```text theme={null}3462```text theme={null}

3453Claude 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.3463Claude 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.


3457 3467 

3458**対処方法:**3468**対処方法:**

3459 3469 

3460* 対話的に作業するには、入力をパイプまたはリダイレクトせずに、ターミナルで直接 `claude` を実行します3470* 対話的に作業するには、入力をパイプやリダイレクトせずに、ターミナルで直接 `claude` を実行します

3461* スクリプトからなど、対話インターフェースなしで応答を得るには、`-p` を追加し、`claude -p "your question"` や `echo "your question" | claude -p` のように、プロンプトを引数または stdin で渡します。`--continue` と `--resume <session-id>` でも同じように機能します。3471* スクリプトからなど、対話インターフェースなしで応答を得るには、`-p` を追加し、`claude -p "your question"` や `echo "your question" | claude -p` のように、プロンプトを引数または stdin で渡します。`--continue` や `--resume <session-id>` でも同様に機能します。

3462 3472 

3463v2.1.287 より前は、Claude Code はこのメッセージを出力する代わりにインターフェースを開始し、画面に何も表示しないか、`Raw mode is not supported` を含むエラーで失敗していました。3473v2.1.287 より前は、Claude Code はこのメッセージを出力する代わりにインターフェースを開始し、画面に何も表示しないか、`Raw mode is not supported` を含むエラーで失敗していました。

3464 3474 

3465代わりに `claude install` の実行中に `Raw mode is not supported` が表示される場合は、[インストール中の `Raw mode is not supported`](/docs/ja/troubleshoot-install#raw-mode-is-not-supported-during-install) を参照してください。3475代わりに `claude install` の実行中に `Raw mode is not supported` が表示される場合は、[インストール中の `Raw mode is not supported`](/docs/ja/troubleshoot-install#raw-mode-is-not-supported-during-install)を参照してください。

3466 3476 

3467<h3 id="input-contained-only-whitespace">3477<h3 id="input-contained-only-whitespace">

3468 入力が空白文字のみだった3478 Input contained only whitespace

3469</h3>3479</h3>

3470 3480 

3471[非対話モード](/docs/ja/headless)では、Claude Code はスペース、タブ、改行のみで構成されたプロンプトを送信せずに拒否します。API は表示可能なテキストのないメッセージを拒否するためです。表示されるメッセージは、空のプロンプトがどこから来たかによって異なります:3481[非対話モード](/docs/ja/headless)では、API は目に見えるテキストのないメッセージを拒否するため、Claude Code はスペース、タブ、改行のみで構成されたプロンプトを送信せずに拒否します。表示されるメッセージは、空白のプロンプトがどこから来たかによって異なります:

3472 3482 

3473* **`claude -p` のプロンプト引数またはパイプされた stdin**: `claude` は `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print` で終了します3483* **`claude -p` のプロンプト引数またはパイプされた stdin**: `claude` は `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print` で終了します

3474* **実行中の `--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.`3484* **実行中の `--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.`

3475 3485 

3476v2.1.229 より前は、Claude Code は空白文字のみのメッセージを API に送信し、API はリクエストを 400 エラーで拒否していました。3486v2.1.229 より前は、Claude Code は空白のみのメッセージを API に送信し、API は 400 エラーでリクエストを拒否していました。

3477 3487 

3478**対処方法:**3488**対処方法:**

3479 3489 

3480* プロンプトに表示可能なテキストを含めます。スクリプトが変数やファイルからプロンプトを構築する場合は、Claude Code を呼び出す前にソースが空でないことを確認します。3490* プロンプトに目に見えるテキストを含めます。スクリプトが変数やファイルからプロンプトを構築する場合は、Claude Code を呼び出す前にソースが空でないことを確認します。

3481 3491 

3482<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">3492<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">

3483 stream-json の入力が改行なしで 256M 文字を超えた3493 stream-json input carried over 256M characters with no newline

3484</h3>3494</h3>

3485 3495 

3486プログラムが `claude -p --input-format stream-json` の実行に対して、改行なしで 268,435,456 文字を超える文字を stdin に送信したため、Claude Code はそれ以上入力をバッファリングせずに、このエラーを stderr に出力して終了コード 1 で終了します。メッセージではこの上限を `256M` と表記しています。v2.1.257 より前は、Claude Code はこのような入力を無制限にバッファリングし、プロセスがクラッシュするか強制終了されるまでメモリが増加していました。3496プログラムが `claude -p --input-format stream-json` の実行に対して、改行なしで 268,435,456 文字を超える入力を stdin に送信したため、Claude Code はそれ以上の入力をバッファリングせずに、このエラーを stderr に出力して終了コード 1 で終了します。メッセージではこの上限を `256M` と表記しています。v2.1.257 より前は、Claude Code はそのような入力を無制限にバッファリングし、プロセスがクラッシュするか強制終了されるまでメモリが増加していました。

3487 3497 

3488```text theme={null}3498```text theme={null}

3489Error: 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.3499Error: 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.

3490```3500```

3491 3501 

3492改行なしでこれほど長い入力がある場合、通常は送信元がそもそも stream-json の送信元ではないことを意味します。たとえば、誤ってパイプされたバイナリファイルやプレーンなログ出力などです。上限を超える単一のメッセージも同じチェックで失敗します。3502改行なしでこれほど長い入力がある場合、通常は入力元がそもそも stream-json の生成元ではないことを意味します。たとえば、誤ってパイプされたバイナリファイルやプレーンなログ出力などです。単一のメッセージが上限を超えた場合も、同じチェックで失敗します。

3493 3503 

3494**対処方法:**3504**対処方法:**

3495 3505 

3496* stdin にパイプされているものを確認します。[`--input-format stream-json`](/docs/ja/cli-reference#cli-flags) では、すべてのメッセージが改行で終わる 1 行の JSON である必要があります3506* stdin に何がパイプされているかを確認します。[`--input-format stream-json`](/docs/ja/cli-reference#cli-flags) では、各メッセージは改行で終わる 1 行の JSON である必要があります

3497* 代わりにプレーンテキストを送信するには、`--input-format stream-json` を削除します。`claude -p` はデフォルトで stdin からプレーンテキストのプロンプトを読み取ります3507* 代わりにプレーンテキストを送信するには、`--input-format stream-json` を削除します。`claude -p` はデフォルトで stdin からプレーンテキストのプロンプトを読み取ります

3498 3508 

3499<h3 id="unknown-command">3509<h3 id="unknown-command">

3500 Unknown command3510 Unknown command

3501</h3>3511</h3>

3502 3512 

3503対話型のターミナルセッションで、このセッションのどのコマンドにも一致しない `/` の名前を送信したため、Claude Code は何も実行せずにその名前を報告します:3513対話的なターミナルセッションで、このセッションのどのコマンドにも一致しない `/` 名を送信したため、Claude Code は何も実行せずにその名前を報告します:

3504 3514 

3505```text theme={null}3515```text theme={null}

3506Unknown command: /hepl. Did you mean /help?3516Unknown command: /hepl. Did you mean /help?

3507```3517```

3508 3518 

3509Claude Code は、このセッションでメニューに表示される最も近いコマンド名またはエイリアスを提案します。近いものがない場合、メッセージは名前の後で終わります。原因は通常、次のいずれかです:3519Claude Code は、このセッションでメニューに表示される中から最も近いコマンド名またはエイリアスを提案します。近いものがない場合、メッセージは名前の後で終わります。原因は通常、次のいずれかです:

3510 3520 

3511* `/help` を `/hepl` と入力するなどのタイプミス。[コマンドメニューが入力内容と照合する方法](/docs/ja/commands#how-the-command-menu-matches-what-you-type)では、送信前に近い候補を選択する方法について説明しています3521* `/help` を `/hepl` と入力するようなタイプミス。[コマンドメニューが入力内容に一致させる方法](/docs/ja/commands#how-the-command-menu-matches-what-you-type)では、送信前に近い一致を選択する方法について説明しています

3512* コマンドは存在するものの、プラットフォーム、プラン、認証方法などの要件を満たしていないため、このセッションでは利用できない。[`/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) のような独自のメッセージで応答します3522* コマンドは存在するものの、プラットフォーム、プラン、認証方法などの要件を満たしていないため、このセッションでは利用できない。[`/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) のような独自のメッセージで応答します

3513* このセッションでインストールまたは接続されていない[プラグイン](/docs/ja/plugins/overview)や [MCP サーバー](/docs/ja/mcp#use-mcp-prompts-as-commands)のコマンド3523* このセッションでインストールまたは接続されていない[プラグイン](/docs/ja/plugins/overview)または [MCP サーバー](/docs/ja/mcp#use-mcp-prompts-as-commands)のコマンド

3514 3524 

3515Claude Code が一致しない `/` の名前にこのように応答するのは、対話型のターミナルセッションのみです。それ以外のすべてのセッションでは、コマンドが実行されなかったことを示す注記と、そのセッションで Claude が実行できるコマンドの一覧を添えて、プロンプトを通常のメッセージとして Claude に送信します。これらのセッションには次のものが含まれます:3525Claude Code が一致しない `/` 名にこのように応答するのは、対話的なターミナルセッションのみです。それ以外のすべてのセッションでは、代わりにプロンプトを通常のメッセージとして Claude に送信し、コマンドが実行されなかったことの注記と、セッションで Claude が実行できるコマンドの一覧を付けます。対象となるセッションは次のとおりです:

3516 3526 

3517* `-p` の実行3527* `-p` の実行

3518* [Agent SDK](/docs/ja/agent-sdk/overview) アプリケーション3528* [Agent SDK](/docs/ja/agent-sdk/overview) アプリケーション


3520* [VS Code 拡張機能](/docs/ja/vs-code)のチャットパネル3530* [VS Code 拡張機能](/docs/ja/vs-code)のチャットパネル

3521* [クラウドセッション](/docs/ja/claude-code-on-the-web)と[ルーティン](/docs/ja/routines)3531* [クラウドセッション](/docs/ja/claude-code-on-the-web)と[ルーティン](/docs/ja/routines)

3522 3532 

3523これらのセッションで実行できない組み込みコマンドについては、Claude Code は Claude に送信せずに、そのコマンドが利用できないことを応答します。v2.1.274 より前は、一致しない名前を Claude に送信していたのはクラウドセッションとルーティンのみでした。v2.1.273 より前は、これらも `Unknown command` と応答していました。3533これらのセッションのいずれかで実行できない組み込みコマンドについては、Claude Code はそれでも Claude に送信せずに、コマンドが利用できないと応答します。v2.1.274 より前は、一致しない名前を Claude に送信していたのはクラウドセッションとルーティンのみでした。v2.1.273 より前は、それらも `Unknown command` と応答していました。

3524 3534 

3525Claude Code は、`/` で始まるすべてのプロンプトをコマンドとして扱うわけではありません。`/` の後の最初の単語が、Lean のドキュメントコメントを開始する `/--` のように句読点で始まる場合、または `/var/log/syslog` のようなパスである場合は、プロンプトを通常のメッセージとして Claude に送信します。3535Claude Code は、`/` で始まるすべてのプロンプトをコマンドとして扱うわけではありません。`/` の後の最初の単語が句読点で始まる場合(Lean のドキュメントコメントを開始する `/--` など)や、`/var/log/syslog` のようなパスである場合は、プロンプトを通常のメッセージとして Claude に送信します。

3526 3536 

3527v2.1.236 より前は、入力した名前に近い候補がコマンドメニューに表示されている状態で `Enter` を押すと、Claude Code はその候補を実行していました。そのため、`/hepl` のようなタイプミスでは、このメッセージが表示される代わりに `/help` が実行されていました。3537v2.1.236 より前は、入力した名前に近い一致がコマンドメニューに表示されている状態で `Enter` を押すと、Claude Code はその一致を実行していました。そのため、`/hepl` のようなタイプミスでは、このメッセージが表示される代わりに `/help` が実行されていました。

3528 3538 

3529**対処方法:**3539**対処方法:**

3530 3540 

3531* 提案された名前を実行するか、`/` に続けて名前の一部を入力して、このセッションで利用できるものを確認します3541* 提案された名前を実行するか、`/` に続けて名前の一部を入力し、このセッションで利用可能なものを確認します

3532* ドキュメントに記載されているコマンドが Claude Code で不明と報告される場合は、[コマンドリファレンス](/docs/ja/commands)でそのコマンドの行を確認し、示されている要件を確認します3542* ドキュメントに記載されているコマンドが不明と報告される場合は、[コマンドリファレンス](/docs/ja/commands)のその行を確認し、示されている要件を確認します

3533 3543 

3534<h3 id="diff-is-too-large-for-ultrareview">3544<h3 id="diff-is-too-large-for-ultrareview">

3535 差分が大きすぎて ultrareview を実行できない3545 Diff is too large for ultrareview

3536</h3>3546</h3>

3537 3547 

3538コミットされていない変更とステージされた変更を含む、ブランチとベースブランチの間の差分が [ultrareview](/docs/ja/ultrareview) のサイズ上限を超えているため、`/code-review ultra` と `claude ultrareview` サブコマンドはクラウドセッションの開始前にレビューを拒否します。拒否されたレビューは無料実行回数を消費せず、使用クレジットも請求されません。メッセージには、適用されている上限、差分のサイズ、変更行数が最も多いファイルが示されます。v2.1.216 より前は、メッセージには生の差分統計のみが表示されていました。3548コミットされていない変更とステージされた変更を含む、ブランチとベースブランチの間の差分が [ultrareview](/docs/ja/ultrareview) のサイズ制限を超えているため、`/code-review ultra` と `claude ultrareview` サブコマンドは、クラウドセッションの開始前にレビューを拒否します。拒否されたレビューは無料の実行回数を消費せず、使用クレジットも請求されません。メッセージには、適用されている制限、差分のサイズ、および変更行数が最も多いファイルが示されます。v2.1.216 より前は、メッセージには生の差分統計のみが表示されていました。

3539 3549 

3540```text theme={null}3550```text theme={null}

3541Diff 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.3551Diff 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.

3542```3552```

3543 3553 

3544プルリクエストのレビューにも同じ上限が適用されます。その場合のメッセージは `PR #<N> is too large for ultrareview` で始まり、PR のファイル数と行数が示されます。3554プルリクエストのレビューにも同じ制限が適用されます。その場合のメッセージは `PR #<N> is too large for ultrareview` で始まり、PR のファイル数と行数が示されます。

3545 3555 

3546**対処方法:**3556**対処方法:**

3547 3557 

3548* `/code-review ultra develop` のように、作業により近いベースブランチを渡して、レビューがそのブランチとの差分のみを対象とするようにします3558* `/code-review ultra develop` のように、作業に近いベースブランチを渡して、レビューがそのブランチとの差分のみを対象にするようにします

3549* 変更をより小さなブランチに分割し、それぞれをレビューします。メッセージに示されたファイルが変更行数の大部分を占めているため、まずそれらを別のブランチに移動します。3559* 変更をより小さなブランチに分割し、それぞれをレビューします。メッセージに示されたファイルは変更行数が最も多いため、まずそれらを独自のブランチに移動します。

3550 3560 

3551<h3 id="could-not-find-merge-base-with-the-base-branch">3561<h3 id="could-not-find-merge-base-with-the-base-branch">

3552 ベースブランチとの merge-base が見つからない3562 Could not find merge-base with the base branch

3553</h3>3563</h3>

3554 3564 

3555`/code-review ultra` と `claude ultrareview` サブコマンドは、ブランチとベースブランチの間の差分をレビューします。これには 2 つが共有するコミットが必要です。`git merge-base` が共有コミットを見つけられない場合、Claude Code はクラウドセッションの開始前にレビューを拒否します。Claude Code が完全であることを確認でき、少なくとも 1 つのブランチがあるクローンでは、拒否する代わりに[追跡されているすべてのファイルのレビュー](/docs/ja/ultrareview#diff-limits-and-fallbacks)にフォールバックします。この拒否が表示されるのは、ベースブランチがまったく見つからない場合、Claude Code がクローンの完全性を確認できない場合、または SHA-256 オブジェクト形式など、ツリー全体の差分が不可能なまれなリポジトリの場合です。3565`/code-review ultra` と `claude ultrareview` サブコマンドは、ブランチとベースブランチの間の差分をレビューします。これには両者が共有するコミットが必要です。`git merge-base` が共有コミットを見つけられない場合、Claude Code はクラウドセッションの開始前にレビューを拒否します。Claude Code が完全であることを確認でき、少なくとも 1 つのブランチがあるクローンでは、拒否する代わりに[追跡されているすべてのファイルのレビュー](/docs/ja/ultrareview#diff-limits-and-fallbacks)にフォールバックします。この拒否が表示されるのは、ベースブランチがまったく見つからない場合、クローンが完全であることを Claude Code が確認できない場合、またはツリー全体の差分が不可能なまれなリポジトリ(SHA-256 オブジェクト形式など)の場合です。

3556 3566 

3557```text theme={null}3567```text theme={null}

3558Could 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.3568Could 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.

3559```3569```

3560 3570 

3561最初の文の後のヒントは、Claude Code が観察した内容によって異なります:3571最初の文の後のヒントは、Claude Code が観測した内容によって異なります:

3562 3572 

3563* **ベースブランチを渡さなかった場合**: Claude Code はリポジトリのデフォルトブランチと比較し、上記の例のようにベースを明示的に渡すよう提案します3573* **ベースブランチを渡さなかった場合**: Claude Code はリポジトリのデフォルトブランチと比較し、上記の例のようにベースを明示的に渡すことを提案します

3564* **すでにクローンにあるベースブランチを渡した場合**: ヒントは ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)`` となります3574* **既にクローンにあるベースブランチを渡した場合**: ヒントは ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)`` となります

3565* **クローンにないベースブランチを渡した場合**: 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 がクローンが shallow かどうかを判断できない場合は、代わりに `git fetch --unshallow origin` を提案します。v2.1.221 より前は、フェッチしたすべてのベースブランチに対してヒントが `git fetch --unshallow origin` を提案していましたが、完全なクローンではこのコマンドは `fatal: --unshallow on a complete repository does not make sense` で失敗します。3575* **クローン内にないベースブランチを渡した場合**: 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` で失敗します。

3566 3576 

3567**対処方法:**3577**対処方法:**

3568 3578 

3569* 別のブランチが実際のベースである場合は、明示的に渡します: `/code-review ultra <branch>`3579* 別のブランチが実際のベースである場合は、明示的に渡します: `/code-review ultra <branch>`

3570* クローンに完全な履歴がない可能性がある場合は、`git fetch --unshallow origin` を実行してからレビューを再実行します3580* クローンに完全な履歴がない可能性がある場合は、`git fetch --unshallow origin` を実行してレビューを再実行します

3571 3581 

3572<h3 id="your-checkout-has-no-branches">3582<h3 id="your-checkout-has-no-branches">

3573 チェックアウトにブランチがない3583 Your checkout has no branches

3574</h3>3584</h3>

3575 3585 

3576チェックアウトには、コミットがあってもブランチがない場合があります。`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` サブコマンドはクラウドセッションの開始前にレビューを拒否します。3586チェックアウトには、コミットはあってもブランチがない場合があります。`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` サブコマンドはクラウドセッションの開始前にレビューを拒否します。

3577 3587 

3578```text theme={null}3588```text theme={null}

3579Your 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.3589Your 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.

3580```3590```

3581 3591 

3582v2.1.221 より前は、Claude Code はこのチェックアウト内の追跡されているすべてのファイルをレビューしようとし、アップロードが失敗していました。3592v2.1.221 より前は、Claude Code はこのチェックアウト内の追跡されているすべてのファイルのレビューを試み、アップロードが失敗していました。

3583 3593 

3584**対処方法:**3594**対処方法:**

3585 3595 

3586* `git checkout -b <name>` で現在のコミットにブランチを作成してから、レビューを再実行します3596* `git checkout -b <name>` で現在のコミットにブランチを作成してから、レビューを再実行します

3587 3597 

3588<h3 id="no-github-account-is-connected-to-your-claude-account">3598<h3 id="no-github-account-is-connected-to-your-claude-account">

3589 Claude アカウントに GitHub アカウントが接続されていない3599 No GitHub account is connected to your Claude account

3590</h3>3600</h3>

3591 3601 

3592`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行しました。Claude Code はクラウドセッションを作成する前に、[Claude アカウントに接続された GitHub アカウント](/docs/ja/ultrareview#review-a-pull-request)が PR のリポジトリにアクセスできるかをサーバーに確認します。アカウントが接続されていないか接続の有効期限が切れているため、クラウドでのクローンが失敗することになり、Claude Code は起動を拒否します。拒否された起動では、無料実行回数は消費されず、使用クレジットも請求されません。3602`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行すると、Claude Code はクラウドセッションを作成する前に、[Claude アカウントに接続された GitHub アカウント](/docs/ja/ultrareview#review-a-pull-request)が PR のリポジトリにアクセスできるかどうかをサーバーに問い合わせます。アカウントが接続されていないか、接続の有効期限が切れているため、クラウドでのクローンが失敗することから、Claude Code は起動を拒否します。拒否された起動について、Claude Code は無料の実行回数を消費せず、使用クレジットも請求しません。

3593 3603 

3594```text theme={null}3604```text theme={null}

3595Ultrareview 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).3605Ultrareview 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).


3600**対処方法:**3610**対処方法:**

3601 3611 

3602* `/web-setup` を実行して GitHub CLI のログインを Claude アカウントに接続するか、[claude.ai/connect-github](https://claude.ai/connect-github) でアカウントを接続します3612* `/web-setup` を実行して GitHub CLI のログインを Claude アカウントに接続するか、[claude.ai/connect-github](https://claude.ai/connect-github) でアカウントを接続します

3603* 接続してから 1 分ほど待って、レビューを再実行します3613* 接続してから 1 分後にレビューを再実行します

3604 3614 

3605v2.1.248 より前は、Claude Code は起動前にこれを確認していませんでした。3615v2.1.248 より前は、Claude Code は起動前にこれを確認していませんでした。

3606 3616 

3607<h3 id="your-connected-github-account-cant-see-the-repository">3617<h3 id="your-connected-github-account-cant-see-the-repository">

3608 接続された GitHub アカウントがリポジトリを参照できない3618 Your connected GitHub account can't see the repository

3609</h3>3619</h3>

3610 3620 

3611`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行しましたが、[Claude アカウントに接続された GitHub アカウント](/docs/ja/ultrareview#review-a-pull-request)が PR のリポジトリを読み取れないため、クラウドでのクローンが失敗することになり、Claude Code は起動を拒否します。拒否された起動では、無料実行回数は消費されず、使用クレジットも請求されません。3621`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行しましたが、[Claude アカウントに接続された GitHub アカウント](/docs/ja/ultrareview#review-a-pull-request)が PR のリポジトリを読み取れないため、クラウドでのクローンが失敗することから、Claude Code は起動を拒否します。拒否された起動について、Claude Code は無料の実行回数を消費せず、使用クレジットも請求しません。

3612 3622 

3613```text theme={null}3623```text theme={null}

3614Your 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.3624Your 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.


3624v2.1.248 より前は、Claude Code は起動前にこれを確認していませんでした。3634v2.1.248 より前は、Claude Code は起動前にこれを確認していませんでした。

3625 3635 

3626<h3 id="the-github-app-preflight-failed-transiently">3636<h3 id="the-github-app-preflight-failed-transiently">

3627 GitHub App の事前チェックが一時的に失敗した3637 The GitHub App preflight failed transiently

3628</h3>3638</h3>

3629 3639 

3630ローカルリポジトリから[クラウドセッション](/docs/ja/claude-code-on-the-web)を開始しましたが、2 つのステップが同時に失敗しました。Claude Code はリポジトリのバンドルをビルドまたはアップロードできませんでした。アップロードの前に、クラウドサービスが GitHub からリポジトリをクローンできるかを確認しましたが、そのチェックは明確な結果ではなく、ネットワークエラー、タイムアウト、一時的なサーバーエラーなど、再試行で解消される可能性のあるエラーで終わりました。完全なメッセージは、`Could not upload repo bundle (<error>)` のようにバンドルを停止させた原因で始まり、事前チェックの文で終わります:3640ローカルリポジトリから[クラウドセッション](/docs/ja/claude-code-on-the-web)を開始しましたが、2 つのステップが同時に失敗しました。Claude Code はリポジトリのバンドルをビルドまたはアップロードできませんでした。アップロードの前に、クラウドサービスが GitHub からリポジトリをクローンできるかどうかを確認しましたが、そのチェックは明確な答えではなく、ネットワークエラー、タイムアウト、一時的なサーバーエラーなど、再試行で解消される可能性のあるエラーで終わりました。完全なメッセージは、バンドルを妨げた内容(たとえば `Could not upload repo bundle (<error>)`)で始まり、プリフライトの文で終わります:

3631 3641 

3632```text theme={null}3642```text theme={null}

3633Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3643Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead


3635 3645 

3636**対処方法:**3646**対処方法:**

3637 3647 

3638* しばらくしてからコマンドを再実行します。GitHub のチェックに合格すると、Claude Code は GitHub のクローンからセッションを開始できるため、アップロードの失敗によって起動がブロックされなくなります3648* しばらくしてからコマンドを再実行します。GitHub のチェックが成功すると、Claude Code は GitHub のクローンからセッションを開始できるため、失敗したアップロードが起動を妨げることはなくなります

3639* 再試行しても失敗し続ける場合は、メッセージの冒頭にアップロードを停止させた原因が示されています。その原因が修正可能なものであれば、修正することでローカルリポジトリからセッションを開始できるようになります3649* 再試行しても失敗し続ける場合は、メッセージの冒頭にアップロードを妨げた原因が示されています。その原因が修正可能なものであれば、修正してローカルリポジトリからセッションを開始できるようにします

3640 3650 

3641v2.1.251 より前は、GitHub のチェックが一時的に失敗しただけの場合でも、Claude Code はメッセージの末尾に `Please set up GitHub on https://claude.ai/code` を表示していましたが、セットアップのアドバイスでは一時的な失敗は解消できません。3651v2.1.251 より前は、GitHub のチェックが一時的に失敗しただけの場合でも、Claude Code はメッセージを `Please set up GitHub on https://claude.ai/code` で終えていましたが、セットアップの助言では一時的な失敗を解消できません。

3642 3652 

3643<h3 id="the-repository-upload-cant-follow-a-git-setting">3653<h3 id="the-repository-upload-cant-follow-a-git-setting">

3644 リポジトリのアップロードが git 設定に従えない3654 リポジトリのアップロードが git の設定に従えない

3645</h3>3655</h3>

3646 3656 

3647[ローカルリポジトリをアップロードするクラウドセッション](/docs/ja/claude-code-on-the-web#send-local-repositories-without-github)、またはブランチの [ultrareview](/docs/ja/ultrareview) を開始しましたが、ファイルにどの属性ルールが適用されるかを決定する git の設定のいずれかにアップロードが従えません。アップロードを続行してルールを見落とすと、clean フィルターで暗号化されるファイルなど、git が保存前に変換するファイルが、ディスク上のままの状態でクラウドに届く可能性があります。Claude Code は代わりにアップロードを拒否し、何もアップロードされません:3657[ローカルリポジトリをアップロードするクラウドセッション](/docs/ja/claude-code-on-the-web#send-local-repositories-without-github)、またはブランチの [ultrareview](/docs/ja/ultrareview) を開始しましたが、ファイルにどの属性ルールを適用するかを決定する git の設定の 1 つに、アップロードが従うことができません。アップロードを進めてルールを見落とした場合、git が保存前に変換するファイル(たとえば clean フィルターが暗号化するファイル)が、ディスク上のままの状態でクラウドに届く可能性があります。Claude Code は代わりにアップロードを拒否し、何もアップロードされません:

3648 3658 

3649```text theme={null}3659```text theme={null}

3650Not 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.3660Not 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.

3651```3661```

3652 3662 

3653メッセージには設定とその設定場所が示され、該当するケースの対処方法で終わります。`core.attributesFile` と `attr.tree` でも同じ拒否が表示され、それぞれに独自の対処方法があります。3663メッセージには設定とその設定場所が示され、該当するケースの修正方法で終わります。`core.attributesFile` と `attr.tree` についても同じ拒否が表示され、それぞれ独自の修正方法が示されます。

3654 3664 

3655メッセージには、git の設定が `include` または `includeIf` ディレクティブで読み込む設定ファイルが示される場合があります。これは、そのディレクティブの条件がこのリポジトリに該当しない場合でも同様です。3665メッセージには、git の設定が `include` または `includeIf` ディレクティブを通じて取り込む設定ファイルが示されることがあります。これは、そのディレクティブの条件がこのリポジトリに当てはまらない場合でも同様です。

3656 3666 

3657**対処方法:**3667**対処方法:**

3658 3668 

3659* メッセージの最後の文に示された対処方法を適用します3669* メッセージの最後の文に示された修正を適用します

3660 3670 

3661<h3 id="github-isnt-connected-to-your-claude-account">3671<h3 id="github-isnt-connected-to-your-claude-account">

3662 GitHub が Claude アカウントに接続されていない3672 GitHub isn't connected to your Claude account

3663</h3>3673</h3>

3664 3674 

3665たとえば `/autofix-pr` を使用して、ローカルリポジトリから[クラウドセッション](/docs/ja/claude-code-on-the-web)を開始しました。Claude アカウントに GitHub アカウントが接続されていないか接続の有効期限が切れているため、Claude Code は起動を拒否します:3675たとえば `/autofix-pr` を使用して、ローカルリポジトリから[クラウドセッション](/docs/ja/claude-code-on-the-web)を開始しました。Claude アカウントに GitHub アカウントが接続されていないか、接続の有効期限が切れているため、Claude Code は起動を拒否します:

3666 3676 

3667```text theme={null}3677```text theme={null}

3668GitHub 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-github3678GitHub 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

3669```3679```

3670 3680 

3671[`/schedule`](/docs/ja/routines) でルーティンを作成する場合、同じメッセージがリポジトリ名を示すセットアップの注記として表示されます。この注記はルーティンの作成をブロックしません。3681[`/schedule`](/docs/ja/routines) でルーティンを作成すると、同じメッセージがリポジトリ名を含むセットアップの注記として表示されます。この注記はルーティンの作成を妨げません。

3672 3682 

3673**対処方法:**3683**対処方法:**

3674 3684 

3675* `/web-setup` を実行して GitHub CLI のログインを Claude アカウントに接続するか、[claude.ai/connect-github](https://claude.ai/connect-github) でアカウントを接続します。2 つの違いについては、[GitHub の認証オプション](/docs/ja/claude-code-on-the-web#github-authentication-options)を参照してください。3685* `/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)を参照してください。

3676* 接続してから 1 分ほど待って、コマンドを再実行します3686* 接続してから 1 分後にコマンドを再実行します

3677 3687 

3678v2.1.268 より前は、Claude Code はこれを Claude GitHub App のチェックの一時的な失敗として報告し、再試行またはアプリのインストールを提案していましたが、どちらも GitHub アカウントを接続するものではありません。3688v2.1.268 より前は、Claude Code はこれを Claude GitHub App のチェックの一時的な失敗として報告し、再試行またはアプリのインストールを提案していましたが、どちらも GitHub アカウントを接続するものではありません。

3679 3689 

3680<h3 id="a-github-organization-policy-is-blocking-claude">3690<h3 id="a-github-organization-policy-is-blocking-claude">

3681 GitHub 組織のポリシーが Claude をブロックしている3691 A GitHub organization policy is blocking Claude

3682</h3>3692</h3>

3683 3693 

3684Claude Code のプロンプトで、[`/autofix-pr`](/docs/ja/claude-code-on-the-web#auto-fix-pull-requests) などのクラウドセッションを開始するコマンドを実行しました。Claude Code はセッションを作成する前に GitHub 上のリポジトリに対する Claude のアクセスを確認しますが、GitHub 組織に Claude をブロックするポリシーがあるため、GitHub がこれを拒否しました。Claude Code はそこで処理を停止し、該当するポリシーを示すメッセージを表示します。3694Claude Code のプロンプトで、[`/autofix-pr`](/docs/ja/claude-code-on-the-web#auto-fix-pull-requests) などのクラウドセッションを開始するコマンドを実行しました。Claude Code はセッションを作成する前に GitHub 上のリポジトリに対する Claude のアクセスを確認しますが、GitHub 組織に Claude をブロックするポリシーがあるため、GitHub が拒否しました。Claude Code はそこで停止し、該当するポリシーを示すメッセージを表示します。

3685 3695 

3686IP 許可リストがアクセスをブロックしている場合、メッセージは次のようになります。3696IP 許可リストによってアクセスがブロックされている場合、メッセージは次のようになります。

3687 3697 

3688```text theme={null}3698```text theme={null}

3689Your GitHub organization has an IP allowlist that is blocking Claude. Add Claude's IP ranges to your GitHub allowlist.3699Your GitHub organization has an IP allowlist that is blocking Claude. Add Claude's IP ranges to your GitHub allowlist.

3690```3700```

3691 3701 

3692シングルサインオンがブロックしている場合、メッセージは次のようになります。3702シングルサインオンによってブロックされている場合、メッセージは次のようになります。

3693 3703 

3694```text theme={null}3704```text theme={null}

3695Your 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.3705Your 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.

3696```3706```

3697 3707 

3698Microsoft Entra ID の条件付きアクセスポリシーがブロックしている場合、メッセージは次のようになります。3708Microsoft Entra ID の条件付きアクセスポリシーによってブロックされている場合、メッセージは次のようになります。

3699 3709 

3700```text theme={null}3710```text theme={null}

3701Your 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.3711Your 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.


3703 3713 

3704**対処方法:**3714**対処方法:**

3705 3715 

3706* **IP 許可リスト**: GitHub の組織または Enterprise のオーナーに、Anthropic の送信元 IP アドレスを許可するよう依頼してください。アドレスと変更する GitHub の設定については、[GitHub の許可リストとファイアウォール](/docs/ja/network-config#github-allow-lists-and-firewalls)を参照してください。3716* **IP 許可リスト**: GitHub 組織またはエンタープライズのオーナーに、Anthropic の送信元 IP アドレスを許可するよう依頼してください。アドレスと変更すべき GitHub の設定については、[GitHub の許可リストとファイアウォール](/docs/ja/network-config#github-allow-lists-and-firewalls)を参照してください。

3707* **シングルサインオン**: [claude.ai/customize/connectors](https://claude.ai/customize/connectors) で GitHub の接続を解除してから、再度接続します。GitHub から求められたら、組織の横にある **Authorize** をクリックして、新しい接続がその組織のシングルサインオンに対して認可されるようにします。3717* **シングルサインオン**: [claude.ai/customize/connectors](https://claude.ai/customize/connectors) で GitHub の接続を解除してから、再度接続してください。GitHub から求められたら、組織の横にある **Authorize** をクリックして、新しい接続をその組織のシングルサインオン用に認可してください。

3708* **条件付きアクセスポリシー**: GitHub Enterprise または Microsoft Entra ID の管理者に、そのポリシーで Claude を許可するよう依頼してください3718* **条件付きアクセスポリシー**: GitHub Enterprise または Microsoft Entra ID の管理者に、そのポリシーで Claude を許可するよう依頼してください

3709* 変更後、コマンドを再度実行してください3719* 変更後、コマンドを再度実行してください

3710 3720 

3711<h3 id="single-sign-on-authorization-needed">3721<h3 id="single-sign-on-authorization-needed">

3712 シングルサインオンの認可が必要3722 Single sign-on authorization needed

3713</h3>3723</h3>

3714 3724 

3715[`/install-github-app`](/docs/ja/github-actions#quick-setup) を実行し、SAML シングルサインオンを強制している組織のリポジトリを選択しました。Claude Code はセットアップの前に GitHub CLI でリポジトリへのアクセスを確認しますが、`gh` トークンがまだその組織に対して認可されていないため、GitHub がその確認を拒否しました。ウィザードは、認可の手順とともに次の警告を表示します。3725[`/install-github-app`](/docs/ja/github-actions#quick-setup) を実行し、SAML シングルサインオンを強制している組織のリポジトリを選択しました。Claude Code はセットアップの前に GitHub CLI を使ってリポジトリへのアクセスを確認しますが、`gh` トークンがまだその組織に対して認可されていないため、GitHub がその確認を拒否しました。ウィザードは、認可の手順とともに次の警告を表示します。

3716 3726 

3717```text theme={null}3727```text theme={null}

3718Single sign-on authorization needed3728Single sign-on authorization needed


3721 3731 

3722**対処方法:**3732**対処方法:**

3723 3733 

3724* `gh auth refresh -h github.com -s repo,workflow` を実行して `repo` と `workflow` スコープで GitHub CLI のログインを再認可し、GitHub からシングルサインオンを求められたら組織を認可してください3734* `gh auth refresh -h github.com -s repo,workflow` を実行して、`repo` および `workflow` スコープで GitHub CLI のログインを再認可し、GitHub からシングルサインオンを求められたら組織を認可してください

3725* `GH_TOKEN` の個人用アクセストークンで認証している場合は、[github.com/settings/tokens](https://github.com/settings/tokens) を開き、トークンの **Configure SSO** を選択して組織を認可してください3735* `GH_TOKEN` の個人アクセストークンで認証している場合は、[github.com/settings/tokens](https://github.com/settings/tokens) を開き、トークンの **Configure SSO** を選択して組織を認可してください

3726* `/install-github-app` を再度実行してください3736* `/install-github-app` を再度実行してください

3727 3737 

3728v2.1.273 より前では、この状況で Claude Code は代わりに `Admin permissions required` という警告を表示していました。3738v2.1.273 より前では、この状況で Claude Code は代わりに `Admin permissions required` 警告を表示していました。

3729 3739 

3730<h3 id="failed-to-resume-the-conversation">3740<h3 id="failed-to-resume-the-conversation">

3731 会話の再開に失敗した3741 Failed to resume the conversation

3732</h3>3742</h3>

3733 3743 

3734[`claude --resume` ピッカー](/docs/ja/sessions#use-the-session-picker)から選択したセッションの保存済みトランスクリプトを Claude Code が読み取れなかったか処理できなかったため、部分的に読み込まれた状態で続行するのではなく、プロセスを終了します。メッセージには再試行するためのコマンドが含まれています。3744Claude Code は、[`claude --resume` ピッカー](/docs/ja/sessions#use-the-session-picker)で選択したセッションの保存済みトランスクリプトを読み取れないか処理できなかったため、部分的に読み込まれた状態で続行するのではなくプロセスを終了します。メッセージには再試行用のコマンドが含まれます。

3735 3745 

3736```text theme={null}3746```text theme={null}

3737Failed to resume the conversation.3747Failed to resume the conversation.

3738Run claude --resume <session-id> to retry, or claude to start a new session.3748Run claude --resume <session-id> to retry, or claude to start a new session.

3739```3749```

3740 3750 

3741Claude Code はメッセージを表示した後、終了コード 1 で終了します。実行中のセッション内の `/resume` ピッカーの場合は、代わりに会話内で `Failed to resume conversation` と報告され、現在のセッションは実行を続けます。v2.1.216 より前では、`claude --resume` ピッカーからの再開に失敗すると、このメッセージを表示する代わりに `Resuming conversation…` スピナーのまま無期限に止まっていました。3751Claude Code はメッセージを表示した後、終了コード 1 で終了します。実行中のセッション内の `/resume` ピッカーでは、代わりに会話内で `Failed to resume conversation` と報告され、現在のセッションは実行を続けます。v2.1.216 より前では、`claude --resume` ピッカーからの再開に失敗すると、このメッセージを表示する代わりに `Resuming conversation…` スピナーが表示されたままになっていました。

3742 3752 

3743**対処方法:**3753**対処方法:**

3744 3754 

3745* メッセージに含まれるセッション ID を指定して `claude --resume <session-id>` を実行し、再試行してください3755* メッセージに記載されたセッション ID を使って `claude --resume <session-id>` を実行し、再試行してください

3746* v2.1.285 より前のバージョンで再試行が同じように失敗する場合は、`claude update` を実行してから再度再開してください。これらのバージョンでは、保存済みトランスクリプトに読み取れないエントリが含まれていると再開に失敗します。3756* v2.1.285 より前のバージョンで再試行が同じように失敗する場合は、`claude update` を実行してから再度再開してください。これらのバージョンでは、保存済みトランスクリプトに読み取れないエントリが含まれていると再開に失敗します。

3747* 再試行が再び失敗する場合は、`claude` を実行して新しいセッションを開始してください3757* 再試行が再び失敗する場合は、`claude` を実行して新しいセッションを開始してください

3748 3758 

3749<h3 id="no-conversation-found-with-the-session-id">3759<h3 id="no-conversation-found-with-the-session-id">

3750 セッション ID に一致する会話が見つからない3760 No conversation found with the session ID

3751</h3>3761</h3>

3752 3762 

3753`claude --resume <session-id>` にセッション ID を渡しましたが、一致する保存済みトランスクリプトがありませんでした。3763`claude --resume <session-id>` にセッション ID を渡しましたが、一致する保存済みトランスクリプトがありませんでした。


3756No conversation found with session ID: <session-id>3766No conversation found with session ID: <session-id>

3757```3767```

3758 3768 

3759Claude Code はメッセージを表示した後、終了コード 1 で終了します。Claude Code は ID を探す際、[まず現在のプロジェクトを検索し、次にこのマシン上の他のすべてのプロジェクトを検索します](/docs/ja/sessions#resume-a-session)。v2.1.223 より前では、検索は現在のプロジェクトディレクトリとその git worktree で止まっていたため、セッションが最後に作業していたディレクトリから再開してください。3769Claude Code はメッセージを表示した後、終了コード 1 で終了します。Claude Code は、[まず現在のプロジェクトを、次にこのマシン上の他のすべてのプロジェクトを](/docs/ja/sessions#where-the-session-picker-looks)対象に ID を検索します。v2.1.223 より前は、検索が現在のプロジェクトディレクトリとその git worktree で止まっていたため、セッションが最後に作業していたディレクトリから再開してください。

3760 3770 

3761主な原因:3771一般的な原因:

3762 3772 

3763* **ID の入力ミス**: 非対話型の実行の場合、ID は [`--output-format json` の出力](/docs/ja/headless#get-structured-output)の `session_id` フィールドです3773* **ID の入力ミス**: 非インタラクティブ実行の場合、ID は [`--output-format json` の出力](/docs/ja/headless#get-structured-output)の `session_id` フィールドです

3764* **トランスクリプトの削除**: Claude Code は[保持期間](/docs/ja/sessions#where-transcripts-are-stored)(デフォルトは 30 日)の経過後、[保持期間に基づく削除ルール](/docs/ja/claude-directory#cleaned-up-automatically)に従ってトランスクリプトを削除します3774* **トランスクリプトの削除**: Claude Code は、[保持期間](/docs/ja/sessions#where-transcripts-are-stored)(デフォルトでは 30 日)が経過すると、[保持期間のクリーンアップルール](/docs/ja/claude-directory#cleaned-up-automatically)に従ってトランスクリプトを削除します

3765* **別のマシン**: Claude Code はトランスクリプトをローカルに保存するため、セッションを実行したマシンで再開してください3775* **別のマシン**: Claude Code はトランスクリプトをローカルに保存するため、セッションを実行したマシンで再開してください

3766* **重複したコピー**: `~/.claude/projects` 配下のプロジェクトディレクトリをコピーしたことで 2 つのトランスクリプトが同じ ID を持つ場合、Claude Code はどちらか一方を任意に再開するのではなく、このメッセージを報告します3776* **重複コピー**: `~/.claude/projects` 配下のプロジェクトディレクトリをコピーしたために 2 つのトランスクリプトが同じ ID を持っている場合、Claude Code はどちらかのコピーを任意に再開するのではなく、このメッセージを報告します

3767 3777 

3768**対処方法:**3778**対処方法:**

3769 3779 

3770* 対話型セッションの場合は、`claude --resume` で[セッションピッカー](/docs/ja/sessions#use-the-session-picker)を開き、`Ctrl+A` を押してこのマシン上のすべてのプロジェクトに範囲を広げてから、セッションを選択してください3780* インタラクティブセッションの場合は、`claude --resume` で[セッションピッカー](/docs/ja/sessions#use-the-session-picker)を開き、`Ctrl+A` を押してこのマシン上のすべてのプロジェクトに範囲を広げてから、セッションを選択してください

3771* `claude -p` または [Agent SDK](/docs/ja/agent-sdk/overview) で作成したセッションはピッカーに表示されないため、元の実行で出力された `session_id` と ID を照合し直してください3781* `claude -p` や [Agent SDK](/docs/ja/agent-sdk/overview) で作成されたセッションはピッカーに表示されないため、元の実行で出力された `session_id` と ID を照合し直してください

3772 3782 

3773<h3 id="windows-reported-an-error-ebadf">3783<h3 id="windows-reported-an-error-ebadf">

3774 Claude Code がこのセッションのトランスクリプトファイルを読み取った際に Windows がエラー(EBADF)を報告した3784 Windows reported an error (EBADF) when Claude Code read this session's transcript file

3775</h3>3785</h3>

3776 3786 

3777Windows でセッションを再開した際、保存済みの[トランスクリプトファイル](/docs/ja/sessions#where-transcripts-are-stored)は正常に開けたものの、その後の読み取りがシステムエラー EBADF で失敗しました。システムエラーからは読み取りが失敗した理由がわからないため、メッセージでは考えられる原因と試すべきことを提示します。3787Windows でセッションを再開したところ、保存済みの[トランスクリプトファイル](/docs/ja/sessions#where-transcripts-are-stored)は正常に開かれましたが、その後の読み取りがシステムエラー EBADF で失敗しました。このシステムエラーからは読み取りが失敗した理由がわからないため、メッセージでは考えられる原因と試すべきことが示されます。

3778 3788 

3779```text theme={null}3789```text theme={null}

3780Windows 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.3790Windows 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.

3781```3791```

3782 3792 

3783このメッセージは、`Failed to resume session <session-id>` などのコマンド自体の失敗を示す行の後に表示されます。`claude --resume` または [`claude -p`](/docs/ja/headless) コマンドは、これを表示した後に終了コード 1 で終了します。セッション内で `/resume` を実行した場合は、現在のセッションは実行を続けます。3793このメッセージは、`Failed to resume session <session-id>` などのコマンド自体の失敗行に続いて表示されます。`claude --resume` または [`claude -p`](/docs/ja/headless) コマンドは、これを表示した後に終了コード 1 で終了します。セッション内で `/resume` を実行した場合は、現在のセッションは実行を続けます。

3784 3794 

3785**対処方法:**3795**対処方法:**

3786 3796 

3787* セキュリティ、暗号化、エンドポイント管理ツールなど、ファイルの読み取りをスキャンまたはインターセプトするソフトウェアの対象から、セッションのトランスクリプトを保存しているフォルダを除外してください。トランスクリプトはデフォルトでは `%USERPROFILE%\.claude\projects` 配下に、または [`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars) が指定するディレクトリ配下に保存されています3797* セキュリティ、暗号化、エンドポイント管理ツールなど、ファイルの読み取りをスキャンまたはインターセプトするソフトウェアの対象から、セッションのトランスクリプトを保存しているフォルダを除外してください。トランスクリプトはデフォルトでは `%USERPROFILE%\.claude\projects` 配下、または [`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars) が指定するディレクトリ配下に保存されます

3788* 除外を追加できない場合は、代わりにそのソフトウェアの許可アプリケーションに Claude Code を追加してください3798* 除外を追加できない場合は、代わりにそのソフトウェアの許可済みアプリケーションに Claude Code を追加してください

3789* セッションを再度再開してください3799* セッションを再度再開してください

3790 3800 

3791v2.1.282 より前では、この失敗は説明なしで発生していました。`claude --resume <session-id>` は `Failed to resume session <session-id>` で終了し、`-p` の実行では `Failed to resume session: EBADF: bad file descriptor, read` のようなシステムエラーのテキストのみが出力されていました。3801v2.1.282 より前では、この失敗は説明なしで発生していました。`claude --resume <session-id>` は `Failed to resume session <session-id>` で終了し、`-p` 実行では `Failed to resume session: EBADF: bad file descriptor, read` のようなシステムエラーのテキストのみが出力されていました。

3792 3802 

3793<h3 id="cannot-switch-renderers-in-this-session">3803<h3 id="cannot-switch-renderers-in-this-session">

3794 このセッションではレンダラーを切り替えられない3804 Cannot switch renderers in this session

3795</h3>3805</h3>

3796 3806 

3797レンダラーを切り替えると、Claude Code はプロセスを再起動します。Claude Code が再起動を拒否するセッションで [`/tui`](/docs/ja/fullscreen#enable-fullscreen-rendering) を実行したため、切り替えは行われず、何も保存されません。表示されるメッセージによって原因がわかります。3807レンダラーを切り替えると、Claude Code はプロセスを再起動します。Claude Code が再起動を拒否するセッションで [`/tui`](/docs/ja/fullscreen#enable-fullscreen-rendering) を実行したため、切り替えは行われず、何も保存されません。表示されるメッセージによって原因がわかります。

3798 3808 

3799* `Cannot switch renderers while work is running in the background`: バックグラウンドシェルやサブエージェントなど、再起動すると破棄されてしまうバックグラウンド処理が実行中です。処理が終了するまで待つか、[`/tasks`](/docs/ja/commands) で停止してから、`/tui fullscreen` または `/tui default` を再度実行してください3809* `Cannot switch renderers while work is running in the background`: バックグラウンドシェルやサブエージェントなど、再起動によって放棄されてしまうバックグラウンド作業が実行中です。作業が完了するのを待つか、[`/tasks`](/docs/ja/commands) で停止してから、`/tui fullscreen` または `/tui default` を再度実行してください

3800* `Cannot switch renderers in this session`: セッションに、Claude Code が再起動後のプロセスに引き継げない制限があります。v2.1.234 より前では、Claude Code はそれでも再起動し、再起動後のセッションはそれらの制限なしで実行されていました3810* `Cannot switch renderers in this session`: セッションに、Claude Code が再起動後のプロセスに引き継げない制限があります。v2.1.234 より前では、Claude Code はそれでも再起動し、再起動されたセッションはそれらの制限なしで実行されていました

3801 3811 

3802制限に関するメッセージでは、括弧内の部分に Claude Code が検出した制限が示されます。3812制限に関するメッセージでは、括弧内の部分に Claude Code が検出した制限が示されます。

3803 3813 


3807 3817 

3808メッセージの括弧内に表示される可能性のある各理由:3818メッセージの括弧内に表示される可能性のある各理由:

3809 3819 

3810* `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) が含まれます3820* `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) が含まれます

3811* `permission rules set for this session only`: フックまたは SDK の呼び出し元からの[権限の更新](/docs/ja/hooks#permission-update-entries)によって、`session` を宛先とする拒否ルールまたは確認ルールが追加されました。セッションスコープの許可ルールでは拒否は発生しません。再起動するとそれらは破棄され、Claude Code は代わりに再度確認を求めます3821* `permission rules set for this session only`: フックまたは SDK の呼び出し元からの[権限の更新](/docs/ja/hooks#permission-update-entries)によって、`session` を宛先とする拒否ルールまたは確認ルールが追加されました。セッションスコープの許可ルールでは拒否は発生しません。再起動によって許可ルールは破棄され、Claude Code は代わりに再度確認を求めます

3812* `ask-before-running rules with no command-line form`: フックまたは SDK の呼び出し元からの権限の更新によって、Claude Code が `--allowed-tools` および `--disallowed-tools` として引き継ぐルールに加えて確認ルールが追加されました。確認ルールに対応するフラグは存在しません3822* `ask-before-running rules with no command-line form`: フックまたは SDK の呼び出し元からの権限の更新によって、Claude Code が `--allowed-tools` および `--disallowed-tools` として引き継ぐルールに加えて確認ルールが追加されました。確認ルール用のフラグは存在しません

3813* `permission rules a command line cannot carry intact` および `added directories a command line cannot carry intact`: 権限の更新によって、セッションの途中でルールまたはディレクトリパスが追加されました。再起動後のプロセスのコマンドラインでは、そのテキストを同じ値として引き継ぐことができません3823* `permission rules a command line cannot carry intact` および `added directories a command line cannot carry intact`: セッションの途中で、権限の更新によってルールまたはディレクトリパスが追加されました。再起動後のプロセスのコマンドラインでは、そのテキストを同じ値として引き継ぐことができません

3814 3824 

3815**対処方法:**3825**対処方法:**

3816 3826 

3817* それらの制限なしで開始したセッションで `/tui fullscreen` を実行するか、元に戻す場合は `/tui default` を実行してください。Claude Code はそのセッションで [`tui` 設定](/docs/ja/settings-reference#tui)を保存します3827* それらの制限なしで開始したセッションで `/tui fullscreen` を実行するか、元に戻す場合は `/tui default` を実行してください。Claude Code はそのセッションで [`tui` 設定](/docs/ja/settings-reference#tui)を保存します

3818 3828 

3829<h3 id="claude-code-couldnt-restart">

3830 Claude Code couldn't restart

3831</h3>

3832 

3833Claude Code が、たとえば [`/tui`](/docs/ja/fullscreen#enable-fullscreen-rendering) の実行後にフルスクリーンレンダリングへの切り替えまたはその解除のために再起動していました。セッションは閉じましたが新しいプロセスを開始できなかったため、このメッセージを出力してステータス 1 で終了しました。

3834 

3835```text theme={null}

3836Claude Code couldn't restart. Your conversation is saved. Start Claude Code again and run /resume to pick it up.

3837```

3838 

3839新しいセッションで `/tui` が最初の入力だった場合など、再起動時に再度開く会話がなかった場合、メッセージは `Claude Code couldn't restart. Start Claude Code again.` となります。

3840 

3841**対処方法:**

3842 

3843* 同じディレクトリからシェルで `claude` を再度実行してください。メッセージに会話が保存されていると示されていた場合は、新しいセッションで [`/resume`](/docs/ja/sessions#resume-a-session) を実行して会話を選択してください

3844* 再起動が失敗し続ける場合は、シェルから [`claude --debug-file claude-debug.log`](/docs/ja/cli-reference#cli-flags) で Claude Code を起動してください。そのセッションからの再起動が失敗すると、起動したディレクトリにある `claude-debug.log` に、オペレーティングシステムのエラーを含む `Failed to relaunch:` 行が記録されます。[問題を報告する](#report-an-error)際にはその行を含めてください

3845 

3819<h3 id="couldnt-open-claude-desktop">3846<h3 id="couldnt-open-claude-desktop">

3820 Claude Desktop を開けなかった3847 Couldn't open Claude Desktop

3821</h3>3848</h3>

3822 3849 

3823セッション内で [`/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 で終了します。3850セッション内で [`/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 で終了します。

3824 3851 

3825括弧内のテキストは失敗したコマンドを示し、終了ステータスとエラー出力の最初の行が生成された場合はそれらも含まれます。macOS ではそのコマンドはこの例のように `open` で、Windows では `rundll32` です。3852括弧内のテキストには、失敗したコマンドと、出力された場合はその終了ステータスとエラー出力の最初の行が示されます。macOS ではこのコマンドは次の例のように `open` で、Windows では `rundll32` です。

3826 3853 

3827```text theme={null}3854```text theme={null}

3828Error: 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.3855Error: 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.


3830 3857 

3831**対処方法:**3858**対処方法:**

3832 3859 

3833* Claude Desktop を自分で開いてから、`/desktop` または `claude --desktop` を再度実行してください3860* Claude Desktop を手動で開いてから、`/desktop` または `claude --desktop` を再度実行してください

3834* 失敗したコマンドの完全なエラー出力を確認するには、`/debug` でデバッグログをオンにして `/desktop` を再度実行するか、`claude --desktop --debug-file <path>` を実行してから、デバッグログを確認してください3861* 失敗したコマンドの完全なエラー出力を確認するには、`/debug` でデバッグログをオンにして `/desktop` を再度実行するか、`claude --desktop --debug-file <path>` を実行してから、デバッグログを確認してください

3835 3862 

3836v2.1.285 より前では、メッセージの末尾は `Open Claude Desktop and run /desktop again.` でした。v2.1.275 より前では、メッセージは `Failed to open Claude Desktop. Please try opening it manually.` で、何が失敗したかは示されていませんでした。3863v2.1.285 より前では、メッセージの末尾は `Open Claude Desktop and run /desktop again.` でした。v2.1.275 より前では、メッセージは `Failed to open Claude Desktop. Please try opening it manually.` で、何が失敗したかは示されていませんでした。

3837 3864 

3838<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3865<h3 id="terminal-setup-left-your-zed-keymap-unchanged">

3839 /terminal-setup が Zed のキーマップを変更しなかった3866 /terminal-setup left your Zed keymap unchanged

3840</h3>3867</h3>

3841 3868 

3842Zed で [`/terminal-setup`](/docs/ja/terminal-config#enter-multiline-prompts) を実行しましたが、Claude Code が Zed の `keymap.json` の更新を完了できなかったため、ファイルをそのままにしました。3869Zed で [`/terminal-setup`](/docs/ja/terminal-config#enter-multiline-prompts) を実行しましたが、Claude Code が Zed の `keymap.json` の更新を完了できなかったため、ファイルは元のまま残されました。

3843 3870 

3844各メッセージにはキーマップのパスが示され、末尾には自分で追加するためのキーボードショートカットのブロックが含まれます。3871各メッセージにはキーマップのパスが示され、最後に自分で追加するためのキーボードショートカットのブロックが示されます。

3845 3872 

3846```text theme={null}3873```text theme={null}

3847Couldn't update your Zed keymap, so it was left unchanged.3874Couldn't update your Zed keymap, so it was left unchanged.


3849{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }3876{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }

3850```3877```

3851 3878 

3852メッセージの最初の行が原因を示します。3879メッセージの最初の行に原因が示されます。

3853 3880 

3854* `Couldn't read your Zed keymap, so it was left unchanged.`: ファイルの権限などの理由で、Claude Code がファイルを読み取れませんでした3881* `Couldn't read your Zed keymap, so it was left unchanged.`: ファイルの権限などの理由で、Claude Code がファイルを読み取れませんでした

3855* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: ファイルは読み取れましたが、`//` コメントや末尾のカンマを許容しても、キーボードショートカットのブロックの配列として解析できません3882* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: ファイルは正常に読み取れましたが、`//` コメントや末尾のカンマを許容しても、キーボードショートカットのブロックの配列として解析できません

3856* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code がファイルを隣の `.bak` バックアップにコピーできなかったため、何も変更しませんでした3883* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code がファイルを隣の `.bak` バックアップにコピーできなかったため、何も変更しませんでした

3857* `Couldn't update your Zed keymap, so it was left unchanged.`: マージした結果が、そのショートカットを含む有効なキーマップであることを検証できなかったため、Claude Code は書き込まずに破棄しました。キーが重複したキーボードショートカットのブロックがあると、これが発生することがあります3884* `Couldn't update your Zed keymap, so it was left unchanged.`: マージした結果が、キーボードショートカットを含む有効なキーマップとして検証されなかったため、Claude Code は書き込まずに破棄しました。キーが重複しているキーボードショートカットのブロックがあると、これが発生することがあります

3858 3885 

3859**対処方法:**3886**対処方法:**

3860 3887 

3861* メッセージに示されたパスにある `keymap.json` のトップレベルの配列に、メッセージ内のブロックをコピーしてください3888* メッセージのブロックを、メッセージに示されたパスにある `keymap.json` のトップレベルの配列にコピーしてください

3862* `isn't a readable list of keybindings` の場合は、構文エラーを修正するか、ファイルのトップレベルの値を配列にしてから、`/terminal-setup` を再度実行してください3889* `isn't a readable list of keybindings` の場合は、構文エラーを修正するか、ファイルのトップレベルの値を配列にしてから、`/terminal-setup` を再度実行してください

3863 3890 

3864v2.1.247 より前では、`/terminal-setup` は `//` コメントや末尾のカンマを使用した Zed のキーマップを解析できず、ショートカットがインストールされたと報告しながら、ファイル全体を自身のショートカットのみで置き換えていました。以前のバージョンで置き換えられたキーマップを復元するには、[複数行のプロンプトを入力する](/docs/ja/terminal-config#enter-multiline-prompts)で説明されている `.bak` バックアップファイルを使用してください。3891v2.1.247 より前では、`/terminal-setup` は `//` コメントや末尾のカンマを使用した Zed のキーマップを解析できず、ファイル全体を自身のキーボードショートカットだけで置き換えたうえで、キーボードショートカットがインストールされたと報告していました。以前のバージョンによって置き換えられたキーマップを復元するには、[複数行のプロンプトを入力する](/docs/ja/terminal-config#enter-multiline-prompts)で説明されている `.bak` バックアップファイルを使用してください。

3865 3892 

3866<h3 id="skill-usage-reports-are-not-available-on-this-connection">3893<h3 id="skill-usage-reports-are-not-available-on-this-connection">

3867 この接続ではスキルの使用状況レポートを利用できない3894 Skill usage reports are not available on this connection

3868</h3>3895</h3>

3869 3896 

3870スマートフォンやブラウザから [Remote Control](/docs/ja/remote-control) 経由で [`/skill-doctor`](/docs/ja/skills#find-unused-skills) を実行しました。Claude Code はスキルの使用状況レポートを Remote Control 経由で送信せず、代わりに次のメッセージで応答します。3897スマートフォンやブラウザから [Remote Control](/docs/ja/remote-control) 経由で [`/skill-doctor`](/docs/ja/skills#find-unused-skills) を実行しました。Claude Code は Remote Control 経由ではスキルの使用状況レポートを送信せず、代わりに次のメッセージを返します。

3871 3898 

3872```text theme={null}3899```text theme={null}

3873Skill usage reports are not available on this connection.3900Skill usage reports are not available on this connection.


3875 3902 

3876**対処方法:**3903**対処方法:**

3877 3904 

3878* セッションを実行しているマシンのターミナルで `/skill-doctor` を実行するか、そのマシンで `claude -p "/skill-doctor"` を実行してください3905* セッションが実行されているマシンのターミナルで `/skill-doctor` を実行するか、そのマシンで `claude -p "/skill-doctor"` を実行してください

3879 3906 

3880<h3 id="custom-output-styles-cant-be-selected-over-remote-control">3907<h3 id="custom-output-styles-cant-be-selected-over-remote-control">

3881 カスタム出力スタイルは Remote Control 経由では選択できない3908 Custom output styles can't be selected over Remote Control

3882</h3>3909</h3>

3883 3910 

3884モバイルアプリまたは 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)の名前を指定した場合も、存在しない名前と同じ応答が返されます。3911モバイルアプリまたは 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)の名前には、存在しない名前と同じ応答が返されます。

3885 3912 

3886```text theme={null}3913```text theme={null}

3887Custom 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.3914Custom 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.


3889 3916 

3890**対処方法:**3917**対処方法:**

3891 3918 

3892* 組み込みスタイルを選択してください(例: `/output-style concise`)3919* `/output-style concise` などの組み込みスタイルを選択してください

3893* カスタムスタイルを使用するには、プロジェクトの `.claude/settings.local.json` で [`outputStyle`](/docs/ja/settings-reference#outputstyle) を設定するか、セッション自体にターミナルがある場合はそこで `/output-style <style>` を実行してください3920* カスタムスタイルを使用するには、プロジェクトの `.claude/settings.local.json` で [`outputStyle`](/docs/ja/settings-reference#outputstyle) を設定するか、セッション自体にターミナルがある場合はそこで `/output-style <style>` を実行してください

3894 3921 

3895<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">3922<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">

3896 出力スタイルはこのセッションが読み込まないローカル設定に保存される3923 Output styles are saved to local settings which this session doesn't load

3897</h3>3924</h3>

3898 3925 

3899設定ソースから `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 は効果のない設定を書き込むのではなく、処理を拒否します。3926設定ソースから `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 は効果のない設定を書き込む代わりに拒否します。

3900 3927 

3901```text theme={null}3928```text theme={null}

3902Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.3929Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.


3905**対処方法:**3932**対処方法:**

3906 3933 

3907* セッションの設定ソースに `local` を追加してから、再度切り替えてください3934* セッションの設定ソースに `local` を追加してから、再度切り替えてください

3908* プロジェクトの `.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)を参照してください3935* プロジェクトの `.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)を参照してください

3909 3936 

3910<h3 id="recap-only-runs-when-you-ask-for-it-yourself">3937<h3 id="recap-only-runs-when-you-ask-for-it-yourself">

3911 /recap は自分で要求した場合にのみ実行される3938 /recap only runs when you ask for it yourself

3912</h3>3939</h3>

3913 3940 

3914[`/recap`](/docs/ja/interactive-mode#session-recap) のリクエストがユーザー自身の入力から送られたものではありませんでした。Slack、Teams、または[プロジェクト](/docs/ja/claude-projects)のスレッドからセッションに中継されたメッセージで届いたか、[ルーティン](/docs/ja/routines)や別のプログラムが送信したプロンプトで届きました。3941[`/recap`](/docs/ja/interactive-mode#session-recap) のリクエストがユーザー自身の入力によるものではありませんでした。Slack、Teams、または[プロジェクト](/docs/ja/claude-projects)のスレッドからセッションに中継されたメッセージ、あるいは[ルーティン](/docs/ja/routines)や別のプログラムが送信したプロンプトで届きました。

3915 3942 

3916中継されたメッセージは、自分で書いたものであっても通知の対象になります。Claude Code は、中継されたメッセージや自動化されたメッセージがセッションを実行しているアカウントの本人から送られたものかどうかを判別できないため、要約の代わりに次の通知で応答します。3943中継されたメッセージは、ユーザー自身が書いたものであってもこの通知を受け取ります。Claude Code は、中継されたメッセージや自動化されたメッセージが、セッションを実行しているアカウントの本人からのものかどうかを判別できないため、要約の代わりに次の通知で応答します。

3917 3944 

3918```text theme={null}3945```text theme={null}

3919/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.3946/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.

3920```3947```

3921 3948 

3922`claude -p` に渡した `/recap` や、自分の [Agent SDK](/docs/ja/agent-sdk/overview) アプリケーションが起動したセッションに送信した `/recap` は、ユーザー自身の入力として扱われます。3949`claude -p` に渡した `/recap` や、ユーザー自身の [Agent SDK](/docs/ja/agent-sdk/overview) アプリケーションが起動したセッションに送信した `/recap` は、ユーザー自身の入力として扱われます。

3923 3950 

3924**対処方法:**3951**対処方法:**

3925 3952 

3926* セッションを自分で開き、そこで `/recap` を実行してください。実行場所は、そのセッションのターミナル、[デスクトップアプリ](/docs/ja/desktop)または[モバイルアプリ](/docs/ja/mobile)、[claude.ai/code](https://claude.ai/code)、または [Remote Control](/docs/ja/remote-control) 経由です3953* セッションを自分で開き、そこで `/recap` を実行してください。セッションのターミナル、[デスクトップアプリ](/docs/ja/desktop)や[モバイルアプリ](/docs/ja/mobile)、[claude.ai/code](https://claude.ai/code)、または [Remote Control](/docs/ja/remote-control) 経由で実行できます

3927* ルーティンや別のプログラムが送信した場合は、そのプロンプトから `/recap` を削除してください3954* ルーティンや別のプログラムが送信した場合は、そのプロンプトから `/recap` を削除してください

3928 3955 

3929<h2 id="plugin-errors">3956<h2 id="plugin-errors">


4593* または、[`CLAUDE_CODE_TMPDIR`](/docs/ja/env-vars) を容量のあるファイルシステム上のディレクトリに設定して Claude Code を再起動します4620* または、[`CLAUDE_CODE_TMPDIR`](/docs/ja/env-vars) を容量のあるファイルシステム上のディレクトリに設定して Claude Code を再起動します

4594* その後、Claude にコマンドを再度実行させます。コマンドが出力した内容は、切り詰められたのではなく失われています4621* その後、Claude にコマンドを再度実行させます。コマンドが出力した内容は、切り詰められたのではなく失われています

4595 4622 

4623<h3 id="file-is-not-valid-utf-8">

4624 File is not valid UTF-8

4625</h3>

4626 

4627Claude が、バイトを UTF-8 としてデコードできないファイルに対して Edit または NotebookEdit ツールを使用したため、Claude Code は変更を拒否しました。何も書き込まれていないため、ファイルは元のままです。これらのツールはファイル全体を UTF-8 として保存し直すため、デコードできなかったすべてのバイトが置換文字 `U+FFFD` に変わってしまうところでした。メッセージはツール結果に表示されます。

4628 

4629```text wrap theme={null}

4630File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary. This tool saves the whole file as UTF-8, which would replace every byte it cannot decode with U+FFFD. Nothing was written. Make the change with a shell command that reads and writes the file in its own encoding, or ask the user whether to convert the file to UTF-8 first.

4631```

4632 

4633UTF-8 であるはずのファイルでも、無効なバイトシーケンスが 1 つでも含まれていればこのメッセージが表示されます。チェックはファイルのバイト全体を対象とするためです。

4634 

4635**What to do:**

4636 

4637* ファイルを現在のエンコーディングのまま保持するには、メッセージが指示するとおり、そのエンコーディングでファイルを読み書きするシェルコマンドで Claude に変更を行わせます

4638* Edit ツールでファイルの編集を続けるには、ファイルを UTF-8 に変換するか、UTF-8 であるはずのファイルの場合は無効なバイトを修正してから、Claude に再度編集を依頼します

4639 

4640v2.1.296 より前は、Edit と NotebookEdit はこのような編集を適用し、デコードできなかったすべてのバイトを `U+FFFD` として保存していました。これらのバージョンを使用している場合は、Claude Code をアップデートしてください。

4641 

4596<h3 id="the-source-file-is-not-valid-utf-8-text">4642<h3 id="the-source-file-is-not-valid-utf-8-text">

4597 The source file is not valid UTF-8 text4643 The source file is not valid UTF-8 text

4598</h3>4644</h3>


4752 worktree 分離チェックによってコマンドがブロックされました4798 worktree 分離チェックによってコマンドがブロックされました

4753</h3>4799</h3>

4754 4800 

4755Claude は、[worktree に分離されたセッション](/docs/ja/worktrees#how-claude-code-enforces-isolation)で Bash または Monitor コマンドを実行し、Claude Code は 2 つの理由のいずれかでそれを拒否しました:4801Claude は、[worktree に分離されたセッション](/docs/ja/worktrees#how-claude-code-enforces-isolation)で Bash、[PowerShell](/docs/ja/tools-reference#powershell-tool)、または [Monitor](/docs/ja/tools-reference#monitor-tool) コマンドを実行し、Claude Code は次のいずれかの理由でそれを拒否しました:

4756 4802 

4757* コマンドは git をメインチェックアウトに指します。4803* コマンドがメインチェックアウトまたは別の worktree で実行されることになります。メッセージには、作業ディレクトリが `resolved to the shared checkout` または `is in a different worktree` と表示されます。

4758* Claude Code は、コマンドテキストからコマンドが実行する git が worktree 内に留まることを確認できません。git に名前を付けないコマンドでも、`${!name}` などの変数間接参照を展開するか、`${ command; }` などの Bash 関数置換を実行すると、実行時に生成される値自体がコマンドになり得るため、この理由で拒否される可能性があります。4804* Bash または Monitor コマンドが git をメインチェックアウトに向けています。

4805* Claude Code は、Bash または Monitor コマンドのテキストから、コマンドが実行する git が worktree 内に留まることを確認できません。git に名前を付けないコマンドでも、`${!name}` などの変数間接参照を展開するか、`${ command; }` などの Bash 関数置換を実行すると、実行時に生成される値自体がコマンドになり得るため、この理由で拒否される可能性があります。

4759 4806 

4760メッセージの中央は、検証できなかったものに名前を付けます:4807メッセージには `is isolated in the worktree <path>, but this command` に続けて理由が表示されます。以下は、Claude Code がテキストを検証できなかったコマンドの例です:

4761 4808 

4762```text wrap theme={null}4809```text wrap theme={null}

4763This session is isolated in the worktree /path/to/worktree, but this command evaluates ${!x@P} arithmetically inside a construct too complex to verify, which can run a command hidden in a variable's value. Refusing to run it — a worktree-isolated session's git operations must target its own worktree. Split it into plain, separate commands and run them from /path/to/worktree.4810This session is isolated in the worktree /path/to/worktree, but this command evaluates ${!x@P} arithmetically inside a construct too complex to verify, which can run a command hidden in a variable's value. Refusing to run it — a worktree-isolated session's git operations must target its own worktree. Split it into plain, separate commands and run them from /path/to/worktree.


4765 4812 

4766**対処方法:**4813**対処方法:**

4767 4814 

4768* 通常は何もしません:Claude はメッセージを読み、最後の文が要求する方法でコマンドを書き直します4815* **git がメインチェックアウトに向けられている場合、またはコマンドテキストを検証できない場合**:何もする必要はありません。Claude はメッセージを読み、最後の文が要求する方法でコマンドを書き直します。要求したコマンドがテキスト内の展開のために拒否され続ける場合、フラグが付いた値をリテラルで記述し、git を worktree 内から独立したプレーンなコマンドとして実行します

4769* 要求したコマンドが拒否され続ける場合、フラグが付いた値をリテラルでスペルします:間接参照または置換をその値に置き換え、git を worktree 内から独自のプレーンコマンドとして実行します

4770* メインチェックアウトで意図的に動作するには、セッション外のターミナルでコマンドを自分で実行します4816* メインチェックアウトで意図的に動作するには、セッション外のターミナルでコマンドを自分で実行します

4771 4817 

4772<h3 id="this-session-has-no-saved-transcript">4818<h3 id="this-session-has-no-saved-transcript">


4946* または、存在するエージェントを指定して `--agent <name>` で再開し、セッションをそのエージェントとして実行します4992* または、存在するエージェントを指定して `--agent <name>` で再開し、セッションをそのエージェントとして実行します

4947* エージェントがプロジェクトスコープで、セッションの元のディレクトリを信頼していない場合、そこで Claude Code を 1 回実行し、信頼ダイアログを受け入れてから、再度再開します4993* エージェントがプロジェクトスコープで、セッションの元のディレクトリを信頼していない場合、そこで Claude Code を 1 回実行し、信頼ダイアログを受け入れてから、再度再開します

4948 4994 

4995<h3 id="restarted-after-its-next-loop-wakeup-was-due">

4996 This session restarted after its next /loop wakeup was due

4997</h3>

4998 

4999[バックグラウンドセッション](/docs/ja/agent-view)の[自己ペースの `/loop`](/docs/ja/scheduled-tasks#let-claude-choose-the-interval)が停止しました。ループが次のウェイクアップを待っている間にセッションのプロセスが終了し、セッションの[次のプロセス](/docs/ja/agent-view#the-supervisor-process)が開始する前にそのウェイクアップの予定時刻が過ぎました。逃したウェイクアップが遅れて発火することはありません。通知には、セッションが再開した時点でウェイクアップがどれだけ遅れていたかが示されます:

5000 

5001```text theme={null}

5002This session restarted 12m after its next /loop wakeup was due, so that wakeup will not fire. The loop stays stopped until Claude schedules it again: reply to continue it.

5003```

5004 

5005v2.1.295 より前では、この状況でループは通知なしに停止していました。

5006 

5007**対処方法:**

5008 

5009* ループを続行するには、[セッションに返信](/docs/ja/agent-view#peek-and-reply)してその旨を伝えます(例:`keep the loop running`)。Claude は返信と一緒に通知を読み、次のウェイクアップをスケジュールできます

5010* ループが不要な場合は、何もする必要はありません。ループは既に停止しています

5011 

4949<h3 id="claude_code_process_wrapper-launcher-errors">5012<h3 id="claude_code_process_wrapper-launcher-errors">

4950 CLAUDE\_CODE\_PROCESS\_WRAPPER ランチャーエラー5013 CLAUDE\_CODE\_PROCESS\_WRAPPER ランチャーエラー

4951</h3>5014</h3>


5343Claude Code がこの方法で拒否するパスには、以下が含まれます。5406Claude Code がこの方法で拒否するパスには、以下が含まれます。

5344 5407 

5345* `\\server\share` などの UNC 共有5408* `\\server\share` などの UNC 共有

5346* `/net/<host>` などのオートマウントパス(そのホストのオートマウント下のディレクトリから Claude Code を起動した場合を除く)5409* `/net/<host>` などのオートマウントパス(そのホストのオートマウント下のディレクトリから Claude Code を起動した場合を除く)。そのオートマウント下での読み取りは、引き続き [ネットワークパスのチェック](/docs/ja/permissions#network-paths) の対象になります。

5347* シンボリックリンクまたはジャンクションを通じてネットワークロケーションに到達するローカルパス5410* シンボリックリンクまたはジャンクションを通じてネットワークロケーションに到達するローカルパス

5348 5411 

5349マップされたドライブ文字と `\\wsl$` パスはネットワークパスとしてカウントされません。5412マップされたドライブ文字と `\\wsl$` パスはネットワークパスとしてカウントされません。


5473ソースは以下のいずれかです。5536ソースは以下のいずれかです。

5474 5537 

5475* `managed-settings.json` ファイルのパスまたは `managed-settings.d` 下のドロップインファイル5538* `managed-settings.json` ファイルのパスまたは `managed-settings.d` 下のドロップインファイル

5476* macOS 管理設定プロファイル、`ユーザーごとの管理設定` または `デバイスレベルの管理設定`5539* macOS の管理対象環境設定プロファイル(`per-user managed preferences` または `device-level managed preferences`)

5477* Windows レジストリ値、`Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings`5540* Windows レジストリ値、`Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings`

5478 5541 

5479[Claude Code がドロップしたエントリを検索](/docs/ja/managed-settings#find-entries-claude-code-dropped) は、各ソースを解析不可能にするものをリストしています。5542[Claude Code がドロップしたエントリを検索](/docs/ja/managed-settings#find-entries-claude-code-dropped) は、各ソースを解析不可能にするものをリストしています。

Details

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 とターミナル間でセッションを移動 |

29| プラグインマーケットプレイス | ✅ サポート | 表面によって認証情報の要件が異なります。[GHES 上のプラグインマーケットプレイス](#plugin-marketplaces-on-ghes)を参照してください |29| プラグインマーケットプレイス | ✅ サポート | 表面によって認証情報の要件が異なります。[GHES 上のプラグインマーケットプレイス](#plugin-marketplaces-on-ghes)を参照してください |

30| 貢献度メトリクス | ✅ サポート | [分析ダッシュボード](/docs/ja/analytics) への Webhook 経由で配信 |30| 貢献度メトリクス | ❌ サポートなし | github.com でホストされているリポジトリが必要です。[分析ダッシュボード](/docs/ja/analytics)には、GHES リポジトリでの作業に関する使用状況メトリクスが引き続き表示されます |

31| GitHub Actions | ✅ サポート | 手動ワークフロー設定が必要。`/install-github-app` は github.com のみ |31| GitHub Actions | ✅ サポート | 手動ワークフロー設定が必要。`/install-github-app` は github.com のみ |

32| GitHub MCP サーバー | ❌ サポートなし | GitHub MCP サーバーは GHES インスタンスでは動作しません |32| GitHub MCP サーバー | ❌ サポートなし | GitHub MCP サーバーは GHES インスタンスでは動作しません |

33 33 


56 GHES インスタンスの GitHub App ページから、Claude がアクセスしたいリポジトリまたは組織にアプリをインストールします。最初はサブセットで開始して、後で追加できます。56 GHES インスタンスの GitHub App ページから、Claude がアクセスしたいリポジトリまたは組織にアプリをインストールします。最初はサブセットで開始して、後で追加できます。

57 </Step>57 </Step>

58 58 

59 <Step title="機能を有効にする">59 <Step title="Code Review を有効にする">

60 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) にアクセスし、GHES リポジトリの [Code Review](/docs/ja/code-review#set-up-code-review) と [貢献メトリクス](/docs/ja/analytics#enable-contribution-metrics) を github.com と同じ設定を使用して有効にします。60 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) にアクセスし、GHES リポジトリの [Code Review](/docs/ja/code-review#set-up-code-review) を github.com と同じ設定を使用して有効にします。

61 </Step>61 </Step>

62</Steps>62</Steps>

63 63 


65 GitHub App 権限65 GitHub App 権限

66</h3>66</h3>

67 67 

68マニフェストは GitHub App を以下の権限と webhook イベントで設定します。これらは一緒にクラウドセッション、コードレビュー、Claude Security、プラグインマーケットプレイス、および貢献メトリクスをカバーします。68マニフェストは GitHub App を以下の権限と webhook イベントで設定します。これらは一緒にクラウドセッション、Code Review、Claude Security、およびプラグインマーケットプレイスをカバーします。

69 69 

70| 権限 | アクセス | 用途 |70| 権限 | アクセス | 用途 |

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


270* [クラウドで Claude Code を使用](/docs/ja/claude-code-on-the-web):クラウドインフラストラクチャで Claude Code セッションを実行270* [クラウドで Claude Code を使用](/docs/ja/claude-code-on-the-web):クラウドインフラストラクチャで Claude Code セッションを実行

271* [Code Review](/docs/ja/code-review):自動 PR レビュー271* [Code Review](/docs/ja/code-review):自動 PR レビュー

272* [プラグインマーケットプレイス](/docs/ja/plugins/host-marketplace):プラグインカタログの構築と配布272* [プラグインマーケットプレイス](/docs/ja/plugins/host-marketplace):プラグインカタログの構築と配布

273* [分析](/docs/ja/analytics):使用状況と貢献度メトリクスの追跡273* [分析](/docs/ja/analytics):組織全体での Claude Code の使用状況の追跡

274* [管理設定](/docs/ja/settings):組織全体のポリシー設定274* [管理設定](/docs/ja/settings):組織全体のポリシー設定

275* [ネットワーク設定](/docs/ja/network-config):ファイアウォールと IP ホワイトリストの要件275* [ネットワーク設定](/docs/ja/network-config):ファイアウォールと IP ホワイトリストの要件

headless.md +57 −62

Details

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

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

91 91 

92stderr がターミナルで、実行が 5 秒間待機した場合、Claude Code は `Waiting for background work to finish` で始まり、待機中の作業を示す行を stderr に出力します。[`json` または `stream-json` 出力](#get-structured-output) では、この行は stdout がターミナルでない場合にのみ出力されるため、スクリプトが読み取る JSON にこの行が含まれることはありません。

93 

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

93 95 

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


116 例118 例

117</h2>119</h2>

118 120 

119これらの例は、一般的な CLI パターンを強調しています。`auth.py` や `build-error.txt` などのファイルを指定するコマンドの場合は、自分のプロジェクトのファイルに置き換えてください。CI やその他のスクリプト環境では、[`--bare`](#start-faster-with-bare-mode) を追加して、Claude Code がホストの hooks、plugins、auto memory、または `CLAUDE.md` を読み込まずに起動するようにしてください。121これらの例は、一般的な CLI パターンを紹介しています。`auth.py` や `build-error.txt` などのファイルを指定するコマンドの場合は、自分のプロジェクトのファイルに置き換えてください。CI やその他のスクリプト環境では、[`--bare`](#start-faster-with-bare-mode) を追加して、Claude Code がホストのフック、プラグイン、自動メモリ、または `CLAUDE.md` を読み込まずに起動するようにしてください。

120 122 

121<h3 id="pipe-data-through-claude">123<h3 id="pipe-data-through-claude">

122 Claude にデータをパイプする124 Claude にデータをパイプする

123</h3>125</h3>

124 126 

125非対話モードは stdin を読み込むため、他のコマンドラインツールと同様にデータをパイプして応答をリダイレクトできます。127非対話モードは stdin を読み込むため、他のコマンドラインツールと同様にデータをパイプで渡し、応答をリダイレクトできます。

126 128 

127この例は、ビルドログを Claude にパイプして、説明をファイルに書き込みます。129この例は、ビルドログを Claude にパイプして、説明をファイルに書き込みます。

128 130 


130cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt132cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

131```133```

132 134 

133`--output-format json` を使用すると、応答ペイロードに `total_cost_usd` とモデルごとのコスト内訳が含まれるため、スクリプト呼び出し元は [usage dashboard](/docs/ja/costs) を参照せずに支出を追跡できます。`--continue` または `--resume` で以前の会話を続ける場合、実行は会話全体の合計を報告し、[以前の実行の支出を含めて](/docs/ja/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls)。両方の数値は [client-side estimates](/docs/ja/agent-sdk/cost-tracking) であり、実際の請求額と異なる場合があります。135`--output-format json` を使用すると、応答ペイロードに `total_cost_usd` とモデルごとのコスト内訳が含まれるため、スクリプトの呼び出し元は [使用状況ダッシュボード](/docs/ja/costs) を参照せずに支出を追跡できます。`--continue` または `--resume` で以前の会話を続ける場合、実行は[以前の実行の支出を含めた](/docs/ja/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls)会話全体の合計を報告します。どちらの数値も[クライアント側の推定値](/docs/ja/agent-sdk/cost-tracking)であり、実際の請求額と異なる場合があります。

134 136 

135<Note>137<Note>

136 パイプされた stdin は 10MB に制限されています。制限を超えた場合、Claude Code は明確なエラーメッセージを表示して終了し、ゼロ以外のステータスを返します。より大きな入力を処理するには、コンテンツをファイルに書き込み、パイプする代わりにプロンプトでファイルパスを参照してください。138 パイプされた stdin は 10MB に制限されています。制限を超えた場合、Claude Code は明確なエラーを表示して終了し、ゼロ以外のステータスを返します。より大きな入力を処理するには、コンテンツをファイルに書き込み、パイプする代わりにプロンプトでファイルパスを参照してください。

137</Note>139</Note>

138 140 

139Claude Code が stdin を読み込めない場合(例えば、それを開始したプロセスが終了した場合)、Claude Code は stderr に警告を出力して、コマンドラインからのプロンプトで続行します。v2.1.211 より前では、Windows で読み込み不可能な stdin はセッションをクラッシュさせるか、出力なしで静かに終了していました。141Claude Code が stdin を読み込めない場合(例えば、Claude Code を起動したプロセスが自分側の接続を切断した場合)、Claude Code は stderr に警告を出力し、コマンドラインから渡されたプロンプトで続行します。v2.1.211 より前では、Windows で stdin を読み込めないとセッションがクラッシュするか、出力なしで静かに終了していました。

140 142 

141<h3 id="add-claude-to-a-build-script">143<h3 id="add-claude-to-a-build-script">

142 ビルドスクリプトに Claude を追加する144 ビルドスクリプトに Claude を追加する


144 146 

145非対話呼び出しをスクリプトでラップして、Claude をプロジェクト固有のリンターまたはレビュアーとして使用できます。147非対話呼び出しをスクリプトでラップして、Claude をプロジェクト固有のリンターまたはレビュアーとして使用できます。

146 148 

147この `package.json` スクリプトは `main` に対する diff をパイプして Claude に渡し、タイプミスを報告するよう指示します。diff をパイプすることで、Claude は Bash 権限がなくても読み込むことができ、エスケープされたダブルクォートはスクリプトを Windows に対応させます。149この `package.json` スクリプトは `main` に対する差分を Claude にパイプし、タイプミスを報告するよう指示します。差分をパイプすることで、Claude はそれを読むための Bash 権限を必要とせず、エスケープされたダブルクォートによってスクリプトを Windows でも使用できます。

148 150 

149```json theme={null}151```json theme={null}

150{152{


166* `json`:結果、セッション ID、メタデータを含む構造化 JSON168* `json`:結果、セッション ID、メタデータを含む構造化 JSON

167* `stream-json`:リアルタイムストリーミング用の改行区切り JSON169* `stream-json`:リアルタイムストリーミング用の改行区切り JSON

168 170 

169この例は、プロジェクト概要を JSON で返し、セッションメタデータを含め、テキスト結果は `result` フィールドに入ります。171この例は、プロジェクト概要をセッションメタデータ付きの JSON で返し、テキスト結果は `result` フィールドに入ります。

170 172 

171```bash theme={null}173```bash theme={null}

172claude -p "Summarize this project" --output-format json174claude -p "Summarize this project" --output-format json


182 --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"]}'

183```185```

184 186 

185値が有効な 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` を注釈として扱い、強制はしません。v2.1.205 より前では、Claude Code は無効なスキーマを静かに無視して非構造化テキストを返し、`format` を含むスキーマをすべて無効として扱っていました。

186 188 

187<Tip>189<Tip>

188 [jq](https://jqlang.org/) などのツールを使用して応答を解析し、特定のフィールドを抽出します。190 [jq](https://jqlang.org/) などのツールを使用して応答を解析し、特定のフィールドを抽出します。

189 191 

190 ```bash theme={null}192 ```bash theme={null}

191 # テキスト結果を抽出193 # Extract the text result

192 claude -p "Summarize this project" --output-format json | jq -r '.result'194 claude -p "Summarize this project" --output-format json | jq -r '.result'

193 195 

194 # 構造化出力を抽出196 # Extract structured output

195 claude -p "Extract function names from auth.py" \197 claude -p "Extract function names from auth.py" \

196 --output-format json \198 --output-format json \

197 --json-schema '{"type":"object","properties":{"functions":{"type":"array","items":{"type":"string"}}},"required":["functions"]}' \199 --json-schema '{"type":"object","properties":{"functions":{"type":"array","items":{"type":"string"}}},"required":["functions"]}' \


203 応答をストリーミングする205 応答をストリーミングする

204</h3>206</h3>

205 207 

206`--output-format stream-json` を `--verbose` と `--include-partial-messages` と共に使用して、生成されるトークンをリアルタイムで受け取ります。各行は、イベントを表す JSON オブジェクトです。208`--output-format stream-json` を `--verbose` および `--include-partial-messages` と共に使用すると、生成されたトークンを順次受け取れます。各行は、イベントを表す JSON オブジェクトです。

207 209 

208```bash theme={null}210```bash theme={null}

209claude -p "Explain recursion" --output-format stream-json --verbose --include-partial-messages211claude -p "Explain recursion" --output-format stream-json --verbose --include-partial-messages


211 213 

212ストリームの最後の行は、最終応答テキスト、コスト、セッションメタデータを含む `result` メッセージです。214ストリームの最後の行は、最終応答テキスト、コスト、セッションメタデータを含む `result` メッセージです。

213 215 

214コンシューマーがストリームをゆっくり読む場合、Claude Code はキューに入った出力がドレインされるまで待機し、待機時間をまだキューに入っているもの量に応じてスケーリングし、最大 30 秒に制限されます。v2.1.214 より前では、終了待機は約 2 秒に制限されており、大きな応答の終わりが切り取られる可能性がありました。216コンシューマーがストリームをゆっくり読む場合、Claude Code はキューに入った出力が排出されるまで待機してから終了します。待機時間はまだキューに残っている量に応じて伸び、上限は 30 秒です。v2.1.214 より前では、終了時の待機の上限は約 2 秒であり、大きな応答の末尾が切り捨てられる可能性がありました。

215 217 

216次の例は [jq](https://jqlang.org/) を使用してテキストデルタをフィルタリングし、ストリーミングテキストのみを表示します。`-r` フラグは生の文字列(引用符なし)を出力し、`-j` は改行なしで結合するため、トークンが途切れなくストリーミングされます。218次の例は [jq](https://jqlang.org/) を使用してテキストデルタをフィルタリングし、ストリーミングテキストのみを表示します。`-r` フラグは生の文字列(引用符なし)を出力し、`-j` は改行なしで結合するため、トークンが途切れなくストリーミングされます。

217 219 


220 jq -rj 'select(.type == "stream_event" and .event.delta.type? == "text_delta") | .event.delta.text'222 jq -rj 'select(.type == "stream_event" and .event.delta.type? == "text_delta") | .event.delta.text'

221```223```

222 224 

223コールバックとメッセージオブジェクトを使用したプログラマティックストリーミングについては、Agent SDK ドキュメントの [Stream responses in real-time](/docs/ja/agent-sdk/streaming-output) を参照してください。225コールバックとメッセージオブジェクトを使用したプログラムによるストリーミングについては、Agent SDK ドキュメントの[リアルタイムで応答をストリーミングする](/docs/ja/agent-sdk/streaming-output)を参照してください。

224 226 

225<h4 id="follow-subagent-messages">227<h4 id="follow-subagent-messages">

226 サブエージェントメッセージをフォローする228 サブエージェントのメッセージを追跡する

227</h4>229</h4>

228 230 

229[サブエージェント](/docs/ja/sub-agents)からのメッセージと、[サブエージェントで実行される](/docs/ja/skills#run-skills-in-a-subagent)スキルからのメッセージは、ストリームに `assistant` および `user` メッセージとして表示されます。その `parent_tool_use_id` フィールドは、各メッセージがどの実行に属するかを示します。メインの会話からのメッセージは、このフィールドに `null` を持ちます。231[サブエージェント](/docs/ja/sub-agents)からのメッセージと、[サブエージェントで実行される](/docs/ja/skills#run-skills-in-a-subagent)スキルからのメッセージは、ストリームに `assistant` および `user` メッセージとして表示されます。その `parent_tool_use_id` フィールドは、各メッセージがどの実行に属するかを示します。メインの会話からのメッセージは、このフィールドに `null` を持ちます。


254* **`/<skill-name>` をプロンプトとして渡して開始したフォークされたスキルのメッセージ**:v2.1.287 以降256* **`/<skill-name>` をプロンプトとして渡して開始したフォークされたスキルのメッセージ**:v2.1.287 以降

255 257 

256<h4 id="handle-api-retries">258<h4 id="handle-api-retries">

257 API 再試行を処理する259 API の再試行を処理する

258</h4>260</h4>

259 261 

260API リクエストが再試行可能なエラーで失敗すると、Claude Code は再試行する前に `system/api_retry` イベントを発行します。v2.1.246 以降では、`401` または `403` が [`apiKeyHelper`](/docs/ja/settings-reference#apikeyhelper) 認証情報を拒否する場合、Claude Code は最初の 2 回の再試行を静かに行い、イベントなしで実行してから、3 回目の連続再試行からイベントを通常通り発行します。静かな再試行は依然として `attempt` にカウントされます。イベントを使用して、独自のインターフェースで再試行の進行状況を表示できます。262API リクエストが再試行可能なエラーで失敗すると、Claude Code は再試行する前に `system/api_retry` イベントを発行します。v2.1.246 以降では、`401` または `403` によって [`apiKeyHelper`](/docs/ja/settings-reference#apikeyhelper) の認証情報が拒否された場合、Claude Code は最初の 2 回の再試行をイベントなしで静かに行い、3 回目の連続した再試行以降は通常どおりイベントを発行します。静かな再試行も `attempt` にカウントされます。このイベントを使用して、独自のインターフェースで再試行の進行状況を表示できます。

261 263 

262| フィールド | 型 | 説明 |264| フィールド | 型 | 説明 |

263| - | - | - |265| - | - | - |


276 セッションメタデータを読む278 セッションメタデータを読む

277</h4>279</h4>

278 280 

279`system/init` イベントは、モデル、ツール、MCP サーバー、読み込まれたプラグインを含むセッションメタデータを報告します。スタートアップイベントが先行しない限り、ストリームの最初のイベントです。281`system/init` イベントは、モデル、ツール、MCP サーバー、読み込まれたプラグインを含むセッションメタデータを報告します。起動時のイベントが先行しない限り、ストリームの最初のイベントです。

280 282 

281* `plugin_install` イベント([`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ja/env-vars) が設定されている場合)。283* `plugin_install` イベント([`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ja/env-vars) が設定されている場合)。

282* [`hook_started`、`hook_progress`、および `hook_response` イベント](/docs/ja/agent-sdk/typescript#sdkhookstartedmessage)(設定された [`SessionStart`](/docs/ja/hooks#sessionstart) または [`Setup`](/docs/ja/hooks#setup) hook が実行されている間)。これらは hook が生成するときにストリーミングされます。Claude Code v2.1.169 から v2.1.203 はそれらを hook 完了後に 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) フックが実行されている間)。これらはフックが生成するたびにストリーミングされます。Claude Code v2.1.169 から v2.1.203 では、フックの完了後に 1 つのバッチで配信されていました(それでも `system/init` より前)。v2.1.204 でライブ配信が復元されました。

283 285 

284イベントは、このバージョンの 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`)。バージョン文字列を比較する代わりにこれを確認して機能を検出し、認識しない値は無視してください。このフィールドには Claude Code v2.1.205 以降が必要で、それより前のバージョンでは存在しません。機能の一覧については [`SDKSystemMessage`](/docs/ja/agent-sdk/typescript#sdksystemmessage) を参照してください。

285 287 

286<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">

287 プラグインまたは MCP サーバーが読み込まれない場合に CI を失敗させる289 プラグインまたは MCP サーバーが読み込まれない場合に CI を失敗させる

288</h4>290</h4>

289 291 

290`system/init` イベントのプラグインフィールドを使用して、読み込まれなかったプラグインをキャッチします。292`system/init` イベントのプラグインフィールドを使用して、読み込まれなかったプラグインを検出します。

291 293 

292| フィールド | 型 | 説明 |294| フィールド | 型 | 説明 |

293| - | - | - |295| - | - | - |

294| `plugins` | array | 正常に読み込まれたプラグイン(各々 `name` と `path` を含む) |296| `plugins` | array | 正常に読み込まれたプラグイン(各々 `name` と `path` を含む) |

295| `plugin_errors` | array | プラグイン読み込み時エラー(各々 `plugin`、`type`、`message` を含む)。満たされていない依存関係バージョンと `--plugin-dir` 読み込み失敗(パスの欠落やアーカイブが無効など)を含みます。影響を受けたプラグインは `plugins` から削除されます。エラーがない場合、キーは省略されます |297| `plugin_errors` | array | プラグイン読み込み時のエラー(各々 `plugin`、`type`、`message` を含む)。満たされていない依存関係のバージョンや、`--plugin-dir` の読み込み失敗(パスが存在しない、アーカイブが無効など)を含みます。読み込まれなかったプラグインは `plugins` に含まれません。エラーがない場合、キーは省略されます |

296 298 

297`--plugin-dir` ディレクトリまたはアーカイブ自体が読み込みに失敗した場合、その `plugin_errors` エントリは解決された絶対パスを `path` として含みます。複数の `--plugin-dir` 値のどれが失敗したかを判断するために使用します。`path` フィールドは Claude Code v2.1.283 以降が必要です。299`--plugin-dir` のディレクトリまたはアーカイブ自体の読み込みに失敗した場合、その `plugin_errors` エントリには解決された絶対パスが `path` として含まれます。複数の `--plugin-dir` 値のうちどれが失敗したかを判断するために使用します。`path` フィールドには Claude Code v2.1.283 以降が必要です。

298 300 

299MCP サーバーフィールドも同じ方法で使用します。301MCP サーバーのフィールドも同じ方法で使用します。`-p` で [`--mcp-config`](/docs/ja/cli-reference#cli-flags) を渡すと、Claude Code は最初のターンを実行する前に、まだ保留中のサーバーを [`MCP_TIMEOUT`](/docs/ja/env-vars) の起動タイムアウト(デフォルトは 30 秒)まで待機します。[キャッシュされたツールリスト](/docs/ja/agent-sdk/mcp#connection-timing)を持つリモートサーバーは待機をスキップし、`system/init` に `pending` と表示され、最初のツール呼び出し時に接続します。[セルフホスト環境](/docs/ja/self-hosted-environments-configuration#connection-timing)では、代わりにより短い待機が適用されます。この待機には Claude Code v2.1.221 以降が必要です。

300`-p` で [`--mcp-config`](/docs/ja/cli-reference#cli-flags) を渡す場合、Claude Code は最初のターンを実行する前に、まだ保留中のサーバーを待機します([`MCP_TIMEOUT`](/docs/ja/env-vars) スタートアップタイムアウト(デフォルト 30 秒)まで)。[cached tool list](/docs/ja/agent-sdk/mcp#connection-timing) を持つリモートサーバーは待機をスキップし、`system/init` に `pending` を表示し、最初のツール呼び出しで接続します。待機には Claude Code v2.1.221 以降が必要です。

301 302 

302Claude Code は起動時に各 `--mcp-config` エントリを検証し、検証に失敗したエントリをスキップします(例えば、`type` のない `url` エントリ)。実行は続行され、クリーンに終了するため、これらのフィールドをチェックして、読み込まれなかったサーバーをキャッチします。303Claude Code は起動時に各 `--mcp-config` エントリを検証し、検証に失敗したエントリ(例えば、`type` のない `url` エントリ)をスキップします。実行は続行されて正常に終了するため、これらのフィールドを確認して、読み込まれなかったサーバーを検出します。

303 304 

304| フィールド | 型 | 説明 |305| フィールド | 型 | 説明 |

305| - | - | - |306| - | - | - |

306| `mcp_servers` | array | セッション内の MCP サーバー(各々 `name` と `status` を含む) |307| `mcp_servers` | array | セッション内の MCP サーバー(各々 `name` と `status` を含む) |

307| `mcp_server_errors` | array | 設定検証によってスキップされた `--mcp-config` エントリ(各々 `name`、`type`、`message` を含む)。`type` はスキップカテゴリ(`unknown_type`、`url_missing_type`、`invalid_config`、`reserved_name` など)です。認識しない値は汎用スキップとして扱ってください。影響を受けたサーバーは `mcp_servers` から削除されます。エラーがない場合、キーは省略されるため、CI ゲートは空でない配列で失敗できます。Claude Code v2.1.219 以降が必要です |308| `mcp_server_errors` | array | 設定の検証によってスキップされた `--mcp-config` エントリ(各々 `name`、`type`、`message` を含む)。`type` はスキップカテゴリ(`unknown_type`、`url_missing_type`、`invalid_config`、`reserved_name` など)です。認識しない値は汎用的なスキップとして扱ってください。該当するサーバーは `mcp_servers` に含まれません。エラーがない場合、キーは省略されるため、CI ゲートは配列が空でない場合に失敗させることができます。Claude Code v2.1.219 以降が必要です |

308 309 

309コマンドを手でターミナルで実行する場合、Claude Code は stderr にスタートアップ警告も出力します(例:`Warning: 1 MCP server skipped due to invalid config:`)。その後に各スキップエントリの理由が続きます。stderr をリダイレクトする場合、または CI ランナーなどのプログラムがそれをキャプチャする場合、Claude Code は警告を出力せず、スキップされたエントリを `mcp_server_errors` フィールドでのみ報告します。警告には Claude Code v2.1.219 以降が必要です。310ターミナルでコマンドを手動で実行する場合、Claude Code は stderr に起動時の警告(例:`Warning: 1 MCP server skipped due to invalid config:`)も出力し、その後にスキップされた各エントリの理由が続きます。stderr をリダイレクトする場合、または CI ランナーや SDK ホストなどのプログラムがそれをキャプチャする場合、Claude Code は警告を出力せず、スキップされたエントリを `mcp_server_errors` フィールドでのみ報告します。この警告には Claude Code v2.1.219 以降が必要です。

310 311 

311<h4 id="track-plugin-installs">312<h4 id="track-plugin-installs">

312 プラグインインストールを追跡する313 プラグインのインストールを追跡する

313</h4>314</h4>

314 315 

315[`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ja/env-vars) が設定されている場合、Claude Code は最初のターンの前にマーケットプレイスプラグインがインストールされている間、`system/plugin_install` イベントを発行します。これらを使用して、独自の UI にインストール進行状況を表示します。316[`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ja/env-vars) が設定されている場合、Claude Code は最初のターンの前にマーケットプレイスのプラグインをインストールしている間、`system/plugin_install` イベントを発行します。これらを使用して、独自の UI にインストールの進行状況を表示します。

316 317 

317| フィールド | 型 | 説明 |318| フィールド | 型 | 説明 |

318| - | - | - |319| - | - | - |

319| `type` | `"system"` | メッセージタイプ |320| `type` | `"system"` | メッセージタイプ |

320| `subtype` | `"plugin_install"` | これをプラグインインストールイベントとして識別 |321| `subtype` | `"plugin_install"` | これをプラグインインストールイベントとして識別 |

321| `status` | `"started"`、`"installed"`、`"failed"`、または `"completed"` | `started` と `completed` は全体的なインストールをブラケットします。`installed` と `failed` は個別のマーケットプレイスを報告します |322| `status` | `"started"`、`"installed"`、`"failed"`、または `"completed"` | `started` と `completed` はインストール全体の開始と終了を示します。`installed` と `failed` は個々のマーケットプレイスについて報告します |

322| `name` | string、optional | マーケットプレイス名(`installed` と `failed` に存在) |323| `name` | string、optional | マーケットプレイス名(`installed` と `failed` に存在) |

323| `error` | string、optional | 失敗メッセージ(`failed` に存在) |324| `error` | string、optional | 失敗メッセージ(`failed` に存在) |

324| `uuid` | string | 一意のイベント識別子 |325| `uuid` | string | 一意のイベント識別子 |


328 ツールを自動承認する329 ツールを自動承認する

329</h3>330</h3>

330 331 

331`--allowedTools` を使用して、Claude が特定のツールをプロンプトなしで使用できるようにします。`Read` と `Edit` をリストすると、Claude はファイルを読み書きできます。`Bash` をリストすると、シェルコマンドについても同じことができます。ただし、[auto mode](/docs/ja/permission-modes#how-auto-mode-evaluates-actions) で開始される実行では、Claude Code は広いアロー ルールとして裸の `Bash` エントリをドロップし、auto mode が代わりに各コマンドを評価します。この例はテストスイートを実行して失敗を修正し、これら 3 つのツールをリストします。332`--allowedTools` を使用して、Claude が特定のツールを確認なしで使用できるようにします。`Read` と `Edit` を指定すると、Claude は権限を求めずにファイルを読み取り、編集できます([ネットワークパス](/docs/ja/permissions#network-paths)からの読み取りを除く)。`Bash` を指定すると、シェルコマンドについても同様になります。ただし、[auto モード](/docs/ja/permission-modes#how-auto-mode-evaluates-actions)で開始される実行では、Claude Code は単独の `Bash` エントリを広すぎる許可ルールとして除外し、代わりに auto モードが各コマンドを評価します。この例は、これら 3 つのツールを指定してテストスイートを実行し、失敗を修正します。

332 333 

333```bash theme={null}334```bash theme={null}

334claude -p "Run the test suite and fix any failures" \335claude -p "Run the test suite and fix any failures" \

335 --allowedTools "Bash,Read,Edit"336 --allowedTools "Bash,Read,Edit"

336```337```

337 338 

338個別のツールをリストする代わりにセッション全体のベースラインを設定するには、[permission mode](/docs/ja/permission-modes) を渡します。権限モードを設定しない実行は、[built-in starting permission mode](/docs/ja/permission-modes#which-mode-a-session-starts-in) を取得します。これは `auto` の場合があるため、必要な権限モードを渡します。339個別のツールを指定する代わりにセッション全体のベースラインを設定するには、[権限モード](/docs/ja/permission-modes)を渡します。何も権限モードを設定しない実行は、[組み込みの開始時の権限モード](/docs/ja/permission-modes#which-mode-a-session-starts-in)になり、これは `auto` の場合があるため、使用したいモードを渡してください。

339 340 

340* **`auto`**:`--permission-mode auto` を渡して、ほとんどのアクションをあなたの代わりに分類器にレビューさせます341* **`auto`**:`--permission-mode auto` を渡すと、ユーザーに代わって分類器がほとんどのアクションをレビューします

341* **`dontAsk`**:Claude Code はそれ以外の場合はプロンプトするすべての呼び出しを拒否します。これはロックダウンされた CI 実行に役立ちます。Manual モードで承認が不要なアクション(作業ディレクトリでのファイル読み取りや [read-only command set](/docs/ja/permissions#read-only-commands))は依然として実行され、`--allowedTools` エントリまたは `permissions.allow` ルールがカバーするアクションも実行されます。`AskUserQuestion`、connector tools [your organization set to `ask`](/docs/ja/mcp#organization-controls-on-connector-tools)、および [`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツールは、許可ルールが一致する場合でも拒否されます342* **`dontAsk`**:Claude Code は、本来なら確認を求めるすべての呼び出しを拒否します。これは制限された CI 実行に役立ちます。Manual モードで承認が不要なアクション(作業ディレクトリでのファイル読み取りや[読み取り専用コマンドセット](/docs/ja/permissions#read-only-commands)など)は引き続き実行され、`--allowedTools` エントリまたは `permissions.allow` ルールがカバーするアクションも実行されます。`AskUserQuestion`、[組織が `ask` に設定したコネクタツール](/docs/ja/mcp#organization-controls-on-connector-tools)、[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツール、および[ネットワークパスからの読み取り](/docs/ja/permissions#network-paths)は、許可ルールが一致する場合でも拒否されます

342* **`acceptEdits`**:Claude はプロンプトなしでファイルを書き込み、Claude Code は `mkdir`、`touch`、`mv`、`cp` などの一般的なファイルシステムコマンドを自動承認します。[actions no mode auto-approves](/docs/ja/permission-modes#actions-no-mode-auto-approves) は依然として適用されます。read-only command set を除き、他のシェルコマンドとネットワークリクエストは依然として `--allowedTools` エントリまたは `permissions.allow` ルールが必要です。[what `acceptEdits` auto-approves](/docs/ja/permission-modes#auto-approve-file-edits-with-acceptedits-mode) を参照して、完全なリストを確認してください343* **`acceptEdits`**:Claude は確認なしでファイルを書き込み、Claude Code は `mkdir`、`touch`、`mv`、`cp` などの一般的なファイルシステムコマンドを自動承認します。[どのモードでも自動承認されないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)は引き続き適用されます。読み取り専用コマンドセットを除き、その他のシェルコマンドとネットワークリクエストには引き続き `--allowedTools` エントリまたは `permissions.allow` ルールが必要です。完全なリストについては [`acceptEdits` が自動承認する内容](/docs/ja/permission-modes#auto-approve-file-edits-with-acceptedits-mode)を参照してください

343 344 

344この例は `acceptEdits` をベースラインとしてリント修正を適用します。345この例は `acceptEdits` をベースラインとしてリント修正を適用します。

345 346 


351 無人実行で権限プロンプトをオフにする352 無人実行で権限プロンプトをオフにする

352</h3>353</h3>

353 354 

354誰も権限プロンプトに答えられない場合(例えば、スケジュール済みジョブ)、`--permission-prompts none` を渡します。フラグは、実行に権限ホストがある場合に最も重要です。Agent SDK アプリ([`canUseTool` callback](/docs/ja/agent-sdk/user-input) を含む)、または [`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) で渡す MCP ツール。フラグなしでは、実行は各権限リクエストに対してそのホストを待機します。355権限プロンプトに答えられる人がいない場合(例えば、スケジュール済みジョブ)は、`--permission-prompts none` を渡します。このフラグが最も重要になるのは、実行に権限ホストがある場合です。権限ホストとは、[`canUseTool` コールバック](/docs/ja/agent-sdk/user-input)を持つ Agent SDK アプリ、または [`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) で渡す MCP ツールです。フラグがない場合、実行は各権限リクエストに対してそのホストが答えるのを待ちます。

355 356 

356フラグを使用すると、実行はホストを参照せず、それを待機しません。プロンプトするすべてのものは、`PermissionRequest` hook が許可しない限り拒否され、Claude には誰も要求を承認できず、再試行しないことが伝えられ、実行は続行されます。ホストのない `-p` 実行では、これらのリクエストはいずれにせよ拒否され、フラグは Claude に再試行しないことも伝えます。権限ルール、[`PermissionRequest` hooks](/docs/ja/hooks#permissionrequest)、および設定した権限モードは依然としてすべての呼び出しを最初に決定します。Claude Code は、他に何も解決しないリクエストのみを拒否します。357フラグを指定すると、実行はホストに問い合わせず、待機もしません。確認を求めることになるものはすべて、`PermissionRequest` フックが許可しない限り拒否され、Claude には誰もリクエストを承認できないため再試行しないよう伝えられ、実行は続行されます。ホストのない `-p` 実行では、これらのリクエストはいずれにしても拒否されますが、このフラグは Claude に再試行しないよう伝える役割も果たします。権限ルール、[`PermissionRequest` フック](/docs/ja/hooks#permissionrequest)、および設定した権限モードが引き続き最初にすべての呼び出しを判定し、Claude Code は他の何によっても解決されないリクエストのみを拒否します。

357 358 

358この例は [auto mode](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) で無人タスクを実行します。分類器は通常通り各アクションをレビューし、Claude Code はプロンプトにフォールバックしたであろうすべてのものを拒否します。359この例は [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)で無人タスクを実行します。分類器は通常どおり各アクションをレビューし、Claude Code はプロンプトにフォールバックするはずだったものをすべて拒否します。

359 360 

360```bash theme={null}361```bash theme={null}

361claude -p "Update the dependency pins and run the tests" --permission-mode auto --permission-prompts none362claude -p "Update the dependency pins and run the tests" --permission-mode auto --permission-prompts none

362```363```

363 364 

364`--permission-prompts none` を使用すると、Claude Code は [`AskUserQuestion`](/docs/ja/tools-reference#askuserquestion-tool-behavior) など、人からの答えが必要なツールを削除するため、Claude はそれらを呼び出すことができません。[`Elicitation` hook](/docs/ja/hooks#elicitation) が答えない [MCP elicitation request](/docs/ja/mcp#respond-to-mcp-elicitation-requests) はキャンセルされます。365`--permission-prompts none` を使用すると、Claude Code は [`AskUserQuestion`](/docs/ja/tools-reference#askuserquestion-tool-behavior) など人の回答を必要とするツールを削除するため、Claude はそれらを呼び出せません。[`Elicitation` フック](/docs/ja/hooks#elicitation)が応答しない [MCP エリシテーションリクエスト](/docs/ja/mcp#respond-to-mcp-elicitation-requests)はキャンセルされます。

365 366 

366`--output-format stream-json` を使用すると、拒否は `permission_denied` システムメッセージとして表示され、最終結果メッセージは `permission_denials` にそれらをリストします。367`--output-format stream-json` を使用すると、拒否は `permission_denied` システムメッセージとして表示され、最終結果メッセージの `permission_denials` にそれらが一覧表示されます。

367 368 

368<Note>369<Note>

369 `--permission-prompts` フラグには Claude Code v2.1.259 以降が必要です。以前のバージョンは不明なオプションエラーで拒否します。370 `--permission-prompts` フラグには Claude Code v2.1.259 以降が必要です。それより前のバージョンでは、不明なオプションのエラーで拒否されます。

370</Note>371</Note>

371 372 

372<h3 id="create-a-commit">373<h3 id="create-a-commit">


380 --allowedTools "Bash(git diff *),Bash(git log *),Bash(git status *),Bash(git commit *)"381 --allowedTools "Bash(git diff *),Bash(git log *),Bash(git status *),Bash(git commit *)"

381```382```

382 383 

383`--allowedTools` フラグは [permission rule syntax](/docs/ja/settings-reference#permission-rule-syntax) を使用します。末尾の ` *` はプレフィックスマッチングを有効にするため、`Bash(git diff *)` は `git diff` で始まるすべてのコマンドを許可します。スペースは `*` の前に重要です。なければ、`Bash(git diff*)` は `git diff-index` も一致させます。384`--allowedTools` フラグは[権限ルールの構文](/docs/ja/settings-reference#permission-rule-syntax)を使用します。末尾の ` *` はプレフィックスマッチングを有効にするため、`Bash(git diff *)` は `git diff` で始まるすべてのコマンドを許可します。`*` の前のスペースは重要です。スペースがないと、`Bash(git diff*)` は `git diff-index` にも一致します。

384 385 

385<Note>386<Note>

386 コマンドサポートは `-p` モードで異なります。387 `-p` モードでは、コマンドのサポート状況が異なります。

387 

388 * ユーザーが呼び出した [skills](/docs/ja/skills) とカスタムコマンドは機能します。プロンプト文字列に `/skill-name` を含めると、Claude Code は実行前にそれを展開します。

389 * ターミナルインターフェースでのみ実行される `/login` などの組み込みコマンドは利用できません。

390 *

391 

392 `/model`、`/effort`、`/fast`、`/color`、`/rename` は値を引数として受け入れます(例:`/model sonnet`)。`/mcp` は引数なしでサーバーステータスのテキスト概要を出力します。これらのフォームには Claude Code v2.1.205 以降が必要で、各コマンドの [availability notes](/docs/ja/commands#all-commands) に従います。

393 388 

389 * ユーザーが呼び出す[スキル](/docs/ja/skills)とカスタムコマンドは機能します。プロンプト文字列に `/skill-name` を含めると、Claude Code は実行前にそれを展開します。

390 * ターミナルインターフェースでのみ動作する `/login` などの組み込みコマンドは利用できません。

391 * `/model`、`/effort`、`/fast`、`/color`、`/rename` は値を引数として受け付け(例:`/model sonnet`)、`/mcp` は引数なしでサーバーステータスのテキスト概要を出力します。これらの形式には Claude Code v2.1.205 以降が必要で、各コマンドの[利用可能性に関する注記](/docs/ja/commands#all-commands)に従います。

394 * 設定を変更するには、`/config` に `key=value` を渡します(例:`/config thinking=false`)。392 * 設定を変更するには、`/config` に `key=value` を渡します(例:`/config thinking=false`)。

395 *393 * `/output-style <style>` は[出力スタイル](/docs/ja/output-styles)を切り替え、`/output-style` 単体ではそれらを一覧表示します。Claude Code v2.1.269 以降が必要です。

396 

397 `/output-style <style>` は [output styles](/docs/ja/output-styles) を切り替え、`/output-style` のみはそれらをリストします。Claude Code v2.1.269 以降が必要です。

398</Note>394</Note>

399 395 

400<h3 id="customize-the-system-prompt">396<h3 id="customize-the-system-prompt">

401 システムプロンプトをカスタマイズする397 システムプロンプトをカスタマイズする

402</h3>398</h3>

403 399 

404`--append-system-prompt` を使用して、Claude Code のデフォルト動作を保持しながら指示を追加します。この例は PR diff を Claude にパイプして、セキュリティ脆弱性をレビューするよう指示します。シェルスクリプトとして保存します(例:`review.sh`)。400`--append-system-prompt` を使用して、Claude Code のデフォルト動作を保持しながら指示を追加します。この例は PR の差分を Claude にパイプし、セキュリティ脆弱性をレビューするよう指示します。シェルスクリプトとして保存します(例:`review.sh`)。

405 401 

406```bash theme={null}402```bash theme={null}

407gh pr diff "$1" | claude -p \403gh pr diff "$1" | claude -p \


409 --output-format json405 --output-format json

410```406```

411 407 

412スクリプトでは、`"$1"` はコマンドラインで渡す最初の引数を表します。`bash review.sh 123` を実行すると、シェルは `"$1"` を `123` に置き換えるため、スクリプトは PR 123 の diff をフェッチします。Claude Code はレビューを JSON として出力し、テキストは `result` フィールドにあります。408スクリプト内の `"$1"` は、コマンドラインで渡す最初の引数を表します。`bash review.sh 123` を実行すると、シェルは `"$1"` を `123` に置き換えるため、スクリプトは PR 123 の差分を取得します。Claude Code はレビューを JSON として出力し、テキストは `result` フィールドに入ります。

413 409 

414詳細については、[system prompt flags](/docs/ja/cli-reference#system-prompt-flags) を参照してください。`--system-prompt` を使用してデフォルトプロンプトを完全に置き換えるオプションも含まれています。410デフォルトのプロンプトを完全に置き換える `--system-prompt` を含むその他のオプションについては、[システムプロンプトフラグ](/docs/ja/cli-reference#system-prompt-flags)を参照してください。

415 411 

416<h3 id="continue-conversations">412<h3 id="continue-conversations">

417 会話を続ける413 会話を続ける

418</h3>414</h3>

419 415 

420`--continue` を使用して最新の会話を続けるか、`--resume` をセッション ID と共に使用して特定の会話を続けます。416`--continue` を使用して最新の会話を続けるか、`--resume` をセッション ID と共に使用して特定の会話を続けます。Claude Code v2.1.257 以降では、`--continue` を渡すと、Claude Code は終了済みの[バックグラウンドセッション](/docs/ja/sessions#where-the-session-picker-looks)は開きますが、まだ実行中のものは開きません。この例はレビューを実行してから、フォローアップのプロンプトを送信します。

421Claude Code v2.1.257 以降では、`--continue` を渡すと、Claude Code は完了した [background session](/docs/ja/sessions#resume-a-session) を開きますが、まだ実行中のセッションは開きません。この例はレビューを実行してから、フォローアッププロンプトを送信します。

422 417 

423```bash theme={null}418```bash theme={null}

424# 最初のリクエスト419# First request

425claude -p "Review this codebase for performance issues"420claude -p "Review this codebase for performance issues"

426 421 

427# 最新の会話を続ける422# Continue the most recent conversation

428claude -p "Now focus on the database queries" --continue423claude -p "Now focus on the database queries" --continue

429claude -p "Generate a summary of all issues found" --continue424claude -p "Generate a summary of all issues found" --continue

430```425```

431 426 

432複数の会話を実行している場合は、セッション ID をキャプチャして特定のセッションを再開します。427複数の会話を実行している場合は、セッション ID を取得して特定の会話を再開します。

433 428 

434```bash theme={null}429```bash theme={null}

435session_id=$(claude -p "Start a review" --output-format json | jq -r '.session_id')430session_id=$(claude -p "Start a review" --output-format json | jq -r '.session_id')

436claude -p "Continue that review" --resume "$session_id"431claude -p "Continue that review" --resume "$session_id"

437```432```

438 433 

4392 つのコマンドを異なるディレクトリから実行できます。Claude Code は [finds the session by its ID](/docs/ja/sessions#resume-a-session) をこのマシン上の任意のプロジェクトで実行します。v2.1.223 より前では、Claude Code は現在のプロジェクトディレクトリとその git worktrees でのみ ID を探していたため、両方のコマンドを同じディレクトリから実行する必要がありました。4342 つのコマンドは異なるディレクトリから実行できます。Claude Code はこのマシン上の任意のプロジェクトから[ID でセッションを検索します](/docs/ja/sessions#where-the-session-picker-looks)。

440 435 

441セッション ID の代わりに、`--resume` にセッションの `.jsonl` [transcript file](/docs/ja/sessions#where-transcripts-are-stored) への絶対パスを渡すことができます。Claude Code はそのファイルに保存されている会話を続けます。436セッション ID の代わりに、`--resume` にセッションの `.jsonl` [トランスクリプトファイル](/docs/ja/sessions#where-transcripts-are-stored)への絶対パスを渡すこともでき、Claude Code はそのファイルに保存されている会話を続けます。

442 437 

443<h2 id="next-steps">438<h2 id="next-steps">

444 次のステップ439 次のステップ

hooks.md +39 −12

Details

425 425 

426マッチしたすべてのフックは並列で実行されます。同じハンドラーを複数の設定ファイルで定義した場合、実行は 1 回だけです。プラグインまたはスキルが持つ同じハンドラーのコピーは別個のものとして扱われます。426マッチしたすべてのフックは並列で実行されます。同じハンドラーを複数の設定ファイルで定義した場合、実行は 1 回だけです。プラグインまたはスキルが持つ同じハンドラーのコピーは別個のものとして扱われます。

427 427 

428ハンドラーは Claude Code の環境を持つ現在のディレクトリで実行されます。現在のディレクトリが存在しなくなった場合(たとえば、別のシェルがセッション中に削除した worktree や一時ディレクトリなど)、Claude Code は次のうち最初に存在するディレクトリからコマンドフックを実行します。セッションを開始したディレクトリ、プロジェクトルート、ホームディレクトリ、またはシステムの一時ディレクトリです。Claude Code は、フォールバック先のディレクトリ名を含む警告を[デバッグログ](#debug-hooks)に記録します。428ハンドラーは Claude Code の環境を持つ現在のディレクトリで実行されます。現在のディレクトリが存在しなくなった場合(たとえば、別のシェルがセッション中に削除した worktree や一時ディレクトリなど)、Claude Code は次のうち最初に存在するディレクトリからコマンドフックを実行します。セッションを開始したディレクトリ、プロジェクトルート、ホームディレクトリ、またはシステムの一時ディレクトリです。Claude Code は、フォールバック先のディレクトリ名を含む警告を[デバッグログ](#debug-hooks)に記録します。デスクトップアプリから開始する worktree セッションについては、[worktree がメインのチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout)を参照してください。

429 429 

430`$CLAUDE_CODE_REMOTE` 環境変数はリモート Web 環境で `"true"` に設定され、ローカル CLI では設定されません。Claude Code v2.1.199 以降では、ローカルセッションにアクティブな Remote Control 接続がある間、[`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/ja/env-vars) が [Remote Control](/docs/ja/remote-control) のセッション ID に設定されます。430`$CLAUDE_CODE_REMOTE` 環境変数はリモート Web 環境で `"true"` に設定され、ローカル CLI では設定されません。Claude Code v2.1.199 以降では、ローカルセッションにアクティブな Remote Control 接続がある間、[`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/ja/env-vars) が [Remote Control](/docs/ja/remote-control) のセッション ID に設定されます。

431 431 


645 645 

646 * **`${CLAUDE_PROJECT_DIR}` は変わらない**: セッションを開始したプロジェクトルートを引き続き指すため、`${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh` のようなコマンドは、引き続きメインのチェックアウト内のスクリプトを実行します。646 * **`${CLAUDE_PROJECT_DIR}` は変わらない**: セッションを開始したプロジェクトルートを引き続き指すため、`${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh` のようなコマンドは、引き続きメインのチェックアウト内のスクリプトを実行します。

647 * **`cwd` は Claude に追従する**: フックの[入力 JSON](#common-input-fields) の `cwd` フィールドは、Claude が worktree に入った後はその worktree のルートになり、Claude が `cd` を実行した後は新しいディレクトリになります。Claude がどのディレクトリで作業しているかをフックが知る必要がある場合は、このフィールドを読み取ってください。647 * **`cwd` は Claude に追従する**: フックの[入力 JSON](#common-input-fields) の `cwd` フィールドは、Claude が worktree に入った後はその worktree のルートになり、Claude が `cd` を実行した後は新しいディレクトリになります。Claude がどのディレクトリで作業しているかをフックが知る必要がある場合は、このフィールドを読み取ってください。

648 

649 デスクトップアプリから開始する worktree セッションで `${CLAUDE_PROJECT_DIR}` がどこを指すかについては、[worktree がメインのチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout)を参照してください。

648</Note>650</Note>

649 651 

650パス プレースホルダーを参照するフックには [exec フォーム](#exec-form-and-shell-form)を優先してください。シェル フォームでは、各プレースホルダーをダブル クォートで囲みます。652パス プレースホルダーを参照するフックには [exec フォーム](#exec-form-and-shell-form)を優先してください。シェル フォームでは、各プレースホルダーをダブル クォートで囲みます。


782| `effort` | フックの実行時に有効な [effort レベル](/docs/ja/model-config#adjust-effort-level)を保持する `level` フィールドを持つオブジェクト: `"low"`、`"medium"`、`"high"`、`"xhigh"`、または `"max"`。アクティブなモデルがサポートしていないレベルを設定した場合、`level` は Claude Code が代わりに実行したレベルを報告します。そのレベルの選び方については [effort レベルを調整](/docs/ja/model-config#adjust-effort-level)を参照してください。オブジェクトは[ステータスライン](/docs/ja/statusline#available-data)の `effort` フィールドと一致します。現在のモデルが effort パラメータをサポートしている場合、`PreToolUse`、`PostToolUse`、`Stop`、`SubagentStop` などのツール使用コンテキスト内で発火するイベントに存在します。レベルは、フック コマンドと Bash ツールでも `$CLAUDE_EFFORT` 環境変数として利用可能です。 |784| `effort` | フックの実行時に有効な [effort レベル](/docs/ja/model-config#adjust-effort-level)を保持する `level` フィールドを持つオブジェクト: `"low"`、`"medium"`、`"high"`、`"xhigh"`、または `"max"`。アクティブなモデルがサポートしていないレベルを設定した場合、`level` は Claude Code が代わりに実行したレベルを報告します。そのレベルの選び方については [effort レベルを調整](/docs/ja/model-config#adjust-effort-level)を参照してください。オブジェクトは[ステータスライン](/docs/ja/statusline#available-data)の `effort` フィールドと一致します。現在のモデルが effort パラメータをサポートしている場合、`PreToolUse`、`PostToolUse`、`Stop`、`SubagentStop` などのツール使用コンテキスト内で発火するイベントに存在します。レベルは、フック コマンドと Bash ツールでも `$CLAUDE_EFFORT` 環境変数として利用可能です。 |

783| `hook_event_name` | 発火したイベントの名前 |785| `hook_event_name` | 発火したイベントの名前 |

784 786 

785`--agent` で実行するか、サブエージェント内で実行する場合、2 つの追加フィールドが含まれます。787`agent_id` と `agent_type` は、サブエージェント、[インプロセスのチームメイト](/docs/ja/agent-teams#choose-a-display-mode)、`--agent` で選択したエージェントなど、フックがどのエージェント内で発火したかをスクリプトに伝えます。

786 788 

787| フィールド | 説明 |789| フィールド | 説明 |

788| :- | :- |790| :- | :- |

789| `agent_id` | サブエージェントの一意の識別子。フックがサブエージェント呼び出し内で発火する場合にのみ存在します。これを使用して、サブエージェント フック呼び出しをメイン スレッド呼び出しから区別します。 |791| `agent_id` | フックが発火したサブエージェントまたはインプロセスのチームメイトの一意の識別子。 |

790| `agent_type` | エージェント名(例えば、`"Explore"` または `"security-reviewer"`)。セッションが `--agent` を使用するか、フックがサブエージェント内で発火する場合に存在します。サブエージェントの場合、サブエージェントのタイプがセッションの `--agent` 値よりも優先されます。カスタム サブエージェントとプラグイン サブエージェントが報告する値と、プラグイン スコープ名に対する matcher の記述方法については、[SubagentStart](#subagentstart) を参照してください。 |792| `agent_type` | エージェント名(例えば、`"Explore"` または `"security-reviewer"`)。セッションが `--agent` を使用するか、フックがサブエージェント内で発火する場合に存在します。サブエージェントの場合、サブエージェントのタイプがセッションの `--agent` 値よりも優先されます。カスタム サブエージェントとプラグイン サブエージェントが報告する値と、プラグイン スコープ名に対する matcher の記述方法については、[SubagentStart](#subagentstart) を参照してください。 |

791 793 

792[`SessionStart`](#sessionstart) フックのみが `model` フィールドを受け取ることができ、Claude Code が常にそれを含めるとは限りません。[`PreModelSwitch`](#premodelswitch) と [`PostModelSwitch`](#postmodelswitch) フックは代わりに `from_model` と `to_model` を受け取るため、セッション中に変化するモデルを追跡するには PostModelSwitch フックを使用してください。794[`SessionStart`](#sessionstart) フックのみが `model` フィールドを受け取ることができ、Claude Code が常にそれを含めるとは限りません。[`PreModelSwitch`](#premodelswitch) と [`PostModelSwitch`](#postmodelswitch) フックは代わりに `from_model` と `to_model` を受け取るため、セッション中に変化するモデルを追跡するには PostModelSwitch フックを使用してください。


855 857 

856ほとんどのイベントでは、Claude Code は stdout をデバッグ ログに書き込み、トランスクリプトには表示しません。例外は `UserPromptSubmit`、`UserPromptExpansion`、`SessionStart`、`PostModelSwitch` で、Claude Code はプレーン テキストの stdout を Claude が見て行動できるコンテキストとして追加します。858ほとんどのイベントでは、Claude Code は stdout をデバッグ ログに書き込み、トランスクリプトには表示しません。例外は `UserPromptSubmit`、`UserPromptExpansion`、`SessionStart`、`PostModelSwitch` で、Claude Code はプレーン テキストの stdout を Claude が見て行動できるコンテキストとして追加します。

857 859 

858Claude Code が stdout を [JSON 出力](#json-output)として読み取るかプレーン テキストとして読み取るかは、前後の空白を無視したうえで、その開始と終了の文字によって決まります。860[非同期](#how-async-hooks-execute)でないフックの場合、Claude Code は、出力全体が前後に空白以外何もない 1 つの JSON オブジェクトであるときに stdout を [JSON 出力](#json-output)として解析し、それ以外の場合はプレーン テキストまたは解析失敗として扱います。

859 861 

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

861* **`{` で始まるが `}` で終わらない**: Claude Code はプレーン テキストとして扱います。863* **`{` で始まらない出力、または `{` で始まり `}` で終わらない出力**: プレーン テキストとして扱われます。このルールにより、JSON 配列や引用符で囲まれた JSON 文字列はプレーン テキストになります。

862* **その他の文字で始まる**: JSON 配列や引用符で囲まれた JSON 文字列を含め、Claude Code はプレーン テキストとして扱います。864* **それぞれが単独で JSON として解析できる 2 行以上の出力で、最初の行が `{` で始まり最後の行が `}` で終わるもの**: フィールドを設定する JSON 出力オブジェクトである行がない場合はプレーン テキスト、そのような行がある場合は解析失敗になります。

865* **`{` で始まり `}` で終わるが有効な JSON ではないその他の出力**: 解析失敗になります。

863 866 

864Claude Code が stdout を JSON として解析しようとして失敗した場合、または解析されたオブジェクトが[スキーマ検証](#json-output)に失敗した場合、実行は[非ブロッキング エラー](#exit-code-output)になります。`<hook name> hook error` 通知には解析または検証のメッセージが含まれます。プレーン テキストの stdout をコンテキストとして追加するイベントでは、Claude Code は解析に失敗した stdout を追加しません。867Claude Code が stdout を JSON として解析しようとして失敗した場合、または解析されたオブジェクトが[スキーマ検証](#json-output)に失敗した場合、実行は[非ブロッキング エラー](#exit-code-output)になります。`<hook name> hook error` 通知には解析または検証のメッセージが含まれます。プレーン テキストの stdout をコンテキストとして追加するイベントでは、Claude Code は解析に失敗した stdout を追加しません。

865 868 


1050 フックごとに 1 つのアプローチを選択してください。終了コードのみでシグナリングするか、終了 0 して構造化制御のために JSON を出力するかのいずれかです。両方を混在させた場合、終了 2 は[ブロッキング効果](#exit-code-2-behavior-per-event)を維持し、Claude Code は引き続き JSON フィールドを読み取ります。ただし、[終了コード 2](#exit-code-2) で説明されている elicitation の例外が 1 つあります。1053 フックごとに 1 つのアプローチを選択してください。終了コードのみでシグナリングするか、終了 0 して構造化制御のために JSON を出力するかのいずれかです。両方を混在させた場合、終了 2 は[ブロッキング効果](#exit-code-2-behavior-per-event)を維持し、Claude Code は引き続き JSON フィールドを読み取ります。ただし、[終了コード 2](#exit-code-2) で説明されている elicitation の例外が 1 つあります。

1051</Note>1054</Note>

1052 1055 

1053フックの stdout には JSON オブジェクトのみが含まれている必要があります。シェル プロファイルがスタートアップ時にテキストを出力する場合、JSON 解析に干渉する可能性があります。トラブルシューティング ガイドの[フックの JSON が効果を持たない](/docs/ja/hooks-guide#hook-json-has-no-effect)を参照してください。1056stdout には JSON オブジェクト以外何も出力しないでください。[非同期](#how-async-hooks-execute)でないフックの場合、シェル プロファイルがスタートアップ時に出力する行など、他のテキストがあると Claude Code はオブジェクトを JSON として読み取れなくなります。そのテキストを見つけて抑制する方法については、[フックの JSON が効果を持たない](/docs/ja/hooks-guide#hook-json-has-no-effect)を参照してください。

1054 1057 

1055フックの `additionalContext`、`systemMessage`、`initialUserMessage` の文字列、およびプレーン stdout は 10,000 文字に制限されています。1058フックの `additionalContext`、`systemMessage`、`initialUserMessage` の文字列、およびプレーン stdout は 10,000 文字に制限されています。

1056 1059 


1142 1145 

1143複数のフックが同じイベントに対して `additionalContext` を返す場合、Claude はすべての値を受け取ります。1146複数のフックが同じイベントに対して `additionalContext` を返す場合、Claude はすべての値を受け取ります。

1144 1147 

1148文字列に `<system-reminder>` または `</system-reminder>` タグが含まれている場合、Claude はそのタグの `<` が `&lt;` に置き換えられた文字列を受け取ります。

1149 

1145値が 10,000 文字を超える場合、Claude Code はテキストをセッション ディレクトリ内のファイルに書き込み、代わりにファイル パスと最初の最大 2,000 文字のプレビューを Claude に渡します。Claude はファイルを読むことができますが、Claude Code はそれを読むよう求めません。1150値が 10,000 文字を超える場合、Claude Code はテキストをセッション ディレクトリ内のファイルに書き込み、代わりにファイル パスと最初の最大 2,000 文字のプレビューを Claude に渡します。Claude はファイルを読むことができますが、Claude Code はそれを読むよう求めません。

1146 1151 

1147Claude が現在の環境の状態または実行されたばかりの操作について知っておくべき情報に `additionalContext` を使用します。1152Claude が現在の環境の状態または実行されたばかりの操作について知っておくべき情報に `additionalContext` を使用します。


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

1365</h4>1370</h4>

1366 1371 

1367SessionStart フックは `CLAUDE_ENV_FILE` 環境変数にアクセスできます。この変数は、後続の Bash コマンドのために環境変数を永続化できるファイルパスを提供します。1372SessionStart フックは `CLAUDE_ENV_FILE` 環境変数にアクセスできます。この変数はファイルパスを提供し、そのファイルに、セッション中に Claude が後で実行するシェルコマンド向けの環境変数を永続化できます。

1368 1373 

1369個別の環境変数を設定するには、`export` 文を `CLAUDE_ENV_FILE` に書き込みます。他のフックが設定した変数を保持するには、追記(`>>`)を使用してください。1374個別の環境変数を設定するには、`export` 文を `CLAUDE_ENV_FILE` に書き込みます。他のフックが設定した変数を保持するには、追記(`>>`)を使用してください。

1370 1375 


1399exit 01404exit 0

1400```1405```

1401 1406 

1407各 Bash コマンドは、コマンド自体の前にファイルの内容をシェルコードとして実行するため、そこに書く行では `export PATH="$PATH:./node_modules/.bin"` 内の `$PATH` 参照のように、Bash が評価するものは何でも使用できます。

1408 

1409<a id="persisted-variables-in-powershell-commands" />

1410 

1411<h5 id="persisted-variables-in-powershell-commands">

1412 PowerShell コマンドでの永続化された変数

1413</h5>

1414 

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)スクリプトのすべてにわたって、すべての行が次のいずれかである場合のみです。

1416 

1417* 空行または `#` コメント

1418* 行頭にある 1 つの代入。`export NAME=value`、`declare -x NAME=value`、または `NAME=value` の形式で記述され、値は Bash が記述どおりにそのまま使用するものであること。値は次の要素を任意に組み合わせて構成されます:文字、数字、および `_ @ % + = : , . / -` の文字のみを使用したクォートなしのテキスト、シングルクォートで囲まれたテキスト、内部の `$`、バッククォート、`"` がバックスラッシュでエスケープされたダブルクォートで囲まれたテキスト

1419 

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 コマンドは変数を一切受け取りません。

1421 

1402<Note>1422<Note>

1403 `CLAUDE_ENV_FILE` は、SessionStart、[Setup](#setup)、[CwdChanged](#cwdchanged)、[FileChanged](#filechanged) の各フックで利用できます。その他の種類のフックはこの変数にアクセスできません。1423 `CLAUDE_ENV_FILE` は SessionStart、[Setup](#setup)、[CwdChanged](#cwdchanged)、[FileChanged](#filechanged) フックで利用できます。他のフックイベントはこの変数にアクセスできず、[`"shell": "powershell"`](#command-hook-fields) によるものか、Git Bash のない Windows でのデフォルトによるものかにかかわらず、PowerShell で実行されるフックもアクセスできません。

1404</Note>1424</Note>

1405 1425 

1406<h3 id="setup">1426<h3 id="setup">


2030 2050 

2031| フィールド | 説明 |2051| フィールド | 説明 |

2032| :- | :- |2052| :- | :- |

2033| `permissionDecision` | `"allow"` は権限プロンプトをスキップします。ただし、[どのモードでも自動承認されないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)と、[`updatedInput` との組み合わせ](#allow-with-updatedinput)が必要な `AskUserQuestion` および `ExitPlanMode` は除きます。`"deny"` はツール呼び出しを防ぎます。`"ask"` はユーザーに確認を求めます。`"defer"` は、後でツールを再開できるように正常に終了します。フックが何を返しても、[拒否ルールと確認ルール](/docs/ja/permissions#manage-permissions)は引き続き評価されます |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)は引き続き評価されます |

2034| `permissionDecisionReason` | `"ask"` の場合、権限プロンプトでユーザーに表示されます。誰もそのプロンプトに回答できない `-p` の実行で Claude Code が[呼び出しを拒否する](/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs)場合は、代わりに Claude がツールの結果でその理由を読み取ります。`"deny"` の場合は Claude に表示されます。`"allow"` と `"defer"` の場合は、[デバッグログ](#debug-hooks)にのみ書き込まれます |2054| `permissionDecisionReason` | `"ask"` の場合、権限プロンプトでユーザーに表示されます。誰もそのプロンプトに回答できない `-p` の実行で Claude Code が[呼び出しを拒否する](/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs)場合は、代わりに Claude がツールの結果でその理由を読み取ります。`"deny"` の場合は Claude に表示されます。`"allow"` と `"defer"` の場合は、[デバッグログ](#debug-hooks)にのみ書き込まれます |

2035| `updatedInput` | 実行前にツールの入力パラメーターを変更します。入力オブジェクト全体を置き換えるため、変更したフィールドとともに変更していないフィールドも含めてください。Claude Code は、権限ルールと Bash コマンドの[自動バックグラウンド化の適格性](/docs/ja/tools-reference#foreground-commands-that-move-to-the-background)を、Claude が送信した入力ではなく、フックが返した入力に対して評価します。自動承認するには `"allow"` と、変更された入力をユーザーに表示するには `"ask"` と組み合わせます。`"defer"` の場合は無視されます |2055| `updatedInput` | 実行前にツールの入力パラメーターを変更します。入力オブジェクト全体を置き換えるため、変更したフィールドとともに変更していないフィールドも含めてください。Claude Code は、権限ルールと Bash コマンドの[自動バックグラウンド化の適格性](/docs/ja/tools-reference#foreground-commands-that-move-to-the-background)を、Claude が送信した入力ではなく、フックが返した入力に対して評価します。自動承認するには `"allow"` と、変更された入力をユーザーに表示するには `"ask"` と組み合わせます。`"defer"` の場合は無視されます |

2036| `additionalContext` | ツールの結果とともに Claude のコンテキストに追加される文字列。`permissionDecision` が `"defer"` の場合は無視されます。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |2056| `additionalContext` | ツールの結果とともに Claude のコンテキストに追加される文字列。`permissionDecision` が `"defer"` の場合は無視されます。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |


2136再開時に遅延されたツールが利用できなくなっている場合、プロセスはフックが発火する前に `stop_reason: "tool_deferred_unavailable"` と `is_error: true` で終了します。これは、ツールを提供していた MCP サーバーが再開されたセッションで接続されていない場合に発生します。どのツールが見つからなくなったかを特定できるように、`deferred_tool_use` ペイロードは引き続き含まれます。2156再開時に遅延されたツールが利用できなくなっている場合、プロセスはフックが発火する前に `stop_reason: "tool_deferred_unavailable"` と `is_error: true` で終了します。これは、ツールを提供していた MCP サーバーが再開されたセッションで接続されていない場合に発生します。どのツールが見つからなくなったかを特定できるように、`deferred_tool_use` ペイロードは引き続き含まれます。

2137 2157 

2138<Note>2158<Note>

2139 遅延されたセッションを plan モードで再開するには、Claude Code が承認のために計画を提示できるよう、`--resume` とともに [`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) を渡してください。特定の他の起動フラグを渡すと、再開された実行は plan モードに戻りません。[`-p` で plan モードで再開する](/docs/ja/sessions#resume-in-plan-mode-with-p)を参照してください。Claude Code v2.1.246 以降が必要です。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 以降が必要です。

2140 2160 

2141 `-p` で再開する場合、Claude Code はそれ以外の保存された権限モードを復元しません。新しい `claude -p` の実行が開始する権限モードで実行を開始するため、遅延されたセッションで `--permission-mode` または `--dangerously-skip-permissions` を使用していた場合は、再度渡してください。`-p` なしで `claude --resume <session-id>` を使って再開する場合、Claude Code は保存された権限モードを復元します。例外については[再開時の権限モード](/docs/ja/sessions#permission-mode-on-resume)に記載されています。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)に記載されています。

2142</Note>2162</Note>


4303 4323 

4304バックグラウンド プロセスが終了した後、Claude Code はフックの JSON レスポンスに含まれる `additionalContext` フィールドと `systemMessage` フィールドを次の会話ターンで Claude に配信します。同期フックの `systemMessage` とは異なり、どちらのフィールドもユーザーには表示されません。4324バックグラウンド プロセスが終了した後、Claude Code はフックの JSON レスポンスに含まれる `additionalContext` フィールドと `systemMessage` フィールドを次の会話ターンで Claude に配信します。同期フックの `systemMessage` とは異なり、どちらのフィールドもユーザーには表示されません。

4305 4325 

4326JSON レスポンスは、stdout に単独で出力するか、それ自体だけの 1 行として出力します。

4327 

4328* **stdout に単独で出力**: レスポンスが stdout 上の唯一のテキストである場合、整形された `jq` 出力のように複数行にまたがってもかまいません。複数行にまたがるには Claude Code v2.1.295 以降が必要です。

4329* **それ自体だけの 1 行として出力**: `jq -c` を使用するなどしてレスポンスが単独で 1 行に収まる場合、非同期フックは stdout に他のテキストを出力できます。

4330 

4306Claude Code は JSON レスポンスを同期フックと同じ[出力スキーマ](#json-output)に対して検証し、`systemMessage` が文字列でないなど、値の型が間違っているフィールドをドロップします。これは配信する代わりに行われます。`--debug` で実行すると、ドロップされた各フィールドに名前を付けた警告が表示されます。v2.1.202 より前では、非同期フックからの不正な形式の JSON 出力はセッションをクラッシュさせる可能性があり、セッションが再開されるたびにクラッシュが再発生していました。4331Claude Code は JSON レスポンスを同期フックと同じ[出力スキーマ](#json-output)に対して検証し、`systemMessage` が文字列でないなど、値の型が間違っているフィールドをドロップします。これは配信する代わりに行われます。`--debug` で実行すると、ドロップされた各フィールドに名前を付けた警告が表示されます。v2.1.202 より前では、非同期フックからの不正な形式の JSON 出力はセッションをクラッシュさせる可能性があり、セッションが再開されるたびにクラッシュが再発生していました。

4307 4332 

4308非同期フック完了通知はデフォルトで抑制されます。これらを表示するには、`Ctrl+O` で詳細モードを有効にするか、`--verbose` で Claude Code を開始します。4333非同期フック完了通知はデフォルトで抑制されます。これらを表示するには、`Ctrl+O` で詳細モードを有効にするか、`--verbose` で Claude Code を開始します。


44562026-07-19T02:03:24.382Z [DEBUG] "Hook PostToolUse:Write (PostToolUse) success:\nhook-ran"44812026-07-19T02:03:24.382Z [DEBUG] "Hook PostToolUse:Write (PostToolUse) success:\nhook-ran"

4457```4482```

4458 4483 

4484遅いフックを見つけるには、ログで所要時間で終わる `Hooks:` 行を検索します。Claude Code v2.1.296 以降では、ツール イベント、`UserPromptSubmit`、`SessionStart`、`Stop`、およびその他のいくつかのイベントに対する各コマンド フックは、何を出力したかにかかわらず、終了時にこの行を 1 つ残します。この行には、イベント名とフックがマッチしたツール名またはその他の値をコロンでつないだもの、続いて角括弧で囲まれたフックのコマンド、フックの提供元のプラグイン(ある場合)、実行の終了状態、および所要時間が示されます。例: `Hooks: PostToolUse:Write [.claude/hooks/log-write.sh] finished with status 0 (31ms)`。実行は `timed out after <N>ms`、`cancelled`、`moved to the background`、または `failed to start` で終了する場合もあります。`Notification`、`SessionEnd`、`PreCompact` などの一部のイベントでは、コマンド フックは代わりに所要時間のない `completed with status` 行を残します。

4485 

4459より詳細なフック マッチング詳細については、`CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose` を設定して、フック matcher 数とクエリ マッチングなどの追加ログ行を確認します。4486より詳細なフック マッチング詳細については、`CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose` を設定して、フック matcher 数とクエリ マッチングなどの追加ログ行を確認します。

4460 4487 

4461フックが発火しない、Stop フックが実行をブロックし続ける、または設定エラーなどの一般的な問題のトラブルシューティングについては、ガイドの[制限事項とトラブルシューティング](/docs/ja/hooks-guide#limitations-and-troubleshooting)を参照してください。`/context`、`/doctor`、および設定の優先順位をカバーするより広範な診断チュートリアルについては、[設定をデバッグ](/docs/ja/debug-your-config)を参照してください。4488フックが発火しない、Stop フックが実行をブロックし続ける、または設定エラーなどの一般的な問題のトラブルシューティングについては、ガイドの[制限事項とトラブルシューティング](/docs/ja/hooks-guide#limitations-and-troubleshooting)を参照してください。`/context`、`/doctor`、および設定の優先順位をカバーするより広範な診断チュートリアルについては、[設定をデバッグ](/docs/ja/debug-your-config)を参照してください。

hooks-guide.md +15 −7

Details

664 664 

665`PreToolUse` では、Claude Code は各 `permissionDecision` 値を次のように処理します:665`PreToolUse` では、Claude Code は各 `permissionDecision` 値を次のように処理します:

666 666 

667* `"allow"`:インタラクティブな許可プロンプトをスキップします。Deny および ask ルール(エンタープライズ管理 deny リストを含む)は引き続き適用されます。また、[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツールのプロンプトと、[組織が `ask` に設定した](/docs/ja/mcp#organization-controls-on-connector-tools) コネクタツールのプロンプトも適用されます。その設定が Claude Code に到達するセッションでも適用されます。667* `"allow"`:対話的な権限プロンプトをスキップします。拒否ルールと確認ルール(エンタープライズの管理 deny リストを含む)は引き続き適用されます。また、[ネットワークパス](/docs/ja/permissions#network-paths) からの読み取り、[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツール、およびその設定が Claude Code に届くセッションで [組織が `ask` に設定した](/docs/ja/mcp#organization-controls-on-connector-tools) コネクタツールに対するプロンプトも引き続き表示されます

668* `"deny"`:ツール呼び出しをキャンセルし、理由を Claude に送信します668* `"deny"`:ツール呼び出しをキャンセルし、理由を Claude に送信します

669* `"ask"`:通常どおりユーザーに許可プロンプトを表示します669* `"ask"`:通常どおりユーザーに許可プロンプトを表示します

670 670 


1015 1015 

1016`PreToolUse` フックは、`dontAsk` を含むすべての[権限モード](/docs/ja/permission-modes)において、権限モードのチェックより前に発火します。`permissionDecision: "deny"` を返すフックは、`bypassPermissions` モードや `--dangerously-skip-permissions` を使用している場合でもツールをブロックします。これにより、ユーザーが権限モードを変更しても回避できないポリシーを適用できます。1016`PreToolUse` フックは、`dontAsk` を含むすべての[権限モード](/docs/ja/permission-modes)において、権限モードのチェックより前に発火します。`permissionDecision: "deny"` を返すフックは、`bypassPermissions` モードや `--dangerously-skip-permissions` を使用している場合でもツールをブロックします。これにより、ユーザーが権限モードを変更しても回避できないポリシーを適用できます。

1017 1017 

1018逆は成り立ちません。`"allow"` を返すフックは、設定の拒否ルールを回避することはできず、また [`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool) が指定された MCP ツールや、その設定が Claude Code に反映されるセッションにおいて[組織が `ask` に設定した](/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツールのプロンプトを抑制することもできません。設定ファイルやプラグインの `hooks/hooks.json` 内のフックは、制限を厳しくすることはできますが、権限ルールが許可する範囲を超えて緩めることはできません。1018逆は成り立ちません。`"allow"` を返すフックは、設定の拒否ルールを回避することはできず、また[ネットワークパス](/docs/ja/permissions#network-paths)からの読み取り、[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool) が指定された MCP ツール、その設定が Claude Code に反映されるセッションにおいて[組織が `ask` に設定した](/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツールのプロンプトを抑制することもできません。設定ファイルやプラグインの `hooks/hooks.json` 内のフックは、制限を厳しくすることはできますが、権限ルールが許可する範囲を超えて緩めることはできません。

1019 1019 

1020インストールした [mod](/docs/ja/plugins/mods/overview) が `tool.check` を処理する場合、そのフックが管理設定にない限り、`PreToolUse` フックがブロックした呼び出しを mod が承認できます。mod に対してどのルールが優先されるかは、[フックで権限を拡張する](/docs/ja/permissions#extend-permissions-with-hooks)に記載されています。1020インストールした [mod](/docs/ja/plugins/mods/overview) が `tool.check` を処理する場合、そのフックが管理設定にない限り、`PreToolUse` フックがブロックした呼び出しを mod が承認できます。mod に対してどのルールが優先されるかは、[フックで権限を拡張する](/docs/ja/permissions#extend-permissions-with-hooks)に記載されています。

1021 1021 


1083 1083 

1084フックは有効な JSON を出力しているが、判断が反映されず、トランスクリプトにもエラーが表示されない場合。どの原因に該当するかを確認してください。1084フックは有効な JSON を出力しているが、判断が反映されず、トランスクリプトにもエラーが表示されない場合。どの原因に該当するかを確認してください。

1085 1085 

1086* **JSON の前に余分な出力がある**:他の何かが先に stdout に書き込んでいます。通常はシェルプロファイル内の無条件の `echo` です。そのため出力が `{` で始まらなくなり、Claude Code はそれを JSON として解析しません。原因と修正方法はこのリストの後で説明します。1086* **JSON の前に余分な出力がある**:他の何かが先に stdout に書き込んでいます。通常はシェルプロファイル内の無条件の `echo` です。そのため出力が `{` で始まらなくなります。[JSON の前に出力されるシェルプロファイルの出力](#shell-profile-output-before-the-json)を参照してください。

1087* **フィールドの階層が間違っている**:各フィールドの配置を [JSON 出力](/docs/ja/hooks#json-output)の形式と比較してください。たとえば、`permissionDecision` はトップレベルではなく `hookSpecificOutput` の内側に配置する必要があります。1087* **フィールドの階層が間違っている**:各フィールドの配置を [JSON 出力](/docs/ja/hooks#json-output)の形式と比較してください。たとえば、`permissionDecision` はトップレベルではなく `hookSpecificOutput` の内側に配置する必要があります。[フィールドの階層が間違っている](#fields-at-the-wrong-level)を参照してください。

1088 1088 

1089Claude Code がシェル形式のコマンドフック(`args` のないもの)を実行する場合、macOS と Linux では `sh -c` を、Windows では Git Bash を、Git Bash がインストールされていない場合はデフォルトで PowerShell を起動します。このシェルは非対話ですが、Git Bash や、`BASH_ENV` が `~/.bashrc` を指しているなどの一部の設定では、プロファイルが読み込まれます。そのプロファイルに無条件の `echo` 文が含まれていると、その出力がフックの JSON の前に付加されます。1089<h4 id="shell-profile-output-before-the-json">

1090 JSON の前に出力されるシェルプロファイルの出力

1091</h4>

1092 

1093フックは非対話シェルで実行されますが、Git Bash や、`BASH_ENV` が `~/.bashrc` を指しているなどの一部の設定では、それでもプロファイルが読み込まれます。プロファイルが出力した内容はすべて、フックの JSON より先に stdout に届きます。

1090 1094 

1091```text theme={null}1095```text theme={null}

1092Shell ready on arm641096Shell ready on arm64

1093{"decision": "block", "reason": "Not allowed"}1097{"decision": "block", "reason": "Not allowed"}

1094```1098```

1095 1099 

1096結合された出力は `{` で始まらなくなるため、Claude Code は stdout 全体をプレーンテキストとして扱い、JSON を無視します。終了コード 0 の場合、トランスクリプトには何も報告されず、解析の試行は[デバッグログ](/docs/ja/hooks#debug-hooks)にのみ記録されます。これを修正するには、シェルプロファイル内の echo 文を、対話シェルでのみ実行されるように囲みます。1100フックが[非同期](/docs/ja/hooks#how-async-hooks-execute)でない限り、Claude Code は `{` で始まらない出力をプレーンテキストとして読み取るため、JSON は無視されます。フックは終了コード 0 で終了しているため、トランスクリプトにもエラーは表示されません。この原因に該当するかを確認するには、`claude --debug` で Claude Code を起動してフックをトリガーし、[デバッグログ](/docs/ja/hooks#debug-hooks)で `Hook output does not start with {` を検索します。これを修正するには、プロファイル内の `echo` 文を、対話シェルでのみ実行されるように囲みます。

1097 1101 

1098```bash theme={null}1102```bash theme={null}

1099# In ~/.zshrc or ~/.bashrc1103# In ~/.zshrc or ~/.bashrc


1104 1108 

1105`$-` 変数にはシェルのフラグが含まれており、`i` は対話を意味します。フックは非対話シェルで実行されるため、echo はスキップされます。1109`$-` 変数にはシェルのフラグが含まれており、`i` は対話を意味します。フックは非対話シェルで実行されるため、echo はスキップされます。

1106 1110 

1111<h4 id="fields-at-the-wrong-level">

1112 フィールドの階層が間違っている

1113</h4>

1114 

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

1108 1116 

1109<h3 id="check-what-a-hook-did">1117<h3 id="check-what-a-hook-did">


1119 1127 

1120特定の終了コードと stdout に対する結果(イベントごとの例外を含む)を調べるには、リファレンスの[終了コードの出力](/docs/ja/hooks#exit-code-output)を参照してください。1128特定の終了コードと stdout に対する結果(イベントごとの例外を含む)を調べるには、リファレンスの[終了コードの出力](/docs/ja/hooks#exit-code-output)を参照してください。

1121 1129 

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

1123 1131 

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

1125 詳細を学ぶ1133 詳細を学ぶ

Details

22 22 

23| ショートカット | 説明 | コンテキスト |23| ショートカット | 説明 | コンテキスト |

24| :- | :- | :- |24| :- | :- | :- |

25| `Ctrl+C` | 割り込み、または入力をクリア | 実行中の操作を割り込みます。何も実行されていない場合、最初のプレスはプロンプト入力をクリアし、2 番目のプレスで Claude Code を終了します |25| `Ctrl+C` | 割り込み、または入力をクリア | 実行中の操作を割り込みます。何も実行されていない場合、最初のプレスはプロンプト入力をクリアし、2 番目のプレスで Claude Code を終了します。プロンプトが空のままの間に `Up` を押すと、クリアされたドラフトが戻ります。これには Claude Code v2.1.288 以降が必要です |

26| `Ctrl+X Ctrl+K` | このセッション内のすべての実行中の[バックグラウンドサブエージェント](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)を停止し、[アーティファクト自動返信](/docs/ja/artifacts#let-claude-reply-to-comments-on-its-own)をセッションの残りの部分で無効にします。3 秒以内に 2 回押して確認します。バックグラウンドサブエージェントの権限プロンプトが開いている間も押すことができます | サブエージェント制御 |26| `Ctrl+X Ctrl+K` | このセッション内のすべての実行中の[バックグラウンドサブエージェント](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)を停止し、[アーティファクト自動返信](/docs/ja/artifacts#let-claude-reply-to-comments-on-its-own)をセッションの残りの部分で無効にします。3 秒以内に 2 回押して確認します。バックグラウンドサブエージェントの権限プロンプトが開いている間も押すことができます | サブエージェント制御 |

27| `Ctrl+D` | Claude Code セッションを終了 | 最初のプレスで確認ヒントが表示され、800ms 以内に 2 番目のプレスで終了します。プロンプトにテキストがある場合、`Ctrl+D` はカーソルの後の文字を削除します |27| `Ctrl+D` | Claude Code セッションを終了 | 最初のプレスで確認ヒントが表示され、800ms 以内に 2 番目のプレスで終了します。プロンプトにテキストがある場合、`Ctrl+D` はカーソルの後の文字を削除します |

28| `Ctrl+G` または `Ctrl+X Ctrl+E` | デフォルトテキストエディタで開く | プロンプトまたはカスタム応答をデフォルトテキストエディタで編集します。`Ctrl+X Ctrl+E` は readline ネイティブバインディングです。`/config` で**外部エディタで最後の応答を表示**をオンにすると、Claude の前の返信を `#` コメント付きコンテキストとしてプロンプトの上に追加します。Claude Code は保存時にコメントブロックを削除します |28| `Ctrl+G` または `Ctrl+X Ctrl+E` | デフォルトテキストエディタで開く | プロンプトまたはカスタム応答をデフォルトテキストエディタで編集します。`Ctrl+X Ctrl+E` は readline ネイティブバインディングです。`/config` で**外部エディタで最後の応答を表示**をオンにすると、Claude の前の返信を `#` コメント付きコンテキストとしてプロンプトの上に追加します。Claude Code は保存時にコメントブロックを削除します |


442 442 

443Claude Code は、入力ボックスが空で、キューに入れたものが他にない場合にのみ、キューに入れたシェルコマンドを取り戻し、その際に入力ボックスをシェルモードに切り替えます。それ以外の場合は、それらをキューに留めておき、`!` プレフィックス付きでリストし、ターンが終了した後に実行します。443Claude Code は、入力ボックスが空で、キューに入れたものが他にない場合にのみ、キューに入れたシェルコマンドを取り戻し、その際に入力ボックスをシェルモードに切り替えます。それ以外の場合は、それらをキューに留めておき、`!` プレフィックス付きでリストし、ターンが終了した後に実行します。

444 444 

445`←` が[セッションをバックグラウンドに移動するのを待っている](/docs/ja/agent-view#switch-sessions-without-leaving-the-terminal)間にキューに入れたテキストを取り戻した場合、テキストは入力ボックスに残り、Claude Code は切り替えをキャンセルします。セッションが移動する瞬間に取り戻した場合、テキストはフォアグラウンド画面とともに消えます。このテキストは送信されていません。取り戻した各メッセージは、それぞれ個別のエントリとして[コマンド履歴](#command-history)に保存されます。復元するには、セッションを再度開き、キューに何もない状態で空のプロンプトで `Up` キーを押します。

446 

445<h2 id="prompt-suggestions">447<h2 id="prompt-suggestions">

446 プロンプト提案448 プロンプト提案

447</h2>449</h2>

Details

299 299 

300[Slack の Claude Code](/docs/ja/slack) と[クラウドセッション](/docs/ja/claude-code-on-the-web)は、ゲートウェイのデプロイには含まれません。クラウドセッションの環境設定で設定されたゲートウェイ変数は適用されません。トラフィックがゲートウェイに留まる必要がある場合、これらのユーザーに対してこれらのサーフェスを有効にしないでください。300[Slack の Claude Code](/docs/ja/slack) と[クラウドセッション](/docs/ja/claude-code-on-the-web)は、ゲートウェイのデプロイには含まれません。クラウドセッションの環境設定で設定されたゲートウェイ変数は適用されません。トラフィックがゲートウェイに留まる必要がある場合、これらのユーザーに対してこれらのサーフェスを有効にしないでください。

301 301 

302[Remote Control](/docs/ja/remote-control) と[音声ディクテーション](/docs/ja/voice-dictation)は両方とも claude.ai ID に依存します。Remote Control はライブセッションをアカウントとペアリングし、音声ディクテーションは claude.ai トランスクリプションエンドポイントに到達します。`ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、または `apiKeyHelper` がアクティブな間は利用できません。Remote Control は `ANTHROPIC_BASE_URL` が Anthropic 以外のホストを指している場合も無効になるため、claude.ai でサインインするだけでは十分ではありません。v2.1.196 より前では、Anthropic 以外のベース URL は Remote Control をブロックしませんでした。302[Remote Control](/docs/ja/remote-control) と[音声ディクテーション](/docs/ja/voice-dictation)は両方とも claude.ai ID に依存します。Remote Control はライブセッションをアカウントとペアリングし、音声ディクテーションは claude.ai トランスクリプションエンドポイントに到達します。`ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、または `apiKeyHelper` がアクティブな間は利用できません。Remote Control は `ANTHROPIC_BASE_URL` が Anthropic 以外のホストを指している場合も無効になるため、claude.ai でサインインするだけでは十分ではありません。

303 303 

304どちらかの機能を復元するには、claude.ai でログインし、その機能がチェックするゲートウェイ変数を設定解除してください。`claude doctor` の Remote Control セクションは、現在 Remote Control をブロックしているものを示します。304どちらかの機能を復元するには、claude.ai でログインし、その機能がチェックするゲートウェイ変数を設定解除してください。`claude doctor` の Remote Control セクションは、現在 Remote Control をブロックしているものを示します。

305 305 

mcp.md +5 −5

Details

283 プロジェクトサーバーの承認とワークスペーストラスト283 プロジェクトサーバーの承認とワークスペーストラスト

284</h4>284</h4>

285 285 

286v2.1.196 以降、`claude mcp list` と `claude mcp get` は `.mcp.json` 承認を、`claude` を実行してワークスペーストラストダイアログを受け入れるまでリポジトリにチェックインされていない設定ファイルからのみ読み込みます。クローンされたリポジトリは独自のサーバーを承認できません。プロジェクトの `.claude/settings.json` にコミットされた [`enableAllProjectMcpServers`](/docs/ja/settings-reference#enableallprojectmcpservers) または [`enabledMcpjsonServers`](/docs/ja/settings-reference#enabledmcpjsonservers) は信頼されていないフォルダでは無視され、サーバーは接続されて健全性チェックされる代わりに `⏸ Pending approval` のままです。286`claude mcp list` と `claude mcp get` は `.mcp.json` 承認を、そのワークスペースで `claude` を実行してワークスペーストラストダイアログを受け入れるまで、リポジトリにチェックインされていない設定ファイルからのみ読み込みます。クローンされたリポジトリは独自のサーバーを承認できません。プロジェクトの `.claude/settings.json` にコミットされた [`enableAllProjectMcpServers`](/docs/ja/settings-reference#enableallprojectmcpservers) または [`enabledMcpjsonServers`](/docs/ja/settings-reference#enabledmcpjsonservers) は信頼されていないフォルダでは無視され、サーバーは接続されて健全性チェックされる代わりに `⏸ Pending approval` のままです。

287 287 

288これらのソースからの承認は信頼されていないフォルダでも適用されます。288これらのソースからの承認は信頼されていないフォルダでも適用されます。

289 289 


859 859 

860通知は各サーバーを 1 回アナウンスし、そのサーバーが接続して再度サインインが必要になるまで、後の起動時のカウントから除外します。`/mcp` は依然としてサインインが必要なすべてのサーバーをリストします。860通知は各サーバーを 1 回アナウンスし、そのサーバーが接続して再度サインインが必要になるまで、後の起動時のカウントから除外します。`/mcp` は依然としてサインインが必要なすべてのサーバーをリストします。

861 861 

862非対話モードでは `/mcp` パネルがないため、Claude Code は OAuth フローを実行できません。v2.1.196 以降、[ツール検索](#scale-with-mcp-tool-search)が有効な(デフォルト)`claude -p` または Agent SDK 実行中に設定されたサーバーが認証を必要とするとき、Claude Code はサーバーのツールが認可されるまで利用できないことを Claude に伝えます。Claude はサーバーが設定されていないかのように応答する代わりに、サインインが必要なサーバーに名前を付けることができます。対話セッションから `/mcp` または `claude mcp login <name>` でサインインを完了してください。862非対話モードでは `/mcp` パネルがないため、Claude Code は OAuth フローを実行できません。[ツール検索](#scale-with-mcp-tool-search)が有効な(デフォルト)`claude -p` または Agent SDK 実行中に設定されたサーバーが認証を必要とするとき、Claude Code はサーバーのツールが認可されるまで利用できないことを Claude に伝えます。これにより Claude は、サインインが必要なサーバーの名前を示すことができます。対話セッションから `/mcp` または `claude mcp login <name>` でサインインを完了してください。

863 863 

864サーバーに `headers.Authorization` を設定し、サーバーがそのヘッダーを拒否する場合、Claude Code は OAuth にフォールバックする代わりに接続が失敗したことを報告します。トークンが MCP エンドポイントに対して有効であることを確認するか、ヘッダーを削除して OAuth フローを使用してください。864サーバーに `headers.Authorization` を設定し、サーバーがそのヘッダーを拒否する場合、Claude Code は OAuth にフォールバックする代わりに接続が失敗したことを報告します。トークンが MCP エンドポイントに対して有効であることを確認するか、ヘッダーを削除して OAuth フローを使用してください。

865 865 


1048 1048 

1049`oauth.scopes` は `authServerMetadataUrl` とサーバーが `/.well-known` で検出するスコープの両方より優先されます。MCP サーバーがリクエストされたスコープセットを決定できるようにするには、設定を解除のままにしてください。1049`oauth.scopes` は `authServerMetadataUrl` とサーバーが `/.well-known` で検出するスコープの両方より優先されます。MCP サーバーがリクエストされたスコープセットを決定できるようにするには、設定を解除のままにしてください。

1050 1050 

1051v2.1.196 以降、`oauth.scopes` が設定されていない場合、Claude Code はサーバーの `WWW-Authenticate` ヘッダーまたは保護されたリソースメタデータによって提供されるスコープをリクエストし、どちらも提供しない場合は `scope` パラメーターを送信しません。自動的に検出された認可サーバーメタデータから完全な `scopes_supported` カタログをリクエストしなくなりました。そのカタログをリクエストすると、管理者のみまたはテンプレートスコープをアドバタイズするアイデンティティプロバイダーが `invalid_scope` エラーで認可リクエストを拒否していました。設定された `authServerMetadataUrl` から取得されたメタデータは、その `scopes_supported` をリクエストされたスコープとして提供します。1051`oauth.scopes` が設定されていない場合、Claude Code は自動的に検出された認可サーバーメタデータから完全な `scopes_supported` カタログをリクエストしません。設定された `authServerMetadataUrl` から取得されたメタデータは、引き続きその `scopes_supported` をリクエストするスコープとして提供します。

1052 1052 

1053認可サーバーが `scopes_supported` で `offline_access` をアドバタイズする場合、Claude Code はそれをピン留めされたスコープに追加して、新しいブラウザーサインインなしでアクセストークンをリフレッシュできるようにします。1053認可サーバーが `scopes_supported` で `offline_access` をアドバタイズする場合、Claude Code はそれをピン留めされたスコープに追加して、新しいブラウザーサインインなしでアクセストークンをリフレッシュできるようにします。

1054 1054 

1055サーバーが後でツール呼び出しに対して 403 `insufficient_scope` を返す場合、呼び出しは[追加の権限が必要](/docs/ja/errors#mcp-server-needs-you-to-sign-in-again)というメッセージで失敗し、サーバーが要求するスコープに名前を付けます。サーバーは `/mcp` で認証が必要として表示されます。1055サーバーが後でツール呼び出しに対して 403 `insufficient_scope` を返す場合、呼び出しは[`needs additional permissions`](/docs/ja/errors#mcp-server-needs-you-to-sign-in-again) というメッセージで失敗し、サーバーが要求するスコープの名前が示されます。サーバーは `/mcp` で認証が必要として表示されます。

1056 1056 

1057そのスコープがピン留めされた `oauth.scopes` にない場合は、それを追加してから `/mcp` を実行し、サーバーを再度認証してください。Claude Code はサーバーが名前を付けたスコープではなく、ピン留めされたスコープをリクエストするため、それを追加せずに再度認証する場合、取得するトークンはまだそれを欠いています。1057そのスコープがピン留めされた `oauth.scopes` にない場合は、それを追加してから `/mcp` を実行し、サーバーを再度認証してください。Claude Code はサーバーが名前を付けたスコープではなく、ピン留めされたスコープをリクエストするため、それを追加せずに再度認証する場合、取得するトークンはまだそれを欠いています。

1058 1058 


1141 1141 

1142Git の `GIT_CONFIG_KEY_<n>` 変数を除き、Claude Code は環境から `TOKEN`、`SECRET`、`PASSWORD`、`KEY`、または `AUTH` を含む名前のような認証情報のように見える名前を持つすべての変数を削除します。したがって、`ANTHROPIC_API_KEY` と `MY_REGISTRY_TOKEN` の両方が削除されます。Claude Code は、`ANTHROPIC_CUSTOM_HEADERS` などの名前がそのパターンに従わない固定リストの認証情報変数も削除します。1142Git の `GIT_CONFIG_KEY_<n>` 変数を除き、Claude Code は環境から `TOKEN`、`SECRET`、`PASSWORD`、`KEY`、または `AUTH` を含む名前のような認証情報のように見える名前を持つすべての変数を削除します。したがって、`ANTHROPIC_API_KEY` と `MY_REGISTRY_TOKEN` の両方が削除されます。Claude Code は、`ANTHROPIC_CUSTOM_HEADERS` などの名前がそのパターンに従わない固定リストの認証情報変数も削除します。

1143 1143 

1144これがヘルパーに適用される場合は、スクリプトにファイルまたは認証情報ストアから認証情報を読み込ませてください。サーバーの `url` が[これらの変数のいずれかを展開する](#environment-variable-expansion-in-mcp-json)場合、ヘルパーが受け取る `CLAUDE_CODE_MCP_SERVER_URL` 値にはその部分が `REDACTED` に置き換えられています。1144これがヘルパーに適用される場合は、スクリプトにファイルまたは認証情報ストアから認証情報を読み込ませてください。サーバーの `url` に `MY_REGISTRY_TOKEN` など[これらの変数のいずれかの実際の値が含まれる](#environment-variable-expansion-in-mcp-json)場合、ヘルパーが受け取る `CLAUDE_CODE_MCP_SERVER_URL` の値でも、その部分が `REDACTED` に置き換えられます。

1145 1145 

1146<h4 id="trust-a-folder-before-its-headershelper-runs">1146<h4 id="trust-a-folder-before-its-headershelper-runs">

1147 headersHelper が実行される前にフォルダーを信頼する1147 headersHelper が実行される前にフォルダーを信頼する

Details

470 値を引用符で囲んでもスペースはエスケープされません。たとえば、`org.name="My Company"` は `My Company` ではなく、引用符を含むリテラル値 `"My Company"` になります。470 値を引用符で囲んでもスペースはエスケープされません。たとえば、`org.name="My Company"` は `My Company` ではなく、引用符を含むリテラル値 `"My Company"` になります。

471</Warning>471</Warning>

472 472 

473<h3 id="attribute-telemetry-to-desktop-ssh-sessions">

474 Desktop SSH セッションにテレメトリを関連付ける

475</h3>

476 

477[Desktop SSH セッション](/docs/ja/desktop#ssh-sessions)がどのリモートマシンで実行されたかを確認するには、カスタム属性で各マシンに名前を付けます。メトリクスとイベントには、セッションが実行されたマシンの名前は含まれません。

478 

479各リモートマシンで、[セッションが読み取る管理設定ファイル](/docs/ja/desktop#managed-settings)内の、テレメトリをオンにする `env` ブロックに [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) を追加します。名前は各マシンのファイルに直接書き込んでください。Claude Code は値を展開しないため、`host.name=$(hostname)` はその文字列のまま届きます。

480 

481次の例では、マシンに `build-7` という名前を付けています。

482 

483```json theme={null}

484{

485 "env": {

486 "CLAUDE_CODE_ENABLE_TELEMETRY": "1",

487 "OTEL_METRICS_EXPORTER": "otlp",

488 "OTEL_LOGS_EXPORTER": "otlp",

489 "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",

490 "OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.example.com:4317",

491 "OTEL_RESOURCE_ATTRIBUTES": "host.name=build-7"

492 }

493}

494```

495 

496他にこの変数を設定するものがない場合、`host.name` は、Desktop SSH セッションでもそのマシン上の CLI でも、リソースブロックに含まれて届きます。カスタム属性が他にどこに表示されるかについては、[複数チームの組織のサポート](#multi-team-organization-support)を参照してください。

497 

498名前が届かない場合は、次のいずれかの原因を確認してください。

499 

500* **Desktop を実行しているコンピューターで設定した**: Desktop は、そこで設定した値を SSH セッションに渡しません

501* **ログインファイルでエクスポートした**: `/etc/profile` などのファイルを読み取るのはログインシェルのみです。そこで `export` した値は、ログインシェルから起動した Claude Code には届きます。Desktop はログインシェル経由で Claude Code を起動しないため、Desktop SSH セッションには届きません。

502* **値の中にスペースが含まれている**: この場合、Claude Code はどのキーもイベントやデータポイントにコピーせず、エラーも報告しません。[値からスペースを取り除いてください](#multi-team-organization-support)。

503* **他の何かがすでにこの変数を設定している**: デスクトップアプリが開始するセッションでは、起動環境ですでに設定されている変数が[設定ファイルより優先されます](/docs/ja/settings-reference#how-env-values-interact-with-your-shell)。[デバッグログ](/docs/ja/debug-your-config)には、無視された各変数の名前が記録されます。サードパーティの Desktop デプロイが、提供する環境で [OTLP エンドポイントを指定している](#how-managed-settings-lock-the-otlp-destination)場合、その環境には Desktop 独自の `OTEL_RESOURCE_ATTRIBUTES` が含まれます。

504 

473<h3 id="example-configurations">505<h3 id="example-configurations">

474 設定例506 設定例

475</h3>507</h3>


1746 1778 

1747すべてのメトリクスとイベントは、以下のリソース属性でエクスポートされます:1779すべてのメトリクスとイベントは、以下のリソース属性でエクスポートされます:

1748 1780 

1749* `service.name`: ターミナルセッションの場合は `claude-code`、[Claude Desktop アプリ](/docs/ja/desktop)のコードタブから開始されたセッションの場合は `claude-code-desktop`1781* `service.name`: ターミナルセッションの場合は `claude-code`、[Claude Desktop アプリ](/docs/ja/desktop)のコードタブから開始されたローカルセッションの場合は `claude-code-desktop`

1750* `service.version`: 現在の Claude Code バージョン、またはコードタブセッションの場合は Desktop アプリバージョン1782* `service.version`: 現在の Claude Code バージョン、またはローカルのコードタブセッションの場合は Desktop アプリバージョン

1751* `os.type`: オペレーティングシステムタイプ (例: `linux`、`darwin`、`windows`)1783* `os.type`: オペレーティングシステムタイプ (例: `linux`、`darwin`、`windows`)

1752* `os.version`: オペレーティングシステムバージョン文字列1784* `os.version`: オペレーティングシステムバージョン文字列

1753* `host.arch`: ホストアーキテクチャ (例: `amd64`、`arm64`)1785* `host.arch`: ホストアーキテクチャ (例: `amd64`、`arm64`)

1754* `wsl.version`: WSL バージョン番号 (Windows Subsystem for Linux で実行している場合のみ存在)1786* `wsl.version`: WSL バージョン番号 (Windows Subsystem for Linux で実行している場合のみ存在)

1755* メーター名: `com.anthropic.claude_code`1787* メーター名: `com.anthropic.claude_code`

1756 1788 

1757`service.name = claude-code` でフィルタリングするコレクターパイプラインまたはダッシュボードがある場合は、コードタブセッションからのテレメトリもキャプチャするために、フィルターに `claude-code-desktop` を追加してください。1789`service.name = claude-code` でフィルタリングするコレクターパイプラインまたはダッシュボードがある場合は、ローカルのコードタブセッションからのテレメトリもキャプチャするために、フィルターに `claude-code-desktop` を追加してください。

1758 1790 

1759<h2 id="roi-measurement-resources">1791<h2 id="roi-measurement-resources">

1760 ROI 測定リソース1792 ROI 測定リソース

Details

183 シェルではなく設定でネットワーク変数を設定する183 シェルではなく設定でネットワーク変数を設定する

184</h3>184</h3>

185 185 

186スーパーバイザーはすべてのターミナルで共有される 1 つのプロセスです。これは最初にそれを起動するシェルの環境を継承し、OS がインストールしたスーパーバイザーはシェル環境をまったく受け取りません。プロキシ、CA パス、または mTLS 変数をシェルにのみエクスポートする場合、そのシェルがスーパーバイザーをコールドスタートしたときはバックグラウンドエージェントに到達しますが、別のシェルが起動した場合は静かに到達しません。186スーパーバイザーはすべてのターミナルで共有される 1 つのプロセスです。これは最初にそれを起動したシェルの環境を継承します。プロキシ、CA パス、または mTLS 変数をシェルにのみエクスポートする場合、そのシェルがスーパーバイザーをコールドスタートしたときはバックグラウンドエージェントに到達しますが、別のシェルが起動した場合は静かに到達しません。

187 187 

188代わりに、`~/.claude/settings.json` の `env` ブロックまたは[マネージド設定](/docs/ja/settings)に同じ変数を配置してください。このページのすべての変数をそこで設定でき、設定はすべてのマシンのすべてのバックグラウンドセッションに到達する唯一の設定です。188代わりに、`~/.claude/settings.json` の `env` ブロックまたは[マネージド設定](/docs/ja/settings)に同じ変数を配置してください。このページのすべての変数をそこで設定でき、設定はすべてのマシンのすべてのバックグラウンドセッションに到達する唯一の設定です。

189 189 


196[`processWrapper`](/docs/ja/settings-reference#processwrapper) 設定を設定して、スーパーバイザー、そのワーカー、および[ランチャーがカバーするもの](/docs/ja/corporate-launcher#what-the-launcher-covers)の下にリストされている他のバックグラウンドプロセスをランチャーでプレフィックスします。同等の [`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/ja/env-vars) 環境変数は、両方が設定されている場合に優先され、同じルールの対象となります。マネージド設定または `~/.claude/settings.json` を通じて配信し、シェルエクスポートではありません。[企業ランチャーの背後で Claude Code を実行する](/docs/ja/corporate-launcher)は、ランチャーが満たす必要があるコントラクト、それが到達するもの、到達しないもの、およびロールアウト方法をカバーしています。196[`processWrapper`](/docs/ja/settings-reference#processwrapper) 設定を設定して、スーパーバイザー、そのワーカー、および[ランチャーがカバーするもの](/docs/ja/corporate-launcher#what-the-launcher-covers)の下にリストされている他のバックグラウンドプロセスをランチャーでプレフィックスします。同等の [`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/ja/env-vars) 環境変数は、両方が設定されている場合に優先され、同じルールの対象となります。マネージド設定または `~/.claude/settings.json` を通じて配信し、シェルエクスポートではありません。[企業ランチャーの背後で Claude Code を実行する](/docs/ja/corporate-launcher)は、ランチャーが満たす必要があるコントラクト、それが到達するもの、到達しないもの、およびロールアウト方法をカバーしています。

197 197 

198<Note>198<Note>

199 既に実行中のスーパーバイザーは、起動時に開始した起動設定を保持します。ランチャー設定をデプロイした後、[`claude daemon stop --any`](/docs/ja/agent-view#the-supervisor-process) を実行して、次の `claude agents` または `--bg` がそれを尊重するスーパーバイザーを起動するようにします。インストール済みサービスは `--any` なしで `claude daemon stop` を実行します。199 既に実行中のスーパーバイザーは、起動時に開始した起動設定を保持します。ランチャー設定をデプロイした後、[`claude daemon stop --any`](/docs/ja/agent-view#the-supervisor-process) を実行して、次の `claude agents` または `--bg` がそれを尊重するスーパーバイザーを起動するようにします。

200</Note>200</Note>

201 201 

202<h2 id="streaming-idle-watchdogs">202<h2 id="streaming-idle-watchdogs">

Details

22| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | 読み取り、ファイル編集、一般的なファイルシステム コマンド(`mkdir`、`touch`、`mv`、`cp` など) | 確認中のコードを反復処理する |22| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | 読み取り、ファイル編集、一般的なファイルシステム コマンド(`mkdir`、`touch`、`mv`、`cp` など) | 確認中のコードを反復処理する |

23| [`plan`](#analyze-before-you-edit-with-plan-mode) | 読み取り、および [auto モード](#eliminate-prompts-with-auto-mode) が利用可能な場合の分類器承認コマンド | コードベースを変更する前に探索する |23| [`plan`](#analyze-before-you-edit-with-plan-mode) | 読み取り、および [auto モード](#eliminate-prompts-with-auto-mode) が利用可能な場合の分類器承認コマンド | コードベースを変更する前に探索する |

24| [`auto`](#eliminate-prompts-with-auto-mode) | すべて、バックグラウンド安全性チェック付き | 長いタスク、プロンプト疲労の軽減 |24| [`auto`](#eliminate-prompts-with-auto-mode) | すべて、バックグラウンド安全性チェック付き | 長いタスク、プロンプト疲労の軽減 |

25| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | 読み取りと事前承認ツール。プロンプトが表示されるものはすべて拒否 | ロックダウン CI とスクリプト |25| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | 作業ディレクトリ内のファイル読み取りと事前承認済みツール。プロンプトが表示されるものはすべて拒否 | ロックダウン CI とスクリプト |

26| [`bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) | すべて | 分離されたコンテナと VM のみ |26| [`bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) | すべて | 分離されたコンテナと VM のみ |

27 27 

28すべてのアクションを確認するモードは、CLI、`claude --help`、VS Code および JetBrains 拡張機能、デスクトップアプリでは **Manual** という名前です。その設定値は `default` で、フックと SDK 統合ではこの値が使用されます。CLI は、値を入力するあらゆる場所で `manual` をエイリアスとして受け付けます。例えば `claude --permission-mode manual` や `"defaultMode": "manual"` のように指定できます。28すべてのアクションを確認するモードは、CLI、`claude --help`、VS Code および JetBrains 拡張機能、デスクトップアプリでは **Manual** という名前です。その設定値は `default` で、フックと SDK 統合ではこの値が使用されます。CLI は、値を入力するあらゆる場所で `manual` をエイリアスとして受け付けます。例えば `claude --permission-mode manual` や `"defaultMode": "manual"` のように指定できます。


466 作業ディレクトリ外の最初の読み取り466 作業ディレクトリ外の最初の読み取り

467</h3>467</h3>

468 468 

469[`permissions.blockReadsOutsideWorkingDirectories`](/docs/ja/settings-reference#permissions-blockreadsoutsideworkingdirectories) がオフの間、auto モードでは[作業ディレクトリ](/docs/ja/permissions#working-directories)外の読み取りを含め、ファイルの読み取りはプロンプトなしで実行されます。Claude が作業ディレクトリ外のパスに対して Read、Grep、または Glob ツールを初めて使用するとき、Claude Code はその読み取りを許可するかどうかを尋ねます。469[`permissions.blockReadsOutsideWorkingDirectories`](/docs/ja/settings-reference#permissions-blockreadsoutsideworkingdirectories) がオフの間、auto モードでは、[ネットワークパスからの読み取り](/docs/ja/permissions#network-paths)以外のファイルの読み取りは、[作業ディレクトリ](/docs/ja/permissions#working-directories)外の読み取りを含め、プロンプトなしで実行されます。Claude が作業ディレクトリ外のパスに対して Read、Grep、または Glob ツールを初めて使用するとき、Claude Code はその読み取りを許可するかどうかを尋ねます。

470 470 

471このプロンプトは、非インタラクティブな `-p` 実行やバックグラウンドセッションでは表示されず、そこでの読み取りは従来どおり実行されます。471このプロンプトは、非インタラクティブな `-p` 実行やバックグラウンドセッションでは表示されず、そこでの読み取りは従来どおり実行されます。

472 472 


530 各アクションは決まった決定順序で処理され、最初に該当したステップが適用されます。530 各アクションは決まった決定順序で処理され、最初に該当したステップが適用されます。

531 531 

532 1. [allow、ask、または deny ルール](/docs/ja/permissions#manage-permissions)に一致するアクションは直ちに解決されます。ただし、以下の例外があります。532 1. [allow、ask、または deny ルール](/docs/ja/permissions#manage-permissions)に一致するアクションは直ちに解決されます。ただし、以下の例外があります。

533 * [保護されたパス](#protected-paths)への書き込みは、allow ルールに一致する場合でも分類器に回されます533 * [保護されたパス](#protected-paths)への書き込みは、allow ルールに一致する場合でも分類器に回されます。保護されたパスが、シンボリックリンクされた設定ファイルの参照先のファイルである場合は、[保護されたパス](#protected-paths)のリストで説明されているとおり、代わりにその書き込みでプロンプトが表示されることがあります

534 * [重要なパス](#critical-paths)を対象とする `rm` および `rmdir` による削除は、どの allow ルールでも承認されません534 * [重要なパス](#critical-paths)を対象とする `rm` および `rmdir` による削除は、どの allow ルールでも承認されません

535 * [`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool) が指定された MCP ツールは、allow ルールに一致する場合でも直接プロンプトを表示します。その設定が Claude Code に届くセッションでは、[組織が `ask` に設定した](/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツールも同様です535 * [`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool) が指定された MCP ツールは、allow ルールに一致する場合でも直接プロンプトを表示します。その設定が Claude Code に届くセッションでは、[組織が `ask` に設定した](/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツールも同様です

536 * [コマンドごとの許可ドメイン](/docs/ja/sandboxing#per-command-allowed-domains-in-auto-mode)を含むシェルコマンドも、allow ルールに一致する場合でも分類器に回されます。ルールが承認するのはコマンドであって、そのホストではないためです536 * [コマンドごとの許可ドメイン](/docs/ja/sandboxing#per-command-allowed-domains-in-auto-mode)を含むシェルコマンドも、allow ルールに一致する場合でも分類器に回されます。ルールが承認するのはコマンドであって、そのホストではないためです

537 * `Bash(git push *)` のように、コマンドの内容にマッチする ask ルールは、権限プロンプトにフォールバックします537 * `Bash(git push *)` のように、コマンドの内容にマッチする ask ルールは、権限プロンプトにフォールバックします

538 * Claude が要求したパス自体は保護されていないものの、[シンボリックリンクのチェック](/docs/ja/permissions#symlinks)によって保護されたパスに解決される書き込みは、プロンプトを表示します538 * Claude が要求したパス自体は保護されていないものの、[シンボリックリンクのチェック](/docs/ja/permissions#symlinks)によって保護されたパスに解決される書き込みは、プロンプトを表示します

539 * [ネットワークパス](/docs/ja/permissions#network-paths)からの読み取りは、allow ルールに一致する場合でもプロンプトを表示します

539 2. 作業ディレクトリ内での読み取り専用アクションとファイル編集は自動承認されます。ただし、[保護されたパス](#protected-paths)への書き込みと、プロンプトを表示する[作業ディレクトリ外の最初の読み取り](#first-read-outside-the-working-directories)は除きます540 2. 作業ディレクトリ内での読み取り専用アクションとファイル編集は自動承認されます。ただし、[保護されたパス](#protected-paths)への書き込みと、プロンプトを表示する[作業ディレクトリ外の最初の読み取り](#first-read-outside-the-working-directories)は除きます

540 * [サーバー側の分類器レビュー](#server-side-classifier-review)が有効なセッションでは、読み取り専用のシェルコマンドと[サンドボックス化された](/docs/ja/sandboxing#sandbox-modes)シェルコマンドはそのレビューを待ち、レビューで指摘された場合はブロックされます541 * [サーバー側の分類器レビュー](#server-side-classifier-review)が有効なセッションでは、読み取り専用のシェルコマンドと[サンドボックス化された](/docs/ja/sandboxing#sandbox-modes)シェルコマンドはそのレビューを待ち、レビューで指摘された場合はブロックされます

541 * 作業ディレクトリ内への書き込みのうち、[シンボリックリンクのチェック](/docs/ja/permissions#symlinks)によって作業ディレクトリ外の場所に解決されるものは、プロンプトを表示します542 * 作業ディレクトリ内への書き込みのうち、[シンボリックリンクのチェック](/docs/ja/permissions#symlinks)によって作業ディレクトリ外の場所に解決されるものは、プロンプトを表示します

542 * Claude が[他の人が作成したアーティファクト](/docs/ja/artifacts#read-an-artifact-shared-with-you)を読み取る場合は、そのセクションに記載されている承認のケースが適用されます543 * Claude が[他の人が作成したアーティファクト](/docs/ja/artifacts#read-an-artifact-shared-with-you)を読み取る場合は、そのセクションに記載されている承認のケースが適用されます

544 * [ネットワークパス](/docs/ja/permissions#network-paths)からの読み取りは、プロンプトを表示します

543 3. それ以外のすべては分類器に回されます。ただし、デフォルトの処理が適用される[重要なパスの削除](#critical-paths)は除きます。ステップ 1 で直接プロンプトを表示するコネクタツールと `requiresUserInteraction` の MCP ツールも分類器には到達しないため、組織が求める承認も同意の手順も自動承認されることはありません545 3. それ以外のすべては分類器に回されます。ただし、デフォルトの処理が適用される[重要なパスの削除](#critical-paths)は除きます。ステップ 1 で直接プロンプトを表示するコネクタツールと `requiresUserInteraction` の MCP ツールも分類器には到達しないため、組織が求める承認も同意の手順も自動承認されることはありません

544 4. 分類器がブロックした場合、Claude はその理由を受け取ります。ほとんどのセッションでは、理由は文章による説明ではなく、`[Data Exfiltration]` のように分類器が該当させたルールの名前です。[拒否をレビューする](/docs/ja/auto-mode-config#review-denials)を参照してください546 4. 分類器がブロックした場合、Claude はその理由を受け取ります。ほとんどのセッションでは、理由は文章による説明ではなく、`[Data Exfiltration]` のように分類器が該当させたルールの名前です。[拒否をレビューする](/docs/ja/auto-mode-config#review-denials)を参照してください

545 547 


593 595 

594Claude Code は、プロンプトを表示する代わりに、明示的な[`ask` ルール](/docs/ja/permissions#manage-permissions)に一致するコールを拒否します。また、allow ルールが一致する場合でも組み込みの `AskUserQuestion` ツールを拒否し、その設定が Claude Code に到達するセッションで[組織が `ask` に設定したコネクタツール](/docs/ja/mcp#organization-controls-on-connector-tools)についても同じことを行います。[`_meta["anthropic/requiresUserInteraction"]`](/docs/ja/mcp#require-approval-for-a-specific-tool)でマークされた MCP ツールも同じ方法で拒否します。これは、承認カードがこのモードが収集しない回答を必要とするためです。596Claude Code は、プロンプトを表示する代わりに、明示的な[`ask` ルール](/docs/ja/permissions#manage-permissions)に一致するコールを拒否します。また、allow ルールが一致する場合でも組み込みの `AskUserQuestion` ツールを拒否し、その設定が Claude Code に到達するセッションで[組織が `ask` に設定したコネクタツール](/docs/ja/mcp#organization-controls-on-connector-tools)についても同じことを行います。[`_meta["anthropic/requiresUserInteraction"]`](/docs/ja/mcp#require-approval-for-a-specific-tool)でマークされた MCP ツールも同じ方法で拒否します。これは、承認カードがこのモードが収集しない回答を必要とするためです。

595 597 

596[重要なパス](#critical-paths)(`rm -rf /` や `rm -rf ~` など)を対象とした `rm` および `rmdir` の削除は、allow ルールが一致する場合や `PreToolUse` フックが許可する場合でも拒否されます。598[重要なパス](#critical-paths)(`rm -rf /` や `rm -rf ~` など)を対象とした `rm` および `rmdir` の削除は、allow ルールが一致する場合や `PreToolUse` フックが許可する場合でも拒否されます。[ネットワークパス](/docs/ja/permissions#network-paths)からの読み取りも同様に拒否されます。

597 599 

598[Claude Code on the web](/docs/ja/claude-code-on-the-web) のクラウドセッションは `defaultMode: "dontAsk"` を無視します。詳細は[bypassPermissions](#skip-all-checks-with-bypasspermissions-mode)を参照してください。600[Claude Code on the web](/docs/ja/claude-code-on-the-web) のクラウドセッションは `defaultMode: "dontAsk"` を無視します。詳細は[bypassPermissions](#skip-all-checks-with-bypasspermissions-mode)を参照してください。

599 601 


639* **受け入れた場合**: Claude Code は `skipDangerousModePermissionPrompt` を `~/.claude/settings.json` の `true` に設定するため、後のセッションではダイアログをスキップします。ダイアログを再度表示するには、そのファイルからキーを削除するか、`false` に設定してください。[`skipDangerousModePermissionPrompt` リファレンス](/docs/ja/settings-reference#skipdangerousmodepermissionprompt)には、ユーザーまたは組織が設定できる他の設定ファイルが記載されています。641* **受け入れた場合**: Claude Code は `skipDangerousModePermissionPrompt` を `~/.claude/settings.json` の `true` に設定するため、後のセッションではダイアログをスキップします。ダイアログを再度表示するには、そのファイルからキーを削除するか、`false` に設定してください。[`skipDangerousModePermissionPrompt` リファレンス](/docs/ja/settings-reference#skipdangerousmodepermissionprompt)には、ユーザーまたは組織が設定できる他の設定ファイルが記載されています。

640* **拒否した場合**: Claude Code は終了します。642* **拒否した場合**: Claude Code は終了します。

641 643 

642[非インタラクティブモード](/docs/ja/headless)ではダイアログは表示されず、`--bg` で開始した[バックグラウンドセッション](/docs/ja/agent-view)はインタラクティブセッションでダイアログを受け入れるまで拒否されます。644[非対話モード](/docs/ja/headless)ではダイアログは表示されません。[バックグラウンドセッション](/docs/ja/agent-view)は、ユーザー設定または管理設定に受け入れが記録されている場合、その受け入れを尊重します。

645 

646* 受け入れが記録されていない場合、`claude --bg --permission-mode bypassPermissions` は対話セッションでダイアログを受け入れるまで拒否されます。

647* `skipDangerousModePermissionPrompt` が `.claude/settings.local.json` でのみ設定されている場合、バックグラウンドセッションはバイパスのリクエストを無視した状態で開始し、通知 `Bypass permissions was requested at launch and ignored · if that was you, ~/.claude/settings.json needs "skipDangerousModePermissionPrompt": true` をピン留めします。バイパスを有効にするには、そのキーを `~/.claude/settings.json` に追加してから、新しいバックグラウンドセッションを開始してください。

643 648 

644Linux と macOS では、Claude Code はこのモードで root として、または `sudo` の下で実行されている場合、起動を拒否します。649Linux と macOS では、Claude Code はこのモードで root として、または `sudo` の下で実行されている場合、起動を拒否します。

645 650 


708* `.devcontainer.json`713* `.devcontainer.json`

709* `.ripgreprc`、`pyrightconfig.json`714* `.ripgreprc`、`pyrightconfig.json`

710* `.mcp.json`、`.claude.json`715* `.mcp.json`、`.claude.json`

716* ユーザー、プロジェクト、またはローカルの[設定ファイル](/docs/ja/settings#settings-files-and-who-they-affect)自体がシンボリックリンクである場合に、その設定ファイルが指し示すファイル(たとえば dotfiles リポジトリ内のファイル)。保護されたパスへの書き込みを分類器にルーティングするモードでは、このファイルへの書き込みは、許可ルールに一致する場合でも、代わりにプロンプトを表示します。このファイル自体のパスが別のフォルダの `.claude/settings.json` など設定ファイルのパスでもある場合、その書き込みは他の保護されたパスへの書き込みと同様に分類器に送られます

711 717 

712<h2 id="critical-paths">718<h2 id="critical-paths">

713 重要なパス719 重要なパス


727 733 

728* ファイルシステムのルート734* ファイルシステムのルート

729* トップレベルディレクトリ、つまりルートの直接の子である `/usr`、`/etc`、`/data` などのディレクトリ735* トップレベルディレクトリ、つまりルートの直接の子である `/usr`、`/etc`、`/data` などのディレクトリ

730* ホームディレクトリ736* ホームディレクトリ。Windows では、`C:\Users\LONGNA~1` のような 8.3 形式の短い名前も含まれます

731* Windows ドライブルートとそのトップレベルディレクトリ(`C:\` や `C:\Windows` など)737* Windows ドライブルートとそのトップレベルディレクトリ(`C:\` や `C:\Windows` など)。`\\?\C:\` や `\\localhost\C$` のような表記も `C:\` として扱われます

732* 作業ディレクトリとその親738* 作業ディレクトリとその親

733* 追加の作業ディレクトリとその親。ただし、削除が `rm -rf <dir>/*` のようにそれらの下のグロブである場合のみ。ディレクトリ自体に対する `rm -rf <dir>` はこのチェックをトリガーしません739* 追加の作業ディレクトリとその親。ただし、削除が `rm -rf <dir>/*` のようにそれらの下のグロブである場合のみ。ディレクトリ自体に対する `rm -rf <dir>` はこのチェックをトリガーしません

734 740 

741ホームディレクトリの 8.3 形式の短い名前、および `\\?\C:\` と `\\localhost\C$` の表記に対するチェックには Claude Code v2.1.292 以降が必要です。

742 

735<h3 id="other-targets-that-count-as-critical-paths">743<h3 id="other-targets-that-count-as-critical-paths">

736 重要なパスとしてカウントされるその他のターゲット744 重要なパスとしてカウントされるその他のターゲット

737</h3>745</h3>


747| コマンド置換の出力のみであるターゲット。`rm` が再帰的な場合 | `rm -rf "$(pwd)"` | Claude Code はコマンドが実行される前にターゲットをチェックできません |755| コマンド置換の出力のみであるターゲット。`rm` が再帰的な場合 | `rm -rf "$(pwd)"` | Claude Code はコマンドが実行される前にターゲットをチェックできません |

748| 重要なパスの後に続く末尾のコマンド置換 | `rm -rf ~/$(cmd)` | Claude Code は、置換が空に展開された場合に残るパス(この例ではホームディレクトリ)をチェックします |756| 重要なパスの後に続く末尾のコマンド置換 | `rm -rf ~/$(cmd)` | Claude Code は、置換が空に展開された場合に残るパス(この例ではホームディレクトリ)をチェックします |

749| バックスラッシュのみであるターゲット | `rm -rf "\\"` | Windows 上の Git Bash は単一のバックスラッシュを現在のドライブのルートとして読み取るため、チェックはすべてのプラットフォームで適用されます |757| バックスラッシュのみであるターゲット | `rm -rf "\\"` | Windows 上の Git Bash は単一のバックスラッシュを現在のドライブのルートとして読み取るため、チェックはすべてのプラットフォームで適用されます |

758| ドライブ文字の代わりに GUID でボリュームを指定する Windows パス | `rm -rf '\\?\Volume{GUID}\work\build'` | パスからはどのドライブ上にあるかがわからないため、重要なパスである可能性があります。Claude Code v2.1.292 以降が必要です |

750| 末尾が `/*` または `/*/` である一部のターゲット | `rm -rf logs/*/*`、`rm -rf logs/*/`、`cd logs && rm -rf a/*` | Claude Code は、コマンドが実行される前に、それらがどのディレクトリに及ぶかを判断できません |759| 末尾が `/*` または `/*/` である一部のターゲット | `rm -rf logs/*/*`、`rm -rf logs/*/`、`cd logs && rm -rf a/*` | Claude Code は、コマンドが実行される前に、それらがどのディレクトリに及ぶかを判断できません |

751 760 

752コマンド置換の出力のみであるターゲットのチェックをオフにするには、Claude Code を起動する環境で [`CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT=1`](/docs/ja/env-vars#variables) を設定します。761コマンド置換の出力のみであるターゲットのチェックをオフにするには、Claude Code を起動する環境で [`CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT=1`](/docs/ja/env-vars#variables) を設定します。

permissions.md +43 −12

Details

36 36 

37v2.1.211 より前では、Claude Code は常にルールを開始ディレクトリに保存していたため、worktree またはサブディレクトリで付与された承認はリポジトリの残りの部分に適用されませんでした。以前のバージョンがサブディレクトリまたは worktree に保存したルールは、そこで開始されたセッションに引き続き適用されます。37v2.1.211 より前では、Claude Code は常にルールを開始ディレクトリに保存していたため、worktree またはサブディレクトリで付与された承認はリポジトリの残りの部分に適用されませんでした。以前のバージョンがサブディレクトリまたは worktree に保存したルールは、そこで開始されたセッションに引き続き適用されます。

38 38 

39場合によっては、権限プロンプトは 1 回限りの承認のみを提供し、「今後は聞かない」オプションもセッションの残りの部分のアクションを許可するオプションもありません。Claude Code はプロンプトがそれらが許可するすべてのものをあなたに表示できる場合にのみ、これらのオプションを提供するため、プロンプトから保存するルールは、その名前のオプションが許可するものだけをカバーします。プロンプトが 1 回限りの承認のみを提供する場合、アクションを 1 回承認するか、[`/permissions`](#manage-permissions)でルール自体を追加してください。39場合によっては、権限プロンプトは 1 回限りの承認のみを提供し、「今後は聞かない」オプションもセッションの残りの部分のアクションを許可するオプションもありません。Claude Code はプロンプトがそれらが許可するすべてのものを表示できる場合にのみ、これらのオプションを提供するため、プロンプトから保存するルールは、その名前のオプションが許可するものだけをカバーします。プロンプトが 1 回限りの承認のみを提供する場合、アクションを 1 回承認するか、[`/permissions`](#manage-permissions)でルール自体を追加してください。`watch` などの exec ラッパーで始まるコマンドや、`-delete` などのアクションを含む `find` コマンドのプロンプトを表示しないようにするには、[exec ラッパーと `find` アクション](#exec-wrappers-and-find-actions)を参照してください。

40 40 

41<h3 id="add-a-comment-when-you-answer-a-permission-prompt">41<h3 id="add-a-comment-when-you-answer-a-permission-prompt">

42 権限プロンプトに回答するときにコメントを追加する42 権限プロンプトに回答するときにコメントを追加する


91| `acceptEdits` | ファイル編集と一般的なファイルシステムコマンド(`mkdir`、`touch`、`mv`、`cp` など)を、作業ディレクトリまたは `additionalDirectories` 内のパスに対して自動的に受け入れます |91| `acceptEdits` | ファイル編集と一般的なファイルシステムコマンド(`mkdir`、`touch`、`mv`、`cp` など)を、作業ディレクトリまたは `additionalDirectories` 内のパスに対して自動的に受け入れます |

92| `plan` | Claude はファイルを読み取り、読み取り専用シェルコマンドを実行して探索しますが、ソースファイルを編集しません。[auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)が利用可能で、分類器が承認したコマンドも実行されます。CLI および VS Code 拡張機能では Plan とラベル付けされています |92| `plan` | Claude はファイルを読み取り、読み取り専用シェルコマンドを実行して探索しますが、ソースファイルを編集しません。[auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)が利用可能で、分類器が承認したコマンドも実行されます。CLI および VS Code 拡張機能では Plan とラベル付けされています |

93| `auto` | ルーチンプロンプトなしで実行されます。シェルコマンドやネットワークリクエストなどのアクションが実行される前に、バックグラウンド[分類器](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)がそれらがリクエストと一致することを確認します |93| `auto` | ルーチンプロンプトなしで実行されます。シェルコマンドやネットワークリクエストなどのアクションが実行される前に、バックグラウンド[分類器](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)がそれらがリクエストと一致することを確認します |

94| `dontAsk` | その他の場合はプロンプトを表示するすべての呼び出しを自動的に拒否します。作業ディレクトリ内のファイル読み取りおよび承認が不要なその他のアクションは実行されます。`/permissions` または `permissions.allow` ルール経由で事前に承認されたツールも実行されます。`AskUserQuestion`、MCP ツール([`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool)とマークされたもの)、およびコネクタツール([組織が `ask` に設定したもの](/docs/ja/mcp#organization-controls-on-connector-tools))は、その設定が Claude Code に到達するセッションでは、許可していてもすべて拒否されます |94| `dontAsk` | その他の場合はプロンプトを表示するすべての呼び出しを自動的に拒否します。作業ディレクトリ内のファイル読み取りおよび承認が不要なその他のアクションは実行されます。`/permissions` または `permissions.allow` ルール経由で事前に承認されたツールも実行されます。`AskUserQuestion`、MCP ツール([`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool)とマークされたもの)、[ネットワークパスからの読み取り](#network-paths)、およびコネクタツール([組織が `ask` に設定したもの](/docs/ja/mcp#organization-controls-on-connector-tools))は、その設定が Claude Code に到達するセッションでは、許可していてもすべて拒否されます |

95| `bypassPermissions` | 権限プロンプトをスキップします。ただし、[どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)は除きます |95| `bypassPermissions` | 権限プロンプトをスキップします。ただし、[どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)は除きます |

96 96 

97<Warning>97<Warning>


240 Bash240 Bash

241</h3>241</h3>

242 242 

243Bash 権限ルールはコマンド全体をマッチさせ、`*` は任意のテキストを表します。[ワイルドカードパターン](#wildcard-patterns)は各ルール形状がマッチするコマンドと `*` の配置場所を示しています。このセクションの残りは、Claude Code が複合コマンドとラッパーをどのようにマッチさせるか、ルールがマッチしないもの、読み取り専用コマンド、およびリダイレクションについて説明しています。243Bash 権限ルールはコマンド全体をマッチさせ、`*` は任意のテキストを表します。[ワイルドカードパターン](#wildcard-patterns)は各ルール形状がマッチするコマンドと `*` の配置場所を示しています。このセクションの残りでは、Claude Code が複合コマンドとラッパーをどのようにマッチさせるか、プレフィックスルールで承認できないラッパーと `find` アクション、ルールがマッチしないもの、読み取り専用コマンド、およびリダイレクションについて説明します。

244 244 

245<h4 id="compound-commands">245<h4 id="compound-commands">

246 複合コマンド246 複合コマンド


268 268 

269このラッパーリストは組み込まれており、設定不可能です。`direnv exec`、`devbox run`、`mise exec`、`npx`、`docker exec` などの開発環境ランナーはリストに含まれていません。これらのツールは引数をコマンドとして実行するため、`Bash(devbox run *)` のようなルールは `run` の後に続くものをマッチさせます。これには `devbox run rm -rf .` が含まれます。環境ランナー内での作業を承認するには、ランナーと内部コマンドの両方を含む特定のルールを記述します。例えば `Bash(devbox run npm test)`。許可する内部コマンドごとに 1 つのルールを追加します。269このラッパーリストは組み込まれており、設定不可能です。`direnv exec`、`devbox run`、`mise exec`、`npx`、`docker exec` などの開発環境ランナーはリストに含まれていません。これらのツールは引数をコマンドとして実行するため、`Bash(devbox run *)` のようなルールは `run` の後に続くものをマッチさせます。これには `devbox run rm -rf .` が含まれます。環境ランナー内での作業を承認するには、ランナーと内部コマンドの両方を含む特定のルールを記述します。例えば `Bash(devbox run npm test)`。許可する内部コマンドごとに 1 つのルールを追加します。

270 270 

271`watch`、`setsid`、`ionice`、`flock` などの Exec ラッパーは、`Bash(watch *)` のようなプレフィックスルールで自動承認することはできず、Manual モードでは常にプロンプトを表示します。同じことが `-exec` または `-delete` を使用する `find` にも適用されます。`Bash(find *)` ルールはこれらの形式をカバーしません。特定の呼び出しを承認するには、完全なコマンド文字列の正確一致ルールを記述します。271<h4 id="exec-wrappers-and-find-actions">

272 Exec ラッパーと `find` アクション

273</h4>

274 

275`Bash(watch *)` や `Bash(find *)` のようなプレフィックスルールは次のコマンドを自動承認できないため、Manual モードではプロンプトが表示されます。

276 

277* **Exec ラッパー**:`watch`、`setsid`、`ionice`、`flock` など

278* **`find`**:`-exec`、`-delete`、`-fprint` など、コマンドを実行する、ファイルを削除する、またはファイルを書き込むアクションを伴う場合、または検索対象のパスをファイルから受け取る `-files0-from` を伴う場合

279 

280`*` を含まない特定の呼び出しを承認するには、`Bash(find build -type f -delete)` のように、完全なコマンド文字列に対する完全一致ルールを記述します。

281 

282`find . -name '*.tmp' -delete` のようにコマンドに `*` が含まれる場合、Claude Code はルールを完全一致ではなく[ワイルドカードパターン](#wildcard-patterns)として読み取るため、コマンドは引き続きプロンプトを表示します。プロンプトが表示されるたびに承認するか、そのコマンドに対して `"allow"` を返す [PreToolUse フック](/docs/ja/hooks#pretooluse-decision-control)を使用してください。

272 283 

273<h4 id="bash-rule-limits">284<h4 id="bash-rule-limits">

274 Bash ルールがマッチしないもの285 Bash ルールがマッチしないもの


301* **書き込み可能なフラグを持つコマンドの引用符なしグロブ**:`find`、`sort`、`sed`、`git` などの書き込み可能または実行可能なフラグを持つコマンドは、グロブが `-delete` のようなフラグに展開される可能性があるため、引用符なしのグロブが存在する場合にプロンプトを表示します。312* **書き込み可能なフラグを持つコマンドの引用符なしグロブ**:`find`、`sort`、`sed`、`git` などの書き込み可能または実行可能なフラグを持つコマンドは、グロブが `-delete` のようなフラグに展開される可能性があるため、引用符なしのグロブが存在する場合にプロンプトを表示します。

302* **別のデーモンを指す `docker`**:読み取り専用形式の `docker` は、`-H`、`--context`、または Podman の `--url` と `--connection` などの異なるデーモンを選択するフラグを持つコマンドでプロンプトを表示します。313* **別のデーモンを指す `docker`**:読み取り専用形式の `docker` は、`-H`、`--context`、または Podman の `--url` と `--connection` などの異なるデーモンを選択するフラグを持つコマンドでプロンプトを表示します。

303* **パス開放フラグを持つ `file`**:`file` は `-m`/`--magic-file` または `-f`/`--files-from` を渡す場合にプロンプトを表示します。これらのフラグにより、`file` はフラグの値で指定されたパスを開くためです。314* **パス開放フラグを持つ `file`**:`file` は `-m`/`--magic-file` または `-f`/`--files-from` を渡す場合にプロンプトを表示します。これらのフラグにより、`file` はフラグの値で指定されたパスを開くためです。

315* **環境変数を出力する可能性のある `ps`**:`ps auxe` や `ps aux -e` のように、引数のいずれかが `e` オプションとして機能する可能性がある場合、`ps` はプロンプトを表示します。このオプションはプロセスの環境変数を出力するためです。`ps aux` と `ps -ef` はプロンプトなしで実行されます。`ps aux -e` のようなダッシュ付き形式のチェックには Claude Code v2.1.290 以降が必要です。

304* **Windows 上のネットワークパス**:`\\server\share\file` などのネットワーク(UNC)パスを含む引数を持つコマンドは、ネットワークパスへのアクセスが Windows 認証情報をそれが指すホストに送信する可能性があるため、プロンプトを表示します。同じチェックが [PowerShell ツール](/docs/ja/tools-reference#powershell-tool)コマンドに適用されます。316* **Windows 上のネットワークパス**:`\\server\share\file` などのネットワーク(UNC)パスを含む引数を持つコマンドは、ネットワークパスへのアクセスが Windows 認証情報をそれが指すホストに送信する可能性があるため、プロンプトを表示します。同じチェックが [PowerShell ツール](/docs/ja/tools-reference#powershell-tool)コマンドに適用されます。

305* **特殊シェル変数への書き込み**:`PATH` または `IFS` などの特定の特殊シェル変数を設定、設定解除、またはループするコマンドは、コマンドの残りが読み取り専用であっても、プロンプトを表示します。317* **特殊シェル変数への書き込み**:`PATH` または `IFS` などの特定の特殊シェル変数を設定、設定解除、またはループするコマンドは、コマンドの残りが読み取り専用であっても、プロンプトを表示します。

306* **解析できないコマンド**:Claude Code がコマンドを完全に解析できない場合、読み取り専用として扱う代わりに承認を求めます。10,000 文字を超えるコマンドは、解析が超過するため常にプロンプトを表示します。318* **解析できないコマンド**:Claude Code がコマンドを完全に解析できない場合、読み取り専用として扱う代わりに承認を求めます。10,000 文字を超えるコマンドは、解析が超過するため常にプロンプトを表示します。


377Claude 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 以降が必要です。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 以降が必要です。

378 390 

379<Warning>391<Warning>

380 Read と Edit deny ルールは Claude の組み込みファイルツール、`cat`、`head`、`tail`、`sed` などの Claude Code が認識する Bash ファイルコマンド、および `> file` と `< file` などの Bash [リダイレクション](#redirections)のターゲットに適用されます。これらは、そのファイルがあるディレクトリから実行する `grep -r pattern .` のような、ファイルを名前で指定せずに読み取るコマンドや、Python または Node スクリプトがファイルを自分で開くような、ファイルを間接的に読み書きする任意のサブプロセスには適用されません。パスへのすべてのプロセスのアクセスをブロックする OS レベルの強制については、[サンドボックスを有効にしてください](/docs/ja/sandboxing)。392 Read と Edit deny ルールは Claude の組み込みファイルツール、`cat`、`head`、`tail`、`sed`、`tee` などの Claude Code が認識する Bash ファイルコマンド、および `> file` と `< file` などの Bash [リダイレクション](#redirections)のターゲットに適用されます。これらは、そのファイルがあるディレクトリから実行する `grep -r pattern .` のような、ファイルを名前で指定せずに読み取るコマンドや、Python または Node スクリプトがファイルを自分で開くような、ファイルを間接的に読み書きする任意のサブプロセスには適用されません。パスへのすべてのプロセスのアクセスをブロックする OS レベルの強制については、[サンドボックスを有効にしてください](/docs/ja/sandboxing)。

381</Warning>393</Warning>

382 394 

383Read と Edit ルールの両方は、[gitignore](https://git-scm.com/docs/gitignore)パターン構文を使用し、4 つの異なるパターンタイプがあります。単一セグメントディレクトリパターンの場合、マッチング深度はルールタイプにも依存し、このセクションの後半で説明されています。395Read と Edit ルールの両方は、[gitignore](https://git-scm.com/docs/gitignore)パターン構文を使用し、4 つの異なるパターンタイプがあります。単一セグメントディレクトリパターンの場合、マッチング深度はルールタイプにも依存し、このセクションの後半で説明されています。


508 520 

509ツールが承認されたファイルを開くとき、[パスが権限チェックが承認した場所にまだ解決されることを確認](/docs/ja/errors#refusing-after-a-symlink-changed)。521ツールが承認されたファイルを開くとき、[パスが権限チェックが承認した場所にまだ解決されることを確認](/docs/ja/errors#refusing-after-a-symlink-changed)。

510 522 

523<h4 id="network-paths">

524 ネットワークパス

525</h4>

526 

527Read、Grep、Glob などの Claude のファイル読み取りツールがネットワークパスから読み取る場合、その読み取りには専用の権限チェックが行われます。ネットワークパスとは別のコンピューターに到達し得るパスのことで、Windows では `\\server\share\file` のような UNC パス、macOS と Linux では `/net/fileserver/notes.txt` のような `/net` 自動マウントパスを指します。このようなパスを参照すると、そのパスが指すホストと通信する場合があり、Windows ではその通信によって認証情報がホストに送信される可能性があります。シェルコマンドには独自のチェックがあります。Manual モードでは、引数に UNC パスを含む読み取り専用の Bash または PowerShell コマンドは [Windows では引き続きプロンプトを表示します](#read-only-commands)。

528 

529Claude Code v2.1.292 以降では、次のいずれもプロンプトを省略しません。

530 

531* **Allow ルール**:`Read` のようなツール全体に対するルールを含め、ルールは読み取りを事前承認しません

532* **PreToolUse フック**:`"allow"` を返す[フック](#extend-permissions-with-hooks)はプロンプトをスキップしません

533* **auto モード**:プロンプトはユーザーに表示され、[分類器](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)は読み取りを判定しません

534 

535`dontAsk` モードでは、Claude Code はプロンプトを表示する代わりに読み取りを拒否します。`bypassPermissions` モード、および [bypass permissions](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode) が利用可能な plan モードの対話型ターミナルセッションでは、このプロンプトなしで読み取りが実行されます。

536 

537このプロンプトなしでネットワーク共有上のファイルを読み取るには、まず共有にローカルパスを割り当てます。

538 

539* **Windows**:[作業ディレクトリ](#working-directories)で説明されているように、共有をドライブ文字にマップし、Claude Code の起動時に `--add-dir` でそのドライブを渡します

540* **macOS と Linux**:[作業ディレクトリがネットワークパスである場合](/docs/ja/errors#working-directory-is-a-network-path)で説明されているように、`/mnt` や `/Volumes` 配下のディレクトリなどのローカルパスに共有をマウントし、そこからファイルを読み取ります

541 

511<h3 id="webfetch">542<h3 id="webfetch">

512 WebFetch543 WebFetch

513</h3>544</h3>

514 545 

515WebFetch ルールは `domain:` プレフィックスを使用し、リクエストされた URL のホスト名に対してマッチします。マッチングは大文字と小文字を区別せず、`*` ワイルドカードをサポートし、ルールとホスト名の両方から末尾の `.` をストリップするため、`example.com.` と `example.com` は同じものとして扱われます。546WebFetch ルールは `domain:` プレフィックスを使用し、リクエストされた URL のホスト名に対してマッチします。マッチングは大文字と小文字を区別せず、`*` ワイルドカードをサポートし、ルールとホスト名の両方から末尾の `.` をストリップするため、`example.com.` と `example.com` は同じものとして扱われます。

516 547 

517* `WebFetch(domain:example.com)` は `example.com` へのリクエストをマッチさせます548* `WebFetch(domain:example.com)` は `example.com` へのリクエストのみをマッチさせます。`api.example.com` などのサブドメインもカバーするには、`WebFetch(domain:*.example.com)` ルールを追加します

518* `WebFetch(domain:*.example.com)` は `api.example.com` や `a.b.example.com` などの任意の深さのサブドメインをマッチさせますが、`example.com` 自体はマッチさせません549* `WebFetch(domain:*.example.com)` は `api.example.com` や `a.b.example.com` などの任意の深さのサブドメインをマッチさせますが、`example.com` 自体はマッチさせません

519* `WebFetch(domain:*)` はすべてのドメインをマッチさせます。ベア `WebFetch` ルールと同じではありません。[すべてのフェッチを許可または拒否](#allow-or-deny-every-fetch)を参照してください550* `WebFetch(domain:*)` はすべてのドメインをマッチさせます。ベア `WebFetch` ルールと同じではありません。[すべてのフェッチを許可または拒否](#allow-or-deny-every-fetch)を参照してください

520 551 

521先頭の `*.` またはベア `*` 以外の任意の位置では、ワイルドカードは 2 つのドット間のテキストのみをマッチさせます。`WebFetch(domain:example.*)` は `example.org` にマッチします。ここで `*` は `org` になりますが、`example.evil.com` にはマッチしません。ここで `*` は `evil.com` になり、ドットを越えます。これにより、末尾のワイルドカードが攻撃者が登録できるドメインをマッチさせるのを防ぎます。552先頭の `*.` またはベア `*` 以外の任意の位置では、ワイルドカードは 2 つのドット間のテキストのみをマッチさせます。`WebFetch(domain:example.*)` は `example.org` にマッチします。ここで `*` は `org` になりますが、`example.evil.com` にはマッチしません。ここで `*` は `evil.com` になり、ドットを越えます。これにより、末尾のワイルドカードが攻撃者が登録できるドメインをマッチさせるのを防ぎます。

522 553 

523WebFetch ルールのワイルドカードは、フェッチをマッチさせるために Claude Code v2.1.172 以降が必要です。554`WebFetch` ルールのワイルドカードは、フェッチをマッチさせるために Claude Code v2.1.172 以降が必要です。

524 555 

525<h4 id="allow-or-deny-every-fetch">556<h4 id="allow-or-deny-every-fetch">

526 すべてのフェッチを許可または拒否557 すべてのフェッチを許可または拒否

527</h4>558</h4>

528 559 

529ベア `WebFetch` ルールは、`"deny": ["WebFetch"]` などの `domain:` 部分のないツール名です。それと `WebFetch(domain:*)` の両方はすべての URL をカバーしますが、Claude Code はそれらを異なる方法で適用し、`domain:` 形式のみがそのドメインをサンドボックスの [許可または拒否ドメインリスト](/docs/ja/sandboxing#network-isolation)に追加します。そのセクションはサンドボックスが尊重するワイルドカード形式とそれを追加したバージョンをリストしています。560ベア `WebFetch` ルールは、`"deny": ["WebFetch"]` などの `domain:` 部分のないツール名です。それと `WebFetch(domain:*)` の両方はすべての URL をカバーしますが、Claude Code はそれらを異なる方法で適用し、`domain:` 形式のみがそのドメインをサンドボックスの [許可または拒否ドメインリスト](/docs/ja/sandboxing#network-isolation)に追加します。そのセクションはサンドボックスが尊重するワイルドカード形式とベア `*` を追加したバージョンをリストしています。

530 561 

531各行は、`allow` リストと `deny` リストでルールが何をするかを示しています。562各行は、`allow` リストと `deny` リストでルールが何をするかを示しています。

532 563 


622 653 

623[mod を信頼するかどうかを決定する](/docs/ja/plugins/mods/overview#decide-whether-to-trust-a-mod)を参照するか、管理設定をデプロイする場合は[組織の mod を管理する](/docs/ja/plugins/mods/admin#know-what-happens-by-default)を参照してください。654[mod を信頼するかどうかを決定する](/docs/ja/plugins/mods/overview#decide-whether-to-trust-a-mod)を参照するか、管理設定をデプロイする場合は[組織の mod を管理する](/docs/ja/plugins/mods/admin#know-what-happens-by-default)を参照してください。

624 655 

625[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool)でマークされた MCP ツールも、フックが `"allow"` を返した場合でもプロンプトを表示します。コネクタツール([組織が `ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools))も同様に、その設定が Claude Code に到達するセッションではプロンプトを表示します。656`AskUserQuestion` や `requiresUserInteraction` でマークされた MCP ツールなど、[ユーザーの操作が必要なツール](/docs/ja/permission-modes#actions-no-mode-auto-approves)では、mod の `tool.check` による承認があってもプロンプトはスキップされません。Claude Code v2.1.292 以降が必要です。[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool)でマークされた MCP ツールは、フックが `"allow"` を返した場合でも引き続きプロンプトを表示します。[ネットワークパス](#network-paths)からの読み取りや、その設定が Claude Code に到達するセッションにおける[組織が `ask` に設定した](/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツールも同様です。

626 657 

627ブロッキングフックは allow ルールよりも優先されます。終了コード 2 で終了するフックは、権限ルールが評価される前にツール呼び出しを停止するため、allow ルールがコールを許可する場合でもブロックが適用されます。プロンプトなしですべての Bash コマンドを実行し、ブロックしたい少数のコマンドを除外するには、allow リストに `"Bash"` を追加し、それらの特定のコマンドを拒否する PreToolUse フックを登録します。適応できるフックスクリプトについては、[保護されたファイルへの編集をブロックする](/docs/ja/hooks-guide#block-edits-to-protected-files)を参照してください。658ブロッキングフックは allow ルールよりも優先されます。終了コード 2 で終了するフックは、権限ルールが評価される前にツール呼び出しを停止するため、allow ルールがコールを許可する場合でもブロックが適用されます。プロンプトなしですべての Bash コマンドを実行し、ブロックしたい少数のコマンドを除外するには、allow リストに `"Bash"` を追加し、それらの特定のコマンドを拒否する PreToolUse フックを登録します。適応できるフックスクリプトについては、[保護されたファイルへの編集をブロックする](/docs/ja/hooks-guide#block-edits-to-protected-files)を参照してください。

628 659 


636* **セッション中**:`/add-dir` コマンドを使用します667* **セッション中**:`/add-dir` コマンドを使用します

637* **永続的な設定**:[設定ファイル](/docs/ja/settings#where-settings-live)の `additionalDirectories` に追加します668* **永続的な設定**:[設定ファイル](/docs/ja/settings#where-settings-live)の `additionalDirectories` に追加します

638 669 

639追加ディレクトリ内のファイルは、元の作業ディレクトリと同じ権限ルールに従います。プロンプトなしで読み取り可能になり、ファイル編集権限は現在の権限モードに従います。670追加ディレクトリ内のファイルは、元の作業ディレクトリと同じ権限ルールに従います。[ネットワークパス](#network-paths)のチェックを除き、プロンプトなしで読み取り可能になり、ファイル編集権限は現在の権限モードに従います。

640 671 

641ほとんどの[ネットワークパス](/docs/ja/errors#working-directory-is-a-network-path)(`\\server\share` などの UNC 共有など)は、作業ディレクトリとして追加できません。これは、ルックアップがそれが指す名前のホストに接続する可能性があるためです。Windows では、代わりに共有をドライブ文字にマップし、起動時に `--add-dir` でドライブを渡します。672ほとんどの[ネットワークパス](/docs/ja/errors#working-directory-is-a-network-path)(`\\server\share` などの UNC 共有など)は、作業ディレクトリとして追加できません。これは、ルックアップがそれが指す名前のホストに接続する可能性があるためです。Windows では、代わりに共有をドライブ文字にマップし、起動時に `--add-dir` でドライブを渡します。

642 673 


648 セッションを別のディレクトリに移動する679 セッションを別のディレクトリに移動する

649</h3>680</h3>

650 681 

651セッションを別の主要な作業ディレクトリに移動するには、現在のディレクトリの横に[ディレクトリを追加](#working-directories)するのではなく、`/cd <path>` を実行します。Claude Code は会話を保持し、新しいディレクトリの `CLAUDE.md` を読み込み、以前にそこで作業していない場合は[ワークスペースを信頼](#project-allow-rules-and-workspace-trust)するよう促します。その後、新しいディレクトリから `--resume` を実行すると、Claude Code は[移動されたセッションを検出](/docs/ja/sessions#resume-a-session)します。682セッションを別の主要な作業ディレクトリに移動するには、現在のディレクトリの横に[ディレクトリを追加](#working-directories)するのではなく、`/cd <path>` を実行します。Claude Code は会話を保持し、新しいディレクトリの `CLAUDE.md` を読み込み、以前にそこで作業していない場合は[ワークスペースを信頼](#project-allow-rules-and-workspace-trust)するよう促します。その後、新しいディレクトリから `--resume` を実行すると、Claude Code は[移動されたセッションを検出](/docs/ja/sessions#where-the-session-picker-looks)します。

652 683 

653移動するとすぐに、Claude Code は新しいディレクトリのプロジェクト設定を適用します。684移動するとすぐに、Claude Code は新しいディレクトリのプロジェクト設定を適用します。

654 685 


671 702 

672これらの例外は、`--add-dir` フラグまたは `/add-dir` コマンドで追加されたディレクトリにのみ適用されます(Agent SDK がフラグを通じて追加するディレクトリを含む)。設定ファイルの `permissions.additionalDirectories` にリストされているディレクトリは、ファイルアクセスのみを許可し、以下の設定は読み込みません。703これらの例外は、`--add-dir` フラグまたは `/add-dir` コマンドで追加されたディレクトリにのみ適用されます(Agent SDK がフラグを通じて追加するディレクトリを含む)。設定ファイルの `permissions.additionalDirectories` にリストされているディレクトリは、ファイルアクセスのみを許可し、以下の設定は読み込みません。

673 704 

674Agent SDK の TypeScript の[`additionalDirectories`](/docs/ja/agent-sdk/typescript#options)オプションと Python の[`add_dirs`](/docs/ja/agent-sdk/python#claudeagentoptions)オプションは、TypeScript オプションが設定キーと同じ名前を共有していても、例外を受け取ります。SDK は各エントリを Claude Code に `--add-dir` として渡すため、これらのディレクトリはフラグで追加されたディレクトリのように動作します。任意のフラグで追加されたディレクトリからのスキル、コマンド、およびサブエージェントは、プロジェクト[設定ソース](/docs/ja/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)を通じて読み込まれるため、CLI で[`--setting-sources`](/docs/ja/cli-reference)を使用するか SDK で `settingSources` を使用してそのソースを除外した場合は読み込まれず、[ベアモード](/docs/ja/headless#start-faster-with-bare-mode)はそれらの中のコマンドとサブエージェントをスキップします。705Agent SDK の TypeScript の [`additionalDirectories`](/docs/ja/agent-sdk/typescript#options) オプションと Python の [`add_dirs`](/docs/ja/agent-sdk/python#claudeagentoptions) オプションは、TypeScript オプションが設定キーと同じ名前を共有していても、例外を受け取ります。SDK は各エントリを Claude Code に `--add-dir` として渡すため、これらのディレクトリはフラグで追加されたディレクトリのように動作します。任意のフラグで追加されたディレクトリからのスキル、コマンド、およびサブエージェントは、`project` [設定ソース](/docs/ja/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)を通じて読み込まれるため、CLI で [`--setting-sources`](/docs/ja/cli-reference) を使用するか SDK で `settingSources` を使用してそのソースを除外した場合は読み込まれず、[bare モード](/docs/ja/headless#start-faster-with-bare-mode)はそれらの中のコマンドとサブエージェントをスキップします。

675 706 

676次の設定タイプは `--add-dir` ディレクトリから読み込まれます。707次の設定タイプは `--add-dir` ディレクトリから読み込まれます。

677 708 

Details

790 790 

791`hooks/hooks.json` のフックと `hooks` マニフェストキーの両方が読み込まれます。すべてのイベントとそのペイロードについては、[Hook events](/docs/ja/hooks#hook-events) を参照してください。791`hooks/hooks.json` のフックと `hooks` マニフェストキーの両方が読み込まれます。すべてのイベントとそのペイロードについては、[Hook events](/docs/ja/hooks#hook-events) を参照してください。

792 792 

793有効な別のプラグインが同じ名前を持つ場合、2 つのうち一方が `hooks/hooks.json` のフックを登録し、もう一方のフックは除外されます。どちらが登録されるか、およびそれを知らせる `/plugin` 内の通知については、[有効な 2 つのプラグインが名前を共有する場合のフック](/docs/ja/plugins/loading#hooks-when-two-enabled-plugins-share-a-name)を参照してください。

794 

793JavaScript 関数として Claude Code 内で実行され、そのインターフェイスに描画できるフックを記述するには、同じ `hooks/hooks.json` の `modules` キーの下にモジュールファイルをリストします。1 つを持つプラグインは mod です。[mod を作成する](/docs/ja/plugins/mods/create)を参照してください。795JavaScript 関数として Claude Code 内で実行され、そのインターフェイスに描画できるフックを記述するには、同じ `hooks/hooks.json` の `modules` キーの下にモジュールファイルをリストします。1 つを持つプラグインは mod です。[mod を作成する](/docs/ja/plugins/mods/create)を参照してください。

794 796 

795<h4 id="when-plugin-hooks-fire">797<h4 id="when-plugin-hooks-fire">

Details

209* **独自のリポジトリを持つプラグイン**: インストールは `Dependency "secrets-vault@your-marketplace" has no git tag satisfying` を含むメッセージで失敗します。209* **独自のリポジトリを持つプラグイン**: インストールは `Dependency "secrets-vault@your-marketplace" has no git tag satisfying` を含むメッセージで失敗します。

210* **相対パスで参照されるプラグイン**: インストールは代わりにマーケットプレイスの現在のコピーを使用し、プラグインがロードされるときに制約がチェックされます。そのコピーが範囲外の場合、依存プラグインは無効のままで、`claude plugin list` は `Requires "secrets-vault@your-marketplace" ~2.1.0, installed 3.0.0` を表示します。210* **相対パスで参照されるプラグイン**: インストールは代わりにマーケットプレイスの現在のコピーを使用し、プラグインがロードされるときに制約がチェックされます。そのコピーが範囲外の場合、依存プラグインは無効のままで、`claude plugin list` は `Requires "secrets-vault@your-marketplace" ~2.1.0, installed 3.0.0` を表示します。

211 211 

212マーケットプレイスが相対パスで参照するプラグインの場合、ローカルフォルダパスとして追加したマーケットプレイスは、フォルダが git リポジトリの場合、そのフォルダの git タグに対して制約を解決します。これには Claude Code v2.1.196 以降が必要です。git リポジトリではないローカルフォルダにはタグがないため、Claude Code はフォルダの現在の内容から依存関係をインストールします。212マーケットプレイスが相対パスで参照するプラグインの場合、ローカルフォルダパスとして追加したマーケットプレイスも、フォルダが git リポジトリであれば、そのフォルダの git タグに対して制約を解決します。git リポジトリではないローカルフォルダにはタグがないため、Claude Code はフォルダの現在の内容から依存関係をインストールします。

213 213 

214<h3 id="confirm-the-resolved-version">214<h3 id="confirm-the-resolved-version">

215 解決されたバージョンを確認する215 解決されたバージョンを確認する


217 217 

218制約が解決されたバージョンを確認するには、シェルで `claude plugin list` を実行します。タグ解決された依存関係は、`2.1.0-8713c5b11005` などの 12 文字のコミットサフィックス付きでバージョンを表示します。218制約が解決されたバージョンを確認するには、シェルで `claude plugin list` を実行します。タグ解決された依存関係は、`2.1.0-8713c5b11005` などの 12 文字のコミットサフィックス付きでバージョンを表示します。

219 219 

220制約チェックは、`plugin.json` の `version` が遅れていても、タグのバージョンを使用します。220制約チェックでは、そのコミット時点の `plugin.json` が遅れている場合でも、`plugin.json` の `version` ではなくタグのバージョンが使用されます。

221 221 

222タグを別のコミットに強制移動する場合、次のインストールは古いキャッシュコピーを再利用する代わりに、そのコミットのコンテンツをフェッチします。プラグインのバージョンがキャッシュキーになる方法については、[バージョンと更新](/docs/ja/plugins/loading#versions-and-updates)を参照してください。222タグを別のコミットに強制移動する場合、次のインストールは古いキャッシュコピーを再利用する代わりに、そのコミットのコンテンツをフェッチします。プラグインのバージョンがキャッシュキーになる方法については、[バージョンと更新](/docs/ja/plugins/loading#versions-and-updates)を参照してください。

223 223 

Details

146* **`archive`**:HTTPS でダウンロードされた zip。ユーザーは `git` またはアカウントを必要とせず、URL へのネットワークアクセスのみが必要です。Claude Code v2.1.224 以降が必要です。各アーカイブを `sha256` でピンして、Claude Code が変更されたダウンロードを拒否するようにしてください。ダウンロードで認証情報を送信するには、[アーカイブダウンロードを認証する](#authenticate-archive-downloads)を参照してください。146* **`archive`**:HTTPS でダウンロードされた zip。ユーザーは `git` またはアカウントを必要とせず、URL へのネットワークアクセスのみが必要です。Claude Code v2.1.224 以降が必要です。各アーカイブを `sha256` でピンして、Claude Code が変更されたダウンロードを拒否するようにしてください。ダウンロードで認証情報を送信するには、[アーカイブダウンロードを認証する](#authenticate-archive-downloads)を参照してください。

147* **パブリック git リポジトリ**:Claude Code は、エントリが `https://` URL を指定する場合、認証情報なしで HTTPS 経由でパブリック `url` または `git-subdir` ソースをクローンします。`github` ソース、または `owner/repo` として記述された `git-subdir` ソースの場合、GitHub SSH キーを持たないユーザーは `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1` を設定します。147* **パブリック git リポジトリ**:Claude Code は、エントリが `https://` URL を指定する場合、認証情報なしで HTTPS 経由でパブリック `url` または `git-subdir` ソースをクローンします。`github` ソース、または `owner/repo` として記述された `git-subdir` ソースの場合、GitHub SSH キーを持たないユーザーは `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1` を設定します。

148 148 

149SSH キーのないマシンのシェルから `claude plugin install` がこの変数なしで成功する場合でも、手順には `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1` を含めたままにしてください。`github` ソースの場合、このコマンドは自動的に HTTPS にフォールバックし、`SSH not configured, cloning via HTTPS` を出力することがあります。セッション内の `/plugin` からのインストールとプラグインの更新はフォールバックしないため、この変数がないと、GitHub SSH キーを持たないユーザーでは失敗します。

150 

1491 つのネットワーク上のチームの場合、共有ファイルシステム上の `directory` マーケットプレイスも git アカウントなしで機能します。ユーザーはパスへの読み取りアクセスのみが必要です。1511 つのネットワーク上のチームの場合、共有ファイルシステム上の `directory` マーケットプレイスも git アカウントなしで機能します。ユーザーはパスへの読み取りアクセスのみが必要です。

150 152 

151<h3 id="what-background-auto-update-does-with-credentials">153<h3 id="what-background-auto-update-does-with-credentials">

Details

80 80 

81クラウドセッションは、リポジトリが [`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces) の下にリストするマーケットプレイスを追加しません。これはワークスペーストラストダイアログが必要であり、クラウドセッションはそれを表示しないためです。81クラウドセッションは、リポジトリが [`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces) の下にリストするマーケットプレイスを追加しません。これはワークスペーストラストダイアログが必要であり、クラウドセッションはそれを表示しないためです。

82 82 

83プロジェクトスコープのスキルディレクトリプラグインは、セッションの[プライマリワーキングディレクトリ](/docs/ja/permissions#working-directories)の `.claude/skills/` からのみ読み込まれ、そのフォルダの[ワークスペーストラストダイアログ](/docs/ja/permissions#what-runs-before-you-trust-a-folder)を受け入れた後のみです。プレーンスキルとコマンドが行うように、[リポジトリルートまでの親ディレクトリを検索](/docs/ja/skills#discovery-from-parent-and-nested-directories)しません。サブディレクトリから起動した場合、リポジトリルートのプラグインは読み込まれません。代わりにリポジトリルートから起動するか、[v2.1.246 以降で `/cd` でセッションをそこに移動](/docs/ja/permissions#move-the-session-to-another-directory)してください。83リポジトリの `.claude/skills/` にあるプラグインが読み込まれない場合は、セッションを開始した場所と、そのフォルダを信頼したかどうかを確認してください:

84 

85* **サブディレクトリで開始した場合**: リポジトリルートのプラグインは読み込まれません。Claude Code はセッションの[プライマリ作業ディレクトリ](/docs/ja/permissions#working-directories)の `.claude/skills/` を読み込み、プレーンなスキルやコマンドとは異なり、プラグインについては[親ディレクトリを検索](/docs/ja/skills#discovery-from-parent-and-nested-directories)しません。代わりにリポジトリルートから起動するか、[v2.1.246 以降で `/cd` でセッションをそこに移動](/docs/ja/permissions#move-the-session-to-another-directory)してください

86* **デスクトップアプリから worktree で開始した場合**: プラグインは worktree の `.claude/skills/` ではなく、メインチェックアウトの `.claude/skills/` から読み込まれます。[worktree がメインチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout)を参照してください

87* **信頼していないフォルダで開始した場合**: プラグインは、そのフォルダの[ワークスペーストラストダイアログ](/docs/ja/permissions#what-runs-before-you-trust-a-folder)を受け入れた後にのみ読み込まれます

84 88 

85プロジェクトスコープのプラグインはリポジトリにチェックインされ、それをクローンするすべての協力者に到達します。そのコンテンツはあなたではなくリポジトリから来るため、`.claude/settings.json` のプロジェクト許可ルールに適用されるのと同じトラストチェックの後にのみ読み込まれます。親フォルダを信頼するか `-p` で実行することは十分ではありません。コードを実行するコンポーネントはさらに制限されます:89プロジェクトスコープのプラグインはリポジトリにチェックインされ、それをクローンするすべての協力者に到達します。そのコンテンツはあなたではなくリポジトリから来るため、`.claude/settings.json` のプロジェクト許可ルールに適用されるのと同じトラストチェックの後にのみ読み込まれます。親フォルダを信頼するか `-p` で実行することは十分ではありません。コードを実行するコンポーネントはさらに制限されます:

86 90 


421 425 

422オーダーはマニフェスト名を比較するため、`hello-plugin` という名前の `--plugin-dir` プラグインは、そのプラグインのマニフェストが `"name": "hello-plugin"` も言う場合、`hello@example-marketplace` を置き換えます。426オーダーはマニフェスト名を比較するため、`hello-plugin` という名前の `--plugin-dir` プラグインは、そのプラグインのマニフェストが `"name": "hello-plugin"` も言う場合、`hello@example-marketplace` を置き換えます。

423 427 

428<h3 id="hooks-when-two-enabled-plugins-share-a-name">

429 有効な 2 つのプラグインが名前を共有する場合のフック

430</h3>

431 

432異なるマーケットプレイスから同じマニフェスト名を持つ 2 つのプラグインをインストールして有効にすると、両方とも `/plugin` で有効として表示されますが、一方のフックは除外されます。名前ごとに 1 つのプラグインが `hooks/hooks.json` 内のフックを登録し、名前ごとに 1 つのプラグインが[フックモジュール](/docs/ja/plugins/mods/overview)を読み込みます。組織の管理設定がいずれかのコピーをオンにしている場合、そのコピーが名前を保持します。それ以外の場合は、Claude Code が最初に読み込んだコピーが名前を保持します。

433 

434どのコピーが名前を保持しているかを確認するには、セッションで `/plugin` を実行し、**Errors** タブを開きます。フックが除外されたコピーについての注記がそこに表示され、名前を保持しているコピーが示されます。除外されたコピーの詳細にも同じ注記が表示されます。`hooks/hooks.json` のフックの場合、注記は `Its hooks.json hooks do not run` で始まり、フックモジュールの場合は `Its hooks module does not load` で始まります。この注記には Claude Code v2.1.296 以降が必要です。

435 

436除外されたコピーのフックを代わりに実行するには、名前を保持しているコピーを無効にするかアンインストールしてから、セッションで `/reload-plugins` を実行します。再読み込みにより、残ったコピーのフックが登録され、注記が消えます。名前を保持しているコピーが管理設定によってオンにされているものである場合、それを無効にすることはできず、両方がインストールされている間はもう一方のコピーのフックはオフのままです。

437 

424<h3 id="keep-a-session-only-plugin-from-loading">438<h3 id="keep-a-session-only-plugin-from-loading">

425 セッションのみのプラグインが読み込まれるのを防ぐ439 セッションのみのプラグインが読み込まれるのを防ぐ

426</h3>440</h3>

Details

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) で失敗し、1 つの下で登録されたマーケットプレイスは読み込みを停止します。このチェックには 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* **`claudeai-` で始まる名前**: claude.ai でホストされているマーケットプレイス用に予約されています。`claude plugin marketplace add` は `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai` で他のマーケットプレイスを拒否します。55* **`claudeai-` で始まる名前**: claude.ai でホストされているマーケットプレイス用に予約されています。`claude plugin marketplace add` は `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai` で他のマーケットプレイスを拒否します。

55* **登録済みの GitHub マーケットプレイスのダウンロードフォルダ `<owner>-<repo>`**: Claude Code は、`acme/x-tools` などの `github` ソースから追加されたマーケットプレイスを、そのマーケットプレイス自体の `name` に関係なく、`acme-x-tools` という名前のフォルダを通じてダウンロードします。そのマーケットプレイスが `acme-x-tools` 以外の名前で登録されている間、`claude plugin marketplace add` は `acme-x-tools` という名前の別のマーケットプレイスをダウンロードした後にそれを拒否し、`Can't use the marketplace name "acme-x-tools"` を報告します。このチェックには Claude Code v2.1.290 以降が必要です。56* **登録済みの GitHub マーケットプレイスのダウンロードフォルダ `<owner>-<repo>`**: Claude Code は、`acme/x-tools` などの `github` ソースから追加されたマーケットプレイスを、そのマーケットプレイス自体の `name` に関係なく、`acme-x-tools` という名前のフォルダを通じてダウンロードします。そのマーケットプレイスが `acme-x-tools` 以外の名前で登録されている間、`claude plugin marketplace add` は `acme-x-tools` という名前の別のマーケットプレイスをダウンロードした後にそれを拒否し、`Can't use the marketplace name "acme-x-tools"` を報告します。このチェックには Claude Code v2.1.290 以降が必要です。

56 57 

Details

68* **ガードは管理対象を保護します。** ユーザーの mod は、管理フックが受け取るもの、システムプロンプト、管理対象の `CLAUDE.md` およびその他の管理対象の指示、mod が設定として読み取るもの、または管理対象の MCP サーバーのツールと説明を変更することはできません。68* **ガードは管理対象を保護します。** ユーザーの mod は、管理フックが受け取るもの、システムプロンプト、管理対象の `CLAUDE.md` およびその他の管理対象の指示、mod が設定として読み取るもの、または管理対象の MCP サーバーのツールと説明を変更することはできません。

69* **その他はすべて許可されます。** ガードは他の制限を追加しません。ユーザーの mod は、ファイルの読み取りと書き込み、プロセスの開始、ネットワークリクエストの実行、ツール呼び出しとプロンプトの書き直し、ツール呼び出しの拒否、そうでなければプロンプトが表示されるツール呼び出しの承認、インターフェイスへの描画をすべてそのユーザーの権限で実行できます。69* **その他はすべて許可されます。** ガードは他の制限を追加しません。ユーザーの mod は、ファイルの読み取りと書き込み、プロセスの開始、ネットワークリクエストの実行、ツール呼び出しとプロンプトの書き直し、ツール呼び出しの拒否、そうでなければプロンプトが表示されるツール呼び出しの承認、インターフェイスへの描画をすべてそのユーザーの権限で実行できます。

70* **拒否ルールと管理フックが優先されます。** ガードが読み込まれる場所では、ユーザーの mod は、`deny` ルールが拒否する呼び出しを承認することはできません。ルールを保持する設定ファイルがどれであれ。管理設定の `PreToolUse` フックからのブロックも最終的です。どちらも Claude のツール呼び出しに適用されます。どちらも mod 独自の [`$.fs` と `$.process` 呼び出し](/docs/ja/plugins/mods/api#reach-files-processes-and-the-network) には適用されません。`Read(.env)` が拒否されている場合、mod は `$.fs.read` でそのファイルを読み取るか、それを実行するプログラムを開始できます。これらの呼び出しを制限するには、mod の読み込みを防ぐか、[ポリシー mod](#enforce-a-policy-with-a-mod-of-your-own) で呼び出しを処理してください。70* **拒否ルールと管理フックが優先されます。** ガードが読み込まれる場所では、ユーザーの mod は、`deny` ルールが拒否する呼び出しを承認することはできません。ルールを保持する設定ファイルがどれであれ。管理設定の `PreToolUse` フックからのブロックも最終的です。どちらも Claude のツール呼び出しに適用されます。どちらも mod 独自の [`$.fs` と `$.process` 呼び出し](/docs/ja/plugins/mods/api#reach-files-processes-and-the-network) には適用されません。`Read(.env)` が拒否されている場合、mod は `$.fs.read` でそのファイルを読み取るか、それを実行するプログラムを開始できます。これらの呼び出しを制限するには、mod の読み込みを防ぐか、[ポリシー mod](#enforce-a-policy-with-a-mod-of-your-own) で呼び出しを処理してください。

71* **他の権限チェックはオーバーライドできます。** ツール呼び出しを承認するユーザーの mod は、`ask` ルールがプロンプトを表示する呼び出し、または管理設定外の `PreToolUse` フックがブロックした呼び出しを承認できます。自動モードでは、mod が承認する呼び出しは分類器チェックなしで実行されます。71* **他の権限チェックはオーバーライドできます。** ツール呼び出しを承認するユーザーの mod は、`ask` ルールがプロンプトを表示する呼び出し、または管理設定外の `PreToolUse` フックがブロックした呼び出しを承認できます。auto モードでは、mod が承認する呼び出しは分類器チェックなしで実行されます。mod の `tool.check` による承認でスキップされないプロンプトについては、[フックで権限を拡張する](/docs/ja/permissions#extend-permissions-with-hooks) を参照してください。

72 72 

73ガードのソースは、[Claude Code リポジトリの `mods/sec-default` ディレクトリ](https://github.com/anthropics/claude-code/tree/main/mods/sec-default) で公開されています。73ガードのソースは、[Claude Code リポジトリの `mods/sec-default` ディレクトリ](https://github.com/anthropics/claude-code/tree/main/mods/sec-default) で公開されています。

74 74 


81* **設定フックは引き続き機能します。** 設定ファイルおよびプラグインの `hooks/hooks.json` 内のコマンド、HTTP、プロンプト、エージェントフックは以前と同じように実行され、mod と並行して実行されます。これについて非推奨のものはありません。81* **設定フックは引き続き機能します。** 設定ファイルおよびプラグインの `hooks/hooks.json` 内のコマンド、HTTP、プロンプト、エージェントフックは以前と同じように実行され、mod と並行して実行されます。これについて非推奨のものはありません。

82* **拒否ルールはガードが読み込まれる場所で優先されます。** ユーザーの mod は、`deny` ルールが拒否する呼び出しを承認することはできません。ただし、[`allowModsToOverrideDenyRules`](#set-options-on-the-built-in-guard) を設定する場合を除きます。82* **拒否ルールはガードが読み込まれる場所で優先されます。** ユーザーの mod は、`deny` ルールが拒否する呼び出しを承認することはできません。ただし、[`allowModsToOverrideDenyRules`](#set-options-on-the-built-in-guard) を設定する場合を除きます。

83* **管理フックが最初に実行されます。** 管理設定の `PreToolUse` フックは、mod がツール呼び出しを見る前に実行され、そのブロックは最終的です。mod がその後呼び出しを書き直す場合、管理フックは書き直された呼び出しで再度実行されるため、ブロックは引き続き適用されます。他の設定ファイルおよびプラグインからの `PreToolUse` フックは最後の mod の後に実行されるため、独自の結果を返すツール実行の代わりに返す mod は、それらが実行されるのを防ぎます。[Mod が実行される順序](/docs/ja/plugins/mods/events#the-order-mods-run-in) を参照してください。83* **管理フックが最初に実行されます。** 管理設定の `PreToolUse` フックは、mod がツール呼び出しを見る前に実行され、そのブロックは最終的です。mod がその後呼び出しを書き直す場合、管理フックは書き直された呼び出しで再度実行されるため、ブロックは引き続き適用されます。他の設定ファイルおよびプラグインからの `PreToolUse` フックは最後の mod の後に実行されるため、独自の結果を返すツール実行の代わりに返す mod は、それらが実行されるのを防ぎます。[Mod が実行される順序](/docs/ja/plugins/mods/events#the-order-mods-run-in) を参照してください。

84* **ネットワークポリシーは `$.http.fetch` をカバーします。** 組織が Web フェッチをオフにするか、セッションの非必須ネットワークトラフィックがオフになっている場合、Claude Code は mod が `$.http.fetch` で実行するネットワークリクエストを拒否します。ポリシーは mod が `$.process.run` で開始するプログラムをカバーしません。そのプログラムはユーザー独自のアクセスでネットワークに到達します。84* **ネットワークポリシーは `$.http.fetch` をカバーします。**

85 

86 * **組織のポリシーで WebFetch が許可されていない場合**: Claude Code はすべての mod の `$.http.fetch` リクエストも拒否します。[WebFetch の利用可否](/docs/ja/tools-reference#webfetch-availability) を参照してください。

87 * **[`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ja/env-vars) を設定した場合**: 管理者自身またはユーザーがインストールした mod は、引き続きこれらのリクエストを実行できます。この変数が停止するのは、[Claude Code に組み込まれた mod](/docs/ja/plugins/mods/overview#mods-built-into-claude-code) と、セッションの Anthropic 認証情報を含む `$.http.fetch` リクエストのみです。v2.1.288 より前は、この変数はすべての mod の `$.http.fetch` リクエストを停止していました。

88 

89 どちらも、mod が `$.process.run` で開始するプログラムはカバーしません。そのプログラムはユーザー独自のアクセスでネットワークに到達します。

85* **プラグインコントロールは mod をカバーします。** Mod はプラグインであるため、[ユーザーがインストールできるものを制限する設定](/docs/ja/plugins/org#restrict-what-users-can-install)(`strictKnownMarketplaces` など)は、それをインストールできるかどうかを決定します。90* **プラグインコントロールは mod をカバーします。** Mod はプラグインであるため、[ユーザーがインストールできるものを制限する設定](/docs/ja/plugins/org#restrict-what-users-can-install)(`strictKnownMarketplaces` など)は、それをインストールできるかどうかを決定します。

86* **Mod は権限プロンプトを変更できません。** Mod は Claude Code のインターフェイスの大部分を再スタイル化できますが、権限プロンプトはできないため、プロンプトが表示するものを変更できません。Mod は、[デフォルトで何が起こるかを理解する](#know-what-happens-by-default) で説明されているように、プロンプトが表示される前にツール呼び出しを承認または拒否できます。91* **Mod は権限プロンプトを変更できません。** Mod は Claude Code のインターフェイスの大部分を再スタイル化できますが、権限プロンプトはできないため、プロンプトが表示するものを変更できません。Mod は、[デフォルトで何が起こるかを理解する](#know-what-happens-by-default) で説明されているように、プロンプトが表示される前にツール呼び出しを承認または拒否できます。

87* **信頼プロンプトが最初に表示されます。** ユーザーがまだ信頼していないディレクトリでのインタラクティブセッションでは、信頼プロンプトに答えるまで mod は読み込まれません。92* **信頼プロンプトが最初に表示されます。** ユーザーがまだ信頼していないディレクトリでのインタラクティブセッションでは、信頼プロンプトに答えるまで mod は読み込まれません。

Details

303| `$.session` | `messages()` はトランスクリプトを `{ role, text, toolUses }` のリストとして返す。また、作業ディレクトリ、モデルなど。[`usage()`](/docs/ja/plugins/mods/reference#mods-api-methods) はコンテキストウィンドウの使用とプラン制限を返す。 |303| `$.session` | `messages()` はトランスクリプトを `{ role, text, toolUses }` のリストとして返す。また、作業ディレクトリ、モデルなど。[`usage()`](/docs/ja/plugins/mods/reference#mods-api-methods) はコンテキストウィンドウの使用とプラン制限を返す。 |

304| `$.mcp` | 接続された MCP サーバーのツールを `call` |304| `$.mcp` | 接続された MCP サーバーのツールを `call` |

305 305 

306ファイルとプロセスには、独自のいくつかのルールがあります。306ファイル、プロセス、リクエストには、独自のいくつかのルールがあります。

307 307 

308* **パス**:相対パスはセッションの作業ディレクトリを基準に解決される308* **パス**:相対パスは、セッションの作業ディレクトリ、またはフックが処理しているイベントのサブエージェントの作業ディレクトリを基準に解決される

309* **`$.fs.list`**:1 つのディレクトリのエントリを `{ name, kind, size, isLink }` として返し、再帰的には動作しない309* **`$.fs.list`**:1 つのディレクトリのエントリを `{ name, kind, size, isLink }` として返し、再帰的には動作しない

310* **`$.process.run`**:引数リストを取り、シェルを使用しない。終了コードに関係なく `{ exitCode, stdout, stderr }` に解決。プログラムが開始できないか、タイムアウト時にまだ実行中の場合は拒否します。デフォルトは 30 秒なので、`try` と `catch` でラップします。310* **`$.process.run`**:引数リストを取り、シェルを使用しない。終了コードに関係なく `{ exitCode, stdout, stderr }` に解決。プログラムが開始できないか、タイムアウト時にまだ実行中の場合は拒否します。デフォルトは 30 秒なので、`try` と `catch` でラップします。

311* **`$.http.fetch`**:最大 5 回までリダイレクトに従う。異なるオリジンへのリダイレクトでは、設定したリクエストヘッダーのうち `accept`、`accept-language`、`content-type`、`user-agent` のみを保持し、それ以外は破棄する。そのため、`Authorization` など別のヘッダーに依存するリクエストは、そのリダイレクト後に失敗する可能性がある。タイムアウトと本文のサイズについては[制限](/docs/ja/plugins/mods/reference#limits)を参照。

311 312 

312これらの呼び出しのそれぞれは、それ自体がイベントであり、`$.fs.read` の場合は `fs.read` など、`$.` なしで名前空間とメソッドに対して名前が付けられています。[チェーンの前にある](/docs/ja/plugins/mods/events#the-order-mods-run-in) mod は、呼び出しを観察、書き直し、または拒否できます。これは、組織が mod が到達するものを制限する方法です。313これらの呼び出しのそれぞれは、それ自体がイベントであり、`$.fs.read` の場合は `fs.read` など、`$.` なしで名前空間とメソッドに対して名前が付けられています。[チェーンの前にある](/docs/ja/plugins/mods/events#the-order-mods-run-in) mod は、呼び出しを観察、書き直し、または拒否できます。これは、組織が mod が到達するものを制限する方法です。

313 314 

Details

148| `agent.offer` | サブエージェントの種類が Claude に提示されるとき | 提示しないようにするには `{ isOffered: false }` |148| `agent.offer` | サブエージェントの種類が Claude に提示されるとき | 提示しないようにするには `{ isOffered: false }` |

149| `agent.spawn` | サブエージェントまたは[エージェントチーム](/docs/ja/agent-teams)のチームメイトが起動する直前。チームメイトの場合、`e.isTeammate` は `true` です。 | モデルを選択するには `next({ ...e, model })`、または `{ deny: reason }` |149| `agent.spawn` | サブエージェントまたは[エージェントチーム](/docs/ja/agent-teams)のチームメイトが起動する直前。チームメイトの場合、`e.isTeammate` は `true` です。 | モデルを選択するには `next({ ...e, model })`、または `{ deny: reason }` |

150 150 

151Claude が [`SendMessage`](/docs/ja/sub-agents#resume-subagents) ツールでサブエージェントを再開する場合、`agent.spawn` フックは再度実行されません。サブエージェントを再開する `SendMessage` 呼び出しを拒否するには、[`tool.call`](/docs/ja/plugins/mods/events#guard-or-change-a-tool-call) フックでそのツールにマッチさせてください。

152 

151<h3 id="interface">153<h3 id="interface">

152 インターフェース154 インターフェース

153</h3>155</h3>


175| [`plugin.register`](/docs/ja/plugins/mods/admin#enforce-a-policy-with-a-mod-of-your-own) | フックモジュールが読み込まれる直前。`e.uses` には、`claude plugin validate` が出力するのと同じ形で、そのモジュールのイベント、mods API 呼び出し、環境変数、状態が列挙されます。各呼び出しは `fs.read` のように `$.` プレフィックスなしで書かれます。 | `{ refuse: reason }` |177| [`plugin.register`](/docs/ja/plugins/mods/admin#enforce-a-policy-with-a-mod-of-your-own) | フックモジュールが読み込まれる直前。`e.uses` には、`claude plugin validate` が出力するのと同じ形で、そのモジュールのイベント、mods API 呼び出し、環境変数、状態が列挙されます。各呼び出しは `fs.read` のように `$.` プレフィックスなしで書かれます。 | `{ refuse: reason }` |

176| `engine.create` | この mod 用の mods API が構築されているとき | 名前空間を追加した、変更済みの mods API。`user` [ティア](#the-hook-function)以外の mod は、名前空間を除外することもできます。 |178| `engine.create` | この mod 用の mods API が構築されているとき | 名前空間を追加した、変更済みの mods API。`user` [ティア](#the-hook-function)以外の mod は、名前空間を除外することもできます。 |

177 179 

180`engine.create` で追加した名前空間のメソッドを他の mod のフックが呼び出すと、そのイベントに対するすべてのフックが戻るまで、メソッドの `$` 呼び出しはそのフックのコンテキストで実行されます。たとえば、相対パスはそのフックの作業ディレクトリを基準に解決され、ターンがそのフックを待っている間は `$.prompt.submit` が拒否されます。それ以降にメソッドが行う呼び出しは、mod 自身のコンテキストで実行されます。

181 

178<h3 id="telemetry">182<h3 id="telemetry">

179 テレメトリ183 テレメトリ

180</h3>184</h3>


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

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

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

324| `$.http.fetch` のリクエスト本文 | 4 MiB(文字数で計測)。これより大きい本文での呼び出しは reject されます。 |

325| `$.http.fetch` のレスポンス本文 | 4 MiB。`text` には最初の 4 MiB が格納され、残りは読み込まれません。`Content-Length` ヘッダーがそれより大きいサイズを宣言している場合は、代わりに呼び出しが reject され、その理由は `is over the 4194304-byte limit` で終わります。ただし、リダイレクト後の最後のリクエストが `HEAD` メソッドを使用する場合は除きます。`HEAD` の除外には Claude Code v2.1.296 以降が必要です。 |

326| 1 回の `$.http.fetch` 呼び出し(リダイレクトと本文を含む) | 30 秒 |

327| 1 回の `$.http.fetch` 呼び出しがたどるリダイレクト | 5 回 |

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

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

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

Details

78| `disableAllHooks in managed settings` | 組織がインストール済みプラグインからの hooks をオフにしました |78| `disableAllHooks in managed settings` | 組織がインストール済みプラグインからの hooks をオフにしました |

79| `only managed plugins and built-in plugins run` | `allowManagedHooksOnly` が設定されているか、マネージド設定以外の設定ファイルで `disableAllHooks` が設定されています |79| `only managed plugins and built-in plugins run` | `allowManagedHooksOnly` が設定されているか、マネージド設定以外の設定ファイルで `disableAllHooks` が設定されています |

80| `installed plugins that are not managed load no hooks module in this mode (--bare)` | Claude Code を `--bare` で開始しました |80| `installed plugins that are not managed load no hooks module in this mode (--bare)` | Claude Code を `--bare` で開始しました |

81| `another plugin of that name loads first` | 2 つのプラグインが同じ名前を共有しています。マネージド版、または最初に読み込まれたものが使用されます。 |81| `another plugin of that name loads first` | 有効な別のプラグインが mod と同じ名前を持ち、[その名前を保持している](/docs/ja/plugins/loading#hooks-when-two-enabled-plugins-share-a-name)ため、mod のフックモジュールは読み込まれません |

82 82 

83<h3 id="messages-from-the-built-in-guard">83<h3 id="messages-from-the-built-in-guard">

84 組み込みガードからのメッセージ84 組み込みガードからのメッセージ


191 191 

192v2.1.292 より前では、呼び出しが 2 回目も実行されたため、プロンプトの送信、コマンドの実行、またはサブエージェントの開始が 2 回行われていました。192v2.1.292 より前では、呼び出しが 2 回目も実行されたため、プロンプトの送信、コマンドの実行、またはサブエージェントの開始が 2 回行われていました。

193 193 

194<h3 id="$-agent-register-refused-the-hooks-module-that-made-the-call-is-no-longer-loaded">

195 `$.agent.register refused: the hooks module that made the call is no longer loaded`

196</h3>

197 

198行は mod の名前で始まります。例えば `first-mod: $.agent.register refused: the hooks module that made the call is no longer loaded (it was reloaded or removed)` のようになり、エージェントは登録されません。mod が呼び出しの前にリロードまたはアンロードされました。リロードではフックモジュールの新しいコピーが読み込まれますが、この呼び出しは古いコピーでまだ実行中のコード(例えばまだ戻っていなかったフック)から行われました。

199 

200そのフックが拒否をキャッチしない場合、フックは失敗し、Claude Code は[それをスキップします](#hook-skipped)。読み込まれたままのコピーからエージェントを登録するには、[`session.start`](/docs/ja/plugins/mods/reference#session) フックで呼び出しを行います。このフックはリロード後、新しいコピーごとに再度実行されます。

201 

194<h3 id="mods-that-run-in-the-hooks-worker-are-off-for-this-session">202<h3 id="mods-that-run-in-the-hooks-worker-are-off-for-this-session">

195 `mods that run in the hooks worker are off for this session`203 `mods that run in the hooks worker are off for this session`

196</h3>204</h3>

Details

256 256 

257v2.1.295 より前は、Claude Code はこの例の追加を成功として報告していました。257v2.1.295 より前は、Claude Code はこの例の追加を成功として報告していました。

258 258 

259<h3 id="claude-code-reserves-this-name">

260 `Cannot add marketplace "<name>": Claude Code reserves this name and cannot register a marketplace under it`

261</h3>

262 

263マーケットプレイスを追加しましたが、その `marketplace.json` 内の [`name`](/docs/ja/plugins/marketplace-reference#top-level-fields) が、`constructor`、`toString`、`valueOf` など、すべての JavaScript オブジェクトが持つメンバー名のいずれかです。Claude Code はこれらの名前を予約しているため、追加を拒否し、何も登録しません。これらの名前は[予約名](/docs/ja/plugins/marketplace-reference#reserved-names)に一覧されています。

264 

265この例では、マーケットプレイスの名前は `constructor` です:

266 

267```text theme={null}

268Cannot add marketplace "constructor": Claude Code reserves this name and cannot register a marketplace under it. The name is set by "name" in the marketplace's marketplace.json; ask its maintainer to change it.

269```

270 

271設定ファイルが [`extraKnownMarketplaces`](/docs/ja/settings-reference#extraknownmarketplaces) でマーケットプレイスを宣言している場合、Claude Code が起動時に実行する追加も同じように失敗し、`/plugin` の **Errors** タブにそのメッセージが表示されます。

272 

273マーケットプレイスに別の名前を付けてから、再度追加してください:

274 

275* **マーケットプレイスを所有している場合**:`marketplace.json` の `name` を変更してください

276* **他の誰かがホストしている場合**:所有者に名前の変更を依頼してください

277 

278v2.1.296 より前は、このようなマーケットプレイスを追加すると、このメッセージの代わりに内部エラーで失敗していました。

279 

259<h3 id="ssh-authentication-failed-or-https-authentication-failed">280<h3 id="ssh-authentication-failed-or-https-authentication-failed">

260 `SSH authentication failed` または `HTTPS authentication failed`281 `SSH authentication failed` または `HTTPS authentication failed`

261</h3>282</h3>


789 `installed_plugins.json could not be read and was rebuilt`810 `installed_plugins.json could not be read and was rebuilt`

790</h3>811</h3>

791 812 

792`claude plugin list` はこのメモを出力し、`installed_plugins.json` の横に `installed_plugins.unreadable.<date>.<hash>.kept` という名前の保持されたファイルのパスを出力します。そのファイルが `installed_plugins.json` の横に存在する限り。813`installed_plugins.unreadable.<date>.<hash>.kept` という名前の保持されたファイルが `installed_plugins.json` の横に存在する限り、`claude plugin list` はこのメモをそのファイルのパスとともに出力します。

793 814 

794有効な JSON ではない、またはプラグインのリストではない `installed_plugins.json` は、インストールしたものを言うことができません。815有効な JSON ではない、またはプラグインのリストではない `installed_plugins.json` は、インストールしたものを言うことができません。

795 816 


799 `install records under names that no version of Claude Code can use were removed from installed_plugins.json`820 `install records under names that no version of Claude Code can use were removed from installed_plugins.json`

800</h3>821</h3>

801 822 

802`claude plugin list` はこのメモを出力し、`installed_plugins.json` の横に `installed_plugins.set-aside.<date>.<hash>.json` という名前のコピーのパスを出力します。そのコピーが `installed_plugins.json` の横に存在する限り。メモは `Nothing needs doing about these copies.` で終わります。823`installed_plugins.set-aside.<date>.<hash>.json` という名前のコピーが `installed_plugins.json` の横に存在する限り、`claude plugin list` はこのメモをそのコピーのパスとともに出力します。メモは `Nothing needs doing about these copies.` で終わります。

803 824 

804`installed_plugins.json` のレコードは、Claude Code のどのバージョンも使用できない有効なプラグイン ID ではないキーの下に存在していたため、ファイルの残りは正常にロードされます。825`installed_plugins.json` のレコードは、Claude Code のどのバージョンも使用できない有効なプラグイン ID ではないキーの下に存在していたため、ファイルの残りは正常にロードされます。

805 826 


907 フックがロードされるが発火しない928 フックがロードされるが発火しない

908</h4>929</h4>

909 930 

910フックがエラーなくロードされるが発火しない場合は、その定義を確認してから、実行を監視してください。931フックがエラーなくロードされるが発火しない場合は、まずセッションで `/plugin` を実行し、プラグインの詳細を開いてください。そこに `Its hooks.json hooks do not run` で始まる注記がある場合、同じ名前を持つ別の有効なプラグインが代わりにフックを登録したことを意味します。それがどのコピーか、またどのように切り替えるかについては、[同じ名前の有効なプラグインが 2 つある場合のフック](/docs/ja/plugins/loading#hooks-when-two-enabled-plugins-share-a-name) で説明しています。それ以外の場合は、フックの定義を確認してから、実行を監視してください。

911 932 

912<Steps>933<Steps>

913 <Step title="イベント名を確認する">934 <Step title="イベント名を確認する">

routines.md +3 −3

Details

86 </Step>86 </Step>

87 87 

88 <Step title="リポジトリを選択する">88 <Step title="リポジトリを選択する">

89 Claude が作業するための 1 つ以上の GitHub リポジトリを追加します。各リポジトリは実行の開始時にクローンされ、デフォルトブランチから開始されます。Claude は変更用に `claude/` プレフィックス付きブランチを作成します。89 Claude が作業するための 1 つ以上の GitHub リポジトリを追加します。各リポジトリは実行の開始時にクローンされます。Claude は変更用に `claude/` プレフィックス付きブランチを作成します。

90 </Step>90 </Step>

91 91 

92 <Step title="環境を選択する">92 <Step title="環境を選択する">


359 リポジトリとブランチの権限359 リポジトリとブランチの権限

360</h3>360</h3>

361 361 

362ルーチンはリポジトリをクローンするために GitHub アクセスが必要です。CLI で `/schedule` を使用してルーチンを作成する場合、Claude はアカウントが実行元のリポジトリに対して GitHub アクセスを持っているかどうかを確認し、持っていない場合はアクセスを許可する方法を名前付きで示すセットアップノートを追加します。アクセスを許可する 2 つの方法については、[GitHub 認証オプション](/docs/ja/claude-code-on-the-web#github-authentication-options)を参照してください。362ルーティンはリポジトリをクローンするために GitHub アクセスが必要です。CLI で `/schedule` を使用してルーティンを作成する場合、Claude はアカウントが実行元のリポジトリに対して GitHub アクセスを持っているかどうかを確認し、持っていない場合はアクセスを許可する方法を名前付きで示すセットアップノートを追加します。アクセスを許可する 2 つの方法については、[GitHub 認証オプション](/docs/ja/claude-code-on-the-web#github-authentication-options)を参照してください。Team プランと Enterprise プランでは、各方法を使用する前に Claude 組織の [Owner](/docs/ja/server-managed-settings#access-control) がその方法をオンにする必要があります。[GitHub を接続する](/docs/ja/web-quickstart#connect-github)を参照してください。

363 363 

364GitHub 接続が実行予定時に不足しているか期限切れの場合、ルーチンは最大 72 時間まで実行をスキップします。その期間内に GitHub を再接続すると、ルーチンは自動的に再開されます。接続なしで 72 時間経過すると、ルーチンはオフになり、GitHub を再接続した後に再度オンにします。364GitHub 接続が実行予定時に不足しているか期限切れの場合、ルーチンは最大 72 時間まで実行をスキップします。その期間内に GitHub を再接続すると、ルーチンは自動的に再開されます。接続なしで 72 時間経過すると、ルーチンはオフになり、GitHub を再接続した後に再度オンにします。

365 365 

366追加する各リポジトリは、すべての実行でクローンされます。Claude はリポジトリのデフォルトブランチから開始します。ただし、プロンプトで別の方法を指定する場合を除きます。366追加する各リポジトリは、すべての実行でクローンされます。Claude はリポジトリのデフォルトブランチから開始します。ただし、プロンプトで別の方法を指定する場合を除きます。[GitHub プルリクエストイベント](#add-a-github-trigger)が実行をトリガーし、そのプルリクエストのリポジトリがルーティンの最初のリポジトリである場合、そのリポジトリは代わりにプルリクエストの head コミットから開始します。

367 367 

368Claude は、プロンプトで別のブランチへのプッシュを指示しない限り、`claude/` で始まるブランチに作業をプッシュします。実行がプッシュできるブランチを制御するには、GitHub のブランチ保護ルールまたはルールセットを使用します。Anthropic 管理のインフラストラクチャ上の実行、および [Anthropic の git プロキシ](/docs/ja/self-hosted-environments-deploy#use-the-anthropic-git-proxy)を通じてプッシュするセルフホスト実行の場合、GitHub はこれらのルールを接続した GitHub アクセスに適用するため、そのアクセスがバイパスできるルールは実行のプッシュをブロックしません。デプロイが提供する git 認証情報でプッシュするセルフホスト実行は、代わりにその認証情報に対してチェックされます。[git を設定する](/docs/ja/self-hosted-environments-deploy#configure-git)を参照してください。368Claude は、プロンプトで別のブランチへのプッシュを指示しない限り、`claude/` で始まるブランチに作業をプッシュします。実行がプッシュできるブランチを制御するには、GitHub のブランチ保護ルールまたはルールセットを使用します。Anthropic 管理のインフラストラクチャ上の実行、および [Anthropic の git プロキシ](/docs/ja/self-hosted-environments-deploy#use-the-anthropic-git-proxy)を通じてプッシュするセルフホスト実行の場合、GitHub はこれらのルールを接続した GitHub アクセスに適用するため、そのアクセスがバイパスできるルールは実行のプッシュをブロックしません。デプロイが提供する git 認証情報でプッシュするセルフホスト実行は、代わりにその認証情報に対してチェックされます。[git を設定する](/docs/ja/self-hosted-environments-deploy#configure-git)を参照してください。

369 369 

sandboxing.md +1 −0

Details

203* [重要なパス](/docs/ja/permission-modes#critical-paths)を対象とする `rm` または `rmdir` コマンドは、引き続き通常の権限フローを経由します203* [重要なパス](/docs/ja/permission-modes#critical-paths)を対象とする `rm` または `rmdir` コマンドは、引き続き通常の権限フローを経由します

204* `Bash(git push *)` のような内容を限定した[確認ルール](/docs/ja/permissions)は、サンドボックス化されたコマンドであっても引き続きプロンプトを強制します204* `Bash(git push *)` のような内容を限定した[確認ルール](/docs/ja/permissions)は、サンドボックス化されたコマンドであっても引き続きプロンプトを強制します

205* 単独の `Bash` 確認ルール、またはそれと同等の `Bash(*)` 形式は、サンドボックス化されて実行されるコマンドではスキップされます。通常の権限フローにフォールバックするコマンドには引き続き適用されます。[plan モード](/docs/ja/permission-modes#analyze-before-you-edit-with-plan-mode)では、このルールはスキップされず、読み取り専用のものも含め、サンドボックス化されたコマンドに対してもプロンプトを表示します205* 単独の `Bash` 確認ルール、またはそれと同等の `Bash(*)` 形式は、サンドボックス化されて実行されるコマンドではスキップされます。通常の権限フローにフォールバックするコマンドには引き続き適用されます。[plan モード](/docs/ja/permission-modes#analyze-before-you-edit-with-plan-mode)では、このルールはスキップされず、読み取り専用のものも含め、サンドボックス化されたコマンドに対してもプロンプトを表示します

206* [Monitor ツール](/docs/ja/tools-reference#monitor-tool)のコマンドは、引き続きサンドボックス内で実行されますが、自動的には承認されません。プロンプトをスキップするには、`Bash(npm run *)` など、そのコマンドに一致する[許可ルール](/docs/ja/permissions#bash)を追加します

206 207 

207<Info>208<Info>

208 auto-allow モードは権限モードの設定とは独立して動作しますが、例外が 3 つあります。[plan モード](/docs/ja/permission-modes#analyze-before-you-edit-with-plan-mode)、[コマンドごとの許可ドメイン](#per-command-allowed-domains-in-auto-mode)を持つ auto モードのコマンド、そして auto モードでのサンドボックス化されたコマンドに対する[サーバー側の分類器による審査](/docs/ja/permission-modes#how-the-classifier-evaluates-actions)です。「accept edits」モードでなくても、auto-allow が有効な場合、サンドボックス化された Bash コマンドは自動的に実行されます。つまり、ファイル編集ツールであればプロンプトが表示される Manual モードでも、サンドボックスの境界内でファイルを変更する Bash コマンドはプロンプトなしで実行されます。209 auto-allow モードは権限モードの設定とは独立して動作しますが、例外が 3 つあります。[plan モード](/docs/ja/permission-modes#analyze-before-you-edit-with-plan-mode)、[コマンドごとの許可ドメイン](#per-command-allowed-domains-in-auto-mode)を持つ auto モードのコマンド、そして auto モードでのサンドボックス化されたコマンドに対する[サーバー側の分類器による審査](/docs/ja/permission-modes#how-the-classifier-evaluates-actions)です。「accept edits」モードでなくても、auto-allow が有効な場合、サンドボックス化された Bash コマンドは自動的に実行されます。つまり、ファイル編集ツールであればプロンプトが表示される Manual モードでも、サンドボックスの境界内でファイルを変更する Bash コマンドはプロンプトなしで実行されます。

Details

132ランナーとそのセッションは数種類のアウトバウンド接続を行いますが、Anthropic からのインバウンド接続は必要ありません。132ランナーとそのセッションは数種類のアウトバウンド接続を行いますが、Anthropic からのインバウンド接続は必要ありません。

133 133 

134* **コントロールプレーン**:ランナーは `api.anthropic.com` をポーリングして作業を取得し、セットアップの進行状況や失敗のイベントを送信します。これらはすべてアウトバウンドの HTTPS です。ポーリングはランナーのハートビートも兼ねます。134* **コントロールプレーン**:ランナーは `api.anthropic.com` をポーリングして作業を取得し、セットアップの進行状況や失敗のイベントを送信します。これらはすべてアウトバウンドの HTTPS です。ポーリングはランナーのハートビートも兼ねます。

135* **SCM コネクタ**:オプションのオーケストレーター [SCM コネクタ](/docs/ja/self-hosted-environments-reference#scm-connector-flags)のトンネルが、唯一の WebSocket 接続です。135* **Git**:ランナーは、デプロイによって提供される認証情報で認証し、HTTPS または SSH 経由で git ホストからクローンおよびプッシュを行います。セッションごとに発行される認証情報を含むオプションについては、[git の設定](/docs/ja/self-hosted-environments-deploy#configure-git)を参照してください。[Anthropic git プロキシ](/docs/ja/self-hosted-environments-deploy#use-the-anthropic-git-proxy)を使用する場合、github.com 上のリポジトリに対する git トラフィックは代わりに `api.anthropic.com` を経由します。

136* **Git**:ランナーは、デプロイによって提供される認証情報で認証し、HTTPS または SSH 経由で git ホストからクローンおよびプッシュを行います。[git の設定](/docs/ja/self-hosted-environments-deploy#configure-git)では、セッションごとに発行される認証情報や、git を代わりに `api.anthropic.com` 経由でルーティングする [Anthropic git プロキシ](/docs/ja/self-hosted-environments-deploy#use-the-anthropic-git-proxy)を含むオプションについて説明しています。136* **セッションの子プロセス**:子 Claude Code プロセスは `api.anthropic.com` へのセッションのイベントストリームを保持し、モデル推論とセッション中に実行される git コマンドのために独自のアウトバウンド呼び出しを行います。[Anthropic が管理する git](/docs/ja/self-hosted-environments-deploy#use-the-anthropic-git-proxy) を使用するセッションでは、子プロセスは github.com 向けの `git` および `gh` のトラフィックを、自身が `api.anthropic.com` に対して開く WebSocket 接続経由で送信します。

137* **セッションの子プロセス**:子 Claude Code プロセスは `api.anthropic.com` へのセッションのイベントストリームを保持し、モデル推論とセッション中に実行される git コマンドのために独自のアウトバウンド呼び出しを行います。エグレスの完全な一覧については[ネットワーク要件](/docs/ja/self-hosted-environments-deploy#network-requirements)を参照してください。[上の図](#how-self-hosted-environments-work)は、オプションの SCM コネクタを除くこれらの経路を示しています。137* **SCM コネクタ**:オプションのオーケストレーター [SCM コネクタ](/docs/ja/self-hosted-environments-reference#scm-connector-flags)は利用できないため、そのトンネルは開かれません。このトンネルは `api.anthropic.com` への WebSocket 接続です。

138 

139エグレスの完全な一覧については[ネットワーク要件](/docs/ja/self-hosted-environments-deploy#network-requirements)を参照してください。[上の図](#how-self-hosted-environments-work)は、オプションの SCM コネクタと Anthropic が管理する git 接続を除く、これらの経路を示しています。

138 140 

139デフォルトでは、モデル推論には Anthropic API を使用します。コントロールプレーンは各セッションに API エンドポイントを渡し、セッションは Anthropic が発行したセッションスコープの OAuth トークンで認証します。モデルリクエストを代わりに自社のクラウドアカウントに送信する方法については、[モデルリクエストを Bedrock または Agent Platform に送信する](/docs/ja/self-hosted-environments-configuration#send-model-requests-to-bedrock-or-agent-platform)を参照してください。141デフォルトでは、モデル推論には Anthropic API を使用します。コントロールプレーンは各セッションに API エンドポイントを渡し、セッションは Anthropic が発行したセッションスコープの OAuth トークンで認証します。モデルリクエストを代わりに自社のクラウドアカウントに送信する方法については、[モデルリクエストを Bedrock または Agent Platform に送信する](/docs/ja/self-hosted-environments-configuration#send-model-requests-to-bedrock-or-agent-platform)を参照してください。

140 142 

Details

31| 変数 | 説明 |31| 変数 | 説明 |

32| :- | :- |32| :- | :- |

33| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | セッション JWT。プレフィックス `sk-ant-cc-` が付きます。その `act` クレームはセッション作成者を識別し、作成サーフェスが記録した場合は作成者のメールを含みます。値はスポーン時のトークンです。更新はこどもの stdin を介して到着するため、ラッパーは初期値のみを見ます。[セッション ID を検証する](/docs/ja/self-hosted-environments-identity) を参照してください。 |33| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | セッション JWT。プレフィックス `sk-ant-cc-` が付きます。その `act` クレームはセッション作成者を識別し、作成サーフェスが記録した場合は作成者のメールを含みます。値はスポーン時のトークンです。更新はこどもの stdin を介して到着するため、ラッパーは初期値のみを見ます。[セッション ID を検証する](/docs/ja/self-hosted-environments-identity) を参照してください。 |

34| `CCR_SESSION_ACCOUNT_EMAIL` | セッション作成者のメール。ランナーによってトークンの `act.email` クレームから署名検証なしで事前抽出されます。ラベリングなどに適しています。メールが認証情報の発行をゲートする場合、トークンを検証し、代わりにクレームから読み取ります。[セッション作成者にスコープされた認証情報をプロビジョニングする](#provision-credentials-scoped-to-the-session-creator) を参照してください。トークンが作成者メールを含まない場合は設定されません。個人識別情報として扱います。 |34| `CCR_SESSION_ACCOUNT_EMAIL` | セッション作成者のメール。ランナーによってトークンの `act.email` クレームから署名検証なしで事前抽出されます。コミットトレーラーなどのラベリングに適しています。メールが認証情報の発行をゲートする場合、トークンを検証し、代わりにクレームから読み取ります。[セッション作成者にスコープされた認証情報をプロビジョニングする](#provision-credentials-scoped-to-the-session-creator) を参照してください。トークンが作成者メールを含まない場合(例えば、組織のサービス ID が作成するセッション)は設定されません。個人識別情報として扱います。 |

35| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアントサーフェス(`web_claude_ai`、`desktop_app`、`ios`、`claude_code_cli`、`scheduled_trigger` など)。Anthropic はセッション作成時に値を 1 回記録するため、ラッパーとすべてのライフサイクルフックは同じ値を見ます。採用分析とラベリングにのみ使用し、認可シグナルとしては使用しないでください。セッションに記録または認識されたサーフェスがない場合は設定されないため、`set -u` の下で `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}` として参照してください。Claude Code v2.1.229 以降が必要です。 |35| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアントサーフェス(`web_claude_ai`、`desktop_app`、`ios`、`claude_code_cli`、`scheduled_trigger` など)。Anthropic はセッション作成時に値を 1 回記録するため、ラッパーとすべてのライフサイクルフックは同じ値を見ます。採用分析とラベリングにのみ使用し、認可シグナルとしては使用しないでください。セッションに記録または認識されたサーフェスがない場合は設定されません。Claude Code v2.1.229 以降が必要です。 |

36| `CLAUDE_RUNNER_CLAUDE_BIN` | ランナー自体の Claude Code バイナリへの絶対パス。`exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@"` でラッパーを終了して、インストールパスをハードコードせずにピン留めされたバイナリに制御を渡します。 |36| `CLAUDE_RUNNER_CLAUDE_BIN` | ランナー自体の Claude Code バイナリへの絶対パス。`exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@"` でラッパーを終了して、インストールパスをハードコードせずにピン留めされたバイナリに制御を渡します。 |

37| `CLAUDE_CODE_REMOTE_SESSION_ID` | タグ付き `cse_...` 形式のセッション ID。これは [ライフサイクルフック](#lifecycle-hooks) が `session_...` 形式の `CLAUDE_RUNNER_SESSION_ID` として見るのと同じセッションです。UUID 変数は両方で一致し、`cse_` プレフィックスを `session_` に置き換えるとセッション URL に表示される ID が得られます。 |37| `CLAUDE_CODE_REMOTE_SESSION_ID` | タグ付き `cse_...` 形式のセッション ID。これは [ライフサイクルフック](#lifecycle-hooks) が `session_...` 形式の `CLAUDE_RUNNER_SESSION_ID` として見るのと同じセッションです。UUID 変数は両方で一致し、`cse_` プレフィックスを `session_` に置き換えるとセッション URL に表示される ID が得られます。 |

38| `CLAUDE_CODE_REMOTE_SESSION_UUID` | 正規 UUID 形式の同じセッション ID。UUID をキーとするシステム用です。 |38| `CLAUDE_CODE_REMOTE_SESSION_UUID` | 正規 UUID 形式の同じセッション ID。UUID をキーとするシステム用です。 |

39| `CLAUDE_CODE_REMOTE_SLACK_THREAD_URL` | 1 つの Slack スレッドに属する [Claude Tag](https://claude.com/docs/claude-tag/overview) セッションの場合、そのスレッドへのリンク。他のセッションでは設定されず、スレッドセッションでも設定されない場合があります。 |

40| `CLAUDE_CODE_REMOTE_SLACK_THREAD_TS` | 1 つの Slack スレッドに属する Claude Tag セッションの場合、そのスレッドの Slack タイムスタンプ(`1700000000.000100` など)。設定されない場合があり、`CLAUDE_CODE_REMOTE_SLACK_THREAD_URL` が設定されていないときに設定される場合もあるため、各変数を個別に確認してください。 |

39| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | 現在のセッション JWT を保持する、セッションごとのファイルへの絶対パス。トークン更新全体で最新に保たれます。シェルサブプロセスは、ユーザーがセッションに追加した添付ファイルをダウンロードするときに、その `Authorization` ヘッダーに対して読み取ります。`exec` は変数を自動的に保持します。子の環境を再構築するラッパーは変数を引き継ぐ必要があります。そうしないと、添付ファイルのダウンロードが静かに停止します。 |41| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | 現在のセッション JWT を保持する、セッションごとのファイルへの絶対パス。トークン更新全体で最新に保たれます。シェルサブプロセスは、ユーザーがセッションに追加した添付ファイルをダウンロードするときに、その `Authorization` ヘッダーに対して読み取ります。`exec` は変数を自動的に保持します。子の環境を再構築するラッパーは変数を引き継ぐ必要があります。そうしないと、添付ファイルのダウンロードが静かに停止します。 |

40| `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) を参照してください。 |

41| `ANTHROPIC_BASE_URL` | こどもが使用する API ベース URL。コントロールプレーンによってセッションごとに配信され、通常は `https://api.anthropic.com` です。上書きしないでください。セッションの推論認証情報は Anthropic が発行した OAuth トークンであり、他のプロバイダーはこれを受け入れません。 |43| `ANTHROPIC_BASE_URL` | こどもが使用する API ベース URL。コントロールプレーンによってセッションごとに配信され、通常は `https://api.anthropic.com` です。上書きしないでください。セッションの推論認証情報は Anthropic が発行した OAuth トークンであり、他のプロバイダーはこれを受け入れません。 |


43 45 

44ラッパーはこどもの管理環境の残りの部分も継承します。これには、サーバーが提供する環境変数が含まれます。`exec` はすべてを自動的に伝播します。ラッパーが別の方法でこどもをスポーンする場合、完全な環境を転送します。46ラッパーはこどもの管理環境の残りの部分も継承します。これには、サーバーが提供する環境変数が含まれます。`exec` はすべてを自動的に伝播します。ラッパーが別の方法でこどもをスポーンする場合、完全な環境を転送します。

45 47 

48`CLAUDE_CODE_REMOTE_SLACK_THREAD_URL` と `CLAUDE_CODE_REMOTE_SLACK_THREAD_TS` は、ラッパーまたは [`command` フック](#command) に届きます。また、シェルコマンド、git フック、Claude Code フックなど、セッションが実行するものにも届きます。`checkout`、`post-session`、`spawn-runner` フックはこれらを受け取りません。

49 

50<h3 id="give-a-default-to-variables-that-can-be-unset">

51 設定されない可能性のある変数にデフォルト値を与える

52</h3>

53 

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 

56シェルが Slack スレッドのリンクを展開する箇所では、次の対策を取ってください。

57 

58* **引用符で囲む**: リンクには `?` や `&` など、シェルが解釈する文字が含まれる場合があるため、`"${CLAUDE_CODE_REMOTE_SLACK_THREAD_URL:-}"` のように変数を引用符で囲みます。

59* **その値を `eval` や `sh -c` の文字列に入れない**: 引用符の内側であっても、`eval` や `sh -c` が実行する文字列にその値を代入しないでください。代わりに、その文字列から変数を参照するようにします。

60 

46<h3 id="keep-stdin-and-file-descriptor-3-attached">61<h3 id="keep-stdin-and-file-descriptor-3-attached">

47 stdin とファイルディスクリプタ 3 を接続したままにする62 stdin とファイルディスクリプタ 3 を接続したままにする

48</h3>63</h3>

49 64 

50こどもの stdin はランナーのコントロールチャネルです。トークン更新とセッション終了シグナルがそこに到着します。ランナーはファイルディスクリプタ 3 でパイプも開き、こどものアクティビティシグナルを読み取ってアイドルおよびスタートアップタイムアウトを駆動します。プレーンな `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@"` は両方を自動的に保持します。65こどもの stdin はランナーのコントロールチャネルです。トークン更新とセッション終了シグナルがそこに到着します。ランナーはファイルディスクリプタ 3 でパイプも開き、こどものアクティビティシグナルを読み取ってアイドルおよびスタートアップタイムアウトを駆動します。プレーンな `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@"` は両方を自動的に保持します。

51 66 

52ラッパーが裸の `&` でこどもをバックグラウンドにする場合、こどもの stdin が切断されます。セッションは初期 OAuth トークンの約 30 分の有効期限が切れるまで健全に見えますが、その後すべての API 呼び出しが `401 authentication_error` で失敗します。ラッパーがこどもをバックグラウンドにする必要がある場合(例えば、ティアダウントラップを生かしておくため)、stdin をファイルディスクリプタ 4 以上に保存し、明示的に再接続します。67ラッパーが裸の `&` でこどもをバックグラウンドにする場合、こどもの stdin が切断されます。セッションは初期 OAuth トークンの約 30 分の有効期限が切れるまで健全に見えますが、その後そのトークンを使用するすべての API 呼び出しが `401 authentication_error` で失敗します。ラッパーがこどもをバックグラウンドにする必要がある場合(例えば、ティアダウントラップを生かしておくため)、stdin をファイルディスクリプタ 4 以上に保存し、明示的に再接続します。

53 68 

54```bash theme={null}69```bash theme={null}

55exec 4<&070exec 4<&0


59wait "$CHILD"74wait "$CHILD"

60```75```

61 76 

62ラッパーでファイルディスクリプタ 3 を閉じたり再利用したりしないでください。こどもの stdout と stderr をリダイレクトするのは問題ありません。77こどもの stdout はリダイレクトできます。ファイルディスクリプタ 3 と stderr はランナーに接続したままにしてください。

78 

79* **ファイルディスクリプタ 3**: こどものアクティビティシグナルをランナーに伝えます。ラッパーで閉じたり再利用したりしないでください。

80* **stderr**: ラッパーまたはこどもがゼロ以外で終了すると、ランナーは stderr の最後の数行をセッションに投稿し、自身のログにも出力します。セッションのユーザーにはこれらの行が表示されるため、シークレットを stderr に出力しないでください。また、ラッパーをデプロイする前に `set -x` を削除してください。stderr をリダイレクトしてもセッションは実行されますが、ランナーは終了コードのみで失敗を報告します。

63 81 

64<h3 id="pass-the-system-prompt-flags-through">82<h3 id="pass-the-system-prompt-flags-through">

65 システムプロンプトフラグをそのまま渡す83 システムプロンプトフラグをそのまま渡す


108 checkout126 checkout

109</h3>127</h3>

110 128 

111リポジトリごとに 1 回実行され、ランナーの組み込みクローンとフェッチの代わりになります。フックを使用して、リードスルーミラーからクローンしたり、アーカイブからワーキングツリーをシードしたり、セッションごとの git 認証を適用したりします。ランナーは以下の変数を設定します。また、表に記載されていない他の `CLAUDE_RUNNER_` 変数を設定する場合もあります。129リポジトリごとに 1 回実行され、ランナーの組み込みクローンとフェッチの代わりになります。フックを使用して、HTTPS または SSH 経由でアクセスするリードスルーミラーからクローンしたり、アーカイブからワーキングツリーをシードしたり、セッションごとの git 認証を適用したりします。ランナーは以下の変数を設定します。また、表に記載されていない他の `CLAUDE_RUNNER_` 変数を設定する場合もあります。

112 130 

113| 変数 | 説明 |131| 変数 | 説明 |

114| :- | :- |132| :- | :- |

115| `CLAUDE_RUNNER_REPO_URL` | クローンするリポジトリ URL。`--git-host-rewrite` と `--git-ssh-rewrite` が適用された後 |133| `CLAUDE_RUNNER_REPO_URL` | クローンするリポジトリ URL。`--git-host-rewrite` と `--git-ssh-rewrite` が適用された後 |

116| `CLAUDE_RUNNER_REPO_REF` | チェックアウトするリビジョン。ブランチ、タグ、またはコミット SHA。セッションがリクエストしたとおり。空の場合はリポジトリのデフォルトブランチ |134| `CLAUDE_RUNNER_REPO_REF` | チェックアウトするリビジョン。セッションがリクエストしたとおりの値で、ブランチ、タグ、コミット SHA、または `refs/pull/<number>/head` などの完全な参照名。空の場合はリポジトリのデフォルトブランチ |

117| `CLAUDE_RUNNER_CHECKOUT_PATH` | ワーキングツリーを配置する必要がある絶対パス |135| `CLAUDE_RUNNER_CHECKOUT_PATH` | ワーキングツリーを配置する必要がある絶対パス |

118| `CLAUDE_RUNNER_SESSION_ID` | ログと相関のための `session_...` 形式のセッション ID |136| `CLAUDE_RUNNER_SESSION_ID` | ログと相関のための `session_...` 形式のセッション ID |

119| `CLAUDE_RUNNER_SESSION_UUID` | 正規 UUID 形式の同じセッション ID |137| `CLAUDE_RUNNER_SESSION_UUID` | 正規 UUID 形式の同じセッション ID |

120| `CLAUDE_RUNNER_API_BASE_URL` | セッションスコープの呼び出し用の Anthropic API ベース URL |138| `CLAUDE_RUNNER_API_BASE_URL` | セッションスコープの呼び出し用の Anthropic API ベース URL |

121| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアント表面。`web_claude_ai`、`desktop_app`、`ios` など。セッションに記録または認識された表面がない場合は未設定 |139| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアントサーフェス。`web_claude_ai`、`desktop_app`、`ios` など。セッションに記録または認識されたサーフェスがない場合は未設定のため、`set -u` の下では `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}` として参照してください。Claude Code v2.1.229 以降が必要 |

122| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | セッションスコープの API 呼び出し用のセッションアクセストークン |140| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | セッションスコープの API 呼び出し用のセッションアクセストークン |

123| `GIT_CONFIG_COUNT`、`GIT_CONFIG_KEY_n`、`GIT_CONFIG_VALUE_n` | フックが実行する git に対してランナーが固定する git 設定。[ライフサイクルフック内の Git 設定](#git-configuration-inside-lifecycle-hooks)で説明しています。Claude Code v2.1.280 以降が必要 |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 以降が必要 |

124 142 

125スクリプトは `CLAUDE_RUNNER_CHECKOUT_PATH` にワーキングツリーを残し、リクエストされたリビジョンでチェックアウトする必要があります。デタッチド HEAD は問題ありません。ランナーはその上にセッションのワーキングブランチを作成します。ランナーはその後、パスに `.git` が含まれていることを確認します。フックが Perforce やアンパックされたタールボールなどの非 git ソースを具体化する場合は、ランナーの環境で `CLAUDE_RUNNER_SKIP_GIT_VERIFY=1` を設定して、そのチェックをスキップしてください。ワーキングブランチの作成と結果のプッシュなどの git ベースのフローには git チェックアウトが必要なため、非 git ツリーから結果をエクスポートするには [`post-session` フック](#post-session)を使用してください。143スクリプトは `CLAUDE_RUNNER_CHECKOUT_PATH` にワーキングツリーを残し、リクエストされたリビジョンでチェックアウトする必要があります。デタッチド HEAD は問題ありません。ランナーはその上にセッションのワーキングブランチを作成します。

126 144 

127ランナーは git 認証情報をフックに渡しません。代わりに、セッションの ID からセッションごとのクローン認証情報を発行します。`CLAUDE_RUNNER_API_BASE_URL` の下の JWKS エンドポイントに対して標準 JWT ライブラリを使用して `CLAUDE_CODE_SESSION_ACCESS_TOKEN` を検証します。これは [Verify the token from your service](/docs/ja/self-hosted-environments-identity#verify-the-token-from-your-service) で説明されています。その後、認証情報サービスがトークンの `act` クレーム内の ID に対して短期間のクローン認証情報を発行します。`CLAUDE_RUNNER_CLAUDE_BIN` はチェックアウトフック環境では設定されていないため、`decode-token` サブコマンドはここでは利用できません。SSH エージェント、認証情報ヘルパー、`.netrc` など、ホストが既に持っている git 認証にフォールバックすることもオプションです。145フックが返った後、ランナーは `CLAUDE_RUNNER_CHECKOUT_PATH` に `.git` が含まれていることを確認します。フックが Perforce やアンパックされたタールボールなどの非 git ソースを具体化する場合は、ランナーの環境で `CLAUDE_RUNNER_SKIP_GIT_VERIFY=1` を設定して、そのチェックをスキップしてください。ワーキングブランチの作成と結果のプッシュなどの git ベースのフローには git チェックアウトが必要なため、非 git ツリーから結果をエクスポートするには [`post-session` フック](#post-session)を使用してください。

128 146 

129フックが 0 以外で終了するか、0 で終了しても使用可能なチェックアウトを残さない場合、ランナーが実行する処理はリポジトリによって異なります。147<h4 id="get-git-credentials-in-the-hook">

148 フックで git 認証情報を取得する

149</h4>

130 150 

131* **セッションが結果をプッシュするリポジトリ**:ランナーはセッションを失敗させ、0 以外の終了時にスクリプトの stderr の末尾をユーザーに表示します。151ランナーは git 認証情報をフックに渡しません。`CLAUDE_RUNNER_CLAUDE_BIN` はチェックアウトフック環境では設定されていないため、`decode-token` サブコマンドもここでは利用できません。代わりに、セッションの ID からセッションごとのクローン認証情報を発行するか、ホスト自身の git 認証にフォールバックしてください。

132* **セッションが読み取り専用のリポジトリ**(実行中のセッションに追加されたリポジトリなど):ランナーは失敗の詳細を含む `[runner:warn]` 行をログに記録し、`Skipped` ステップをセッションにポストし、フックがチェックアウトパスに残したものを削除し、残りのリポジトリで続行します。ランナーがパスをすぐに削除できない場合、セッション終了時に削除を再試行します。スキップによってセッションにリポジトリがまったくなくなった場合、ランナーはとにかくセッションを失敗させます。

133 152 

134v2.1.228 より前は、ランナーはどのリポジトリでもフック失敗時にセッションを失敗させていたため、フックが提供できない読み取り専用リポジトリは、セッションが再開される新しいランナーのたびに再度セッションを失敗させていました。153* **セッションごとのクローン認証情報**:[Verify the token from your service](/docs/ja/self-hosted-environments-identity#verify-the-token-from-your-service) で説明されているように、`CLAUDE_RUNNER_API_BASE_URL` の下の JWKS エンドポイントに対して標準 JWT ライブラリを使用して `CLAUDE_CODE_SESSION_ACCESS_TOKEN` を検証します。その後、認証情報サービスに、トークンの `act` クレーム内の ID に対する短期間のクローン認証情報を発行させます。その認証情報は `act.sub` をキーとし、`act.email` を必須にしないでください。

154* **ホストの git 認証**:SSH エージェント、認証情報ヘルパー、`.netrc` など、ホストが既に持っている git 認証を使用します。

135 155 

136ランナーはセッション終了後、チェックアウトパスを削除します。156<h4 id="when-the-hook-fails">

157 フックが失敗した場合

158</h4>

159 

160フックが 0 以外で終了した場合、または 0 で終了しても使用可能なチェックアウトを残さなかった場合、フックは失敗となります。

161 

162* **セッションが結果をプッシュするリポジトリ**:ランナーはセッションを失敗させ、0 以外の終了時にスクリプトの stderr の末尾をユーザーに表示します。

163* **セッションが読み取りのみを行うリポジトリ**(実行中のセッションに追加されたリポジトリなど):ランナーは失敗の詳細を含む `[runner:warn]` 行をログに記録し、`Skipped` ステップをセッションにポストし、フックがチェックアウトパスに残したものを削除し、残りのリポジトリで続行します。スキップによってセッションにリポジトリがまったくなくなった場合、ランナーはとにかくセッションを失敗させます。

164 

165フックが成功した場合、ランナーはセッション終了後にチェックアウトパスを削除します。

137 166 

138<h3 id="post-session">167<h3 id="post-session">

139 post-session168 post-session


151| `CLAUDE_RUNNER_WORKSPACE_PATHS` | セッションのワーキングツリーのコロン区切り絶対パス。ゼロリポジトリセッションの場合は空 |180| `CLAUDE_RUNNER_WORKSPACE_PATHS` | セッションのワーキングツリーのコロン区切り絶対パス。ゼロリポジトリセッションの場合は空 |

152| `CLAUDE_RUNNER_DEBUG_LOG_PATH` | セッションのデバッグログへのパス。フック実行中もディスク上に存在 |181| `CLAUDE_RUNNER_DEBUG_LOG_PATH` | セッションのデバッグログへのパス。フック実行中もディスク上に存在 |

153| `CLAUDE_RUNNER_API_BASE_URL` | セッションスコープの呼び出し用の Anthropic API ベース URL |182| `CLAUDE_RUNNER_API_BASE_URL` | セッションスコープの呼び出し用の Anthropic API ベース URL |

154| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアント表面。`web_claude_ai`、`desktop_app`、`ios` など。セッションに記録または認識された表面がない場合は未設定。Claude Code v2.1.229 以降が必要 |183| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアントサーフェス。`web_claude_ai`、`desktop_app`、`ios` など。セッションに記録または認識されたサーフェスがない場合は未設定のため、`set -u` の下では `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}` として参照してください。Claude Code v2.1.229 以降が必要 |

155| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | セッションスコープの API 呼び出し用のセッションアクセストークン |184| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | セッションスコープの API 呼び出し用のセッションアクセストークン |

156| `GIT_CONFIG_COUNT`、`GIT_CONFIG_KEY_n`、`GIT_CONFIG_VALUE_n` | フックが実行する git に対してランナーが固定する git 設定。[ライフサイクルフック内の Git 設定](#git-configuration-inside-lifecycle-hooks)で説明しています。Claude Code v2.1.280 以降が必要 |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 以降が必要 |

157 186 

158`CLAUDE_RUNNER_EXIT_REASON` は 4 つの値のいずれかを取ります。187`CLAUDE_RUNNER_EXIT_REASON` は 4 つの値のいずれかを取ります。

159 188 

160* `completed`:セッションがクリーンに終了しました。Claude Code プロセスが正常に終了したか、セッションがまだ実行中に削除またはアーカイブされました。189* `completed`:セッションがクリーンに終了しました。Claude Code プロセスが正常に終了したか、セッションがアーカイブまたは削除された後に自ら終了しました。

161* `failed`:Claude Code プロセスがクラッシュしたか、開始後にセットアップが失敗しました。190* `failed`:Claude Code プロセスがクラッシュしたか、開始後にセットアップが失敗しました。

162* `interrupted`:ランナーがセッションを停止しました。セッションをリリースしてスロットを解放したか、セッションがスタートアップでタイムアウトしたか、サーバーがセッションをこのランナーから移動したか、ランナーがドレイン中であったか、セッションが [`--kill-session-after-min`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) 制限を超えました。191* `interrupted`:ランナーがセッションを停止しました。以下のいずれかのケースです。

192 * ランナーがスロットを解放するためにセッションをリリースした。

193 * セッションがスタートアップでタイムアウトした。

194 * サーバーがセッションをこのランナーから移動した。

195 * プロセスが終了する前に、ランナーのポーリングがアーカイブまたは削除を検出した。

196 * ランナーがドレイン中だった。

197 * セッションが [`--kill-session-after-min`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) 制限を超えた。

163* `abandoned`:別のランナーが要求したセッション用に予約されています。フックは現在その場合には発火しません。198* `abandoned`:別のランナーが要求したセッション用に予約されています。フックは現在その場合には発火しません。

164 199 

165[セッションライフサイクルカウンター](/docs/ja/self-hosted-environments-reference#session-lifecycle-counter-semantics)は、リリース、スタートアップタイムアウト、サーバー移動を `interrupted` ではなく `completed` としてカウントします。ランナーがスロットをクリーンに返したためです。フック受信とカウンターを比較する場合、その違いを予期してください。200フック受信を[セッションライフサイクルカウンター](/docs/ja/self-hosted-environments-reference#session-lifecycle-counter-semantics)と比較する場合、一部の `interrupted` 受信がカウンターでは `completed` としてカウントされることを想定してください。カウンターは、リリース、スタートアップタイムアウト、サーバー移動、およびランナーのポーリングが先に検出したアーカイブまたは削除を `completed` としてカウントします。ランナーがスロットをクリーンに返したためです。

166 201 

167フックの終了ステータスはセッション結果に影響しません。失敗はログに記録され、無視されます。ランナーはセッション終了を含むランナーシャットダウンのたびに、`--post-session-hook-timeout-sec`(デフォルトは 60 秒)まで待機します。この例はコミットされていない作業をレスキューブランチに保存します。202フックの終了ステータスはセッション結果に影響しません。失敗はログに記録され、無視されます。ランナーはセッション終了を含むランナーシャットダウンのたびに、`--post-session-hook-timeout-sec`(デフォルトは 60 秒)まで待機します。この例はコミットされていない作業をレスキューブランチに保存します。

168 203 

169```bash theme={null}204```bash theme={null}

170#!/usr/bin/env bash205#!/usr/bin/env bash

171set -u206set -u

207export GIT_ALLOW_PROTOCOL=${GIT_ALLOW_PROTOCOL:-https:http:ssh}

172IFS=':'208IFS=':'

173# -c overrides beat repo-local settings, blocking session-written fsmonitor,209# -c overrides beat repo-local settings, blocking session-written fsmonitor,

174# hook-path, and gpg-program config from executing code with the hook's210# hook-path, and gpg-program config from executing code with the hook's

175# privileges. -c commit.gpgsign=false also leaves these rescue commits211# privileges. -c commit.gpgsign=false also leaves these rescue commits

176# unsigned under --configure-git.212# unsigned under --configure-git.

177# Repo-local credential.helper and pushurl still apply, and on a runner213# Repo-local credential.helper and pushurl still apply, and on a runner

178# before v2.1.280 so does core.sshCommand; if the hook holds credentials214# before v2.1.280 so does core.sshCommand; see the note below the script

179# the session didn't, see the note below the script.215# before you give this push a credential.

180g() { git -c core.fsmonitor=false -c core.hooksPath=/dev/null \216g() { git -c core.fsmonitor=false -c core.hooksPath=/dev/null \

181 -c commit.gpgsign=false "$@"; }217 -c commit.gpgsign=false "$@"; }

182for ws in $CLAUDE_RUNNER_WORKSPACE_PATHS; do218for ws in $CLAUDE_RUNNER_WORKSPACE_PATHS; do


188done224done

189```225```

190 226 

191フックは、ランナーホスト上の独自の環境で利用可能な git 認証情報を使用してプッシュします。[イメージに認証情報がない姿勢](/docs/ja/self-hosted-environments-deploy#configure-git)の下では、組み込みクローンが Anthropic git プロキシを通過する場合を含めて、認証情報がないため、フック内で短期間のプッシュ認証情報を発行します。フックが受け取る `CLAUDE_CODE_SESSION_ACCESS_TOKEN` のセッショントークンを独自のトークンサービスと交換し、[Verify session identity](/docs/ja/self-hosted-environments-identity) が説明するように検証します。フックがセッションが持たなかった認証情報を保持している場合は、`origin` をオペレーター提供の URL に置き換え、`-c credential.helper=` と独自のヘルパーを渡します。セッションが書き込んだ設定が引き続き影響し得る内容については、[ライフサイクルフック内の Git 設定](#git-configuration-inside-lifecycle-hooks)で説明しています。227スクリプト内の `GIT_ALLOW_PROTOCOL` 行は、git を HTTPS、HTTP、SSH のリモートに制限します。ランナーの環境で独自の空でない `GIT_ALLOW_PROTOCOL` リストがすでに設定されている場合、スクリプトはそのリストを維持します。

228 

229フックは、ランナーホスト上の独自の環境で利用可能な git 認証情報を使用してプッシュします。[イメージに認証情報がない姿勢](/docs/ja/self-hosted-environments-deploy#configure-git)の下では、組み込みクローンが Anthropic git プロキシを通過する場合を含めて、認証情報がないため、フック内で短期間のプッシュ認証情報を発行します。フックが受け取る `CLAUDE_CODE_SESSION_ACCESS_TOKEN` のセッショントークンを独自のトークンサービスと交換し、[Verify session identity](/docs/ja/self-hosted-environments-identity) が説明するように検証します。

230 

231フックが git に渡す認証情報はすべて、セッションが取得できるものとして扱い、このプッシュ以上のことができないように発行してください。フック内の git はセッションが書き込める設定ファイルを読み取り、そのいずれかで指定された認証情報ヘルパーやフィルタードライバーはフックの権限で実行されます。また、これらのファイル内の設定によって、どのリモートを指定してもプッシュの送信先が変わる可能性があります。ランナーがフック内で固定する git 設定と、これらのファイルに委ねる設定については、[ライフサイクルフック内の Git 設定](#git-configuration-inside-lifecycle-hooks)を参照してください。

192 232 

193<h4 id="hook-timing-when-the-runner-releases-a-session">233<h4 id="hook-timing-when-the-runner-releases-a-session">

194 ランナーがセッションをリリースするときのフックタイミング234 ランナーがセッションをリリースするときのフックタイミング


264| `CLAUDE_RUNNER_ORDER_ID` | 不透明なべき等性キー。スポーン要求ごとに一意で、Kubernetes リソース名に対して安全です。プロビジョナーの重複排除キーとしてのみ使用してください。 |304| `CLAUDE_RUNNER_ORDER_ID` | 不透明なべき等性キー。スポーン要求ごとに一意で、Kubernetes リソース名に対して安全です。プロビジョナーの重複排除キーとしてのみ使用してください。 |

265| `CLAUDE_RUNNER_SESSION_ID` | この要求が対象とするセッション。セッションの再要求のたびに繰り返されるため、ログとルーティングに使用し、重複排除キーとしては使用しないでください。[`--min-idle`](/docs/ja/self-hosted-environments-reference#orchestrator-cli-flags) が設定されている場合、事前ウォーミング要求(特定のセッションの前にスタンバイランナーをブート)では空です。変数が設定されていると仮定しないでください。 |305| `CLAUDE_RUNNER_SESSION_ID` | この要求が対象とするセッション。セッションの再要求のたびに繰り返されるため、ログとルーティングに使用し、重複排除キーとしては使用しないでください。[`--min-idle`](/docs/ja/self-hosted-environments-reference#orchestrator-cli-flags) が設定されている場合、事前ウォーミング要求(特定のセッションの前にスタンバイランナーをブート)では空です。変数が設定されていると仮定しないでください。 |

266| `CLAUDE_RUNNER_SESSION_UUID` | 正規 UUID 形式の同じセッション ID。事前ウォーミング要求では空です。 |306| `CLAUDE_RUNNER_SESSION_UUID` | 正規 UUID 形式の同じセッション ID。事前ウォーミング要求では空です。 |

267| `CLAUDE_RUNNER_ATTEMPT` | このセッションが持つスポーン要求の数。事前ウォーミング要求では 0 です。 |307| `CLAUDE_RUNNER_ATTEMPT` | ログ記録に使用するセッションごとのカウンター。再試行回数でもリクエスト数でもありません。事前ウォーミング要求では `0` ですが、セッションに対する要求でも `0` になる場合があります。 |

268| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | ポーリング応答の HTTP `Date` ヘッダーからのサーバー時刻。フックがワークオーダー JWT の `exp` を検証する場合、ローカルクロックの代わりにこの値と比較して、スキューを許容してください。ゲートウェイがヘッダーを省略した場合は空です。 |308| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | ポーリング応答の HTTP `Date` ヘッダーからのサーバー時刻。フックがワークオーダー JWT の `exp` を検証する場合、ローカルクロックの代わりにこの値と比較して、スキューを許容してください。ゲートウェイがヘッダーを省略した場合は空です。 |

269| `CLAUDE_RUNNER_POOL_ID` | 新しいランナーが参加する環境の ID。`ccpool_...` 形式です。 |309| `CLAUDE_RUNNER_POOL_ID` | 新しいランナーが参加する環境の ID。`ccpool_...` 形式です。 |

270| `CLAUDE_RUNNER_ACCOUNT_ID` | セッションをエンキューしたアカウントのタグ付き ID。アカウントごとのルーティング、クォータ、またはチャージバック用です。利用できない場合は空で、Claude Tag チャネルセッションでは常に空です。どのアカウントもこれらのセッションをエンキューしません。 |310| `CLAUDE_RUNNER_ACCOUNT_ID` | セッションをエンキューしたアカウントのタグ付き ID。アカウントごとのルーティング、クォータ、またはチャージバック用です。利用できない場合は空で、Claude Tag チャネルセッションでは常に空です。どのアカウントもこれらのセッションをエンキューしません。 |

271| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | セッションをエンキューしたアカウントのメール。利用できない場合は空です。メールを個人識別情報として扱い、ログに記録しないでください。 |311| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | セッションをエンキューしたアカウントのメール。利用できない場合は空です。メールを個人識別情報として扱い、ログに記録しないでください。 |

272| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | セッションの最初の git ソースの URL。そのリポジトリが事前ウォーミングされたランナーへのルーティング用です。セッションに git ソースがない場合は空です。 |312| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | セッションの最初の git ソースの URL。そのリポジトリが事前ウォーミングされたランナーへのルーティング用です。セッションに git ソースがない場合は空です。 |

273| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | セッションの最初の git ソースのリビジョン。ブランチ、SHA、またはタグです。指定されていない場合は空です。 |313| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | セッションの最初の git ソースのリビジョン。ブランチ、SHA、タグ、または完全な参照名です。指定されていない場合は空です。 |

274| `CLAUDE_RUNNER_REPO_SOURCES` | セッションのすべての git ソースの `{url, revision}` の JSON 配列。セカンダリリポジトリでルーティングするフック用です。ソースがない場合は空です。 |314| `CLAUDE_RUNNER_REPO_SOURCES` | セッションのすべての git ソースの `{url, revision}` の JSON 配列。セカンダリリポジトリでルーティングするフック用です。ソースがない場合は空です。 |

275| `CLAUDE_RUNNER_CORRELATION_ID` | セッション作成時に提供された相関 ID。フックがこのワークオーダーをセッションを作成した要求にマップできるようにエコーバックされます。セッションに相関 ID がない場合は空です。 |315| `CLAUDE_RUNNER_CORRELATION_ID` | セッション作成時に提供された相関 ID。フックがこのワークオーダーをセッションを作成した要求にマップできるようにエコーバックされます。セッションに相関 ID がない場合は空です。 |

276| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアント表面。`web_claude_ai`、`desktop_app`、`ios`、`scheduled_trigger` など。採用分析用です。セッションに記録または認識された表面がない場合は未設定で、事前ウォーミング要求の場合も未設定です。`[ -n "${CLAUDE_RUNNER_CLIENT_PLATFORM:-}" ]` で確認してください。これは `set -u` の下で安全なままです。 |316| `CLAUDE_RUNNER_CLIENT_PLATFORM` | セッションを作成したクライアント表面。`web_claude_ai`、`desktop_app`、`ios`、`scheduled_trigger` など。採用分析用です。セッションに記録または認識された表面がない場合は未設定で、事前ウォーミング要求の場合も未設定です。`[ -n "${CLAUDE_RUNNER_CLIENT_PLATFORM:-}" ]` で確認してください。これは `set -u` の下で安全なままです。 |


286 326 

2871. **`CLAUDE_RUNNER_ORDER_ID` でべき等です。** 同じ要求の再配信は、最大 1 つのランナーをスポーンする必要があります。オーダー ID から決定論的なリソース名を導出し、プラットフォームに重複を拒否させてください。`CLAUDE_RUNNER_SESSION_ID` をキーとして使用しないでください。セッションの再要求のたびに同じセッション ID が新しいオーダー ID で実行されるため、セッション ID で名前付けまたは重複排除されたワークロードは、そのセッションに対して 1 回作成され、二度と作成されません。3271. **`CLAUDE_RUNNER_ORDER_ID` でべき等です。** 同じ要求の再配信は、最大 1 つのランナーをスポーンする必要があります。オーダー ID から決定論的なリソース名を導出し、プラットフォームに重複を拒否させてください。`CLAUDE_RUNNER_SESSION_ID` をキーとして使用しないでください。セッションの再要求のたびに同じセッション ID が新しいオーダー ID で実行されるため、セッション ID で名前付けまたは重複排除されたワークロードは、そのセッションに対して 1 回作成され、二度と作成されません。

2882. **ワークロードを再試行しないでください。** 1 つのオーダー ID は、最大 1 つの作成されたワークロードを意味します。ランナーが登録されない場合、Anthropic は `--expected-spawn-seconds` 後に新しいオーダー ID で再要求します。3282. **ワークロードを再試行しないでください。** 1 つのオーダー ID は、最大 1 つの作成されたワークロードを意味します。ランナーが登録されない場合、Anthropic は `--expected-spawn-seconds` 後に新しいオーダー ID で再要求します。

2893. **終了コードコントラクトを使用します。** 終了 0 は送信されたことを意味します。終了 1 は再試行可能な失敗を意味します。セッションはバックオフして再度提供されます。終了 2 以上は再試行不可を意味します。セッションは、[Owner](/docs/ja/cloud-environments#organization-shared-environments) が環境の **Activity** タブでそれに対して **Retry** を選択するまで、再度スポーンされることがブロックされます。ゼロ以外の終了時に、フックの stderr の末尾がそこに失敗理由として表示されるため、実行可能なエラーを stderr に書き込み、シークレットは決して書き込まないでください。事前ウォーミング要求の場合、失敗するセッションはありません。オーケストレーターはゼロ以外の終了をローカルでのみログに記録し、サーバーはリース後にスポーンを再要求します。3293. **終了コードコントラクトを使用します。** 結果に一致するステータスで終了してください。

2904. **`--expected-spawn-seconds` を少なくとも p99 ブート時間に設定します。** これはサーバー側のリースです。すべてのオーケストレーターレプリカは同じ値を使用する必要があります。330 

331 * **終了 0**:送信済み。

332 * **終了 1**:再試行可能な失敗。セッションはバックオフして再度提供されます。

333 * **終了 2 以上**:再試行不可の失敗。ユーザーがセッションに新しいメッセージを送信するか、[Owner](/docs/ja/cloud-environments#organization-shared-environments) が環境の **Activity** タブでそのセッションに対して **Retry** を選択するまで、セッションは再度スポーンされることがブロックされます。

334 

335 ゼロ以外の終了時には、フックの stderr の末尾が **Activity** タブに失敗理由として表示されるため、対処可能なエラーを stderr に書き込み、シークレットは決して書き込まないでください。シェルフックでは、[一時的な失敗を再試行可能なままにしてください](#keep-transient-failures-retryable-in-a-shell-hook)。

336 

337 事前ウォーミング要求には失敗するセッションがありません。オーケストレーターはゼロ以外の終了をローカルでのみログに記録し、サーバーは `--expected-spawn-seconds` のリースが期限切れになった後にスポーンを再要求します。

3384. **`--expected-spawn-seconds` を、スポーン要求からランナー登録までの p99 時間以上に設定します。** オーケストレーターがスポーン要求を受け取った時点から測定し、ブート時間に加えて、プラットフォームでのキャパシティ待ちの時間も含めてください。この値はサーバー側のリースであり、ワークオーダーもこれと同時に期限切れになるため、ワークロードにこれより長い時間がかかるランナーは登録できません。すべてのオーケストレーターレプリカは同じ値を使用する必要があります。

291 339 

292フックが stdout または stderr に書き込むすべてのものは、認証情報が自動的に削除されたオーケストレーターのログに表示されます。セッションがキューに入ったままの場合、オーケストレーターの `/healthz` ボディをチェックしてキュー数を確認し、[**Cloud environments** 管理ページ](https://claude.ai/admin-settings/cloud-environments)で環境の **Activity** タブを開きます。失敗したセッションをそこで展開してスポーンエラーを確認し、**Retry** を選択して再要求してください。340フックが stdout または stderr に書き込むすべてのものは、認証情報が自動的に削除されたオーケストレーターのログに表示されます。セッションがキューに入ったままの場合、オーケストレーターの `/healthz` ボディをチェックしてキュー数を確認し、[**Cloud environments** 管理ページ](https://claude.ai/admin-settings/cloud-environments)で環境の **Activity** タブを開きます。失敗したセッションをそこで展開してスポーンエラーを確認し、**Retry** を選択して再要求してください。

293 341 

294セッションが **Activity** タブにスポーンエラーなしでキューに入ったままの場合、フックがセッション ID でキーになっていることを意味する可能性があります。確認するには、プラットフォームがそのセッションの最初のスポーン要求のワークロードを持っているかどうか、および再要求のワークロードを持っていないかどうかを確認してください。その場合は、ワークロードを `CLAUDE_RUNNER_ORDER_ID` でキーにしてください。342セッションが **Activity** タブにスポーンエラーなしでキューに入ったままの場合、フックがセッション ID でキーになっていることを意味する可能性があります。確認するには、プラットフォームがそのセッションの最初のスポーン要求のワークロードを持っているかどうか、および再要求のワークロードを持っていないかどうかを確認してください。その場合は、ワークロードを `CLAUDE_RUNNER_ORDER_ID` でキーにしてください。

295 343 

344<h4 id="keep-transient-failures-retryable-in-a-shell-hook">

345 シェルフックで一時的な失敗を再試行可能なままにする

346</h4>

347 

348`set -e` を使用するシェルフックでは、再試行で解消できたはずの失敗によってセッションがブロックされることがあります。フックは失敗したコマンドで停止し、そのコマンド自体のステータスで終了します。オーケストレーターはそのステータスに終了コードコントラクトを適用します。多くの失敗は 2 以上のステータスを返します。たとえば、コマンドがインストールされていない場合の `127` や、HTTP エラー時の `curl --fail` による `22` などです。そのため、これらは最初の失敗でセッションをブロックします。

349 

350フックがすでにブロックしたセッションは、ユーザーが新しいメッセージを送信するか、[Owner](/docs/ja/cloud-environments#organization-shared-environments) が環境の **Activity** タブでそのセッションに対して **Retry** を選択するまで、ブロックされたままです。

351 

352このような失敗を代わりに終了 1 にするには、フックの `#!` 行の直下、失敗する可能性のあるものより上に次の行を配置します。

353 

354```bash theme={null}

355set -e

356PERMANENT=; permanent() { printf '%s\n' "$*" >&2; PERMANENT=1; exit 2; }

357trap 'rc=$?; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT

358```

359 

360これらの行はフックの残りの部分の動作を変更するため、追加した後、以下の各パターンについてフックを確認してください。

361 

362* **単独の `exit 2` 以上**:trap が設定されていると、これは終了 1 になります。どの再試行でも修正できないエラーの場合は、代わりに理由を付けて `permanent` を呼び出します(例:`permanent "namespace claude-runners does not exist"`)。`$( )`、`( )`、またはパイプの内部ではなく、メインシェルで呼び出してください。

363* **`exec`**:フックの最後のコマンドを `exec` で開始しないでください。`exec` はシェルを置き換えるため、trap が実行されません。

364* **2 つ目の `EXIT` trap**:2 つ目の `trap ... EXIT` は 1 つ目を置き換えるため、2 つを 1 つの trap にマージしてください。クリーンアップコマンドを `rc=$?;` の直後に配置し、それぞれの末尾に `|| true;` を付けます。これにより、クリーンアップは成功時だけでなく失敗時にも実行され、失敗したクリーンアップコマンドはフックの終了ステータスを設定しません。次のマージされた trap はその形を示しており、`your-cleanup-command` は独自のコマンドに置き換えてください。

365 

366 ```bash theme={null}

367 trap 'rc=$?; your-cleanup-command || true; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT

368 ```

369* **失敗が許容されるコマンド**:フックが以前 `set -e` を使用していなかった場合、ゼロ以外を返す最初のコマンドで停止するようになります。たとえば、何も見つからない検索や、プラットフォームが拒否する重複送信などです。フックが結果に基づいて動作する場合は、そのコマンドを `if` の条件にしてください。結果を無視する場合は、コマンドの後に `|| true` を付けてください。

370 

371trap が機能することを確認するには、`trap` 行の直下に、`no-such-command` などの存在しないコマンドを呼び出す行を追加します。シェルからフックファイルを実行し、`echo $?` が `1` を出力することを確認してから、その行を削除します。

372 

296<h2 id="send-model-requests-to-bedrock-or-agent-platform">373<h2 id="send-model-requests-to-bedrock-or-agent-platform">

297 モデルリクエストを Bedrock または Agent Platform に送信する374 モデルリクエストを Bedrock または Agent Platform に送信する

298</h2>375</h2>


381モデルリクエストを Amazon Bedrock または Google Cloud の Agent Platform に送信するセッションは、Anthropic API 上のセッションと次の点で異なります。458モデルリクエストを Amazon Bedrock または Google Cloud の Agent Platform に送信するセッションは、Anthropic API 上のセッションと次の点で異なります。

382 459 

383* **claude.ai からのポリシー**:[サーバー管理設定](/docs/ja/server-managed-settings)はこれらのセッションに届きません。Owner が Claude Code の管理設定で設定する組織ポリシーも届かないため、Claude Code はセッション内でそれらを適用しません。依存するルールは、ランナーイメージの[管理設定ファイル](/docs/ja/managed-settings#delivery-mechanisms)に記述してください。460* **claude.ai からのポリシー**:[サーバー管理設定](/docs/ja/server-managed-settings)はこれらのセッションに届きません。Owner が Claude Code の管理設定で設定する組織ポリシーも届かないため、Claude Code はセッション内でそれらを適用しません。依存するルールは、ランナーイメージの[管理設定ファイル](/docs/ja/managed-settings#delivery-mechanisms)に記述してください。

461* **アカウントのスキル**:これらのセッションは、各ユーザーの claude.ai アカウントで有効になっているスキルをダウンロードしません。[各セッションの設定の組み立て方](#how-each-session’s-config-is-assembled)を参照してください。

384* **ファイル**:claude.ai やモバイルアプリ、デスクトップアプリでセッションに添付されたファイルはセッションに届かず、Claude は [`SendUserFile` ツール](/docs/ja/tools-reference)でファイルを送り返すこともできません。代わりに、入力ファイルはリポジトリまたはランナー上に配置してください。462* **ファイル**:claude.ai やモバイルアプリ、デスクトップアプリでセッションに添付されたファイルはセッションに届かず、Claude は [`SendUserFile` ツール](/docs/ja/tools-reference)でファイルを送り返すこともできません。代わりに、入力ファイルはリポジトリまたはランナー上に配置してください。

385* **モデルの選択**:Anthropic のコントロールプレーンが各セッションのモデルを送信し、モデルが指定されずにセッションが開始された場合、Claude Code はそのプロバイダーのデフォルトを使用します。ランナーは、セッションに渡す環境から `ANTHROPIC_MODEL` と `ANTHROPIC_DEFAULT_MODEL` を削除します。プロバイダーのページの例では `ANTHROPIC_MODEL` を設定していますが、ランナーの環境ではどちらの変数も効果がありません。[Amazon Bedrock](/docs/ja/amazon-bedrock#4-pin-model-versions) と [Agent Platform](/docs/ja/google-vertex-ai#5-pin-model-versions) の「モデルバージョンを固定する」に記載されているファミリーごとの変数はセッションに届きます。これらは `opus` などのエイリアスの解決先を決定するものであり、完全なモデル ID の解決先を決定するものではありません。463* **モデルの選択**:Anthropic のコントロールプレーンが各セッションのモデルを送信し、モデルが指定されずにセッションが開始された場合、Claude Code はそのプロバイダーのデフォルトを使用します。ランナーの環境で `ANTHROPIC_MODEL` や `ANTHROPIC_DEFAULT_MODEL` を使ってモデルを選択することはできませんが、エイリアスの解決先を固定することはできます。

464 * **`ANTHROPIC_MODEL` と `ANTHROPIC_DEFAULT_MODEL`**:プロバイダーのページの例では `ANTHROPIC_MODEL` を設定していますが、ランナーはセッションに渡す環境からこれらを削除します。

465 * **ファミリーごとの固定用変数**:[Amazon Bedrock](/docs/ja/amazon-bedrock#4-pin-model-versions) と [Agent Platform](/docs/ja/google-vertex-ai#5-pin-model-versions) の「モデルバージョンを固定する」に記載されている変数はセッションに届きます。これらは `opus` などのエイリアスの解決先を決定するものであり、完全なモデル ID の解決先を決定するものではありません。

386* **アカウントで提供されていないモデル**:セッションが、モデル名を示すエラーでメッセージの処理に失敗する場合があります。開発者が選択できるモデル、「モデルバージョンを固定する」で説明されているバックグラウンドモデル、[auto モード](/docs/ja/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry)が使用する分類器モデルを有効にしてください。Amazon Bedrock では、それぞれをポリシーで許可してください。466* **アカウントで提供されていないモデル**:セッションが、モデル名を示すエラーでメッセージの処理に失敗する場合があります。開発者が選択できるモデル、「モデルバージョンを固定する」で説明されているバックグラウンドモデル、[auto モード](/docs/ja/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry)が使用する分類器モデルを有効にしてください。Amazon Bedrock では、それぞれをポリシーで許可してください。

387* **Web 検索と fast mode**:[Web 検索](/docs/ja/tools-reference#websearch-tool-behavior)は Amazon Bedrock では利用できず、[fast mode](/docs/ja/fast-mode) はどちらのプロバイダーでも利用できません。プロバイダーによって異なるその他の機能については、[プロバイダーによって異なる CLI 機能](/docs/ja/feature-availability#cli-capabilities-that-vary-by-provider)を参照してください。467* **Web 検索と fast mode**:[Web 検索](/docs/ja/tools-reference#websearch-tool-behavior)は Amazon Bedrock では利用できず、[fast mode](/docs/ja/fast-mode) はどちらのプロバイダーでも利用できません。プロバイダーによって異なるその他の機能については、[プロバイダーによって異なる CLI 機能](/docs/ja/feature-availability#cli-capabilities-that-vary-by-provider)を参照してください。

388 468 


411 491 

412セッションはランナーの環境を継承するため、ランナーで [`ENABLE_TOOL_SEARCH`](/docs/ja/mcp#scale-with-mcp-tool-search) を設定すると、そのランナーが起動するすべてのセッションで MCP ツール検索を制御できます。値については MCP のページで説明しています。492セッションはランナーの環境を継承するため、ランナーで [`ENABLE_TOOL_SEARCH`](/docs/ja/mcp#scale-with-mcp-tool-search) を設定すると、そのランナーが起動するすべてのセッションで MCP ツール検索を制御できます。値については MCP のページで説明しています。

413 493 

494<a id="connection-timing" />

495 

496<h3 id="wait-for-mcp-servers-before-the-first-turn">

497 最初のターンの前に MCP サーバーを待機する

498</h3>

499 

500セルフホストのセッションは、まだ接続中の MCP サーバーを、2 つの異なる時点で短時間待機します。待機時間内に接続できなかったサーバーのツールは最初のターンの開始時には存在しませんが、ユーザーが何も操作しなくても後で利用可能になります。2 つの待機は次のとおりです。

501 

502* **セッションの起動時**:ツールの一覧が最初に取得される前に、セッションは、エントリで [`alwaysLoad: true`](/docs/ja/mcp#exempt-a-server-from-deferral) を設定した HTTP または SSE サーバーを、またはランナーの環境で [`MCP_CONNECTION_NONBLOCKING=0`](/docs/ja/env-vars) を設定した場合はすべてのサーバーを、デフォルトで最大 5 秒間待機します。それ以外の場合、HTTP および SSE サーバーはバックグラウンドで接続します。ここで待機している間、セッションの初期化は遅くなります。[`MCP_CONNECT_TIMEOUT_MS`](/docs/ja/env-vars) で 5 秒のデフォルトを変更できます。

503* **最初のターン**:メッセージが届いた後、最初のターンはまだ接続中の stdio サーバーを最大 2 秒間待機します。ここで待機している間、最初の応答は遅くなります。この待機時間を変更するには、ランナーの環境で [`CLAUDE_CODE_MCP_STARTUP_WAIT_MS`](/docs/ja/env-vars) を設定します。待機の対象となるサーバーは変わりません。Claude Code v2.1.274 以降が必要です。

504 

505`claude mcp add` には `alwaysLoad` フラグはありません。このキーを設定するには、代わりに `claude mcp add-json` でサーバーを追加します。このコマンドはサーバーの JSON でキーを受け取り、`.claude.json` に書き込みます。Dockerfile では次のようにします。

506 

507```dockerfile theme={null}

508RUN claude mcp add-json core '{"type":"http","url":"https://mcp.example.com/mcp","alwaysLoad":true}' --scope user

509```

510 

511後のターンでもサーバーのツールが表示されない場合は、[MCP サーバー](#mcp-servers)で説明しているとおり、サーバーがそもそもセッションに届いているかどうかを確認してください。

512 

414<h3 id="turn-off-built-in-session-tools">513<h3 id="turn-off-built-in-session-tools">

415 組み込みのセッションツールをオフにする514 組み込みのセッションツールをオフにする

416</h3>515</h3>


575 674 

576`SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` を設定して別のパスからシードするか、空のディレクトリに指定してシーディングを無効にします。675`SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` を設定して別のパスからシードするか、空のディレクトリに指定してシーディングを無効にします。

577 676 

578リポジトリコミット `.claude/settings.json` はプロジェクト設定として上に層状化されます。複数のリポジトリを含むセッションでは、[有効になるのは最大 1 つのリポジトリのファイルのみです](#repository-settings-in-sessions-with-several-repositories)。セッションはランナーイメージの標準システムパスから [`managed-settings.json`](/docs/ja/settings#where-settings-live) も読み取ります。そのキーが [サーバー管理設定](/docs/ja/server-managed-settings) と一緒に適用されるかどうかは、[Claude Code が管理ソースを組み合わせる方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources) に従います。デフォルトでは、組織が任意のサーバー管理キーを配信する場合、セッションは [Claude Code がすべての管理ソースから読み取るキー](/docs/ja/managed-settings#keys-read-from-every-admin-source)(`env` ブロック、サンドボックスロック、サンドボックスバイナリパス、`forceRemoteSettingsRefresh` など)を除いて、ランナーイメージのファイルを無視します。[設定優先順位](/docs/ja/settings#settings-precedence) を参照してください。677セッションは次の設定ファイルも読み取ります。

678 

679* **プロジェクト設定**:リポジトリにコミットされた `.claude/settings.json` は、ユーザーレベルのベースラインの上に重ねて適用されます。複数のリポジトリを含むセッションでは、[有効になるのは最大 1 つのリポジトリのファイルのみです](#repository-settings-in-sessions-with-several-repositories)。

680* **管理設定**:セッションはランナーイメージの標準システムパスから [`managed-settings.json`](/docs/ja/settings#where-settings-live) を読み取ります。そのキーが [サーバー管理設定](/docs/ja/server-managed-settings) と一緒に適用されるかどうかについては、[Claude Code が管理ソースを組み合わせる方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources) を参照してください。

681 

682これらのソースが適用される順序については、[設定の優先順位](/docs/ja/settings#settings-precedence) を参照してください。

579 683 

580Anthropic のコントロールプレーンがセッションに [Claude Code フック](/docs/ja/hooks) を提供する場合、ランナーはそれらを独自の設定の上ではなく隣に設定します。Claude Code v2.1.229 以降が必要です。684Anthropic のコントロールプレーンがセッションに [Claude Code フック](/docs/ja/hooks) を提供する場合、ランナーはそれらを独自の設定の上ではなく隣に設定します。Claude Code v2.1.229 以降が必要です。

581 685 


583* **誰がそれらを作成するか**:コントロールプレーンはセッションごとまたはサードパーティ入力からではなく、独自のデプロイメント内の固定定数からスクリプトを入力します。687* **誰がそれらを作成するか**:コントロールプレーンはセッションごとまたはサードパーティ入力からではなく、独自のデプロイメント内の固定定数からスクリプトを入力します。

584* **何がそれらを管理するか**:`--settings` を通じて配信されるフックは通常のマージされたフック設定に入り、管理層ではないため、管理設定はまだ適用されます。`disableAllHooks` はそれらを無効にし、[`allowManagedHooksOnly`](/docs/ja/settings-reference#allowmanagedhooksonly) が保つカテゴリーには含まれません。688* **何がそれらを管理するか**:`--settings` を通じて配信されるフックは通常のマージされたフック設定に入り、管理層ではないため、管理設定はまだ適用されます。`disableAllHooks` はそれらを無効にし、[`allowManagedHooksOnly`](/docs/ja/settings-reference#allowmanagedhooksonly) が保つカテゴリーには含まれません。

585 689 

690ユーザーが自分でセッションを開始すると、Claude Code は [その claude.ai アカウントで有効になっているスキル](/docs/ja/skills#skills-in-cowork-and-cloud-sessions) もそのセッションの設定ディレクトリにダウンロードします。[ルーティン](/docs/ja/routines) の実行ではオーナーのスキルは取得されず、[Bedrock または Agent Platform にモデルリクエストを送信する](#send-model-requests-to-bedrock-or-agent-platform) セッションはスキルを一切ダウンロードしません。これらのセッションで必要なスキルは、リポジトリの `.claude/skills/` にコミットするか、ランナーイメージに追加してください。

691 

586[Claude Tag](https://claude.com/docs/claude-tag/overview) セッション以外では、セルフホスト環境のセッションはデフォルトで [自動メモリ](/docs/ja/memory#auto-memory) がオフの状態で実行されます。セッションをまたいで引き継ぐべき指示には、ランナーイメージまたはリポジトリ内の `CLAUDE.md` を使用してください。692[Claude Tag](https://claude.com/docs/claude-tag/overview) セッション以外では、セルフホスト環境のセッションはデフォルトで [自動メモリ](/docs/ja/memory#auto-memory) がオフの状態で実行されます。セッションをまたいで引き継ぐべき指示には、ランナーイメージまたはリポジトリ内の `CLAUDE.md` を使用してください。

587 693 

588ランナーによるホストの `~/.claude/` のスナップショットには `projects/` ディレクトリは含まれません。自動メモリのデフォルトの保存場所はこのディレクトリの下にあります。そこにメモリファイルを置いても、ランナーはそれらをセッションにシードせず、自動メモリがオンになることもありません。694ランナーによるホストの `~/.claude/` のスナップショットには `projects/` ディレクトリは含まれません。自動メモリのデフォルトの保存場所はこのディレクトリの下にあります。そこにメモリファイルを置いても、ランナーはそれらをセッションにシードせず、自動メモリがオンになることもありません。

Details

20 20 

21* **エフェメラルなセッションごとのコンテナ**:各ランナープロセスを、プロセスが終了するときに破棄される新しいコンテナまたは VM で実行します。`--capacity 1` とデフォルトの `--drain-grace-sec 0` を使用して、各コンテナが正確に 1 つのセッションを処理するようにします。容量が高い場合、またはドレイングレースが正の場合、1 つのコンテナが同じ[ロックされたオーナー](/docs/ja/self-hosted-environments#key-concepts)からの複数のセッションを処理します。[ランナーのライフサイクル](/docs/ja/self-hosted-environments#runner-lifecycle)を参照してください。ランナーの再起動間でファイルシステムを再利用しないでください。ただし、意図的な[プリウォーミングされたチェックアウト](#reuse-a-pre-warmed-checkout)セットアップは除きます。また、オーナー間では再利用しないでください。21* **エフェメラルなセッションごとのコンテナ**:各ランナープロセスを、プロセスが終了するときに破棄される新しいコンテナまたは VM で実行します。`--capacity 1` とデフォルトの `--drain-grace-sec 0` を使用して、各コンテナが正確に 1 つのセッションを処理するようにします。容量が高い場合、またはドレイングレースが正の場合、1 つのコンテナが同じ[ロックされたオーナー](/docs/ja/self-hosted-environments#key-concepts)からの複数のセッションを処理します。[ランナーのライフサイクル](/docs/ja/self-hosted-environments#runner-lifecycle)を参照してください。ランナーの再起動間でファイルシステムを再利用しないでください。ただし、意図的な[プリウォーミングされたチェックアウト](#reuse-a-pre-warmed-checkout)セットアップは除きます。また、オーナー間では再利用しないでください。

22 * <span id="processes-a-stopped-session-leaves" />ランナーがセッションを停止するとき、シェルコマンドの終了後も実行を続けているプロセス(デーモン化したサービスなど)にはシグナルを送信しません。コンテナまたは VM を破棄すると、そのプロセスは終了します。22 * <span id="processes-a-stopped-session-leaves" />ランナーがセッションを停止するとき、シェルコマンドの終了後も実行を続けているプロセス(デーモン化したサービスなど)にはシグナルを送信しません。コンテナまたは VM を破棄すると、そのプロセスは終了します。

23* **イメージに広範な認証情報を含めない**:長期的な SSH キー、クラウドプロバイダーの認証情報、またはセッションが必要とする以上の権限を付与するパーソナルアクセストークンを含めないでください。セッション中に使用される認証情報(プッシュトークンや API トークン)は、[ラッパースクリプト](/docs/ja/self-hosted-environments-configuration#wrapper-scripts)からセッションごとにミントしてください。初期クローンの場合(ラッパーが実行される前に発生)、[`checkout` ライフサイクルフック](/docs/ja/self-hosted-environments-configuration#checkout)または [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) を使用してください。[git を設定する](#configure-git)を参照してください。23* **イメージに広範な認証情報を含めない**:長期的な SSH キー、クラウドプロバイダーの認証情報、またはセッションが必要とする以上の権限を付与するパーソナルアクセストークンを含めないでください。セッション中に使用される認証情報(プッシュトークンや API トークン)は、[ラッパースクリプト](/docs/ja/self-hosted-environments-configuration#wrapper-scripts)からセッションごとにミントしてください。初期クローンはラッパーが実行される前に発生するため、[`checkout` ライフサイクルフック](/docs/ja/self-hosted-environments-configuration#checkout)で処理するか、セッションのすべてのリポジトリが github.com 上にある場合は [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) で処理してください。どちらについても、[git を設定する](#configure-git)を参照してください。

24* **ホストの GitHub 認証情報をセッションから遠ざける**:Claude は、セッションが読み取れる任意の GitHub 認証情報を、その認証情報が付与するアクセス権の範囲で使用できます。ランナーホスト自身の広範なスコープを持つ GitHub 認証情報は、セッションが読み取れる場所に置かないでください。このような認証情報には、パーソナルアクセストークン、`gh auth login` がアカウント用に保存するトークン、ランナーの環境内の `GH_TOKEN` などがあります。

25 * **[Anthropic 管理の git](#use-the-anthropic-git-proxy) を使用する場合**:このような認証情報があると、Claude は Anthropic 管理の git を経由せずに GitHub に直接アクセスします。

26 * **Anthropic 管理の git を使用しない場合**:[イメージに git 設定を含める](#ship-git-config-in-your-image)で説明しているとおりに厳密にスコープを限定すれば、クローン用の認証情報をイメージに残しておくことができます。

24* **環境シークレットをセッション実行ホストに置かない**:環境シークレットはランナーを登録し、環境でキューに入っているセッションを取得できます。固定フリートでは、シークレットはすべてのランナーホストに存在し、どのセッションのコードもシークレットファイルを読み取ることができます。[オンデマンドランナー](/docs/ja/self-hosted-environments-configuration#on-demand-runners)を優先してください。この場合、シークレットはユーザーコードを一切実行しないオーケストレーターホストに留まり、各ランナーは正確に 1 つのランナーを登録する単一使用の作業指示を受け取ります。固定フリートでは、環境シークレットファイルをすべてのセッションで読み取り可能として扱い、セッション侵害が疑われる場合はその後にシークレットをローテーションしてください。27* **環境シークレットをセッション実行ホストに置かない**:環境シークレットはランナーを登録し、環境でキューに入っているセッションを取得できます。固定フリートでは、シークレットはすべてのランナーホストに存在し、どのセッションのコードもシークレットファイルを読み取ることができます。[オンデマンドランナー](/docs/ja/self-hosted-environments-configuration#on-demand-runners)を優先してください。この場合、シークレットはユーザーコードを一切実行しないオーケストレーターホストに留まり、各ランナーは正確に 1 つのランナーを登録する単一使用の作業指示を受け取ります。固定フリートでは、環境シークレットファイルをすべてのセッションで読み取り可能として扱い、セッション侵害が疑われる場合はその後にシークレットをローテーションしてください。

25* **デフォルト拒否ネットワーク出力**:すべての環境でランナーとセッションコンテナのアウトバウンドトラフィックをネットワーク境界で制限してください。[デフォルト拒否出力](#default-deny-egress)では、許可する内容と理由について説明しています。28* **デフォルト拒否ネットワーク出力**:すべての環境でランナーとセッションコンテナのアウトバウンドトラフィックをネットワーク境界で制限してください。[デフォルト拒否出力](#default-deny-egress)では、許可する内容と理由について説明しています。

26* **最小権限ホスト IAM**:ランナーホストに接続されたコンピュート ID(インスタンスプロファイルやノードサービスアカウントなど)は、ランナー自体が必要とするもののみを付与する必要があります。セッションは、ホストの ID を継承するのではなく、ラッパースクリプトを通じて独自の認証情報を取得する必要があります。29* **最小権限ホスト IAM**:ランナーホストに接続されたコンピュート ID(インスタンスプロファイルやノードサービスアカウントなど)は、ランナー自体が必要とするもののみを付与する必要があります。セッションは、ホストの ID を継承するのではなく、ラッパースクリプトを通じて独自の認証情報を取得する必要があります。


42 ガードは [`--trust-workspace`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) に関係なく実行され、リポジトリフック、`.mcp.json`、または Bash ルールはカバーしません。[権限とツール承認](/docs/ja/self-hosted-environments-configuration#permissions-and-tool-approval)では、これらの付与がどこに属するかについて説明しています。45 ガードは [`--trust-workspace`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) に関係なく実行され、リポジトリフック、`.mcp.json`、または Bash ルールはカバーしません。[権限とツール承認](/docs/ja/self-hosted-environments-configuration#permissions-and-tool-approval)では、これらの付与がどこに属するかについて説明しています。

43 46 

44<Note>47<Note>

45 組織の IP 許可リストはデフォルトではセルフホストランナートラフィックをカバーしません。ランナーまたはセッショントラフィックのネットワーク制御として依存しないでください。代わりに、独自のネットワーク境界でデフォルト拒否出力を適用し、組織の IP 許可リスト適用が必要な場合は Anthropic アカウントチームに連絡してください。48 組織で [IP 許可リスト](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting)が有効になっている場合は、ランナーとセッションコンテナを起動する前に、それらのパブリック出力アドレスを許可リストに追加してください。[オンデマンドランナー](/docs/ja/self-hosted-environments-configuration#on-demand-runners)を実行する場合は、オーケストレーターホストのアドレスも追加してください。ランナーまたはセッショントラフィックのネットワーク制御として許可リストに依存しないでください。代わりに、独自のネットワーク境界でデフォルト拒否出力を適用してください。

46</Note>49</Note>

47 50 

48<h2 id="network-requirements">51<h2 id="network-requirements">


55 58 

56| ホスト | ポート | 用途 |59| ホスト | ポート | 用途 |

57| :- | :- | :- |60| :- | :- | :- |

58| `api.anthropic.com` | 443、HTTPS;SCM コネクタのみ WSS | ランナーコントロールプレーンとセッションストリーミング、モデル推論、機能フラグ、製品分析、[JWKS](/docs/ja/self-hosted-environments-identity) キーフェッチ、コミット署名、`--use-anthropic-git-proxy` が設定されている場合の git プロキシ、`--scm-connector-host` が設定されている場合のオーケストレーターの [SCM コネクタ](/docs/ja/self-hosted-environments-reference#scm-connector-flags)トンネル |61| `api.anthropic.com` | 443、HTTPS;[Anthropic 管理の git](#use-the-anthropic-git-proxy) では WSS | ランナーコントロールプレーンとセッションストリーミング、モデル推論、機能フラグ、製品分析、[JWKS](/docs/ja/self-hosted-environments-identity) キーフェッチ、コミット署名、`--use-anthropic-git-proxy` が設定されている場合の Anthropic 管理の git |

59| `github.com` またはお客様の GitHub Enterprise ホストなどの git ホスト | 443 または 22 | リポジトリのクローンとプッシュ。ランナーが `--use-anthropic-git-proxy` を使用する場合は不要です。これは git トラフィックを `api.anthropic.com` を通じてルーティングします。 |62| `github.com` や GitHub Enterprise ホストなどの git ホスト | 443 または 22 | ランナーのセッションが使用する各 git ホストでのリポジトリのクローンとプッシュ。[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) を使用するランナーについては、[`github.com` へのパスが引き続き必要になる場合](#github-com-egress-with-the-anthropic-git-proxy)を参照してください。 |

63 

64<span id="github-com-egress-with-the-anthropic-git-proxy" />[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) を使用するランナーは、`github.com` の git トラフィックを `api.anthropic.com` 経由でルーティングするため、`github.com` 向けの git ホストへのパスは不要です。ただし、`--push-outcome-on-release` を設定する場合や `post-session` フックからプッシュする場合は、引き続きそのパスが必要です。

60 65 

61これらのホストが必要かどうかは、設定によって異なります:66これらのホストが必要かどうかは、設定によって異なります:

62 67 


71| `browser-intake-us5-datadoghq.com` | 443 | Anthropic エラーレポートアップロード。セッションのアカウントで[エラーレポート](/docs/ja/data-usage#telemetry-services)が有効な場合のみ送信されます。`DISABLE_ERROR_REPORTING=1` または `DISABLE_TELEMETRY=1` で抑制されます。 |76| `browser-intake-us5-datadoghq.com` | 443 | Anthropic エラーレポートアップロード。セッションのアカウントで[エラーレポート](/docs/ja/data-usage#telemetry-services)が有効な場合のみ送信されます。`DISABLE_ERROR_REPORTING=1` または `DISABLE_TELEMETRY=1` で抑制されます。 |

72| モデルリクエスト、モデル検索、認証情報の更新に使用するクラウドプロバイダーのエンドポイント(`bedrock-runtime.us-east-1.amazonaws.com` や `aiplatform.googleapis.com` など) | 443 | ランナーが[モデルリクエストを Amazon Bedrock または Google Cloud の Agent Platform に送信する](/docs/ja/self-hosted-environments-configuration#send-model-requests-to-bedrock-or-agent-platform)場合のみ |77| モデルリクエスト、モデル検索、認証情報の更新に使用するクラウドプロバイダーのエンドポイント(`bedrock-runtime.us-east-1.amazonaws.com` や `aiplatform.googleapis.com` など) | 443 | ランナーが[モデルリクエストを Amazon Bedrock または Google Cloud の Agent Platform に送信する](/docs/ja/self-hosted-environments-configuration#send-model-requests-to-bedrock-or-agent-platform)場合のみ |

73 78 

74ランナーは `statsig.anthropic.com`、`*.sentry.io`、`claude.ai`、または `platform.claude.com` に到達しません。これらのホストは古いエンタープライズネットワークチェックリストに表示されますが、ランナーまたはセッショントラフィックのために許可リストに登録する必要はありません:機能フラグフェッチは `api.anthropic.com` に移動し、ランナーはインタラクティブ OAuth ではなく環境シークレットで認証します。 2 つのホスト側フローは `claude.ai` に到達するため、出力を許可するホストから実行してください。セッションコンテナ出力を広げるのではなく:ワンラインインストーラーはインストール時に `claude.ai` から `install.sh` をフェッチし、インタラクティブな `claude auth login`([ガイド付きセットアップ](/docs/ja/self-hosted-environments-quickstart#set-up-an-environment-and-runner)、`doctor` の署名入りモード、[CI ディスパッチ](/docs/ja/self-hosted-environments-testing#authenticate-from-ci)が使用)は `claude.ai`、`claude.com`、`platform.claude.com` を通じてサインインします。`mcp-proxy.anthropic.com` も必須ではありません:セルフホストセッションはそれを使用せず、組織の claude.ai コネクタをセッションに配信する場合(組織で有効な場合)、`api.anthropic.com` を通じてルーティングされます。[MCP サーバー](/docs/ja/self-hosted-environments-configuration#mcp-servers)を参照してください。79ランナーまたはセッションのトラフィックのために、以下のホストを許可リストに登録する必要はありません:

80 

81* **`statsig.anthropic.com`、`*.sentry.io`、`claude.ai`、`platform.claude.com`**:これらのホストは一部の古いエンタープライズネットワークチェックリストに記載されていますが、ランナーはこれらに到達しません。機能フラグのフェッチは `api.anthropic.com` に送られ、ランナーはインタラクティブ OAuth ではなく環境シークレットで認証します。

82* **`mcp-proxy.anthropic.com`**:セルフホストセッションはこれを使用しません。組織でコネクタ配信が有効な場合、組織の claude.ai コネクタは `api.anthropic.com` を通じてセッションに届きます。[MCP サーバー](/docs/ja/self-hosted-environments-configuration#mcp-servers)を参照してください。

83 

84以下のホスト側フローは `claude.ai` に到達するため、セッションコンテナの出力を広げるのではなく、出力でこれを許可しているホストから実行してください:

85 

86* **ワンラインインストーラー**:インストール時に `claude.ai` から `install.sh` をフェッチします。

87* **インタラクティブな `claude auth login`**:`claude.ai`、`claude.com`、`platform.claude.com` を通じてサインインします。[ガイド付きセットアップ](/docs/ja/self-hosted-environments-quickstart#run-the-guided-setup)、`doctor` のサインイン済みモード、[CI ディスパッチ](/docs/ja/self-hosted-environments-testing#authenticate-from-ci)がこれを使用します。サインインに使用するブラウザーは、claude.ai サインインページのブラウザーチェックも `hcaptcha.com`、`*.hcaptcha.com`、`challenges.cloudflare.com` から読み込みます。

75 88 

76<h3 id="default-deny-egress">89<h3 id="default-deny-egress">

77 デフォルト拒否出力90 デフォルト拒否出力


127* **ランナーに git を設定させる**:`--configure-git` でランナーを開始して、Anthropic ホストセッションが使用する同じ ID とコミット署名設定を書き込ませます140* **ランナーに git を設定させる**:`--configure-git` でランナーを開始して、Anthropic ホストセッションが使用する同じ ID とコミット署名設定を書き込ませます

128* **イメージに git 設定を含める**:ID とプッシュ認証情報を自分で設定します。例えば、独自のボット ID でコミットするため141* **イメージに git 設定を含める**:ID とプッシュ認証情報を自分で設定します。例えば、独自のボット ID でコミットするため

129 142 

143github.com 上のリポジトリについては、[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) でランナーを開始するか、`CLAUDE_RUNNER_USE_GIT_PROXY=1` を設定して、ランナーのセッションの git を提供するよう Anthropic に求めることもできます。

144 

130ランナーホストの Git バージョンフロア:[`--configure-git`](#let-the-runner-configure-git) SSH コミット署名には Git 2.34 以降が必要です。[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) には 2.32 以降が必要です。[`--push-outcome-on-release`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) でプッシュされたブランチからセッションを再開するには 2.29 以降が必要です。3 つすべてを省略して git ID を自分で管理する場合は、Git 2.24 で十分です。145ランナーホストの Git バージョンフロア:[`--configure-git`](#let-the-runner-configure-git) SSH コミット署名には Git 2.34 以降が必要です。[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) には 2.32 以降が必要です。[`--push-outcome-on-release`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) でプッシュされたブランチからセッションを再開するには 2.29 以降が必要です。3 つすべてを省略して git ID を自分で管理する場合は、Git 2.24 で十分です。

131 146 

132<h3 id="let-the-runner-configure-git">147<h3 id="let-the-runner-configure-git">


138* `user.name = Claude` および `user.email = noreply@anthropic.com`。Anthropic ホストセッションと一致します153* `user.name = Claude` および `user.email = noreply@anthropic.com`。Anthropic ホストセッションと一致します

139* SSH 形式のコミットとタグ署名。ランナー管理のシムを通じてルーティングされ、セッション独自の認証情報を使用して Anthropic の署名サービスを通じて各コミットに署名します。署名は GitHub で Anthropic の公開 SSH 署名キーに対して検証可能です。154* SSH 形式のコミットとタグ署名。ランナー管理のシムを通じてルーティングされ、セッション独自の認証情報を使用して Anthropic の署名サービスを通じて各コミットに署名します。署名は GitHub で Anthropic の公開 SSH 署名キーに対して検証可能です。

140* `push.negotiate = true`。git がプッシュをパックする前に git ホストが既に持っているコミットを尋ねます。Claude Code v2.1.257 以降が必要です。155* `push.negotiate = true`。git がプッシュをパックする前に git ホストが既に持っているコミットを尋ねます。Claude Code v2.1.257 以降が必要です。

141* `core.hooksPath` はランナー管理のフックディレクトリを指します。その `commit-msg` および `prepare-commit-msg` フックは、各コミットにセッションの作成者の `Co-authored-by:` トレーラーを追加します。[`CCR_SESSION_ACCOUNT_EMAIL`](/docs/ja/self-hosted-environments-configuration#wrapper-scripts) のメールから構築され、その変数が設定されていない場合は省略されます。イメージが既に `core.hooksPath` を設定している場合、ランナーは設定を保持し、これらのフックのインストールをスキップし、`[runner:git]` 警告を出力します。156* `core.hooksPath` はランナー管理のフックディレクトリを指します。その `commit-msg` および `prepare-commit-msg` フックは、各コミットにセッションの作成者の `Co-authored-by:` トレーラーを追加します。[`CCR_SESSION_ACCOUNT_EMAIL`](/docs/ja/self-hosted-environments-configuration#wrapper-scripts) のメールから構築され、その変数が設定されていない場合は省略されます。イメージが既に `core.hooksPath` を設定していて、ランナーが [Anthropic 管理の git](#use-the-anthropic-git-proxy) を使用していない場合、ランナーは設定を保持し、これらのフックのインストールをスキップし、`[runner:git]` 警告を出力します。

142 157 

143コミット署名には git 2.34 以降が必要です。ランナーは起動時にチェックし、git が古い場合はエラーで終了します。このフラグはプッシュ認証情報を設定しません。これはイメージで提供する必要があります。158コミット署名には git 2.34 以降が必要です。ランナーは起動時にチェックし、git が古い場合はエラーで終了します。このフラグはプッシュ認証情報を設定しません。これはイメージで提供する必要があります。

144 159 

145v2.1.280 以降のランナーでは、`checkout` または `post-session` ライフサイクルフックから行ったコミットもセッションとして署名されます。ただし、`Co-authored-by:` トレーラーは付きません。[ライフサイクルフック内の git 設定](/docs/ja/self-hosted-environments-configuration#git-configuration-inside-lifecycle-hooks)では、ランナーがこれらのフック内で固定する git 設定について説明しています。160v2.1.280 以降のランナーでは、`checkout` または `post-session` ライフサイクルフックから行ったコミットもセッションとして署名されます。ただし、`Co-authored-by:` トレーラーは付きません。[ライフサイクルフック内の git 設定](/docs/ja/self-hosted-environments-configuration#git-configuration-inside-lifecycle-hooks)では、ランナーがこれらのフック内で固定する git 設定について説明しています。

146 161 

162`--configure-git` の有無にかかわらず、Claude Code は Claude に対して、コミットメッセージの末尾に `Claude-Session: <url>` トレーラーを付け、プルリクエストの説明の末尾にセッションの URL を付けるよう指示します。両方を省略するには、ランナーホストの [`~/.claude/settings.json`](/docs/ja/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) で [`attribution.sessionUrl`](/docs/ja/settings-reference#attribution-sessionurl) を `false` に設定してから、ランナーを再起動してください。

163 

147<h3 id="ship-git-config-in-your-image">164<h3 id="ship-git-config-in-your-image">

148 イメージに git 設定を含める165 イメージに git 設定を含める

149</h3>166</h3>


186 Anthropic git プロキシを使用する203 Anthropic git プロキシを使用する

187</h3>204</h3>

188 205 

189`--use-anthropic-git-proxy` でランナーを開始するか、`CLAUDE_RUNNER_USE_GIT_PROXY=1` を設定して、セッション独自の短期トークンで認証された Anthropic の git プロキシを通じてクローンさせます。通常のユーザーセッションの場合、プロキシはセッション作成者用に保存された GitHub または GitHub Enterprise OAuth トークンを使用します。ボットおよびエージェントセッションの場合、組織の GitHub App インストールトークンを使用します。どちらの場合でも、ランナーイメージは git 認証情報をまったく必要としません:SSH キーなし、認証情報ヘルパーなし、`.netrc` なし。これは Anthropic ホスト環境が使用する同じ認証パスです。206Anthropic git プロキシ(Anthropic 管理の git とも呼ばれます)を使用すると、ランナーイメージはセッション自体のために SSH キー、認証情報ヘルパー、`.netrc`、その他の git 認証情報を必要としません。代わりに、ランナーはセッションの git を提供するよう Anthropic に求めます。Anthropic が提供するユーザーのセッションでは、ランナーのクローンとセッション独自のフェッチおよびプッシュは Anthropic を経由し、Anthropic はセッション作成者用に保存された GitHub OAuth トークンを使用します。ボットおよびエージェントセッションについては、[Anthropic がセッションの git を提供する仕組み](#how-anthropic-serves-git-for-a-session)で説明しています。

207 

208git プロキシは、[オンにしない](#turn-the-anthropic-git-proxy-on)限りオフです。独自の認証情報で git ホストに到達するランナーには不要であり、そのランナーの git はどの git ホストでも動作します。

209 

210その代わり、git プロキシはランナーがサポートする範囲を制限し、ランナーに必要なものを変更します:

211 

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)よう依頼してください。

214* **ブランチへのプッシュのみ**:ブランチを削除するプッシュは失敗し、タグなど他の種類の ref へのプッシュも失敗します。プッシュで更新できるブランチについては、[GitHub プロキシ](/docs/ja/cloud-environments#github-proxy)を参照してください。

215* **接続済みの GitHub アカウント**:ユーザーセッションを作成したユーザーが claude.ai で GitHub を接続している必要があります。接続していない場合、セッションは[開始されません](#creator-has-no-github-connection)。

216* **`--capacity 1`**:git プロキシはランナープロセスごとに 1 つのセッションを必要とするため、並列処理のためにより多くのレプリカを実行してください。要件は [Anthropic git プロキシをオンにする](#turn-the-anthropic-git-proxy-on)に記載されています。

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)を参照してください。

219* **セッションごとの判断**:Anthropic はランナー上の各セッションについて git を提供するかどうかを決定し、提供されないセッションは開始に失敗します。原因については [git プロキシを使用するランナーでセッションの開始に失敗する場合](#when-anthropic-doesnt-serve-a-session)で説明しています。

220 

221<span id="git-proxy-replaces-global-git-config" />

222 

223<Warning>

224 `--use-anthropic-git-proxy` を設定すると、ランナーは実行ユーザーのグローバル git 設定を削除して置き換え、バックアップは保持しません。これは起動時と各セッションの前に行われます。そこに保存していたログインや認証情報ヘルパーは失われます。[`--configure-git`](#let-the-runner-configure-git) が書き込む設定は保持されます。ランナーは専用ユーザーとして、またはコンテナ内で実行し、決して自分のユーザーとして実行しないでください。

225</Warning>

226 

227ID や `safe.directory` など、機密ではない git 設定はシステムの git 設定に保持してください。

228 

229<h4 id="turn-the-anthropic-git-proxy-on">

230 Anthropic git プロキシをオンにする

231</h4>

232 

233`--use-anthropic-git-proxy` でランナーを開始する前に、ランナーホストが次の各要件を満たしていることを確認してください。容量または git の要件が満たされていない場合、ランナーは起動を拒否します:

190 234 

191プロキシは `--capacity 1` を必要とします。プロキシ URL はセッションごとであり、git 2.32 以降が必要です。古い git はプロキシがセッションを相互に分離するために使用する設定メカニズムを無視するためです。ランナーは要件のいずれかが満たされない場合、起動を拒否します。プロキシは Anthropic 側からフェッチするため、git ホストは Anthropic インフラストラクチャから到達可能である必要があります。これは Anthropic ホストセッションと同じ要件です。ネットワーク内でのみルーティング可能な git ホストの場合は、代わりに [`checkout` ライフサイクルフック](/docs/ja/self-hosted-environments-configuration#checkout)を使用してください。各ランナープロセスは一度に 1 つのセッションを処理するため、並列処理のためにより多くのレプリカを実行してください。プロキシが有効な場合、`--git-host-rewrite` と `--git-ssh-rewrite` は効果がありません:プロキシ URL は git ホストではなく `api.anthropic.com` を指します。235* **Claude Code v2.1.267 以降**:それより前のバージョンはフラグを受け入れますが、Anthropic に git の提供を求めるリクエストを報告せず、`Registering as opted in` 行も出力しないため、Anthropic はそれらのセッションを提供しません。

236* **`--capacity 1`(デフォルト)**:各ランナープロセスは一度に 1 つのセッションを処理するため、並列処理のためにより多くのレプリカを実行してください。

237* **Git 2.32 以降**:古い git は、ランナーが git プロキシ用に設定するセッションごとの git 設定を無視します。

192 238 

193<Warning>239<Warning>

194 このページの [Kubernetes](#kubernetes) および [Docker Compose](#docker-compose) レシピは `--capacity 4` を使用しています。`--use-anthropic-git-proxy` または `CLAUDE_RUNNER_USE_GIT_PROXY=1` をそのいずれかに追加する場合、容量を `1` に変更しないと、オーケストレーターがそれを再起動するたびにランナーは起動時に終了します。`--capacity 1` を設定し、並列処理のためにより多くのレプリカを実行してください。[ランナーが終了するとき](#when-the-runner-exits)はランナーが出力する行を示しています。240 このページの [Kubernetes](#kubernetes) および [Docker Compose](#docker-compose) レシピは `--capacity 4` を使用しています。`--use-anthropic-git-proxy` または `CLAUDE_RUNNER_USE_GIT_PROXY=1` をそのいずれかに追加する場合、容量を `1` に変更しないと、オーケストレーターがそれを再起動するたびにランナーは起動時に終了します。`--capacity 1` を設定し、並列処理のためにより多くのレプリカを実行してください。[ランナーが終了するとき](#when-the-runner-exits)はランナーが出力する行を示しています。

195</Warning>241</Warning>

196 242 

197ランナーは登録時に Anthropic にオプトインを報告し、起動時に `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` を出力します。オプトインの報告には Claude Code v2.1.267 以降が必要です。それより前のバージョンはフラグを受け入れますが、報告しないか、その行を出力しません。その後、オプトインランナー上の各セッションは、Anthropic 管理の git またはセッションごとのプロキシ URL のいずれかを使用します。セッションがセッションごとのプロキシ URL を使用する場合、ランナーは 1 つの `[runner:warn]` 行をログに記録します。243git プロキシをオンにするには、ランナーのコマンドに `--use-anthropic-git-proxy` を追加するか、ランナーの環境で `CLAUDE_RUNNER_USE_GIT_PROXY=1` を設定します。ランナーホスト上のシェルで実行する次のコマンドは、[クイックスタート](/docs/ja/self-hosted-environments-quickstart#set-up-manually)のランナーを git プロキシをオンにした状態で開始します:

244 

245```bash theme={null}

246claude self-hosted-runner --environment-secret-file '/etc/claude/environment-secret' --base-dir '<writable-dir>' --use-anthropic-git-proxy

247```

248 

249起動時に、ランナーは `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` を出力します。その後、Anthropic はそのランナー上の各セッションについて git を提供するかどうかを決定します。提供する各セッションについて、ランナーは `governed git ACTIVE` を含む `[runner:session]` 行をログに記録します。代わりにセッションの開始に失敗した場合は、[git プロキシを使用するランナーでセッションの開始に失敗する場合](#when-anthropic-doesnt-serve-a-session)を参照してください。

250 

251<h4 id="how-anthropic-serves-git-for-a-session">

252 Anthropic がセッションの git を提供する仕組み

253</h4>

254 

255Anthropic が提供するセッションでは、ランナーのクローンとセッション独自のフェッチおよびプッシュは、セッション独自の短期トークンで認証されて Anthropic を経由します:

256 

257* **ユーザーセッション**:Anthropic はセッション作成者用に保存された GitHub OAuth トークンを使用します。

258* **ボットおよびエージェントセッション**:Anthropic は組織の GitHub App インストールトークンを使用します。

259* **URL の書き直し**:`--git-host-rewrite` と `--git-ssh-rewrite` は、git プロキシが提供するリポジトリには効果がありません。

260 

261<h4 id="when-anthropic-doesnt-serve-a-session">

262 git プロキシを使用するランナーでセッションの開始に失敗する場合

263</h4>

264 

265`--use-anthropic-git-proxy` で開始したランナーでは、Anthropic がセッションの git を提供しない場合、セッションは開始に失敗します。ランナーのログで、`/git_proxy/` を含む `api.anthropic.com` アドレスを示す git エラーを探してください。

266 

267各セッションについて、Claude Code v2.1.267 以降のランナーは、Anthropic がセッションの git を提供する場合は `governed git ACTIVE` を含む `[runner:session]` 行を、提供しない場合は `the server withheld Anthropic-managed git for this session` を含む `[runner:warn]` 行を 1 つログに記録します。表示されている行を次のケースから探してください:

268 

269* **`governed git ACTIVE` も `withheld` 行もない**:Claude Code v2.1.267 より古いランナーはどちらの行もログに記録せず、Anthropic はそのセッションを提供しません。[バージョンを固定する](#pin-the-version)の手順に従って、ランナーを v2.1.267 以降に更新してください。

270* **`withheld` 行**:Anthropic はセッションを提供しませんでした。以前は git プロキシで動作していたランナーでも、ユーザー側で何も変更していないのにこのように失敗することがあります。

271 * **github.com 上にないリポジトリがある**:GitHub Enterprise Server など別の git ホスト上のリポジトリが 1 つでもあるセッションは、その github.com リポジトリも含めて提供されません。その環境のランナーでは [Anthropic git プロキシをオフにしてください](#turn-the-anthropic-git-proxy-off)。

272 * **すべてのリポジトリが github.com 上にある**:`withheld` 行のセッション ID を添えて、[Anthropic アカウントチーム](#report-an-issue)に失敗を報告してください。Anthropic は理由を自社側で記録しています。

273* **`remote: access denied by the git proxy` を含む行**:Anthropic が提供するセッションでも拒否される場合があります。たとえば、組織のポリシーがセッションの git アクセスを拒否する場合や、セッションがリポジトリに対して認可されていない場合です。その場合、ランナーのログに `remote: access denied by the git proxy` を含む行が表示され、その行の残りの部分に理由が示されます。

274* <span id="creator-has-no-github-connection" />**`GitHub authentication required`**:セッションの作成者が claude.ai で有効な GitHub 接続を持っていない場合に表示されます。セッションのクローンは失敗し、git エラーには `GitHub authentication required. Please reconnect your GitHub account.` と表示されます。そのユーザーに、claude.ai の設定で GitHub を接続または再接続するよう依頼してください。

275 

276原因を修正した後、失敗したセッションを再度開始してください。

277 

278<h4 id="turn-the-anthropic-git-proxy-off">

279 Anthropic git プロキシをオフにする

280</h4>

281 

282環境内のセッションが GitHub Enterprise Server など github.com 以外の git ホスト上のリポジトリを使用する場合は、その環境のランナーで `--use-anthropic-git-proxy` をオフにしてください。

283 

284<Steps>

285 <Step title="フラグを削除する">

286 ランナーのコマンドから `--use-anthropic-git-proxy` を削除します。Pod 仕様や Compose ファイルなど、ランナーの環境で `CLAUDE_RUNNER_USE_GIT_PROXY` を設定している場合は、そこから削除します。シェルでは設定を解除します:

287 

288 ```bash theme={null}

289 unset CLAUDE_RUNNER_USE_GIT_PROXY

290 ```

291 </Step>

292 

293 <Step title="ランナーに git 認証情報を与える">

294 github.com を含め、ランナーのセッションが使用するすべての git ホストに対して、プロンプトなしで動作する認証情報を提供してください。ランナーユーザーのグローバル git 設定にあった認証情報は、`--use-anthropic-git-proxy` が設定されている間にランナーがその設定を削除したため、失われています。[イメージに認証情報を含める](#ship-git-config-in-your-image)か、[`checkout` ライフサイクルフック](/docs/ja/self-hosted-environments-configuration#checkout)を使用してください。

295 </Step>

296 

297 <Step title="ネットワーク経路を開く">

298 ランナーのセッションが使用する各 git ホストに、ランナーがポート 443 または 22 で到達できるようにしてください。[ネットワーク要件](#network-requirements)の git ホストの行を参照してください。

299 </Step>

300 

301 <Step title="ランナーを再起動する">

302 git プロキシなしで登録されるようにランナーを再起動します。その後、失敗した各セッションを再度開始してください。

303 </Step>

304</Steps>

198 305 

199<h4 id="github-api-access-without-the-github-cli">306<h4 id="github-api-access-without-the-github-cli">

200 GitHub CLI なしで GitHub API にアクセスする307 GitHub CLI なしで GitHub API にアクセスする


266```dockerfile theme={null}373```dockerfile theme={null}

267FROM debian:bookworm-slim374FROM debian:bookworm-slim

268ARG CLAUDE_CODE_VERSION375ARG CLAUDE_CODE_VERSION

269RUN apt-get update && apt-get install -y --no-install-recommends git curl ca-certificates openssh-client \376RUN apt-get update && apt-get install -y --no-install-recommends git curl ca-certificates openssh-client jq \

270 && rm -rf /var/lib/apt/lists/*377 && rm -rf /var/lib/apt/lists/*

271RUN curl -fsSL "https://downloads.claude.ai/claude-code-releases/${CLAUDE_CODE_VERSION:?set with --build-arg CLAUDE_CODE_VERSION}/linux-x64/claude" \378RUN curl -fsSL "https://downloads.claude.ai/claude-code-releases/${CLAUDE_CODE_VERSION:?set with --build-arg CLAUDE_CODE_VERSION}/linux-x64/claude" \

272 -o /usr/local/bin/claude && chmod +x /usr/local/bin/claude379 -o /usr/local/bin/claude && chmod +x /usr/local/bin/claude


382kubectl create namespace claude-runners489kubectl create namespace claude-runners

383```490```

384 491 

385管理 UI の [**環境キーをコピー**ステップ](/docs/ja/self-hosted-environments-quickstart#set-up-an-environment-and-runner)でコピーした値を保持するローカルファイルからバッキング Secret を作成してください。シークレットはシェル履歴に表示されません。`(umask 077 && cat > ./environment-secret)` を実行し、シークレットを貼り付け、Enter キーを押してから Ctrl-D を押してください。次に Secret を作成してファイルを削除してください:492管理 UI の [**環境キーをコピー**ステップ](/docs/ja/self-hosted-environments-quickstart#set-up-manually)でコピーした値を保持するローカルファイルからバッキング Secret を作成してください。シークレットはシェル履歴に表示されません。`(umask 077 && cat > ./environment-secret)` を実行し、シークレットを貼り付け、Enter キーを押してから Ctrl-D を押してください。次に Secret を作成してファイルを削除してください:

386 493 

387```bash theme={null}494```bash theme={null}

388kubectl create secret generic claude-runner-environment-secret -n claude-runners --from-file=environment-secret=./environment-secret495kubectl create secret generic claude-runner-environment-secret -n claude-runners --from-file=environment-secret=./environment-secret


500 事前にウォームアップされたチェックアウトを再利用する607 事前にウォームアップされたチェックアウトを再利用する

501</h2>608</h2>

502 609 

503大規模なリポジトリの場合、クローンがセッション起動を支配することがあります。`--capacity 1` で [`checkout` フック](/docs/ja/self-hosted-environments-configuration#checkout) がない場合、ランナーは `<base-dir>/<repo-owner>/<repo>` でリポジトリごとに 1 つの正規クローンを保持し、セッション全体で再利用します。要求された ref をフェッチし、`HEAD` をデタッチして、それにハードリセットします。これは変更がほとんどない場合、ほぼ瞬時に完了します。コールドクローンをスキップするには、次の 2 つの方法のいずれかでクローンを提供します。610大規模なリポジトリの場合、クローンがセッション起動を支配することがあります。コールドクローンをスキップするには、ランナーが自身のクローンを保持するパスにクローンを自分で用意します。[`checkout` フック](/docs/ja/self-hosted-environments-configuration#checkout) がない場合、ランナーは `<base-dir>/<repo-owner>/<repo>` でリポジトリごとに 1 つの正規クローンを保持し、セッション全体で再利用します。

611 

612* **`--capacity 1` の場合**: ランナーは要求された ref をフェッチし、`HEAD` をデタッチして、それにハードリセットします。これは変更がほとんどない場合、ほぼ瞬時に完了します。

613* **`--capacity` が 1 より大きい場合**: ランナーはそのクローンにフェッチし、セッションごとにそこから個別の worktree をチェックアウトします。事前にウォームアップされたクローンによってダウンロードは省略されますが、チェックアウトは省略されません。

614 

615クローンはイメージ内または永続ボリューム上に用意します。

504 616 

505* **イメージ内にクローンを配置する**: ランナーイメージをそのパスにビルドしてクローンを含めます。その後、新しいコンテナはすべてディスクを再利用せずにウォームクローンで起動します。617* **イメージ内にクローンを配置する**: ランナーイメージをそのパスにビルドしてクローンを含めます。その後、新しいコンテナはすべてディスクを再利用せずにウォームクローンで起動します。

506* **永続ボリューム上にクローンを配置する**: [`--lock-to-account`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) で 1 人のユーザーアカウントにプリロックされたランナーで、`--base-dir` を永続ボリュームに指定すると、ディスクはそのアカウントのみを提供します。プリロックされたランナーは Claude Tag チャネルセッションを取得しないため、このオプションはそれらを提供するランナーには適用されません。618* **永続ボリューム上にクローンを配置する**: [`--lock-to-account`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) で 1 人のユーザーアカウントにプリロックされたランナーで、`--base-dir` を永続ボリュームに指定すると、ディスクはそのアカウントのみを提供します。プリロックされたランナーは Claude Tag チャネルセッションを取得しないため、このオプションはそれらを提供するランナーには適用されません。


508再利用パスが保証するもの、しないもの:620再利用パスが保証するもの、しないもの:

509 621 

510* **任意のクローン形状が機能する**: パスの完全、シャロー、または単一ブランチクローンはそのまま使用されます。ランナーは既存のクローンにフェッチするときに `--depth` を渡しません。そのため、完全なプリウォームは完全な履歴を保持し、シャロークローンはシャローのままです。`CLAUDE_RUNNER_FETCH_DEPTH`(`full`、`0`、または数値。デフォルト 50)は、クローンがまだ存在しない場合にランナーが作成するコールドクローンのみを制御します。622* **任意のクローン形状が機能する**: パスの完全、シャロー、または単一ブランチクローンはそのまま使用されます。ランナーは既存のクローンにフェッチするときに `--depth` を渡しません。そのため、完全なプリウォームは完全な履歴を保持し、シャロークローンはシャローのままです。`CLAUDE_RUNNER_FETCH_DEPTH`(`full`、`0`、または数値。デフォルト 50)は、クローンがまだ存在しない場合にランナーが作成するコールドクローンのみを制御します。

511* **追跡された変更はリセットされ、追跡されていないファイルは保持される**: 各セッションはハードリセットから開始され、前のセッションの追跡された変更を削除しますが、ランナーは `git clean` を実行しないため、ロックされたオーナーの以前のセッションからの追跡されていないファイルはツリーに残ります。623* **追跡された変更はリセットされ、追跡されていないファイルは保持される**: `--capacity 1` では、各セッションはハードリセットから開始され、前のセッションの追跡された変更を削除しますが、ランナーは `git clean` を実行しないため、ロックされたオーナーの以前のセッションからの追跡されていないファイルはツリーに残ります。

512* **セッションごとのディレクトリも保持される**: チェックアウトの横に、ランナーは実行するすべてのセッションに対して `<base-dir>/_sessions/` の下にセッションごとのエントリを作成します。セッションの Claude 設定ディレクトリは、会話トランスクリプトのローカルコピーを保持します。その横には、セッションがある場合、セッションのアップロードされたファイルが配置されます。セッションディレクトリもそこに配置されます。セッションの実行中、セッションごとの worktrees と `checkout` フックチェックアウトを保持し、Claude がそこに書き込んだ他のすべてのものを保持します。624* **セッションごとのディレクトリも保持される**: チェックアウトの横に、ランナーは実行するすべてのセッションに対して `<base-dir>/_sessions/` の下にセッションごとのエントリを作成します。セッションの Claude 設定ディレクトリは、会話トランスクリプトのローカルコピーを保持します。その横には、セッションがある場合、セッションのアップロードされたファイルが配置されます。セッションディレクトリもそこに配置されます。セッションの実行中、セッションごとの worktrees と `checkout` フックチェックアウトを保持し、Claude がそこに書き込んだ他のすべてのものを保持します。

513 625 

514 デフォルトでは、ランナーはセッションが終了したときにこれらをそのまま残すため、ランナープロセスより長く存続するディスク上に蓄積されます。すべてのセッションはランナー自身のユーザーとして実行されるため、そのディスクが提供する後続のセッションはそれらを読み取ることができます。永続的な `--base-dir` を保持する場合は、その成長に対応するようにボリュームのサイズを設定してください。同じことは、[Docker Compose レシピ](#docker-compose) を含む、同じファイルシステム上でランナーを再起動するすべてのセットアップに適用されます。626 デフォルトでは、ランナーはセッションが終了したときにこれらをそのまま残すため、ランナープロセスより長く存続するディスク上に蓄積されます。すべてのセッションはランナー自身のユーザーとして実行されるため、そのディスクが提供する後続のセッションはそれらを読み取ることができます。永続的な `--base-dir` を保持する場合は、その成長に対応するようにボリュームのサイズを設定してください。同じことは、[Docker Compose レシピ](#docker-compose) を含む、同じファイルシステム上でランナーを再起動するすべてのセットアップに適用されます。


522 634 

523各セッションの子 Claude Code プロセスはランナー独自のバイナリを実行し、ランナーはセッション内でオートアップデートをオフにするため、すべてのセッションはホストにインストールされたか、イメージに組み込まれたバージョンを実行します。ホストレベルのアップデートはランナーが次に開始するときに有効になります。635各セッションの子 Claude Code プロセスはランナー独自のバイナリを実行し、ランナーはセッション内でオートアップデートをオフにするため、すべてのセッションはホストにインストールされたか、イメージに組み込まれたバージョンを実行します。ホストレベルのアップデートはランナーが次に開始するときに有効になります。

524 636 

525セッションが使用するモデルは、セッションが実行する Claude Code バージョンより新しい Claude Code バージョンを必要とする場合があります。その場合、サーバーはそのモデルのリクエストを [Claude Code does not support this model](/docs/ja/errors#claude-code-does-not-support-this-model) で拒否します。バージョンをピンする前に、セッションが使用するすべてのモデルについて [モデルが必要とする Claude Code バージョン](/docs/ja/model-config#available-models) を確認してください。637セッションが実行するバージョンと、それを変更するタイミングを選択します。

526 638 

639* **バージョンをピンする前に**:セッションが使用するすべてのモデルについて [モデルが必要とする Claude Code バージョン](/docs/ja/model-config#available-models) を確認してください。モデルがセッションで実行されるバージョンより新しいバージョンを必要とする場合、サーバーはそのモデルのリクエストを [Claude Code does not support this model](/docs/ja/errors#claude-code-does-not-support-this-model) で拒否します。

527* **フリートを 1 つのバージョンに保持するには**:ピンされたバージョンでイメージをビルドするか、ベアホストで特定のバージョンをインストールし、[オートアップデートを無効にしてください](/docs/ja/setup#disable-auto-updates)640* **フリートを 1 つのバージョンに保持するには**:ピンされたバージョンでイメージをビルドするか、ベアホストで特定のバージョンをインストールし、[オートアップデートを無効にしてください](/docs/ja/setup#disable-auto-updates)

528* **アップグレードするには**:新しいバージョンをインストールするか、イメージを再ビルドしてから、ランナーを再起動してください641* **固定フリートをアップグレードするには**:現在のバージョンとインストールするバージョンの間の [changelog](/docs/en/changelog) のエントリを確認してから、新しいバージョンをインストールするか、イメージを再ビルドしてランナーを再起動してください

642* **オンデマンドランナーをアップグレードするには**:現在のバージョンとインストールするバージョンの間の [changelog](/docs/en/changelog) のエントリを確認してから、[`spawn-runner` フック](/docs/ja/self-hosted-environments-configuration#the-spawn-runner-hook)が起動するイメージを変更してください。新しいランナーにはそれぞれ新しいバージョンが適用されます。すでに起動しているランナー([`--min-idle`](/docs/ja/self-hosted-environments-reference#orchestrator-cli-flags) によって起動されたスタンバイランナーを含む)は、終了するまでそのバージョンを維持します。その作業指示は一度しか使用できないため、再起動しないでください。

529* **プラグイン**:プラグインマーケットプレイスもオートアップデートしません。ランナーの環境で `FORCE_AUTOUPDATE_PLUGINS=1` を設定して、バイナリがピンされたままの間、プラグインをオートアップデートさせます643* **プラグイン**:プラグインマーケットプレイスもオートアップデートしません。ランナーの環境で `FORCE_AUTOUPDATE_PLUGINS=1` を設定して、バイナリがピンされたままの間、プラグインをオートアップデートさせます

530 644 

531<h2 id="scale-the-fleet">645<h2 id="scale-the-fleet">


543 既知の問題と制限事項657 既知の問題と制限事項

544</h2>658</h2>

545 659 

546これらはこのリリースの制限事項です。回避策が存在する場合は記載されています。660このリリースにおける制限事項と、回避策がある場合はその回避策を以下に示します。

547 661 

548<h3 id="connector-traffic-leaves-your-network">662<h3 id="connector-traffic-leaves-your-network">

549 コネクタトラフィックはネットワークを離れます663 コネクタのトラフィックはネットワーク外に出る

550</h3>664</h3>

551 665 

552Anthropic はランナーからではなく、独自のインフラストラクチャからコネクタツールを呼び出します。コネクタツールは claude.ai コネクタです。GitHub、Slack、Linear など。Claude がセルフホストセッションでコネクタを使用する場合、そのトラフィックはネットワーク境界内から発信されるのではなく、`api.anthropic.com` を通じて移動します。666Anthropic は、コネクタのツールをランナーからではなく、Anthropic 自身のインフラストラクチャから呼び出します。コネクタのツールとは、GitHub、Slack、Linear などの claude.ai のコネクタです。セルフホストセッションで Claude がコネクタを使用すると、そのトラフィックはネットワーク境界の内側から発信されるのではなく、`api.anthropic.com` を経由します。

553 667 

554セルフホストセッションからコネクタを除外するには、[`allowedMcpServers` および `deniedMcpServers` ポリシー設定](/docs/ja/managed-mcp#policy-based-control-with-allowlists-and-denylists)でフィルタリングしてください。Claude Code はこれらの設定をランナーホストからシードするサーバーとユーザーが追加するサーバーと同様に、Anthropic が配信するコネクタに適用します。他のサーバーの URL ベースの許可リストをデプロイする場合、Claude Code は配信されたコネクタもブロックします。配信されたコネクタを他のサーバーと一緒に利用可能に保つには、Anthropic プロキシパスの配信されたコネクタに一致するエントリを追加してください:668コネクタをセルフホストセッションから除外するには、[`allowedMcpServers` および `deniedMcpServers` ポリシー設定](/docs/ja/managed-mcp#policy-based-control-with-allowlists-and-denylists)でフィルタリングします。Claude Code はこれらの設定を、ランナーホストからシードするサーバーやユーザーが追加するサーバーだけでなく、Anthropic が配信するコネクタにも適用します。そのため、他のサーバー向けに許可リストをデプロイすると、Claude Code は配信されたコネクタもブロックします。URL ベースの許可リストを使いながらコネクタを引き続き利用できるようにするには、配信されるコネクタ用の Anthropic プロキシのパスに一致するエントリを追加します。

555 669 

556* `https://api.anthropic.com/v2/ccr-sessions/*`670* `https://api.anthropic.com/v2/ccr-sessions/*`

557* `https://api.anthropic.com/v1/code/sessions/*`671* `https://api.anthropic.com/v1/code/sessions/*`

558* `https://api.anthropic.com/v1/code/mcp/*`672* `https://api.anthropic.com/v1/code/mcp/*`

559 673 

560ツールトラフィックがネットワーク内に留まる必要がある場合は、代わりにランナーイメージ上でローカル MCP サーバーとして同等のツールを実行してください。[MCP サーバー](/docs/ja/self-hosted-environments-configuration#mcp-servers)を参照してください。674ツールのトラフィックをネットワーク内に留める必要がある場合は、代わりに同等のツールをランナーイメージ上のローカル MCP サーバーとして実行してください。[MCP サーバー](/docs/ja/self-hosted-environments-configuration#mcp-servers)を参照してください。

561 675 

562<h3 id="some-sessions-don’t-count-as-idle">676<h3 id="some-sessions-don’t-count-as-idle">

563 一部のセッションはアイドルとしてカウントされません677 一部のセッションはアイドルとみなされない

564</h3>678</h3>

565 679 

566終了しないバックグラウンドタスクを保持するセッションはアイドルとしてカウントされないため、`--release-idle-session-min` はそのセッションのスロットをリリースしません。実行中のツール呼び出し内から要求された承認を待機しているセッションもアイドルとしてカウントされません。常に `--kill-session-after-min` をそれと一緒に設定して、セッションがスロットを無期限に保持できないようにハードバックストップとしてください。680終了しないバックグラウンドタスクを保持しているセッションはアイドルとみなされないため、`--release-idle-session-min` はそのセッションのスロットを解放しません。実行中のツール呼び出しの内部から要求された承認を待っているセッションも、アイドルとみなされません。どのセッションもスロットを無期限に保持できないように、厳格な安全策として必ず `--kill-session-after-min` を併せて設定してください。

567 681 

568`--kill-session-after-min` は暴走セッションのバックストップです。v2.1.260 以降のランナーでは、制限に達したセッションは直ちに終了されません。ランナーは猶予ウィンドウを与えます。デフォルトでは 15 分です。[`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](/docs/ja/self-hosted-environments-reference#environment-variable-only-settings)で変更できます:682`--kill-session-after-min` は、暴走したセッションに対する安全策です。v2.1.260 以降のランナーでは、上限に達したセッションはただちに終了されません。ランナーはそのセッションに猶予期間(デフォルトは 15 分)を与えます。この期間は [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](/docs/ja/self-hosted-environments-reference#environment-variable-only-settings) で変更できます。

569 683 

570* セッションがユーザーを待機している場合、またはターンが終了してバックグラウンドタスクのみを保持している場合、ランナーはそれを直ちにリリースします。セッションはユーザーが次のメッセージを送信するときに再開されます。684* セッションがユーザーを待っている場合、ランナーはそのセッションを解放します。ターンが終了していてバックグラウンドタスクのみを保持している場合、ランナーはそれらのタスクが完了するまで最大 60 秒待ってから、セッションを解放します。セッションは、ユーザーが次のメッセージを送信すると再開されます。

571* ターンがまだ実行中の場合、ランナーはターンが終了するのを待つか、セッションが次にユーザーを待機するのを待ってから、それをリリースします。685* ターンがまだ実行中の場合、ランナーはターンが完了するか、セッションが次にユーザーを待つ状態になるまで待ってから、セッションを解放します。

572* セッションが猶予ウィンドウの終了時にランナーに留まっている場合、ランナーはそれを終了し、実行中のターンの作業は失われます。実行中のツール呼び出し内から要求された承認を待機しているターンは、セッションがウィンドウを超えて存続する 1 つの方法です。686* 猶予期間が終了した時点でセッションがまだランナー上にある場合、ランナーはセッションを終了し、実行中のターンの作業は失われます。実行中のツール呼び出しの内部から要求された承認をターンが待っている場合は、セッションが猶予期間を超えて残る一例です。

573 687 

574リリースされたセッションは新しいクローンから再開されるため、プッシュしていない作業はどちらの方法でも失われます。[再開されたセッションはプッシュされていない作業を失う](#additional-limitations)を参照してください。v2.1.260 より前では、ランナーはすべてのセッションを制限で終了し、実行中のターンが終了するのを最大猶予ウィンドウ待機しました。688解放されたセッションは新しいクローンから再開されるため、いずれの場合もプッシュしていなかった作業は失われます。[再開されたセッションではプッシュしていない作業が失われる](#additional-limitations)を参照してください。v2.1.260 より前では、ランナーは実行中のターンの完了を最大で猶予期間だけ待った後、上限に達したすべてのセッションを終了していました。

575 689 

576フラグを最長予想セッション(例えば 8 時間の場合は `--kill-session-after-min 480`)の上に設定してください。アイドル状態になった会話からスロットを解放するには、代わりに `--release-idle-session-min` を使用してください。690このフラグは、想定される最長のセッションよりも長い値に設定してください。たとえば 8 時間の場合は `--kill-session-after-min 480` とします。アイドル状態になった会話からスロットを解放するには、代わりに `--release-idle-session-min` を使用してください。

577 691 

578<h3 id="additional-limitations">692<h3 id="additional-limitations">

579 追加の制限事項693 その他の制限事項

580</h3>694</h3>

581 695 

582* **再開されたセッションはプッシュされていない作業を失う**:新しいランナーは開始ブランチからリポジトリを再度クローンするため、セッションがプッシュしていない作業は失われます。696* **再開されたセッションではプッシュしていない作業が失われる**: 新しいランナーはリポジトリを開始ブランチから再度クローンするため、セッションがプッシュしていなかった作業は失われます。

583 * **コミットされた作業を保持するには**:[`--push-outcome-on-release`](/docs/ja/self-hosted-environments-reference#runner-cli-flags)を設定します。するとランナーはリリースする前にセッションの結果ブランチをベストエフォートでプッシュし、再開されたセッションはそれらのコミットから開始されます。コミットされていない変更は引き続き失われます。697 * **コミット済みの作業を保持するには**: 環境内のすべてのランナーで [`--push-outcome-on-release`](/docs/ja/self-hosted-environments-reference#runner-cli-flags) を設定してください。このフラグのないランナーは、セッションを開始ブランチから再開するためです。このフラグを設定したランナーは、解放する前にセッションの成果ブランチのプッシュをベストエフォートで行い、再開されたセッションはそれらのコミットから開始されます。プッシュにはランナーホスト自身の git 認証情報が使用されます。これは [Anthropic 管理の git](#use-the-anthropic-git-proxy) を使用するランナーでも同様です。コミットされていない変更は引き続き失われます。

584 * **フラグを有効にする前に**:ソースリモートの `claude/*` refs にプッシュできるユーザーを制限してください。再開時に、ランナーは以前にプッシュされたブランチを、誰がプッシュしたかを検証せずにフェッチします。698 * **`checkout` フックを使用する場合**: [`checkout` ライフサイクルフック](/docs/ja/self-hosted-environments-configuration#checkout)でチェックアウトされたリポジトリはプッシュされません。代わりに [`post-session` フック](/docs/ja/self-hosted-environments-configuration#post-session)からそれらのスナップショットを取得してください。

585* **セッション途中で追加したリポジトリはクローンに失敗することがあります**:Claude は HTTPS 経由の `git clone` でクローンします。[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) を使用していないランナーでは、ホスト上にリポジトリを読み取れるものが何もない場合、クローンは git 認証エラーで失敗します。可能な場合は、セッションを作成するときに、セッションが必要とするすべてのリポジトリを選択してください。699 * **フラグを有効にする前に**: ソースリモート上の `claude/*` ref にプッシュできるユーザーを制限してください。再開時、ランナーは以前にプッシュされたブランチを、誰がプッシュしたかを検証せずにフェッチします。

586* **一部のコネクタはセルフホストセッションに表示されません**:claude.ai 設定でまだ接続していないコネクタはセルフホストセッションにリストされず、セッションはそれを接続するように促しません。最初に設定で接続してから、新しいセッションを開始してください。実行中のセッションにコネクタを追加しても、Claude がそのツールを利用できるようにはなりません。新しく追加されたコネクタを取得するには、新しいセッションを開始してください。700* **セッションの途中で追加したリポジトリのクローンが失敗することがある**: Claude は HTTPS 経由の `git clone` でリポジトリをクローンします。[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) を使用していないランナーでは、ホスト上にリポジトリを読み取れるものが何もない場合、クローンは git の認証エラーで失敗します。可能であれば、セッションの作成時に、セッションで必要なすべてのリポジトリを選択してください。

701* **一部のコネクタがセルフホストセッションに表示されない**: claude.ai の設定でまだ接続していないコネクタはセルフホストセッションに表示されず、セッションから接続を求められることもありません。まず設定で接続してから、新しいセッションを開始してください。また、すでに実行中のセッションにコネクタを追加しても、そのツールは Claude で使用できるようになりません。新しく追加したコネクタを反映するには、新しいセッションを開始してください。

587 702 

588<h3 id="report-an-issue">703<h3 id="report-an-issue">

589 問題を報告する704 問題を報告する

590</h3>705</h3>

591 706 

592セルフホスト環境の問題については、Anthropic アカウントチームに連絡してください。707セルフホスト環境に関する問題については、Anthropic のアカウントチームにお問い合わせください。

593 708 

594<h2 id="troubleshooting">709<h2 id="troubleshooting">

595 トラブルシューティング710 トラブルシューティング


606* **ランナーが環境に表示されない**:ホストが HTTPS 経由で `api.anthropic.com` に到達できること、環境シークレットが最新であること、ホストの時刻が実時間の 5 分以内であることを確認してください。より大きなずれは認証失敗を引き起こします。ランナーは認証失敗時に拒否理由を含む `[runner:fatal]` をログに記録します。721* **ランナーが環境に表示されない**:ホストが HTTPS 経由で `api.anthropic.com` に到達できること、環境シークレットが最新であること、ホストの時刻が実時間の 5 分以内であることを確認してください。より大きなずれは認証失敗を引き起こします。ランナーは認証失敗時に拒否理由を含む `[runner:fatal]` をログに記録します。

607* **ランナーが `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 より前では、ランナーは起動時にベースディレクトリをチェックしておらず、この設定ミスはピックアップ後にセッションを失敗させました。

608* **セッションがキューに留まる**:すべてのオンラインランナーは異なる所有者にロックされている可能性があります。各ランナーの `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)を参照してください。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)を参照してください。

609* **セッションがピックアップ直後に失敗する**:claude.ai/code でセッションを開いてエラーを確認してください。最も一般的な原因は、ランナーイメージの [git 認証情報](#configure-git)の欠落とインストールされていないビルドツールです。書き込み不可能なベースディレクトリはセッションを失敗させるのではなく、起動時にランナーを停止させます。このリストの **ランナーが `cannot create or write to base directory` で起動時に終了する** エントリを参照してください。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` で起動時に終了する** エントリを参照してください。

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)を参照してください。

610* **セッションが認証エグレスプロキシ経由でネットワークに到達できない**:[`--proxy-authorization-command` または `--proxy-authorization-file`](#authenticate-to-an-egress-proxy) で設定したソースが失敗する場合、30 秒後にタイムアウトする場合、または空の値を生成する場合、ランナーはその接続に `502 Bad Gateway` で応答し、理由をログに記録します。ランナーはそのログでコマンドの stderr を編集し、ヘッダー値をログに記録しません。`--proxy-authorization-command` を使用する場合、ホスト上でコマンド自体を実行して、stdout 全体のヘッダー値を出力することを確認してください。ランナーが代わりに `could not start the proxy-authorization listener` で起動時に終了する場合、ループバックリスナーを開くことができませんでした。726* **セッションが認証エグレスプロキシ経由でネットワークに到達できない**:[`--proxy-authorization-command` または `--proxy-authorization-file`](#authenticate-to-an-egress-proxy) で設定したソースが失敗する場合、30 秒後にタイムアウトする場合、または空の値を生成する場合、ランナーはその接続に `502 Bad Gateway` で応答し、理由をログに記録します。ランナーはそのログでコマンドの stderr を編集し、ヘッダー値をログに記録しません。`--proxy-authorization-command` を使用する場合、ホスト上でコマンド自体を実行して、stdout 全体のヘッダー値を出力することを確認してください。ランナーが代わりに `could not start the proxy-authorization listener` で起動時に終了する場合、ループバックリスナーを開くことができませんでした。

611* **ランナーが `rejecting the malformed poll response` を含む `Poll failed` 行をログに記録する**:ランナーは、本体がキューの予期された JSON ではないワークポール応答を受け取りました。最も一般的には、インターセプティングプロキシやキャプティブポータルなど、ランナーと `api.anthropic.com` の間の何かが独自のページで応答したためです。ランナーは応答を拒否し、`claude_code_self_hosted_runner_poll_errors_total` [メトリクス](/docs/ja/self-hosted-environments-reference#prometheus-metrics)の `transport` 種別の下でカウントし、[セッションライフサイクル](/docs/ja/self-hosted-environments#session-lifecycle)で説明されている失敗したポールスケジュールで再試行します。ランナーはライブセッションを提供し続けます。`api.anthropic.com` からの応答を変更されずに通すようにプロキシを設定してください。v2.1.246 より前では、ランナーはそのような応答を空のワークキューとして読み取り、ライブセッションを終了するか、終了させる可能性がありました。727* **ランナーが `rejecting the malformed poll response` を含む `Poll failed` 行をログに記録する**:ランナーは、本体がキューの予期された JSON ではないワークポール応答を受け取りました。最も一般的には、インターセプティングプロキシやキャプティブポータルなど、ランナーと `api.anthropic.com` の間の何かが独自のページで応答したためです。ランナーは応答を拒否し、`claude_code_self_hosted_runner_poll_errors_total` [メトリクス](/docs/ja/self-hosted-environments-reference#prometheus-metrics)の `transport` 種別の下でカウントし、[セッションライフサイクル](/docs/ja/self-hosted-environments#session-lifecycle)で説明されている失敗したポールスケジュールで再試行します。ランナーはライブセッションを提供し続けます。`api.anthropic.com` からの応答を変更されずに通すようにプロキシを設定してください。v2.1.246 より前では、ランナーはそのような応答を空のワークキューとして読み取り、ライブセッションを終了するか、終了させる可能性がありました。

612* **セッションのブランチがリモートに存在しなくなった**:セッションが読み取り専用の git ソースの場合、ランナーはそのソースをスキップして残りのソースで続行します。セッションが結果をプッシュするソースの場合、削除されたブランチ(通常はマージされて自動削除されたため)はセッションを失敗させ、リポジトリとブランチを名前付けするエラーを表示し、ブランチを復元して再試行するよう求めます。ランナーはスキップするとリポジトリがまったくなくなる場合、同じエラーでセッションを失敗させます。v2.1.228 より前では、そのようなセッションは空のディレクトリで開始されました。728* **セッションのブランチがリモートに存在しなくなった**:セッションが読み取り専用の git ソースの場合、ランナーはそのソースをスキップして残りのソースで続行します。セッションが結果をプッシュするソースの場合、削除されたブランチ(通常はマージされて自動削除されたため)はセッションを失敗させ、リポジトリとブランチを名前付けするエラーを表示し、ブランチを復元して再試行するよう求めます。ランナーはスキップするとリポジトリがまったくなくなる場合、同じエラーでセッションを失敗させます。v2.1.228 より前では、そのようなセッションは空のディレクトリで開始されました。


616 732 

617 アクセスチェックはセッションがランナーで開始されるたびに再度実行されるため、ランナーの git アイデンティティが読み取りアクセスを持つと、次の開始でリポジトリをクローンします。v2.1.274 より前では、これらの拒否のそれぞれがセッション開始を失敗させました。733 アクセスチェックはセッションがランナーで開始されるたびに再度実行されるため、ランナーの git アイデンティティが読み取りアクセスを持つと、次の開始でリポジトリをクローンします。v2.1.274 より前では、これらの拒否のそれぞれがセッション開始を失敗させました。

618* **セッションの開始に数分かかる**:初期クローンが通常支配的です。`claude_code_self_hosted_runner_session_init_duration_seconds` [メトリクス](/docs/ja/self-hosted-environments-reference#prometheus-metrics)を監視して確認し、[事前にウォーミングされたチェックアウト](#reuse-a-pre-warmed-checkout)またはより小さい `CLAUDE_RUNNER_FETCH_DEPTH` でクローンを削減してください。734* **セッションの開始に数分かかる**:初期クローンが通常支配的です。`claude_code_self_hosted_runner_session_init_duration_seconds` [メトリクス](/docs/ja/self-hosted-environments-reference#prometheus-metrics)を監視して確認し、[事前にウォーミングされたチェックアウト](#reuse-a-pre-warmed-checkout)またはより小さい `CLAUDE_RUNNER_FETCH_DEPTH` でクローンを削減してください。

619* **ターンが 401 で失敗する**:各セッションは、ランナーが Anthropic から取得し、セッションの stdin 経由でローテーションする短命の [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ja/self-hosted-environments-configuration#wrapper-scripts) を使用してモデル呼び出しを認証します。ターンがモデル API から 401 または 403 で終了する場合、ランナーは新しいトークンを取得し、セッションに渡します。失敗したターンは再試行されません。735* **ターンが 401 で失敗する**:ターンが Anthropic API からの 401 または 403 で終了すると、ランナーは新しい [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ja/self-hosted-environments-configuration#wrapper-scripts) を Anthropic から取得し、セッションに渡します。失敗したターンは再試行されません。このトークンは短命で、ランナーはセッションの stdin 経由でそれをローテーションします。

620 736 

621 フェッチが失敗する場合、ランナーは `inference_token refresh failed` 行をログに記録し、いつ再試行するかを示し、セッションが実行されている限り再試行を続けます。737 フェッチが失敗する場合、ランナーは `inference_token refresh failed` 行をログに記録し、いつ再試行するかを示し、セッションが実行されている限り再試行を続けます。

622 738 


637 753 

638* **通常の終了**:ランナーはセッションを完了してドレインし、リタイア時間に達した、または停止するよう指示されました。環境に容量を戻すために再起動してください。[ランナーライフサイクル](/docs/ja/self-hosted-environments#runner-lifecycle)はこれらの終了について説明しています。754* **通常の終了**:ランナーはセッションを完了してドレインし、リタイア時間に達した、または停止するよう指示されました。環境に容量を戻すために再起動してください。[ランナーライフサイクル](/docs/ja/self-hosted-environments#runner-lifecycle)はこれらの終了について説明しています。

639* **失敗した開始**:ランナーは与えられた設定またはホストで開始できないため、起動後数秒で終了し、再起動するたびに同じ方法で終了します。より速く再起動しても役に立ちません。誰かが出力を読んで原因を修正する必要があります。755* **失敗した開始**:ランナーは与えられた設定またはホストで開始できないため、起動後数秒で終了し、再起動するたびに同じ方法で終了します。より速く再起動しても役に立ちません。誰かが出力を読んで原因を修正する必要があります。

756* **接続の喪失**:ホストのスリープ中など、[リース](/docs/ja/self-hosted-environments#session-lifecycle)より長く Anthropic に到達できないランナーは、環境から削除されることがあります。削除されたランナーは再接続すると終了します。そのログには、`runner record gone server-side` を含む `[runner:fatal]` 行、またはより長い停止の後には [`poll auth failed`](/docs/ja/self-hosted-environments-quickstart#set-up-an-environment-and-runner) を含む行が表示されることがあります。ランナーは自動的に再登録しないため、再起動してください。

640 757 

641ランナーが終了するたびに再起動するようにスーパーバイザーを設定し、ランナーが起動直後に終了し続ける場合は再起動間の待機時間を長くし、それが起こり続ける場合は誰かに通知してください。758ランナーが終了するたびに再起動するようにスーパーバイザーを設定し、ランナーが起動直後に終了し続ける場合は再起動間の待機時間を長くし、それが起こり続ける場合は誰かに通知してください。

642 759 

Details

195 195 

196ラッパーはランナー自身のバイナリへの絶対パスを `CLAUDE_RUNNER_CLAUDE_BIN` で受け取ります。PATH で解決された `claude` ではなく、そのパスを使用して、デコードがランナー自身が使用するのと同じバイナリで実行されるようにします。196ラッパーはランナー自身のバイナリへの絶対パスを `CLAUDE_RUNNER_CLAUDE_BIN` で受け取ります。PATH で解決された `claude` ではなく、そのパスを使用して、デコードがランナー自身が使用するのと同じバイナリで実行されるようにします。

197 197 

198`jq -r` ではなく `jq -re` を使用して、クレームが見つからない場合は 0 以外の終了コードが発生するようにします。`-r` だけでは、クレームが見つからない場合、リテラル文字列 `null` を出力して 0 で終了し、不正な値を静かに下流に渡します。JWKS エンドポイントに到達できないオフライン検査の場合のみ、`decode-token` に `--no-verify` を渡します。198`jq -r` ではなく `jq -re` を使用して、クレームが見つからない場合は 0 以外の終了コードが発生するようにします。`-r` だけでは、クレームが見つからない場合、リテラル文字列 `null` を出力して 0 で終了し、不正な値を静かに下流に渡します。

199 

200`decode-token` が JWKS エンドポイントからキーを取得できない場合、またはトークンを検証できない場合は、理由を stderr に出力し、クレームは出力せずに、コード 1 で終了します。JWKS エンドポイントに到達できないオフライン検査の場合のみ、`decode-token` に `--no-verify` を渡します。

199 201 

200<h2 id="claims-reference">202<h2 id="claims-reference">

201 クレームリファレンス203 クレームリファレンス

Details

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* NTP などで実時間に同期されたクロック。クロックが 5 分以上ずれていると認証が失敗します。[トラブルシューティング](/docs/ja/self-hosted-environments-deploy#troubleshooting)を参照してください。38* NTP などで実時間に同期されたクロック。クロックが 5 分以上ずれていると認証が失敗します。[トラブルシューティング](/docs/ja/self-hosted-environments-deploy#troubleshooting)を参照してください。

38 39 

39<h3 id="software-on-the-runner-host">40<h3 id="software-on-the-runner-host">


57 環境とランナーをセットアップする58 環境とランナーをセットアップする

58</h2>59</h2>

59 60 

60Claude Code には、ガイド付きセットアップが含まれています。これは、管理 UI で環境を作成する手順を案内するインタラクティブな Claude Code セッションで、保存したシークレットファイルを使用してローカルランナーを起動し、ランナーが登録されたことを確認し、`./runner-setup/CHEAT-SHEET.md` にチートシートを書き込みます。`claude auth login` でサインインしたマシンで実行してください。このとき、Owner ロールを持つアカウントを使用する必要があります。API キーまたはサードパーティのモデルプロバイダーでは利用できません。インタラクティブセッションが不可能なホストでは、代わりに以下の手動手順を使用してください。まず、[バージョンチェック](#software-on-the-runner-host)が成功したことを確認してください。2.1.224 より古いバージョンでは、このコマンドはガイド付きセットアップではなく、単語をプロンプトとして使用する通常の Claude セッションを開始します。ガイド付きセットアップを開始するには、setup サブコマンドを実行してプロンプトに従ってください。61[ガイド付きセットアップ](#run-the-guided-setup)または[手動手順](#set-up-manually)のいずれかを使用します。ガイド付きセットアップは、インタラクティブな Claude Code セッションを開始して残りの手順を案内する単一のコマンドです。インタラクティブセッションが不可能なホストでは、代わりに手動手順を使用してください。Owner ロールを持つユーザーが環境を作成してそのシークレットを渡した場合も、手動手順を使用してください。ガイド付きセットアップには Owner としてのサインインが必要なためです。

62 

63<h3 id="run-the-guided-setup">

64 ガイド付きセットアップを実行する

65</h3>

66 

67ガイド付きセットアップは、管理 UI で環境を作成する手順を案内し、保存したシークレットファイルを使用してローカルランナーを起動し、ランナーが登録されたことを確認し、`./runner-setup/CHEAT-SHEET.md` にチートシートを書き込みます。実行する前に、サインインとバージョンを確認してください。

68 

69* **サインイン**:Owner ロールを持つアカウントを使用して `claude auth login` でサインインしたマシンで実行してください。API キーまたはサードパーティのモデルプロバイダーのみの場合、セッションは開始されますが、組織のチェックに失敗します。

70* **バージョン**:[バージョンチェック](#software-on-the-runner-host)が成功したことを確認してください。2.1.224 より古いバージョンでは、setup コマンドはガイド付きセットアップではなく、単語をプロンプトとして使用する Claude セッションを開始します。

71 

72ガイド付きセットアップを開始するには、シェルで setup サブコマンドを実行してプロンプトに従ってください。

61 73 

62```bash theme={null}74```bash theme={null}

63claude self-hosted-runner setup75claude self-hosted-runner setup

64```76```

65 77 

66代わりに手動でセットアップするには、以下の手順に従ってください。78セットアップ自体はテストセッションを開始しません。claude.ai/code でテストセッションを開始するよう案内されます。セットアップの最後のステップでは、セットアップが起動したランナーを停止します。そのステップの前にセットアップを終了した場合、ランナーは実行を続けます。最後のステップの後も続行するには、`./runner-setup/CHEAT-SHEET.md` に記載されたコマンドを使用してシェルでランナーを再度起動し、[セッションを環境にルーティング](#route-a-session)してください。

79 

80<h3 id="set-up-manually">

81 手動でセットアップする

82</h3>

83 

84claude.ai で環境を作成し、ホスト上のターミナルからランナーを起動してから、claude.ai に戻ってランナーが表示されることを確認し、セッションをランナーにルーティングします。Owner ロールを持つユーザーが既に環境を作成してそのシークレットを渡している場合は、ステップ 2 から開始してください。

67 85 

68<Steps>86<Steps>

69 <Step title="環境を作成する">87 <Step title="環境を作成する">


73 </Step>91 </Step>

74 92 

75 <Step title="ランナーを起動する">93 <Step title="ランナーを起動する">

76 シークレットディレクトリを作成します。このステップと次のステップは `/etc/claude` パスに root が必要です。ランナープロセスが読み取ることができるパスであれば、どのパスでも機能するため、異なるパスを使用する場合は、両方のコマンドと `--environment-secret-file` 値を一緒に調整してください。94 シークレットディレクトリを作成します。このコマンドと次のコマンドは `/etc/claude` を使用するため root が必要です。また、これらのコマンドで作成されるシークレットファイルは、コマンドを実行したユーザーのみが読み取ることができます。ランナーを別のユーザーとして実行する場合、ランナーは `error: Failed to read environment secret file <path> (EACCES: permission denied, open '<path>')` で終了します。その場合は、`/etc/claude` の代わりにランナーのユーザーが書き込めるディレクトリを使用して両方のコマンドをランナーのユーザーとして実行し、同じパスを `--environment-secret-file` に渡してください。ランナープロセスが読み取ることができるパスであれば、どのパスでも機能します。

77 95 

78 ```bash theme={null}96 ```bash theme={null}

79 mkdir -p /etc/claude97 mkdir -p /etc/claude


89 107 

90 ランナーがパスを作成または書き込みできない場合、起動時にディレクトリを名前として指定するエラーで終了し、登録されません。[トラブルシューティング](/docs/ja/self-hosted-environments-deploy#troubleshooting)を参照してください。108 ランナーがパスを作成または書き込みできない場合、起動時にディレクトリを名前として指定するエラーで終了し、登録されません。[トラブルシューティング](/docs/ja/self-hosted-environments-deploy#troubleshooting)を参照してください。

91 109 

92 次に、`--environment-secret-file` と `--base-dir` を使用してランナーを起動します。ランナーは環境に登録され、作業のポーリングを開始します。ランナーが終了した場合は、手動で再起動してください。本番環境のデプロイメントは、終了したランナーを再起動するオーケストレーターの下でランナーを実行します。通常、再起動ごとに新しいファイルシステムを使用します。[事前にウォームアップされたチェックアウトを再利用する](/docs/ja/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout)は、サポートされている永続ディスクセットアップについて説明しています。110 次に、`--environment-secret-file` と `--base-dir` を使用してランナーを起動します。

93 111 

94 ```bash theme={null}112 ```bash theme={null}

95 claude self-hosted-runner --environment-secret-file '/etc/claude/environment-secret' --base-dir '<writable-dir>'113 claude self-hosted-runner --environment-secret-file '/etc/claude/environment-secret' --base-dir '<writable-dir>'

96 ```114 ```

115 

116 ランナーは環境に登録されると `Registered: runner_id=<runner-id>` をログに記録し、作業のポーリングを開始します。後でランナーが終了した場合は、手動で再起動してください。これが発生する状況については、[ランナーが終了した場合](#if-the-runner-exits)を参照してください。

97 </Step>117 </Step>

98 118 

99 <Step title="ランナーが表示されることを確認する">119 <Step title="ランナーが表示されることを確認する">

100 [**Cloud environments** ページ](https://claude.ai/admin-settings/cloud-environments)に戻ります。環境のステータスは、ランナーが起動してから数秒以内に **No runners deployed** から **Healthy** に変わります。環境を開いて **Activity** を選択すると、ランナー自体が表示されます。120 [**Cloud environments** ページ](https://claude.ai/admin-settings/cloud-environments)に戻ります。環境のステータスは、ランナーが起動してから数秒以内に **No runners deployed** から **Healthy** に変わります。環境を開いて **Activity** を選択すると、ランナー自体が表示されます。管理ページにアクセスできない場合は、前のステップのランナーのログにある `Registered: runner_id=<runner-id>` の行で同じことを確認できます。

101 </Step>121 </Step>

102 122 

103 <Step title="セッションを環境にルーティングする">123 <Step title="セッションを環境にルーティングする">

104 claude.ai/code でセッションを開始し、環境ピッカーから環境を選択します。セルフホスト環境は Anthropic ホスト環境と並んで表示されます。ランナーは、ホストが既に持っている git 認証情報を使用してクローンを作成するため、このホストが既にクローンできるリポジトリ、または公開リポジトリを選択してください。本番環境のプライベートリポジトリの認証情報オプションは、[git を設定する](/docs/ja/self-hosted-environments-deploy#configure-git)に記載されています。次に利用可能なランナーがキューに入ったセッションを取得し、`Picked up session <session-id>` をアクティブカウントと容量とともにログに記録します。ランナー自身の出力からどのホストがセッションを取得したかを確認できます。[claude.ai/code](https://claude.ai/code) でセッションの動作を監視し、Claude の返信を読んでください。セッションがキューに入ったままの場合は、[トラブルシューティング](/docs/ja/self-hosted-environments-deploy#troubleshooting)を参照してください。124 <span id="route-a-session" />claude.ai/code でセッションを開始し、環境ピッカーから環境を選択します。セルフホスト環境は Anthropic ホスト環境と並んで表示されます。リポジトリには、[前提条件](#host-and-network)で用意したもの、つまり公開リポジトリ、またはこのホストが既にクローンできるリポジトリを選択してください。ランナーは、ホストが既に持っている git 認証情報を使用してクローンを作成します。

125 

126 次に利用可能なランナーがキューに入ったセッションを取得し、`Picked up session <session-id>` をアクティブカウントと容量とともにログに記録します。ランナー自身の出力からどのホストがセッションを取得したかを確認できます。[claude.ai/code](https://claude.ai/code) でセッションの動作を監視し、Claude の返信を読んでください。

127 

128 セッションが動作を開始しない場合は、表示される状況に応じて対処してください。

129 

130 * **セッションがキューに入ったままになる**:[トラブルシューティング](/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)を参照してください。本番環境のプライベートリポジトリの認証情報オプションもここに記載されています。

105 </Step>132 </Step>

106</Steps>133</Steps>

107 134 

108ランナーは設計上、アクティブセッションが終了すると終了します。[ランナーのライフサイクル](/docs/ja/self-hosted-environments#runner-lifecycle)を参照してください。本番環境では、終了時にランナーを再起動し、ランナーが起動直後に終了し続ける場合は再起動間の待機時間を長くするオーケストレーターの下にデプロイしてください。[本番環境へのデプロイ](/docs/ja/self-hosted-environments-deploy)と[ランナーが終了する場合](/docs/ja/self-hosted-environments-deploy#when-the-runner-exits)を参照してください。135<h3 id="if-the-runner-exits">

136 ランナーが終了した場合

137</h3>

138 

139このクイックスタートの途中でランナーが終了した場合は、同じコマンドで再度起動してください。ランナーは自ら終了することがあります。

140 

141* **セッションの終了**:ログに `[runner:exit] account workload drained — exiting` が表示されます。ランナーは設計上、アクティブセッションが終了すると終了します。[ランナーのライフサイクル](/docs/ja/self-hosted-environments#runner-lifecycle)を参照してください。

142* **接続の喪失**:ログに `runner record gone server-side` または `poll auth failed` を含む `[runner:fatal]` の行が表示されます。ホストがスリープするなどしてランナーが Anthropic としばらく接続できなくなった場合、次に Anthropic に接続したときに終了することがあります。

143 

144ターンが終了しても、テストセッションは終了しません。最初のターンの後もセッションは接続されたままで、ランナーも稼働し続けているため、先にランナーを再起動することなく[セッションにフォローアップメッセージを送信](#send-a-follow-up-message-to-a-running-session)できます。

145 

146本番環境では、終了時にランナーを再起動し、ランナーが起動直後に終了し続ける場合は再起動間の待機時間を長くするオーケストレーターの下にデプロイしてください。[本番環境へのデプロイ](/docs/ja/self-hosted-environments-deploy)と[ランナーが終了する場合](/docs/ja/self-hosted-environments-deploy#when-the-runner-exits)を参照してください。

109 147 

110<h2 id="send-a-follow-up-message-to-a-running-session">148<h2 id="send-a-follow-up-message-to-a-running-session">

111 実行中のセッションにフォローアップメッセージを送信する149 実行中のセッションにフォローアップメッセージを送信する

Details

52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | ターンが終了するか、セッションがユーザーのアクションを待つ後、N 分間の非アクティビティ後にセッションスロットをリリースします。ターン中のセッション(決して終了しないバックグラウンドタスクを保持しているセッション、または実行中のツール呼び出し内から要求された承認を含む)はアイドルとしてカウントされません。`--kill-session-after-min` とペアにして、ハードバックストップとして機能させてください。セッションのバックグラウンドタスクが終了した後、ランナーはセッションをビジーと見なします。その結果を読む後続のターンが開始されるまで、最大で [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings) ウィンドウです。ランナーがシャットダウンシグナルを受け取るか、リタイア時間に達するまで、ランナーにアクティブなセッションがなくなるリリースは、通常のドレインと同じ終了パスを開始します。`--drain-grace-sec` によって管理されます。[`--defer-shutdown-max-min`](/docs/ja/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal) で遅延させた最初のシグナルの後、ランナーはリリースがセッションを保持していない限り即座に終了します。`0` は無効にします。 |52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | ターンが終了するか、セッションがユーザーのアクションを待つ後、N 分間の非アクティビティ後にセッションスロットをリリースします。ターン中のセッション(決して終了しないバックグラウンドタスクを保持しているセッション、または実行中のツール呼び出し内から要求された承認を含む)はアイドルとしてカウントされません。`--kill-session-after-min` とペアにして、ハードバックストップとして機能させてください。セッションのバックグラウンドタスクが終了した後、ランナーはセッションをビジーと見なします。その結果を読む後続のターンが開始されるまで、最大で [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings) ウィンドウです。ランナーがシャットダウンシグナルを受け取るか、リタイア時間に達するまで、ランナーにアクティブなセッションがなくなるリリースは、通常のドレインと同じ終了パスを開始します。`--drain-grace-sec` によって管理されます。[`--defer-shutdown-max-min`](/docs/ja/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal) で遅延させた最初のシグナルの後、ランナーはリリースがセッションを保持していない限り即座に終了します。`0` は無効にします。 |

53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | オフ | セッションがこのランナーで終了したときに、`<base-dir>/_sessions/` の下のセッションごとのディレクトリを削除します。結果に関係なく。[事前ウォーミングされたチェックアウトを再利用する](/docs/ja/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout) は、それらが保持するものと、それらが残っているときに誰がそれらを読むことができるかを説明しています。削除はベストエフォート。ランナーが強制終了されるか、クリーンアップが実行される前にドレイン期限に達した場合、セッションごとのディレクトリは所定の位置に留まります。フラグがオンの場合、失敗または中断されたセッションのデバッグログはディスクに保持されません。Claude Code v2.1.268 以降が必要です。 |53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | オフ | セッションがこのランナーで終了したときに、`<base-dir>/_sessions/` の下のセッションごとのディレクトリを削除します。結果に関係なく。[事前ウォーミングされたチェックアウトを再利用する](/docs/ja/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout) は、それらが保持するものと、それらが残っているときに誰がそれらを読むことができるかを説明しています。削除はベストエフォート。ランナーが強制終了されるか、クリーンアップが実行される前にドレイン期限に達した場合、セッションごとのディレクトリは所定の位置に留まります。フラグがオンの場合、失敗または中断されたセッションのデバッグログはディスクに保持されません。Claude Code v2.1.268 以降が必要です。 |

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| `--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` フックがより多くの時間を必要とする場合は、値を上げてください。 |

56| `--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) 上の子の初期化シグナルによってクリアされます。その後、`--release-idle-session-min` が引き継ぎます。`0` は無効にします。 |

57| `--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) がこのフラグに関係なくそれらをスキャンする理由です。 |

58| `--use-anthropic-git-proxy` | `CLAUDE_RUNNER_USE_GIT_PROXY=1` | オフ | 顧客管理の git 認証の代わりに [Anthropic git プロキシ](/docs/ja/self-hosted-environments-deploy#use-the-anthropic-git-proxy) 経由でクローンします。`--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 以降が必要です。ランナーはそれ以外の場合は起動を拒否します。書き換えフラグに優先します。 |

59 60 

60ほとんどの期間フラグには最大値があります。各タイムアウトをランタイムの 32 ビットタイマー上限(約 24.85 日)内に保つために選択されています。`--*-min` フラグは 10080 分(7 日)でキャップされます。`--drain-grace-sec` は 604800 秒(7 日)でもキャップされます。`--drain-wait-sec` は 86400 秒(24 時間)でキャップされます。`--session-stop-grace-sec` と `--post-session-hook-timeout-sec` はキャップされていません。キャップを超過する動作は表面ごとに異なります。61ほとんどの期間フラグには最大値があります。各タイムアウトをランタイムの 32 ビットタイマー上限(約 24.85 日)内に保つために選択されています。`--*-min` フラグは 10080 分(7 日)でキャップされます。`--drain-grace-sec` は 604800 秒(7 日)でもキャップされます。`--drain-wait-sec` は 86400 秒(24 時間)でキャップされます。`--session-stop-grace-sec` と `--post-session-hook-timeout-sec` はキャップされていません。キャップを超過する動作は表面ごとに異なります。

61 62 

62* **フラグ**: スタートアップはエラーで失敗します。63* **フラグ**: スタートアップはエラーで失敗します。

63* **環境変数**: ランナーはそれを拒否するのではなく、値をタイマー上限にクランプします。64* **環境変数**: ランナーはそれを拒否するのではなく、値をタイマー上限にクランプします。

64 65 

66<h3 id="auto-mode-rule-lists">

67 auto モードのルールリスト

68</h3>

69 

70`--server-auto-mode-lists` を使用すると、ランナーの外部から送られる [auto モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) 分類器ルールのうち、どれをランナー上のセッションに到達させるかを決定できます。Anthropic のコントロールプレーンは、セッションとともにルールリストを送信し、ランナーにそれらを適用するよう求めることができます。一部のエントリは、組織の管理者が作成したルールである場合があります。リストは `environment`、`soft_deny`、`allow` です。

71 

72* **`environment`**: エントリによって、分類器が許可する範囲を狭めることも広げることもできます。

73* **`soft_deny`**: エントリは、ユーザーが明示的に要求した場合または `allow` の例外が適用される場合を除き、アクションをブロックします。

74* **`allow`**: `soft_deny` エントリに対する例外です。

75 

76フラグの値によって、ランナーが適用するリストが決まります。

77 

78* **`no-allow`**: デフォルトです。`environment` と `soft_deny` を適用し、`allow` は適用しません。`environment` エントリによって分類器が許可する範囲が広がる可能性は残るため、デフォルトではすべての緩和を排除できるわけではありません。

79* **`all`**: 3 つのリストすべてを適用します。

80* **`none`**: どのリストも適用しません。これらのリストによる緩和をすべて排除するには `none` を選択してください。この場合、`soft_deny` の制限も適用されなくなります。

81 

82コントロールプレーンがランナーにリストの適用を求めるかどうかを決めるランナー設定はありません。求められなかった場合、何を設定していてもセッションはリストを受け取りません。どちらになったかを確認するには、`--log-level debug` でランナーを起動してください。すると、ランナーはセッションごとに、`the server asked this runner to apply` を含む行か、`the server did not ask this runner to apply the auto mode lists it sends` を含む行をログに記録します。

83 

65<h2 id="orchestrator-cli-flags">84<h2 id="orchestrator-cli-flags">

66 オーケストレーター CLI フラグ85 オーケストレーター CLI フラグ

67</h2>86</h2>


72| :- | :- | :- |91| :- | :- | :- |

73| `--hook-concurrency <n>` | `4` | 並列で実行される最大 `spawn-runner` フック数。また、ポーリングごとにクレームされるスポーン要求の数もキャップします。 |92| `--hook-concurrency <n>` | `4` | 並列で実行される最大 `spawn-runner` フック数。また、ポーリングごとにクレームされるスポーン要求の数もキャップします。 |

74| `--hook-timeout <sec>` | `60` | この多くの秒後にフックのプロセスツリーを終了します。タイムアウトとその 5 秒のキルグレースは `--expected-spawn-seconds` より下にある必要があります。オーケストレーターはスタートアップでこれを強制します。 |93| `--hook-timeout <sec>` | `60` | この多くの秒後にフックのプロセスツリーを終了します。タイムアウトとその 5 秒のキルグレースは `--expected-spawn-seconds` より下にある必要があります。オーケストレーターはスタートアップでこれを強制します。 |

75| `--expected-spawn-seconds <sec>` | `120` | スポーン済みランナーの予想 p99 ブート時間(秒単位)。サーバー強制範囲 10 ~ 3600。すべてのポーリングでサーバー側リースとして送信されます。ランナーが経過前に登録されない場合、セッションは新しいオーダー ID で再提供されます。すべてのレプリカはこの値を共有する必要があります。 |94| `--expected-spawn-seconds <sec>` | `120` | オーケストレーターがスポーン要求を受信してからランナーが登録されるまでの予想 p99 時間(プラットフォーム上でのキャパシティ待ちを含む)。サーバーは 10 ~ 3600 の範囲を強制します。すべてのポーリングでサーバー側リースとして送信されます。ランナーが経過前に登録されない場合、セッションは新しいオーダー ID で再提供されます。すべてのレプリカはこの値を共有する必要があります。 |

76| `--min-idle <n>` | `0` | スタンバイランナーを積極的に生成することで、少なくとも N 個のアイドルセッションスロットを無料で保ちます。`0` はプレウォーミングを無効にします。ランナーの `--exit-if-unused-min` とペアにして、余分なスタンバイランナーが自分自身を再利用するようにします。 |95| `--min-idle <n>` | `0` | スタンバイランナーを積極的に生成することで、少なくとも N 個のアイドルセッションスロットを無料で保ちます。`0` はプレウォーミングを無効にします。ランナーの `--exit-if-unused-min` とペアにして、余分なスタンバイランナーが自分自身を再利用するようにします。 |

77| `--debug-dir <path>` | 未設定 | 各スポーン要求のワークオーダーとフック stderr をディスクに書き込みます。デバッグのみ。本番環境では設定しないでください。 |96| `--debug-dir <path>` | 未設定 | 各スポーン要求のワークオーダーとフック stderr をディスクに書き込みます。デバッグのみ。本番環境では設定しないでください。 |

78 97 


108| `SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MS` | `7000` | ターンが終了した後、セッションのプロセスがターンの終了を Anthropic に報告している間、ランナーが `--drain-wait-sec` ドレイン用にセッションをビジーとしてカウントする時間の上限。`0` または使用不可能な値はデフォルトにフォールバックするため、ホールドをオフにすることはできません。Claude Code v2.1.275 以降が必要です。 |127| `SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MS` | `7000` | ターンが終了した後、セッションのプロセスがターンの終了を Anthropic に報告している間、ランナーが `--drain-wait-sec` ドレイン用にセッションをビジーとしてカウントする時間の上限。`0` または使用不可能な値はデフォルトにフォールバックするため、ホールドをオフにすることはできません。Claude Code v2.1.275 以降が必要です。 |

109| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | ランナーが割り込み不可能な I/O でスタックしている子に `SIGKILL` を配信するのを待つ時間。その後、ランナー自体が終了します。`--post-session-hook-timeout-sec` プラス 15 秒でフロアされ、`--push-outcome-on-release` が設定されている場合は 30 秒追加されます。有効な最小値はデフォルトで 75 秒です。 |128| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | ランナーが割り込み不可能な I/O でスタックしている子に `SIGKILL` を配信するのを待つ時間。その後、ランナー自体が終了します。`--post-session-hook-timeout-sec` プラス 15 秒でフロアされ、`--push-outcome-on-release` が設定されている場合は 30 秒追加されます。有効な最小値はデフォルトで 75 秒です。 |

110| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | 新規クローン用の Git フェッチ深度。正の整数、または完全なフェッチ用に `full` または `0` を設定します。ワークスペースに既に存在するリポジトリは既存の深度を保持します。 |129| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | 新規クローン用の Git フェッチ深度。正の整数、または完全なフェッチ用に `full` または `0` を設定します。ワークスペースに既に存在するリポジトリは既存の深度を保持します。 |

130| `CLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MS` | `600000` | git サーバー自身の進捗値が上昇し続けている間(サーバーが大規模なリポジトリ用のパックを準備している場合など)、git フェッチが最初のデータを待機できる時間(試行ごと、ミリ秒単位)。`0` または `off` を指定すると待機がオフになり、その場合、そのようなフェッチはデータがないまま 2 分経過すると打ち切られます。その他の整数は `120000` から `1800000` の範囲(2〜30 分)に制限されます。Claude Code v2.1.295 以降が必要です。 |

111| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | 未設定 | `1` の場合、`checkout` フック実行後の `.git` 存在チェックをスキップします。フックが非 git ソースを具体化する場合は、これを設定します。 |131| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | 未設定 | `1` の場合、`checkout` フック実行後の `.git` 存在チェックをスキップします。フックが非 git ソースを具体化する場合は、これを設定します。 |

112| `FORCE_AUTOUPDATE_PLUGINS` | 未設定 | `1` の場合、バイナリがピン留めされていても、プラグインマーケットプレイスの自動更新を許可します。 |132| `FORCE_AUTOUPDATE_PLUGINS` | 未設定 | `1` の場合、バイナリがピン留めされていても、プラグインマーケットプレイスの自動更新を許可します。 |

113| `CLAUDE_CODE_DISABLE_ARTIFACT` | 未設定 | `1` の場合、組織の管理者設定に関係なくセッション内の Artifact ツールを無効にし、`*.frame.claudeusercontent.com` エグレス要件をドロップします。 |133| `CLAUDE_CODE_DISABLE_ARTIFACT` | 未設定 | `1` の場合、組織の管理者設定に関係なくセッション内の Artifact ツールを無効にし、`*.frame.claudeusercontent.com` エグレス要件をドロップします。 |


178| `claude_code_self_hosted_orchestrator_poll_errors_total{error_kind}` | 種類別の累積 PollSpawnHints 失敗:`transport`、`timeout`、`5xx`、`429`、または `4xx`。すべての 5 つのシリーズはプロセス開始から存在します。`rate(...[5m]) > 0` でアラートします。 |198| `claude_code_self_hosted_orchestrator_poll_errors_total{error_kind}` | 種類別の累積 PollSpawnHints 失敗:`transport`、`timeout`、`5xx`、`429`、または `4xx`。すべての 5 つのシリーズはプロセス開始から存在します。`rate(...[5m]) > 0` でアラートします。 |

179| `claude_code_self_hosted_orchestrator_queue_pending_sessions` | 今すぐクレーム可能なスポーン要求 |199| `claude_code_self_hosted_orchestrator_queue_pending_sessions` | 今すぐクレーム可能なスポーン要求 |

180| `claude_code_self_hosted_orchestrator_queue_backing_off_sessions` | 再試行可能なフック失敗後の再試行バックオフ内のスポーン要求 |200| `claude_code_self_hosted_orchestrator_queue_backing_off_sessions` | 再試行可能なフック失敗後の再試行バックオフ内のスポーン要求 |

181| `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions` | Owner が環境の **Activity** タブから再試行するまでブロックされたスポーン要求。ゼロを超える場合はアラートします。 |201| `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions` | スポーンがブロックされているセッション。各セッションは、ユーザーが新しいメッセージを送信するか、Owner が環境の **Activity** タブから再試行するまでブロックされたままです。原因を修正した後もカウントがゼロを超えたままになる場合があります。ゼロを超える場合はアラートします。 |

182| `claude_code_self_hosted_orchestrator_pool_pending_sessions` | この環境でランナーを待機している総セッション数。環境全体の集計。すべてのオーケストレーターインスタンスで同一です。インスタンス全体で `SUM` ではなく `MAX` を使用します。 |202| `claude_code_self_hosted_orchestrator_pool_pending_sessions` | この環境でランナーを待機している総セッション数。環境全体の集計。すべてのオーケストレーターインスタンスで同一です。インスタンス全体で `SUM` ではなく `MAX` を使用します。 |

183| `claude_code_self_hosted_orchestrator_pool_active_sessions` | この環境内のアライブランナーに現在割り当てられているセッション。環境全体の集計。すべてのオーケストレーターインスタンスで同一です。インスタンス全体で `SUM` ではなく `MAX` を使用します。 |203| `claude_code_self_hosted_orchestrator_pool_active_sessions` | この環境内のアライブランナーに現在割り当てられているセッション。環境全体の集計。すべてのオーケストレーターインスタンスで同一です。インスタンス全体で `SUM` ではなく `MAX` を使用します。 |

184| `claude_code_self_hosted_orchestrator_spawn_hooks_total{result}` | 累積 `spawn-runner` フック結果:`ok`、`retryable`、`non_retryable`。オーケストレーターフック呼び出しをカウントします。ランナーがスポーンするセッション子ではありません。容量が 1 を超える場合、ウォームプール、同じセッション用に再度スポーンされたランナーは `sessions_started_total` と比較できないため、2 つが異なります。 |204| `claude_code_self_hosted_orchestrator_spawn_hooks_total{result}` | 累積 `spawn-runner` フック結果:`ok`、`retryable`、`non_retryable`。オーケストレーターフック呼び出しをカウントします。ランナーがスポーンするセッション子ではありません。容量が 1 を超える場合、ウォームプール、同じセッション用に再度スポーンされたランナーは `sessions_started_total` と比較できないため、2 つが異なります。 |


283 for: 1m303 for: 1m

284 labels: {severity: critical}304 labels: {severity: critical}

285 annotations:305 annotations:

286 summary: "{{ $value }} セッションがサーキットブレーク — spawn-runner フックが繰り返し非再試行可能。インフラを修正してから Activity タブから再試行してください"306 summary: "スポーンがブロックされているセッション:{{ $value }}。Activity タブで各セッションのエラーを確認し、原因を修正してから Retry を選択してください"

287 - alert: ClaudeOrchestratorPollErrors307 - alert: ClaudeOrchestratorPollErrors

288 expr: sum by (pod) (rate(claude_code_self_hosted_orchestrator_poll_errors_total[5m])) > 0308 expr: sum by (pod) (rate(claude_code_self_hosted_orchestrator_poll_errors_total[5m])) > 0

289 for: 2m309 for: 2m


318 338 

319v2.1.260 より前では、ランナーは `--kill-session-after-min` 制限に達したすべてのセッションを終了し、`sessions_interrupted_total` でカウントしました。339v2.1.260 より前では、ランナーは `--kill-session-after-min` 制限に達したすべてのセッションを終了し、`sessions_interrupted_total` でカウントしました。

320 340 

321[`post-session` フック](/docs/ja/self-hosted-environments-configuration#post-session) の `CLAUDE_RUNNER_EXIT_REASON` はクリーンハンドオフを異なる方法で分類します。フックはリリース、スタートアップタイムアウト、サーバー割り当て解除をランナーが子を停止したため `interrupted` として報告します。これらのカウンターは、スロットがクリーンに返されたため、`completed` として同じイベントを記録します。341[`post-session` フック](/docs/ja/self-hosted-environments-configuration#post-session) の `CLAUDE_RUNNER_EXIT_REASON` はクリーンハンドオフを異なる方法で分類します。フックは、ランナーが子を停止したため、リリース、スタートアップタイムアウト、サーバー割り当て解除、およびポーリングが先に気付いたアーカイブまたは削除を `interrupted` として報告します。これらのカウンターは、スロットがクリーンに返されたため、`completed` として同じイベントを記録します。

322 342 

323フック受信を `sessions_completed_total` に対して直接調整する場合、完了をアンダーカウントします。セッションごとの保証にはフックを使用し、集計レートにはカウンターを使用します。343フック受信を `sessions_completed_total` に対して直接調整する場合、完了をアンダーカウントします。セッションごとの保証にはフックを使用し、集計レートにはカウンターを使用します。

324 344 

Details

85 テストループを実行する85 テストループを実行する

86</h2>86</h2>

87 87 

88`--environment` および `--ref` ディスパッチフラグには、スクリプトを実行するマシン上の Claude Code v2.1.224 以降が必要です。これは実行イメージ自体と同じ下限です。フックが配置され、このホストで実行イメージが開始されている場合、テストスクリプトは以下を実行します。88`--environment` および `--ref` のディスパッチフラグを使用するには、スクリプトを実行するマシンに Claude Code v2.1.224 以降が必要です。これはランナー自体と同じ最低バージョンです。フックを設定し、このホストでランナーを起動した状態で、テストスクリプトは次の処理を行います。

89 89 

901. `claude -p "<prompt>" --environment <environment-id> --output-format json` でテスト環境にセッションを作成します。git チェックアウトから実行して、CLI が `origin` リモートからリポジトリを自動検出できるようにします。オプションの `--ref <branch>` は、ローカル HEAD の代わりに名前付き ref に基づいてセッションのチェックアウトを行います。コマンドはセッションを作成し、`session_id` を含む 1 行の JSON を出力し、Claude の返信を待たずに終了します。901. `claude -p "<prompt>" --environment <environment-id> --output-format json` を使用して、テスト環境上にセッションを作成します。CLI が `origin` リモートからリポジトリを自動検出できるように、このコマンドは Git のチェックアウト内から実行してください。オプションの `--ref <branch>` を指定すると、セッションのチェックアウトをローカルの HEAD ではなく指定した ref に基づいて作成します。このコマンドは Claude の応答を待たずに終了します。出力される内容によって、スクリプトは結果を判断できます。

912. Stop フックが実行イメージ上でターンが完了したら `$E2E_REPLY_DIR/<session_id>.txt` に返信が表示されるまで待機します。91 * **セッションが作成された場合**: `{"ok":true,"session_id":"session_...","title":"...","url":"...","pool_id":"..."}` のような 1 行の JSON

923. `claude -p "<message>" --cloud <session_id> --output-format json` でフォローアップを送信します([実行中のセッションにフォローアップメッセージを送信する](/docs/ja/claude-code-on-the-web#send-follow-ups-from-the-cli)を参照)。これは既存のセッションにユーザーイベントをポストし、終了します。92 * **セッションの作成に失敗した場合**: `{"ok":false,"error":"..."}` という行が出力され、コマンドはステータス 1 で終了します

934. ステップ 2 と同じ方法でフォローアップの返信を待機します。93 * **それ以前の段階で発生する一部のエラー**(組織でクラウドセッションが利用できない場合や、プロンプトが指定されていない場合など): JSON 行は出力されず、エラーが stderr に出力され、コマンドはステータス 1 で終了します

942. ターンの完了時にランナー上の Stop フックによって書き込まれる `$E2E_REPLY_DIR/<session_id>.txt` に応答が現れるのを待ちます。

953. `claude -p "<message>" --cloud <session_id> --output-format json` を使用してフォローアップを送信します([実行中のセッションにフォローアップメッセージを送信する](/docs/ja/claude-code-on-the-web#send-follow-ups-from-the-cli)を参照)。このコマンドは既存のセッションにユーザーイベントを投稿して終了します。

964. 手順 2 と同じ方法で、フォローアップへの応答を待ちます。

94 97 

95<h3 id="environment-dispatch-behavior">98<h3 id="environment-dispatch-behavior">

96 `--environment` ディスパッチ動作99 `--environment` のディスパッチ動作

97</h3>100</h3>

98 101 

99Claude Code はセッションを作成し、セッション ID とそのリンクを出力して終了します。102Claude Code はセッションを作成し、セッション ID とセッションへのリンクを出力して終了します。

100 103 

101フラグは [`remote.defaultEnvironmentId`](/docs/ja/settings-reference#remote-defaultenvironmentid) 設定よりも優先されます。`--output-format stream-json` をサポートしておらず、`--resume`、`--continue`、`--teleport`、`--session-id`、`--init-only` など、セッションを再開、アタッチ、または事前設定するフラグと組み合わせることはできません。`--cloud` はセッション ID または URL で拒否され、非対話型実行では説明を含む場合に拒否されます。ベアの `--cloud` は存在しないものとして扱われます。ターミナルから、位置指定プロンプトの代わりに `--cloud` 説明としてタスクを渡すことができます。104このフラグは [`remote.defaultEnvironmentId`](/docs/ja/settings-reference#remote-defaultenvironmentid) 設定よりも優先されます。`--output-format stream-json` には対応しておらず、`--resume`、`--continue`、`--teleport`、`--session-id`、`--init-only` など、セッションの再開、アタッチ、または事前設定を行うフラグと組み合わせることはできません。`--cloud` は、セッション ID または URL を指定した場合、および非対話型の実行で説明を伴う場合には拒否されます。値を伴わない `--cloud` は指定されていないものとして扱われます。ターミナルからは、位置引数のプロンプトの代わりに、タスクを `--cloud` の説明として渡すことができます。

102 105 

103<h2 id="example-script">106<h2 id="example-script">

104 スクリプト例107 スクリプト例

105</h2>108</h2>

106 109 

107以下のスクリプトは `$CLAUDE_TEST_ENVIRONMENT_ID`(テスト環境の `ccpool_...` ID)に対して完全なループを実行します。これは管理ページの環境詳細ダイアログに表示されるか、[環境作成呼び出し](#create-a-dedicated-test-environment)によって返されます。各返信のセンチネルフレーズをアサートします。キャプチャフックがインストールされ、`E2E_REPLY_DIR` がエクスポートされている実行イメージを使用して、このホストで実行イメージを開始した後、セッションを実行したいリポジトリの git チェックアウトから実行します。まず、[CI からの認証](#authenticate-from-ci)で説明しているとおり、スクリプトを実行するマシンで claude.ai アカウントにサインインします。このサインインを行わないと、最初のディスパッチが `Unable to get organization UUID for cloud session creation` などのエラーで失敗します。110このスクリプト例は、テストランナーと同じマシンで実行します。実行する前に、そのマシンを準備します。

111 

112* **リポジトリのチェックアウト**: セッションで作業させたいリポジトリの git チェックアウトからスクリプトを実行します。

113* **ランナー**: キャプチャフックをインストールし、`E2E_REPLY_DIR` をエクスポートした状態で、このホストでランナーを開始します。

114* **サインイン**: [CI からの認証](#authenticate-from-ci)で説明しているとおり、スクリプトを実行するマシンで claude.ai アカウントにサインインします。

115* **環境 ID**: `CLAUDE_TEST_ENVIRONMENT_ID` にテスト環境の `ccpool_...` ID を設定します。この ID は管理ページの環境詳細ダイアログに表示されるか、[環境作成呼び出し](#create-a-dedicated-test-environment)によって返されます。

116 

117以下のスクリプトは `$CLAUDE_TEST_ENVIRONMENT_ID` に対して完全なループを実行し、各返信のセンチネルフレーズをアサートします。

108 118 

109```bash theme={null}119```bash theme={null}

110#!/usr/bin/env bash120#!/usr/bin/env bash


152TURN1="e2e-probe-$(date +%s)-$$: say exactly 'ok: custom tools are reachable' and nothing else"162TURN1="e2e-probe-$(date +%s)-$$: say exactly 'ok: custom tools are reachable' and nothing else"

153EXPECT1="ok: custom tools are reachable"163EXPECT1="ok: custom tools are reachable"

154create_json=$(claude -p "$TURN1" --environment "$CLAUDE_TEST_ENVIRONMENT_ID" \164create_json=$(claude -p "$TURN1" --environment "$CLAUDE_TEST_ENVIRONMENT_ID" \

155 --ref "$TEST_REPO_REF" --output-format json)165 --ref "$TEST_REPO_REF" --output-format json < /dev/null)

156echo "create: $create_json"166echo "create: $create_json"

157SESSION_ID=$(jq -er '.session_id' <<<"$create_json")167SESSION_ID=$(jq -er '.session_id' <<<"$create_json")

158 168 


163# 3. Post a follow-up via the CLI.173# 3. Post a follow-up via the CLI.

164TURN2="e2e-probe-followup-$(date +%s): say exactly 'ok: follow-up delivered' and nothing else"174TURN2="e2e-probe-followup-$(date +%s): say exactly 'ok: follow-up delivered' and nothing else"

165EXPECT2="ok: follow-up delivered"175EXPECT2="ok: follow-up delivered"

166followup_json=$(claude -p "$TURN2" --cloud "$SESSION_ID" --output-format json)176followup_json=$(claude -p "$TURN2" --cloud "$SESSION_ID" --output-format json < /dev/null)

167echo "followup: $followup_json"177echo "followup: $followup_json"

168jq -e '.ok == true' <<<"$followup_json" >/dev/null178jq -e '.ok == true' <<<"$followup_json" >/dev/null

169 179 

sessions.md +43 −41

Details

6 6 

7> Claude Code の会話に名前を付け、再開し、分岐し、切り替えます。`--continue`、`--resume`、`--from-pr`、`/resume` ピッカー、セッション命名、トランスクリプトのエクスポート、およびトランスクリプトの保存場所について説明します。7> Claude Code の会話に名前を付け、再開し、分岐し、切り替えます。`--continue`、`--resume`、`--from-pr`、`/resume` ピッカー、セッション命名、トランスクリプトのエクスポート、およびトランスクリプトの保存場所について説明します。

8 8 

9セッションはプロジェクトディレクトリに紐付けられた保存済みの会話です。Claude Code はローカルに保存されるため、中断したところから再開したり、別のアプローチを試すために分岐したり、タスク間を切り替えたりできます。9[セッション](/docs/ja/glossary#session)は、プロジェクトディレクトリに紐付けられた保存済みの会話です。Claude Code は作業中にセッションをローカルに保存するため、中断したところから再開したり、別のアプローチを試すために分岐したり、タスク間を切り替えたりできます。

10 10 

11[デスクトップアプリ](/docs/ja/desktop#work-in-parallel-with-sessions)、[Web 上の Claude Code](/docs/ja/claude-code-on-the-web)、および [VS Code 拡張機能](/docs/ja/vs-code#resume-past-conversations)はそれぞれ独自のセッション履歴を保持しており、デスクトップアプリは [CLI セッションを再開](/docs/ja/desktop#coming-from-the-cli)することもできます。このページでは CLI について説明します。11[デスクトップアプリ](/docs/ja/desktop#work-in-parallel-with-sessions)、[Web 上の Claude Code](/docs/ja/claude-code-on-the-web)、および [VS Code 拡張機能](/docs/ja/vs-code#resume-past-conversations)はそれぞれ独自のセッション履歴を保持しており、デスクトップアプリは [CLI セッションを再開](/docs/ja/desktop#coming-from-the-cli)することもできます。このページでは CLI について説明します。

12 12 


18 18 

19| コマンド | 機能 |19| コマンド | 機能 |

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

21| `claude --continue` | 現在のディレクトリで最新の会話を再び開きます |21| `claude --continue` | 現在のディレクトリで最新のセッションを再び開きます |

22| `claude --resume` | [セッションピッカー](#use-the-session-picker)を開きます |22| `claude --resume` | [セッションピッカー](#use-the-session-picker)を開きます |

23| `claude --resume <name>` | 指定されたセッションを直接再開します |23| `claude --resume <name>` | 指定されたセッションを直接再開します |

24| `claude --resume <transcript-path>` | その絶対パスにある `.jsonl` [トランスクリプトファイル](#where-transcripts-are-stored)に保存されている会話を再開します |24| `claude --resume <transcript-path>` | その絶対パスにある `.jsonl` [トランスクリプトファイル](#where-transcripts-are-stored)に保存されているセッションを再開します |

25| `claude --from-pr <number>` | そのプルリクエストにリンクされたセッションでフィルタリングされたセッションピッカーを開きます |25| `claude --from-pr <number>` | そのプルリクエストにリンクされたセッションでフィルタリングされたセッションピッカーを開きます |

26| `/resume` | アクティブなセッション内から別の会話に切り替えます |26| `/resume` | アクティブなセッション内から別のセッションに切り替えます |

27 

28Claude Code は [`claude -p`](/docs/ja/headless)または [Agent SDK](/docs/ja/agent-sdk/overview)で作成されたセッションをセッションピッカーから除外し、`claude --continue` からも除外します。セッション ID を `claude --resume <session-id>` に渡すことで再開できます。`claude --continue` を使用する場合、Claude Code は [最初のプロンプトが `/loop` だったセッション](#where-the-session-picker-looks)もスキップします。[`claude -p --continue`](/docs/ja/headless#continue-conversations)を実行すると、Claude Code は `-p`、SDK、および `/loop` セッションを含めます。

29 

30`claude --resume <session-id>` は任意のディレクトリから実行できるため、別の場所で開始されたセッションや [`/cd`](/docs/ja/commands)で移動したセッションも再開できます。Claude Code は次の順序で ID を検索します。

31 

321. 現在のプロジェクトディレクトリとその git worktree

332. このマシン上の他のすべてのプロジェクト

34 

35プロジェクト横断の検索では、その ID のメッセージを含むトランスクリプトを保持している他のプロジェクトがちょうど 1 つの場合にのみ ID が解決されます。そのため、手動でコピーされた重複がある場合、Claude Code は任意のコピーを再開するのではなく、見つからないと報告します。保存されたセッションが ID と一致しない場合、Claude Code は `No conversation found with session ID: <session-id>` と報告します。

36 

37v2.1.223 より前は、検索は現在のプロジェクトディレクトリとその git worktree で止まっていたため、セッションが最後に作業していたディレクトリから再開する必要がありました。

38 

39`claude --continue` は完了した [バックグラウンドセッション](/docs/ja/agent-view)を開きますが、実行中のセッションは開きません。完了したバックグラウンドセッションを開くには Claude Code v2.1.257 以降が必要です。最新の会話が [バックグラウンドに移動した](/docs/ja/agent-view#send-the-session-to-the-background)セッションで、そこで実行中の場合、Claude Code は `Your most recent conversation is running in the background` と表示して終了し、そのセッションの ID を表示します。[`claude agents`](/docs/ja/agent-view#attach-to-a-session)からセッションにアタッチするか、`claude --resume` を実行して別のセッションを選択します。

40 27 

41<h3 id="resume-a-running-background-session">28<h3 id="resume-a-running-background-session">

42 実行中のバックグラウンドセッションを再開する29 実行中のバックグラウンドセッションを再開する


64 51 

65Claude Code がトランスクリプトから会話を読み込むと、再開されたセッションは会話とそれに保存された状態を復元します。52Claude Code がトランスクリプトから会話を読み込むと、再開されたセッションは会話とそれに保存された状態を復元します。

66 53 

67* 会話履歴:ツール呼び出しと結果を含む完全な履歴。前のプロセスが終了したとき(例えばクラッシュ時)に実行中だったツールは、再開時に完了または再実行されません。Claude はその呼び出しが結果の記録前に中断されたとマークされているのを確認し、再度実行する前にそれが有効になったかどうかを確認するよう指示されます。ただし、[`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ja/env-vars#variables)が設定されている場合は除きます。v2.1.281 より前は、Claude Code は中断された呼び出しを会話から削除するか、ユーザーが中断したものとして Claude に表示していました。54* 会話履歴:ツール呼び出しと結果を含む完全な履歴。前のプロセスが終了したとき(例えばクラッシュ時)に実行中だったツールは、再開時に完了または再実行されません。Claude はその呼び出しが結果の記録前に中断されたとマークされているのを確認し、再度実行する前にそれが有効になったかどうかを確認するよう指示されます。ただし、[`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ja/env-vars#variables)が設定されている場合は除きます。

68* モデル:セッションは使用していたモデルで続行されます。ただし、[モデルの設定](/docs/ja/model-config#setting-your-model)に記載されている場合は除きます。55* モデル:セッションは使用していたモデルで続行されます。ただし、[モデルの設定](/docs/ja/model-config#setting-your-model)に記載されている場合は除きます。

69* エージェント:[`--agent`](/docs/ja/sub-agents#invoke-subagents-explicitly)または `agent` 設定で開始されたセッションはそのエージェントとして続行され、ツール制限とモデルを保持します。別のエージェントを選択するには、再開時に `--agent` を渡します。どちらの場合のシステムプロンプトについては、[再開された会話のシステムプロンプトフラグ](/docs/ja/cli-reference#system-prompt-flags-in-resumed-conversations)を参照してください。Claude Code は 2 つの場所でエージェントを検索します。セッションの元のディレクトリ([そのワークスペースを信頼している](/docs/ja/permissions#project-allow-rules-and-workspace-trust)場合)と、次に再開元のディレクトリです。そのため、プロジェクトスコープのエージェントは別のディレクトリから再開する場合でも読み込まれます。Claude Code がどちらの場所でもエージェントを見つけられない場合、セッションはデフォルトのツールで再開され、[エージェント名を示す警告](/docs/ja/errors#session-agent-no-longer-available)が表示されます。56* エージェント:[`--agent`](/docs/ja/sub-agents#invoke-subagents-explicitly)または `agent` 設定で開始されたセッションはそのエージェントとして続行され、ツール制限とモデルを保持します。別のエージェントを選択するには、再開時に `--agent` を渡します。どちらの場合のシステムプロンプトについては、[再開された会話のシステムプロンプトフラグ](/docs/ja/cli-reference#system-prompt-flags-in-resumed-conversations)を参照してください。Claude Code は 2 つの場所でエージェントを検索します。セッションの元のディレクトリ([そのワークスペースを信頼している](/docs/ja/permissions#project-allow-rules-and-workspace-trust)場合)と、次に再開元のディレクトリです。そのため、プロジェクトスコープのエージェントは別のディレクトリから再開する場合でも読み込まれます。Claude Code がどちらの場所でもエージェントを見つけられない場合、セッションはデフォルトのツールで再開され、[エージェント名を示す警告](/docs/ja/errors#session-agent-no-longer-available)が表示されます。

70* 権限モード:`claude --continue`、`claude --resume <session-id>`、または `claude --resume <name>`(名前が 1 つのセッションと一致する場合)で `-p` なしでターミナルから再開する場合、Claude Code はセッションが使用していた権限モードを復元します。ただし、[再開時の権限モード](#permission-mode-on-resume)に記載されている場合は除きます。このセクションでは、セッションピッカー、`/resume`、および `claude -p` で再開する場合も扱います。復元されたモードを上書きするには、`--permission-mode` または `--dangerously-skip-permissions` を渡します。57* 権限モード:`claude --continue`、`claude --resume <session-id>`、または `claude --resume <name>`(名前が 1 つのセッションと一致する場合)で `-p` なしでターミナルから再開する場合、Claude Code はセッションが使用していた権限モードを復元します。ただし、[再開時の権限モード](#permission-mode-on-resume)に記載されている場合は除きます。このセクションでは、セッションピッカー、`/resume`、および `claude -p` で再開する場合も扱います。復元されたモードを上書きするには、`--permission-mode` または `--dangerously-skip-permissions` を渡します。


83* ターミナル:`claude --continue`、`claude --resume <session-id>`、または `claude --resume <name>`(名前が 1 つのセッションと一致する場合)で `-p` なし。Claude Code はセッションが使用していた権限モードを復元します。ただし、表に記載されている場合は除きます。復元されたモードを上書きするには、`--permission-mode` または `--dangerously-skip-permissions` を渡します。70* ターミナル:`claude --continue`、`claude --resume <session-id>`、または `claude --resume <name>`(名前が 1 つのセッションと一致する場合)で `-p` なし。Claude Code はセッションが使用していた権限モードを復元します。ただし、表に記載されている場合は除きます。復元されたモードを上書きするには、`--permission-mode` または `--dangerously-skip-permissions` を渡します。

84* 非対話型:`claude -p --resume` または `claude -p --continue`。Claude Code は新しい `claude -p` 実行が開始される権限モードで実行を開始します。ただし、plan モードで終了したセッションは、[以下の条件](#resume-in-plan-mode-with-p)を満たす場合に plan モードで再開されます。71* 非対話型:`claude -p --resume` または `claude -p --continue`。Claude Code は新しい `claude -p` 実行が開始される権限モードで実行を開始します。ただし、plan モードで終了したセッションは、[以下の条件](#resume-in-plan-mode-with-p)を満たす場合に plan モードで再開されます。

85* VS Code:拡張機能の会話パネル。表は、plan モードで終了した会話のみを扱います。その他については、[過去の会話を再開](/docs/ja/vs-code#resume-past-conversations)を参照してください。72* VS Code:拡張機能の会話パネル。表は、plan モードで終了した会話のみを扱います。その他については、[過去の会話を再開](/docs/ja/vs-code#resume-past-conversations)を参照してください。

86* 起動時のセッションピッカー:[セッションピッカー](#use-the-session-picker)から選択したセッション。`claude --resume` だけで開いたか、`claude --from-pr` で開いたか、複数のセッションと一致する名前で開いたかに関わらず。Claude Code は、同じコマンドラインから新しいセッションを開始する場合の権限モードでセッションを開始します。ただし、plan モードで終了したセッションは、`--permission-mode`、`--dangerously-skip-permissions`、または `--fork-session` を渡さない限り plan モードで再開されます。それ以外の保存された権限モードは復元されません。73* 起動時のセッションピッカー:[セッションピッカー](#use-the-session-picker)から選択したセッション。`claude --resume` だけで開いたか、`claude --from-pr` で開いたか、複数のセッションと一致する名前で開いたかに関わらず。Claude Code は、同じコマンドラインから新しいセッションを開始する場合の権限モードでセッションを開始します。ただし、plan モードで終了したセッションは plan モードで再開されます。`--permission-mode`、`--dangerously-skip-permissions`、または `--fork-session` を渡した場合、Claude Code は plan モードを復元しません。それ以外の保存された権限モードは復元されません。

87* セッション内の `/resume`(引数の有無を問わず):切り替え先の会話は、現在のセッションの権限モードで続行されます。ただし、plan モードで終了した会話は、`--permission-mode` または `--dangerously-skip-permissions` で Claude Code を起動した場合でも plan モードで再開されます。その会話がこの Claude Code の実行中にすでに開かれていた場合(開始時の会話や、`/clear` または `/resume` で離れた会話など)は、代わりに現在の権限モードで続行されます。74* セッション内の `/resume`(引数の有無を問わず):切り替え先の会話は、現在のセッションの権限モードで続行されます。ただし、plan モードで終了した会話は、`--permission-mode` または `--dangerously-skip-permissions` で Claude Code を起動した場合でも plan モードで再開されます。その会話がこの Claude Code の実行中にすでに開かれていた場合(開始時の会話や、`/clear` または `/resume` で離れた会話など)は、代わりに現在の権限モードで続行されます。

88 75 

76[拒否ルール](/docs/ja/permissions#manage-permissions)によって [`ExitPlanMode`](/docs/ja/tools-reference) ツールが削除されている場合、Claude はプランを承認のために提示できないため、Claude Code は plan モードを復元しません。セッションは、同じコマンドラインから新しいセッションが開始される場合の権限モードで開始されます。`/resume` の場合、会話は現在の権限モードで続行されます。

77 

89非対話型および VS Code の経路で plan モードを復元するには Claude Code v2.1.246 以降が必要です。各行は、セッションが終了した権限モード、ターミナル、非対話型、および VS Code の経路のどれで再開するか、および Claude Code が再開されたセッションを開始する権限モードを示します。78非対話型および VS Code の経路で plan モードを復元するには Claude Code v2.1.246 以降が必要です。各行は、セッションが終了した権限モード、ターミナル、非対話型、および VS Code の経路のどれで再開するか、および Claude Code が再開されたセッションを開始する権限モードを示します。

90 79 

91| セッションが終了した権限モード | 再開方法 | 再開後の権限モード |80| セッションが終了した権限モード | 再開方法 | 再開後の権限モード |

92| :- | :- | :- |81| :- | :- | :- |

93| `bypassPermissions` | ターミナル | 新しいセッションが開始される権限モード。再度 [権限をバイパス](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)するには、起動時にその起動フラグのいずれか、または [ユーザー設定、`--settings`、または管理設定](/docs/ja/settings-reference#permissions-defaultmode)の `permissions.defaultMode: "bypassPermissions"` で有効にします |82| `bypassPermissions` | ターミナル | 新しいセッションが開始される権限モード。再度 [権限をバイパス](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)するには、起動時にその起動フラグのいずれか、または [ユーザー設定、`--settings`、または管理設定](/docs/ja/settings-reference#permissions-defaultmode)の `permissions.defaultMode: "bypassPermissions"` で有効にします |

94| `plan` | ターミナル | plan モード。`--fork-session` を使用した場合は、新しいセッションが開始される権限モード |83| `plan` | ターミナル | plan モード。`--fork-session` を使用した場合は、新しいセッションが開始される権限モード |

84| `plan` | ターミナル。拒否ルールによって `ExitPlanMode` が削除されている場合 | 新しいセッションが開始される権限モード |

95| `auto` | ターミナル | `auto`。アカウントがまだ [auto モードの要件](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)を満たしている場合のみ |85| `auto` | ターミナル | `auto`。アカウントがまだ [auto モードの要件](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)を満たしている場合のみ |

96| Manual | ターミナル | 新しいセッションが [組み込みデフォルト](/docs/ja/permission-modes#which-mode-a-session-starts-in)により auto モードで開始される場合は Manual。設定ファイルの `defaultMode` が [有効になる](/docs/ja/permission-modes#which-mode-a-session-starts-in)場合、Claude Code は代わりに再開されたセッションをそのモードで開始します |86| Manual | ターミナル | 新しいセッションが [組み込みデフォルト](/docs/ja/permission-modes#which-mode-a-session-starts-in)により auto モードで開始される場合は Manual。設定ファイルの `defaultMode` が [有効になる](/docs/ja/permission-modes#which-mode-a-session-starts-in)場合、Claude Code は代わりに再開されたセッションをそのモードで開始します |

97| `plan` | 非対話型。[以下の条件](#resume-in-plan-mode-with-p)を満たす場合 | plan モード |87| `plan` | 非対話型。[以下の条件](#resume-in-plan-mode-with-p)を満たす場合 | plan モード |


110* `--permission-mode` または `--dangerously-skip-permissions` を渡さない100* `--permission-mode` または `--dangerously-skip-permissions` を渡さない

111* `--fork-session` を渡さない101* `--fork-session` を渡さない

112* 実行が [チャネル](/docs/ja/channels)を通じて開始されていない102* 実行が [チャネル](/docs/ja/channels)を通じて開始されていない

103* [拒否ルール](/docs/ja/permissions#manage-permissions)によって `ExitPlanMode` ツールが削除されていない

113 104 

114<h3 id="resume-from-a-summary">105<h3 id="resume-from-a-summary">

115 サマリーから再開する106 サマリーから再開する


117 108 

118Pro または Max プランでは、約 1 時間以上非アクティブで 100,000 トークンを超えるセッションを再開すると、Claude Code は会話を復元してから、最初のメッセージを送信する前にダイアログを開きます。セッションの [プロンプトキャッシュ](/docs/ja/prompt-caching#cache-lifetime)はその時点で有効期限が切れているため、ダイアログのオプションのどれを選択しても、次のリクエストは完全な履歴を 1 回処理します。109Pro または Max プランでは、約 1 時間以上非アクティブで 100,000 トークンを超えるセッションを再開すると、Claude Code は会話を復元してから、最初のメッセージを送信する前にダイアログを開きます。セッションの [プロンプトキャッシュ](/docs/ja/prompt-caching#cache-lifetime)はその時点で有効期限が切れているため、ダイアログのオプションのどれを選択しても、次のリクエストは完全な履歴を 1 回処理します。

119 110 

120ダイアログはセッションを続行する 3 つの方法を提供します。各方法は、会話のどれだけを後のリクエストに引き継ぐかが異なり、すべての詳細を保持することと、リクエストごとに送信するトークンを減らすことのトレードオフになります。111ダイアログはセッションを続行する 3 つの方法を提供します。

121 112 

122* **サマリーから再開**:[`/compact`](/docs/ja/context-window#what-survives-compaction)を直ちに実行します。Claude Code は完全な履歴に対して 1 回の要約リクエストを送信し、その後履歴をサマリー、最新のやり取り、および最近読んだファイル(最大 5 つ)に置き換えます。後のリクエストには完全な履歴の代わりにサマリーが含まれます。113* **サマリーから再開**:[`/compact`](/docs/ja/context-window#what-survives-compaction)を直ちに実行します。後のリクエストには完全な履歴の代わりにサマリーが含まれます。

123* **セッション全体をそのまま再開**:会話を変更せずに読み込みます。最初のメッセージを送信した後、Claude Code は完全な履歴を再処理して再キャッシュし、キャッシュが有効な間は後のリクエストでキャッシュから再度読み込みます。114* **セッション全体をそのまま再開**:会話を変更せずに読み込みます。

124* **今後は聞かないでください**:セッション全体を再開し、今後のすべての再開でダイアログの表示を停止します。115* **今後は聞かないでください**:セッション全体を再開し、今後のすべての再開でダイアログの表示を停止します。

125 116 

126そのまま再開すると、会話のすべての詳細を利用できる状態が保たれますが、リクエストごとのコストは会話のサイズに応じて増加します。サマリーから再開すると、完全な履歴の代わりにサマリーを含めるため、後のリクエストごとのコストが低くなりますが、サマリーに含まれなかった内容は Claude のコンテキストから失われます。そのリクエストごとのコストがどこから来るかについては、[長いセッションで使用量が増加する理由](/docs/ja/costs#why-usage-climbs-in-a-long-session)を参照してください。117そのまま再開すると、会話のすべての詳細を利用できる状態が保たれますが、リクエストごとのコストは会話のサイズに応じて増加します。サマリーから再開すると、完全な履歴の代わりにサマリーを含めるため、後のリクエストごとのコストが低くなりますが、サマリーに含まれなかった内容は Claude のコンテキストから失われます。そのリクエストごとのコストがどこから来るかについては、[長いセッションで使用量が増加する理由](/docs/ja/costs#why-usage-climbs-in-a-long-session)を参照してください。


136 127 

137`Ctrl+W` を使用してリポジトリのすべての worktree に拡張するか、`Ctrl+A` を使用してこのマシン上のすべてのプロジェクトに拡張します。128`Ctrl+W` を使用してリポジトリのすべての worktree に拡張するか、`Ctrl+A` を使用してこのマシン上のすべてのプロジェクトに拡張します。

138 129 

139最初のプロンプトが [`/loop`](/docs/ja/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop)コマンドだったセッションはピッカーに表示されず、`claude --continue` もそれらをスキップします。会話の後半で `/loop` を実行してもセッションは非表示になりません。v2.1.211 より前は、会話の早い段階で `/loop` を実行すると、セッションはピッカーから永続的に非表示になりました。130<h4 id="/loop-p-agent-sdk-and-background-sessions">

131 `/loop`、`-p`、Agent SDK、およびバックグラウンドセッション

132</h4>

133 

134最初のプロンプトが [`/loop`](/docs/ja/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop)コマンドだったセッションはピッカーに表示されず、`claude --continue` もそれらをスキップします。会話の後半で `/loop` を実行してもセッションは非表示になりません。

135 

136Claude Code は [`claude -p`](/docs/ja/headless)または [Agent SDK](/docs/ja/agent-sdk/overview)で作成されたセッションをセッションピッカーから除外し、`claude --continue` からも除外します。それでも、セッション ID を `claude --resume <session-id>` に渡すことで再開できます。[`claude -p --continue`](/docs/ja/headless#continue-conversations)を実行すると、Claude Code は `-p`、SDK、および `/loop` セッションを含めます。

140 137 

141[`/cd`](/docs/ja/commands)でセッションを移動すると、新しいディレクトリのプロジェクトストレージに再配置されるため、その後そのディレクトリのピッカーに表示されます。v2.1.196 以降、移動されたセッションはクラッシュまたは強制終了後も古いディレクトリのピッカーから除外されたままになります。以前のバージョンでは、古いパスにアンダースコアなどの特殊文字が含まれている場合、正常でない終了後に古いディレクトリのリストに再度表示される可能性がありました。138`claude --continue` は完了した [バックグラウンドセッション](/docs/ja/agent-view)を開きますが、実行中のセッションは開きません。完了したバックグラウンドセッションを開くには Claude Code v2.1.257 以降が必要です。最新の会話が [バックグラウンドに移動した](/docs/ja/agent-view#send-the-session-to-the-background)セッションで、そこで実行中の場合、Claude Code は `Your most recent conversation is running in the background` と表示して終了し、そのセッションの ID を表示します。[`claude agents`](/docs/ja/agent-view#attach-to-a-session)からセッションにアタッチするか、`claude --resume` を実行して別のセッションを選択します。

139 

140<h4 id="sessions-in-other-worktrees-and-projects">

141 他の worktree やプロジェクトのセッション

142</h4>

142 143 

143同じリポジトリの別の worktree からセッションを選択すると、Claude Code はそこで再開します。セッション自体の worktree が存在しなくなった場合、Claude Code は [現在のディレクトリで再開](/docs/ja/worktrees#resume-a-worktree-session)します。関連のないプロジェクトからセッションを選択すると、Claude Code は代わりに `cd` と再開コマンドをクリップボードにコピーします。そのプロジェクトのディレクトリが存在しなくなった場合、Claude Code は失敗する `cd` コマンドをコピーするのではなく、現在のディレクトリでセッションを再開します。144同じリポジトリの別の worktree からセッションを選択すると、Claude Code はそこで再開します。セッション自体の worktree が存在しなくなった場合、Claude Code は [現在のディレクトリで再開](/docs/ja/worktrees#resume-a-worktree-session)します。関連のないプロジェクトからセッションを選択すると、Claude Code は代わりに `cd` と再開コマンドをクリップボードにコピーします。そのプロジェクトのディレクトリが存在しなくなった場合、Claude Code は失敗する `cd` コマンドをコピーするのではなく、現在のディレクトリでセッションを再開します。

144 145 

146[`/cd`](/docs/ja/commands)でセッションを移動すると、新しいディレクトリのプロジェクトストレージに再配置されるため、その後そのディレクトリのピッカーに表示されます。

147 

148<h4 id="resume-by-session-id-or-name">

149 セッション ID または名前で再開する

150</h4>

151 

152`claude --resume <session-id>` は任意のディレクトリから実行できるため、別の場所で開始されたセッションや [`/cd`](/docs/ja/commands)で移動したセッションも再開できます。Claude Code は次の順序で ID を検索します。

153 

1541. 現在のプロジェクトディレクトリとその git worktree

1552. このマシン上の他のすべてのプロジェクト

156 

157プロジェクト横断の検索では、その ID のメッセージを含むトランスクリプトを保持している他のプロジェクトがちょうど 1 つの場合にのみ ID が解決されます。そのため、手動でコピーされた重複がある場合、Claude Code は任意のコピーを再開するのではなく、見つからないと報告します。保存されたセッションが ID と一致しない場合、Claude Code は `No conversation found with session ID: <session-id>` と報告します。

158 

145名前で再開する場合は、現在のリポジトリとその worktree 全体で解決されます。どちらの形式も完全一致を探し、別の worktree に存在する場合でも直接再開します。159名前で再開する場合は、現在のリポジトリとその worktree 全体で解決されます。どちらの形式も完全一致を探し、別の worktree に存在する場合でも直接再開します。

146 160 

147| コマンド | 完全一致 | あいまいな名前 |161| コマンド | 完全一致 | あいまいな名前 |


166 180 

167CLI ルートまたは claude.ai からセッションに名前を付けたら、`claude --resume <name>` または `/resume <name>` で再開できます。デスクトップアプリセッションは[デスクトップアプリ](/docs/ja/desktop#work-in-parallel-with-sessions)で再開されます。worktree 全体での名前解決の動作については、[セッションを再開する](#resume-a-session)を参照してください。181CLI ルートまたは claude.ai からセッションに名前を付けたら、`claude --resume <name>` または `/resume <name>` で再開できます。デスクトップアプリセッションは[デスクトップアプリ](/docs/ja/desktop#work-in-parallel-with-sessions)で再開されます。worktree 全体での名前解決の動作については、[セッションを再開する](#resume-a-session)を参照してください。

168 182 

169このマシン上で既に実行中の別のセッションが既に使用している名前でインタラクティブセッションを開始または再開した場合、またはセッションをそのような名前に名前変更した場合、Claude Code は既に持っているセッションに名前を残し、`auth-refactor-graceful-unicorn` のような 2 語のサフィックスを持つバリアントに名前を変更し、その旨を通知します。自分で選びたい場合は、新しい名前で `/rename` を実行してください。v2.1.232 より前は、両方のセッションが名前を保持していました。

170 

171Claude Code が重複の名前を変更しない場合が 3 つあり、リストに同じ名前の 2 つのセッションが表示される場合があります。

172 

173* AI が生成したタイトルまたはデフォルト表示名をチェックしません。

174* 起動時に[バックグラウンド](/docs/ja/agent-view#from-your-shell)または `-p` セッションの `--name` をチェックしません。

175* 以前のバージョンの Claude Code でセッションの名前を変更することはできません。

176 

177名前を付けないセッションでも、Claude Code が割り当てる 2 つのラベルが付けられます。生成されたタイトルのみが再開ハンドルとして機能します。183名前を付けないセッションでも、Claude Code が割り当てる 2 つのラベルが付けられます。生成されたタイトルのみが再開ハンドルとして機能します。

178 184 

179* デフォルト表示名:名前を付けないインタラクティブセッションでも、起動時にデフォルト表示名が自動的に付けられます。Claude Code v2.1.196 以降が必要です。デフォルト名は、作業ディレクトリの名前と 2 文字のサフィックスを組み合わせたもので、例えば `my-app-3f` のようになり、[agent view](/docs/ja/agent-view)や `claude agents --json` 出力などの実行中セッションのリストでセッションを識別します。デフォルト名は再開ハンドルではありません。`claude --resume` または `/resume` に渡した場合、Claude Code はセッションを見つけません。セッションに名前を付けるとデフォルト名がリストに置き換わり、プランを受け入れても置き換わります。185* デフォルト表示名:名前を付けないインタラクティブセッションでも、起動時にデフォルト表示名が自動的に付けられます。Claude Code v2.1.196 以降が必要です。デフォルト名は、作業ディレクトリの名前と 2 文字のサフィックスを組み合わせたもので、例えば `my-app-3f` のようになり、[agent view](/docs/ja/agent-view)や `claude agents --json` 出力などの実行中セッションのリストでセッションを識別します。デフォルト名は再開ハンドルではありません。`claude --resume` または `/resume` に渡した場合、Claude Code はセッションを見つけません。

180* 生成されたタイトル:セッションに名前を付けない場合、Claude Code はセッションのタイトルを生成します。タイトルは最初のプロンプトの短い要約で、通常は Haiku クラスモデルである小型/高速モデルへのバックグラウンドリクエストで作成されます。シェルまたはスクリプトから直接開始する `claude -p` 実行は生成されません。186* 生成されたタイトル:セッションに名前を付けない場合、Claude Code はセッションのタイトルを生成します。タイトルは最初のプロンプトの短い要約で、通常は Haiku クラスモデルである小型/高速モデルへのバックグラウンドリクエストで作成されます。シェルまたはスクリプトから直接開始する `claude -p` 実行は生成されません。

181 187 

182 プランを受け入れるとプランに基づいたタイトルに置き換わります。セッションに名前を付けると生成されたタイトルが置き換わります。188 プランを受け入れると、生成されたタイトルがプランに基づいたタイトルに置き換わります。`claude --resume` または `/resume` にいずれかのタイトルを渡すことができ、Claude Code は設定した名前と同じ方法で解決します。

183 

184 最初のプロンプトタイトルは[セッションピッカー](#use-the-session-picker)と、名前が設定されていない場合のステータスライン [`session_name`](/docs/ja/statusline) フィールドに表示されます。プランタイトルは同じ 2 つの場所に表示され、実行中セッションのリストにも表示され、デフォルト表示名の代わりになります。

185 

186 `claude --resume` または `/resume` にいずれかのタイトルを渡すことができ、Claude Code は設定した名前と同じ方法で解決します。

187 189 

188<h2 id="use-the-session-picker">190<h2 id="use-the-session-picker">

189 セッションピッカーを使用する191 セッションピッカーを使用する


205| `Ctrl+B` | 現在の git ブランチからのセッションにフィルタリングします。もう一度押すとすべてのブランチを表示します |207| `Ctrl+B` | 現在の git ブランチからのセッションにフィルタリングします。もう一度押すとすべてのブランチを表示します |

206| `Esc` | セッションピッカーまたは検索モードを終了します |208| `Esc` | セッションピッカーまたは検索モードを終了します |

207 209 

208各行は、セッション名が設定されている場合はそれを表示し、そうでない場合は AI が生成したセッションタイトル、会話の概要、または最初のプロンプト、最後のアクティビティからの経過時間、git ブランチ、およびファイルサイズを表示します。`Ctrl+A` ですべてのプロジェクトに拡張して、各セッションのプロジェクトパスも表示します。210各行は、セッション名が設定されている場合はそれを表示し、そうでない場合は AI が生成したセッションタイトル、会話の概要、または最初のプロンプト、最後のアクティビティからの経過時間、git ブランチ、およびファイルサイズを表示します。

209 211 

210`/branch` または `--fork-session` で作成されたセッションは独自のセッション ID を取得し、別の行として表示されます。ピッカーが同じセッションの複数のエントリを見つけた場合、それらは単一の行の下にグループ化されます。グループを展開するには `→` を押します。212`/branch` または `--fork-session` で作成されたセッションは独自のセッション ID を取得し、別の行として表示されます。ピッカーが同じセッションの複数のエントリを見つけた場合、それらは単一の行の下にグループ化されます。グループを展開するには `→` を押します。

211 213 


223/branch try-streaming-approach225/branch try-streaming-approach

224```226```

225 227 

226名前を省略した場合、Claude Code は会話の最初のプロンプトに基づいて新しいブランチに名前を付けます。v2.1.198 以降では、これは[コンパクション](/docs/ja/how-claude-code-works#when-context-fills-up)後にも適用されます。それより前のバージョンでは、元の最初のプロンプトを超えてコンパクション要約を参照する代わりに、リテラル名 `Branched conversation` にフォールバックしていました。228名前を省略した場合、Claude Code は会話の最初のプロンプトに基づいて新しいブランチに名前を付けます。

227 229 

228コマンドラインから、`--continue` または `--resume` を `--fork-session` と組み合わせます。230コマンドラインから、`--continue` または `--resume` を `--fork-session` と組み合わせます。

229 231 


250 252 

251これらのコマンドは、セッションを離れることなくコンテキストウィンドウ内の内容を制御します。253これらのコマンドは、セッションを離れることなくコンテキストウィンドウ内の内容を制御します。

252 254 

253* **`/clear`**:空のコンテキストで新たに開始します。Claude Code は以前の会話を保存します。`/resume` で再開するか、同じ Claude Code プロセス内では、[rewind メニューの前のセッションエントリ](/docs/ja/checkpointing#rewind-past-a-cleared-conversation)から再開できます。引数がない場合、新しい会話は `--name` または `/rename` で設定した名前を保持しますが、AI が生成したセッションタイトルは保持しません。代わりに、離れる会話に名前を付けるには、`/clear release-prep` のように名前を渡します。その後、新しい会話は名前なしで開始します255* **`/clear`**:空のコンテキストで新たに開始します。Claude Code は以前のセッションを保存します。`/resume` で再開するか、同じ Claude Code プロセス内では、[rewind メニューの前のセッションエントリ](/docs/ja/checkpointing#rewind-past-a-cleared-conversation)から再開できます。引数がない場合、新しいセッションは `--name` または `/rename` で設定した名前を保持しますが、AI が生成したセッションタイトルは保持しません。代わりに、離れるセッションに名前を付けるには、`/clear release-prep` のように名前を渡します。その後、新しいセッションは名前なしで開始します

254* **`/compact [instructions]`**:履歴を概要に置き換え、オプションで指定した内容に焦点を当てます256* **`/compact [instructions]`**:履歴を概要に置き換え、オプションで指定した内容に焦点を当てます

255* **`/context`**:現在コンテキストを消費しているものを表示します257* **`/context`**:現在コンテキストを消費しているものを表示します

256 258 

settings.md +2 −2

Details

495 495 

496v2.1.211 より前では、Claude Code は開始ディレクトリにファイルを保持していました。以前のバージョンがそこに残したファイルも、ルートのファイルと併せて読み込みます。両方が同じキーを設定している場合はルートの値が適用され、権限ルールは両方のファイルのものが適用されます。Agent SDK の [`resolveSettings()`](/docs/ja/agent-sdk/typescript#resolvesettings) ヘルパーは常に開始ディレクトリからファイルを読み込みます。496v2.1.211 より前では、Claude Code は開始ディレクトリにファイルを保持していました。以前のバージョンがそこに残したファイルも、ルートのファイルと併せて読み込みます。両方が同じキーを設定している場合はルートの値が適用され、権限ルールは両方のファイルのものが適用されます。Agent SDK の [`resolveSettings()`](/docs/ja/agent-sdk/typescript#resolvesettings) ヘルパーは常に開始ディレクトリからファイルを読み込みます。

497 497 

498Claude Code は共有 `.claude/settings.json` をセッションの[プライマリ作業ディレクトリ](/docs/ja/permissions#working-directories)から読み込むため、リポジトリルートにコミットされたファイルを使用するには、そこで Claude Code を開始してください。[`/cd` でセッションを移動した](/docs/ja/permissions#move-the-session-to-another-directory)後は、Claude Code は代わりに新しいディレクトリから両方のプロジェクトファイルを読み込み、ローカルファイルは同じルールで配置します。移動先のディレクトリから読み込むには Claude Code v2.1.246 以降が必要です。498Claude Code は共有 `.claude/settings.json` をセッションの[プライマリ作業ディレクトリ](/docs/ja/permissions#working-directories)から読み込むため、リポジトリルートにコミットされたファイルを使用するには、そこで Claude Code を開始してください。[`/cd` でセッションを移動した](/docs/ja/permissions#move-the-session-to-another-directory)後は、Claude Code は代わりに新しいディレクトリから両方のプロジェクトファイルを読み込み、ローカルファイルは同じルールで配置します。移動先のディレクトリから読み込むには Claude Code v2.1.246 以降が必要です。デスクトップアプリから開始する worktree セッションについては、[worktree がメインチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout)を参照してください。

499 499 

500<span id="managed-settings-delivery" />500<span id="managed-settings-delivery" />

501 501 


767 767 

7682 つのことが `.claude/settings.json` のキーがそれをクローンするすべての人に適用されるのを防ぎます:7682 つのことが `.claude/settings.json` のキーがそれをクローンするすべての人に適用されるのを防ぎます:

769 769 

770* **Claude Code はリポジトリファイルのキーを無視します。** [設定インデックス](/docs/ja/settings-reference#settings-index) のスコープ列で `User, local, or managed`、`User or managed`、`Managed`、または `Global config` を探してください。これらのキーは共有ファイルから適用されません。ただし、リポジトリファイルがまだオフにできるいくつかを除きます。これらのエントリのそれぞれはスコープ行でそう言っています。`Global config` キーは `~/.claude.json` からのみ適用されます。770* **Claude Code はリポジトリファイルのキーを無視します。** [設定インデックス](/docs/ja/settings-reference#settings-index) のスコープ列で `User, local, or managed`、`User or managed`、`User`、`Managed`、または `Global config` を探してください。これらのキーは共有ファイルから適用されません。ただし、リポジトリファイルがまだオフにできるいくつかを除きます。これらのエントリのそれぞれはスコープ行でそう言っています。`Global config` キーは `~/.claude.json` からのみ適用されます。

771 771 

772 `env` キー内では、テレメトリエクスポート変数も共有ファイルから適用されません。いくつかのオフ値を除きます。[Claude Code が `env` で無視する変数](/docs/ja/settings-reference#variables-claude-code-ignores-in-env) を参照してください。772 `env` キー内では、テレメトリエクスポート変数も共有ファイルから適用されません。いくつかのオフ値を除きます。[Claude Code が `env` で無視する変数](/docs/ja/settings-reference#variables-claude-code-ignores-in-env) を参照してください。

773* **キーは信頼を待っています。** `permissions.allow` ルール、`permissions.additionalDirectories`、`extraKnownMarketplaces`、およびほとんどの [`env`](/docs/ja/settings-reference#env) 値は、各チームメイトが [フォルダを信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust) した後にのみ適用されます。それまで、チームメイトにはプロンプトが表示され続け、ファイルが宣言するマーケットプレイスからプラグインを取得しません。`deny` および `ask` ルールはすぐに適用されます。773* **キーは信頼を待っています。** `permissions.allow` ルール、`permissions.additionalDirectories`、`extraKnownMarketplaces`、およびほとんどの [`env`](/docs/ja/settings-reference#env) 値は、各チームメイトが [フォルダを信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust) した後にのみ適用されます。それまで、チームメイトにはプロンプトが表示され続け、ファイルが宣言するマーケットプレイスからプラグインを取得しません。`deny` および `ask` ルールはすぐに適用されます。

Details

582<ReferenceFilter582<ReferenceFilter

583 noun="設定"583 noun="設定"

584 placeholder="キーまたは用途で設定を絞り込む"584 placeholder="キーまたは用途で設定を絞り込む"

585 facetOrder={{ scope: ["Any file", "User, local, or managed", "User or managed", "Managed", "Global config"] }}585 facetOrder={{ scope: ["Any file", "User, local, or managed", "User or managed", "User", "Managed", "Global config"] }}

586 columnHelp={{586 columnHelp={{

587topic: "その項目が記載されているこのページのセクションです。Sort by を使うと、表をトピックごとにグループ化できます。",587topic: "その項目が記載されているこのページのセクションです。Sort by を使うと、表をトピックごとにグループ化できます。",

588scope: "そのキーを設定できる設定ファイル:user(~/.claude/settings.json)、project(.claude/settings.json)、local(.claude/settings.local.json)、または managed(組織がデプロイ)。Global config のキーは代わりに ~/.claude.json に記述します。",588scope: "そのキーを設定できる設定ファイル:user(~/.claude/settings.json)、project(.claude/settings.json)、local(.claude/settings.local.json)、または managed(組織がデプロイ)。Global config のキーは代わりに ~/.claude.json に記述します。",


638| [`claudeMdExcludes`](#claudemdexcludes) | メモリの読み込み時に特定の [CLAUDE.md](/docs/ja/memory#exclude-specific-claude-md-files) ファイルをスキップします | メモリとコンテキスト | Any file |638| [`claudeMdExcludes`](#claudemdexcludes) | メモリの読み込み時に特定の [CLAUDE.md](/docs/ja/memory#exclude-specific-claude-md-files) ファイルをスキップします | メモリとコンテキスト | Any file |

639| [`cleanupPeriodDays`](#cleanupperioddays) | Claude Code が[トランスクリプト](/docs/ja/data-usage#data-retention)を削除するまで保持する日数を選択します | プライバシーとテレメトリ | Any file |639| [`cleanupPeriodDays`](#cleanupperioddays) | Claude Code が[トランスクリプト](/docs/ja/data-usage#data-retention)を削除するまで保持する日数を選択します | プライバシーとテレメトリ | Any file |

640| [`companyAnnouncements`](#companyannouncements) | 起動時に組織のお知らせを表示します | インターフェースとターミナル | Any file |640| [`companyAnnouncements`](#companyannouncements) | 起動時に組織のお知らせを表示します | インターフェースとターミナル | Any file |

641| [`copyFullResponse`](#copyfullresponse) | [`/copy`](/docs/ja/commands) がコードブロックの選択画面を表示せずに応答全体をコピーするようにします | グローバル設定 | Global config |641| [`copyFullResponse`](#copyfullresponse) | [`/copy`](/docs/ja/commands) がピッカーを表示せずに応答全体をコピーするようにします | グローバル設定 | Global config |

642| [`copyOnSelect`](#copyonselect) | [フルスクリーンレンダリング](/docs/ja/fullscreen#use-the-mouse)とエージェントビューで、マウスで選択したテキストの自動コピーをオフにします | グローバル設定 | Global config |642| [`copyOnSelect`](#copyonselect) | [フルスクリーンレンダリング](/docs/ja/fullscreen#use-the-mouse)とエージェントビューで、マウスで選択したテキストの自動コピーをオフにします | グローバル設定 | Global config |

643| [`crossSessionInbound`](#crosssessioninbound) | Claude Code が[他のセッションからのメッセージ](/docs/ja/cross-session-messaging#control-inbound-messages)を配信するか、配信せずに通知を表示するか、拒否するかを選択します | エージェント、セッション、worktree | Any file |643| [`crossSessionInbound`](#crosssessioninbound) | Claude Code が[他のセッションからのメッセージ](/docs/ja/cross-session-messaging#control-inbound-messages)を配信するか、配信せずに通知を表示するか、拒否するかを選択します | エージェント、セッション、worktree | Any file |

644| [`defaultShell`](#defaultshell) | [`!` プレフィックス](/docs/ja/interactive-mode#shell-mode-with-prefix)で入力したシェルコマンドを Bash と PowerShell のどちらで実行するかを選択します | インターフェースとターミナル | Any file |644| [`defaultShell`](#defaultshell) | [`!` プレフィックス](/docs/ja/interactive-mode#shell-mode-with-prefix)で入力したシェルコマンドを Bash と PowerShell のどちらで実行するかを選択します | インターフェースとターミナル | Any file |


684| [`fileCheckpointingEnabled`](#filecheckpointingenabled) | [`/rewind`](/docs/ja/checkpointing) が復元するファイルスナップショットをオフまたはオンにします | メモリとコンテキスト | Any file |684| [`fileCheckpointingEnabled`](#filecheckpointingenabled) | [`/rewind`](/docs/ja/checkpointing) が復元するファイルスナップショットをオフまたはオンにします | メモリとコンテキスト | Any file |

685| [`fileSuggestion`](#filesuggestion) | 独自のコマンドから [`@` ファイルのオートコンプリート](/docs/ja/interactive-mode#quick-commands)を提供します | インターフェースとターミナル | Any file |685| [`fileSuggestion`](#filesuggestion) | 独自のコマンドから [`@` ファイルのオートコンプリート](/docs/ja/interactive-mode#quick-commands)を提供します | インターフェースとターミナル | Any file |

686| [`footerLinksRegexes`](#footerlinksregexes) | 出力内の issue やレビューの ID を、入力ボックスの下にある[クリック可能なリンク](/docs/ja/statusline#clickable-links)にします | インターフェースとターミナル | User or managed |686| [`footerLinksRegexes`](#footerlinksregexes) | 出力内の issue やレビューの ID を、入力ボックスの下にある[クリック可能なリンク](/docs/ja/statusline#clickable-links)にします | インターフェースとターミナル | User or managed |

687| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | ログイン画面が接続する[ゲートウェイ URL](/docs/ja/claude-apps-gateway#set-the-gateway-url) を設定します | 認証とプロバイダー | Managed |687| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | ログイン画面が接続する[ゲートウェイ URL](/docs/ja/claude-apps-gateway#set-the-gateway-url) を設定します | 認証とプロバイダー | User or managed |

688| [`forceLoginMethod`](#forceloginmethod) | [ログインを](/docs/ja/authentication#restrict-login-to-your-organization) claude.ai、Claude Console、または[クラウドゲートウェイ](/docs/ja/claude-apps-gateway)に制限します | 認証とプロバイダー | Any file |688| [`forceLoginMethod`](#forceloginmethod) | [ログインを](/docs/ja/authentication#restrict-login-to-your-organization) claude.ai、Claude Console、または[クラウドゲートウェイ](/docs/ja/claude-apps-gateway)に制限します | 認証とプロバイダー | Any file |

689| [`forceLoginOrgUUID`](#forceloginorguuid) | [claude.ai のログインを組織に固定](/docs/ja/authentication#restrict-login-to-your-organization)します。これを強制できるのは管理ソースのみです | 認証とプロバイダー | Any file |689| [`forceLoginOrgUUID`](#forceloginorguuid) | [claude.ai のログインを組織に固定](/docs/ja/authentication#restrict-login-to-your-organization)します。これを強制できるのは管理ソースのみです | 認証とプロバイダー | Any file |

690| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | [サーバー管理設定](/docs/ja/server-managed-settings)が新たに取得されるまで起動をブロックします | エンタープライズと管理設定 | Managed |690| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | [サーバー管理設定](/docs/ja/server-managed-settings)が新たに取得されるまで起動をブロックします | エンタープライズと管理設定 | Managed |


831| [`worktree`](#worktree) | Claude Code が git の [worktree](/docs/ja/worktrees) を作成する方法を設定します | エージェント、セッション、worktree | Any file |831| [`worktree`](#worktree) | Claude Code が git の [worktree](/docs/ja/worktrees) を作成する方法を設定します | エージェント、セッション、worktree | Any file |

832| [`worktree.baseRef`](#worktree-baseref) | 新しい [worktree](/docs/ja/worktrees) を、リモートのデフォルトブランチまたはローカルの HEAD から分岐させます | エージェント、セッション、worktree | Any file |832| [`worktree.baseRef`](#worktree-baseref) | 新しい [worktree](/docs/ja/worktrees) を、リモートのデフォルトブランチまたはローカルの HEAD から分岐させます | エージェント、セッション、worktree | Any file |

833| [`worktree.bgIsolation`](#worktree-bgisolation) | バックグラウンドセッションが [worktree](/docs/ja/worktrees) を使わずに作業コピーを編集できるようにします | エージェント、セッション、worktree | Any file |833| [`worktree.bgIsolation`](#worktree-bgisolation) | バックグラウンドセッションが [worktree](/docs/ja/worktrees) を使わずに作業コピーを編集できるようにします | エージェント、セッション、worktree | Any file |

834| [`worktree.location`](#worktree-location) | [Desktop の SSH セッション](/docs/ja/desktop#ssh-sessions)がリモートマシン上で worktree を作成する場所を選択します | エージェント、セッション、worktree | User |

834| [`worktree.sparsePaths`](#worktree-sparsepaths) | 各 [worktree](/docs/ja/worktrees) で必要なディレクトリのみをチェックアウトします | エージェント、セッション、worktree | Any file |835| [`worktree.sparsePaths`](#worktree-sparsepaths) | 各 [worktree](/docs/ja/worktrees) で必要なディレクトリのみをチェックアウトします | エージェント、セッション、worktree | Any file |

835| [`worktree.symlinkDirectories`](#worktree-symlinkdirectories) | 大きなディレクトリを複製する代わりに、各 [worktree](/docs/ja/worktrees) にシンボリックリンクします | エージェント、セッション、worktree | Any file |836| [`worktree.symlinkDirectories`](#worktree-symlinkdirectories) | 大きなディレクトリを複製する代わりに、各 [worktree](/docs/ja/worktrees) にシンボリックリンクします | エージェント、セッション、worktree | Any file |

836| [`wslInheritsWindowsSettings`](#wslinheritswindowssettings) | WSL が Windows のポリシーチェーンから[管理設定](/docs/ja/managed-settings)を読み取るようにします | エンタープライズと管理設定 | Managed |837| [`wslInheritsWindowsSettings`](#wslinheritswindowssettings) | WSL が Windows のポリシーチェーンから[管理設定](/docs/ja/managed-settings)を読み取るようにします | エンタープライズと管理設定 | Managed |


1763 * `"acceptEdits"`: Claude Code は確認なしでファイル編集と `mkdir` や `mv` などの一般的なファイルシステムコマンドも実行します1764 * `"acceptEdits"`: Claude Code は確認なしでファイル編集と `mkdir` や `mv` などの一般的なファイルシステムコマンドも実行します

1764 * `"plan"`: Claude Code は読み取りと計画を行いますが、計画を承認するまで編集をブロックします1765 * `"plan"`: Claude Code は読み取りと計画を行いますが、計画を承認するまで編集をブロックします

1765 * `"auto"`: Claude Code は日常的なプロンプトなしで実行します。シェルコマンドやネットワークリクエストなどのアクションが実行される前に、バックグラウンドの分類器がそれらがユーザーのリクエストに沿っているかを確認します1766 * `"auto"`: Claude Code は日常的なプロンプトなしで実行します。シェルコマンドやネットワークリクエストなどのアクションが実行される前に、バックグラウンドの分類器がそれらがユーザーのリクエストに沿っているかを確認します

1766 * `"dontAsk"`: Claude Code はプロンプトを表示するはずのすべての呼び出しを自動的に拒否します。読み取り、承認が不要な他のアクション、事前承認されたツールは引き続き実行されます1767 * `"dontAsk"`: Claude Code はプロンプトを表示するはずのすべての呼び出しを自動的に拒否します。作業ディレクトリ内のファイル読み取り、承認が不要な他のアクション、事前承認されたツールは引き続き実行されます。ただし、[ネットワークパス](/docs/ja/permissions#network-paths)からの読み取りは除きます

1767 * `"bypassPermissions"`: Claude Code はすべてを確認なしで実行します1768 * `"bypassPermissions"`: Claude Code はすべてを確認なしで実行します

1768 * `"manual"`: `"default"` のエイリアス1769 * `"manual"`: `"default"` のエイリアス

1769* **デフォルト**: 未設定1770* **デフォルト**: 未設定


2398 2399 

2399* `files` または `envVars` のエントリで、有効な `path` または `name` と `mask` または `deny` の `mode` を持つもの(キャプチャグループがない `extract` パターンなど)は、警告とともに `mode: "deny"` に低下されるため、認証情報はマスクされず、エントリを修正するまでブロックされたままです。低下した `files` エントリは、明示的な `deny` エントリのように [`filesystem.disabled`](/docs/ja/sandboxing#disable-filesystem-isolation) をピンします。警告は、管理設定がファイルシステム分離をオフにする場合、その読み取りブロックが強制されないことを記します。2400* `files` または `envVars` のエントリで、有効な `path` または `name` と `mask` または `deny` の `mode` を持つもの(キャプチャグループがない `extract` パターンなど)は、警告とともに `mode: "deny"` に低下されるため、認証情報はマスクされず、エントリを修正するまでブロックされたままです。低下した `files` エントリは、明示的な `deny` エントリのように [`filesystem.disabled`](/docs/ja/sandboxing#disable-filesystem-isolation) をピンします。警告は、管理設定がファイルシステム分離をオフにする場合、その読み取りブロックが強制されないことを記します。

2400* 不明な `mode` または無効な `path` または `name` を持つエントリは削除されます。2401* 不明な `mode` または無効な `path` または `name` を持つエントリは削除されます。

2401* 各ケースは警告します。エントリが低下または削除されるかどうかに関わらず、残りの有効なエントリは引き続き強制され、完全に無効な `credentials` 値は削除されますが、`sandbox` の残りは引き続き適用されます。2402* 各ケースは警告します。エントリが低下または削除されるかどうかに関わらず、残りの有効なエントリは引き続き強制されます。

2402 2403 

2403v2.1.191 以降に適用されます。v2.1.221 より前では、すべての無効なエントリが削除されました。フィールドごとの処理を持つ他の管理キーについては、[管理設定の無効なエントリ](/docs/ja/managed-settings#invalid-entries-in-managed-settings)を参照してください。2404v2.1.191 以降に適用されます。v2.1.221 より前では、すべての無効なエントリが削除されました。フィールドごとの処理を持つ他の管理キーについては、[管理設定の無効なエントリ](/docs/ja/managed-settings#invalid-entries-in-managed-settings)を参照してください。

2404 2405 


5681 5682 

5682git リポジトリの外では、失敗する [`WorktreeCreate` フック](/docs/ja/worktrees#non-git-version-control)がブロックを解放し、セッションが作業ディレクトリをその場で編集できるようにします。その解放には Claude Code v2.1.203 以降が必要です。5683git リポジトリの外では、失敗する [`WorktreeCreate` フック](/docs/ja/worktrees#non-git-version-control)がブロックを解放し、セッションが作業ディレクトリをその場で編集できるようにします。その解放には Claude Code v2.1.203 以降が必要です。

5683 5684 

5685<h3 id="worktree-location">

5686 `worktree.location`

5687</h3>

5688 

5689[Desktop の SSH セッション](/docs/ja/desktop#choose-where-ssh-session-worktrees-go)が worktree を作成するリモートマシン上のフォルダーを、`<project-root>/.claude/worktrees/` の代わりに選択します。このキーを読み込むのはデスクトップアプリのみです。`--worktree`、`EnterWorktree` ツール、分離されたサブエージェント、およびバックグラウンドセッションはこのキーを無視します。Claude Desktop v1.44121.0 以降が必要です。

5690 

5691* **スコープ**: [`ユーザー`](#scopes)、リモートマシン上の `~/.claude/settings.json` 内

5692* **タイプ**: 文字列、絶対パスまたは `~/` で始まるパス

5693* **デフォルト**: 未設定。worktree はプロジェクト内に作成されます

5694 

5695この例はフォルダーを `~/worktrees` に設定します:

5696 

5697```json settings.json theme={null}

5698{

5699 "worktree": {

5700 "location": "~/worktrees"

5701 }

5702}

5703```

5704 

5705Desktop で SSH 接続に設定された **Worktree folder** が優先されます。組織がセッションで使用できるフォルダーを制限している場合、Desktop は worktree をプロジェクト内に保持します。

5706 

5684<h2 id="remote-desktop-and-notifications">5707<h2 id="remote-desktop-and-notifications">

5685 リモート、デスクトップ、および通知5708 リモート、デスクトップ、および通知

5686</h2>5709</h2>


5813 `enableArtifact`5836 `enableArtifact`

5814</h3>5837</h3>

5815 5838 

5816セッション出力を claude.ai 上のプライベート Web ページとして公開する [Artifact](/docs/ja/artifacts) ツールをオフにします。`/config` で **Artifacts** 行をオフにすると、Claude Code はこのキーをユーザー設定に書き込むため、通常は手動で編集しません。Claude Code v2.1.196 以降が必要です。5839セッション出力を claude.ai 上のプライベート Web ページとして公開する [Artifact](/docs/ja/artifacts) ツールをオフにします。`/config` で **Artifacts** 行をオフにすると、Claude Code はこのキーをユーザー設定に書き込むため、通常は手動で編集しません。

5817 5840 

5818* **Scope**: [`Any file`](#scopes)。すべてのファイルはツールをオフにでき、どのファイルもそれをオンに戻すことはできません。5841* **Scope**: [`Any file`](#scopes)。すべてのファイルはツールをオフにでき、どのファイルもそれをオンに戻すことはできません。

5819* **Type**: Boolean5842* **Type**: Boolean


5920 `sshConfigs`5943 `sshConfigs`

5921</h3>5944</h3>

5922 5945 

5923[Desktop](/docs/ja/desktop#pre-configure-ssh-connections-for-your-team) 環境ドロップダウンに SSH 接続を追加します。管理者はこれを使用して、共有接続をチームに配布します。マネージド設定で定義した接続はマネージドとして表示されるため、ユーザーはそれらを選択できますが、アプリで編集または削除することはできません。5946[Desktop](/docs/ja/desktop#pre-configure-ssh-connections-for-your-team) 環境ドロップダウンに SSH 接続を追加します。管理者はこれを使用して、共有接続をチームに配布します。管理設定で定義した接続は管理対象として表示されます。ユーザーはそれらを選択し、それらに対して [独自の **Worktree folder** を設定](/docs/ja/desktop#choose-where-ssh-session-worktrees-go) できますが、アプリでそれ以外を編集したり、接続を削除したりすることはできません。

5924 5947 

5925* **Scope**: [`User or managed`](#scopes)。デスクトップアプリはこのキーを読み取ります。デフォルトでは、管理対象の接続を [1 つの管理ソース](/docs/ja/managed-settings#how-claude-code-combines-managed-sources) から読み取ります。5948* **Scope**: [`User or managed`](#scopes)。デスクトップアプリはこのキーを読み取ります。デフォルトでは、管理対象の接続を [1 つの管理ソース](/docs/ja/managed-settings#how-claude-code-combines-managed-sources) から読み取ります。

5926* **Type**: オブジェクトの配列。各オブジェクトは必須の `id`、`name`、`sshHost` と、オプションの `sshPort` および `sshIdentityFile` を持ちます5949* **Type**: オブジェクトの配列。各オブジェクトは必須の `id`、`name`、`sshHost` と、オプションの `sshPort` および `sshIdentityFile` を持ちます


6085 6108 

6086ユーザーがログインできるアカウントの種類を制限します。`"claudeai"` を設定して claude.ai アカウントのみを許可するか、`"console"` を設定して Claude Console アカウントのみを許可するか、`"gateway"` を設定してファーストパーティログインの代わりに [クラウドゲートウェイ](/docs/ja/claude-apps-gateway)にユーザーを送信します。管理者は管理設定で設定し、[`forceLoginOrgUUID`](#forceloginorguuid) と組み合わせて開発者の claude.ai ログインを 1 つの組織内に保つことができます。任意の設定ファイルで `"claudeai"` または `"console"` に設定した場合、Claude Code はそのファイルが適用されるセッションで [キーレス Console サインイン](/docs/ja/authentication#sign-in-without-an-api-key)の提供も停止します。6109ユーザーがログインできるアカウントの種類を制限します。`"claudeai"` を設定して claude.ai アカウントのみを許可するか、`"console"` を設定して Claude Console アカウントのみを許可するか、`"gateway"` を設定してファーストパーティログインの代わりに [クラウドゲートウェイ](/docs/ja/claude-apps-gateway)にユーザーを送信します。管理者は管理設定で設定し、[`forceLoginOrgUUID`](#forceloginorguuid) と組み合わせて開発者の claude.ai ログインを 1 つの組織内に保つことができます。任意の設定ファイルで `"claudeai"` または `"console"` に設定した場合、Claude Code はそのファイルが適用されるセッションで [キーレス Console サインイン](/docs/ja/authentication#sign-in-without-an-api-key)の提供も停止します。

6087 6110 

6088* **スコープ**: [`Any file`](#scopes)。Claude Code は `"gateway"` をマシン上の管理ソース(`managed-settings.json`、macOS plist または Windows HKLM レジストリ、またはポリシーヘルパー)からのみ受け入れます。ユーザー、プロジェクト、ローカル、HKCU、およびサーバー管理設定では `"gateway"` を未設定として扱います。これは [`forceLoginGatewayUrl`](#forcelogingatewayurl) と同じルールです。6111* **スコープ**: [`Any file`](#scopes)。Claude Code は `"gateway"` を [`forceLoginGatewayUrl`](#forcelogingatewayurl) と同じソースからのみ受け入れ、それ以外の場所では未設定として扱います。

6089* **タイプ**: 文字列、以下のいずれか:6112* **タイプ**: 文字列、以下のいずれか:

6090 * `"claudeai"`: claude.ai アカウントのみがログインできます6113 * `"claudeai"`: claude.ai アカウントのみがログインできます

6091 * `"console"`: Claude Console アカウントのみがログインできます6114 * `"console"`: Claude Console アカウントのみがログインできます


6108 6131 

6109`/login` クラウドゲートウェイ画面が接続するゲートウェイ URL を設定して、ユーザーがアドレスを入力せずに [クラウドゲートウェイ](/docs/ja/claude-apps-gateway)に到達できるようにします。画面には URL フィールドがありません。このキーが設定されている場合、ゲートウェイ URL を表示し、ユーザーが Enter キーを押すと接続します。設定されていない場合、IT 管理者に連絡するよう指示します。6132`/login` クラウドゲートウェイ画面が接続するゲートウェイ URL を設定して、ユーザーがアドレスを入力せずに [クラウドゲートウェイ](/docs/ja/claude-apps-gateway)に到達できるようにします。画面には URL フィールドがありません。このキーが設定されている場合、ゲートウェイ URL を表示し、ユーザーが Enter キーを押すと接続します。設定されていない場合、IT 管理者に連絡するよう指示します。

6110 6133 

6111このキーまたは `forceLoginMethod: "gateway"` のいずれかにより、`CLAUDE_CODE_USE_*` でクラウドプロバイダーを選択するセッションを除き、マシンはゲートウェイのみになります。その場合、`/login` はログイン方法ピッカーなしでクラウドゲートウェイ画面で開きます。残されたファーストパーティログインまたは API キーに何が起こるかについては、[管理者ポリシーがクラウドゲートウェイサインインを必要とします](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in)を参照してください。画面がエラーを表示する代わりに接続するように、両方のキーを設定します。6134管理設定では、このキーまたは `forceLoginMethod: "gateway"` のいずれかにより、`CLAUDE_CODE_USE_*` でクラウドプロバイダーを選択するセッションを除き、マシンはゲートウェイのみになります。その場合、`/login` はログイン方法ピッカーなしでクラウドゲートウェイ画面で開きます。残されたファーストパーティログインまたは API キーに何が起こるかについては、[管理者ポリシーがクラウドゲートウェイサインインを必要とします](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in)を参照してください。画面がエラーを表示する代わりに接続するように、両方のキーを設定します。

6112 6135 

6113* **スコープ**: [`Managed`](#scopes)。マシン上のソースからのみ読み取ります。`managed-settings.json`、macOS plist または Windows HKLM レジストリ、またはポリシーヘルパー。Claude Code は HKCU およびサーバー管理設定では無視します。6136* **スコープ**: [`User or managed`](#scopes)。マシン上の管理ソースから読み取ります。`managed-settings.json`、macOS plist または Windows HKLM レジストリ、またはポリシーヘルパー。これらのいずれもないマシンでは、Claude Code v2.1.295 以降は [ユーザー設定](/docs/ja/claude-apps-gateway#set-the-gateway-url-in-user-settings)からも読み取ります。Claude Code は HKCU およびサーバー管理設定では無視します。

6114* **タイプ**: 文字列、スキームを含む完全な URL6137* **タイプ**: 文字列、スキームを含む完全な URL

6115* **デフォルト**: 未設定。クラウドゲートウェイ画面は IT 管理者に連絡するよう指示するエラーを表示します6138* **デフォルト**: 未設定。クラウドゲートウェイ画面は IT 管理者に連絡するよう指示するエラーを表示します

6116 6139 


6140}6163}

6141```6164```

6142 6165 

6143管理ソースが空の配列を設定するか、Claude Code が解析できない値を設定する場合、Claude Code はすべてのログインを設定ミスメッセージでブロックします。6166管理ソースが空の配列、または文字列でも文字列の配列でもない値を設定した場合、Anthropic アカウントでサインインするユーザーは Claude Code を起動することもログインを完了することもできません。ユーザーには、`forceLoginOrgUUID` を名指しし、管理者に連絡するよう指示するメッセージが表示されます。誤った型の値を出力する [`policyHelper`](#policyhelper) の場合は、代わりに[その実行が失敗します](#helper-failures)。

6144 6167 

6145[ログインを組織に制限する](/docs/ja/authentication#restrict-login-to-your-organization)を参照して、Claude Code が Claude Console ログイン、他のログインパス、および環境認証情報をどのように扱うかを確認してください。6168[ログインを組織に制限する](/docs/ja/authentication#restrict-login-to-your-organization)を参照して、Claude Code が Claude Console ログイン、他のログインパス、および環境認証情報をどのように扱うかを確認してください。

6146 6169 


6806 `copyFullResponse`6829 `copyFullResponse`

6807</h3>6830</h3>

6808 6831 

6809[`/copy`](/docs/ja/commands) が応答に含まれるコードブロックがある場合に表示するピッカーなしで、毎回完全な応答をコピーします。そのピッカーで **Always copy full response** を選択すると、このキーが `true` に設定されます。`/config` に **Skip the /copy picker** として表示されます。6832[`/copy`](/docs/ja/commands) がピッカーを表示せずに、毎回完全な応答をコピーするようにします。そのピッカーで **Always copy full response** を選択すると、このキーが `true` に設定されます。`/config` に **Skip the /copy picker** として表示されます。

6810 6833 

6811* **スコープ**: [`グローバル設定`](#scopes)6834* **スコープ**: [`グローバル設定`](#scopes)

6812* **タイプ**: ブール値6835* **タイプ**: ブール値

6813 * `true`: `/copy` はピッカーを表示せずに完全な応答をコピーします6836 * `true`: `/copy` はピッカーを表示せずに完全な応答をコピーします

6814 * `false`: 応答にコードブロックが含まれている場合、`/copy` はピッカーを表示し、1 つのコードブロックまたは完全な応答を選択できます6837 * `false`: 応答にコードブロックまたは引用ブロックが含まれている場合、`/copy` はピッカーを表示し、1 つのブロックまたは完全な応答を選択できます

6815* **デフォルト**: `false`6838* **デフォルト**: `false`

6816 6839 

6817```json ~/.claude.json theme={null}6840```json ~/.claude.json theme={null}

skills.md +7 −7

Details

192 192 

193Claude Code は、開始したディレクトリと、リポジトリルートまでのすべての親ディレクトリの `.claude/skills/` からプロジェクトスキルを読み込みます。そのため、`packages/frontend/` で開始しても、ルートで定義されたスキルが取得されます。v2.1.246 以降で [`/cd` でセッションを移動する](/docs/ja/permissions#move-the-session-to-another-directory) と、Claude Code は新しいディレクトリのプロジェクトスキルを追加します。193Claude Code は、開始したディレクトリと、リポジトリルートまでのすべての親ディレクトリの `.claude/skills/` からプロジェクトスキルを読み込みます。そのため、`packages/frontend/` で開始しても、ルートで定義されたスキルが取得されます。v2.1.246 以降で [`/cd` でセッションを移動する](/docs/ja/permissions#move-the-session-to-another-directory) と、Claude Code は新しいディレクトリのプロジェクトスキルを追加します。

194 194 

195リンクされた [git worktree](/docs/ja/worktrees) で実行されているセッションでは、Claude Code は worktree ルートまでのみ親ディレクトリを検索します。Claude Code v2.1.277 以降では、worktree チェックアウトのルートに `.claude/skills` ディレクトリがない場合、Claude Code はメインチェックアウトのプロジェクトスキルを代わりに読み込みます。[worktrees がメインチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout) を参照してください。195`--worktree` または `git worktree add` で作成したリンクされた [git worktree](/docs/ja/worktrees) で実行されているセッションでは、Claude Code は worktree ルートまでのみ親ディレクトリを検索します。Claude Code v2.1.277 以降では、worktree チェックアウトのルートに `.claude/skills` ディレクトリがない場合、Claude Code はメインチェックアウトのプロジェクトスキルを代わりに読み込みます。[worktrees がメインチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout) を参照してください。

196 196 

197開始した場所の下の `.claude/skills/` ディレクトリ内のスキルは、起動時には読み込まれません。Claude がそのサブディレクトリ内のファイルを初めて読み込むか編集するときに読み込まれ、セッションの残りの間利用可能なままです。それまでは、`/` メニューに表示されず、名前で呼び出すことはできません。より早く読み込むには、サブディレクトリのパスで `/add-dir` を実行します。これには Claude Code v2.1.257 以降が必要です。197開始した場所の下の `.claude/skills/` ディレクトリ内のスキルは、起動時には読み込まれません。Claude がそのサブディレクトリ内のファイルを初めて読み込むか編集するときに読み込まれ、セッションの残りの間利用可能なままです。それまでは、`/` メニューに表示されず、名前で呼び出すことはできません。より早く読み込むには、サブディレクトリのパスで `/add-dir` を実行します。これには Claude Code v2.1.257 以降が必要です。デスクトップアプリから開始する worktree セッションについては、[worktrees がメインチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout) を参照してください。

198 198 

199ネストされたスキルが別のスキルと同じ名前を共有する場合、両方が利用可能なままです。リポジトリルートに `deploy` スキルがあり、`apps/web/.claude/skills/` に別のスキルがある場合:199ネストされたスキルが別のスキルと同じ名前を共有する場合、両方が利用可能なままです。リポジトリルートに `deploy` スキルがあり、`apps/web/.claude/skills/` に別のスキルがある場合:

200 200 


235 235 

236スキルがマシン上の `~/.claude/skills/` にのみ存在する場合、[routine](/docs/ja/routines) がそれを呼び出すと、Claude Code はスキルが見つからないと報告します。各 routine 実行は新しいクラウドセッションとして開始されるためです。これらのセッションで personal スキルを利用可能にするには:236スキルがマシン上の `~/.claude/skills/` にのみ存在する場合、[routine](/docs/ja/routines) がそれを呼び出すと、Claude Code はスキルが見つからないと報告します。各 routine 実行は新しいクラウドセッションとして開始されるためです。これらのセッションで personal スキルを利用可能にするには:

237 237 

238* Cowork およびクラウドセッションの場合、claude.ai アカウント用にスキルを有効化します。238* Cowork およびクラウドセッションの場合、claude.ai アカウント用にスキルを有効化します。[セルフホスト環境の一部のセッション](/docs/ja/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) は、アカウントのスキルを読み込みません。

239* クラウドセッションの場合、代わりにスキルをリポジトリの `.claude/skills/` にコミットできます。リポジトリの `.claude/settings.json` で宣言されたプラグインおよびユーザーセッティングでのみ有効化されたプラグインは [クラウドセッションで読み込まれません](/docs/ja/cloud-environments#what-carries-over-from-your-setup)。239* クラウドセッションの場合、代わりにスキルをリポジトリの `.claude/skills/` にコミットできます。リポジトリの `.claude/settings.json` で宣言されたプラグインおよびユーザーセッティングでのみ有効化されたプラグインは [クラウドセッションで読み込まれません](/docs/ja/cloud-environments#what-carries-over-from-your-setup)。

240 240 

241[Desktop scheduled tasks](/docs/ja/desktop-scheduled-tasks) はマシン上でローカルに実行されるため、`~/.claude/skills/` を読み込みます。241[Desktop scheduled tasks](/docs/ja/desktop-scheduled-tasks) はマシン上でローカルに実行されるため、`~/.claude/skills/` を読み込みます。


434| `when_to_use` | いいえ | Claude がスキルを呼び出すべき時期に関する追加コンテキスト。トリガーフレーズやリクエスト例など。スキルリストの `description` に追加され、1,536 文字の上限にカウントされます。 |434| `when_to_use` | いいえ | Claude がスキルを呼び出すべき時期に関する追加コンテキスト。トリガーフレーズやリクエスト例など。スキルリストの `description` に追加され、1,536 文字の上限にカウントされます。 |

435| `argument-hint` | いいえ | オートコンプリート中に表示されるヒント。予想される引数を示します。例:`[issue-number]` または `[filename] [format]`。 |435| `argument-hint` | いいえ | オートコンプリート中に表示されるヒント。予想される引数を示します。例:`[issue-number]` または `[filename] [format]`。 |

436| `arguments` | いいえ | スキルコンテンツの [`$name` 置換](#available-string-substitutions) のための名前付き位置引数。スペース区切り文字列または YAML リストを受け入れます。名前は引数位置に順序でマップされます。 |436| `arguments` | いいえ | スキルコンテンツの [`$name` 置換](#available-string-substitutions) のための名前付き位置引数。スペース区切り文字列または YAML リストを受け入れます。名前は引数位置に順序でマップされます。 |

437| `disable-model-invocation` | いいえ | Claude がこのスキルを自動的に読み込むのを防ぐために `true` に設定します。`/name` で手動でトリガーしたいワークフローに使用します。また、スキルが [サブエージェントに事前読み込みされる](/docs/ja/sub-agents#preload-skills-into-subagents) のを防ぎます。v2.1.196 以降、スキルがプロンプトとして [スケジュール済みタスク](/docs/ja/scheduled-tasks) が発火したときに実行されるのも防ぎます。デフォルト:`false`。 |437| `disable-model-invocation` | いいえ | Claude がこのスキルを自動的に読み込むのを防ぐために `true` に設定します。`/name` で手動でトリガーしたいワークフローに使用します。また、スキルが [サブエージェントに事前読み込みされる](/docs/ja/sub-agents#preload-skills-into-subagents) のを防ぎ、スキルをプロンプトとする [スケジュールタスク](/docs/ja/scheduled-tasks) が発火したときに実行されるのも防ぎます。デフォルト:`false`。 |

438| `user-invocable` | いいえ | Claude のみがスキルを呼び出すべき場合は `false` に設定します。Claude Code はそれを `/` メニューから非表示にし、`/name` を入力したときに実行しません。ユーザーが直接呼び出すべきではないバックグラウンド知識に使用します。デフォルト:`true`。 |438| `user-invocable` | いいえ | Claude のみがスキルを呼び出すべき場合は `false` に設定します。Claude Code はそれを `/` メニューから非表示にし、`/name` を入力したときに実行しません。ユーザーが直接呼び出すべきではないバックグラウンド知識に使用します。デフォルト:`true`。 |

439| `allowed-tools` | いいえ | このスキルを呼び出すターン中に Claude が許可を求めずに使用できるツール。許可はあなたが次のメッセージを送信するときにクリアされます。スペースまたはコンマ区切り文字列、または YAML リストを受け入れます。[スキルのツールを事前承認する](#pre-approve-tools-for-a-skill) を参照してください。 |439| `allowed-tools` | いいえ | このスキルを呼び出すターン中に Claude が許可を求めずに使用できるツール。許可はあなたが次のメッセージを送信するときにクリアされます。スペースまたはコンマ区切り文字列、または YAML リストを受け入れます。[スキルのツールを事前承認する](#pre-approve-tools-for-a-skill) を参照してください。 |

440| `disallowed-tools` | いいえ | このスキルがアクティブな間、Claude の利用可能なプールから削除されるツール。バックグラウンドループの `AskUserQuestion` など、自律的なスキルが特定のツールを呼び出すべきではない場合に使用します。スペースまたはコンマ区切り文字列、または YAML リストを受け入れます。制限はあなたが次のメッセージを送信するときにクリアされます。拒否ルールと同様に、他のツールが残っている間、フィールドは [`EndConversation`](/docs/ja/tools-reference#endconversation-tool-behavior) を削除できません。 |440| `disallowed-tools` | いいえ | このスキルがアクティブな間、Claude の利用可能なプールから削除されるツール。バックグラウンドループの `AskUserQuestion` など、自律的なスキルが特定のツールを呼び出すべきではない場合に使用します。スペースまたはコンマ区切り文字列、または YAML リストを受け入れます。制限はあなたが次のメッセージを送信するときにクリアされます。拒否ルールと同様に、他のツールが残っている間、フィールドは [`EndConversation`](/docs/ja/tools-reference#endconversation-tool-behavior) を削除できません。 |


528 528 

529このスキルが `~/.claude/skills/render-chart/` にインストールされている場合、`${CLAUDE_SKILL_DIR}` の両方の出現はそのディレクトリに展開されます。`allowed-tools` ルールはスキル本体が Claude に実行するよう指示する正確なコマンドと一致するため、スクリプトはプロンプトなしで実行されます。529このスキルが `~/.claude/skills/render-chart/` にインストールされている場合、`${CLAUDE_SKILL_DIR}` の両方の出現はそのディレクトリに展開されます。`allowed-tools` ルールはスキル本体が Claude に実行するよう指示する正確なコマンドと一致するため、スクリプトはプロンプトなしで実行されます。

530 530 

531`${CLAUDE_PROJECT_DIR}` 置換には Claude Code v2.1.196 以降が必要です。

532 

533インデックス付き引数はシェルスタイルのクォートを使用するため、複数単語の値をクォートで囲んで単一の引数として渡します。たとえば、`/my-skill "hello world" second` は `$0` を `hello world` に展開し、`$1` を `second` に展開します。`$ARGUMENTS` プレースホルダーは常に入力されたとおりの完全な引数文字列に展開されます。531インデックス付き引数はシェルスタイルのクォートを使用するため、複数単語の値をクォートで囲んで単一の引数として渡します。たとえば、`/my-skill "hello world" second` は `$0` を `hello world` に展開し、`$1` を `second` に展開します。`$ARGUMENTS` プレースホルダーは常に入力されたとおりの完全な引数文字列に展開されます。

534 532 

535対応する引数がないインデックス付きプレースホルダー(1 つの引数のみが渡された場合の `$2` など)はコンテンツで変更されないままです。[`arguments`](#frontmatter-reference) フロントマターからの対応する引数がない名前付きプレースホルダーは空の文字列に展開されます。533対応する引数がないインデックス付きプレースホルダー(1 つの引数のみが渡された場合の `$2` など)はコンテンツで変更されないままです。[`arguments`](#frontmatter-reference) フロントマターからの対応する引数がない名前付きプレースホルダーは空の文字列に展開されます。


641 639 

642[自動コンパクション](/docs/ja/how-claude-code-works#when-context-fills-up) はトークン予算内で呼び出されたスキルを前方に実行します。会話が要約されてコンテキストを解放するとき、Claude Code は各スキルの最新の呼び出しを要約の後に再度アタッチし、最初の 5,000 トークンを保持します。再度アタッチされたスキルは 25,000 トークンの結合予算を共有します。Claude Code はこの予算を最近呼び出されたスキルから開始して埋めるため、セッション内で多くを呼び出した場合、古いスキルはコンパクション後に完全にドロップできます。640[自動コンパクション](/docs/ja/how-claude-code-works#when-context-fills-up) はトークン予算内で呼び出されたスキルを前方に実行します。会話が要約されてコンテキストを解放するとき、Claude Code は各スキルの最新の呼び出しを要約の後に再度アタッチし、最初の 5,000 トークンを保持します。再度アタッチされたスキルは 25,000 トークンの結合予算を共有します。Claude Code はこの予算を最近呼び出されたスキルから開始して埋めるため、セッション内で多くを呼び出した場合、古いスキルはコンパクション後に完全にドロップできます。

643 641 

644スキルが最初の応答の後に動作に影響を与えるのを停止しているように見える場合、コンテンツは通常まだ存在し、モデルは他のツールまたはアプローチを選択しています。スキルの `description` と指示を強化して、モデルがそれを優先し続けるようにするか、[フック](/docs/ja/hooks) を使用して動作を決定的に強制します。スキルが大きい場合、または他のスキルを呼び出した後、コンパクション後に再呼び出しして完全なコンテンツを復元します。642セッションの途中で Claude がスキルに従わなくなった場合は、[Claude がスキルに従わなくなる](#claude-stops-following-a-skill) を参照してください。

645 643 

646<h3 id="pre-approve-tools-for-a-skill">644<h3 id="pre-approve-tools-for-a-skill">

647 スキルのツールを事前承認する645 スキルのツールを事前承認する


843* 同じスキルの以前の呼び出しがまだ実行中の間にフォークされたスキルを呼び出す場合841* 同じスキルの以前の呼び出しがまだ実行中の間にフォークされたスキルを呼び出す場合

844* [スケジュールされたタスク](/docs/ja/scheduled-tasks) がスキルをそのプロンプトとして発火する場合842* [スケジュールされたタスク](/docs/ja/scheduled-tasks) がスキルをそのプロンプトとして発火する場合

845 843 

844[動的ワークフロー](/docs/ja/workflows) 内のエージェントがフォークされたスキルを呼び出す場合、スキルが `background: false` を設定していなくても、そのエージェントは結果を待って受け取ります。v2.1.295 より前では、Claude Code はこの場合に待機せず、スキルがバックグラウンドで実行されると、その結果はそのエージェントに届く代わりにメインの会話に届いていました。

845 

846バックグラウンドで実行されるフォークされたスキルは、[バックグラウンドサブエージェントに適用される狭いツールセット](/docs/ja/sub-agents#run-subagents-in-foreground-or-background) で編集を適用します。スキルのサブエージェントは通常のエージェントタイプなので、会話をフォークするサブエージェントの例外はそれをカバーしません。スキルのステップがそのセット外のツールに依存する場合、`background: false` を設定して完全なツールセットを保持します。846バックグラウンドで実行されるフォークされたスキルは、[バックグラウンドサブエージェントに適用される狭いツールセット](/docs/ja/sub-agents#run-subagents-in-foreground-or-background) で編集を適用します。スキルのサブエージェントは通常のエージェントタイプなので、会話をフォークするサブエージェントの例外はそれをカバーしません。スキルのステップがそのセット外のツールに依存する場合、`background: false` を設定して完全なツールセットを保持します。

847 847 

848バックグラウンドで実行されるフォークされたスキルは、セッションの [checkpoints](/docs/ja/checkpointing) の外で編集を適用するため、`/rewind` はそれらを元に戻しません。git を使用してそれらを元に戻します。848バックグラウンドで実行されるフォークされたスキルは、セッションの [checkpoints](/docs/ja/checkpointing) の外で編集を適用するため、`/rewind` はそれらを元に戻しません。git を使用してそれらを元に戻します。

sub-agents.md +5 −7

Details

304 Frontmatter リファレンス304 Frontmatter リファレンス

305</h3>305</h3>

306 306 

307以下のフィールドは YAML [frontmatter](/docs/ja/glossary#frontmatter) で使用できます。`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 は認識しないフィールドを無視し、エラーを報告しません。サブエージェントファイルが読み込まれなかった理由を確認するには、[Claude Code がスキップするサブエージェントファイル](#subagent-files-claude-code-skips)を参照してください。

310 310 


312| :- | :- | :- |312| :- | :- | :- |

313| `name` | はい | 最大 256 文字の一意の識別子(`code-reviewer` や `reviewer-v2` など)。[フック](/docs/ja/hooks#subagentstart)はこの値を `agent_type` として受け取ります。ファイル名は一致する必要はありません。名前に `:` を含めることはできません。これは [プラグインスコープ付き識別子](/docs/ja/plugins/overview)(`my-plugin:reviewer` など)用に予約されています |313| `name` | はい | 最大 256 文字の一意の識別子(`code-reviewer` や `reviewer-v2` など)。[フック](/docs/ja/hooks#subagentstart)はこの値を `agent_type` として受け取ります。ファイル名は一致する必要はありません。名前に `:` を含めることはできません。これは [プラグインスコープ付き識別子](/docs/ja/plugins/overview)(`my-plugin:reviewer` など)用に予約されています |

314| `description` | はい | Claude がこのサブエージェントに委任すべき場合 |314| `description` | はい | Claude がこのサブエージェントに委任すべき場合 |

315| `tools` | いいえ | サブエージェントが使用できる[ツール](#available-tools)。`Read, Grep, Glob` や YAML リストなどのカンマ区切り文字列として。省略した場合、サブエージェントで利用可能なすべてのツールを継承します。リスト内のエントリがツールに解決されない場合、サブエージェントは通常、エントリに名前を付けるエラーで[起動に失敗](/docs/ja/errors#agent-would-be-spawned-with-zero-tools)します。スキルをコンテキストにプリロードするには、ここで `Skill` をリストするのではなく、`skills` フィールドを使用します |315| `tools` | いいえ | サブエージェントが使用できる[ツール](#available-tools)。`Read, Grep, Bash` などのカンマ区切り文字列、または YAML リストとして指定します。省略した場合、サブエージェントで利用可能なすべてのツールを継承します。リスト内のエントリがツールに解決されない場合、サブエージェントは通常、エントリに名前を付けるエラーで[起動に失敗](/docs/ja/errors#agent-would-be-spawned-with-zero-tools)します。スキルをコンテキストにプリロードするには、ここで `Skill` をリストするのではなく、`skills` フィールドを使用します |

316| `disallowedTools` | いいえ | 継承または指定されたリストから削除するツール。`tools` と同じ形式。`Bash(git push *)` などの指定子を持つエントリは、[ツール全体](#available-tools)を削除します |316| `disallowedTools` | いいえ | 継承または指定されたリストから削除するツール。`tools` と同じ形式。`Bash(git push *)` などの指定子を持つエントリは、[ツール全体](#available-tools)を削除します |

317| `model` | いいえ | 使用する[モデル](#choose-a-model)。`sonnet`、`opus`、`haiku`、`fable`、`claude-opus-5-5` などの完全なモデル ID、または `inherit`。省略した場合、Claude Code は[サブエージェントモデル順序](#choose-a-model)でモデルを選択します |317| `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)では無視されます |318| `permissionMode` | いいえ | [権限モード](#permission-modes)。`default`、`acceptEdits`、`auto`、`dontAsk`、`bypassPermissions`、`plan`、または `default` のエイリアスとしての `manual`。[プラグインサブエージェント](#choose-the-subagent-scope)では無視されます |


386* **メイン会話のモデルがそのファミリに属する**。サブエージェントはメイン会話の正確なモデル(`[1m]` サフィックスを含む)で実行されるため、メイン会話と同じ[拡張コンテキスト](/docs/ja/model-config#extended-context)ウィンドウを取得します。386* **メイン会話のモデルがそのファミリに属する**。サブエージェントはメイン会話の正確なモデル(`[1m]` サフィックスを含む)で実行されるため、メイン会話と同じ[拡張コンテキスト](/docs/ja/model-config#extended-context)ウィンドウを取得します。

387* **Claude Code がメイン会話のモデルファミリを判断できない。[Anthropic API 以外のプロバイダー](/docs/ja/third-party-integrations)上で**。これは Claude Code がバッキングモデルに解決していない[アプリケーション推論プロファイル ARN](/docs/ja/amazon-bedrock#iam-configuration)を持つ Amazon Bedrock で発生する可能性があります。このケースは `opus` エイリアスのみをカバーし、[`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/ja/model-config#environment-variables)を設定した場合は適用されません。`opus` はその後、設定したモデルに解決されるため。387* **Claude Code がメイン会話のモデルファミリを判断できない。[Anthropic API 以外のプロバイダー](/docs/ja/third-party-integrations)上で**。これは Claude Code がバッキングモデルに解決していない[アプリケーション推論プロファイル ARN](/docs/ja/amazon-bedrock#iam-configuration)を持つ Amazon Bedrock で発生する可能性があります。このケースは `opus` エイリアスのみをカバーし、[`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/ja/model-config#environment-variables)を設定した場合は適用されません。`opus` はその後、設定したモデルに解決されるため。

388 388 

389`CLAUDE_CODE_SUBAGENT_MODEL` のエイリアスは、メイン会話のファミリに名前を付けた場合でも、常にエイリアスが指すバージョンに解決されます。389`CLAUDE_CODE_SUBAGENT_MODEL` のエイリアスは、メイン会話のファミリを指定している場合でも、常にエイリアスが指すバージョンに解決されます。この変数を `inherit` に設定することは、設定しないのと同じです。

390 390 

391`CLAUDE_CODE_SUBAGENT_MODEL` を単独で設定しても、組み込みの Explore および Plan サブエージェントが実行されるモデルは変わりません。変更するには、[すべてのサブエージェントを 1 つのモデルで実行](#run-every-subagent-on-one-model)を参照してください。391`CLAUDE_CODE_SUBAGENT_MODEL` を単独で設定しても、組み込みの Explore および Plan サブエージェントが実行されるモデルは変わりません。変更するには、[すべてのサブエージェントを 1 つのモデルで実行](#run-every-subagent-on-one-model)を参照してください。

392 392 

393v2.1.251 より前では、`CLAUDE_CODE_SUBAGENT_MODEL` はこの順序で最初に来て、呼び出しごとのパラメータと frontmatter(`model: inherit` を含む)の両方をオーバーライドしました。393v2.1.251 より前では、`CLAUDE_CODE_SUBAGENT_MODEL` はこの順序で最初に来て、呼び出しごとのパラメータと frontmatter(`model: inherit` を含む)の両方をオーバーライドしました。

394 394 

395変数を `inherit` に設定することは、設定を解除するのと同じです。v2.1.196 より前では、その値はサブエージェントをメイン会話のモデルに強制し、他のソースを無視しました。

396 

397Claude Code は、呼び出しごとのパラメータ、frontmatter、および環境変数の値を組織の [`availableModels`](/docs/ja/model-config#restrict-model-selection)許可リストに対してチェックします。ブロックされた値の場合、別のモデルに置き換えます。395Claude Code は、呼び出しごとのパラメータ、frontmatter、および環境変数の値を組織の [`availableModels`](/docs/ja/model-config#restrict-model-selection)許可リストに対してチェックします。ブロックされた値の場合、別のモデルに置き換えます。

398 396 

399* `opus` などのファミリエイリアスがブロックされた場合、Claude Code はサブエージェントを許可リストが許可するそのファミリの最新バージョンで実行します。`/model` と同じ[置換ルールとプロバイダースコープ](/docs/ja/model-config#restrict-model-selection)に従います。v2.1.222 より前では、Claude Code はブロックされたファミリエイリアスについても継承されたモデルでサブエージェントを実行していました。397* `opus` などのファミリエイリアスがブロックされた場合、Claude Code はサブエージェントを許可リストが許可するそのファミリの最新バージョンで実行します。`/model` と同じ[置換ルールとプロバイダースコープ](/docs/ja/model-config#restrict-model-selection)に従います。v2.1.222 より前では、Claude Code はブロックされたファミリエイリアスについても継承されたモデルでサブエージェントを実行していました。


620| `default` | Manual モード。権限を求めるプロンプト |618| `default` | Manual モード。権限を求めるプロンプト |

621| `acceptEdits` | ファイル編集と作業ディレクトリまたは `additionalDirectories` 内のパスの一般的なファイルシステムコマンドを自動受け入れ |619| `acceptEdits` | ファイル編集と作業ディレクトリまたは `additionalDirectories` 内のパスの一般的なファイルシステムコマンドを自動受け入れ |

622| `auto` | [自動モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)。バックグラウンド分類器がコマンドと保護されたディレクトリ書き込みをレビュー |620| `auto` | [自動モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)。バックグラウンド分類器がコマンドと保護されたディレクトリ書き込みをレビュー |

623| `dontAsk` | 権限プロンプトを自動拒否。明示的に許可されたツールは引き続き機能します。`AskUserQuestion`、[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool)とマークされた MCP ツール、およびコネクタツール[組織が `ask` に設定](/docs/ja/mcp#organization-controls-on-connector-tools)したセッション(その設定が Claude Code に到達する場合)は、許可されている場合でも拒否されます |621| `dontAsk` | 権限プロンプトを自動拒否。明示的に許可されたツールは引き続き機能します。`AskUserQuestion`、[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool)とマークされた MCP ツール、[ネットワークパスからの読み取り](/docs/ja/permissions#network-paths)、および[組織が `ask` に設定した](/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツール(その設定が Claude Code に届くセッションの場合)は、許可していても拒否されます |

624| `bypassPermissions` | [権限プロンプトをスキップ](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)。サブエージェントはメイン会話がそうである場合のみこのモードで実行されます |622| `bypassPermissions` | [権限プロンプトをスキップ](/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)。サブエージェントはメイン会話がそうである場合のみこのモードで実行されます |

625| `plan` | Plan モード(読み取り専用探索) |623| `plan` | Plan モード(読み取り専用探索) |

626 624 


1150* **システムプロンプト**: エージェント独自のプロンプトと Claude Code が追加する環境詳細。Claude Code システムプロンプトではありません。カスタムサブエージェントは [マークダウン本体](#write-subagent-files) または `prompt` フィールドで定義します。組み込みエージェントは事前定義されたプロンプトを持ちます。1148* **システムプロンプト**: エージェント独自のプロンプトと Claude Code が追加する環境詳細。Claude Code システムプロンプトではありません。カスタムサブエージェントは [マークダウン本体](#write-subagent-files) または `prompt` フィールドで定義します。組み込みエージェントは事前定義されたプロンプトを持ちます。

1151* **タスクメッセージ**: Claude が作業を引き継ぐときに作成する委譲プロンプト。1149* **タスクメッセージ**: Claude が作業を引き継ぐときに作成する委譲プロンプト。

1152* **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) から来る場合はまったく読み込みません。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) から来る場合はまったく読み込みません。

1153* **Git ステータス**: Claude Code がサブエージェント開始時にリポジトリから読み込むスナップショット。Git リポジトリの外部またはスナップショットがオフになっている場合は含まれません。[`includeGitInstructions`](/docs/ja/settings-reference#includegitinstructions) を参照してください。Explore および Plan はいずれにせよそれをスキップします。1151* **Git ステータス**: Claude Code がサブエージェント開始時にリポジトリから読み込むスナップショット。そのリポジトリの [独自の worktree](/docs/ja/worktrees#isolate-subagents-with-worktrees) 内にあるサブエージェントの場合、スナップショットには worktree のブランチ、ステータス、最近のコミットが表示されます。Git リポジトリの外部またはスナップショットがオフになっている場合は含まれません。[`includeGitInstructions`](/docs/ja/settings-reference#includegitinstructions) を参照してください。Explore および Plan はいずれにせよそれをスキップします。

1154* **プリロードされたスキル**: エージェントの [`skills` フィールド](#preload-skills-into-subagents) で名前が付けられたスキルの完全なコンテンツ。組み込みエージェントはスキルをプリロードしません。1152* **プリロードされたスキル**: エージェントの [`skills` フィールド](#preload-skills-into-subagents) で名前が付けられたスキルの完全なコンテンツ。組み込みエージェントはスキルをプリロードしません。

1155* **兄弟名簿**: `main` と、セッション内のすべての他の名前付きエージェントをリストする [システムリマインダー](/docs/ja/glossary#system-reminder)。各エージェントは [`SendMessage`](#resume-subagents) の有効な `to` 値です。Claude Code v2.1.206 以降が必要です。名簿は、サブエージェントのツールに `SendMessage` が含まれ、少なくとも 1 つの他のエージェントに名前がある場合にのみ表示されます。Claude が生成時に名前を付けたか、[エージェントチーム](/docs/ja/agent-teams) チームメイトとして実行されるかに関わらず。これはサブエージェント開始時に取得されたスナップショットであるため、後で名前が付けられたエージェントは表示されません。1153* **兄弟名簿**: `main` と、セッション内のすべての他の名前付きエージェントをリストする [システムリマインダー](/docs/ja/glossary#system-reminder)。各エージェントは [`SendMessage`](#resume-subagents) の有効な `to` 値です。Claude Code v2.1.206 以降が必要です。名簿は、サブエージェントのツールに `SendMessage` が含まれ、少なくとも 1 つの他のエージェントに名前がある場合にのみ表示されます。Claude が生成時に名前を付けたか、[エージェントチーム](/docs/ja/agent-teams) チームメイトとして実行されるかに関わらず。これはサブエージェント開始時に取得されたスナップショットであるため、後で名前が付けられたエージェントは表示されません。

1156 1154 

Details

122}122}

123```123```

124 124 

125<h2 id="see-session-status-in-your-terminal">

126 ターミナルでセッションのステータスを確認する

127</h2>

128 

129ターミナルが OSC 7501 Program Status Protocol を実装している場合、対話型の各 Claude Code セッションが作業中か、ユーザーの応答待ちか、完了したかを表示できます。これは、長時間のタスクを実行する場合や複数のセッションを同時に実行する場合に役立ちます。Claude Code 側でオンにする設定はありません。ターミナルがこのプロトコルを実装しているかどうか、またどこにステータスが表示されるかについては、ターミナルのドキュメントを確認してください。

130 

131ターミナルがプロトコルを実装しているにもかかわらず、セッションのステータスが表示されない場合は、次の各原因を確認してください。

132 

133* **Claude Code のバージョン**:ステータスの報告には Claude Code v2.1.295 以降が必要です。シェルで `claude --version` を実行して確認してください。

134* **tmux**:tmux 内では、Claude Code はターミナルではなく tmux に対してサポートの有無を確認します。また、[`allow-passthrough`](#configure-tmux) はこの確認には影響しません。tmux の外でセッションを開始してください。

135* **バックグラウンドセッション**:[バックグラウンドセッション](/docs/ja/agent-view)は、アタッチしている間であっても、ターミナルにステータスを報告しません。代わりにエージェントビューにステータスが表示されます。

136* **[`CLAUDE_CODE_DISABLE_TERMINAL_TITLE`](/docs/ja/env-vars#variables)**:この変数を `1` に設定している場合、Claude Code はサポートの有無を確認せず、ステータスも報告しません。この変数の設定を解除してください。

137 

125<h2 id="configure-tmux">138<h2 id="configure-tmux">

126 tmux を設定する139 tmux を設定する

127</h2>140</h2>

tools-reference.md +32 −11

Details

279 279 

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

281 281 

282編集を適用するには、3 つのチェックに合格する必要があります。その前に、[`Read` 拒否ルール](/docs/ja/permissions#tool-specific-permission-rules)に一致するパスは拒否されます。新しいファイルをそこに作成することも含まれます。この拒否には Claude Code v2.1.208 以降が必要です。282編集を適用するには、これらのチェックに合格する必要があります。そのいずれよりも前に、[`Read` 拒否ルール](/docs/ja/permissions#tool-specific-permission-rules)に一致するパスは拒否されます。新しいファイルをそこに作成することも含まれます。この拒否には Claude Code v2.1.208 以降が必要です。

283 283 

284* **Read-before-edit**: Claude は編集前に現在の会話でファイルを読み取り、[`PARTIAL view` 通知](#read-tool-behavior)で短縮された読み取りはカウントされません。Claude Opus 4.6、Claude Haiku 4.5、およびそれ以前のモデルは常に読み取りが必要です。新しいモデルは、読み取りが権限プロンプトを必要としない場合、および Read ツールが利用可能な場合、読み取られていないファイルを編集できます。284* **Read-before-edit**: Claude は編集前に現在の会話でファイルを読み取り、[`PARTIAL view` 通知](#large-files)で短縮された読み取りはカウントされません。Claude Opus 4.6、Claude Haiku 4.5、およびそれ以前のモデルは常に読み取りが必要です。新しいモデルは、読み取りが権限プロンプトを必要としない場合、および Read ツールが利用可能な場合、読み取られていないファイルを編集できます。

285* **Match**: `old_string` はファイルに記述されたとおりに正確に表示される必要があります。空白またはインデントの 1 文字の違いでも一致を逃す可能性があります。285* **Match**: `old_string` はファイルに記述されたとおりに正確に表示される必要があります。空白またはインデントの 1 文字の違いでも一致を逃す可能性があります。

286* **Uniqueness**: `old_string` は正確に 1 回だけ表示される必要があります。複数回表示される場合、Claude は 1 つの出現を特定するのに十分な周囲のコンテキストを含む長い文字列を提供するか、`replace_all: true` を設定してすべてを置換します。286* **Uniqueness**: `old_string` は正確に 1 回だけ表示される必要があります。複数回表示される場合、Claude は 1 つの出現を特定するのに十分な周囲のコンテキストを含む長い文字列を提供するか、`replace_all: true` を設定してすべてを置換します。

287 287 

288Claude が最後に読み取った後、ディスク上で変更されたファイルは、`old_string` が現在のコンテンツと正確かつ明確に一致し、Claude Code がプロンプトなしでファイルを読み取ることができる場合でも編集できます。ファイルの現在のコンテンツに対してマッチングすることでこれを安全に保ち、結果はファイルが他の変更を含むことを示すため、Claude は周囲のコンテンツに依存する編集の前に再度読み取ります。古い `old_string` や `replace_all` なしで複数回一致するものなど、その他の場合は、Claude は編集前にファイルを再度読み取ります。読み取られていないファイルと変更されたファイルの緩和された処理には Claude Code v2.1.208 以降が必要です。それ以前は、Claude Code は会話で読み取られていないファイルまたは読み取り後にディスク上で変更されたファイルへの編集を拒否していました。288Claude が最後に読み取った後、ディスク上で変更されたファイルは、`old_string` が現在のコンテンツと正確かつ明確に一致し、Claude Code がプロンプトなしでファイルを読み取ることができる場合でも編集できます。ファイルの現在のコンテンツに対してマッチングすることでこれを安全に保ち、結果はファイルが他の変更を含むことを示すため、Claude は周囲のコンテンツに依存する編集の前に再度読み取ります。古い `old_string` や `replace_all` なしで複数回一致するものなど、その他の場合は、Claude は編集前にファイルを再度読み取ります。読み取られていないファイルと変更されたファイルの緩和された処理には Claude Code v2.1.208 以降が必要です。それ以前は、Claude Code は会話で読み取られていないファイルまたは読み取り後にディスク上で変更されたファイルへの編集を拒否していました。

289 289 

290Bash でファイルを表示することは、コマンドが `cat`、`nl`、`bat`、`batcat`、`head`、`tail`、`sed -n 'X,Yp'`、`grep`、`egrep`、`fgrep`、または `rg` である場合、パイプまたはリダイレクトなしで単一ファイルに対して read-before-edit 要件を満たします。パイプされた出力およびその他の Bash コマンドは read-before-edit チェックにはカウントされません。290Claude は、`cat` や `grep` などの Bash コマンドでファイルを表示した後も、別途 Read を行わずにそのファイルを編集できます。対象となるコマンドは `cat`、`nl`、`bat`、`batcat`、`head`、`tail`、`sed -n 'X,Yp'`、`grep`、`egrep`、`fgrep`、`rg` で、いずれもパイプやリダイレクトなしで 1 つのファイルに対して実行したものに限ります。一致するものを何も出力しない検索は読み取りとしてカウントされず、このリストにないコマンドも同様にカウントされません。

291 291 

292Claude がこの方法でファイルを表示すると、Claude Code はそのファイルに適用される[サブディレクトリの `CLAUDE.md`](/docs/ja/memory#how-claude-md-files-load)と[パススコープのルール](/docs/ja/memory#path-specific-rules)も読み込みます。`Read` と `Edit` の拒否ルールがどの Bash コマンドをカバーするかについては、[Read と Edit の権限ルール](/docs/ja/permissions#read-and-edit)を参照してください。292Claude がこの方法でファイルを表示すると、Claude Code はそのファイルに適用される[サブディレクトリの `CLAUDE.md`](/docs/ja/memory#how-claude-md-files-load)と[パススコープのルール](/docs/ja/memory#path-specific-rules)も読み込みます。`Read` と `Edit` の拒否ルールがどの Bash コマンドをカバーするかについては、[Read と Edit の権限ルール](/docs/ja/permissions#read-and-edit)を参照してください。

293 293 

294<h3 id="non-utf-8-files">

295 UTF-8 以外のファイル

296</h3>

297 

298Claude は、有効な UTF-8 ではないファイルに対して [NotebookEdit](#notebookedit-tool-behavior) を使用できません。Edit も同様ですが、ファイルがリトルエンディアンの UTF-16 バイトオーダーマークで始まる場合は例外です。Claude が変更を試みると、ツールは変更を拒否し、ファイルには手を加えません。拒否されるファイルには、Windows-1252 や Shift-JIS などのレガシーエンコーディングで保存された非 ASCII テキスト、バイナリファイル、無効なバイトシーケンスを含む UTF-8 ファイルが含まれます。

299 

300これらのツールが拒否するのは、ファイル全体を UTF-8 として保存し直すため、デコードできないすべてのバイトが置換文字 `U+FFFD` に置き換わってしまうからです。代わりに、[Claude が受け取るエラー](/docs/ja/errors#file-is-not-valid-utf-8)は、ファイルのエンコーディングを維持するシェルコマンドを使って変更を行うか、先に UTF-8 への変換についてユーザーに確認するよう Claude に指示します。

301 

302新しいコンテンツに `U+FFFD`(Read がデコードできないバイトの代わりに Claude に表示する文字)が含まれていない限り、Claude はそのようなファイルを Write で置き換えることができます。このガードにより、Claude が読み取った文字化けしたテキストを書き戻すことを防ぎます。Write がファイルを置き換える場合は新しいコンテンツを UTF-8 として保存するため、ファイルの元のエンコーディングは失われます。

303 

294<h2 id="endconversation-tool-behavior">304<h2 id="endconversation-tool-behavior">

295 EndConversation ツールの動作305 EndConversation ツールの動作

296</h2>306</h2>


455* `insert`:ターゲットの後に新しいセルを追加します。`cell_id` がない場合、新しいセルはノートブックの開始に移動します。`cell_type` を `code` または `markdown` に設定する必要があります。465* `insert`:ターゲットの後に新しいセルを追加します。`cell_id` がない場合、新しいセルはノートブックの開始に移動します。`cell_type` を `code` または `markdown` に設定する必要があります。

456* `delete`:ターゲット セルを削除します。466* `delete`:ターゲット セルを削除します。

457 467 

468NotebookEdit は、[Edit と同じルール](#non-utf-8-files)に従い、UTF-8 としてデコードできないノートブック ファイルを拒否し、何も書き込みません。

469 

458権限ルールは `Edit(...)` パス形式を使用します。`Edit(notebooks/**)` のようなルールは、そのディレクトリ内のファイルに対する NotebookEdit 呼び出しをカバーします。470権限ルールは `Edit(...)` パス形式を使用します。`Edit(notebooks/**)` のようなルールは、そのディレクトリ内のファイルに対する NotebookEdit 呼び出しをカバーします。

459 471 

460<h2 id="powershell-tool">472<h2 id="powershell-tool">


514* 個別の[コマンドフック](/docs/ja/hooks#command-hook-fields)の `"shell": "powershell"`: そのフックを PowerShell で実行します。フックは PowerShell を直接起動するため、`CLAUDE_CODE_USE_POWERSHELL_TOOL` に関係なく機能します。526* 個別の[コマンドフック](/docs/ja/hooks#command-hook-fields)の `"shell": "powershell"`: そのフックを PowerShell で実行します。フックは PowerShell を直接起動するため、`CLAUDE_CODE_USE_POWERSHELL_TOOL` に関係なく機能します。

515* [スキルフロントマター](/docs/ja/skills#frontmatter-reference)の `shell: powershell`: `` !`command` `` ブロックを PowerShell で実行します。PowerShell ツールが有効になっている必要があります。527* [スキルフロントマター](/docs/ja/skills#frontmatter-reference)の `shell: powershell`: `` !`command` `` ブロックを PowerShell で実行します。PowerShell ツールが有効になっている必要があります。

516 528 

517Bash ツールセクションで説明されているのと同じメインセッションの作業ディレクトリリセット動作が PowerShell コマンドに適用されます。これには `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` 環境変数が含まれます。529PowerShell コマンドには、`CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` 環境変数を含め、Bash コマンドと[同じメインセッションの作業ディレクトリリセット動作](#what-persists-between-commands)が適用されます。

530 

531PowerShell コマンドは、[PowerShell コマンドでの永続化された変数](/docs/ja/hooks#persisted-variables-in-powershell-commands)に記載されている条件のもとで、フックが `CLAUDE_ENV_FILE` を通じて永続化した変数も受け取ります。Claude Code v2.1.296 以降が必要です。

518 532 

519`grep`、`rg`、`egrep`、`fgrep`、`findstr`、`git grep` からの終了コード 1 は一致がないことを意味します。`git diff` からの終了コード 1 は差分が存在することを意味します。どちらの結果も Claude にコマンド失敗として報告されません。`robocopy` の場合、終了コード 0 から 7 は情報結果です。コピーされたファイルや検出された追加ファイルなどです。終了コード 8 以上は失敗としてカウントされます。533`grep`、`rg`、`egrep`、`fgrep`、`findstr`、`git grep` からの終了コード 1 は一致がないことを意味します。`git diff` からの終了コード 1 は差分が存在することを意味します。どちらの結果も Claude にコマンド失敗として報告されません。`robocopy` の場合、終了コード 0 から 7 は情報結果です。コピーされたファイルや検出された追加ファイルなどです。終了コード 8 以上は失敗としてカウントされます。

520 534 


547 561 

548Read ツールはファイルパスを受け取り、行番号付きでコンテンツを返します。Claude は常に絶対パスを渡すように指示されています。562Read ツールはファイルパスを受け取り、行番号付きでコンテンツを返します。Claude は常に絶対パスを渡すように指示されています。

549 563 

550デフォルトでは、Read はファイルの開始から返します。ファイル全体の読み込みがトークン制限を超える場合、Read は最初のページを `PARTIAL view` 通知とともに返し、Claude が受け取ったファイルの量と `offset` および `limit` を使用してさらに読み込む方法を伝えます。明示的な `offset` または `limit` を渡す読み込みがトークン制限を超える場合、エラーが返されます。

551 

552明示的な `limit` を指定した読み込みは、選択された行がトークン制限に収まる量を超えるとすぐに停止し、範囲の残りを読み込まずにエラーを返します。エラーは Claude に、より小さい `limit` を使用するか、単一行がそれほど大きい場合は [Grep](#grep-tool-behavior) で特定のコンテンツを検索するよう指示します。v2.1.208 より前では、Claude Code は範囲全体をメモリに読み込んでから拒否していたため、非常に長い単一行を持つファイルを読み込むとメモリ不足になる可能性がありました。

553 

554空のファイルを読み込むと、ファイルは存在するがコンテンツが空であることを示す通知が返され、最後の行を超えた `offset` はファイルの行数を示す通知を返します。v2.1.208 より前では、空のファイルを読み込むと末尾を超えた通知が返されていました。564空のファイルを読み込むと、ファイルは存在するがコンテンツが空であることを示す通知が返され、最後の行を超えた `offset` はファイルの行数を示す通知を返します。v2.1.208 より前では、空のファイルを読み込むと末尾を超えた通知が返されていました。

555 565 

556Read は平文テキスト以外のいくつかのファイルタイプを処理します。566Read は平文テキスト以外のいくつかのファイルタイプを処理します。

557 567 

558* **画像**: PNG、JPG、およびその他の画像形式は、生バイトではなく Claude が見ることができるビジュアルコンテンツとして返されます。Claude Code は大きな画像をモデルの画像サイズ制限に合わせるようにリサイズして再圧縮してから送信するため、Claude は大きなスクリーンショットのダウンスケール版を見る可能性があります。そのリサイズ後も 500KB より大きい画像は、ピクセル寸法を変更せずに品質を低下させた JPEG として再エンコードされます。Claude が大きな画像の細かいピクセルレベルの詳細を見落とした場合、ImageMagick を使用して Bash で領域をトリミングするなど、関心のある領域を最初にトリミングするよう指示してください。568* **画像**: PNG、JPG、およびその他の画像形式は、生バイトではなく Claude が見ることができるビジュアルコンテンツとして返されます。Claude Code は大きな画像をモデルの画像サイズ制限に合わせるようにリサイズして再圧縮してから送信するため、Claude は大きなスクリーンショットのダウンスケール版を見る可能性があります。そのリサイズ後も 500KB より大きい画像は、ピクセル寸法を変更せずに品質を低下させた JPEG として再エンコードされます。Claude が大きな画像の細かいピクセルレベルの詳細を見落とした場合、ImageMagick を使用して Bash で領域をトリミングするなど、関心のある領域を最初にトリミングするよう指示してください。

559* **PDF**: Claude は短い `.pdf` ファイルを全体として読み込みます。10 ページを超える PDF の場合、`pages` パラメータ(例:`"1-5"`)を使用して範囲で読み込み、一度に最大 20 ページまで読み込みます。ページ範囲の読み込みは poppler-utils の `pdftoppm` でページをレンダリングするため、macOS では `brew install poppler` でインストールし、Debian および Ubuntu では `apt-get install poppler-utils` でインストールしてください。Windows およびその他のプラットフォームでは、`pdftoppm` を `PATH` に配置する poppler ビルドをインストールしてください。これがない場合、ページ範囲の読み込みは `pdftoppm is not installed` というエラーで失敗します。569* **PDF**: Claude は短い `.pdf` ファイルを全体として読み込みます。10 ページを超える PDF の場合、`pages` パラメータ(例:`"1-5"`)を使用して範囲で読み込み、一度に最大 20 ページまで読み込みます。ページ範囲の読み込みは poppler-utils の `pdftoppm` でページをレンダリングするため、macOS では `brew install poppler` でインストールし、Debian および Ubuntu では `apt-get install poppler-utils` でインストールしてください。Windows およびその他のプラットフォームでは、`pdftoppm` を `PATH` に配置する poppler ビルドをインストールしてください。これがない場合、ページ範囲の読み込みは `pdftoppm is not installed` というエラーで失敗します。

560* **Jupyter ノートブック**: `.ipynb` ファイルは、コード、マークダウン、ビジュアライゼーションを含むすべてのセルとその出力を返します。Claude Code は 100 MB を超えるノートブックファイルの読み込みを拒否します。エラーは Claude に、Bash シェルコマンドを使用してセルのスライスなど、ノートブックの一部を読み込む方法を指示します。570* **Jupyter ノートブック**: `.ipynb` ファイルは、コード、マークダウン、ビジュアライゼーションを含むすべてのセルとその出力を返します。セルの合計が 256 KB を超えるノートブック、または[トークン制限](#large-files)を超えるノートブックは、代わりにエラーを返します。Claude Code は 100 MB を超えるノートブックファイルの読み込みを拒否します。エラーは Claude に、シェルコマンドを使用してセルのスライスなど、ノートブックの一部を読み込む方法を指示します。

561 571 

562Read はファイルのみを読み込み、ディレクトリは読み込みません。Claude は `ls` などのシェルコマンドを使用してディレクトリコンテンツをリストします。572Read はファイルのみを読み込み、ディレクトリは読み込みません。Claude は `ls` などのシェルコマンドを使用してディレクトリコンテンツをリストします。

563 573 

574<h3 id="large-files">

575 大きなファイル

576</h3>

577 

578Claude は、1 回の Read 呼び出しで返される量より大きいテキストファイルを読み込むことができます。デフォルトでは、1 回の呼び出しで返されるのは最大 25,000 トークン、または [`CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS`](/docs/ja/env-vars) に設定した値までで、256 KB を超えるファイル全体の読み込みは拒否されるため、Claude はより大きなファイルを `offset` と `limit` を使用してページ単位で読み込みます。Claude Code v2.1.296 以降では、ユーザーがファイル全体を求めた場合など必要なときに、`allow_large: true` を設定して、ファイル全体または長い行範囲を 1 回の呼び出しで読み込むこともできます。その読み込みのサイズは、デフォルトの制限ではなく、セッションの[コンテキストウィンドウ](/docs/ja/context-window)の残り容量に基づいて判断されます。画像、PDF、ノートブックには引き続きそれぞれの制限が適用されます。

579 

580読み込みがデフォルトの制限を超えた場合に Claude が受け取る内容:

581 

582* **トークン制限を超えるファイル全体**: ファイルの最初のページと、受け取ったファイルの量および `offset` と `limit` を使用してさらに読み込む方法を示す `PARTIAL view` 通知

583* **256 KB を超えるファイル全体、またはトークン制限を超える `offset` や `limit` を指定した読み込み**: `offset` と `limit` を使用して一部を読み込むか、代わりに [Grep](#grep-tool-behavior) で特定のコンテンツを検索するよう指示するエラー

584 

564<h2 id="sendfeedback-tool-behavior">585<h2 id="sendfeedback-tool-behavior">

565 SendFeedback ツールの動作586 SendFeedback ツールの動作

566</h2>587</h2>


734 Write ツールの動作755 Write ツールの動作

735</h2>756</h2>

736 757 

737Write ツールは新しいファイルを作成するか、既存のファイルを提供された完全なコンテンツで上書きします。追記やマージは行いません。758Write ツールは新しいファイルを作成するか、既存のファイルを提供された完全なコンテンツで上書きします。追記やマージは行いません。また、[非 UTF-8 ファイル](#non-utf-8-files)で説明されているように、Write はバイトをデコードできない既存ファイルも上書きし、新しいコンテンツを UTF-8 として保存します。

738 759 

739Claude が現在の会話で既存ファイルを上書きする前に読む必要があるかどうかは、モデルとファイルによって異なります。760Claude が現在の会話で既存ファイルを上書きする前に読む必要があるかどうかは、モデルとファイルによって異なります。

740 761 

741* Claude Opus 4.6、Claude Haiku 4.5、およびそれ以前のモデルは常に読み込みが必要なため、読み込まれていない既存ファイルへの Write は エラーで失敗します。762* Claude Opus 4.6、Claude Haiku 4.5、およびそれ以前のモデルは常に読み込みが必要なため、読み込まれていない既存ファイルへの Write は エラーで失敗します。

742* より新しいモデルは、[read-before-edit](#edit-tool-behavior) と同じ条件下で、このセッション中に読み込んだことのないファイルを上書きできます。読み込みが権限プロンプトを必要とせず、Read ツールが利用可能な場合です。763* より新しいモデルは、[read-before-edit](#edit-tool-behavior) と同じ条件下で、このセッション中に読み込んだことのないファイルを上書きできます。読み込みが権限プロンプトを必要とせず、Read ツールが利用可能な場合です。

743* Jupyter ノートブック、および Claude が [`PARTIAL view` 通知](#read-tool-behavior) で部分的にのみ読み込んだファイルは、すべてのモデルで読み込みが必要です。764* Jupyter ノートブック、および Claude が [`PARTIAL view` 通知](#large-files)で部分的にのみ読み込んだファイルは、すべてのモデルで読み込みが必要です。

744 765 

745この制約は新しいファイルには適用されません。v2.1.228 より前は、すべてのモデルが既存ファイルを上書きする前に読み込みが必要でした。766この制約は新しいファイルには適用されません。v2.1.228 より前は、すべてのモデルが既存ファイルを上書きする前に読み込みが必要でした。

746 767 

Details

1212ログイン後に `API Error: 403 Request not allowed` が表示される場合:1212ログイン後に `API Error: 403 Request not allowed` が表示される場合:

1213 1213 

1214* **Claude Pro/Max ユーザー**:[claude.ai/settings](https://claude.ai/settings) でサブスクリプションがアクティブであることを確認してください1214* **Claude Pro/Max ユーザー**:[claude.ai/settings](https://claude.ai/settings) でサブスクリプションがアクティブであることを確認してください

1215* **Anthropic Console ユーザー**:アカウントに「Claude Code」または「Developer」ロールがあることを確認してください。管理者は Anthropic Console の設定 → メンバーで割り当てます。1215* **Anthropic Console ユーザー**:アカウントに「Claude Code」または「Developer」ロールがあることを確認してください。管理者は Console の Members ページ([platform.claude.com/settings/members](https://platform.claude.com/settings/members))でこれを割り当てます。

1216* **プロキシの背後**:企業プロキシは API リクエストに干渉する可能性があります。[ネットワーク設定](/docs/ja/network-config) を参照してプロキシセットアップを確認してください。1216* **プロキシの背後**:企業プロキシは API リクエストに干渉する可能性があります。[ネットワーク設定](/docs/ja/network-config) を参照してプロキシセットアップを確認してください。

1217 1217 

1218<h3 id="claude-code-access-has-not-been-granted-for-this-account">1218<h3 id="claude-code-access-has-not-been-granted-for-this-account">

vs-code.md +3 −2

Details

237 237 

238アーカイブされたセッションを復元するには、**Archived sessions** を展開して **Unarchive session** をクリックします。アーカイブされたすべてのセッションを一度に復元するには、セッションリストの Activity Bar で **Archived sessions** ヘッダーにマウスを置き、その復元アイコンをクリックします。これには Claude Code v2.1.277 以降が必要です。v2.1.257 より前では、アクションは **Delete session** でした。これはセッションを非表示にし、復元する方法がありませんでした。その後削除したセッションは、アップグレード後に **Archived sessions** の下に表示されます。238アーカイブされたセッションを復元するには、**Archived sessions** を展開して **Unarchive session** をクリックします。アーカイブされたすべてのセッションを一度に復元するには、セッションリストの Activity Bar で **Archived sessions** ヘッダーにマウスを置き、その復元アイコンをクリックします。これには Claude Code v2.1.277 以降が必要です。v2.1.257 より前では、アクションは **Delete session** でした。これはセッションを非表示にし、復元する方法がありませんでした。その後削除したセッションは、アップグレード後に **Archived sessions** の下に表示されます。

239 239 

240再開した会話が計画モードで終了した場合、Claude Code は計画モードを復元します。Claude Code v2.1.246 以降が必要です。Claude Code は 2 つのケースでは復元しません。240再開した会話が plan モードで終了した場合、Claude Code は plan モードを復元します。Claude Code v2.1.246 以降が必要です。次の場合、Claude Code は復元しません。

241 241 

242* 拡張機能が `claudeCode.initialPermissionMode` から開始権限モードを[選択](/docs/ja/permission-modes#switch-permission-modes)するか、以前の会話から引き継がれたピックがある242* 拡張機能が `claudeCode.initialPermissionMode` から開始権限モードを[選択](/docs/ja/permission-modes#switch-permission-modes)するか、以前の会話から引き継がれたピックがある

243* `claudeCode.claudeProcessWrapper` が設定されている243* `claudeCode.claudeProcessWrapper` が設定されている

244* [拒否ルール](/docs/ja/permissions#manage-permissions)によって [`ExitPlanMode`](/docs/ja/tools-reference) ツールが除外されている場合

244 245 

245<h3 id="resume-cloud-sessions-from-claude-ai">246<h3 id="resume-cloud-sessions-from-claude-ai">

246 Claude.ai からクラウドセッションを再開する247 Claude.ai からクラウドセッションを再開する


479 480 

480Claude はブラウザタスク用に新しいタブを開き、ブラウザのログイン状態を共有するため、既にサインインしているサイトにアクセスできます。481Claude はブラウザタスク用に新しいタブを開き、ブラウザのログイン状態を共有するため、既にサインインしているサイトにアクセスできます。

481 482 

482`@browser` と入力しなくても各セッションの開始時にブラウザへ接続されるようにするには、[Chrome をデフォルトで有効にする](/docs/ja/chrome#enable-chrome-by-default) を参照してください。そのように接続されたセッションで Claude Code がブラウザ操作の前に確認を求める場合については、[VS Code セッションでの権限プロンプト](/docs/ja/chrome#permission-prompts-in-vs-code-sessions) を参照してください。483`@browser` と入力しなくても各セッションの開始時にブラウザへ接続されるようにするには、[Chrome をデフォルトで有効にする](/docs/ja/chrome#enable-chrome-by-default) を参照してください。Claude Code がブラウザ操作の前に確認を求める場合については、[VS Code セッションでの権限プロンプト](/docs/ja/chrome#permission-prompts-in-vs-code-sessions) を参照してください。

483 484 

484セットアップ手順、機能の完全なリスト、トラブルシューティングについては、[Claude Code を Chrome で使用する](/docs/ja/chrome) を参照してください。485セットアップ手順、機能の完全なリスト、トラブルシューティングについては、[Claude Code を Chrome で使用する](/docs/ja/chrome) を参照してください。

485 486 

workflows.md +1 −1

Details

511* 通常のルーチン作業のために小さいモデルに切り替える場合は、大規模なランの前に `/model` を確認してください511* 通常のルーチン作業のために小さいモデルに切り替える場合は、大規模なランの前に `/model` を確認してください

512* タスクを説明するときに、最も強力なものを必要としないステージに対して小さいモデルを使用するよう Claude に依頼してください512* タスクを説明するときに、最も強力なものを必要としないステージに対して小さいモデルを使用するよう Claude に依頼してください

513 513 

514組織の [`availableModels` 許可リスト](/docs/ja/model-config#restrict-model-selection)がスクリプトがエージェントに要求するモデルをブロックする場合、そのエージェントは代わりに置き換えられたモデルで実行され、[サブエージェントと同じ置き換えルール](/docs/ja/sub-agents#choose-a-model)に従います。[`/workflows`](#watch-the-run) の実行の進捗ビューは、要求されたモデルと置き換えられたモデルの両方に名前を付ける警告を表示します。514組織の [`availableModels` 許可リスト](/docs/ja/model-config#restrict-model-selection)が、スクリプトがエージェントに要求するモデルをブロックする場合、そのエージェントは代わりに置き換えられたモデルで実行され、[サブエージェントと同じ置き換えルール](/docs/ja/sub-agents#choose-a-model)に従います。

515 515 

516<h3 id="set-a-size-guideline">516<h3 id="set-a-size-guideline">

517 サイズガイドラインを設定する517 サイズガイドラインを設定する

worktrees.md +3 −1

Details

268 268 

269 同じ読み取りの引き継ぎは `.claude/agents` と `.claude/commands` にも適用されます。スキルについては、この引き継ぎには Claude Code v2.1.277 以降が必要です。269 同じ読み取りの引き継ぎは `.claude/agents` と `.claude/commands` にも適用されます。スキルについては、この引き継ぎには Claude Code v2.1.277 以降が必要です。

270 270 

271これらはすべて、worktree を `--worktree` で作成した場合も、`git worktree add` で作成した場合も、[デスクトップアプリ](/docs/ja/desktop#work-in-parallel-with-sessions)を通じて作成した場合も適用されます。271これらはすべて、worktree を `--worktree` で作成した場合も、`git worktree add` で作成した場合も適用されます。

272 

273[デスクトップアプリ](/docs/ja/desktop#work-in-parallel-with-sessions)から開始した worktree セッションでは、Claude Code は設定、フック、スキル、エージェント、コマンド、[`.mcp.json`](/docs/ja/mcp#project-scope) サーバーなどのプロジェクト設定を、worktree からではなくメインチェックアウトのルートから読み込みます。フックのコマンドはそのルートで実行され、`${CLAUDE_PROJECT_DIR}` はそのルートを指します。Claude が作業しているファイルにアクセスするには、フックの [`cwd` 入力フィールド](/docs/ja/hooks#common-input-fields)から worktree のパスを読み取ってください。`CLAUDE.md` ファイルと `.claude/rules/` は引き続き worktree から読み込まれます。

272 274 

273<h2 id="manage-worktrees-manually">275<h2 id="manage-worktrees-manually">

274 worktree を手動で管理する276 worktree を手動で管理する