SpyBara
Go Premium

Documentation 2026-10-25 23:58 UTC to 2026-10-26 22:57 UTC

40 files changed +1,231 −668. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59

admin-setup.md +1 −1

Details

93| [サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md) | ドメイン許可リストを使用した OS レベルのファイルシステムおよびネットワークの分離 | `sandbox.enabled`、`sandbox.network.allowedDomains` |93| [サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md) | ドメイン許可リストを使用した OS レベルのファイルシステムおよびネットワークの分離 | `sandbox.enabled`、`sandbox.network.allowedDomains` |

94| [管理ポリシーの CLAUDE.md](https://code.claude.com/docs/ja/memory.md#deploy-organization-wide-claude-md) | クライアントで強制されるルールではなく、組織全体で Claude に与える動作のガイダンス | 管理ポリシーのパスに置くファイル |94| [管理ポリシーの CLAUDE.md](https://code.claude.com/docs/ja/memory.md#deploy-organization-wide-claude-md) | クライアントで強制されるルールではなく、組織全体で Claude に与える動作のガイダンス | 管理ポリシーのパスに置くファイル |

95| [MCP サーバーの制御](https://code.claude.com/docs/ja/managed-mcp.md) | ユーザーが追加または接続できる MCP サーバーを制限したり、固定のセットをデプロイしたり、各ユーザー自身のサーバーに加えてリモートサーバーを全ユーザーに提供したりします | `allowedMcpServers`、`deniedMcpServers`、`allowManagedMcpServersOnly`、`managedMcpServers`、またはデプロイされた `managed-mcp.json` ファイル |95| [MCP サーバーの制御](https://code.claude.com/docs/ja/managed-mcp.md) | ユーザーが追加または接続できる MCP サーバーを制限したり、固定のセットをデプロイしたり、各ユーザー自身のサーバーに加えてリモートサーバーを全ユーザーに提供したりします | `allowedMcpServers`、`deniedMcpServers`、`allowManagedMcpServersOnly`、`managedMcpServers`、またはデプロイされた `managed-mcp.json` ファイル |

96| [プラグインマーケットプレイスの制御](https://code.claude.com/docs/ja/plugins/org.md#restrict-what-users-can-install) | ユーザーが追加およびインストールできるマーケットプレイスソースを制限し、単一の実行のためにプラグイン、エージェント、MCP サーバーをサイドロードする CLI フラグを拒否し、[`command` プラグインソース](https://code.claude.com/docs/ja/plugins/marketplace-reference#command-plugin-source)をブロックし、どのマーケットプレイスのプラグインを提案できるかを許可リストで指定します | `strictKnownMarketplaces`、`blockedMarketplaces`、`disableSideloadFlags`、`disableCommandPluginSources`、`pluginSuggestionMarketplaces` |96| [プラグインマーケットプレイスの制御](https://code.claude.com/docs/ja/plugins/org.md#restrict-what-users-can-install) | ユーザーが追加およびインストールできるマーケットプレイスソースを制限し、単一の実行のためにプラグイン、エージェント、MCP サーバーをサイドロードする CLI フラグを拒否します。[`command` プラグインソース](https://code.claude.com/docs/ja/plugins/marketplace-reference#command-plugin-source)をブロックし、ターミナルでどのマーケットプレイスのプラグインを提案できるかを許可リストで指定します | `strictKnownMarketplaces`、`blockedMarketplaces`、`disableSideloadFlags`、`disableCommandPluginSources`、`pluginSuggestionMarketplaces` |

97| [カスタマイズのロックダウン](https://code.claude.com/docs/ja/settings-reference.md#strictpluginonlycustomization) | ユーザーおよびプロジェクトのソースからのスキル、エージェント、フック、MCP サーバーをブロックし、プラグインまたは管理設定からのみ提供されるようにします。スキルをロックすると、[開発者が claude.ai で有効にしたスキル](https://code.claude.com/docs/ja/skills.md#where-synced-skills-load)の同期も停止します | `strictPluginOnlyCustomization` |97| [カスタマイズのロックダウン](https://code.claude.com/docs/ja/settings-reference.md#strictpluginonlycustomization) | ユーザーおよびプロジェクトのソースからのスキル、エージェント、フック、MCP サーバーをブロックし、プラグインまたは管理設定からのみ提供されるようにします。スキルをロックすると、[開発者が claude.ai で有効にしたスキル](https://code.claude.com/docs/ja/skills.md#where-synced-skills-load)の同期も停止します | `strictPluginOnlyCustomization` |

98| [claude.ai 同期の無効化](https://code.claude.com/docs/ja/settings-reference.md#syncclaudeaiskills) | 開発者が claude.ai で有効にした[スキル](https://code.claude.com/docs/ja/skills.md#how-synced-skills-behave)と[プラグイン](https://code.claude.com/docs/ja/plugins/loading.md#synced-plugins)を Claude Code が読み込まないようにします。claude.ai で組織の Skills をオフにすると、Claude Code は両方の同期を停止し、v2.1.273 以降では同期済みのものも削除します。Skills をオフにせずにいずれかを停止するには、管理設定でそのキーを `false` に設定します | `syncClaudeAiSkills`、`syncClaudeAiPlugins` |98| [claude.ai 同期の無効化](https://code.claude.com/docs/ja/settings-reference.md#syncclaudeaiskills) | 開発者が claude.ai で有効にした[スキル](https://code.claude.com/docs/ja/skills.md#how-synced-skills-behave)と[プラグイン](https://code.claude.com/docs/ja/plugins/loading.md#synced-plugins)を Claude Code が読み込まないようにします。claude.ai で組織の Skills をオフにすると、Claude Code は両方の同期を停止し、v2.1.273 以降では同期済みのものも削除します。Skills をオフにせずにいずれかを停止するには、管理設定でそのキーを `false` に設定します | `syncClaudeAiSkills`、`syncClaudeAiPlugins` |

99| [フックの制限](https://code.claude.com/docs/ja/settings-reference.md#allowmanagedhooksonly) | 実行するフックと HTTP フックの URL を制限します。影響の全一覧は [`allowManagedHooksOnly` で実行されるもの](https://code.claude.com/docs/ja/settings-reference#what-runs-under-allowmanagedhooksonly)を参照してください | `allowManagedHooksOnly`、`allowedHttpHookUrls` |99| [フックの制限](https://code.claude.com/docs/ja/settings-reference.md#allowmanagedhooksonly) | 実行するフックと HTTP フックの URL を制限します。影響の全一覧は [`allowManagedHooksOnly` で実行されるもの](https://code.claude.com/docs/ja/settings-reference#what-runs-under-allowmanagedhooksonly)を参照してください | `allowManagedHooksOnly`、`allowedHttpHookUrls` |

Details

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

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

235| `"plan"` | Claude はソースファイルを編集せずに調査と計画を行います。ファイル編集は決して自動承認されず、`canUseTool` コールバックを通じて確認されます | コードレビュー中や、変更が行われる前に承認する必要がある場合など、Claude に変更を実行させずに提案させたい場合 |235| `"plan"` | Claude はソースファイルを編集せずに調査と計画を行います。ファイル編集は決して自動承認されず、`canUseTool` コールバックを通じて確認されます | コードレビュー中や、変更が行われる前に承認する必要がある場合など、Claude に変更を実行させずに提案させたい場合 |

236| `"dontAsk"` | 確認を一切行いません。[権限ルール](https://code.claude.com/docs/ja/settings-reference.md#permission-settings)で事前承認されたツールは実行され、作業ディレクトリ内のファイル読み取りなど、`default` モードで承認を必要としない呼び出しも実行されます。それ以外で確認が必要になる呼び出しはすべて拒否されますが、インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が[それらの呼び出しの一部](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)を承認することは引き続き可能です。`AskUserQuestion`、[組織が `ask` に設定した](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツール、[`requiresUserInteraction`](https://code.claude.com/docs/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツール、および[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)は、許可していても拒否されます | ヘッドレスエージェントに固定された明示的なツールセットを持たせたい場合で、`canUseTool` が存在しないことに暗黙的に依存するよりも確実な拒否を好む場合 |236| `"dontAsk"` | 確認を一切行いません。[権限ルール](https://code.claude.com/docs/ja/settings-reference.md#permission-settings)で事前承認されたツールは実行され、作業ディレクトリ内のファイル読み取りなど、`default` モードで承認を必要としない呼び出しも実行されます。それ以外で確認が必要になる呼び出しはすべて拒否されますが、インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が[それらの呼び出しの一部](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)を承認することは引き続き可能です。[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)など、一部の呼び出しは許可していても拒否されます。その一覧については [Don't ask モード](https://code.claude.com/docs/ja/agent-sdk/permissions.md#don’t-ask-mode-dontask)を参照してください | 呼び出しを承認する人がいないヘッドレスエージェント |

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

238| `"bypassPermissions"` | 明示的な [`ask` ルール](https://code.claude.com/docs/ja/settings-reference#permission-settings)に一致するツール、[組織が `ask` に設定した](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツール、およびユーザー操作を必要とするツールを除き、許可されたすべてのツールを確認なしで実行します。[セッション間メッセージングの保護機能](https://code.claude.com/docs/ja/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)は引き続き適用されます。優先順位については[権限の評価方法](https://code.claude.com/docs/ja/agent-sdk/permissions.md#how-permissions-are-evaluated)を参照してください。TypeScript SDK では、`options` に `allowDangerouslySkipPermissions: true` も必要です。Unix で root として実行している場合は使用できません。エージェントのアクションが重要なシステムに影響を与えない分離された環境でのみ使用してください | CI、コンテナ、またはその他の分離された環境 |238| `"bypassPermissions"` | 承認を求めずにツール呼び出しを実行します。これには `allowedTools` に記載していないツールの呼び出しも含まれます。一部の呼び出しは引き続き `canUseTool` コールバックに送られます。それらは [Bypass permissions モード](https://code.claude.com/docs/ja/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions)に記載されています。TypeScript SDK では、`options` に `allowDangerouslySkipPermissions: true` も必要です。Unix で root として実行している場合は使用できません。エージェントのアクションが重要なシステムに影響を与えない分離された環境でのみ使用してください | CI、コンテナ、またはその他の分離された環境 |

239 239 

240インタラクティブなアプリケーションでは、`"default"` とツール承認コールバックを組み合わせて使用し、承認プロンプトを表示してください。開発マシン上の自律型エージェントでは、`"acceptEdits"` を使用すると、ファイル編集と一般的なファイルシステムコマンド(`mkdir`、`touch`、`mv`、`cp` など)を自動承認しつつ、その他の `Bash` コマンドは引き続き許可ルールで制限できます。`"bypassPermissions"` は CI、コンテナ、またはその他の分離された環境のために取っておいてください。詳細については[権限](https://code.claude.com/docs/ja/agent-sdk/permissions.md)を参照してください。240インタラクティブなアプリケーションでは、`"default"` とツール承認コールバックを組み合わせて使用し、承認プロンプトを表示してください。開発マシン上の自律型エージェントでは、`"acceptEdits"` を使用すると、ファイル編集と一般的なファイルシステムコマンド(`mkdir`、`touch`、`mv`、`cp` など)を自動承認しつつ、その他の `Bash` コマンドは引き続き許可ルールで制限できます。`"bypassPermissions"` は CI、コンテナ、またはその他の分離された環境のために取っておいてください。詳細については[権限](https://code.claude.com/docs/ja/agent-sdk/permissions.md)を参照してください。

241 241 

Details

16| パラメーターをオプションにする | スキーマでオプションとして宣言し、ハンドラーでデフォルト値を適用します。[パラメーターをオプションにする](#make-a-parameter-optional)を参照してください。 |16| パラメーターをオプションにする | スキーマでオプションとして宣言し、ハンドラーでデフォルト値を適用します。[パラメーターをオプションにする](#make-a-parameter-optional)を参照してください。 |

17| Claude にツールを登録する | `create_sdk_mcp_server` / `createSdkMcpServer` でラップし、`query()` の `mcpServers` に渡します。[カスタムツールを呼び出す](#call-a-custom-tool)を参照してください。 |17| Claude にツールを登録する | `create_sdk_mcp_server` / `createSdkMcpServer` でラップし、`query()` の `mcpServers` に渡します。[カスタムツールを呼び出す](#call-a-custom-tool)を参照してください。 |

18| ツールを事前承認する | 許可されたツールに追加します。[許可されたツールを設定する](#configure-allowed-tools)を参照してください。 |18| ツールを事前承認する | 許可されたツールに追加します。[許可されたツールを設定する](#configure-allowed-tools)を参照してください。 |

19| ツールの呼び出しに承認を必須にする、またはツールをブロックする | TypeScript SDK では、`createSdkMcpServer()` が返す設定オブジェクトに、そのツールの `permission_policy` を追加します。[特定のツールに承認を必須にする](#require-approval-for-specific-tools)を参照してください。 |

19| Claude のコンテキストから組み込みツールを削除する | 必要な組み込みのみをリストする `tools` 配列を渡します。[許可されたツールを設定する](#configure-allowed-tools)を参照してください。 |20| Claude のコンテキストから組み込みツールを削除する | 必要な組み込みのみをリストする `tools` 配列を渡します。[許可されたツールを設定する](#configure-allowed-tools)を参照してください。 |

20| Claude がツールを並列で呼び出せるようにする | 副作用のないツールに `readOnlyHint: true` を設定します。[ツール注釈を追加する](#add-tool-annotations)を参照してください。 |21| Claude がツールを並列で呼び出せるようにする | 副作用のないツールに `readOnlyHint: true` を設定します。[ツール注釈を追加する](#add-tool-annotations)を参照してください。 |

21| Claude が読むエラーメッセージを制御する | `isError: true` を返して、生の例外をサーフェスする代わりにメッセージを作成します。[エラーを処理する](#handle-errors)を参照してください。 |22| Claude が読むエラーメッセージを制御する | `isError: true` を返して、生の例外をサーフェスする代わりにメッセージを作成します。[エラーを処理する](#handle-errors)を参照してください。 |


327| フィールド | デフォルト | 意味 |328| フィールド | デフォルト | 意味 |

328| :- | :- | :- |329| :- | :- | :- |

329| `readOnlyHint` | `false` | ツールは環境を変更しません。ツールを他の読み取り専用ツールと並列で呼び出せるかどうかを制御します。 |330| `readOnlyHint` | `false` | ツールは環境を変更しません。ツールを他の読み取り専用ツールと並列で呼び出せるかどうかを制御します。 |

330| `destructiveHint` | `true` | ツールは破壊的な更新を実行する可能性があります。情報提供のみ。 |331| `destructiveHint` | `true` | ツールは破壊的な更新を実行する可能性があります。[`always_ask` とマーク](#require-approval-for-specific-tools)するツールでは、明示的に `true` に設定してください。 |

331| `idempotentHint` | `false` | 同じ引数での繰り返し呼び出しは追加の効果がありません。情報提供のみ。 |332| `idempotentHint` | `false` | 同じ引数での繰り返し呼び出しは追加の効果がありません。情報提供のみ。 |

332| `openWorldHint` | `true` | ツールはプロセス外のシステムに到達します。情報提供のみ。 |333| `openWorldHint` | `true` | ツールはプロセス外のシステムに到達します。情報提供のみ。 |

333 334 


383 384 

384組み込みツールを完全に削除するには、`tools` から省略するか、`disallowedTools`(Python: `disallowed_tools`)に単純名をリストします。どちらもツールをコンテキストから除外するため、Claude はそれを試みることはありません。スコープ付き `disallowedTools` ルールは一致する呼び出しをブロックしますが、ツールを表示したままにするため、Claude はそれを試みるターンを無駄にする可能性があります。評価順序の詳細については、[権限の設定](https://code.claude.com/docs/ja/agent-sdk/permissions.md)を参照してください。385組み込みツールを完全に削除するには、`tools` から省略するか、`disallowedTools`(Python: `disallowed_tools`)に単純名をリストします。どちらもツールをコンテキストから除外するため、Claude はそれを試みることはありません。スコープ付き `disallowedTools` ルールは一致する呼び出しをブロックしますが、ツールを表示したままにするため、Claude はそれを試みるターンを無駄にする可能性があります。評価順序の詳細については、[権限の設定](https://code.claude.com/docs/ja/agent-sdk/permissions.md)を参照してください。

385 386 

387### 特定のツールに承認を必須にする

388 

389ツールの `permission_policy` を `always_ask` に設定すると、`allowedTools` はそのツールの呼び出しを承認しなくなるため、ツールがリストされていても呼び出しが [`canUseTool`](https://code.claude.com/docs/ja/agent-sdk/user-input) コールバックに到達できるようになります。代わりに `always_deny` を設定すると、[ツールの呼び出しは拒否されます](https://code.claude.com/docs/ja/agent-sdk/permissions.md#how-permissions-are-evaluated)が、読み込んだプラグイン内の [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) は[それでも呼び出しを承認できます](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)。このフィールドは TypeScript 専用で、Agent SDK v0.3.301 以降が必要です。

390 

391ポリシーのエントリは、`createSdkMcpServer()` に渡す `tools` オプションではなく、`createSdkMcpServer()` が返す設定オブジェクトの `tools` 配列に記述します。この例では、[天気ツールの例](#weather-tool-example)の `weatherServer` を展開し、`get_temperature` に `always_ask` ポリシーを与える `tools` 配列を追加しています。

392 

393```typescript TypeScript theme={null}

394options: {

395 mcpServers: {

396 weather: {

397 ...weatherServer,

398 tools: [{ name: "get_temperature", permission_policy: "always_ask" as const }]

399 }

400 },

401 allowedTools: ["mcp__weather__get_temperature"],

402 permissionMode: "default",

403 canUseTool: async (toolName, input) => {

404 console.log(`Approval requested for ${toolName}`);

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

406 }

407}

408```

409 

410ポリシーを試すには、[カスタムツールの呼び出し](#call-a-custom-tool)のスクリプトの `options` をこの例の `options` に置き換え、ターミナルからそのスクリプトを実行します。スクリプトは `Approval requested for mcp__weather__get_temperature` を出力し、続いて気温に関する Claude の回答を出力します。完全なスクリプトについては、[TypeScript リファレンス](https://code.claude.com/docs/ja/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance)を参照してください。

411 

412`auto` または `plan` の[権限モード](https://code.claude.com/docs/ja/agent-sdk/permissions.md#permission-modes)を使用する場合は、ツールの[アノテーション](#add-tool-annotations)で `destructiveHint: true` を設定し、ツールの呼び出しが引き続きコールバックに到達するようにしてください。設定しない場合、[auto モードの分類器](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)が [TypeScript リファレンスに記載されている条件](https://code.claude.com/docs/ja/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call)のもとで一部の `always_ask` 呼び出しを承認する可能性があり、分類器が承認した呼び出しはコールバックに到達しません。未設定の `destructiveHint` は、`always_ask` 呼び出しではデフォルトの `true` ではなく `false` として扱われるため、このヒントは明示的に設定してください。

413 

386## エラーを処理する414## エラーを処理する

387 415 

388ハンドラーエラーはエージェントループを停止しません。SDK のインプロセス MCP サーバーはキャッチされない例外をキャッチし、エラー結果として返すため、エラーをどのように報告するかが Claude が読む内容を決定します。クエリが失敗するかどうかではありません。416ハンドラーエラーはエージェントループを停止しません。SDK のインプロセス MCP サーバーはキャッチされない例外をキャッチし、エラー結果として返すため、エラーをどのように報告するかが Claude が読む内容を決定します。クエリが失敗するかどうかではありません。

Details

10 10 

11## 権限がどのように評価されるか11## 権限がどのように評価されるか

12 12 

13> [!NOTE]

14>

15> [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) を含むプラグインを読み込む場合は、[ルールとフックの中で mod の決定がどこに位置するか](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods) を参照してください。

16 

13Claude がツールをリクエストすると、SDK は以下の順序で権限をチェックします。17Claude がツールをリクエストすると、SDK は以下の順序で権限をチェックします。

14 18 

15**1. フック**19**1. フック**


20 24 

21**2. Deny ルール**25**2. Deny ルール**

22 26 

23`deny` ルール(`disallowed_tools` および [settings.json](https://code.claude.com/docs/ja/settings-reference.md#permission-settings) から)をチェックします。Deny ルールがマッチした場合、`bypassPermissions` モードでもツールはブロックされます。`Bash` のような裸名の deny ルールは、この評価が始まる前に Claude のコンテキストからツールを削除するため、`Bash(rm *)` のようなスコープ付きルールのみがこのステップでチェックされます。27`disallowed_tools` または [settings.json](https://code.claude.com/docs/ja/settings-reference.md#permission-settings) の deny ルールがマッチした場合、[`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) モードであっても、またフックが `allow` を返した場合であっても、呼び出しは拒否され、[`canUseTool`](https://code.claude.com/docs/ja/agent-sdk/user-input) は呼び出されません。

28 

29TypeScript SDK では、[カスタムツール](https://code.claude.com/docs/ja/agent-sdk/custom-tools.md#require-approval-for-specific-tools) の `permission_policy` を [`always_deny`](https://code.claude.com/docs/ja/agent-sdk/typescript#mcpservertoolpolicy) に設定した場合、そのツールの呼び出しはこのステップで拒否されます。

24 30 

25**3. Ask ルール**31**3. Ask ルール**

26 32 


30 36 

31組織が `ask` に設定した [claude.ai コネクタ](https://code.claude.com/docs/ja/mcp.md#organization-controls-on-connector-tools) ツールもこのステップでフローを離れます。`bypassPermissions` モードでも allow ルールがマッチした場合でも、すべての呼び出しはコールバックにフォールスルーします。コールバックは理由 `Your organization requires approval for this tool` を受け取ります。`dontAsk` モードでは、このモードは決してプロンプトを表示しないため、呼び出しは拒否されます。37組織が `ask` に設定した [claude.ai コネクタ](https://code.claude.com/docs/ja/mcp.md#organization-controls-on-connector-tools) ツールもこのステップでフローを離れます。`bypassPermissions` モードでも allow ルールがマッチした場合でも、すべての呼び出しはコールバックにフォールスルーします。コールバックは理由 `Your organization requires approval for this tool` を受け取ります。`dontAsk` モードでは、このモードは決してプロンプトを表示しないため、呼び出しは拒否されます。

32 38 

33**4. Permission モード**39TypeScript SDK では、カスタムツールの `permission_policy` を [`always_ask`](https://code.claude.com/docs/ja/agent-sdk/custom-tools#require-approval-for-specific-tools) に設定した場合、どの allow ルールもその呼び出しを承認しません。`allowedTools` のエントリであっても同様です。`dontAsk` モードでは Claude Code はそれらの呼び出しを拒否し、`auto`、`plan`、または `bypassPermissions` モードではコールバックが実行される前に [それらを承認できます](https://code.claude.com/docs/ja/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call)。

34 40 

35アクティブな [permission モード](#permission-modes) を適用します。41**4. 権限モード**

36 42 

37* `bypassPermissions` モードでは、Claude Code はこのステップに到達したすべてのものを承認します。ただし、認識された [重要なパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths) は除き、これらは代わりにフォールスルーします。43アクティブな [権限モード](#permission-modes) を適用します。

44 

45* `bypassPermissions` モードでは、Claude Code はこのステップに到達したすべてのものを承認します。ただし、認識された [重要なパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths) と、[`Dangerous rm operation not ruled out`](https://code.claude.com/docs/ja/permission-modes#dangerous-rm-operation-not-ruled-out) のフラグが付いた Bash コマンドは除き、これらは代わりにフォールスルーします。

38* `acceptEdits` モードでは、Claude Code は [Accept edits モード](#accept-edits-mode-acceptedits) の下にリストされたファイル操作を承認します。46* `acceptEdits` モードでは、Claude Code は [Accept edits モード](#accept-edits-mode-acceptedits) の下にリストされたファイル操作を承認します。

39* `plan` モードでは、Claude Code は allow ルールに関係なく、ファイル編集およびシェル書き込みツールを `canUseTool` コールバックに送信します。これにより、計画中に書き込み操作を自動承認することはできません。47* `plan` モードでは、Claude Code は allow ルールに関係なく、ファイル編集ツールを `canUseTool` コールバックに送信します。

40* その他のモードでは、リクエストはフォールスルーします。48* その他のモードでは、リクエストはフォールスルーします。

41 49 

42**5. Allow ルール**50**5. Allow ルール**

43 51 

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

45 53 

46認識された [重要なパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths) は、allow ルールによって承認されません。その後コールバックに到達するかどうかは権限モードに依存します。例えば、`auto` モードの Agent SDK セッションでは、Claude Code はデフォルトでコールバックを呼び出さずにそれらを拒否します。[重要なパスのモード表](https://code.claude.com/docs/ja/permission-modes.md#critical-path-removals-in-each-permission-mode) に、各モードがそれらをどう扱うかがリストされています。54認識された [重要なパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths) は allow ルールによって承認されず、`Dangerous rm operation not ruled out` のフラグが付いたコマンドは `Bash` または `Bash(*)` ルールによって承認されません。その後コールバックに到達するかどうかは権限モードに依存します。例えば、`auto` モードの Agent SDK セッションでは、Claude Code はデフォルトでコールバックを呼び出さずにそれらを拒否します。[重要なパスのモード表](https://code.claude.com/docs/ja/permission-modes.md#critical-path-removals-in-each-permission-mode) に、各モードがそれらをどう扱うかがリストされています。

47 55 

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

49 57 


57 65 

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

59 67 

60* `permissionMode: 'bypassPermissions'`。これは permission モードステップに到達するすべての呼び出しを自動承認します。ただし、[どのモードも自動承認しないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves) は除きます。68* `permissionMode: 'bypassPermissions'`:警告テキストは `canUseTool will not be invoked: permissionMode 'bypassPermissions'` で始まります。ツール呼び出しは `canUseTool` に問い合わせる前に承認されるため、コールバックは [Bypass permissions モード](#bypass-permissions-mode-bypasspermissions) に記載されている呼び出しなど、ごく一部の呼び出しに対してのみ実行されます。承認された呼び出しもチェックするには、コールバックのチェックを [`PreToolUse` フック](https://code.claude.com/docs/ja/agent-sdk/hooks) に入れます

61* `"Read"` などの各裸の `allowedTools` エントリ。これはコールバックが相談される前にそのツール全体を自動承認します。ただし、[どのモードも自動承認しないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves) および [ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths) は除きます。69* `"Read"` のようにツール名のみの `allowedTools` エントリ:警告は `canUseTool will not be invoked for:` の後にそのような各エントリを列挙します。列挙されたツールへの呼び出しは、[allow ルールが決して承認しない呼び出し](#calls-an-allow-rule-never-approves) を除き、`canUseTool` に問い合わせる前に承認されます。承認が必要な、列挙されたツールの呼び出しに対してコールバックを実行させるには、そのツールのエントリを `allowedTools` から削除します

62 70 

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

64 72 

65`process.on('warning', ...)` でリッスンし、コードをマッチさせてログまたは抑制します。モードとルールに関係なくすべてのツール呼び出しをゲートするには、代わりに [`PreToolUse` hook](https://code.claude.com/docs/ja/agent-sdk/hooks) を使用します。73この警告は呼び出しをブロックしたり、オプションを変更したりすることはありません。確認したいすべての呼び出しをコールバックがすでに受け取っている場合は、設定をそのままにしておいてください。警告をログに記録するには、`process.on('warning', ...)` でリッスンし、`CLAUDE_SDK_CAN_USE_TOOL_SHADOWED` コードをマッチさせます。

66 74 

67このページは **allow および deny ルール** および **permission モード** に焦点を当てています。その他のステップについては、以下を参照してください。75このページは **allow および deny ルール** および **permission モード** に焦点を当てています。その他のステップについては、以下を参照してください。

68 76 


90>98>

91> **自動承認ツールは `canUseTool` に到達しません。** `acceptEdits` または `bypassPermissions` によって、または許可ルールによって、任意の前のステップで承認されたツール呼び出しは、その `canUseTool` コールバックをスキップするため、そこに配置した権限チェックはそのツールに対して静かにバイパスされます。99> **自動承認ツールは `canUseTool` に到達しません。** `acceptEdits` または `bypassPermissions` によって、または許可ルールによって、任意の前のステップで承認されたツール呼び出しは、その `canUseTool` コールバックをスキップするため、そこに配置した権限チェックはそのツールに対して静かにバイパスされます。

92>100>

93> 許可ルールは、`AskUserQuestion`、MCP ツール([`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/ja/mcp#require-approval-for-a-specific-tool)でマークされている)、コネクタツール([組織が `ask` に設定](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools))、および認識された `rm` と `rmdir` の[重要なパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)を自動承認することはありません。`dontAsk` モードでは、Claude Code はこれらの呼び出しをコールバックを呼び出さずに拒否します。他のモードでは、最初の 3 つはコールバックに到達します。[重要なパスのモード表](https://code.claude.com/docs/ja/permission-modes.md#critical-path-removals-in-each-permission-mode)には、各モードが重要なパスの削除をどのように扱うかが記載されています。これらの削除を認識するチェックは、[一部のコマンドを見逃す可能性があります](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)。101> `allowed_tools` 内のツールへの呼び出しが引き続き `canUseTool` コールバックに到達する場合、または `dontAsk` モードで拒否される場合は、それらが[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)であるか、次のいずれかの呼び出しに該当するかを確認してください。これらの呼び出しを承認する許可ルールはありません。プロンプトを一切表示しない `dontAsk` モードでは、Claude Code は `canUseTool` を呼び出さずにこれらを拒否します。その他の権限モードでは、各項目の説明に従って処理します:

102>

103> * `AskUserQuestion`、[`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/ja/mcp#require-approval-for-a-specific-tool) でマークされた MCP ツール、および[組織が `ask` に設定した](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツール:コールバックで応答します。[明確化のための質問を処理する](https://code.claude.com/docs/ja/agent-sdk/user-input.md#handle-clarifying-questions)では `AskUserQuestion` への応答方法を示しています。コネクタの呼び出しは理由 `Your organization requires approval for this tool` とともに届きます

104>

105> * アプリケーションが [`always_ask`](https://code.claude.com/docs/ja/agent-sdk/custom-tools#require-approval-for-specific-tools) とマークしたカスタムツール:コールバックで呼び出しを判断します。これらの呼び出しが届かないようにするには、[セッション中にポリシーを変更します](https://code.claude.com/docs/ja/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance)。`auto`、`plan`、`bypassPermissions` モードでは、[`always_ask` 呼び出しを承認できる権限モード](https://code.claude.com/docs/ja/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call)に記載されているケースで、代わりにコールバックの前に呼び出しが承認される場合があります

94>106>

95> カバレッジはエントリの形式に依存します:`Read` や `mcp__github__get_issue` のような裸の名前は、上記の例外と[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)を除いて、そのツールへのすべての呼び出しを自動承認しますが、`Bash(npm test *)` のようなスコープ付きルールはマッチする呼び出しのみを自動承認し、承認が必要な他の `Bash` 呼び出しはコールバックにフォールスルーします。すべてのツール呼び出しで実行する必要があるチェックの場合は、[`PreToolUse` フック](https://code.claude.com/docs/ja/agent-sdk/hooks)を使用します:フックはすべての他のステップの前に実行され、フック拒否は `bypassPermissions` モードでも適用されます。107> * 認識された `rm` および `rmdir` の[重要なパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths):`default`、`acceptEdits`、`bypassPermissions` モードでは、コールバックで削除を許可または拒否します。このとき [`decisionReason`](https://code.claude.com/docs/ja/agent-sdk/typescript#canusetool) は `Dangerous rm` で始まります。`auto` および `plan` モードについては、[各権限モードにおける重要なパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-path-removals-in-each-permission-mode)を参照してください。これらの削除を認識するチェックは、[一部のコマンドを見逃す可能性があります](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)

108>

109> * **裸の名前**:`Read` や `mcp__github__get_issue` のようなエントリは、[どのモードも自動承認しないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves)と[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)を除いて、そのツールへのすべての呼び出しを自動承認します。

110>

111> * **スコープ付きルール**:`Bash(npm test *)` のようなエントリはマッチする呼び出しのみを自動承認し、承認が必要な他の `Bash` 呼び出しは引き続きコールバックにフォールスルーします。

112>

113> すべてのツール呼び出しで実行する必要があるチェックの場合は、[`PreToolUse` フック](https://code.claude.com/docs/ja/agent-sdk/hooks)を使用します:フックはすべての他のステップの前に実行され、フック拒否は `bypassPermissions` モードでも適用されます。

96 114 

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

98 116 


103};121};

104```122```

105 123 

106リストされたツールは承認されます。ただし、[どのモードも自動承認しないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves)と[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)を除きます。プロンプトを表示する他のすべての呼び出しは代わりに拒否されます。ただし、インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) は、[それらの呼び出しの一部](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)を引き続き承認できます。124リストされた `Read`、`Glob`、`Grep` の呼び出しは承認されます。ただし、[どのモードも自動承認しないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves)と[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)を除きます。プロンプトを表示する他のすべての呼び出しは代わりに拒否されます。ただし、インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) は、[それらの呼び出しの一部](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)を引き続き承認できます。

107 125 

108`default` モードで承認が不要な呼び出しは、リストするかどうかに関わらず実行されます。例えば、[読み取り専用 Bash コマンド](https://code.claude.com/docs/ja/permissions.md#read-only-commands)、`Agent` のような実行前に尋ねないツール、および作業ディレクトリ内のファイル読み取りなどです。ツールをリクエストから完全に削除するには、その裸の名前を `disallowedTools` に追加します。126`default` モードで承認が不要な呼び出しは、リストするかどうかに関わらず実行されます。例えば、[読み取り専用 Bash コマンド](https://code.claude.com/docs/ja/permissions.md#read-only-commands)、`Agent` のような実行前に尋ねないツール、および作業ディレクトリ内のファイル読み取りなどです。組み込みツールの呼び出しを拒否するのではなく、Claude からそのツールを完全に隠すには、その裸の名前を `disallowedTools` に追加します。

109 127 

110> [!WARNING]128> [!WARNING]

111>129>


128| `default` | 標準の権限動作 | モードに基づく自動承認はありません。承認が必要で、どの許可ルールにも一致しない呼び出しは `canUseTool` コールバックをトリガーします |146| `default` | 標準の権限動作 | モードに基づく自動承認はありません。承認が必要で、どの許可ルールにも一致しない呼び出しは `canUseTool` コールバックをトリガーします |

129| `dontAsk` | プロンプトを表示せずに拒否 | 本来であればプロンプトが表示される呼び出しは、`canUseTool` を呼び出さずに拒否されます。ただし、インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が[それらの呼び出しの一部](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)を引き続き承認できます。`allowed_tools` または `settings.json` の許可ルールで承認された呼び出しは実行され、`default` モードで承認を必要としない呼び出しも実行されます。[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)など一部の呼び出しは、`allowed_tools` や許可ルールに一致していても拒否されます。一覧については、[Don't ask モード](#don’t-ask-mode-dontask)を参照してください |147| `dontAsk` | プロンプトを表示せずに拒否 | 本来であればプロンプトが表示される呼び出しは、`canUseTool` を呼び出さずに拒否されます。ただし、インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が[それらの呼び出しの一部](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)を引き続き承認できます。`allowed_tools` または `settings.json` の許可ルールで承認された呼び出しは実行され、`default` モードで承認を必要としない呼び出しも実行されます。[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)など一部の呼び出しは、`allowed_tools` や許可ルールに一致していても拒否されます。一覧については、[Don't ask モード](#don’t-ask-mode-dontask)を参照してください |

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

131| `bypassPermissions` | 権限チェックをバイパス | [どのモードでも自動承認されないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves)を除き、ツールは権限プロンプトなしで実行されます。注意して使用してください |149| `bypassPermissions` | 権限チェックをバイパス | [どのモードでも自動承認されないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves)と、[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)外ではアプリケーションが [`always_ask` に設定した](https://code.claude.com/docs/ja/agent-sdk/custom-tools#require-approval-for-specific-tools)カスタムツールを除き、ツールは権限プロンプトなしで実行されます。注意して使用してください |

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

133| `auto` | モデルによる分類に基づく承認 | モデル分類器がシェルコマンドやネットワークリクエストなどのアクションを審査し、審査した各アクションを許可またはブロックします。利用条件と判定順序については、[auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)を参照してください |151| `auto` | モデルによる分類に基づく承認 | モデル分類器がシェルコマンドやネットワークリクエストなどのアクションを審査し、審査した各アクションを許可またはブロックします。利用条件と判定順序については、[auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)を参照してください |

134 152 


256* そのスコープ外のパスを操作する274* そのスコープ外のパスを操作する

257* 保護されたパスに書き込む275* 保護されたパスに書き込む

258* Claude Code が[クリティカルパス](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)として認識するパスを `rm` または `rmdir` で削除する276* Claude Code が[クリティカルパス](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)として認識するパスを `rm` または `rmdir` で削除する

277* たとえばオプションや glob を付けて、または `timeout 5` や `LANG=C` のプレフィックスを付けて [`touch`](https://code.claude.com/docs/ja/permission-modes#auto-approve-file-edits-with-acceptedits-mode) を実行する

259 278 

260**使用する場面:** Claude の編集を信頼しており、プロトタイピング中や隔離されたディレクトリで作業する場合など、より速く反復したいとき。279**使用する場面:** Claude の編集を信頼しており、プロトタイピング中や隔離されたディレクトリで作業する場合など、より速く反復したいとき。

261 280 

262#### Don't ask モード(`dontAsk`)281#### Don't ask モード(`dontAsk`)

263 282 

264すべての権限プロンプトを、`canUseTool` を呼び出さずに拒否に変換します。ただし、インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が[それらの呼び出しの一部](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)を引き続き承認できます。`allowed_tools`、`settings.json` の許可ルール、またはフックによって事前承認されたツールは通常どおり実行されます。作業ディレクトリ内でのファイル読み取りや `Agent` の呼び出しなど、`default` モードで承認を必要としない呼び出しも実行されます。283すべての権限プロンプトを、`canUseTool` を呼び出さずに拒否に変換します。ただし、インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が[それらの呼び出しの一部](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)を引き続き承認できます。`allowed_tools`、`settings.json` の許可ルール、またはフックによって事前承認されたツールは通常どおり実行されます。作業ディレクトリ内でのファイル読み取りや `Agent` の呼び出しなど、`default` モードで承認を必要としない呼び出しも通常どおり実行されます。

265 284 

266[組織が `ask` に設定したコネクタツール](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools)、ユーザーの操作を必要とするツール、[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)、および認識された[クリティカルパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)は、許可ルールに一致していても拒否されます。`PreToolUse` フックによる許可も、認識されたクリティカルパスの削除やネットワークパスからの読み取りを通過させることはありません。これらの削除を認識するチェックは[一部のコマンドを見逃す可能性があります](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)。285次の呼び出しは、許可ルールに一致していても拒否されます。

286 

287* [組織が `ask` に設定したコネクタツール](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools)

288* `AskUserQuestion` や、サーバーが [`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/ja/mcp#require-approval-for-a-specific-tool) を設定している MCP ツールなど、ユーザーの操作を必要とするツール

289* アプリケーションが `permission_policy` を [`always_ask`](https://code.claude.com/docs/ja/agent-sdk/custom-tools#require-approval-for-specific-tools) に設定しているカスタムツール

290* [ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)

291* 認識された[クリティカルパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)

292 

293`PreToolUse` フックが、認識されたクリティカルパスの削除、ネットワークパスからの読み取り、または `always_ask` が設定されたツールの呼び出しに対して `allow` を返した場合でも、その呼び出しは拒否されます。これらの削除を認識するチェックは[一部のコマンドを見逃す可能性があります](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)。

267 294 

268**使用する場面:** ヘッドレスエージェントに対して固定された明示的なツールのサーフェスを用意したく、`canUseTool` が存在しないことに暗黙的に頼るよりも確実な拒否を望むとき。295**使用する場面:** ヘッドレスエージェントに対して固定された明示的なツールのサーフェスを用意したく、`canUseTool` が存在しないことに暗黙的に頼るよりも確実な拒否を望むとき。

269 296 

270#### Bypass permissions モード(`bypassPermissions`)297#### Bypass permissions モード(`bypassPermissions`)

271 298 

272以下の警告に記載されたケースを除き、ツールの使用をプロンプトなしで自動承認します。フックは引き続き実行され、必要に応じて操作をブロックできます。Linux および macOS では、[認識されたサンドボックス](https://code.claude.com/docs/ja/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)の外で root として、または `sudo` の下でこのモードで起動しようとすると、Claude Code は起動を拒否し、クエリは最初のターンの前に失敗します。299[どのモードでも自動承認されないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves)を除き、ツールの使用をプロンプトなしで自動承認します。フックは引き続き実行され、必要に応じて操作をブロックできます。Linux および macOS では、[認識されたサンドボックス](https://code.claude.com/docs/ja/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)の外で root として、または `sudo` の下でこのモードで起動しようとすると、Claude Code は起動を拒否し、クエリは最初のターンの前に失敗します。

273 300 

274> [!WARNING]301> [!WARNING]

275>302>


278> `allowed_tools` はこのモードを制約しません。リストに含めたツールだけでなく、すべてのツールが承認されます。次の制御は引き続き適用されます。305> `allowed_tools` はこのモードを制約しません。リストに含めたツールだけでなく、すべてのツールが承認されます。次の制御は引き続き適用されます。

279>306>

280> * 拒否ルール、明示的な `ask` ルール、およびフックはモードのチェックより前に評価され、引き続きツールをブロックできます。307> * 拒否ルール、明示的な `ask` ルール、およびフックはモードのチェックより前に評価され、引き続きツールをブロックできます。

281> * [組織が `ask` に設定したコネクタツール](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools)、ユーザーの操作を必要とするツール、および認識された[クリティカルパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)は、引き続き `canUseTool` コールバックに渡されます。これらの削除を認識するチェックは[一部のコマンドを見逃す可能性があります](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)。308> * [組織が `ask` に設定したコネクタツール](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools)、ユーザーの操作を必要とするツール、および認識された[クリティカルパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)は、引き続き `canUseTool` コールバックに渡されます。これらの削除を認識するチェックは[一部のコマンドを見逃す可能性があります](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)。[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)外では、アプリケーションが [`always_ask` に設定した](https://code.claude.com/docs/ja/agent-sdk/custom-tools#require-approval-for-specific-tools)カスタムツールの呼び出しもコールバックに渡されます。

282> * [セッション間メッセージングの安全策](https://code.claude.com/docs/ja/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)は引き続き適用されます。309> * [セッション間メッセージングの安全策](https://code.claude.com/docs/ja/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)は引き続き適用されます。

283 310 

284#### Plan モード(`plan`)311#### Plan モード(`plan`)

285 312 

286Claude はソースファイルを編集せずにコードベースを探索し、計画を作成します。読み取り専用ツールは、`default` 権限モードと同様に実行されます。313Claude はソースファイルを編集せずにコードベースを探索し、計画を作成します。plan モードでは、許可ルールに一致した場合や `PreToolUse` フックが `allow` を返した場合でも、ファイル編集が自動承認されることはありません。代わりに、`canUseTool` コールバックを通じてプロンプトが表示されます。

287 314 

288plan モードでは、許可ルールに一致した場合や `PreToolUse` フックが `allow` を返した場合でも、ファイル編集が自動承認されることはありません。代わりに、`canUseTool` コールバックを通じてプロンプトが表示されます。Claude Code v2.1.212 以降では、`touch` や `rm` などファイルを変更するシェルコマンドも同様に `canUseTool` コールバックに渡されます。315セッションで auto モードが利用可能な間は、計画中に Claude が実行するコマンドはデフォルトではコールバックに渡されません。[auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)が使用する分類器モデルが[代わりにそれらを審査する](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)ためです。この審査が有効な場合、分類器は、許可ルールのない `WebFetch` の呼び出しなど、本来であればコールバックに渡される読み取り専用の呼び出しを承認することもできます。

289 316 

290TypeScript SDK では、`permissionMode: 'plan'` と併せて `allowDangerouslySkipPermissions: true` を設定した場合でも、ファイル編集およびファイルを変更するシェルコマンドは引き続き `canUseTool` コールバックに渡されます。このオプションにより、後で `setPermissionMode()` を使って `bypassPermissions` に切り替えることができます。317> [!NOTE]

318>

319> TypeScript SDK では、`permissionMode: 'plan'` と併せて `allowDangerouslySkipPermissions: true` を設定した場合でも、ファイル編集は引き続き `canUseTool` コールバックに渡されます。plan モードで開始したセッションを後で `setPermissionMode()` を使って `bypassPermissions` に切り替えるには、最初から `allowDangerouslySkipPermissions` を設定しておく必要があります。

291 320 

292Claude は計画を確定する前に、`AskUserQuestion` を使用して要件を明確にする場合があります。これらのプロンプトの処理については、[承認とユーザー入力を処理する](https://code.claude.com/docs/ja/agent-sdk/user-input.md#handle-clarifying-questions)を参照してください。321Claude は計画を確定する前に、`AskUserQuestion` を使用して要件を明確にする場合があります。これらのプロンプトの処理については、[承認とユーザー入力を処理する](https://code.claude.com/docs/ja/agent-sdk/user-input.md#handle-clarifying-questions)を参照してください。

293 322 

Details

70>70>

71> パスはプラグインのルートディレクトリ(`skills/`、`agents/`、`hooks/`、`commands/`、または `.claude-plugin/` の親ディレクトリ)を指す必要があります。71> パスはプラグインのルートディレクトリ(`skills/`、`agents/`、`hooks/`、`commands/`、または `.claude-plugin/` の親ディレクトリ)を指す必要があります。

72 72 

73### 実行中のセッションにプラグインを追加する

74 

75TypeScript SDK では、`query()` が返した `Query` オブジェクトで [`reloadPlugins()`](https://code.claude.com/docs/ja/agent-sdk/typescript#load-more-plugin-folders-with-addplugins) を呼び出し、その呼び出しの `addPlugins` オプションにプラグインディレクトリを指定します。各 `addPlugins` エントリは、絶対パスの `path` を持つ `{ type: "local", path }` オブジェクトです。TypeScript Agent SDK v0.3.301 以降が必要です。

76 

77この例では、`q` は `query()` が返した `Query` オブジェクトです。この例では、実行中のセッションにプラグインディレクトリを 1 つ追加し、`reloadPlugins()` が返った後に、セッション内のすべてのプラグインのパスを出力します:

78 

79```typescript theme={null}

80const result = await q.reloadPlugins({

81 addPlugins: [{ type: "local", path: "/home/user/plugins/another-plugin" }]

82});

83 

84console.log(result.plugins.map((plugin) => plugin.path));

85```

86 

87プラグインが読み込まれた場合、出力されたリストに `/home/user/plugins/another-plugin` が含まれます。そのパスがリストにない場合、または `reloadPlugins()` が reject された場合は、[`reloadPlugins()` が `addPlugins` のフォルダを読み込まない場合](https://code.claude.com/docs/ja/agent-sdk/typescript#when-reloadplugins-doesnt-load-the-addplugins-folders)で原因を確認してください。

88 

73## プラグインインストールの確認89## プラグインインストールの確認

74 90 

75プラグインが正常に読み込まれると、システム初期化メッセージに表示されます。プラグインが利用可能であることを確認できます:91プラグインが正常に読み込まれると、システム初期化メッセージに表示されます。プラグインが利用可能であることを確認できます:

Details

200| :- | :- | :- | :- |200| :- | :- | :- | :- |

201| `title` | `string` | `undefined` | ツールの人間が読める形のタイトル |201| `title` | `string` | `undefined` | ツールの人間が読める形のタイトル |

202| `readOnlyHint` | `boolean` | `false` | `true` の場合、ツールはその環境を変更しません |202| `readOnlyHint` | `boolean` | `false` | `true` の場合、ツールはその環境を変更しません |

203| `destructiveHint` | `boolean` | `true` | `true` の場合、ツールは破壊的な更新を実行する可能性があります(`readOnlyHint` が `false` の場合のみ意味があります) |203| `destructiveHint` | `boolean` | `true` | `true` の場合、ツールは破壊的な更新を実行する可能性があります。[`always_ask`](#mcpservertoolpolicy) に指定するツールには `destructiveHint: true` を明示的に設定してください。設定しないと、auto モードの分類器が `canUseTool` コールバックの代わりにそのツールの呼び出しを承認する可能性があります。`destructiveHint` を未設定のままにするだけでは不十分です。MCP 仕様のデフォルトは `true` ですが、Claude Code は `always_ask` の呼び出しを処理する際に未設定の `destructiveHint` を `false` として扱うためです |

204| `idempotentHint` | `boolean` | `false` | `true` の場合、同じ引数での繰り返し呼び出しは追加の効果がありません(`readOnlyHint` が `false` の場合のみ意味があります) |204| `idempotentHint` | `boolean` | `false` | `true` の場合、同じ引数での繰り返し呼び出しは追加の効果がありません(`readOnlyHint` が `false` の場合のみ意味があります) |

205| `openWorldHint` | `boolean` | `true` | `true` の場合、ツールは外部エンティティと相互作用します(たとえば、Web 検索)。`false` の場合、ツールのドメインは閉じられています(たとえば、メモリツール) |205| `openWorldHint` | `boolean` | `true` | `true` の場合、ツールは外部エンティティと相互作用します(たとえば、Web 検索)。`false` の場合、ツールのドメインは閉じられています(たとえば、メモリツール) |

206 206 


630 ): Promise<SDKControlReadFileResponse | null>;630 ): Promise<SDKControlReadFileResponse | null>;

631 reloadPlugins(options?: {631 reloadPlugins(options?: {

632 holdOnCacheImpact?: boolean;632 holdOnCacheImpact?: boolean;

633 addPlugins?: SdkPluginConfig[];

633 }): Promise<SDKControlReloadPluginsResponse>;634 }): Promise<SDKControlReloadPluginsResponse>;

634 reloadSkills(): Promise<SDKControlReloadSkillsResponse>;635 reloadSkills(): Promise<SDKControlReloadSkillsResponse>;

635 reloadOutputStyles(): Promise<SDKControlReloadOutputStylesResponse>;636 reloadOutputStyles(): Promise<SDKControlReloadOutputStylesResponse>;


669| `mcpServerStatus()` | 接続されている MCP サーバーのステータスを [`McpServerStatus`](#mcpserverstatus)`[]` として返します |670| `mcpServerStatus()` | 接続されている MCP サーバーのステータスを [`McpServerStatus`](#mcpserverstatus)`[]` として返します |

670| `getContextUsage(opts?)` | セッションのコンテキストウィンドウ使用量をカテゴリ、スキル、ツールごとに内訳を示した [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) を返します。デフォルトの `detail` では、対話型セッションで `/context` が表示するデータが含まれます。このデータは、メッセージストリームに表示されないトークンカウント API リクエストで計算されます。[これらのリクエストの扱い](#sdkcontrolgetcontextusageresponse)を参照してください。[`detail` オプション](#sdkcontrolgetcontextusageresponse)には Agent SDK v0.3.257 以降が必要です |671| `getContextUsage(opts?)` | セッションのコンテキストウィンドウ使用量をカテゴリ、スキル、ツールごとに内訳を示した [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) を返します。デフォルトの `detail` では、対話型セッションで `/context` が表示するデータが含まれます。このデータは、メッセージストリームに表示されないトークンカウント API リクエストで計算されます。[これらのリクエストの扱い](#sdkcontrolgetcontextusageresponse)を参照してください。[`detail` オプション](#sdkcontrolgetcontextusageresponse)には Agent SDK v0.3.257 以降が必要です |

671| `readFile(path, options?)` | セッションのファイルシステムからファイルを読み取ります。Claude Code はパスを `cwd` を基準に解決します。読み取れるファイルは [`readFile()` が読み取れるもの](#what-readfile-can-read)に記載されています。読み取り上限を変更するには `{ maxBytes }` を渡し(デフォルト 1 MB、最大 10 MB)、画像などのバイナリファイルには `{ encoding: 'base64' }` を渡します。[`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) で解決されるか、権限の拒否、ファイルの欠落、トランスポートエラーの場合は `null` で解決されます。TypeScript SDK v0.2.121 以降が必要です |672| `readFile(path, options?)` | セッションのファイルシステムからファイルを読み取ります。Claude Code はパスを `cwd` を基準に解決します。読み取れるファイルは [`readFile()` が読み取れるもの](#what-readfile-can-read)に記載されています。読み取り上限を変更するには `{ maxBytes }` を渡し(デフォルト 1 MB、最大 10 MB)、画像などのバイナリファイルには `{ encoding: 'base64' }` を渡します。[`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) で解決されるか、権限の拒否、ファイルの欠落、トランスポートエラーの場合は `null` で解決されます。TypeScript SDK v0.2.121 以降が必要です |

672| `reloadPlugins(options?)` | ディスクからプラグインを再読み込みし、セッション途中でインストールまたは編集したプラグインを実行中のセッションに反映します。セッションのコマンド、サブエージェント、プラグイン、MCP サーバーのステータスを列挙した [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) で解決されます。Agent SDK v0.2.85 以降が必要です。[`holdOnCacheImpact` オプション](#sdkcontrolreloadpluginsresponse)には Agent SDK v0.3.268 以降が必要です |673| `reloadPlugins(options?)` | ディスクからプラグインを再読み込みし、セッション途中でインストールまたは編集したプラグインが実行中のセッションに反映されるようにします。セッションのコマンド、サブエージェント、プラグイン、MCP サーバーのステータスを列挙した [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) で解決されます。Agent SDK v0.2.85 以降が必要です。[`holdOnCacheImpact` オプション](#sdkcontrolreloadpluginsresponse)には Agent SDK v0.3.268 以降が必要です。[`addPlugins` オプション](#load-more-plugin-folders-with-addplugins)には Agent SDK v0.3.301 以降が必要です |

673| `reloadSkills()` | ディスクからスキルを再読み込みし、セッション途中で追加または編集したスキルを実行中のセッションで使用できるようにします。再読み込み後に使用可能なスキルを列挙した [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) で解決されます。Agent SDK v0.3.163 以降が必要です |674| `reloadSkills()` | ディスクからスキルを再読み込みし、セッション途中で追加または編集したスキルを実行中のセッションで使用できるようにします。再読み込み後に使用可能なスキルを列挙した [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) で解決されます。Agent SDK v0.3.163 以降が必要です |

674| `reloadOutputStyles()` | ディスクから[出力スタイル](https://code.claude.com/docs/ja/output-styles.md)を再読み込みし、セッション途中で追加または編集したスタイルファイルを実行中のセッションで使用できるようにします。再読み込み後に使用可能なスタイル名を列挙した [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse) で解決されます。Agent SDK v0.3.261 以降が必要です |675| `reloadOutputStyles()` | ディスクから[出力スタイル](https://code.claude.com/docs/ja/output-styles.md)を再読み込みし、セッション途中で追加または編集したスタイルファイルを実行中のセッションで使用できるようにします。再読み込み後に使用可能なスタイル名を列挙した [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse) で解決されます。Agent SDK v0.3.261 以降が必要です |

675| `seedReadState(path, mtime)` | ファイルを読み取り済みとしてマークし、後の Edit が `File has not been read yet` で失敗しないようにします。[`seedReadState()`](#seedreadstate) を参照してください。TypeScript SDK v0.2.83 以降が必要です |676| `seedReadState(path, mtime)` | ファイルを読み取り済みとしてマークし、後の Edit が `File has not been read yet` で失敗しないようにします。[`seedReadState()`](#seedreadstate) を参照してください。TypeScript SDK v0.2.83 以降が必要です |


1135 1136 

1136`cache_impact` は `held: true` と一緒の場合にのみ存在します。`mcp_servers_added` と `mcp_servers_removed` は、再読み込みによって登録または削除されるプラグインの MCP サーバーを、スコープ付きの `plugin:<plugin>:<server>` 名で示します。これらの名前はプラグイン作成者が付けたものなので、表示する前に検証してください。`lsp_tool_change` は、適用によって LSP ツールが追加されるか削除されるかを示し、どちらも行われない場合は `null` になります。`may-` の形式は、チェックが保留中のプラグインセットを完全には把握できなかったことを意味します。1137`cache_impact` は `held: true` と一緒の場合にのみ存在します。`mcp_servers_added` と `mcp_servers_removed` は、再読み込みによって登録または削除されるプラグインの MCP サーバーを、スコープ付きの `plugin:<plugin>:<server>` 名で示します。これらの名前はプラグイン作成者が付けたものなので、表示する前に検証してください。`lsp_tool_change` は、適用によって LSP ツールが追加されるか削除されるかを示し、どちらも行われない場合は `null` になります。`may-` の形式は、チェックが保留中のプラグインセットを完全には把握できなかったことを意味します。

1137 1138 

1139#### `addPlugins` でプラグインフォルダーを追加で読み込む

1140 

1141起動時に [`plugins`](#options) オプションに含まれていなかったプラグインフォルダーを読み込むには、`path` が絶対パスである [`SdkPluginConfig`](#sdkpluginconfig) エントリのリストを `addPlugins` として `reloadPlugins()` に渡します。Claude Code は新しいフォルダーの読み込みと、セッションの既存プラグインのリロードを一度に行います。そのフォルダーのエントリに [`skipMcpDiscovery`](#sdkpluginconfig) を設定しない限り、追加された各プラグインの MCP サーバーも接続されます。Agent SDK v0.3.301 以降と Claude Code v2.1.301 以降が必要です。

1142 

1143この例では、実行中のクエリ `q` にフォルダーを 1 つ追加し、呼び出しが返ったときにセッションが読み込んでいるすべてのプラグインのインストールパスを出力します。

1144 

1145```typescript theme={null}

1146const result = await q.reloadPlugins({

1147 addPlugins: [{ type: "local", path: "/opt/my-app/plugins/reports" }]

1148});

1149 

1150console.log(result.plugins.map((plugin) => plugin.path));

1151```

1152 

1153フォルダーが読み込まれた場合、出力されるリストには `/opt/my-app/plugins/reports` が含まれ、そのプラグインのコマンドとサブエージェントが `result.commands` と `result.agents` に現れます。

1154 

1155追加されたフォルダーはセッションの一部として残ります。再度 `reloadPlugins()` を呼び出すと、Claude Code は他のプラグインと一緒にそれをリロードするため、`addPlugins` に再度渡す必要はありません。

1156 

1157##### `reloadPlugins()` が `addPlugins` のフォルダーを読み込まない場合

1158 

1159`reloadPlugins()` が reject された場合、`addPlugins` のフォルダーはどれも追加されないため、再試行する際は再度 `addPlugins` に渡してください。reject の原因が次のいずれかである場合、セッションはすでに持っていたプラグインを保持します。

1160 

1161* **相対 `path` または不正な形式のエントリ**: エラーメッセージは `add_plugins must be a list of { type: "local", path } entries with absolute paths` となります。Claude Code は不正なエントリが 1 つでもあるとリスト全体を拒否するため、すべてのエントリを絶対パスの `path` を持つ `{ type: "local", path }` として渡してください

1162* **管理者が管理設定で [`disableSideloadFlags`](https://code.claude.com/docs/ja/settings-reference#disablesideloadflags) をオンにしている**: メッセージは `reload_plugins add_plugins is disabled by managed settings (disableSideloadFlags)` となります。フォルダーを読み込むには、その管理者に設定の削除を依頼してください

1163* **[サンドボックス](https://code.claude.com/docs/ja/sandboxing.md)を再構築できなかった**: [サンドボックス化](#sandboxsettings)がオンの場合、Claude Code はサンドボックス化されたシェルコマンドが追加したフォルダーに書き込めないよう、サンドボックスの設定を再構築します。メッセージは `the sandbox could not be rebuilt to keep shell commands out of this folder` となります。[サンドボックスの設定](#sandboxsettings)が引き続き有効な構成になっているか確認してください

1164 

1165`holdOnCacheImpact` を渡して呼び出しが [`held: true`](#sdkcontrolreloadpluginsresponse) で解決された場合、`addPlugins` のフォルダーは追加されません。それでも追加するには、同じ `addPlugins` リストを指定し、`holdOnCacheImpact` なしで `reloadPlugins()` を再度呼び出してください。

1166 

1167呼び出しが `held: true` なしで解決されたのに、フォルダーが `result.plugins` に含まれていない場合は、まず次の原因を確認してください。

1168 

1169* **フォルダーが存在しないか、そのプラグインの読み込みに失敗した**: `result.error_count` が `1` 以上になります。その場合でもフォルダーはセッションの一部として残ります。フォルダーを修正したら、`reloadPlugins()` を再度呼び出して読み込みます。今度は `addPlugins` に含める必要はありません

1170* **Claude Code 実行ファイルが v2.1.301 より古い**: v2.1.301 より古い実行ファイルは `addPlugins` を無視し、セッションがすでに持っていたプラグインのみをリロードします。[init メッセージ](#sdksystemmessage)の `claude_code_version` を確認し、v2.1.301 以降の実行ファイルを使用してください

1171 

1138### `SDKControlReloadSkillsResponse`1172### `SDKControlReloadSkillsResponse`

1139 1173 

1140[`reloadSkills()`](#query-object) の戻り値の型です。1174[`reloadSkills()`](#query-object) の戻り値の型です。


1430 1464 

1431#### `McpSdkServerConfigWithInstance`1465#### `McpSdkServerConfigWithInstance`

1432 1466 

1467インプロセス MCP サーバー、つまり [`createSdkMcpServer()`](#createsdkmcpserver) が作成し、アプリケーションのプロセス内で実行されるサーバーの設定です。これは `createSdkMcpServer()` が返すオブジェクトに、自分で追加するオプションの [`McpServerToolPolicy`](#mcpservertoolpolicy) エントリの `tools` リストを加えたものです。サーバーのツールのいずれかへの呼び出しに承認を必須にしたり、呼び出しを拒否したりするには、そのツールを指定するエントリを追加します。

1468 

1433```typescript theme={null}1469```typescript theme={null}

1434type McpSdkServerConfigWithInstance = {1470type McpSdkServerConfigWithInstance = {

1435 type: "sdk";1471 type: "sdk";

1436 name: string;1472 name: string;

1437 timeout?: number;1473 timeout?: number;

1474 tools?: McpServerToolPolicy[];

1438 instance: McpServer;1475 instance: McpServer;

1439};1476};

1440```1477```

1441 1478 

1479ポリシーを設定するには、`createSdkMcpServer()` が返すオブジェクトを `mcpServers` 内の新しいオブジェクトに展開し、その新しいオブジェクトに `tools` リストを追加します。`createSdkMcpServer()` 自体の `tools` オプションは別のリストで、ツール定義を保持し、ポリシーエントリは受け付けません。ポリシーリストには Agent SDK v0.3.301 以降が必要です。各 `permission_policy` の値の動作については [`McpServerToolPolicy`](#mcpservertoolpolicy) で説明しています。

1480 

1481この例では、`allowedTools` のワイルドカードで `records` サーバーのすべてのツールを事前承認したうえで、`delete_record` を `always_ask` に指定し、その呼び出しが結局 `canUseTool` に送られるようにしています。`destructiveHint: true` アノテーションがあるため、セッションが `auto` モードで実行されている場合でも、呼び出しはコールバックに到達します。そうでなければ、auto モードの[分類器](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)が承認する可能性があります。

1482 

1483```typescript theme={null}

1484import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";

1485import { z } from "zod";

1486 

1487const deleteRecord = tool(

1488 "delete_record",

1489 "Delete a customer record by ID",

1490 { id: z.string() },

1491 async ({ id }) => ({ content: [{ type: "text", text: `Deleted record ${id}` }] }),

1492 { annotations: { destructiveHint: true } }

1493);

1494 

1495const records = createSdkMcpServer({ name: "records", tools: [deleteRecord] });

1496 

1497for await (const message of query({

1498 prompt: "Delete customer record 42",

1499 options: {

1500 mcpServers: {

1501 // Spread the returned config and add the policy list beside it

1502 records: {

1503 ...records,

1504 tools: [{ name: "delete_record", permission_policy: "always_ask" as const }]

1505 }

1506 },

1507 allowedTools: ["mcp__records__*"],

1508 canUseTool: async (toolName, input) => {

1509 console.log(`Approval requested for ${toolName}`);

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

1511 }

1512 }

1513})) {

1514 if (message.type === "result" && message.subtype === "success") {

1515 console.log(message.result);

1516 }

1517}

1518```

1519 

1520Claude がツールを呼び出すと、`allowedTools` のエントリがなければ呼び出しを承認していたはずですが、スクリプトは `delete_record` ツールが実行される前に `Approval requested for mcp__records__delete_record` を出力します。

1521 

1522セッション実行中にツールのポリシーを変更または解除するには、新しい `tools` の値を持つサーバーの設定を [`setMcpServers()`](#mcpsetserversresult) に渡します。渡した `tools` の値は、Claude がそのサーバーのツールを次に呼び出したときから有効になります。

1523 

1524* **エントリを含むリスト**: エントリが現在のポリシーを置き換えます

1525* **空のリスト**: サーバー上のすべてのポリシーがクリアされます

1526* **`tools` キーなし**: 現在のポリシーが維持されます

1527 

1528その呼び出しには、他のインプロセスサーバーと、以前の `setMcpServers()` 呼び出しで追加したサーバーも含めてください。含めないと、それらは切断されます。

1529 

1530#### `McpServerToolPolicy`

1531 

1532[`McpSdkServerConfigWithInstance`](#mcpsdkserverconfigwithinstance) の `tools` リストの 1 エントリで、サーバーのツールの 1 つを指定し、そのツールへの呼び出しの権限ポリシーを設定します。このリストには Agent SDK v0.3.301 以降と Claude Code v2.1.301 以降が必要です。`pathToClaudeCodeExecutable` で指定した実行ファイルなど、古い Claude Code 実行ファイルはこのリストを無視します。その場合、`always_ask` と `always_deny` は適用されず、各呼び出しは[権限フロー](https://code.claude.com/docs/ja/agent-sdk/permissions.md#how-permissions-are-evaluated)を通ります。

1533 

1534```typescript theme={null}

1535type McpServerToolPolicy = {

1536 name: string;

1537 permission_policy?: "always_allow" | "always_ask" | "always_deny";

1538 org_max_permission?: "allow" | "ask" | "blocked";

1539};

1540```

1541 

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

1543| :- | :- | :- |

1544| `name` | `string` | [`tool()`](#tool) に渡したとおりの、`mcp__<server>__` プレフィックスを除いたツールの名前 |

1545| `permission_policy` | `'always_allow' \| 'always_ask' \| 'always_deny'` | ツールの呼び出しに対する承認ポリシー。[`always_ask` または `always_deny`](#permission-policy-values) を指定します。インプロセスサーバーでは `always_allow` は無視されます。ツールを事前承認するには、代わりに [`allowedTools`](#options) に列挙してください |

1546| `org_max_permission` | `'allow' \| 'ask' \| 'blocked'` | 組織の管理者が設定するツールごとの上限。インプロセスサーバーでは無視されるため、未設定のままにしてください |

1547 

1548##### `permission_policy` の値

1549 

1550各呼び出しを自分で承認するには `always_ask` を、ツールを完全にブロックするには `always_deny` を選択します。

1551 

1552* **`always_ask`**: `allowedTools` のエントリや許可ルールの対象であっても、ツールへの各呼び出しは[承認が必要](https://code.claude.com/docs/ja/agent-sdk/permissions.md#how-permissions-are-evaluated)になります。先に決着しない限り、呼び出しは `canUseTool` コールバックまたは [`permissionPromptToolName`](#options) ツールに送られます。読み込んだプラグイン内の [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が[先に承認できます](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)。それ以外の場合、`dontAsk` モードでは拒否され、[`auto`、`plan`、`bypassPermissions` モード](#permission-modes-that-can-approve-an-always_ask-call)ではコールバックに到達する前に承認される可能性があります

1553* **`always_deny`**: `bypassPermissions` を含むすべての権限モードで、ツールへの呼び出しは[拒否されます](https://code.claude.com/docs/ja/agent-sdk/permissions.md#how-permissions-are-evaluated)。ただし、読み込んだプラグイン内の mod は[それでも承認できます](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)

1554 

1555`canUseTool` と `permissionPromptToolName` のどちらも渡さない場合、または [`permissionPrompts`](#options) を `'none'` に設定した場合、先に決着しない `always_ask` の呼び出しは、[`PermissionRequest` フック](https://code.claude.com/docs/ja/hooks#permissionrequest)が許可しない限り拒否されます。

1556 

1557##### `always_ask` の呼び出しを承認できる権限モード

1558 

1559`auto`、`plan`、`bypassPermissions` モードでは、[`always_ask`](#permission-policy-values) が指定されたツールへの呼び出しが、`canUseTool` コールバックに到達する前に承認される可能性があります。このリストでセッションのモードを探し、その承認がいつ行われるか、またそれでも呼び出しがコールバックに到達するようにするには何を設定すればよいかを確認してください。

1560 

1561* **`auto`**: auto モードの[分類器](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)が呼び出しを確認し、許可することがあります。`auto` モードですべての呼び出しがコールバックに到達するようにするには、ツールの[アノテーション](#toolannotations)で `destructiveHint: true` を設定してください

1562* **`plan`**: セッションで [auto モードが利用可能](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)な間、`readOnlyHint: true` のアノテーションが付いた `always_ask` ツールへの呼び出しは auto モードの分類器に送られ、分類器がそれを許可することがあります。その他の `always_ask` ツールへの呼び出しはコールバックに到達します。読み取り専用ツールの呼び出しもコールバックに到達するようにするには、そのツールのアノテーションで `readOnlyHint: true` と併せて `destructiveHint: true` を追加してください。あるいは、[`useAutoModeDuringPlan`](https://code.claude.com/docs/ja/settings-reference#useautomodeduringplan) を `false` に設定すると、計画中は分類器がオフになります

1563* **`bypassPermissions`**: [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)のように [`CLAUDE_CODE_REMOTE`](https://code.claude.com/docs/ja/env-vars#variables) 環境変数が `true` の場合、ツールのアノテーションにかかわらず、呼び出しはコールバックを経由せずに承認されます。それ以外の環境では、呼び出しはコールバックに到達します。クラウドセッションでもコールバックに到達するようにするには、代わりにセッションを `default` モードまたは `acceptEdits` モードで実行してください

1564 

1565`auto` モードと `plan` モードでは、`destructiveHint` を明示的に `true` に設定してください。[`ToolAnnotations`](#toolannotations) に記載されているデフォルトは `true` ですが、`always_ask` の呼び出しについては、Claude Code は未設定の `destructiveHint` を `false` として扱います。

1566 

1442#### `McpClaudeAIProxyServerConfig`1567#### `McpClaudeAIProxyServerConfig`

1443 1568 

1444```typescript theme={null}1569```typescript theme={null}


1464| フィールド | 型 | 説明 |1589| フィールド | 型 | 説明 |

1465| :- | :- | :- |1590| :- | :- | :- |

1466| `type` | `'local'` | `'local'` である必要があります(現在はローカルプラグインのみサポート) |1591| `type` | `'local'` | `'local'` である必要があります(現在はローカルプラグインのみサポート) |

1467| `path` | `string` | プラグインディレクトリへの絶対パスまたは相対パス |1592| `path` | `string` | プラグインディレクトリへのパス。相対パスは、セッション開始時の [`cwd`](#options) オプションを基準に解決されます。[`addPlugins`](#load-more-plugin-folders-with-addplugins) でセッションの途中にプラグインを読み込む場合は、パスは絶対パスである必要があります |

1468| `skipMcpDiscovery` | `boolean` | `true` の場合、SDK はこのプラグインからスキル、フック、エージェント、コマンドを読み込みますが、その `.mcp.json` やマニフェストの `mcpServers` は読み込みません。アプリケーションがプラグインの MCP 接続を管理する場合に設定します。 |1593| `skipMcpDiscovery` | `boolean` | `true` の場合、SDK はこのプラグインからスキル、フック、エージェント、コマンドを読み込みますが、その `.mcp.json` やマニフェストの `mcpServers` は読み込みません。アプリケーションがプラグインの MCP 接続を管理する場合に設定します。 |

1469 1594 

1470**例:**1595**例:**


5074};5199};

5075```5200```

5076 5201 

5077`source` はサーバーの定義がどこから来たかを示し、[`McpServerProvenance`](#mcpserverprovenance) の `source` と同じ値と信頼ルールを持ちます。フィールドには Agent SDK v0.3.274 以降が必要で、以前のバージョンでは存在しません。5202サーバーをどの程度信頼するかを判断するには `source` を使用し、サーバーがツールに添付した UI リソースを見つけるには各 `tools` エントリの `_meta` を使用します。

5203 

5204* **`source`**: サーバーの定義がどこから来たか。[`McpServerProvenance`](#mcpserverprovenance) の `source` と同じ値を持ちます。他のサーバーがどのような名前で登録されていても `sdk` を報告するのは自分のインプロセスサーバーだけであるため、信頼決定は `name` ではなく `source` に基づいてください。認識しない `source` 値の場合は、そのサーバーを `source` が `sdk` ではない他のサーバーと同じように扱ってください。Agent SDK v0.3.274 以降が必要です

5205* **`_meta`**: サーバーがツールに対して宣言した `_meta` のうち、`ui` オブジェクトと `ui/resourceUri` 文字列。Claude Code は他のすべての `_meta` キーを保留します。`ui/resourceUri` は `ui.resourceUri` の古いトップレベル表記です。サーバーがツールに [MCP Apps UI リソース](https://code.claude.com/docs/ja/mcp.md#reference-mcp-resources) を添付すると、`ui.resourceUri` または `ui/resourceUri` がそのリソースの `ui://` URI を保持します。その URI を [`readMcpResource()`](#query-object) で取得し、アプリケーションでリソースをレンダリングしてください。Agent SDK v0.3.280 以降が必要です

5206 

5207Claude Code は、サブタイプが `init` の `system` メッセージの [`capabilities`](#sdksystemmessage) 配列に `mcp_tool_ui_meta_v1` が含まれる場合にのみ `_meta` を送信します。`mcp_tool_ui_meta_v1` をユーザー自身でオンにすることはありません。

5208 

5209#### ツールの `_meta.ui` が `visibility` のみを保持する場合

5210 

5211サーバーがツールに `ui.resourceUri` を宣言しているのに、アプリケーションが受け取る `_meta.ui` が `visibility` のみを保持している場合、サーバーが送信した `ui` オブジェクトが Claude Code のチェックのいずれかに失敗しています。Claude Code は `ui` と `ui/resourceUri` を個別にチェックするため、一方が失敗しても、もう一方のキーがアプリケーションに届くことがあります。サーバーの `tools/list` レスポンス内の `_meta` を、各キーのチェックと照らし合わせてください。

5212 

5213* **`ui`**: 次の 3 つのチェックをすべて通過した場合、`resourceUri` と `visibility` 以外のメンバーも含めて、変更されずにアプリケーションに届きます。

5214 

5215 * `resourceUri` が存在しないか、`ui://` で始まる文字列である

5216 * `visibility` が存在しないか、`"model"` と `"app"` のみをリストしている

5217 * オブジェクト全体を JSON としてシリアライズしたときに 4,096 文字以下である

5218 

5219 いずれかのチェックに失敗した場合、アプリケーションが受け取るのは最大でも、サーバーがリストした `"model"` と `"app"` のエントリを持つ `visibility` 配列のみをメンバーとする `ui` です。

5220* **`ui/resourceUri`**: `ui://` で始まり、4,096 文字以下の文字列である場合にアプリケーションに届きます。それ以外の場合、Claude Code はこれをドロップします

5078 5221 

5079`tools` エントリの `_meta` は、そのツールの `_meta` の MCP Apps メンバーを持ち、アプリケーションが [`readMcpResource()`](#query-object) でレンダリングする `ui://` リソースを見つけることができます。Claude Code は `ui` オブジェクトと非推奨のフラット `ui/resourceUri` 文字列をパススルーし、他のすべてのキーを保留します。`ui` 内では、`resourceUri` は `ui://` 文字列で、`visibility` はサーバーが設定した場合に `"model"` と `"app"` の配列で、他のメンバーは変更されずにパススルーされます。Claude Code は値が不正な形式の場合、どちらかのキーをドロップし、ツールが宣言しない場合は `_meta` を省略します。フィールドは初期化メッセージの [`capabilities`](#sdksystemmessage) に `mcp_tool_ui_meta_v1` が含まれる場合にのみ存在し、TypeScript Agent SDK v0.3.280 以降が必要です。5222送信する `ui` メンバーも `ui/resourceUri` 文字列も残らない場合、`tools` エントリには `_meta` がまったく含まれません。

5080 5223 

5081### `McpServerStatusConfig`5224### `McpServerStatusConfig`

5082 5225 


5311`setMcpServers()` を呼び出すと、Claude Code は以下のルールを適用します。5454`setMcpServers()` を呼び出すと、Claude Code は以下のルールを適用します。

5312 5455 

5313* **呼び出しが名前を付けないサーバー**: [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)以外では、Claude Code は以前の `setMcpServers()` 呼び出しが追加したサーバーとインプロセス SDK サーバーを切断し、それらを `removed` にリストします。その他のサーバーは実行を続け、`removed` にはリストされません。これには [`mcpServers`](#options) オプションからの stdio、HTTP、SSE サーバー、設定ファイルからのサーバー、プラグイン提供サーバーが含まれます。5456* **呼び出しが名前を付けないサーバー**: [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)以外では、Claude Code は以前の `setMcpServers()` 呼び出しが追加したサーバーとインプロセス SDK サーバーを切断し、それらを `removed` にリストします。その他のサーバーは実行を続け、`removed` にはリストされません。これには [`mcpServers`](#options) オプションからの stdio、HTTP、SSE サーバー、設定ファイルからのサーバー、プラグイン提供サーバーが含まれます。

5314* **呼び出しが名前を付けるサーバー**: Claude Code は、以前の `setMcpServers()` 呼び出しが追加した stdio、HTTP、または SSE サーバーを、その設定が渡したものと異なる場合にのみ置き換えます。その名前ですでに登録されているインプロセス SDK サーバーはそのまま残るため、入れ替えるには、ある呼び出しからそれを除外し、次の呼び出しで追加してください。5457* **以前の `setMcpServers()` 呼び出しが追加した stdio、HTTP、SSE サーバー**: クラウドセッション以外では、同一の設定で再度名前を指定したサーバーは接続とツールを維持します。そのサーバーは `added` にも `removed` にも表示されません。変更した設定を渡すと、Claude Code はその設定を使用してサーバーを再接続し、`removed` ではなく `added` にリストします。

5458* **以前の呼び出しが追加していない、呼び出しが名前を指定する stdio、HTTP、SSE サーバー**: クラウドセッション以外では、Claude Code はサーバーを追加して `added` にリストします。サーバーを拒否した場合は `errors` にリストします。

5459* **呼び出しが名前を指定するインプロセス SDK サーバー**: `mcpServers` または以前の呼び出しですでに登録されているサーバーは、実行中のインスタンスとタイムアウトを維持します。そのサーバーに [`tools` ポリシーリスト](#mcpsdkserverconfigwithinstance) を渡すと、空のリストであってもポリシーが置き換えられます。渡さない場合、ポリシーはそのまま残ります。クラウドセッション以外で新しいインスタンスを実行するには、ある呼び出しでサーバーを除外し、次の呼び出しで名前を指定してください。

5315* **CLI が起動時に開始した組み込みサーバー**: 呼び出しが 1 つを名前付けする場合、Claude Code はそのエントリをドロップし、`errors` で報告します。5460* **CLI が起動時に開始した組み込みサーバー**: 呼び出しが 1 つを名前付けする場合、Claude Code はそのエントリをドロップし、`errors` で報告します。

5316* **`.mcp.json` などの MCP インストールスコープのサーバーと名前が同じ stdio、HTTP、または SSE サーバー**: その名前では、セッションは[インストールスコープのサーバー](https://code.claude.com/docs/ja/mcp.md#mcp-installation-scopes)ではなく、呼び出しで渡したサーバーのツールを使用します。Claude Code v2.1.305 より前では、アプリが[プラグインを再読み込み](#query-object)したときに、Claude Code が渡したサーバーを切断し、インストールスコープのサーバーを接続することがありました。5461* **`.mcp.json` などの MCP インストールスコープのサーバーと名前が同じ stdio、HTTP、または SSE サーバー**: その名前では、セッションは[インストールスコープのサーバー](https://code.claude.com/docs/ja/mcp.md#mcp-installation-scopes)ではなく、呼び出しで渡したサーバーのツールを使用します。Claude Code v2.1.305 より前では、アプリが[プラグインを再読み込み](#query-object)したときに、Claude Code が渡したサーバーを切断し、インストールスコープのサーバーを接続することがありました。

5317 5462 


5798 5943 

5799SDK の公開された型付けは Claude Code v2.1.203 以降で `SDKConversationResetMessage` を宣言します。v2.1.203 より前では、`SDKMessage` は型を宣言せずに参照したため、`skipLibCheck` が無効な場合、`type === "conversation_reset"` での絞り込みは型チェックに失敗しました。5944SDK の公開された型付けは Claude Code v2.1.203 以降で `SDKConversationResetMessage` を宣言します。v2.1.203 より前では、`SDKMessage` は型を宣言せずに参照したため、`skipLibCheck` が無効な場合、`type === "conversation_reset"` での絞り込みは型チェックに失敗しました。

5800 5945 

5946### `BUILTIN_TOOL_NAMES` と `LEGACY_TOOL_NAME_ALIASES`

5947 

5948アプリケーションのユーザーが入力したツール名をチェックするには、これら 2 つの定数を使用します。どちらも、権限ルール、フック matcher、`tools` および `disallowedTools` オプションで記述するのと同じ表記で各名前を記載しています。`@anthropic-ai/claude-agent-sdk` または `@anthropic-ai/claude-agent-sdk/core` からインポートしてください。Agent SDK v0.3.301 以降が必要で、アルファ版です。

5949 

5950SDK の型宣言では、`BUILTIN_TOOL_NAMES` に読み取り専用のタプル型、`LEGACY_TOOL_NAME_ALIASES` に文字列から文字列へのレコード型が与えられています。

5951 

5952```typescript theme={null}

5953const BUILTIN_TOOL_NAMES: readonly ["Agent", /* ...more names... */ "Write"];

5954const LEGACY_TOOL_NAME_ALIASES: Readonly<Record<string, string>>;

5955```

5956 

5957* **`BUILTIN_TOOL_NAMES`**: Claude Code の組み込みツールの名前をアルファベット順に並べたもの(`Agent`、`Bash`、`Read` など)。MCP ツール名は含まれません。型が文字列リテラルのタプルであるため、`(typeof BUILTIN_TOOL_NAMES)[number]` で名前のユニオン型が得られます

5958* **`LEGACY_TOOL_NAME_ALIASES`**: 権限ルール、フック matcher、`tools` および `disallowedTools` オプションが引き続き受け入れる以前のツール名。各キーは以前の名前で、その値は現在の名前です。例えば、`Task` は `Agent` に、`KillShell` と `KillBash` は `TaskStop` にマッピングされます

5959 

5960名前は 2 つのテストのいずれかで確認できます。`BUILTIN_TOOL_NAMES` に含まれているか、`Object.hasOwn(LEGACY_TOOL_NAME_ALIASES, name)` が `true` を返すかです。`BUILTIN_TOOL_NAMES` は MCP ツールと一部の組み込みツールを除外しているため、両方に失敗した名前でも有効な場合があります。`BUILTIN_TOOL_NAMES` から拒否リストを作成した場合でも、Claude はこの定数が除外しているツールを使用できます。すべてのツールを拒否するには、代わりに [`disallowedTools: ["*"]`](https://code.claude.com/docs/ja/agent-sdk/permissions#allow-and-deny-rules) を設定してください。

5961 

5962`BUILTIN_TOOL_NAMES` に名前が含まれていても、セッションがそのツールを持っているとは限りません。例えば、`TodoWrite` は [デフォルトで無効](https://code.claude.com/docs/ja/tools-reference.md) であるにもかかわらずリストされています。セッションがどのツールを持っているかを確認するには、その [`SDKSystemMessage`](#sdksystemmessage) の `tools` 配列を読んでください。その配列には MCP ツールが含まれ、Agent ツールは `Task` としてリストされるため、`BUILTIN_TOOL_NAMES` と比較する前に各名前を `LEGACY_TOOL_NAME_ALIASES` でマッピングしてください。

5963 

5801### `AbortError`5964### `AbortError`

5802 5965 

5803中止操作のカスタムエラークラスです。5966中止操作のカスタムエラークラスです。

agent-teams.md +1 −1

Details

188 188 

189### タスクを割り当てて要求する189### タスクを割り当てて要求する

190 190 

191共有タスクリストはチーム全体の作業を調整します。リーダーがタスクを作成し、チームメンバーがそれらを処理します。タスクには 3 つの状態があります。保留中、進行中、完了。タスクは他のタスクに依存することもできます。未解決の依存関係を持つ保留中のタスクは、それらの依存関係が完了するまで要求できません。191共有タスクリストはチーム全体の作業を調整します。リーダーがタスクを作成し、チームメンバーがそれらを処理します。タスクには 3 つの状態があります。保留中、進行中、完了。タスクは他のタスクに依存することもでき、その場合は依存先のタスクが完了するまでタスクリストでブロック中として表示されます。チームメンバーはブロックされたタスクを自己要求しませんが、ユーザーまたはリーダーは引き続きそのタスクを割り当てることができます。

192 192 

193[Task ツールを持たない](https://code.claude.com/docs/ja/tools-reference.md#task-tool-availability)エージェントは、共有タスクリストの代わりにメッセージを通じて調整します。193[Task ツールを持たない](https://code.claude.com/docs/ja/tools-reference.md#task-tool-availability)エージェントは、共有タスクリストの代わりにメッセージを通じて調整します。

194 194 

agent-view.md +18 −9

Details

206* 完了したセッション:その結果206* 完了したセッション:その結果

207* 作業中のセッション:その完全なステータス文207* 作業中のセッション:その完全なステータス文

208 208 

209次に、セッションにリンクされたプルリクエストがリストされます。ユーザーを待っているセッションの場合、その下に `waiting 3m` のような行が表示されて待機時間を示し、これがパネルに表示される唯一の時間です。行の右端の経過時間は別の数字で、セッションが開始されてからカウントされます。209次に、セッションにリンクされたプルリクエストがリストされます。ユーザーを待っているセッション、またはセーフモードで実行されているセッションでは、その下にもう 1 行表示されます:

210 

211* `waiting 3m` のような行:セッションがユーザーを待っている時間。行の右端の経過時間は別の数字で、セッションが開始されてからカウントされます

212* `safe mode · customizations are off`:シェルから `claude --bg --safe-mode` で開始したため、このセッションは [カスタマイズをオフにした状態](https://code.claude.com/docs/ja/debug-your-config.md#test-against-a-clean-configuration) で実行されています。そのままにしておいてもかまいません。カスタマイズをオンに戻して会話を続けるには、シェルで [`claude stop <id>`](#manage-sessions-from-the-shell) を実行してから [`claude --resume`](https://code.claude.com/docs/ja/sessions#resume-a-session) を実行します

210 213 

211ほとんどの場合、ピークパネルで十分であり、完全なトランスクリプトを開く必要はありません。214ほとんどの場合、ピークパネルで十分であり、完全なトランスクリプトを開く必要はありません。

212 215 


468 471 

469#### バックグラウンドに移動するときに引き継がれるもの472#### バックグラウンドに移動するときに引き継がれるもの

470 473 

471バックグラウンドへの移動では、保存された会話から再開する新しいプロセスが開始され、進行中のバックグラウンド作業はそのプロセスに移動します。実行中のバックグラウンドシェルコマンド、バックグラウンド化されたサブエージェント、動的ワークフロー、[`/loop`](https://code.claude.com/docs/ja/scheduled-tasks) で作成したスケジュールタスク、および Claude の [アーティファクトコメントへの自動返信](https://code.claude.com/docs/ja/artifacts.md#let-claude-reply-to-comments-on-its-own) はすべて引き継がれ、そこで実行を続けます。サブエージェントは自身が開始したすべてのものと一緒に移動するため、その作業のすべてが移動できる場合にのみ引き継がれます。474セッションをバックグラウンドに移動すると、進行中のバックグラウンド作業は種類ごとに、バックグラウンドセッションに引き継がれるか、Claude がそこで再起動した場合にのみ続行されるか、停止するかのいずれかになります。

472 

473[動的ワークフロー](https://code.claude.com/docs/ja/workflows.md) でまだサブエージェントが実行中の場合、Claude Code はバックグラウンドに移動する前に `Background this session?` ダイアログで確認を求め、再起動されるサブエージェントの数を示します。先に完了させるには `Stay` を選択します。確認すると、Claude Code はバックグラウンドセッションで実行を再生します。まだ実行中だったサブエージェントは最初からやり直されるため、それまでに使用したトークンは再度消費されます。完了したサブエージェントのうち、保存された結果を返すものと再実行されるものについては、[一時停止後の再開](https://code.claude.com/docs/ja/workflows.md#resume-after-a-pause) を参照してください。

474 475 

475Claude Code は、実行中の [モニター](https://code.claude.com/docs/ja/tools-reference.md#monitor-tool) など引き継げないバックグラウンド作業を停止し、モニターを所有するバックグラウンド化されたサブエージェントも一緒に停止します。そのような作業が実行中の場合、Claude Code は `Background this session?` ダイアログを表示し、作業を停止する前に確認できるようにします。476* **引き継がれるもの**: 実行中のバックグラウンドシェルコマンド、バックグラウンド化されたサブエージェント、[`/loop`](https://code.claude.com/docs/ja/scheduled-tasks) で作成したスケジュールタスク、および Claude の [アーティファクトコメントへの自動返信](https://code.claude.com/docs/ja/artifacts.md#let-claude-reply-to-comments-on-its-own) は、バックグラウンドセッションで実行を続けます。サブエージェントは自身が開始したすべてのものと一緒に移動するため、その作業のすべてが移動できる場合にのみ引き継がれます。

477* **Claude が再起動した場合にのみ続行されるもの**: 実行中の [動的ワークフロー](https://code.claude.com/docs/ja/workflows.md)。バックグラウンドセッションを確認したときにワークフローが続行されていない場合は、[Claude に再起動を依頼してください](#dynamic-workflows-when-you-background)。

478* **停止するもの**: 実行中の [モニター](https://code.claude.com/docs/ja/tools-reference.md#monitor-tool) など、バックグラウンドセッションに移動できない作業。そのような作業が実行中の場合、Claude Code は `Background this session?` ダイアログを表示し、作業を停止する前に確認できるようにします。モニターを所有するバックグラウンド化されたサブエージェントは、モニターと一緒に停止します。

476 479 

477バックグラウンドに移動した後、セッションは新しいサブエージェント、モニター、バックグラウンドコマンドを開始でき、それらはその後のデタッチや再アタッチをまたいで実行を続けます。480バックグラウンドに移動した後、セッションは新しいサブエージェント、モニター、バックグラウンドコマンドを開始でき、それらはその後のデタッチや再アタッチをまたいで実行を続けます。

478 481 


488 491 

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

490 493 

494##### バックグラウンドに移動したときの動的ワークフロー

495 

496セッションをバックグラウンドに移動した後に [動的ワークフロー](https://code.claude.com/docs/ja/workflows.md) が続行されていない場合は、Claude に [ワークフローの再起動](https://code.claude.com/docs/ja/workflows.md#resume-after-you-leave-the-session) を依頼してください。実行は Claude がバックグラウンドセッションで再起動した場合にのみ続行され、Claude Code はその再起動の前に承認を求めることがあります。セッションの会話には、ワークフローが `could not be resumed` であることを示す通知が表示されます。

497 

498Claude がワークフローを再起動すると、セッションをバックグラウンドに移動した時点でまだ実行中だったサブエージェントは最初からやり直され、トークンを再度消費します。まだ実行中のサブエージェントがある状態で `←` を押すか `/background` を実行すると、`Background this session?` ダイアログにその数が表示されます。先に完了させるには `Stay` を選択します。

499 

491### シェルからエージェントをディスパッチする500### シェルからエージェントをディスパッチする

492 501 

493`--bg` またはその長い形式 `--background` を渡すと、直接バックグラウンドで動作するセッションを開始します。502`--bg` またはその長い形式 `--background` を渡すと、直接バックグラウンドで動作するセッションを開始します。


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

845* **スーパーバイザー自体が停止した**(たとえば、そのプロセスが Claude Code の外部から終了された場合):macOS と Linux では、約 1 分以内に新しいスーパーバイザーが接続しない限り、セッションは停止します。スーパーバイザーを起動するには、シェルで `claude agents` を実行してください。その 1 分が経過した後については、[スーパーバイザーの停止後もセッションを実行し続ける](#keep-sessions-running-after-the-supervisor-stops) を参照してください。854* **スーパーバイザー自体が停止した**(たとえば、そのプロセスが Claude Code の外部から終了された場合):macOS と Linux では、約 1 分以内に新しいスーパーバイザーが接続しない限り、セッションは停止します。スーパーバイザーを起動するには、シェルで `claude agents` を実行してください。その 1 分が経過した後については、[スーパーバイザーの停止後もセッションを実行し続ける](#keep-sessions-running-after-the-supervisor-stops) を参照してください。

846 855 

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

848 857 

849スーパーバイザーとそのセッションは、インタラクティブセッションと同じ保存された認証情報で認証されます。セッションに到達する設定とシェル変数(`PATH` を含む)については、[設定とプロバイダー](#settings-and-provider) を参照してください。ゲートウェイエンドポイントについては、[LLM ゲートウェイ](#llm-gateway) を参照してください。858スーパーバイザーとそのセッションは、インタラクティブセッションと同じ保存された認証情報で認証されます。セッションに到達する設定とシェル変数(`PATH` を含む)については、[設定とプロバイダー](#settings-and-provider) を参照してください。ゲートウェイエンドポイントについては、[LLM ゲートウェイ](#llm-gateway) を参照してください。

850 859 


897 906 

898### バックグラウンド化が `Background this session?` ダイアログを表示する907### バックグラウンド化が `Background this session?` ダイアログを表示する

899 908 

900`←` を押して現在のセッションをバックグラウンドに移すと、Claude Code が `Background this session?` ダイアログを表示する場合、セッションには実行中のバックグラウンド作業があり、バックグラウンド化によって停止、再開、または無人で実行されたままになる可能性があり、Claude Code はそれを実行する前に確認します:909`←` を押してセッションをバックグラウンドに移すときに `Background this session?` ダイアログが表示される場合、そのセッションには、停止する、中断される、または無人で実行され続けることになる実行中のバックグラウンド作業があります:

901 910 

902* **移動できない作業**:セッションには、実行中の [モニター](https://code.claude.com/docs/ja/tools-reference.md#monitor-tool) など、バックグラウンドセッションに移動できない作業があります。ダイアログは Claude Code が停止するバックグラウンド作業を名前で表示し、転送されるタスクは別にカウントします。911* **移動できない作業**:セッションには、実行中の [モニター](https://code.claude.com/docs/ja/tools-reference.md#monitor-tool) など、バックグラウンドセッションに移動できない作業があります。ダイアログは Claude Code が停止するバックグラウンド作業を名前で表示し、転送されるタスクは別にカウントします。

903* **実行中のサブエージェントを持つワークフロー**:[動的ワークフロー](https://code.claude.com/docs/ja/workflows.md)にはまだ実行中のサブエージェントがあります。ワークフロー自体は転送されますが、実行中のサブエージェントは最初から再開され、ダイアログはその数を表示します。912* **実行中のサブエージェントを持つワークフロー**:[動的ワークフロー](https://code.claude.com/docs/ja/workflows.md)にはまだ実行中のサブエージェントがあります。それでもバックグラウンド化すると、それらのサブエージェントは停止し、ダイアログはその数を表示します。Claude が[バックグラウンドセッションでワークフローを再起動する](#dynamic-workflows-when-you-background)と、それらのサブエージェントは最初からやり直します。

904* **自動アーティファクト返信**:Claude が[アーティファクトのコメントに自動で返信している](https://code.claude.com/docs/ja/artifacts.md#let-claude-reply-to-comments-on-its-own)場合があります。これらの返信はバックグラウンドセッションで続行され、ダイアログはそのことを表示します。913* **自動アーティファクト返信**:Claude が[アーティファクトのコメントに自動で返信している](https://code.claude.com/docs/ja/artifacts.md#let-claude-reply-to-comments-on-its-own)場合があります。これらの返信はバックグラウンドセッションで続行され、ダイアログはそのことを表示します。

905 914 

906`/tasks` を実行してすべての実行中のものを確認し、確認してバックグラウンド化するか、`Stay` を選択して作業が完了するまで待機します。[バックグラウンドに移動するときに引き継がれるもの](#what-carries-over-when-you-background)を参照して、どのタスク種が引き継がれ、どのタスク種が Claude Code によって停止されるかを確認してください。915`/tasks` を実行してすべての実行中のものを確認し、確認してバックグラウンド化するか、`Stay` を選択して作業が完了するまで待機します。[バックグラウンドに移動するときに引き継がれるもの](#what-carries-over-when-you-background)を参照して、どのタスク種が引き継がれ、どのタスク種が Claude Code によって停止されるかを確認してください。


1118| v2.1.200 | 古い Claude Code バージョンが `roster.json` のセッションリストを書き換える場合も、既存の `state.json` の保証と同様に新しいバージョンが書き込んだフィールドを保持するため、新しいバージョンで開始されたセッションはスーパーバイザーの再起動後も入力を受け付け続けます。応答しなくなったセッションを開くと、スーパーバイザーがそのプロセスを再起動し、セッションは中断された応答を中断した箇所から続行します。agent view は、`agents` の後に指定された `--plugin-dir` フラグを、ディスパッチされたセッションだけでなく、ディスパッチ入力での自身のサブエージェントとスキルのオートコンプリートにも適用します。 |1127| v2.1.200 | 古い Claude Code バージョンが `roster.json` のセッションリストを書き換える場合も、既存の `state.json` の保証と同様に新しいバージョンが書き込んだフィールドを保持するため、新しいバージョンで開始されたセッションはスーパーバイザーの再起動後も入力を受け付け続けます。応答しなくなったセッションを開くと、スーパーバイザーがそのプロセスを再起動し、セッションは中断された応答を中断した箇所から続行します。agent view は、`agents` の後に指定された `--plugin-dir` フラグを、ディスパッチされたセッションだけでなく、ディスパッチ入力での自身のサブエージェントとスキルのオートコンプリートにも適用します。 |

1119| v2.1.199 | プロセスが低メモリホストで起動を完了する前に終了するバックグラウンドセッションは、単に終了理由だけではなく、その行ステータスに `possibly low memory — free some up and retry` を表示します。`←` または `/background` でセッションをバックグラウンド化すると、その `/color` が新しい行に引き継がれます。 |1128| v2.1.199 | プロセスが低メモリホストで起動を完了する前に終了するバックグラウンドセッションは、単に終了理由だけではなく、その行ステータスに `possibly low memory — free some up and retry` を表示します。`←` または `/background` でセッションをバックグラウンド化すると、その `/color` が新しい行に引き継がれます。 |

1120| v2.1.198 | バックグラウンドセッションが入力を必要とするとき、完了したとき、または失敗したときに、agent view は `preferredNotifChannel` を通じて通知を送信し、`agent_needs_input` または `agent_completed` タイプで `Notification` フックを発火します。`claude attach <id>` 内での `←` と `/exit` は、シェルに戻るのではなく agent view に戻ります。`Ctrl+Z` でシェルに戻ります。作業を worktree に分離したバックグラウンドセッションは、完了時に事前に確認することなくコミットし、独自の分離ブランチをプッシュして(`main` や `master` は決してプッシュしません)、ドラフトのプルリクエストを開きます。`/login` は agent view で実行され、サインインダイアログを開きます。`Background work is running` 終了ダイアログは `Move to background and exit` を提供します。終了ハンドオフはバックグラウンドサブエージェントもカバーし、失敗として報告される代わりに次の起動時にトランスクリプトから再開します。`claude --bg` を `-p` または `--print` と組み合わせるとエラーで拒否されます。バックグラウンドセッションホストは、`connect: no route to host` で失敗する代わりに、最初の LAN アクセス時に macOS のローカルネットワーク権限を要求します。 |1129| v2.1.198 | バックグラウンドセッションが入力を必要とするとき、完了したとき、または失敗したときに、agent view は `preferredNotifChannel` を通じて通知を送信し、`agent_needs_input` または `agent_completed` タイプで `Notification` フックを発火します。`claude attach <id>` 内での `←` と `/exit` は、シェルに戻るのではなく agent view に戻ります。`Ctrl+Z` でシェルに戻ります。作業を worktree に分離したバックグラウンドセッションは、完了時に事前に確認することなくコミットし、独自の分離ブランチをプッシュして(`main` や `master` は決してプッシュしません)、ドラフトのプルリクエストを開きます。`/login` は agent view で実行され、サインインダイアログを開きます。`Background work is running` 終了ダイアログは `Move to background and exit` を提供します。終了ハンドオフはバックグラウンドサブエージェントもカバーし、失敗として報告される代わりに次の起動時にトランスクリプトから再開します。`claude --bg` を `-p` または `--print` と組み合わせるとエラーで拒否されます。バックグラウンドセッションホストは、`connect: no route to host` で失敗する代わりに、最初の LAN アクセス時に macOS のローカルネットワーク権限を要求します。 |

1121| v2.1.196 | 単一の `←` 押下でフォアグラウンドセッションがバックグラウンド化されます。以前のバージョンでは 2 回の押下が必要で、フッターヒントと確認がありました。`claude agents` に渡された `--dangerously-skip-permissions` は、黙って無視されるのではなく、バイパスの免責事項を表示します。名前を付けていない対話型セッションには、セッション一覧と `claude agents --json` で `my-app-3f` のようなデフォルト名が付きます。バックグラウンドのシェルコマンドと動的ワークフローは、Windows を含め、セッションのプロセスが停止、再起動、または更新されても存続します。このハンドオフをオフにするには `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` を設定します。再起動時に空と誤って読み取られたトランスクリプトは、削除されるのではなく `.orphaned-` サフィックス付きの名前に変更されます。 |1130| v2.1.196 | 単一の `←` 押下でフォアグラウンドセッションがバックグラウンド化されます。以前のバージョンでは 2 回の押下が必要で、フッターヒントと確認がありました。`claude agents` に渡された `--dangerously-skip-permissions` は、黙って無視されるのではなく、バイパスの免責事項を表示します。名前を付けていない対話型セッションには、セッション一覧と `claude agents --json` で `my-app-3f` のようなデフォルト名が付きます。バックグラウンドのシェルコマンドは、Windows を含め、セッションのプロセスが停止、再起動、または更新されても存続します。このハンドオフをオフにするには `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` を設定します。再起動時に空と誤って読み取られたトランスクリプトは、削除されるのではなく `.orphaned-` サフィックス付きの名前に変更されます。 |

1122| v2.1.195 | Windows でも、セッションをバックグラウンド化する際に実行中のバックグラウンド作業が引き継がれます。`Completed` グループは残りの垂直スペースを埋め、ヘッダーは短いターミナルでコンパクトになります。古い Claude Code バージョンが、新しいセッションの `state.json` フィールドを破棄したり、それらのセッションを `claude agents` から隠したりしなくなりました。停止されたセッションにアタッチすると、最大 5 秒間の空白画面を表示する代わりに直ちに切り替わります。接続を受け入れることができないスーパーバイザーは自ら終了してロックを解放します。 |1131| v2.1.195 | Windows でも、セッションをバックグラウンド化する際に実行中のバックグラウンド作業が引き継がれます。`Completed` グループは残りの垂直スペースを埋め、ヘッダーは短いターミナルでコンパクトになります。古い Claude Code バージョンが、新しいセッションの `state.json` フィールドを破棄したり、それらのセッションを `claude agents` から隠したりしなくなりました。停止されたセッションにアタッチすると、最大 5 秒間の空白画面を表示する代わりに直ちに切り替わります。接続を受け入れることができないスーパーバイザーは自ら終了してロックを解放します。 |

1123| v2.1.191 | どのサブエージェントとも一致しない `--agent` 名を指定して `claude --bg` を実行すると、起動が失敗します。セッションはデフォルトのエージェントで実行されるのではなく、`--agent '<name>' not found` エラーで直ちに終了します。 |1132| v2.1.191 | どのサブエージェントとも一致しない `--agent` 名を指定して `claude --bg` を実行すると、起動が失敗します。セッションはデフォルトのエージェントで実行されるのではなく、`--agent '<name>' not found` エラーで直ちに終了します。 |

1124| v2.1.174 | バックグラウンドセッションはスーパーバイザーの起動シェルからゲートウェイエンドポイント変数(`ANTHROPIC_BASE_URL` など)を継承しなくなります。スーパーバイザーは事前にウォームアップされたワーカーに新しい認証情報スナップショットを提供し、誤った `Could not resolve authentication method` エラーを修正します。 |1133| v2.1.174 | バックグラウンドセッションはスーパーバイザーの起動シェルからゲートウェイエンドポイント変数(`ANTHROPIC_BASE_URL` など)を継承しなくなります。スーパーバイザーは事前にウォームアップされたワーカーに新しい認証情報スナップショットを提供し、誤った `Could not resolve authentication method` エラーを修正します。 |

Details

925 925 

926切り替える際は、ブロック名を変更するのと同じ編集で、`serve_to_desktop` の行をすべて削除してください。説明で `cli` ブロックに言及している箇所では、`code` ブロックを使用してください。926切り替える際は、ブロック名を変更するのと同じ編集で、`serve_to_desktop` の行をすべて削除してください。説明で `cli` ブロックに言及している箇所では、`code` ブロックを使用してください。

927 927 

928`serve_to_desktop: true` は、ポリシーの `cli` 設定を Code タブに提供するためのレガシーな方法です。Claude Desktop が [`bootstrapUrl`](#claude-desktop-overlay) を通じて接続する場合は効果がありません。ポリシーで `cli` を使用している間に、このキーを示す起動時の警告が表示された場合、それらの設定は Code タブに届いていません。

929 

930* **Code タブを対象にするには**:ユーザーのマシンが [Code タブで `code` の設定を適用する](#apply-code-settings-in-the-code-tab)の条件を満たしたら、`code` に切り替えます

931* **`cli` のままにするには**:ポリシーで `cli` の横に `serve_to_desktop: false` を設定して、警告を抑制します

932 

928#### `cli` に何を入れるか933#### `cli` に何を入れるか

929 934 

930各 `code` または `cli` の値は、完全な Claude Code の `managed-settings.json` ドキュメントであり、MDM や `/etc/claude-code/managed-settings.json` でデプロイするものと同じスキーマを、ここでは YAML で表現したものです。CLI は配信されたドキュメントを、ユーザー設定やプロジェクト設定より上位の管理レベルで、サーバー管理設定の代わりに適用します。そのため、`policyHelper` や `wslInheritsWindowsSettings` など、[OS レベルのポリシーソースに限定された](https://code.claude.com/docs/ja/server-managed-settings.md#current-limitations) 設定は無視されます。935各 `code` または `cli` の値は、完全な Claude Code の `managed-settings.json` ドキュメントであり、MDM や `/etc/claude-code/managed-settings.json` でデプロイするものと同じスキーマを、ここでは YAML で表現したものです。CLI は配信されたドキュメントを、ユーザー設定やプロジェクト設定より上位の管理レベルで、サーバー管理設定の代わりに適用します。そのため、`policyHelper` や `wslInheritsWindowsSettings` など、[OS レベルのポリシーソースに限定された](https://code.claude.com/docs/ja/server-managed-settings.md#current-limitations) 設定は無視されます。


972| - | - | - |977| - | - | - |

973| `availableModels` | ゲートウェイ + CLI | モデル許可リスト。`/v1/messages` でもチェックされるため、パッチされたクライアントはバイパスできません。 |978| `availableModels` | ゲートウェイ + CLI | モデル許可リスト。`/v1/messages` でもチェックされるため、パッチされたクライアントはバイパスできません。 |

974| [`deniedModels`](https://code.claude.com/docs/ja/settings-reference#deniedmodels)、[`availableModelsMatch`](https://code.claude.com/docs/ja/settings-reference#availablemodelsmatch) | ゲートウェイ + CLI | `availableModels` では本来許可される [特定のモデルやバージョンをブロック](https://code.claude.com/docs/ja/model-config.md#block-specific-models-or-versions) します。ブロックされたモデルは `/v1/messages` で `400` により拒否され、`/v1/models` から除外されます。ゲートウェイ自体のチェックには、ゲートウェイサーバー上の Claude Code v2.1.299 以降が必要です。CLI のチェックにはクライアント上の v2.1.283 以降が必要で、それより前のクライアントは両方のキーを無視します。 |979| [`deniedModels`](https://code.claude.com/docs/ja/settings-reference#deniedmodels)、[`availableModelsMatch`](https://code.claude.com/docs/ja/settings-reference#availablemodelsmatch) | ゲートウェイ + CLI | `availableModels` では本来許可される [特定のモデルやバージョンをブロック](https://code.claude.com/docs/ja/model-config.md#block-specific-models-or-versions) します。ブロックされたモデルは `/v1/messages` で `400` により拒否され、`/v1/models` から除外されます。ゲートウェイ自体のチェックには、ゲートウェイサーバー上の Claude Code v2.1.299 以降が必要です。CLI のチェックにはクライアント上の v2.1.283 以降が必要で、それより前のクライアントは両方のキーを無視します。 |

975| `permissions.allow` / `.deny` | CLI | ツールとコマンドのルール。[権限](https://code.claude.com/docs/ja/permissions.md) を参照してください。 |980| `permissions.allow` / `.deny` | CLI | ツールとコマンドのルール。[権限](https://code.claude.com/docs/ja/permissions.md)と [Bash ルールが一致しないもの](https://code.claude.com/docs/ja/permissions.md#bash-rule-limits)を参照してください。 |

976| `permissions.disableBypassPermissionsMode` | CLI | `disable` に設定すると、[`bypassPermissions`](https://code.claude.com/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)(権限プロンプトをスキップするモード)と `--dangerously-skip-permissions` フラグをブロックします |981| `permissions.disableBypassPermissionsMode` | CLI | `disable` に設定すると、[`bypassPermissions`](https://code.claude.com/docs/ja/permission-modes#skip-all-checks-with-bypasspermissions-mode)(権限プロンプトをスキップするモード)と `--dangerously-skip-permissions` フラグをブロックします |

977| `allowManagedPermissionRulesOnly` | CLI | `true` の場合、管理設定が権限ルールの唯一の設定ソースになります。[`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/ja/settings-reference#allowmanagedpermissionrulesonly) エントリには、その場合に Claude Code が無視するすべてのソースがリストされています。 |982| `allowManagedPermissionRulesOnly` | CLI | `true` の場合、管理設定が権限ルールの唯一の設定ソースになります。[`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/ja/settings-reference#allowmanagedpermissionrulesonly) エントリには、その場合に Claude Code が無視するすべてのソースがリストされています。 |

978| `env` | CLI | CLI プロセスにマージされる環境変数。テレメトリ、自動更新、モデル名の上書きに使用します。 |983| `env` | CLI | CLI プロセスにマージされる環境変数。テレメトリ、自動更新、モデル名の上書きに使用します。 |


1001 1006 

1002`cli` キーは以前のリリースでは `settings` という名前で、ゲートウェイは引き続きその表記をエイリアスとして受け付けます。新しいデプロイでは [`code`](#choose-cli-or-code) を使用してください。1007`cli` キーは以前のリリースでは `settings` という名前で、ゲートウェイは引き続きその表記をエイリアスとして受け付けます。新しいデプロイでは [`code`](#choose-cli-or-code) を使用してください。

1003 1008 

1009#### デプロイ前にポリシーをテストする

1010 

1011ポリシーの変更をテストするには、使い捨ての Postgres データベースに対してゲートウェイを起動します。ゲートウェイは、`cli`、`code`、`desktop` ブロックの内容をチェックする前に、Postgres に接続してスキーマのマイグレーションを適用します。データベースに到達できない場合、起動は `could not connect to Postgres` で停止し、それらの内容については何も報告されません。

1012 

1004#### ターミナルセッションのコンテキストウィンドウ1013#### ターミナルセッションのコンテキストウィンドウ

1005 1014 

1006`/login` でサインインしたターミナルセッションは、Opus 4.7 以降、Sonnet 5 以降、および Fable モデルで 1M のコンテキストウィンドウを使用します。モデル ID に `[1m]` サフィックスは不要で、セッションは約 967K トークンで圧縮されます。デベロッパーのマシン上の Claude Code v2.1.287 より前では、Claude Code はモデル ID が `[1m]` で終わらない限り、Opus と Fable モデルのウィンドウを 200K として扱っていました。1015`/login` でサインインしたターミナルセッションは、Opus 4.7 以降、Sonnet 5 以降、および Fable モデルで 1M のコンテキストウィンドウを使用します。モデル ID に `[1m]` サフィックスは不要で、セッションは約 967K トークンで圧縮されます。デベロッパーのマシン上の Claude Code v2.1.287 より前では、Claude Code はモデル ID が `[1m]` で終わらない限り、Opus と Fable モデルのウィンドウを 200K として扱っていました。


1587 # The contractors policy inherits this key.1596 # The contractors policy inherits this key.

1588 enforceAvailableModels: true1597 enforceAvailableModels: true

1589 permissions:1598 permissions:

1590 allow: [Read, Grep, Bash, Edit]1599 allow: [Read, Grep, Edit]

1591 deny: ["WebFetch"]1600 deny: ["WebFetch"]

1592 env: { HTTP_PROXY: http://proxy.example.com:8080 }1601 env: { HTTP_PROXY: http://proxy.example.com:8080 }

1593 1602 

Details

393| 開発者の `/login` が **Cloud gateway** 画面ではなく標準のアカウントピッカーを表示する | そのマシンの管理設定で `forceLoginMethod` または `forceLoginGatewayUrl` が設定されていない | [管理設定ファイル](https://code.claude.com/docs/ja/claude-apps-gateway#set-the-gateway-url)をデバイスにデプロイしてください。`/login` はそこから gateway URL を読み込みます |393| 開発者の `/login` が **Cloud gateway** 画面ではなく標準のアカウントピッカーを表示する | そのマシンの管理設定で `forceLoginMethod` または `forceLoginGatewayUrl` が設定されていない | [管理設定ファイル](https://code.claude.com/docs/ja/claude-apps-gateway#set-the-gateway-url)をデバイスにデプロイしてください。`/login` はそこから gateway URL を読み込みます |

394| 開発者のリクエストが `Not signed in to the Cloud gateway — run /login.` で失敗する | マシンの管理設定で `forceLoginMethod: "gateway"` または `forceLoginGatewayUrl` が設定されており、セッションに gateway サインインがない。残っている claude.ai ログインは要件を満たしていません。 | 開発者に `/login` を実行して gateway サインインを完了させてください。[Administrator policy requires a Cloud gateway sign-in](https://code.claude.com/docs/ja/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in) も参照してください。 |394| 開発者のリクエストが `Not signed in to the Cloud gateway — run /login.` で失敗する | マシンの管理設定で `forceLoginMethod: "gateway"` または `forceLoginGatewayUrl` が設定されており、セッションに gateway サインインがない。残っている claude.ai ログインは要件を満たしていません。 | 開発者に `/login` を実行して gateway サインインを完了させてください。[Administrator policy requires a Cloud gateway sign-in](https://code.claude.com/docs/ja/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in) も参照してください。 |

395| Claude Desktop がブートストラップ設定を取得できないと報告する | `/user/bootstrap` が 404 を返した: ユーザーに一致するポリシーが `desktop` キーを持たないか、ポリシーが一致しなかった。gateway の監査ログは各拒否を `desktop_bootstrap.denied` として理由とともに記録します。 | ユーザーに一致するポリシー、または `match: {}` ベースレイヤーに `desktop` ブロックを追加してください。空の `desktop: {}` で十分です。[Claude Desktop overlay](https://code.claude.com/docs/ja/claude-apps-gateway-config.md#claude-desktop-overlay) を参照してください。 |395| Claude Desktop がブートストラップ設定を取得できないと報告する | `/user/bootstrap` が 404 を返した: ユーザーに一致するポリシーが `desktop` キーを持たないか、ポリシーが一致しなかった。gateway の監査ログは各拒否を `desktop_bootstrap.denied` として理由とともに記録します。 | ユーザーに一致するポリシー、または `match: {}` ベースレイヤーに `desktop` ブロックを追加してください。空の `desktop: {}` で十分です。[Claude Desktop overlay](https://code.claude.com/docs/ja/claude-apps-gateway-config.md#claude-desktop-overlay) を参照してください。 |

396| 監査ログに、`/v1/logs` または `/v1/metrics` で `reason: invalid_token` を伴う `auth.denied` が記録される | マシンの管理設定で [`otelHeadersHelper`](https://code.claude.com/docs/ja/settings-reference#otelheadershelper) を設定している。そのマシン上の Claude Desktop セッションでは、Claude Code はセッショントークンの代わりにヘルパーからの `Authorization` ヘッダーを gateway のテレメトリリレーに送信します。Claude Desktop が v2.1.307 より前の Claude Code をバンドルしている場合、それらの設定で `OTEL_EXPORTER_OTLP_HEADERS` またはシグナルごとの形式に `Authorization` ヘッダーを設定すると、同じ拒否が発生します。 | それらの設定からヘルパーを削除してください。Claude Desktop が v2.1.307 より前の Claude Code をバンドルしている場合は、変数を削除してください。 |

396| スタートアップが `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` を表示する | インストールされている Claude Code ビルドが gateway サポート前のバージョン | 開発者に Claude Code を Cloud gateway サポートを含むリリースに更新させてください |397| スタートアップが `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` を表示する | インストールされている Claude Code ビルドが gateway サポート前のバージョン | 開発者に Claude Code を Cloud gateway サポートを含むリリースに更新させてください |

397| スタートアップが `Administrator policy requires a Cloud gateway sign-in on this machine` で終了する | 開発者の環境が `ANTHROPIC_API_KEY` または `ANTHROPIC_AUTH_TOKEN` を設定しているか、設定が [`apiKeyHelper`](https://code.claude.com/docs/ja/settings-reference#apikeyhelper) を設定しているか、または以前の Claude Console ログインからの API キーがまだ保存されている | 適用される各項目をクリアするよう開発者に指示してください: 変数を設定解除するか、`apiKeyHelper` エントリを削除するか、`claude auth logout` を実行して保存されたキーを削除してください。`CLAUDE_CODE_USE_*` でクラウドプロバイダーを選択するセッションはサインインなしで開始されます。その他のすべてのセッションについては、開発者に `claude` を起動して `/login` でサインインさせてください。[Administrator policy requires a Cloud gateway sign-in](https://code.claude.com/docs/ja/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in) も参照してください。 |398| スタートアップが `Administrator policy requires a Cloud gateway sign-in on this machine` で終了する | 開発者の環境が `ANTHROPIC_API_KEY` または `ANTHROPIC_AUTH_TOKEN` を設定しているか、設定が [`apiKeyHelper`](https://code.claude.com/docs/ja/settings-reference#apikeyhelper) を設定しているか、または以前の Claude Console ログインからの API キーがまだ保存されている | 適用される各項目をクリアするよう開発者に指示してください: 変数を設定解除するか、`apiKeyHelper` エントリを削除するか、`claude auth logout` を実行して保存されたキーを削除してください。`CLAUDE_CODE_USE_*` でクラウドプロバイダーを選択するセッションはサインインなしで開始されます。その他のすべてのセッションについては、開発者に `claude` を起動して `/login` でサインインさせてください。[Administrator policy requires a Cloud gateway sign-in](https://code.claude.com/docs/ja/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in) も参照してください。 |

398| スタートアップまたは `/login` が管理設定ロード時の 403 の後に `Claude Code may not be enabled for your organization` を報告する | gateway、またはその前にあるもの、が `/managed/settings` リクエストに 403 で応答した。gateway 自体の設定ルートは 403 で応答することはありません。ステータスは [`access_control`](https://code.claude.com/docs/ja/claude-apps-gateway-config#http-tuning) IP チェック、または gateway の前にあるプロキシまたは WAF から来ています。監査ログは IP チェック拒否を `access.denied` として理由とともに記録します。開発者はサインイン状態を保ちます。 | 失敗時の監査ログで `access.denied` を確認し、`access_control` リストまたはフロントエンドを修正してから、開発者に `claude` を再度起動させてください |399| スタートアップまたは `/login` が管理設定ロード時の 403 の後に `Claude Code may not be enabled for your organization` を報告する | gateway、またはその前にあるもの、が `/managed/settings` リクエストに 403 で応答した。gateway 自体の設定ルートは 403 で応答することはありません。ステータスは [`access_control`](https://code.claude.com/docs/ja/claude-apps-gateway-config#http-tuning) IP チェック、または gateway の前にあるプロキシまたは WAF から来ています。監査ログは IP チェック拒否を `access.denied` として理由とともに記録します。開発者はサインイン状態を保ちます。 | 失敗時の監査ログで `access.denied` を確認し、`access_control` リストまたはフロントエンドを修正してから、開発者に `claude` を再度起動させてください |

Details

288 288 

289[Agent teams](https://code.claude.com/docs/ja/agent-teams.md)はデフォルトでオフですが、[環境変数](https://code.claude.com/docs/ja/cloud-environments.md#set-environment-variables)に `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` を追加することで有効にできます。289[Agent teams](https://code.claude.com/docs/ja/agent-teams.md)はデフォルトでオフですが、[環境変数](https://code.claude.com/docs/ja/cloud-environments.md#set-environment-variables)に `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` を追加することで有効にできます。

290 290 

291### 会話内のプラグインの提案

292 

293会話内に 1 つ以上の[プラグイン](https://code.claude.com/docs/ja/plugins/overview.md)を一覧表示し、**Add** ボタンを備えたカードが表示された場合、Claude がタスクのためにプラグインを提案していることを意味します。Claude はユーザーが求めなくてもこれらの提案を行うことがあります。応答する必要はなく、どちらの場合でも Claude はタスクを続行します。

294 

295#### 提案されたプラグインを追加または削除する

296 

297プラグインの **Add** を選択すると、claude.ai アカウントでそのプラグインがオンになり、セッション終了後もオンのままになります。元に戻すには、カードから追加したプラグインを開き、**Manage** を選択して claude.ai 上のプラグインのページに移動し、そのページからプラグインを削除します。

298 

299#### プラグインの提案をオフにする

300 

301Claude がプラグインを提案しないようにするには、[権限ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions)で `SearchPlugins` ツールと `SuggestPluginInstall` ツールを拒否します。[プロジェクト](https://code.claude.com/docs/ja/claude-projects.md)外で 1 つのリポジトリを持つセッションでは、両方のツール名を `permissions.deny` の下に列挙して、ルールをそのリポジトリの `.claude/settings.json` にコミットします:

302 

303```json theme={null}

304{

305 "permissions": {

306 "deny": ["SearchPlugins", "SuggestPluginInstall"]

307 }

308}

309```

310 

311Claude Code は、セッションに適用される[管理設定](https://code.claude.com/docs/ja/managed-settings.md)で [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/ja/settings-reference#allowmanagedpermissionrulesonly) が設定されている場合、これらの拒否ルールを含め、リポジトリの `.claude/settings.json` 内の権限ルールを無視します。その場合は、代わりにそれらの管理設定にルールを記述します。複数のリポジトリを持つセッションやプロジェクト内のクラウドスレッドなど、その他の構成については、どの[設定がクラウドセッションに適用されるか](https://code.claude.com/docs/ja/settings.md#settings-in-cloud-sessions)を参照してください。

312 

291### キューに入ったメッセージを取り戻す313### キューに入ったメッセージを取り戻す

292 314 

293Claude が作業中にメッセージを送信すると、Claude がそれを読むまでメッセージはキューに入ります。キューに入ったメッセージを取り戻すには、その上の ✕ をクリックします。テキストはメッセージボックスに戻るため、編集するか別のものを送信できます。315Claude が作業中にメッセージを送信すると、Claude がそれを読むまでメッセージはキューに入ります。キューに入ったメッセージを取り戻すには、その上の ✕ をクリックします。テキストはメッセージボックスに戻るため、編集するか別のものを送信できます。

Details

103 103 

104作成したコンフィグ以外に、`~/.claude` には Claude Code がセッション中に書き込むデータが保存されます。これらのファイルはプレーンテキストです。ツールを通過するすべてのものは、ディスク上のトランスクリプトに書き込まれます。ファイルの内容、コマンド出力、貼り付けたテキストなどです。104作成したコンフィグ以外に、`~/.claude` には Claude Code がセッション中に書き込むデータが保存されます。これらのファイルはプレーンテキストです。ツールを通過するすべてのものは、ディスク上のトランスクリプトに書き込まれます。ファイルの内容、コマンド出力、貼り付けたテキストなどです。

105 105 

106トランスクリプトには、Claude Code がメッセージとともにモデルに送信する内容も含まれる場合があります:

107 

108* システムプロンプト

109* ツール定義

110* リクエストパラメータ

111* 読み込んだ指示ファイル(CLAUDE.md など)

112 

106### 自動的にクリーンアップされるファイル113### 自動的にクリーンアップされるファイル

107 114 

108Claude Code は、[`cleanupPeriodDays`](https://code.claude.com/docs/ja/settings-reference#cleanupperioddays) より古いファイルを以下のパスから削除します。ただし、保持期間を安全に判定できる場合に限ります。デフォルトは 30 日で、最小値は 1 です。`0` に設定するとバリデーションエラーが発生します。同じ経過日数の閾値が、[孤立した worktrees の自動削除](https://code.claude.com/docs/ja/worktrees.md#clean-up-subagent-and-background-session-worktrees)にも適用されます。115Claude Code は、[`cleanupPeriodDays`](https://code.claude.com/docs/ja/settings-reference#cleanupperioddays) より古いファイルを以下のパスから削除します。ただし、保持期間を安全に判定できる場合に限ります。デフォルトは 30 日で、最小値は 1 です。`0` に設定するとバリデーションエラーが発生します。同じ経過日数の閾値が、[孤立した worktrees の自動削除](https://code.claude.com/docs/ja/worktrees.md#clean-up-subagent-and-background-session-worktrees)にも適用されます。

109 116 

110| `~/.claude/` 下のパス | 内容 |117| `~/.claude/` 下のパス | 内容 |

111| - | - |118| - | - |

112| `projects/<project>/<session>.jsonl` | 完全な会話トランスクリプト:すべてのメッセージ、ツール呼び出し、ツール結果 |119| `projects/<project>/<session>.jsonl` | 会話トランスクリプト:メッセージ、ツール呼び出し、ツール結果、および Claude Code がモデルに送信したリクエストのシステムプロンプト、ツール定義、パラメータ |

113| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`、`projects/<project>/<session>.jsonl.superseded-<timestamp>` | Claude Code が上書きまたは削除する代わりに脇に置いたセッションの前のトランスクリプト。セッションピッカーには表示されません |120| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`、`projects/<project>/<session>.jsonl.superseded-<timestamp>` | Claude Code が上書きまたは削除する代わりに脇に置いたセッションの前のトランスクリプト。セッションピッカーには表示されません |

114| `projects/<project>/<session>/subagents/` | [サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)の会話トランスクリプト。親セッションのトランスクリプトが経過時間で削除されるときに削除されます |121| `projects/<project>/<session>/subagents/` | セッショントランスクリプトと同じ形式の[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)トランスクリプト。親セッションのトランスクリプトが経過時間で削除されるときに一緒に削除されます |

115| `projects/<project>/<session>/tool-results/` | 別ファイルにこぼれた大きなツール出力、および [MCP ツールが返す画像](https://code.claude.com/docs/ja/mcp.md#images-in-tool-results)のフルサイズコピー |122| `projects/<project>/<session>/tool-results/` | 別ファイルにこぼれた大きなツール出力、および [MCP ツールが返す画像](https://code.claude.com/docs/ja/mcp.md#images-in-tool-results)のフルサイズコピー |

116| `projects/<project>/<session>/mcp-tasks/` | 再開したセッションが実行中の [MCP タスク](https://code.claude.com/docs/ja/mcp.md#mcp-tasks-that-run-on-the-server)を再び追跡するために必要な情報、および Claude がまだ読み取っていない完了済みタスクの結果 |123| `projects/<project>/<session>/mcp-tasks/` | 再開したセッションが実行中の [MCP タスク](https://code.claude.com/docs/ja/mcp.md#mcp-tasks-that-run-on-the-server)を再び追跡するために必要な情報、および Claude がまだ読み取っていない完了済みタスクの結果 |

117| `file-history/<session>/` | Claude が変更したファイルの編集前スナップショット。[チェックポイント復元](https://code.claude.com/docs/ja/checkpointing.md)に使用されます。最新 100 個のチェックポイントのスナップショットを保持します。保持されたチェックポイントが参照していないスナップショットファイルは削除されます。ただし、各ファイルの最初のスナップショットは除きます |124| `file-history/<session>/` | Claude が変更したファイルの編集前スナップショット。[チェックポイント復元](https://code.claude.com/docs/ja/checkpointing.md)に使用されます。最新 100 個のチェックポイントのスナップショットを保持します。保持されたチェックポイントが参照していないスナップショットファイルは削除されます。ただし、各ファイルの最初のスナップショットは除きます |

Details

6 6 

7> Claude Security プラグインをインストールして、Claude Code セッション内でコードベースの脆弱性をスキャンし、検出結果をレビューして適用できるパッチに変換します。7> Claude Security プラグインをインストールして、Claude Code セッション内でコードベースの脆弱性をスキャンし、検出結果をレビューして適用できるパッチに変換します。

8 8 

9Claude Security プラグインは、Claude Code セッション内でコードベースのマルチエージェント脆弱性スキャンを実行します。Claude エージェントのチームがアーキテクチャをマッピングし、脅威モデルを構築し、脆弱性を検出し、すべての検出結果を独立してレビューしてからレポートを作成します。プラグインを使用して、リポジトリ全体をスキャンするか、[変更のみをスキャン](#scan-only-your-changes)することができます。例えば、ブランチの diff、プルリクエストの diff、または単一のコミットなどです。その後、選択した検出結果をレビューして自分で適用できるパッチに変換します。9Claude Security プラグインは、Claude Code セッション内でコードベースのマルチエージェント脆弱性スキャンを実行します。[デフォルト](#choose-a-scan-effort)では、リポジトリ全体をスキャンすると、Claude エージェントがアーキテクチャをマッピングし、脅威モデルを構築し、脆弱性を検出し、すべての検出結果を独立してレビューしてからレポートを作成します。

10 

11プラグインを使用して、リポジトリ全体をスキャンするか、[変更のみをスキャン](#scan-only-your-changes)することができます。例えば、ブランチの差分、プルリクエストの差分、または単一のコミットなどです。その後、選択した検出結果をレビューして自分で適用できるパッチに変換します。

10 12 

11プラグインはセッション内でローカルに実行され、[Claude Code でアクセスできるモデルを使用](#models-and-providers)し、各スキャンは[使用量](https://code.claude.com/docs/ja/costs.md)にカウントされます。リポジトリを監視するマネージドサービスが必要な場合、または [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5) でスキャンを実行したい場合は、Enterprise プランで利用可能な [Claude Security](https://claude.com/product/claude-security) プロダクトを参照してください。13プラグインはセッション内でローカルに実行され、[Claude Code でアクセスできるモデルを使用](#models-and-providers)し、各スキャンは[使用量](https://code.claude.com/docs/ja/costs.md)にカウントされます。リポジトリを監視するマネージドサービスが必要な場合、または [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5) でスキャンを実行したい場合は、Enterprise プランで利用可能な [Claude Security](https://claude.com/product/claude-security) プロダクトを参照してください。

12 14 


51 53 

52プラグインがアクティブになり、[コードベースをスキャンして修正](#scan-and-fix-your-codebase)する準備ができました。54プラグインがアクティブになり、[コードベースをスキャンして修正](#scan-and-fix-your-codebase)する準備ができました。

53 55 

56### プラグインを更新する

57 

58プラグインを自分で更新するには、[今すぐプラグインを更新する](https://code.claude.com/docs/ja/plugins/install.md#update-plugins-now)を参照してください。自動更新がオフになっていない限り、Claude Code は[プラグインを自動的に更新](https://code.claude.com/docs/ja/plugins/install.md#keep-plugins-updated)します。

59 

54### プラグインをアンインストールする60### プラグインをアンインストールする

55 61 

56プラグインを削除するには、`/plugin` メニューからアンインストールするか、ターミナルで `claude plugin uninstall claude-security` を実行します。62プラグインを削除するには、`/plugin` メニューからアンインストールするか、ターミナルで `claude plugin uninstall claude-security` を実行します。


95 101 

96大規模なリポジトリでは、ツリー全体ではなく、一度に 1 つの領域をスキャンします。プラグインが提供するフォーカスされたスコープの 1 つを選択します。例えば、API レイヤーまたは認証コードなど。実行は選択内容に合わせてサイズが調整されます。レポートのカバレッジセクションには、何が検査され、何が検査されなかったかが記載されています。別の領域で別のスキャンを実行してください。102大規模なリポジトリでは、ツリー全体ではなく、一度に 1 つの領域をスキャンします。プラグインが提供するフォーカスされたスコープの 1 つを選択します。例えば、API レイヤーまたは認証コードなど。実行は選択内容に合わせてサイズが調整されます。レポートのカバレッジセクションには、何が検査され、何が検査されなかったかが記載されています。別の領域で別のスキャンを実行してください。

97 103 

104### スキャンの労力を選択する

105 

106スキャンの労力は、スキャンをどの程度深く行うかを設定します。検出結果は、`low`、`medium`、`high` のいずれでも同じ独立した検証を経ます。

107 

108* **`low`**: 簡単な初回確認。コードベースをスキャンする場合、アーキテクチャマップと脅威モデルをスキップします。

109* **`medium`**: デフォルト。

110* **`high`**: `medium` の処理に加えて、同じコード内で脆弱性をさらに探索します。

111 

112Claude Code のプロンプトで、リクエスト内にスキャンの労力を指定します。例えば `/claude-security scan my public API code at high` や `/claude-security scan my branch at high` のようにします。

113 

114大規模なリポジトリのスキャンで期待より検出結果が少ない場合は、`high` のスキャンの労力を選択するか、2 回目のスキャンを実行するか、その両方を行ってください。いずれの方法でも、1 回の `medium` スキャンでは報告されない検出結果が報告される可能性があります。

115 

98### スキャン結果を読む116### スキャン結果を読む

99 117 

100すべてのスキャンは、リポジトリ内のタイムスタンプ付き `CLAUDE-SECURITY-<timestamp>/` ディレクトリに結果を書き込みます。118すべてのスキャンは、リポジトリ内のタイムスタンプ付き `CLAUDE-SECURITY-<timestamp>/` ディレクトリに結果を書き込みます。


102* **`CLAUDE-SECURITY-RESULTS.md`**: レポート。各検出結果の ID(`F1` など)、影響、悪用シナリオ、重大度、信頼度、推奨事項が含まれています。120* **`CLAUDE-SECURITY-RESULTS.md`**: レポート。各検出結果の ID(`F1` など)、影響、悪用シナリオ、重大度、信頼度、推奨事項が含まれています。

103* **`CLAUDE-SECURITY-RESULTS.jsonl`**: 同じ検出結果を機械可読形式で、1 行に 1 つの JSON オブジェクト。121* **`CLAUDE-SECURITY-RESULTS.jsonl`**: 同じ検出結果を機械可読形式で、1 行に 1 つの JSON オブジェクト。

104* **`CLAUDE-SECURITY-RESULTS.sarif`**: 同じ検出結果を [SARIF 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html) ログとして。GitHub コードスキャンおよび標準を読む他のツール用です。スキャンは検出結果を [CWE](https://cwe.mitre.org/) 弱点カテゴリの下に分類します。122* **`CLAUDE-SECURITY-RESULTS.sarif`**: 同じ検出結果を [SARIF 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html) ログとして。GitHub コードスキャンおよび標準を読む他のツール用です。スキャンは検出結果を [CWE](https://cwe.mitre.org/) 弱点カテゴリの下に分類します。

105* **`CLAUDE-SECURITY-REVISION-<commit>.json`**: リビジョンスタンプ。スキャンされたコミット、どの程度の労力で、コミットされていない変更がスキャンされたツリーの一部であったかどうか、実行がどの程度徹底的に検証されたかを記録します。これにより、レポートは常にそれが説明するコードに関連付けられます。バージョン管理外のスキャンは、コミットの代わりに `UNVERSIONED` をスタンプします。123* **`CLAUDE-SECURITY-REVISION-<commit>.json`**: リビジョンスタンプ。スキャンされたコミット、どの[スキャンの労力](#choose-a-scan-effort)で実行されたか、コミットされていない変更がスキャンされたツリーの一部であったかどうか、実行がどの程度徹底的に検証されたかを記録します。これにより、レポートは常にそれが説明するコードに関連付けられます。バージョン管理外のスキャンは、コミットの代わりに `UNVERSIONED` をスタンプします。

106 124 

107そのディレクトリはスキャンがチェックアウトに加える唯一の変更であり、独自の `.gitignore` を含むため、迷った `git add` がレポートをコミットに掃き込むことはありません。監査証跡のためにレポートを履歴に保持するには、その 1 つの `.gitignore` ファイルを削除して、ディレクトリを他のものと同様にコミットします。125そのディレクトリはスキャンがチェックアウトに加える唯一の変更であり、独自の `.gitignore` を含むため、迷った `git add` がレポートをコミットに掃き込むことはありません。監査証跡のためにレポートを履歴に保持するには、その 1 つの `.gitignore` ファイルを削除して、ディレクトリを他のものと同様にコミットします。

108 126 

desktop.md +64 −0

Details

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

995* **ネットワーク**:Claude Code はリモートマシンで実行され、そこからネットワークリクエストを行うため、マシンには [Claude Code が必要とするネットワークアクセス](https://code.claude.com/docs/ja/network-config.md#network-access-requirements)が必要です。マシンが Claude Code をダウンロードできない場合、Desktop はコンピューター上でダウンロードしてアップロードします。Claude Code のその他のリクエストは引き続きリモートマシンから送信されます。Linux のリモートマシンで、それらのリクエストにプロキシが必要な場合は、[SSH セッション用に設定してください](#set-a-proxy-or-a-ca-certificate-for-ssh-sessions)。995* **ネットワーク**:Claude Code はリモートマシンで実行され、そこからネットワークリクエストを行うため、マシンには [Claude Code が必要とするネットワークアクセス](https://code.claude.com/docs/ja/network-config.md#network-access-requirements)が必要です。マシンが Claude Code をダウンロードできない場合、Desktop はコンピューター上でダウンロードしてアップロードします。Claude Code のその他のリクエストは引き続きリモートマシンから送信されます。Linux のリモートマシンで、それらのリクエストにプロキシが必要な場合は、[SSH セッション用に設定してください](#set-a-proxy-or-a-ca-certificate-for-ssh-sessions)。

996 996 

997#### リモートマシンのホスト鍵を確認する

998 

999ホスト鍵とは、リモートマシンが自分がどのマシンであるかを証明するために提示する鍵で、フィンガープリントはその鍵を短くした形です。鍵を信頼すると、コンピューターはその鍵を保存し、以降はその鍵を提示する相手に確認なしで接続します。何かが接続を傍受している可能性があるため、信頼する前に鍵を確認してください。

1000 

1001まず、フィンガープリントが表示された場所から、その鍵がどのマシンのものかを特定します。

1002 

1003* **Desktop が `Connect to <host> for the first time?` と尋ねた場合、または Review new key を選択した場合**: Desktop が示すマシン `<host>`

1004* **Desktop が `Connect through <jump host> for the first time?` と尋ねた場合**: 踏み台ホスト。これは接続が経由するマシンで、接続先のマシンではありません

1005* **ターミナルで `ssh` が尋ねるか警告した場合**: メッセージに示されたマシン。入力したマシンとは異なる場合があります

1006 

1007そのマシン自体のフィンガープリントを、確認対象の接続経由ではなく、マシン自体から取得します。

1008 

1009* **他の人がマシンを管理している場合**: ホスト鍵のフィンガープリントを問い合わせます

1010* **自分が管理していて、Linux または macOS を実行している場合**: マシンのコンソールで、またはすでに信頼している接続経由で、`ssh-keygen -lf /etc/ssh/ssh_host_<type>_key.pub` を実行します。`<type>` には、Desktop または `ssh` がフィンガープリントの横に表示する鍵の種類を小文字で指定します。たとえば `ED25519` や `ssh-ed25519` なら `ed25519` です。

1011 

1012次に、マシン自体のフィンガープリントと表示されたフィンガープリントを比較します。

1013 

1014* **一致する場合**: 鍵を信頼します。Desktop では **Trust and connect** または **Trust new key** を選択し、ターミナルでは `yes` と答えます。

1015* **一致しない、または確認できない場合**: 接続しないでください。Desktop では **Cancel** を選択し、ターミナルでは `no` と答えます。他の人がマシンを管理している場合は、表示されたフィンガープリントを伝えてください。

1016 

1017トラブルシューティングの手順からここに来た場合は、どちらの結果でもその手順に戻ってください。

1018 

997#### SSH セッションのプロキシまたは CA 証明書を設定する1019#### SSH セッションのプロキシまたは CA 証明書を設定する

998 1020 

999Linux のリモートマシンがプロキシ経由でインターネットに接続する場合、または CA 証明書が必要な場合は、そのマシン上の `~/.claude/settings.json` の `env` に[プロキシと CA の変数](https://code.claude.com/docs/ja/network-config.md)を追加してください。そのマシンの `~/.profile`、`~/.bash_profile`、`~/.zprofile`、または `~/.zshrc` ですでにエクスポートしている場合でも追加してください。1021Linux のリモートマシンがプロキシ経由でインターネットに接続する場合、または CA 証明書が必要な場合は、そのマシン上の `~/.claude/settings.json` の `env` に[プロキシと CA の変数](https://code.claude.com/docs/ja/network-config.md)を追加してください。そのマシンの `~/.profile`、`~/.bash_profile`、`~/.zprofile`、または `~/.zshrc` ですでにエクスポートしている場合でも追加してください。


2135 2157 

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

2137 2159 

2160### SSH host key verification failed

2161 

2162以下のいずれかのメッセージは、Desktop が[ホストキー](#check-a-remote-machines-host-key)を拒否したことを意味します:

2163 

2164* `Couldn't connect to <host>` カードの **View details** に表示される `SSH host key verification failed` または `Host denied (verification failed)`

2165* プロンプトボックスの横、または **Test connection** の後に表示される `Connection failed: Host key changed or not trusted`

2166* 切断されたセッションに表示される `<host>'s host key is not trusted` または `<host>'s host key has changed`

2167 

2168Desktop がキーを拒否するのは通常、コンピューターに保存されているキーと異なる場合、またはそのマシンのキーが保存されていない場合です。再構築または再インストールされたマシンは通常新しいキーを提示し、接続を傍受するものも同様です。再度接続する前に、Desktop がメッセージとともに表示する内容を出発点としてキーを確認してください:

2169 

2170* **Windows を使用していて、Desktop に `Connection failed: Host key changed or not trusted` と表示される場合**:まず [OpenSSH クライアントがない](#ssh-host-key-refused-on-windows-without-an-openssh-client)可能性を除外します

2171* **Desktop が `UserKnownHostsFile` を設定するよう指示する場合**:`~/.ssh/config` でこれを `~/.ssh/known_hosts` に設定してから、[ターミナルからキーを確認](#check-the-host-key-from-a-terminal)します

2172* **Review new key ボタンが表示される場合**:それを選択し、Desktop が表示するフィンガープリントをそのマシン自体のフィンガープリントと[比較](#check-a-remote-machines-host-key)します。一致する場合は **Trust new key** を選択して保存済みのキーを置き換えます。一致しない場合は **Cancel** を選択します。

2173* **Review new key ボタンが表示されない、Desktop に `Couldn't show the new key` と表示される、または Trust new key の後も Desktop がキーを再び拒否する場合**:[ターミナルからキーを確認](#check-the-host-key-from-a-terminal)します

2174 

2175#### ターミナルからホストキーを確認する

2176 

2177Desktop の [SSH 接続](#ssh-sessions)の **SSH host** の値を使用して、コンピューター上で `ssh <SSH host>` を実行します。接続に **SSH port** の値がある場合は `-p <SSH port>` を追加します。Windows では PowerShell を使用してください。Desktop は Git Bash や WSL の `ssh` では接続しないためです。PowerShell で `ssh` が見つからない場合は、[Microsoft の OpenSSH クライアントをインストール](#ssh-host-key-refused-on-windows-without-an-openssh-client)します。

2178 

2179`ssh` がメッセージ内でどのマシンを示しているかを確認します(`<SSH host>` ではなくジャンプホストの場合もあります)。その後、該当するケースに従います:

2180 

2181* **`ssh` が接続を続行するかどうか尋ねる場合**:表示されるフィンガープリントをそのマシン自体のフィンガープリントと[比較](#check-a-remote-machines-host-key)します。一致する場合にのみ `yes` と答えます。

2182* **`ssh` がホストキーが変更されたと警告する場合**:警告のフィンガープリントをそのマシン自体のフィンガープリントと[比較](#check-a-remote-machines-host-key)します。一致する場合にのみ、`Offending <type> key in <file>:<line>` が示す行を削除して `ssh` を再実行します。`ssh` が別の行について再び警告する場合は、同様に比較、削除、再実行を行います。

2183* **`ssh` が尋ねることなく未知のキーを拒否する場合**:そのマシンの `known_hosts` 行を、確認対象の接続経由ではなく、そのマシンの管理者から入手します。`ssh` のメッセージに含まれる名前をホスト名としてその行を `known_hosts` ファイルに追加し、`ssh` を再実行します。

2184* **`ssh` がホストキーについて尋ねずにそのままサインインに進む場合**:まだパスワードを入力しないでください。[`ssh` がすでに信頼しているキーを確認](#check-the-keys-that-ssh-already-trusts)します。

2185 

2186確認または追加したキーを `ssh` が受け入れたら、Desktop で再試行します。Desktop が再びキーを拒否する場合は、[SSH の問題について Desktop のログを取得する](#get-desktops-logs-for-an-ssh-problem)を参照してください。

2187 

2188##### `ssh` がすでに信頼しているキーを確認する

2189 

2190同じ `ssh` コマンドに `-v -S none` を追加して再実行します。出力では、`Server host key:` 行にフィンガープリントが表示され、次の `Host '<name>' is known` 行にそのフィンガープリントが属するマシンが示されます。見つかった各フィンガープリントを、そのマシン自体のフィンガープリントと[比較](#check-a-remote-machines-host-key)します。

2191 

2192* **ジャンプホストに `Server host key:` 行がない場合**:`ssh -v -S none <jump host>` も実行し、そのフィンガープリントも同じ方法で比較します。

2193* **フィンガープリントが一致しない、または確認できない場合**:再度接続しないでください。保存されているキーを削除します。`Host '<name>' is known` の下にある `Found key in <file>:<line>` 行に、そのキーを保持するファイルが示されています。`ssh-keygen -R "<name>" -f <file>` を実行します。ホストキーを複数のファイルに保存している場合は、それぞれのファイルからキーを削除します。ファイルを変更できない場合は、コンピューターの管理者に伝えてください。

2194* **すべてのフィンガープリントが一致する場合**:Desktop で再試行します。Desktop が再びキーを拒否する場合は、[SSH の問題について Desktop のログを取得する](#get-desktops-logs-for-an-ssh-problem)を参照してください。

2195 

2196### OpenSSH クライアントがない Windows で SSH ホストキーが拒否される

2197 

2198OpenSSH クライアントがない Windows では、Desktop は正しいホストキーであっても `Connection failed: Host key changed or not trusted` と表示して拒否します。Desktop は保存済みのキーを検索するためにこのクライアントを必要とします。クライアントがあるかどうかを確認するには、PowerShell で `ssh` を実行します。PowerShell が `ssh` を認識しない場合は、[Microsoft の OpenSSH クライアント](https://learn.microsoft.com/windows-server/administration/openssh/openssh_install_firstuse)をインストールして Desktop を再起動します。

2199 

2200その後、再度接続します。Desktop が初回接続を行うかどうか尋ねてきた場合は、信頼する前に[マシンのホストキーを確認](#check-a-remote-machines-host-key)してください。それでも Desktop がキーを拒否する場合は、[SSH host key verification failed](#ssh-host-key-verification-failed) のその他のケースに従ってください。

2201 

2138### ログイン後に SSH 接続が失敗する2202### ログイン後に SSH 接続が失敗する

2139 2203 

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

env-vars.md +2 −2

Details

236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | `1` に設定すると、Bash、PowerShell、サブエージェントツールから `run_in_background` パラメータを削除し、Ctrl+B ショートカットと[フォークされたスキル](https://code.claude.com/docs/ja/skills.md#run-skills-in-a-subagent)のバックグラウンド実行をオフにします。その場合、Claude Code はサブエージェント、長い MCP ツール呼び出し、タイムアウトしたシェルコマンドを自動的にバックグラウンドに移動することもなくなります。[MCP タスク](https://code.claude.com/docs/ja/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task)と [Monitor ツール](https://code.claude.com/docs/ja/tools-reference.md#monitor-tool)は引き続きバックグラウンドで実行されます |236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | `1` に設定すると、Bash、PowerShell、サブエージェントツールから `run_in_background` パラメータを削除し、Ctrl+B ショートカットと[フォークされたスキル](https://code.claude.com/docs/ja/skills.md#run-skills-in-a-subagent)のバックグラウンド実行をオフにします。その場合、Claude Code はサブエージェント、長い MCP ツール呼び出し、タイムアウトしたシェルコマンドを自動的にバックグラウンドに移動することもなくなります。[MCP タスク](https://code.claude.com/docs/ja/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task)と [Monitor ツール](https://code.claude.com/docs/ja/tools-reference.md#monitor-tool)は引き続きバックグラウンドで実行されます |

237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | `1` に設定すると、`Content-Type` ヘッダーが欠落しているか空の [Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md) ストリーミングレスポンスを、Claude Code が Amazon Bedrock のバイナリイベントストリームとして扱わないようにします。デフォルトでは、Claude Code は、ゲートウェイがそれ以外は変更されていないレスポンスからヘッダーを削除したと想定してボディをデコードするため、ストリーミングは引き続き機能します。ストリームをサーバー送信イベントとして再送出するゲートウェイの場合にのみ設定してください。その場合、Claude Code はヘッダーのないボディをサーバー送信イベントとして読み取ります。Claude Code v2.1.239 以降が必要です |237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | `1` に設定すると、`Content-Type` ヘッダーが欠落しているか空の [Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md) ストリーミングレスポンスを、Claude Code が Amazon Bedrock のバイナリイベントストリームとして扱わないようにします。デフォルトでは、Claude Code は、ゲートウェイがそれ以外は変更されていないレスポンスからヘッダーを削除したと想定してボディをデコードするため、ストリーミングは引き続き機能します。ストリームをサーバー送信イベントとして再送出するゲートウェイの場合にのみ設定してください。その場合、Claude Code はヘッダーのないボディをサーバー送信イベントとして読み取ります。Claude Code v2.1.239 以降が必要です |

238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | `1` に設定すると、[Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md) のストリーミングレスポンスが `application/vnd.amazon.eventstream` の content-type を持つかどうかのチェックをスキップします。この変数がない場合、レスポンスが異なる content-type を持つと、Claude Code はその type を示すエラーでリクエストを失敗させます。これは[ゲートウェイまたはプロキシがレスポンスを変換している](https://code.claude.com/docs/ja/amazon-bedrock.md#streaming-errors-behind-a-gateway-or-proxy)ことを意味します。この変数を設定するのではなく、`Content-Type` ヘッダーとボディを変更せずに転送するようゲートウェイを設定してください。Claude Code v2.1.208 以降が必要です |238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | `1` に設定すると、[Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md) のストリーミングレスポンスが `application/vnd.amazon.eventstream` の content-type を持つかどうかのチェックをスキップします。この変数がない場合、レスポンスが異なる content-type を持つと、Claude Code はその type を示すエラーでリクエストを失敗させます。これは[ゲートウェイまたはプロキシがレスポンスを変換している](https://code.claude.com/docs/ja/amazon-bedrock.md#streaming-errors-behind-a-gateway-or-proxy)ことを意味します。この変数を設定するのではなく、`Content-Type` ヘッダーとボディを変更せずに転送するようゲートウェイを設定してください。Claude Code v2.1.208 以降が必要です |

239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | `1` に設定すると、[スーパーバイザー](https://code.claude.com/docs/ja/agent-view.md#the-supervisor-process)が[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)のプロセスを停止、再起動、または更新したときに、そのセッションの実行中の作業をセッションの次のプロセスに引き継ぐ代わりに停止します。その作業とは、セッションで実行中のバックグラウンドシェルコマンドと動的ワークフロー、および v2.1.198 以降ではバックグラウンドサブエージェントです。影響するのはその引き継ぎのみです。`←` または [`/background`](https://code.claude.com/docs/ja/agent-view#from-inside-a-session) でセッションをバックグラウンド化した場合は、実行中のバックグラウンド作業は引き続き引き継がれます。Claude Code v2.1.196 以降が必要です |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | `1` に設定すると、[スーパーバイザー](https://code.claude.com/docs/ja/agent-view.md#the-supervisor-process) がセッションのプロセスを停止、再起動、または更新したときに、[バックグラウンドセッションの](https://code.claude.com/docs/ja/agent-view.md) 進行中の作業を、セッションの次のプロセスに引き継ぐのではなく停止します。その作業とは、セッションで実行中のバックグラウンドシェルコマンドと、v2.1.198 以降ではバックグラウンドサブエージェントです。影響するのはこの引き継ぎのみです。`←` や [`/background`](https://code.claude.com/docs/ja/agent-view#from-inside-a-session) でセッションをバックグラウンドに移動した場合は、進行中のバックグラウンド作業が引き続き引き継がれます。Claude Code v2.1.196 以降が必要です |

240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | `1` に設定すると、メモリ逼迫時に Claude Code が[バックグラウンドシェルコマンド](https://code.claude.com/docs/ja/interactive-mode.md#background-bash-commands)を終了しないようにします。デフォルトでは、macOS と Linux で、オペレーティングシステムが深刻なメモリ逼迫を報告し、かつセッションがターンやサブエージェントの実行なしで 30 分間アイドル状態だった場合、Claude Code はバックグラウンドシェルを終了します。Windows にはメモリ逼迫のシグナルがないため、この変数は効果がありません。Claude Code v2.1.193 以降が必要です |240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | `1` に設定すると、メモリ逼迫時に Claude Code が[バックグラウンドシェルコマンド](https://code.claude.com/docs/ja/interactive-mode.md#background-bash-commands)を終了しないようにします。デフォルトでは、macOS と Linux で、オペレーティングシステムが深刻なメモリ逼迫を報告し、かつセッションがターンやサブエージェントの実行なしで 30 分間アイドル状態だった場合、Claude Code はバックグラウンドシェルを終了します。Windows にはメモリ逼迫のシグナルがないため、この変数は効果がありません。Claude Code v2.1.193 以降が必要です |

241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | `1` に設定すると、Claude Code に含まれる[スキル](https://code.claude.com/docs/ja/skills.md)とワークフローを無効にします。バンドルスキルとワークフローは完全に削除され、`/init` などの組み込みコマンドは入力可能なままですが、モデルからは隠されます。`/doctor` は組み込みコマンドと同様に入力可能なままです。隠すには、代わりに `DISABLE_DOCTOR_COMMAND` を使用します。プラグイン、`.claude/skills/`、`.claude/commands/` のスキルは影響を受けません。[`disableBundledSkills`](https://code.claude.com/docs/ja/settings-reference#disablebundledskills) 設定と同等です |241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | `1` に設定すると、Claude Code に含まれる[スキル](https://code.claude.com/docs/ja/skills.md)とワークフローを無効にします。バンドルスキルとワークフローは完全に削除され、`/init` などの組み込みコマンドは入力可能なままですが、モデルからは隠されます。`/doctor` は組み込みコマンドと同様に入力可能なままです。隠すには、代わりに `DISABLE_DOCTOR_COMMAND` を使用します。プラグイン、`.claude/skills/`、`.claude/commands/` のスキルは影響を受けません。[`disableBundledSkills`](https://code.claude.com/docs/ja/settings-reference#disablebundledskills) 設定と同等です |

242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | `1` に設定すると、[Claude in Chrome](https://code.claude.com/docs/ja/chrome.md) のブラウザツールを利用可能なままにしつつ、システムプロンプトの Chrome セクションと `/claude-in-chrome` [バンドルスキル](https://code.claude.com/docs/ja/skills.md#bundled-skills)を省略します。Claude Code を組み込み、独自のブラウザガイダンスを提供するホスト向けです。Claude Code v2.1.257 以降が必要です |242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | `1` に設定すると、[Claude in Chrome](https://code.claude.com/docs/ja/chrome.md) のブラウザツールを利用可能なままにしつつ、システムプロンプトの Chrome セクションと `/claude-in-chrome` [バンドルスキル](https://code.claude.com/docs/ja/skills.md#bundled-skills)を省略します。Claude Code を組み込み、独自のブラウザガイダンスを提供するホスト向けです。Claude Code v2.1.257 以降が必要です |

243| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | `1` に設定すると、ユーザー、プロジェクト、自動メモリのファイルを含む、すべての CLAUDE.md メモリファイルをコンテキストに読み込まないようにします |243| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | `1` に設定すると、ユーザー、プロジェクト、自動メモリのファイルを含む、すべての CLAUDE.md メモリファイルをコンテキストに読み込まないようにします |

244| `CLAUDE_CODE_DISABLE_CRON` | `1` に設定すると、[セッションスコープのスケジュールタスク](https://code.claude.com/docs/ja/scheduled-tasks.md)を無効にします。`/loop` スキルと cron ツールは使用できなくなり、セッション途中ですでに実行中のタスクを含め、すでにスケジュールされたタスクは起動しなくなります |244| `CLAUDE_CODE_DISABLE_CRON` | `1` に設定すると、[セッションスコープのスケジュールタスク](https://code.claude.com/docs/ja/scheduled-tasks.md)を無効にします。`/loop` スキルと cron ツールは使用できなくなり、セッション途中ですでに実行中のタスクを含め、すでにスケジュールされたタスクは起動しなくなります |

245| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | `1` に設定すると、[クリティカルパスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths)に関するプロンプトの時間制限をオフにします。その場合、`auto` モードでは Claude Code はこれらの削除を代わりに分類器に送信し、`bypassPermissions` モードではプロンプトがユーザーの回答を待ちます。Claude Code は設定の `env` ブロックを通じて配信されたコピーを無視するため、Claude Code を起動する環境で設定してください。Claude Code v2.1.281 以降が必要です |245| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | `1` に設定すると、クリティカルパスの削除に対する `auto` モードと `bypassPermissions` モードの[制限時間と拒否](https://code.claude.com/docs/ja/permission-modes.md#time-limits-and-denials-in-auto-and-bypasspermissions-modes)をオフにします。その場合、これらの削除は `auto` モードでは分類器に送られ、`bypassPermissions` モードでは Claude Code が権限プロンプトを表示できる場合は常に、時間制限のない権限プロンプトが表示されます。Claude Code は設定の `env` ブロックで渡された値を無視するため、Claude Code を起動する環境で設定してください。Claude Code v2.1.281 以降が必要です |

246| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | `1` に設定すると、プレリリースの `anthropic-beta` リクエストヘッダー、それと対になるボディフィールド、`defer_loading` や `eager_input_streaming` などのベータ版ツールスキーマフィールドを API リクエストから除去します。プロキシゲートウェイが `anthropic-beta` ヘッダーについて `Unexpected value(s)` エラー、または `Extra inputs are not permitted` エラーでリクエストを拒否する場合に使用します。[プレリリース機能を無効にする](https://code.claude.com/docs/ja/llm-gateway-protocol.md#disable-pre-release-capabilities)には、[MCP ツール検索](https://code.claude.com/docs/ja/mcp.md#scale-with-mcp-tool-search)を含めこの変数が削除するものと、Claude Code が引き続き送信するものが記載されています |246| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | `1` に設定すると、プレリリースの `anthropic-beta` リクエストヘッダー、それと対になるボディフィールド、`defer_loading` や `eager_input_streaming` などのベータ版ツールスキーマフィールドを API リクエストから除去します。プロキシゲートウェイが `anthropic-beta` ヘッダーについて `Unexpected value(s)` エラー、または `Extra inputs are not permitted` エラーでリクエストを拒否する場合に使用します。[プレリリース機能を無効にする](https://code.claude.com/docs/ja/llm-gateway-protocol.md#disable-pre-release-capabilities)には、[MCP ツール検索](https://code.claude.com/docs/ja/mcp.md#scale-with-mcp-tool-search)を含めこの変数が削除するものと、Claude Code が引き続き送信するものが記載されています |

247| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | `1` に設定すると、組み込みの [Explore および Plan サブエージェント](https://code.claude.com/docs/ja/sub-agents.md#built-in-subagents)を無効にします。Claude は代わりに検索ツールまたは汎用サブエージェントで探索し、[plan モード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)は Explore エージェントと Plan エージェントを起動せずにファイルを直接読み取ります。`Explore` または `Plan` という名前のカスタムサブエージェントは影響を受けません。Agent SDK または非対話モードですべての組み込みサブエージェントタイプを削除するには、代わりに `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` を使用します。Claude Code v2.1.198 以降が必要です |247| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | `1` に設定すると、組み込みの [Explore および Plan サブエージェント](https://code.claude.com/docs/ja/sub-agents.md#built-in-subagents)を無効にします。Claude は代わりに検索ツールまたは汎用サブエージェントで探索し、[plan モード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)は Explore エージェントと Plan エージェントを起動せずにファイルを直接読み取ります。`Explore` または `Plan` という名前のカスタムサブエージェントは影響を受けません。Agent SDK または非対話モードですべての組み込みサブエージェントタイプを削除するには、代わりに `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` を使用します。Claude Code v2.1.198 以降が必要です |

248| `CLAUDE_CODE_DISABLE_FAST_MODE` | `1` に設定すると、[fast モード](https://code.claude.com/docs/ja/fast-mode.md)を無効にします |248| `CLAUDE_CODE_DISABLE_FAST_MODE` | `1` に設定すると、[fast モード](https://code.claude.com/docs/ja/fast-mode.md)を無効にします |

errors.md +376 −344

Details

244| `MCP server "<name>" was not saved to` / `was not removed from` | [コマンドラインエラー](#mcp-server-was-not-saved-or-removed) |244| `MCP server "<name>" was not saved to` / `was not removed from` | [コマンドラインエラー](#mcp-server-was-not-saved-or-removed) |

245| `MCP server "<name>" may not have been saved` / `may not have been removed` | [コマンドラインエラー](#mcp-server-may-not-have-been-saved-or-removed) |245| `MCP server "<name>" may not have been saved` / `may not have been removed` | [コマンドラインエラー](#mcp-server-may-not-have-been-saved-or-removed) |

246| `Server rejected the Authorization header minted by the configured headersHelper` | [コマンドラインエラー](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |246| `Server rejected the Authorization header minted by the configured headersHelper` | [コマンドラインエラー](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |

247| `This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability` | [コマンドラインエラー](#mcp-server-rejected-the-elicitation-capability) |

247| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [コマンドラインエラー](#mcp-permission-prompt-tool-not-found) |248| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [コマンドラインエラー](#mcp-permission-prompt-tool-not-found) |

248| `OAuth callback port <port> is already in use — another process may be holding it` | [コマンドラインエラー](#oauth-callback-port-is-already-in-use) |249| `OAuth callback port <port> is already in use — another process may be holding it` | [コマンドラインエラー](#oauth-callback-port-is-already-in-use) |

249| `No available ports for OAuth redirect` | [コマンドラインエラー](#no-available-ports-for-oauth-redirect) |250| `No available ports for OAuth redirect` | [コマンドラインエラー](#no-available-ports-for-oauth-redirect) |


2985* 最後のメッセージを言い換えるか、別のアプローチを試してください2986* 最後のメッセージを言い換えるか、別のアプローチを試してください

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

2987 2988 

2988## コマンドラインエラー2989## コマンドラインのエラー

2989 2990 

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

2991 2992 

2992### `--bg` と `--print` の競合2993### `--bg` と `--print` の競合

2993 2994 

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

2995 2996 

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

2997--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>'`.2998--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>'`.

2998```2999```

2999 3000 

3000**対処方法:**3001**対処方法:**

3001 3002 

3002* `-p` または `--print` を削除します。`--bg` はプロンプトを位置引数として受け取るため、`claude --bg "<task>"` で完全なコマンドになります。[シェルから新しいエージェントを起動する](https://code.claude.com/docs/ja/agent-view.md#from-your-shell)を参照してください。3003* `-p` または `--print` を外します。`--bg` はプロンプトを位置引数として受け取るため、`claude --bg "<task>"` で完全なコマンドになります。[シェルから新しいエージェントを Dispatch する](https://code.claude.com/docs/ja/agent-view.md#from-your-shell)を参照してください。

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

3004 3005 

3005### Couldn't tell whether `--bg` is a flag or text3006### Couldn't tell whether `--bg` is a flag or text

3006 3007 

3007`--bg` または `--background` を、バックグラウンドフラグとテキストのどちらを意図したのか Claude Code が判断できない位置に指定して `claude` を実行しました。コマンドは何も開始せず、次の行を出力して終了コード 1 で終了しました:3008`--bg` または `--background` を、Claude Code がバックグラウンドフラグとテキストのどちらとして意図されたかを判別できない位置に置いて `claude` を実行しました。コマンドは何も開始せず、次の行を出力して終了コード 1 で終了しました:

3008 3009 

3009```text theme={null}3010```text theme={null}

3010Couldn't tell whether --bg is a flag or text here, so nothing was started. To start a background session put it first: claude --bg <prompt>3011Couldn't tell whether --bg is a flag or text here, so nothing was started. To start a background session put it first: claude --bg <prompt>

3011```3012```

3012 3013 

3013`--background` と入力した場合は、この行には代わりに `--background` と表示されます。3014`--background` と入力した場合は、この行には代わりに `--background` が示されます。

3014 3015 

3015**対処方法:**3016**対処方法:**

3016 3017 

3017* [バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md#from-your-shell)を開始するには、フラグを先頭に置いてシェルでコマンドを再実行します: `claude --bg --name nightly-audit "<task>"`3018* [バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md#from-your-shell)を開始するには、フラグを先頭に置いてシェルでコマンドを再度実行します:`claude --bg --name nightly-audit "<task>"`

3018 3019 

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

3020 3021 

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

3022 3023 

3023```text theme={null}3024```text theme={null}

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

3025```3026```

3026 3027 

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

3028 3029 

3029**対処方法:**3030**対処方法:**

3030 3031 

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

3032 3033 

3033### Invalid `--agents` configuration3034### Invalid `--agents` configuration

3034 3035 

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

3036 3037 

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

3038Error: Invalid --agents configuration:3039Error: Invalid --agents configuration:

3039<what failed>3040<what failed>

3040```3041```

3041 3042 

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

3043 3044 

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

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

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

3047 3048 

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

3049 3050 

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

3051 3052 

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

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

3054 3055 

3055**対処方法:**3056**対処方法:**

3056 3057 

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

3058 3059 

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

3060 3061 

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

3062 3063 

3063```text theme={null}3064```text theme={null}

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

3065```3066```

3066 3067 

3067**対処方法:**3068**対処方法:**

3068 3069 

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

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

3071 3072 

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

3073 3074 

3074### Cloud sessions are disabled by your organization's policy3075### Cloud sessions are disabled by your organization's policy

3075 3076 

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

3077 3078 

3078```text theme={null}3079```text theme={null}

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

3080```3081```

3081 3082 

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

3083 3084 

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

3085 3086 

3086**対処方法:**3087**対処方法:**

3087 3088 

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

3089 3090 

3090### Cloud sessions use your claude.ai login3091### Cloud sessions use your claude.ai login

3091 3092 

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

3093 3094 

3094```text theme={null}3095```text theme={null}

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

3096```3097```

3097 3098 

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

3099 3100 

3100### Couldn't verify your organization's policy for cloud sessions3101### Couldn't verify your organization's policy for cloud sessions

3101 3102 

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

3103 3104 

3104```text theme={null}3105```text theme={null}

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

3106```3107```

3107 3108 

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

3109 3110 

3110ポリシーのリクエストが失敗すると、メッセージには何が失敗したかが示されます。これは、`--cloud` や `--teleport` などのフラグを使用して、シェルからクラウドセッションを開始、再開、またはメッセージを送信した場合に該当します。API への経路がない場合は、次のように表示されます:3111ポリシーのリクエストが失敗した後は、メッセージに何が失敗したかが示されます。これは、`--cloud` や `--teleport` などのフラグを使用してシェルからクラウドセッションを開始、再開、またはメッセージを送信した場合に適用されます。API への経路がない場合、次のように表示されます:

3111 3112 

3112```text theme={null}3113```text theme={null}

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

3114```3115```

3115 3116 

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

3117 3118 

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

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


3121 3122 

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

3123 3124 

3124**対処方法:**3125**対処方法:**

3125 3126 

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

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

3128 3129 

3129### Nothing was stashed because a folder replaced a tracked file3130### 追跡対象ファイルがフォルダに置き換えられたため何も stash されなかった

3130 3131 

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

3132 3133 

3133```text wrap theme={null}3134```text wrap theme={null}

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

3135```3136```

3136 3137 

3137**対処方法:**3138**対処方法:**

3138 3139 

3139* メッセージの指示どおり、変更をコミットするかフォルダーを別の場所に移動してから、teleport を再実行します3140* メッセージのとおり、変更をコミットするかフォルダを別の場所に移動してから、teleport を再度実行します

3140 3141 

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

3142 3143 

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

3144 3145 

3145```text theme={null}3146```text theme={null}

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

3147```3148```

3148 3149 

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

3150 3151 

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

3152 3153 

3153**対処方法:**3154**対処方法:**

3154 3155 

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

3156* 動作するスキーマとコマンドについては、[構造化出力を取得する](https://code.claude.com/docs/ja/headless.md#get-structured-output)を参照してください3157* 動作するスキーマとコマンドについては、[構造化出力を取得する](https://code.claude.com/docs/ja/headless.md#get-structured-output)を参照してください

3157 3158 

3158### Settings file exceeds the 2MiB limit3159### Settings file exceeds the 2MiB limit

3159 3160 

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

3161 3162 

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

3163Error: Settings file exceeds the 2MiB limit: /path/to/settings.json3164Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

3164```3165```

3165 3166 

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

3167 3168 

3168**対処方法:**3169**対処方法:**

3169 3170 

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

3171 3172 

3172### The current directory no longer exists3173### The current directory no longer exists

3173 3174 

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

3175 3176 

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

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

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

3179```3180```

3180 3181 

3181どちらの形式も原因と解決方法は同じです。3182どちらの形式も、原因と修正方法は同じです。

3182 3183 

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

3184 3185 

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

3186 3187 

3187**対処方法:**3188**対処方法:**

3188 3189 

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

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

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

3192 3193 

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

3194 3195 

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

3196 3197 

3197```text wrap theme={null}3198```text wrap theme={null}

3198Claude Code's temporary directory /tmp/claude-501 could not be created: the volume holding /tmp is full (ENOSPC). Free space on that volume, or set CLAUDE_CODE_TMPDIR to a directory on another one, then try again.3199Claude Code's temporary directory /tmp/claude-501 could not be created: the volume holding /tmp is full (ENOSPC). Free space on that volume, or set CLAUDE_CODE_TMPDIR to a directory on another one, then try again.


3204Temp directory /tmp/claude-501 is not readable (its mode may have been altered, or a path component denies search). Refusing to use it — restore its permissions (chmod 0700) or remove it. Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it.3205Temp directory /tmp/claude-501 is not readable (its mode may have been altered, or a path component denies search). Refusing to use it — restore its permissions (chmod 0700) or remove it. Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it.

3205```3206```

3206 3207 

3207**対処方法:**3208**対処方法:**

3208 3209 

3209* `could not be created` の後に `is full (ENOSPC)` が続く場合は、メッセージに示されたボリュームのディスク容量を空けます。代わりに `your disk quota on the volume holding /tmp is used up (EDQUOT)` と表示される場合は、そのボリューム上の不要になった自分のファイルを削除します3210* `could not be created` の後に `is full (ENOSPC)` が続く場合は、メッセージが示すボリュームのディスク容量を空けます。代わりに `your disk quota on the volume holding /tmp is used up (EDQUOT)` と表示される場合は、そのボリューム上の不要になった自分のファイルを削除します

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

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

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

3213 3214 

3214v2.1.309 より前は、ボリュームがいっぱいになった場合やクォータを使い切った場合、Claude Code はオペレーティングシステムのエラーテキストのみを出力していました。例としては `ENOSPC: no space left on device, mkdir '/tmp/claude-501'` があり、同じ手順が適用されます。3215v2.1.309 より前は、ボリュームがいっぱいの場合やクォータを使い切った場合、Claude Code はオペレーティングシステムのエラーテキストのみを出力していました。例としては `ENOSPC: no space left on device, mkdir '/tmp/claude-501'` があり、同じ手順が適用されます。

3215 3216 

3216### Directory couldn't be resolved to a real location3217### ディレクトリを実際の場所に解決できなかった

3217 3218 

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

3219 3220 

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

3221 3222 

3222```text theme={null}3223```text theme={null}

3223packages/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.3224packages/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.

3224```3225```

3225 3226 

3226**対処方法:**3227**対処方法:**

3227 3228 

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

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

3230 3231 

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

3232 3233 

3233### Workspace not trusted when starting Remote Control3234### Remote Control の起動時の Workspace not trusted

3234 3235 

3235> [!NOTE]3236> [!NOTE]

3236>3237>

3237> `claude ultrareview` で `Error: Workspace not trusted` が出力された場合は、代わりに [Workspace not trusted when running claude ultrareview](#workspace-not-trusted-when-running-claude-ultrareview) を参照してください。3238> `claude ultrareview` が `Error: Workspace not trusted` を出力した場合は、代わりに [claude ultrareview の実行時の Workspace not trusted](#workspace-not-trusted-when-running-claude-ultrareview) を参照してください。

3238 3239 

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

3240 3241 

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

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

3243```3244```

3244 3245 

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

3246 3247 

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

3248 3249 

3249```text theme={null}3250```text theme={null}

3250Error: 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).3251Error: 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).

3251```3252```

3252 3253 

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

3254 3255 

3255**対処方法:**3256**対処方法:**

3256 3257 

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

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

3259 3260 

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

3261 3262 

3262### Workspace not trusted when running claude ultrareview3263### claude ultrareview の実行時の Workspace not trusted

3263 3264 

3264信頼していないフォルダーで、[`claude ultrareview`](https://code.claude.com/docs/ja/ultrareview#trust-the-folder-before-the-review-runs) がそのフォルダーを信頼するかどうかを尋ねられない場合、レビューが始まる前に終了コード 1 で終了します:3265信頼していないフォルダで、[`claude ultrareview`](https://code.claude.com/docs/ja/ultrareview#trust-the-folder-before-the-review-runs) がそのフォルダを信頼するかどうかを尋ねられない場合、レビューが開始される前に実行は終了コード 1 で終了します:

3265 3266 

3266```text theme={null}3267```text theme={null}

3267Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog. Or, in a script or CI job, pass `--trust-workspace` to trust the folder for this run only.3268Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog. Or, in a script or CI job, pass `--trust-workspace` to trust the folder for this run only.

3268```3269```

3269 3270 

3270たとえば、標準入力または標準出力がターミナルではない場合、サブコマンドは確認を求めることができません。`claude ultrareview --json > findings.json` のように出力をファイルに送る場合、標準出力はターミナルではありません。3271たとえば、標準入力または標準出力がターミナルではない場合、サブコマンドは質問できません。`claude ultrareview --json > findings.json` のように出力をファイルに送ると、標準出力はターミナルではなくなります。

3271 3272 

3272**対処方法:**3273**対処方法:**

3273 3274 

3274* スクリプトや CI ジョブでは、`--trust-workspace` を末尾に追加してその実行に限りフォルダーを信頼します: `claude ultrareview --trust-workspace`。信頼できるコードに対してのみ追加してください。追加すると、Git と Claude Code がフォルダーの Git 設定やプロジェクト設定で指定されたプログラムを実行できるようになるためです。コードを信頼できないプルリクエストの場合は、[信頼できるブランチからレビューを実行](https://code.claude.com/docs/ja/ultrareview.md#trust-the-folder-before-the-review-runs)してください。3275* スクリプトや CI ジョブでは、`--trust-workspace` を追加してその実行に限りフォルダを信頼します:`claude ultrareview --trust-workspace`。git と Claude Code がフォルダの git 設定とプロジェクト設定で指定されたプログラムを実行できるようになるため、信頼するコードに対してのみ追加してください。コードを信頼していないプルリクエストの場合は、[信頼するブランチからレビューを実行します](https://code.claude.com/docs/ja/ultrareview.md#trust-the-folder-before-the-review-runs)。

3275* 自分のマシンでは、そのフォルダーで `claude` を実行して[ワークスペースの信頼ダイアログ](https://code.claude.com/docs/ja/permissions.md#project-allow-rules-and-workspace-trust)を承認してから、元のコマンドを再実行します3276* 自分のマシンでは、そのフォルダで `claude` を実行して[ワークスペースの信頼ダイアログ](https://code.claude.com/docs/ja/permissions.md#project-allow-rules-and-workspace-trust)を承認してから、元のコマンドを再度実行します

3276 3277 

3277`claude ultrareview` からの次の各メッセージは、レビューが開始されず、終了コードが 1 であることを意味します:3278`claude ultrareview` からの次の各メッセージは、レビューが開始されず、終了コードが 1 であることを意味します:

3278 3279 

3279* **`Error: Workspace not trusted. This terminal ...`**: ターミナルが行数と列数を報告しなかったか、信頼の質問とその警告が収まりません。ターミナルを大きくするか、サイズを報告するターミナルを使用してから、`claude ultrareview` を再実行します。ホームディレクトリ以外では、そのフォルダーで一度 `claude` を実行して信頼ダイアログを承認しておくと、以降の実行では確認されなくなります。3280* **`Error: Workspace not trusted. This terminal ...`**:ターミナルが行数と列数を報告しなかったか、信頼の質問とその警告を表示しきれません。ターミナルを大きくするか、サイズを報告するターミナルを使用してから、`claude ultrareview` を再度実行します。ホームディレクトリ以外では、そのフォルダで一度 `claude` を実行して信頼ダイアログを承認しておくこともでき、以降のそこでの実行では質問されなくなります。

3280* **`Error: Workspace not trusted. <folder> is your home directory`**: ホームディレクトリに対する信頼は保存されないため、先にそこで `claude` を実行しても解決しません。代わりに、プロジェクトディレクトリで一度 `claude` を実行して信頼ダイアログを承認した後、そこから `claude ultrareview` を実行するか、`--trust-workspace` を追加します。3281* **`Error: Workspace not trusted. <folder> is your home directory`**:ホームディレクトリに対する信頼は保存されないため、先にそこで `claude` を実行しても解決しません。代わりにプロジェクトディレクトリで一度 `claude` を実行して信頼ダイアログを承認した後、そこから `claude ultrareview` を実行するか、`--trust-workspace` を追加します。

3281* **`No answer in time.` の後に `Error: Workspace not trusted`**: `Trust <folder>? [y/N]` の質問に 5 分間回答がありませんでした。`claude ultrareview` を再実行して回答してください。3282* **`No answer in time.` の後に `Error: Workspace not trusted`**:`Trust <folder>? [y/N]` の質問に 5 分間回答がありませんでした。`claude ultrareview` を再度実行して回答します。

3282* **`Ultrareview did not start: <folder> is not trusted`**: `n` と答えるか Enter キーを押すなどして、`Trust <folder>? [y/N]` の質問で拒否しました。レビューを開始するには、`claude ultrareview` を再実行して `y` と答えます。3283* **`Ultrareview did not start: <folder> is not trusted`**:`n` と答えるか Enter を押すなどして、`Trust <folder>? [y/N]` の質問で拒否しました。レビューを開始するには、`claude ultrareview` を再度実行して `y` と答えます。

3283* **``Ultrareview did not start: `--trust-workspace` takes no value``**: PR 番号や `false` など、フラグ以外のものが `--trust-workspace` の後に続いています。フォルダーを信頼しない場合は、フラグを省略します。この実行に限り信頼する場合は、PR 番号またはベースブランチをフラグの前に置きます: `claude ultrareview 1234 --trust-workspace`。3284* **``Ultrareview did not start: `--trust-workspace` takes no value``**:PR 番号や `false` など、フラグ以外のものが `--trust-workspace` の後に続いています。フォルダを信頼しない場合は、フラグを外します。この実行に限り信頼するには、PR 番号またはベースブランチをフラグの前に置きます:`claude ultrareview 1234 --trust-workspace`。

3284 3285 

3285v2.1.309 より前は、`claude ultrareview` は `--trust-workspace` を受け付けませんでした。3286v2.1.309 より前は、`claude ultrareview` は `--trust-workspace` を受け付けませんでした。

3286 3287 

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

3288 3289 

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

3290 3291 

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

3292Error: `--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`).3293Error: `--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`).

3293```3294```

3294 3295 

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

3296 3297 

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

3298 3299 

3299**対処方法:**3300**対処方法:**

3300 3301 

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

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

3303 3304 

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

3305 3306 

3306### `--sandbox` or `--no-sandbox` is not supported by claude remote-control3307### `--sandbox` or `--no-sandbox` is not supported by claude remote-control

3307 3308 

3308このエラーは、[Remote Control](https://code.claude.com/docs/ja/remote-control.md) サーバーを開始するコマンドが `remote-control` の後に `--sandbox` または `--no-sandbox` を渡しているものの、`claude remote-control` がどちらのフラグも受け付けないことを意味します。サーバーは開始されずに終了コード 1 で終了します:3309このエラーは、[Remote Control](https://code.claude.com/docs/ja/remote-control.md) サーバーを開始するコマンドが `remote-control` の後に `--sandbox` または `--no-sandbox` を渡しており、`claude remote-control` がどちらのフラグも受け付けないことを意味します。サーバーは開始せずに終了コード 1 で終了します:

3309 3310 

3310```text theme={null}3311```text theme={null}

3311Error: --sandbox is not supported by claude remote-control. The flag had no effect and was removed. To sandbox sessions, set sandbox.enabled to true in settings.3312Error: --sandbox is not supported by claude remote-control. The flag had no effect and was removed. To sandbox sessions, set sandbox.enabled to true in settings.

3312Error: --no-sandbox is not supported by claude remote-control. The flag had no effect and was removed. Remove it from the command.3313Error: --no-sandbox is not supported by claude remote-control. The flag had no effect and was removed. Remove it from the command.

3313```3314```

3314 3315 

3315**対処方法:**3316**対処方法:**

3316 3317 

3317* サーバーを開始するスクリプトやサービス定義に含まれるものも含めて、コマンドからフラグを削除してから、再実行します3318* サーバーを開始するスクリプトやサービス定義を含め、コマンドからフラグを削除してから、再度実行します

3318* サーバーが開始するセッションをサンドボックス内で実行するには、[設定ファイル](https://code.claude.com/docs/ja/settings.md#where-settings-live)で [`sandbox.enabled`](https://code.claude.com/docs/ja/settings-reference#sandbox-enabled) を `true` に設定して、[サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md)をオンにします3319* サーバーが開始するセッションをサンドボックス化するには、[設定ファイル](https://code.claude.com/docs/ja/settings.md#where-settings-live)で [`sandbox.enabled`](https://code.claude.com/docs/ja/settings-reference#sandbox-enabled) を `true` に設定して[サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md)をオンにします

3319 3320 

3320どちらのフラグも v2.1.300 で `claude remote-control` から削除されたため、以前のバージョン向けに書かれたコマンドにはまだ含まれている可能性があります。3321両方のフラグは v2.1.300 で `claude remote-control` から削除されたため、以前のバージョン向けに書かれたコマンドにはまだ含まれている場合があります。

3321 3322 

3322### claude import is not yet available in this build3323### claude import is not yet available in this build

3323 3324 

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

3325 3326 

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

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

3328```3329```

3329 3330 

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

3331 3332 

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

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

3334* 機能フラグの取得をオフにする `DISABLE_TELEMETRY`、`DO_NOT_TRACK`、`DISABLE_GROWTHBOOK`、または [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ja/env-vars) を設定しているため、`claude import` は利用できないままです。3335* `DISABLE_TELEMETRY`、`DO_NOT_TRACK`、`DISABLE_GROWTHBOOK`、または [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ja/env-vars) を設定しています。これらは機能フラグの取得をオフにするため、`claude import` は利用できないままです。

3335 3336 

3336**対処方法:**3337**対処方法:**

3337 3338 

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

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

3340 3341 

3341### Could not read Claude Code config3342### Could not read Claude Code config

3342 3343 

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

3344 3345 

3345```text theme={null}3346```text theme={null}

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

3347```3348```

3348 3349 

3349**対処方法:**3350**対処方法:**

3350 3351 

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

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

3353 3354 

3354### Could not import a server from Claude Desktop3355### Claude Desktop からサーバーをインポートできなかった

3355 3356 

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

3357 3358 

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

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

3360```3361```

3361 3362 

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

3363 3364 

3364**対処方法:**3365**対処方法:**

3365 3366 

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

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

3368 3369 

3369### Cannot add MCP server to the managed scope3370### managed スコープに MCP サーバーを追加できない

3370 3371 

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

3372 3373 

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

3374Cannot add MCP server to scope: managed3375Cannot add MCP server to scope: managed

3375```3376```

3376 3377 

3377**対処方法:**3378**対処方法:**

3378 3379 

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

3380* 組織内のすべてのユーザーにサーバーを提供するには、デプロイする管理設定の [`managedMcpServers`](https://code.claude.com/docs/ja/settings-reference#managedmcpservers) にサーバーを追加します3381* 組織内のすべてのユーザーにサーバーを提供するには、デプロイする管理設定の [`managedMcpServers`](https://code.claude.com/docs/ja/settings-reference#managedmcpservers) にサーバーを追加します

3381 3382 

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

3383 3384 

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

3385 3386 

3386```text theme={null}3387```text theme={null}

3387Cannot 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.3388Cannot 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.

3388```3389```

3389 3390 

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

3391 3392 

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

3393 3394 

3394**対処方法:**3395**対処方法:**

3395 3396 

3396* サーバーを提供する[プラグイン](https://code.claude.com/docs/ja/plugins/install.md)をインストールします3397* サーバーを提供する[プラグイン](https://code.claude.com/docs/ja/plugins/install.md)をインストールします

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

3398 3399 

3399### Can't read .mcp.json3400### Can't read .mcp.json

3400 3401 

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

3402 3403 

3403```text theme={null}3404```text theme={null}

3404Can'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.3405Can'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.

3405```3406```

3406 3407 

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

3408 3409 

3409**対処方法:**3410**対処方法:**

3410 3411 

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

3412 3413 

3413### MCP server was not saved or removed3414### MCP サーバーが保存または削除されなかった

3414 3415 

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

3416 3417 

3417```text theme={null}3418```text theme={null}

3418MCP 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.3419MCP 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.

3419```3420```

3420 3421 

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

3422 3423 

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

3424 3425 

3425**対処方法:**3426**対処方法:**

3426 3427 

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

3428 3429 

3429### MCP server may not have been saved or removed3430### MCP サーバーが保存または削除されなかった可能性がある

3430 3431 

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

3432 3433 

3433```text theme={null}3434```text theme={null}

3434MCP 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.3435MCP 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.


3438 3439 

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

3440 3441 

3441**対処方法:**3442**対処方法:**

3442 3443 

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

3444* 追加後にサーバーが見つからない場合、または削除後もまだ一覧に表示される場合は、同じ追加または削除のコマンドを再実行します。3445* 追加の後でサーバーが見つからない場合、または削除の後でもまだ一覧に表示される場合は、同じ追加または削除のコマンドを再度実行します。

3445 3446 

3446### Server is Anthropic-hosted and doesn't support local OAuth3447### サーバーが Anthropic ホストでローカル OAuth に対応していない

3447 3448 

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

3449 3450 

3450```text theme={null}3451```text theme={null}

3451"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.3452"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.

3452```3453```

3453 3454 

3454**対処方法:**3455**対処方法:**

3455 3456 

3456* 同じ URL の claude.ai コネクタを隠さないように、`claude mcp remove <name>` で自分のエントリを削除します3457* 同じ URL の claude.ai コネクタを隠してしまわないように、`claude mcp remove <name>` で自分のエントリを削除します

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

3458 3459 

3459### Server rejected the Authorization header minted by the configured headersHelper3460### Server rejected the Authorization header minted by the configured headersHelper

3460 3461 

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

3462 3463 

3463```text theme={null}3464```text theme={null}

3464Server 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.3465Server 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.

3465```3466```

3466 3467 

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

3468 3469 

3469**対処方法:**3470**対処方法:**

3470 3471 

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

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

3473 3474 

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

3475 3476 

3476### MCP permission prompt tool not found3477### MCP サーバーが elicitation 機能を拒否した

3477 3478 

3478[`--permission-prompt-tool`](https://code.claude.com/docs/ja/cli-reference#cli-flags) に渡したツールが、実行で最初に権限の判断が必要になった時点で、接続済みの MCP ツールの中にありませんでした。サーバーが接続されなかったか、その名前のツールを公開している接続済みのサーバーがないためです。Claude Code はそれでもプロンプトを送信します。[非対話](https://code.claude.com/docs/ja/headless.md)の実行は最初のツール呼び出しでこのエラーと終了コード 1 で終了するため、リクエストは行われたものの回答は生成されません。最初のプロンプトの前に、Claude Code は [`MCP_TIMEOUT`](https://code.claude.com/docs/ja/env-vars) で設定されるサーバーごとの接続タイムアウト(30 秒)まで、そのサーバーの接続を待機します。v2.1.206 より前は、起動時にサーバーの接続完了を待たなかったため、起動が遅いだけで正常なサーバーでもこのエラーが発生していました。3479Java MCP SDK 0.11.0 から 0.17.0 で構築された MCP サーバーが接続を拒否しました。これらの SDK バージョンは、Claude Code がハンドシェイクで宣言する `form` と `url` の [elicitation モード](https://code.claude.com/docs/ja/mcp.md#elicitation-modes-claude-code-declares)を解析できません。`claude mcp list` は、サーバー自身のエラーの代わりにこのメッセージとともに、サーバーを失敗として表示します:

3480 

3481```text theme={null}

3482This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability. Set "bareElicitationCapability": true for it, or upgrade to Java MCP SDK 0.17.1+ (Spring AI 1.0.7+ or 1.1.6+).

3483```

3484 

3485**対処方法:**

3486 

3487* サーバーを Java MCP SDK 0.17.1 以降、またはメッセージが示す Spring AI のリリースのいずれかにアップグレードします

3488* または、MCP 設定のそのサーバーのエントリに `"bareElicitationCapability": true` を追加してから、Claude Code を再起動します。このフィールドは stdio、`sse`、`http`、`ws` のエントリで受け付けられ、Claude Code v2.1.281 以降が必要です

3489 

3490次の `.mcp.json` エントリは、1 つの HTTP サーバーに対してこのフィールドを設定します:

3491 

3492```json theme={null}

3493{

3494 "mcpServers": {

3495 "inventory": {

3496 "type": "http",

3497 "url": "https://mcp.example.com/mcp",

3498 "bareElicitationCapability": true

3499 }

3500 }

3501}

3502```

3503 

3504再起動後、`/mcp` はサーバーを接続済みとして表示します。Claude Code はそのサーバーに対してのみ form モードを宣言するため、サーバーをアップグレードしたらフィールドを削除してください。

3505 

3506サーバーが、`Unrecognized field "form"` を含むものなど、独自のエラーテキストで失敗することもあります。同じ修正が適用されます。

3507 

3508### MCP 権限プロンプトツールが見つからない

3509 

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

3479 3511 

3480```text theme={null}3512```text theme={null}

3481Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3513Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none

3482```3514```

3483 3515 

3484`Available MCP tools:` の後の一覧には、接続されていた MCP ツールが示されます。3516`Available MCP tools:` の後のリストには、接続されていた MCP ツールが示されます。

3485 3517 

3486**対処方法:**3518**対処方法:**

3487 3519 

3488* サーバーが起動し、接続が維持されていることを確認します。同じディレクトリで `claude mcp list` を実行し、サーバーが接続済みとして表示されることを確認してください3520* サーバーが起動して接続を維持していることを確認します。同じディレクトリで `claude mcp list` を実行し、サーバーが接続済みとして一覧に表示されることを確認します

3489* ツール名が、サーバーが公開する `mcp__<server>__<tool>` の名前と一致していることを確認します3521* ツール名が、サーバーが公開する `mcp__<server>__<tool>` の名前と一致していることを確認します

3490* サーバーの起動に 30 秒以上かかる場合は、[`MCP_TIMEOUT`](https://code.claude.com/docs/ja/env-vars) の値を大きくします3522* サーバーの起動に 30 秒より長くかかる場合は、[`MCP_TIMEOUT`](https://code.claude.com/docs/ja/env-vars) を増やします

3491 3523 

3492### OAuth callback port is already in use3524### OAuth callback port is already in use

3493 3525 

3494OAuth でリモート MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受信するためのローカルリスナーを起動します。そのリスナーが必要とするポートを別のプロセスが保持している場合、サインインはこのメッセージで失敗します。これは主に、[`MCP_OAUTH_CALLBACK_PORT`](https://code.claude.com/docs/ja/env-vars) 変数または `--callback-port` で[固定のコールバックポート](https://code.claude.com/docs/ja/mcp.md#use-a-fixed-oauth-callback-port)を設定している場合に発生します。設定していない場合、Claude Code は使用可能なポートを選択するためです。3526OAuth でリモート MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためにローカルリスナーを開始します。そのリスナーが必要とするポートを別のプロセスが保持している場合、サインインはこのメッセージで失敗します。これは主に、[`MCP_OAUTH_CALLBACK_PORT`](https://code.claude.com/docs/ja/env-vars) 変数または `--callback-port` で設定した[固定のコールバックポート](https://code.claude.com/docs/ja/mcp.md#use-a-fixed-oauth-callback-port)で発生します。固定ポートがない場合、Claude Code は利用可能なポートを選択するためです。

3495 3527 

3496```text theme={null}3528```text theme={null}

3497OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.3529OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.

3498```3530```

3499 3531 

3500Windows では、提案されるコマンドは代わりに `netstat -ano | findstr :<port>` になります。3532Windows では、代わりに `netstat -ano | findstr :<port>` が提案されます。

3501 3533 

3502**対処方法:**3534**対処方法:**

3503 3535 

3504* メッセージに示されたコマンドを実行してポートを保持しているプロセスを見つけ、停止するか終了するまで待ちます3536* メッセージのコマンドを実行してポートを保持しているプロセスを見つけ、それを停止するか終了を待ちます

3505* 別のプログラムがそのポートを恒久的に必要とする場合は、別のリダイレクト URI をサーバーに登録し、使用している方法に応じて `MCP_OAUTH_CALLBACK_PORT` または `--callback-port` でそのポートを設定します3537* 別のプログラムがそのポートを恒常的に必要とする場合は、サーバーに別のリダイレクト URI を登録し、使用している方の `MCP_OAUTH_CALLBACK_PORT` または `--callback-port` でそのポートを設定します

3506* その後、`/mcp` でサーバーを選択するなどして、サインインを再度開始します3538* その後、`/mcp` でサーバーを選択するなどして、サインインを再度開始します

3507 3539 

3508### No available ports for OAuth redirect3540### No available ports for OAuth redirect

3509 3541 

3510[OAuth](https://code.claude.com/docs/ja/mcp.md#authenticate-with-remote-mcp-servers) でリモート MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受信するためのローカルリスナーを起動します。そのためのローカルポートを Claude Code がバインドできない場合、サインインはこのメッセージで失敗します。セキュリティソフトウェアや、ローカルリスナーを拒否するサンドボックスポリシーなど、マシン上の何かが `127.0.0.1` でのリッスンを妨げています。3542[OAuth](https://code.claude.com/docs/ja/mcp.md#authenticate-with-remote-mcp-servers) でリモート MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためにローカルリスナーを開始します。Claude Code がそのためのローカルポートをバインドできない場合、サインインはこのメッセージで失敗します。セキュリティソフトウェアやローカルリスナーを拒否するサンドボックスポリシーなど、マシン上の何かが `127.0.0.1` でのリッスンを妨げています。

3511 3543 

3512```text theme={null}3544```text theme={null}

3513No available ports for OAuth redirect3545No available ports for OAuth redirect

3514```3546```

3515 3547 

3516v2.1.268 より前は、Claude Code はオペレーティングシステムが割り当てるポートにフォールバックしなかったため、自身が選択したポートをバインドできないだけの場合にもこのメッセージが表示されていました。これは、Claude Code が選択するポートを含むポート範囲を Hyper-V が予約している Windows ホストで発生することがあります。3548v2.1.268 より前は、Claude Code はオペレーティングシステムが割り当てるポートにフォールバックしなかったため、自身で選択したポートをバインドできないだけの場合にもこのメッセージが表示されていました。これは、Claude Code が選択するポートを含むポート範囲を Hyper-V が予約している Windows ホストで発生することがあります。

3517 3549 

3518**対処方法:**3550**対処方法:**

3519 3551 

3520* セキュリティソフトウェアまたはサンドボックスポリシーが、プロセスによる `127.0.0.1` でのリッスンをブロックしていないか確認し、Claude Code がローカルポートをバインドできるよう許可します3552* セキュリティソフトウェアやサンドボックスポリシーがプロセスによる `127.0.0.1` でのリッスンをブロックしていないかを確認し、Claude Code がローカルポートをバインドできるように許可します

3521* その後、`/mcp` でサーバーを選択するなどして、サインインを再度開始します3553* その後、`/mcp` でサーバーを選択するなどして、サインインを再度開始します

3522 3554 

3523### origin/HEAD がないと /security-review が失敗する3555### origin/HEAD がないと /security-review が失敗する

3524 3556 

3525[`/security-review`](https://code.claude.com/docs/ja/commands#all-commands) は、ブランチと `origin/HEAD`(`origin` リモートでどのブランチがデフォルトかを記録するローカルの ref)との差分を取ることで、レビューのコンテキストを構築します。その ref が存在しない場合、差分を収集する Git コマンドが失敗し、レビューは開始前に停止します。3557[`/security-review`](https://code.claude.com/docs/ja/commands#all-commands) は、ブランチと `origin/HEAD`(`origin` リモートでどのブランチがデフォルトかを記録するローカル ref)との差分を取ることでレビューのコンテキストを構築します。その ref が存在しない場合、差分を収集する git コマンドが失敗し、レビューは開始前に停止します。

3526 3558 

3527```text theme={null}3559```text theme={null}

3528Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]3560Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]


3531'git <command> [<revision>...] -- [<file>...]'3563'git <command> [<revision>...] -- [<file>...]'

3532```3564```

3533 3565 

3534メッセージには、代わりに `git log` や別の `git diff` が示される場合もあります。Git が `origin/HEAD` を作成するのは、リモートがデフォルトブランチを通知し、かつフェッチの refspec がそれをカバーしている場合のみです。コミットのあるリモートを完全に `git clone` した場合はこれに該当します。次の構成では ref が存在しません:3566メッセージには、代わりに `git log` や別の `git diff` が引用されている場合があります。Git が `origin/HEAD` を作成するのは、リモートがデフォルトブランチを通知し、かつ fetch の refspec がそれをカバーしている場合のみです。コミットのあるリモートを完全に `git clone` した場合はこれに該当します。次の構成では ref が存在しません:

3535 3567 

3536* 狭すぎる refspec をフェッチする、単一ブランチのチェックアウトまたは CI のチェックアウト3568* refspec の fetch 範囲が狭すぎる、シングルブランチまたは CI のチェックアウト

3537* サーバー側の HEAD が、誰もプッシュしていないブランチを指しているリモート3569* サーバー側の HEAD が誰もプッシュしていないブランチを指しているリモート

3538* `origin` リモートがないリポジトリ、または一度もフェッチしていないリポジトリ3570* `origin` リモートがない、または一度も fetch していないリポジトリ

3539 3571 

3540Claude Code は、[動的コンテキストを挿入する](https://code.claude.com/docs/ja/skills.md#when-an-injected-command-fails)すべてのスキルで同じエラーを表示し、挿入されたコマンドが失敗するとそのスキルの呼び出しは中止されます。3572Claude Code は、[動的コンテキストを挿入する](https://code.claude.com/docs/ja/skills.md#when-an-injected-command-fails)すべてのスキルで同じエラーを表示し、挿入されたコマンドが失敗するとそのスキルの呼び出しは中止されます。

3541 3573 

3542次の類似のメッセージは、コマンドがまったく実行される前に発生します:3574関連する次のメッセージは、コマンドが実行される前に発生します:

3543 3575 

3544* `Shell command permission check failed for pattern "..."`: コマンドの権限チェックでコマンドが許可されませんでした。[挿入されたコマンドの権限チェック](https://code.claude.com/docs/ja/skills.md#permission-checks-on-injected-commands)では、各権限モードでどの結果が中止になるか、`allowed-tools` でコマンドを事前承認する方法を説明しています3576* `Shell command permission check failed for pattern "..."`:コマンドの権限チェックで許可されませんでした。[挿入されたコマンドの権限チェック](https://code.claude.com/docs/ja/skills.md#permission-checks-on-injected-commands)で、各権限モードでどの結果が中止されるか、および `allowed-tools` でコマンドを事前承認する方法を説明しています

3545* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: スキルのフロントマターが、bash のないマシンで bash を要求しています。Git for Windows をインストールするか、フロントマターを `shell: powershell` に変更してください。[挿入されたコマンドの実行方法](https://code.claude.com/docs/ja/skills.md#how-injected-commands-run)を参照してください3577* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``:スキルのフロントマターが、bash のないマシンで bash を要求しています。Git for Windows をインストールするか、フロントマターを `shell: powershell` に変更します。[挿入されたコマンドの実行方法](https://code.claude.com/docs/ja/skills.md#how-injected-commands-run)を参照してください

3546* `No shell command in <name> was run`: ファイル内の `!` コマンドのいずれかに、タブや改行以外の生の制御文字が含まれているため、どのコマンドも実行されません。[文字を見つけて削除する方法](#no-shell-command-was-run)を参照してください3578* `No shell command in <name> was run`:ファイル内の `!` コマンドのいずれかに、タブや改行以外の生の制御文字が含まれているため、どのコマンドも実行されません。[文字を見つけて削除する方法](#no-shell-command-was-run)を参照してください

3547 3579 

3548**対処方法:**3580**対処方法:**

3549 3581 

3550* リモートのデフォルトブランチを指定して 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` を再実行します。3582* リモートのデフォルトブランチを指定して 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` を再実行します。

3551* ブランチを指定したくない場合は、`git fetch origin` を実行してから `git remote set-head origin --auto` を実行します。これにより、どのブランチがデフォルトかをリモートに問い合わせます。リモートが空であるか、その HEAD が誰もプッシュしていないブランチを指しているためにデフォルトブランチを通知しない場合、`error: Cannot determine remote HEAD` で失敗します。その場合は、代わりにブランチを明示的に指定します。クローンがそのブランチをフェッチしない場合は `error: Not a valid ref` で失敗します。その場合は、まず上記のように refspec を広げます。3583* ブランチを指定したくない場合は、`git fetch origin` を実行してから `git remote set-head origin --auto` を実行します。これは、どのブランチがデフォルトかをリモートに問い合わせます。リモートが空である、または HEAD が誰もプッシュしていないブランチを指しているためにデフォルトブランチを通知しない場合は、`error: Cannot determine remote HEAD` で失敗します。その場合はブランチを明示的に指定します。クローンがそのブランチを fetch しない場合は、`error: Not a valid ref` で失敗します。先に上記のように refspec を広げます。

3552* リポジトリにリモートがない場合は、`git remote add origin <url>` でリモートを追加し、フェッチしてから ref を作成します。リモートが空の場合は、まず `git push -u origin HEAD` でブランチをプッシュし、set-head コマンドでそのブランチを指定します。この場合、`origin/HEAD` はプッシュしたばかりのブランチを指すため、ブランチがそこから分岐するまで `/security-review` には空の差分が表示されます。3584* リポジトリにリモートがない場合は、`git remote add origin <url>` でリモートを追加し、ref を作成する前に fetch します。リモートが空の場合は、先に `git push -u origin HEAD` でブランチをプッシュし、set-head コマンドでそのブランチを指定します。`origin/HEAD` はプッシュしたばかりのブランチを指すため、ブランチがそこから分岐するまで、`/security-review` には空の差分が表示されます。

3553 3585 

3554### No shell command in a skill or command was run3586### スキルまたはコマンド内のシェルコマンドが実行されなかった

3555 3587 

3556スキルまたはカスタムコマンドファイル内の `` !`<command>` `` [動的コンテキストコマンド](https://code.claude.com/docs/ja/skills.md#inject-dynamic-context)のいずれかに、タブや改行以外の生の制御文字が含まれています。Claude Code は、ファイル内のどのコマンドも実行する前に、呼び出し全体を拒否します。3588スキルまたはカスタムコマンドのファイル内の `` !`<command>` `` [動的コンテキストコマンド](https://code.claude.com/docs/ja/skills.md#inject-dynamic-context)のいずれかに、タブや改行以外の生の制御文字が含まれています。Claude Code は、ファイル内のどのコマンドも実行する前に、呼び出し全体を拒否します。

3557 3589 

3558メッセージには、コマンドを実行するはずだったシェルツール(Bash または PowerShell)の名前が示され、最後に拒否されたコマンドが表示されます。該当する文字はそれぞれ `�` に置き換えられるため、その位置を確認できます:3590メッセージには、コマンドを実行するはずだったシェルツール(Bash または PowerShell)が示され、最後に拒否されたコマンドが表示されます。該当する各文字は、位置がわかるように `�` に置き換えられます:

3559 3591 

3560```text theme={null}3592```text theme={null}

3561No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.3593No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.

3562build.sh --target�dist3594build.sh --target�dist

3563```3595```

3564 3596 

3565**対処方法:**3597**対処方法:**

3566 3598 

3567* メッセージの最後に引用されたコマンド内の各 `�` を見つけます。それが表す文字を、スキルまたはコマンドファイルから、またはファイルに代入される引数やオプションから削除します。3599* メッセージの最後に引用されたコマンド内の各 `�` を見つけます。それが表す文字を、スキルまたはコマンドのファイル、あるいはファイルに代入される引数やオプションから削除します。

3568 3600 

3569### Input must be provided when using `--print`3601### Input must be provided when using `--print`

3570 3602 

3571引数なしの `claude` で対話 UI を開始するには、stdout がターミナルである必要があります。stdout がリダイレクトされている場合、またはコンソールが PowerShell ISE や一部の IDE の出力ペインのように実際のターミナルではない場合、`claude` は代わりに[非対話的に](https://code.claude.com/docs/ja/headless.md)実行されます。これはプロンプトを必要とする `claude -p` と同じモードであるため、フラグを渡していなくてもメッセージには `--print` が示されます。プロンプトなしで `-p`/`--print` を渡し、stdin に何もパイプしていない場合も、どこでも同じエラーが発生します。3603引数なしの `claude` で対話 UI を開始するには、stdout がターミナルである必要があります。stdout がリダイレクトされている場合、またはコンソールが本物のターミナルではない場合(PowerShell ISE や一部の IDE の出力ペインなど)、`claude` は代わりに[非対話](https://code.claude.com/docs/ja/headless.md)で実行されます。これは `claude -p` と同じモードであり、プロンプトが必要なため、フラグを渡していない場合でもメッセージには `--print` が示されます。プロンプトを指定せず stdin に何もパイプせずに `-p`/`--print` を渡した場合も、どこでも同じエラーが発生します。

3572 3604 

3573```text theme={null}3605```text theme={null}

3574Error: Input must be provided either through stdin or as a prompt argument when using --print3606Error: Input must be provided either through stdin or as a prompt argument when using --print

3575```3607```

3576 3608 

3577**対処方法:**3609**対処方法:**

3578 3610 

3579* 対話的に使用するには、実際のターミナルで `claude` を実行します。ISE ではなく Windows Terminal または PowerShell コンソールを、出力ペインではなく IDE の統合ターミナルを使用してください3611* 対話的に使用するには、本物のターミナルで `claude` を実行します。ISE ではなく Windows Terminal または PowerShell コンソールを、出力ペインではなく IDE の統合ターミナルを使用します

3580* 1 回限りの使用では、プロンプトを渡します: `claude -p "your question"`、またはパイプで渡します: `echo "your question" | claude -p`3612* 1 回限りの使用では、プロンプトを渡すか(`claude -p "your question"`)、`echo "your question" | claude -p` のようにパイプします

3581 3613 

3582### Claude Code can't read the keyboard here3614### Claude Code can't read the keyboard here

3583 3615 

3584[`-p`](https://code.claude.com/docs/ja/headless) を付けずに `claude` を実行したため[対話セッション](https://code.claude.com/docs/ja/interactive-mode.md)が開始されますが、その標準入力がターミナルではありません。何かがパイプまたはリダイレクトしているか、`claude` を起動したプログラムが独自の入力ストリームを渡しています。3616[`-p`](https://code.claude.com/docs/ja/headless) を付けずに `claude` を実行して[対話セッション](https://code.claude.com/docs/ja/interactive-mode.md)を開始しましたが、その標準入力がターミナルではありません。何かがそれをパイプまたはリダイレクトしたか、`claude` を起動したプログラムが独自の入力ストリームを提供しています。

3585 3617 

3586対話セッションでキー入力を読み取るにはターミナルが必要で、ターミナルがない場合の Claude Code の動作はプラットフォームによって異なります:3618対話セッションではキー入力を読み取るためのターミナルが必要であり、ターミナルがない場合の Claude Code の動作はプラットフォームによって異なります:

3587 3619 

3588* **Windows**: Claude Code はインターフェースを開始せず、stderr にメッセージを出力して終了コード 1 で終了します3620* **Windows**:Claude Code はインターフェースを開始せずに、メッセージを stderr に出力して終了コード 1 で終了します

3589* **macOS と Linux**: Claude Code は `/dev/tty` からキー入力を読み取ってセッションを開始し、パイプされたテキストを最初のプロンプトとして使用します。`/dev/tty` を開けない場合にメッセージが表示され、その 1 行目には Windows の文言の代わりに `/dev/tty` が示されます。3621* **macOS と Linux**:Claude Code は `/dev/tty` からキー入力を読み取ってセッションを開始し、パイプされたテキストがあれば最初のプロンプトとして使用します。`/dev/tty` を開けない場合にメッセージが表示され、その 1 行目には Windows の文言の代わりに `/dev/tty` が示されます。

3590 3622 

3591Windows では、メッセージは次のようになります:3623Windows では、メッセージは次のとおりです:

3592 3624 

3593```text theme={null}3625```text theme={null}

3594Claude 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.3626Claude 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.


3596To send text as a prompt and print the reply instead, add -p; it also works with --continue and --resume <session-id> (for example: type notes.md | claude -p --continue).3628To send text as a prompt and print the reply instead, add -p; it also works with --continue and --resume <session-id> (for example: type notes.md | claude -p --continue).

3597```3629```

3598 3630 

3599**対処方法:**3631**対処方法:**

3600 3632 

3601* 対話的に作業するには、入力をパイプやリダイレクトせずに、ターミナルで直接 `claude` を実行します3633* 対話的に作業するには、入力をパイプやリダイレクトせずに、ターミナルで直接 `claude` を実行します

3602* スクリプトからなど、対話インターフェースを使わずに応答を得るには、`-p` を追加し、`claude -p "your question"` や `echo "your question" | claude -p` のように、プロンプトを引数または stdin で渡します。`--continue` と `--resume <session-id>` でも同じように機能します。3634* スクリプトなどから対話インターフェースなしで返答を得るには、`-p` を追加し、`claude -p "your question"` や `echo "your question" | claude -p` のように、プロンプトを引数または stdin で渡します。`--continue` と `--resume <session-id>` でも同様に機能します。

3603 3635 

3604v2.1.287 より前は、Claude Code はこのメッセージを出力する代わりにインターフェースを開始し、画面に何も表示しないか、`Raw mode is not supported` を含むエラーで失敗していました。3636v2.1.287 より前は、Claude Code はこのメッセージを出力する代わりにインターフェースを開始し、画面に何も表示しないか、`Raw mode is not supported` を含むエラーで失敗していました。

3605 3637 

3606代わりに `claude install` 中に `Raw mode is not supported` が表示される場合は、[インストール中の `Raw mode is not supported`](https://code.claude.com/docs/ja/troubleshoot-install#raw-mode-is-not-supported-during-install) を参照してください。3638代わりに `claude install` の実行中に `Raw mode is not supported` が表示される場合は、[インストール中の `Raw mode is not supported`](https://code.claude.com/docs/ja/troubleshoot-install#raw-mode-is-not-supported-during-install) を参照してください。

3607 3639 

3608### Input contained only whitespace3640### Input contained only whitespace

3609 3641 

3610[非対話モード](https://code.claude.com/docs/ja/headless.md)では、API は目に見えるテキストのないメッセージを拒否するため、Claude Code はスペース、タブ、改行だけで構成されたプロンプトを送信せずに拒否します。表示されるメッセージは、空のプロンプトがどこから来たかによって異なります:3642[非対話モード](https://code.claude.com/docs/ja/headless.md)では、API は表示可能なテキストのないメッセージを拒否するため、Claude Code はスペース、タブ、改行のみで構成されたプロンプトを送信せずに拒否します。表示されるメッセージは、空白のプロンプトがどこから来たかによって異なります:

3611 3643 

3612* **`claude -p` のプロンプト引数またはパイプされた stdin**: `claude` は `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print` で終了します3644* **`claude -p` のプロンプト引数またはパイプされた stdin**:`claude` は `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print` で終了します

3613* **実行中の `--input-format stream-json` または [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) セッションに送信されたメッセージ**: Claude Code はモデルを呼び出さずにターンを終了し、セッションは引き続き使用できます。拒否は情報メッセージとして、またターンの結果テキストとして届きます: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`3645* **実行中の `--input-format stream-json` または [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) セッションに送信されたメッセージ**:Claude Code はモデルを呼び出さずにターンを終了し、セッションは引き続き使用できます。拒否は、情報メッセージとして、またターンの結果テキストとして届きます:`Blank prompt — the message was only whitespace, so nothing was sent to the model.`

3614 3646 

3615v2.1.229 より前は、Claude Code は空白のみのメッセージを API に送信し、API はリクエストを 400 エラーで拒否していました。3647v2.1.229 より前は、Claude Code は空白のみのメッセージを API に送信し、API は 400 エラーでリクエストを拒否していました。

3616 3648 

3617**対処方法:**3649**対処方法:**

3618 3650 

3619* プロンプトに目に見えるテキストを含めます。スクリプトが変数やファイルからプロンプトを構築する場合は、Claude Code を呼び出す前にソースが空でないことを確認します。3651* プロンプトに表示可能なテキストを含めます。スクリプトが変数やファイルからプロンプトを構築する場合は、Claude Code を呼び出す前にソースが空でないことを確認します。

3620 3652 

3621### stream-json input carried over 256M characters with no newline3653### stream-json input carried over 256M characters with no newline

3622 3654 

3623プログラムが `claude -p --input-format stream-json` の実行に対して、改行なしで 268,435,456 文字を超えるデータを stdin に送信したため、Claude Code はそれ以上の入力をバッファリングせずに、このエラーを stderr に出力して終了コード 1 で終了します。メッセージでは、この上限が `256M` と表記されています。v2.1.257 より前は、Claude Code はこのような入力を無制限にバッファリングし、プロセスがクラッシュするか強制終了されるまでメモリが増加していました。3655プログラムが `claude -p --input-format stream-json` の実行に対して、改行なしで 268,435,456 文字を超える内容を stdin に送信したため、Claude Code はそれ以上の入力をバッファリングせずに、このエラーを stderr に出力して終了コード 1 で終了します。メッセージではこの上限を `256M` と表記しています。v2.1.257 より前は、Claude Code はこのような入力を無制限にバッファリングし、プロセスがクラッシュするか強制終了されるまでメモリが増加していました。

3624 3656 

3625```text theme={null}3657```text theme={null}

3626Error: 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.3658Error: 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.

3627```3659```

3628 3660 

3629改行なしでこれほど長い入力がある場合、通常は、誤ってパイプされたバイナリファイルやプレーンなログ出力など、送信元がそもそも stream-json の送信元ではないことを意味します。上限を超える単一のメッセージも、同じチェックで失敗します。3661改行なしでこれほど長い入力がある場合、通常は、誤ってパイプされたバイナリファイルやプレーンなログ出力など、プロデューサーがそもそも stream-json のプロデューサーではないことを意味します。上限を超える単一のメッセージも、同じチェックで失敗します。

3630 3662 

3631**対処方法:**3663**対処方法:**

3632 3664 

3633* stdin に何がパイプされているかを確認します。[`--input-format stream-json`](https://code.claude.com/docs/ja/cli-reference#cli-flags) では、各メッセージは改行で終わる 1 行の JSON である必要があります3665* stdin に何がパイプされているかを確認します。[`--input-format stream-json`](https://code.claude.com/docs/ja/cli-reference#cli-flags) では、すべてのメッセージが改行で終わる 1 行の JSON である必要があります

3634* 代わりにプレーンテキストを送信するには、`--input-format stream-json` を削除します。`claude -p` はデフォルトで stdin からプレーンテキストのプロンプトを読み取ります3666* 代わりにプレーンテキストを送信するには、`--input-format stream-json` を外します。`claude -p` はデフォルトで stdin からプレーンテキストのプロンプトを読み込みます

3635 3667 

3636### Unknown command3668### Unknown command

3637 3669 

3638対話型のターミナルセッションで、このセッションのどのコマンドにも一致しない `/` 名を送信したため、Claude Code は何も実行せずにその名前を報告します:3670対話型のターミナルセッションで、このセッション内のどのコマンドにも一致しない `/` 名を送信したため、Claude Code は何も実行せずにその名前を報告します:

3639 3671 

3640```text theme={null}3672```text theme={null}

3641Unknown command: /hepl. Did you mean /help?3673Unknown command: /hepl. Did you mean /help?

3642```3674```

3643 3675 

3644Claude Code は、このセッションでメニューに表示される中から最も近いコマンド名またはエイリアスを提案します。近いものがない場合、メッセージは名前の後で終わります。原因は通常、次のいずれかです:3676Claude Code は、このセッションでメニューに表示されるコマンド名またはエイリアスのうち、最も近いものを提案します。近いものがない場合、メッセージは名前の後で終わります。原因は通常、次のいずれかです:

3645 3677 

3646* `/help` を `/hepl` と入力するなどのタイプミス。送信前に近い候補を選ぶ方法については、[コマンドメニューが入力に一致させる方法](https://code.claude.com/docs/ja/commands.md#how-the-command-menu-matches-what-you-type)を参照してください3678* `/help` を `/hepl` とするなどの入力ミス。[コマンドメニューが入力内容と照合する仕組み](https://code.claude.com/docs/ja/commands.md#how-the-command-menu-matches-what-you-type)で、送信前に近い候補を選ぶ方法を説明しています

3647* 存在するものの、プラットフォーム、プラン、認証方法などの要件を満たしていないため、このセッションでは利用できないコマンド。[`/web-setup`](https://code.claude.com/docs/ja/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command)、[`/schedule`](https://code.claude.com/docs/ja/routines#schedule-returns-unknown-command)、または [`/auto-mode-setup`](https://code.claude.com/docs/ja/auto-mode-config#auto-mode-setup-returns-unknown-command) の項目を参照してください。一部のコマンドは、組織のポリシーによって無効化されている場合、[`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy) のような独自のメッセージで応答します3679* コマンドは存在するものの、プラットフォーム、プラン、認証方法などの要件を満たしていないため、このセッションでは利用できない。[`/web-setup`](https://code.claude.com/docs/ja/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command)、[`/schedule`](https://code.claude.com/docs/ja/routines#schedule-returns-unknown-command)、または [`/auto-mode-setup`](https://code.claude.com/docs/ja/auto-mode-config#auto-mode-setup-returns-unknown-command) の項目を参照してください。一部のコマンドは、組織のポリシーによって無効化されている場合、[`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy) のように独自のメッセージで応答します

3648* このセッションでインストールまたは接続されていない[プラグイン](https://code.claude.com/docs/ja/plugins/overview.md)または [MCP サーバー](https://code.claude.com/docs/ja/mcp.md#use-mcp-prompts-as-commands)のコマンド3680* このセッションでインストールまたは接続されていない[プラグイン](https://code.claude.com/docs/ja/plugins/overview.md)や [MCP サーバー](https://code.claude.com/docs/ja/mcp.md#use-mcp-prompts-as-commands)のコマンド

3649 3681 

3650Claude Code が一致しない `/` 名にこのように応答するのは、対話型のターミナルセッションのみです。それ以外のすべてのセッションでは、代わりにプロンプトを通常のメッセージとして Claude に送信し、コマンドが実行されなかったことを示す注記と、そのセッションで Claude が実行できるコマンドの一覧を添えます。これらのセッションには次のものがあります:3682Claude Code が一致しない `/` 名にこのように応答するのは、対話型のターミナルセッションのみです。それ以外のすべてのセッションでは、代わりにプロンプトを通常のメッセージとして Claude に送信し、コマンドが実行されなかったという注記と、そのセッションで Claude が実行できるコマンドの一覧を添えます。そのようなセッションには次のものがあります:

3651 3683 

3652* `-p` の実行3684* `-p` の実行

3653* [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) アプリケーション3685* [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) アプリケーション


3655* [VS Code 拡張機能](https://code.claude.com/docs/ja/vs-code.md)のチャットパネル3687* [VS Code 拡張機能](https://code.claude.com/docs/ja/vs-code.md)のチャットパネル

3656* [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)と[クラウドのスケジュールタスク](https://code.claude.com/docs/ja/routines.md)3688* [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)と[クラウドのスケジュールタスク](https://code.claude.com/docs/ja/routines.md)

3657 3689 

3658これらのセッションのいずれかで実行できない組み込みコマンドの場合、Claude Code は Claude に送信せず、そのコマンドが利用できないと応答します。v2.1.274 より前は、一致しない名前を Claude に送信していたのはクラウドセッションとクラウドのスケジュールタスクのみでした。v2.1.273 より前は、これらも `Unknown command` と応答していました。3690これらのセッションのいずれかで実行できない組み込みコマンドについては、Claude Code は Claude に送信せずに、そのコマンドは利用できないと応答します。v2.1.274 より前は、一致しない名前を Claude に送信していたのは、クラウドセッションとクラウドのスケジュールタスクのみでした。v2.1.273 より前は、これらも `Unknown command` と応答していました。

3659 3691 

3660Claude Code は、`/` で始まるすべてのプロンプトをコマンドとして扱うわけではありません。`/` の後の最初の単語が、Lean のドキュメントコメントを開始する `/--` のように句読点で始まる場合、または `/var/log/syslog` のようなパスである場合は、プロンプトを通常のメッセージとして Claude に送信します。3692Claude Code は、`/` で始まるすべてのプロンプトをコマンドとして扱うわけではありません。`/` の後の最初の単語が、Lean のドキュメントコメントを開始する `/--` のように句読点で始まる場合や、`/var/log/syslog` のようなパスである場合は、プロンプトを通常のメッセージとして Claude に送信します。

3661 3693 

3662v2.1.236 より前は、入力した名前に近い候補がコマンドメニューに表示されている状態で `Enter` を押すと、Claude Code はその候補を実行していたため、`/hepl` のようなタイプミスではこのメッセージの代わりに `/help` が実行されていました。3694v2.1.236 より前は、入力した名前に近い候補がコマンドメニューに表示されている間に `Enter` を押すと、Claude Code はその候補を実行していたため、`/hepl` のような入力ミスではこのメッセージが表示される代わりに `/help` が実行されていました。

3663 3695 

3664**対処方法:**3696**対処方法:**

3665 3697 

3666* 提案された名前を実行するか、`/` の後に名前の一部を入力して、このセッションで利用できるものを確認します3698* 提案された名前を実行するか、`/` に続けて名前の一部を入力し、このセッションで何が利用できるかを確認します

3667* ドキュメントに記載されているコマンドを Claude Code が不明と報告する場合は、[コマンドリファレンス](https://code.claude.com/docs/ja/commands.md)でそのコマンドの行を確認し、示されている要件を確認します3699* ドキュメントに記載されたコマンドを Claude Code が不明と報告する場合は、[コマンドリファレンス](https://code.claude.com/docs/ja/commands.md)でそのコマンドの行を確認し、示されている要件を確認します

3668 3700 

3669### Diff is too large for ultrareview3701### Diff is too large for ultrareview

3670 3702 

3671コミットされていない変更やステージされた変更を含む、ブランチとベースブランチの差分が [ultrareview](https://code.claude.com/docs/ja/ultrareview.md) のサイズ制限を超えているため、`/code-review ultra` と `claude ultrareview` サブコマンドは、クラウドセッションが開始される前にレビューを拒否します。拒否されたレビューは無料の実行回数を消費せず、使用クレジットも請求されません。メッセージには、適用されている制限、差分のサイズ、および変更行数が最も多いファイルが示されます。v2.1.216 より前は、メッセージには生の差分統計のみが表示されていました。3703ブランチとベースブランチの間の差分(コミットされていない変更とステージされた変更を含む)が [ultrareview](https://code.claude.com/docs/ja/ultrareview.md) のサイズ上限を超えているため、`/code-review ultra` と `claude ultrareview` サブコマンドはクラウドセッションの開始前にレビューを拒否します。拒否されたレビューは無料実行回数を消費せず、使用クレジットも請求されません。メッセージには、適用されている上限、差分のサイズ、変更行数が最も多いファイルが示されます。v2.1.216 より前は、メッセージには差分の統計情報がそのまま表示されるだけでした。

3672 3704 

3673```text theme={null}3705```text theme={null}

3674Diff 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.3706Diff 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.

3675```3707```

3676 3708 

3677プルリクエストのレビューにも同じ制限が適用されます。その場合のメッセージは `PR #<N> is too large for ultrareview` で始まり、PR のファイル数と行数が示されます。3709プルリクエストのレビューにも同じ上限が適用されます。その場合のメッセージは `PR #<N> is too large for ultrareview` で始まり、PR のファイル数と行数が示されます。

3678 3710 

3679**対処方法:**3711**対処方法:**

3680 3712 

3681* `/code-review ultra develop` のように、作業内容により近いベースブランチを渡して、レビューがそのブランチとの差分のみを対象にするようにします3713* `/code-review ultra develop` のように、作業内容により近いベースブランチを指定して、そのブランチに対する差分だけがレビュー対象になるようにします

3682* 変更をより小さなブランチに分割し、それぞれをレビューします。メッセージに示されたファイルは変更行数が最も多いため、まずそれらを専用のブランチに移動することから始めてください。3714* 変更を小さなブランチに分割し、それぞれをレビューします。メッセージに示されたファイルは変更行数への寄与が最も大きいため、まずそれらを別のブランチに移してください。

3683 3715 

3684### Could not find merge-base with the base branch3716### Could not find merge-base with the base branch

3685 3717 

3686`/code-review ultra` と `claude ultrareview` サブコマンドは、現在のブランチとベースブランチの間の差分をレビューします。そのため、両者が共有するコミットが必要です。`git merge-base` が共有コミットを見つけられない場合、Claude Code はクラウドセッションの開始前にレビューを拒否します。Claude Code が完全であると確認でき、少なくとも 1 つのブランチを持つクローンでは、拒否する代わりに[追跡中のすべてのファイルのレビュー](https://code.claude.com/docs/ja/ultrareview.md#diff-limits-and-fallbacks)にフォールバックします。この拒否が表示されるのは、ベースブランチがまったく見つからない場合、クローンが完全であることを Claude Code が確認できない場合、またはまれなケースとして SHA-256 オブジェクト形式のようにツリー全体の差分が取れないリポジトリの場合です。3718`/code-review ultra` と `claude ultrareview` サブコマンドは、ブランチとベースブランチの間の差分をレビューするため、両者が共有するコミットが必要です。`git merge-base` がそのようなコミットを見つけられない場合、Claude Code はクラウドセッションの開始前にレビューを拒否します。Claude Code が完全であることを確認できるクローンで、ブランチが 1 つ以上ある場合は、拒否する代わりに[追跡対象のすべてのファイルのレビュー](https://code.claude.com/docs/ja/ultrareview.md#diff-limits-and-fallbacks)にフォールバックします。この拒否が表示されるのは、ベースブランチがまったく見つからない場合、Claude Code がクローンの完全性を確認できない場合、または SHA-256 オブジェクト形式のようにツリー全体の差分を取得できないまれなリポジトリの場合です。

3687 3719 

3688```text theme={null}3720```text theme={null}

3689Could 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.3721Could 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.

3690```3722```

3691 3723 

3692最初の文の後に続くヒントは、Claude Code が検出した状況によって異なります。3724最初の文に続くヒントは、Claude Code が確認した状況によって異なります。

3693 3725 

3694* **ベースブランチを指定しなかった場合**: Claude Code はリポジトリのデフォルトブランチと比較しており、上の例のようにベースを明示的に指定するよう提案します3726* **ベースブランチを指定しなかった場合**:Claude Code はリポジトリのデフォルトブランチと比較しており、上記の例のようにベースブランチを明示的に指定するよう提案します

3695* **クローン内に既に存在するベースブランチを指定した場合**: ヒントは ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)`` となります3727* **クローンにすでに存在するベースブランチを指定した場合**:ヒントは ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)`` となります

3696* **クローンに存在しないベースブランチを指定した場合**: Claude Code は比較の前にそのブランチを origin から取得します。ヒントは ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` となります。クローンがシャロークローンかどうかを Claude Code が判断できない場合は、代わりに `git fetch --unshallow origin` を提案します。v2.1.221 より前は、取得したすべてのベースブランチに対して `git fetch --unshallow origin` が提案されていましたが、完全なクローンではこのコマンドが `fatal: --unshallow on a complete repository does not make sense` で失敗していました。3728* **クローンに存在しないベースブランチを指定した場合**:Claude Code は比較の前に origin からそのブランチを取得しました。ヒントは ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` となります。クローンがシャロークローンかどうかを Claude Code が判断できない場合は、代わりに `git fetch --unshallow origin` を提案します。v2.1.221 より前は、取得したすべてのベースブランチに対して `git fetch --unshallow origin` が提案され、完全なクローンではこのコマンドが `fatal: --unshallow on a complete repository does not make sense` で失敗していました。

3697 3729 

3698**対処方法:**3730**対処方法:**

3699 3731 

3700* 別のブランチが実際のベースである場合は、`/code-review ultra <branch>` のように明示的に指定します3732* 別のブランチが本来のベースである場合は、`/code-review ultra <branch>` で明示的に指定します

3701* クローンに完全な履歴がない可能性がある場合は、`git fetch --unshallow origin` を実行してからレビューを再実行します3733* クローンに完全な履歴がない可能性がある場合は、`git fetch --unshallow origin` を実行してからレビューを再実行します

3702 3734 

3703### Your checkout has no branches3735### Your checkout has no branches

3704 3736 

3705チェックアウトには、コミットはあってもブランチがない場合があります。`git init` に続けて `git fetch <url>` と `git checkout FETCH_HEAD` を実行すると、ref のない detached HEAD の状態になります。Claude Code は [ultrareview](https://code.claude.com/docs/ja/ultrareview.md) 用にアップロードするためリポジトリを git バンドルとしてパッケージ化しますが、ブランチやその他の ref がないリポジトリはバンドルできません。そのため、`/code-review ultra` と `claude ultrareview` サブコマンドはクラウドセッションの開始前にレビューを拒否します。3737チェックアウトには、コミットがあってもブランチがない場合があります。`git init` の後に `git fetch <url>` と `git checkout FETCH_HEAD` を実行すると、ref のない detached HEAD になります。Claude Code は [ultrareview](https://code.claude.com/docs/ja/ultrareview.md) のためにリポジトリを git バンドルとしてパッケージ化してアップロードしますが、ブランチやその他の ref がないリポジトリはバンドルできないため、`/code-review ultra` と `claude ultrareview` サブコマンドはクラウドセッションの開始前にレビューを拒否します。

3706 3738 

3707```text theme={null}3739```text theme={null}

3708Your 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.3740Your 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.

3709```3741```

3710 3742 

3711v2.1.221 より前は、Claude Code はこのチェックアウトで追跡中のすべてのファイルをレビューしようとし、アップロードが失敗していました。3743v2.1.221 より前は、Claude Code はこのチェックアウトで追跡対象のすべてのファイルのレビューを試み、アップロードが失敗していました。

3712 3744 

3713**対処方法:**3745**対処方法:**

3714 3746 

3715* `git checkout -b <name>` で現在のコミットにブランチを作成してから、レビューを再実行します3747* `git checkout -b <name>` で現在のコミットにブランチを作成してから、レビューを再実行します

3716 3748 

3717### No GitHub account is connected to your Claude account3749### No GitHub account is connected to your Claude account

3718 3750 

3719`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行すると、Claude Code はクラウドセッションを作成する前に、[Claude アカウントに接続された GitHub アカウント](https://code.claude.com/docs/ja/ultrareview.md#review-a-pull-request)が PR のリポジトリにアクセスできるかどうかをサーバーに問い合わせます。アカウントが接続されていないか、接続の有効期限が切れているため、クラウドでのクローンが失敗すると判断され、Claude Code は起動を拒否しています。拒否された起動に対して、Claude Code は無料実行回数を消費せず、使用クレジットも請求しません。3751`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行すると、Claude Code はクラウドセッションを作成する前に、[Claude アカウントに接続された GitHub アカウント](https://code.claude.com/docs/ja/ultrareview.md#review-a-pull-request)が PR のリポジトリにアクセスできるかどうかをサーバーに問い合わせます。アカウントが接続されていないか接続の有効期限が切れているため、クラウドでのクローンが失敗することになり、Claude Code は起動を拒否します。拒否された起動では、Claude Code は無料実行回数を消費せず、使用クレジットも請求しません。

3720 3752 

3721```text theme={null}3753```text theme={null}

3722Ultrareview 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).3754Ultrareview 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).

3723```3755```

3724 3756 

3725セッションで [`/web-setup`](https://code.claude.com/docs/ja/web-quickstart#connect-from-your-terminal) が利用できない場合、メッセージには claude.ai のリンクのみが記載されます。3757セッションで [`/web-setup`](https://code.claude.com/docs/ja/web-quickstart#connect-from-your-terminal) が利用できない場合、メッセージには claude.ai のリンクのみが示されます。

3726 3758 

3727**対処方法:**3759**対処方法:**

3728 3760 

3729* `/web-setup` を実行して GitHub CLI のログインを Claude アカウントに接続するか、[claude.ai/connect-github](https://claude.ai/connect-github) でアカウントを接続します3761* `/web-setup` を実行して GitHub CLI のログインを Claude アカウントに接続するか、[claude.ai/connect-github](https://claude.ai/connect-github) でアカウントを接続します

3730* 接続してから 1 分ほど待ってレビューを再実行します3762* 接続してから 1 分ほど待ってレビューを再実行します

3731 3763 

3732v2.1.248 より前は、Claude Code は起動前にこのチェックを行っていませんでした。3764v2.1.248 より前は、Claude Code は起動前にこの確認を行っていませんでした。

3733 3765 

3734### Your connected GitHub account can't see the repository3766### Your connected GitHub account can't see the repository

3735 3767 

3736`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行しましたが、[Claude アカウントに接続された GitHub アカウント](https://code.claude.com/docs/ja/ultrareview.md#review-a-pull-request)が PR のリポジトリを読み取れないため、クラウドでのクローンが失敗すると判断され、Claude Code は起動を拒否しています。拒否された起動に対して、Claude Code は無料実行回数を消費せず、使用クレジットも請求しません。3768`/code-review ultra <PR#>` または `claude ultrareview <PR#>` を実行しましたが、[Claude アカウントに接続された GitHub アカウント](https://code.claude.com/docs/ja/ultrareview.md#review-a-pull-request)が PR のリポジトリを読み取れないため、クラウドでのクローンが失敗することになり、Claude Code は起動を拒否します。拒否された起動では、Claude Code は無料実行回数を消費せず、使用クレジットも請求しません。

3737 3769 

3738```text theme={null}3770```text theme={null}

3739Your 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.3771Your 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.

3740```3772```

3741 3773 

3742セッションで [`/web-setup`](https://code.claude.com/docs/ja/web-quickstart#connect-from-your-terminal) が利用できない場合、メッセージにはアプリのインストールのみが記載されます。3774セッションで [`/web-setup`](https://code.claude.com/docs/ja/web-quickstart#connect-from-your-terminal) が利用できない場合、メッセージにはアプリのインストールのみが示されます。

3743 3775 

3744**対処方法:**3776**対処方法:**

3745 3777 

3746* ローカルの `gh` CLI でリポジトリを読み取れる場合は、`/web-setup` を実行してそのログインを Claude アカウントに接続します3778* ローカルの `gh` CLI でリポジトリを読み取れる場合は、`/web-setup` を実行してそのログインを Claude アカウントに接続します

3747* 変更後にレビューを再実行します3779* 変更後にレビューを再実行します

3748 3780 

3749v2.1.248 より前は、Claude Code は起動前にこのチェックを行っていませんでした。3781v2.1.248 より前は、Claude Code は起動前にこの確認を行っていませんでした。

3750 3782 

3751### The GitHub App preflight failed transiently3783### The GitHub App preflight failed transiently

3752 3784 

3753ローカルリポジトリから[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)を開始したところ、2 つのステップが同時に失敗しました。Claude Code はリポジトリのバンドルをビルドまたはアップロードできませんでした。アップロードの前に、クラウドサービスが GitHub からリポジトリをクローンできるかどうかを確認しましたが、そのチェックは明確な結果ではなく、ネットワークエラー、タイムアウト、一時的なサーバーエラーなど、再試行で解消しうるエラーで終了しました。メッセージ全体は、`Could not upload repo bundle (<error>)` のようにバンドルを妨げた原因で始まり、事前チェックに関する文で終わります。3785ローカルリポジトリから[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)を開始しましたが、2 つのステップが同時に失敗しました。Claude Code はリポジトリのバンドルをビルドまたはアップロードできませんでした。アップロードの前に、Claude Code はクラウドサービスが GitHub からリポジトリをクローンできるかどうかを確認しますが、その確認は明確な結果ではなく、ネットワークエラー、タイムアウト、一時的なサーバーエラーなど、再試行で解消する可能性のあるエラーで終わりました。完全なメッセージは、`Could not upload repo bundle (<error>)` のようにバンドルを妨げた原因で始まり、プリフライトに関する文で終わります。

3754 3786 

3755```text theme={null}3787```text theme={null}

3756Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3788Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead

3757```3789```

3758 3790 

3759**対処方法:**3791**対処方法:**

3760 3792 

3761* 少し待ってからコマンドを再実行します。GitHub のチェックに合格すると、Claude Code は GitHub のクローンからセッションを開始できるため、アップロードの失敗によって起動がブロックされることはなくなります3793* しばらく待ってからコマンドを再実行します。GitHub の確認が成功すると、Claude Code は GitHub のクローンからセッションを開始できるため、アップロードの失敗によって起動が妨げられることはなくなります

3762* 再試行しても失敗し続ける場合は、メッセージの冒頭にアップロードを妨げた原因が記載されています。その原因が自分で修正できるものであれば修正し、ローカルリポジトリからセッションを開始できるようにします3794* 再試行しても失敗し続ける場合は、メッセージの冒頭にアップロードを妨げた原因が示されています。その原因が修正可能なものであれば、修正してローカルリポジトリからセッションを開始できるようにします

3763 3795 

3764v2.1.251 より前は、GitHub のチェックが一時的に失敗しただけの場合でも、Claude Code はメッセージの末尾に `Please set up GitHub on https://claude.ai/code` を表示していました。一時的な失敗はセットアップの案内では解消できません。3796v2.1.251 より前は、GitHub の確認が一時的に失敗しただけの場合でも、Claude Code はメッセージの末尾に `Please set up GitHub on https://claude.ai/code` を表示していましたが、セットアップの案内では一時的な失敗は解消できません。

3765 3797 

3766### The repository upload can't follow a git setting3798### リポジトリのアップロードが git 設定に対応できない

3767 3799 

3768[ローカルリポジトリをアップロードするクラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md#send-local-repositories-without-github)、またはブランチの [ultrareview](https://code.claude.com/docs/ja/ultrareview.md) を開始しましたが、ファイルにどの属性ルールが適用されるかを決める git 設定の 1 つに、アップロードが従うことができません。アップロードを続行してルールを見落とすと、git が保存前に変換するファイル(たとえば clean フィルターで暗号化されるファイル)が、ディスク上の状態のままクラウドに送られる可能性があります。そのため、Claude Code はアップロードを拒否し、何もアップロードされません。3800[ローカルリポジトリをアップロードするクラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md#send-local-repositories-without-github)、またはブランチの [ultrareview](https://code.claude.com/docs/ja/ultrareview.md) を開始しましたが、ファイルに適用される属性ルールを決定する git 設定の 1 つにアップロードが対応できません。アップロードを続行してルールを見落とすと、clean フィルターで暗号化されるファイルのように git が保存前に変換するファイルが、ディスク上の状態のままクラウドに届く可能性があります。そのため Claude Code はアップロードを拒否し、何もアップロードされません。

3769 3801 

3770```text theme={null}3802```text theme={null}

3771Not 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.3803Not 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.

3772```3804```

3773 3805 

3774メッセージには該当する設定とその設定場所が記載され、該当するケースに応じた修正方法で終わります。`core.attributesFile` と `attr.tree` についても同じ拒否が表示され、それぞれに固有の修正方法が示されます。3806メッセージには設定項目とその設定場所が示され、該当するケースの修正方法で締めくくられます。`core.attributesFile` と `attr.tree` でも同じ拒否が発生し、それぞれに固有の修正方法が示されます。

3775 3807 

3776メッセージには、git の設定が `include` または `includeIf` ディレクティブで読み込む設定ファイルが記載されることがあります。これは、そのディレクティブの条件がこのリポジトリに該当しない場合でも同様です。3808メッセージには、git の設定が `include` または `includeIf` ディレクティブで読み込む設定ファイルが示されることがあります。これは、そのディレクティブの条件がこのリポジトリに該当しない場合でも同様です。

3777 3809 

3778**対処方法:**3810**対処方法:**

3779 3811 

3780* メッセージの最後の文に記載された修正を適用します3812* メッセージの最後の文に示された修正を適用します

3781 3813 

3782### GitHub isn't connected to your Claude account3814### GitHub isn't connected to your Claude account

3783 3815 

3784`/autofix-pr` などで、ローカルリポジトリから[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)を開始しました。Claude アカウントに GitHub アカウントが接続されていないか、接続の有効期限が切れているため、Claude Code は起動を拒否しています。3816`/autofix-pr` などでローカルリポジトリから[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)を開始しました。Claude アカウントに GitHub アカウントが接続されていないか接続の有効期限が切れているため、Claude Code は起動を拒否します。

3785 3817 

3786```text theme={null}3818```text theme={null}

3787GitHub 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-github3819GitHub 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

3788```3820```

3789 3821 

3790[`/schedule`](https://code.claude.com/docs/ja/routines) でクラウドのスケジュールタスクを作成する場合、同じメッセージがリポジトリ名を含むセットアップの注記として表示されます。この注記によってタスクの作成がブロックされることはありません。3822[`/schedule`](https://code.claude.com/docs/ja/routines) でクラウドのスケジュールタスクを作成する場合、同じメッセージがリポジトリ名を示すセットアップの注意書きとして表示されます。この注意書きはタスクの作成を妨げません。

3791 3823 

3792**対処方法:**3824**対処方法:**

3793 3825 

3794* `/web-setup` を実行して GitHub CLI のログインを Claude アカウントに接続するか、[claude.ai/connect-github](https://claude.ai/connect-github) でアカウントを接続します。2 つの方法の違いについては、[GitHub の認証オプション](https://code.claude.com/docs/ja/claude-code-on-the-web.md#github-authentication-options)を参照してください。3826* `/web-setup` を実行して GitHub CLI のログインを Claude アカウントに接続するか、[claude.ai/connect-github](https://claude.ai/connect-github) でアカウントを接続します。両者の違いについては [GitHub の認証オプション](https://code.claude.com/docs/ja/claude-code-on-the-web.md#github-authentication-options)を参照してください。

3795* 接続してから 1 分ほど待ってコマンドを再実行します3827* 接続してから 1 分ほど待ってコマンドを再実行します

3796 3828 

3797v2.1.268 より前は、Claude Code はこれを Claude GitHub App のチェックの一時的な失敗として報告し、再試行またはアプリのインストールを提案していました。いずれの方法でも GitHub アカウントは接続されません。3829v2.1.268 より前は、Claude Code はこれを Claude GitHub App の確認の一時的な失敗として報告し、再試行またはアプリのインストールを提案していましたが、どちらも GitHub アカウントを接続するものではありません。

3798 3830 

3799### A GitHub organization policy is blocking Claude3831### GitHub 組織のポリシーが Claude をブロックしている

3800 3832 

3801Claude Code のプロンプトで、[`/autofix-pr`](https://code.claude.com/docs/ja/claude-code-on-the-web#auto-fix-pull-requests) などのクラウドセッションを開始するコマンドを実行しました。Claude Code はセッションを作成する前に GitHub 上のリポジトリへの Claude のアクセスを確認しますが、GitHub 組織に Claude をブロックするポリシーがあるため、GitHub がアクセスを拒否しました。Claude Code はそこで停止し、該当するポリシーを示すメッセージを表示します。3833[`/autofix-pr`](https://code.claude.com/docs/ja/claude-code-on-the-web#auto-fix-pull-requests) など、クラウドセッションを開始するコマンドを Claude Code のプロンプトで実行しました。Claude Code はセッションを作成する前に GitHub 上のリポジトリへの Claude のアクセスを確認しますが、GitHub 組織に Claude をブロックするポリシーがあるため、GitHub がアクセスを拒否しました。Claude Code はその時点で停止し、該当するポリシーを示すメッセージを表示します。

3802 3834 

3803IP 許可リストによってアクセスがブロックされている場合、メッセージは次のとおりです。3835IP 許可リストによってアクセスがブロックされている場合、メッセージは次のようになります。

3804 3836 

3805```text theme={null}3837```text theme={null}

3806Your GitHub organization has an IP allowlist that is blocking Claude. Add Claude's IP ranges to your GitHub allowlist.3838Your GitHub organization has an IP allowlist that is blocking Claude. Add Claude's IP ranges to your GitHub allowlist.

3807```3839```

3808 3840 

3809シングルサインオンによってブロックされている場合、メッセージは次のとおりです。3841シングルサインオンによってブロックされている場合、メッセージは次のようになります。

3810 3842 

3811```text theme={null}3843```text theme={null}

3812Your 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.3844Your 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.

3813```3845```

3814 3846 

3815Microsoft Entra ID の条件付きアクセスポリシーによってブロックされている場合、メッセージは次のとおりです。3847Microsoft Entra ID の条件付きアクセスポリシーによってブロックされている場合、メッセージは次のようになります。

3816 3848 

3817```text theme={null}3849```text theme={null}

3818Your 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.3850Your 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.

3819```3851```

3820 3852 

3821**対処方法:**3853**対処方法:**

3822 3854 

3823* **IP 許可リスト**: GitHub の組織または Enterprise のオーナーに、Anthropic の送信元 IP アドレスを許可するよう依頼します。アドレスと変更が必要な GitHub の設定については、[GitHub の許可リストとファイアウォール](https://code.claude.com/docs/ja/network-config.md#github-allow-lists-and-firewalls)を参照してください。3855* **IP 許可リスト**:GitHub の組織または Enterprise のオーナーに、Anthropic の送信元 IP アドレスを許可するよう依頼します。アドレスと変更する GitHub の設定については、[GitHub の許可リストとファイアウォール](https://code.claude.com/docs/ja/network-config.md#github-allow-lists-and-firewalls)を参照してください。

3824* **シングルサインオン**: [claude.ai/customize/connectors](https://claude.ai/customize/connectors) で GitHub の接続を解除してから、再度接続します。GitHub から求められたら、組織の横にある **Authorize** をクリックし、新しい接続がその組織のシングルサインオンに対して認可されるようにします。3856* **シングルサインオン**:[claude.ai/customize/connectors](https://claude.ai/customize/connectors) で GitHub の接続を解除してから、再度接続します。GitHub から求められたら、組織の横にある **Authorize** をクリックして、新しい接続がその組織のシングルサインオンで認可されるようにします。

3825* **条件付きアクセスポリシー**: GitHub Enterprise または Microsoft Entra ID の管理者に、そのポリシーで Claude を許可するよう依頼します3857* **条件付きアクセスポリシー**:GitHub Enterprise または Microsoft Entra ID の管理者に、そのポリシーで Claude を許可するよう依頼します

3826* 変更後、コマンドを再実行します3858* 変更後、コマンドを再度実行します

3827 3859 

3828### Single sign-on authorization needed3860### Single sign-on authorization needed

3829 3861 

3830[`/install-github-app`](https://code.claude.com/docs/ja/github-actions#quick-setup) を実行し、SAML シングルサインオンを強制している組織のリポジトリを選択しました。Claude Code はセットアップの前に GitHub CLI でリポジトリへのアクセスを確認しますが、`gh` トークンがまだその組織に対して認可されていないため、GitHub がそのチェックを拒否しました。ウィザードには、認可の手順とともに次の警告が表示されます。3862[`/install-github-app`](https://code.claude.com/docs/ja/github-actions#quick-setup) を実行し、SAML シングルサインオンを強制している組織のリポジトリを選択しました。Claude Code はセットアップの前に GitHub CLI でリポジトリへのアクセスを確認しますが、`gh` トークンがまだその組織に対して認可されていないため、GitHub がその確認を拒否しました。ウィザードには、認可の手順とともに次の警告が表示されます。

3831 3863 

3832```text theme={null}3864```text theme={null}

3833Single sign-on authorization needed3865Single sign-on authorization needed

3834<owner>/<repo> belongs to an organization that enforces SAML single sign-on, and your GitHub CLI token isn't authorized for it yet.3866<owner>/<repo> belongs to an organization that enforces SAML single sign-on, and your GitHub CLI token isn't authorized for it yet.

3835```3867```

3836 3868 

3837**対処方法:**3869**対処方法:**

3838 3870 

3839* `gh auth refresh -h github.com -s repo,workflow` を実行して、`repo` と `workflow` のスコープで GitHub CLI のログインを再認可し、GitHub からシングルサインオンを求められたら組織を認可します3871* `gh auth refresh -h github.com -s repo,workflow` を実行して、`repo` と `workflow` のスコープで GitHub CLI のログインを再認可し、GitHub からシングルサインオンを求められたら組織を認可します

3840* `GH_TOKEN` の個人用アクセストークンで認証している場合は、[github.com/settings/tokens](https://github.com/settings/tokens) を開き、トークンの **Configure SSO** を選択して組織を認可します3872* `GH_TOKEN` で個人用アクセストークンを使って認証している場合は、[github.com/settings/tokens](https://github.com/settings/tokens) を開き、トークンの **Configure SSO** を選択して組織を認可します

3841* `/install-github-app` を再度実行します3873* `/install-github-app` を再度実行します

3842 3874 

3843v2.1.273 より前は、Claude Code はこの状況で代わりに `Admin permissions required` の警告を表示していました。3875v2.1.273 より前は、Claude Code はこの状況で代わりに `Admin permissions required` の警告を表示していました。

3844 3876 

3845### Failed to resume the conversation3877### Failed to resume the conversation

3846 3878 

3847[`claude --resume` ピッカー](https://code.claude.com/docs/ja/sessions#use-the-session-picker)で選択したセッションについて、保存されたトランスクリプトを Claude Code が読み取ることも処理することもできなかったため、部分的に読み込まれた状態で続行するのではなく、プロセスを終了します。メッセージには再試行用のコマンドが含まれます。3879[`claude --resume` のピッカー](https://code.claude.com/docs/ja/sessions#use-the-session-picker)で選択したセッションの保存済みトランスクリプトを Claude Code が読み取れないか処理できなかったため、部分的に読み込まれた状態で続行するのではなくプロセスを終了します。メッセージには再試行用のコマンドが含まれます。

3848 3880 

3849```text theme={null}3881```text theme={null}

3850Failed to resume the conversation.3882Failed to resume the conversation.

3851Run claude --resume <session-id> to retry, or claude to start a new session.3883Run claude --resume <session-id> to retry, or claude to start a new session.

3852```3884```

3853 3885 

3854Claude Code はメッセージを表示した後、終了コード 1 で終了します。実行中のセッション内の `/resume` ピッカーでは、代わりに会話内に `Failed to resume conversation` と表示され、現在のセッションは実行を続けます。v2.1.216 より前は、`claude --resume` ピッカーからの再開に失敗すると、このメッセージを表示せずに `Resuming conversation…` のスピナーが表示されたままになっていました。3886Claude Code はメッセージを表示した後、コード 1 で終了します。実行中のセッション内の `/resume` ピッカーでは、代わりに会話内に `Failed to resume conversation` と表示され、現在のセッションは引き続き実行されます。v2.1.216 より前は、`claude --resume` のピッカーから再開に失敗すると、このメッセージを表示する代わりに `Resuming conversation…` のスピナーが表示されたままになっていました。

3855 3887 

3856**対処方法:**3888**対処方法:**

3857 3889 

3858* メッセージに記載されたセッション ID を使って `claude --resume <session-id>` を実行し、再試行します3890* メッセージに示されたセッション ID を使って `claude --resume <session-id>` を実行し、再試行します

3859* v2.1.285 より前のバージョンで再試行が同じように失敗する場合は、`claude update` を実行してから再度再開します。これらのバージョンでは、保存されたトランスクリプトに読み取れないエントリが含まれていると再開に失敗します。3891* v2.1.285 より前のバージョンで、再試行しても同じように失敗する場合は、`claude update` を実行してから再度再開します。これらのバージョンでは、保存済みトランスクリプトに読み取れないエントリが含まれていると再開に失敗します。

3860* 再試行が再び失敗する場合は、`claude` を実行して新しいセッションを開始します3892* 再試行しても再び失敗する場合は、`claude` を実行して新しいセッションを開始します

3861 3893 

3862### No conversation found with the session ID3894### No conversation found with the session ID

3863 3895 


3867No conversation found with session ID: <session-id>3899No conversation found with session ID: <session-id>

3868```3900```

3869 3901 

3870Claude Code はメッセージを表示した後、終了コード 1 で終了します。Claude Code は ID を[まず現在のプロジェクトで検索し、次にこのマシン上の他のすべてのプロジェクトで検索](https://code.claude.com/docs/ja/sessions.md#where-the-session-picker-looks)します。v2.1.223 より前は、検索は現在のプロジェクトディレクトリとその git worktree までに限られていたため、セッションが最後に作業していたディレクトリから再開する必要がありました。3902Claude Code はメッセージを表示した後、コード 1 で終了します。Claude Code は [ID を現在のプロジェクトから検索し、その後このマシン上の他のすべてのプロジェクトを検索します](https://code.claude.com/docs/ja/sessions.md#where-the-session-picker-looks)。v2.1.223 より前は、検索は現在のプロジェクトディレクトリとその git worktree で止まっていたため、セッションが最後に作業していたディレクトリから再開してください。

3871 3903 

3872主な原因:3904主な原因:

3873 3905 

3874* **ID の入力ミス**: 非インタラクティブな実行の場合、ID は [`--output-format json` の出力](https://code.claude.com/docs/ja/headless#get-structured-output)の `session_id` フィールドです3906* **ID の入力ミス**:非対話型の実行の場合、ID は [`--output-format json` の出力](https://code.claude.com/docs/ja/headless#get-structured-output)の `session_id` フィールドです

3875* **トランスクリプトの削除**: Claude Code は[保持期間](https://code.claude.com/docs/ja/sessions.md#where-transcripts-are-stored)(デフォルトは 30 日)を過ぎたトランスクリプトを、[保持期間によるクリーンアップのルール](https://code.claude.com/docs/ja/claude-directory.md#cleaned-up-automatically)に従って削除します3907* **トランスクリプトの削除**:Claude Code は[保持期間](https://code.claude.com/docs/ja/sessions.md#where-transcripts-are-stored)(デフォルトでは 30 日)が過ぎると、[保持期間による削除ルール](https://code.claude.com/docs/ja/claude-directory.md#cleaned-up-automatically)に従ってトランスクリプトを削除します

3876* **別のマシン**: Claude Code はトランスクリプトをローカルに保存するため、セッションを実行したマシンで再開します3908* **別のマシン**:Claude Code はトランスクリプトをローカルに保存するため、セッションを実行したマシンで再開してください

3877* **重複したコピー**: `~/.claude/projects` 配下のプロジェクトディレクトリをコピーして 2 つのトランスクリプトが同じ ID を持つ場合、Claude Code はどちらかのコピーを任意に再開するのではなく、このメッセージを表示します3909* **重複したコピー**:`~/.claude/projects` 配下のプロジェクトディレクトリをコピーして 2 つのトランスクリプトが同じ ID を持つ場合、Claude Code はどちらかのコピーを任意に再開するのではなく、このメッセージを報告します

3878 3910 

3879**対処方法:**3911**対処方法:**

3880 3912 

3881* インタラクティブセッションの場合は、`claude --resume` で[セッションピッカー](https://code.claude.com/docs/ja/sessions.md#use-the-session-picker)を開き、`Ctrl+A` を押してこのマシン上のすべてのプロジェクトに範囲を広げてから、セッションを選択します3913* 対話型セッションの場合は、`claude --resume` で[セッションピッカー](https://code.claude.com/docs/ja/sessions.md#use-the-session-picker)を開き、`Ctrl+A` を押してこのマシン上のすべてのプロジェクトに範囲を広げてから、セッションを選択します

3882* `claude -p` や [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) で作成したセッションはピッカーに表示されないため、元の実行で出力された `session_id` と ID を照合し直します3914* `claude -p` または [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) で作成したセッションはピッカーに表示されないため、元の実行で出力された `session_id` と ID を照合し直してください

3883 3915 

3884### Windows reported an error (EBADF) when Claude Code read this session's transcript file3916### Windows reported an error (EBADF) when Claude Code read this session's transcript file

3885 3917 

3886Windows でセッションを再開したところ、保存された[トランスクリプトファイル](https://code.claude.com/docs/ja/sessions.md#where-transcripts-are-stored)は正常に開けたものの、その後の読み取りがシステムエラー EBADF で失敗しました。システムエラーには読み取りが失敗した理由が示されないため、メッセージには考えられる原因と試すべきことが示されます。3918Windows でセッションを再開したところ、保存済みの[トランスクリプトファイル](https://code.claude.com/docs/ja/sessions.md#where-transcripts-are-stored)は正常に開けたものの、その後の読み取りがシステムエラー EBADF で失敗しました。システムエラーからは読み取りが失敗した理由がわからないため、メッセージには考えられる原因と試すべきことが示されます。

3887 3919 

3888```text theme={null}3920```text theme={null}

3889Windows 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.3921Windows 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.

3890```3922```

3891 3923 

3892このメッセージは、`Failed to resume session <session-id>` のようなコマンド自体の失敗を示す行の後に続きます。`claude --resume` または [`claude -p`](https://code.claude.com/docs/ja/headless) コマンドは、メッセージを表示した後、終了コード 1 で終了します。セッション内で `/resume` を実行した場合は、現在のセッションは実行を続けます。3924このメッセージは、`Failed to resume session <session-id>` のようなコマンド自体の失敗を示す行に続いて表示されます。`claude --resume` または [`claude -p`](https://code.claude.com/docs/ja/headless) コマンドは、これを表示した後にコード 1 で終了します。セッション内で `/resume` を実行した場合は、現在のセッションが引き続き実行されます。

3893 3925 

3894**対処方法:**3926**対処方法:**

3895 3927 

3896* セキュリティ、暗号化、エンドポイント管理ツールなど、ファイルの読み取りをスキャンまたはインターセプトするソフトウェアの対象から、セッションのトランスクリプトを保存するフォルダーを除外します。トランスクリプトはデフォルトでは `%USERPROFILE%\.claude\projects` 配下、または [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars) で指定したディレクトリ配下に保存されます3928* セキュリティ、暗号化、エンドポイント管理ツールなど、ファイルの読み取りをスキャンまたは傍受するソフトウェアの対象から、セッションのトランスクリプトを保存するフォルダーを除外します。トランスクリプトはデフォルトでは `%USERPROFILE%\.claude\projects` 配下、または [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars) で指定されたディレクトリ配下に保存されます

3897* 除外を追加できない場合は、代わりにそのソフトウェアの許可されたアプリケーションに Claude Code を追加します3929* 除外を追加できない場合は、代わりにそのソフトウェアの許可されたアプリケーションに Claude Code を追加します

3898* セッションを再度再開します3930* セッションを再度再開します

3899 3931 

3900v2.1.282 より前は、この失敗には説明がありませんでした。`claude --resume <session-id>` は `Failed to resume session <session-id>` で終了し、`-p` の実行では `Failed to resume session: EBADF: bad file descriptor, read` のようなシステムエラーのテキストのみが出力されていました。3932v2.1.282 より前は、失敗時に説明が表示されませんでした。`claude --resume <session-id>` は `Failed to resume session <session-id>` で終了し、`-p` の実行では `Failed to resume session: EBADF: bad file descriptor, read` のようなシステムエラーのテキストのみが出力されていました。

3901 3933 

3902### Cannot switch renderers in this session3934### Cannot switch renderers in this session

3903 3935 

3904レンダラーを切り替えると、Claude Code はプロセスを再起動します。Claude Code が再起動を断るセッションで [`/tui`](https://code.claude.com/docs/ja/fullscreen#enable-fullscreen-rendering) を実行したため、切り替えは行われず、何も保存されません。表示されるメッセージによって原因がわかります。3936レンダラーを切り替えると、Claude Code はプロセスを再起動します。Claude Code が再起動を見送るセッションで [`/tui`](https://code.claude.com/docs/ja/fullscreen#enable-fullscreen-rendering) を実行したため、切り替えは行われず、何も保存されません。表示されるメッセージから原因がわかります。

3905 3937 

3906* `Cannot switch renderers while work is running in the background`: バックグラウンドシェルやサブエージェントなど、再起動によって破棄されてしまうバックグラウンドの作業が実行中です。作業が完了するのを待つか、[`/tasks`](https://code.claude.com/docs/ja/commands) で停止してから、`/tui fullscreen` または `/tui default` を再度実行します3938* `Cannot switch renderers while work is running in the background`:バックグラウンドのシェルやサブエージェントなど、再起動によって放棄されることになるバックグラウンドの作業が実行中です。作業が完了するのを待つか [`/tasks`](https://code.claude.com/docs/ja/commands) で停止してから、`/tui fullscreen` または `/tui default` を再度実行します

3907* `Cannot switch renderers in this session`: このセッションには、Claude Code が再起動後のプロセスに引き継げない制限があります。v2.1.234 より前は、Claude Code はそれでも再起動し、再起動されたセッションはそれらの制限なしで実行されていました3939* `Cannot switch renderers in this session`:再起動後のプロセスに Claude Code が引き継げない制限がセッションに設定されています。v2.1.234 より前は、Claude Code はそれでも再起動し、再起動されたセッションはそれらの制限なしで実行されていました

3908 3940 

3909制限に関するメッセージでは、括弧内に Claude Code が検出した制限が示されます。3941制限に関するメッセージでは、括弧内の部分に Claude Code が検出した制限が示されます。

3910 3942 

3911```text theme={null}3943```text theme={null}

3912Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.3944Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.


3914 3946 

3915メッセージの括弧内に表示される可能性のある理由は次のとおりです。3947メッセージの括弧内に表示される可能性のある理由は次のとおりです。

3916 3948 

3917* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: Claude Code が再起動後のプロセスに引き継がないフラグを指定してセッションを開始しました。これらのフラグには、[`--system-prompt`](https://code.claude.com/docs/ja/cli-reference#cli-flags)、`--system-prompt-file`、`--append-system-prompt-file`、[`--tools`](https://code.claude.com/docs/ja/cli-reference#cli-flags) による許可リスト、[`--setting-sources`](https://code.claude.com/docs/ja/cli-reference#cli-flags)、[`--permission-prompt-tool`](https://code.claude.com/docs/ja/cli-reference#cli-flags) が含まれます3949* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`:再起動後のプロセスに Claude Code が引き継がないフラグを指定してセッションを開始しました。該当するフラグには、[`--system-prompt`](https://code.claude.com/docs/ja/cli-reference#cli-flags)、`--system-prompt-file`、`--append-system-prompt-file`、[`--tools`](https://code.claude.com/docs/ja/cli-reference#cli-flags) による許可リスト、[`--setting-sources`](https://code.claude.com/docs/ja/cli-reference#cli-flags)、[`--permission-prompt-tool`](https://code.claude.com/docs/ja/cli-reference#cli-flags) があります

3918* `permission rules set for this session only`: フックまたは SDK の呼び出し元からの[権限の更新](https://code.claude.com/docs/ja/hooks.md#permission-update-entries)によって、`session` を宛先とする拒否ルールまたは確認ルールが追加されました。セッションスコープの許可ルールでは拒否は発生しません。許可ルールは再起動で破棄され、Claude Code は代わりに再度確認を求めます3950* `permission rules set for this session only`:フックまたは SDK の呼び出し元からの[権限の更新](https://code.claude.com/docs/ja/hooks.md#permission-update-entries)によって、`session` を宛先とする拒否ルールまたは確認ルールが追加されました。セッションスコープの許可ルールでは拒否は発生しません。再起動するとそれらは破棄され、Claude Code は代わりに再度確認を求めます

3919* `ask-before-running rules with no command-line form`: フックまたは SDK の呼び出し元からの権限の更新によって、Claude Code が `--allowed-tools` および `--disallowed-tools` として引き継ぐルールに加えて、確認ルールが追加されました。確認ルール用のフラグは存在しません3951* `ask-before-running rules with no command-line form`:フックまたは SDK の呼び出し元からの権限の更新によって、Claude Code が `--allowed-tools` および `--disallowed-tools` として引き継ぐルールとあわせて確認ルールが追加されました。確認ルールに対応するフラグはありません

3920* `permission rules a command line cannot carry intact` および `added directories a command line cannot carry intact`: 権限の更新によって、セッションの途中でルールまたはディレクトリパスが追加されました。再起動後のプロセスのコマンドラインでは、そのテキストを同じ値として引き継ぐことができません3952* `permission rules a command line cannot carry intact` および `added directories a command line cannot carry intact`:権限の更新によって、セッションの途中でルールまたはディレクトリパスが追加されました。再起動後のプロセスのコマンドラインでは、そのテキストを同じ値として引き継ぐことができません

3921 3953 

3922**対処方法:**3954**対処方法:**

3923 3955 

3924* これらの制限なしで開始したセッションで `/tui fullscreen` を実行するか、元に戻す場合は `/tui default` を実行します。Claude Code は、そのセッションで [`tui` 設定](https://code.claude.com/docs/ja/settings-reference#tui)を保存します3956* それらの制限なしで開始したセッションで `/tui fullscreen` を実行するか、元に戻す場合は `/tui default` を実行します。Claude Code はそこで [`tui` 設定](https://code.claude.com/docs/ja/settings-reference#tui)を保存します

3925 3957 

3926### Claude Code couldn't restart3958### Claude Code couldn't restart

3927 3959 

3928このメッセージで会話が保存されていると示されている場合、会話はディスク上にあり、中断したところから再開できます。Claude Code は自身を再起動している最中(たとえば [`/tui`](https://code.claude.com/docs/ja/fullscreen#enable-fullscreen-rendering) の実行後にフルスクリーンレンダリングへの切り替えまたは解除を行うため)に新しいプロセスを開始できなかったため、ステータス 1 で終了しました。3960このメッセージで会話が保存されていると示されている場合、会話はディスク上にあり、中断したところから再開できます。Claude Code は、たとえば [`/tui`](https://code.claude.com/docs/ja/fullscreen#enable-fullscreen-rendering) の実行後にフルスクリーンレンダリングへの切り替えやその解除のために自身を再起動しようとしましたが、新しいプロセスを開始できなかったため、ステータス 1 で終了しました。

3929 3961 

3930```text theme={null}3962```text theme={null}

3931Claude Code couldn't restart. Your conversation is saved. Start Claude Code again and run /resume to pick it up.3963Claude Code couldn't restart. Your conversation is saved. Start Claude Code again and run /resume to pick it up.

3932```3964```

3933 3965 

3934再起動時に再開する会話がなかった場合(たとえば、新しいセッションで最初の入力が `/tui` だった場合)、メッセージは `Claude Code couldn't restart. Start Claude Code again.` となります。3966新しいセッションで最初の入力が `/tui` だった場合など、再起動時に再び開く会話がなかった場合、メッセージは `Claude Code couldn't restart. Start Claude Code again.` となります。

3935 3967 

3936**対処方法:**3968**対処方法:**

3937 3969 

3938* シェルで `claude` を再度実行します。メッセージで会話が保存されていると示されていた場合は、新しいセッションで [`/resume`](https://code.claude.com/docs/ja/sessions#resume-a-session) を実行して会話を選択します。一覧に表示されない場合は、[セッションピッカーの範囲を広げます](https://code.claude.com/docs/ja/sessions.md#where-the-session-picker-looks)3970* シェルで `claude` を再度実行します。メッセージで会話が保存されていると示されていた場合は、新しいセッションで [`/resume`](https://code.claude.com/docs/ja/sessions#resume-a-session) を実行して会話を選択します。一覧にない場合は、[セッションピッカーの範囲を広げます](https://code.claude.com/docs/ja/sessions.md#where-the-session-picker-looks)

3939* 再起動が失敗し続ける場合は、シェルから [`claude --debug-file claude-debug.log`](https://code.claude.com/docs/ja/cli-reference#cli-flags) で Claude Code を起動します。そのセッションからの再起動が失敗すると、起動したディレクトリの `claude-debug.log` に、オペレーティングシステムのエラーを含む `Failed to relaunch:` の行が記録されます。[問題を報告する](#report-an-error)際には、その行を含めてください3971* 再起動が失敗し続ける場合は、シェルから [`claude --debug-file claude-debug.log`](https://code.claude.com/docs/ja/cli-reference#cli-flags) で Claude Code を起動します。そのセッションからの再起動が失敗すると、起動したディレクトリにある `claude-debug.log` に、オペレーティングシステムのエラーを含む `Failed to relaunch:` の行が記録されます。[問題を報告する](#report-an-error)際にはその行を含めてください

3940 3972 

3941### Couldn't open Claude Desktop3973### Couldn't open Claude Desktop

3942 3974 

3943セッション内で [`/desktop`](https://code.claude.com/docs/ja/desktop#coming-from-the-cli) またはそのエイリアスである `/app` を実行したか、シェルで [`claude --desktop`](https://code.claude.com/docs/ja/cli-reference#cli-flags) を実行しましたが、Claude Code が Claude Desktop を開くために使用するシステムコマンドが失敗しました。`/desktop` の後、セッションはターミナルにとどまります。`claude --desktop` は `Error:` プレフィックスなしでメッセージを出力し、ステータス 1 で終了します。3975セッション内で [`/desktop`](https://code.claude.com/docs/ja/desktop#coming-from-the-cli) またはそのエイリアスの `/app` を実行したか、シェルで [`claude --desktop`](https://code.claude.com/docs/ja/cli-reference#cli-flags) を実行しましたが、Claude Code が Claude Desktop を開くために使用するシステムコマンドが失敗しました。`/desktop` の後はセッションはターミナルにとどまります。`claude --desktop` は `Error:` の接頭辞なしでメッセージを出力し、ステータス 1 で終了します。

3944 3976 

3945括弧内のテキストには、失敗したコマンドが、その終了ステータスとエラー出力の最初の行(出力があった場合)とともに示されます。macOS では、この例のようにコマンドは `open` です。Windows では `rundll32` です。3977括弧内のテキストには、失敗したコマンドと、終了ステータスおよびエラー出力の 1 行目(出力された場合)が示されます。macOS ではこの例のようにコマンドは `open` で、Windows では `rundll32` です。

3946 3978 

3947```text theme={null}3979```text theme={null}

3948Error: 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.3980Error: 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.

3949```3981```

3950 3982 

3951**対処方法:**3983**対処方法:**

3952 3984 

3953* Claude Desktop を手動で開いてから、`/desktop` または `claude --desktop` を再度実行します3985* Claude Desktop を自分で開いてから、`/desktop` または `claude --desktop` を再度実行します

3954* 失敗したコマンドのエラー出力全体を確認するには、`/debug` でデバッグログをオンにして `/desktop` を再度実行するか、`claude --desktop --debug-file <path>` を実行してから、デバッグログを確認します3986* 失敗したコマンドのエラー出力全体を確認するには、`/debug` でデバッグログをオンにして `/desktop` を再度実行するか、`claude --desktop --debug-file <path>` を実行してから、デバッグログを確認します

3955 3987 

3956v2.1.285 より前は、メッセージの末尾は `Open Claude Desktop and run /desktop again.` でした。v2.1.275 より前は、メッセージは `Failed to open Claude Desktop. Please try opening it manually.` で、何が失敗したかは示されていませんでした。3988v2.1.285 より前は、メッセージの末尾は `Open Claude Desktop and run /desktop again.` でした。v2.1.275 より前は、メッセージは `Failed to open Claude Desktop. Please try opening it manually.` で、何が失敗したかは示されていませんでした。

3957 3989 

3958### /terminal-setup left your Zed keymap unchanged3990### /terminal-setup で Zed のキーマップが変更されなかった

3959 3991 

3960Zed で [`/terminal-setup`](https://code.claude.com/docs/ja/terminal-config#enter-multiline-prompts) を実行しましたが、Claude Code は Zed の `keymap.json` の更新を完了できなかったため、ファイルをそのままにしました。3992Zed で [`/terminal-setup`](https://code.claude.com/docs/ja/terminal-config#enter-multiline-prompts) を実行しましたが、Claude Code が Zed の `keymap.json` の更新を完了できなかったため、ファイルはそのままにされました。

3961 3993 

3962各メッセージにはキーマップのパスが示され、末尾には自分で追加するためのキーボードショートカットのブロックが記載されます。3994各メッセージにはキーマップのパスが示され、自分で追加するためのキーボードショートカットのブロックで締めくくられます。

3963 3995 

3964```text theme={null}3996```text theme={null}

3965Couldn't update your Zed keymap, so it was left unchanged.3997Couldn't update your Zed keymap, so it was left unchanged.


3967{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }3999{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }

3968```4000```

3969 4001 

3970メッセージの最初の行に原因が示されます。4002メッセージの 1 行目に原因が示されます。

3971 4003 

3972* `Couldn't read your Zed keymap, so it was left unchanged.`: ファイルの権限などの理由で、Claude Code がファイルを読み取れませんでした4004* `Couldn't read your Zed keymap, so it was left unchanged.`:ファイルの権限などが原因で、Claude Code がファイルを読み取れませんでした

3973* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: ファイルは読み取れましたが、`//` コメントと末尾のカンマを許容しても、キーボードショートカットのブロックの配列として解析できません4005* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`:ファイルは読み取れましたが、`//` コメントと末尾のカンマを許容しても、キーボードショートカットのブロックの配列として解析できません

3974* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code がファイルを同じ場所の `.bak` バックアップにコピーできなかったため、何も変更しませんでした4006* `Couldn't back up your Zed keymap; not modifying it.`:Claude Code がファイルを同じ場所の `.bak` バックアップにコピーできなかったため、何も変更しませんでした

3975* `Couldn't update your Zed keymap, so it was left unchanged.`: マージ結果が、ショートカットを含む有効なキーマップであると検証できなかったため、Claude Code は書き込まずに破棄しました。キーが重複したキーボードショートカットのブロックが原因となることがあります4007* `Couldn't update your Zed keymap, so it was left unchanged.`:マージした結果が、キーボードショートカットを含む有効なキーマップとして検証できなかったため、Claude Code は書き込まずに破棄しました。キーが重複したキーボードショートカットのブロックがあると、これが発生することがあります

3976 4008 

3977**対処方法:**4009**対処方法:**

3978 4010 

3979* メッセージに記載されたブロックを、メッセージに示されたパスにある `keymap.json` のトップレベルの配列にコピーします4011* メッセージに示されたパスにある `keymap.json` のトップレベルの配列に、メッセージのブロックをコピーします

3980* `isn't a readable list of keybindings` の場合は、構文エラーを修正するか、ファイルのトップレベルの値を配列にしてから、`/terminal-setup` を再度実行します4012* `isn't a readable list of keybindings` の場合は、構文エラーを修正するか、ファイルのトップレベルの値を配列にしてから、`/terminal-setup` を再度実行します

3981 4013 

3982v2.1.247 より前は、`/terminal-setup` は `//` コメントや末尾のカンマを使用した Zed のキーマップを解析できず、ファイル全体を自身のショートカットのみで置き換えたうえで、ショートカットがインストールされたと報告していました。以前のバージョンによって置き換えられたキーマップを復元するには、[複数行のプロンプトを入力する](https://code.claude.com/docs/ja/terminal-config.md#enter-multiline-prompts)で説明されている `.bak` バックアップファイルを使用します。4014v2.1.247 より前は、`/terminal-setup` は `//` コメントや末尾のカンマを使用している Zed のキーマップを解析できず、キーボードショートカットがインストールされたと報告しながら、ファイル全体を自身のキーボードショートカットのみに置き換えていました。以前のバージョンで置き換えられたキーマップを復元するには、[複数行のプロンプトを入力する](https://code.claude.com/docs/ja/terminal-config.md#enter-multiline-prompts)で説明している `.bak` バックアップファイルを使用してください。

3983 4015 

3984### Skill usage reports are not available on this connection4016### Skill usage reports are not available on this connection

3985 4017 

3986スマートフォンやブラウザから [Remote Control](https://code.claude.com/docs/ja/remote-control.md) 経由で [`/skill-doctor`](https://code.claude.com/docs/ja/skills#find-unused-skills) を実行しました。Claude Code はスキルの使用状況レポートを Remote Control 経由では送信せず、代わりにこのメッセージを返します。4018スマートフォンまたはブラウザから [Remote Control](https://code.claude.com/docs/ja/remote-control.md) 経由で [`/skill-doctor`](https://code.claude.com/docs/ja/skills#find-unused-skills) を実行しました。Claude Code はスキルの使用状況レポートを Remote Control 経由で送信せず、代わりに次のメッセージで応答します。

3987 4019 

3988```text theme={null}4020```text theme={null}

3989Skill usage reports are not available on this connection.4021Skill usage reports are not available on this connection.

3990```4022```

3991 4023 

3992**対処方法:**4024**対処方法:**

3993 4025 

3994* セッションが実行されているマシンのターミナルで `/skill-doctor` を実行するか、そこで `claude -p "/skill-doctor"` を実行します4026* セッションが実行されているマシンのターミナルで `/skill-doctor` を実行するか、そこで `claude -p "/skill-doctor"` を実行します

3995 4027 

3996### Custom output styles can't be selected over Remote Control4028### Custom output styles can't be selected over Remote Control

3997 4029 

3998モバイルアプリまたは Web から [Remote Control](https://code.claude.com/docs/ja/remote-control.md) 経由で [`/output-style`](https://code.claude.com/docs/ja/output-styles#change-your-output-style) を実行したか、セッションに中継されたメッセージでこのコマンドが届きました。このようなターンはアカウントの所有者からのものではない可能性があるため、Claude Code はそのターンでは[組み込みスタイル](https://code.claude.com/docs/ja/output-styles.md#built-in-output-styles)のみを一覧表示・選択し、コマンドがスタイルを一覧表示するときや、指定された名前を認識できないときには必ずこの通知を追加します。[カスタムスタイル](https://code.claude.com/docs/ja/output-styles.md#create-a-custom-output-style)の名前を指定した場合も、存在しない名前と同じ応答が返されます。4030[Remote Control](https://code.claude.com/docs/ja/remote-control.md) 経由でモバイルアプリまたは Web から [`/output-style`](https://code.claude.com/docs/ja/output-styles#change-your-output-style) を実行したか、セッションに中継されたメッセージでコマンドが届きました。このようなターンはアカウントの所有者から送られたものとは限らないため、Claude Code はそのターンでは[組み込みスタイル](https://code.claude.com/docs/ja/output-styles.md#built-in-output-styles)のみを一覧表示・選択し、コマンドがスタイルを一覧表示するときや指定された名前を認識できないときには、この通知を追加します。[カスタムスタイル](https://code.claude.com/docs/ja/output-styles.md#create-a-custom-output-style)の名前には、存在しない名前と同じ応答が返されます。

3999 4031 

4000```text theme={null}4032```text theme={null}

4001Custom 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.4033Custom 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.

4002```4034```

4003 4035 

4004**対処方法:**4036**対処方法:**

4005 4037 

4006* `/output-style concise` のように、組み込みスタイルを選択します4038* `/output-style concise` のように、組み込みスタイルを選択します

4007* カスタムスタイルを使用するには、プロジェクトの `.claude/settings.local.json` で [`outputStyle`](https://code.claude.com/docs/ja/settings-reference#outputstyle) を設定するか、セッション自体のターミナルがある場合はそこで `/output-style <style>` を実行します4039* カスタムスタイルを使用するには、プロジェクトの `.claude/settings.local.json` で [`outputStyle`](https://code.claude.com/docs/ja/settings-reference#outputstyle) を設定するか、セッション自体のターミナルがある場合はそこで `/output-style <style>` を実行します

4008 4040 

4009### Output styles are saved to local settings which this session doesn't load4041### Output styles are saved to local settings which this session doesn't load

4010 4042 

4011設定ソースから `local` が除外されているセッションで、`/output-style <style>` または `/config outputStyle=<style>` を使って[出力スタイル](https://code.claude.com/docs/ja/output-styles.md)を切り替えようとしました。たとえば、[`settingSources`](https://code.claude.com/docs/ja/agent-sdk/typescript#options) に `"local"` が含まれていない [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/typescript.md) のセッションや、`local` を含まない [`--setting-sources`](https://code.claude.com/docs/ja/cli-reference#cli-flags) の値で開始した CLI セッションが該当します。どちらのコマンドもスタイルを `.claude/settings.local.json` に保存しますが、このようなセッションはこのファイルを読み込まないため、Claude Code は効果のない設定を書き込む代わりに拒否します。4043設定ソースから `local` が除外されているセッションで、`/output-style <style>` または `/config outputStyle=<style>` を使って[出力スタイル](https://code.claude.com/docs/ja/output-styles.md)を切り替えようとしました。たとえば、[`settingSources`](https://code.claude.com/docs/ja/agent-sdk/typescript#options) から `"local"` を除外した [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/typescript.md) のセッションや、`local` を除外した [`--setting-sources`](https://code.claude.com/docs/ja/cli-reference#cli-flags) の値で開始した CLI セッションがこれに該当します。どちらのコマンドもスタイルを `.claude/settings.local.json` に保存しますが、そのようなセッションはこのファイルを読み込まないため、Claude Code は効果のない設定を書き込む代わりに拒否します。

4012 4044 

4013```text theme={null}4045```text theme={null}

4014Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.4046Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.

4015```4047```

4016 4048 

4017**対処方法:**4049**対処方法:**

4018 4050 

4019* セッションの設定ソースに `local` を追加してから、再度切り替えます4051* セッションの設定ソースに `local` を追加してから、再度切り替えます

4020* プロジェクトの `.claude/settings.json` や `~/.claude/settings.json` など、セッションが読み込む設定ファイルで [`outputStyle`](https://code.claude.com/docs/ja/settings-reference#outputstyle) キーを設定します。TypeScript SDK では、代わりにインラインの `settings` オブジェクト内で `outputStyle` を設定します。[出力スタイルを有効にする](https://code.claude.com/docs/ja/agent-sdk/modifying-system-prompts.md#activate-an-output-style)を参照してください4052* プロジェクトの `.claude/settings.json` や `~/.claude/settings.json` など、セッションが読み込む設定ファイルで [`outputStyle`](https://code.claude.com/docs/ja/settings-reference#outputstyle) キーを設定します。TypeScript SDK では、代わりにインラインの `settings` オブジェクト内で `outputStyle` を設定します。[出力スタイルを有効にする](https://code.claude.com/docs/ja/agent-sdk/modifying-system-prompts.md#activate-an-output-style)を参照してください

4021 4053 

4022### /recap only runs when you ask for it yourself4054### /recap only runs when you ask for it yourself

4023 4055 

4024[`/recap`](https://code.claude.com/docs/ja/interactive-mode#session-recap) のリクエストが、自分自身の入力によるものではありませんでした。Slack、Teams、または[プロジェクト](https://code.claude.com/docs/ja/claude-projects.md)のスレッドからセッションに中継されたメッセージで届いたか、[クラウドのスケジュールタスク](https://code.claude.com/docs/ja/routines.md)や別のプログラムが送信したプロンプトで届きました。4056[`/recap`](https://code.claude.com/docs/ja/interactive-mode#session-recap) のリクエストがユーザー自身の入力によるものではありませんでした。Slack、Teams、または[プロジェクト](https://code.claude.com/docs/ja/claude-projects.md)のスレッドからセッションに中継されたメッセージ、あるいは[クラウドのスケジュールタスク](https://code.claude.com/docs/ja/routines.md)や別のプログラムが送信したプロンプトで届きました。

4025 4057 

4026中継されたメッセージは、自分で書いたものであってもこの通知の対象になります。Claude Code は、中継または自動化されたメッセージがセッションを実行しているアカウントの本人からのものかどうかを判別できないため、要約の代わりにこの通知で応答します。4058中継されたメッセージは、自分で書いたものであっても通知の対象になります。Claude Code は、中継または自動化されたメッセージがセッションを実行しているアカウントの本人から送られたものかどうかを判別できないため、要約の代わりに次の通知で応答します。

4027 4059 

4028```text theme={null}4060```text theme={null}

4029/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.4061/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.

4030```4062```

4031 4063 

4032`claude -p` に渡した `/recap`、または自分の [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) アプリケーションが起動したセッションに送信する `/recap` は、自分自身の入力として扱われます。4064`claude -p` に渡した `/recap` や、自分の [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) アプリケーションが起動したセッションに送信する `/recap` は、ユーザー自身の入力として扱われます。

4033 4065 

4034**対処方法:**4066**対処方法:**

4035 4067 

4036* 自分でセッションを開いて `/recap` を実行します。セッションのターミナル、[デスクトップアプリ](https://code.claude.com/docs/ja/desktop.md)や[モバイルアプリ](https://code.claude.com/docs/ja/mobile.md)、[claude.ai/code](https://claude.ai/code)、または [Remote Control](https://code.claude.com/docs/ja/remote-control.md) 経由で実行できます4068* セッションを自分で開き、ターミナル、[デスクトップアプリ](https://code.claude.com/docs/ja/desktop.md)や[モバイルアプリ](https://code.claude.com/docs/ja/mobile.md)、[claude.ai/code](https://claude.ai/code)、または [Remote Control](https://code.claude.com/docs/ja/remote-control.md) 経由で `/recap` を実行します

4037* クラウドのスケジュールタスクや別のプログラムが送信した場合は、そのプロンプトから `/recap` を削除します4069* クラウドのスケジュールタスクや別のプログラムが送信した場合は、そのプロンプトから `/recap` を削除します

4038 4070 

4039### /feedback is disabled by your organization's policy4071### /feedback is disabled by your organization's policy


4044/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.4076/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.

4045```4077```

4046 4078 

4047メッセージが最初の文のみの場合もあります。4079メッセージが最初の文だけの場合もあります。

4048 4080 

4049**対処方法:**4081**対処方法:**

4050 4082 

4051* バグを報告するには、[github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues) で issue を作成します。そこにある issue は誰でも閲覧できるため、コード、トランスクリプト、その他の機密情報は含めないでください。4083* バグを報告するには、[github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues) で issue を作成します。そこにある issue は誰でも閲覧できるため、コード、トランスクリプト、その他の機密情報は含めないでください。

4052 4084 

4053v2.1.302 より前は、メッセージ全体は `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.` でした。4085v2.1.302 より前は、完全なメッセージは `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.` でした。

4054 4086 

4055## プラグインエラー4087## プラグインエラー

4056 4088 

Details

303* CLAUDE.md と git ステータス。組み込みの Explore および Plan エージェントは[どちらもなしで開始](https://code.claude.com/docs/ja/sub-agents.md#what-loads-at-startup) し、定義で [`omitClaudeMd`](https://code.claude.com/docs/ja/sub-agents#supported-frontmatter-fields) を設定したエージェントは、ユーザー、プロジェクト、ローカル CLAUDE.md ファイルなしで開始します。303* CLAUDE.md と git ステータス。組み込みの Explore および Plan エージェントは[どちらもなしで開始](https://code.claude.com/docs/ja/sub-agents.md#what-loads-at-startup) し、定義で [`omitClaudeMd`](https://code.claude.com/docs/ja/sub-agents#supported-frontmatter-fields) を設定したエージェントは、ユーザー、プロジェクト、ローカル CLAUDE.md ファイルなしで開始します。

304* リードエージェントがプロンプトで渡すコンテキスト304* リードエージェントがプロンプトで渡すコンテキスト

305 305 

306[fork](https://code.claude.com/docs/ja/sub-agents.md#fork-the-current-conversation) の場合、Claude Code は親の会話(これまでのところ)、システムプロンプト、ツールをロードします。306[fork](https://code.claude.com/docs/ja/sub-agents.md#fork-the-current-conversation) の場合、Claude Code は代わりに親の会話(これまでのところ)、システムプロンプト、ツールをロードします。

307 307 

308**コンテキストコスト:** メインセッションから分離。308**コンテキストコスト:** メインセッションから分離。

309 309 

hooks.md +1 −1

Details

1957 1957 

1958| フィールド | 説明 |1958| フィールド | 説明 |

1959| :- | :- |1959| :- | :- |

1960| `permissionDecision` | `"allow"` は権限プロンプトをスキップします。ただし、[どのモードでも自動承認されないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves)と[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)は除きます。`AskUserQuestion` と `ExitPlanMode` には [`"allow"` と組み合わせた `updatedInput`](#allow-with-updatedinput) が必要です。plan モードについては、[plan モードでのフックによる承認](https://code.claude.com/docs/ja/permissions.md#hook-approvals-in-plan-mode)を参照してください。`"deny"` はツール呼び出しを防ぎます。`"ask"` はユーザーに確認を求めます。`"defer"` はツールを後で再開できるようにターンを終了し、`-p` フラグを使用した[非対話モード](#defer-a-tool-call-for-later)が必要です。フックが何を返すかにかかわらず、[拒否ルールと確認ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions)は引き続き評価されます |1960| `permissionDecision` | `"allow"` は権限プロンプトをスキップします。ただし、[どのモードでも自動承認されないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves)と[ネットワークパスからの読み取り](https://code.claude.com/docs/ja/permissions.md#network-paths)は除きます。また、[権限モードがその呼び出しを承認する](https://code.claude.com/docs/ja/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call)場合を除き、[Agent SDK アプリが `always_ask` とマークしたツール](https://code.claude.com/docs/ja/agent-sdk/custom-tools#require-approval-for-specific-tools)の呼び出しに対する承認もスキップしません。`AskUserQuestion` と `ExitPlanMode` には [`"allow"` と組み合わせた `updatedInput`](#allow-with-updatedinput) が必要です。plan モードについては、[plan モードでのフックによる承認](https://code.claude.com/docs/ja/permissions.md#hook-approvals-in-plan-mode)を参照してください。`"deny"` はツール呼び出しを防ぎます。`"ask"` はユーザーに確認を求めます。`"defer"` はツールを後で再開できるようにターンを終了し、`-p` フラグを使った[非対話モード](#defer-a-tool-call-for-later)が必要です。フックが何を返すかにかかわらず、[拒否ルールと確認ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions)は引き続き評価されます |

1961| `permissionDecisionReason` | `"ask"` の場合、権限プロンプトでユーザーに表示されます。そのプロンプトに誰も応答できない `-p` の実行で Claude Code が[呼び出しを拒否する](https://code.claude.com/docs/ja/headless.md#turn-off-permission-prompts-in-unattended-runs)場合は、代わりに Claude がツールの結果でその理由を読み取ります。`"deny"` の場合、Claude に表示されます。`"allow"` と `"defer"` の場合、[デバッグログ](#debug-hooks)にのみ書き込まれます |1961| `permissionDecisionReason` | `"ask"` の場合、権限プロンプトでユーザーに表示されます。そのプロンプトに誰も応答できない `-p` の実行で Claude Code が[呼び出しを拒否する](https://code.claude.com/docs/ja/headless.md#turn-off-permission-prompts-in-unattended-runs)場合は、代わりに Claude がツールの結果でその理由を読み取ります。`"deny"` の場合、Claude に表示されます。`"allow"` と `"defer"` の場合、[デバッグログ](#debug-hooks)にのみ書き込まれます |

1962| `updatedInput` | 実行前にツールの入力パラメータを変更します。入力オブジェクト全体を置き換えるため、変更したフィールドとともに変更していないフィールドも含めてください。Claude Code は、権限ルールと Bash コマンドの[自動バックグラウンド化の適格性](https://code.claude.com/docs/ja/tools-reference.md#foreground-commands-that-move-to-the-background)を、Claude が送信した入力ではなく、フックが返した入力に対して評価します。自動承認するには `"allow"` と、変更した入力をユーザーに表示するには `"ask"` と組み合わせます。`"defer"` の場合は無視されます |1962| `updatedInput` | 実行前にツールの入力パラメータを変更します。入力オブジェクト全体を置き換えるため、変更したフィールドとともに変更していないフィールドも含めてください。Claude Code は、権限ルールと Bash コマンドの[自動バックグラウンド化の適格性](https://code.claude.com/docs/ja/tools-reference.md#foreground-commands-that-move-to-the-background)を、Claude が送信した入力ではなく、フックが返した入力に対して評価します。自動承認するには `"allow"` と、変更した入力をユーザーに表示するには `"ask"` と組み合わせます。`"defer"` の場合は無視されます |

1963| `additionalContext` | ツールの結果とともに Claude のコンテキストに追加される文字列。`permissionDecision` が `"defer"` の場合は無視されます。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |1963| `additionalContext` | ツールの結果とともに Claude のコンテキストに追加される文字列。`permissionDecision` が `"defer"` の場合は無視されます。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |

hooks-guide.md +100 −98

Details

470 470 

471matcher はできるだけ限定的にしてください。`.*` でマッチさせたり matcher を空のままにしたりすると、ファイルの書き込みやシェルコマンドを含む、すべてのツールの権限プロンプトが自動承認されてしまいます。決定フィールドの全体については、[PermissionRequest リファレンス](https://code.claude.com/docs/ja/hooks.md#permissionrequest-decision-control)を参照してください。471matcher はできるだけ限定的にしてください。`.*` でマッチさせたり matcher を空のままにしたりすると、ファイルの書き込みやシェルコマンドを含む、すべてのツールの権限プロンプトが自動承認されてしまいます。決定フィールドの全体については、[PermissionRequest リファレンス](https://code.claude.com/docs/ja/hooks.md#permissionrequest-decision-control)を参照してください。

472 472 

473## hooks の仕組み473## フックの仕組み

474 474 

475Claude Code は、ライフサイクルの特定のポイントで hook イベントを発火させます。イベントが発火すると、Claude Code はすべてのマッチングする hooks を並列で実行します。重複するハンドラーの扱い方については、[Hook ハンドラーフィールド](https://code.claude.com/docs/ja/hooks.md#hook-handler-fields) を参照してください。以下の表は各イベントとそれがトリガーされるときを示しています:475Claude Code は、ライフサイクルの特定の時点でフックイベントを発火させます。イベントが発火すると、Claude Code は一致するフックを並列に実行します。重複したハンドラーの扱いについては [フックハンドラーのフィールド](https://code.claude.com/docs/ja/hooks.md#hook-handler-fields) を参照してください。以下の表は、各イベントとそれがトリガーされるタイミングを示しています。

476 476 

477| イベント | 発火するタイミング |477| イベント | 発火するタイミング |

478| :- | :- |478| :- | :- |


510| `ElicitationResult` | ユーザーが MCP エリシテーションに応答した後、レスポンスがサーバーに送り返される前 |510| `ElicitationResult` | ユーザーが MCP エリシテーションに応答した後、レスポンスがサーバーに送り返される前 |

511| `SessionEnd` | セッションが終了するとき |511| `SessionEnd` | セッションが終了するとき |

512 512 

513各 hook には、それがどのように実行されるかを決定する `type` があります。ほとんどの hooks は `"type": "command"` を使用し、シェルコマンドを実行します。他の 4 つのタイプが利用可能です:513各フックには、実行方法を決める `type` があります。ほとんどのフックは、シェルコマンドを実行する `"type": "command"` を使用します。ほかに 4 つのタイプが利用できます。

514 514 

515* `"type": "http"`:イベントデータを URL に POST します。[HTTP hooks](#http-hooks) を参照してください。515* `"type": "http"`:イベントデータを URL に POST します。[HTTP フック](#http-hooks) を参照してください。

516* `"type": "mcp_tool"`:設定済みの MCP サーバー上のツールを呼び出します。[MCP tool hooks](https://code.claude.com/docs/ja/hooks.md#mcp-tool-hook-fields) を参照してください。516* `"type": "mcp_tool"`:設定済みの MCP サーバー上のツールを呼び出します。[MCP ツールフック](https://code.claude.com/docs/ja/hooks.md#mcp-tool-hook-fields) を参照してください。

517* `"type": "prompt"`:シングルターン LLM 評価。[プロンプトベースの hooks](#prompt-based-hooks) を参照してください。517* `"type": "prompt"`:シングルターンの LLM 評価です。[プロンプトベースのフック](#prompt-based-hooks) を参照してください。

518* `"type": "agent"`:ツールアクセス付きマルチターン検証。エージェント hooks は実験的であり、変更される可能性があります。[エージェントベースの hooks](#agent-based-hooks) を参照してください。518* `"type": "agent"`:ツールにアクセスできるマルチターンの検証です。エージェントフックは実験的な機能であり、変更される可能性があります。[エージェントベースのフック](#agent-based-hooks) を参照してください。

519 519 

520### 複数の hooks からの結果を組み合わせる520### 複数のフックの結果を組み合わせる

521 521 

522複数の hooks が同じイベントにマッチする場合、すべての hook のコマンドが完了してから Claude Code は結果をマージします。1 つの hook が `deny` を返しても、兄弟 hooks の実行は停止されません。1 つの hook の `deny` が別の hook の副作用を抑制することに依存しないでください。522複数のフックが同じイベントに一致した場合、Claude Code は、すべてのフックのコマンドが完了するまで実行してから結果をマージします。あるフックが `deny` を返しても、兄弟フックの実行は止まりません。あるフックの `deny` によって、別のフックの副作用を抑止できると想定しないでください。

523 523 

524すべてのマッチングする hooks が完了した後、Claude Code はそれらの出力を組み合わせます。`PreToolUse` 許可決定については、最も制限的な答えが適用されます。順序は `deny`、`defer`、`ask`、`allow` です。`additionalContext` からのテキストはすべての hook から保持され、Claude に一緒に渡されます。524一致するすべてのフックが完了すると、Claude Code はそれらの出力を組み合わせます。`PreToolUse` の権限の判定では、`deny`、`defer`、`ask`、`allow` の順で、最も制限の厳しい回答が適用されます。`additionalContext` のテキストはすべてのフックから保持され、まとめて Claude に渡されます。

525 525 

526以下の例は `Bash` に 2 つの `PreToolUse` hooks を登録しています。最初のものはすべてのコマンドをログファイルに追加して 0 で終了します。2 番目のものはスクリプトを実行し、コマンドに `rm -rf` が含まれている場合は 2 で終了して拒否します:526以下の例では、`Bash` に対して 2 つの `PreToolUse` フックを登録しています。1 つ目はすべてのコマンドをログファイルに追記して終了コード 0 で終了します。2 つ目は、コマンドに `rm -rf` が含まれる場合に終了コード 2 で終了して拒否するスクリプトを実行します。

527 527 

528```json theme={null}528```json theme={null}

529{529{


547}547}

548```548```

549 549 

550Claude が `rm -rf /tmp/build` を実行しようとするとき、両方の hooks が並列で実行されます。ログ hook はコマンドを `~/.claude/bash.log` に書き込み、0 で終了します。これは決定がないことを報告します。ガードレール hook は 2 で終了し、ツール呼び出しを拒否します。deny が優先されるため、Claude Code はコマンドをブロックし、Claude にガードレールの stderr を表示します。ログエントリはまだ書き込まれます。なぜなら、ログ hook は既に実行されているからです。550Claude が `rm -rf /tmp/build` を実行しようとすると、両方のフックが並列に実行されます。ログ記録フックはコマンドを `~/.claude/bash.log` に書き込んで終了コード 0 で終了し、これは判定なしを意味します。ガードレールフックは終了コード 2 で終了し、ツール呼び出しを拒否します。拒否が優先されるため、Claude Code はコマンドをブロックし、ガードレールの stderr を Claude に表示します。ログ記録フックはすでに実行済みであるため、ログのエントリは書き込まれたままになります。

551 551 

552### 入力を読み取り、出力を返す552### 入力を読み取り、出力を返す

553 553 

554Hooks は stdin、stdout、stderr、および終了コードを通じて Claude Code と通信します。イベントが発火すると、Claude Code はイベント固有のデータを JSON としてスクリプトの stdin に渡します。スクリプトはそのデータを読み取り、作業を行い、終了コードを通じて Claude Code に次に何をするかを伝えます。554フックは、stdin、stdout、stderr、および終了コードを通じて Claude Code とやり取りします。イベントが発火すると、Claude Code はイベント固有のデータを JSON としてスクリプトの stdin に渡します。スクリプトはそのデータを読み取って処理を行い、終了コードによって次に何をすべきかを Claude Code に伝えます。

555 555 

556#### Hook 入力556#### フックの入力

557 557 

558すべてのイベントには `session_id`(セッションの一意の ID)や `cwd`(イベントが発火したときの作業ディレクトリ)などの共通フィールドが含まれていますが、各イベントタイプは異なるデータを追加します。Claude が Bash コマンドを実行するとき、`PreToolUse` hook は stdin で次のフィールドを受け取ります:558すべてのイベントには、セッションの一意な ID である `session_id` や、イベント発火時の作業ディレクトリである `cwd` などの共通フィールドが含まれますが、イベントタイプごとに異なるデータが追加されます。Claude が Bash コマンドを実行するとき、`PreToolUse` フックは stdin で次のフィールドを受け取ります。

559 559 

560* `hook_event_name`:hook をトリガーしたイベント560* `hook_event_name`:フックをトリガーしたイベント

561* `tool_name`:Claude が使用しようとしているツール561* `tool_name`:Claude が使用しようとしているツール

562* `tool_input`:Claude がツールに渡した引数。Bash の場合、その `command` フィールドはシェルコマンドを保持します。562* `tool_input`:Claude がツールに渡した引数。Bash の場合、その `command` フィールドにシェルコマンドが入ります。

563 563 

564たとえば、`npm test` コマンドの hook 入力は次のようになります:564たとえば、`npm test` コマンドのフック入力は次のようになります。

565 565 

566```json theme={null}566```json theme={null}

567{567{


575}575}

576```576```

577 577 

578スクリプトはその JSON を解析し、これらのフィールドのいずれかに基づいて動作できます。`UserPromptSubmit` hooks は代わりに `prompt` テキストを取得し、`SessionStart` hooks は `source`(`startup`、`resume`、`clear`、`compact`、または `fork`)を取得するなど。リファレンスの [共通入力フィールド](https://code.claude.com/docs/ja/hooks.md#common-input-fields) で共有フィールドを参照し、各イベントのセクションでイベント固有のスキーマを参照してください。578スクリプトはこの JSON を解析し、これらのフィールドのいずれかに基づいて処理を行えます。`UserPromptSubmit` フックは代わりに `prompt` テキストを受け取り、`SessionStart` フックは `startup`、`resume`、`clear`、`compact`、`fork` のいずれかの `source` を受け取る、といった具合です。共通フィールドについてはリファレンスの [共通入力フィールド](https://code.claude.com/docs/ja/hooks.md#common-input-fields) を、イベント固有のスキーマについては各イベントのセクションを参照してください。

579 579 

580#### Hook 出力580#### フックの出力

581 581 

582スクリプトは stdout または stderr に書き込み、特定のコードで終了することで、Claude Code に次に何をするかを伝えます。以下は、コマンドをブロックする `PreToolUse` hook の例です:582スクリプトは、stdout または stderr に書き込み、特定のコードで終了することで、次に何をすべきかを Claude Code に伝えます。次の `PreToolUse` フックはコマンドをブロックします。

583 583 

584```bash theme={null}584```bash theme={null}

585#!/bin/bash585#!/bin/bash


587COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command')587COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command')

588 588 

589if echo "$COMMAND" | grep -q "drop table"; then589if echo "$COMMAND" | grep -q "drop table"; then

590 echo "Blocked: dropping tables is not allowed" >&2 # stderr は Claude のフィードバックになります590 echo "Blocked: dropping tables is not allowed" >&2 # stderr becomes Claude's feedback

591 exit 2 # exit 2 = アクションをブロック591 exit 2 # exit 2 = block the action

592fi592fi

593 593 

594exit 0 # exit 0 = 決定なし。通常の権限フローが適用されます594exit 0 # exit 0 = no decision; the normal permission flow applies

595```595```

596 596 

5970 と 2 以外の終了コードで有効な JSON 出力がない場合、ほとんどのイベントではアクションが続行されます。ただし、そのフックが [失敗時にアクションをブロックする](https://code.claude.com/docs/ja/hooks.md#block-the-action-when-a-hook-fails) ものである場合は除きます。`onFailure` が `"block"` に設定されたフックはその一例です。異議がないことを報告するには 0 で終了し、アクションをブロックするには 2 で終了します:597終了コードが 0 と 2 以外で、有効な JSON 出力がない場合、ほとんどのイベントではアクションが続行されます。ただし、そのフックが [失敗時にアクションをブロックする](https://code.claude.com/docs/ja/hooks.md#block-the-action-when-a-hook-fails) フックである場合は除きます。`onFailure` が `"block"` に設定されたフックがその一例です。異議がないことを伝えるには終了コード 0 で、アクションをブロックするには終了コード 2 で終了します。

598 598 

599* **終了 0**:`PreToolUse` hook から 0 で終了しても、ツール呼び出しは通常の [権限フロー](https://code.claude.com/docs/ja/permissions.md) を経由します。終了 0 はツール呼び出しを承認しないためです。`UserPromptSubmit`、`UserPromptExpansion`、`SessionStart`、および `PostModelSwitch` hooks の場合、Claude Code は [プレーンテキストとして扱う](https://code.claude.com/docs/ja/hooks.md#exit-code-0) stdout を Claude のコンテキストに追加します。599* **終了コード 0**:`PreToolUse` フックから終了コード 0 で終了した場合でも、ツール呼び出しは通常の [権限フロー](https://code.claude.com/docs/ja/permissions.md) を経由します。終了コード 0 はツール呼び出しを承認するものではないためです。`UserPromptSubmit`、`UserPromptExpansion`、`SessionStart`、`PostModelSwitch` フックでは、Claude Code は [プレーンテキストとして扱う](https://code.claude.com/docs/ja/hooks.md#exit-code-0) stdout を Claude のコンテキストに追加します。

600* **終了 2**:stderr に理由を書き込みます。イベントによって、Claude がそれをフィードバックとして受け取って調整できる場合、ユーザーに表示される場合、`ConfigChange` や `Elicitation` のようにメッセージが表示されない場合があります。一部のイベントはブロックできません:`SessionStart` などの場合、終了 2 は stderr をユーザーに表示し、実行は続行されます。[イベントごとの終了コード 2 の動作](https://code.claude.com/docs/ja/hooks.md#exit-code-2-behavior-per-event) で完全なリストを参照してください。600* **終了コード 2**:stderr に理由を書き込みます。イベントに応じて、Claude が調整できるようにフィードバックとして受け取るか、ユーザーに表示されるか、あるいは `ConfigChange` や `Elicitation` のようにメッセージが表示されないかのいずれかになります。ブロックできないイベントもあります。`SessionStart` などでは、終了コード 2 は stderr をユーザーに表示し、実行は続行されます。完全な一覧については [イベントごとの終了コード 2 の動作](https://code.claude.com/docs/ja/hooks.md#exit-code-2-behavior-per-event) を参照してください。

601* **その他の終了コード**:`WorktreeCreate` がゼロ以外の終了で失敗するなどのイベントごとの例外については、[終了コード出力](https://code.claude.com/docs/ja/hooks.md#exit-code-output) を参照してください。その他のイベントでは、そのフックが失敗時にアクションをブロックするものでない限り、フックが stdout に出力した内容から該当するケースを確認してください:601* **その他の終了コード**:0 以外の終了コードで失敗する `WorktreeCreate` など、イベントごとの例外については [終了コードの出力](https://code.claude.com/docs/ja/hooks.md#exit-code-output) を参照してください。その他のイベントでは、フックが失敗時にアクションをブロックするものでない限り、フックが stdout に出力した内容から該当するケースを確認してください。

602 * スキーマ検証に合格した解析済みオブジェクト:Claude Code は終了コードを無視し、JSON だけが結果を決定し、フックはエラーとして報告されません。602 * スキーマ検証に合格する解析済みオブジェクト:Claude Code は終了コードを無視し、JSON のみで結果が決まり、フックはエラーとして報告されません。

603 * スキーマ検証に失敗した解析済みオブジェクト、または Claude Code が [JSON として解析しようとする](https://code.claude.com/docs/ja/hooks.md#exit-code-0) ものの有効な JSON ではない stdout:アクションはブロックしないエラーとして続行されます。検証またはパースのメッセージについては、`<hook name> hook error` 通知を確認してください。603 * スキーマ検証に失敗する解析済みオブジェクト、または Claude Code が [JSON として解析しようとする](https://code.claude.com/docs/ja/hooks.md#exit-code-0) ものの有効な JSON ではない stdout:アクションは非ブロッキングエラーとして続行されます。検証または解析のメッセージについては、`<hook name> hook error` の通知を確認してください。

604 * Claude Code が [プレーンテキストとして扱う](https://code.claude.com/docs/ja/hooks.md#exit-code-0) stdout、または空の stdout:アクションはブロックしないエラーとして続行されます。トランスクリプトには `<hook name> hook error` 通知が表示され、続いて `Failed with non-blocking status code:` を先頭に付けた stderr の最初の行が表示されます。stderr 全体をキャプチャするには、`claude --debug` を使用するか、セッション中に `/debug` を実行して [デバッグログ](https://code.claude.com/docs/ja/hooks.md#debug-hooks) を有効にしてください。604 * Claude Code が [プレーンテキストとして扱う](https://code.claude.com/docs/ja/hooks.md#exit-code-0) stdout、または空の stdout:アクションは非ブロッキングエラーとして続行されます。トランスクリプトには `<hook name> hook error` の通知が表示され、その後に `Failed with non-blocking status code:` が先頭に付いた stderr の 1 行目が表示されます。stderr の全体を取得するには、`claude --debug` を使用するか、セッション中に `/debug` を実行して [デバッグログ](https://code.claude.com/docs/ja/hooks.md#debug-hooks) を有効にしてください。

605 605 

606#### 構造化 JSON 出力606#### 構造化 JSON 出力

607 607 

608終了コードはブロックするか沈黙するかのみを許可します。より多くの制御のために、終了 0 して stdout に JSON オブジェクトを出力します。608終了コードでは、ブロックするか何もしないかしか選べません。より細かく制御するには、代わりに終了コード 0 で終了し、JSON オブジェクトを stdout に出力します。

609 609 

610> [!NOTE]610> [!NOTE]

611>611>

612> 終了 2 で stderr メッセージでブロックするか、終了 0 で JSON で構造化制御を使用します。hook ごとに 1 つのアプローチを選択してください。混在させた場合の動作については、[終了コード出力](https://code.claude.com/docs/ja/hooks.md#exit-code-output) を参照してください。612> stderr のメッセージとともにブロックするには終了コード 2 を、構造化された制御には JSON とともに終了コード 0 を使用します。フックごとにいずれか一方の方法を選んでください。両者を混在させた場合の動作については、[終了コードの出力](https://code.claude.com/docs/ja/hooks.md#exit-code-output) を参照してください。

613 613 

614たとえば、`PreToolUse` hook はツール呼び出しを拒否して理由を Claude に伝えたり、ユーザーの承認のためにエスカレートしたりできます:614たとえば、`PreToolUse` フックはツール呼び出しを拒否してその理由を Claude に伝えたり、承認を求めてユーザーにエスカレーションしたりできます。

615 615 

616```json theme={null}616```json theme={null}

617{617{


623}623}

624```624```

625 625 

626`"deny"` を使用すると、Claude Code はツール呼び出しをキャンセルし、`permissionDecisionReason` を Claude にフィードバックとして返します。626`"deny"` の場合、Claude Code はツール呼び出しをキャンセルし、`permissionDecisionReason` を Claude にフィードバックします。

627 627 

628`PreToolUse` では、`"ask"` を返してユーザーに通常の権限プロンプトを表示したり、`"allow"` を返して対話的な権限プロンプトをスキップしたりすることもできます。`"allow"` の場合でも、拒否ルールと確認ルール(エンタープライズの管理 deny リストを含む)は引き続き適用され、次に対するプロンプトも引き続き表示されます:628`PreToolUse` では、`"ask"` を返してユーザーに通常の権限プロンプトを表示したり、`"allow"` を返して対話的な権限プロンプトをスキップしたりすることもできます。`"allow"` の場合でも、エンタープライズ管理の拒否リストを含む拒否ルールと確認ルールは引き続き適用され、次の場合のプロンプトも表示されます。

629 629 

630* [ネットワークパス](https://code.claude.com/docs/ja/permissions.md#network-paths) からの読み取り630* [ネットワークパス](https://code.claude.com/docs/ja/permissions.md#network-paths) からの読み取り

631* [`requiresUserInteraction`](https://code.claude.com/docs/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツール631* [`requiresUserInteraction`](https://code.claude.com/docs/ja/mcp#require-approval-for-a-specific-tool) が指定された MCP ツール

632* その設定が Claude Code に届くセッションで [組織が `ask` に設定した](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools) コネクタツール632* [Agent SDK アプリが `always_ask` を指定したツール](https://code.claude.com/docs/ja/agent-sdk/custom-tools#require-approval-for-specific-tools) の呼び出し([権限モードがその呼び出しを承認する](https://code.claude.com/docs/ja/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call) 場合を除く)

633* その設定が Claude Code に及ぶセッションにおいて、[組織が `ask` に設定した](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools) コネクタツール

633 634 

634 plan モードでの `"allow"` の動作については、[plan モードでのフックによる承認](https://code.claude.com/docs/ja/permissions.md#hook-approvals-in-plan-mode) を参照してください。635plan モードでの `"allow"` の動作については、[plan モードでのフックによる承認](https://code.claude.com/docs/ja/permissions.md#hook-approvals-in-plan-mode) を参照してください。

635 636 

6364 番目の値 `"defer"` は、`-p` フラグ付きの [非対話モード](https://code.claude.com/docs/ja/headless.md) で利用可能です。これを返すと、ツール呼び出しを保持したままターンが終了するため、Agent SDK ラッパーが入力を収集して再開できます。リファレンスの [ツール呼び出しを後で延期する](https://code.claude.com/docs/ja/hooks.md#defer-a-tool-call-for-later) を参照してください。6374 つ目の値である `"defer"` は、`-p` フラグを使用した [非対話モード](https://code.claude.com/docs/ja/headless.md) で利用できます。これを返すと、ツール呼び出しを保持したままターンが終了するため、Agent SDK のラッパーが入力を収集して再開できます。リファレンスの [ツール呼び出しを後回しにする](https://code.claude.com/docs/ja/hooks.md#defer-a-tool-call-for-later) を参照してください。

637 638 

638`PreModelSwitch` hook は同じ `permissionDecision` フィールドを返します:`"allow"` はモデルスイッチを進行させ、`"deny"` はそれをキャンセルします。`"ask"` はインタラクティブセッションで `/model` を実行するときに確認を求めます。他の場所では、Claude Code は `"ask"` を拒否として扱います。[PreModelSwitch 決定制御](https://code.claude.com/docs/ja/hooks.md#premodelswitch-decision-control) を参照してください。639`PreModelSwitch` フックも同じ `permissionDecision` フィールドを返します。`"allow"` はモデルの切り替えを続行させ、`"deny"` はキャンセルします。`"ask"` は、対話セッションで `/model` を実行したときに切り替えの確認を求めます。それ以外の場面では、Claude Code は `"ask"` を拒否として扱います。[PreModelSwitch の判定制御](https://code.claude.com/docs/ja/hooks.md#premodelswitch-decision-control) を参照してください。

639 640 

640他のイベントは異なる決定パターンを使用します。たとえば、`PostToolUse` および `Stop` hooks はトップレベルの `decision: "block"` フィールドを使用し、`PermissionRequest` は `hookSpecificOutput.decision.behavior` を使用します。リファレンスの [サマリーテーブル](https://code.claude.com/docs/ja/hooks.md#decision-control) でイベント別の完全な内訳を参照してください。641その他のイベントでは、異なる判定パターンを使用します。たとえば、`PostToolUse` と `Stop` フックはトップレベルの `decision: "block"` フィールドを使用し、`PermissionRequest` は `hookSpecificOutput.decision.behavior` を使用します。イベントごとの詳細な内訳については、リファレンスの [概要表](https://code.claude.com/docs/ja/hooks.md#decision-control) を参照してください。

641 642 

642`UserPromptSubmit` hooks の場合、代わりに `hookSpecificOutput.additionalContext` を使用して Claude のコンテキストにテキストを注入します。`additionalContext` を `hookSpecificOutput` の内側にネストします。JSON の最上位レベルに配置すると、Claude Code はそれを無視します。たとえば、この出力はすべてのプロンプトに現在のブランチ状態を追加します:643`UserPromptSubmit` フックでは、Claude のコンテキストにテキストを挿入するために、代わりに `hookSpecificOutput.additionalContext` を使用します。`additionalContext` は `hookSpecificOutput` の内側にネストしてください。JSON のトップレベルに配置すると、Claude Code は何も通知せずにそれを無視します。たとえば、次の出力はすべてのプロンプトに現在のブランチの状態を追加します。

643 644 

644```json theme={null}645```json theme={null}

645{646{


650}651}

651```652```

652 653 

653ブロックプロンプトとセッションタイトルの設定を含む完全な出力形状については、[UserPromptSubmit 決定制御](https://code.claude.com/docs/ja/hooks.md#userpromptsubmit-decision-control) を参照してください。654プロンプトのブロックやセッションタイトルの設定を含む出力の完全な形式については、[UserPromptSubmit の判定制御](https://code.claude.com/docs/ja/hooks.md#userpromptsubmit-decision-control) を参照してください。

654 655 

655`type: "prompt"` の Hooks は出力を異なる方法で処理します:[プロンプトベースの hooks](#prompt-based-hooks) を参照してください。656`type: "prompt"` のフックは出力の扱いが異なります。[プロンプトベースのフック](#prompt-based-hooks) を参照してください。

656 657 

657### マッチャーで hooks をフィルタリングする658### matcher でフックを絞り込む

658 659 

659マッチャーなしでは、hook はそのイベントのすべての発生で発火します。マッチャーを使用すると、それを絞り込むことができます。たとえば、ファイル編集後にのみフォーマッターを実行したい場合(すべてのツール呼び出しの後ではなく)、`PostToolUse` hook にマッチャーを追加します:660matcher がない場合、フックはそのイベントが発生するたびに発火します。matcher を使うと、これを絞り込めます。たとえば、すべてのツール呼び出しの後ではなく、ファイル編集の後にのみフォーマッターを実行したい場合は、`PostToolUse` フックに matcher を追加します。

660 661 

661```json theme={null}662```json theme={null}

662{663{


673}674}

674```675```

675 676 

676`"Edit|Write"` マッチャーは `Edit` または `Write` ツール呼び出しでのみ発火し、`Bash`、`Read`、または他のツールでは発火しません。カンマもまた同じ方法で代替を区切るため、`"Edit, Write"` は同等です。[マッチャーパターン](https://code.claude.com/docs/ja/hooks.md#matcher-patterns) を参照して、プレーン名と正規表現がどのように評価されるかを確認してください。677`"Edit|Write"` matcher は、Claude が `Edit` または `Write` ツールを使用したときにのみ発火し、`Bash`、`Read`、その他のツールを使用したときには発火しません。カンマも同様に選択肢を区切るため、`"Edit, Write"` も同等です。単純な名前と正規表現がどのように評価されるかについては、[matcher のパターン](https://code.claude.com/docs/ja/hooks.md#matcher-patterns) を参照してください。

677 678 

678> [!NOTE]679> [!NOTE]

679>680>

680> Claude はまた、シェルコマンドを実行することでファイルを作成または変更できます。コンプライアンススキャンまたは監査ログなど、hook がすべてのファイル変更を確認する必要がある場合は、ターンごとに 1 回作業ツリーをスキャンする [`Stop`](https://code.claude.com/docs/ja/hooks#stop) hook を追加してください。呼び出しごとのカバレッジの場合は、`Bash|PowerShell` もマッチさせ、スクリプトで `git status --porcelain` を使用して変更されたファイルと追跡されていないファイルをリストアップしてください。[PowerShell hook 入力セクション](https://code.claude.com/docs/ja/hooks.md#powershell) は、`Bash` だけをマッチさせるのが十分でない理由を説明しています。ディスク上の特定のファイルが変更されたときに hook を実行するには、それを書き込んだものが何であれ、[FileChanged](https://code.claude.com/docs/ja/hooks.md#filechanged) hook を使用してください。681> Claude はシェルコマンドを実行してファイルを作成または変更することもできます。コンプライアンススキャンや監査ログの記録など、フックがすべてのファイル変更を把握する必要がある場合は、ターンごとに 1 回作業ツリーをスキャンする [`Stop`](https://code.claude.com/docs/ja/hooks#stop) フックを追加してください。代わりに呼び出しごとに網羅したい場合は、`Bash|PowerShell` にも一致させ、スクリプトで `git status --porcelain` を使って変更されたファイルと追跡されていないファイルを一覧表示するようにします。`Bash` だけに一致させるのでは不十分な理由については、[PowerShell フックの入力セクション](https://code.claude.com/docs/ja/hooks.md#powershell) で説明しています。書き込んだのが何であれ、特定のファイルがディスク上で変更されたときにフックを実行するには、[FileChanged](https://code.claude.com/docs/ja/hooks.md#filechanged) フックを使用してください。

681 682 

682各イベントタイプは特定のフィールドでマッチします:683各イベントタイプは、特定のフィールドに対して照合されます。

683 684 

684| イベント | マッチャーがフィルタリングするもの | マッチャー値の例 |685| イベント | matcher が絞り込む対象 | matcher の値の例 |

685| :- | :- | :- |686| :- | :- | :- |

686| `PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied` | ツール名 | `Bash`、`Edit\|Write`、`mcp__.*` |687| `PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied` | ツール名 | `Bash`、`Edit\|Write`、`mcp__.*` |

687| `SessionStart` | セッションがどのように開始されたか | `startup`、`resume`、`clear`、`compact`、`fork` |688| `SessionStart` | セッションの開始方法 | `startup`、`resume`、`clear`、`compact`、`fork` |

688| `Setup` | どの CLI フラグがセットアップをトリガーしたか | `init`、`maintenance` |689| `Setup` | セットアップをトリガーした CLI フラグ | `init`、`maintenance` |

689| `SessionEnd` | セッションが終了した理由 | `clear`、`resume`、`logout`、`prompt_input_exit`、`other` |690| `SessionEnd` | セッションが終了した理由 | `clear`、`resume`、`logout`、`prompt_input_exit`、`other` |

690| `Notification` | 通知タイプ | `permission_prompt`、`idle_prompt`、`auth_success`、`elicitation_dialog`、`elicitation_url_dialog`、`elicitation_complete`、`elicitation_response`、`agent_needs_input`、`agent_completed`、`quota_auto_resume_fired`、`quota_auto_resume_stale`、`quota_auto_resume_disabled`、`plugin_notification` |691| `Notification` | 通知の種類 | `permission_prompt`、`idle_prompt`、`auth_success`、`elicitation_dialog`、`elicitation_url_dialog`、`elicitation_complete`、`elicitation_response`、`agent_needs_input`、`agent_completed`、`quota_auto_resume_fired`、`quota_auto_resume_stale`、`quota_auto_resume_disabled`、`plugin_notification` |

691| `SubagentStart` | エージェントタイプ | `general-purpose`、`Explore`、`Plan`、またはカスタムエージェント名 |692| `SubagentStart` | エージェントの種類 | `general-purpose`、`Explore`、`Plan`、またはカスタムエージェント名 |

692| `PreCompact`、`PostCompact` | 圧縮をトリガーしたもの | `manual`、`auto` |693| `PreCompact`、`PostCompact` | コンテキスト圧縮をトリガーしたもの | `manual`、`auto` |

693| `PreModelSwitch`、`PostModelSwitch` | セッションが切り替わるモデルの正規名([PreModelSwitch](https://code.claude.com/docs/ja/hooks.md#premodelswitch) で説明) | `claude-opus-5`、`claude-opus-4-6\|claude-opus-5`、`.*opus.*` |694| `PreModelSwitch`、`PostModelSwitch` | [PreModelSwitch](https://code.claude.com/docs/ja/hooks.md#premodelswitch) で説明されている、セッションの切り替え先モデルの正規名 | `claude-opus-5`、`claude-opus-4-6\|claude-opus-5`、`.*opus.*` |

694| `SubagentStop` | エージェントタイプ | `SubagentStart` と同じ値 |695| `SubagentStop` | エージェントの種類 | `SubagentStart` と同じ値 |

695| `ConfigChange` | 設定ソース | `user_settings`、`project_settings`、`local_settings`、`policy_settings`、`skills` |696| `ConfigChange` | 設定のソース | `user_settings`、`project_settings`、`local_settings`、`policy_settings`、`skills` |

696| `DirectoryAdded` | ディレクトリがどのように追加されたか | `slash_command`、`register_repo_root` |697| `DirectoryAdded` | ディレクトリが追加された方法 | `slash_command`、`register_repo_root` |

697| `StopFailure` | エラータイプ | `rate_limit`、`overloaded`、`authentication_failed`、`oauth_org_not_allowed`、`account_on_hold`、`billing_error`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`cloud_credential_error`、`unknown` |698| `StopFailure` | エラーの種類 | `rate_limit`、`overloaded`、`authentication_failed`、`oauth_org_not_allowed`、`account_on_hold`、`billing_error`、`invalid_request`、`model_not_found`、`server_error`、`max_output_tokens`、`cloud_credential_error`、`unknown` |

698| `InstructionsLoaded` | ロード理由 | `session_start`、`nested_traversal`、`path_glob_match`、`include`、`compact` |699| `InstructionsLoaded` | 読み込みの理由 | `session_start`、`nested_traversal`、`path_glob_match`、`include`、`compact` |

699| `Elicitation` | MCP サーバー名 | 設定した MCP サーバー名 |700| `Elicitation` | MCP サーバー名 | 設定済みの MCP サーバー名 |

700| `ElicitationResult` | MCP サーバー名 | `Elicitation` と同じ値 |701| `ElicitationResult` | MCP サーバー名 | `Elicitation` と同じ値 |

701| `FileChanged` | リテラルファイル名を監視([FileChanged](https://code.claude.com/docs/ja/hooks.md#filechanged) を参照) | `.envrc\|.env` |702| `FileChanged` | 監視するファイル名のリテラル([FileChanged](https://code.claude.com/docs/ja/hooks.md#filechanged) を参照) | `.envrc\|.env` |

702| `UserPromptExpansion` | コマンド名 | スキルまたはコマンド名 |703| `UserPromptExpansion` | コマンド名 | スキル名またはコマンド名 |

703| `UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`CwdChanged`、`MessageDisplay` | マッチャーサポートなし | すべての発生で常に発火 |704| `UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`CwdChanged`、`MessageDisplay` | matcher 非対応 | 発生するたびに常に発火 |

704 705 

705以下のタブは、異なるイベントタイプのいくつかのマッチャーを示しています。706以下のタブでは、さまざまなイベントタイプに対する matcher の例をさらにいくつか示します。

706 707 

707**すべての Bash コマンドをログに記録する**708**すべての Bash コマンドをログに記録する**

708 709 

709`Bash` ツール呼び出しのみをマッチし、各コマンドをファイルにログに記録します。`PostToolUse` イベントはコマンドが完了した後に発火するため、`tool_input.command` は実行されたものを含みます。Hook は stdin で JSON としてイベントデータを受け取り、`jq -r '.tool_input.command'` はコマンド文字列のみを抽出し、`>>` はログファイルに追加します:710`Bash` ツールの呼び出しのみに一致させ、各コマンドをファイルにログとして記録します。`PostToolUse` イベントはコマンドの完了後に発火するため、`tool_input.command` には実行された内容が含まれます。フックは stdin で JSON としてイベントデータを受け取り、`jq -r '.tool_input.command'` がコマンド文字列のみを抽出し、`>>` がそれをログファイルに追記します。

710 711 

711```json theme={null}712```json theme={null}

712{713{


726}727}

727```728```

728 729 

729**MCP ツールをマッチさせる**730**MCP ツールに一致させる**

730 731 

731MCP ツールは組み込みツールとは異なる命名規則を使用します:`mcp__<server>__<tool>`。ここで `<server>` は MCP サーバー名で、`<tool>` はそれが提供するツールです。たとえば、`mcp__github__search_repositories` または `mcp__filesystem__read_file`。[プラグインバンドルサーバー](https://code.claude.com/docs/ja/mcp.md#plugin-provided-mcp-servers) からのツールは、`mcp__plugin_my-plugin_db__query` などのスコープ付きサーバーセグメントを使用します。特定のサーバーからすべてのツールをターゲットするために正規表現マッチャーを使用するか、`mcp__.*__write.*` のようなパターンでサーバー全体でマッチします。リファレンスの [MCP ツールをマッチさせる](https://code.claude.com/docs/ja/hooks.md#match-mcp-tools) を参照して、完全な例のリストを確認してください。732MCP ツールは、組み込みツールとは異なる命名規則 `mcp__<server>__<tool>` を使用します。ここで `<server>` は MCP サーバー名、`<tool>` はそのサーバーが提供するツールです。たとえば、`mcp__github__search_repositories` や `mcp__filesystem__read_file` などです。[プラグインにバンドルされたサーバー](https://code.claude.com/docs/ja/mcp.md#plugin-provided-mcp-servers) のツールは、代わりに `mcp__plugin_my-plugin_db__query` のようにスコープ付きのサーバーセグメントを使用します。特定のサーバーのすべてのツールを対象にするには正規表現の matcher を使用し、サーバーをまたいで一致させるには `mcp__.*__write.*` のようなパターンを使用します。例の完全な一覧については、リファレンスの [MCP ツールに一致させる](https://code.claude.com/docs/ja/hooks.md#match-mcp-tools) を参照してください。

732 733 

733以下のコマンドは hook の JSON 入力からツール名を `jq` で抽出し、stderr に書き込みます。stderr に書き込むことで stdout をクリーンに保ち、メッセージを [デバッグログ](https://code.claude.com/docs/ja/hooks.md#debug-hooks) に送信します:734以下のコマンドは、`jq` を使ってフックの JSON 入力からツール名を抽出し、stderr に書き込みます。stderr に書き込むことで、stdout を JSON 出力用にクリーンに保ち、メッセージを [デバッグログ](https://code.claude.com/docs/ja/hooks.md#debug-hooks) に送ることができます。

734 735 

735```json theme={null}736```json theme={null}

736{737{


752 753 

753**セッション終了時にクリーンアップする**754**セッション終了時にクリーンアップする**

754 755 

755`SessionEnd` イベントはセッションが終了した理由のマッチャーをサポートします。この hook は `clear`(`/clear` を実行するとき)でのみ発火し、通常の終了では発火しません:756`SessionEnd` イベントは、セッションが終了した理由に対する matcher をサポートしています。このフックは、`/clear` を実行したときに設定される `clear` の理由でのみ発火し、通常の終了では発火しません。

756 757 

757```json theme={null}758```json theme={null}

758{759{


772}773}

773```774```

774 775 

775#### `if` フィールドでツール名と引数でフィルタリングする776#### `if` フィールドでツール名と引数によって絞り込む

776 777 

777`if` フィールドは [許可ルール構文](https://code.claude.com/docs/ja/permissions.md) を使用して、ツール名と引数の両方で hooks をフィルタリングするため、hook プロセスはツール呼び出しがマッチするときにのみ生成されます。これは `matcher` を超えており、ツール名のみでグループレベルでフィルタリングします。778`if` フィールドは [権限ルールの構文](https://code.claude.com/docs/ja/permissions.md) を使用して、ツール名と引数の両方でフックを絞り込みます。これにより、ツール呼び出しが一致した場合にのみフックのプロセスが起動されます。これは、グループレベルでツール名のみによって絞り込む `matcher` よりも踏み込んだ絞り込みです。

778 779 

779たとえば、すべての Bash コマンドではなく、Claude が `git` コマンドを使用するときにのみ hook を実行するには:780たとえば、次の設定では、すべての Bash コマンドではなく、Claude が `git` コマンドを使用したときにのみフックを実行します。

780 781 

781```json theme={null}782```json theme={null}

782{783{


797}798}

798```799```

799 800 

800Hook コマンドが実行されるかどうかは、`if` パターンの形状と Claude が呼び出している Bash コマンドによって異なります:801フックのコマンドが実行されるかどうかは、`if` パターンの形と、Claude が呼び出す Bash コマンドによって決まります。

801 802 

802| `if` パターン | Bash コマンド | Hook は実行されるか? | 理由 |803| `if` パターン | Bash コマンド | フックは実行されるか | 理由 |

803| :- | :- | :- | :- |804| :- | :- | :- | :- |

804| `Bash(git *)` | `git push` | はい | コマンド名がマッチします |805| `Bash(git *)` | `git push` | はい | コマンド名が一致する |

805| `Bash(git *)` | `npm test && git push` | はい | 各サブコマンドがチェックされます。`git push` がマッチします |806| `Bash(git *)` | `npm test && git push` | はい | 各サブコマンドがチェックされ、`git push` が一致する |

806| `Bash(git *)` | `echo $(git log)` | はい | `$()` とバッククォート内のコマンドがチェックされます。`git log` がマッチします |807| `Bash(git *)` | `echo $(git log)` | はい | `$()` やバッククォート内のコマンドもチェックされ、`git log` が一致する |

807| `Bash(git *)` | `echo $(date)` | いいえ | サブコマンドが `git *` にマッチしません |808| `Bash(git *)` | `echo $(date)` | いいえ | `git *` に一致するサブコマンドがない |

808| `Bash(git push *)` | `echo $(date)` | はい | コマンド名以上を指定するパターンは、`$()`、バッククォート、または `$VAR` で hook を実行します |809| `Bash(git push *)` | `echo $(date)` | はい | コマンド名以上を指定するパターンでは、`$()`、バッククォート、`$VAR` があるとフックがいずれにせよ実行される |

809 810 

810Claude Code がどのコマンドが Bash 入力を実行するかを判断できない場合、パターンに関係なく hook を実行します。[Bash マッチングテーブル](https://code.claude.com/docs/ja/hooks.md#bash-if-matching) は、Claude Code がサブコマンドで絞り込むことができる、またはできないコマンド形状をカバーしています。フィルターはベストエフォートであるため、ハード allow または deny を強制するには、hook ではなく [許可システム](https://code.claude.com/docs/ja/permissions.md) を使用してください。811Bash の入力がどのコマンドを実行するかを Claude Code が判断できない場合、パターンにかかわらずフックが実行されます。Claude Code がサブコマンド単位で絞り込めるコマンドの形と絞り込めない形については、[Bash の照合表](https://code.claude.com/docs/ja/hooks.md#bash-if-matching) を参照してください。この絞り込みはベストエフォートであるため、厳密な許可や拒否を強制するには、フックではなく [権限システム](https://code.claude.com/docs/ja/permissions.md) を使用してください。

811 812 

812`if` フィールドは許可ルールと同じパターンを受け入れます:`"Bash(git *)"`、`"Edit(*.ts)"` など。複数のツール名をマッチさせるには、それぞれ独自の `if` 値を持つ別のハンドラーを使用するか、パイプ交替がサポートされている `matcher` レベルでマッチします。813`if` フィールドは、権限ルールと同じパターン(`"Bash(git *)"`、`"Edit(*.ts)"` など)を受け付けます。複数のツール名に一致させるには、それぞれ独自の `if` 値を持つ個別のハンドラーを使用するか、パイプによる選択がサポートされている `matcher` レベルで照合してください。

813 814 

814`if` はツールイベントでのみ機能します:`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、および `PermissionDenied`。他のイベントに追加すると、hook が実行されるのを防ぎます。815`if` はツールイベント(`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied`)でのみ機能します。それ以外のイベントに追加すると、フックは実行されなくなります。

815 816 

816### hook の場所を設定する817### フックの場所を設定する

817 818 

818Hook を追加する場所がそのスコープを決定します:819フックを追加する場所によって、そのスコープが決まります。

819 820 

820| 場所 | スコープ | 共有可能 |821| 場所 | スコープ | 共有可能か |

821| :- | :- | :- |822| :- | :- | :- |

822| `~/.claude/settings.json` | すべてのプロジェクト | いいえ、マシンにローカル |823| `~/.claude/settings.json` | すべてのプロジェクト | いいえ、ローカルマシンのみ |

823| `.claude/settings.json` | 単一プロジェクト | はい、リポジトリにコミット可能 |824| `.claude/settings.json` | 単一のプロジェクト | はい、リポジトリにコミット可能 |

824| `.claude/settings.local.json` | 単一プロジェクト | いいえ、gitignored |825| `.claude/settings.local.json` | 単一のプロジェクト | いいえ、Claude Code がこのファイルに設定を保存した時点で gitignore される |

825| 管理ポリシー設定 | 組織全体 | はい、管理者制御 |826| 管理ポリシー設定 | 組織全体 | はい、管理者が制御 |

826| [Plugin](https://code.claude.com/docs/ja/plugins/overview.md) `hooks/hooks.json` | プラグインが有効なとき | はい、プラグインにバンドル |827| [プラグイン](https://code.claude.com/docs/ja/plugins/overview.md) の `hooks/hooks.json` | プラグインが有効なとき | はい、プラグインにバンドル |

827| [Skill](https://code.claude.com/docs/ja/skills.md) frontmatter | スキルが呼び出されたら、セッションの残り。[スキルとエージェントの Hooks](https://code.claude.com/docs/ja/hooks.md#hooks-in-skills-and-agents) を参照してください。 | はい、スキルファイルで定義 |828| [スキル](https://code.claude.com/docs/ja/skills.md) のフロントマター | スキルが呼び出された後、セッションの残りの期間。[スキルとエージェントにおけるフック](https://code.claude.com/docs/ja/hooks.md#hooks-in-skills-and-agents) を参照 | はい、スキルファイル内で定義 |

828| [Subagent](https://code.claude.com/docs/ja/sub-agents.md) frontmatter | そのサブエージェントが実行されている間 | はい、サブエージェントファイルで定義 |829| [サブエージェント](https://code.claude.com/docs/ja/sub-agents.md) のフロントマター | そのサブエージェントの実行中 | はい、サブエージェントファイル内で定義 |

829 830 

830Claude Code で [`/hooks`](https://code.claude.com/docs/ja/hooks#the-%2Fhooks-menu) を実行して、イベント別にグループ化されたすべての設定済み hooks を参照します。831Claude Code で [`/hooks`](https://code.claude.com/docs/ja/hooks#the-%2Fhooks-menu) を実行すると、設定済みのすべてのフックをイベントごとにグループ化して参照できます。

831 832 

832hooks を無効にするには、設定ファイルで `"disableAllHooks": true` を設定します。Claude Code は [設定の優先順位](https://code.claude.com/docs/ja/hooks.md#disable-or-remove-hooks) の後に残された値を読み取るため、プロジェクトの設定ファイルはあなたのものをオーバーライドできます。管理設定で設定された Hooks は、`disableAllHooks` がそこにも設定されていない限り、実行されます。各レベルの完全な範囲については、[`disableAllHooks`](https://code.claude.com/docs/ja/settings-reference#disableallhooks) を参照してください。833フックを無効にするには、設定ファイルで `"disableAllHooks": true` を設定します。Claude Code は [設定の優先順位](https://code.claude.com/docs/ja/hooks.md#disable-or-remove-hooks) が適用された後に残った値を読み取るため、プロジェクトの設定ファイルがユーザーの設定を上書きすることがあります。管理設定で構成されたフックは、そこでも `disableAllHooks` が設定されていない限り実行され続けます。各レベルの影響範囲の詳細については、[`disableAllHooks`](https://code.claude.com/docs/ja/settings-reference#disableallhooks) を参照してください。

833 834 

834Claude Code が実行中に設定ファイルを直接編集する場合、ファイルウォッチャーは通常、hook の変更を自動的に取得します。835Claude Code の実行中に設定ファイルを直接編集した場合、通常はファイルウォッチャーがフックの変更を自動的に検出します。

835 836 

836## プロンプトベースの hooks837## プロンプトベースの hooks

837 838 


963* **`"allow"` に対して引き続き有効なもの**:`"allow"` を返すフックは、設定の拒否ルールを回避することはできず、以下のプロンプトを抑制することもできません。964* **`"allow"` に対して引き続き有効なもの**:`"allow"` を返すフックは、設定の拒否ルールを回避することはできず、以下のプロンプトを抑制することもできません。

964 * [ネットワークパス](https://code.claude.com/docs/ja/permissions.md#network-paths)からの読み取り965 * [ネットワークパス](https://code.claude.com/docs/ja/permissions.md#network-paths)からの読み取り

965 * [`requiresUserInteraction`](https://code.claude.com/docs/ja/mcp#require-approval-for-a-specific-tool) が指定された MCP ツール966 * [`requiresUserInteraction`](https://code.claude.com/docs/ja/mcp#require-approval-for-a-specific-tool) が指定された MCP ツール

967 * [Agent SDK アプリが `always_ask` を指定したツール](https://code.claude.com/docs/ja/agent-sdk/custom-tools#require-approval-for-specific-tools)の呼び出し(ただし、[権限モードがその呼び出しを承認する](https://code.claude.com/docs/ja/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call)場合を除く)

966 * その設定が Claude Code に反映されるセッションにおいて、[組織が `ask` に設定した](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツール968 * その設定が Claude Code に反映されるセッションにおいて、[組織が `ask` に設定した](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツール

967 969 

968[plan モード](https://code.claude.com/docs/ja/permissions.md#hook-approvals-in-plan-mode)では、`PreToolUse` フックがファイル編集に対して `"allow"` を返しても、フックがない場合にその編集が受けるのと同じプロンプト、ブロック、または承認が適用されます。フックによる承認に対するこの制限を解除するには、[プランを承認する](https://code.claude.com/docs/ja/permission-modes.md#review-and-approve-a-plan)か、別の権限モードに切り替えてください。970[plan モード](https://code.claude.com/docs/ja/permissions.md#hook-approvals-in-plan-mode)では、`PreToolUse` フックがファイル編集に対して `"allow"` を返しても、フックがない場合にその編集が受けるのと同じプロンプト、ブロック、または承認が適用されます。フックによる承認に対するこの制限を解除するには、[プランを承認する](https://code.claude.com/docs/ja/permission-modes.md#review-and-approve-a-plan)か、別の権限モードに切り替えてください。

Details

407| [`managedMcpServers`](https://code.claude.com/docs/ja/settings-reference#managedmcpservers) | すべてのユーザーに自身のサーバーと一緒に提供されるリモート MCP サーバー。何かをロックダウンするのではなく、サーバーを提供します。[管理設定を通じてサーバーを提供する](https://code.claude.com/docs/ja/managed-mcp.md#provide-servers-through-managed-settings)を参照してください。Claude Code v2.1.259 以降が必要です |407| [`managedMcpServers`](https://code.claude.com/docs/ja/settings-reference#managedmcpservers) | すべてのユーザーに自身のサーバーと一緒に提供されるリモート MCP サーバー。何かをロックダウンするのではなく、サーバーを提供します。[管理設定を通じてサーバーを提供する](https://code.claude.com/docs/ja/managed-mcp.md#provide-servers-through-managed-settings)を参照してください。Claude Code v2.1.259 以降が必要です |

408| [`managedSourcesBehavior`](https://code.claude.com/docs/ja/settings-reference#managedsourcesbehavior) | Claude Code が最優先のマネージドソースのみを適用するか、[すべてのマネージドソースを構成する](#compose-every-managed-source)かどうか |408| [`managedSourcesBehavior`](https://code.claude.com/docs/ja/settings-reference#managedsourcesbehavior) | Claude Code が最優先のマネージドソースのみを適用するか、[すべてのマネージドソースを構成する](#compose-every-managed-source)かどうか |

409| [`parentSettingsBehavior`](https://code.claude.com/docs/ja/settings-reference#parentsettingsbehavior) | ホスト提供の親設定がマネージドポリシーの下でマージされるかどうか |409| [`parentSettingsBehavior`](https://code.claude.com/docs/ja/settings-reference#parentsettingsbehavior) | ホスト提供の親設定がマネージドポリシーの下でマージされるかどうか |

410| [`pluginSuggestionMarketplaces`](https://code.claude.com/docs/ja/settings-reference#pluginsuggestionmarketplaces) | Claude Code がユーザーに提案できるプラグインのマーケットプレイス |410| [`pluginSuggestionMarketplaces`](https://code.claude.com/docs/ja/settings-reference#pluginsuggestionmarketplaces) | Claude Code がターミナルでユーザーに提案できるプラグインのマーケットプレイス |

411| [`pluginTrustMessage`](https://code.claude.com/docs/ja/settings-reference#plugintrustmessage) | インストール前に表示されるプラグイン信頼警告に追加されるカスタムメッセージ |411| [`pluginTrustMessage`](https://code.claude.com/docs/ja/settings-reference#plugintrustmessage) | インストール前に表示されるプラグイン信頼警告に追加されるカスタムメッセージ |

412| [`policyHelper`](https://code.claude.com/docs/ja/settings-reference#policyhelper) | 起動時に管理設定を計算する実行可能ファイル。[ポリシーヘルパーで管理設定を計算する](https://code.claude.com/docs/ja/settings-reference.md#policyhelper)を参照してください |412| [`policyHelper`](https://code.claude.com/docs/ja/settings-reference#policyhelper) | 起動時に管理設定を計算する実行可能ファイル。[ポリシーヘルパーで管理設定を計算する](https://code.claude.com/docs/ja/settings-reference.md#policyhelper)を参照してください |

413| [`sandbox.filesystem.allowManagedReadPathsOnly`](https://code.claude.com/docs/ja/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | `true` の場合、管理設定からの `filesystem.allowRead` パスのみが尊重されます。`denyRead` はすべてのソースからマージされます |413| [`sandbox.filesystem.allowManagedReadPathsOnly`](https://code.claude.com/docs/ja/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | `true` の場合、管理設定からの `filesystem.allowRead` パスのみが尊重されます。`denyRead` はすべてのソースからマージされます |

mcp.md +10 −1

Details

1624 1624 

1625エリシテーションを使用する MCP サーバーを構築している場合は、プロトコルの詳細とスキーマの例については [MCP エリシテーション仕様](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation)を参照してください。1625エリシテーションを使用する MCP サーバーを構築している場合は、プロトコルの詳細とスキーマの例については [MCP エリシテーション仕様](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation)を参照してください。

1626 1626 

1627[プロトコルリビジョン 2026-07-28](#mcp-client-runtimes) を使用する接続では、Claude Code はクライアント機能で `elicitation: {form: {}, url: {}}` を宣言するため、そこのサーバーはプロトコルの標準エリシテーション要求を通じてどちらのモードでもリクエストできます。1627### Claude Code が宣言するエリシテーションモード

1628 

1629MCP サーバーを構築する場合、Claude Code が接続時に送信するクライアント機能によって、サーバーがどのエリシテーションモードをリクエストできるかがサーバーに伝えられます。Claude Code は次の接続で `elicitation: {form: {}, url: {}}` を宣言するため、これらのいずれの接続のサーバーも両方のモードをリクエストできます。

1630 

1631* [プロトコルリビジョン 2026-07-28](#mcp-client-runtimes) を使用する接続

1632* それ以前のプロトコルリビジョン(2025-11-25 以前)での、ユーザーの Claude Code MCP 設定にある stdio、`sse`、`http`、`ws` サーバーへの接続。Claude Code v2.1.287 以降が必要です

1633 

1634それ以前のリビジョンでのその他の接続([claude.ai コネクタ](#use-mcp-servers-from-claude-ai)への接続など)では、Claude Code は空の `elicitation: {}` を宣言します。これはフォームモードでのエリシテーション要求のみを許可します。

1635 

1636Java MCP SDK 0.17.0 以前で構築されたサーバーは、`form` と `url` を含む宣言を拒否する場合があります。[MCP server rejected the elicitation capability](https://code.claude.com/docs/ja/errors.md#mcp-server-rejected-the-elicitation-capability) を参照してください。

1628 1637 

1629## MCP リソースを使用する1638## MCP リソースを使用する

1630 1639 

Details

12 12 

13## 利用可能なモード13## 利用可能なモード

14 14 

15各モードは、利便性と監視のバランスを異なる方法で取ります。以下の表は、各モードで Claude がパーミッション プロンプトなしで実行できることを示しています。Manual モードはその設定値である `default` の下に表示されます。15各モードは、利便性と監視のバランスをそれぞれ異なる形で取っています。次の表は、各モードで Claude が権限プロンプトなしで実行できる操作を示しています。Manual モードは設定値である `default` として記載しています。

16 16 

17| モード | 確認なしで実行されるもの | 最適な用途 |17| モード | 確認なしで実行される操作 | 最適な用途 |

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

19| `default` | 読み取りのみ | すべてのアクションを自分で確認する、機密性の高い作業 |19| `default` | 読み取りのみ | すべての操作を自分で確認したい場合、機密性の高い作業 |

20| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | 読み取り、ファイル編集、一般的なファイルシステム コマンド(`mkdir`、`touch`、`mv`、`cp` など) | 確認中のコードを反復処理する |20| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | 読み取り、ファイル編集、一般的なファイルシステムコマンド(`mkdir`、`touch`、`mv`、`cp` など) | レビュー中のコードの反復的な修正 |

21| [`plan`](#analyze-before-you-edit-with-plan-mode) | 読み取り、および [auto モード](#eliminate-prompts-with-auto-mode) が利用可能な場合の分類器承認コマンド | コードベースを変更する前に探索する |21| [`plan`](#analyze-before-you-edit-with-plan-mode) | 読み取り、および [auto モード](#eliminate-prompts-with-auto-mode)が利用可能な場合は分類器が承認したコマンド | 変更前のコードベースの調査 |

22| [`auto`](#eliminate-prompts-with-auto-mode) | すべて、バックグラウンド安全性チェック付き | 長いタスク、プロンプト疲労の軽減 |22| [`auto`](#eliminate-prompts-with-auto-mode) | すべて(バックグラウンドの安全性チェック付き) | 長時間のタスク、プロンプト疲れの軽減 |

23| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | 作業ディレクトリ内のファイル読み取りと事前承認済みツール。プロンプトが表示されるものはすべて拒否されますが、インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) がそれらの呼び出しの一部を承認できる場合があります | ロックダウン CI とスクリプト |23| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | 作業ディレクトリ内のファイル読み取りと事前承認済みのツール。プロンプトが表示されるはずの操作はすべて拒否されますが、インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) がそれらの呼び出しの一部を承認することはできます | 厳重に制限された CI やスクリプト |

24| [`bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) | すべて | 分離されたコンテナと VM のみ |24| [`bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) | すべて | 隔離されたコンテナや VM のみ |

25 25 

26すべてのアクションを確認するモードは、CLI、`claude --help`、VS Code および JetBrains 拡張機能、デスクトップアプリでは **Manual** という名前です。その設定値は `default` で、フックと SDK 統合ではこの値が使用されます。CLI は、値を入力するあらゆる場所で `manual` をエイリアスとして受け付けます。例えば `claude --permission-mode manual` や `"defaultMode": "manual"` のように指定できます。26すべての操作を確認するモードは、CLI、`claude --help`、VS Code および JetBrains 拡張機能、デスクトップアプリでは **Manual** という名前で表示されます。その設定値は `default` で、フックや SDK 連携ではこの値が使われます。CLI では値を入力する箇所であればどこでも `manual` をエイリアスとして受け付けます(例: `claude --permission-mode manual` や `"defaultMode": "manual"`)。

27 27 

28[保護されたパス](#protected-paths) への書き込みは、`bypassPermissions` モードおよび bypass 権限が利用可能な plan モード セッション(つまり、[`bypassPermissions` をモード サイクルに含める](#switch-permission-modes) 方法で開始されたインタラクティブ ターミナル セッション)を除いて、自動承認されることはありません。28[保護されたパス](#protected-paths)への書き込みは、`bypassPermissions` モードと、bypass permissions が利用可能な plan モードのセッション([モードの切り替えサイクルに `bypassPermissions` が含まれる](#switch-permission-modes)方法で起動された対話型ターミナルセッション)を除き、自動承認されることはありません。

29 29 

30モードはベースラインを設定します。特定のツールを事前承認またはブロックするために、[権限ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions) を上に重ねます。拒否ルールは `bypassPermissions` を含むすべてのモードでブロックします。拒否ルールと確認ルールは、Claude が呼び出せる他のツールが少なくとも 1 つある限り、[`EndConversation`](https://code.claude.com/docs/ja/tools-reference#endconversation-tool-behavior) には適用されません。許可ルールは `bypassPermissions` では効果がありません。30モードは基本設定を決めるものです。その上に[権限ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions)を重ねることで、特定のツールを事前承認またはブロックできます。拒否ルールは `bypassPermissions` を含むすべてのモードでブロックします。Claude が呼び出せるツールが少なくとも 1 つ他に残っている限り、拒否ルールと確認ルールは [`EndConversation`](https://code.claude.com/docs/ja/tools-reference#endconversation-tool-behavior) には適用されません。許可ルールは `bypassPermissions` では効果がありません。

31 31 

32### どのモードも自動承認しないアクション32### どのモードでも自動承認されない操作

33 33 

34Claude Code は、`bypassPermissions` を含むどのモードでも、以下を自動承認しません。各項目は、各モードで代わりに何が起こるかを説明するセクションにリンクしています。34Claude Code は、`bypassPermissions` を含むどのモードでも、次の操作を自動承認しません。各項目には、代わりに各モードで何が起こるかを説明するセクションへのリンクがあります。

35 35 

36* 明示的な [確認ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions) に一致するツール36* 明示的な[確認ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions)に一致するツール

37* 組織が [`ask`](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools) に設定したコネクタ ツール(その設定が Claude Code に到達するセッション内)37* 組織が [`ask` に設定した](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools)コネクタツール(その設定が Claude Code に適用されるセッションの場合)

38* ユーザー インタラクションが必要なツール:組み込みの `AskUserQuestion` ツールと [`requiresUserInteraction`](https://code.claude.com/docs/ja/mcp#require-approval-for-a-specific-tool) でマークされた MCP ツール38* ユーザーの操作を必要とするツール: 組み込みの `AskUserQuestion` ツールと、[`requiresUserInteraction`](https://code.claude.com/docs/ja/mcp#require-approval-for-a-specific-tool) が指定された MCP ツール

39* 認識された `rm` および `rmdir` による [重要なパスの削除](#critical-paths)。どの許可ルールや `PreToolUse` フックの `"allow"` でも承認されません39* 認識された `rm` および `rmdir` による[重要パスの削除](#critical-paths)(どの許可ルールや `PreToolUse` フックの `"allow"` でも承認されません)、および [`Dangerous rm operation not ruled out`](#dangerous-rm-operation-not-ruled-out) としてフラグが付けられた Bash コマンド

40* [クロス セッション メッセージング セーフガード](#skip-all-checks-with-bypasspermissions-mode)40* [セッション間メッセージングの安全策](#skip-all-checks-with-bypasspermissions-mode)

41* [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ja/settings-reference#permissions-blockreadsoutsideworkingdirectories) がオンの場合、作業ディレクトリ外の読み取り:認識されたファイル読み取り Bash コマンドおよび auto モードおよび `bypassPermissions` モードでもサンドボックス外で実行するために承認が必要な [unsandboxed retry](https://code.claude.com/docs/ja/sandboxing.md#the-unsandboxed-retry-escape-hatch)。Claude Code v2.1.257 以降が必要です41* [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ja/settings-reference#permissions-blockreadsoutsideworkingdirectories) が有効な間の作業ディレクトリ外の読み取り: 認識されたファイル読み取り用の Bash コマンドは、auto モードや `bypassPermissions` モードであってもプロンプトを表示します。サンドボックスの外で実行するために承認が必要な[サンドボックス外での再試行](https://code.claude.com/docs/ja/sandboxing.md#the-unsandboxed-retry-escape-hatch)も同様にプロンプトを表示します。Claude Code v2.1.257 以降が必要です。

42 42 

43 シェル パーサーが追跡できないコマンド(例えば、複数回ディレクトリを変更したり、サブシェルを実行したりするコマンド)は、外部パスを指定しない場合でも同じ方法でプロンプトが表示されます。このプロンプトは、コマンドが [sandbox](https://code.claude.com/docs/ja/sandboxing.md) で実行され、sandbox がブロックを強制する場合には適用されません。43 ディレクトリを複数回変更するコマンドやサブシェルを実行するコマンドなど、シェルパーサーが追跡できないコマンドは、外部のパスを指定していない場合でも同じようにプロンプトを表示します。このプロンプトは、コマンドが[サンドボックス](https://code.claude.com/docs/ja/sandboxing.md)内で実行され、サンドボックスがブロックを強制している場合には適用されません。

44 44 

45## 一般的なセットアップ45## 一般的なセットアップ

46 46 


265 265 

266`acceptEdits` モードでは Claude はプロンプトなしに作業ディレクトリ内のファイルを作成および編集できます。このモードがアクティブな間、ステータスバーは `⏵⏵ accept edits on` を表示します。266`acceptEdits` モードでは Claude はプロンプトなしに作業ディレクトリ内のファイルを作成および編集できます。このモードがアクティブな間、ステータスバーは `⏵⏵ accept edits on` を表示します。

267 267 

268ファイル編集に加えて、`acceptEdits` モードは一般的なファイルシステム Bash コマンドを自動承認します。`mkdir`、`touch`、`rm`、`rmdir`、`mv`、`cp`、`sed`。これらのコマンドは `LANG=C` または `NO_COLOR=1` のような安全な環境変数、または `timeout`、`nice`、`nohup` のようなプロセスラッパーでプレフィックスされた場合にも自動承認されます。ファイル編集と同様に、自動承認は作業ディレクトリまたは `additionalDirectories` 内のパスにのみ適用されます。268ファイル編集に加えて、`acceptEdits` モードは一般的なファイルシステム Bash コマンドを自動承認します。`mkdir`、`touch`、`rm`、`rmdir`、`mv`、`cp`、`sed`。`touch` を除き、これらのコマンドは `LANG=C` または `NO_COLOR=1` のような安全な環境変数、または `timeout`、`nice`、`nohup` のようなプロセスラッパーでプレフィックスされた場合にも自動承認されます。ファイル編集と同様に、自動承認は作業ディレクトリまたは `additionalDirectories` 内のパスにのみ適用されます。

269 269 

270次の場合は引き続きプロンプトが表示されます。270次の場合は引き続きプロンプトが表示されます。

271 271 

272* そのスコープ外のパス272* そのスコープ外のパス

273* [保護されたパス](#protected-paths) への書き込み273* [保護されたパス](#protected-paths) への書き込み

274* 認識された `rm` と `rmdir` による [重要なパスの削除](#critical-paths)274* 認識された `rm` と `rmdir` による [重要なパスの削除](#critical-paths)

275* 単純なファイルパス以外のものを伴う `touch`(たとえばオプション、glob、`timeout 5` や `LANG=C` のようなプレフィックス)

275* [組み込みの読み取り専用セット](https://code.claude.com/docs/ja/permissions.md#read-only-commands) を除くその他すべての Bash コマンド276* [組み込みの読み取り専用セット](https://code.claude.com/docs/ja/permissions.md#read-only-commands) を除くその他すべての Bash コマンド

276 277 

277各パスは [シンボリックリンクチェック](https://code.claude.com/docs/ja/permissions.md#symlinks) も通過するため、そのスコープ外に解決される書き込みも自動承認されません。278各パスは [シンボリックリンクチェック](https://code.claude.com/docs/ja/permissions.md#symlinks) も通過するため、そのスコープ外に解決される書き込みも自動承認されません。


369* **Anthropic API への直接接続**: インタラクティブなターミナルセッション、および `-p`、Agent SDK、[VS Code 拡張機能](https://code.claude.com/docs/ja/vs-code.md)、[デスクトップアプリ](https://code.claude.com/docs/ja/desktop.md)のセッションで、プランやアカウントの種類を問わず、Anthropic の段階的な展開に応じて。インタラクティブなターミナルセッションでは、Pro、Max、Team プランでは Claude Code v2.1.271 以降、Enterprise プランと Claude API アカウントでは v2.1.278 以降が必要です。`-p`、Agent SDK、VS Code 拡張機能、デスクトップアプリのセッションでは、Claude Code v2.1.281 以降が必要です。v2.1.282 以降、テレメトリをオフにしたなどの理由で[機能フラグを取得しない](https://code.claude.com/docs/ja/env-vars.md#features-that-need-feature-flag-fetching)セッションは、どの種類のセッションでもデフォルトでサーバーに依頼します。370* **Anthropic API への直接接続**: インタラクティブなターミナルセッション、および `-p`、Agent SDK、[VS Code 拡張機能](https://code.claude.com/docs/ja/vs-code.md)、[デスクトップアプリ](https://code.claude.com/docs/ja/desktop.md)のセッションで、プランやアカウントの種類を問わず、Anthropic の段階的な展開に応じて。インタラクティブなターミナルセッションでは、Pro、Max、Team プランでは Claude Code v2.1.271 以降、Enterprise プランと Claude API アカウントでは v2.1.278 以降が必要です。`-p`、Agent SDK、VS Code 拡張機能、デスクトップアプリのセッションでは、Claude Code v2.1.281 以降が必要です。v2.1.282 以降、テレメトリをオフにしたなどの理由で[機能フラグを取得しない](https://code.claude.com/docs/ja/env-vars.md#features-that-need-feature-flag-fetching)セッションは、どの種類のセッションでもデフォルトでサーバーに依頼します。

370* **クラウドプロバイダー、または LLM ゲートウェイやプロキシ**: [Claude Platform on AWS](https://code.claude.com/docs/ja/claude-platform-on-aws.md)、Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry で、また `ANTHROPIC_BASE_URL` を [LLM ゲートウェイまたはプロキシ](https://code.claude.com/docs/ja/llm-gateway)に向けている場合は常に、プランを問わず。デフォルトで依頼するには Claude Code v2.1.278 以降が必要です。371* **クラウドプロバイダー、または LLM ゲートウェイやプロキシ**: [Claude Platform on AWS](https://code.claude.com/docs/ja/claude-platform-on-aws.md)、Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry で、また `ANTHROPIC_BASE_URL` を [LLM ゲートウェイまたはプロキシ](https://code.claude.com/docs/ja/llm-gateway)に向けている場合は常に、プランを問わず。デフォルトで依頼するには Claude Code v2.1.278 以降が必要です。

371* **サインイン済みの [Claude apps gateway](https://code.claude.com/docs/ja/claude-apps-gateway) セッション**: Claude Code v2.1.280 以降が必要です372* **サインイン済みの [Claude apps gateway](https://code.claude.com/docs/ja/claude-apps-gateway) セッション**: Claude Code v2.1.280 以降が必要です

373* **Anthropic がホストする環境での[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)**: Web、モバイルアプリ、または **Cloud** を選択したデスクトップアプリから開始した場合、プランを問わず。[クラウドのスケジュールタスク](https://code.claude.com/docs/ja/routines.md)によって開始されたセッションは、Anthropic の段階的な展開に応じてサーバーに依頼します。

372 374 

373サーバーがアクションをレビューする場合、その判定によってアクションの扱いが決まります。それ以外に 2 つの結果があり得ます。375サーバーがアクションをレビューする場合、その判定によってアクションの扱いが決まります。それ以外に 2 つの結果があり得ます。

374 376 


647 649 

648`bypassPermissions` モードは権限プロンプトとセーフティチェックを無効にするため、[保護されたパス](#protected-paths)への書き込みを含むツール呼び出しが即座に実行されます。650`bypassPermissions` モードは権限プロンプトとセーフティチェックを無効にするため、[保護されたパス](#protected-paths)への書き込みを含むツール呼び出しが即座に実行されます。

649 651 

650[どのモードでも自動承認されないアクション](#actions-no-mode-auto-approves)は、このモードでもプロンプトが表示されます。[別の組織の公開アーティファクト](https://code.claude.com/docs/ja/artifacts.md#read-an-artifact-shared-with-you)を読み取るにはユーザーの承認が必要ですが、このモードでは承認を求めないため、Claude はそれを読み取れません。[PowerShell の Remove-Item](#remove-item-in-powershell) の拒否もこのモードで適用されます。652`bypassPermissions` モードでも、[どのモードでも自動承認されないアクション](#actions-no-mode-auto-approves)はそれぞれ、そのまま実行されるのではなく、プロンプトが表示されるか拒否されます。[別の組織の公開アーティファクト](https://code.claude.com/docs/ja/artifacts.md#read-an-artifact-shared-with-you)を読み取るにはユーザーの承認が必要ですが、このモードでは承認を求めないため、Claude はそれを読み取れません。[PowerShell の Remove-Item](#remove-item-in-powershell) の拒否もこのモードで適用されます。

651 653 

652このモードでは、および権限バイパスが利用可能なインタラクティブターミナルプランモードセッションでは、2 つの[クロスセッションメッセージング](https://code.claude.com/docs/ja/cross-session-messaging.md)セーフガードが引き続き適用されます。654このモードでは、および権限バイパスが利用可能なインタラクティブターミナルプランモードセッションでは、2 つの[クロスセッションメッセージング](https://code.claude.com/docs/ja/cross-session-messaging.md)セーフガードが引き続き適用されます。

653 655 


769* `.devcontainer.json`771* `.devcontainer.json`

770* `.ripgreprc`、`pyrightconfig.json`772* `.ripgreprc`、`pyrightconfig.json`

771* `.mcp.json`、`.claude.json`773* `.mcp.json`、`.claude.json`

774* セッション開始時に [`--settings`](https://code.claude.com/docs/ja/cli-reference#cli-flags)、`--mcp-config`、または `--agents` に渡したファイル

772* ユーザー、プロジェクト、またはローカルの[設定ファイル](https://code.claude.com/docs/ja/settings.md#settings-files-and-who-they-affect)自体がシンボリックリンクである場合に、その設定ファイルが指し示すファイル(たとえば dotfiles リポジトリ内のファイル)。保護されたパスへの書き込みを分類器にルーティングするモードでは、このファイルへの書き込みは、許可ルールに一致する場合でも、代わりにプロンプトを表示します。このファイル自体のパスが別のフォルダの `.claude/settings.json` など設定ファイルのパスでもある場合、その書き込みは他の保護されたパスへの書き込みと同様に分類器に送られます775* ユーザー、プロジェクト、またはローカルの[設定ファイル](https://code.claude.com/docs/ja/settings.md#settings-files-and-who-they-affect)自体がシンボリックリンクである場合に、その設定ファイルが指し示すファイル(たとえば dotfiles リポジトリ内のファイル)。保護されたパスへの書き込みを分類器にルーティングするモードでは、このファイルへの書き込みは、許可ルールに一致する場合でも、代わりにプロンプトを表示します。このファイル自体のパスが別のフォルダの `.claude/settings.json` など設定ファイルのパスでもある場合、その書き込みは他の保護されたパスへの書き込みと同様に分類器に送られます

773 776 

774## 重要なパス777## 重要なパス


844 847 

845変数の下のグロブまたは末尾のスラッシュの場合、プロンプトはフラグが付いた `rm` に名前を付け、チェックに合格するように書き直す方法を説明します。848変数の下のグロブまたは末尾のスラッシュの場合、プロンプトはフラグが付いた `rm` に名前を付け、チェックに合格するように書き直す方法を説明します。

846 849 

850### `Dangerous rm operation not ruled out` プロンプト

851 

852理由の全文は次のとおりです。

853 

854```text theme={null}

855Dangerous rm operation not ruled out — the shell may read this command differently than it was parsed

856```

857 

858この理由は、シェルが Claude Code とは異なる方法でコマンドを解釈する可能性があることを意味します。そのため、`rm` が含まれていなくても、チェックされていない部分に削除が含まれている可能性があります。`auto` または `bypassPermissions` モードでは、次の文を含む拒否も同じチェックによるものです。

859 

860```text theme={null}

861This command could not be checked for dangerous rm operations: the shell may read it differently than it was parsed.

862```

863 

864`bypassPermissions` を含め、[権限モードに応じて](#critical-path-removals-in-each-permission-mode)重要なパスの削除と同じプロンプトまたは拒否が発生します。このコマンドは、`Bash` または `Bash(*)` の許可ルール、サンドボックスの[自動許可モード](https://code.claude.com/docs/ja/sandboxing.md#auto-allow-mode)、`"allow"` を返す `PreToolUse` フックでは承認できません。コマンドを読んでからプロンプトを承認するか、拒否された場合はシェルで実行してください。

865 

847### マウントされたドライブのプロンプト866### マウントされたドライブのプロンプト

848 867 

849マウントされたドライブのプロンプトは、macOS、Linux、WSL で、再帰的な `rm` が `/mnt/c` や `/Volumes/USB/build` など、一覧に記載された[マウントされたドライブのパス](#paths-that-get-the-mounted-drive-prompt)をターゲットにしている場合に表示されます。その理由には `Dangerous rm operation on mounted drive path: <path>` と表示されます。Claude Code は `rm /Volumes/USB/build/*` を `/Volumes/USB/build` の削除として読み取るため、`/*` ターゲットは再帰フラグがなくてもプロンプトが表示されます。868マウントされたドライブのプロンプトは、macOS、Linux、WSL で、再帰的な `rm` が `/mnt/c` や `/Volumes/USB/build` など、一覧に記載された[マウントされたドライブのパス](#paths-that-get-the-mounted-drive-prompt)をターゲットにしている場合に表示されます。その理由には `Dangerous rm operation on mounted drive path: <path>` と表示されます。Claude Code は `rm /Volumes/USB/build/*` を `/Volumes/USB/build` の削除として読み取るため、`/*` ターゲットは再帰フラグがなくてもプロンプトが表示されます。


900| `plan` | 承認を求めます。[計画中に分類器がコマンドをレビューする](#analyze-before-you-edit-with-plan-mode)場合、バイパス権限が利用できないときは `auto` モードのように処理します |919| `plan` | 承認を求めます。[計画中に分類器がコマンドをレビューする](#analyze-before-you-edit-with-plan-mode)場合、バイパス権限が利用できないときは `auto` モードのように処理します |

901| `auto` | ターミナルで承認を求めます([時間制限](#time-limits-and-denials-in-auto-and-bypasspermissions-modes)付き)。その他の場所では拒否します |920| `auto` | ターミナルで承認を求めます([時間制限](#time-limits-and-denials-in-auto-and-bypasspermissions-modes)付き)。その他の場所では拒否します |

902| `dontAsk` | 拒否します |921| `dontAsk` | 拒否します |

903| `bypassPermissions` | 承認を求めます(ターミナルでは時間制限付き) |922| `bypassPermissions` | ターミナルでは、時間制限が切れる前に承認を求めます。その他の場所については、[各場所での動作](#time-limits-and-denials-in-auto-and-bypasspermissions-modes)を参照してください |

904 923 

905明示的な [ask ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions) がコマンドにマッチする場合、Claude Code は `auto` モードでも承認を求めます。時間制限はありません。承認を求めるモードでは、[`PermissionRequest` フック](https://code.claude.com/docs/ja/hooks#permissionrequest) はプロンプトに答えることができます。924明示的な [ask ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions) がコマンドにマッチする場合、Claude Code は `auto` モードでも承認を求めます。時間制限はありません。承認を求めるモードでは、[`PermissionRequest` フック](https://code.claude.com/docs/ja/hooks#permissionrequest) はプロンプトに答えることができます。

906 925 


912* プロンプトが開いている間に任意のキーを押すと、カウントダウンが停止し、プロンプトは答えを待ち続けます。931* プロンプトが開いている間に任意のキーを押すと、カウントダウンが停止し、プロンプトは答えを待ち続けます。

913* セッション内でこれらのプロンプトが 3 回答えられずに終了した後、Claude Code はそれらの表示を停止し、重要なパスの削除をすぐに拒否します。新しいメッセージを送信するとカウントが再開されます。932* セッション内でこれらのプロンプトが 3 回答えられずに終了した後、Claude Code はそれらの表示を停止し、重要なパスの削除をすぐに拒否します。新しいメッセージを送信するとカウントが再開されます。

914 933 

915`auto` モードでは、Claude Code がターミナルプロンプトを表示できない場所では、コマンドをすぐに拒否します。例えば、`-p` を使用した[非対話型実行](https://code.claude.com/docs/ja/headless.md)、[Agent SDK](https://code.claude.com/docs/ja/agent-sdk/permissions.md) セッション、VS Code 拡張機能のチャットパネル、デスクトップアプリなどです。拒否は Claude に削除したかったものを報告し、削除をあなたに任せるよう伝えます。934時間制限は Claude Code v2.1.281 以降で適用されます。ターミナル外での `auto` モードの拒否も同様です。

935 

936ターミナル以外の場所では、このプロンプトは表示されません。

916 937 

917`auto` および `bypassPermissions` の処理には Claude Code v2.1.281 以降が必要です。これをオフにするには、Claude Code を起動する環境で [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT=1`](https://code.claude.com/docs/ja/env-vars#variables) を設定します。`auto` モードでは、重要なパスの削除は代わりに分類器に送信され、`bypassPermissions` モードではプロンプトに時間制限がありません。938| 場所 | `auto` | `bypassPermissions` |

939| :- | :- | :- |

940| [VS Code 拡張機能](https://code.claude.com/docs/ja/vs-code.md)のチャットパネル | 拒否します | [`PermissionRequest` フック](https://code.claude.com/docs/ja/hooks#permissionrequest)が許可しない限り拒否します |

941| [デスクトップアプリ](https://code.claude.com/docs/ja/desktop.md) | 拒否します | `PermissionRequest` フックが許可しない限り拒否します |

942| [`-p` 実行](https://code.claude.com/docs/ja/headless)または [Agent SDK セッション](https://code.claude.com/docs/ja/agent-sdk/permissions.md) | 拒否します | [`--permission-prompt-tool`](https://code.claude.com/docs/ja/cli-reference#cli-flags) または [`canUseTool` コールバック](https://code.claude.com/docs/ja/agent-sdk/user-input#handle-tool-approval-requests)が判断します。どちらもない場合、または [`--permission-prompts none`](https://code.claude.com/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs) の下では、`PermissionRequest` フックが許可しない限り拒否します |

943 

944削除が拒否された場所ではどこでも、コマンド全体を読んでシェルで実行できます。

945 

946各モードでの動作を変更するには、[`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`](https://code.claude.com/docs/ja/env-vars#variables) を `1` に設定します。

947 

948* **`bypassPermissions`**: ターミナルプロンプトに時間制限がなくなり、VS Code のチャットパネルでは承認を求めます

949* **`auto`**: ターミナル、VS Code のチャットパネル、`-p` 実行、Agent SDK セッションで、[分類器](#eliminate-prompts-with-auto-mode)が判断します

950 

951この変数は、Claude Code の設定ファイルではなく、シェルや SDK の `env` オプションなど、Claude Code を起動する環境で設定します。チャットパネルの場合は、VS Code 自体のユーザー `settings.json` の [`claudeCode.environmentVariables`](https://code.claude.com/docs/ja/vs-code#extension-settings) に追加してから、新しい会話を開始します。

952 

953```json theme={null}

954{

955 "claudeCode.environmentVariables": [

956 { "name": "CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT", "value": "1" }

957 ]

958}

959```

918 960 

919### PowerShell の Remove-Item961### PowerShell の Remove-Item

920 962 

Details

41 41 

42チュートリアルまたは古い指示セットで `/plugin marketplace add anthropics/claude-code` を実行するよう指示されている場合、これはデモマーケットプレイス(`claude-code-plugins` という名前)を追加します。これは公式マーケットプレイスではありません。42チュートリアルまたは古い指示セットで `/plugin marketplace add anthropics/claude-code` を実行するよう指示されている場合、これはデモマーケットプレイス(`claude-code-plugins` という名前)を追加します。これは公式マーケットプレイスではありません。

43 43 

44デモマーケットプレイスのプラグインのほとんどは、同じ名前で公式マーケットプレイスにも含まれています。例えば、`code-review`、`feature-dev`、`commit-commands`、`security-guidance` は両方に含まれています。`claude-plugins-official` からこれらをインストールして、2 つのコピーがインストールされないようにしてください。44デモマーケットプレイスのプラグインのほとんどは、同じ名前で公式マーケットプレイスにも含まれています。例えば、`code-review`、`feature-dev`、`commit-commands` は両方に含まれています。`claude-plugins-official` からこれらをインストールして、2 つのコピーがインストールされないようにしてください。

45 45 

46## 公式マーケットプレイスでプラグインを見つける46## 公式マーケットプレイスでプラグインを見つける

47 47 

Details

403 403 

404バージョン範囲、`<plugin>--v<version>` git タグ規約がそれらに対して解決される方法、およびクロスマーケットプレイス信頼については、[Plugin dependencies](https://code.claude.com/docs/ja/plugins/dependencies.md) を参照してください。404バージョン範囲、`<plugin>--v<version>` git タグ規約がそれらに対して解決される方法、およびクロスマーケットプレイス信頼については、[Plugin dependencies](https://code.claude.com/docs/ja/plugins/dependencies.md) を参照してください。

405 405 

406Claude Code がプロジェクトに一致するときにプラグインを提案するようにするには、プロジェクトを識別するシグナルを含む `relevance` ブロックをエントリに追加します。ユーザーは、管理者がそれを `pluginSuggestionMarketplaces` にリストしている場合にのみ、お客様のマーケットプレイスからの提案を表示します。シグナルと有効化ステップについては、[Plugin relevance](https://code.claude.com/docs/ja/plugins/relevance.md) を参照してください。406Claude Code がプロジェクトに一致するときにプラグインを提案するようにするには、プロジェクトを識別するシグナルを含む `relevance` ブロックをエントリに追加します。ユーザーにこれらの提案が表示されるのは、管理者が自分のマーケットプレイスを `pluginSuggestionMarketplaces` にリストしている場合のみです。シグナルと有効化ステップについては、[Plugin relevance](https://code.claude.com/docs/ja/plugins/relevance.md) を参照してください。

407 407 

408## マーケットプレイスができないことへの対応408## マーケットプレイスができないことへの対応

409 409 

Details

95 95 

96これらのコントロールのいずれも mod をサンドボックス化しません。許可する mod はユーザーとして実行され、ファイル、プロセス、ネットワークへのユーザーのアクセスを持ちます。96これらのコントロールのいずれも mod をサンドボックス化しません。許可する mod はユーザーとして実行され、ファイル、プロセス、ネットワークへのユーザーのアクセスを持ちます。

97 97 

98### ユーザーの mod のどのフックが実行されないかを知る

99 

100[組み込みガード](#know-what-happens-by-default)が読み込まれる環境では、ユーザーの mod が以下のいずれかのイベントに登録したフックは実行されず、`/plugin` がそのことを注記でそのユーザーに伝えます。[`session.append`](https://code.claude.com/docs/ja/plugins/mods/reference#session) の行では、`door` はフックのフィルタリング対象となる保存済みの行の種類です。

101 

102| フック対象 | イベントの内容 |

103| :- | :- |

104| [`classic.<Event>`](https://code.claude.com/docs/ja/plugins/mods/events#hook-the-settings-hook-events)(`classic.Stop` など) | [設定フックのイベント](https://code.claude.com/docs/ja/hooks.md#hook-events) |

105| [`prompt.compose`](https://code.claude.com/docs/ja/plugins/mods/reference#prompts-and-what-claude-reads) | システムプロンプトのセクションの一覧 |

106| `prompt.section` | システムプロンプトの 1 つのセクション |

107| `prompt.context` | 会話の最初のメッセージとともに送信されるコンテキスト |

108| `prompt.attachment` | Claude Code が Claude 向けに追加するメッセージ(リマインダーなど) |

109| `skill.prompt` | Claude 向けに展開されるスキルのテキスト |

110| `attribution.text` | コミットまたはプルリクエストの帰属テキスト |

111| [`session.compact`](https://code.claude.com/docs/ja/plugins/mods/reference#session) | 会話のコンテキスト圧縮 |

112| `settings.read` | 設定の読み取り(mod の `$.settings.read` 呼び出しなど) |

113| `session.append{door=attachment}` | Claude Code が Claude 向けに追加するメッセージの保存済みの行 |

114| `session.append{door=hook-context}` | 設定フックからのコンテキストの保存済みの行 |

115| `session.append{door=compaction}` | 圧縮の要約と境界の保存済みの行 |

116 

117ガードは、[`tool.describe`](https://code.claude.com/docs/ja/plugins/mods/reference#tools) での組織のツールの説明や、スキルのテキストの保存済みの行など、その他の場合にもユーザーのフックをスキップします。これらについては、`/plugin` は注記を表示しません。他のイベントのフックが何もしない場合は、[mod が何もしない理由を調べる](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing)を参照してください。

118 

119注記は、プラグインの詳細と `/plugin` の **Errors** タブに表示されます。これには Claude Code v2.1.299 以降が必要です。注記は、次の例のように、表にある各フックを mod が登録したとおりの名前で示します。

120 

121```text theme={null}

122Its hooks on classic.Stop, prompt.section do not run here: where an organization manages Claude Code, these events pass over the plugins you install

123Only a plugin that counts as your organization's own runs hooks on these events. An administrator sets that up in managed settings

124```

125 

126これらのフックを実行できるようにするには、次の 2 つのいずれかの方法で管理設定を変更します。

127 

128* **mod を組織のものとして実行する**: [mod を組織独自のものと見なされるようにインストール](#install-your-organizations-mods)します。これにより、これらのイベントに対するそのフックが実行され、他のすべての mod に対してはガードが読み込まれたままになります。この mod はこれらの設定を受け取るすべてのユーザーに対して有効になり、各マシンに配置するディレクトリに置く必要があります。`prependPlugins` にこの mod を記載する場合は、`sec-default@builtin` をリストに残してください。

129* **ガードを削除する**: `prependPlugins` から `sec-default@builtin` を除外します。空のリスト `"prependPlugins": []` で十分です。失われるのはこれらのイベントだけでなく、ガード全体です。その場合、ユーザーの mod は[ガードが本来防いでいること](#know-what-happens-by-default)を実行できるようになり、[ガードのオプション](#set-options-on-the-built-in-guard)も適用されません。

130 

131ガードを含まないリストを[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md#fetch-and-caching-behavior)で配信する場合、サーバーがそのセッションの設定を確認するまでガードは読み込まれたままになります。v2.1.299 以降を実行しているマシンでいずれかの変更を確認するには、そのマシンのセッションで `/plugin` を開き、注記が消えていることを確認してください。

132 

133`door` フィルターのない `session.append` フックは引き続き実行され、注記も表示されませんが、表にある保存済みの行はそのフックに届きません。

134 

98## Mod を有効にするかどうかを決定する135## Mod を有効にするかどうかを決定する

99 136 

100Mod は、Claude Code 内で実行されるため、プラグインの他の部分よりも多くのことができます。すべてのプロンプトとツール呼び出しを見ることができ、それらを変更でき、権限プロンプトが表示される前にツール呼び出しを許可または拒否できます。137Mod は、Claude Code 内で実行されるため、プラグインの他の部分よりも多くのことができます。すべてのプロンプトとツール呼び出しを見ることができ、それらを変更でき、権限プロンプトが表示される前にツール呼び出しを許可または拒否できます。


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

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

144 181 

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

146 183 

147## 許可する範囲を選択する184## 許可する範囲を選択する

148 185 

Details

377 377 

378### 設定フックのイベントを処理する378### 設定フックのイベントを処理する

379 379 

380設定フックとは、設定ファイルで構成するコマンド、HTTP、プロンプト、エージェントの各フックです。各[設定フックイベント](https://code.claude.com/docs/ja/hooks.md#hook-events)(`Stop`、`SessionEnd`、`PostToolUse` など)は、`classic.` の後に設定フックイベントの名前が続くイベント(`classic.Stop` など)としても利用できます。`e` は設定フックが stdin で受け取る JSON で、`transcript_path` を含みます。380設定フックとは、設定ファイルで構成するコマンド、HTTP、プロンプト、エージェントの各フックです。各[設定フックイベント](https://code.claude.com/docs/ja/hooks.md#hook-events)(`Stop`、`SessionEnd`、`PostToolUse` など)は、`classic.` の後に設定フックイベントの名前が続くイベント(`classic.Stop` など)としても利用できます。`e` は設定フックが stdin で受け取る JSON で、`transcript_path` を含みます。[組み込みガード](https://code.claude.com/docs/ja/plugins/mods/admin.md#know-what-happens-by-default)が読み込まれる環境では、[インストールした mod にあるこれらのイベントのフックは実行されません](https://code.claude.com/docs/ja/plugins/mods/admin.md#hooks-the-guard-passes-over)。

381 381 

382このフックは、Claude が応答を終えたときに発火する `Stop` を使用して、セッションのトランスクリプトの保存場所をログに記録します:382このフックは、Claude が応答を終えたときに発火する `Stop` を使用して、セッションのトランスクリプトの保存場所をログに記録します:

383 383 


425* **`next` を呼び出す前に失敗した**:Claude Code はそれをスキップし、次のハンドラがその代わりに実行されます425* **`next` を呼び出す前に失敗した**:Claude Code はそれをスキップし、次のハンドラがその代わりに実行されます

426* **`next` が解決した後に失敗した**:その結果はそのまま有効となり、何も 2 回目の実行はされません426* **`next` が解決した後に失敗した**:その結果はそのまま有効となり、何も 2 回目の実行はされません

427 427 

428mod、イベント、および理由を示す 1 行が出力されます。例えば `my-mod: tool.call hook skipped: threw Error: boom`。それを読む場所はセッションに依存します。[mod が何もしない理由を見つけ出す](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing)がリストアップしています。描画が検証されない `ui.render` フックは異なる方法で報告されます。[要素からツリーを構築する](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements)が説明しています。428mod、イベント、および理由を示す 1 行が出力されます。例えば `my-mod: tool.call hook skipped: threw Error: boom`。それを読む場所はセッションに依存します。[mod が何もしない理由を見つけ出す](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing)がリストアップしています。[ツリーが検証に通らない](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements) `ui.render` フックは、間違った形の結果を返したフックとして扱われます。

429 429 

430呼び出しをブロックするフックをフェイルクローズにするには、代わりに応答する `.catch` エラーハンドラを追加します。ここで、`guard` はフック関数であり、ハンドラは [`next.called`](https://code.claude.com/docs/ja/plugins/mods/reference#the-hook-function) を確認して、`guard` が失敗した時点ですでに `next` を呼び出していたかどうかを判別します:430呼び出しをブロックするフックをフェイルクローズにするには、代わりに応答する `.catch` エラーハンドラを追加します。ここで、`guard` はフック関数であり、ハンドラは [`next.called`](https://code.claude.com/docs/ja/plugins/mods/reference#the-hook-function) を確認して、`guard` が失敗した時点ですでに `next` を呼び出していたかどうかを判別します:

431 431 

Details

421Note: Type a note and press Enter421Note: Type a note and press Enter

422```422```

423 423 

424`rows` を追加すると、フィールドに複数行を入力できるようになります。Enter は引き続き送信を行い、Enter の前にバックスラッシュを入力すると改行されます。[ターミナルが対応している](https://code.claude.com/docs/ja/terminal-config.md#enter-multiline-prompts)場合は Shift+Enter でも改行できます。ギャラリーには [`rows` を指定したフィールド](https://code.claude.com/docs/ja/plugins/mods/gallery#input)の例があります。

425 

424[インターフェースギャラリー](https://code.claude.com/docs/ja/plugins/mods/gallery.md)には、ほとんどの要素のサンプルとスクリーンショットがあります。次の表にすべての要素を示します。426[インターフェースギャラリー](https://code.claude.com/docs/ja/plugins/mods/gallery.md)には、ほとんどの要素のサンプルとスクリーンショットがあります。次の表にすべての要素を示します。

425 427 

426| 要素 | 描画する内容 | 使用できる場所 |428| 要素 | 描画する内容 | 使用できる場所 |


436 438 

437モジュールが `.tsx` または `.jsx` ファイルの場合は、ツリーを JSX で記述できます。まず `$.ui.resolve(e)` から要素を分割代入してください。439モジュールが `.tsx` または `.jsx` ファイルの場合は、ツリーを JSX で記述できます。まず `$.ui.resolve(e)` から要素を分割代入してください。

438 440 

439アプリに存在しない要素、要素が受け取らない props、子を配置できない場所にある子をツリーが使用している場合、Claude Code はそのサイトを独自のバージョンで描画します。441描画が表示されない場合は、要素が受け取らない props や、子を配置できない場所にある子がツリーに含まれていないか確認してください。そのようなツリーを返すフックは[失敗](https://code.claude.com/docs/ja/plugins/mods/events.md#handle-a-hook-that-fails)し、[`hook skipped` 行](https://code.claude.com/docs/ja/plugins/mods/troubleshoot#a-pane-or-band-is-empty)に mod の名前とツリーが違反したルールが示されます。ペイン内の `Text` に `bogusProp` という名前の props がある場合、その行は次のようになります。

440 442 

441`--plugin-dir` で開始したセッションでは、`ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own` のように、トランスクリプトの行でそのことが示されます。[デバッグログ](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#read-the-debug-log)には、同じ理由とともに `ui.render (Pane): a hook returned a tree that does not validate` として記録されます。セッションにはそれ以外に何も表示されないため、描画が表示されない場合は、その行またはログを確認してください。443```text theme={null}

444my-mod: ui.render hook skipped: returned the wrong shape (a tree Pane refuses: Text prop "bogusProp" is not allowed)

445```

442 446 

443### Desktop アプリと VS Code での `Link`447### Desktop アプリと VS Code での `Link`

444 448 


542| キー | 動作 |546| キー | 動作 |

543| :- | :- |547| :- | :- |

544| Tab | 次のコントロールに移動します |548| Tab | 次のコントロールに移動します |

545| Up と Down | 描画内容が収まっている間はコントロール間を移動します。ペインまたはバンドの行数が表示できる行数より多い場合は、スクロールします。 |549| Up と Down | 描画内容が収まっている間はコントロール間を移動します。ペインまたはバンドの行数が表示できる行数より多い場合は、スクロールします。`Input` 内では、まず[フィールドの行間を移動します](https://code.claude.com/docs/ja/plugins/mods/gallery.md#input)。 |

546| Enter | フォーカスされている `Button` を押す、フォーカスされている `Input` を送信する、または `Select` で選択します |550| Enter | フォーカスされている `Button` を押す、フォーカスされている `Input` を送信する、または `Select` で選択します |

547| ボタンのホットキー | そのボタンを押します。`Input` がフォーカスを持っている間は、すべての印字可能なキーがフィールドに送られます。 |551| ボタンのホットキー | そのボタンを押します。`Input` がフォーカスを持っている間は、すべての印字可能なキーがフィールドに送られます。 |

548| Page Up、Page Down、Home、End | ペインまたはバンドの行数が表示できる行数より多い場合に、スクロールします |552| Page Up、Page Down、Home、End | ペインまたはバンドの行数が表示できる行数より多い場合に、スクロールします |

Details

275| [`Link`](https://code.claude.com/docs/ja/plugins/mods/interface#link-in-the-desktop-app) | `href`、`label`。[制限](#limits)を参照してください。 | ✓ | ✓ | ✓ |275| [`Link`](https://code.claude.com/docs/ja/plugins/mods/interface#link-in-the-desktop-app) | `href`、`label`。[制限](#limits)を参照してください。 | ✓ | ✓ | ✓ |

276| [`Code`](https://code.claude.com/docs/ja/plugins/mods/gallery#show-code-and-changes) | `source`、`language`、`path`、`startLine`、`format`、`wrap` | ✓ | ✓ | ✓ |276| [`Code`](https://code.claude.com/docs/ja/plugins/mods/gallery#show-code-and-changes) | `source`、`language`、`path`、`startLine`、`format`、`wrap` | ✓ | ✓ | ✓ |

277| `Markdown` | `text`、`key`、`dimColor`、`onLinkPress`、`pressableLinks` | ✓ | ✓ | ✓ |277| `Markdown` | `text`、`key`、`dimColor`、`onLinkPress`、`pressableLinks` | ✓ | ✓ | ✓ |

278| [`Input`](https://code.claude.com/docs/ja/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`、`label`、`placeholder`、`value`、`submitLabel`、`onSubmit`、`onInput`、`autoFocus` | ✓ | ✓ | ✓ |278| [`Input`](https://code.claude.com/docs/ja/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`、`label`、`placeholder`、`value`、`submitLabel`、[`rows`](https://code.claude.com/docs/ja/plugins/mods/gallery#input)、`onSubmit`、`onInput`、`autoFocus` | ✓ | ✓ | ✓ |

279| `Select` | `key`、`label`、`options`、`value`、`onSelect`、`autoFocus` | ✓ | ✓ | ✓ |279| `Select` | `key`、`label`、`options`、`value`、`onSelect`、`autoFocus` | ✓ | ✓ | ✓ |

280| `Svg` | SVG マークアップの `source`(最大 131,072 文字)、`alt` テキスト、`width`、`height`、`isInteractive` | | ✓ | ✓ |280| `Svg` | SVG マークアップの `source`(最大 131,072 文字)、`alt` テキスト、`width`、`height`、`isInteractive` | | ✓ | ✓ |

281| [`Client`](https://code.claude.com/docs/ja/plugins/mods/interface#build-a-tree-from-elements) | `module`、`key`、`props`、`width`、`height`、`flexGrow` | ✓ | ✓ | |281| [`Client`](https://code.claude.com/docs/ja/plugins/mods/interface#build-a-tree-from-elements) | `module`、`key`、`props`、`width`、`height`、`flexGrow` | ✓ | ✓ | |


333 333 

334`gap`、`padding`、`margin` にステップを設定すると、そのステップは横方向と縦方向の両方に同時に適用されます。たとえばターミナルと VS Code 拡張機能では、`padding: 'md'` は左右それぞれ 2 セル、上下それぞれ 1 行になります。334`gap`、`padding`、`margin` にステップを設定すると、そのステップは横方向と縦方向の両方に同時に適用されます。たとえばターミナルと VS Code 拡張機能では、`padding: 'md'` は左右それぞれ 2 セル、上下それぞれ 1 行になります。

335 335 

336ステップ名には Claude Code v2.1.299 以降が必要です。それより前のリリースでは、ステップ名を使用するツリーの代わりに、Claude Code が[独自バージョンのサイトを描画します](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements)。336ステップ名には Claude Code v2.1.299 以降が必要です。それより前のリリースでは、ステップ名を使用するツリーは描画されません。

337 337 

338### `Text` のタイポグラフィ props338### `Text` のタイポグラフィ props

339 339 


346| `mono` | `true` でアプリの等幅書体を要求します | 無視されます(ターミナルは常に等幅) | 無視され、テキストは拡張機能独自の書体のままになります |346| `mono` | `true` でアプリの等幅書体を要求します | 無視されます(ターミナルは常に等幅) | 無視され、テキストは拡張機能独自の書体のままになります |

347| `tabular` | `true` で等幅の数字を要求し、その場で更新される数値や数値の列の位置を揃えます | 無視されます(ターミナルの数字はすでに 1 セル幅) | 無視されます |347| `tabular` | `true` で等幅の数字を要求し、その場で更新される数値や数値の列の位置を揃えます | 無視されます(ターミナルの数字はすでに 1 セル幅) | 無視されます |

348 348 

349これら 4 つの props には Claude Code v2.1.299 以降が必要です。それより前のリリースでは、`size`、`weight`、`mono`、`tabular` を設定したツリーの代わりに、Claude Code が[独自バージョンのサイトを描画します](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements)。349これら 4 つの props には Claude Code v2.1.299 以降が必要です。それより前のリリースでは、`size`、`weight`、`mono`、`tabular` を設定したツリーは描画されません。

350 350 

351#### `bold` を `weight` に置き換える351#### `bold` を `weight` に置き換える

352 352 

353`Text` の `bold` は非推奨となり `weight` が推奨されていますが、引き続き動作します。`weight` を指定していない `Text` で置き換えるには、`bold: true` を `weight: 'semibold'` に変更すると、Claude Code v2.1.299 以降で同じ結果になります。353`Text` の `bold` は非推奨となり `weight` が推奨されていますが、引き続き動作します。`weight` を指定していない `Text` で置き換えるには、`bold: true` を `weight: 'semibold'` に変更すると、Claude Code v2.1.299 以降で同じ結果になります。

354 354 

355v2.1.299 より前のリリースでは、`weight` を設定したツリーは描画されず、代わりに Claude Code が[独自バージョンのサイトを描画します](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements)。`Text` に `bold` と `weight` の両方を設定した場合、`bold` は効果を持ちません。355v2.1.299 より前のリリースでは、`weight` を設定したツリーは描画されません。`Text` に `bold` と `weight` の両方を設定した場合、`bold` は効果を持ちません。

356 356 

357## 制限357## 制限

358 358 

359フックと mods API 呼び出しは、時間とサイズの制限の下で実行されます。Claude Code は、時間制限を超えたフックをスキップします。359フックと mods API 呼び出しは、時間とサイズの制限の下で実行されます。Claude Code は、時間制限を超えたフックをスキップします。入れ子、要素、`Raster` セル、または `Image` のバイト数の制限を超えたツリーは[描画されません](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#a-pane-or-band-is-empty)。

360 360 

361| 制限 | 値 |361| 制限 | 値 |

362| :- | :- |362| :- | :- |


372| 1 回の `$.http.fetch` 呼び出しがたどるリダイレクト | 5 回 |372| 1 回の `$.http.fetch` 呼び出しがたどるリダイレクト | 5 回 |

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

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

375| `Code` の `language` または `path`、`Select` オプションの `value`、または `Client` の `module` | 10,000 文字。これより長い場合、Claude Code は[その箇所を独自の表示で描画します](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements)。 |375| `Code` の `language` または `path`、`Select` オプションの `value`、または `Client` の `module` | 10,000 文字。これより長い場合、それを返した `ui.render` フックは[失敗](https://code.claude.com/docs/ja/plugins/mods/events.md#handle-a-hook-that-fails)します。 |

376| `Link` の `href` | 2,048 文字。これより長い `href` があると、ツリー全体が描画されません。 |376| `Link` の `href` | 2,048 文字。これより長い場合、それを返した `ui.render` フックは[失敗](https://code.claude.com/docs/ja/plugins/mods/events.md#handle-a-hook-that-fails)します。 |

377| 1 つのツリーの入れ子の深さ | ルート要素の下に 32 レベル |

378| 1 つのツリー内の要素とテキストの子 | 20,000 |

379| 1 つのツリー内の `Raster` セル(各 `Raster` の `columns` × `rows`) | 262,144 |

380| 1 つのツリー内のすべての `Image` の PNG または RGBA のバイト数 | 2 MiB |

377| `$.store` | JSON の合計で 4 MiB |381| `$.store` | JSON の合計で 4 MiB |

378| `$.session.messages()` | 最新の 4,096 エントリ |382| `$.session.messages()` | 最新の 4,096 エントリ |

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

Details

312| メソッド | 動作 |312| メソッド | 動作 |

313| :- | :- |313| :- | :- |

314| `press({ key: 'more' })` | そのキーを持つ `Button` を押します |314| `press({ key: 'more' })` | そのキーを持つ `Button` を押します |

315| `input({ key: 'new-note', text: 'buy milk' })` | そのキーを持つ `Input` にテキストを入力し、Enter キーを押します。送信せずに入力するには `kind: 'change'` を追加します。 |315| `input({ key: 'new-note', text: 'buy milk' })` | そのキーを持つ `Input` にテキストを入力し、Enter キーを押します。送信せずに入力するには `kind: 'change'` を追加します。`rows` を持つフィールドでは、テキストに `\n` を含めることができます。 |

316| `select({ key: 'size', value: 'large' })` | そのキーを持つ `Select` で、その値を持つオプションを選択します |316| `select({ key: 'size', value: 'large' })` | そのキーを持つ `Select` で、その値を持つオプションを選択します |

317| `find({ key: 'more' })` または `find({ type: 'Text', text: 'Count: 2' })` | 最初に一致した要素を `{ type, props, children }` として返すか、`undefined` を返します。`text` には文字列または正規表現を指定できます。 |317| `find({ key: 'more' })` または `find({ type: 'Text', text: 'Count: 2' })` | 最初に一致した要素を `{ type, props, children }` として返すか、`undefined` を返します。`text` には文字列または正規表現を指定できます。 |

318| `unmount()` | 描画を削除します |318| `unmount()` | 描画を削除します |

319 319 

320各メソッドはハンドラーの処理が完了した後に解決されるため、次の行で結果を確認できます。`props` には、Claude Code がその描画箇所に渡す値を設定します。[描画箇所の表](https://code.claude.com/docs/ja/plugins/mods/reference.md#render-sites)に各描画箇所の props が記載されており、[ビルド用の型](https://code.claude.com/docs/ja/plugins/mods/create.md#get-the-types-for-your-build)にその型があります。320各メソッドはハンドラーの処理が完了した後に解決されるため、次の行で結果を確認できます。`props` には、Claude Code がその描画箇所に渡す値を設定します。[描画箇所の表](https://code.claude.com/docs/ja/plugins/mods/reference.md#render-sites)に各描画箇所の props が記載されており、[ビルド用の型](https://code.claude.com/docs/ja/plugins/mods/create.md#get-the-types-for-your-build)にその型があります。

321 321 

322描画テストでは、フックが返すツリーと、それがそのアプリに対して有効かどうかを確認します。アプリがそれをどのように表示するかは確認しないため、新しいレイアウトは実際のセッションでも確認してください。322`surface` で指定したアプリに対して有効でない[要素ツリー](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements)を検出するには、フックが追加する要素を `find` で確認します。テストはアプリがツリーをどのように表示するかは確認しないため、新しいレイアウトは実際のセッションでも確認してください。

323 323 

324### `/clear` 後の描画をテストする324### `/clear` 後の描画をテストする

325 325 

Details

226 226 

227その mod を見つけるには、[デバッグログを書き出し](#read-the-debug-log)、`answered ui.render without next()` を検索します。`other-mod (user) answered ui.render without next()` のような行は、`next(e)` を呼び出さずにツリーを返した mod を示します。この行は [描画箇所](https://code.claude.com/docs/ja/plugins/mods/reference.md#render-sites) を示さないため、ペインのみの mod が表示されることもあります。`next(e)` を呼び出してもその結果を破棄する mod については行が出力されないため、自分の mod より前のフックも確認してください。227その mod を見つけるには、[デバッグログを書き出し](#read-the-debug-log)、`answered ui.render without next()` を検索します。`other-mod (user) answered ui.render without next()` のような行は、`next(e)` を呼び出さずにツリーを返した mod を示します。この行は [描画箇所](https://code.claude.com/docs/ja/plugins/mods/reference.md#render-sites) を示さないため、ペインのみの mod が表示されることもあります。`next(e)` を呼び出してもその結果を破棄する mod については行が出力されないため、自分の mod より前のフックも確認してください。

228 228 

229変更後、いずれかの mod が検証を通らないツリーを返すと、バンドには何も表示されません。理由を確認するには、`--plugin-dir` セッションのトランスクリプトで `ui.render (AbovePrompt) refused:` の行を探すか、デバッグログで `does not validate` を検索します。バンドに複数の mod がある場合、どちらの行も mod を示さないため、各 mod のツリーを確認してください。229mod 自身のフックが返したツリーが検証を通らない場合も、その mod のバンドは表示されず、他の mod のバンドは残ります。どの mod が原因か、またその理由を確認するには、[デバッグログを書き出し](#read-the-debug-log)、[`ui.render hook skipped`](#a-pane-or-band-is-empty) を検索します。

230 230 

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

232 232 

233フックが返した [ツリー](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements) が検証を通りませんでした。`--plugin-dir` を使用すると、トランスクリプトは `ui.render (Pane) refused:` と理由を示します。例えば `first-mod: ui.render (Pane) refused: Box prop "flexDirection" must be one of row, column, row-reverse, column-reverse; the engine drew its own` のようになります。デバッグログには `a hook returned a tree that does not validate` と同じ理由があります。233フックが返した [ツリー](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements) が検証を通りませんでした。[トランスクリプトまたはデバッグログ](#find-out-why-a-mod-does-nothing) の [`hook skipped`](#hook-skipped) の行が、mod と理由を示します。ペイン内の `Box` についての次の例のようになります。

234 234 

235その行の理由を読んでください。一般的な原因は、要素が受け付けない props と、アプリに存在しない要素です。235```text theme={null}

236first-mod: ui.render hook skipped: returned the wrong shape (a tree Pane refuses: Box prop "flexDirection" must be one of row, column, row-reverse, column-reverse)

237```

238 

239理由が示す内容を修正してください。理由が途中で切れている場合は、[デバッグログを書き出し](#read-the-debug-log)、`a hook returned a tree that does not validate` を検索して残りを読んでください。

240 

241代わりに、`ui.render (Pane) refused:` のように描画箇所の名前の直後に `refused:` と表示される場合は、[`ui.render` の行に `refused` と表示される](#ui-render-refused) を参照してください。

242 

243### `ui.render` の行に `refused` と表示される

244 

245`ui.render (<site>) refused:`、または [デバッグログ](#read-the-debug-log) の `ui.render (<site>): the chain settled on a tree that does not validate` は、その描画箇所の [ツリー](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements) が [サイズ制限](https://code.claude.com/docs/ja/plugins/mods/reference.md#limits) を超えていることを意味します。どちらの行も [描画箇所](https://code.claude.com/docs/ja/plugins/mods/reference.md#render-sites) を示し、続いて理由を示します。理由はその制限を示します。

246 

247その描画箇所に描画する mod を変更して、[`ui.render`](https://code.claude.com/docs/ja/plugins/mods/reference#interface) フックがより小さいツリーを返すようにするか、作成者に変更を依頼してください。トランスクリプトの行が `hooks` で始まる場合は、読み込まれた複数の mod がその描画箇所の `ui.render` フックを持っているため、それぞれの mod のツリーを確認してください。プロンプトの上のバンドがネストして 32 レベルを超える深さのツリーになる複数の mod の場合、行は次のようになります。

248 

249```text theme={null}

250hooks: ui.render (AbovePrompt) refused: deeper than 32; nothing was drawn

251```

252 

253v2.1.307 より前では、`refused:` の行はどの描画箇所についても検証を通らないツリーを報告し、`Pane` と `AbovePrompt` では `; the engine drew its own` で終わっていました。これらのリリースでは、理由が示す内容を修正してください。

236 254 

237### `needs a key`、`is drawn twice`、または `key each once`255### `needs a key`、`is drawn twice`、または `key each once`

238 256 


383hooks module first-mod@inline loaded (worker, environment 2, tier user); events: session.start,tool.call,command.run,ui.render401hooks module first-mod@inline loaded (worker, environment 2, tier user); events: session.start,tool.call,command.run,ui.render

384```402```

385 403 

386検証されなかった描画は拒否された結果としてカウントされ、行も取得します。ログに独自の行を書き込むには、[`$.ui.log`](https://code.claude.com/docs/ja/plugins/mods/api#show-something-without-starting-a-turn) を 2 番目の引数で呼び出します。例えば `$.ui.log('message', { to: 'debug' })` のようにします。2 番目の引数がない場合、`$.ui.log` はトランスクリプトに薄い行を追加します。404ログに独自の行を書き込むには、[`$.ui.log`](https://code.claude.com/docs/ja/plugins/mods/api#show-something-without-starting-a-turn) を 2 番目の引数で呼び出します。例えば `$.ui.log('message', { to: 'debug' })` のようにします。2 番目の引数がない場合、`$.ui.log` はトランスクリプトに薄い行を追加します。

387 405 

388`--plugin-dir` で読み込まれた mod を編集している間、トランスクリプトは mod の名前を示し、そのフックをリストする各リロードの行を表示します。保存がモジュールを破損する場合、行は `reload failed, the previous version stays loaded:` と理由を示し、Claude Code が次にプラグインをリロードするまで(`/reload-plugins` を実行したときなど)、最後に機能したバージョンが実行され続けます。406`--plugin-dir` で読み込まれた mod を編集している間、トランスクリプトは mod の名前を示し、そのフックをリストする各リロードの行を表示します。保存がモジュールを破損する場合、行は `reload failed, the previous version stays loaded:` と理由を示し、Claude Code が次にプラグインをリロードするまで(`/reload-plugins` を実行したときなど)、最後に機能したバージョンが実行され続けます。

389 407 

plugins/org.md +6 −2

Details

182| `blockedMarketplaces` | マーケットプレイスソースのブロックリスト、許可リストの前にチェック | 既に登録されているマーケットプレイスをそれが一致しないソースからブロックしません |182| `blockedMarketplaces` | マーケットプレイスソースのブロックリスト、許可リストの前にチェック | 既に登録されているマーケットプレイスをそれが一致しないソースからブロックしません |

183| `syncClaudeAiPlugins` | `false` に設定して、Claude Code が各ユーザーのアカウント用に [claude.ai から同期されたプラグイン](https://code.claude.com/docs/ja/plugins/loading.md#synced-plugins) をダウンロードして読み込むのを停止します。Claude Code v2.1.273 以降が必要です | 1 つの同期されたプラグインをオフにしません。そのためには、[`enabledPlugins`](https://code.claude.com/docs/ja/settings-reference#enabledplugins) で `"<name>@synced": false` を設定します |183| `syncClaudeAiPlugins` | `false` に設定して、Claude Code が各ユーザーのアカウント用に [claude.ai から同期されたプラグイン](https://code.claude.com/docs/ja/plugins/loading.md#synced-plugins) をダウンロードして読み込むのを停止します。Claude Code v2.1.273 以降が必要です | 1 つの同期されたプラグインをオフにしません。そのためには、[`enabledPlugins`](https://code.claude.com/docs/ja/settings-reference#enabledplugins) で `"<name>@synced": false` を設定します |

184| `enabledPlugins` | `true` は強制的に有効にし、`false` はすべてのスコープでブロックしてプラグインを非表示にします | マーケットプレイスが登録または許可されていないプラグインをインストールしません |184| `enabledPlugins` | `true` は強制的に有効にし、`false` はすべてのスコープでブロックしてプラグインを非表示にします | マーケットプレイスが登録または許可されていないプラグインをインストールしません |

185| `disableSideloadFlags` | `--plugin-dir`、`--plugin-url`、`--agents`、Agent SDK `plugins` オプション、および非 SDK `--mcp-config` をスタートアップで拒否し、[`CLAUDE_CODE_PLUGIN_DIRS`](https://code.claude.com/docs/ja/env-vars#variables) 変数で指定されたフォルダを同じ方法で拒否します | `.mcp.json`、`claude mcp add`、または SDK 提供サーバーを制限しません。[`allowedMcpServers`](https://code.claude.com/docs/ja/managed-mcp) と組み合わせます |185| `disableSideloadFlags` | 起動時に `--plugin-dir`、`--plugin-url`、`--agents`、Agent SDK の `plugins` オプション、および [`CLAUDE_CODE_PLUGIN_DIRS`](https://code.claude.com/docs/ja/env-vars#variables) 変数で指定されたフォルダを拒否し、`--mcp-config` も、その中のすべてのサーバーがインプロセスの `type: "sdk"` エントリでない限り拒否します。Agent SDK アプリケーションがセッション中に [`addPlugins`](https://code.claude.com/docs/ja/agent-sdk/typescript#load-more-plugin-folders-with-addplugins) で追加するプラグインフォルダも拒否します | `.mcp.json`、`claude mcp add`、または SDK 提供サーバーを制限しません。[`allowedMcpServers`](https://code.claude.com/docs/ja/managed-mcp) と組み合わせます |

186| `disableCommandPluginSources` | `command` ソースを持つプラグインがインストール、更新、または読み込みされるのをブロックします。`command` ソースは、プラグインディレクトリがマシンでコマンドを実行することで生成されるものです。設定されていない場合、`allowManagedHooksOnly` の値を取ります | 他のソースタイプに影響しません |186| `disableCommandPluginSources` | `command` ソースを持つプラグインがインストール、更新、または読み込みされるのをブロックします。`command` ソースは、プラグインディレクトリがマシンでコマンドを実行することで生成されるものです。設定されていない場合、`allowManagedHooksOnly` の値を取ります | 他のソースタイプに影響しません |

187| `allowManagedHooksOnly` | どのフックが実行されるかを制限します。[`allowManagedHooksOnly`](https://code.claude.com/docs/ja/settings-reference#allowmanagedhooksonly) を参照してください | ユーザーが自分で有効にするプラグインからのフックを信頼しません |187| `allowManagedHooksOnly` | どのフックが実行されるかを制限します。[`allowManagedHooksOnly`](https://code.claude.com/docs/ja/settings-reference#allowmanagedhooksonly) を参照してください | ユーザーが自分で有効にするプラグインからのフックを信頼しません |

188| `strictPluginOnlyCustomization` | プラグイン、マネージド設定、または Claude Code の組み込みから来ないスキル、エージェント、フック、および MCP サーバーをブロックします。また、[スキルディレクトリプラグイン](#keep-skills-directory-plugins-loading) の読み込みも停止します。すべての 4 つのタイプをカバーするには `true` に設定するか、`["skills", "hooks"]` などの `skills`、`agents`、`hooks`、および `mcp` 値の配列に設定して一部をカバーします | ユーザーがインストールするプラグインを制限しません。`strictKnownMarketplaces` と組み合わせます |188| `strictPluginOnlyCustomization` | プラグイン、マネージド設定、または Claude Code の組み込みから来ないスキル、エージェント、フック、および MCP サーバーをブロックします。また、[スキルディレクトリプラグイン](#keep-skills-directory-plugins-loading) の読み込みも停止します。すべての 4 つのタイプをカバーするには `true` に設定するか、`["skills", "hooks"]` などの `skills`、`agents`、`hooks`、および `mcp` 値の配列に設定して一部をカバーします | ユーザーがインストールするプラグインを制限しません。`strictKnownMarketplaces` と組み合わせます |

189| `pluginSuggestionMarketplaces` | プラグインがインストール提案として表示される可能性があるマーケットプレイス。[プラグインを推奨する](#recommend-plugins) を参照してください | 組み込みのヒントに影響しません |189| `pluginSuggestionMarketplaces` | プラグインがターミナルでインストール提案として表示される可能性があるマーケットプレイス。[プラグインを推奨する](#recommend-plugins) を参照してください | 組み込みのヒントに影響しません |

190| `pluginTrustMessage` | プラグインがインストールされる前に `/plugin` が表示する信頼警告にテキストを追加します | 警告独自のテキストを変更しません |190| `pluginTrustMessage` | プラグインがインストールされる前に `/plugin` が表示する信頼警告にテキストを追加します | 警告独自のテキストを変更しません |

191| `allowedChannelPlugins` | チャネルメッセージをプッシュできるプラグインのデフォルトリストを置き換えます。`channelsEnabled: true` が必要です | [チャネルプラグインが実行できるものを制限する](https://code.claude.com/docs/ja/channels.md#restrict-which-channel-plugins-can-run) を参照してください |191| `allowedChannelPlugins` | チャネルメッセージをプッシュできるプラグインのデフォルトリストを置き換えます。`channelsEnabled: true` が必要です | [チャネルプラグインが実行できるものを制限する](https://code.claude.com/docs/ja/channels.md#restrict-which-channel-plugins-can-run) を参照してください |

192| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](https://code.claude.com/docs/ja/env-vars) | インタラクティブターミナルセッションが公式マーケットプレイスを自動登録するのを停止します | 既に登録されているマーケットプレイスを削除しません。許可リストとブロックリストはそれなしで同じ自動登録をゲートします。それを設定して開始したマシンは、設定を解除した後に自動登録を再開しません |192| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](https://code.claude.com/docs/ja/env-vars) | インタラクティブターミナルセッションが公式マーケットプレイスを自動登録するのを停止します | 既に登録されているマーケットプレイスを削除しません。許可リストとブロックリストはそれなしで同じ自動登録をゲートします。それを設定して開始したマシンは、設定を解除した後に自動登録を再開しません |


361 361 

362マーケットプレイスからの提案は、ユーザーのマシンに登録されている場合、マネージド設定で `pluginSuggestionMarketplaces` にその名前をリストしている場合、および同じポリシーでそのソースを宣言している場合にのみ表示されます。ソースをマーケットプレイスの `extraKnownMarketplaces` エントリまたは許可リストエントリとして宣言します。公式マーケットプレイスは名前のみが必要です。[マネージド設定で提案を有効にする](https://code.claude.com/docs/ja/plugins/relevance.md#enable-suggestions-in-managed-settings) を参照してください。362マーケットプレイスからの提案は、ユーザーのマシンに登録されている場合、マネージド設定で `pluginSuggestionMarketplaces` にその名前をリストしている場合、および同じポリシーでそのソースを宣言している場合にのみ表示されます。ソースをマーケットプレイスの `extraKnownMarketplaces` エントリまたは許可リストエントリとして宣言します。公式マーケットプレイスは名前のみが必要です。[マネージド設定で提案を有効にする](https://code.claude.com/docs/ja/plugins/relevance.md#enable-suggestions-in-managed-settings) を参照してください。

363 363 

364> [!NOTE]

365>

366> クラウドセッションの会話では、`pluginSuggestionMarketplaces` を設定しているかどうかに関係なく、Claude がプラグインを提案することがあります。これらの提案をオフにするには、[プラグインの提案をオフにする](https://code.claude.com/docs/ja/claude-code-on-the-web.md#turn-off-plugin-suggestions) を参照してください。

367 

364## 監査とレビュー368## 監査とレビュー

365 369 

366OpenTelemetry イベントと Analytics API により、フロートがインストールして実行するものを確認できます。370OpenTelemetry イベントと Analytics API により、フロートがインストールして実行するものを確認できます。

Details

8 8 

9Claude Code は、ユーザーのセッションが定義したシグナルと一致するときに、組織のマーケットプレイスからプラグインをインストールすることを提案できます。シグナルには、作業ディレクトリ、Claude が読み取ったファイル、および Claude が実行したコマンドが含まれます。これらは、プラグインの `marketplace.json` エントリに `relevance` ブロックを追加することで定義します。9Claude Code は、ユーザーのセッションが定義したシグナルと一致するときに、組織のマーケットプレイスからプラグインをインストールすることを提案できます。シグナルには、作業ディレクトリ、Claude が読み取ったファイル、および Claude が実行したコマンドが含まれます。これらは、プラグインの `marketplace.json` エントリに `relevance` ブロックを追加することで定義します。

10 10 

11マーケットプレイスオペレーターが `relevance` エントリを記述します。その後、管理者がマネージド設定でマーケットプレイスをホワイトリストに登録します。マーケットプレイスがホワイトリストに登録されるまで、ユーザーはそのマーケットプレイスからの提案を表示しません。11マーケットプレイスオペレーターが `relevance` エントリを記述します。その後、管理者が管理設定でマーケットプレイスを許可リストに登録します。ターミナルでは、マーケットプレイスが許可リストに登録されるまで、ユーザーにはそのマーケットプレイスからの提案は表示されません。

12 12 

13> [!NOTE]13> [!NOTE]

14>14>

15> これらのケースは他のページで説明されています。15> これらのケースは他のページで説明されています。

16>16>

17> * **プラグインをインストールしたい場合**: [プラグインのインストールと管理](https://code.claude.com/docs/ja/plugins/install.md)を参照してください17> * **プラグインをインストールしたい場合**: [プラグインのインストールと管理](https://code.claude.com/docs/ja/plugins/install.md)を参照してください

18> * **提案をオフにしたい場合**: [プラグイン関連性の仕組みを理解する](#understand-how-plugin-relevance-works)を参照してください18> * **提案をオフにしたい場合**: [プラグイン関連性の仕組みを理解する](#understand-how-plugin-relevance-works)を参照してください。クラウドセッションの会話で Claude が行う提案については、[プラグインの提案をオフにする](https://code.claude.com/docs/ja/claude-code-on-the-web.md#turn-off-plugin-suggestions)を参照してください

19 19 

20自分の役割に応じたセクションから始めてください。20自分の役割に応じたセクションから始めてください。

21 21 


158 158 

159## マネージド設定で提案を有効にする159## マネージド設定で提案を有効にする

160 160 

161ユーザーは、マーケットプレイスの `marketplace.json` が `relevance` を宣言している場合でも、管理者が [マネージド設定](https://code.claude.com/docs/ja/plugins/org.md) でそれをホワイトリストに登録するまで、マーケットプレイスからの提案を表示されません。161ターミナルでは、マーケットプレイスの `marketplace.json` が `relevance` を宣言している場合でも、管理者が[管理設定](https://code.claude.com/docs/ja/plugins/org.md)でそのマーケットプレイスを許可リストに登録するまで、ユーザーにはそのマーケットプレイスからの提案が表示されません。

162 162 

163マーケットプレイスをホワイトリストに登録するには、マネージド設定を次のように編集します。163マーケットプレイスをホワイトリストに登録するには、マネージド設定を次のように編集します。

164 164 

sandboxing.md +1 −1

Details

891 891 

892### `objects` または `refs` という名前のフォルダがコマンドの後に消える892### `objects` または `refs` という名前のフォルダがコマンドの後に消える

893 893 

894セッション中に現れたトップレベルの `objects` または `refs` フォルダは、[サンドボックス化されたコマンドの終了後に削除される](#when-the-sandbox-deletes-head-objects-or-refs)ことがあります。コマンド、Claude、ユーザーのいずれが作成したかは関係ありません。フォルダを残すには、その中に何かを置いておいてください。セッション中に `HEAD` ファイルまたはシンボリックリンクがトップレベルに存在していた場合は、それを別の場所に移動してから、そこで開いているすべての Claude Code セッションを再起動してください。894セッション中に現れたトップレベルの `objects` または `refs` フォルダは、[サンドボックス化されたコマンドの終了後に削除される](#when-the-sandbox-deletes-head-objects-or-refs)ことがあります。コマンド、Claude、ユーザーのいずれが作成したかは関係ありません。フォルダを残すには、その中に何かを置いておいてください。セッション中に `HEAD` ファイルまたはシンボリックリンクがトップレベルに存在していた場合は、それを別の場所に移動してから、その作業ディレクトリで開いているすべての Claude Code セッションを再起動してください。

895 895 

896v2.1.307 より前では、フォルダに何かが入っていて `HEAD` がなくても、フォルダは削除されていました。以前のバージョンを使用している場合は、[Claude Code を更新](https://code.claude.com/docs/ja/setup.md#update-claude-code)してください。896v2.1.307 より前では、フォルダに何かが入っていて `HEAD` がなくても、フォルダは削除されていました。以前のバージョンを使用している場合は、[Claude Code を更新](https://code.claude.com/docs/ja/setup.md#update-claude-code)してください。

897 897 

Details

808* **ピックアップ直後にセッションが失敗する**: claude.ai/code でセッションを開いてエラーを確認してください。git が認証できなかったことをエラーが示している場合は、ランナーの [git 認証情報](#configure-git)を確認してください。`--use-anthropic-git-proxy` 付きで起動したランナーでは、[git プロキシを使用するランナーでセッションの開始に失敗した場合](#when-anthropic-doesnt-serve-a-session)を参照してください。808* **ピックアップ直後にセッションが失敗する**: claude.ai/code でセッションを開いてエラーを確認してください。git が認証できなかったことをエラーが示している場合は、ランナーの [git 認証情報](#configure-git)を確認してください。`--use-anthropic-git-proxy` 付きで起動したランナーでは、[git プロキシを使用するランナーでセッションの開始に失敗した場合](#when-anthropic-doesnt-serve-a-session)を参照してください。

809 809 

810 書き込めないベースディレクトリは、セッションを失敗させるのではなく、起動時にランナーを停止させます。このリストの **ランナーが起動時に `cannot create or write to base directory` で終了する** の項目を参照してください。810 書き込めないベースディレクトリは、セッションを失敗させるのではなく、起動時にランナーを停止させます。このリストの **ランナーが起動時に `cannot create or write to base directory` で終了する** の項目を参照してください。

811* **セッションはピックアップされたが、Claude が最初のメッセージに応答しない**: ランナーがプロキシ経由で `api.anthropic.com` に到達している場合は、セッションの `/worker/events/stream` レスポンスを到着したとおりに通過させるようにプロキシを設定してください。ランナーのタイムアウトを引き上げても解決しません。ランナーのログで原因を確認するには、[セッションはピックアップされたが、Claude が最初のメッセージに応答しない](#when-a-sessions-first-message-is-never-answered)を参照してください。811* **セッションはピックアップされたが、Claude が最初のメッセージに応答しない**: ランナーがプロキシ経由で `api.anthropic.com` に到達している場合は、セッションの `/worker/events/stream` レスポンスを到着次第通過させるようにプロキシを設定してください。ランナーのタイムアウトを引き上げても解決しません。ランナーのログで原因を確認するには、[セッションはピックアップされたが、Claude が最初のメッセージに応答しない](#when-a-sessions-first-message-is-never-answered)を参照してください。

812* **`--use-anthropic-git-proxy` を設定したランナーでセッションの開始に失敗する**: ランナーのログで `access denied by the git proxy`、または `/git_proxy/` を含む `api.anthropic.com` アドレスを示す git エラーを探してください。Anthropic がセッションを処理したかどうかを判断して原因を修正するには、[git プロキシを使用するランナーでセッションの開始に失敗した場合](#when-anthropic-doesnt-serve-a-session)を参照してください。812* **`--use-anthropic-git-proxy` を設定したランナーでセッションの開始に失敗する**: ランナーのログで `access denied by the git proxy`、または `/git_proxy/` を含む `api.anthropic.com` アドレスを示す git エラーを探してください。Anthropic がセッションを処理したかどうかを判断して原因を修正するには、[git プロキシを使用するランナーでセッションの開始に失敗した場合](#when-anthropic-doesnt-serve-a-session)を参照してください。

813* **認証を行うエグレスプロキシ経由でセッションがネットワークに到達できない**: [`--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` で終了する場合、ランナーはループバックリスナーを開けませんでした。813* **認証を行うエグレスプロキシ経由でセッションがネットワークに到達できない**: [`--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` で終了する場合、ランナーはループバックリスナーを開けませんでした。

814* **ランナーが `rejecting the malformed poll response` を含む `Poll failed` 行をログに記録する**: ランナーが受け取ったワークポーリングのレスポンスのボディが、キューが想定する JSON ではありません。原因の 1 つは、インターセプトプロキシやキャプティブポータルが独自のページで応答したことです。ランナーがプロキシ経由で接続している場合は、`api.anthropic.com` からのレスポンスを変更せずに通過させるようにプロキシを設定してください。814* **ランナーが `rejecting the malformed poll response` を含む `Poll failed` 行をログに記録する**: ランナーが受け取ったワークポーリングのレスポンスのボディが、キューが想定する JSON ではありません。原因の 1 つは、インターセプトプロキシやキャプティブポータルが独自のページで応答したことです。ランナーがプロキシ経由で接続している場合は、`api.anthropic.com` からのレスポンスを変更せずに通過させるようにプロキシを設定してください。


928GET https://api.anthropic.com/v1/code/sessions/<session-id>/worker/events/stream928GET https://api.anthropic.com/v1/code/sessions/<session-id>/worker/events/stream

929```929```

930 930 

931* **レスポンスをバッファリングしない**: 到着したとおりに通過させてください。コンテンツタイプは `text/event-stream` です。931* **レスポンスをバッファリングしない**: 到着次第通過させてください。コンテンツタイプは `text/event-stream` です。

932* **レスポンスを開いたままにする**: レスポンスは最長 1 時間開いたままになることがあります。プロキシにアイドルタイムアウトがある場合は、15 秒よりも十分に長くしてください。Anthropic はデフォルトで少なくともその頻度でキープアライブを送信するためです。932* **レスポンスを開いたままにする**: レスポンスは最長 1 時間開いたままになることがあります。プロキシにアイドルタイムアウトがある場合は、15 秒よりも十分に長くしてください。Anthropic はデフォルトで少なくともその頻度でキープアライブを送信するためです。

933 933 

934その後、新しいセッションを開始し、Claude が応答することを確認してください。ランナーのタイムアウトを引き上げても解決しません。ランナーがセッションを停止するまでの待ち時間が長くなるだけです。934その後、新しいセッションを開始し、Claude が応答することを確認してください。ランナーのタイムアウトを引き上げても解決しません。ランナーがセッションを停止するまでの待ち時間が長くなるだけです。


943 943 

944| ログ行に含まれる内容 | 対処方法 |944| ログ行に含まれる内容 | 対処方法 |

945| :- | :- |945| :- | :- |

946| `SSE connect failed (no response in 30s)` または `SSE liveness timeout` | プロキシがリクエストを転送し、レスポンスのヘッダーとデータを到着したとおりに通過させ、接続を切断していないことを確認してください |946| `SSE connect failed (no response in 30s)` または `SSE liveness timeout` | プロキシがリクエストを転送し、レスポンスのヘッダーとデータを到着次第通過させ、接続を切断していないことを確認してください |

947| `SSE connect failed (HTTP` とステータスコード | プロキシ自身のログを確認してください。プロキシ自体がリクエストに応答していた場合は、リクエストがプロキシを通過するようにしてください。 |947| `SSE connect failed (HTTP` とステータスコード | プロキシ自身のログを確認してください。プロキシ自体がリクエストに応答していた場合は、リクエストがプロキシを通過するようにしてください。 |

948| `SSE connect failed (` とその他のテキスト | 括弧内のテキストがエラーです。プロキシ自身のログで同じ接続を探してください。 |948| `SSE connect failed (` とその他のテキスト | 括弧内のテキストがエラーです。プロキシ自身のログで同じ接続を探してください。 |

949| `SSE stream ended by server` が何度も繰り返される | 長時間続くレスポンスに対するプロキシの時間制限を確認してください。このような行が 1 つだけであれば正常です。 |949| `SSE stream ended by server` が何度も繰り返される | 長時間続くレスポンスに対するプロキシの時間制限を確認してください。このような行が 1 つだけであれば正常です。 |

Details

170 170 

171**キャッシュされた設定がある 2 回目以降の起動時:**171**キャッシュされた設定がある 2 回目以降の起動時:**

172 172 

173* キャッシュされた設定は起動時に即座に適用されます。ただし、キャッシュされた `modelPricing` と `managedMcpServers` の値、およびサーバーがペイロードを確認するまで Claude Code が保留する環境変数は除きます173* キャッシュされた設定は起動時に即座に適用されます。ただし、キャッシュされた `modelPricing` と `managedMcpServers` の値、サーバーがペイロードを確認するまで Claude Code が保留する環境変数、キャッシュされたプラグインリストによる[組み込みガード](https://code.claude.com/docs/ja/plugins/mods/admin.md#know-what-happens-by-default)の削除、位置の変更、または無効化、そしてエンドポイント管理ソースが独自にプラグインを列挙または有効化しているマシンでは、キャッシュされたリストのみが有効化しているプラグインの[組織としての扱い](https://code.claude.com/docs/ja/plugins/mods/admin.md#install-your-organizations-mods)は除きます

174* キャッシュされた [`modelPricing`](https://code.claude.com/docs/ja/settings-reference#modelpricing) は、セッションのフェッチがペイロードを確認するまで適用されません。それまでの間、開発者が `/usage` やステータスラインで目にするコストの数値は定価になります174* キャッシュされた [`modelPricing`](https://code.claude.com/docs/ja/settings-reference#modelpricing) は、セッションのフェッチがペイロードを確認するまで適用されません。それまでの間、開発者が `/usage` やステータスラインで目にするコストの数値は定価になります

175* キャッシュされた [`managedMcpServers`](https://code.claude.com/docs/ja/settings-reference#managedmcpservers) ブロックは、セッションのフェッチがペイロードを確認するまで適用されません。Claude Code は MCP サーバーに接続する前に、そのフェッチを最大 30 秒間待機します。フェッチが失敗するかタイムアウトした場合、セッションは組織のサーバーなしで開始され、`/status` にその旨が表示されます。サーバーは後続のフェッチで確認された時点で接続されます。初回起動時を含む動作の詳細については、[提供されたサーバーが接続されるタイミング](https://code.claude.com/docs/ja/managed-mcp.md#when-provided-servers-connect)を参照してください。Claude Code v2.1.259 以降が必要です175* キャッシュされた [`managedMcpServers`](https://code.claude.com/docs/ja/settings-reference#managedmcpservers) ブロックは、セッションのフェッチがペイロードを確認するまで適用されません。Claude Code は MCP サーバーに接続する前に、そのフェッチを最大 30 秒間待機します。フェッチが失敗するかタイムアウトした場合、セッションは組織のサーバーなしで開始され、`/status` にその旨が表示されます。サーバーは後続のフェッチで確認された時点で接続されます。初回起動時を含む動作の詳細については、[提供されたサーバーが接続されるタイミング](https://code.claude.com/docs/ja/managed-mcp.md#when-provided-servers-connect)を参照してください。Claude Code v2.1.259 以降が必要です

176* キャッシュされた [`prependPlugins`](https://code.claude.com/docs/ja/settings-reference#prependplugins)、[`appendPlugins`](https://code.claude.com/docs/ja/settings-reference#appendplugins)、または [`enabledPlugins`](https://code.claude.com/docs/ja/settings-reference#enabledplugins) の値は、セッションのフェッチがペイロードを確認するまで、組み込みガードを削除したり、その位置を変更したり、オフにしたりすることはできません

177* [エンドポイント管理ソース](https://code.claude.com/docs/ja/managed-settings.md#choose-a-delivery-mechanism)が独自にプラグインを列挙または有効化しているマシンでは、キャッシュされたリストのみが有効化しているプラグインは、フェッチがペイロードを確認するまで、組織のものではなく[ユーザーのもの](https://code.claude.com/docs/ja/plugins/mods/admin.md#install-your-organizations-mods)として扱われます

176* Claude Code はバックグラウンドで最新の設定をフェッチします178* Claude Code はバックグラウンドで最新の設定をフェッチします

177* キャッシュされた設定はネットワーク障害が発生しても維持されます。起動時のフェッチが失敗した場合、Claude Code は対話型セッションで、キャッシュされたポリシーが有効であることを警告します179* キャッシュされた設定はネットワーク障害が発生しても維持されます。起動時のフェッチが失敗した場合、Claude Code は対話型セッションで、キャッシュされたポリシーが有効であることを警告します

178* フェッチが成功するまで、起動時に保留された値は保留されたままです180* フェッチが成功するまで、起動時に保留された値は保留されたままです

sessions.md +1 −1

Details

249 249 

250デフォルトでは、Claude Code はトランスクリプトを `~/.claude/projects/<project>/<session-id>.jsonl` に JSONL として保存します。ここで `<project>` は作業ディレクトリパスで、英数字以外の文字が `-` に置き換えられています。作業ディレクトリの変換後の名前が 200 文字を超える場合、Claude Code は名前を 200 文字に切り詰め、フルパスのハッシュを追加するため、ディレクトリ名はファイルシステムの制限内に留まります。250デフォルトでは、Claude Code はトランスクリプトを `~/.claude/projects/<project>/<session-id>.jsonl` に JSONL として保存します。ここで `<project>` は作業ディレクトリパスで、英数字以外の文字が `-` に置き換えられています。作業ディレクトリの変換後の名前が 200 文字を超える場合、Claude Code は名前を 200 文字に切り詰め、フルパスのハッシュを追加するため、ディレクトリ名はファイルシステムの制限内に留まります。

251 251 

252各行はメッセージ、ツール使用、またはメタデータエントリの JSON オブジェクトです。エントリ形式は Claude Code の内部形式であり、バージョン間で変更されるため、これらのファイルを直接解析するスクリプトはリリースごとに破損する可能性があります。セッションデータを構築するには、代わりに `/export` または [スクリプトインターフェース](#access-conversations-from-scripts) を使用してください。252各行は JSON オブジェクトで、メッセージ、ツール使用またはその結果、Claude Code がモデルに送信したリクエストの記録、またはメタデータエントリのいずれかです。エントリ形式は Claude Code の内部形式であり、バージョン間で変更されるため、これらのファイルを直接解析するスクリプトはリリースごとに破損する可能性があります。セッションデータを構築するには、代わりに `/export` または [スクリプトインターフェース](#access-conversations-from-scripts) を使用してください。

253 253 

254場所、保持期間、および書き込み動作は設定可能です。254場所、保持期間、および書き込み動作は設定可能です。

255 255 

Details

2037* **Type**: 文字列の配列。各サービス名。単一の末尾 `*` はプレフィックスと一致し、`"*"` だけはすべてのサービスと一致します2037* **Type**: 文字列の配列。各サービス名。単一の末尾 `*` はプレフィックスと一致し、`"*"` だけはすべてのサービスと一致します

2038* **Default**: 未設定2038* **Default**: 未設定

2039 2039 

2040これにより、`com.apple.coresimulator.` プレフィックスの下のすべてのサービスが許可されます:2040次の例では、`com.apple.CoreSimulator.` プレフィックス配下のすべてのサービスを許可します。

2041 2041 

2042```json settings.json theme={null}2042```json settings.json theme={null}

2043{2043{

2044 "sandbox": {2044 "sandbox": {

2045 "network": {2045 "network": {

2046 "allowMachLookup": ["com.apple.coresimulator.*"]2046 "allowMachLookup": ["com.apple.CoreSimulator.*"]

2047 }2047 }

2048 }2048 }

2049}2049}


4729* **タイプ**: 文字列の配列、リポジトリルートに相対的なディレクトリパス4729* **タイプ**: 文字列の配列、リポジトリルートに相対的なディレクトリパス

4730* **デフォルト**: 未設定。各 worktree はツリー全体をチェックアウトします4730* **デフォルト**: 未設定。各 worktree はツリー全体をチェックアウトします

4731 4731 

4732この例は、各 worktree で `packages/my-app` と `shared/utils` のみをチェックアウトします(ルートレベルのファイルを含む):4732リストに `.claude` を含めると、各 worktree にもリポジトリの `.claude/settings.json` と `.claude/rules/` が含まれるようになります。この例は、各 worktree で `.claude`、`packages/my-app`、`shared/utils` のみをチェックアウトします(ルートレベルのファイルを含む):

4733 4733 

4734```json settings.json theme={null}4734```json settings.json theme={null}

4735{4735{

4736 "worktree": {4736 "worktree": {

4737 "sparsePaths": ["packages/my-app", "shared/utils"]4737 "sparsePaths": [".claude", "packages/my-app", "shared/utils"]

4738 }4738 }

4739}4739}

4740```4740```


5503 5503 

5504チェックがスキップされた場合、WebFetch はブロックリストを参照せずに任意の URL を試行するため、Claude が到達できるドメインを制限する必要がある場合は [`WebFetch` 権限ルール](https://code.claude.com/docs/ja/permissions#webfetch) と組み合わせてください。5504チェックがスキップされた場合、WebFetch はブロックリストを参照せずに任意の URL を試行するため、Claude が到達できるドメインを制限する必要がある場合は [`WebFetch` 権限ルール](https://code.claude.com/docs/ja/permissions#webfetch) と組み合わせてください。

5505 5505 

5506## エンタープライズおよび管理設定5506## エンタープライズ設定と管理設定

5507 5507 

5508組織が管理設定を計算、更新、および組み合わせるために使用するキー。[管理設定の設定](https://code.claude.com/docs/ja/admin-setup.md)を参照してください。5508組織が管理設定の算出、更新、組み合わせに使用するキーです。[管理設定をセットアップする](https://code.claude.com/docs/ja/admin-setup.md)を参照してください。

5509 5509 

5510### `disableSideloadFlags`5510### `disableSideloadFlags`

5511 5511 

5512起動時に `--plugin-dir`、`--plugin-url`、`--agents`、および `--mcp-config` CLI フラグを拒否します。これらのフラグは、ユーザーが [`strictKnownMarketplaces`](#strictknownmarketplaces) を単一実行でバイパスするために渡す可能性があります。Claude Code はエラーで終了し、拒否されたフラグを名前で指定します。[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)では、Claude Code はセッションを開始し、サーバーが配信した `--mcp-config` エントリをドロップします。ただし、プロセス内 `type: "sdk"` エントリと [Claude Tag](https://code.claude.com/docs/ja/claude-tag.md) セッションの Slack ツールは除きます。Claude Code v2.1.193 以降が必要です。5512起動時に `--plugin-dir`、`--plugin-url`、`--agents`、`--mcp-config` の CLI フラグを拒否します。これらのフラグを使うと、ユーザーは 1 回の実行に限り [`strictKnownMarketplaces`](#strictknownmarketplaces) を回避できてしまいます。Claude Code は拒否したフラグを示すエラーを出して終了します。[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)では、Claude Code は代わりにセッションを開始し、サーバーから配信された `--mcp-config` エントリのうち、インプロセスの `type: "sdk"` エントリと [Claude Tag](https://code.claude.com/docs/ja/claude-tag.md) セッションの Slack ツールを除くすべてを破棄します。Claude Code v2.1.193 以降が必要です。

5513 5513 

5514* **スコープ**: [`Managed`](#scopes)5514* **スコープ**: [`Managed`](#scopes)

5515* **タイプ**: ブール値5515* **型**: Boolean

5516 * `true`: Claude Code は起動時に `--plugin-dir`、`--plugin-url`、`--agents`、および `--mcp-config` を拒否し、エラーで終了して名前を指定します。クラウドセッションでは、セッションを開始し、サーバーが配信した `--mcp-config` エントリをドロップします。ただし、プロセス内 `type: "sdk"` エントリと Claude Tag セッションの Slack ツールは除きます5516 * `true`: Claude Code は起動時に `--plugin-dir`、`--plugin-url`、`--agents`、`--mcp-config` を拒否し、それらを示すエラーを出して終了します。クラウドセッションでは、代わりにセッションを開始し、サーバーから配信された `--mcp-config` エントリのうち、インプロセスの `type: "sdk"` エントリと Claude Tag セッションの Slack ツールを除くすべてを破棄します

5517 * `false`: Claude Code はこれらのフラグを受け入れます5517 * `false`: Claude Code はこれらのフラグを受け入れます

5518* **デフォルト**: `false`5518* **デフォルト**: `false`

5519 5519 


5523}5523}

5524```5524```

5525 5525 

5526Claude Code は、サーバーがすべてプロセス内 `type: "sdk"` エントリである `--mcp-config` を受け入れます。これにより、Agent SDK と VS Code 拡張機能は動作し続けます。ユーザーは `claude mcp add` またはファイル `.mcp.json` でサーバーを追加できます。サーバーごとの制御については、[`allowedMcpServers`](https://code.claude.com/docs/ja/managed-mcp) も設定してください。Claude Code v2.1.193 以降が必要です。5526サーバーがすべてインプロセスの `type: "sdk"` エントリである `--mcp-config` は引き続き受け入れられるため、Agent SDK と VS Code 拡張機能は引き続き動作します。ユーザーは引き続き `claude mcp add` や `.mcp.json` ファイルでサーバーを追加できます。サーバーごとに制御するには、[`allowedMcpServers`](https://code.claude.com/docs/ja/managed-mcp) もあわせて設定してください。Claude Code v2.1.193 以降が必要です。

5527 

5528`disableSideloadFlags` は、次のソースからのプラグインフォルダーも拒否します。

5527 5529 

5528同じチェックは、[`CLAUDE_CODE_PLUGIN_DIRS`](https://code.claude.com/docs/ja/env-vars#variables) 環境変数で名前が付けられたプラグインフォルダをカバーします。これには Claude Code v2.1.280 以降が必要です。変数がフォルダを名前で指定する場合、Claude Code は同じエラーで終了し、エラーは変数をアンセットするように指示します。5530* **[`CLAUDE_CODE_PLUGIN_DIRS`](https://code.claude.com/docs/ja/env-vars#variables) 環境変数**: この変数がプラグインフォルダーを指定している場合、Claude Code は起動時に、この変数名を示して設定解除を求めるエラーを出して終了します。Claude Code v2.1.280 以降が必要です

5531* **Agent SDK の [`addPlugins`](https://code.claude.com/docs/ja/agent-sdk/typescript#load-more-plugin-folders-with-addplugins) オプション**: アプリケーションが `addPlugins` で `reloadPlugins()` にプラグインフォルダーを渡すと、その呼び出しはエラーで失敗します。セッションは既存のプラグインのまま実行を続けます。Claude Code v2.1.301 以降が必要です

5529 5532 

5530クラウドセッションでは、Claude Code はセッション中の MCP 更新も無視します。これは、クラウドセッション構成と SDK `setMcpServers()` 呼び出しの背後にあるパスです。プロセス内 `type: "sdk"` エントリと Claude Tag セッションの Slack ツールはそこでも除外されたままです。v2.1.268 より前では、このドロップと起動ドロップの両方も Claude Tag セッションの Slack ツールを削除していました。v2.1.239 より前では、サーバーが配信した `--mcp-config` はクラウドセッションの開始をブロックしていました。5533クラウドセッションでは、Claude Code はサーバーから配信されるセッション途中の MCP 更新も無視します。これは、クラウドセッションの設定や、それらのセッションに届く SDK の `setMcpServers()` 呼び出しが使う経路です。ここでも、インプロセスの `type: "sdk"` エントリと Claude Tag セッションの Slack ツールは対象外です。v2.1.268 より前では、この破棄と起動時の破棄の両方で Claude Tag セッションの Slack ツールも削除されていました。v2.1.239 より前では、サーバーから配信された `--mcp-config` によってクラウドセッションの開始がブロックされていました。

5531 5534 

5532デスクトップアプリは、claude.ai から同期されたプラグインや、組織がアプリを通じてデプロイするプラグインを含む、いくつかのプラグインを自身で管理します。MDM、OS レベルのポリシー、または管理設定ファイルを通じてこのキーをデバイスにデプロイする場合、デスクトップアプリはそれらのプラグインを、そのデバイス上の以下のセッションに渡しません:5535デスクトップアプリは、claude.ai から同期されたプラグインや、組織がアプリを通じてデプロイしたプラグインなど、一部のプラグインを自身で管理します。MDM、OS レベルのポリシー、または管理設定ファイルを通じてこのキーをデバイスにデプロイすると、デスクトップアプリはそのデバイス上の次のセッションにそれらのプラグインを渡しません。

5533 5536 

5534* **[ユーザーのマシン上のコードセッション](https://code.claude.com/docs/ja/desktop.md#environment-configuration)**: ユーザーの claude.ai アカウントに対して有効になっているスキルなしでも開始します。Claude Code が管理設定のマーケットプレイスからインストールするプラグインは引き続きロードされます。[Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) では、デバイスの `org-plugins` ディレクトリにデプロイするプラグインからの MCP サーバーは利用可能なままです。デスクトップアプリが自身でそれらに接続するため。Claude Desktop v1.37937.0 より前では、これらのセッションは起動時に失敗していました。5537* **[ユーザーのマシン上の Code セッション](https://code.claude.com/docs/ja/desktop.md#environment-configuration)**: これらのセッションは、ユーザーの claude.ai アカウントで有効になっているスキルも読み込まれない状態で開始されます。管理設定内のマーケットプレイスから Claude Code がインストールするプラグインは引き続き読み込まれます。[Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) では、デバイスの `org-plugins` ディレクトリにデプロイしたプラグインの MCP サーバーも引き続き利用できます。デスクトップアプリがそれらに直接接続するためです。Claude Desktop v1.37937.0 より前では、これらのセッションは代わりに起動時に失敗していました。

5535* **[ユーザーのマシン上の Cowork セッション](https://code.claude.com/docs/ja/managed-settings.md#where-and-when-a-policy-applies)**: それらのプラグイン内のスキルとユーザーの claude.ai アカウントに対して有効になっているスキルは利用可能なままです。[Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) では、デバイスの `org-plugins` ディレクトリにデプロイするプラグインからの MCP サーバーは利用可能なままです。デスクトップアプリが自身でそれらに接続するため。Claude Desktop v1.44121.0 より前では、これらのセッションは起動時に失敗していました。5538* **[ユーザーのマシン上の Cowork セッション](https://code.claude.com/docs/ja/managed-settings.md#where-and-when-a-policy-applies)**: それらのプラグイン内のスキルと、ユーザーの claude.ai アカウントで有効になっているスキルは引き続き利用できます。[Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) では、デバイスの `org-plugins` ディレクトリにデプロイしたプラグインの MCP サーバーも引き続き利用できます。デスクトップアプリがそれらに直接接続するためです。Claude Desktop v1.44121.0 より前では、これらのセッションは代わりに起動時に失敗していました。

5536 5539 

5537### `forceRemoteSettingsRefresh`5540### `forceRemoteSettingsRefresh`

5538 5541 

5539Claude Code が [サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md) を新たに取得するまで CLI 起動をブロックします。取得に失敗した場合、Claude Code はキャッシュされた設定または設定なしで続行する代わりに終了します。環境が管理ポリシーなしでセッションが実行される短い時間枠を受け入れられない場合に設定します。5542Claude Code が[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)を新たに取得するまで CLI の起動をブロックします。取得に失敗した場合、Claude Code はキャッシュされた設定や設定なしで続行せずに終了します。セッションが管理ポリシーなしで実行される時間がわずかでも許容できない環境で設定してください。

5540 5543 

5541キーが設定されていない場合、Claude Code は取得時に起動をブロックしません。ただし、開発者が起動時にサインインする場合、取得を最大 5 秒間待機します。Cloud ゲートウェイセッションは常に待機し、ゲートウェイに到達できない場合は終了します。5544このキーが未設定の場合、Claude Code は取得のために起動をブロックしませんが、開発者が起動時にサインインする場合は取得を最大 5 秒待ちます。Cloud ゲートウェイセッションは常に待機し、ゲートウェイに到達できない場合は終了します。

5542 5545 

5543* **スコープ**: [`Managed`](#scopes)。Claude Code は、最優先度のソースでなくても、管理者が制御する管理ソースからの `true` を尊重します。5546* **スコープ**: [`Managed`](#scopes)。Claude Code は、管理者が制御する任意の管理ソースからの `true` を、最も優先度の高いソースでなくても尊重します。

5544* **タイプ**: ブール値5547* **型**: Boolean

5545 * `true`: Claude Code は起動をブロックして、サーバー管理設定を新たに取得するまで待機し、取得に失敗した場合は終了します5548 * `true`: Claude Code はサーバー管理設定を新たに取得するまで起動をブロックし、取得に失敗した場合は終了します

5546 * `false`: Claude Code は取得時に起動をブロックしません。ただし、サインイン起動では最大 5 秒間待機します5549 * `false`: Claude Code は取得のために起動をブロックしませんが、サインインを伴う起動では取得を最大 5 秒待ちます

5547* **デフォルト**: `false`5550* **デフォルト**: `false`

5548 5551 

5549```json managed-settings.json theme={null}5552```json managed-settings.json theme={null}


5552}5555}

5553```5556```

5554 5557 

5555MDM プロファイルまたは管理設定ファイルで設定して、最初のサーバーペイロードが到着する前に失敗時閉鎖起動を強制します。Claude Code は、サーバー管理設定を取得するセッションでのみチェックを適用します。[それらを取得しないセッション](https://code.claude.com/docs/ja/server-managed-settings.md#platform-availability)は待機なしで開始します。`claude auth` サブコマンドは除外されるため、ユーザーは期限切れの認証情報が取得に失敗する理由である場合に再認証できます。[失敗時閉鎖起動を強制する](https://code.claude.com/docs/ja/server-managed-settings.md#enforce-fail-closed-startup)を参照してください。5558最初のサーバーペイロードが届く前にフェイルクローズの起動を強制するには、MDM プロファイルまたは管理設定ファイルで設定してください。Claude Code はサーバー管理設定を取得するセッションでのみこのチェックを適用するため、[それらを取得しない](https://code.claude.com/docs/ja/server-managed-settings.md#platform-availability)セッションは待機せずに開始されます。`claude auth` サブコマンドは対象外なので、認証情報の期限切れが取得失敗の原因である場合でも、ユーザーは再認証できます。[フェイルクローズの起動を強制する](https://code.claude.com/docs/ja/server-managed-settings.md#enforce-fail-closed-startup)を参照してください。

5556 5559 

5557### `managedSourcesBehavior`5560### `managedSourcesBehavior`

5558 5561 

5559Claude Code が、組織が配信する最優先度の [管理ソース](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources) のみを適用するか、配信するすべての管理者ソースを組み合わせるかを選択します。デフォルトでは、Claude Code は [ポリシーキー](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources) を含む最優先度のソースを取得し、残りを無視します。ポリシーキーは、このキーと `wslInheritsWindowsSettings` 以外の設定キーです。そのデフォルトでは、サーバー管理設定または MDM ポリシーがポリシーキーを配信すると、`managed-settings.json` ファイルは [Claude Code がすべての管理ソースから読み取るキー](https://code.claude.com/docs/ja/managed-settings.md#keys-read-from-every-admin-source) のみを提供します。`"merge"` を使用すると、配信するすべての管理ソースがそのキーを 1 つの組み合わせたポリシーに提供します。Claude Code v2.1.242 以降が必要です。5562組織が配信する[管理ソース](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)のうち最も優先度の高いものだけを Claude Code が適用するか、配信されるすべての管理ソースを組み合わせるかを選択します。デフォルトでは、Claude Code は[ポリシーキー](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)を含む最も優先度の高いソースを採用し、残りは無視します。ポリシーキーとは、このキーと `wslInheritsWindowsSettings` 以外の任意の設定キーです。このデフォルトでは、サーバー管理設定または MDM ポリシーがポリシーキーを配信すると、`managed-settings.json` ファイルは[Claude Code がすべての管理ソースから読み取るキー](https://code.claude.com/docs/ja/managed-settings.md#keys-read-from-every-admin-source)のみを提供します。`"merge"` を指定すると、配信されるすべての管理ソースがそれぞれのキーを 1 つの組み合わされたポリシーに提供します。Claude Code v2.1.242 以降が必要です。

5560 5563 

5561`"merge"` は、[ランク付けされた](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources) 最優先度のソースの下のすべてのソースが管理者の制御下にある場合にのみ設定してください。Claude Code は、`permissions.allow` ルールなどの下位ソースからのエントリをポリシーに追加します。5564`"merge"` は、最も優先度の高いソースより下位に[ランク付けされる](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)すべてのソースが管理者の制御下にある場合にのみ設定してください。その場合、Claude Code は `permissions.allow` ルールなど、下位のソースのエントリをポリシーに追加するためです。

5562 5565 

5563* **スコープ**: [`Managed`](#scopes)。Claude Code はこのキーを、このキーまたはポリシーキーを含む最優先度のソースから読み取り、ランク付けされた下位のすべてのソースでこのキーを無視します。下位ソースは、上位のソースとの組み合わせにオプトインできません。Windows HKCU レジストリも [埋め込みホストからの親設定](https://code.claude.com/docs/ja/managed-settings.md#let-an-embedding-host-add-policy) も、マージに参加しません。5566* **スコープ**: [`Managed`](#scopes)。Claude Code は、このキーまたはポリシーキーのいずれかを含む最も優先度の高いソースからこのキーを読み取り、それより下位のすべてのソースにあるこのキーを無視します。そのため、下位のソースが自らを上位のソースとの組み合わせに参加させることはできません。Windows HKCU レジストリと[埋め込みホストからの親設定](https://code.claude.com/docs/ja/managed-settings.md#let-an-embedding-host-add-policy)は、どちらもマージに参加しません。

5564* **タイプ**: 文字列、次のいずれか:5567* **型**: 文字列。次のいずれか:

5565 * `"first-wins"`: ポリシーキーを含む最優先度のソースがポリシーを提供し、下位ソースは [Claude Code がすべての管理ソースから読み取るキー](https://code.claude.com/docs/ja/managed-settings.md#keys-read-from-every-admin-source) のみを提供します5568 * `"first-wins"`: ポリシーキーを含む最も優先度の高いソースがポリシーを提供し、下位のソースは[Claude Code がすべての管理ソースから読み取るキー](https://code.claude.com/docs/ja/managed-settings.md#keys-read-from-every-admin-source)のみを提供します

5566 * `"merge"`: 配信するすべての管理ソースがそのキーを提供し、以下のルールで組み合わせられます5569 * `"merge"`: 配信されるすべての管理ソースがそれぞれのキーを提供し、以下のルールで組み合わされます

5567* **デフォルト**: `"first-wins"`5570* **デフォルト**: `"first-wins"`

5568 5571 

5569デプロイする最優先度のソースでキーを配信します。サーバー管理設定を受け取らないマシンは、Claude Code がこのキーまたはポリシーキーを含む最優先度のソースからキーを読み取るため、MDM プロファイルにもキーが必要です。`managed-settings.json` ファイルは最下位の管理ソースであるため、そこに設定された `"merge"` は、それと組み合わせる下位ソースがありません。サーバー管理設定では、キーは次のようになります:5572このキーは、デプロイする中で最も優先度の高いソースで配信してください。サーバー管理設定を一度も受け取らないマシンでは、MDM プロファイルにもこのキーが必要です。Claude Code は、このキーまたはポリシーキーを含む最も優先度の高いソースからこのキーを読み取るためです。`managed-settings.json` ファイルは最も低くランク付けされる管理ソースなので、そこで `"merge"` を設定しても、組み合わせる下位のソースがありません。サーバー管理設定では、このキーは次のようになります。

5570 5573 

5571```json theme={null}5574```json theme={null}

5572{5575{


5574}5577}

5575```5578```

5576 5579 

5577`"merge"` では、Claude Code は各キーをそのタイプで組み合わせます。このテーブルは各タイプのルールを示します。制限許可リスト、値全体取得、および最優先度ソースのみの行は、カバーするすべてのキーを名前で指定し、他の行は例を示します:5580`"merge"` では、Claude Code は各キーをその種類に応じて組み合わせます。次の表は種類ごとのルールを示しています。制限許可リスト、値全体の採用、最上位ソースのみの行は対象となるすべてのキーを挙げており、その他の行は例を示しています。

5578 5581 

5579| キーのタイプ | Claude Code がそれを組み合わせる方法 | キー |5582| キーの種類 | Claude Code による組み合わせ方 | キー |

5580| :- | :- | :- |5583| :- | :- | :- |

5581| リスト | すべてのソースからのエントリを組み合わせます | [`permissions.allow`](#permissions-allow)、[`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains)、およびその他のリストキー |5584| リスト | すべてのソースのエントリを組み合わせます | [`permissions.allow`](#permissions-allow)、[`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains)、その他のリストキー |

5582| ロック | ソースが設定する最も厳密な値を適用します。ソースが厳密な値を設定しない場合、最優先度のソースからのみより緩い値を適用します | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly)、[`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode)、およびその他のブール値または列挙型ロック |5585| ロック | いずれかのソースが設定する最も厳しい値を適用します。厳しい値を設定するソースがない場合は、最上位のソースからのみ緩い値を適用します | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly)、[`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode)、その他の Boolean または列挙型のロック |

5583| 制限許可リスト | 下位ソースからのエントリを追加せずに、それを設定する最優先度のソースから全体を取得します。最優先度のソースが設定しない場合、次のソースから全体を取得します | [`availableModels`](#availablemodels)、[`allowedMcpServers`](#allowedmcpservers)、[`allowedProviders`](#allowedproviders)、[`strictKnownMarketplaces`](#strictknownmarketplaces)、[`allowedChannelPlugins`](#allowedchannelplugins)、および [`fallbackModel`](#fallbackmodel) チェーン |5586| 制限許可リスト | リストを設定している最上位のソースからリスト全体を採用し、下位のソースのエントリは追加しません。最上位のソースが設定していない場合は、次の下位のソースから全体を採用します | [`availableModels`](#availablemodels)、[`allowedMcpServers`](#allowedmcpservers)、[`allowedProviders`](#allowedproviders)、[`strictKnownMarketplaces`](#strictknownmarketplaces)、[`allowedChannelPlugins`](#allowedchannelplugins)、[`fallbackModel`](#fallbackmodel) チェーン |

5584| 値全体取得 | 下位ソースからのエントリまたはフィールドを組み合わせずに、それを設定する最優先度のソースから全体を取得します。最優先度のソースが設定しない場合、次のソースから全体を取得します | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs)、[`sandbox.ripgrep`](#sandbox-ripgrep) |5587| 値全体の採用 | 値を設定している最上位のソースから値全体を採用し、下位のソースのエントリやフィールドは組み合わせません。最上位のソースが設定していない場合は、次の下位のソースから全体を採用します | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs)、[`sandbox.ripgrep`](#sandbox-ripgrep) |

5585| 提供される MCP サーバー | すべてのソースからサーバー名を組み合わせます。2 つのソースが同じ名前を設定する場合、上位ソースの全体エントリを適用します | [`managedMcpServers`](#managedmcpservers) |5588| 提供される MCP サーバー | すべてのソースのサーバー名を組み合わせます。2 つのソースが同じ名前を設定している場合は、上位のソースのエントリ全体を適用します | [`managedMcpServers`](#managedmcpservers) |

5586| 最優先度のソースからのみ読み取ります | ポリシーキーを含む最優先度のソースからのみキーを読み取るため、最優先度のソースが何も設定しない場合でも、下位ソースの値は無視されます | [`apiKeyHelper`](#apikeyhelper)、[`awsAuthRefresh`](#awsauthrefresh)、[`awsCredentialExport`](#awscredentialexport)、[`gcpAuthRefresh`](#gcpauthrefresh)、[`otelHeadersHelper`](#otelheadershelper)、`proxyAuthHelper`、[`forceLoginOrgUUID`](#forceloginorguuid)、[`forceLoginMethod`](#forceloginmethod) の `"claudeai"` および `"console"` 値、[`parentSettingsBehavior`](#parentsettingsbehavior)、[`modelPicker`](#modelpicker)、[`policyHelper`](#policyhelper)、[`permissions.defaultMode`](#permissions-defaultmode) |5589| 最も優先度の高いソースからのみ読み取り | ポリシーキーを含む最も優先度の高いソースからのみキーを読み取るため、最上位のソースが何も設定していない場合でも下位のソースの値は無視されます | [`apiKeyHelper`](#apikeyhelper)、[`awsAuthRefresh`](#awsauthrefresh)、[`awsCredentialExport`](#awscredentialexport)、[`gcpAuthRefresh`](#gcpauthrefresh)、[`otelHeadersHelper`](#otelheadershelper)、`proxyAuthHelper`、[`forceLoginOrgUUID`](#forceloginorguuid)、[`forceLoginMethod`](#forceloginmethod) の `"claudeai"` と `"console"` の値、[`parentSettingsBehavior`](#parentsettingsbehavior)、[`modelPicker`](#modelpicker)、[`policyHelper`](#policyhelper)、[`permissions.defaultMode`](#permissions-defaultmode) |

5587| `env` | [管理ソース全体で変数ごとにマージします](https://code.claude.com/docs/ja/managed-settings.md#keys-read-from-every-admin-source)。`"first-wins"` と `"merge"` の両方で | [`env`](#env) |5590| `env` | `"first-wins"` と `"merge"` のどちらでも、[管理ソース間で変数ごとにマージします](https://code.claude.com/docs/ja/managed-settings.md#keys-read-from-every-admin-source) | [`env`](#env) |

5588| その他のすべてのキー | それを設定する最優先度のソースから値を取得します | [`cleanupPeriodDays`](#cleanupperioddays)、[`model`](#model) |5591| その他すべてのキー | 値を設定している最上位のソースから値を採用します | [`cleanupPeriodDays`](#cleanupperioddays)、[`model`](#model) |

5589 5592 

5590`sandbox.credentials.awsPairs` と `sandbox.ripgrep` を全体で取得するには、Claude Code v2.1.257 以降が必要です。5593`sandbox.credentials.awsPairs` と `sandbox.ripgrep` を全体として採用するには、Claude Code v2.1.257 以降が必要です。

5591 5594 

5592いくつかのキーは、テーブルが示さない条件を追加します:5595いくつかのキーには、表に示されていない条件が加わります。

5593 5596 

5594* **[`policyHelper`](#policyhelper)**: Claude Code は、ポリシーキーを含む最優先度のソースが MDM ポリシーまたは管理設定ファイルである場合にのみそれを尊重します。サーバー管理設定では適用されません。5597* **[`policyHelper`](#policyhelper)**: Claude Code は、ポリシーキーを含む最上位のソースが MDM ポリシーまたは管理設定ファイルである場合にのみこれを尊重するため、サーバー管理設定のもとでは適用されません。

5595* **[`modelOverrides`](#modeloverrides)**: `availableModels` とペアになります。Claude Code は、それを設定する最優先度のソースから `modelOverrides` を取得します。ただし、上位ソースが `modelOverrides` なしで `availableModels` を設定する場合は除きます。その場合、すべてのソースから `modelOverrides` を無視します。5598* **[`modelOverrides`](#modeloverrides)**: `availableModels` と対になります。Claude Code は `modelOverrides` を設定している最上位のソースから採用しますが、上位のソースが `modelOverrides` なしで `availableModels` を設定している場合は例外です。その場合、すべてのソースの `modelOverrides` を無視します。

5596* **[`forceLoginGatewayUrl`](#forcelogingatewayurl)、[`gatewayInternalNetworks`](#gatewayinternalnetworks)、および [`forceLoginMethod`](#forceloginmethod) の `"gateway"` 値**: Claude Code はサーバー管理設定からそれらのいずれも読み取りません。そのため、そこでの値は適用されず、MDM ポリシーまたは管理設定ファイルで設定されたものを隠しません。マシン上の管理ソースの中で、ポリシーキーを含む最優先度のソースのみがそれらを提供します。サーバー管理設定も存在するかどうかに関わらず。5599* **[`forceLoginGatewayUrl`](#forcelogingatewayurl)、[`gatewayInternalNetworks`](#gatewayinternalnetworks)、[`forceLoginMethod`](#forceloginmethod) の `"gateway"` の値**: Claude Code はこれらをサーバー管理設定から読み取ることはないため、そこにある値は適用されず、MDM ポリシーや管理設定ファイルで設定された値を隠すこともありません。マシン上の管理ソースのうち、ポリシーキーを含む最上位のものだけがこれらを提供します。これはサーバー管理設定も存在するかどうかに関係ありません。

5597* **[`allowedProviders`](#allowedproviders)**: テーブルのルールの後、マシン自体のリストは結果を制限し続けます。そのエントリの Scope ノートが述べているように。5600* **[`allowedProviders`](#allowedproviders)**: 表のルールを適用した後も、そのエントリのスコープの注記にあるとおり、マシン自身のリストが結果を引き続き制限します。

5598 5601 

5599マシンで組み合わせたソースを確認するには、`/status` を実行し、[`Setting sources` 行を読んでください](https://code.claude.com/docs/ja/managed-settings#read-the-source-in-/status)。5602マシン上でどのソースが組み合わされたかを確認するには、`/status` を実行して [`Setting sources` 行を確認してください](https://code.claude.com/docs/ja/managed-settings#read-the-source-in-/status)。

5600 5603 

5601### `parentSettingsBehavior`5604### `parentSettingsBehavior`

5602 5605 

5603Claude Code が、Agent SDK または IDE 拡張機能などの埋め込みホストプロセスによって提供される管理設定を適用するかどうかを選択します。管理者がデプロイした管理層も存在する場合。`"first-wins"` では、Claude Code はホスト提供の設定をドロップします。`"merge"` では、制限のみのフィルターを通じて管理層の下で適用します。ホストが起動するセッションに独自の制限を渡す必要がある場合、`"merge"` を設定します。たとえば、Claude Desktop がゲートウェイの出力許可リストを配信する場合。5606管理者がデプロイした管理ティアも存在する場合に、Agent SDK や IDE 拡張機能などの埋め込みホストプロセスが提供する管理設定を Claude Code が適用するかどうかを選択します。`"first-wins"` では、Claude Code はホストが提供する設定を破棄します。`"merge"` では、制限方向のみのフィルターを通して、管理ティアの下位にそれらを適用します。ホストが起動するセッションに独自の制限を渡す必要がある場合、たとえば Claude Desktop がゲートウェイの送信許可リストを配信する場合に `"merge"` を設定してください。

5604 5607 

5605* **スコープ**: [`Managed`](#scopes)。Claude Code はそれを最優先度の管理者制御管理ソースから読み取ります。5608* **スコープ**: [`Managed`](#scopes)。Claude Code は、管理者が制御する最も優先度の高い管理ソースからこれを読み取ります。

5606* **タイプ**: 文字列、次のいずれか:5609* **型**: 文字列。次のいずれか:

5607 * `"first-wins"`: Claude Code は、管理者がデプロイした管理層が存在する場合、ホスト提供の設定をドロップします5610 * `"first-wins"`: 管理者がデプロイした管理ティアが存在する場合、Claude Code はホストが提供する設定を破棄します

5608 * `"merge"`: Claude Code は、制限のみのフィルターを通じて管理層の下でホスト提供の設定を適用します5611 * `"merge"`: Claude Code は、制限方向のみのフィルターを通して、ホストが提供する設定を管理ティアの下位に適用します

5609* **デフォルト**: `"first-wins"`5612* **デフォルト**: `"first-wins"`

5610 5613 

5611```json managed-settings.json theme={null}5614```json managed-settings.json theme={null}


5614}5617}

5615```5618```

5616 5619 

5617管理者がデプロイした管理層が存在しない場合、このキーは効果がありません。ホストの設定は、唯一の管理層として適用されます。制限値にフィルターされたままです。フィルターの制限と管理ソースの相互作用については、[埋め込みホストからの親設定](https://code.claude.com/docs/ja/managed-settings.md#parent-settings-from-embedding-hosts) および [親設定を制限する](https://code.claude.com/docs/ja/claude-apps-gateway#restrict-parent-settings) を参照してください。5620管理者がデプロイした管理ティアが存在しない場合、このキーは効果がありません。その場合、ホストの設定が唯一の管理ティアとして適用され、引き続き制限方向の値にフィルタリングされます。フィルターの制限と管理ソース間の相互作用については、[埋め込みホストからの親設定](https://code.claude.com/docs/ja/managed-settings.md#parent-settings-from-embedding-hosts)と[親設定を制限する](https://code.claude.com/docs/ja/claude-apps-gateway#restrict-parent-settings)を参照してください。

5618 5621 

5619### `policyHelper`5622### `policyHelper`

5620 5623 

5621起動時に管理設定を計算するためにデプロイする実行可能ファイルを実行します。デバイスの状態、ID、またはリモートサービスから静的ファイルの代わりにポリシーを導出できます。Claude Code はヘルパーを実行してから最初のプロンプトを受け入れ、それが出力する設定をセッションの管理設定として扱います。5624起動時に管理設定を算出する、ユーザーがデプロイした実行ファイルを実行します。これにより、静的なファイルではなく、デバイスの状態、ID、またはリモートサービスからポリシーを導出できます。Claude Code は最初のプロンプトを受け付ける前にヘルパーを実行し、ヘルパーが出力する設定をそのセッションの管理設定として扱います。

5622 5625 

5623* **スコープ**: [`Managed`](#scopes)。macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取ります。Claude Code は、[ポリシーキー](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources) を含む最優先度の管理ソースからキーを読み取り、そのソースが 3 つのうちの 1 つである場合にのみヘルパーを実行します。サーバー管理設定、HKCU レジストリ、およびホスト提供の親設定ではキーを無視します。5626* **スコープ**: [`Managed`](#scopes)。macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取られます。Claude Code は、[ポリシーキー](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)を含む最も優先度の高い管理ソースからこのキーを読み取り、そのソースがこれら 3 つのいずれかである場合にのみヘルパーを実行します。サーバー管理設定、HKCU レジストリ、ホストが提供する親設定にあるこのキーは無視されます。

5624* **タイプ**: `path`、`timeoutMs`、および `refreshIntervalMs` を含むオブジェクト5627* **型**: `path`、`timeoutMs`、`refreshIntervalMs` を持つオブジェクト

5625* **デフォルト**: 設定されていないため、ヘルパーは実行されません5628* **デフォルト**: 未設定。ヘルパーは実行されません

5626 5629 

5627サーバー管理設定が起動時にポリシーを配信する場合、ヘルパーのソースより優先され、ヘルパーは実行されません。5630起動時にサーバー管理設定がポリシーを配信する場合、それがヘルパーのソースより優先され、ヘルパーは実行されません。

5628 5631 

5629後の設定取得がサーバー管理設定が削除されたことを報告する場合、Claude Code はその時点でヘルパーを実行します。次の起動を待つ代わりに。その出力はセッションの残りを管理し、失敗した実行は [失敗した起動実行](#helper-failures) と同じメッセージでセッションを終了します。5632その後の設定取得でサーバー管理設定が削除されたと報告された場合、Claude Code は次回の起動を待たずにその時点でヘルパーを実行します。その出力がセッションの残りを制御し、実行が失敗した場合は[起動時の実行の失敗](#helper-failures)と同じメッセージでセッションが終了します。

5630 5633 

5631この例は、5 秒のタイムアウトでヘルパーを実行し、5 分ごとに再実行します:5634この例では、5 秒のタイムアウトでヘルパーを実行し、5 分ごとに再実行します。

5632 5635 

5633```json managed-settings.json theme={null}5636```json managed-settings.json theme={null}

5634{5637{


5640}5643}

5641```5644```

5642 5645 

5643#### ヘルパー出力を書き込む5646#### ヘルパーの出力を記述する

5644 5647 

5645Claude Code はヘルパーを引数なしで実行し、その環境に `CLAUDE_CODE_VERSION` を設定し、stdout から JSON エンベロープを読み取ります。1 MiB でキャップされます。5648Claude Code は引数なしでヘルパーを実行し、その環境に `CLAUDE_CODE_VERSION` を設定して、stdout から JSON エンベロープを読み取ります。上限は 1 MiB です。

5646 5649 

5647設定を `managedSettings` キーの下に配置します。`managedSettings` キーのない裸の設定オブジェクトは、`managedSettings` が未定義で何も適用されず、Claude Code はエラーを報告しません:5650設定は `managedSettings` キーの下に置いてください。`managedSettings` キーのない裸の設定オブジェクトは、`managedSettings` が未定義の状態でパースされて何も適用されず、Claude Code はエラーを報告しません。

5648 5651 

5649```json theme={null}5652```json theme={null}

5650{5653{


5654}5657}

5655```5658```

5656 5659 

5657ヘルパーが `managedSettings` を出力する場合、そのオブジェクトは実行の唯一の管理設定ソースになります。Claude Code は MDM、ファイル、および HKCU ソースを無視し、[クロスソースキー](https://code.claude.com/docs/ja/managed-settings.md#keys-read-from-every-admin-source) をヘルパーの出力からのみ読み取り、[親設定](https://code.claude.com/docs/ja/managed-settings.md#parent-settings-from-embedding-hosts) をマージしません。5660ヘルパーが `managedSettings` を出力すると、そのオブジェクトがその実行における唯一の管理設定ソースになります。Claude Code は MDM、ファイル、HKCU のソースを無視し、[ソース横断キー](https://code.claude.com/docs/ja/managed-settings.md#keys-read-from-every-admin-source)をヘルパーの出力のみから読み取り、[親設定](https://code.claude.com/docs/ja/managed-settings.md#parent-settings-from-embedding-hosts)をマージすることはありません。

5658 5661 

5659起動 `forceRemoteSettingsRefresh` チェックはヘルパーの前に実行され、任意の管理ソースを読み取ります。ヘルパーが `managedSettings` を省略するエンベロープで `0` で終了する場合、管理設定を提供しません。他のソースは通常どおり適用されます。5662起動時の `forceRemoteSettingsRefresh` チェックはヘルパーより前に実行され、任意の管理ソースを読み取ります。`managedSettings` を省略したエンベロープで `0` で終了するヘルパーは管理設定を提供せず、他のソースが通常どおり適用されます。

5660 5663 

5661#### ヘルパーの失敗5664#### ヘルパーの失敗

5662 5665 

5663ヘルパー実行は次の場合に失敗します:5666次の場合、ヘルパーの実行は失敗します。

5664 5667 

5665* `path` は [`policyHelper.path`](#policyhelper-path) のルールを破ります。5668* `path` が [`policyHelper.path`](#policyhelper-path) のルールに違反している。

5666* `path` に通常ファイルがありません。Claude Code は、同じ `timeoutMs` 予算内でヘルパーを開始する前にファイルをチェックするため、応答しないネットワークマウントは実行を失敗させる可能性があります。5669* `path` に通常ファイルが存在しない。Claude Code はヘルパーを起動する前に、同じ `timeoutMs` の予算内でファイルを確認するため、応答しないネットワークマウントによって実行が失敗する場合があります。

5667* ヘルパーが 0 以外で終了し、`timeoutMs` が経過してもまだ実行中であるか、まったく開始しません。たとえば、実行可能でないため。5670* ヘルパーが 0 以外で終了した、`timeoutMs` が経過してもまだ実行中である、または実行可能でないなどの理由でまったく起動しない。

5668* ヘルパーが stdout または stderr に 1 MiB 以上を書き込みます。5671* ヘルパーが stdout または stderr に 1 MiB を超えて書き込んだ。

5669* stdout は単一の JSON オブジェクトではないか、その `managedSettings` に [Claude Code が修復できないスキーマ違反](https://code.claude.com/docs/ja/managed-settings.md#find-entries-claude-code-dropped) があります。5672* stdout が単一の JSON オブジェクトではない、またはその `managedSettings` に [Claude Code が修復できないスキーマ違反](https://code.claude.com/docs/ja/managed-settings.md#find-entries-claude-code-dropped)がある。

5670 5673 

5671起動実行が失敗する場合、Claude Code は理由を出力し、起動を拒否します。0 以外の終了後、理由にはヘルパーの stderr が含まれます。stderr が空の場合は stdout が含まれます。タイムアウト後、理由は `timeoutMs` 制限を名前で指定し、ヘルパーの出力は含まれません。拒否は、対話型セッション、`claude -p`、Agent SDK セッション、[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)、およびほとんどのサブコマンドをカバーします。5674起動時の実行が失敗すると、Claude Code は理由を出力して起動を拒否します。0 以外で終了した場合、理由にはヘルパーの stderr が含まれ、stderr が空の場合は stdout が含まれます。タイムアウトした場合、理由には `timeoutMs` の上限が示され、ヘルパーの出力は含まれません。この拒否は、対話型セッション、`claude -p`、Agent SDK セッション、[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)、およびほとんどのサブコマンドに適用されます。

5672 5675 

5673拒否は意図的なため、停止復旧が必要なヘルパーは独自のキャッシュから提供し、`0` で終了する必要があります。5676この拒否は意図的なものです。そのため、障害への耐性が必要なヘルパーは、自身のキャッシュから応答して `0` で終了するようにしてください。

5674 5677 

5675バックグラウンド更新が失敗する場合、Claude Code は最後に成功したポリシーを有効に保ち、`/status` は失敗した更新をその理由とともに表示します。更新が成功するまで。各更新は、起動実行と同じ `timeoutMs` および失敗ルールの下で実行されます。5678バックグラウンドでの更新が失敗した場合、Claude Code は最後に成功したポリシーを有効なまま維持し、更新が成功するまで `/status` に失敗した更新とその理由を表示します。各更新は、起動時の実行と同じ `timeoutMs` と失敗のルールのもとで実行されます。

5676 5679 

5677`--debug` を使用すると、Claude Code はすべての実行からヘルパーの stderr を [デバッグログ](https://code.claude.com/docs/ja/debug-your-config.md) に書き込みます。5680`--debug` を指定すると、Claude Code はすべての実行におけるヘルパーの stderr を[デバッグログ](https://code.claude.com/docs/ja/debug-your-config.md)に書き込みます。

5678 5681 

5679Claude Code は無効な `policyHelper` 値を [ドロップされたエントリ](https://code.claude.com/docs/ja/managed-settings.md#find-entries-claude-code-dropped) として報告し、残りの管理設定でセッションを開始します。ヘルパーを実行しません。無効な値には、裸のパス文字列と [その最小値](#policyhelper-timeoutms) より低い `timeoutMs` が含まれます。5682Claude Code は、無効な `policyHelper` の値を[破棄されたエントリ](https://code.claude.com/docs/ja/managed-settings.md#find-entries-claude-code-dropped)として報告し、ヘルパーを実行せずに残りの管理設定でセッションを開始します。無効な値には、裸のパス文字列や、[最小値](#policyhelper-timeoutms)を下回る `timeoutMs` などがあります。

5680 5683 

5681ヘルパーをオフにするには、それを設定するソースからキーを削除します。5684ヘルパーをオフにするには、このキーを設定しているソースからキーを削除してください。

5682 5685 

5683### `policyHelper.path`5686### `policyHelper.path`

5684 5687 

5685Claude Code が実行するヘルパー実行可能ファイルに名前を付けます。パスがルールを破る場合に何が起こるかについては、[ヘルパーの失敗](#helper-failures) を参照してください。5688Claude Code が実行するヘルパー実行ファイルを指定します。パスが以下のルールに違反した場合の動作については、[ヘルパーの失敗](#helper-failures)を参照してください。

5686 5689 

5687* **スコープ**: [`Managed`](#scopes)。macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取ります。[`policyHelper`](#policyhelper) が読み取られる場所。5690* **スコープ**: [`Managed`](#scopes)。[`policyHelper`](#policyhelper) が読み取られる場所、つまり macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取られます。

5688* **タイプ**: 文字列、正規化された形式の絶対パス。`.` または `..` セグメントなし。Windows では、`.exe` で終わるドライブレターまたは UNC パス5691* **型**: 文字列。`.` や `..` のセグメントを含まない、正規化された形式の絶対パス。Windows では、`.exe` で終わるドライブレターパスまたは UNC パス

5689* **デフォルト**: なし。`policyHelper` が設定されている場合は必須5692* **デフォルト**: なし。`policyHelper` を設定する場合は必須

5690 5693 

5691```json managed-settings.json theme={null}5694```json managed-settings.json theme={null}

5692{5695{


5698 5701 

5699### `policyHelper.timeoutMs`5702### `policyHelper.timeoutMs`

5700 5703 

5701Claude Code がヘルパーを待機する時間を設定してから、実行を失敗として扱います。タイムアウトした実行は 0 以外の終了と同じ方法で失敗するため、起動時に Claude Code は起動を拒否します。5704Claude Code が実行を失敗として扱うまでにヘルパーを待つ時間を設定します。タイムアウトした実行は 0 以外での終了と同じように失敗するため、起動時には Claude Code は起動を拒否します。

5702 5705 

5703* **スコープ**: [`Managed`](#scopes)。macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取ります。[`policyHelper`](#policyhelper) が読み取られる場所。5706* **スコープ**: [`Managed`](#scopes)。[`policyHelper`](#policyhelper) が読み取られる場所、つまり macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取られます。

5704* **タイプ**: 整数、ミリ秒、最小 `1000`5707* **型**: 整数。ミリ秒、最小値は `1000`

5705* **デフォルト**: `10000`5708* **デフォルト**: `10000`

5706 5709 

5707```json managed-settings.json theme={null}5710```json managed-settings.json theme={null}


5715 5718 

5716### `policyHelper.refreshIntervalMs`5719### `policyHelper.refreshIntervalMs`

5717 5720 

5718Claude Code がバックグラウンドでヘルパーを間隔で再実行するようにして、ポリシーの変更が実行中のセッションに到達するようにします。更新が成功する場合、その出力は前の管理設定を再起動なしで置き換えます。更新が失敗する場合、Claude Code は既に持っているポリシーを保ちます。5721Claude Code にバックグラウンドで一定間隔ごとにヘルパーを再実行させ、ポリシーの変更が実行中のセッションに反映されるようにします。更新が成功すると、その出力が再起動なしで以前の管理設定を置き換えます。更新が失敗すると、Claude Code は既存のポリシーを維持します。

5719 5722 

5720* **スコープ**: [`Managed`](#scopes)。macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取ります。[`policyHelper`](#policyhelper) が読み取られる場所。5723* **スコープ**: [`Managed`](#scopes)。[`policyHelper`](#policyhelper) が読み取られる場所、つまり macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取られます。

5721* **タイプ**: 整数、ミリ秒: 更新を無効にするには `0`。それ以外の場合は最小 `60000`5724* **型**: 整数。ミリ秒。`0` で更新を無効化し、それ以外は `60000` 以上

5722* **デフォルト**: 設定されていないため、Claude Code はヘルパーを起動時に 1 回実行します5725* **デフォルト**: 未設定。Claude Code は起動時に 1 回だけヘルパーを実行します

5723 5726 

5724この例は、5 分ごとにヘルパーを再実行します:5727この例では、5 分ごとにヘルパーを再実行します。

5725 5728 

5726```json managed-settings.json theme={null}5729```json managed-settings.json theme={null}

5727{5730{


5734 5737 

5735### `wslInheritsWindowsSettings`5738### `wslInheritsWindowsSettings`

5736 5739 

5737WSL 上の Claude Code が Windows ポリシーチェーンから管理設定を読み取るようにします。HKLM と Windows 管理設定ファイルが `/etc/claude-code` と下の HKCU より優先されます。チェーンがオンの間、Claude Code は [Windows 管理ドキュメントが存在しない](https://code.claude.com/docs/ja/managed-settings.md#present-admin-documents) 場合にのみ `/etc/claude-code` を読み取ります。HKLM レジストリ値または `C:\Program Files\ClaudeCode\` フォルダ内。Windows に既にデプロイしているポリシーを WSL セッションに拡張するために設定します。同じマシン上で、ホストセッションと同じルールに従うようにします。Claude Code は、HKLM レジストリキーまたは管理設定ファイルまたは `C:\Program Files\ClaudeCode\` の下のドロップインで設定されている場合にのみそれを尊重します。どちらも Windows 管理者が書き込む必要があります。5740WSL 上の Claude Code に Windows のポリシーチェーンから管理設定を読み取らせます。このチェーンでは、HKLM と Windows の管理設定ファイルが `/etc/claude-code` より優先され、その下位に HKCU が置かれます。チェーンがオンの間、Claude Code は、HKLM レジストリの値または `C:\Program Files\ClaudeCode\` フォルダーに [Windows の管理ドキュメントが存在しない](https://code.claude.com/docs/ja/managed-settings.md#present-admin-documents)場合にのみ `/etc/claude-code` を読み取ります。Windows ですでにデプロイしているポリシーを同じマシン上の WSL セッションにも拡張し、ホストのセッションと同じルールに従わせる場合に設定してください。Claude Code は、HKLM レジストリキー、または `C:\Program Files\ClaudeCode\` 配下の管理設定ファイルやドロップインで設定されている場合にのみこれを尊重します。どちらも書き込みに Windows の管理者権限が必要です。

5738 5741 

5739* **スコープ**: [`Managed`](#scopes)。管理者制御の Windows ソースで。5742* **スコープ**: [`Managed`](#scopes)。管理者が制御する Windows ソース内。

5740* **タイプ**: ブール値5743* **型**: Boolean

5741 * `true`: WSL 上の Claude Code は Windows ポリシーチェーンから管理設定を読み取り、Windows 管理ドキュメントが存在しない場合にのみ `/etc/claude-code` を読み取ります5744 * `true`: WSL 上の Claude Code は Windows のポリシーチェーンから管理設定を読み取り、Windows の管理ドキュメントが存在しない場合にのみ `/etc/claude-code` を読み取ります

5742 * `false`: WSL は `/etc/claude-code` のみを読み取ります5745 * `false`: WSL は `/etc/claude-code` のみを読み取ります

5743* **デフォルト**: `false`。WSL は `/etc/claude-code` のみを読み取ります5746* **デフォルト**: `false`。WSL は `/etc/claude-code` のみを読み取ります

5744 5747 


5748}5751}

5749```5752```

5750 5753 

5751管理ソースがチェーンをオンにすると、HKCU ポリシーは HKCU もキーを `true` に設定する場合にのみ WSL に参加します。そのコピーはチェーンをそれ自体でオンにしません。このキーのみを含む Windows ソース。`true` または `false` に設定されている場合、ポリシーソースとしてカウントされません。下位優先度のソースはまだポリシーを提供します。このキーはネイティブ Windows に効果がありません。5754管理ソースがチェーンをオンにすると、WSL 上で HKCU のポリシーがチェーンに加わるのは、HKCU もこのキーを `true` に設定している場合に限られます。HKCU のこの設定だけでチェーンがオンになることはありません。このキーのみを含む Windows ソースは、`true` と `false` のどちらに設定されていてもポリシーソースとして扱われないため、下位のソースが引き続きポリシーを提供します。このキーはネイティブの Windows には影響しません。

5752 5755 

5753Claude Code は `true` と `false` を引用符の有無にかかわらず読み取り、`null` をキーの削除として読み取ります。他の値を保持する管理者制御の Windows ソースは、[存在する管理ドキュメント](https://code.claude.com/docs/ja/managed-settings.md#present-admin-documents) としてカウントされます。チェーンがオンの場合: `/etc/claude-code` も HKCU も適用されず、起動警告がキーを名前で指定します。読み取ることができない HKLM 値または Windows フォルダファイルも、チェーンがオンかどうかに関わらず `/etc/claude-code` が適用されるのを防ぎます。Claude Code v2.1.282 以降が必要です。5756Claude Code は、`true` と `false` を引用符の有無にかかわらず読み取り、`null` をキーの削除として読み取ります。管理者が制御する Windows ソースがそれ以外の値を持つ場合、チェーンがオンになった[存在する管理ドキュメント](https://code.claude.com/docs/ja/managed-settings.md#present-admin-documents)として扱われます。この場合、`/etc/claude-code` と HKCU のどちらも適用されず、起動時の警告でこのキーが示されます。存在するものの読み取れない HKLM の値や Windows フォルダーのファイルも、チェーンがオンかどうかにかかわらず `/etc/claude-code` が適用されないようにします。Claude Code v2.1.282 以降が必要です。

5754 5757 

5755## グローバル設定5758## グローバル設定

5756 5759 

vs-code.md +36 −17

Details

203What's in @src/components/ (include a trailing slash for folders)203What's in @src/components/ (include a trailing slash for folders)

204```204```

205 205 

206大きな PDF の場合は、ファイル全体ではなく特定のページを読むよう Claude に依頼できます。単一のページ、1~10 ページのような範囲、3 ページ以降のような終わりを指定しない範囲を指定できます。特定のページを読むには、Claude Code を実行しているマシンに [poppler-utils](https://code.claude.com/docs/ja/tools-reference.md#read-tool-behavior) が必要です。206### PDF の特定のページを読む

207 

208エディターでテキストを選択すると、Claude はハイライトされたコードを自動的に認識できます。プロンプトボックスのフッターには選択されている行数が表示されます。`Option+K`(Mac)/ `Alt+K`(Windows/Linux)を押すと、`@app.ts#5-10` のように、ファイルパスと行番号を含む @メンションが挿入されます。選択範囲インジケーターの **X** をクリックすると選択範囲が解除され、Claude はその選択範囲を受け取らなくなります。別のテキストを選択すると、インジケーターは再び表示されます。

209 207 

210拡張機能は、一部のファイルの選択テキストを Claude に渡しません。208大きな PDF の場合は、ファイル全体ではなく特定のページを読むよう Claude に依頼できます。単一のページ、1~10 ページのような範囲、3 ページ以降のような終わりを指定しない範囲を指定できます。特定のページを読むには、Claude Code を実行しているマシンに [poppler-utils](https://code.claude.com/docs/ja/tools-reference.md#read-tool-behavior) が必要です。

211 

212* ファイルがワークスペース内にあり、`files.exclude` または `search.exclude` の設定に一致する場合、Claude が受け取るのは最大でもファイルのパスのみで、選択したテキストは受け取りません。

213* VS Code の `search.useIgnoreFiles` 設定と拡張機能の [`respectGitIgnore` 設定](#extension-settings)の両方がオン(デフォルト)の場合、git が無視するファイルにも同じことが当てはまります。

214 209 

215このフィルターはチャットパネルにのみ適用されます。Claude Code が統合ターミナルで実行されている場合、CLI はファイルに関係なく選択したテキストを送信します。その場合にファイルの内容を Claude に渡さないようにするには、[`Read` の拒否ルール](#the-built-in-ide-mcp-server)を追加します。210### プロンプトにターミナル出力を含める

216 211 

217何も選択していない場合でも、Claude はエディターで開いているファイルを認識し、プロンプトボックスにはその名前が表示されます。選択したテキストのみを追加するには、[Attach Open File 設定](vscode://settings/claudeCode.attachOpenFile)をオフにします。この設定には Claude Code v2.1.271 以降が必要です。212`@terminal:name`(`name` はターミナルのタイトル)を使用して、プロンプトでターミナル出力を参照できます。これにより、コピー&ペーストせずに、コマンド出力、エラーメッセージ、ログを Claude に見せることができます。

218 213 

219メッセージに画像やファイルを添付することもできます。214### 画像とファイルを添付する

220 215 

221* 画像を添付するには、クリップボードからプロンプトボックスに貼り付けます。216* 画像を添付するには、クリップボードからプロンプトボックスに貼り付けます。

222* ファイルを添付するには、`Shift` を押しながらプロンプトボックスにドラッグします。217* ファイルを添付するには、`Shift` を押しながらプロンプトボックスにドラッグします。

223* 添付ファイルをコンテキストから削除するには、その X をクリックします。218* 添付ファイルをコンテキストから削除するには、その X をクリックします。

224 219 

225### プロンプトにターミナル出力を含める

226 

227`@terminal:name`(`name` はターミナルのタイトル)を使用して、プロンプトでターミナル出力を参照できます。これにより、コピー&ペーストせずに、コマンド出力、エラーメッセージ、ログを Claude に見せることができます。

228 

229### テキストを貼り付ける220### テキストを貼り付ける

230 221 

231貼り付けたテキストは、[ターミナル](https://code.claude.com/docs/ja/terminal-config.md#paste-large-content)のようにプレースホルダーに折りたたまれることなく、プロンプトボックスに表示されたままになります。Claude Code が[貼り付けたテキストをマークする](https://code.claude.com/docs/ja/terminal-config.md#how-claude-treats-pasted-text)セッションでは、大きな貼り付けは、入力したものではなく貼り付けたテキストとして Claude に認識されます。222貼り付けたテキストは、[ターミナル](https://code.claude.com/docs/ja/terminal-config.md#paste-large-content)のようにプレースホルダーに折りたたまれることなく、プロンプトボックスに表示されたままになります。Claude Code が[貼り付けたテキストをマークする](https://code.claude.com/docs/ja/terminal-config.md#how-claude-treats-pasted-text)セッションでは、大きな貼り付けは、入力したものではなく貼り付けたテキストとして Claude に認識されます。


235* 貼り付け時に `Removed 3 invisible characters from the pasted text` のような通知が表示された場合、テキストはそれらの文字を除いて入力されています。226* 貼り付け時に `Removed 3 invisible characters from the pasted text` のような通知が表示された場合、テキストはそれらの文字を除いて入力されています。

236* 送信時に削除された文字に関する通知が表示された場合、何も送信されていません。クリーンアップされたテキストはプロンプトボックスに戻されています。表示されたとおりのテキストを送信するには、再度送信してください。227* 送信時に削除された文字に関する通知が表示された場合、何も送信されていません。クリーンアップされたテキストはプロンプトボックスに戻されています。表示されたとおりのテキストを送信するには、再度送信してください。

237 228 

229### 選択範囲と開いているファイルからの自動コンテキスト

230 

231エディターでテキストを選択すると、Claude はハイライトされたコードを自動的に認識できます。プロンプトボックスのフッターには選択されている行数が表示されます。何も選択していない場合でも、Claude はエディターで開いているファイルを認識し、プロンプトボックスにはその名前が表示されます。

232 

233`Option+K`(Mac)/ `Alt+K`(Windows/Linux)を押すと、`@app.ts#5-10` のように、ファイルパスと行番号を含む @メンションが挿入されます。

234 

235#### 選択範囲と開いているファイルをメッセージに含めない

236 

237選択したテキストや開いているファイルがメッセージに含まれないようにするには、VS Code の設定で対応する設定をオフにします。

238 

239* **選択したテキスト**: [Attach Selection 設定](vscode://settings/claudeCode.attachSelection)をオフにします。Claude Code v2.1.300 以降が必要です。1 つの選択範囲だけを除外するには、行数の横にある **X** をクリックします。別のテキストを選択すると、行数は再び表示されます。

240* **開いているファイル**: [Attach Open File 設定](vscode://settings/claudeCode.attachOpenFile)をオフにします。Claude Code v2.1.271 以降が必要です。メッセージにそのファイル内で選択したテキストが含まれていない限り、ファイルは含まれません。

241 

242Attach Selection がオフの状態でテキストを @メンションとして追加するには、テキストを選択して、Mac では `Option+K`、Windows と Linux では `Alt+K` を押します。

243 

244どちらの設定も、VS Code の統合ターミナルで `claude` を実行する場合にも適用されます。

245 

246#### 除外または無視されたファイルからの選択テキスト

247 

248チャットパネルでは、拡張機能は一部のファイルの選択テキストを渡しません。

249 

250* ファイルがワークスペース内にあり、`files.exclude` または `search.exclude` の設定に一致する場合、Claude が受け取るのは最大でもファイルのパスのみで、選択したテキストは受け取りません。

251* VS Code の `search.useIgnoreFiles` 設定と拡張機能の [`respectGitIgnore` 設定](#extension-settings)の両方がオン(デフォルト)の場合、git が無視するファイルにも同じことが当てはまります。

252 

253このフィルターはチャットパネルにのみ適用されます。Claude Code が統合ターミナルで実行されている場合、Claude はこれらのファイルで選択したテキストを受け取ることがあります。その場合にファイルの内容を Claude に渡さないようにするには、[`Read` の拒否ルール](https://code.claude.com/docs/ja/permissions#read-and-edit)を追加します。

254 

238### 応答内の LaTeX 数式255### 応答内の LaTeX 数式

239 256 

240チャットパネルは、Claude の応答内の LaTeX 数式を組版された数式として表示します。数式のレンダリングには Claude Code v2.1.301 以降が必要です。[ターミナルモード](#switch-to-terminal-mode)では、数式は組版されません。パネルはディスプレイ数式とインライン数式の両方を組版します。257チャットパネルは、Claude の応答内の LaTeX 数式を組版された数式として表示します。数式のレンダリングには Claude Code v2.1.301 以降が必要です。[ターミナルモード](#switch-to-terminal-mode)では、数式は組版されません。パネルはディスプレイ数式とインライン数式の両方を組版します。


694| `preferredLocation` | `panel` | Claude を開く場所:`sidebar`(右側)または `panel`(新しいタブ) |711| `preferredLocation` | `panel` | Claude を開く場所:`sidebar`(右側)または `panel`(新しいタブ) |

695| `lockEditorGroups` | `true` | [Claude がタブ用に開始したエディターグループをロック](#choose-where-claude-lives)し、Claude タブにフォーカスがある間に開いたファイルが別のグループで開くようにします。オフにすると、拡張機能はエディターグループを一切ロックしません。Claude Code v2.1.274 以降が必要です |712| `lockEditorGroups` | `true` | [Claude がタブ用に開始したエディターグループをロック](#choose-where-claude-lives)し、Claude タブにフォーカスがある間に開いたファイルが別のグループで開くようにします。オフにすると、拡張機能はエディターグループを一切ロックしません。Claude Code v2.1.274 以降が必要です |

696| `autosave` | `true` | Claude がファイルを読み書きする前にファイルを自動保存します |713| `autosave` | `true` | Claude がファイルを読み書きする前にファイルを自動保存します |

697| `attachOpenFile` | `true` | エディターで開いているファイルをメッセージに追加し、プロンプトボックスに表示します。オフにすると、選択したテキストのみが追加されます。Claude Code v2.1.271 以降が必要です |714| `attachOpenFile` | `true` | エディターで開いているファイルをメッセージに追加し、プロンプトボックスに表示します。オフにすると、ファイルはテキストを選択した場合にのみ、そのテキストと一緒に追加されます。Claude Code v2.1.271 以降が必要です |

715| `attachSelection` | `true` | エディターで選択したテキストをメッセージに追加し、プロンプトボックスに表示します。オフにしても、[選択範囲を @-メンションとして追加](#automatic-context-from-your-selection-and-open-file)することはできます。Claude Code v2.1.300 以降が必要です |

698| `useCtrlEnterToSend` | `false` | プロンプトの送信に Enter の代わりに Ctrl/Cmd+Enter を使用します |716| `useCtrlEnterToSend` | `false` | プロンプトの送信に Enter の代わりに Ctrl/Cmd+Enter を使用します |

699| `scrollToBottomOnSend` | `true` | メッセージを送信したときに会話を最下部までスクロールします。オフにすると、会話は表示していた位置のままになります。Claude Code v2.1.275 以降が必要です |717| `scrollToBottomOnSend` | `true` | メッセージを送信したときに会話を最下部までスクロールします。オフにすると、会話は表示していた位置のままになります。Claude Code v2.1.275 以降が必要です |

700| `showMessageTimestamps` | `true` | 各メッセージの送信日時を表示します。日付が変わる箇所には日付行が表示されます。Claude Code v2.1.284 以降が必要です。v2.1.290 より前はデフォルトが `false` でした |718| `showMessageTimestamps` | `true` | 各メッセージの送信日時を表示します。日付が変わる箇所には日付行が表示されます。Claude Code v2.1.284 以降が必要です。v2.1.290 より前はデフォルトが `false` でした |


705| `continueAfterReload` | `true` | ウィンドウの再読み込み後、Claude は復元されたセッションで[中断されたステップを続行](#continue-conversations-after-a-reload)します。Claude Code v2.1.274 以降が必要です |723| `continueAfterReload` | `true` | ウィンドウの再読み込み後、Claude は復元されたセッションで[中断されたステップを続行](#continue-conversations-after-a-reload)します。Claude Code v2.1.274 以降が必要です |

706| `hideOnboarding` | `false` | オンボーディングチェックリスト(卒業帽アイコン)を非表示にします |724| `hideOnboarding` | `false` | オンボーディングチェックリスト(卒業帽アイコン)を非表示にします |

707| `focusView` | `false` | ツール呼び出し、ツールの結果、思考を展開可能な行の中に隠し、ユーザーのプロンプトと Claude の応答だけを残します。Claude の最新の To-Do リストは表示されたままになります。これには Claude Code v2.1.225 以降が必要です。コマンドメニューから Focus view を切り替えることもできます。Claude Code v2.1.221 以降が必要です |725| `focusView` | `false` | ツール呼び出し、ツールの結果、思考を展開可能な行の中に隠し、ユーザーのプロンプトと Claude の応答だけを残します。Claude の最新の To-Do リストは表示されたままになります。これには Claude Code v2.1.225 以降が必要です。コマンドメニューから Focus view を切り替えることもできます。Claude Code v2.1.221 以降が必要です |

708| `respectGitIgnore` | `true` | .gitignore のパターンをファイル検索および[選択コンテキスト](#reference-files-and-folders)から除外します |726| `respectGitIgnore` | `true` | .gitignore のパターンをファイル検索および[選択コンテキスト](#selected-text-from-excluded-or-ignored-files)から除外します |

709| `usePythonEnvironment` | `true` | Claude の実行時にワークスペースの Python 環境をアクティブ化します。Python 拡張機能が必要です。 |727| `usePythonEnvironment` | `true` | Claude の実行時にワークスペースの Python 環境をアクティブ化します。Python 拡張機能が必要です。 |

710| `environmentVariables` | `[]` | Claude プロセスの環境変数を設定します。共有する構成には、代わりに Claude Code 設定を使用してください。[`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars) のエントリは、値が絶対パスの場合にのみ適用されます。拡張機能は `~` を展開せず、相対パスの値は無視します。 |728| `environmentVariables` | `[]` | Claude プロセスの環境変数を設定します。共有する構成には、代わりに Claude Code 設定を使用してください。[`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars) のエントリは、値が絶対パスの場合にのみ適用されます。拡張機能は `~` を展開せず、相対パスの値は無視します。 |

711| `disableLoginPrompt` | `false` | 認証プロンプトをスキップします(サードパーティプロバイダーの構成向け) |729| `disableLoginPrompt` | `false` | 認証プロンプトをスキップします(サードパーティプロバイダーの構成向け) |


835 853 

836**選択範囲と開いているファイルのコンテキスト。** 接続中、CLI は送信する各プロンプトに、現在のエディターの選択範囲とアクティブなファイルのパスをコンテキストとして含めます。このとき、トランスクリプトには `⧉ Selected N lines from <file>` という行が表示されます。次の場合には、このコンテキストが変わります。854**選択範囲と開いているファイルのコンテキスト。** 接続中、CLI は送信する各プロンプトに、現在のエディターの選択範囲とアクティブなファイルのパスをコンテキストとして含めます。このとき、トランスクリプトには `⧉ Selected N lines from <file>` という行が表示されます。次の場合には、このコンテキストが変わります。

837 855 

856* **[Attach Selection 設定](#keep-your-selection-and-open-file-out-of-your-messages)がオフの場合**: CLI は選択範囲をコンテキストとして含めません。

857* **Attach Open File 設定がオフの場合**: CLI は、選択範囲も含める場合にのみ、アクティブなファイルのパスを含めます。

838* **キューに入れたメッセージ**: [Claude の作業中にメッセージをキューに入れた](https://code.claude.com/docs/ja/interactive-mode.md#queue-messages-while-claude-works)場合、その後に何を選択しても、`Enter` を押した時点の選択範囲が保持されます。858* **キューに入れたメッセージ**: [Claude の作業中にメッセージをキューに入れた](https://code.claude.com/docs/ja/interactive-mode.md#queue-messages-while-claude-works)場合、その後に何を選択しても、`Enter` を押した時点の選択範囲が保持されます。

839* **機密ファイル**: `.env` などの機密ファイルを除外するには、そのパスに対する [`Read` 拒否ルール](https://code.claude.com/docs/ja/permissions#read-and-edit)を追加します。一致する拒否ルールがあると、そのファイルの選択テキストと開いているファイルの通知のどちらも Claude に届かなくなります。859* **機密ファイル**: `.env` などの機密ファイルを除外するには、そのパスに対する [`Read` 拒否ルール](https://code.claude.com/docs/ja/permissions#read-and-edit)を追加します。一致する拒否ルールがあると、そのファイルの選択テキストと開いているファイルの通知のどちらも Claude に届かなくなります。

840* **Attach Open File がオフの場合**: [Attach Open File 設定](#extension-settings)をオフにすると、CLI はアクティブなファイル内でテキストを選択している間だけ、そのファイルのパスを受け取ります。

841 860 

842**トランスポートと認証。** サーバーは `127.0.0.1` の 10000〜65535 の範囲のランダムなポートにバインドされ、ポートは設定できません。トランスポートと認証トークンは次のように動作します。861**トランスポートと認証。** サーバーは `127.0.0.1` の 10000〜65535 の範囲のランダムなポートにバインドされ、ポートは設定できません。トランスポートと認証トークンは次のように動作します。

843 862 

workflows.md +5 −4

Details

333 333 

334ワークフローランタイムは、会話から分離された隔離環境でスクリプトを実行します。中間結果は Claude のコンテキストに入る代わりにスクリプト変数に留まります。334ワークフローランタイムは、会話から分離された隔離環境でスクリプトを実行します。中間結果は Claude のコンテキストに入る代わりにスクリプト変数に留まります。

335 335 

336すべての実行は、セッションディレクトリの `~/.claude/projects/` 配下のファイルにスクリプトを書き込みます。実行が開始されると Claude はパスを受け取るため、それを尋ねることができます。そのファイルを開いて、Claude が作成したオーケストレーションを読んだり、前回の実行のスクリプトと比較したり、編集して Claude に編集版から再起動するよう依頼したりできます。336Claude がスクリプトファイルのパスから実行を開始する場合を除き、Claude Code は実行のスクリプトを `~/.claude/projects/` 内のセッションのディレクトリ配下のファイルに書き込みます。実行が開始されると Claude はスクリプトのパスを受け取るため、それを尋ねることができます。そのファイルを開いて、Claude が作成したオーケストレーションを読んだり、前回の実行のスクリプトとの差分を確認したり、編集して Claude に編集版から再起動するよう依頼したりできます。

337 337 

338Claude がワークフローを開始できるのは、セッションが既に読み取りを許可されているスクリプトファイルからのみです。作業ディレクトリの外に保存されているスクリプトを実行するには、まず [`/add-dir`](https://code.claude.com/docs/ja/permissions#working-directories) でそのディレクトリを追加するか、[Read 許可ルール](https://code.claude.com/docs/ja/permissions.md#read-and-edit)を設定してください。338Claude がワークフローを開始できるのは、セッションが既に読み取りを許可されているスクリプトファイルからのみです。作業ディレクトリの外に保存されているスクリプトを実行するには、まず [`/add-dir`](https://code.claude.com/docs/ja/permissions#working-directories) でそのディレクトリを追加するか、[Read 許可ルール](https://code.claude.com/docs/ja/permissions.md#read-and-edit)を設定してください。

339 339 


387 387 

388#### セッションを離れた後に再開する388#### セッションを離れた後に再開する

389 389 

390実行は同じ Claude Code セッション内で再開できます。実行中のワークフローがセッションを離れたときにどうなるかは、離れ方によって異なります。390ワークフローの実行中にセッションをバックグラウンドに移したり Claude Code を終了したりした場合、実行は自動的には続行しません。実行が続行するのは、Claude が `Workflow` 呼び出しで再起動したときだけで、その際は[保存された結果から実行がリプレイされます](#which-agents-run-again)。

391 391 

392* [セッションをバックグラウンドに移した](https://code.claude.com/docs/ja/agent-view.md#what-carries-over-when-you-background)場合、Claude Code はバックグラウンドセッションで同じ方法で実行をリプレイし、続行します。392* **セッションをバックグラウンドに移した、または [`Move to background and exit`](https://code.claude.com/docs/ja/agent-view#from-inside-a-session) を選択した場合**: [バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md#what-carries-over-when-you-background)を確認した時点で実行が続行していなければ、そのセッションでワークフローの再起動を Claude に依頼します。[権限モード](#approve-the-plan-before-it-runs)によっては、Claude Code はまず再起動の承認を求めます。セッションがエージェントビューの `Needs input` の下に表示されている場合は、[セッションにアタッチして](https://code.claude.com/docs/ja/agent-view.md#attach-to-a-session)承認プロンプトに応答してください。

393* ワークフローの実行中に Claude Code を終了し、[エージェントビューがオン](https://code.claude.com/docs/ja/agent-view.md#from-inside-a-session)になっている場合、終了ダイアログに `Move to background and exit` が表示され、同じ方法で実行を引き継ぎます。代わりに `Exit and stop tasks` を選択した場合、またはこのオプションが表示されない場合、実行はセッションとともに停止します。Claude Code は実行の保存済み結果を `~/.claude/projects/` 内のそのセッションのディレクトリに保持するため、`claude --resume` で再開したセッションでは、ワークフローの再起動を Claude に依頼するとそれらをリプレイできます。新しく開始したセッションでは、Claude には再起動する以前の実行がないため、ワークフローを新しい実行として最初から開始します。393* **バックグラウンドセッションでの再起動が `nothing to resume` で失敗した場合**: ワークフローを新しい実行として最初から開始するよう Claude に依頼します。作業ディレクトリ内のスクリプトなど、`~/.claude/projects/` の外にあるスクリプトファイルのパスから Claude が実行を開始した場合、Claude はバックグラウンドセッションでその実行を再起動できません。

394* **`Exit and stop tasks` を選択した場合、または `Move to background and exit` が表示されなかった場合**: 実行はセッションとともに停止し、Claude Code は実行の保存済み結果を `~/.claude/projects/` 内のそのセッションのディレクトリに保持します。シェルで `claude --resume` を使ってセッションを再開し、ワークフローの再起動を Claude に依頼してください。新しく開始したセッションでは、Claude には再起動する以前の実行がないため、ワークフローを最初から開始します。

394 395 

395[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)では、Claude Code は実行の結果をセッションの会話履歴とともにも保存し、これはセッションの VM が回収されても残ります。[そのようなセッションを再度開いて](https://code.claude.com/docs/ja/claude-code-on-the-web.md#environment-expired)ワークフローの再起動を Claude に依頼すると、完了済みのエージェントは引き続き保存された結果を返します。396[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)では、Claude Code は実行の結果をセッションの会話履歴とともにも保存し、これはセッションの VM が回収されても残ります。[そのようなセッションを再度開いて](https://code.claude.com/docs/ja/claude-code-on-the-web.md#environment-expired)ワークフローの再起動を Claude に依頼すると、完了済みのエージェントは引き続き保存された結果を返します。

396 397