SpyBara
Go Premium

Documentation 2026-11-13 23:02 UTC to 2026-11-14 03:01 UTC

36 files changed +333 −182. View all changes and history on the product overview
2026
Sat 14 03:01 Fri 13 23:02 Thu 12 23:02 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57
Details

14 14 

15## checkpointing の仕組み15## checkpointing の仕組み

16 16 

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

18 18 

19> [!NOTE]19> [!NOTE]

20>20>


147 147 

148**2. checkpoint UUID とセッション ID をキャプチャする**148**2. checkpoint UUID とセッション ID をキャプチャする**

149 149 

150`replay-user-messages` オプションが設定されている場合、レスポンスストリーム内の各ユーザーメッセージには、checkpoint として機能する UUID があります。150`replay-user-messages` オプションが設定されている場合、ターンを開始する各プロンプトのユーザーメッセージには、checkpoint として機能する UUID があります。ツール結果を含むユーザーメッセージにも UUID がありますが、それは checkpoint ではありません。

151 151 

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

153 153 


171 171 

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

173 173 

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

175 175 

176このサンプルを実行する前に、`your_revert_condition`(Python)または `yourRevertCondition`(TypeScript)を独自のチェック(エラー検出や検証失敗など)に置き換えてください。プレースホルダーはサンプルでは定義されていません。176このサンプルを実行する前に、`your_revert_condition`(Python)または `yourRevertCondition`(TypeScript)を独自のチェック(エラー検出や検証失敗など)に置き換えてください。プレースホルダーはサンプルでは定義されていません。

177 177 


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

194 194 

195 async for message in client.receive_response():195 async for message in client.receive_response():

196 # 各エージェントターンが開始する前に checkpoint を更新196 # 送信する各プロンプトで checkpoint を更新(ツール結果はプロンプトに該当しない)

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

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

199 isinstance(message, UserMessage)

200 and message.uuid

201 and message.tool_use_result is None

202 and message.parent_tool_use_id is None

203 ):

199 safe_checkpoint = message.uuid204 safe_checkpoint = message.uuid

200 205 

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


225 let safeCheckpoint: string | undefined;230 let safeCheckpoint: string | undefined;

226 231 

227 for await (const message of response) {232 for await (const message of response) {

228 // 各エージェントターンが開始する前に checkpoint を更新233 // 送信する各プロンプトで checkpoint を更新(ツール結果はプロンプトに該当しない)

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

230 if (message.type === "user" && message.uuid) {235 if (message.type === "user" && "isReplay" in message && message.isReplay && message.uuid) {

231 safeCheckpoint = message.uuid;236 safeCheckpoint = message.uuid;

232 }237 }

233 238 


246 251 

247### 複数の復元ポイント252### 複数の復元ポイント

248 253 

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

250 255 

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

252 257 

253```python Python theme={null}258```python Python theme={null}

254import asyncio259import asyncio


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

285 290 

286 async for message in client.receive_response():291 async for message in client.receive_response():

287 if isinstance(message, UserMessage) and message.uuid:292 if (

293 isinstance(message, UserMessage)

294 and message.uuid

295 and message.tool_use_result is None

296 and message.parent_tool_use_id is None

297 ):

288 checkpoints.append(298 checkpoints.append(

289 Checkpoint(299 Checkpoint(

290 id=message.uuid,300 id=message.uuid,


338 348 

339 try {349 try {

340 for await (const message of response) {350 for await (const message of response) {

341 if (message.type === "user" && message.uuid) {351 if (message.type === "user" && "isReplay" in message && message.isReplay && message.uuid) {

342 checkpoints.push({352 checkpoints.push({

343 id: message.uuid,353 id: message.uuid,

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


635 645 

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

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

648* UUID がツール結果を含むユーザーメッセージから取得されたもので、そのメッセージはチェックポイントではない

638 649 

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

640 651 

Details

496| **永続性** | プロジェクトごとのファイル | ファイルとして保存 | セッションのみ | セッションのみ |496| **永続性** | プロジェクトごとのファイル | ファイルとして保存 | セッションのみ | セッションのみ |

497| **再利用性** | プロジェクトごと | プロジェクト全体 | コード重複 | コード重複 |497| **再利用性** | プロジェクトごと | プロジェクト全体 | コード重複 | コード重複 |

498| **管理** | ファイルシステム上 | CLI + ファイル | コード内 | コード内 |498| **管理** | ファイルシステム上 | CLI + ファイル | コード内 | コード内 |

499| **デフォルトツール** | 保持 | 保持 | 保持 | 失われる(含まれない限り) |499| **ツールのガイダンス** | 保持 | 保持 | 保持 | 失われる(含まれない限り) |

500| **組み込みセキュリティ** | 維持 | 維持 | 維持 | 追加する必要がある |500| **組み込みセキュリティ** | 維持 | 維持 | 維持 | 追加する必要がある |

501| **カスタマイズレベル** | 追加のみ | 追加。コーディング指示の省略も可能 | 追加のみ | 完全な制御 |501| **カスタマイズレベル** | 追加のみ | 追加。コーディング指示の省略も可能 | 追加のみ | 完全な制御 |

502| **バージョン管理** | プロジェクトと共に | はい | コードと共に | コードと共に |502| **バージョン管理** | プロジェクトと共に | はい | コードと共に | コードと共に |

Details

875| `allowed_tools` | `list[str]` | `[]` | 確認を求めずに自動承認するツール([ネットワークパス](https://code.claude.com/docs/ja/permissions.md#network-paths)からの読み取りを除く)。Claude をこれらのツールだけに制限するものではありません。ここで[タスク追跡ツール](https://code.claude.com/docs/ja/agent-sdk/todo-tracking.md#model-availability)のいずれかを指定すると、Claude Code はセッションのオプトインも行います。リストにないその他のツールは `permission_mode` と `can_use_tool` に委ねられます。ツールをブロックするには `disallowed_tools` を使用します。[権限](https://code.claude.com/docs/ja/agent-sdk/permissions.md#allow-and-deny-rules)を参照してください |875| `allowed_tools` | `list[str]` | `[]` | 確認を求めずに自動承認するツール([ネットワークパス](https://code.claude.com/docs/ja/permissions.md#network-paths)からの読み取りを除く)。Claude をこれらのツールだけに制限するものではありません。ここで[タスク追跡ツール](https://code.claude.com/docs/ja/agent-sdk/todo-tracking.md#model-availability)のいずれかを指定すると、Claude Code はセッションのオプトインも行います。リストにないその他のツールは `permission_mode` と `can_use_tool` に委ねられます。ツールをブロックするには `disallowed_tools` を使用します。[権限](https://code.claude.com/docs/ja/agent-sdk/permissions.md#allow-and-deny-rules)を参照してください |

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

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

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

879| `permission_mode` | `PermissionMode \| None` | `None` | ツール使用時の権限モード |879| `permission_mode` | `PermissionMode \| None` | `None` | ツール使用時の権限モード |

880| `continue_conversation` | `bool` | `False` | 最新の会話を継続します |880| `continue_conversation` | `bool` | `False` | 最新の会話を継続します |

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

Details

340| `Read`、`Edit`、`Glob` | コードの分析と変更 |340| `Read`、`Edit`、`Glob` | コードの分析と変更 |

341| `Read`、`Edit`、`Bash`、`Glob`、`Grep` | 完全な自動化 |341| `Read`、`Edit`、`Bash`、`Glob`、`Grep` | 完全な自動化 |

342 342 

343エージェントの組み込みツールをこれらのセットのいずれかに制限するには、そのセットを `tools` として渡します。代わりにセットを `allowedTools` に列挙した場合は、[それらのツールを事前承認](https://code.claude.com/docs/ja/agent-sdk/custom-tools.md#configure-allowed-tools)することになり、エージェントは権限モードに従って、引き続きその他のツールも呼び出せます。

344 

343**権限モード** は、必要な人間の監視の量を制御します。SDK は、アクティブなモードをあなたの許可ルールと拒否ルールと共に、[権限がどのように評価されるか](https://code.claude.com/docs/ja/agent-sdk/permissions.md#how-permissions-are-evaluated) で説明されている固定の順序で評価します。モードの完全なリスト、その動作、および各モードをいつ使用するかについては、[エージェントループの仕組みの権限モード](https://code.claude.com/docs/ja/agent-sdk/agent-loop.md#permission-mode) を参照してください。345**権限モード** は、必要な人間の監視の量を制御します。SDK は、アクティブなモードをあなたの許可ルールと拒否ルールと共に、[権限がどのように評価されるか](https://code.claude.com/docs/ja/agent-sdk/permissions.md#how-permissions-are-evaluated) で説明されている固定の順序で評価します。モードの完全なリスト、その動作、および各モードをいつ使用するかについては、[エージェントループの仕組みの権限モード](https://code.claude.com/docs/ja/agent-sdk/agent-loop.md#permission-mode) を参照してください。

344 346 

345## 次のステップ347## 次のステップ

Details

146| `prompt` | `string` | はい | エージェントの役割と動作を定義するシステムプロンプト |146| `prompt` | `string` | はい | エージェントの役割と動作を定義するシステムプロンプト |

147| `tools` | `string[]` | いいえ | 許可されたツール名の配列。省略した場合、[サブエージェントで利用可能なすべてのツール](https://code.claude.com/docs/ja/sub-agents.md#available-tools)を継承します |147| `tools` | `string[]` | いいえ | 許可されたツール名の配列。省略した場合、[サブエージェントで利用可能なすべてのツール](https://code.claude.com/docs/ja/sub-agents.md#available-tools)を継承します |

148| `disallowedTools` | `string[]` | いいえ | エージェントのツールセットから削除するツール名の配列。MCP サーバーレベルのパターンも受け入れられます。`mcp__server` または `mcp__server__*` はそのサーバーのすべてのツールを削除し、`mcp__*` はすべての MCP ツールをすべてのサーバーから削除します |148| `disallowedTools` | `string[]` | いいえ | エージェントのツールセットから削除するツール名の配列。MCP サーバーレベルのパターンも受け入れられます。`mcp__server` または `mcp__server__*` はそのサーバーのすべてのツールを削除し、`mcp__*` はすべての MCP ツールをすべてのサーバーから削除します |

149| `model` | `string` | いいえ | このエージェントのモデルオーバーライド。`'fable'`、`'opus'`、`'sonnet'`、`'haiku'`、`'inherit'` などのエイリアスまたは完全なモデル ID を受け入れます。`'inherit'` はメインモデルを使用します。省略した場合、Claude Code は[サブエージェントモデルの順序](https://code.claude.com/docs/ja/sub-agents.md#choose-a-model)でモデルを選択します |149| `model` | `string` | いいえ | このエージェントのモデルの上書き。`'fable'`、`'opus'`、`'sonnet'`、`'haiku'`、`'inherit'` などのエイリアスまたは完全なモデル ID を受け入れます。`'inherit'` は、このエージェントを生成したエージェントのモデルを使用します。`model` を省略した場合、Claude Code は[サブエージェントモデルの順序](https://code.claude.com/docs/ja/sub-agents.md#choose-a-model)でモデルを選択します |

150| `skills` | `string[]` | いいえ | 起動時にエージェントのコンテキストにプリロードするスキル名のリスト。プリロードされるのは、リスト内の[最初の 32 個の異なる名前](https://code.claude.com/docs/ja/sub-agents.md#preload-skills-into-subagents)までです。リストされていないスキルは Skill ツールを通じて呼び出し可能なままです |150| `skills` | `string[]` | いいえ | 起動時にエージェントのコンテキストにプリロードするスキル名のリスト。プリロードされるのは、リスト内の[最初の 32 個の異なる名前](https://code.claude.com/docs/ja/sub-agents.md#preload-skills-into-subagents)までです。リストされていないスキルは Skill ツールを通じて呼び出し可能なままです |

151| `memory` | `'user' \| 'project' \| 'local'` | いいえ | このエージェントのメモリソース |151| `memory` | `'user' \| 'project' \| 'local'` | いいえ | このエージェントのメモリソース |

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

Details

589| `skills` | `string[] \| 'all'` | `undefined` | セッションで使用可能なスキル。検出されたすべてのスキルを有効にするには `'all'` を渡すか、スキル名のリストを渡します。正確な名前のみを渡してください。Agent SDK v0.3.221 以降では、SDK は Claude Code プロセスを起動する前に、不正な形式の名前やワイルドカード形式の名前をエラーとして拒否します。設定すると、SDK は Skill ツールを自動的に `allowedTools` に追加します。`tools` も渡す場合は、そのリストに `'Skill'` を含めてください。[スキル](https://code.claude.com/docs/ja/agent-sdk/skills.md)を参照してください |589| `skills` | `string[] \| 'all'` | `undefined` | セッションで使用可能なスキル。検出されたすべてのスキルを有効にするには `'all'` を渡すか、スキル名のリストを渡します。正確な名前のみを渡してください。Agent SDK v0.3.221 以降では、SDK は Claude Code プロセスを起動する前に、不正な形式の名前やワイルドカード形式の名前をエラーとして拒否します。設定すると、SDK は Skill ツールを自動的に `allowedTools` に追加します。`tools` も渡す場合は、そのリストに `'Skill'` を含めてください。[スキル](https://code.claude.com/docs/ja/agent-sdk/skills.md)を参照してください |

590| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Claude Code プロセスを起動するカスタム関数。VM、コンテナ、またはリモート環境で Claude Code を実行する場合に使用します |590| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Claude Code プロセスを起動するカスタム関数。VM、コンテナ、またはリモート環境で Claude Code を実行する場合に使用します |

591| `stderr` | `(data: string) => void` | `undefined` | stderr 出力のコールバック |591| `stderr` | `(data: string) => void` | `undefined` | stderr 出力のコールバック |

592| `strictMcpConfig` | `boolean` | `false` | `mcpServers` で渡されたサーバーのみを使用し、プロジェクトの `.mcp.json`、ユーザー設定、プラグインが提供する MCP サーバー、[claude.ai コネクタ](https://code.claude.com/docs/ja/mcp.md#use-mcp-servers-from-claude-ai)を無視します |592| `strictMcpConfig` | `boolean` | `false` | `mcpServers` で渡されたサーバーを使用し、プロジェクトの `.mcp.json`、ユーザー設定、プラグインが提供する MCP サーバー、および [claude.ai コネクタ](https://code.claude.com/docs/ja/mcp.md#use-mcp-servers-from-claude-ai)を無視します |

593| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined`(最小限のプロンプト) | システムプロンプトの設定。カスタムプロンプトには文字列を渡し、Claude Code のシステムプロンプトを使用するには `{ type: 'preset', preset: 'claude_code' }` を渡します。静的な部分とリクエストごとの部分の間にエクスポートされた `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` 定数を挟んだ文字列の配列を渡すと、[カスタムプロンプトの静的な部分をキャッシュ](https://code.claude.com/docs/ja/agent-sdk/modifying-system-prompts.md#cache-the-static-part-of-a-custom-prompt)できます。プリセットオブジェクト形式を使用する場合は、`append` を追加して追加の指示で拡張できます。また、`excludeDynamicSections: true` を設定すると、セッションごとのコンテキストを最初のユーザーメッセージに移動して、[マシン間でのプロンプトキャッシュの再利用を改善](https://code.claude.com/docs/ja/agent-sdk/modifying-system-prompts.md#improve-prompt-caching-across-users-and-machines)できます。`snapshot: false` を設定すると、[セッションが最初のリクエストで記録したプロンプトを再利用する](https://code.claude.com/docs/ja/agent-sdk/modifying-system-prompts.md#change-the-prompt-of-an-existing-session)代わりに、リクエストごとにプロンプトを再構築します。カスタムプロンプトで `snapshot` を設定するには、`{ type: 'custom', prompt }` 形式を渡します。`{ type: 'custom' }` 形式と `snapshot` フィールドには TypeScript Agent SDK v0.3.257 以降が必要です |593| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined`(最小限のプロンプト) | システムプロンプトの設定。カスタムプロンプトには文字列を渡し、Claude Code のシステムプロンプトを使用するには `{ type: 'preset', preset: 'claude_code' }` を渡します。静的な部分とリクエストごとの部分の間にエクスポートされた `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` 定数を挟んだ文字列の配列を渡すと、[カスタムプロンプトの静的な部分をキャッシュ](https://code.claude.com/docs/ja/agent-sdk/modifying-system-prompts.md#cache-the-static-part-of-a-custom-prompt)できます。プリセットオブジェクト形式を使用する場合は、`append` を追加して追加の指示で拡張できます。また、`excludeDynamicSections: true` を設定すると、セッションごとのコンテキストを最初のユーザーメッセージに移動して、[マシン間でのプロンプトキャッシュの再利用を改善](https://code.claude.com/docs/ja/agent-sdk/modifying-system-prompts.md#improve-prompt-caching-across-users-and-machines)できます。`snapshot: false` を設定すると、[セッションが最初のリクエストで記録したプロンプトを再利用する](https://code.claude.com/docs/ja/agent-sdk/modifying-system-prompts.md#change-the-prompt-of-an-existing-session)代わりに、リクエストごとにプロンプトを再構築します。カスタムプロンプトで `snapshot` を設定するには、`{ type: 'custom', prompt }` 形式を渡します。`{ type: 'custom' }` 形式と `snapshot` フィールドには TypeScript Agent SDK v0.3.257 以降が必要です |

594| `taskBudget` | `{ total: number }` | `undefined` | *アルファ版。* トークン単位の API 側のタスク予算。設定すると、モデルに残りのトークン予算が伝えられ、モデルはツールの使用ペースを調整して上限に達する前に作業をまとめられるようになります |594| `taskBudget` | `{ total: number }` | `undefined` | *アルファ版。* トークン単位の API 側のタスク予算。設定すると、モデルに残りのトークン予算が伝えられ、モデルはツールの使用ペースを調整して上限に達する前に作業をまとめられるようになります |

595| `thinking` | [`ThinkingConfig`](#thinkingconfig) | サポートされているモデルでは `{ type: 'adaptive' }` | Claude の思考/推論の動作を制御します。オプションについては [`ThinkingConfig`](#thinkingconfig) を参照してください |595| `thinking` | [`ThinkingConfig`](#thinkingconfig) | サポートされているモデルでは `{ type: 'adaptive' }` | Claude の思考/推論の動作を制御します。オプションについては [`ThinkingConfig`](#thinkingconfig) を参照してください |


1285| `tools` | いいえ | 許可されるツール名の配列。省略した場合、[サブエージェントで利用可能なツール](https://code.claude.com/docs/ja/sub-agents.md#available-tools)をすべて継承します。スキルをエージェントのコンテキストに事前読み込みするには、ここに `'Skill'` を列挙するのではなく `skills` フィールドを使用してください |1285| `tools` | いいえ | 許可されるツール名の配列。省略した場合、[サブエージェントで利用可能なツール](https://code.claude.com/docs/ja/sub-agents.md#available-tools)をすべて継承します。スキルをエージェントのコンテキストに事前読み込みするには、ここに `'Skill'` を列挙するのではなく `skills` フィールドを使用してください |

1286| `disallowedTools` | いいえ | このエージェントで明示的に禁止するツール名の配列。MCP サーバー単位のパターンも使用できます。`mcp__server` または `mcp__server__*` はそのサーバーのすべてのツールを除外し、`mcp__*` はあらゆるサーバーのすべての MCP ツールを除外します |1286| `disallowedTools` | いいえ | このエージェントで明示的に禁止するツール名の配列。MCP サーバー単位のパターンも使用できます。`mcp__server` または `mcp__server__*` はそのサーバーのすべてのツールを除外し、`mcp__*` はあらゆるサーバーのすべての MCP ツールを除外します |

1287| `prompt` | はい | エージェントのシステムプロンプト |1287| `prompt` | はい | エージェントのシステムプロンプト |

1288| `model` | いいえ | このエージェントのモデルの上書き。`'fable'`、`'opus'`、`'sonnet'`、`'haiku'`、`'inherit'` などのエイリアス、または完全なモデル ID を指定できます。`'inherit'` はメインのモデルを使用します。省略した場合、Claude Code は[サブエージェントのモデルの順序](https://code.claude.com/docs/ja/sub-agents.md#choose-a-model)に従ってモデルを選択します |1288| `model` | いいえ | このエージェント用のモデルの上書き。`'fable'`、`'opus'`、`'sonnet'`、`'haiku'`、`'inherit'` などのエイリアス、または完全なモデル ID を指定できます。`'inherit'` は、このエージェントを生成したエージェントのモデルを使用します。`model` を省略すると、Claude Code は[サブエージェントのモデルの順序](https://code.claude.com/docs/ja/sub-agents.md#choose-a-model)に従ってモデルを選択します |

1289| `mcpServers` | いいえ | このエージェントの MCP サーバーの指定 |1289| `mcpServers` | いいえ | このエージェントの MCP サーバーの指定 |

1290| `skills` | いいえ | エージェントのコンテキストに事前読み込みするスキル名の配列 |1290| `skills` | いいえ | エージェントのコンテキストに事前読み込みするスキル名の配列 |

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

agent-teams.md +26 −9

Details

102>102>

103> `tmux` には特定のオペレーティングシステムでの既知の制限があり、従来は macOS で最も効果的に動作します。iTerm2 で `tmux -CC` を使用することが、`tmux` への推奨エントリーポイントです。103> `tmux` には特定のオペレーティングシステムでの既知の制限があり、従来は macOS で最も効果的に動作します。iTerm2 で `tmux -CC` を使用することが、`tmux` への推奨エントリーポイントです。

104 104 

105デフォルトは `"in-process"` です。`"auto"` を設定して、既に tmux セッション内で実行している場合または使用しているターミナルが iTerm2 で `it2` CLI がインストールされている場合は分割ペインを有効にし、それ以外の場合は in-process にフォールバックします。`"tmux"` 設定は分割ペインモードを有効にし、ターミナルに基づいて tmux または iTerm2 を使用するかどうかを自動検出します。105エージェントチームを[有効化](#enable-agent-teams)した状態で、次の手順に従って各チームメイトに専用のペインを割り当てます。

106 106 

107`"iterm2"` を設定して iTerm2 ネイティブ分割ペインを明示的に使用してください。このモードは [`it2` CLI](https://github.com/mkusaka/it2) が必要で、`it2` が見つからない場合はインストールコマンド付きでエラーを表示します。`it2` をインストールするか tmux に切り替えるオプションを提供するセットアッププロンプトは、ターミナルが iTerm2 で tmux がフォールバックとして利用可能な場合、`"auto"` または `"tmux"` の下に表示されます。107**1. tmux をインストールするか iTerm2 をセットアップする**

108 108 

109デフォルトをオーバーライドするには、`~/.claude/settings.json` で [`teammateMode`](https://code.claude.com/docs/ja/settings-reference#teammatemode) を設定してください。109分割ペインモードには、[tmux](https://github.com/tmux/tmux/wiki) または [`it2` CLI](https://github.com/mkusaka/it2) を備えた iTerm2 が必要です。Claude Code を実行する方をセットアップしてください。

110 

111* **tmux**:システムのパッケージマネージャーを通じてインストールしてください。プラットフォーム固有の手順については、[tmux wiki](https://github.com/tmux/tmux/wiki/Installing) を参照してください。

112* **iTerm2**:[`it2` CLI](https://github.com/mkusaka/it2) をインストールし、**iTerm2 > Settings > General > Magic > Enable Python API** で Python API を有効にしてください。

113 

114**2. 分割ペインをオンにする**

115 

116[`teammateMode`](https://code.claude.com/docs/ja/settings-reference#teammatemode) 設定を変更するまで、チームメイトは in-process で実行されます。

117 

118`~/.claude/settings.json` で `"auto"` に設定してください。

110 119 

111```json theme={null}120```json theme={null}

112{121{


114}123}

115```124```

116 125 

126`"auto"` では、tmux または iTerm2 内で Claude Code を実行するとチームメイトが分割ペインで開き、その他のターミナルでは in-process で実行されます。

127 

128**3. Claude Code を起動してチームメイトをスポーンする**

129 

130tmux 内または iTerm2 で `claude` を実行し、Claude にチームメイトのスポーンを依頼してください。

131 

132iTerm2 で `it2` のセットアッププロンプトが表示された場合は、**Install it2 now** を選択すると、iTerm2 ウィンドウでペインが開きます。

133 

134Claude Code を tmux でも iTerm2 でもない環境で実行する場合、または iTerm2 ウィンドウでペインが開かない場合は、`teammateMode` を再度変更してください。

135 

136* **tmux と iTerm2 の外部**:tmux がインストールされている状態で、`teammateMode` を `"tmux"` に設定してください。ペインは別の tmux セッションで開きます。それらを確認するには、Claude Code プロンプトの `View teammates` 行からコマンドをコピーし、2 つ目のターミナルでそのコマンドを実行してください。

137* **iTerm2 ウィンドウでペインが開かない**:`teammateMode` を `"iterm2"` に設定して、iTerm2 独自のペインを使用してください。その場合、チームメイトは `it2` がセットアップされた iTerm2 で Claude Code を実行したときにのみ起動します。

138 

117単一セッションに対してモードを設定するには、フラグとして渡してください。139単一セッションに対してモードを設定するには、フラグとして渡してください。

118 140 

119```bash theme={null}141```bash theme={null}


122 144 

123`--teammate-mode` フラグは実験的であり、`claude --help` に表示されません。145`--teammate-mode` フラグは実験的であり、`claude --help` に表示されません。

124 146 

125分割ペインモードには、[tmux](https://github.com/tmux/tmux/wiki) または [`it2` CLI](https://github.com/mkusaka/it2) を備えた iTerm2 が必要です。手動でインストールするには、以下を実行してください。

126 

127* **tmux**:システムのパッケージマネージャーを通じてインストールしてください。プラットフォーム固有の手順については、[tmux wiki](https://github.com/tmux/tmux/wiki/Installing) を参照してください。

128* **iTerm2**:[`it2` CLI](https://github.com/mkusaka/it2) をインストールし、**iTerm2 → Settings → General → Magic → Enable Python API** で Python API を有効にしてください。

129 

130### チームメンバーとモデルを指定する147### チームメンバーとモデルを指定する

131 148 

132Claude はタスクに基づいて生成するチームメンバーの数を決定するか、正確に実行したい内容を指定できます。149Claude はタスクに基づいて生成するチームメンバーの数を決定するか、正確に実行したい内容を指定できます。


497* **インプロセスのチームメイトからのバックグラウンドサブエージェント非対応**: インプロセスのチームメイト自身のサブエージェントはフォアグラウンドで実行されます。これはチームメイトのバックグラウンド作業がチームリーダーのプロセスより長く存続できないためです。Claude Code は、チームメイトが `background: true` を設定する定義を持つサブエージェントをスポーンする場合、エラーを返します。チームメイトの `run_in_background: true` リクエストも失敗し、エラーが発生するか、フォアグラウンドで静かに実行されます。メイン会話から起動されたサブエージェントは[バックグラウンドのデフォルト](https://code.claude.com/docs/ja/sub-agents.md#run-subagents-in-foreground-or-background)に従います。514* **インプロセスのチームメイトからのバックグラウンドサブエージェント非対応**: インプロセスのチームメイト自身のサブエージェントはフォアグラウンドで実行されます。これはチームメイトのバックグラウンド作業がチームリーダーのプロセスより長く存続できないためです。Claude Code は、チームメイトが `background: true` を設定する定義を持つサブエージェントをスポーンする場合、エラーを返します。チームメイトの `run_in_background: true` リクエストも失敗し、エラーが発生するか、フォアグラウンドで静かに実行されます。メイン会話から起動されたサブエージェントは[バックグラウンドのデフォルト](https://code.claude.com/docs/ja/sub-agents.md#run-subagents-in-foreground-or-background)に従います。

498* **Lead は固定**: メインセッションはその存続期間中、lead です。teammate を lead に昇格させたり、リーダーシップを譲渡したりすることはできません。515* **Lead は固定**: メインセッションはその存続期間中、lead です。teammate を lead に昇格させたり、リーダーシップを譲渡したりすることはできません。

499* **スポーン時のチームメイトごとの権限モード設定非対応**: チームメイトは[権限](#permissions)で説明されている権限モードで開始します。516* **スポーン時のチームメイトごとの権限モード設定非対応**: チームメイトは[権限](#permissions)で説明されている権限モードで開始します。

500* **分割ペインは tmux または iTerm2 が必要**: デフォルトのインプロセスモードはすべてのターミナルで機能します。分割ペインモードは VS Code の統合ターミナル、Windows Terminal、または Ghostty ではサポートされていません。517* **分割ペインは tmux または iTerm2 が必要**: デフォルトのインプロセスモードはすべてのターミナルで機能します。

501 518 

502## 次のステップ519## 次のステップ

503 520 

agent-view.md +30 −39

Details

144| 形状 | 意味 |144| 形状 | 意味 |

145| :- | :- |145| :- | :- |

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

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

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

149 149 

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


316* グループヘッダーで `Enter` を押すと、そのグループを折りたたみます。ただし、[フィルター](#filter-sessions) が有効な間は、すべてのグループが展開されたままになります316* グループヘッダーで `Enter` を押すと、そのグループを折りたたみます。ただし、[フィルター](#filter-sessions) が有効な間は、すべてのグループが展開されたままになります

317* `Ctrl+X` を押してセッションを停止し、2 秒以内に `Ctrl+X` を再度押してリストから削除します。削除せずに確認を閉じるには `Esc` を押します。2 回目の押下は、たとえば [バックグラウンドサービスが応答していない](#agent-view-says-the-background-service-did-not-respond) ために停止の試みが失敗した場合でも、セッションを削除します。その場合、確認はさらに 2 秒間有効なままで、削除によってセッションのプロセス自体が終了されます317* `Ctrl+X` を押してセッションを停止し、2 秒以内に `Ctrl+X` を再度押してリストから削除します。削除せずに確認を閉じるには `Esc` を押します。2 回目の押下は、たとえば [バックグラウンドサービスが応答していない](#agent-view-says-the-background-service-did-not-respond) ために停止の試みが失敗した場合でも、セッションを削除します。その場合、確認はさらに 2 秒間有効なままで、削除によってセッションのプロセス自体が終了されます

318 318 

319グループヘッダーで `Ctrl+X` を押すと、確認後、そのグループ内のすべてのセッションが削除されます。[セッションを削除するときに削除されるもの](#what-deleting-a-session-removes) で説明されている保持されるケースを除き、削除するとセッションはリストから削除されます。Claude がそのセッション用に作成した worktree は、削除方法と worktree の内容に応じて、削除、保持、またはそのまま残されます。会話のトランスクリプトはローカルマシンに残り、`claude --resume` から利用できます。319グループヘッダーで `Ctrl+X` を押すと、確認後、そのグループ内のすべてのセッションが削除されます。ただし、Claude Code が [削除を拒否する](#delete-a-session-after-claude-code-refuses) セッションは除きます。各セッションの worktree がどうなるかについては、[セッションを削除するときに削除されるもの](#what-deleting-a-session-removes) を参照してください。会話のトランスクリプトはローカルマシンに残り、`claude --resume` から利用できます。

320 320 

321画面に収まらない完了したセッションは `… N more` 行に折りたたまれます。`Completed` グループはライブグループの後に残った縦のスペースを埋めます。短いターミナルではヘッダーが 1 行の概要に圧縮されるため、作業中または入力が必要なセッションは表示されたままになります。321画面に収まらない完了したセッションは `… N more` 行に折りたたまれます。`Completed` グループはライブグループの後に残った縦のスペースを埋めます。短いターミナルではヘッダーが 1 行の概要に圧縮されるため、作業中または入力が必要なセッションは表示されたままになります。

322 322 


622 622 

623#### セッションを削除すると何が削除されるか623#### セッションを削除すると何が削除されるか

624 624 

625セッションを削除するには、[エージェントビュー](#organize-the-list) で `Ctrl+X` を 2 回押すか、[`claude rm`](#manage-sessions-from-the-shell) を使用します。以下で保持されるケースを除き、セッションはリストから削除されます。そのトランスクリプトは `claude --resume` で利用できるようマシン上に残り、削除はスーパーバイザーの再起動後も維持されます。625セッションを削除するには、[エージェントビュー](#organize-the-list) で `Ctrl+X` を 2 回押すか、[`claude rm`](#manage-sessions-from-the-shell) を使用します。Claude Code が [削除を拒否した](#delete-a-session-after-claude-code-refuses) 場合を除き、セッションはリストから削除されます。そのトランスクリプトはマシン上に残り、`claude --resume` で利用できます。

626 626 

627Claude がセッション用に作成した worktree がどうなるかは次のとおりです。627Claude がセッション用に作成した worktree がどうなるかは次のとおりです。

628 628 

629* エージェントビューは、コミットされていない変更も含めて worktree を削除するため、残しておきたいものは先にコミットしてください。629* エージェントビューは、コミットされていない変更も含めて worktree を削除するため、残しておきたいものは先にコミットしてください。

630* `claude rm` は、コミットされていない変更がある場合、セッションの行と一緒に worktree を保持します。630* `claude rm` は、コミットされていない変更がある場合、セッションの行と一緒に worktree を保持します。

631* エージェントビューも `claude rm` も、別の実行中のセッションが使用中またはロック中の worktree は削除せず、再度削除しても変わりません。Claude Code は worktree とセッションを保持し、保持したディレクトリとその理由を示します。エージェントビューでは、セッションの行に `not removed` が表示されます。もう一方のセッションを閉じてから、再度削除してください。

632* 他の場所に保存されていることを Claude Code が確認できないコミットが worktree にあるセッションを削除すると、Claude Code は worktree とセッションを保持し、メッセージには worktree のブランチと未プッシュのコミット数が示されます。メッセージには、コミットをプッシュするか、再度削除してコミットを破棄するかの 2 つの対処方法も示されます。

633 631 

634 リモート上のコミットは削除を妨げません。`origin` リモートのデフォルトブランチのローカルコピー上のコミットも、そのブランチがメインチェックアウト(worktree ではなくリポジトリディレクトリ自体)でチェックアウトされている限り、削除を妨げません。632Claude Code がセッションの削除を拒否する理由の 1 つは、[worktree 内の未プッシュのコミット](https://code.claude.com/docs/ja/errors.md#worktree-has-commits-that-are-not-pushed-anywhere) です。それらのコミットを残すには、セッションを削除する前にプッシュしてください。

635 633 

636 このように拒否された後は、次のいずれかを選択します。634エージェントビューと `claude rm` のどちらを使用しても、ディスク上に残る worktree があります。

637 635 

638 * コミットを残すには、プッシュするか、そのデフォルトブランチにマージしてから、セッションを再度削除します。636* worktree を自分で作成し、その中からセッションを開始した場合、worktree はディスク上に残り、保持するか削除するかを自分で決められます。

639 * コミットを破棄するには、プッシュせずにセッションを再度削除します。エージェントビューでその行に対して `Ctrl+X` を 2 回押すか、拒否時に出力された `claude rm <id> --discard-unpushed` コマンドを実行します。これにより、セッションと worktree がそのブランチとともに削除され、未プッシュのコミットとコミットされていない変更は破棄されます。637* Claude がリポジトリ内に作成した worktree ディレクトリに `.git` ファイルがなくなっている場合、そのディレクトリはディスク上に残るため、自分で削除してください。worktree のブランチはリポジトリに残るため、そのブランチ上のコミットは保持されます。

640 638 

641 再度削除するとき、Claude Code は拒否時に示された内容のみを破棄します。その後 worktree に新しいコミットが追加されていた場合、Claude Code は再び worktree を保持し、更新された状態を表示します。639##### Claude Code が拒否した後にセッションを削除する

642 640 

643 別の完了済みセッションの記録にもその worktree が記載されている場合、再度削除しても worktree は残ります。コミットをプッシュしてから、再度削除してください。641worktree が原因で Claude Code がセッションの削除を拒否した場合は、表示されるメッセージに従ってください。メッセージに未プッシュのコミットが示されている場合は、[Worktree has commits that are not pushed anywhere](https://code.claude.com/docs/ja/errors.md#worktree-has-commits-that-are-not-pushed-anywhere) を参照してください。

644* `git worktree prune` の後など、git がもはや認識しない worktree は削除を妨げません。Claude Code はセッションを削除し、ディレクトリはディスク上に残します。

645* git または [`WorktreeRemove` フック](https://code.claude.com/docs/ja/hooks#worktreeremove) が worktree の削除に失敗した場合、Claude Code は worktree とセッションを保持し、メッセージにその原因を示します。フックの場合、メッセージには `exited 1` などの終了状況が示され、stderr の冒頭が引用されます。メッセージでは、次に行うべきことも以下から示されます。

646 642 

647 * セッションを再度削除して、それでもディレクトリを削除します。エージェントビューでその行に対して `Ctrl+X` を 2 回押すか、`claude rm` の拒否時に出力された `claude rm <id> --force-remove-worktree <worktree-id>` コマンドを実行します。worktree のブランチはリポジトリに残ります。643##### `Worktree not removed` メッセージを解決する

648 644 

649 Claude Code がこの方法を提示するのは、以下のすべてを確認できる場合のみです。645`Worktree not removed` メッセージは、Claude Code または [`WorktreeRemove` フック](https://code.claude.com/docs/ja/hooks#worktreeremove) がセッションの worktree の削除を完了しなかったことを意味します。コミットがあればプッシュし、残しておきたいファイルをコピーして退避してから、メッセージに従ってください。

650 646 

651 * ディレクトリが、`.claude/worktrees/` の下にあるリポジトリのリンクされた worktree の 1 つである647##### `files that weren't checked against a repository` メッセージを解決する

652 * worktree にも、チェックアウトされたサブモジュールにも、追跡対象ファイルへのコミットされていない変更がない

653 * 他のセッションの記録にそのディレクトリが記載されていない

654 648 

655 別の git リポジトリに置き換えられたものなど、サブモジュールのチェックアウトの状態を Claude Code が確認できない場合も、この方法は提示されません。649`claude rm` からのこのメッセージは、どの git リポジトリにも属さない worktree ディレクトリ、または [`WorktreeCreate` フック](https://code.claude.com/docs/ja/hooks#worktreecreate) が管理する worktree ディレクトリにファイルが残っていることを意味します。残しておきたいファイルをコピーして退避してから、該当するケースの手順を実行してください。

656 * コミットされていない変更をコミットまたはスタッシュする、別の git リポジトリを worktree の外に移動する、ディレクトリを使用しているものを閉じる、フックを修正するなど、障害となっているものを解消してから、セッションを再度削除します。

657 * ディレクトリを自分で削除してから、セッションを再度削除します。

658 650 

659自分で作成し、その中でセッションを開始した worktree は、いずれの場合もそのまま残ります。651| 該当するケース | 対処方法 |

660 652| :- | :- |

661リポジトリが削除された場合や、[`WorktreeCreate` フック](https://code.claude.com/docs/ja/hooks#worktreecreate) が別の場所にディレクトリを作成した場合など、worktree ディレクトリがどの git リポジトリにも属さないセッションも削除できます。ディレクトリにファイルが残っている間は、次のようになります。653| `WorktreeCreate` フックがディレクトリを管理していない | ファイルを破棄するには、エージェントビューでセッションの行に対して `Ctrl+X` を 2 回押します。または、ディレクトリを自分で削除してから、`claude rm <id>` を再度実行します |

662 654| `WorktreeCreate` フックがディレクトリを管理しており、[`WorktreeRemove` フック](https://code.claude.com/docs/ja/hooks#worktreeremove) がある | フックでディレクトリの削除を試みるには、エージェントビューでセッションの行に対して `Ctrl+X` を 2 回押します。または、ディレクトリを自分で削除してから、`claude rm <id>` を再度実行します |

663* エージェントビューは、ファイルを破棄する前に同じく `Ctrl+X` の 2 回押しを求めます。フックが作成したディレクトリの場合は、代わりに [`WorktreeRemove` フック](https://code.claude.com/docs/ja/hooks#worktreeremove) を実行し、そのフックがない場合は削除を拒否してセッションを保持します。655| `WorktreeCreate` フックがディレクトリを管理しており、`WorktreeRemove` フックがない | ディレクトリを自分で削除してから、`claude rm <id>` を再度実行します |

664* `claude rm` はセッションと worktree を保持し、その理由を示します。

665 

666どちらの方法でも、別の完了済みセッションの記録に記載されているディレクトリは保持されます。

667 656 

668### モデル、effort、fast mode を設定する657### モデル、effort、fast mode を設定する

669 658 


774| [`--add-dir <path>`](https://code.claude.com/docs/ja/permissions#additional-directories-grant-file-access-not-configuration) | 追加ディレクトリへのファイルアクセスを付与します |763| [`--add-dir <path>`](https://code.claude.com/docs/ja/permissions#additional-directories-grant-file-access-not-configuration) | 追加ディレクトリへのファイルアクセスを付与します |

775| [`--plugin-dir <path>`](https://code.claude.com/docs/ja/plugins/create#load-a-directory-or-archive-for-one-session) | ローカルディレクトリからプラグインを読み込みます |764| [`--plugin-dir <path>`](https://code.claude.com/docs/ja/plugins/create#load-a-directory-or-archive-for-one-session) | ローカルディレクトリからプラグインを読み込みます |

776| [`--mcp-config <file-or-json>`](https://code.claude.com/docs/ja/mcp) | 設定ファイルまたは JSON 文字列から MCP サーバーを読み込みます |765| [`--mcp-config <file-or-json>`](https://code.claude.com/docs/ja/mcp) | 設定ファイルまたは JSON 文字列から MCP サーバーを読み込みます |

777| `--strict-mcp-config` | `--mcp-config` の MCP サーバーのみを使用し、他の MCP 設定を無視します。管理 MCP ファイルがある場合のこのフラグの動作については、[managed-mcp.json による排他的制御](https://code.claude.com/docs/ja/managed-mcp.md#exclusive-control-with-managed-mcp-json) を参照してください |766| `--strict-mcp-config` | `.mcp.json` などの場所で設定された MCP サーバーをスキップし、`--mcp-config` で渡したものを読み込みます。管理 MCP ファイルがある場合のこのフラグの動作については、[managed-mcp.json による排他的制御](https://code.claude.com/docs/ja/managed-mcp.md#exclusive-control-with-managed-mcp-json) を参照してください |

778 767 

779`--add-dir`、`--plugin-dir`、`--mcp-config` は値ごとに 1 回ずつ繰り返して指定します。`claude agents` は、`--add-dir a b c` のようなスペース区切りの形式をサポートしていません。768`--add-dir`、`--plugin-dir`、`--mcp-config` は値ごとに 1 回ずつ繰り返して指定します。`claude agents` は、`--add-dir a b c` のようなスペース区切りの形式をサポートしていません。

780 769 


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

803| `claude respawn <id>` | セッションを再開する。実行中または停止状態のセッションを再開します。例えば、更新された Claude Code バイナリを取得するため。保存された会話があるセッションはその会話を再開します |792| `claude respawn <id>` | セッションを再開する。実行中または停止状態のセッションを再開します。例えば、更新された Claude Code バイナリを取得するため。保存された会話があるセッションはその会話を再開します |

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

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

806| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | プッシュされていないコミットで削除が拒否されたセッションを削除し、worktree をそのブランチとコミットとともに破棄します。拒否が出力した正確な値を渡します。[セッションの削除で何が削除されるか](#what-deleting-a-session-removes)を参照してください。v2.1.260 以降が必要です |795| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | プッシュされていないコミットを理由に Claude Code が拒否した後、セッションの削除を再試行し、その worktree を破棄します。このコマンドを提示する `claude rm` のメッセージからコマンドをコピーしてください。[Worktree has commits that are not pushed anywhere](https://code.claude.com/docs/ja/errors.md#worktree-has-commits-that-are-not-pushed-anywhere) を参照してください。v2.1.260 以降が必要です |

807| `claude rm <id> --force-remove-worktree <worktree-id>` | git または `WorktreeRemove` フックが worktree を削除できなかったために削除が拒否されたセッションを削除し、worktree ディレクトリを削除してそのブランチをリポジトリに残します。拒否が出力した正確な値を渡します。[セッションの削除で何が削除されるか](#what-deleting-a-session-removes)を参照してください。v2.1.268 以降が必要です |796| `claude rm <id> --force-remove-worktree <worktree-id>` | worktree を削除できなかったために Claude Code が拒否した後、セッションの削除を再試行し、それでも worktree ディレクトリを削除します。このコマンドを提示する `claude rm` のメッセージからコマンドをコピーしてください。[`Worktree not removed` メッセージを解決する](#resolve-a-worktree-not-removed-message)を参照してください。v2.1.268 以降が必要です |

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

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

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


939 928 

940 行で `Enter` を押すと、フッターに `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to remove it.` が表示されます。同じ行で再度 `Enter` を押して、保存された会話を再開します。返信または `claude attach <id>` でそのフッタープロンプトなしで再開します。929 行で `Enter` を押すと、フッターに `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to remove it.` が表示されます。同じ行で再度 `Enter` を押して、保存された会話を再開します。返信または `claude attach <id>` でそのフッタープロンプトなしで再開します。

941 930 

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

943 932 

944スリープだけではセッションを停止しません。セッションはスリープ全体で保持され、スーパーバイザーはウェイク時にそれらに再接続します。933スリープだけではセッションを停止しません。セッションはスリープ全体で保持され、スーパーバイザーはウェイク時にそれらに再接続します。

945 934 


973 962 

974バックグラウンドセッションのプロセスが開始を完了する前に終了し、ホストのメモリが不足している場合、行のステータスは終了を名前で表示し、`possibly low memory — free some up and retry` を追加します。963バックグラウンドセッションのプロセスが開始を完了する前に終了し、ホストのメモリが不足している場合、行のステータスは終了を名前で表示し、`possibly low memory — free some up and retry` を追加します。

975 964 

976ノートは仮説であり、確認された原因ではありません。Claude Code はプロセスがエラーを書き込まずに静かに終了し、シグナルによって停止されず、ホストがその時点で低メモリを報告した場合にのみ追加します。プロセスが終了前にエラーを書き込んだ場合、行はそのエラーを代わりに表示します。965> [!NOTE]

966>

967> ノートは仮説であり、確認された原因ではありません。Claude Code はプロセスがエラーを書き込まずに静かに終了し、シグナルによって停止されず、ホストがその時点で低メモリを報告した場合にのみ追加します。プロセスが終了前にエラーを書き込んだ場合、行はそのエラーを代わりに表示します。

977 968 

978マシンのメモリを解放してから、行にアタッチまたは返信すると、スーパーバイザーがセッションの新しいプロセスを開始します。メモリが低いままの場合、スーパーバイザーは[アイドルセッションを停止](#the-supervisor-process)して独自にリソースを解放し、他のセッションを停止しても何も解放されない場合は、アイドル状態のピン留めセッションも停止します。969ホストのメモリを解放してから行で `Enter` を押し、[フッターで求められた](#opening-a-session-says-it-has-no-saved-transcript)場合はもう一度押してください。[スーパーバイザー](#the-supervisor-process)がセッションの新しいプロセスを開始します。メモリが低いままの場合、スーパーバイザーは[アイドルセッションを停止](#the-supervisor-process)して独自にリソースを解放し、他のセッションを停止しても何も解放されない場合は、アイドル状態のピン留めセッションも停止します。

979 970 

980### エージェントビューがバックグラウンドサービスが応答しなかったと表示される971### エージェントビューがバックグラウンドサービスが応答しなかったと表示される

981 972 


1036 1027 

1037### `.claude/worktrees/` が満杯になっている1028### `.claude/worktrees/` が満杯になっている

1038 1029 

1039エージェントビューでセッションを削除すると、Claude が作成した worktree が削除されます。ただし、[いくつかの削除は worktree を保持するか、そのディレクトリをディスク上に残す](#what-deleting-a-session-removes)ため、孤立したディレクトリが蓄積する可能性があります。Git がもはや認識しないディレクトリは `git worktree list` に表示されないため、それらを手動で削除します。1030エージェントビューでセッションを削除すると、Claude が作成した worktree が削除されますが、[一部の worktree ディレクトリはディスク上に残ります](#what-deleting-a-session-removes)。Git がもはや認識しないディレクトリは `git worktree list` に表示されないため、それらは手動で削除してください。

1040 1031 

1041プロジェクトディレクトリで `git worktree list` を使用して孤立したエントリをリストし、各エントリを `git worktree remove <path>` で削除します。[worktree をクリーンアップする](https://code.claude.com/docs/ja/worktrees.md#clean-up-worktrees)を参照してください。1032プロジェクトディレクトリで `git worktree list` を使用して残っているエントリをリストし、各エントリを `git worktree remove <path>` で削除します。Git が拒否する場合は、[サブエージェントとバックグラウンドセッションの worktree をクリーンアップする](https://code.claude.com/docs/ja/worktrees.md#clean-up-subagent-and-background-session-worktrees)を参照してください。

1042 1033 

1043## 制限事項1034## 制限事項

1044 1035 


1046 1037 

1047* **レート制限が適用される**:バックグラウンドセッションはインタラクティブセッションと同じようにサブスクリプション使用量を消費するため、10 個のエージェントを並行して実行するとクォータが 10 倍速く消費されます。1038* **レート制限が適用される**:バックグラウンドセッションはインタラクティブセッションと同じようにサブスクリプション使用量を消費するため、10 個のエージェントを並行して実行するとクォータが 10 倍速く消費されます。

1048* **セッションはローカル**:バックグラウンドセッションはマシンで実行され、スリープ中は保持されますが、マシンがシャットダウンすると停止します。1039* **セッションはローカル**:バックグラウンドセッションはマシンで実行され、スリープ中は保持されますが、マシンがシャットダウンすると停止します。

1049* **Claude が作成した worktrees はエージェント view のセッションで削除される**:セッションが独自の worktree でファイルを編集した場合、セッションを削除する前に変更をコミットしてください。[削除によって worktree が保持される場合もあります](#what-deleting-a-session-removes)。1040* **Claude が作成した worktree は agent view でセッションとともに削除される**:セッションが独自の worktree でファイルを編集した場合、セッションを削除する前に変更をコミットしてください。[一部の worktree はディスクに残ります](#what-deleting-a-session-removes)。

1050 1041 

1051## 関連リソース1042## 関連リソース

1052 1043 

artifacts.md +2 −2

Details

432 432 

433アーティファクトが自動削除される前に保持される期間を設定するには、[**Organization settings > Data and privacy**](https://claude.ai/admin-settings/data-privacy-controls)に移動します。作成者にのみプライベートなアーティファクトと共有されたアーティファクトに対して、別々の保持期間を設定できます。433アーティファクトが自動削除される前に保持される期間を設定するには、[**Organization settings > Data and privacy**](https://claude.ai/admin-settings/data-privacy-controls)に移動します。作成者にのみプライベートなアーティファクトと共有されたアーティファクトに対して、別々の保持期間を設定できます。

434 434 

435### 監査ログを確認する435### Compliance API でアーティファクトのアクティビティを監査する

436 436 

437アーティファクトの公開、共有、削除は、それぞれ組織の監査ログに `claude_artifact_*` イベントタイプの下に表示されます。これは claude.ai の会話で作成されたアーティファクトに使用されるのと同じファミリーです。437Enterprise プランでは、Compliance API の [Activity Feed](https://platform.claude.com/docs/en/manage-claude/compliance-activity-feed) をクエリして、誰がアーティファクトを公開、共有、または削除したかを確認できます。フィルタリングに使用するアクティビティタイプを見つけるには、[Activity Feed リファレンス](https://platform.claude.com/docs/en/api/compliance/activities/list)で `activity_types` を展開し、`artifact` を含む名前を探します。

438 438 

439### ビューアドメインをホワイトリストに登録する439### ビューアドメインをホワイトリストに登録する

440 440 

Details

163Claude は会話で送信する各メッセージがどこに行くかを決定します。163Claude は会話で送信する各メッセージがどこに行くかを決定します。

164 164 

165* 簡単な質問は通常、会話で答えが得られます。165* 簡単な質問は通常、会話で答えが得られます。

166* 新しい作業は新しいスレッドまたはその領域で既に作業しているスレッドに送られ、Claude はどちらかを教えてくれます。新しい各スレッドはあなたのメッセージの下にカードとして表示されます。スレッドのタイトルとステータスを含むボックスで、クリックしてスレッドを開きます。166* 新しい作業は新しいスレッドまたはその領域で既に作業しているスレッドに送られ、Claude はどちらかを教えてくれます。新しい各スレッドは会話に表示され、クリックするとスレッドが開きます。

167* 1 つのメッセージ内の複数の関連のないタスクは、別々のスレッドになります。167* 1 つのメッセージ内の複数の関連のないタスクは、別々のスレッドになります。

168 168 

169Claude がメッセージを希望と異なる方法でルーティングした場合は、そう言ってください。[Claude がプロジェクトを実行する方法を調整する](#tune-how-claude-runs-a-project)は、既存のスレッドをフォローアップに再利用するか、代わりにその場で回答するなど、Claude に伝えることができることをリストしています。169Claude がメッセージを希望と異なる方法でルーティングした場合は、そう言ってください。[Claude がプロジェクトを実行する方法を調整する](#tune-how-claude-runs-a-project)は、既存のスレッドをフォローアップに再利用するか、代わりにその場で回答するなど、Claude に伝えることができることをリストしています。

170 170 

171スレッドの完全な結果はスレッドに留まり、会話でそのカードを開いて読みます。スレッドが生成したファイルは、プロジェクトの[**ライブラリ**](#see-what-needs-you-in-overview)にもあります。171スレッドの完全な結果はスレッドに残るため、スレッドを開いて読んでください。スレッドが生成したファイルは、プロジェクトの[**ライブラリ**](#see-what-needs-you-in-overview)にもあります。

172 172 

173時々 Claude はスレッドを開始する代わりに提案し、**提案されたスレッド**リストに表示されます。提案の矢印をクリックしてそのスレッドを開始します。複数がリストされている場合、リストの下のボタンはすべてを開始します。173時々 Claude はスレッドを開始する代わりに提案し、**提案されたスレッド**リストに表示されます。提案の矢印をクリックしてそのスレッドを開始します。複数がリストされている場合、リストの下のボタンはすべてを開始します。

174 174 


180* **プルリクエスト**:あなたが要求したときに開き、バグ修正または別の具体的な変更のために自動的に開くことができます。180* **プルリクエスト**:あなたが要求したときに開き、バグ修正または別の具体的な変更のために自動的に開くことができます。

181* **開いた後**:[自動修正](https://code.claude.com/docs/ja/claude-code-on-the-web.md#auto-fix-pull-requests)をオンにしてプルリクエストを監視します。他のクラウドセッションで自動修正がオンかどうかに関わらず。CI が失敗したときに修正をプッシュし、レビューコメントに対処し、チェックが成功してプルリクエストがあなたの準備ができたときにスレッドで返信します。181* **開いた後**:[自動修正](https://code.claude.com/docs/ja/claude-code-on-the-web.md#auto-fix-pull-requests)をオンにしてプルリクエストを監視します。他のクラウドセッションで自動修正がオンかどうかに関わらず。CI が失敗したときに修正をプッシュし、レビューコメントに対処し、チェックが成功してプルリクエストがあなたの準備ができたときにスレッドで返信します。

182 182 

183スレッドがブランチをプッシュしたか、プルリクエストを開いた場合、会話でそのカードは次のステップのボタンを表示できます。

184 

185* **競合を解決**、**CI を修正**、**コメントに対処**、および**マージする**は、その指示をあなたからのメッセージとしてスレッドに送信します。プルリクエストに反応するのを待つ代わりに、スレッド自体にプロンプトを出すことができます。

186* **PR をレビュー**は GitHub でプルリクエストを開きます。

187* **PR を作成**は、アイドル状態のスレッドがブランチをプッシュしたが、プルリクエストを開いていない場合に表示されます。クリックすると、スレッドに開くように指示を送信するのではなく、そのブランチから直接プルリクエストを作成します。

188 

189スレッドがプルリクエストを開く時期を変更するには、たとえば要求したときのみ、またはどのブランチから開始するかを変更するには、タスクまたは[プロジェクト指示](#write-project-instructions)で言ってください。183スレッドがプルリクエストを開く時期を変更するには、たとえば要求したときのみ、またはどのブランチから開始するかを変更するには、タスクまたは[プロジェクト指示](#write-project-instructions)で言ってください。

190 184 

191### 概要で必要なものを確認する185### 概要で必要なものを確認する


212 206 

213### コントロールが必要なときにスレッドを開く207### コントロールが必要なときにスレッドを開く

214 208 

215会話でスレッドのカードをクリックするか、概要でその行をクリックして、概要ペインでそのトランスクリプトを開きます。そこから以下を実行できます。209会話でスレッドをクリックするか、概要でその行をクリックすると、概要ペインでスレッドが開きます。そこから以下を実行できます。

216 210 

217* Claude が何をしたかをステップバイステップで読みます。211* Claude が何をしたかをステップバイステップで読みます。

218* スレッド独自のメッセージボックスに書き込んでタスクを操舵します。そこのメッセージはそのスレッドに直接送られ、プロジェクト会話でのフォローアップは Claude がフォローアップをそのスレッドと一致させるときにのみそれに到達します。212* スレッド独自のメッセージボックスに書き込んでタスクを操舵します。そこのメッセージはそのスレッドに直接送られ、プロジェクト会話でのフォローアップは Claude がフォローアップをそのスレッドと一致させるときにのみそれに到達します。

Details

128| `--session-id` | 会話に特定のセッション ID を使用します(有効な UUID である必要があります) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |128| `--session-id` | 会話に特定のセッション ID を使用します(有効な UUID である必要があります) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

129| `--setting-sources` | 読み込む設定ソースのカンマ区切りリスト(`user`、`project`、`local`)。このセッションから開始し、このリストを継承するセッションについては、[エージェントビュー](https://code.claude.com/docs/ja/agent-view.md#what-carries-over-when-you-background)と[エージェントチーム](https://code.claude.com/docs/ja/agent-teams.md#context-and-communication)を参照してください | `claude --setting-sources user,project` |129| `--setting-sources` | 読み込む設定ソースのカンマ区切りリスト(`user`、`project`、`local`)。このセッションから開始し、このリストを継承するセッションについては、[エージェントビュー](https://code.claude.com/docs/ja/agent-view.md#what-carries-over-when-you-background)と[エージェントチーム](https://code.claude.com/docs/ja/agent-teams.md#context-and-communication)を参照してください | `claude --setting-sources user,project` |

130| `--settings` | 設定 JSON ファイルへのパス、またはインライン JSON 文字列。ここで設定した値は、このセッションでは `settings.json` ファイル内の同じキーを上書きします。省略したキーはファイルベースの値を保持します。ファイルは 2 MiB 以下の通常のファイルである必要があります。[設定の優先順位](https://code.claude.com/docs/ja/settings.md#settings-precedence)を参照してください | `claude --settings ./settings.json` |130| `--settings` | 設定 JSON ファイルへのパス、またはインライン JSON 文字列。ここで設定した値は、このセッションでは `settings.json` ファイル内の同じキーを上書きします。省略したキーはファイルベースの値を保持します。ファイルは 2 MiB 以下の通常のファイルである必要があります。[設定の優先順位](https://code.claude.com/docs/ja/settings.md#settings-precedence)を参照してください | `claude --settings ./settings.json` |

131| `--strict-mcp-config` | `--mcp-config` の MCP サーバーのみを使用し、他のすべての MCP 設定を無視します。管理 MCP ファイルがある場合のこのフラグの動作については、[managed-mcp.json による排他的制御](https://code.claude.com/docs/ja/managed-mcp.md#exclusive-control-with-managed-mcp-json)を参照してください | `claude --strict-mcp-config --mcp-config ./mcp.json` |131| `--strict-mcp-config` | `.mcp.json`、`~/.claude.json`、プラグインなどの場所で設定された MCP サーバーをスキップし、`--mcp-config` で渡した MCP サーバーを読み込みます。管理 MCP ファイルがある場合のこのフラグの動作については、[managed-mcp.json による排他的制御](https://code.claude.com/docs/ja/managed-mcp.md#exclusive-control-with-managed-mcp-json)を参照してください | `claude --strict-mcp-config --mcp-config ./mcp.json` |

132| `--system-prompt` | システムプロンプト全体をカスタムテキストに置き換えます | `claude --system-prompt "You are a Python expert"` |132| `--system-prompt` | システムプロンプト全体をカスタムテキストに置き換えます | `claude --system-prompt "You are a Python expert"` |

133| `--system-prompt-file` | ファイルからシステムプロンプトを読み込み、デフォルトのプロンプトを置き換えます | `claude --system-prompt-file ./custom-prompt.txt` |133| `--system-prompt-file` | ファイルからシステムプロンプトを読み込み、デフォルトのプロンプトを置き換えます | `claude --system-prompt-file ./custom-prompt.txt` |

134| `--system-prompt-snapshot` | `off` を渡すと、[会話の最初のリクエストで記録された](#system-prompt-flags-in-resumed-conversations)プロンプトを再利用する代わりに、リクエストごとにシステムプロンプトを再構築します。たとえば、`--continue` の実行をまたいで `--append-system-prompt` のテキストを繰り返し調整する場合に使用します。Claude Code v2.1.257 以降が必要です | `claude --system-prompt-snapshot off` |134| `--system-prompt-snapshot` | `off` を渡すと、[会話の最初のリクエストで記録された](#system-prompt-flags-in-resumed-conversations)プロンプトを再利用する代わりに、リクエストごとにシステムプロンプトを再構築します。たとえば、`--continue` の実行をまたいで `--append-system-prompt` のテキストを繰り返し調整する場合に使用します。Claude Code v2.1.257 以降が必要です | `claude --system-prompt-snapshot off` |

desktop.md +2 −1

Details

2127 2127 

2128これを防ぐには、Claude Desktop ポリシー(Windows では`HKLM`)にも、claude.ai 組織 ID を指定して`forceLoginOrgUUID`をデプロイしてください。ポリシー自体が[Claude API を選択](https://claude.com/docs/third-party/claude-desktop/claude-api#choose-an-authentication-approach)している場合を除き、Claude Desktop はアプリの次回起動時から、ユーザー自身の API キーまたは Console アカウントを使用しなくなります。2128これを防ぐには、Claude Desktop ポリシー(Windows では`HKLM`)にも、claude.ai 組織 ID を指定して`forceLoginOrgUUID`をデプロイしてください。ポリシー自体が[Claude API を選択](https://claude.com/docs/third-party/claude-desktop/claude-api#choose-an-authentication-approach)している場合を除き、Claude Desktop はアプリの次回起動時から、ユーザー自身の API キーまたは Console アカウントを使用しなくなります。

2129 2129 

2130デプロイする前に、次の 2 つのケースを確認してください:2130デプロイする前に、次の 3 つのケースを確認してください:

2131 2131 

2132* **Claude Console 組織**:Claude Console 組織の ID を指定して`forceLoginOrgUUID`を単独でデプロイしないでください。そうすると、組織のメンバーが Claude Desktop を使用できなくなります。代わりに[Which devices offer the Claude API account sign-in](https://claude.com/docs/third-party/claude-desktop/claude-api#which-devices-offer-the-claude-api-account-sign-in)を参照してください。2132* **Claude Console 組織**:Claude Console 組織の ID を指定して`forceLoginOrgUUID`を単独でデプロイしないでください。そうすると、組織のメンバーが Claude Desktop を使用できなくなります。代わりに[Which devices offer the Claude API account sign-in](https://claude.com/docs/third-party/claude-desktop/claude-api#which-devices-offer-the-claude-api-account-sign-in)を参照してください。

2133* **Enterprise Admin Console**:これがコンピューターの Claude Desktop 設定を配信している場合は、先にそれらのコンピューターを Claude Desktop v2.37337.0 以降に更新してください。それより前のバージョンでは、このキーが設定されるとその設定が無視されるためです。[Keep a device on its managed profile](https://claude.com/docs/third-party/claude-desktop/admin-console#keep-a-device-on-its-managed-profile)を参照してください。2133* **Enterprise Admin Console**:これがコンピューターの Claude Desktop 設定を配信している場合は、先にそれらのコンピューターを Claude Desktop v2.37337.0 以降に更新してください。それより前のバージョンでは、このキーが設定されるとその設定が無視されるためです。[Keep a device on its managed profile](https://claude.com/docs/third-party/claude-desktop/admin-console#keep-a-device-on-its-managed-profile)を参照してください。

2134* **サードパーティプロバイダー**:ユーザーがアプリ内で独自の[サードパーティ推論設定](https://claude.com/docs/third-party/claude-desktop/in-app-configuration)を行っている場合、このキーをデプロイした後の次回起動時から、Claude Desktop はその設定を無視します。ユーザーが Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または LLM ゲートウェイを引き続き使用できるようにするには、同じ Claude Desktop ポリシーで、ユーザーのコンピューターに[設定をデプロイ](https://claude.com/docs/third-party/claude-desktop/configuration)してください。

2134 2135 

2135### ネットワークアクセス要件2136### ネットワークアクセス要件

2136 2137 

Details

182* **Review allowed permissions**: **Always allowed** パネルからこのタスクの保存されたツール承認を確認および取り消します182* **Review allowed permissions**: **Always allowed** パネルからこのタスクの保存されたツール承認を確認および取り消します

183* **Delete**: タスクを削除します。タスクが作成したセッションは削除されず、[アーカイブ](https://code.claude.com/docs/ja/desktop.md#organize-and-find-sessions)されます。タスクの `SKILL.md` ファイルを格納するフォルダは、ディスク上の `~/.claude/scheduled-tasks/<task-name>/`、またはその変数を設定している場合は [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars) 配下の `scheduled-tasks/<task-name>/` に残ります。そのフォルダを削除するには、手動で削除してください。183* **Delete**: タスクを削除します。タスクが作成したセッションは削除されず、[アーカイブ](https://code.claude.com/docs/ja/desktop.md#organize-and-find-sessions)されます。タスクの `SKILL.md` ファイルを格納するフォルダは、ディスク上の `~/.claude/scheduled-tasks/<task-name>/`、またはその変数を設定している場合は [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars) 配下の `scheduled-tasks/<task-name>/` に残ります。そのフォルダを削除するには、手動で削除してください。

184 184 

185任意の Desktop セッションで Claude に尋ねることで、タスクをリスト、作成、編集、および一時停止することもできます。たとえば、「dependency-audit タスクを一時停止する」または「スケジュール設定されたタスクを表示する」などです。タスクを削除するには、その詳細ページの **Delete** ボタンを使用します。185Claude に尋ねる、タスク自身に更新させる、またはディスク上のタスクのプロンプトを編集することでも、タスクを管理できます。

186 186 

187タスクが `update_scheduled_task` MCP ツールを使用して自身のスケジュールまたはプロンプトを変更できるようにするには、**Run now** をクリックし、その呼び出しを毎回承認してください。187* **Claude に尋ねる**: 任意の Desktop セッションで Claude に尋ねることで、タスクをリスト、作成、編集、および一時停止できます。たとえば、「dependency-audit タスクを一時停止する」または「スケジュールタスクを表示する」などです。タスクを削除するには、その詳細ページの **Delete** ボタンを使用します。

188 188* **タスク自身に更新させる**: タスクが `update_scheduled_task` MCP ツールを使用して自身のスケジュールまたはプロンプトを変更できるようにするには、**Run now** をクリックし、その呼び出しを毎回承認してください

189ディスク上のタスクのプロンプトを編集するには、`~/.claude/scheduled-tasks/<task-name>/SKILL.md` を開きます([`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars) が設定されている場合はその下)。ファイルは `name` と `description` の YAML フロントマターを使用し、プロンプトが本文です。変更は次の実行時に有効になります。スケジュール、フォルダ、および有効な状態はこのファイルにはありません。Edit フォームを通じて変更するか、Claude に尋ねます。189* **ディスク上のプロンプトを編集する**: `~/.claude/scheduled-tasks/<task-name>/SKILL.md`、またはその変数を設定している場合は [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars) 配下の `scheduled-tasks/<task-name>/SKILL.md` を開きます。ファイルは `name` と `description` の YAML フロントマターを使用し、プロンプトが本文です。変更は次の実行時に有効になります。スケジュール、フォルダ、および有効な状態はこのファイルにはありません。Edit フォームを通じて変更するか、Claude に尋ねます。

190 190 

191## 関連リソース191## 関連リソース

192 192 

env-vars.md +1 −1

Details

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

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

358| `CLAUDE_CODE_PLUGIN_DIRS` | セッションで読み込むプラグインディレクトリ。それぞれ [`--plugin-dir`](https://code.claude.com/docs/ja/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) フラグと同じ方法で読み込まれます。複数のパスは、Unix では `:`、Windows では `;` で区切ります。Claude Code は相対パスをスキップするため、各パスは絶対パスで指定するか `~` で始めてください。Claude Code v2.1.280 以降が必要です。[1 つのセッションでプラグインを読み込む](https://code.claude.com/docs/ja/plugins/create.md#load-a-directory-or-archive-for-one-session) を参照してください |358| `CLAUDE_CODE_PLUGIN_DIRS` | セッションで読み込むプラグインディレクトリ。それぞれ [`--plugin-dir`](https://code.claude.com/docs/ja/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) フラグと同じ方法で読み込まれます。複数のパスは、Unix では `:`、Windows では `;` で区切ります。Claude Code は相対パスをスキップするため、各パスは絶対パスで指定するか `~` で始めてください。Claude Code v2.1.280 以降が必要です。[1 つのセッションでプラグインを読み込む](https://code.claude.com/docs/ja/plugins/create.md#load-a-directory-or-archive-for-one-session) を参照してください |

359| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) のファイルが変更されたときに、Claude Code が mod を再読み込みするかどうかを制御します。再読み込みは `--plugin-dir` でディレクトリから読み込んだ mod に適用され、対話セッションではデフォルトでオンです。`1` に設定すると非対話セッションでもオンになり、`0` に設定するとすべてのセッションでオフになります。Claude Code v2.1.287 以降が必要です。[mod の設定と環境変数](https://code.claude.com/docs/ja/plugins/mods/reference.md#settings-and-environment-variables) を参照してください |359| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) のファイルが変更されたときに mod を再読み込みするかどうかを制御します。デフォルトでは、[スキルディレクトリ](https://code.claude.com/docs/ja/plugins/org.md#keep-skills-directory-plugins-loading)内の mod は、[非対話](https://code.claude.com/docs/ja/headless.md)セッションを含め、複数のプロンプトを受け取るすべてのセッションで再読み込みされます。`--plugin-dir` ディレクトリ内の mod は、対話型ターミナルセッションでのみ再読み込みされます。`1` に設定するとスキルディレクトリの mod と同様に再読み込みし、`0` に設定するとすべての場所で再読み込みをオフにします。Claude Code v2.1.287 以降が必要です |

360| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | プラグインマーケットプレイスのクローンまたは更新のタイムアウト(ミリ秒)(デフォルト: 120000)。大きなリポジトリや低速なネットワーク接続の場合は、この値を増やしてください。[Git clone timed out](https://code.claude.com/docs/ja/plugins/troubleshooting.md#git-clone-timed-out-after-120s) を参照してください |360| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | プラグインマーケットプレイスのクローンまたは更新のタイムアウト(ミリ秒)(デフォルト: 120000)。大きなリポジトリや低速なネットワーク接続の場合は、この値を増やしてください。[Git clone timed out](https://code.claude.com/docs/ja/plugins/troubleshooting.md#git-clone-timed-out-after-120s) を参照してください |

361| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | `1` に設定すると、マーケットプレイスの更新でリモートに到達できないか認証できない場合に、再クローンの試行をスキップして既存のマーケットプレイスのチェックアウトを使い続けます。再クローンしても同じように失敗するオフライン環境やエアギャップ環境で便利です。[オフライン環境でマーケットプレイスの更新が失敗する](https://code.claude.com/docs/ja/plugins/troubleshooting.md#marketplace-updates-keep-failing-offline) を参照してください |361| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | `1` に設定すると、マーケットプレイスの更新でリモートに到達できないか認証できない場合に、再クローンの試行をスキップして既存のマーケットプレイスのチェックアウトを使い続けます。再クローンしても同じように失敗するオフライン環境やエアギャップ環境で便利です。[オフライン環境でマーケットプレイスの更新が失敗する](https://code.claude.com/docs/ja/plugins/troubleshooting.md#marketplace-updates-keep-failing-offline) を参照してください |

362| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | `1` に設定すると、GitHub の `owner/repo` 短縮形のソースを SSH ではなく HTTPS でクローンします。プラグインのインストールと更新、および `/plugin marketplace add` と `update` に適用されます。CI ランナー、コンテナ、または `github.com` 用の SSH キーが設定されていない環境で便利です |362| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | `1` に設定すると、GitHub の `owner/repo` 短縮形のソースを SSH ではなく HTTPS でクローンします。プラグインのインストールと更新、および `/plugin marketplace add` と `update` に適用されます。CI ランナー、コンテナ、または `github.com` 用の SSH キーが設定されていない環境で便利です |

Details

35次の機能にはプロバイダー固有の違いがあります。35次の機能にはプロバイダー固有の違いがあります。

36 36 

37* **MCP サーバー**:[claude.ai のコネクタ](https://code.claude.com/docs/ja/mcp.md#use-mcp-servers-from-claude-ai)は、claude.ai サブスクリプションが有効な認証方法である場合にのみ読み込まれます。[ツール検索](https://code.claude.com/docs/ja/mcp.md#configure-tool-search)は、Microsoft Foundry の [Azure でホストされるデプロイ](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)ではサポートされていません。Google Cloud's Agent Platform では、Claude Opus 4.5、Claude Sonnet 4.5、Claude Haiku 4.5 より前のモデルではツール検索がサポートされていません37* **MCP サーバー**:[claude.ai のコネクタ](https://code.claude.com/docs/ja/mcp.md#use-mcp-servers-from-claude-ai)は、claude.ai サブスクリプションが有効な認証方法である場合にのみ読み込まれます。[ツール検索](https://code.claude.com/docs/ja/mcp.md#configure-tool-search)は、Microsoft Foundry の [Azure でホストされるデプロイ](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)ではサポートされていません。Google Cloud's Agent Platform では、Claude Opus 4.5、Claude Sonnet 4.5、Claude Haiku 4.5 より前のモデルではツール検索がサポートされていません

38* **サブエージェント**:メインの会話で Fable を実行している場合、組み込みの [Explore サブエージェント](https://code.claude.com/docs/ja/sub-agents.md#built-in-subagents)は、Claude サブスクリプション、Anthropic Console アカウント、または `ANTHROPIC_BASE_URL` 経由で接続する [LLM ゲートウェイ](https://code.claude.com/docs/ja/llm-gateway)では Opus で実行されます。Claude Platform on AWS を含むその他のプロバイダーでは Fable で実行されます38* **サブエージェント**:親の会話で Fable を実行している場合、組み込みの [Explore サブエージェント](https://code.claude.com/docs/ja/sub-agents.md#built-in-subagents)は、Claude サブスクリプション、Anthropic Console アカウント、または `ANTHROPIC_BASE_URL` 経由で接続する [LLM ゲートウェイ](https://code.claude.com/docs/ja/llm-gateway)を使用している場合は Opus で実行されます。Claude Platform on AWS を含むその他のプロバイダーでは、Fable で実行されます

39* **[コマンド](https://code.claude.com/docs/ja/commands.md#all-commands)**:39* **[コマンド](https://code.claude.com/docs/ja/commands.md#all-commands)**:

40 * `/design-sync` と、`claude import` サブコマンド形式を持つ `/import` は、Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry、Claude Platform on AWS、および [Claude apps ゲートウェイ](https://code.claude.com/docs/ja/claude-apps-gateway#availability-and-limitations)経由では利用できません40 * `/design-sync` と、`claude import` サブコマンド形式を持つ `/import` は、Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry、Claude Platform on AWS、および [Claude apps ゲートウェイ](https://code.claude.com/docs/ja/claude-apps-gateway#availability-and-limitations)経由では利用できません

41 * `/voice` には claude.ai アカウントが必要です41 * `/voice` には claude.ai アカウントが必要です

Details

188>188>

189> **ガードレールはフックに置きます。** CLAUDE.md やスキルに書かれた「`.env` は決して編集しない」といった指示は要望であり、保証ではありません。編集をブロックする `PreToolUse` フックは強制力を持ちます。ルールを毎回必ず守らせる必要がある場合は、プロンプトの指示ではなくフックにします。189> **ガードレールはフックに置きます。** CLAUDE.md やスキルに書かれた「`.env` は決して編集しない」といった指示は要望であり、保証ではありません。編集をブロックする `PreToolUse` フックは強制力を持ちます。ルールを毎回必ず守らせる必要がある場合は、プロンプトの指示ではなくフックにします。

190>190>

191> **フックの出力はコンテキストに入ります。** リンターを実行する `PostToolUse` フックは、結果を Claude が読むテキストとして返します。`/fix-lint` スキルは、それらを解決する方法を Claude に伝えます。191> **フックとスキルを組み合わせます。** `PostToolUse` フックを使用してリンターを実行し、[エラーを Claude に送信します](https://code.claude.com/docs/ja/hooks.md#exit-code-2-behavior-per-event)。エラーを修正するための独自のルールを Claude に与えるには、`/fix-lint` のようなスキルを作成します。

192 192 

193### 機能の階層構造を理解する193### 機能の階層構造を理解する

194 194 

glossary.md +1 −1

Details

283 283 

284### Sandboxing284### Sandboxing

285 285 

286Bash ツールの OS レベルのファイルシステムおよびネットワーク分離。コマンドは事前に定義した境界内で実行されるため、Claude はコマンドごとの承認プロンプトなしで自由に作業できます。Sandboxing は [permission rules](#permission-rule) とは別のレイヤーです。286Bash ツールの OS レベルのファイルシステムおよびネットワーク分離。コマンドは事前に定義した境界内で実行されます。Sandboxing は [permission rules](#permission-rule) とは別のレイヤーです。

287 287 

288詳細情報: [Sandboxing](https://code.claude.com/docs/ja/sandboxing.md)288詳細情報: [Sandboxing](https://code.claude.com/docs/ja/sandboxing.md)

289 289 

hooks-guide.md +5 −1

Details

242 242 

243### 保護されたファイルへの編集をブロックする243### 保護されたファイルへの編集をブロックする

244 244 

245`.env`、`package-lock.json`、または `.git/` 内のファイルなど、機密性の高いファイルを Claude が変更しないようにします。Claude は編集がブロックされた理由を説明するフィードバックを受け取るため、アプローチを調整できます。245Claude の `Edit` ツールと `Write` ツールが、`.env`、`package-lock.json`、または `.git/` 内のファイルなど、機密性の高いファイルを変更しないようにします。Claude は編集がブロックされた理由を説明するフィードバックを受け取るため、アプローチを調整できます。

246 246 

247この例では、フックが呼び出す別のスクリプトファイルを使用します。スクリプトは対象のファイルパスを保護パターンのリストと照合し、終了コード 2 で終了して編集をブロックします。247この例では、フックが呼び出す別のスクリプトファイルを使用します。スクリプトは対象のファイルパスを保護パターンのリストと照合し、終了コード 2 で終了して編集をブロックします。

248 248 


306 306 

307`.env` ファイルにコメントを追加するよう Claude に依頼します。Claude Code は編集が実行される前にブロックし、スクリプトの `Blocked:` メッセージをフィードバックとして Claude に渡します。307`.env` ファイルにコメントを追加するよう Claude に依頼します。Claude Code は編集が実行される前にブロックし、スクリプトの `Blocked:` メッセージをフィードバックとして Claude に渡します。

308 308 

309それでも Claude は、シェルコマンドを使って保護されたファイルを変更できます。そうしたコマンドの一部をブロックするには、`.claude/settings.json` の `permissions.deny` の下に、パスごとに [`Edit` 拒否ルール](https://code.claude.com/docs/ja/permissions#what-read-and-edit-rules-cover)を追加します。たとえば、プロジェクトルートの `.env` には `Edit(/.env)` を指定します。

310 

311これらのルールがあっても、Claude は他の方法で `.env` を変更できます。コマンドが書き込めるファイルを制限するには、[サンドボックス化を設定する](https://code.claude.com/docs/ja/sandboxing.md#configure-sandboxing)を参照してください。

312 

309### コンテキスト圧縮後にコンテキストを再注入する313### コンテキスト圧縮後にコンテキストを再注入する

310 314 

311Claude のコンテキストウィンドウがいっぱいになると、コンテキスト圧縮によって会話が要約され、空き容量が確保されます。これにより重要な詳細が失われることがあります。`compact` matcher を指定した `SessionStart` フックを使用して、圧縮のたびに重要なコンテキストを再注入します。315Claude のコンテキストウィンドウがいっぱいになると、コンテキスト圧縮によって会話が要約され、空き容量が確保されます。これにより重要な詳細が失われることがあります。`compact` matcher を指定した `SessionStart` フックを使用して、圧縮のたびに重要なコンテキストを再注入します。

Details

296* 最上位の `output_config.effort` フィールド。これを拒否するアップストリームについては、[自動リトライとエラー転送](#automatic-retry-and-error-forwarding)を参照してください296* 最上位の `output_config.effort` フィールド。これを拒否するアップストリームについては、[自動リトライとエラー転送](#automatic-retry-and-error-forwarding)を参照してください

297* 適応的推論の `thinking` フィールド(ベータヘッダーはありません)297* 適応的推論の `thinking` フィールド(ベータヘッダーはありません)

298* [会話中のシステムメッセージ](#feature-pass-through)を運ぶ `role: "system"` エントリ298* [会話中のシステムメッセージ](#feature-pass-through)を運ぶ `role: "system"` エントリ

299* auto モードの[サーバー側分類器レビュー](https://code.claude.com/docs/ja/permission-modes.md#server-side-classifier-review)用の `anthropic-beta` 値と `safeguards` フィールド(`/status` で **Auto mode server** が `Enabled` と表示される場合など、そのレビューが有効なままのセッションの場合)。レビューをオフにするには、セッションを開始する前に `CLAUDE_CODE_AUTO_MODE_SERVER=0` を設定してください。その後、ターミナルでは `/status` に **Auto mode server** が `Disabled` と表示されます。

299* サブスクリプション認証に必要な OAuth の `anthropic-beta` 値300* サブスクリプション認証に必要な OAuth の `anthropic-beta` 値

300* 開発者が [`ANTHROPIC_BETAS`](https://code.claude.com/docs/ja/env-vars) または [`CLAUDE_CODE_EXTRA_BODY`](https://code.claude.com/docs/ja/env-vars) を通じて自分で追加したヘッダー値とボディフィールド301* 開発者が [`ANTHROPIC_BETAS`](https://code.claude.com/docs/ja/env-vars) または [`CLAUDE_CODE_EXTRA_BODY`](https://code.claude.com/docs/ja/env-vars) を通じて自分で追加したヘッダー値とボディフィールド

301 302 

managed-mcp.md +3 −2

Details

30| パターン | 機能 | 設定 |30| パターン | 機能 | 設定 |

31| :- | :- | :- |31| :- | :- | :- |

32| **MCP を無効化** | [排他的制御](#exclusive-control-with-managed-mcp-json)の下で読み込まれるいくつかのサーバーを除き、サーバーは読み込まれません | 空のサーバーマップを含む `managed-mcp.json` |32| **MCP を無効化** | [排他的制御](#exclusive-control-with-managed-mcp-json)の下で読み込まれるいくつかのサーバーを除き、サーバーは読み込まれません | 空のサーバーマップを含む `managed-mcp.json` |

33| **固定デプロイ** | すべてのユーザーが同じサーバーを取得し、他のサーバーを追加できません | 必要なサーバーを含む `managed-mcp.json` |33| **固定デプロイ** | すべてのユーザーがリストされたサーバーを取得し、ユーザーが設定したサーバーは読み込まれません | 必要なサーバーを含む `managed-mcp.json` |

34| **提供されるサーバー** | すべてのユーザーがリストされたリモートサーバーを取得し、独自のサーバーを保持します | マネージド設定の `managedMcpServers` |34| **提供されるサーバー** | すべてのユーザーがリストされたリモートサーバーを取得し、独自のサーバーを保持します | マネージド設定の `managedMcpServers` |

35| **承認されたカタログ** | 承認されたサーバーのリストを公開します。ユーザーは必要なものを追加し、その他はすべてブロックされます | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |35| **承認されたカタログ** | 承認されたサーバーのリストを公開します。ユーザーは必要なものを追加し、その他はすべてブロックされます | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |

36| **プラグインサーバーのみ** | ユーザーは `~/.claude.json` または `.mcp.json` を通じてサーバーを追加できません。[スキルディレクトリプラグイン](https://code.claude.com/docs/ja/plugins/loading.md#skills-directory-plugins-blocked-by-managed-settings)はプラグインとして読み込まれなくなり、その他のプラグインのサーバーは引き続き読み込まれます | [`strictPluginOnlyCustomization`](https://code.claude.com/docs/ja/settings-reference#strictpluginonlycustomization) とリストの `mcp` |36| **プラグインサーバーのみ** | ユーザーは `~/.claude.json` または `.mcp.json` を通じてサーバーを追加できません。[スキルディレクトリプラグイン](https://code.claude.com/docs/ja/plugins/loading.md#skills-directory-plugins-blocked-by-managed-settings)はプラグインとして読み込まれなくなり、その他のプラグインのサーバーは引き続き読み込まれます | [`strictPluginOnlyCustomization`](https://code.claude.com/docs/ja/settings-reference#strictpluginonlycustomization) とリストの `mcp` |


49* ファイルで定義されたサーバー49* ファイルで定義されたサーバー

50* [「`managedMcpServers` を通じて提供するサーバー」](#provide-servers-through-managed-settings)50* [「`managedMcpServers` を通じて提供するサーバー」](#provide-servers-through-managed-settings)

51* セッションを開始したアプリが登録するインプロセスサーバー(VS Code 拡張機能独自のサーバーや[デスクトップアプリが提供するコネクタ](https://code.claude.com/docs/ja/mcp.md#how-connectors-reach-claude-code)など)51* セッションを開始したアプリが登録するインプロセスサーバー(VS Code 拡張機能独自のサーバーや[デスクトップアプリが提供するコネクタ](https://code.claude.com/docs/ja/mcp.md#how-connectors-reach-claude-code)など)

52* [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が[ツールを追加](https://code.claude.com/docs/ja/plugins/mods/api.md#add-a-tool)するときに Claude Code が作成するサーバー。ユーザーの mod が追加するツールをブロックするには、[ユーザーがインストールした mod の読み込みを停止](https://code.claude.com/docs/ja/plugins/mods/admin.md#stop-user-installed-mods-from-loading)してください。

52* [「Claude in Chrome」](https://code.claude.com/docs/ja/chrome.md)の組み込みサーバー([マネージドセットと共にそれを許可](#allow-claude-in-chrome-alongside-the-managed-set)する場合)53* [「Claude in Chrome」](https://code.claude.com/docs/ja/chrome.md)の組み込みサーバー([マネージドセットと共にそれを許可](#allow-claude-in-chrome-alongside-the-managed-set)する場合)

53 54 

54ユーザーは、プラグイン提供のサーバーや[「`--mcp-config` CLI フラグ」](https://code.claude.com/docs/ja/cli-reference#cli-flags)で渡されたサーバーを含む、その他の MCP サーバーを追加、変更、または使用することはできません。このファイルは、[マネージドセットと共にそれらを許可](#allow-claude-ai-connectors-alongside-the-managed-set)しない限り、Claude Code が自身で取得する claude.ai コネクタも抑制します。55ユーザーは、プラグイン提供のサーバーや[「`--mcp-config` CLI フラグ」](https://code.claude.com/docs/ja/cli-reference#cli-flags)で渡されたサーバーを含む、その他の MCP サーバーを追加、変更、または使用することはできません。このファイルは、[マネージドセットと共にそれらを許可](#allow-claude-ai-connectors-alongside-the-managed-set)しない限り、Claude Code が自身で取得する claude.ai コネクタも抑制します。


137}138}

138```139```

139 140 

140`claude mcp add` は上記のエンタープライズポリシーエラーで失敗します。ユーザーが以前に構成したサーバーは、次回セッションを開始するときに読み込まれなくなります。ポリシーが理由であることについての警告はありません。`managedMcpServers` を通じて提供するサーバーと、マネージドセットと共に許可するその他のすべてのものは、空のマップの下でも読み込まれるため、MCP を完全に無効にするにはそれらのキーを設定しないままにしてください。141`claude mcp add` は上記のエンタープライズポリシーエラーで失敗します。ユーザーが以前に構成したサーバーは、次回セッションを開始するときに読み込まれなくなります。ポリシーが理由であることについての警告はありません。`managedMcpServers` を通じて提供するサーバーと、マネージドセットと共に許可するその他のすべてのものは、空のマップの下でも[読み込まれる](#exclusive-control-with-managed-mcp-json)ため、それらのキーを設定しないままにしてください。

141 142 

142### マネージドセットと共に claude.ai コネクタを許可する143### マネージドセットと共に claude.ai コネクタを許可する

143 144 

mcp.md +1 −1

Details

806 806 

807* [`disabledMcpjsonServers`](https://code.claude.com/docs/ja/settings-reference#disabledmcpjsonservers)に追加します。これはすべての権限モードでそれをブロックします。807* [`disabledMcpjsonServers`](https://code.claude.com/docs/ja/settings-reference#disabledmcpjsonservers)に追加します。これはすべての権限モードでそれをブロックします。

808* [`--setting-sources`](https://code.claude.com/docs/ja/cli-reference#cli-flags)または SDK の `settingSources` オプションでプロジェクト設定全体を除外します。808* [`--setting-sources`](https://code.claude.com/docs/ja/cli-reference#cli-flags)または SDK の `settingSources` オプションでプロジェクト設定全体を除外します。

809* [`--strict-mcp-config`](https://code.claude.com/docs/ja/cli-reference#cli-flags)でセッションを開始します。Claude Code は `--mcp-config` で渡した MCP サーバーのみを使用します。Claude Code がロードしていないプロジェクトスコープのサーバーの承認プロンプトをスキップするには、Claude Code v2.1.246 以降が必要です。v2.1.246 より前では、厳密なセッションでもそれらの承認を待機していたため、バックグラウンドセッションは起動時に待機していました。マネージド MCP ファイルの下でフラグが何をするかについては、[マネージド mcp.json での排他的制御](https://code.claude.com/docs/ja/managed-mcp.md#exclusive-control-with-managed-mcp-json)を参照してください。809* [`--strict-mcp-config`](https://code.claude.com/docs/ja/cli-reference#cli-flags)でセッションを開始します。これにより、Claude Code は `--mcp-config` で渡したサーバーをロードし、`.mcp.json` などの場所で設定されたサーバーをスキップします。Claude Code がロードしていないプロジェクトスコープのサーバーの承認プロンプトをスキップするには、Claude Code v2.1.246 以降が必要です。マネージド MCP ファイルの下でフラグが何をするかについては、[マネージド mcp.json での排他的制御](https://code.claude.com/docs/ja/managed-mcp.md#exclusive-control-with-managed-mcp-json)を参照してください。

810 810 

811[プロジェクトサーバーの承認とワークスペーストラスト](#project-server-approvals-and-workspace-trust)は、リポジトリにコミットされた承認がワークスペーストラストとどのように相互作用するかについて説明しています。811[プロジェクトサーバーの承認とワークスペーストラスト](#project-server-approvals-and-workspace-trust)は、リポジトリにコミットされた承認がワークスペーストラストとどのように相互作用するかについて説明しています。

812 812 

model-config.md +2 −2

Details

273* **`/model`**: Claude Code はエラーを表示して切り替えを拒否します273* **`/model`**: Claude Code はエラーを表示して切り替えを拒否します

274* **`--model` フラグ、`ANTHROPIC_MODEL`、または `model` 設定**: Claude Code は起動時に値を置き換え、要求されたモデルと置き換え後のモデルの両方を示す警告を表示します。セッションはデフォルトモデルで開始されます274* **`--model` フラグ、`ANTHROPIC_MODEL`、または `model` 設定**: Claude Code は起動時に値を置き換え、要求されたモデルと置き換え後のモデルの両方を示す警告を表示します。セッションはデフォルトモデルで開始されます

275* **[`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions)**: Claude Code はこの変数を無視します275* **[`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions)**: Claude Code はこの変数を無視します

276* **サブエージェントまたはチームメイトの上書き**: Claude Code はリクエストを失敗させるのではなく、フォールバックモデルでサブエージェントまたはチームメイトを実行します。サブエージェントのフォールバックについては[モデルを選択する](https://code.claude.com/docs/ja/sub-agents.md#choose-a-model)を、チームメイトのフォールバックについては[チームメイトとモデルを指定する](https://code.claude.com/docs/ja/agent-teams.md#specify-teammates-and-models)を参照してください。276* **サブエージェントまたはチームメイトの上書き**: Claude Code はリクエストを失敗させるのではなく、フォールバックモデルでサブエージェントまたはチームメイトを実行します。サブエージェントのフォールバックについては[許可リストがサブエージェントのモデルをブロックした場合](https://code.claude.com/docs/ja/sub-agents.md#when-an-allowlist-blocks-a-subagent-model)を、チームメイトのフォールバックについては[チームメイトとモデルを指定する](https://code.claude.com/docs/ja/agent-teams.md#specify-teammates-and-models)を参照してください。

277 277 

278 インタラクティブセッションでは、このフォールバックまたは上記の許可された最新バージョンへの置き換えによってサブエージェントのモデルが置き換えられた場合、Claude Code は要求されたモデルと置き換え後のモデルを示す警告を表示します。チームメイトのフォールバックについては報告しません。278 インタラクティブセッションでは、トップレベルのサブエージェントのモデルを置き換えた場合、Claude Code は警告を表示します。チームメイトのフォールバックについては報告しません。

279 279 

280 上記の許可された最新バージョンへの置き換えが機能する環境では、ブロックされたファミリーエイリアスはそちらに従います。v2.1.222 より前は、すべてのプロバイダーで、エイリアスは他のブロックされた値と同様にフォールバックしていました280 上記の許可された最新バージョンへの置き換えが機能する環境では、ブロックされたファミリーエイリアスはそちらに従います。v2.1.222 より前は、すべてのプロバイダーで、エイリアスは他のブロックされた値と同様にフォールバックしていました

281* **スキルまたはコマンドの上書き**: Claude Code は、ブロックされたファミリーエイリアスを含めて上書きを無視し、スキルまたはコマンドはセッションのモデルで実行されます。[サブエージェントで実行される](https://code.claude.com/docs/ja/skills.md#run-skills-in-a-subagent)スキルまたはコマンドは、代わりに上記のサブエージェントの動作に従います281* **スキルまたはコマンドの上書き**: Claude Code は、ブロックされたファミリーエイリアスを含めて上書きを無視し、スキルまたはコマンドはセッションのモデルで実行されます。[サブエージェントで実行される](https://code.claude.com/docs/ja/skills.md#run-skills-in-a-subagent)スキルまたはコマンドは、代わりに上記のサブエージェントの動作に従います

Details

50| 実現したいこと | 開始する | 必要な隔離 | 注記 |50| 実現したいこと | 開始する | 必要な隔離 | 注記 |

51| :- | :- | :- | :- |51| :- | :- | :- | :- |

52| すべてのアクションを自分でレビュー | Manual モード:`claude --permission-mode default` | なし | 機密作業、不慣れなコード |52| すべてのアクションを自分でレビュー | Manual モード:`claude --permission-mode default` | なし | 機密作業、不慣れなコード |

53| ローカルで反復、分類器なしでプロンプトを減らす | Manual モード + [auto-allow モード](https://code.claude.com/docs/ja/sandboxing.md#sandbox-modes)の Bash サンドボックス:`claude --permission-mode default`、その後 `/sandbox` を実行して auto-allow を選択 | 組み込み Bash サンドボックス、macOS、Linux、WSL2 上 | 拒否ルールは依然として適用され、`Bash(git push *)` のようなコマンドに名前を付ける ask ルールは依然としてプロンプトを表示します。プロンプトを表示する可能性があるその他のコマンドについては、[auto-allow モード](https://code.claude.com/docs/ja/sandboxing.md#auto-allow-mode)で説明しています。代わりに設定ファイルからサンドボックスをオンにするには、[`sandbox.enabled`](https://code.claude.com/docs/ja/settings-reference#sandbox-enabled) を `true` に設定します |53| ローカルで反復、分類器なしでプロンプトを減らす | Manual モード + [auto-allow モード](https://code.claude.com/docs/ja/sandboxing.md#sandbox-modes)の Bash サンドボックス:`claude --permission-mode default`、その後 `/sandbox` を実行して auto-allow を選択 | 組み込み Bash サンドボックス、macOS、Linux、WSL2 上 | 拒否ルールは依然として適用され、`Bash(git push *)` のようなコマンドに名前を付ける ask ルールは依然としてプロンプトを表示します。プロンプトを表示する可能性があるその他のコマンドについては、[auto-allow モード](https://code.claude.com/docs/ja/sandboxing.md#auto-allow-mode)で説明しています。代わりに設定ファイルからサンドボックスをオンにするには、[`sandbox.enabled`](https://code.claude.com/docs/ja/settings-reference#sandbox-enabled) と [`sandbox.autoAllowBashIfSandboxed`](https://code.claude.com/docs/ja/settings-reference#sandbox-autoallowbashifsandboxed) を `true` に設定します |

54| 何かを変更する前に探索 | `claude --permission-mode plan` | なし | Claude Code は[計画を承認](#review-and-approve-a-plan)するまで編集をブロックします |54| 何かを変更する前に探索 | `claude --permission-mode plan` | なし | Claude Code は[計画を承認](#review-and-approve-a-plan)するまで編集をブロックします |

55| auto モードでハンズオフで作業 | `claude --permission-mode auto`、v2.1.283 以降の[組み込み開始権限モード](#which-mode-a-session-starts-in) | なし。サンドボックスまたはコンテナは防御の深さを追加 | [サポートされているモデル](#eliminate-prompts-with-auto-mode)が必要で、組織は [auto モードをオフ](#eliminate-prompts-with-auto-mode)にできます |55| auto モードでハンズオフで作業 | `claude --permission-mode auto`、v2.1.283 以降の[組み込み開始権限モード](#which-mode-a-session-starts-in) | なし。サンドボックスまたはコンテナは防御の深さを追加 | [サポートされているモデル](#eliminate-prompts-with-auto-mode)が必要で、組織は [auto モードをオフ](#eliminate-prompts-with-auto-mode)にできます |

56| 正確な許可リストで CI で実行 | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | CI ランナーが提供するもの以外はなし | [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)は設定ファイルから `dontAsk` を無視します |56| 正確な許可リストで CI で実行 | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | CI ランナーが提供するもの以外はなし | [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)は設定ファイルから `dontAsk` を無視します |

permissions.md +1 −1

Details

743 743 

744多層防御のために両方を使用してください。プロンプトインジェクションによって Claude の意思決定が回避された場合でも、サンドボックスの制限は引き続き適用されるためです。サンドボックス設定と権限ルールの両方に含まれるパスとドメインは、[最終的なサンドボックス設定にマージされます](https://code.claude.com/docs/ja/sandboxing.md#permission-rules)。744多層防御のために両方を使用してください。プロンプトインジェクションによって Claude の意思決定が回避された場合でも、サンドボックスの制限は引き続き適用されるためです。サンドボックス設定と権限ルールの両方に含まれるパスとドメインは、[最終的なサンドボックス設定にマージされます](https://code.claude.com/docs/ja/sandboxing.md#permission-rules)。

745 745 

746サンドボックス化を有効にし、`autoAllowBashIfSandboxed` をデフォルトの `true` のままにしている場合、権限に単独の `Bash` 確認ルール、または[同等の `Bash(*)` 形式](#match-all-uses-of-a-tool)が含まれていても、サンドボックス化された Bash コマンドは確認なしで実行されます。サンドボックスの境界が、このツール全体に対する確認の代わりになるためです。746サンドボックス化を有効にし、[`sandbox.autoAllowBashIfSandboxed`](https://code.claude.com/docs/ja/settings-reference#sandbox-autoallowbashifsandboxed) を `true` に設定すると、サンドボックス化された Bash コマンドは確認なしで実行されます。これは、単独の `Bash` 確認ルールや[同等の `Bash(*)` 形式](#match-all-uses-of-a-tool)がある場合でも同様です。サンドボックスの境界が、このツール全体に対する確認の代わりになるためです。

747 747 

748[plan モード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)では、Claude Code はこの代替を行いません。確認ルールがない場合、[組み込みの読み取り専用コマンド](#read-only-commands)は引き続き確認なしで実行され、それ以外のシェルコマンドは、計画中である間は通常の権限フローを経由します。plan モードで Claude Code がコマンドをどのように制御するかについては、[plan モード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)を参照してください。単独の `Bash` 確認ルールがある場合は、サンドボックス化されていない場合と同様に、サンドボックス化された読み取り専用コマンドを含むすべての Bash コマンドで確認が求められます。748[plan モード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)では、Claude Code はこの代替を行いません。確認ルールがない場合、[組み込みの読み取り専用コマンド](#read-only-commands)は引き続き確認なしで実行され、それ以外のシェルコマンドは、計画中である間は通常の権限フローを経由します。plan モードで Claude Code がコマンドをどのように制御するかについては、[plan モード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)を参照してください。単独の `Bash` 確認ルールがある場合は、サンドボックス化されていない場合と同様に、サンドボックス化された読み取り専用コマンドを含むすべての Bash コマンドで確認が求められます。

749 749 

Details

438 438 

439* **`backdrop` のフィールド**:`scene` は、フックが描画する背景に付ける任意の[名前](https://code.claude.com/docs/ja/plugins/mods/reference.md#limits)です。その他のフィールドと `overrideColorScheme` については、[ビルドに対応する型](https://code.claude.com/docs/ja/plugins/mods/create.md#get-the-types-for-your-build)を参照してください。439* **`backdrop` のフィールド**:`scene` は、フックが描画する背景に付ける任意の[名前](https://code.claude.com/docs/ja/plugins/mods/reference.md#limits)です。その他のフィールドと `overrideColorScheme` については、[ビルドに対応する型](https://code.claude.com/docs/ja/plugins/mods/create.md#get-the-types-for-your-build)を参照してください。

440* **背景が描画されるかどうか**:セッションに接続された Desktop アプリまたはモバイルアプリが背景を描画すると応答した場合、`$.theme.set` は `isDrawn: true` で解決されます。それ以外の場合、`isDrawn` は `false` になり、`reason` にはその理由が入ります。440* **背景が描画されるかどうか**:セッションに接続された Desktop アプリまたはモバイルアプリが背景を描画すると応答した場合、`$.theme.set` は `isDrawn: true` で解決されます。それ以外の場合、`isDrawn` は `false` になり、`reason` にはその理由が入ります。

441* **セッションごとに 1 つの背景**:`$.theme.set` の呼び出しはセッションの背景を置き換え、`$.theme.clear()` はその背景を削除します。どの mod が設定した背景であっても同様です。`$.theme.clear()` は、ユーザーが求めた場合にのみ呼び出してください。441* **セッションごとに 1 つのテーマ**:`$.theme.set` を呼び出す mod はセッションの背景と[色](#change-the-colors-of-the-desktop-app)を置き換え、`$.theme.clear()` を呼び出す mod はそれらを削除します。どの mod が設定したものであっても同様です。`$.theme.clear()` は、ユーザーが求めた場合にのみ呼び出してください。

442 

443### Desktop アプリの色を変更する

444 

445mod で Desktop アプリの Code タブの色を変更するには、[Claude に mod を依頼する](#ask-claude-for-a-colors-mod)か、[自分で mod を書きます](#write-a-colors-mod-yourself)。どちらの方法でも Code タブで Claude Code v2.1.324 以降が必要なため、まず[そこでバージョンを確認](https://code.claude.com/docs/ja/desktop.md#claude-code-version-in-the-code-tab)してください。ターミナルの Claude Code は独自の色を維持します。

446 

447#### 色を変更する mod を Claude に依頼する

448 

449**1. 色を説明する**

450 

451Code タブでローカルセッションを開始し、希望する色を Claude に伝えます。たとえば、`make a mod that makes the app cream in light mode and dark brown in dark mode` と入力します。Claude が mod のファイルを書きます。

452 

453**2. mod を承認する**

454 

455mod のファイルとホットリロードについて Claude Code が尋ねる質問に回答します。それぞれの回答の効果については、[Claude に mod を依頼する](https://code.claude.com/docs/ja/plugins/mods/create.md#ask-claude-for-a-mod)を参照してください。

456 

457**3. 色を確認する**

458 

459mod が読み込まれると、Code タブの色が変わります。色を調整するには、変更したい内容を Claude に伝えます。何も変わらない場合は、[mod の色が表示されない場合の対処](#fix-missing-mod-colors-in-the-desktop-app)を参照してください。

460 

461#### 色を変更する mod を自分で書く

462 

463`makeColors` は、いくつかの 16 進カラーからテーマを作成する関数です。次の手順では、これを使用する `paper` という名前の mod を作成します。

464 

465**1. Claude に makeColors をコピーしてもらう**

466 

467Code タブでローカルセッションを開始し、`copy make-colors.js and make-colors.d.ts from your plugin-authoring skill into ~/.claude/skills/paper/hooks/` と入力します。両方のファイルがそのディレクトリにあることを確認してください。

468 

469**2. マニフェストと hooks.json を保存する**

470 

471[mod を自分で書く](https://code.claude.com/docs/ja/plugins/mods/create.md#write-a-mod-yourself)から `.claude-plugin/plugin.json` と `hooks/hooks.json` を `~/.claude/skills/paper/` に保存し、両方のファイルで `first-mod` を `paper` に変更します。[`~/.claude/skills/` 配下](https://code.claude.com/docs/ja/plugins/create#scaffold-a-plugin-that-loads-every-session)の mod は、セッションを開始すると読み込まれます。

472 

473**3. コードを書く**

474 

475次のファイルを `~/.claude/skills/paper/hooks/register.js` として保存します。セッションが開始されると、このコードはライトモードとダークモードの色を指定して `$.theme.set` を呼び出します。

476 

477```javascript theme={null}

478import { makeColors } from './make-colors.js'

479 

480const { theme } = makeColors({

481 label: 'Paper',

482 // surface-0 is the background, text-primary is the main text, and text-muted is the faint text

483 light: {

484 gray: { anchors: { 'surface-0': '#efe6d3', 'text-primary': '#2a241d', 'text-muted': '#6a5f50' } },

485 },

486 dark: {

487 gray: { anchors: { 'surface-0': '#1f1a15', 'text-primary': '#f0e7d7', 'text-muted': '#aca08d' } },

488 },

489})

490 

491export function register(on) {

492 on('session.start', async ($, e, next) => {

493 await $.theme.set({ colors: theme })

494 return next(e)

495 })

496}

497```

498 

499独自の色を使用するには、16 進値を別の 6 桁の 16 進カラーに置き換えます。

500 

501**4. 色を確認する**

502 

503Code タブで新しいローカルセッションを開始します。この例の値では、背景はライトモードではクリーム色、ダークモードでは濃い茶色になります。何も変わらない場合は、[mod の色が表示されない場合の対処](#fix-missing-mod-colors-in-the-desktop-app)を参照してください。

504 

505### Desktop アプリで mod の色が表示されない場合の対処

506 

507[Claude Desktop v5.11492.5 以前](https://code.claude.com/docs/ja/desktop.md#check-your-version)で Claude アカウントの代わりに[サードパーティプロバイダー](https://code.claude.com/docs/ja/third-party-integrations.md)を使用している場合、Code タブは独自の色を維持するため、次の確認は不要です。それ以外の場合で、mod の色が Code タブに表示されない、または消えてしまう場合は、次の原因を確認してください。

508 

509* **古いバージョン**:[Desktop アプリを更新](https://code.claude.com/docs/ja/desktop.md#claude-code-version-in-the-code-tab)して再起動し、Code タブで新しいローカルセッションを開始します。Claude が mod を書いた場合は、そのセッションでもう一度依頼してください。

510* **mod が読み込まれていない**:Claude が mod を書いた場合は、[Claude に mod を依頼する](https://code.claude.com/docs/ja/plugins/mods/create.md#ask-claude-for-a-mod)で mod が読み込まれるタイミングを確認してください。自分で書いた場合は、ファイルとそのパスを[色を変更する mod を自分で書く](#write-a-colors-mod-yourself)と比較してください。

511* **拒否されたテーマ**:mod の [`makeColors`](#write-a-colors-mod-yourself) の呼び出しを実行するよう Claude に依頼します。呼び出しがエラーをスローした場合、または `problems` リストに `Desktop won't paint this theme` で始まる項目がある場合は、Claude にテーマを修正してもらいます。mod をインストールした場合は、Claude が見つけた内容を mod の作成者に送ってください。

512* **別の `$.theme` の呼び出し**:セッション内のいずれかの mod が `$.theme.set` または `$.theme.clear()` を呼び出すと、以前の呼び出しで設定された色と[背景](#put-a-backdrop-behind-the-conversation)は消えます。自分の mod では、`colors` と `backdrop` を同じ `$.theme.set` の呼び出しで渡してください。テーマを設定する mod は一度に 1 つだけ使用してください。

513 

514### Desktop アプリから mod の色を削除する

515 

516Code タブから mod の色を外すには、まず mod をオフにします。オンのままの mod は、色を再び設定する可能性があります。

517 

518**1. mod をオフにする**

519 

520* **Claude が mod を書いた場合**:mod のディレクトリを、Claude が mod を書いたセッションの [mod フォルダー](https://code.claude.com/docs/ja/plugins/mods/create.md#ask-claude-for-a-mod)の外に移動します。

521* **mod を `~/.claude/skills/` 配下に置いた場合**:`~/.claude/skills/paper/` などの mod のディレクトリを、`~/.claude/skills/` の外の場所に移動します。

522* **mod をインストールした場合**:Desktop アプリで、**Manage plugins** から[そのプラグインを無効化またはアンインストール](https://code.claude.com/docs/ja/desktop.md#install-plugins)します。**Manage plugins** が表示されず、[CLI](https://code.claude.com/docs/ja/quickstart.md) がある場合は、[シェルからマーケットプレイスのプラグインを無効化またはアンインストール](https://code.claude.com/docs/ja/plugins/install.md#manage-plugins-from-your-shell)できます。

523 

524**2. 新しいセッションを開始する**

525 

526Code タブで新しいローカルセッションを開始します。

527 

528**3. 残っている色を削除する**

529 

530それでも色が残っている場合は、Code タブから **Settings** を開き、そこで `code appearance` を検索します。検索結果を開き、**Remove colors** を選択します。

442 531 

443## 要素からツリーを構築する532## 要素からツリーを構築する

444 533 


677 766 

678同じキー、またはフルスクリーンレンダリングではその行をクリックすることで、バンドは再び展開されます。それまでは、バンド内のボタンを押す手段はありません。ホットキーも、空のプロンプトに入力した数字も、ボタンの [`action`](https://code.claude.com/docs/ja/plugins/mods/reference#elements) のキーボードショートカットも機能しません。ユーザーがバンドを折りたたんだときにバンドがキーボードフォーカスを持っていた場合、フォーカスはプロンプトに戻り、折りたたまれている間は Ctrl+X に続けて Tab を押してもバンドはスキップされます。767同じキー、またはフルスクリーンレンダリングではその行をクリックすることで、バンドは再び展開されます。それまでは、バンド内のボタンを押す手段はありません。ホットキーも、空のプロンプトに入力した数字も、ボタンの [`action`](https://code.claude.com/docs/ja/plugins/mods/reference#elements) のキーボードショートカットも機能しません。ユーザーがバンドを折りたたんだときにバンドがキーボードフォーカスを持っていた場合、フォーカスはプロンプトに戻り、折りたたまれている間は Ctrl+X に続けて Tab を押してもバンドはスキップされます。

679 768 

680バンドは、`/clear` の後も含め、ユーザーが展開するまで折りたたまれたままで、次回 Claude Code を起動したときに再び展開されます。mod はバンドを展開することも、折りたたまれていることを知ることもできません。`ui.render` フックは実行され続け、`e.props` にもそれを示す情報はありません。ユーザーが応答する必要があるものを表示する場所を、バンドだけにしないでください。769バンドは、`/clear` の後も含め、ユーザーが展開するまで折りたたまれたままで、次回 Claude Code を起動したときに再び展開されます。mod はバンドを展開できません。ユーザーが応答する必要があるものを表示する場所を、バンドだけにしないでください。バンドが折りたたまれている間だけそれを別の場所に表示するには、実行され続ける `ui.render` フックで `e.props.isCollapsed` を読み取ってください。`isCollapsed` には Claude Code v2.1.321 以降が必要です。

681 770 

682### 入力を受け取り、項目ごとに行を描画する771### 入力を受け取り、項目ごとに行を描画する

683 772 

Details

212 212 

213これらのイベントの一部は Claude Code 自身のアクションでも発火するため、拒否する前に `next.origin.plugin` が `engine` かどうかを確認してください。213これらのイベントの一部は Claude Code 自身のアクションでも発火するため、拒否する前に `next.origin.plugin` が `engine` かどうかを確認してください。

214 214 

215#### Claude Code 自身の `http.fetch` リクエストのフィールド

216 

217`http.fetch` フックでは、[`next.origin`](#the-hook-function) が `{ plugin: 'engine', tier: 'core' }` であれば、mod の `$.http.fetch` 呼び出しではなく、モデルリクエストなど Claude Code 自身のリクエストであることを示します。[組み込みガード](https://code.claude.com/docs/ja/plugins/mods/admin.md#know-what-happens-by-default)が読み込まれている場合、mod が[組織の mod として扱われる](https://code.claude.com/docs/ja/plugins/mods/admin.md#install-your-organizations-mods)場合を除き、フックはこれらのイベントを受け取りません。

218 

219これらのイベントでは、`e.init` と、`next(e)` が解決される `value` に、特に次のフィールドが含まれることがあります。

220 

221| フィールド | 意味 |

222| :- | :- |

223| `e.init.compress` | フックの後で Claude Code が本文を圧縮する場合に設定されます。`e.init.body` には圧縮前の本文が入っています。本文を圧縮せずに送信するには、`next({ ...e, init: { ...e.init, compress: undefined } })` を呼び出します。 |

224| `value.isStreaming` | Claude Code がレスポンス本文を自身で読み取るため `true` に設定され、`value.text` は空になります。代わりに `value.status` と `value.headers` を読み取ってください。独自の `text` で応答するには、`isStreaming` を含まない `value` を返します。 |

225 

226これらのイベントとフィールドには Claude Code v2.1.321 以降が必要です。

227 

215## mods API メソッド228## mods API メソッド

216 229 

217mods API は、すべてのフックが受け取る `$` 引数です。そのメソッドは `$.ui` などの名前空間にグループ化されています。この表では各名前空間のメソッドを名前で列挙しているため、`$.ui` の行の `open` は `$.ui.open(...)` の呼び出しを意味します。ガイドではよく使うものの使用例を示しており、[お使いのビルド用の型](https://code.claude.com/docs/ja/plugins/mods/create.md#get-the-types-for-your-build)ではすべてのメソッドが例とともに説明されています。230mods API は、すべてのフックが受け取る `$` 引数です。そのメソッドは `$.ui` などの名前空間にグループ化されています。この表では各名前空間のメソッドを名前で列挙しているため、`$.ui` の行の `open` は `$.ui.open(...)` の呼び出しを意味します。ガイドではよく使うものの使用例を示しており、[お使いのビルド用の型](https://code.claude.com/docs/ja/plugins/mods/create.md#get-the-types-for-your-build)ではすべてのメソッドが例とともに説明されています。


222| [`$.ui`](https://code.claude.com/docs/ja/plugins/mods/interface#pick-where-to-draw) | `resolve`、`invalidate`、`open`、`close`、`panes`、[`place`](https://code.claude.com/docs/ja/plugins/mods/interface#place-a-row-in-the-transcript)、`focus`、`scroll`、`toast`、`notify`、`status`、`log`、`notice`、`ask`、`copy`、`selection`、`blit`、`view`。`view` には Claude Code v2.1.300 以降、`place` には v2.1.314 以降が必要です。 |235| [`$.ui`](https://code.claude.com/docs/ja/plugins/mods/interface#pick-where-to-draw) | `resolve`、`invalidate`、`open`、`close`、`panes`、[`place`](https://code.claude.com/docs/ja/plugins/mods/interface#place-a-row-in-the-transcript)、`focus`、`scroll`、`toast`、`notify`、`status`、`log`、`notice`、`ask`、`copy`、`selection`、`blit`、`view`。`view` には Claude Code v2.1.300 以降、`place` には v2.1.314 以降が必要です。 |

223| [`$.theme`](https://code.claude.com/docs/ja/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `set`、`clear`:Desktop アプリまたはモバイルアプリが描画する背景を設定し、その背景を取り除きます。Claude Code v2.1.319 以降が必要です。 |236| [`$.theme`](https://code.claude.com/docs/ja/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `set`、`clear`:Desktop アプリまたはモバイルアプリが描画する背景を設定し、その背景を取り除きます。Claude Code v2.1.319 以降が必要です。 |

224| [`$.command`](https://code.claude.com/docs/ja/plugins/mods/api#add-a-command) | `register`、`run`、`list` |237| [`$.command`](https://code.claude.com/docs/ja/plugins/mods/api#add-a-command) | `register`、`run`、`list` |

225| [`$.tool`](https://code.claude.com/docs/ja/plugins/mods/api#add-a-tool) | `register`、`call`、`check`、`list` |238| [`$.tool`](https://code.claude.com/docs/ja/plugins/mods/api#add-a-tool) | `register`、`call`、`check`、`list`。`call` が人による承認を必要とする場合(フックや組織が `ask` で応答する呼び出しなど)、`{ deny: "<tool> wasn't run: this call needs a person's approval, and a mod's own call can't ask for it." }` で解決されます。`<tool>` はツールの名前です。 |

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

227| [`$.model`](https://code.claude.com/docs/ja/plugins/mods/api#call-a-model) | `complete`、`fork`、`classify` |240| [`$.model`](https://code.claude.com/docs/ja/plugins/mods/api#call-a-model) | `complete`、`fork`、`classify` |

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


250| 描画箇所 | `e.props` | `e.requestId` | 描画されるアプリ |263| 描画箇所 | `e.props` | `e.requestId` | 描画されるアプリ |

251| :- | :- | :- | :- |264| :- | :- | :- | :- |

252| [`Pane`](https://code.claude.com/docs/ja/plugins/mods/interface#pick-where-to-draw) | `title`、`isFocused`、`bodyColumns`、`placement`、`scroll`、`view` | ペインの `id` | Terminal、Desktop、VS Code |265| [`Pane`](https://code.claude.com/docs/ja/plugins/mods/interface#pick-where-to-draw) | `title`、`isFocused`、`bodyColumns`、`placement`、`scroll`、`view` | ペインの `id` | Terminal、Desktop、VS Code |

253| [`AbovePrompt`](https://code.claude.com/docs/ja/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`、`isWorking`、`maxRows`、`bodyColumns`、`scroll`、`view` | 1 つのインスタンス | Terminal、Desktop |266| [`AbovePrompt`](https://code.claude.com/docs/ja/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`、[`isCollapsed`](https://code.claude.com/docs/ja/plugins/mods/interface#when-the-user-collapses-the-band)、`isWorking`、`maxRows`、`bodyColumns`、`scroll`、`view` | 1 つのインスタンス | Terminal、Desktop |

254| `AbovePromptList`(`AbovePrompt` の行のスタック) | `rows`(各 mod の行ごとに 1 つの `{ plugin, tree }` を含むリスト)と `AbovePrompt` の props | 1 つのインスタンス | Terminal、Desktop。Claude Code v2.1.323 以降が必要です。 |267| `AbovePromptList`(`AbovePrompt` の行のスタック) | `rows`(各 mod の行ごとに 1 つの `{ plugin, tree }` を含むリスト)と `AbovePrompt` の props | 1 つのインスタンス | Terminal、Desktop。Claude Code v2.1.323 以降が必要です。 |

255| [`Placed`](https://code.claude.com/docs/ja/plugins/mods/interface#place-a-row-in-the-transcript) | `id`、`plugin`、`onScreen` | `$.ui.place` が返した `requestId` | Terminal |268| [`Placed`](https://code.claude.com/docs/ja/plugins/mods/interface#place-a-row-in-the-transcript) | `id`、`plugin`、`onScreen` | `$.ui.place` が返した `requestId` | Terminal |

256| [`Backdrop`](https://code.claude.com/docs/ja/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `scene`、`plugin`、`glass`、`overrideColorScheme`。v2.1.323 より前は、`scene` は `id`、`overrideColorScheme` は `colorScheme` でした。 | `backdrop` | `desktop` および `mobile` サーフェス。Desktop アプリまたはモバイルアプリが背景の描画を要求したときに、フックが実行されます。 |269| [`Backdrop`](https://code.claude.com/docs/ja/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `scene`、`plugin`、`glass`、`overrideColorScheme`。v2.1.323 より前は、`scene` は `id`、`overrideColorScheme` は `colorScheme` でした。 | `backdrop` | `desktop` および `mobile` サーフェス。Desktop アプリまたはモバイルアプリが背景の描画を要求したときに、フックが実行されます。 |


426| 名前 | 場所 | 動作 |439| 名前 | 場所 | 動作 |

427| :- | :- | :- |440| :- | :- | :- |

428| `CLAUDE_CODE_PLUGIN_DIRS` | 環境、または `~/.claude/settings.json` の `env` | フラグを渡せないアプリ向けに、`--plugin-dir` と同様に読み込むプラグインディレクトリ。`:`(Windows では `;`)で区切った絶対パスです。 |441| `CLAUDE_CODE_PLUGIN_DIRS` | 環境、または `~/.claude/settings.json` の `env` | フラグを渡せないアプリ向けに、`--plugin-dir` と同様に読み込むプラグインディレクトリ。`:`(Windows では `;`)で区切った絶対パスです。 |

429| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | 環境 | `1` にすると、長時間実行される非対話型セッションが、保存時に `--plugin-dir` の mod を再読み込みします |442| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | 環境 | 保存時に mod を再読み込みするかどうか。デフォルトと値については[環境変数リファレンス](https://code.claude.com/docs/ja/env-vars.md)を参照してください |

430| `prependPlugins`、`appendPlugins` | 管理設定。ユーザー設定は、管理設定も [`managed-mcp.json`](https://code.claude.com/docs/ja/managed-mcp#deploy-managed-mcp-json) ファイルもないマシンで、認証情報が Team または Enterprise の `/login` ではないセッションの場合に限ります。 | `acme-guard@acme-tools` などのプラグイン ID のリスト。`prependPlugins` の mod はユーザーがインストールしたすべての mod の前に、`appendPlugins` の mod は後に、記載された順序で実行されます。[mod が実行される順序](https://code.claude.com/docs/ja/plugins/mods/events.md#the-order-mods-run-in)を参照してください。 |443| `prependPlugins`、`appendPlugins` | 管理設定。ユーザー設定は、管理設定も [`managed-mcp.json`](https://code.claude.com/docs/ja/managed-mcp#deploy-managed-mcp-json) ファイルもないマシンで、認証情報が Team または Enterprise の `/login` ではないセッションの場合に限ります。 | `acme-guard@acme-tools` などのプラグイン ID のリスト。`prependPlugins` の mod はユーザーがインストールしたすべての mod の前に、`appendPlugins` の mod は後に、記載された順序で実行されます。[mod が実行される順序](https://code.claude.com/docs/ja/plugins/mods/events.md#the-order-mods-run-in)を参照してください。 |

431| `allowManagedModsOnly` | 管理設定([組み込みガードのオプション](https://code.claude.com/docs/ja/plugins/mods/admin.md#set-options-on-the-built-in-guard)として) | [組織のものとみなされる](https://code.claude.com/docs/ja/plugins/mods/admin.md#install-your-organizations-mods) mod と、Claude Code に組み込まれた mod だけがフックを実行します。ユーザーの設定フックは引き続き実行されます。 |444| `allowManagedModsOnly` | 管理設定([組み込みガードのオプション](https://code.claude.com/docs/ja/plugins/mods/admin.md#set-options-on-the-built-in-guard)として) | [組織のものとみなされる](https://code.claude.com/docs/ja/plugins/mods/admin.md#install-your-organizations-mods) mod と、Claude Code に組み込まれた mod だけがフックを実行します。ユーザーの設定フックは引き続き実行されます。 |

432| `allowModsToOverrideDenyRules` | 管理設定([組み込みガードのオプション](https://code.claude.com/docs/ja/plugins/mods/admin.md#set-options-on-the-built-in-guard)として) | ユーザーがインストールした mod が、`deny` ルールを含む[デフォルトで維持される結果](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)の大半を越えて、ツール呼び出しを承認できるようにします |445| `allowModsToOverrideDenyRules` | 管理設定([組み込みガードのオプション](https://code.claude.com/docs/ja/plugins/mods/admin.md#set-options-on-the-built-in-guard)として) | ユーザーがインストールした mod が、`deny` ルールを含む[デフォルトで維持される結果](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)の大半を越えて、ツール呼び出しを承認できるようにします |

Details

115 115 

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

117 117 

118テストキットには独自のルールがいくつかあり、それらに違反すると、テストを初めて書く人が最初に遭遇するエラーが発生します。

119 

120* **テストで最初に `$` を呼び出す前に、すべてのスタブを登録します。** その後に `on` を呼び出すと、`on("ui.render") after the test first called $` のようなエラーがスローされます。118* **テストで最初に `$` を呼び出す前に、すべてのスタブを登録します。** その後に `on` を呼び出すと、`on("ui.render") after the test first called $` のようなエラーがスローされます。

121 119 

122* **[`session.start`](https://code.claude.com/docs/ja/plugins/mods/reference#session) は自動では実行されません。** 各テストは、モジュールが新たに読み込まれ、どのフックもまだ呼び出されていない状態で始まるため、モジュールレベルの変数は初期値を保持しています。フックが `session.start` で設定される内容に依存している場合は、先にそれを発生させます。120* **[`session.start`](https://code.claude.com/docs/ja/plugins/mods/reference#session) は自動では実行されません。** 各テストは、モジュールが新たに読み込まれ、どのフックもまだ呼び出されていない状態で始まるため、モジュールレベルの変数は初期値を保持しています。フックが `session.start` で設定される内容に依存している場合は、先にそれを発生させます。


132 130 

133 2 つ目のスタブは、[チュートリアルのもの](https://code.claude.com/docs/ja/plugins/mods/create.md#write-a-mod-yourself)のような `session.start` フックが行う `$.command.register` 呼び出しに応答します。これがないと、その呼び出しは `no implementation for command.register` で拒否され、キットはフックをスキップするため、フック内のその呼び出し以降は何も実行されません。その時点ではテストは失敗しません。スキップされたフックは、後のチェックが失敗した場合にのみ `the engine reported:` の下に表示されます。131 2 つ目のスタブは、[チュートリアルのもの](https://code.claude.com/docs/ja/plugins/mods/create.md#write-a-mod-yourself)のような `session.start` フックが行う `$.command.register` 呼び出しに応答します。これがないと、その呼び出しは `no implementation for command.register` で拒否され、キットはフックをスキップするため、フック内のその呼び出し以降は何も実行されません。その時点ではテストは失敗しません。スキップされたフックは、後のチェックが失敗した場合にのみ `the engine reported:` の下に表示されます。

134 132 

135* **`next(e)` を返すフックには、応答するスタブが必要です。** たとえば Claude がアイドル状態のときに何も描画しないために [`ui.render`](https://code.claude.com/docs/ja/plugins/mods/reference#interface) フックが `next(e)` を返すと、[それをマウントする](#test-a-drawing)処理は `no implementation for ui.render` で失敗します。要素をプレーンなデータとして返すスタブを登録します。133* **`next(e)` が返すものを選ぶには、`ui.render` スタブを登録します。** たとえば Claude がアイドル状態のときに何も描画しないために [`ui.render`](https://code.claude.com/docs/ja/plugins/mods/reference#interface) フックが `next(e)` を返す場合、[マウント](#test-a-drawing)はスタブなしで成功します。`next(e)` が自分で選んだ要素を返すようにするには、その要素をプレーンなデータとして返すスタブを登録します。

136 134 

137 ```typescript theme={null}135 ```typescript theme={null}

138 // Stands for what Claude Code would draw at the site136 // Stands for what Claude Code would draw at the site

139 on('ui.render', () => ({ type: 'Text', props: {}, children: ['drawn by Claude Code'] }))137 on('ui.render', () => ({ type: 'Text', props: {}, children: ['drawn by Claude Code'] }))

140 ```138 ```

141 139 

142 スタブを登録するとマウントは成功し、フックが `next(e)` を返した場合は常に `ui.find({ type: 'Text' })` がその要素を返します。v2.1.323 以降では、バンドの場合、`{ plugin: 'my-mod' }` のように mod の名前を `on` の 2 番目の引数として渡します。これがないと、スタブは `next(e)` に応答しません。140 サイトが[その要素を描画できる](https://code.claude.com/docs/ja/plugins/mods/interface.md#change-what-claude-code-already-draws)場合、フックが `next(e)` を返したときに `ui.find({ type: 'Text' })` がその要素を返します。v2.1.323 以降では、バンドの場合、`{ plugin: 'my-mod' }` のように mod の名前を `on` の 2 番目の引数として渡します。これがないと、スタブは `next(e)` に応答しません。v2.1.321 より前では、スタブを登録しない限り、マウントは `no implementation for ui.render` で失敗します。

143 141 

144* **`turn.step` 用のスタブは非同期ジェネレーターであり**、テストは結果を得るためにストリームを最後まで読み取ります。142* **`turn.step` 用のスタブは非同期ジェネレーターであり**、テストは結果を得るためにストリームを最後まで読み取ります。

145 143 


316| `press({ key: 'more' })` | そのキーを持つ `Button` を押します |314| `press({ key: 'more' })` | そのキーを持つ `Button` を押します |

317| `input({ key: 'new-note', text: 'buy milk' })` | そのキーを持つ `Input` にテキストを入力し、Enter キーを押します。送信せずに入力するには `kind: 'change'` を追加します。`rows` を持つフィールドでは、テキストに `\n` を含めることができます。 |315| `input({ key: 'new-note', text: 'buy milk' })` | そのキーを持つ `Input` にテキストを入力し、Enter キーを押します。送信せずに入力するには `kind: 'change'` を追加します。`rows` を持つフィールドでは、テキストに `\n` を含めることができます。 |

318| `select({ key: 'size', value: 'large' })` | そのキーを持つ `Select` で、その値を持つオプションを選択します |316| `select({ key: 'size', value: 'large' })` | そのキーを持つ `Select` で、その値を持つオプションを選択します |

317| `keepsBeneath()` | `ui.render` スタブがないテストでは、描画に `next(e)` が返した内容が含まれている場合は `true` に、フックがそれを除外した場合は `false` に解決されます。スタブを登録するテストでは、`find` を使用してスタブが描画した内容を探します。Claude Code v2.1.321 以降が必要です。 |

319| `find({ key: 'more' })` または `find({ type: 'Text', text: 'Count: 2' })` | 最初に一致した要素を `{ type, props, children }` として返すか、`undefined` を返します。`text` には文字列または正規表現を指定できます。 |318| `find({ key: 'more' })` または `find({ type: 'Text', text: 'Count: 2' })` | 最初に一致した要素を `{ type, props, children }` として返すか、`undefined` を返します。`text` には文字列または正規表現を指定できます。 |

320| `unmount()` | 描画を削除します |319| `unmount()` | 描画を削除します |

321 320 

Details

41 41 

42| 実現したいこと | 開始するもの |42| 実現したいこと | 開始するもの |

43| :- | :- |43| :- | :- |

44| 自分のマシンでの日常的な作業中に権限プロンプトを減らす | [サンドボックス化された Bash ツール](https://code.claude.com/docs/ja/sandboxing.md)(`/sandbox` で有効化) |44| 自分のマシンでの日常的な作業中に権限プロンプトを減らす | 自動許可モードの [サンドボックス化された Bash ツール](https://code.claude.com/docs/ja/sandboxing.md)(`/sandbox` で設定) |

45| Claude に `--dangerously-skip-permissions` または自動モードで無人で作業させる | 事前設定された [dev コンテナ](https://code.claude.com/docs/ja/devcontainer.md)、任意のコンテナまたは VM、または [サンドボックスランタイム](#sandbox-runtime) |45| Claude に `--dangerously-skip-permissions` または自動モードで無人で作業させる | 事前設定された [dev コンテナ](https://code.claude.com/docs/ja/devcontainer.md)、任意のコンテナまたは VM、または [サンドボックスランタイム](#sandbox-runtime) |

46| Bash だけでなく MCP サーバーと hooks も分離し、Docker なしで実行する | サンドボックスランタイム |46| Bash だけでなく MCP サーバーと hooks も分離し、Docker なしで実行する | サンドボックスランタイム |

47| チーム全体でサンドボックス化された環境を標準化する | 事前設定された [dev コンテナ](https://code.claude.com/docs/ja/devcontainer.md)(リポジトリにコピー) |47| チーム全体でサンドボックス化された環境を標準化する | 事前設定された [dev コンテナ](https://code.claude.com/docs/ja/devcontainer.md)(リポジトリにコピー) |

sandboxing.md +4 −7

Details

6 6 

7> 組み込みのサンドボックスを使用して、Claude Code のシェルコマンドがアクセスできるファイルとネットワークホストを制限します。サンドボックスをオンにし、境界を設定し、それによって生じる問題を解決します。7> 組み込みのサンドボックスを使用して、Claude Code のシェルコマンドがアクセスできるファイルとネットワークホストを制限します。サンドボックスをオンにし、境界を設定し、それによって生じる問題を解決します。

8 8 

9Bash サンドボックスは、Claude がユーザーのマシン上で実行するシェルコマンドの周囲に、オペレーティングシステムが適用する境界です。これらのコマンドがアクセスできるファイルとネットワークドメインを設定すると、その制限は Bash、PowerShell、Monitor の各コマンドと、それらが起動するプロセスに適用されます。コマンドの実行中にオペレーティングシステムが制限を適用するため、Claude Code はサンドボックス化されたコマンドを 1 つずつ承認を求めることなく[実行できます](#sandbox-modes)。9Bash サンドボックスは、Claude がユーザーのマシン上で実行するシェルコマンドの周囲に、オペレーティングシステムが適用する境界です。これらのコマンドがアクセスできるファイルとネットワークドメインを設定すると、その制限は Bash、PowerShell、Monitor の各コマンドと、それらが起動するプロセスに適用されます。サンドボックス化されたコマンドも通常の権限フローを経由します。ただし、[自動許可モード](#sandbox-modes)を選択した場合は除きます。このモードでは、ユーザーに確認せずにコマンドを実行できます。

10 10 

11サンドボックスの対象はシェルコマンドのみです。Claude のファイルツール、MCP サーバー、フックは[サンドボックスの外で実行されます](#what-runs-outside-the-sandbox)。11サンドボックスの対象はシェルコマンドのみです。Claude のファイルツール、MCP サーバー、フックは[サンドボックスの外で実行されます](#what-runs-outside-the-sandbox)。

12 12 


394| `credentials.envVars` の `deny` と `mask` エントリ | 適用されます。環境変数の除去はファイルシステムレイヤーから独立しています |394| `credentials.envVars` の `deny` と `mask` エントリ | 適用されます。環境変数の除去はファイルシステムレイヤーから独立しています |

395| マスクとして適用された [`credentials.files` の `mask` エントリ](#mask-credential-files) | 適用されます。マスキングはファイルシステムレイヤーから独立しています。[`deny` にフォールバックした](#mask-credential-files)エントリは、他の `deny` エントリと同様に適用されません |395| マスクとして適用された [`credentials.files` の `mask` エントリ](#mask-credential-files) | 適用されます。マスキングはファイルシステムレイヤーから独立しています。[`deny` にフォールバックした](#mask-credential-files)エントリは、他の `deny` エントリと同様に適用されません |

396 396 

397その他に 2 つの点が変わります。397また、サンドボックス化されたコマンドは、ユーザーごとの一時ディレクトリではなく、シェルの `$TMPDIR` を継承します。すべての一時ディレクトリが書き込み可能になり、Claude Code がコマンドをユーザーごとの一時ディレクトリにリダイレクトしなくなるためです。

398 398 

399* サンドボックス化されたコマンドは、ユーザーごとの一時ディレクトリではなく、シェルの `$TMPDIR` を継承します。すべての一時ディレクトリが書き込み可能になり、Claude Code がコマンドをユーザーごとの一時ディレクトリにリダイレクトしなくなるためです。399Linux では、親シェルでこの変数が設定されていないことがよくあります。Bash ツールのガイダンスは、`$TMPDIR` に頼るのではなく `mktemp -d` で作業用ディレクトリを作成するよう Claude に指示します。

400 

401 Linux では、親シェルでこの変数が設定されていないことがよくあります。Bash ツールのガイダンスは、`$TMPDIR` に頼るのではなく `mktemp -d` で作業用ディレクトリを作成するよう Claude に指示します。

402* [`autoAllowBashIfSandboxed`](https://code.claude.com/docs/ja/settings-reference#sandbox-autoallowbashifsandboxed) のデフォルトは引き続き `true` であるため、サンドボックス化されたコマンドはプロンプトなしで実行され続けます。サンドボックス化されたコマンドでプロンプトを表示するには、`false` に設定します。

403 400 

404### 認証情報を保護する401### 認証情報を保護する

405 402 


1095}1092}

1096```1093```

1097 1094 

1098これにより[自動許可モード](#sandbox-modes)がオンになります。通常の権限モードにするには、[`sandbox.autoAllowBashIfSandboxed`](https://code.claude.com/docs/ja/settings-reference#sandbox-autoallowbashifsandboxed) も `false` に設定してください。この変更は、実行中のセッションで Claude が次にシェルコマンドを実行した時点で有効になり、その後 `/sandbox` の **Mode** タブに有効なモードが表示されます。1095これにより[通常の権限モード](#sandbox-modes)がオンになります。自動許可モードにするには、[`sandbox.autoAllowBashIfSandboxed`](https://code.claude.com/docs/ja/settings-reference#sandbox-autoallowbashifsandboxed) も `true` に設定してください。この変更は、実行中のセッションで Claude が次にシェルコマンドを実行した時点で有効になり、その後 `/sandbox` の **Mode** タブに有効なモードが表示されます。

1099 1096 

1100## 制限事項1097## 制限事項

1101 1098 

security.md +2 −2

Details

25 25 

26agentic システムのリスクを軽減するために:26agentic システムのリスクを軽減するために:

27 27 

28* **サンドボックス化された bash ツール**: [Sandbox](https://code.claude.com/docs/ja/sandboxing.md) bash コマンドをファイルシステムとネットワークの分離で実行し、権限プロンプトを減らしながらセキュリティを維持します。`/sandbox` で設定して、Claude Code が自律的に動作できる境界を定義します28* **サンドボックス化された Bash ツール**: ファイルシステムとネットワークの分離により Bash コマンドを [サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md) します。`/sandbox` で設定します

29* **作業ディレクトリの境界**: Manual モードでは、Claude Code のファイルツールが、起動されたフォルダとそのサブフォルダの外部で読み取りまたは書き込みを行う前に、ユーザーに確認します。この境界は権限プロンプトであるため、ユーザーが承認した Bash コマンドは、ユーザーアカウントが書き込み可能な任意の場所に書き込むことができます29* **作業ディレクトリの境界**: Manual モードでは、Claude Code のファイルツールが、起動されたフォルダとそのサブフォルダの外部で読み取りまたは書き込みを行う前に、ユーザーに確認します。この境界は権限プロンプトであるため、ユーザーが承認した Bash コマンドは、ユーザーアカウントが書き込み可能な任意の場所に書き込むことができます

30 * 確認なしでフォルダを読み取るには、そのフォルダを [追加ディレクトリ](https://code.claude.com/docs/ja/permissions.md#working-directories) として追加します30 * 確認なしでフォルダを読み取るには、そのフォルダを [追加ディレクトリ](https://code.claude.com/docs/ja/permissions.md#working-directories) として追加します

31 * オペレーティングシステムレベルで Bash コマンドを制限するには、[サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md#filesystem-isolation) をオンにします31 * オペレーティングシステムレベルで Bash コマンドを制限するには、[サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md#filesystem-isolation) をオンにします


62* **信頼検証**: 対話型セッションでは、まだ信頼していないフォルダで Claude Code を起動すると、ワークスペースの信頼ダイアログが表示されます。プロジェクトの `.mcp.json` 内のサーバーには独自の承認プロンプトがあり、[プロジェクトスコープ](https://code.claude.com/docs/ja/mcp.md#project-scope) にはそのプロンプトをスキップするセッションが記載されています62* **信頼検証**: 対話型セッションでは、まだ信頼していないフォルダで Claude Code を起動すると、ワークスペースの信頼ダイアログが表示されます。プロジェクトの `.mcp.json` 内のサーバーには独自の承認プロンプトがあり、[プロジェクトスコープ](https://code.claude.com/docs/ja/mcp.md#project-scope) にはそのプロンプトをスキップするセッションが記載されています

63 * 注:`-p` セッションではどちらのプロンプトも表示されません。そこでリポジトリのファイルが実行できるものについては、[フォルダを信頼する前に実行されるもの](https://code.claude.com/docs/ja/permissions.md#what-runs-before-you-trust-a-folder) に記載されています63 * 注:`-p` セッションではどちらのプロンプトも表示されません。そこでリポジトリのファイルが実行できるものについては、[フォルダを信頼する前に実行されるもの](https://code.claude.com/docs/ja/permissions.md#what-runs-before-you-trust-a-folder) に記載されています

64 * 注:Claude Code をホームディレクトリで直接起動する場合、信頼受け入れは現在のセッションのみ保持され、ディスクに書き込まれないため、起動するたびにプロンプトが再度表示されます。これを永続化するための設定はありません。代わりに、プロジェクトサブディレクトリから Claude Code を起動してください。そこでは信頼受け入れはディレクトリごとに保存されます64 * 注:Claude Code をホームディレクトリで直接起動する場合、信頼受け入れは現在のセッションのみ保持され、ディスクに書き込まれないため、起動するたびにプロンプトが再度表示されます。これを永続化するための設定はありません。代わりに、プロジェクトサブディレクトリから Claude Code を起動してください。そこでは信頼受け入れはディレクトリごとに保存されます

65* **コマンドインジェクション検出**: Manual モードでは、Claude Code は完全に分析できない Bash コマンドを実行する前に確認を求めます。`Bash(git *)` のようなコマンドの一部に対する許可ルールがあっても、このプロンプトはスキップされません。[サンドボックス化されたコマンド](https://code.claude.com/docs/ja/permissions.md#how-permissions-interact-with-sandboxing) はこのプロンプトなしで実行できます65* **コマンドインジェクション検出**: Manual モードでは、Claude Code は完全に分析できない Bash コマンドを実行する前に確認を求めます。`Bash(git *)` のようなコマンドの一部に対する許可ルールがあっても、このプロンプトはスキップされません。[auto-allow モード](https://code.claude.com/docs/ja/sandboxing.md#auto-allow-mode)の[サンドボックス化されたコマンド](https://code.claude.com/docs/ja/permissions.md#how-permissions-interact-with-sandboxing) はこのプロンプトなしで実行できます

66* **フェイルクローズドマッチング**: Manual モードでは、マッチしないコマンドはデフォルトで承認が必要です66* **フェイルクローズドマッチング**: Manual モードでは、マッチしないコマンドはデフォルトで承認が必要です

67* **セキュアな認証情報ストレージ**: API キーとトークンは、利用可能な場合は macOS Keychain に保存されます。Linux ではモード `0600` のファイルに保存され、Windows ではユーザープロファイルディレクトリのアクセス制御を継承するファイルに保存されます。[Credential Management](https://code.claude.com/docs/ja/authentication.md#credential-management) を参照してください67* **セキュアな認証情報ストレージ**: API キーとトークンは、利用可能な場合は macOS Keychain に保存されます。Linux ではモード `0600` のファイルに保存され、Windows ではユーザープロファイルディレクトリのアクセス制御を継承するファイルに保存されます。[Credential Management](https://code.claude.com/docs/ja/authentication.md#credential-management) を参照してください

68 68 

Details

1355 1355 

1356### `sandbox.autoAllowBashIfSandboxed`1356### `sandbox.autoAllowBashIfSandboxed`

1357 1357 

1358Claude Code がサンドボックス化された Bash コマンドを権限プロンプトなしで実行できるようにします。サンドボックスで実行できないコマンドは通常の権限フローを通過し、`deny` ルールと `Bash(git push *)` などのコンテンツスコープ付き `ask` ルールは引き続き適用されます。ベアの `Bash` ask ルールはサンドボックス化されたコマンドではスキップされます。これを `false` に設定して、サンドボックス化されたコマンドも通常の権限フローを通すようにします。これは `/sandbox` **Mode** タブが通常権限モードと呼ぶものです。1358サンドボックス化された Bash コマンドを、Claude Code が権限プロンプトなしで実行できるようにします。サンドボックス内で実行できないコマンドは、引き続き通常の権限フローを通ります。`deny` ルールと、`Bash(git push *)` のように内容を限定した `ask` ルールは引き続き適用されますが、単独の `Bash` 確認ルールはサンドボックス化されたコマンドではスキップされます。管理設定でこれを `true` に設定するには、[最上位の管理ソース](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)の `sandbox` ブロックに追加してください。

1359 1359 

1360* **Scope**: [`Any file`](#scopes)1360* **Scope**: [`Any file`](#scopes)

1361* **Type**: ブール値1361* **Type**: ブール値

1362 * `true`: Claude Code はサンドボックス化された Bash コマンドを権限プロンプトなしで実行します。ただし、[自動許可モード](https://code.claude.com/docs/ja/sandboxing.md#auto-allow-mode)で説明されているケースを除きます。`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` は自動許可をオフにします1362 * `true`: Claude Code はサンドボックス化された Bash コマンドを権限プロンプトなしで実行します。ただし、[自動許可モード](https://code.claude.com/docs/ja/sandboxing.md#auto-allow-mode)で説明されているケースを除きます。`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` は自動許可をオフにします

1363 * `false`: サンドボックス化されたコマンドは通常の権限フローを通過するため、許可ルールと権限モードが決定します。`/sandbox` **Mode** タブはこれを通常権限モードと呼びます1363 * `false`: サンドボックス化されたコマンドは通常の権限フローを通過するため、許可ルールと権限モードが決定します。`/sandbox` **Mode** タブはこれを通常権限モードと呼びます

1364* **Default**: `true`1364* **デフォルト**: `false`。v2.1.324 より前は、デフォルトは `true` でした

1365 1365 

1366これはサンドボックスをオンに保ち、サンドボックス化されたコマンドを通常の権限フローを通します:1366サンドボックスをオンにしたまま、サンドボックス化されたコマンドを権限プロンプトなしで実行するには、`sandbox` ブロックで両方のキーを設定します:

1367 1367 

1368```json settings.json theme={null}1368```json settings.json theme={null}

1369{1369{

1370 "sandbox": {1370 "sandbox": {

1371 "enabled": true,1371 "enabled": true,

1372 "autoAllowBashIfSandboxed": false1372 "autoAllowBashIfSandboxed": true

1373 }1373 }

1374}1374}

1375```1375```


1653}1653}

1654```1654```

1655 1655 

1656このレイヤーがオフの場合、Claude Code は `denyRead` や `credentials.files` の `deny` エントリを適用しませんが、`credentials.envVars` エントリと適用済みの `mask` エントリは引き続き機能します。[`autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) のデフォルトは引き続き `true` であるため、プロンプトを表示し続けるには `false` に設定してください。これを設定できるソースの一覧と、隔離がオフのときに何が変わるかについては、[ファイルシステムの隔離を無効にする](https://code.claude.com/docs/ja/sandboxing.md#disable-filesystem-isolation)を参照してください。1656このレイヤーがオフの場合、Claude Code は `denyRead` や `credentials.files` の `deny` エントリを強制しませんが、`credentials.envVars` エントリと適用済みの `mask` エントリは引き続き機能します。これを設定できるソースの完全な一覧と、分離がオフのときに何が変わるかについては、[ファイルシステムの分離を無効にする](https://code.claude.com/docs/ja/sandboxing.md#disable-filesystem-isolation)を参照してください。

1657 1657 

1658### `sandbox.ignoreViolations`1658### `sandbox.ignoreViolations`

1659 1659 


4870 4870 

4871### `agentPushNotifEnabled`4871### `agentPushNotifEnabled`

4872 4872 

4873Claude が送信する価値があると判断した場合(たとえば、長いタスクが完了した場合など)に、電話にプッシュ通知を送信することを Claude に許可します。ローカルセッションでは、Claude は [Remote Control](https://code.claude.com/docs/ja/remote-control.md) が接続されている間に通知を送信できます。`/config` では **Push when Claude decides** として表示されます。そこで変更すると、Claude Code はその値をアカウントにも保存します。4873Claude が送信する価値があると判断した場合(たとえば、長いタスクが完了した場合など)に、電話にプッシュ通知を送信することを Claude に許可します。ローカルセッションでは、Claude は [Remote Control](https://code.claude.com/docs/ja/remote-control.md) が接続されている間に通知を送信できます。`/config` では **Push when Claude decides** として表示されます。

4874 4874 

4875* **Scope**: [`Any file`](#scopes)。Claude Code は古いバージョンによって `~/.claude.json` に残された値も読み取ります。4875* **Scope**: [`Any file`](#scopes)。Claude Code は古いバージョンによって `~/.claude.json` に残された値も読み取ります。

4876* **Type**: Boolean4876* **Type**: Boolean


4884}4884}

4885```4885```

4886 4886 

4887[`claude remote-control`](https://code.claude.com/docs/ja/remote-control#start-a-remote-control-session) サーバーの下でセッションを実行する場合、それらのセッションはこのキーではなく、アカウントに保存された値に従います。その値を変更するには、ターミナルの Claude Code セッションで `/config` を実行し、**Push when Claude decides** をオンまたはオフにします。トグルがすでに目的の値を示している場合は、一度切り替えてから元に戻し、Claude Code がその値をアカウントに保存するようにします。4887このキーだけでは通知は届きません。通知を設定するには、[Mobile push notifications](https://code.claude.com/docs/ja/remote-control.md#mobile-push-notifications) の手順に従ってください。

4888 4888 

4889[Mobile push notifications](https://code.claude.com/docs/ja/remote-control.md#mobile-push-notifications) を参照してください。4889[`claude remote-control`](https://code.claude.com/docs/ja/remote-control#start-a-remote-control-session) サーバーの下でセッションを実行する場合、それらのセッションはこのキーではなく、アカウントに保存された値に従います。その値を変更するには、ターミナルの Claude Code セッションで `/config` を実行し、**Push when Claude decides** をオンまたはオフにします。トグルがすでに目的の値を示している場合は、一度切り替えてから元に戻し、Claude Code がその値をアカウントに保存するようにします。

4890 4890 

4891### `awaySummaryEnabled`4891### `awaySummaryEnabled`

4892 4892 


5043}5043}

5044```5044```

5045 5045 

5046[Mobile push notifications](https://code.claude.com/docs/ja/remote-control.md#mobile-push-notifications) を参照してください。5046このキーだけでは通知は届きません。通知を設定するには、[Mobile push notifications](https://code.claude.com/docs/ja/remote-control.md#mobile-push-notifications) の手順に従ってください。

5047 5047 

5048### `preferredNotifChannel`5048### `preferredNotifChannel`

5049 5049 


5421 5421 

5422### `minimumVersion`5422### `minimumVersion`

5423 5423 

5424バックグラウンド自動更新と `claude update` がこれより下のバージョンをインストールするのを防ぎます。これにより、`"stable"` チャネルに移動しても、より新しい `"latest"` ビルドからダウングレードされません。Claude Code は `/config` でチャネルを切り替えながら現在のバージョンにとどまることを選択すると、このキーを書き込み、`"latest"` に戻すと削除します。5424バックグラウンド自動更新と `claude update` が、設定したバージョンより下のバージョンをインストールするのを防ぎます。Claude Code は `/config` でチャネルを切り替えながら現在のバージョンにとどまることを選択すると、このキーを自動的に書き込みます。`/config` で `"latest"` に戻すと、Claude Code はこのキーを削除します。

5425 5425 

5426* **スコープ**: [`Any file`](#scopes)。ユーザーおよびプロジェクト設定が低下させることができない、組織全体の最小値をピン留めするために、管理設定で設定します。5426* **スコープ**: [`Any file`](#scopes)。ユーザー設定およびプロジェクト設定で上書きできない、組織全体の最小値をピン留めするには、このキーを管理設定で設定します。

5427* **タイプ**: 文字列、`"2.1.100"` などのバージョン番号。有効なバージョンではない値は無視されます5427* **タイプ**: 文字列、`"2.1.323"` などのバージョン番号。有効なバージョンではない値は無視されます

5428* **デフォルト**: 未設定の場合、更新はチャネルが提供するすべてのバージョンをインストールできる5428* **デフォルト**: 未設定の場合、更新はチャネルが提供するすべてのバージョンをインストールできる

5429 5429 

5430この例は stable チャネルに従い、2.1.100 より下のバージョンをインストールするのを拒否します:5430この例は stable チャネルに従い、2.1.323 より下のバージョンをインストールするのを拒否します:

5431 5431 

5432```json settings.json theme={null}5432```json settings.json theme={null}

5433{5433{

5434 "autoUpdatesChannel": "stable",5434 "autoUpdatesChannel": "stable",

5435 "minimumVersion": "2.1.100"5435 "minimumVersion": "2.1.323"

5436}5436}

5437```5437```

5438 5438 

setup.md +19 −10

Details

40>40>

41> **macOS、Linux、WSL:**41> **macOS、Linux、WSL:**

42>42>

43> ```bash theme={null}43> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

44> curl -fsSL https://claude.ai/install.sh | bash44> curl -fsSL https://claude.ai/install.sh | bash

45> ```45> ```

46>46>


48>48>

49> **Windows PowerShell:**49> **Windows PowerShell:**

50>50>

51> ```powershell theme={null}51> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

52> irm https://claude.ai/install.ps1 | iex52> irm https://claude.ai/install.ps1 | iex

53> ```53> ```

54>54>

55> **Windows CMD:**55> **Windows CMD:**

56>56>

57> ```batch theme={null}57> ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

59> ```59> ```

60>60>


72 72 

73> [tab] Homebrew73> [tab] Homebrew

74>74>

75> ```bash theme={null}75> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

76> brew install --cask claude-code76> brew install --cask claude-code

77> ```77> ```

78>78>


84 84 

85> [tab] WinGet85> [tab] WinGet

86>86>

87> ```powershell theme={null}87> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

88> winget install Anthropic.ClaudeCode88> winget install Anthropic.ClaudeCode

89> ```89> ```

90>90>


220}220}

221```221```

222 222 

223この設定では、ネイティブインストールは stable バージョンが現在のバージョンより古い場合でも、そのバージョンに更新されます。ダウングレードを避けるには、あわせて[最小バージョンをピン留め](#pin-a-minimum-version)してください。

224 

223新しくリリースされたモデルでは、stable チャネルが提供するバージョンよりも新しい Claude Code バージョンが必要になる場合があります。そのモデルをすぐに使用するには、latest チャネルに移行してください。225新しくリリースされたモデルでは、stable チャネルが提供するバージョンよりも新しい Claude Code バージョンが必要になる場合があります。そのモデルをすぐに使用するには、latest チャネルに移行してください。

224 226 

225エンタープライズデプロイメントの場合、[管理設定](https://code.claude.com/docs/ja/managed-settings.md)を使用して、組織全体で一貫したリリースチャネルを適用できます。227エンタープライズデプロイメントの場合、[管理設定](https://code.claude.com/docs/ja/managed-settings.md)を使用して、組織全体で一貫したリリースチャネルを適用できます。


230 232 

231### 最小バージョンをピン留め233### 最小バージョンをピン留め

232 234 

233`minimumVersion` 設定は下限を確立します。バックグラウンド自動更新と `claude update` は、この値より下のバージョンのインストールを拒否するため、`"stable"` チャネルに移動しても、既に新しい `"latest"` ビルドを使用している場合はダウングレードされません。235ダウングレードせずにネイティブインストールを `"stable"` [リリースチャネル](#configure-release-channel)に移行するには、[`minimumVersion`](https://code.claude.com/docs/ja/settings-reference#minimumversion) を現在実行しているバージョンに設定します。バックグラウンド自動更新と `claude update` は、最小値より下のバージョンのインストールを拒否します。

236 

237最小値は、`/config` で設定すると Claude Code が現在のバージョンを自動で入力し、設定ファイルで設定すると番号を自分で入力します。

234 238 

235`/config` 経由で `"latest"` から `"stable"` に切り替えると、現在のバージョンに留まるか、ダウングレードを許可するかを選択するよう求められます。留まることを選択すると、`minimumVersion` がそのバージョンに設定されます。`"latest"` に戻すと、それがクリアされます。239* **`/config` の場合**: **自動更新チャネル**を stable に切り替えてから、**現在のバージョンに留まる**を選択します。`/config` で latest に戻すと、Claude Code は最小値をクリアします。

240* **[設定ファイル](https://code.claude.com/docs/ja/settings.md)の場合**: シェルで `claude --version` を実行し、出力の先頭にある番号を `minimumVersion` に設定します。同じ編集で、`autoUpdatesChannel` を `"stable"` に設定します。

236 241 

237[settings.json ファイル](https://code.claude.com/docs/ja/settings.md)に追加して、下限を明示的にピン留めします。242次の `~/.claude/settings.json` は、バージョン 2.1.323 のインストールを stable に切り替えます。

238 243 

239```json theme={null}244```json theme={null}

240{245{

241 "autoUpdatesChannel": "stable",246 "autoUpdatesChannel": "stable",

242 "minimumVersion": "2.1.100"247 "minimumVersion": "2.1.323"

243}248}

244```249```

245 250 

246[管理設定](https://code.claude.com/docs/ja/managed-settings.md)では、これはユーザーおよびプロジェクト設定がオーバーライドできない組織全体の最小値を適用します。251このインストールは、stable チャネルがより新しいバージョンを提供するまで 2.1.323 に留まります。

252 

253#### 組織のバージョン制限を設定

254 

255[管理設定](https://code.claude.com/docs/ja/managed-settings.md)では、`minimumVersion` はユーザーおよびプロジェクト設定が上書きできない組織全体の最小値を適用します。

247 256 

248`minimumVersion` ピンは更新のみを制約します。Claude Code がバージョン範囲外で起動することを拒否するようにするには、代わりに管理設定の `requiredMinimumVersion` と `requiredMaximumVersion` を使用します。更新は `requiredMaximumVersion` の上限も尊重します。[`requiredMinimumVersion`](https://code.claude.com/docs/ja/settings-reference#requiredminimumversion)と[`requiredMaximumVersion`](https://code.claude.com/docs/ja/settings-reference#requiredmaximumversion)を参照してください。257`minimumVersion` ピンは更新のみを制約します。Claude Code がバージョン範囲外で起動することを拒否するようにするには、代わりに管理設定の `requiredMinimumVersion` と `requiredMaximumVersion` を使用します。更新は `requiredMaximumVersion` の上限も尊重します。[`requiredMinimumVersion`](https://code.claude.com/docs/ja/settings-reference#requiredminimumversion)と[`requiredMaximumVersion`](https://code.claude.com/docs/ja/settings-reference#requiredmaximumversion)を参照してください。

249 258 

skills.md +4 −2

Details

22 22 

23Claude Code には、`/doctor`、`/code-review`、`/batch`、`/debug`、`/loop`、`/claude-api` などのバンドルされたスキルが含まれています。バンドルされたスキルはプロンプトベースです。Claude に詳細な指示を与え、ツールを使用して作業を調整させます。ほとんどの組み込みコマンドは、代わりに固定ロジックを直接実行します。23Claude Code には、`/doctor`、`/code-review`、`/batch`、`/debug`、`/loop`、`/claude-api` などのバンドルされたスキルが含まれています。バンドルされたスキルはプロンプトベースです。Claude に詳細な指示を与え、ツールを使用して作業を調整させます。ほとんどの組み込みコマンドは、代わりに固定ロジックを直接実行します。

24 24 

25バンドルされたスキルを呼び出すには、`/` の後にスキル名を入力します。Claude は関連する場合、一部のバンドルされたスキルを自動的に呼び出します。[`/verify`](#run-and-verify-your-app) を含む他のスキルは、呼び出した場合にのみ実行されます。25バンドルされたスキルを呼び出すには、`/` の後にスキル名を入力します。Claude は関連する場合、一部のバンドルされたスキルを自動的に呼び出します。

26 26 

27ほとんどのバンドルされたスキルはすべてのセッションで利用可能です。いくつかは特定の機能に依存しています。たとえば、`/workflow-authoring` は [動的ワークフロー](https://code.claude.com/docs/ja/workflows.md) が有効な場合にのみ利用可能です。27ほとんどのバンドルされたスキルはすべてのセッションで利用可能です。いくつかは特定の機能に依存しています。たとえば、`/workflow-authoring` は [動的ワークフロー](https://code.claude.com/docs/ja/workflows.md) が有効な場合にのみ利用可能です。

28 28 


320 320 

321セッション開始時に存在しなかったトップレベルのスキルディレクトリを作成した場合は、[`/reload-skills`](https://code.claude.com/docs/ja/commands#all-commands) を実行して、そこに置いたスキルを読み込みます。Claude Code はまだそのディレクトリを監視していないため、その後そこで変更するたびに `/reload-skills` を再度実行してください。321セッション開始時に存在しなかったトップレベルのスキルディレクトリを作成した場合は、[`/reload-skills`](https://code.claude.com/docs/ja/commands#all-commands) を実行して、そこに置いたスキルを読み込みます。Claude Code はまだそのディレクトリを監視していないため、その後そこで変更するたびに `/reload-skills` を再度実行してください。

322 322 

323ライブ変更検出の対象は `SKILL.md` のテキストのみです。[プラグイン](https://code.claude.com/docs/ja/plugins/loading.md#plugins-shared-through-a-repository)でもあるスキルフォルダでは、`hooks/`、`.mcp.json`、`agents/`、`output-styles/` の変更を反映するには `/reload-plugins` が必要です。323> [!NOTE]

324>

325> ライブ変更検出の対象は `SKILL.md` のテキストです。[プラグイン](https://code.claude.com/docs/ja/plugins/loading.md#plugins-shared-through-a-repository)でもあるスキルフォルダでは、`.mcp.json`、`agents/`、`output-styles/` の変更を反映するには `/reload-plugins` が必要です。`hooks/` の変更にも必要ですが、[mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) のモジュールファイルが[自動で再読み込みされる](https://code.claude.com/docs/ja/env-vars.md)場合は除きます。

324 326 

325### スキルを削除する327### スキルを削除する

326 328 

sub-agents.md +59 −42

Details

36>36>

37> コードベースの検索と分析に最適化された高速な読み取り専用エージェント。37> コードベースの検索と分析に最適化された高速な読み取り専用エージェント。

38>38>

39> * **モデル**: メイン会話のモデル。メイン会話が Fable で実行されている場合、Explore のモデルは接続方法によって異なります。39> * **モデル**: [親の会話](#which-model-a-nested-subagent-runs-on)のモデル。親の会話が Fable で実行されている場合、Explore は接続方法に応じて Opus で実行されるか、Fable のままになります。

40> * Claude サブスクリプション、Anthropic Console アカウント、または `ANTHROPIC_BASE_URL` 経由で接続する [LLM ゲートウェイ](https://code.claude.com/docs/ja/llm-gateway)を使用する場合、Explore は [`opus` エイリアス](https://code.claude.com/docs/ja/model-config#model-aliases)が解決される Opus モデルで実行されます。40> * Claude サブスクリプション、Anthropic Console アカウント、または `ANTHROPIC_BASE_URL` 経由で接続する [LLM ゲートウェイ](https://code.claude.com/docs/ja/llm-gateway)を使用する場合、Explore は [`opus` エイリアス](https://code.claude.com/docs/ja/model-config#model-aliases)が解決される Opus モデルで実行されます。

41> * Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、[Claude Platform on AWS](https://code.claude.com/docs/ja/claude-platform-on-aws.md)、または [Claude apps ゲートウェイ](https://code.claude.com/docs/ja/claude-apps-gateway)では、Explore はメイン会話のモデルのままです。41> * Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、[Claude Platform on AWS](https://code.claude.com/docs/ja/claude-platform-on-aws.md)、または [Claude apps ゲートウェイ](https://code.claude.com/docs/ja/claude-apps-gateway)では、Explore は Fable のままです。

42> * **ツール**: 読み取り専用ツール。Write と Edit は拒否されます。42> * **ツール**: 読み取り専用ツール。Write と Edit は拒否されます。

43> * **目的**: ファイル検出、コード検索、コードベース探索43> * **目的**: ファイル検出、コード検索、コードベース探索

44>44>


52>52>

53> [プランモード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)中にプランを提示する前にコンテキストを収集するために使用される研究エージェント。53> [プランモード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)中にプランを提示する前にコンテキストを収集するために使用される研究エージェント。

54>54>

55> * **モデル**: メイン会話から継承されます。ただし、`CLAUDE_CODE_SUBAGENT_MODEL`を設定して[すべてのサブエージェントを 1 つのモデルで実行](#run-every-subagent-on-one-model)する場合を除きます。55> * **モデル**: [親の会話](#which-model-a-nested-subagent-runs-on)から継承されます。ただし、`CLAUDE_CODE_SUBAGENT_MODEL` を設定して[すべてのサブエージェントに強制](#run-every-subagent-on-one-model)する場合を除きます。

56> * **ツール**: 読み取り専用ツール。Write と Edit は拒否されます。56> * **ツール**: 読み取り専用ツール。Write と Edit は拒否されます。

57> * **目的**: 計画のためのコードベース研究57> * **目的**: 計画のためのコードベース研究

58>58>


62>62>

63> 探索とアクションの両方を必要とする複雑なマルチステップタスク用の有能なエージェント。63> 探索とアクションの両方を必要とする複雑なマルチステップタスク用の有能なエージェント。

64>64>

65> * **モデル**: [`CLAUDE_CODE_SUBAGENT_MODEL`](#choose-a-model)モデル(設定した場合で、他の何もモデルを別の方法で割り当てない場合)、それ以外の場合はメイン会話のモデル。[モデルを選択](#choose-a-model)は完全な順序を示し、[すべてのサブエージェントを 1 つのモデルで実行](#run-every-subagent-on-one-model)は変数がこれらのソースをオーバーライドする方法を示します。65> * **モデル**: デフォルトでは親の会話のモデル。[モデルの順序](#choose-a-model)に従います。

66> * **ツール**: [サブエージェントで利用可能](#available-tools)なすべてのツール66> * **ツール**: [サブエージェントで利用可能](#available-tools)なすべてのツール

67> * **目的**: 複雑な研究、マルチステップ操作、コード変更67> * **目的**: 複雑な研究、マルチステップ操作、コード変更

68>68>


346 346 

347### モデルを選択する347### モデルを選択する

348 348 

349`model` フィールドは、サブエージェントが使用するモデルを制御します。349デフォルトでは、定義したサブエージェントは、それを開始した会話と同じモデルで実行されます。モデルを自分で選択するには、定義の [`model`](#supported-frontmatter-fields) フィールドを次のいずれかの値に設定します。

350 350 

351* **モデルエイリアス**: 利用可能なエイリアスのいずれかを使用します: `sonnet`、`opus`、`haiku`、または `fable`351* **モデルエイリアス**: `sonnet`、`opus`、`haiku`、または `fable`

352* **完全なモデル ID**: `claude-opus-5-5` や `claude-sonnet-5` などの完全なモデル ID を使用します。`--model` フラグと同じ値を受け付けます352* **完全なモデル ID**: `claude-opus-5-5` や `claude-sonnet-5` など、[`--model`](https://code.claude.com/docs/ja/cli-reference#cli-flags) フラグが受け付ける値

353* **inherit**: メインの会話と同じモデルを使用します353* **`inherit`**: メインの会話のモデル。[ネストされたサブエージェント](#which-model-a-nested-subagent-runs-on)の場合は、それを生成したサブエージェントのモデル

354 354 

355Claude がサブエージェントを呼び出す際、その呼び出しに対して `model` パラメータを渡すこともできます。Agent ツール呼び出しでは、このパラメータはモデルエイリアス(`sonnet`、`opus`、`haiku`、または `fable`)を受け付けます。Claude はこの呼び出しで完全なモデル ID や `inherit` を渡すことはできません。Claude Code は次の順序でサブエージェントのモデルを決定します。355複数のソースがモデルを設定している場合、Claude Code は次の順序で最初のものを使用します。

356 356 

3571. 呼び出しごとの `model` パラメータ3571. 呼び出しごとの `model` パラメータ。Claude はサブエージェントの開始時にこれを渡すことができます。Agent ツール呼び出しでは、このパラメータは完全なモデル ID や `inherit` ではなく、モデルエイリアスを受け付けます。

3582. サブエージェント定義の `model` フロントマター(`inherit` はメインの会話のモデルを選択します)3582. サブエージェント定義の `model` フィールド(`inherit` を含む)

3593. [`CLAUDE_CODE_SUBAGENT_MODEL`](https://code.claude.com/docs/ja/model-config#environment-variables) 環境変数(モデルエイリアスまたはモデル ID に設定した場合)3593. [`CLAUDE_CODE_SUBAGENT_MODEL`](https://code.claude.com/docs/ja/model-config#environment-variables) 環境変数

3604. メインの会話のモデル3604. メインの会話のモデル。ネストされたサブエージェントの場合は、それを生成したサブエージェントのモデル

361 361 

362インストールされた [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が [`agent.spawn`](https://code.claude.com/docs/ja/plugins/mods/reference#subagents) フックでモデルを設定している場合、Claude Code は呼び出しごとのパラメータの代わりにそのモデルを使用します。362Claude がエイリアスを渡した場合、サブエージェントは[再開されたり、フォローアップメッセージを受け取ったり](#resume-subagents)したときもそのエイリアスを維持します。インストールされた [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が [`agent.spawn`](https://code.claude.com/docs/ja/plugins/mods/reference#subagents) フックでモデルを設定している場合、Claude Code は呼び出しごとのパラメータの代わりにそのモデルを使用します。

363 

364次の 2 つの場合、呼び出しごとのパラメータまたはフロントマターにおける `opus` などのファミリーエイリアスは、[エイリアスが指すバージョン](https://code.claude.com/docs/ja/model-config.md#model-aliases)ではなくメインの会話のモデルに解決されます。

365 

366* **メインの会話のモデルがそのファミリーに属している場合**: サブエージェントは `[1m]` サフィックスを含め、メインの会話とまったく同じモデルで実行されるため、メインの会話と同じ[拡張コンテキスト](https://code.claude.com/docs/ja/model-config.md#extended-context)ウィンドウを得られます。

367* **[Anthropic API 以外のプロバイダー](https://code.claude.com/docs/ja/third-party-integrations.md)で、Claude Code がメインの会話のモデルファミリーを判別できない場合**: これは、Amazon Bedrock で Claude Code が基盤モデルに解決していない[アプリケーション推論プロファイル ARN](https://code.claude.com/docs/ja/amazon-bedrock.md#iam-configuration) を使用している場合に発生することがあります。このケースは `opus` エイリアスのみが対象で、[`ANTHROPIC_DEFAULT_OPUS_MODEL`](https://code.claude.com/docs/ja/model-config#environment-variables) を設定している場合は適用されません。その場合、`opus` は設定したモデルに解決されるためです。

368 

369`CLAUDE_CODE_SUBAGENT_MODEL` 内のエイリアスは、メインの会話のファミリーを指している場合でも、常にエイリアスが指すバージョンに解決されます。この変数を `inherit` に設定することは、未設定のままにすることと同じです。

370 363 

371`CLAUDE_CODE_SUBAGENT_MODEL` を設定するだけでは、組み込みの Explore サブエージェントと Plan サブエージェントが実行されるモデルは変わりません。変更するには、[すべてのサブエージェントを 1 つのモデルで実行する](#run-every-subagent-on-one-model)を参照してください。364`CLAUDE_CODE_SUBAGENT_MODEL` を設定するだけでは、組み込みの Explore サブエージェントと Plan サブエージェントが実行されるモデルは変わりません。変更するには、[すべてのサブエージェントを 1 つのモデルで実行する](#run-every-subagent-on-one-model)を参照してください。

372 365 

373v2.1.251 より前は、`CLAUDE_CODE_SUBAGENT_MODEL` がこの順序の先頭にあり、`model: inherit` を含め、呼び出しごとのパラメータとフロントマターの両方を上書きしていました。366#### ネストされたサブエージェントが実行されるモデル

374 367 

375Claude Code は、呼び出しごとのパラメータ、フロントマター、環境変数の値を組織の [`availableModels`](https://code.claude.com/docs/ja/model-config#restrict-model-selection) 許可リストと照合します。ブロックされた値については、別のモデルで代替します。368デフォルトでは、定義した[ネストされたサブエージェント](#let-subagents-spawn-their-own-subagents)は、その親、つまりそれを生成したサブエージェントのモデルで実行されます。ネストされたサブエージェントを別のモデルで実行するには、その `model` フィールドをそのモデルに設定します。

376 369 

377* ブロックされた値が `opus` などのファミリーエイリアスである場合、Claude Code は `/model` と同じ[代替ルールとプロバイダーの範囲](https://code.claude.com/docs/ja/model-config.md#restrict-model-selection)に従い、許可リストで許可されているそのファミリーの最新バージョンでサブエージェントを実行します。v2.1.222 より前は、ブロックされたファミリーエイリアスについても、Claude Code は継承されたモデルでサブエージェントを実行していました。370たとえば、メインの会話が Opus で実行され、Haiku でレビュー担当のサブエージェントを開始するとします。デフォルトでは、レビュー担当が次のサブエージェントを生成した場合、それらは Opus ではなく Haiku で実行されます。

378* その他のブロックされた値の場合、その代替が機能しないプロバイダーの場合、または許可リストでそのファミリーのどのバージョンも許可されていない場合、Claude Code は代わりに継承されたモデルでサブエージェントを実行します。`CLAUDE_CODE_SUBAGENT_MODEL` を設定している場合、Claude Code はこれらと同じルールの下でまずそのモデルを試します。

379 371 

380対話セッションでは、いずれの代替の場合も、Claude Code は要求されたモデルとサブエージェントが実際に実行されるモデルを示す警告を表示します。372* `model: inherit` を指定した、または `model` フィールドのないサブエージェント

373* 組み込みの Explore、Plan、general-purpose サブエージェント

374* [フォーク](#fork-the-current-conversation)

381 375 

382サブエージェントがどのモデルで実行されているかを確認するには、[`/tasks`](https://code.claude.com/docs/ja/commands) を実行します。Claude Code はサブエージェントの行にモデルを表示し、そのサブエージェントに [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)が設定されている場合はそれも表示します。Claude Code v2.1.242 以降が必要です。376plan モードでは、セッションのモデルを [`opusplan`](https://code.claude.com/docs/ja/model-config#opusplan-model-setting) に設定している場合、これらのサブエージェントは Opus で実行され、`haiku` に設定している場合は Sonnet で実行されます。

383 377 

384呼び出しごとの `model` パラメータは、サブエージェントが[再開されたり、フォローアップメッセージを送られたり](#resume-subagents)した場合にも適用されるため、サブエージェントはそのモデルのまま維持されます。378#### サブエージェントのモデルを確認する

385 379 

386v2.1.198 以降、サブエージェントはメインの会話の[拡張思考](https://code.claude.com/docs/ja/model-config.md#extended-thinking)設定も継承します。セッションで思考がオンであればサブエージェントでもオンになり、オフであればオフのままです。サブエージェントごとの思考設定はありません。v2.1.198 より前は、メインの会話の設定にかかわらず、サブエージェントは拡張思考が無効な状態で実行されていました。380サブエージェントがどのモデルで実行されているかを確認するには、[`/tasks`](https://code.claude.com/docs/ja/commands) を実行します。Claude Code はサブエージェントの行にモデルを表示し、そのサブエージェントに [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)が設定されている場合はそれも表示します。Claude Code v2.1.242 以降が必要です。

387 381 

388#### すべてのサブエージェントを 1 つのモデルで実行する382#### すべてのサブエージェントを 1 つのモデルで実行する

389 383 

390`CLAUDE_CODE_SUBAGENT_MODEL` はデフォルト値であるため、サブエージェントの定義や Claude が渡すモデルのほうが引き続き優先されます。すべてのサブエージェント、[チームメイト](https://code.claude.com/docs/ja/agent-teams.md#specify-teammates-and-models)、[ワークフローエージェント](https://code.claude.com/docs/ja/workflows.md)に 1 つのモデルを適用するには、`CLAUDE_CODE_SUBAGENT_MODEL_FORCE` も `1` に設定します。Claude Code v2.1.257 以降が必要です。384すべてのサブエージェント、[チームメイト](https://code.claude.com/docs/ja/agent-teams.md#specify-teammates-and-models)、[ワークフローエージェント](https://code.claude.com/docs/ja/workflows.md)に 1 つのモデルを適用するには、`CLAUDE_CODE_SUBAGENT_MODEL` をそのモデルに、`CLAUDE_CODE_SUBAGENT_MODEL_FORCE` を `1` に設定します。Claude Code v2.1.257 以降が必要です。

391 

392* 両方の変数を設定した場合、サブエージェントは `CLAUDE_CODE_SUBAGENT_MODEL` のモデルで実行されます。

393* `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` のみを設定した場合、サブエージェントはメインの会話のモデルで実行されます。ただし、組み込みの Explore サブエージェントは、[組み込みサブエージェントに記載されているモデル](#built-in-subagents)で実行されます。

394 385 

395たとえば、すべてのサブエージェントを Haiku で実行するには、[設定ファイル](https://code.claude.com/docs/ja/settings.md)の `env` ブロックで両方の変数を設定します。386たとえば、すべてのサブエージェントを Haiku で実行するには、[設定ファイル](https://code.claude.com/docs/ja/settings.md)の `env` ブロックで両方の変数を設定します。

396 387 


405 396 

406設定が反映されたことを確認するには、サブエージェントの実行中に [`/tasks`](https://code.claude.com/docs/ja/commands) を実行します。サブエージェントの行に、実行されているモデルが表示されます。397設定が反映されたことを確認するには、サブエージェントの実行中に [`/tasks`](https://code.claude.com/docs/ja/commands) を実行します。サブエージェントの行に、実行されているモデルが表示されます。

407 398 

408`CLAUDE_CODE_SUBAGENT_MODEL_FORCE` が[オン](https://code.claude.com/docs/ja/env-vars.md)の間、Claude Code はサブエージェント定義の `model` フィールドを無視し、Claude はサブエージェントの開始時にモデルを渡せません。次のサブエージェントは引き続きメインの会話のモデルで実行されます。399`CLAUDE_CODE_SUBAGENT_MODEL_FORCE` が[オン](https://code.claude.com/docs/ja/env-vars.md)の間、Claude Code はサブエージェント定義の `model` フィールドを無視し、Claude はサブエージェントの開始時にモデルを渡せません。次のサブエージェントは引き続き親の会話のモデルで実行されます。

409 400 

410* [フォーク](#fork-the-current-conversation)401* [フォーク](#fork-the-current-conversation)

411* `model: inherit` を指定した[サブエージェントで実行されるスキル](https://code.claude.com/docs/ja/skills.md#run-skills-in-a-subagent)402* `model: inherit` を指定した[サブエージェントで実行されるスキル](https://code.claude.com/docs/ja/skills.md#run-skills-in-a-subagent)

412 403 

404`CLAUDE_CODE_SUBAGENT_MODEL_FORCE` のみを設定した場合、サブエージェントはメインの会話のモデルで実行されます。ただし、組み込みの Explore サブエージェントは、[組み込みサブエージェントに記載されているモデル](#built-in-subagents)で実行されます。

405 

406#### モデルエイリアスが選択するバージョン

407 

408デフォルトでは、モデルエイリアスを指定したサブエージェントは、[エイリアスが指すバージョン](https://code.claude.com/docs/ja/model-config.md#model-aliases)で実行されます。`model` フィールドまたは呼び出しごとのパラメータで `opus` などのファミリーエイリアスを指定した場合、次の 2 つのケースでは、サブエージェントは親の会話のモデルで実行されます。

409 

410* **同じファミリー**: たとえば、メインの会話が `claude-opus-4-7` で実行されている場合、`model: opus` を指定したサブエージェントもそのバージョンで実行されます。別のバージョンで実行するには、`model` フィールドに完全なモデル ID を設定します。

411* **不明なファミリー**: Claude Code が親モデルのファミリーを判別できない場合です。たとえば、Claude Code が[参照できない](https://code.claude.com/docs/ja/amazon-bedrock.md#iam-configuration) Amazon Bedrock ARN の場合などです。このケースは、[Anthropic API 以外のプロバイダー](https://code.claude.com/docs/ja/third-party-integrations.md)での `opus` エイリアスにのみ適用されます。Opus のバージョンを選択するには、[`ANTHROPIC_DEFAULT_OPUS_MODEL`](https://code.claude.com/docs/ja/model-config#environment-variables) を設定します。

412 

413#### 許可リストがサブエージェントのモデルをブロックする場合

414 

415組織の [`availableModels`](https://code.claude.com/docs/ja/model-config#restrict-model-selection) 許可リストがサブエージェントに設定されたモデルをブロックしている場合、サブエージェントは次のうち最初に該当するもので実行されます。

416 

4171. ブロックされたファミリーエイリアスの場合、[この代替をサポートするプロバイダー](https://code.claude.com/docs/ja/model-config.md#restrict-model-selection)では、そのファミリーで許可されている最新バージョン

4182. `CLAUDE_CODE_SUBAGENT_MODEL` を設定している場合はそのモデル(これと同じルールが適用されます)

4193. メインの会話のモデル。ネストされたサブエージェントの場合は、それを生成したサブエージェントのモデル

420 

421対話セッションのトップレベルのサブエージェントでは、要求されたモデルとその代替モデルを示す警告が表示されます。特定のモデルで実行するには、ブロックされた値を許可リストで許可されている値に変更します。

422 

423### サブエージェントでの拡張思考

424 

425サブエージェントは、メインの会話の[拡張思考](https://code.claude.com/docs/ja/model-config.md#extended-thinking)設定を継承します。サブエージェントごとの思考設定はありません。

426 

413### effort レベルを選択する427### effort レベルを選択する

414 428 

415サブエージェントを独自の [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)で実行するには、その定義で [`effort`](#supported-frontmatter-fields) フィールドを設定します。429サブエージェントを独自の [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)で実行するには、その定義で [`effort`](#supported-frontmatter-fields) フィールドを設定します。


426 440 

427#### 利用可能なツール441#### 利用可能なツール

428 442 

429サブエージェントは、メインの会話で利用可能な[組み込みツール](https://code.claude.com/docs/ja/tools-reference.md)と MCP ツールを継承しますが、2 つのフィルターによって絞り込まれます。1 つ目はすべてのサブエージェントから少数のツールを削除し、2 つ目は[バックグラウンド](#run-subagents-in-foreground-or-background)で実行されるサブエージェント(デフォルト)の組み込みツールセットを縮小します。macOS、Linux、WSL では、[Glob ツールの動作](https://code.claude.com/docs/ja/tools-reference.md#glob-tool-behavior)で説明されているとおり、メインの会話に Glob ツールと Grep ツールがない場合でも、サブエージェントはそれらを受け取ることがあります。[フォーク](#fork-the-current-conversation)は両方のフィルターをスキップし、メインの会話とまったく同じツールプールを受け取ります。1 つ目のフィルターは、`tools` フィールドに列挙されている場合でも、次のツールを削除します。443サブエージェントは、メインの会話で利用可能な[組み込みツール](https://code.claude.com/docs/ja/tools-reference.md)と MCP ツールを継承しますが、2 つのフィルターによって絞り込まれます。1 つ目はすべてのサブエージェントから少数のツールを削除し、2 つ目は[バックグラウンド](#run-subagents-in-foreground-or-background)で実行されるサブエージェント(デフォルト)の組み込みツールセットを縮小します。

444 

445macOS、Linux、WSL では、[Glob ツールの動作](https://code.claude.com/docs/ja/tools-reference.md#glob-tool-behavior)で説明されているとおり、メインの会話に Glob ツールと Grep ツールがない場合でも、サブエージェントはそれらを受け取ることがあります。[フォーク](#fork-the-current-conversation)は両方のフィルターをスキップし、親の会話とまったく同じツールプールを受け取ります。1 つ目のフィルターは、`tools` フィールドに列挙されている場合でも、次のツールを削除します。

430 446 

431* `Agent`(サブエージェントが[深さの上限](#let-subagents-spawn-their-own-subagents)に達している場合)。[フォーク](#fork-the-current-conversation)ではツールは一覧に残りますが、生成する代わりにエラーを返します447* `Agent`(サブエージェントが[深さの上限](#let-subagents-spawn-their-own-subagents)に達している場合)。[フォーク](#fork-the-current-conversation)ではツールは一覧に残りますが、生成する代わりにエラーを返します

432* `AskUserQuestion`448* `AskUserQuestion`


1077 1093 

1078この値では、サブエージェントは自身の下の第 2 階層に委任でき、その第 2 階層はそれ以上委任できません。ネストをオフにするには `1` を設定します。1094この値では、サブエージェントは自身の下の第 2 階層に委任でき、その第 2 階層はそれ以上委任できません。ネストをオフにするには `1` を設定します。

1079 1095 

1080ネストされたサブエージェントは最上位のサブエージェントと同じ方法で設定され、同じ[スコープ](#choose-the-subagent-scope)から解決されます。ネストがオンの間に、読み取り専用のままにしておくべきレビュー役など、特定のサブエージェントが生成を行わないようにするには、その [`tools`](#available-tools) リストから `Agent` を除外するか、`disallowedTools` に追加します。1096ネストされたサブエージェントは、最上位のサブエージェントと同じ[スコープ](#choose-the-subagent-scope)で定義します。デフォルトでは、定義したネストされたサブエージェントは[生成元のサブエージェントのモデル](#which-model-a-nested-subagent-runs-on)で実行されます。ネストがオンの間に、読み取り専用のままにしておくべきレビュー役など、特定のサブエージェントが生成を行わないようにするには、その [`tools`](#available-tools) リストから `Agent` を除外するか、`disallowedTools` に追加します。

1081 1097 

1082ターミナルでは、Claude Code はプロンプト入力の下にあるサブエージェントパネルにネストされたサブエージェントをツリーとして表示し、パネル内にまだ子孫を持つ各行に、その数を示す `(+N)` を付けます。行を開くと、そのサブエージェントの兄弟と直接の子が、`main` までのパスとともに表示されます。1098ターミナルでは、Claude Code はプロンプト入力の下にあるサブエージェントパネルにネストされたサブエージェントをツリーとして表示し、パネル内にまだ子孫を持つ各行に、その数を示す `(+N)` を付けます。行を開くと、そのサブエージェントの兄弟と直接の子が、`main` までのパスとともに表示されます。

1083 1099 


1221>1237>

1222> [エージェントビューがオフになっている](https://code.claude.com/docs/ja/agent-view.md#turn-off-agent-view)場合、`/subtask` は利用できず、代わりに `/fork` がフォークされたサブエージェントを開始します。それ以外の場合、`/fork` はセッション全体を新しい[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md#from-inside-a-session)にコピーします。1238> [エージェントビューがオフになっている](https://code.claude.com/docs/ja/agent-view.md#turn-off-agent-view)場合、`/subtask` は利用できず、代わりに `/fork` がフォークされたサブエージェントを開始します。それ以外の場合、`/fork` はセッション全体を新しい[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md#from-inside-a-session)にコピーします。

1223 1239 

1224フォークは、これまでの会話全体を継承するサブエージェントです。これにより、サブエージェントが通常提供する入力分離が削除されます。フォークはメインセッションと同じシステムプロンプト、ツール、モデル、およびメッセージ履歴を表示するため、状況を再度説明することなく、サイドタスクを渡すことができます。フォークのツール呼び出しはまだ会話から除外され、最終結果のみが返されるため、メインコンテキストウィンドウはクリーンなままです。フォークを使用する場合は、他のサブエージェントが有用であるには背景が多すぎる場合、または同じ開始点から複数のアプローチを並行して試したい場合です。1240フォークは、新しく開始するのではなく、これまでの会話全体を継承するサブエージェントです。他のサブエージェントでは役立つまでに必要な背景情報が多すぎる場合や、同じ開始点から複数のアプローチを並行して試したい場合にフォークを使用します。

1241 

1242* **入力**:フォークは、親の会話と同じシステムプロンプト、ツール、[モデル](#which-model-a-nested-subagent-runs-on)、およびメッセージ履歴を参照します

1243* **出力**:フォーク自身のツール呼び出しは親の会話に含まれず、最終結果のみが返されます

1225 1244 

1226フォークモードがオンの間(デフォルトではオンです)、Claude は自らフォークを開始できます。フォークを停止するには、[フォークモードをオフにする](#turn-fork-mode-on-or-off)を参照してください。1245フォークモードがオンの間(デフォルトではオンです)、Claude は自らフォークを開始できます。フォークを停止するには、[フォークモードをオフにする](#turn-fork-mode-on-or-off)を参照してください。

1227 1246 


1257 1276 

1258### フォークと他のサブエージェントの違い1277### フォークと他のサブエージェントの違い

1259 1278 

1260フォークはメインセッションがその時点で持っているすべてを継承します。他のサブエージェントはその定義から開始します。

1261 

1262| | フォーク | 非フォークサブエージェント |1279| | フォーク | 非フォークサブエージェント |

1263| :- | :- | :- |1280| :- | :- | :- |

1264| コンテキスト | 完全な会話履歴 | 渡すプロンプトを使用した新しいコンテキスト |1281| コンテキスト | 完全な会話履歴 | 渡すプロンプトを使用した新しいコンテキスト |

1265| システムプロンプトとツール | メインセッションと同じ | サブエージェントの[定義ファイル](#write-subagent-files)から、[バックグラウンド実行用にフィルタリング](#available-tools) |1282| システムプロンプトとツール | 親の会話と同じ | サブエージェントの[定義ファイル](#write-subagent-files)から、[バックグラウンド実行用にフィルタリング](#available-tools) |

1266| モデル | メインセッションと同じ | サブエージェントの `model` フィールドから |1283| モデル | [親の会話](#which-model-a-nested-subagent-runs-on)と同じ | [サブエージェントのモデルの優先順位](#choose-a-model)に従う |

1267| プロンプトキャッシュ | メインセッションと共有 | 別のキャッシュ |1284| プロンプトキャッシュ | 親の会話と共有 | 別のキャッシュ |

1268 1285 

1269フォークのシステムプロンプトとツール定義は親と同じであるため、最初のリクエストは親の[プロンプトキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md#subagents-and-the-cache)を再利用します。この再利用により、同じコンテキストが必要なタスクの場合、フォークは新しいサブエージェントよりも安価です。1286フォークのシステムプロンプトとツール定義は親と同じであるため、最初のリクエストは親の[プロンプトキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md#subagents-and-the-cache)を再利用します。この再利用により、同じコンテキストが必要なタスクの場合、フォークは新しいサブエージェントよりも安価です。

1270 1287 

workflows.md +1 −1

Details

454* 日常的な作業で普段は小さいモデルに切り替えている場合は、大規模な実行の前に `/model` を確認します454* 日常的な作業で普段は小さいモデルに切り替えている場合は、大規模な実行の前に `/model` を確認します

455* タスクを説明する際に、最も強力なモデルを必要としないステージには小さいモデルを使うよう Claude に依頼します455* タスクを説明する際に、最も強力なモデルを必要としないステージには小さいモデルを使うよう Claude に依頼します

456 456 

457組織の [`availableModels` 許可リスト](https://code.claude.com/docs/ja/model-config#restrict-model-selection)によって、スクリプトがエージェントに要求したモデルがブロックされた場合、そのエージェントは[サブエージェントと同じ置き換えルール](https://code.claude.com/docs/ja/sub-agents.md#choose-a-model)に従い、代わりのモデルで実行されます。457組織の [`availableModels` 許可リスト](https://code.claude.com/docs/ja/model-config#restrict-model-selection)によって、スクリプトがエージェントに要求したモデルがブロックされた場合、そのエージェントは[サブエージェントと同じ置き換えルール](https://code.claude.com/docs/ja/sub-agents.md#when-an-allowlist-blocks-a-subagent-model)に従い、代わりのモデルで実行されます。

458 458 

459### サイズガイドラインを設定する459### サイズガイドラインを設定する

460 460 

worktrees.md +4 −1

Details

232 232 

233デフォルトの `"fresh"` [ベース](#choose-the-base-branch)では、以下のすべてが当てはまる場合、再度開かれた worktree は古いチップで続行する代わりにリポジトリのデフォルトブランチにリセットされます。233デフォルトの `"fresh"` [ベース](#choose-the-base-branch)では、以下のすべてが当てはまる場合、再度開かれた worktree は古いチップで続行する代わりにリポジトリのデフォルトブランチにリセットされます。

234 234 

235* [サンドボックス](https://code.claude.com/docs/ja/sandboxing.md#filesystem-isolation)がセッション内のファイル書き込みを制限しておらず、worktree とメインチェックアウトのどちらの `.claude` 設定ファイルもサンドボックスを有効にしていない。

235* コミットされていない変更または追跡されていないファイルがない。236* コミットされていない変更または追跡されていないファイルがない。

236* Claude Code が作成したブランチ上にまだある。237* Claude Code が作成したブランチ上にまだある。

237* 独自のコミットがない、またはプルリクエストやマージリクエストがマージされ、リモートブランチが削除されている。238* 独自のコミットがない、またはプルリクエストやマージリクエストがマージされ、リモートブランチが削除されている。


240 241 

241その他のすべての場合、Claude Code は worktree を古いチップで再度開きます。242その他のすべての場合、Claude Code は worktree を古いチップで再度開きます。

242 243 

243* worktree がいずれかの条件を満たさない。244* worktree またはセッションがいずれかの条件を満たさない。

244* Claude Code が worktree の状態を検証できない。245* Claude Code が worktree の状態を検証できない。

245* `worktree.baseRef` が `"head"` である。246* `worktree.baseRef` が `"head"` である。

246* 名前がプルリクエストまたはマージリクエストの参照である。247* 名前がプルリクエストまたはマージリクエストの参照である。

247 248 

249`"fresh"` ベースでサンドボックスを使用する場合は、`git fetch origin` を実行してから、`--worktree` に新しい名前を渡して最新のデフォルトブランチから開始してください。

250 

248### フックで worktree の作成を置き換える251### フックで worktree の作成を置き換える

249 252 

250[`WorktreeCreate` フック](https://code.claude.com/docs/ja/hooks#worktreecreate)を設定すると、`.claude/worktrees/` 以外の場所に worktree を配置することも含め、デフォルトの `git worktree` ロジックを完全に置き換えることができます。完全な例については、[非 git バージョン管理](#non-git-version-control) を参照してください。253[`WorktreeCreate` フック](https://code.claude.com/docs/ja/hooks#worktreecreate)を設定すると、`.claude/worktrees/` 以外の場所に worktree を配置することも含め、デフォルトの `git worktree` ロジックを完全に置き換えることができます。完全な例については、[非 git バージョン管理](#non-git-version-control) を参照してください。