SpyBara
Go Premium

Documentation 2026-10-24 22:59 UTC to 2026-10-25 23:58 UTC

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

771 771 

772コールバックがタイムアウトを超過した場合、Claude Code はそれをキャンセルし、その出力を破棄し、セッションはハングするのではなく続行します。次に何が起こるかはイベントによって異なります:772コールバックがタイムアウトを超過した場合、Claude Code はそれをキャンセルし、その出力を破棄し、セッションはハングするのではなく続行します。次に何が起こるかはイベントによって異なります:

773 773 

774* `PreToolUse`:Claude Code はツール呼び出しをブロックします。その代わりに、Claude はフックがタイムアウト前に応答しなかったことを示すツール結果を受け取り、ターンが続行されます。v2.1.210 より前では、Claude Code はタイムアウトを Claude にユーザー拒否として報告していたため、無人セッションは停止して入力を待つようになっていました。774* `PreToolUse`:Claude Code はツール呼び出しをブロックします。他のすべてのフックが何も返さなかったか、`allow` の決定のみを返した場合、ツール結果はフックがタイムアウト前に応答しなかったことを Claude に伝え、ターンが続行されます。他のフックがすでにその呼び出しを拒否していた場合でも、その拒否は Claude に届きます:ツール結果にはそのフックの理由が含まれ、その後にタイムアウトのテキストが続くことがあります。

775 

776 v2.1.210 より前では、Claude Code はタイムアウトを Claude にユーザー拒否として報告していたため、無人セッションは停止して入力を待つようになっていました。

775* `PostToolUse` および `PostToolUseFailure`:Claude Code はツール結果を保持し、ターンが続行されます。777* `PostToolUse` および `PostToolUseFailure`:Claude Code はツール結果を保持し、ターンが続行されます。

776* `UserPromptSubmit` および [`UserPromptExpansion`](https://code.claude.com/docs/ja/hooks#userpromptexpansion):Claude Code はフックとタイムアウトを名前で示すメッセージでプロンプトをブロックし、セッションが続行されます。v2.1.208 より前では、これらのイベントのコールバックがタイムアウトした場合、Claude Code はクエリを `error_during_execution` で終了していました。778* `UserPromptSubmit` および [`UserPromptExpansion`](https://code.claude.com/docs/ja/hooks#userpromptexpansion):Claude Code はフックとタイムアウトを名前で示すメッセージでプロンプトをブロックし、セッションが続行されます。v2.1.208 より前では、これらのイベントのコールバックがタイムアウトした場合、Claude Code はクエリを `error_during_execution` で終了していました。

777* `Stop` および `SubagentStop`:タイムアウトしたコールバックは決定を返さないとカウントされます。エージェントまたはサブエージェントは、そのコールバックがそれを許可したかのように停止し、イベントの他のフックからの決定が適用されます。Claude Code v2.1.273 より前では、タイムアウトした `Stop` または `SubagentStop` コールバックは失敗したフック実行としてカウントされ、Claude Code はイベントの他のフックの決定を破棄していました。779* `Stop` および `SubagentStop`:タイムアウトしたコールバックは決定を返さないとカウントされます。エージェントまたはサブエージェントは、そのコールバックがそれを許可したかのように停止し、イベントの他のフックからの決定が適用されます。Claude Code v2.1.273 より前では、タイムアウトした `Stop` または `SubagentStop` コールバックは失敗したフック実行としてカウントされ、Claude Code はイベントの他のフックの決定を破棄していました。

Details

309| `options.dir` | `string` | `undefined` | セッションを検出するプロジェクトディレクトリ。省略した場合、すべてのプロジェクトを検索します |309| `options.dir` | `string` | `undefined` | セッションを検出するプロジェクトディレクトリ。省略した場合、すべてのプロジェクトを検索します |

310| `options.limit` | `number` | `undefined` | 返すメッセージの最大数 |310| `options.limit` | `number` | `undefined` | 返すメッセージの最大数 |

311| `options.offset` | `number` | `undefined` | 開始からスキップするメッセージ数 |311| `options.offset` | `number` | `undefined` | 開始からスキップするメッセージ数 |

312| `options.includeSystemMessages` | `boolean` | `false` | `true` の場合、ユーザーとアシスタントのメッセージに加えて、コンパクト境界などのシステムメッセージも返します |

312 313 

313#### 戻り値の型:`SessionMessage`314#### 戻り値の型:`SessionMessage`

314 315 

315| プロパティ | 型 | 説明 |316| プロパティ | 型 | 説明 |

316| :- | :- | :- |317| :- | :- | :- |

317| `type` | `"user" \| "assistant"` | メッセージロール |318| `type` | `"user" \| "assistant" \| "system"` | メッセージロール。`"system"` は `options.includeSystemMessages` が `true` の場合にのみ表示されます |

318| `uuid` | `string` | 一意のメッセージ識別子 |319| `uuid` | `string` | 一意のメッセージ識別子 |

319| `session_id` | `string` | このメッセージが属するセッション |320| `session_id` | `string` | このメッセージが属するセッション |

320| `message` | `unknown` | トランスクリプトからの生のメッセージペイロード |321| `message` | `unknown` | トランスクリプトからの生のメッセージペイロード |


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

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

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

636 seedReadState(path: string, mtime: number): Promise<void>;

635 accountInfo(): Promise<AccountInfo>;637 accountInfo(): Promise<AccountInfo>;

636 reconnectMcpServer(serverName: string): Promise<void>;638 reconnectMcpServer(serverName: string): Promise<void>;

637 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;639 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;

638 setMcpServers(servers: Record<string, McpServerConfig>): Promise<McpSetServersResult>;640 setMcpServers(servers: Record<string, McpServerConfig>): Promise<McpSetServersResult>;

641 setMcpPermissionModeOverride(

642 serverName: string,

643 mode: 'default' | 'auto' | null

644 ): Promise<{ warning?: string }>;

639 readMcpResource(serverName: string, uri: string): Promise<SDKControlMcpReadResourceResponse>;645 readMcpResource(serverName: string, uri: string): Promise<SDKControlMcpReadResourceResponse>;

640 streamInput(stream: AsyncIterable<SDKUserMessage>): Promise<void>;646 streamInput(stream: AsyncIterable<SDKUserMessage>): Promise<void>;

641 stopTask(taskId: string): Promise<void>;647 stopTask(taskId: string): Promise<void>;

648 backgroundTasks(toolUseId?: string): Promise<boolean>;

642 close(): void;649 close(): void;

643}650}

644```651```


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

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

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

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

668| `accountInfo()` | アカウント情報を返します |676| `accountInfo()` | アカウント情報を返します |

669| `reconnectMcpServer(serverName)` | 名前を指定して MCP サーバーに再接続します。名前が `.mcp.json` や `~/.claude.json` などの設定ファイル内のエントリとも一致する場合、Claude Code は設定ファイルのエントリではなく、[`mcpServers`](#options) または `setMcpServers()` で設定したサーバーに再接続します。この解決順序には Claude Code v2.1.257 以降が必要です |677| `reconnectMcpServer(serverName)` | 名前を指定して MCP サーバーに再接続します。名前が `.mcp.json` や `~/.claude.json` などの設定ファイル内のエントリとも一致する場合、Claude Code は設定ファイルのエントリではなく、[`mcpServers`](#options) または `setMcpServers()` で設定したサーバーに再接続します。この解決順序には Claude Code v2.1.257 以降が必要です |

670| `toggleMcpServer(serverName, enabled)` | 名前を指定して MCP サーバーを有効化または無効化します。名前の解決は `reconnectMcpServer()` と同じです。サーバーを無効にすると、その接続が切断され、ツールが削除されます。サーバーの種類ごとに必要な Claude Code のバージョンについては [`toggleMcpServer()`](#togglemcpserver) を参照してください |678| `toggleMcpServer(serverName, enabled)` | 名前を指定して MCP サーバーを有効化または無効化します。名前の解決は `reconnectMcpServer()` と同じです。サーバーを無効にすると、その接続が切断され、ツールが削除されます。サーバーの種類ごとに必要な Claude Code のバージョンについては [`toggleMcpServer()`](#togglemcpserver) を参照してください |

671| `setMcpServers(servers)` | このメソッドが管理する MCP サーバー、つまりこのメソッドで追加したサーバーと[インプロセス SDK サーバー](#createsdkmcpserver)を置き換えます。追加および削除されたサーバーとエラーを示す [`McpSetServersResult`](#mcpsetserversresult) で解決されます。他のどのサーバーが接続されたままになるかは、そのセクションで説明しています |679| `setMcpServers(servers)` | このメソッドが管理する MCP サーバー、つまりこのメソッドで追加したサーバーと[インプロセス SDK サーバー](#createsdkmcpserver)を置き換えます。追加および削除されたサーバーとエラーを示す [`McpSetServersResult`](#mcpsetserversresult) で解決されます。他のどのサーバーが接続されたままになるかは、そのセクションで説明しています |

680| `setMcpPermissionModeOverride(serverName, mode)` | 1 つの MCP サーバーのツールの権限モードを、セッションよりも厳格なモードで上書きします。`null` を指定すると上書きがクリアされます。ストリーミング入力モードでのみ使用できます。[`setMcpPermissionModeOverride()`](#setmcppermissionmodeoverride) を参照してください。TypeScript SDK v0.3.187 以降が必要です |

672| `readMcpResource(serverName, uri)` | *アルファ版。* 接続されている MCP サーバーから MCP Apps の `ui://` リソースを 1 つ読み取り、アプリケーションがツールのウィジェットを描画できるようにします。[`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse) で解決されます。TypeScript Agent SDK v0.3.280 以降が必要です |681| `readMcpResource(serverName, uri)` | *アルファ版。* 接続されている MCP サーバーから MCP Apps の `ui://` リソースを 1 つ読み取り、アプリケーションがツールのウィジェットを描画できるようにします。[`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse) で解決されます。TypeScript Agent SDK v0.3.280 以降が必要です |

673| `streamInput(stream)` | マルチターンの会話のために、入力メッセージをクエリにストリーミングします |682| `streamInput(stream)` | マルチターンの会話のために、入力メッセージをクエリにストリーミングします |

674| `stopTask(taskId)` | ID を指定して実行中のバックグラウンドタスクを停止します |683| `stopTask(taskId)` | ID を指定して実行中のバックグラウンドタスクを停止します |

684| `backgroundTasks(toolUseId?)` | ターンが待機している実行中の Bash コマンドとサブエージェントを、対話型ターミナルで Ctrl+B を押した場合と同様にバックグラウンドに移動します。[`backgroundTasks()`](#backgroundtasks) を参照してください。TypeScript SDK v0.2.139 以降が必要です |

675| `close()` | クエリを閉じ、基盤となるプロセスを終了します。クエリを強制的に終了し、すべてのリソースをクリーンアップします |685| `close()` | クエリを閉じ、基盤となるプロセスを終了します。クエリを強制的に終了し、すべてのリソースをクリーンアップします |

676 686 

687#### `setMcpPermissionModeOverride()`

688 

6891 つの MCP サーバーのツールの権限モードを、セッションよりも厳格なモードで上書きするか、`null` で上書きをクリアします。アクションごとのプロンプトをスキップするモードでセッションを実行しているものの、特定のサーバーのツールは引き続きレビューする必要がある場合に使用します。TypeScript SDK v0.3.187 以降が必要です。

690 

691`mode` には次の 3 つの値のいずれかを渡します。

692 

693* `'default'`:Claude Code は、そのサーバーのツール呼び出しを [Manual モード](https://code.claude.com/docs/ja/permission-modes.md#available-modes)と同様に評価します。

694* `'auto'`:Claude Code は、そのサーバーのツール呼び出しを [auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)の分類器に通します。セッションで分類器が使用できない場合、Claude Code はこの値を拒否します。

695* `null`:上書きをクリアします。

696 

697上書きは、セッションがアクションごとのプロンプトをスキップするモード(`bypassPermissions` または `auto`)にある間のみ有効です。それ以外のセッションモードでは Claude Code は上書きを無視するため、セッションが許可する範囲が広がることはありません。

698 

699その名前のサーバーがまだ認識されていない場合、promise は `{ warning }` で解決されます。Claude Code はそれでも上書きを保存し、その名前と完全に一致するサーバーが接続された時点で適用するため、この警告は失敗ではなく、入力ミスのチェックです。

700 

701`setModel()` や `setPermissionMode()` と同じ制約として、ストリーミング入力モードでのみ使用できます。

702 

703#### `seedReadState()`

704 

705ファイルを読み取り済みとしてマークし、後の Edit が `File has not been read yet` で失敗しないようにします。アプリケーションが以前の `Read` の結果を会話コンテキストから削除しており、Claude がその後そのファイルを編集する場合に使用します。TypeScript SDK v0.2.83 以降が必要です。

706 

707`mtime` には、その以前の読み取り時点でのファイルの更新時刻を、エポックからの整数ミリ秒で渡します(例:`Math.floor(stat.mtimeMs)`)。ディスク上のファイルがその時刻以降に変更されている場合、Claude Code はマークをスキップします。

708 

709promise はファイルがマークされたかどうかにかかわらず解決されるため、解決されたことからはどちらが起きたかはわかりません。

710 

711#### `backgroundTasks()`

712 

713ターンが待機している実行中の Bash コマンドとサブエージェントを、対話型ターミナルで Ctrl+B を押した場合と同様にバックグラウンドに移動します。ツール呼び出しの `toolUseId` を渡すとその呼び出しが開始した Bash コマンドまたはサブエージェントのみをバックグラウンドに移動し、省略するとすべてのフォアグラウンドタスクをバックグラウンドに移動します。TypeScript SDK v0.2.139 以降が必要です。

714 

715バックグラウンドに移動された各ツール呼び出しは、バックグラウンドで実行中であることを示す結果とともに即座に Claude に戻り、ターンは続行されます。タスクが終了すると、Claude Code は [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) を出力します。

716 

717バックグラウンドタスクが有効になっているセッションでは、promise はブール値で解決されます。

718 

719* **`true`**:タスクがバックグラウンドに移動されたか、`toolUseId` を省略した場合。

720* **`false`**:渡した `toolUseId` がどのフォアグラウンドタスクにも一致しなかった場合。

721 

722[`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/ja/env-vars) などでセッションのバックグラウンドタスクが無効になっている場合、promise は代わりに拒否され、何もバックグラウンドに移動されません。

723 

677#### `applyFlagSettings()`724#### `applyFlagSettings()`

678 725 

679クエリを再起動せずに、実行中のセッションの[設定](https://code.claude.com/docs/ja/settings.md)を変更します。エージェントが信頼できない入力を読み取った後に `permissions` を厳しくするなど、専用のセッターがない設定をセッション途中で変更する必要がある場合に使用します。`setModel()` と `setPermissionMode()` はそれら 2 つのキー専用のセッターです。`applyFlagSettings()` は設定キーの任意のサブセットを受け付ける汎用的な形式であり、ここで `model` を渡すと `setModel()` と同じ動作になります。726クエリを再起動せずに、実行中のセッションの[設定](https://code.claude.com/docs/ja/settings.md)を変更します。エージェントが信頼できない入力を読み取った後に `permissions` を厳しくするなど、専用のセッターがない設定をセッション途中で変更する必要がある場合に使用します。`setModel()` と `setPermissionMode()` はそれら 2 つのキー専用のセッターです。`applyFlagSettings()` は設定キーの任意のサブセットを受け付ける汎用的な形式であり、ここで `model` を渡すと `setModel()` と同じ動作になります。


1472 | SDKPermissionDeniedMessage1519 | SDKPermissionDeniedMessage

1473 | SDKPromptSuggestionMessage1520 | SDKPromptSuggestionMessage

1474 | SDKAPIRetryMessage1521 | SDKAPIRetryMessage

1522 | SDKControlRequestProgressMessage

1523 | SDKModelRefusalFallbackMessage

1524 | SDKModelRefusalNoFallbackMessage

1475 | SDKMirrorErrorMessage1525 | SDKMirrorErrorMessage

1476 | SDKInformationalMessage1526 | SDKInformationalMessage

1477 | SDKConversationResetMessage;1527 | SDKConversationResetMessage;

1478```1528```

1479 1529 

1530このユニオンのうち 3 つのメッセージは、コントロールリクエストの進行状況とモデルの拒否を報告します。いずれも `type: "system"` を持つため、それぞれに記載されている `subtype` で区別してください。

1531 

1532* `SDKControlRequestProgressMessage`、`subtype: "control_request_progress"`:クライアントが送信した長時間実行のコントロールリクエストの進行状況を報告します。`request_id` によってメッセージがそのリクエストと対応付けられ、`status` は `"started"` または `"api_retry"` です。Agent SDK v0.3.203 以降が必要です。

1533* `SDKModelRefusalFallbackMessage`、`subtype: "model_refusal_fallback"`:モデルが拒否によってストリームを終了し、ターンがフォールバックモデルで再試行されるときに発行されます。`original_model` と `fallback_model` を含みます。Agent SDK v0.3.170 以降が必要です。

1534* `SDKModelRefusalNoFallbackMessage`、`subtype: "model_refusal_no_fallback"`:モデルが拒否によってストリームを終了し、再試行が実行されない場合(たとえばフォールバックモデルが設定されていない場合など)に発行されます。`original_model` を含みます。Agent SDK v0.3.193 以降が必要です。

1535 

1480### `SDKAssistantMessage`1536### `SDKAssistantMessage`

1481 1537 

1482アシスタントの応答メッセージです。1538アシスタントの応答メッセージです。


1636 stop_reason: string | null;1692 stop_reason: string | null;

1637 ttft_ms?: number;1693 ttft_ms?: number;

1638 ttft_stream_ms?: number;1694 ttft_stream_ms?: number;

1695 time_to_request_ms?: number;

1639 user_message_uuid?: string;1696 user_message_uuid?: string;

1640 user_message_uuids?: string[];1697 user_message_uuids?: string[];

1641 resume_reason?: string;1698 resume_reason?: string;


1701* `api_error_status`: 会話を終了させた API エラーの HTTP ステータスコード。ターンが API エラーなしで終了した場合は、存在しないか `null` です。1758* `api_error_status`: 会話を終了させた API エラーの HTTP ステータスコード。ターンが API エラーなしで終了した場合は、存在しないか `null` です。

1702* `ttft_ms`: 最初のトークンまでの時間(ミリ秒)で、最初の完全なアシスタントメッセージが到着した時点で測定されます。success アームにのみ存在します。1759* `ttft_ms`: 最初のトークンまでの時間(ミリ秒)で、最初の完全なアシスタントメッセージが到着した時点で測定されます。success アームにのみ存在します。

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

1761* `time_to_request_ms`:ターンの開始から Claude Code が API リクエストを送信するまでの時間(ミリ秒)です。成功時の型にのみ存在します。Claude Code v2.1.162 以降が必要です。

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

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

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


1772* 送信したどのメッセージにも応答しないターン、または `uuid` なしで送信したメッセージに応答するターン1830* 送信したどのメッセージにも応答しないターン、または `uuid` なしで送信したメッセージに応答するターン

1773* クラッシュしたワーカープロセスの後のゼロになった結果など、送信したどのメッセージにも応答しない結果1831* クラッシュしたワーカープロセスの後のゼロになった結果など、送信したどのメッセージにも応答しない結果

1774 1832 

1833[`UserPromptSubmit`](https://code.claude.com/docs/ja/hooks#userpromptsubmit) フックが独自のターンを開始するメッセージをブロックした場合、または `continue: false` で停止した場合でも、そのメッセージの結果は得られます。それは `is_error: false` および `num_turns: 0` の成功結果で、その `result` は[ブロックメッセージ](https://code.claude.com/docs/ja/hooks.md#what-a-blocked-prompt-leaves-behind)または[停止メッセージ](https://code.claude.com/docs/ja/hooks.md#json-output)であり、他の結果と同じルールでメッセージの `uuid` をエコーします。この結果には `terminal_reason` がなく、`result` テキスト以外にフックがターンを終了したことを示すものはありません。別のターンの実行中にフックがブロックしたメッセージには、結果が返されない場合があります。[`user_message_uuids`](#user_message_uuids) を参照してください。

1834 

1775#### `user_message_uuids`1835#### `user_message_uuids`

1776 1836 

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

1778 1838 

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

1780 1840 

1781ターンの実行中に送信した通常のメッセージを Claude Code が拾った場合、そのメッセージの `uuid` が結果のリストに追加されます。1841ターンの実行中に送信した通常のメッセージを Claude Code が取り込むと、そのメッセージの `uuid` を結果のリストに追加します。[`UserPromptSubmit`](https://code.claude.com/docs/ja/hooks#userpromptsubmit) フックが取り込み時にメッセージをブロックすると、Claude Code は代わりにそれを破棄します。メッセージは Claude に届かず、後のターンのために保持されることもありません。そのメッセージの結果は得られず、その `uuid` はどの結果のリストにも現れません。フックがメッセージをブロックする可能性がある場合は、ターンの実行中に送信したメッセージを列挙する結果を待つ処理にタイムアウトを設定してください。

1842 

1843これはフックの出力がブロックのみの場合に当てはまります。出力が `continue: false` を設定している場合(`decision: "block"` と併せて設定している場合も含む)、またはフックが `continueOnBlock: true` なしで [`ok: false`](https://code.claude.com/docs/ja/hooks#response-schema) と応答するプロンプトフックである場合、Claude Code はメッセージを破棄する代わりに停止します。メッセージは独自のターンを待ち、その結果が得られ、そのテキストは会話に残るため、Claude は次のターンでそれを確認します。

1782 1844 

1783最初の応答または結果に、リストなしで `user_message_uuid` が含まれている場合、それは以前の Claude Code バージョンからのものなので、単一のフィールドにフォールバックしてください。1845最初の応答または結果に、リストなしで `user_message_uuid` が含まれている場合、それは以前の Claude Code バージョンからのものなので、単一のフィールドにフォールバックしてください。

1784 1846 

Details

525 params: z.object({525 params: z.object({

526 request_id: z.string(), // 5 つの小文字、プロンプトに逐語的に含める526 request_id: z.string(), // 5 つの小文字、プロンプトに逐語的に含める

527 tool_name: z.string(), // 例:'Bash'、'Write'527 tool_name: z.string(), // 例:'Bash'、'Write'

528 description: z.string(), // この呼び出しが何をするかの要約。信頼されないものとして扱う。528 description: z.string(), // この呼び出しの要約。信頼されないものとして扱う。

529 input_preview: z.string(), // ツール引数を JSON 形式のテキストとして。信頼されないものとして扱う。529 input_preview: z.string(), // ツール引数を JSON 形式のテキストとして。信頼されないものとして扱う。

530 }),530 }),

531})531})


581}581}

582```582```

583 583 

584期待されたフォーマットと正確に一致しないリモート返信は、2 つの方法のいずれかで失敗し、どちらの場合もローカルターミナルダイアログは開いたままです:584リモート返信が効果を持たず、ローカルターミナルダイアログが開いたままの場合は、次の原因を確認してください:

585 585 

586* **異なるフォーマット**:インバウンドハンドラーの正規表現が一致しないため、'approve it'または ID なしの'yes'のようなテキストは通常のメッセージとして Claude にフォールスルーします。586* **フォーマットが間違っている**:インバウンドハンドラーの正規表現が一致しないため、`approve it` や ID なしの `yes` のようなテキストは通常のメッセージとして Claude にフォールスルーします。

587* **正しいフォーマット、間違った ID**:サーバーは判定を発行しますが、Claude Code はその ID を持つ開いているリクエストを見つけず、サイレントにドロップします。587* **ID が間違っている**:サーバーは判定を発行しますが、Claude Code はその ID を持つ開いているリクエストを見つけられず、サイレントにドロップします。

588* **ID が以前のプロンプトで使用されていた**:サーバーはリクエストの ID を使って判定を発行しますが、セッション内の以前のプロンプトが同じ ID を持っていました。ID が重複すると、Claude Code はその ID を持つチャネル判定をすべてドロップします。これにより、一方のプロンプト向けの返信がもう一方を承認することはありません。ID はランダムな 5 文字なので、重複はまれです。代わりにターミナルで応答してください。

588 589 

589### 完全な例590### 完全な例

590 591 

Details

90 90 

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

92 92 

93巻き戻しメニューでは、[Claude がまだ作業中に入力した](https://code.claude.com/docs/ja/interactive-mode.md#queue-messages-while-claude-works)メッセージに **No code restore**(コードの復元なし)と表示されることがあります。Claude はそのメッセージをターンの終了前に読み取っています。[チェックポイントはターンを開始するプロンプトに対して作成される](#how-checkpoints-work)ため、このメッセージ自体にはチェックポイントがありません。Claude がそのメッセージを読んだ後に行った編集は、ターンを開始したプロンプトに含まれます。93巻き戻しメニューでは、[Claude がまだ作業中に入力した](https://code.claude.com/docs/ja/interactive-mode.md#queue-messages-while-claude-works)メッセージに **No code restore**(コードの復元なし)と表示されることがあります。このように表示されたメッセージには、それ自体の[チェックポイント](#how-checkpoints-work)がありません。

94 94 

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

96 96 

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

98 98 

Details

98 98 

99警告と使用率は `anthropic-ratelimit-unified-*` ヘッダーから取得されます。ゲートウェイは、上限が設定されている開発者に対する成功した各 `/v1/messages` レスポンスにこれらのヘッダーを追加します。ヘッダーは常に開発者自身の上限を表します。ゲートウェイは、共有クォータを表すアップストリームプロバイダーのレート制限ヘッダーを削除し、決して転送しません。99警告と使用率は `anthropic-ratelimit-unified-*` ヘッダーから取得されます。ゲートウェイは、上限が設定されている開発者に対する成功した各 `/v1/messages` レスポンスにこれらのヘッダーを追加します。ヘッダーは常に開発者自身の上限を表します。ゲートウェイは、共有クォータを表すアップストリームプロバイダーのレート制限ヘッダーを削除し、決して転送しません。

100 100 

101開発者に表示される支出額はゲートウェイ独自の [推定値](#how-requests-are-priced) であり、上限の適用に使われるのと同じ数値です。プロバイダーの請求書の金額ではありません。Claude Code はゲートウェイへの別のリクエストでドル金額を取得します。[コンプライアンス体制](https://code.claude.com/docs/ja/claude-apps-gateway-deploy.md#compliance-posture) で推奨されているように開発者のマシンで `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` を設定している場合、Claude Code はそのリクエストを行いません。この変数が設定されている場合、またはゲートウェイサーバーが v2.1.284 より古い場合、バーとステータスラインは使用率のみの表示になります。101開発者に表示される支出額はゲートウェイ独自の [推定値](#how-requests-are-priced) であり、上限の適用に使われるのと同じ数値です。プロバイダーの請求書の金額ではありません。Claude Code はゲートウェイへの別のリクエストでドル金額を取得します。このリクエストは、開発者のマシンで `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` を設定している場合でも送信されます。v2.1.295 より前は、この変数が設定されていると Claude Code はそのリクエストを行わず、`/usage` とステータスラインには使用率とリセット日のみが表示され、ドル金額は表示されませんでした。

102 102 

103## 管理 API リファレンス103## 管理 API リファレンス

104 104 

Details

18 18 

19* **ブラウザ**:[claude.ai/code](https://claude.ai/code)(ウェブ上の Claude Code とも呼ばれます)19* **ブラウザ**:[claude.ai/code](https://claude.ai/code)(ウェブ上の Claude Code とも呼ばれます)

20* **モバイル**:[Claude アプリ](https://code.claude.com/docs/ja/mobile.md)の**Code** タブ20* **モバイル**:[Claude アプリ](https://code.claude.com/docs/ja/mobile.md)の**Code** タブ

21* **デスクトップアプリ**:[セッションを開始](https://code.claude.com/docs/ja/desktop.md#run-long-running-tasks-in-the-cloud)するときに**Local** の代わりに**Cloud** を選択21* **デスクトップアプリ**:[セッションを開始](https://code.claude.com/docs/ja/desktop.md#run-long-running-tasks-in-the-cloud)するときに、環境セレクターの**Cloud** の下にある環境を選択

22* **ターミナル**:[`claude --cloud`](#from-terminal-to-cloud)22* **ターミナル**:[`claude --cloud`](#from-terminal-to-cloud)

23* **クラウドスケジュールタスク**:[スケジュール実行とトリガー実行](https://code.claude.com/docs/ja/routines.md)は各々クラウドセッションとして実行されます23* **クラウドスケジュールタスク**:[スケジュール実行とトリガー実行](https://code.claude.com/docs/ja/routines.md)は各々クラウドセッションとして実行されます

24 24 


247 247 

248### 変更を確認248### 変更を確認

249 249 

250各セッションは追加および削除された行数を示す差分インジケーター(例:`+42 -18`)を表示します。それを選択して差分ビューを開き、特定の行にインラインコメントを残し、次のメッセージで Claude に送信します。250Claude がブランチに変更をプッシュすると、チャットの横のパネルにある **Changes** カードに、`+42 -18` のように追加および削除された行数が表示されます。**Changes** カードの行数をクリックすると差分ビューが開きます。

251 251 

252差分ビューは、デフォルトでセッションの変更をそのベースブランチと比較します。リポジトリ内の他の任意のブランチと比較するには、**Compare against** を選択してブランチを 1 つ選びます。252* セッションのタイトルバー、またはバーの **⋮** メニューにある **Changes** をクリックすることもできます。

253* パネルが非表示のときに表示するには、セッションのタイトルバー、またはバーの **⋮** メニューにある **Show session rail** アイコンをクリックします。

254 

255差分ビューでは、行にコメントしたり、別のブランチと比較したりできます:

256 

257* **Comment**:特定の行にインラインコメントを残し、次のメッセージでそのコメントを Claude に送信します

258* **Compare**:差分ビューは、デフォルトでセッションの変更をそのベースブランチと比較します。リポジトリ内の他の任意のブランチと比較するには、**Compare against** を選択してブランチを 1 つ選びます

253 259 

254Claude Code はこれらの差分を raw git blob コンテンツから計算するため、リポジトリで設定された diff ドライバーと `textconv` フィルターは適用されません。260Claude Code はこれらの差分を raw git blob コンテンツから計算するため、リポジトリで設定された diff ドライバーと `textconv` フィルターは適用されません。

255 261 


313 319 

314### セッションをアーカイブ320### セッションをアーカイブ

315 321 

316セッションをアーカイブしてセッションリストを整理できます。アーカイブされたセッションはデフォルトのセッションリストから非表示になりますが、アーカイブされたセッションをフィルタリングして表示できます。322セッションをアーカイブすると、サイドバーのセッションリストから削除されます。セッションをアーカイブするには、サイドバーでセッションにマウスを合わせ、**⋯** メニューを開いて **Archive** を選択します。

317 323 

318セッションをアーカイブするには、サイドバーのセッションにマウスを合わせてアーカイブアイコンを選択します。324#### アーカイブされたセッションを見つける

325 

326アーカイブされたセッションを表示するには、[claude.ai/code/sessions](https://claude.ai/code/sessions) に移動して **Archived** タブを開きます。セッションをサイドバーのセッションリストに戻すには、そのタブでセッションにマウスを合わせ、**⋮** メニューを開いて **Unarchive** を選択します。

319 327 

320### セッションを削除328### セッションを削除

321 329 

322セッションを削除すると、セッションとそのデータが永続的に削除されます。このアクションは取り消せません。セッションは 2 つの方法で削除できます:330セッションを削除すると、セッションとそのデータが永続的に削除されます。このアクションは取り消せません。セッションは、サイドバー、セッションメニュー、またはすでにアーカイブしている場合は **Archived** タブから削除できます:

323 331 

324* **サイドバーから**:アーカイブされたセッションをフィルタリングし、削除するセッションにマウスを合わせて削除アイコンを選択します332* **サイドバーから**:セッションにマウスを合わせ、**⋯** メニューを開いて **Delete** を選択します

325* **セッションメニューから**:セッションを開き、セッションタイトルの横のドロップダウンを選択し、**Delete** を選択します333* **セッションメニューから**:セッションを開き、セッションタイトルの横のドロップダウンを選択し、**Delete** を選択します

334* **Archived タブから**:[**Archived** タブ](#find-an-archived-session)でセッションにマウスを合わせ、**⋮** メニューを開いて **Delete** を選択します

326 335 

327セッションが削除される前に確認するよう求められます。336セッションが削除される前に確認するよう求められます。

328 337 


336 345 

337PR がどこから来たか、どのデバイスを使用しているかに応じて、auto-fix をオンにするにはいくつかの方法があります:346PR がどこから来たか、どのデバイスを使用しているかに応じて、auto-fix をオンにするにはいくつかの方法があります:

338 347 

339* **クラウドセッションで作成された PR**:claude.ai/code でセッションを開き、CI ステータスバーを開き、**Auto-fix** を選択します348* **クラウドセッションで作成された PR**:claude.ai/code でセッションを開き、[**Changes** カード](#review-changes)でプルリクエストを見つけます。プルリクエストのタイトルの横にある **⋮** メニューを開き、**Auto-fix** をオンにします

340* **ターミナルから**:PR のブランチにいる間に [`/autofix-pr`](https://code.claude.com/docs/ja/commands) を実行します。Claude Code は `gh` で開いている PR を検出し、クラウドセッションをスポーンし、1 ステップで auto-fix をオンにします349* **ターミナルから**:PR のブランチにいる間に [`/autofix-pr`](https://code.claude.com/docs/ja/commands) を実行します。Claude Code は `gh` で開いている PR を検出し、クラウドセッションをスポーンし、1 ステップで auto-fix をオンにします

341* **モバイルアプリから**:Claude に PR を auto-fix するよう指示します。例えば「watch this PR and fix any CI failures or review comments」350* **モバイルアプリから**:Claude に PR を auto-fix するよう指示します。例えば「watch this PR and fix any CI failures or review comments」

342* **既存の PR**:PR URL をセッションに貼り付けて、Claude に auto-fix するよう指示します351* **既存の PR**:PR URL をセッションに貼り付けて、Claude に auto-fix するよう指示します

343 352 

344Auto-fix は PR ごとのトグルです。監視を停止するには、claude.ai/code のセッションで CI ステータスバーを開き、**Auto-fix** トグルをクリアするか、Claude に PR の監視を停止するよう指示します。353監視を停止するには、セッションの [**Changes** カード](#review-changes)にあるプルリクエストの **⋮** メニューで **Auto-fix** をオフにするか、Claude に PR の監視を停止するよう指示します。

345 354 

346### Claude が PR アクティビティにどのように応答するか355### Claude が PR アクティビティにどのように応答するか

347 356 


381* 1 分後に再試行してください。容量はオンデマンドでプロビジョニングされます390* 1 分後に再試行してください。容量はオンデマンドでプロビジョニングされます

382* [GitHub 接続後にリポジトリが表示されない](https://code.claude.com/docs/ja/web-quickstart.md#no-repositories-appear-after-connecting-github)に従って、GitHub 接続がリポジトリに到達できることを確認してください391* [GitHub 接続後にリポジトリが表示されない](https://code.claude.com/docs/ja/web-quickstart.md#no-repositories-appear-after-connecting-github)に従って、GitHub 接続がリポジトリに到達できることを確認してください

383 392 

393### Your new session couldn't start

394 

395プロンプトは、送信元の入力ボックスに戻されています。

396 

397* **Connection lost**: インターネット接続と、使用している VPN またはプロキシを確認してから、プロンプトを再度送信してください

398* **Server error**: しばらく待ってから、プロンプトを再度送信してください。この通知が再び表示される場合は、[status.claude.com](https://status.claude.com) を確認してください

399 

400### Can't rewind to this message

401 

402セッションが v2.1.246 より前の Claude Code を使用する[セルフホストランナー](https://code.claude.com/docs/ja/self-hosted-environments)で実行されている場合、最新のメッセージ以外のメッセージで **Rewind to here** を実行すると、このエラーで失敗します。組織のランナーを運用している担当者に[アップグレード](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#pin-the-version)を依頼してください。

403 

384### 組織 UUID を取得できない404### 組織 UUID を取得できない

385 405 

386`claude --cloud` と `claude --teleport` には claude.ai アカウントでのサインインが必要です。API キーで認証している場合、または保存されたアカウント詳細が古い場合、次のいずれかが表示されます。406`claude --cloud` と `claude --teleport` には claude.ai アカウントでのサインインが必要です。API キーで認証している場合、または保存されたアカウント詳細が古い場合、次のいずれかが表示されます。

Details

111 111 

112プロジェクトはサイドバーの **Projects** の下にリストされ、その会話が開いています。[最初のバッチ](#your-first-batch)では、作業を送信する前に何をセットアップするかについて説明しています。112プロジェクトはサイドバーの **Projects** の下にリストされ、その会話が開いています。[最初のバッチ](#your-first-batch)では、作業を送信する前に何をセットアップするかについて説明しています。

113 113 

114### 既存のクラウドセッションから開始する114### 既存のセッションから開始する

115 115 

116自分で開始したクラウドセッションがプロジェクトに属する作業を行っている場合は、そのセッションのサイドバーメニューを開いて **Move to project** を選択し、サブメニューから選択します。116自分で開始したクラウドセッションがプロジェクトに属する作業を行っている場合は、そのセッションのサイドバーメニューを開いて **Move to project** を選択し、サブメニューから選択します。

117 117 


120 120 

121クラウドセッションのメッセージボックスの上に **Set up project** バナーが表示されることもあります。**Continue as new project** の代わりにこれを使用した場合も結果は同じですが、プロジェクトが開くとセッションの実行中のターンが停止します。121クラウドセッションのメッセージボックスの上に **Set up project** バナーが表示されることもあります。**Continue as new project** の代わりにこれを使用した場合も結果は同じですが、プロジェクトが開くとセッションの実行中のターンが停止します。

122 122 

123ローカルセッションにはこれらのオプションがありません。プロジェクトでその作業を続行するには、プロジェクト会話で作業を説明するか、ブランチをプッシュし、そのリポジトリをプロジェクトに追加して、タスクでブランチに名前を付けます。123自分のマシン上のセッションも、[Remote Control](https://code.claude.com/docs/ja/remote-control.md#start-a-remote-control-session) で接続すると、claude.ai/code で同じサイドバーメニューが使えるようになります。ただし、アカウントで [**Require trusted devices**](https://code.claude.com/docs/ja/remote-control.md#trusted-devices) がオンになっている間に接続したセッションのトランスクリプトは、プロジェクトから Claude が読み取ることはできません。この設定がオフの場合は、次の手順に従います。

124 

1251. セッションがまだ接続されていない場合は、そのセッションで `/remote-control` を実行します。この設定がオンの間に接続した場合は、まず切断してから再接続してください。

1262. ブラウザで [claude.ai/code](https://claude.ai/code) のサイドバーにあるセッションの行を見つけ、そのメニューを開いて、同じサブメニューから選択します。

127 

128**Require trusted devices** がオンの場合、または Remote Control を使用していない場合は、プロジェクトの会話で自分で作業を説明してください。または、セッションのブランチをプッシュし、そのリポジトリをプロジェクトに追加して、Claude にブランチ名を伝えます。

124 129 

125### GitHub アクセスをセットアップする130### GitHub アクセスをセットアップする

126 131 


425* **クラウドセッション**: すべてのスレッドは[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)です。ただし、Claude にマシン上で実行するよう要求する場合を除きます。どちらの場合でも、Claude がユーザーに代わってそれを開始して追跡します。自分で開始したクラウドセッションの作業をプロジェクトに取り込むこともできます。そのセッションのサイドバーメニューで [**Move to project**](#start-from-an-existing-cloud-session) を選択します。430* **クラウドセッション**: すべてのスレッドは[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)です。ただし、Claude にマシン上で実行するよう要求する場合を除きます。どちらの場合でも、Claude がユーザーに代わってそれを開始して追跡します。自分で開始したクラウドセッションの作業をプロジェクトに取り込むこともできます。そのセッションのサイドバーメニューで [**Move to project**](#start-from-an-existing-cloud-session) を選択します。

426* **スケジュールタスク**: プロジェクトでスケジュールされた作業を要求すると、Claude はそのプロジェクト内のスレッドとして実行され、その **Scheduled tasks** タブに表示される[クラウドスケジュールタスク](https://code.claude.com/docs/ja/routines.md)を作成します。プロジェクト外で作成したスケジュールタスクは独立して動作し続けます。431* **スケジュールタスク**: プロジェクトでスケジュールされた作業を要求すると、Claude はそのプロジェクト内のスレッドとして実行され、その **Scheduled tasks** タブに表示される[クラウドスケジュールタスク](https://code.claude.com/docs/ja/routines.md)を作成します。プロジェクト外で作成したスケジュールタスクは独立して動作し続けます。

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

428* **Local sessions と agent view**: ターミナル、IDE、またはデスクトップアプリのローカル環境で自分で開始したセッションはプロジェクトに追加できません。[Agent view](https://code.claude.com/docs/ja/agent-view.md) は複数のローカルセッションを並べて追跡するための画面であり、各セッションを自分で開始してタスクを割り当てます。433* **ローカルセッションと agent view**: ターミナル、IDE、またはデスクトップアプリのローカル環境で自分で開始したセッションはプロジェクトの外に留まりますが、[その作業をプロジェクトに取り込む](#start-from-an-existing-cloud-session)ことはできます。[Agent view](https://code.claude.com/docs/ja/agent-view.md) は複数のローカルセッションを並べて追跡するための画面であり、各セッションの開始とタスクの割り当ては引き続き自分で行います。

429* **worktree**: [worktree](https://code.claude.com/docs/ja/worktrees.md) は各ローカルセッションにリポジトリの独自の作業コピーを提供します。クラウドスレッドはそれらを必要としません。各スレッドはリポジトリを独自のクラウドサンドボックスにクローンし、独自のブランチで作業します。434* **worktree**: [worktree](https://code.claude.com/docs/ja/worktrees.md) は各ローカルセッションにリポジトリの独自の作業コピーを提供します。クラウドスレッドはそれらを必要としません。各スレッドはリポジトリを独自のクラウドサンドボックスにクローンし、独自のブランチで作業します。

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

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


437 442 

438* プロジェクトは claude.ai/code、デスクトップアプリ、Claude モバイルアプリで利用可能です。ターミナル CLI、VS Code 拡張機能、JetBrains プラグイン、Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません。443* プロジェクトは claude.ai/code、デスクトップアプリ、Claude モバイルアプリで利用可能です。ターミナル CLI、VS Code 拡張機能、JetBrains プラグイン、Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません。

439* プロジェクトスレッドは [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md) です。または [Remote Control](https://code.claude.com/docs/ja/remote-control.md) を通じてお客様のマシン上のセッションです。どちらの場合も Anthropic がモデルプロバイダーです。[セキュリティ](https://code.claude.com/docs/ja/security.md) および [データ使用](https://code.claude.com/docs/ja/data-usage.md) はクラウドセッションがどのように分離され、何が保持されるかをカバーしています。また [接続とセキュリティ](https://code.claude.com/docs/ja/remote-control.md#connection-and-security) はお客様のマシン上のスレッドがどのように接続され、何が保存されるかをカバーしています。444* プロジェクトスレッドは [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md) です。または [Remote Control](https://code.claude.com/docs/ja/remote-control.md) を通じてお客様のマシン上のセッションです。どちらの場合も Anthropic がモデルプロバイダーです。[セキュリティ](https://code.claude.com/docs/ja/security.md) および [データ使用](https://code.claude.com/docs/ja/data-usage.md) はクラウドセッションがどのように分離され、何が保持されるかをカバーしています。また [接続とセキュリティ](https://code.claude.com/docs/ja/remote-control.md#connection-and-security) はお客様のマシン上のスレッドがどのように接続され、何が保存されるかをカバーしています。

440* お客様のマシン上で自分で開始したセッションをプロジェクトに追加することはできません。プロジェクトがお客様のマシン上でスレッドを実行するには、[Remote Control を通じてお客様のマシン上でスレッドを実行](#run-a-thread-on-your-own-computer) し、そのセクションに必要なものが記載されています。445* 自分のマシン上で自分で開始したセッションをプロジェクトに追加することはできませんが、[その作業をプロジェクトに持ち込む](#start-from-an-existing-cloud-session) ことはできます。プロジェクトを自分のマシン上で使用するには、[Remote Control を通じてそこでスレッドを実行](#run-a-thread-on-your-own-computer) します。必要なものはそのセクションに記載されています。

441* クラウドスレッドのサンドボックスはターン間で一時停止し、スレッドが続くときに再開されます。サンドボックスを再開できない場合、スレッドは新しいクローンから続きます。コミットされていない変更は失われる可能性があります。長いタスクでは、Claude にコミットしてプログレス作業をプッシュするよう求めてください。446* クラウドスレッドのサンドボックスはターン間で一時停止し、スレッドが続くときに再開されます。サンドボックスを再開できない場合、スレッドは新しいクローンから続きます。コミットされていない変更は失われる可能性があります。長いタスクでは、Claude にコミットしてプログレス作業をプッシュするよう求めてください。

442* プロジェクトは 1 人のユーザーに属します。プロジェクトまたはそのスレッドを別のユーザーと共有することはできず、スレッドトランスクリプトは他のクラウドセッションが持つ共有オプションを持ちません。ベータ中、プロジェクトの組織レベルコントロールはありません。447* プロジェクトは 1 人のユーザーに属します。プロジェクトまたはそのスレッドを別のユーザーと共有することはできず、スレッドトランスクリプトは他のクラウドセッションが持つ共有オプションを持ちません。ベータ中、プロジェクトの組織レベルコントロールはありません。

443* スレッドはそれを開始した 1 つのプロジェクトに属します。スレッドを別のプロジェクトに移動またはコピーすることはできず、それを単独で移動することはできません。[**プロジェクトに移動**](#start-from-an-existing-cloud-session) は別の方向のみです。クラウドセッションの作業をプロジェクトに持ち込みます。2 つのプロジェクトを 1 つにマージすることはできません。448* スレッドはそれを開始した 1 つのプロジェクトに属します。スレッドを別のプロジェクトに移動またはコピーすることはできず、それを単独で移動することはできません。[**プロジェクトに移動**](#start-from-an-existing-cloud-session) は別の方向のみです。クラウドセッションの作業をプロジェクトに持ち込みます。2 つのプロジェクトを 1 つにマージすることはできません。

code-review.md +1 −1

Details

67 67 

68* **結果**:該当する行へのインラインコメントと、レビュー本文の概要68* **結果**:該当する行へのインラインコメントと、レビュー本文の概要

69* **チェック実行**:**Claude Code Review** という名前で、結果はその[詳細](https://code.claude.com/docs/ja/code-review-pull-requests.md#check-run-output)に一覧表示されます。チェック実行が失敗として完了することはありません。69* **チェック実行**:**Claude Code Review** という名前で、結果はその[詳細](https://code.claude.com/docs/ja/code-review-pull-requests.md#check-run-output)に一覧表示されます。チェック実行が失敗として完了することはありません。

70* **何も見つからなかった場合**:チェック実行のタイトルは **Code review found no issues** となり、Claude は同じ短いメモをプルリクエストに投稿します70* **結果の代わりのメモ**:チェック実行のタイトルが **Code review found no issues** となる場合に投稿されます

71 71 

72Code Review はレビューを実行する Claude モデルを選択し、その管理設定にモデルの選択肢はありません。レビューの徹底度を上げたり下げたりするには、[レビューレベル](#review-levels)を変更します。72Code Review はレビューを実行する Claude モデルを選択し、その管理設定にモデルの選択肢はありません。レビューの徹底度を上げたり下げたりするには、[レビューレベル](#review-levels)を変更します。

73 73 

Details

152 152 

153### 以降のレビューの対象範囲153### 以降のレビューの対象範囲

154 154 

155プッシュ後など、自動的に開始される以降のレビューは、前回のレビュー以降に変更された部分に焦点を当て、Nit や既存の問題の指摘を少なく投稿します。そのサマリーには、除外した件数が "found and not posted" または "outside the scope of this re-review and not posted." で終わる行に記載されます。155プッシュ後など、自動的に開始される以降のレビューは、前回のレビュー以降に変更された部分に焦点を当て、[Nit や既存の問題の指摘](#severity-levels)を少なく投稿します。その結果として指摘が除外されたかどうかを確認するには、レビュー本文でその件数を示す文を探してください。

156 

157* **前回のレビュー以降に変更されていないコードに対する指摘**: 文の末尾が "outside the scope of this re-review and not posted" となります

158* **Nit と既存の問題の指摘**: 文の末尾が "found and not posted" となります

156 159 

157これらを何も除外しないレビューを受けるには、[`@claude review`](#comment-commands) をコメントしてください。プルリクエスト全体が改めてレビューされます。160これらを何も除外しないレビューを受けるには、[`@claude review`](#comment-commands) をコメントしてください。プルリクエスト全体が改めてレビューされます。

158 161 

Details

15| チェック実行のタイトル | 意味 | 対処方法 |15| チェック実行のタイトル | 意味 | 対処方法 |

16| :- | :- | :- |16| :- | :- | :- |

17| **Code review queued...** または **Code review in progress...** | レビューがまだ完了していません | タイトルが変わるまで待ちます |17| **Code review queued...** または **Code review in progress...** | レビューがまだ完了していません | タイトルが変わるまで待ちます |

18| **Code review found no issues** | レビューが完了し、指摘すべき点は見つかりませんでした | 対処は不要です |18| **Code review found no issues** | レビューが完了し、指摘事項は投稿されませんでした | プルリクエストの最初のレビューでない場合は、レビュー本文で[レビューが除外した指摘事項](https://code.claude.com/docs/ja/code-review-pull-requests.md#what-a-later-review-covers)の件数を確認してください。それ以外の場合は、対処は不要です |

19| 問題が見つかったことを示すタイトル | レビューが完了し、指摘事項があります | 差分上に表示されない場合は、[インラインコメントとして表示されない問題を見つける](#find-issues-that-aren’t-showing-as-inline-comments)を参照してください |19| 問題が見つかったことを示すタイトル | レビューが完了し、指摘事項があります | 差分上に表示されない場合は、[インラインコメントとして表示されない問題を見つける](#find-issues-that-aren’t-showing-as-inline-comments)を参照してください |

20| **Code review skipped — no new changes** | 最新のプッシュに対して自動レビューが実行されませんでした | それでもレビューを受けたい場合は、`@claude review` とコメントします |20| **Code review skipped — no new changes** | 最新のプッシュに対して自動レビューが実行されませんでした | それでもレビューを受けたい場合は、`@claude review` とコメントします |

21| **Code review not repeated — earlier findings still open** | 最新のプッシュに対して自動レビューが実行されず、以前のレビューの Important の指摘事項がまだ未解決です | 修正をプッシュするか、それでもレビューを受けたい場合は `@claude review` とコメントします。[プッシュ後も以前の結果が維持される場合](https://code.claude.com/docs/ja/code-review-pull-requests.md#when-a-push-keeps-the-earlier-result)を参照してください |21| **Code review not repeated — earlier findings still open** | 最新のプッシュに対して自動レビューが実行されず、以前のレビューの Important の指摘事項がまだ未解決です | 修正をプッシュするか、それでもレビューを受けたい場合は `@claude review` とコメントします。[プッシュ後も以前の結果が維持される場合](https://code.claude.com/docs/ja/code-review-pull-requests.md#when-a-push-keeps-the-earlier-result)を参照してください |

desktop.md +48 −17

Details

223 223 

224#### セッション詳細パネルを表示または非表示にする224#### セッション詳細パネルを表示または非表示にする

225 225 

226パネルを表示または非表示にするには、セッションのタイトルバー、またはウィンドウの幅が狭い場合はバーの\*\*⋮**メニューで、**Hide session rail**または**Show session rail\*\*をクリックします。それでもパネルが表示されない場合は、[使用している Code タブのレイアウトを確認してください](#check-which-layout-you-have)。226パネルを表示または非表示にするには、セッションのタイトルバー、またはバーの\*\*⋮**メニューで、**Hide session rail**または**Show session rail\*\*をクリックします。それでもパネルが表示されない場合は、[使用している Code タブのレイアウトを確認してください](#check-which-layout-you-have)。

227 227 

228### ターミナルでコマンドを実行する228### ターミナルでコマンドを実行する

229 229 


984 984 

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

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

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

988 * **コンピューターが macOS または Linux の場合**: Claude Desktop v3.1623.0 以降に更新します

989 * **コンピューターが Windows の場合**: Desktop の組み込み SSH クライアントはそのサーバーに接続できないため、Desktop が [OpenSSH クライアント経由で接続する](#use-your-ssh-configuration)ようにします

990 * **サーバーを変更できる場合**: `MaxSessions` を、たとえば OpenSSH のデフォルトである 10 に引き上げます

991* **`MaxSessions 1` でのログイン**: SSH エージェントが保持する鍵など、プロンプトなしで機能するログインを使用してください。Desktop は接続または再接続のたびに少なくとも 2 回ログインします。さらに、[ターミナル](#run-commands-in-the-terminal)タブごと、および `!` で始まるコマンドを実行する Desktop セッションごとに、少なくとも 1 回のログインが追加で発生します。Claude が実行するコマンドではログインは発生しません。

992* **`MaxSessions 1` でのワンタイムコード**: ワンタイムコードのようにログインのたびにプロンプトが表示される場合、`!` コマンドは失敗します。代わりに、それらのコマンドはターミナルタブで実行してください。ターミナルタブでは、独自のペインでプロンプトが表示されます。

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

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

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


993 998 

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

995 1000 

996そのマシンのターミナルで実行した `claude` がそれらのファイルから変数を取得する場合でも、SSH セッションはそれらのファイルから変数を取得しません。その結果、セッションが応答しなくなったり、**The connection from … to the API failed** や **Authentication failed** が表示されたりすることがあり、再度サインインしても解決しません。1001SSH セッションでは、そのマシンのターミナルで実行した `claude` にはそれらのファイルの変数が渡される場合でも、Claude Code には渡されません。その結果、セッションがハングしたり、**The connection from … to the API failed** や **Authentication failed** が表示されたりすることがあり、再度サインインしても解決しません。

997 1002 

998**1. 変数を追加する**1003**1. 変数を追加する**

999 1004 


1028 1033 

1029リモートマシンを再起動するか、[ヘルパーを削除する](#files-and-processes-on-the-remote-machine)手順の最初の 2 つのステップと同様に、Desktop を終了してヘルパーのプロセスを終了します。どちらの方法でも Claude の作業が中断されるため、タスクが実行されていないときに行ってください。1034リモートマシンを再起動するか、[ヘルパーを削除する](#files-and-processes-on-the-remote-machine)手順の最初の 2 つのステップと同様に、Desktop を終了してヘルパーのプロセスを終了します。どちらの方法でも Claude の作業が中断されるため、タスクが実行されていないときに行ってください。

1030 1035 

1031#### macOS と Linux で SSH 設定を使用する1036#### SSH 設定を使用する

1032 1037 

1033macOS と Linux では、Desktop はコンピューター上の OpenSSH クライアントを実行して接続するため、`~/.ssh/config` が使用されます。OpenSSH クライアントを介した接続には Claude Desktop v1.37937.0 以降が必要です。そのファイルの `Host` 名を **SSH host** フィールドに入力すると、`HostName`、`User`、`IdentityFile`、`CertificateFile`、`ProxyJump`、`ProxyCommand` など、そのエントリの設定が使用されます。1038Desktop が自分のコンピューター上の OpenSSH クライアント経由で接続する場合、macOS、Linux、Windows で SSH 設定を使用できます。

1039 

1040* **macOS と Linux**: Desktop は自分のコンピューター上で OpenSSH クライアントを実行して接続するため、`~/.ssh/config` を使用します。OpenSSH クライアント経由で接続するには、Claude Desktop v1.37937.0 以降が必要です。

1041* **Windows**: Desktop が OpenSSH クライアント経由で接続する場合、`%USERPROFILE%\.ssh\config` を使用します。サードパーティプロバイダーではなく Claude アカウントを使用している場合、OpenSSH クライアント経由で接続するには、次のすべてが必要です。

1042 

1043 * Claude Desktop v2.2553.0 以降。バージョンを確認するには、[バージョンを確認する](#check-your-version)を参照してください。

1044 * Microsoft の OpenSSH 9.4 以降

1045 * このページ上部のダウンロードボタンでインストールした Desktop。Microsoft Store 版の Desktop は OpenSSH クライアント経由で接続しないためです

1046 

1047 これらの要件を満たせない場合、またはサードパーティプロバイダーを使用している場合は、[OpenSSH クライアントを使用せずに Windows で接続する](#connect-on-windows-without-the-openssh-client)を参照してください。

1048 

1049OpenSSH クライアントを使用する場合は、**SSH host** フィールドに設定ファイルの `Host` 名を入力します。Desktop は、その `Host` エントリの `HostName`、`User`、`IdentityFile`、`CertificateFile`、`ProxyJump`、`ProxyCommand` などの設定を使用します。

1034 1050 

1035接続を追加する前に、コンピューターのターミナルでクライアントとエントリを確認してください:1051接続を追加する前に、コンピューターのターミナルでクライアントとエントリを確認してください:

1036 1052 

1037* **クライアントのバージョン**:`ssh -V` を実行します。クライアントは OpenSSH 7.6 以降である必要があります。1053* **macOS と Linux でのクライアントのバージョン**: `ssh -V` を実行します。クライアントは OpenSSH 7.6 以降である必要があります。

1038* **エントリ**:`ssh devbox` のように、`Host` 名を指定して `ssh` を実行します。失敗する場合は、先にエントリを修正してください。1054* **Windows でのクライアントのバージョン**: Desktop は最初に `PATH` 上の `ssh` を試すため、`ssh -V` を実行します。出力に `OpenSSH_for_Windows_` と 9.4 以降が表示されれば、そのクライアントは要件を満たしています。満たしていない場合は、Desktop が次に試す 2 つのフォルダーを確認します。`C:\Windows\System32\OpenSSH` で `.\ssh.exe -V` を実行し、次に `C:\Program Files\OpenSSH` で実行します。

1055* **Windows で要件を満たすクライアントがない場合**: Windows で **OpenSSH Client** オプション機能を追加して保留中の Windows 更新プログラムをインストールするか、[Microsoft の新しいビルド](https://learn.microsoft.com/en-us/troubleshoot/windows-server/system-management-components/upgrade-in-box-openssh-to-latest-openssh-release)をインストールします。その後、Desktop を終了して再度開きます。Desktop が使用可能な OpenSSH クライアントを見つけたかどうかを確認するには、[`ssh.log`](#get-desktops-logs-for-an-ssh-problem) で `Windows OpenSSH client:` とバージョン、または `no usable Windows OpenSSH client` を探します。

1056* **エントリ**: Windows では、バージョンチェックで要件を満たしたクライアントを使用します。`ssh devbox` のように、`Host` 名を指定して `ssh` を実行します。失敗する場合は、先にエントリを修正してください。

1039 1057 

1040**SSH port** と **SSH key (optional)** フィールドは空のままにできます。いずれかを入力した場合、Desktop はそれをエントリと組み合わせて使用します:1058**SSH port** と **SSH key (optional)** フィールドは空のままにできます。いずれかを入力した場合、Desktop はそれをエントリと組み合わせて使用します:

1041 1059 

1042* **SSH port**:ここに入力した値は、エントリの `Port` を上書きします1060* **SSH port**:ここに入力した値は、エントリの `Port` を上書きします

1043* **SSH key (optional)**:Desktop は、エントリの `IdentityFile` と SSH エージェント内の鍵に加えて、選択した鍵ファイルを提示します1061* **SSH key (optional)**: OpenSSH クライアントでは、Desktop はエントリの `IdentityFile` と SSH エージェント内の鍵に加えて、ここで選択した鍵ファイルを提示します。Windows では、`ssh` は PuTTY の `.ppk` ファイルを読み込まないため、OpenSSH 形式の鍵を選択してください。

1062 

1063##### OpenSSH クライアントを使用せずに Windows で接続する

1064 

1065Windows では、コンピューターが [OpenSSH クライアントの要件](#use-your-ssh-configuration)を満たしていない場合、Desktop の組み込み SSH クライアント経由で接続します。サードパーティプロバイダーでは、デフォルトで組み込みクライアント経由で接続しますが、管理者がこれを変更できます。この設定については、[SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions) を参照してください。

1066 

1067組み込みクライアントでも、`PATH` に `ssh` コマンドがあれば、**SSH host** フィールドに SSH 設定の `Host` 名を入力できます。ただし、次の制限があります。

1068 

1069* **エントリからの設定**: Desktop は `HostName`、`User`、`Port`、`IdentityFile` を使用します。`PATH` に `sh` シェルがある場合は `ProxyCommand` も使用します。

1070* **SSH key (optional)**: ここで選択した鍵ファイルは `IdentityFile` を置き換えるため、エントリの `IdentityFile` を使い続けるにはこのフィールドを空欄のままにします

1071* **`CertificateFile` と `ProxyJump`**: Desktop は `CertificateFile` を無視し、エントリで `ProxyJump` が設定されていると接続は失敗します。いずれかの設定を使用するには、[OpenSSH クライアント経由で接続してください](#use-your-ssh-configuration)。

1044 1072 

1045##### ジャンプホストの背後にあるマシンに接続する1073##### ジャンプホストの背後にあるマシンに接続する

1046 1074 


1095 1123 

1096##### `ProxyCommand` でシェルの変数を使用する1124##### `ProxyCommand` でシェルの変数を使用する

1097 1125 

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

1099 1127 

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

1101 1129 


1103>1131>

1104> シェルが一時的な AWS 認証情報を設定する場合は、`AWS_*` 変数をエクスポートする代わりに、[AWS CLI にプロファイルを指定してください](#use-aws-credentials-in-a-proxycommand)。1132> シェルが一時的な AWS 認証情報を設定する場合は、`AWS_*` 変数をエクスポートする代わりに、[AWS CLI にプロファイルを指定してください](#use-aws-credentials-in-a-proxycommand)。

1105 1133 

1106##### `ProxyCommand` で AWS 認証情報を使用する1134##### macOS と Linux で `ProxyCommand` に AWS 認証情報を使用する

1107 1135 

1108シェル起動ファイルで一時的な AWS 認証情報を設定している場合、AWS CLI を実行する `ProxyCommand` は、ターミナルでは接続できても Desktop では失敗することがあります。シェルが `AWS_SESSION_TOKEN`、`AWS_SECURITY_TOKEN`、または `AWS_CREDENTIAL_EXPIRATION` をエクスポートしていると、Desktop の `ssh` と `ProxyCommand` は、シェルの AWS 認証情報、`AWS_REGION`、`AWS_PROFILE` を取得しません。1136シェル起動ファイルで一時的な AWS 認証情報を設定している場合、AWS CLI を実行する `ProxyCommand` は、ターミナルでは接続できても Desktop では失敗することがあります。シェルが `AWS_SESSION_TOKEN`、`AWS_SECURITY_TOKEN`、または `AWS_CREDENTIAL_EXPIRATION` をエクスポートしていると、Desktop の `ssh` と `ProxyCommand` は、シェルの AWS 認証情報、`AWS_REGION`、`AWS_PROFILE` を取得しません。

1109 1137 


1242 1270 

1243##### 長いタスクを準備する1271##### 長いタスクを準備する

1244 1272 

1245* **先に更新する**:長いタスクを開始する前に Desktop を更新してください。macOS と Windows では、Desktop はダウンロード済みのアップデートをインストールするために自動的に再起動することがあります。この再起動は、Claude が SSH タスクに取り組んでいる間は待機します。macOS で Claude アカウントを使用している場合、デフォルトでは、アップデートが 72 時間待機した後は、それでも再起動が実行されることがあります。1273* **先に更新する**: 長時間のタスクを開始する前に Desktop を更新してください。macOS と Windows では、Desktop はダウンロード済みの更新をインストールするために自動的に再起動することがあります。この再起動は、Claude が SSH タスクで作業している間は待機します。デフォルトでは、更新が 72 時間待機した後、Desktop が[その後タスクに再接続できる](#reopen-a-session-after-you-quit-desktop)場合は、タスク中でも再起動が実行されることがあります。

1246* **Windows の場合、またはサードパーティプロバイダーで v2.42304.0 より前の場合は終了しない**: その場合は終了すると実行中のタスクが失われるため、タスクの間は Desktop を開いたままにしてください。それ以外の場合は、終了する前に[何が戻るか](#reopen-a-session-after-you-quit-desktop)を確認してください。1274* **終了する前に確認する**: 終了や再起動の後、たとえば一部の Desktop の更新後などには、実行中のタスクに必ず戻れるとは限りません。該当するケースについては、[Desktop を終了した後にセッションを再度開く](#reopen-a-session-after-you-quit-desktop)を参照してください。

1275* **古いバージョンでは Desktop を開いたままにする**: Windows で v3.1623.0 より前の Claude Desktop を使用している場合、Desktop が終了または再起動すると、実行中のタスクに戻れません。macOS または Linux で v2.42304.0 より前のサードパーティプロバイダーを使用している場合も同様です。どちらの場合も、タスクの実行中は Desktop を開いたままにしてください。バージョンを確認するには、[バージョンを確認する](#check-your-version)を参照してください。

1247* **リクエストを減らす**:[タスクがユーザーを待つ頻度を減らす](#handle-requests-that-arrive-while-you-are-away)権限モード、ルール、またはフックを選択します1276* **リクエストを減らす**:[タスクがユーザーを待つ頻度を減らす](#handle-requests-that-arrive-while-you-are-away)権限モード、ルール、またはフックを選択します

1248* **ジャンプホストを確認する**:ジャンプホストがサインイン(スマートフォンへのプッシュ通知など)を求める場合は、プロンプトなしで機能するログインに切り替えてください。そうしないと、Desktop は再接続を試みるたびに別のプッシュ通知を送信する可能性があります。1277* **ジャンプホストを確認する**:ジャンプホストがサインイン(スマートフォンへのプッシュ通知など)を求める場合は、プロンプトなしで機能するログインに切り替えてください。そうしないと、Desktop は再接続を試みるたびに別のプッシュ通知を送信する可能性があります。

1249* **リモートマシンをテストする**:短いタスクを開始し、タスクの実行中に Desktop を終了して、タスクが完了しているはずの時刻を十分に過ぎてからセッションを再度開きます。タスクが完了しておらず、セッションに認証エラーが表示されていない場合は、リモートマシンで[タスクを終了させうる要因](#limits-while-desktop-is-disconnected)を確認してください。1278* **リモートマシンをテストする**:短いタスクを開始し、タスクの実行中に Desktop を終了して、タスクが完了しているはずの時刻を十分に過ぎてからセッションを再度開きます。タスクが完了しておらず、セッションに認証エラーが表示されていない場合は、リモートマシンで[タスクを終了させうる要因](#limits-while-desktop-is-disconnected)を確認してください。


1320 1349 

1321Desktop を終了した後もタスクはリモートマシン上で実行を続けますが、Desktop がそのプロセスに再参加できない限り、セッションを再度開いたときに停止します。Desktop が閉じている間、タスクは完了するか、ユーザーの対応が必要になるか、[制限](#limits-while-desktop-is-disconnected)のいずれかに達するまで実行されます。1350Desktop を終了した後もタスクはリモートマシン上で実行を続けますが、Desktop がそのプロセスに再参加できない限り、セッションを再度開いたときに停止します。Desktop が閉じている間、タスクは完了するか、ユーザーの対応が必要になるか、[制限](#limits-while-desktop-is-disconnected)のいずれかに達するまで実行されます。

1322 1351 

1323* **Windows の Desktop**: Desktop は終了後に再参加することがないため、実行中のタスクは戻りません。Desktop の起動時にセッションが開くことがあるため、タスクが完了していると見込まれるときにのみ Desktop を再度起動してください。1352* **Windows の Desktop で、v3.1623.0 より前のバージョンで開始したタスク**: その後 Desktop が更新されていても、タスクには戻れません。Desktop の起動時にセッションが開くことがあり、セッションが開くとタスクは停止するため、タスクが完了していると予想される時点になってから Desktop を再度起動してください。どのバージョンでタスクを開始したかわからない場合も、タスクが完了していると予想される時点まで待ってください。

1324* **サードパーティプロバイダー、以前のバージョンのタスク**: v2.42304.0 より前の Desktop バージョンでタスクを開始した場合、macOS や Linux でもタスクは戻りません。タスクが完了していると見込まれるときにのみ Desktop を再度起動してください。1353* **macOS または Linux のサードパーティプロバイダーで、v2.42304.0 より前のバージョンで開始したタスク**: タスクには戻れません。タスクが完了していると予想される時点になってから Desktop を再度起動してください。

1325* **その他のタスク(macOS または Linux の Desktop)**: Desktop を起動してセッションを開くと、Desktop が再参加した場合はタスクが続行されます。一部の Desktop アップデートの後など、常に再参加できるとは限らないため、[長時間のタスクの前に更新してください](#prepare-a-long-task)。1354* **その他のタスク**: Desktop を起動してセッションを開くと、Desktop が再接続できればタスクは続行されます。一部の Desktop の更新後など、常に再接続できるとは限らないため、[長時間のタスクの前に更新してください](#prepare-a-long-task)。

1326 1355 

1327Desktop が再参加できない場合、待機していた承認や質問も失われます。タスクが自動的に続行されない場合はメッセージを送信すると、Claude は会話の保存された履歴から続行します。1356タスクが停止すると、Desktop が新しいプロセスを開始する間、セッションに `Restarting Claude Code on <host>…` が表示されることがあります。また、待機していた承認や質問も失われます。Claude が自動的に続行しない場合はメッセージを送信してください。Claude は会話の保存済み履歴から続行します。

1328 1357 

1329サードパーティのデプロイについては、[SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions) を参照してください。1358サードパーティのデプロイについては、[SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions) を参照してください。

1330 1359 


1411 1440 

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

1413 1442 

1443サーバーが `MaxSessions 1` を設定している場合、Desktop が接続または再接続するたびに少なくとも 2 つのエントリが記録されます。さらに、ターミナルタブごと、および `!` で始まるコマンドを実行する Desktop セッションごとに、少なくとも 1 つずつ追加されます。

1444 

1414Desktop の SSH 接続は、Claude Code の[メトリクスとイベント](https://code.claude.com/docs/ja/monitoring-usage.md#available-metrics-and-events)には含まれません。そこから SSH セッションがどのリモートマシンで実行されたかを確認するには、[Desktop SSH セッションにテレメトリを関連付ける](https://code.claude.com/docs/ja/monitoring-usage.md#attribute-telemetry-to-desktop-ssh-sessions)を参照してください。Desktop 自体の接続記録については、[SSH の問題について Desktop のログを取得する](#get-desktops-logs-for-an-ssh-problem)を参照してください。1445Desktop の SSH 接続は、Claude Code の[メトリクスとイベント](https://code.claude.com/docs/ja/monitoring-usage.md#available-metrics-and-events)には含まれません。そこから SSH セッションがどのリモートマシンで実行されたかを確認するには、[Desktop SSH セッションにテレメトリを関連付ける](https://code.claude.com/docs/ja/monitoring-usage.md#attribute-telemetry-to-desktop-ssh-sessions)を参照してください。Desktop 自体の接続記録については、[SSH の問題について Desktop のログを取得する](#get-desktops-logs-for-an-ssh-problem)を参照してください。

1415 1446 

1416#### ログイン前に閉じる接続1447#### ログイン前に閉じる接続


2112| - | - | - |2143| - | - | - |

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

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

2115| `<host> allows too few SSH sessions per connection` | `[SESSION_LIMIT]` | サーバーの `sshd_config` で `MaxSessions` を引き上げます(例:OpenSSH のデフォルトである 10) |2146| `<host> allows too few SSH sessions per connection` | `[SESSION_LIMIT]` | Claude Desktop v3.1623.0 以降に更新するか、サーバーの `sshd_config` で `MaxSessions` を引き上げます(例:OpenSSH のデフォルトである 10) |

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

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

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

errors.md +2 −0

Details

327| `Cannot read this as an image: <path> is a pipe or a device` | [ツールエラー](#file-is-too-large-to-read-as-an-image) |327| `Cannot read this as an image: <path> is a pipe or a device` | [ツールエラー](#file-is-too-large-to-read-as-an-image) |

328| `subagent_type is required: the general-purpose agent is not available in this session` | [ツールエラー](#subagent-type-is-required) |328| `subagent_type is required: the general-purpose agent is not available in this session` | [ツールエラー](#subagent-type-is-required) |

329| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [ツールエラー](#memory-index-is-over-its-read-limit) |329| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [ツールエラー](#memory-index-is-over-its-read-limit) |

330| `Sandbox is required but failed to initialize: <reason>` | [サンドボックス化のトラブルシューティング](https://code.claude.com/docs/ja/sandboxing.md#commands-refused-with-sandbox-is-required) |

331| `Sandbox is required (sandbox.failIfUnavailable) and stopped being available in this session: <reason>` | [サンドボックス化のトラブルシューティング](https://code.claude.com/docs/ja/sandboxing.md#commands-refused-with-sandbox-is-required) |

330| `pkill: refusing to run` | [ツールエラー](#pkill-pattern-matches-the-claude-code-process) |332| `pkill: refusing to run` | [ツールエラー](#pkill-pattern-matches-the-claude-code-process) |

331| `Failed to write to <name>'s inbox — nothing was sent` | [ツールエラー](#failed-to-write-to-a-teammate-inbox) |333| `Failed to write to <name>'s inbox — nothing was sent` | [ツールエラー](#failed-to-write-to-a-teammate-inbox) |

332| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [ツールエラー](#failed-to-write-to-a-teammate-inbox) |334| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [ツールエラー](#failed-to-write-to-a-teammate-inbox) |

fast-mode.md +3 −3

Details

80 80 

81高速モード価格は完全な 1M トークンコンテキストウィンドウ全体で一定です。比較対象となる標準 Opus レートについては、[Claude 価格リファレンス](https://platform.claude.com/docs/ja/about-claude/pricing)を参照してください。81高速モード価格は完全な 1M トークンコンテキストウィンドウ全体で一定です。比較対象となる標準 Opus レートについては、[Claude 価格リファレンス](https://platform.claude.com/docs/ja/about-claude/pricing)を参照してください。

82 82 

83会話で初めて fast mode を有効にすると、会話コンテキスト全体に対して、fast mode のキャッシュされていない入力トークンの価格を全額支払います。会話が進んでいるほどこのコストは高くなるため、最初に fast mode を有効にしたときに請求額が最も小さくなります。コストは会話ごとに 1 回だけ適用されるため、後で fast mode をオフにしてから再びオンに切り替えても、再度請求されることはありません。仕組みについては、[fast mode がプロンプトキャッシュとどのように相互作用するか](https://code.claude.com/docs/ja/prompt-caching.md#turning-on-fast-mode)を参照してください。83会話で初めて fast mode を有効にすると、会話コンテキスト全体に対して、fast mode のキャッシュされていない入力トークンの価格を全額支払います。会話が進んでいるほどこのコストは高くなるため、最初に fast mode を有効にしたときに請求額が最も小さくなります。fast mode と標準速度は[別々のキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md#turning-on-fast-mode)を保持するため、その後切り替えるたびに、会話の一部または全体が再びキャッシュなしで読み込まれます。

84 84 

85### 高速モード支出がどこに表示されるかを確認する85### 高速モード支出がどこに表示されるかを確認する

86 86 

87高速モード支出がどこに表示されるかは、サインイン方法によって異なるため、まず [`/status`](https://code.claude.com/docs/ja/commands)を実行して確認してください。`Claude Max アカウント`などの `ログイン方法`行が表示される場合は、Claude サブスクリプションでサインインしています。代わりに `API キー`行が表示される場合は、リクエストが Claude Console 組織に請求されます。87fast mode の支出がどこに表示されるかは、サインイン方法によって異なるため、まず [`/status`](https://code.claude.com/docs/ja/commands) を実行して確認してください。`Claude Max account` などの `Login method` 行が表示される場合は、Claude サブスクリプションでサインインしています。代わりに `API key` 行が表示される場合は、リクエストが Claude Console 組織に請求されます。

88 88 

89* **Pro と Max**:使用クレジットから高速モードの料金を支払います。claude.ai の [**設定 > 使用状況**](https://claude.ai/settings/usage)に移動します。ここで、**使用クレジット**セクションに今月の使用クレジットの支出額が表示されます。この数字には高速モードが含まれていますが、別途に分類されていません。89* **Pro と Max**:使用クレジットから高速モードの料金を支払います。claude.ai の [**設定 > 使用状況**](https://claude.ai/settings/usage)に移動します。ここで、**使用クレジット**セクションに今月の使用クレジットの支出額が表示されます。この数字には高速モードが含まれていますが、別途に分類されていません。

90* **Team と Enterprise**:組織が使用クレジットから高速モード使用の料金を支払います。自分の使用クレジット支出を確認するには、[`/usage`](https://code.claude.com/docs/ja/costs#check-your-usage-credits-spend)を実行してください。組織がその支出をどこで確認するかについては、[Claude for Teams and Enterprise](https://code.claude.com/docs/ja/costs.md#claude-for-teams-and-enterprise)を参照してください。90* **Team と Enterprise**:組織が使用クレジットから高速モード使用の料金を支払います。自分の使用クレジット支出を確認するには、[`/usage`](https://code.claude.com/docs/ja/costs#check-your-usage-credits-spend)を実行してください。組織がその支出をどこで確認するかについては、[Claude for Teams and Enterprise](https://code.claude.com/docs/ja/costs.md#claude-for-teams-and-enterprise)を参照してください。


167 167 

168ゲートウェイの背後では、Claude Code が利用可否チェックを送信せず、以前に成功したチェックもキャッシュされていない、次の設定になっていないか確認してください:168ゲートウェイの背後では、Claude Code が利用可否チェックを送信せず、以前に成功したチェックもキャッシュされていない、次の設定になっていないか確認してください:

169 169 

170* `ANTHROPIC_BASE_URL` をゲートウェイに向け、[`ANTHROPIC_API_KEY`](https://code.claude.com/docs/ja/llm-gateway-connect#set-the-base-url-and-credential) に Anthropic API キーの形式ではないゲートウェイ発行のキーを設定している。Claude Code はそのようなキーを `api.anthropic.com` に送信しません。170* `ANTHROPIC_BASE_URL` をゲートウェイに向け、[`ANTHROPIC_API_KEY`](https://code.claude.com/docs/ja/llm-gateway-connect#set-the-base-url-and-credential) に Anthropic API キーの形式ではないゲートウェイ発行のキーを設定している。

171* [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ja/env-vars) を設定しているため、Claude Code がチェックをスキップする。171* [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ja/env-vars) を設定しているため、Claude Code がチェックをスキップする。

172 172 

173どちらの設定でも、fast mode を復元するには `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` を設定します。173どちらの設定でも、fast mode を復元するには `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` を設定します。

Details

262 262 

263**コンテキストコスト:** 使用されるまで低い。ユーザーのみのスキルは呼び出されるまでゼロコストです。263**コンテキストコスト:** 使用されるまで低い。ユーザーのみのスキルは呼び出されるまでゼロコストです。

264 264 

265**Subagents 内:** スキルは subagents で異なる動作をします。オンデマンドロードの代わりに、subagent の `skills` フィールドにリストされているスキルは起動時にそのコンテキストに完全にプリロードされます。Subagents はスキルツールを通じて、リストされていないプロジェクト、ユーザー、プラグインスキルを発見して呼び出すことができます。265**サブエージェント内:** サブエージェントの `skills` フィールドにリストされているスキルの完全なコンテンツは、オンデマンドではなく[起動時にそのコンテキストにロードされます](https://code.claude.com/docs/ja/sub-agents.md#preload-skills-into-subagents)。サブエージェントは引き続き、Skill ツールを通じてリストされていないプロジェクト、ユーザー、プラグインのスキルを発見して呼び出すことができます。

266 266 

267> [!TIP]267> [!TIP]

268>268>

glossary.md +2 −2

Details

120 120 

121### Compaction121### Compaction

122 122 

123[コンテキストウィンドウ](#context-window)が上限に近づいたときに、会話を自動的に要約する処理です。まず古いツール出力がクリアされ、次に会話が要約されます。プロジェクトルートの CLAUDE.md と自動メモリは圧縮後も保持され、ディスクから再読み込みされますが、会話の中でのみ与えられた指示は失われる可能性があります。手動で実行するには `/compact` を実行します。`/compact focus on the API changes` のように重点を指定することもできます。123[コンテキストウィンドウ](#context-window)が上限に近づいたときに、会話を自動的に要約する処理です。プロジェクトルートの CLAUDE.md と自動メモリは圧縮後も保持されますが、会話の中でのみ与えられた指示は失われる可能性があります。手動で実行するには `/compact` を実行します。`/compact focus on the API changes` のように重点を指定することもできます。

124 124 

125詳細: [コンテキスト圧縮後も保持されるもの](https://code.claude.com/docs/ja/context-window.md#what-survives-compaction) · [コンテキストがいっぱいになったとき](https://code.claude.com/docs/ja/how-claude-code-works.md#when-context-fills-up)125詳細: [コンテキスト圧縮後も保持されるもの](https://code.claude.com/docs/ja/context-window.md#what-survives-compaction) · [コンテキストがいっぱいになったとき](https://code.claude.com/docs/ja/how-claude-code-works.md#when-context-fills-up) · [アイドル状態のままにした会話を Claude Code が圧縮するタイミング](https://code.claude.com/docs/ja/settings-reference.md#idlecompaction)

126 126 

127### Connector127### Connector

128 128 

hooks.md +16 −6

Details

1426 1426 

1427Setup フックはブロックできません。どの終了コードでも実行は継続されます。どの終了コードの場合も、Claude Code は Setup フックの [JSON 出力フィールド](#json-output)(`systemMessage`、`continue`、`hookSpecificOutput.additionalContext` など)を破棄します。`-p` では、Setup フックの stdout、stderr、終了コードは、`--output-format stream-json --verbose` で起動した場合にのみ、[`hook_response` イベント](https://code.claude.com/docs/ja/headless#read-session-metadata)として実行の出力に表示されます。1427Setup フックはブロックできません。どの終了コードでも実行は継続されます。どの終了コードの場合も、Claude Code は Setup フックの [JSON 出力フィールド](#json-output)(`systemMessage`、`continue`、`hookSpecificOutput.additionalContext` など)を破棄します。`-p` では、Setup フックの stdout、stderr、終了コードは、`--output-format stream-json --verbose` で起動した場合にのみ、[`hook_response` イベント](https://code.claude.com/docs/ja/headless#read-session-metadata)として実行の出力に表示されます。

1428 1428 

1429Setup フックは `CLAUDE_ENV_FILE` にアクセスできます。このファイルに書き込まれた変数は、[SessionStart フック](#persist-environment-variables)と同様に、セッションの後続の Bash コマンドに引き継がれます。`Setup` では `type: "command"` フックのみが実行されます。`Setup` の `type: "mcp_tool"` フックは、[MCP ツールフックのフィールド](#mcp-tool-hook-fields)で説明されているとおり、常にスキップされます。1429Setup フックは `CLAUDE_ENV_FILE` にアクセスできます。フックがこのファイルに変数を書き込むと、[SessionStart フック](#persist-environment-variables)と同様に、セッション中の後続の Bash コマンドに引き継がれます。`Setup` で実行されるのは `type: "command"` フックのみです。[MCP ツールフックのフィールド](#mcp-tool-hook-fields)で説明されているとおり、`Setup` の `type: "mcp_tool"` フックは常にスキップされます。

1430 1430 

1431### InstructionsLoaded1431### InstructionsLoaded

1432 1432 


1483 1483 

1484`UserPromptSubmit` の [Agent SDK コールバックフック](https://code.claude.com/docs/ja/agent-sdk/hooks.md)がタイムアウトに達すると、フック名とタイムアウトを示すメッセージとともにプロンプトがブロックされます。そこでのコールバックは、フェイルオープンしてはならないポリシーゲートとして機能している可能性があるためです。セッションは継続します。1484`UserPromptSubmit` の [Agent SDK コールバックフック](https://code.claude.com/docs/ja/agent-sdk/hooks.md)がタイムアウトに達すると、フック名とタイムアウトを示すメッセージとともにプロンプトがブロックされます。そこでのコールバックは、フェイルオープンしてはならないポリシーゲートとして機能している可能性があるためです。セッションは継続します。

1485 1485 

1486#### プロンプトのチェック中の `Esc`

1487 

1488フックがプロンプトをチェックしている最中に `Esc` を押すかセッションを中断すると、チェックは停止し、プロンプトは Claude に届きません。ターミナルで入力したテキストはプロンプトの入力欄に戻り、再送信したときにフックが再びチェックします。

1489 

1490中断したのと同じタイミングでフックがプロンプトをブロックすることもあります。その場合、プロンプトはブロックされたままになります:そのフックの[ブロックメッセージ](#what-a-blocked-prompt-leaves-behind)が表示され、テキストは入力欄に戻りません。

1491 

1486#### UserPromptSubmit の入力1492#### UserPromptSubmit の入力

1487 1493 

1488[共通入力フィールド](#common-input-fields)に加えて、UserPromptSubmit フックは送信されたテキストを含む `prompt` フィールドを受け取ります。`[Pasted text #N]` プレースホルダーに折りたたまれた貼り付けコンテンツは、その場で展開された状態で届きます。Claude Code が[貼り付けたテキストを Claude 向けにマークする](https://code.claude.com/docs/ja/terminal-config.md#how-claude-treats-pasted-text)セッションでは、展開されたコンテンツは `<pasted_content id="…">` の行と `</pasted_content id="…">` の行の間に置かれるため、フックがプロンプトを解析する場合はこれらの行を考慮してください。1494[共通入力フィールド](#common-input-fields)に加えて、UserPromptSubmit フックは送信されたテキストを含む `prompt` フィールドを受け取ります。`[Pasted text #N]` プレースホルダーに折りたたまれた貼り付けコンテンツは、その場で展開された状態で届きます。Claude Code が[貼り付けたテキストを Claude 向けにマークする](https://code.claude.com/docs/ja/terminal-config.md#how-claude-treats-pasted-text)セッションでは、展開されたコンテンツは `<pasted_content id="…">` の行と `</pasted_content id="…">` の行の間に置かれるため、フックがプロンプトを解析する場合はこれらの行を考慮してください。


1741 1747 

1742[PreToolUse の決定制御](#pretooluse-decision-control)を使用して、ツール呼び出しを許可、拒否、確認、または遅延します。1748[PreToolUse の決定制御](#pretooluse-decision-control)を使用して、ツール呼び出しを許可、拒否、確認、または遅延します。

1743 1749 

1744`PreToolUse` の [Agent SDK コールバックフック](https://code.claude.com/docs/ja/agent-sdk/hooks.md)がタイムアウトを超えると、ツール呼び出しはブロックされ、Claude はタイムアウトを示すエラー結果を受け取ります。1750タイムアウトを超えた `PreToolUse` の [Agent SDK コールバックフック](https://code.claude.com/docs/ja/agent-sdk/hooks.md#hook-timeout)は、ツール呼び出しをブロックします。

1745 1751 

1746#### PreToolUse の入力1752#### PreToolUse の入力

1747 1753 


2457| `quota_auto_resume_fired` | claude.ai の使用制限によってタスクが一時停止された後、Claude Code がタスクを続行したとき。続行はリセット時に行われるか、待機中に Claude Code で使用クレジットの追加、プランのアップグレード、モデルの切り替えなどを行って使用量が再び利用可能になった場合はそれより早く行われます([モデル設定の例外](https://code.claude.com/docs/ja/interactive-mode.md#wait-for-a-usage-limit-to-reset)あり) |2463| `quota_auto_resume_fired` | claude.ai の使用制限によってタスクが一時停止された後、Claude Code がタスクを続行したとき。続行はリセット時に行われるか、待機中に Claude Code で使用クレジットの追加、プランのアップグレード、モデルの切り替えなどを行って使用量が再び利用可能になった場合はそれより早く行われます([モデル設定の例外](https://code.claude.com/docs/ja/interactive-mode.md#wait-for-a-usage-limit-to-reset)あり) |

2458| `quota_auto_resume_stale` | コンピューターが約 30 分以上スリープしている間に claude.ai の使用制限がリセットされたとき。Claude Code は続行せず、ユーザーが `Enter` を押すのを待ちます。スリープがそれより短い場合は続行し、代わりに `quota_auto_resume_fired` を発火します |2464| `quota_auto_resume_stale` | コンピューターが約 30 分以上スリープしている間に claude.ai の使用制限がリセットされたとき。Claude Code は続行せず、ユーザーが `Enter` を押すのを待ちます。スリープがそれより短い場合は続行し、代わりに `quota_auto_resume_fired` を発火します |

2459| `quota_auto_resume_disabled` | Claude Code が claude.ai の使用制限の待機を、タスクを続行せずに終了したとき。たとえば、Claude Code が自動的に開始した待機中に [`autoContinueAtUsageLimit`](https://code.claude.com/docs/ja/settings-reference#autocontinueatusagelimit) がオフにされた場合やリセットが 24 時間以上先に移動した場合、続行したタスクが繰り返し制限に達した場合、続行がモデルに到達する前にブロックされた場合です。ユーザーが `Esc` または `Ctrl+C` を押した場合や、**Don't continue automatically** を選択した場合は発火しません |2465| `quota_auto_resume_disabled` | Claude Code が claude.ai の使用制限の待機を、タスクを続行せずに終了したとき。たとえば、Claude Code が自動的に開始した待機中に [`autoContinueAtUsageLimit`](https://code.claude.com/docs/ja/settings-reference#autocontinueatusagelimit) がオフにされた場合やリセットが 24 時間以上先に移動した場合、続行したタスクが繰り返し制限に達した場合、続行がモデルに到達する前にブロックされた場合です。ユーザーが `Esc` または `Ctrl+C` を押した場合や、**Don't continue automatically** を選択した場合は発火しません |

2460| `plugin_notification` | [mod](https://code.claude.com/docs/ja/plugins/mods/api.md#show-something-without-starting-a-turn) が `$.ui.notify` で通知を発生させたとき。mod が `title` を設定していない限り、フックの `title` は mod の名前になります |2466| `plugin_notification` | [mod](https://code.claude.com/docs/ja/plugins/mods/api.md#show-something-without-starting-a-turn) が `$.ui.notify` で通知を発行したとき。mod がタイトルを設定していない限り、フックの `title` は mod の名前になります |

2461 2467 

2462`quota_auto_resume_fired`、`quota_auto_resume_stale`、`quota_auto_resume_disabled` タイプには Claude Code v2.1.234 以降が必要です。2468`quota_auto_resume_fired`、`quota_auto_resume_stale`、`quota_auto_resume_disabled` タイプには Claude Code v2.1.234 以降が必要です。

2463 2469 


2970 2976 

2971メインの会話内のシェルコマンドが作業ディレクトリを変更したとき、たとえば Claude が `cd` コマンドを実行したときに実行されます。環境変数の再読み込み、プロジェクト固有のツールチェーンの有効化、セットアップスクリプトの自動実行など、ディレクトリの変更に反応するために使用します。ディレクトリごとの環境を管理する [direnv](https://direnv.net/) のようなツールでは、[FileChanged](#filechanged) と組み合わせて使用します。2977メインの会話内のシェルコマンドが作業ディレクトリを変更したとき、たとえば Claude が `cd` コマンドを実行したときに実行されます。環境変数の再読み込み、プロジェクト固有のツールチェーンの有効化、セットアップスクリプトの自動実行など、ディレクトリの変更に反応するために使用します。ディレクトリごとの環境を管理する [direnv](https://direnv.net/) のようなツールでは、[FileChanged](#filechanged) と組み合わせて使用します。

2972 2978 

2973CwdChanged フックは [`CLAUDE_ENV_FILE`](#persist-environment-variables) にアクセスできます。そのファイルに書き込まれた変数は、次の CwdChanged イベントで Claude Code によってクリアされるまで、後続の Bash コマンドに引き継がれます。2979CwdChanged フックは [`CLAUDE_ENV_FILE`](#persist-environment-variables) にアクセスできます。フックがそのファイルに変数を書き込むと、それらの変数は次の CwdChanged イベントで Claude Code がクリアするまで、後続の Bash コマンドに引き継がれます。

2974 2980 

2975CwdChanged は matcher をサポートせず、すべての発生時に発火します。2981CwdChanged は matcher をサポートせず、すべての発生時に発火します。

2976 2982 


3135* Claude Code が[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md#how-file-edits-are-isolated)を専用の worktree に分離した3141* Claude Code が[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md#how-file-edits-are-isolated)を専用の worktree に分離した

3136* `worktree` モードの [`claude remote-control`](https://code.claude.com/docs/ja/remote-control#start-a-remote-control-session) が専用の worktree でセッションを開始した3142* `worktree` モードの [`claude remote-control`](https://code.claude.com/docs/ja/remote-control#start-a-remote-control-session) が専用の worktree でセッションを開始した

3137 3143 

3138Claude が `EnterWorktree` を呼び出すのではなく、Bash ツールを通じて `git worktree add` を実行した場合、WorktreeCreate フックは実行されません。そのコマンドを検査またはブロックするには、`Bash` matcher を持つ [`PreToolUse`](#pretooluse) フックを追加してください。3144WorktreeCreate フックは、Claude が Bash を通じて追加する worktree に対しては実行されません。また、`--worktree` と [`--tmux`](https://code.claude.com/docs/ja/cli-reference#cli-flags) で起動したときに作成される worktree に対しては、プラグインのフックは実行されません。

3145 

3146* **Bash を通じた `git worktree add`**: そのコマンドを検査またはブロックするには、`Bash` matcher を持つ [`PreToolUse`](#pretooluse) フックを追加してください。

3147* **`--worktree` と `--tmux` の併用**: Claude Code はプラグインを読み込む前に worktree を作成するため、プラグインの WorktreeCreate フックは実行されません。両方のフラグでフックを実行させるには、代わりに[設定ファイル](#configuration)でフックを定義してください。v2.1.300 より前は、`--worktree` 単独の場合でもプラグインの WorktreeCreate フックは実行されませんでした。

3139 3148 

3140デフォルトでは、Claude Code は `git worktree` を使って分離された作業コピーを作成します。WorktreeCreate フックを設定すると、このデフォルトの git の動作が置き換えられ、SVN、Perforce、Mercurial などの別のバージョン管理システムを使用できるようになります。3149デフォルトでは、Claude Code は `git worktree` を使って分離された作業コピーを作成します。WorktreeCreate フックを設定すると、このデフォルトの git の動作が置き換えられ、SVN、Perforce、Mercurial などの別のバージョン管理システムを使用できるようになります。

3141 3150 


4077 4086 

4078非同期フックが発火すると、Claude Code はフック プロセスを開始し、完了を待たずにすぐに続行します。フックは同期フックと同じ JSON 入力を stdin 経由で受け取ります。4087非同期フックが発火すると、Claude Code はフック プロセスを開始し、完了を待たずにすぐに続行します。フックは同期フックと同じ JSON 入力を stdin 経由で受け取ります。

4079 4088 

4080バックグラウンド プロセスが終了した後、Claude Code はフックの JSON レスポンスに含まれる `additionalContext` フィールドと `systemMessage` フィールドを次の会話ターンで Claude に配信します。同期フックの `systemMessage` とは異なり、どちらのフィールドもユーザーには表示されません。4089バックグラウンド プロセスが終了した後、Claude Code はフックの JSON レスポンスに含まれる `additionalContext` フィールドと `systemMessage` フィールドを次の会話ターンで Claude に配信します。ただし、[繰り返される `SessionStart` の出力](#limitations)は除きます。同期フックの `systemMessage` とは異なり、どちらのフィールドもユーザーには表示されません。

4081 4090 

4082JSON レスポンスは、stdout に単独で出力するか、それ自体だけの 1 行として出力します。4091JSON レスポンスは、stdout に単独で出力するか、それ自体だけの 1 行として出力します。

4083 4092 


4145 4154 

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

4147* 各実行は個別のバックグラウンド プロセスを作成します。4156* 各実行は個別のバックグラウンド プロセスを作成します。

4157* 非同期の `SessionStart` フックは、イベントが発火するたびに実行されます。`additionalContext` と `systemMessage` のテキストが、Claude がそのフックから最後に受け取った内容と一致する場合、Claude Code はフックの出力をスキップします。ただし、それ以降に同期 `SessionStart` フックが別のテキストを追加した場合は除きます。Claude Code はテキストが変更されたときにそのテキストを配信し、コンテキスト圧縮または `/clear` の後に次にフックが実行されたときにも再度配信します。v2.1.295 より前は、Claude Code は再開のたびに同じテキストを会話に再度追加していました。

4148 4158 

4149## セキュリティに関する考慮事項4159## セキュリティに関する考慮事項

4150 4160 

hooks-guide.md +1 −1

Details

954* `PostToolUse` フックは、ツールがすでに実行されているため、アクションを元に戻すことはできません。954* `PostToolUse` フックは、ツールがすでに実行されているため、アクションを元に戻すことはできません。

955* [`PermissionRequest`](https://code.claude.com/docs/ja/hooks#permissionrequest) フックは、Claude Code がユーザーに権限を求めようとするとき、またはプロンプトを表示できない呼び出しをそのままでは自動的に拒否するときに発火します。`-p` フラグを使用した[非対話モード](https://code.claude.com/docs/ja/headless.md)でも、[`dontAsk` モード](https://code.claude.com/docs/ja/permission-modes#allow-only-pre-approved-tools-with-dontask-mode)以外では引き続き実行され、どのフックも判断せず、他に応答できるものもない呼び出しは拒否されます。955* [`PermissionRequest`](https://code.claude.com/docs/ja/hooks#permissionrequest) フックは、Claude Code がユーザーに権限を求めようとするとき、またはプロンプトを表示できない呼び出しをそのままでは自動的に拒否するときに発火します。`-p` フラグを使用した[非対話モード](https://code.claude.com/docs/ja/headless.md)でも、[`dontAsk` モード](https://code.claude.com/docs/ja/permission-modes#allow-only-pre-approved-tools-with-dontask-mode)以外では引き続き実行され、どのフックも判断せず、他に応答できるものもない呼び出しは拒否されます。

956* `Stop` フックは、タスクの完了時だけでなく、Claude が応答を終えるたびに発火します。ユーザーによる中断では発火しません。API エラーの場合は代わりに [StopFailure](https://code.claude.com/docs/ja/hooks.md#stopfailure) が発火します。956* `Stop` フックは、タスクの完了時だけでなく、Claude が応答を終えるたびに発火します。ユーザーによる中断では発火しません。API エラーの場合は代わりに [StopFailure](https://code.claude.com/docs/ja/hooks.md#stopfailure) が発火します。

957* 複数の `PreToolUse` フックがツールの引数を書き換えるために [`updatedInput`](https://code.claude.com/docs/ja/hooks#pretooluse) を返す場合、最後に完了したものが有効になります。フックは並列に実行されるため、順序は非決定的です。同じツールの入力を複数のフックで変更することは避けてください。957* 複数の `PreToolUse` フックがツールの入力を書き換えるために [`updatedInput`](https://code.claude.com/docs/ja/hooks#pretooluse) を返す場合、Claude Code は書き換えをマージせず、どの書き換えでツールが実行されるかも保証しません。同じツールの入力を複数のフックで書き換えることは避けてください。

958 958 

959### フックと権限モード959### フックと権限モード

960 960 

Details

131 131 

132#### コンテキストが満杯になったとき132#### コンテキストが満杯になったとき

133 133 

134Claude Code はコンテキストウィンドウの制限に近づくと、自動的にコンテキストを管理します。古いツール出力をクリアし、必要に応じて会話を要約します。リクエストと主要なコードスニペットは保持されます。会話の早い段階からの詳細な指示は失われる可能性があります。会話履歴に依存するのではなく、永続的なルールを CLAUDE.md に入れてください。134Claude Code は制限に近づくと、自動的にコンテキストを管理します。会話を要約に圧縮します。要約にはリクエストと主要なコードスニペットが保持されますが、会話の早い段階からの詳細な指示は失われる可能性があります。会話履歴に依存するのではなく、永続的なルールを CLAUDE.md に入れてください。

135 135 

136コンパクト化中に保持されるものを制御するには、CLAUDE.md に「Compact Instructions」セクションを追加するか、`/compact` をフォーカス付きで実行します(例:`/compact focus on the API changes`)。136コンパクト化中に保持されるものを制御するには、CLAUDE.md に「Compact Instructions」セクションを追加するか、`/compact` をフォーカス付きで実行します(例:`/compact focus on the API changes`)。

137 137 

Details

659 659 

660ファイルリストのスクロールや比較対象の変更に使うキーを再バインドするには、[Diff パネルアクション](https://code.claude.com/docs/ja/keybindings.md#diff-panel-actions)を参照してください。660ファイルリストのスクロールや比較対象の変更に使うキーを再バインドするには、[Diff パネルアクション](https://code.claude.com/docs/ja/keybindings.md#diff-panel-actions)を参照してください。

661 661 

662マージ、リベース、チェリーピック、またはリバートが完了していない間、パネルは最後に git から読み取った変更を表示し続けるため、その操作で取り込まれる変更でパネルが埋まることはありません。パネルは操作の終了後の最初の更新時(たとえば、Claude が次にファイルを編集したとき)に更新されます。

663 

662### Diff ダイアログ664### Diff ダイアログ

663 665 

664diff ダイアログは、プロンプトの上に枠付きのブロックとして開き、変更されたファイルを追加行数と削除行数とともにリストアップします。ファイルは `HEAD` と比較されるか、このリポジトリで最後に [diff パネルで選択した](#diff-panel)対象と比較されます。666diff ダイアログは、プロンプトの上に枠付きのブロックとして開き、変更されたファイルを追加行数と削除行数とともにリストアップします。ファイルは `HEAD` と比較されるか、このリポジトリで最後に [diff パネルで選択した](#diff-panel)対象と比較されます。

keybindings.md +4 −4

Details

678 678 

679## Vim モードの相互作用679## Vim モードの相互作用

680 680 

681Vim モードが `/config` → エディタモードで有効な場合、キーバインディングと Vim モードは独立して動作します。681`/config` のエディタモード設定で Vim モードを有効にすると、キーボードショートカットと Vim モードは独立して動作します。

682 682 

683* **Vim モード** はテキスト入力レベルで入力を処理します(カーソル移動、モード、モーション)683* **Vim モード**はテキスト入力レベルで入力を処理します:カーソル移動、モード、モーション

684* **キーバインディング** はコンポーネントレベルでアクションを処理します(todos を切り替え、送信など)684* **キーボードショートカット** はコンポーネントレベルでアクションを処理します(todo の切り替えやメッセージの送信など)

685* Vim モードの Escape キーは INSERT から NORMAL モードに切り替わります。`chat:cancel` をトリガーしません685* vim モードでは、Escape キーは INSERT モードから NORMAL モードに切り替えます。`chat:cancel` はトリガーされません

686* ほとんどの Ctrl+key ショートカットは Vim モードを通過してキーバインディングシステムに渡されます686* ほとんどの Ctrl+key ショートカットは Vim モードを通過してキーバインディングシステムに渡されます

687* Vim キーはキーバインディングファイルを通じて再マップできません。`jj` を Escape にマップするような 2 キーの INSERT モードシーケンスをマップするには、[`vimInsertModeRemaps`](https://code.claude.com/docs/ja/interactive-mode#remap-insert-mode-key-sequences) 設定を使用してください687* Vim キーはキーバインディングファイルを通じて再マップできません。`jj` を Escape にマップするような 2 キーの INSERT モードシーケンスをマップするには、[`vimInsertModeRemaps`](https://code.claude.com/docs/ja/interactive-mode#remap-insert-mode-key-sequences) 設定を使用してください

688* Vim NORMAL モードでは、`?` はヘルプメニューを表示します(Vim の動作)688* Vim NORMAL モードでは、`?` はヘルプメニューを表示します(Vim の動作)

Details

306 306 

307## ディレクトリごとのスキルを追加する307## ディレクトリごとのスキルを追加する

308 308 

309任意のサブディレクトリは、独自のスタックにスコープされた[スキル](https://code.claude.com/docs/ja/skills.md)を定義できます。スキルは Claude が関連性があると判断したときにオンデマンドで読み込まれるため、API 固有のツーリングはフロントエンド作業中にコンテキストを消費しません。309任意のサブディレクトリは、独自のスタックにスコープされた[スキル](https://code.claude.com/docs/ja/skills.md)を定義できます。スキルは Claude が関連性があると判断したときにオンデマンドで読み込まれます。

310 310 

311スキルはディレクトリ内の `.claude/skills/` の下に存在します。その領域のコードと一緒にコミットして、リポジトリをクローンした誰もがそれらを取得できるようにします。モノレポでは、パッケージごとに 1 つのスキルセットを持つことができます。大規模な単一ツリーコードベースでは、`src/db/.claude/skills/` などのサブシステムごとに 1 つのセットを持つことができます。311スキルはディレクトリ内の `.claude/skills/` の下に存在します。その領域のコードと一緒にコミットして、リポジトリをクローンした誰もがそれらを取得できるようにします。モノレポでは、パッケージごとに 1 つのスキルセットを持つことができます。大規模な単一ツリーコードベースでは、`src/db/.claude/skills/` などのサブシステムごとに 1 つのセットを持つことができます。

312 312 


347- Mock external services in `src/__tests__/mocks/`347- Mock external services in `src/__tests__/mocks/`

348```348```

349 349 

350別のサブディレクトリは同じ方法で異なるスキルを保持します。`packages/web/.claude/skills/component-patterns/` はテストの代わりにフロントエンドのコンポーネント規約を説明します。Claude が `packages/api/` のファイルで作業するとき、api-testing スキルを読み込みます。`packages/web/` で作業するとき、component-patterns を読み込みます。どちらのディレクトリのスキルも他方のタスク中には読み込まれません。350別のサブディレクトリは同じ方法で異なるスキルを保持します。`packages/web/.claude/skills/component-patterns/` はテストの代わりにフロントエンドのコンポーネント規約を説明します。Claude が `packages/api/` のファイルで作業するとき、api-testing スキルを読み込みます。`packages/web/` で作業するとき、component-patterns を読み込みます。

351 351 

352配置の代わりにファイルパターンでスキルをスコープすることもできます。[`paths` フロントマターフィールド](https://code.claude.com/docs/ja/skills#frontmatter-reference)はグロブパターンを受け取り、Claude は一致するファイルで作業するときのみ自動的にスキルを読み込みます。これをリポジトリルートの `.claude/skills/` に存在するスキルに使用して、データベースマイグレーションスキルなど `**/migrations/**` にスコープされた特定のファイルにのみ適用します。352配置の代わりにファイルパターンでスキルをスコープすることもできます。[`paths` フロントマターフィールド](https://code.claude.com/docs/ja/skills#frontmatter-reference)はグロブパターンを受け取り、Claude は一致するファイルで作業するときのみ自動的にスキルを読み込みます。これをリポジトリルートの `.claude/skills/` に存在するスキルに使用して、データベースマイグレーションスキルなど `**/migrations/**` にスコープされた特定のファイルにのみ適用します。

353 353 

Details

520| `400` エラーがすべてのリクエストで、ゲートウェイ独自の言葉で認識されないツールタイプを拒否します。例えば `Input tag 'advisor_20260301'`。Claude Code v2.1.275 | そのバージョンでの段階的なロールアウトで、リクエストはアドバイザーがオフの場合でも[アドバイザーツール](https://code.claude.com/docs/ja/advisor.md)エントリを含みます。Anthropic API はそれを受け入れますが、ツールタイプを検証するゲートウェイまたは上流はリクエスト全体を拒否します。[リクエスト本体フィールドを変更せずに転送](https://code.claude.com/docs/ja/llm-gateway-protocol.md#forward-as-open-lists)するものはそれを影響を受けずに通します。エントリは会話コンテンツを含まない宣言です | v2.1.276 以降に更新します。これは `ANTHROPIC_BASE_URL` ゲートウェイの背後でエントリを送信しません。アドバイザーをオンにしない限り。v2.1.275 では、[`CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1`](https://code.claude.com/docs/ja/env-vars)を設定します。これはリクエストからエントリを削除します |520| `400` エラーがすべてのリクエストで、ゲートウェイ独自の言葉で認識されないツールタイプを拒否します。例えば `Input tag 'advisor_20260301'`。Claude Code v2.1.275 | そのバージョンでの段階的なロールアウトで、リクエストはアドバイザーがオフの場合でも[アドバイザーツール](https://code.claude.com/docs/ja/advisor.md)エントリを含みます。Anthropic API はそれを受け入れますが、ツールタイプを検証するゲートウェイまたは上流はリクエスト全体を拒否します。[リクエスト本体フィールドを変更せずに転送](https://code.claude.com/docs/ja/llm-gateway-protocol.md#forward-as-open-lists)するものはそれを影響を受けずに通します。エントリは会話コンテンツを含まない宣言です | v2.1.276 以降に更新します。これは `ANTHROPIC_BASE_URL` ゲートウェイの背後でエントリを送信しません。アドバイザーをオンにしない限り。v2.1.275 では、[`CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1`](https://code.claude.com/docs/ja/env-vars)を設定します。これはリクエストからエントリを削除します |

521| `/model` ピッカーから欠落しているモデル | ゲートウェイモデル名は Claude Code の組み込みリストにありません。または Claude Code は組み込みオプションを置き換える [`modelPicker`](https://code.claude.com/docs/ja/settings-reference#modelpicker) ラインアップを表示しています | [ゲートウェイモデル検出](#add-gateway-models-to-the-model-picker)を有効にするか、[モデル設定](https://code.claude.com/docs/ja/model-config.md)変数で名前を追加します。Claude Code が置き換える `modelPicker` ラインアップを表示している場合は、ゲートウェイモデルをそれに追加するか、管理設定がそれを提供する場合は管理者に追加を依頼します |521| `/model` ピッカーから欠落しているモデル | ゲートウェイモデル名は Claude Code の組み込みリストにありません。または Claude Code は組み込みオプションを置き換える [`modelPicker`](https://code.claude.com/docs/ja/settings-reference#modelpicker) ラインアップを表示しています | [ゲートウェイモデル検出](#add-gateway-models-to-the-model-picker)を有効にするか、[モデル設定](https://code.claude.com/docs/ja/model-config.md)変数で名前を追加します。Claude Code が置き換える `modelPicker` ラインアップを表示している場合は、ゲートウェイモデルをそれに追加するか、管理設定がそれを提供する場合は管理者に追加を依頼します |

522| 推論リクエストが機能している間に `/fast` が `Fast mode unavailable due to network connectivity issues` を報告します | [fast mode](https://code.claude.com/docs/ja/fast-mode.md) の可用性チェックは `api.anthropic.com` に直接送られ、`ANTHROPIC_BASE_URL` に従いません。そのため、直接エグレスがブロックされているとチェックに失敗します | エグレスがブロックされている場合は `api.anthropic.com` を許可リストに登録するか、スキップ変数を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |522| 推論リクエストが機能している間に `/fast` が `Fast mode unavailable due to network connectivity issues` を報告します | [fast mode](https://code.claude.com/docs/ja/fast-mode.md) の可用性チェックは `api.anthropic.com` に直接送られ、`ANTHROPIC_BASE_URL` に従いません。そのため、直接エグレスがブロックされているとチェックに失敗します | エグレスがブロックされている場合は `api.anthropic.com` を許可リストに登録するか、スキップ変数を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |

523| `ANTHROPIC_API_KEY` のゲートウェイ発行キーで認証するセッションで、`/fast` が `Fast mode is currently unavailable` を報告します | `ANTHROPIC_BASE_URL` がゲートウェイを指している間、Claude Code は Anthropic API キーの形式ではないキーを `api.anthropic.com` に送信しません。そのため [fast mode](https://code.claude.com/docs/ja/fast-mode.md) の可用性チェックは送信されず、以前に成功したチェックがキャッシュされていない場合、Claude Code は fast mode を利用不可として扱います | `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |523| `ANTHROPIC_API_KEY` のゲートウェイ発行キーで認証するセッションで、`/fast` が `Fast mode is currently unavailable` を報告します | `ANTHROPIC_BASE_URL` がゲートウェイを指していて、キーが Anthropic API キーの形式ではない間、Claude Code は [fast mode](https://code.claude.com/docs/ja/fast-mode.md) の可用性チェックを送信しません。以前に成功したチェックがキャッシュされていない場合、fast mode を利用不可として扱います | `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |

524| `ANTHROPIC_AUTH_TOKEN` で認証されたセッションで `/fast` が `Fast mode has been disabled by your organization` を報告します。組織が fast mode を有効にしている場合でも | 可用性チェックには claude.ai ログインまたは API キーが必要です。ベアラートークンのみの場合、Claude Code は fast mode をチェックを送信せずに無効として扱います | `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |524| `ANTHROPIC_AUTH_TOKEN` で認証されたセッションで `/fast` が `Fast mode has been disabled by your organization` を報告します。組織が fast mode を有効にしている場合でも | 可用性チェックには claude.ai ログインまたは API キーが必要です。ベアラートークンのみの場合、Claude Code は fast mode をチェックを送信せずに無効として扱います | `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |

525| [curl テスト](#verify-the-connection)が成功しても、Claude Code はログインするよう求めます | CLI には独自の認証情報がありません。到達可能な基本 URL は 1 つではなく、対話型セッションではプロジェクトの `.claude/settings.json` または `.claude/settings.local.json` の `env` ブロックは最初の実行ウィザードと[信頼プロンプト](https://code.claude.com/docs/ja/permissions.md#what-runs-before-you-trust-a-folder)の後にのみ適用されます | `ANTHROPIC_AUTH_TOKEN` を Claude Code が最初の実行セットアップの前に読み取る場所に設定します。シェルエクスポート、`~/.claude/settings.json` の `env` ブロック、または管理設定 |525| [curl テスト](#verify-the-connection)が成功しても、Claude Code はログインするよう求めます | CLI には独自の認証情報がありません。到達可能な基本 URL は 1 つではなく、対話型セッションではプロジェクトの `.claude/settings.json` または `.claude/settings.local.json` の `env` ブロックは最初の実行ウィザードと[信頼プロンプト](https://code.claude.com/docs/ja/permissions.md#what-runs-before-you-trust-a-folder)の後にのみ適用されます | `ANTHROPIC_AUTH_TOKEN` を Claude Code が最初の実行セットアップの前に読み取る場所に設定します。シェルエクスポート、`~/.claude/settings.json` の `env` ブロック、または管理設定 |

526| `ANTHROPIC_API_KEY` が設定されていますが、プロンプトなしで無視されます | キーはインタラクティブセッションで 1 回の承認が必要で、以前に拒否されたキーは再度尋ねられずに無視されます | `/config` で `Use custom API key` オプションで有効にします |526| `ANTHROPIC_API_KEY` が設定されていますが、プロンプトなしで無視されます | キーはインタラクティブセッションで 1 回の承認が必要で、以前に拒否されたキーは再度尋ねられずに無視されます | `/config` で `Use custom API key` オプションで有効にします |

Details

148| :- | :- |148| :- | :- |

149| `x-claude-code-request-class` | このリクエストの種類:メイン会話のターンの場合は `main`、[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)のターンの場合は `subagent`、ワークフロー内で実行されているエージェントの場合は `workflow`、会話をコンパクト化する要約リクエストの場合は `compaction`、セッションタイトル、分類器、および要約などのサイドリクエストの場合は `auxiliary`。すべてのリクエストで送信されます |149| `x-claude-code-request-class` | このリクエストの種類:メイン会話のターンの場合は `main`、[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)のターンの場合は `subagent`、ワークフロー内で実行されているエージェントの場合は `workflow`、会話をコンパクト化する要約リクエストの場合は `compaction`、セッションタイトル、分類器、および要約などのサイドリクエストの場合は `auxiliary`。すべてのリクエストで送信されます |

150| `x-claude-code-agent-type` | リクエストを発行したサブエージェントの種類:`Explore`、`Plan`、または `general-purpose` などの組み込みエージェント型名、ユーザー定義エージェントの場合は `custom`、[エージェントチーム](https://code.claude.com/docs/ja/agent-teams.md)メンバーがリードのプロセスで実行されている場合は `teammate`、または [フォーク](https://code.claude.com/docs/ja/sub-agents.md#fork-the-current-conversation)の場合は `fork`。サブエージェント自身のターンにのみ存在します。サブエージェントのコンパクト化またはサイドリクエストはエージェント ID を保持しますが、タイプは含みません。ユーザーが選択したエージェント名は送信されません |150| `x-claude-code-agent-type` | リクエストを発行したサブエージェントの種類:`Explore`、`Plan`、または `general-purpose` などの組み込みエージェント型名、ユーザー定義エージェントの場合は `custom`、[エージェントチーム](https://code.claude.com/docs/ja/agent-teams.md)メンバーがリードのプロセスで実行されている場合は `teammate`、または [フォーク](https://code.claude.com/docs/ja/sub-agents.md#fork-the-current-conversation)の場合は `fork`。サブエージェント自身のターンにのみ存在します。サブエージェントのコンパクト化またはサイドリクエストはエージェント ID を保持しますが、タイプは含みません。ユーザーが選択したエージェント名は送信されません |

151| `x-claude-code-compaction` | [コンテキスト圧縮](https://code.claude.com/docs/ja/prompt-caching.md#compacting-the-conversation)中に会話を要約するリクエストに存在します。値は何がトリガーしたかを示します。コンテキストウィンドウが容量に近づいた場合は `auto`、`/compact` の場合は `manual`、API がリクエストが長すぎると拒否した場合は `reactive`。[アイドル時の圧縮](https://code.claude.com/docs/ja/settings-reference.md#idlecompaction)の場合も値は `auto` です。他のすべてのリクエストでは存在しません |151| `x-claude-code-compaction` | [コンテキスト圧縮](https://code.claude.com/docs/ja/prompt-caching.md#compacting-the-conversation)中に会話を要約するリクエストに存在します。値は何がトリガーしたかを示します。コンテキストウィンドウが容量に近づいた場合は `auto`、`/compact` の場合は `manual`、API がリクエストが長すぎると拒否した場合は `reactive`。インタラクティブなターミナルセッションでの[アイドル時の圧縮](https://code.claude.com/docs/ja/settings-reference.md#idlecompaction)の場合も値は `auto` です。他のすべてのリクエストでは存在しません。これには、圧縮の前にバックグラウンドで要約を書き込むリクエストも含まれます |

152| `x-claude-code-context-compacted` | コンパクト化後の最初のメイン会話リクエストに 1 回存在し、`x-claude-code-compaction` と同じ値を持ちます。このリクエストの前の会話プレフィックスはもう使用されないため、それをキーとしたキャッシュは削除できます |152| `x-claude-code-context-compacted` | コンパクト化後の最初のメイン会話リクエストに 1 回存在し、`x-claude-code-compaction` と同じ値を持ちます。このリクエストの前の会話プレフィックスはもう使用されないため、それをキーとしたキャッシュは削除できます |

153| `x-claude-code-prev-tool-durations` | このリクエストが含む結果のツール呼び出しの測定実行時間。`<name>=<ms>;<name>=<ms>` として、例えば `Bash=742;Read=9`。同じ会話のツール呼び出しのバッチ後の次のリクエストで送信されます。メインセッションまたはサブエージェントから送信されます |153| `x-claude-code-prev-tool-durations` | このリクエストが含む結果のツール呼び出しの測定実行時間。`<name>=<ms>;<name>=<ms>` として、例えば `Bash=742;Read=9`。同じ会話のツール呼び出しのバッチ後の次のリクエストで送信されます。メインセッションまたはサブエージェントから送信されます |

154| `x-claude-code-prompt-id` | ユーザープロンプトがリクエストを提供するランダム UUID。1 つのプロンプトを提供するリクエストは値を共有します。これには、プロンプトが開始したサブエージェントのターンが含まれます。プロンプトに属性付けされていないリクエストはそれを省略します。セッションのリクエストをプロンプトでグループ化するために使用してください。Claude Code v2.1.283 以降が必要です |154| `x-claude-code-prompt-id` | ユーザープロンプトがリクエストを提供するランダム UUID。1 つのプロンプトを提供するリクエストは値を共有します。これには、プロンプトが開始したサブエージェントのターンが含まれます。プロンプトに属性付けされていないリクエストはそれを省略します。セッションのリクエストをプロンプトでグループ化するために使用してください。Claude Code v2.1.283 以降が必要です |


238* アップストリームが会話中のシステムメッセージの `cache_control` マーカーのみを拒否した場合、Claude Code はシステムメッセージを維持し、マーカーを移動して 1 回再試行します。その再試行と、Claude Code が終了するまでの以降のリクエストでは、マーカーは `messages` 内でシステムメッセージではない最後のエントリに付けられます238* アップストリームが会話中のシステムメッセージの `cache_control` マーカーのみを拒否した場合、Claude Code はシステムメッセージを維持し、マーカーを移動して 1 回再試行します。その再試行と、Claude Code が終了するまでの以降のリクエストでは、マーカーは `messages` 内でシステムメッセージではない最後のエントリに付けられます

239* アップストリームが[思考署名](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)を拒否する場合(`bound to a different conversation` という `400` を含む)、Claude Code はリクエストを以前の思考ブロックなしでリトライし、それらを後のすべてのリクエストから除外します。新しい応答には依然として思考が含まれます239* アップストリームが[思考署名](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)を拒否する場合(`bound to a different conversation` という `400` を含む)、Claude Code はリクエストを以前の思考ブロックなしでリトライし、それらを後のすべてのリクエストから除外します。新しい応答には依然として思考が含まれます

240* ゲートウェイまたはそのアップストリームが [advisor ツール](https://code.claude.com/docs/ja/advisor.md)エントリを `tools` で認識されないツールタイプとして拒否する場合、Claude Code はそのエントリとその `anthropic-beta` 値なしでリクエストを 1 回リトライします。その後のそのベース URL へのリクエストは Claude Code が終了するまで advisor を除外し、その時間は `/advisor` は開発者に利用不可です。Claude Code はこの拒否を `Input tag` の後にツールタイプを命名するメッセージを含む `400` または `422` レスポンスによって認識します。例えば `Input tag 'advisor_20260301'` です。v2.1.280 より前では、Claude Code はこの拒否をリトライしませんでした240* ゲートウェイまたはそのアップストリームが [advisor ツール](https://code.claude.com/docs/ja/advisor.md)エントリを `tools` で認識されないツールタイプとして拒否する場合、Claude Code はそのエントリとその `anthropic-beta` 値なしでリクエストを 1 回リトライします。その後のそのベース URL へのリクエストは Claude Code が終了するまで advisor を除外し、その時間は `/advisor` は開発者に利用不可です。Claude Code はこの拒否を `Input tag` の後にツールタイプを命名するメッセージを含む `400` または `422` レスポンスによって認識します。例えば `Input tag 'advisor_20260301'` です。v2.1.280 より前では、Claude Code はこの拒否をリトライしませんでした

241* アップストリームが `output_config.effort` を拒否する場合、Claude Code は努力なしでリクエストを再試行し、Claude Code が終了するまでそのモデルへの以降のリクエストから努力を除外します。Claude Code はこの拒否を、メッセージが `Extra inputs are not permitted` とともに `output_config.effort` を挙げている、またはモデルが努力パラメーターをサポートしていないと述べている `400` によって認識します241* アップストリームが `output_config.effort` またはその `anthropic-beta` 値を拒否する場合、Claude Code は再試行し、Claude Code が終了するまでそのモデルへのリクエストにはどちらも追加しません。ゲートウェイがアップストリームの `400` を変更せずに転送し、メッセージが次のいずれかに該当する場合、ゲートウェイ側の変更は不要です:

242 * `Extra inputs are not permitted` とともに `output_config.effort` を挙げている

243 * モデルが努力パラメーターをサポートしていないと述べている

244 * `Unexpected value(s)` で始まり、`anthropic-beta` ヘッダーについて `effort-2025-11-24` を挙げている。v2.1.310 以降が必要です。[`ANTHROPIC_BETAS`](https://code.claude.com/docs/ja/env-vars) にこの値を含めている開発者は引き続きそれを送信して `400` を受け取るため、そのエントリを削除してもらってください

242* アップストリームが `context_management` フィールドまたはその `anthropic-beta` 値を拒否する場合、ゲートウェイにはそれらを除いたリクエストがもう一度届きます。後のリクエストでゲートウェイが再びそれらを受け取り、アップストリームが再び拒否した場合も、同じ再試行が行われます。Claude Code はこの拒否をメッセージによって認識します。たとえば `context_management: Extra inputs are not permitted` を含むメッセージです。v2.1.304 より前では、Claude Code はこの拒否を再試行しませんでした245* アップストリームが `context_management` フィールドまたはその `anthropic-beta` 値を拒否する場合、ゲートウェイにはそれらを除いたリクエストがもう一度届きます。後のリクエストでゲートウェイが再びそれらを受け取り、アップストリームが再び拒否した場合も、同じ再試行が行われます。Claude Code はこの拒否をメッセージによって認識します。たとえば `context_management: Extra inputs are not permitted` を含むメッセージです。v2.1.304 より前では、Claude Code はこの拒否を再試行しませんでした

243* アップストリームが `strict` など `defer_loading` 以外のベータツールフィールドを拒否する場合、`400` は開発者に届きます。その前に、ゲートウェイには[ツール検索フィールドを除いた](#retry-without-tool-search)リクエストが再び届くことがあります。このようなフィールドの送信を停止するには、開発者に [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) を設定してもらってください246* アップストリームが `strict` など `defer_loading` 以外のベータツールフィールドを拒否する場合、`400` は開発者に届きます。その前に、ゲートウェイには[ツール検索フィールドを除いた](#retry-without-tool-search)リクエストが再び届くことがあります。このようなフィールドの送信を停止するには、開発者に [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) を設定してもらってください

244 247 

Details

470名前が届かない場合は、次のいずれかの原因を確認してください。470名前が届かない場合は、次のいずれかの原因を確認してください。

471 471 

472* **Desktop を実行しているコンピューターで設定した**: Desktop は、そこで設定した値を SSH セッションに渡しません472* **Desktop を実行しているコンピューターで設定した**: Desktop は、そこで設定した値を SSH セッションに渡しません

473* **ログインファイルでエクスポートした**: `/etc/profile` などのファイルを読み取るのはログインシェルのみです。そこで `export` した値は、ログインシェルから起動した Claude Code には届きます。Desktop はログインシェル経由で Claude Code を起動しないため、Desktop SSH セッションには届きません。473* **`/etc/profile` など、ログインシェルのみが読み取るファイルでエクスポートした**: ログインシェルから `claude` を実行した場合は名前が届きますが、Desktop SSH セッションでは届きません。Desktop はログインシェル経由で Claude Code を起動しません。代わりに、リモートマシン上の[管理設定ファイル](https://code.claude.com/docs/ja/desktop.md#managed-settings)の `env` で変数を設定してください。

474* **値の中にスペースが含まれている**: この場合、Claude Code はどのキーもイベントやデータポイントにコピーせず、エラーも報告しません。[値からスペースを取り除いてください](#multi-team-organization-support)。474* **値の中にスペースが含まれている**: この場合、Claude Code はどのキーもイベントやデータポイントにコピーせず、エラーも報告しません。[値からスペースを取り除いてください](#multi-team-organization-support)。

475* **他の何かがすでにこの変数を設定している**: デスクトップアプリが開始するセッションでは、起動環境ですでに設定されている変数が[設定ファイルより優先されます](https://code.claude.com/docs/ja/settings-reference.md#how-env-values-interact-with-your-shell)。[デバッグログ](https://code.claude.com/docs/ja/debug-your-config.md)には、無視された各変数の名前が記録されます。サードパーティの Desktop デプロイが、提供する環境で [OTLP エンドポイントを指定している](#how-managed-settings-lock-the-otlp-destination)場合、その環境には Desktop 独自の `OTEL_RESOURCE_ATTRIBUTES` が含まれます。475* **他の何かがすでにこの変数を設定している**: デスクトップアプリが開始するセッションでは、起動環境ですでに設定されている変数が[設定ファイルより優先されます](https://code.claude.com/docs/ja/settings-reference.md#how-env-values-interact-with-your-shell)。[デバッグログ](https://code.claude.com/docs/ja/debug-your-config.md)には、無視された各変数の名前が記録されます。サードパーティの Desktop デプロイが、提供する環境で [OTLP エンドポイントを指定している](#how-managed-settings-lock-the-otlp-destination)場合、その環境には Desktop 独自の `OTEL_RESOURCE_ATTRIBUTES` が含まれます。

476 476 


1403* `pre_tokens`: 圧縮前のおおよそのトークン数1403* `pre_tokens`: 圧縮前のおおよそのトークン数

1404* `post_tokens`: 圧縮後のおおよそのトークン数1404* `post_tokens`: 圧縮後のおおよそのトークン数

1405* `error`: 圧縮が失敗した場合のエラーメッセージ1405* `error`: 圧縮が失敗した場合のエラーメッセージ

1406* `precompute_reuse`: `trigger` が `"manual"` の場合、または `trigger` を `"auto"` として報告する[アイドル時の圧縮](https://code.claude.com/docs/ja/settings-reference.md#idlecompaction)の場合にのみ設定されます。自動圧縮では、コンテキストウィンドウが埋まる前にバックグラウンドで要約を準備できます。この属性は、圧縮がその準備済みの要約を再利用したかどうかを記録します。`"hit"` は再利用されたことを意味し、`"miss_custom_instructions"`、`"miss_hook"`、`"miss_not_ready"` は代わりに新しい要約が計算された理由を示します1406* `precompute_reuse`: `trigger` が `"manual"` の場合、またはインタラクティブなターミナルセッションでの[アイドル時の圧縮](https://code.claude.com/docs/ja/settings-reference.md#idlecompaction)で `trigger` が `"auto"` の場合にのみ設定されます。自動圧縮では、コンテキストウィンドウがいっぱいになる前にバックグラウンドで要約を準備できます。この属性は、圧縮がその準備済みの要約を再利用したかどうかを記録します。`"hit"` は再利用されたことを意味し、`"miss_custom_instructions"`、`"miss_hook"`、`"miss_not_ready"` は代わりに新しい要約が計算された理由を示します

1407 1407 

1408#### Subagent completed event1408#### Subagent completed event

1409 1409 

Details

248 248 

249**Web and mobile**249**Web and mobile**

250 250 

251[claude.ai/code](https://claude.ai/code) では、プロンプトボックスの横にあるモードドロップダウンを使用します。モバイルアプリでは、プロンプトボックスの **+** ボタンをタップし、次に **Permission** をタップします。クラウドセッションと Remote Control セッションでは、提供される権限モードが異なります。251[claude.ai/code](https://claude.ai/code) では、プロンプトボックスの下の行にあるモードドロップダウンを使用します。モバイルアプリでは、プロンプトボックスの **+** ボタンをタップし、次に **Permission** をタップします。クラウドセッションと Remote Control セッションでは、提供される権限モードが異なります。

252 252 

253* **[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)**:Accept edits、Plan、Auto。Accept edits は `default` モードに対応します。クラウドセッションはモードに関係なくファイル編集を事前承認するため、ドロップダウンは Manual の代わりに Accept edits を表示します。クラウドセッションは設定からの `defaultMode: "acceptEdits"` を引き続き尊重します。Auto モードは組織がそれを許可し、選択されたモデルがそれをサポートする場合にのみ表示されます。Bypass permissions は利用できません。253* **[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)**:Accept edits、Plan、Auto。Accept edits は `default` モードに対応します。クラウドセッションはモードに関係なくファイル編集を事前承認するため、ドロップダウンは Manual の代わりに Accept edits を表示します。クラウドセッションは設定からの `defaultMode: "acceptEdits"` を引き続き尊重します。Auto モードは組織がそれを許可し、選択されたモデルがそれをサポートする場合にのみ表示されます。Bypass permissions は利用できません。

254* **ローカルマシンの [Remote Control](https://code.claude.com/docs/ja/remote-control.md) セッション**:自分で開始したセッションの場合は Manual、Accept edits、Plan、Auto を使用でき、アプリから Bypass permissions を選択することはできません。Auto を使用するには、セッションが auto モードの[利用要件](#eliminate-prompts-with-auto-mode)を満たしている必要があります。コンピューター上で実行されるプロジェクトスレッドについては、[スレッドを自分のコンピューター上で実行する](https://code.claude.com/docs/ja/claude-projects.md#run-a-thread-on-your-own-computer)を参照してください。254* **ローカルマシンの [Remote Control](https://code.claude.com/docs/ja/remote-control.md) セッション**:自分で開始したセッションの場合は Manual、Accept edits、Plan、Auto を使用でき、アプリから Bypass permissions を選択することはできません。Auto を使用するには、セッションが auto モードの[利用要件](#eliminate-prompts-with-auto-mode)を満たしている必要があります。コンピューター上で実行されるプロジェクトスレッドについては、[スレッドを自分のコンピューター上で実行する](https://code.claude.com/docs/ja/claude-projects.md#run-a-thread-on-your-own-computer)を参照してください。

Details

584 584 

585モニターのコマンドには、起動する場所と参照できる内容に制限があります。585モニターのコマンドには、起動する場所と参照できる内容に制限があります。

586 586 

587* **対話セッションのみ**: プラグインのモニターは対話セッションで起動し、`-p` フラグを使用した非対話モードでは決して起動しません。また、API プロバイダーやテレメトリの設定によって [Monitor ツール](https://code.claude.com/docs/ja/tools-reference.md#monitor-tool)が使用できないセッションでも起動しません587* **対話セッションのみ**: プラグインのモニターは、`-p` フラグを使用した非対話モードでは起動しません

588* **最小バージョン**: Amazon Bedrock、Claude Platform on AWS、Google Cloud の Agent Platform、Microsoft Foundry のいずれかを使用している場合、または `DISABLE_TELEMETRY` か `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` が設定されている場合、モニターには Claude Code v2.1.310 以降が必要です。この要件は[機能フラグの取得](https://code.claude.com/docs/ja/env-vars.md#features-that-need-feature-flag-fetching)がオフの場合に適用されます

588* **ユーザー設定は使用不可**: `command` は[パス変数](#path-variables-and-persistent-data)と環境からの `${ENV_VAR}` を取得しますが、`${user_config.*}` は決して取得しません。これを参照するモニターは起動せず、モニタープロセスは `CLAUDE_PLUGIN_OPTION_<KEY>` も受け取りません589* **ユーザー設定は使用不可**: `command` は[パス変数](#path-variables-and-persistent-data)と環境からの `${ENV_VAR}` を取得しますが、`${user_config.*}` は決して取得しません。これを参照するモニターは起動せず、モニタープロセスは `CLAUDE_PLUGIN_OPTION_<KEY>` も受け取りません

589* **セッション途中での無効化**: セッションの途中でプラグインを無効にしても、Claude Code はすでに実行中のモニターを停止しません。モニターはセッションの終了時に停止します590* **セッション途中での無効化**: セッションの途中でプラグインを無効にしても、Claude Code はすでに実行中のモニターを停止しません。モニターはセッションの終了時に停止します

590 591 


647 648 

648データディレクトリパスでは、`<id>` はプラグイン識別子で、文字、数字、`_`、`-` 以外のすべての文字が `-` に置き換わるため、`my-plugin@my-marketplace` は `my-plugin-my-marketplace` になります。649データディレクトリパスでは、`<id>` はプラグイン識別子で、文字、数字、`_`、`-` 以外のすべての文字が `-` に置き換わるため、`my-plugin@my-marketplace` は `my-plugin-my-marketplace` になります。

649 650 

650Windows では、置換されたパスはシェルがバックスラッシュをエスケープとして読み込まないように前方スラッシュを使用します。651Windows では、置換されたパスのほとんどは `C:/Users/you/...` のように前方スラッシュを使用します。[exec 形式のフック](https://code.claude.com/docs/ja/hooks.md#exec-form-and-shell-form)と、PowerShell を通じて実行されるフック(Git Bash がインストールされていない場合の Windows のデフォルトシェル)では、ネイティブのバックスラッシュが維持されます。

651 652 

652### データディレクトリに依存関係をインストールする653### データディレクトリに依存関係をインストールする

653 654 


670}671}

671```672```

672 673 

673最初のセッションの後、`~/.claude/plugins/data/<id>/node_modules` が存在します。MCP サーバーは `NODE_PATH` を `${CLAUDE_PLUGIN_DATA}/node_modules` に設定できます。どのフィールドがどの変数を置換するかについては、[環境変数](https://code.claude.com/docs/ja/plugins/manifest-reference.md#environment-variables)を参照してください。674最初のセッションの後、`~/.claude/plugins/data/<id>/node_modules` が存在します。MCP サーバーは、その `env` で `NODE_PATH` を `${CLAUDE_PLUGIN_DATA}/node_modules` に設定できます。どのフィールドがどの変数を置換するかについては、[環境変数](https://code.claude.com/docs/ja/plugins/manifest-reference.md#environment-variables)を参照してください。

674 675 

675## 次のステップ676## 次のステップ

676 677 

Details

148 148 

1492 つの名前が異なり、誰かがマニフェスト名でインストールすると、Claude Code は `Plugin "<manifest-name>" not found in marketplace "<marketplace>"` を報告します。2 つの名前を同じに保ちます。Claude Code が 2 つの名前をどのように使用するかについての詳細については、[プラグイン読み込みリファレンス](https://code.claude.com/docs/ja/plugins/loading.md#find-where-a-plugin-came-from)を参照してください。1492 つの名前が異なり、誰かがマニフェスト名でインストールすると、Claude Code は `Plugin "<manifest-name>" not found in marketplace "<marketplace>"` を報告します。2 つの名前を同じに保ちます。Claude Code が 2 つの名前をどのように使用するかについての詳細については、[プラグイン読み込みリファレンス](https://code.claude.com/docs/ja/plugins/loading.md#find-where-a-plugin-came-from)を参照してください。

150 150 

151### 使用しないサブモジュールをクローンに含めない

152 

153誰かがマーケットプレイスを追加すると、Claude Code はリポジトリをクローンし、プラグインファイルを含む git サブモジュールのみを取得します。Claude Code v2.1.295 以降が必要です。

154 

155Claude Code がどのサブモジュールを取得するかは、各プラグインを配置する場所によって決まります:

156 

157* **サブディレクトリ内のプラグイン**:Claude Code は、プラグインのディレクトリ内にあるサブモジュールと、プラグインを含むサブモジュールを取得します。プラグインが必要とするサブモジュールはプラグインのディレクトリ内に置き、必要としないサブモジュールはその外に置いてください

158* **マーケットプレイスルートにあるプラグイン**:プラグインのファイルのいずれかがいずれかのサブモジュール内のパスを参照すると、Claude Code はリポジトリ内のすべてのサブモジュールを取得します。ビルドでのみ使用する大きなサブモジュールがリポジトリにある場合は、プラグインをサブディレクトリに移動してください

159 

160ルートにあるプラグインがサブモジュール内のファイルを実行する場合は、`${CLAUDE_PLUGIN_ROOT}/vendor/tool/run.sh` のように、プラグインのフックまたはサーバー設定にそのファイルのパスを明示的に記述してください。Claude Code はこれらのパスを読み取り、プラグインがサブモジュールを必要とするかどうかを判断します。スクリプトが実行中に組み立てるパスは認識できません。

161 

162完全なルールについては、[マーケットプレイスリポジトリ内の Git サブモジュール](https://code.claude.com/docs/ja/plugins/marketplace-reference.md#git-submodules-in-the-marketplace-repository)を参照してください。

163 

151## プラグインソースを選択する164## プラグインソースを選択する

152 165 

153`marketplace.json` の各プラグインエントリには、Claude Code がそのプラグインを取得する場所を指示する `source` があります。プラグインのファイルが保存されている場所によってソースを選択します。テーブルはマーケットプレイス所有者が最も使用するソースをリストアップします。166`marketplace.json` の各プラグインエントリには、Claude Code がそのプラグインを取得する場所を指示する `source` があります。プラグインのファイルが保存されている場所によってソースを選択します。テーブルはマーケットプレイス所有者が最も使用するソースをリストアップします。

Details

111各プロトコルがマシンで必要とするものをユーザーに伝えてください:111各プロトコルがマシンで必要とするものをユーザーに伝えてください:

112 112 

113* **SSH**:キーはパスフレーズプロンプトなしで機能する必要があります。例えば `ssh-agent` に読み込まれているため。ホストは既に `known_hosts` にある必要があります。113* **SSH**:キーはパスフレーズプロンプトなしで機能する必要があります。例えば `ssh-agent` に読み込まれているため。ホストは既に `known_hosts` にある必要があります。

114* **HTTPS**:Claude Code はユーザーの git 認証情報ヘルパーを有効にしたままにしますが、プロンプトを禁止します。ヘルパーが既に保存している認証情報は機能します。要求する必要があるものは失敗します。GitHub では、`gh auth login` の後に `gh auth setup-git` を実行すると、認証情報が保存されます。114* **HTTPS**:Claude Code はユーザーの git 認証情報ヘルパーを有効にしたままにしますが、プロンプトを禁止し、`GIT_ASKPASS` で設定されたものなどの askpass プログラムも実行しません。ヘルパーが既に保存している認証情報は機能します。要求する必要があるものは失敗します。GitHub では、`gh auth login` の後に `gh auth setup-git` を実行すると、認証情報が保存されます。

115 115 

116GitHub Enterprise Server ホストの場合、ユーザーはマシンからそのホストへの git アクセスが必要です。[GHES 上のプラグインマーケットプレイス](https://code.claude.com/docs/ja/github-enterprise-server.md#plugin-marketplaces-on-ghes)を参照して、各 Claude Code サーフェスが GHES ホストマーケットプレイスに到達するために必要なものを確認してください。116GitHub Enterprise Server ホストの場合、ユーザーはマシンからそのホストへの git アクセスが必要です。[GHES 上のプラグインマーケットプレイス](https://code.claude.com/docs/ja/github-enterprise-server.md#plugin-marketplaces-on-ghes)を参照して、各 Claude Code サーフェスが GHES ホストマーケットプレイスに到達するために必要なものを確認してください。

117 117 

Details

238 238 

239プライベートマーケットプレイスは、GitHub または他の git ホスト上の、クローンするために認証情報が必要なリポジトリ内のマーケットプレイスです。公開マーケットプレイスと同じ `/plugin marketplace add` または `claude plugin marketplace add` コマンドで追加します。Claude Code はマシンに既にある git 認証情報でそれをクローンし、プロンプトを表示しません。そのため、各接続方法には要件があります。239プライベートマーケットプレイスは、GitHub または他の git ホスト上の、クローンするために認証情報が必要なリポジトリ内のマーケットプレイスです。公開マーケットプレイスと同じ `/plugin marketplace add` または `claude plugin marketplace add` コマンドで追加します。Claude Code はマシンに既にある git 認証情報でそれをクローンし、プロンプトを表示しません。そのため、各接続方法には要件があります。

240 240 

241* **HTTPS**: git 認証情報ヘルパーが適用されるため、`gh auth login`、macOS Keychain、または `git-credential-store` で設定したアクセスが機能します。対話的なプロンプトは抑制されるため、認証したことのないホストはパスワードを求める代わりに失敗します。241* **HTTPS**: git 認証情報ヘルパーが適用されるため、`gh auth login`、macOS Keychain、または `git-credential-store` で設定したアクセスが機能します。Git のプロンプトと askpass プログラムは、`GIT_ASKPASS` で設定したものも含めて無効になっているため、git が認証情報を求める必要がある場合、クローンはプロンプトを表示する代わりに失敗します。

242* **SSH**: ホストは既に `known_hosts` ファイルに含まれている必要があり、キーはパスフレーズプロンプトなしで機能する必要があります。ホストフィンガープリントとパスフレーズプロンプトも抑制されるため。242* **SSH**: ホストは既に `known_hosts` ファイルに含まれている必要があり、キーはパスフレーズプロンプトなしで機能する必要があります。git の設定で `GIT_SSH_COMMAND`、`GIT_SSH`、または git config の `core.sshCommand` に SSH プログラムが指定されている場合、Claude Code はそのプログラムを実行します。

243* **GitHub `owner/repo` 短縮形**: Claude Code は SSH キーが `github.com` に認証するかどうかを確認し、認証する場合は SSH でクローンし、認証しない場合は HTTPS でクローンします。[`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](https://code.claude.com/docs/ja/env-vars#variables)を設定して、そのチェックをスキップし、常に HTTPS でクローンします。243* **GitHub `owner/repo` 短縮形**: Claude Code は SSH キーが `github.com` に認証するかどうかを確認し、認証する場合は SSH でクローンし、認証しない場合は HTTPS でクローンします。[`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](https://code.claude.com/docs/ja/env-vars#variables)を設定して、そのチェックをスキップし、常に HTTPS でクローンします。

244 244 

245同じ認証情報は、`/plugin install`、`/plugin marketplace update`、および `claude plugin update` を実行するときに適用されます。245同じ認証情報は、`/plugin install`、`/plugin marketplace update`、および `claude plugin update` を実行するときに適用されます。

Details

41* **設定が宣言しているが `known_marketplaces.json` に欠けているマーケットプレイス**: Claude Code はそれをクローンし、プラグインを再度読み込み、キャッシュされていない有効なプラグインをダウンロードします41* **設定が宣言しているが `known_marketplaces.json` に欠けているマーケットプレイス**: Claude Code はそれをクローンし、プラグインを再度読み込み、キャッシュされていない有効なプラグインをダウンロードします

42* **宣言されたマーケットプレイスのソースが設定で変更された場合**: Claude Code は新しいソースから再度フェッチし、`Plugins changed. Run /reload-plugins to activate.` を表示します42* **宣言されたマーケットプレイスのソースが設定で変更された場合**: Claude Code は新しいソースから再度フェッチし、`Plugins changed. Run /reload-plugins to activate.` を表示します

43 43 

44どちらのパスもフェッチしておらず、使用可能なキャッシュディレクトリがない有効なプラグインは、`/plugin` **Errors** タブに `Plugin "<name>" not cached at <path>` を表示し、`claude plugin list` は同じ行に `— run /plugin to refresh` を追加します。修正については、[`Plugin "<name>" not cached at <path>`](https://code.claude.com/docs/ja/plugins/troubleshooting#plugin-not-cached-at)を参照してください。44どちらのパスもフェッチしておらず、使用可能なキャッシュディレクトリがない有効なプラグインは、`/plugin` **Errors** タブに `Plugin "<name>" not cached at <path>` を表示します。修正については、[`Plugin "<name>" not cached at <path>`](https://code.claude.com/docs/ja/plugins/troubleshooting#plugin-not-cached-at)を参照してください。

45 45 

46## プラグインがどこから来たかを見つける46## プラグインがどこから来たかを見つける

47 47 

Details

155| `workflows` | Path, or array of paths | [ワークフロー](https://code.claude.com/docs/ja/workflows.md#distribute-a-workflow-in-a-plugin) `.js` ファイルまたはディレクトリ。デフォルトの `workflows/` スキャンを置き換えます |155| `workflows` | Path, or array of paths | [ワークフロー](https://code.claude.com/docs/ja/workflows.md#distribute-a-workflow-in-a-plugin) `.js` ファイルまたはディレクトリ。デフォルトの `workflows/` スキャンを置き換えます |

156| `experimental` | Object | `themes`、`monitors`、`evals` のコンテナ。マニフェスト形状はまだ変わる可能性があります |156| `experimental` | Object | `themes`、`monitors`、`evals` のコンテナ。マニフェスト形状はまだ変わる可能性があります |

157| `experimental.themes` | Path, or array of paths | テーマファイルまたはディレクトリ。デフォルトの `themes/` スキャンを置き換えます。トップレベルの `themes` キーはまだ読み込まれ、`claude plugin validate` 警告が表示されます |157| `experimental.themes` | Path, or array of paths | テーマファイルまたはディレクトリ。デフォルトの `themes/` スキャンを置き換えます。トップレベルの `themes` キーはまだ読み込まれ、`claude plugin validate` 警告が表示されます |

158| [`experimental.monitors`](#monitors) | Path, or inline array | monitors 配列を保持する `.json` ファイル、または配列自体。デフォルトは `monitors/monitors.json`。トップレベルの `monitors` キーはまだ読み込まれ、`claude plugin validate` 警告が表示されます。モニターはインタラクティブセッションでのみ実行され、Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry では実行されません |158| [`experimental.monitors`](#monitors) | Path, or inline array | monitors 配列を保持する `.json` ファイル、または配列自体。デフォルトは `monitors/monitors.json`。トップレベルの `monitors` キーはまだ読み込まれ、`claude plugin validate` 警告が表示されます。モニターは [`-p` フラグでは起動しません](https://code.claude.com/docs/ja/plugins/components#monitors) |

159| `experimental.evals` | Path, or array of paths | デフォルトが `evals/` でない場合、プラグインの[eval ケース](https://code.claude.com/docs/ja/plugin-evals.md#use-a-different-eval-directory)を保持するディレクトリ。`claude plugin eval --eval-dir` はそれをオーバーライドします |159| `experimental.evals` | Path, or array of paths | デフォルトが `evals/` でない場合、プラグインの[eval ケース](https://code.claude.com/docs/ja/plugin-evals.md#use-a-different-eval-directory)を保持するディレクトリ。`claude plugin eval --eval-dir` はそれをオーバーライドします |

160 160 

161型列では、パスはプラグインルートに相対する文字列です(例:`"./custom/commands"`)。161型列では、パスはプラグインルートに相対する文字列です(例:`"./custom/commands"`)。


606}606}

607```607```

608 608 

609Windows では、置き換えられたパスはフォワードスラッシュを使用するため、シェルはバックスラッシュをエスケープとして読み込みません。609Windows では、置き換えられたパスのほとんどは `C:/Users/you/...` のようにフォワードスラッシュを使用します。[exec 形式のフック](https://code.claude.com/docs/ja/hooks.md#exec-form-and-shell-form)と、PowerShell を通じて実行されるフックでは、ネイティブのバックスラッシュがそのまま保持されます。PowerShell は、Git Bash がインストールされていない場合の Windows のデフォルトシェルです。

610 610 

611## 標準レイアウト611## 標準レイアウト

612 612 

Details

172* **`url`**: Claude Code は `marketplace.json` のみを取得するため、相対パスは解決できません。各プラグインに `github` や `git-subdir` などのオブジェクトソースを指定してください。172* **`url`**: Claude Code は `marketplace.json` のみを取得するため、相対パスは解決できません。各プラグインに `github` や `git-subdir` などのオブジェクトソースを指定してください。

173* **`settings`**: 相対パスは完全に拒否されます。173* **`settings`**: 相対パスは完全に拒否されます。

174 174 

175#### マーケットプレイスリポジトリ内の Git サブモジュール

176 

177Claude Code はマーケットプレイスリポジトリをクローンするとき、プラグインファイルを保持する git サブモジュールのみを取得します。Claude Code v2.1.295 以降が必要です。

178 

179それより前のバージョンでは、ネストされたものを含むすべてのサブモジュールを取得します。リポジトリに大きなサブモジュールがある場合、Claude Code はその取得中に[クローンタイムアウト](https://code.claude.com/docs/ja/plugins/troubleshooting.md#git-clone-timed-out-after-120s)を超過することがあります。

180 

181`./plugins/formatter` のようなサブディレクトリ内のプラグインの場合、Claude Code は次の場合にサブモジュールを取得します。

182 

183* **プラグインがサブモジュール内にある**: サブモジュールがプラグインのディレクトリ、またはその上位のディレクトリである

184* **サブモジュールがプラグイン内にある**: サブモジュールがプラグインのディレクトリ配下のいずれかの場所にある

185* **シンボリックリンクがサブモジュール内を指している**: リポジトリにコミットされたリンクのターゲットがサブモジュール内にある

186 

187`"source": "./"` でマーケットプレイスルートにあるプラグインは、リポジトリ内のすべてのサブモジュールを取得するか、まったく取得しないかのどちらかです。以下のいずれかがいずれかのサブモジュール内を指している場合、Claude Code はすべてのサブモジュールを取得します。

188 

189* **コンポーネントディレクトリ**: ルートにあるプラグインコンポーネントを保持するディレクトリ(`skills/`、`hooks/`、`bin/` など)

190* **プラグインの設定内のパス**: プラグインのマーケットプレイスエントリ、その `plugin.json`、または `.mcp.json` や `hooks/hooks.json` などの設定ファイル内のパス

191* **シンボリックリンク**: リポジトリにコミットされたリンク

192* **プラグインのファイル内のテキスト**: 設定ファイルまたはコンポーネントディレクトリ配下のファイルに記述された、`vendor/tool` のようなサブモジュールのパス

193 

194いずれも該当しない場合、Claude Code はそのプラグインのサブモジュールを取得しません。プロジェクトでありプラグインでもあるリポジトリには、プロジェクトのビルドでのみ使用されるサブモジュールがあることが多く、このルールによってそれらは除外されます。

195 

196また、どのサブモジュールがプラグインファイルを保持しているかを判断できない場合にも、Claude Code はすべてのサブモジュールを取得します。例えば次のような場合です。

197 

198* **ルートにある `SKILL.md`**: この場合、リポジトリ全体が 1 つのスキルのディレクトリになります

199* **Claude Code が読み取れないファイル**: マーケットプレイスファイル、プラグインの設定ファイルのいずれか、または `.gitmodules`

200 

201`--sparse` を指定してマーケットプレイスを追加した場合、またはそのソースで `sparsePaths` が設定されている場合、Claude Code はそこで指定されたディレクトリのみをチェックアウトし、サブモジュールは取得しません。それより前のバージョンでも同様です。

202 

203プラグインが使用しないサブモジュールをクローンから除外するには、[未使用のサブモジュールをクローンから除外する](https://code.claude.com/docs/ja/plugins/create-marketplace.md#keep-unused-submodules-out-of-the-clone)を参照してください。

204 

175#### pluginRoot の下の裸の名前205#### pluginRoot の下の裸の名前

176 206 

177裸の名前は `/` を含まない単一のディレクトリ名です。例えば `"formatter"` です。`./` パスの代わりに裸の名前を記述するには、[`metadata.pluginRoot`](#top-level-fields)をそれらが解決するディレクトリに設定します。`"pluginRoot": "./plugins"` の場合、`"source": "formatter"` は `./plugins/formatter` に解決されます。Claude Code v2.1.239 以降が必要です。207裸の名前は `/` を含まない単一のディレクトリ名です。例えば `"formatter"` です。`./` パスの代わりに裸の名前を記述するには、[`metadata.pluginRoot`](#top-level-fields)をそれらが解決するディレクトリに設定します。`"pluginRoot": "./plugins"` の場合、`"source": "formatter"` は `./plugins/formatter` に解決されます。Claude Code v2.1.239 以降が必要です。

Details

313 313 

314#### 拒否された呼び出しが返すもの314#### 拒否された呼び出しが返すもの

315 315 

316結果内の `<reason>` は `the session was stopped and nobody has sent input since` を表します。316結果内の `<reason>` は、呼び出しが拒否された理由を表します。中断後の場合、それは `the session was stopped and nobody has sent input since` です。その他の理由については、[`claude -p` 実行と Agent SDK セッションで拒否される呼び出し](#calls-refused-in-non-interactive-runs)を参照してください。

317 317 

318| 拒否される呼び出しの例 | ユーザーの次の入力までの結果 |318| 拒否される呼び出しの例 | 結果 |

319| :- | :- |319| :- | :- |

320| `$.prompt.submit` | `{ drop: '<reason>' }` で解決し、プロンプトをキューに入れません |320| `$.prompt.submit` | `{ drop: '<reason>' }` で解決し、プロンプトをキューに入れません |

321| `$.command.run` | メッセージが `<reason>` で終わるエラーで reject します |321| `$.command.run` | メッセージが `<reason>` で終わるエラーで reject します |


324| [エージェントチーム](https://code.claude.com/docs/ja/agent-teams.md)のチームメイトへの `$.session.send` | `{ isDelivered: false, reason: 'Teammate "<name>" was not messaged: <reason>.' }` で解決します。`<name>` はチームメイトの名前です |324| [エージェントチーム](https://code.claude.com/docs/ja/agent-teams.md)のチームメイトへの `$.session.send` | `{ isDelivered: false, reason: 'Teammate "<name>" was not messaged: <reason>.' }` で解決します。`<name>` はチームメイトの名前です |

325| `run_in_background: true` を指定した Bash、Monitor、または CronCreate の [`$.tool.call`](https://code.claude.com/docs/ja/plugins/mods/reference#mods-api-methods) | `{ deny: '<tool> was not run: it starts background work, a schedule or a goal, and <reason>' }` で解決します。`<tool>` はツールの名前です |325| `run_in_background: true` を指定した Bash、Monitor、または CronCreate の [`$.tool.call`](https://code.claude.com/docs/ja/plugins/mods/reference#mods-api-methods) | `{ deny: '<tool> was not run: it starts background work, a schedule or a goal, and <reason>' }` で解決します。`<tool>` はツールの名前です |

326 326 

327これらの `$.session.send` と `$.tool.call` の結果に加えて、ユーザーには [`Stopped:` トースト](https://code.claude.com/docs/ja/plugins/mods/troubleshoot#stopped-type-a-message-to-continue)が表示されることがあります。327対話型セッションで中断後にこれらの `$.session.send` または `$.tool.call` の呼び出しが拒否された場合、ユーザーには [`Stopped:` トースト](https://code.claude.com/docs/ja/plugins/mods/troubleshoot#stopped-type-a-message-to-continue)が表示されることがあります。

328 328 

329#### 中断前に mod が開始した作業329#### 中断前に mod が開始した作業

330 330 


341 341 

342ユーザーの次の入力より前にスケジュールされたジョブが実行時刻になるか、モニターがイベントを発生させた場合、ユーザーには [`Stopped:` トースト](https://code.claude.com/docs/ja/plugins/mods/troubleshoot#stopped-type-a-message-to-continue)が表示されることがあります。342ユーザーの次の入力より前にスケジュールされたジョブが実行時刻になるか、モニターがイベントを発生させた場合、ユーザーには [`Stopped:` トースト](https://code.claude.com/docs/ja/plugins/mods/troubleshoot#stopped-type-a-message-to-continue)が表示されることがあります。

343 343 

344### `claude -p` 実行と Agent SDK セッションで拒否される呼び出し

345 

346`claude -p` 実行または [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) セッションでは、`{ drop: 'the run reached its --max-turns limit' }` のような結果は、実行が mod の呼び出しを拒否したことを意味します。

347 

348拒否された `$.prompt.submit` は `{ drop: '<reason>' }` で解決します。`$.command.run` や `$.agent.spawn` など、その他の拒否された呼び出しは、[拒否された呼び出しが返すもの](#what-refused-calls-return)に示す結果を返し、`<reason>` の部分に理由が入ります。以下で該当する `<reason>` を見つけ、対処方法を確認してください。

349 

350* **`the run reached its --max-turns limit`**: mod のプロンプトによるターンと、mod が生成したサブエージェントのターンは、[`--max-turns`](https://code.claude.com/docs/ja/cli-reference#cli-flags) または Agent SDK の[ターン制限](https://code.claude.com/docs/ja/agent-sdk/configuration.md#limit-turns-and-spend)にカウントされます。より多くのターンが必要な場合は、より高い制限で実行を開始してください。それができない場合は、拒否された呼び出しを行わないよう mod を変更してください。実行がユーザーまたは SDK アプリケーションから別のプロンプトを受け取ると、ターン数はリセットされ、実行は再び呼び出しを受け付けます。

351* **`the run is past its --max-budget-usd limit`**: より高い `--max-budget-usd` で実行を開始するか、Agent SDK の[支出制限](https://code.claude.com/docs/ja/agent-sdk/configuration.md#limit-turns-and-spend)を引き上げてください。それができない場合は、拒否された呼び出しを行わないよう mod を変更してください。この制限は、実行のこれまでの合計コストに適用されます。実行が別のプロンプトを受け取っても合計は加算され続けるため、再試行しても同じ理由が返ります。

352* **`the host has ended its input`**: たとえば、SDK アプリケーションが[ストリーミング入力](https://code.claude.com/docs/ja/agent-sdk/streaming-vs-single-mode.md)を終了した場合や、[`--input-format stream-json`](https://code.claude.com/docs/ja/cli-reference#cli-flags) で開始した実行で stdin が閉じた場合です。実行は終了しつつあり、それ以上の入力を受け付けないため、再試行しても同じ理由が返ります。拒否された呼び出しを行わないよう mod を変更してください。自分で実行を開始する場合は、次回から mod が行う呼び出しがなくなるまでその入力を開いたままにしてください。

353* **`the session was stopped and nobody has sent input since`**: 実行が[中断](#calls-and-background-work-after-the-user-interrupts-a-turn)されました(たとえば Agent SDK の [`interrupt()`](https://code.claude.com/docs/ja/agent-sdk/typescript#query-object) によって)。ユーザーまたは SDK アプリケーションからの次のメッセージの後に再度呼び出しを行うには、[拒否またはドロップされた呼び出しを再試行する](#retry-a-refused-or-dropped-call)の手順に従ってください。

354 

355### mod を使用した `claude -p` 実行が終了しない

356 

357mod がターンの終了ごとにプロンプトを送信すると、各プロンプトが別のターンを開始します。[`--max-turns`](https://code.claude.com/docs/ja/cli-reference#cli-flags) または `--max-budget-usd` がない場合、その mod を読み込む `claude -p` 実行は、自分で停止するまで続きます。

358 

359実行が自動的に終了するようにするには、シェルでコマンドにいずれかのフラグを追加します。他のユーザーが実行を開始する場合は、作業が完了したらプロンプトの送信を停止するよう mod を変更してください。次のコマンドは `--max-turns` を追加します。

360 

361```bash theme={null}

362claude -p "find the TODOs" --max-turns 5

363```

364 

365実行がその制限に達すると、mod の次のプロンプトはターンを開始せずに[拒否](#calls-refused-in-non-interactive-runs)され、実行は終了します。

366 

367それでも実行が制限を超える場合は、シェルで `claude --version` を実行し、バージョンが v2.1.304 より前であれば [Claude Code を更新](https://code.claude.com/docs/ja/setup.md#update-claude-code)してください。mod のプロンプトは v2.1.299 以降、制限に達すると拒否されます。mod がサブエージェントを生成する場合、それらのターンは v2.1.304 以降 `--max-turns` にカウントされます。

368 

344## セッション間でメッセージを送受信する369## セッション間でメッセージを送受信する

345 370 

346mod は、自分の別のセッション、このセッションのサブエージェントの 1 つ、またはその[エージェントチーム](https://code.claude.com/docs/ja/agent-teams.md)のチームメイトにプレーンテキストメッセージを送信できます。また、到着して離れるメッセージを観察することもできます。371mod は、自分の別のセッション、このセッションのサブエージェントの 1 つ、またはその[エージェントチーム](https://code.claude.com/docs/ja/agent-teams.md)のチームメイトにプレーンテキストメッセージを送信できます。また、到着して離れるメッセージを観察することもできます。


390| `$.http` | `http` または `https` 上の `fetch(url, init)`。本文が読み込まれたら `{ status, ok, headers, text }` に解決。 |415| `$.http` | `http` または `https` 上の `fetch(url, init)`。本文が読み込まれたら `{ status, ok, headers, text }` に解決。 |

391| `$.store` | プラグイン独自の JSON キー値ストア、セッション間で保持 |416| `$.store` | プラグイン独自の JSON キー値ストア、セッション間で保持 |

392| `$.env` | 環境変数を `get` および `set`。名前をリテラル文字列として記述。 |417| `$.env` | 環境変数を `get` および `set`。名前をリテラル文字列として記述。 |

393| `$.settings` | 設定ファイルと管理ポリシーが保持するものを `read` |418| `$.settings` | `read()` はすべての設定を 1 つのオブジェクトにマージしたものに解決。`{ source }` または `{ key }` を指定すると、代わりに[1 つのソースの設定または 1 つのキーの値](#read-one-source-or-one-key)に解決。 |

394| `$.session` | `messages()` はトランスクリプトを `{ role, text, toolUses }` のリストとして返す。また、作業ディレクトリ、モデルなど。[`usage()`](https://code.claude.com/docs/ja/plugins/mods/reference#mods-api-methods) はコンテキストウィンドウの使用とプラン制限を返す。 |419| `$.session` | `messages()` はトランスクリプトを `{ role, text, toolUses }` のリストとして返す。また、作業ディレクトリ、モデルなど。[`usage()`](https://code.claude.com/docs/ja/plugins/mods/reference#mods-api-methods) はコンテキストウィンドウの使用とプラン制限を返す。 |

395| `$.mcp` | 接続された MCP サーバーのツールを `call` |420| `$.mcp` | 接続された MCP サーバーのツールを `call` |

396 421 


408* **`$.process.spawn started, and a plugin withheld its result:`**:拒否した mod がコマンドの出力を最後まで読み取っていなかった。コマンドがまだ実行中の場合、Claude Code はコマンドを停止する。433* **`$.process.spawn started, and a plugin withheld its result:`**:拒否した mod がコマンドの出力を最後まで読み取っていなかった。コマンドがまだ実行中の場合、Claude Code はコマンドを停止する。

409* **`$.process.spawn ran, and a plugin withheld its result:`**:拒否した mod がコマンドの出力を最後まで読み取っていたため、コマンドはすでに終了していた434* **`$.process.spawn ran, and a plugin withheld its result:`**:拒否した mod がコマンドの出力を最後まで読み取っていたため、コマンドはすでに終了していた

410 435 

436### すべての設定、1 つのソース、または 1 つのキーを読み取る

437 

438`$.settings.read()` は、使用中のすべてのソースの設定を[優先順位](https://code.claude.com/docs/ja/settings.md#settings-precedence)に従ってマージした 1 つのオブジェクトに解決されます。代わりに 1 つのソースを読み取るには `{ source }` を、1 つのキーを読み取るには `{ key }` を渡します。両方を渡すこともできます。

439 

440| 呼び出し | 解決される値 |

441| :- | :- |

442| `$.settings.read()` | マージされた設定を 1 つのオブジェクトとして返す。そのトップレベルのキーは、`permissions` や `hooks` など、`settings.json` ファイルのキーと同じ。 |

443| `$.settings.read({ source: 'policy' })` | その 1 つのソースの設定を 1 つのオブジェクトとして返す。そのソースに設定がない場合は `{}` |

444| `$.settings.read({ key: 'spinnerTipsEnabled' })` | マージされた設定におけるそのキーの値。キーが設定されていない場合は `undefined` |

445| `$.settings.read({ key: 'spinnerTipsEnabled', source: 'user' })` | その 1 つのソースにおけるそのキーの値。そのソースで設定されていない場合は `undefined` |

446 

447`source` には、読み取る 1 つの設定ソースの名前を渡します。

448 

449* **`user`**:`~/.claude/settings.json`

450* **`project`**:`.claude/settings.json`

451* **`local`**:`.claude/settings.local.json`

452* **`flag`**:`--settings` で渡したもの、および SDK のインライン設定

453* **`policy`**:[管理設定](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)

454 

455`key` には、1 つのトップレベルキーの正確な名前を渡します。ネストされたオブジェクトへのドット区切りのパスは指定できません。`key` 引数には Claude Code v2.1.304 以降が必要です。

456 

411## 次のステップ457## 次のステップ

412 458 

413* [イベントに反応する](https://code.claude.com/docs/ja/plugins/mods/events.md):ツール呼び出し、プロンプト、ターンをフック459* [イベントに反応する](https://code.claude.com/docs/ja/plugins/mods/events.md):ツール呼び出し、プロンプト、ターンをフック

Details

48 48 

49要求したものを使用します。例のプロンプトの場合、現在のブランチ名がプロンプトボックスの上に表示されます。mod が期待したことをしない場合は、Claude に何を変更するかを伝えてください。mod は、そのファイルを変更するターンの終了時に再ロードされるため、Claude が終了するとすぐに変更を試すことができます。49要求したものを使用します。例のプロンプトの場合、現在のブランチ名がプロンプトボックスの上に表示されます。mod が期待したことをしない場合は、Claude に何を変更するかを伝えてください。mod は、そのファイルを変更するターンの終了時に再ロードされるため、Claude が終了するとすぐに変更を試すことができます。

50 50 

51mod の名前で始まるトランスクリプトの行に[変更がロードされなかった](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#this-mods-change-didnt-load)と表示された場合は、Claude に修正を依頼する際に、その行を次のメッセージに貼り付けてください。貼り付けない限り、Claude はその行を確認できません。

52 

51### 他のセッションで mod を使用する53### 他のセッションで mod を使用する

52 54 

53Claude が書いた mod は、それを作成したセッションでのみロードされます。Claude Code は、そのセッションの mods フォルダを [`cleanupPeriodDays`](https://code.claude.com/docs/ja/settings-reference#cleanupperioddays) より古くなると削除します。mod を保持するには、mods フォルダからそのディレクトリを `~/mods/git-branch` などの自分の場所にコピーしてください。次に、ロード方法を選択します。55Claude が書いた mod は、それを作成したセッションでのみロードされます。Claude Code は、そのセッションの mods フォルダを [`cleanupPeriodDays`](https://code.claude.com/docs/ja/settings-reference#cleanupperioddays) より古くなると削除します。mod を保持するには、mods フォルダからそのディレクトリを `~/mods/git-branch` などの自分の場所にコピーしてください。次に、ロード方法を選択します。

Details

93 93 

94## Claude の動作をフックする94## Claude の動作をフックする

95 95 

96これらのイベントを処理すると、ツール呼び出し、プロンプト、またはターンが発生した時点でそれを確認したり変更したりできます。すべてのイベントとフックが返せる値については、[イベントリファレンス](https://code.claude.com/docs/ja/plugins/mods/reference.md#events)を参照してください。96これらのイベントを処理すると、ツール呼び出し、プロンプト、ターン、または設定の読み取りが発生した時点でそれを確認したり変更したりできます。すべてのイベントとフックが返せる値については、[イベントリファレンス](https://code.claude.com/docs/ja/plugins/mods/reference.md#events)を参照してください。

97 97 

98### ツール呼び出しをガードまたは変更する98### ツール呼び出しをガードまたは変更する

99 99 


115 115 

116Claude が `git push --force` を試みると、フックが `next` を呼び出さないため、コマンドは実行されず、権限プロンプトも表示されません。Claude は `deny` のテキストをツールの結果として読むため、Claude が行動に移せる指示として書いてください。その他の Bash コマンドはすべて、mod がない場合と同じように実行されます。116Claude が `git push --force` を試みると、フックが `next` を呼び出さないため、コマンドは実行されず、権限プロンプトも表示されません。Claude は `deny` のテキストをツールの結果として読むため、Claude が行動に移せる指示として書いてください。その他の Bash コマンドはすべて、mod がない場合と同じように実行されます。

117 117 

118このフックが例外をスローするかタイムアウトした場合、Claude Code はフックをスキップし、コマンドは mod がない場合と同じように処理されます。代わりにコマンドを拒否するには、フックに [`.catch` ハンドラーを追加](#handle-a-hook-that-fails)してください。

119 

118ツールの実行後に処理を行うには、`await next(e)` を実行してから処理を行い、`next` が返したものを返します。このフックは、Claude が変更した各 `.mdx` ファイルを [`$.ui.log`](https://code.claude.com/docs/ja/plugins/mods/api#show-something-without-starting-a-turn) で記録します。これはトランスクリプトに薄い色の行を追加するもので、Claude はその行を読みません:120ツールの実行後に処理を行うには、`await next(e)` を実行してから処理を行い、`next` が返したものを返します。このフックは、Claude が変更した各 `.mdx` ファイルを [`$.ui.log`](https://code.claude.com/docs/ja/plugins/mods/api#show-something-without-starting-a-turn) で記録します。これはトランスクリプトに薄い色の行を追加するもので、Claude はその行を読みません:

119 121 

120```javascript theme={null}122```javascript theme={null}


177* **ユーザーが回答を入力する**:`$.ui.ask` は入力されたテキストに解決されます。フックはそれを `Run it` と比較するため、それ以外のテキストではコマンドが拒否されます。179* **ユーザーが回答を入力する**:`$.ui.ask` は入力されたテキストに解決されます。フックはそれを `Run it` と比較するため、それ以外のテキストではコマンドが拒否されます。

178* **誰も回答しない**:ユーザーが質問を閉じるか **Chat about this** を選んだ場合、および `claude -p` の実行では `$.ui.ask` が reject されるため、`catch` ブロックによって回答は `Refuse` のままになります180* **誰も回答しない**:ユーザーが質問を閉じるか **Chat about this** を選んだ場合、および `claude -p` の実行では `$.ui.ask` が reject されるため、`catch` ブロックによって回答は `Refuse` のままになります

179 181 

180待機は `$.ui.ask` などの mods API 呼び出しの中で行ってください。その時間はフックの[時間制限](https://code.claude.com/docs/ja/plugins/mods/reference.md#limits)に含まれないためです。自分で作成した promise を待つ時間は含まれます。Claude Code はタイムアウトしたフックをスキップするため、保留していたコマンドが実行されてしまいます。182待機は `$.ui.ask` などの mods API 呼び出しの中で行ってください。その時間はフックの[時間制限](https://code.claude.com/docs/ja/plugins/mods/reference.md#limits)に含まれないためです。自分で作成した promise を待つ時間は含まれます。

183 

184Claude Code はタイムアウトしたフックをスキップするため、保留していたコマンドが実行されてしまいます。代わりにコマンドを拒否するには、`on` が返す登録に [`.catch` ハンドラー](#handle-a-hook-that-fails)をチェーンしてください。このハンドラーは、フック内部の `catch` ブロックとは別のものです。

181 185 

182#### ユーザーに確認される前にツール呼び出しを承認または拒否する186#### ユーザーに確認される前にツール呼び出しを承認または拒否する

183 187 


207 211 

208* **`main` の場合**:ルールが `git push` を許可している場合でも、フックは `deny` を返します212* **`main` の場合**:ルールが `git push` を許可している場合でも、フックは `deny` を返します

209* **別のブランチの場合、および他のコマンドの場合**:呼び出しは mod がない場合と同じ決定を受けます213* **別のブランチの場合、および他のコマンドの場合**:呼び出しは mod がない場合と同じ決定を受けます

214* **フックが例外をスローするかタイムアウトした場合**:この場合も、呼び出しは mod がない場合と同じ決定を受けます。代わりに呼び出しを拒否するには、`{ decision: 'deny', reason: 'the reason' }` を返す [`.catch` ハンドラーを追加](#handle-a-hook-that-fails)してください。

210 215 

211フックはコマンドのテキストと照合するため、Claude へのリマインダーとして扱ってください。すべてのユーザーに対して `main` へのプッシュをブロックするには、Git ホストでブランチを保護してください。216フックはコマンドのテキストと照合するため、Claude へのリマインダーとして扱ってください。すべてのユーザーに対して `main` へのプッシュをブロックするには、Git ホストでブランチを保護してください。

212 217 


269 274 

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

271 276 

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

278 

279* **フックの `next(e)` 呼び出しでプロンプトを通過させた後に `drop` を返した場合**:ターンはそのまま実行され、フックは `a drop after its next() was answered` を含むメッセージとともに[失敗](#handle-a-hook-that-fails)します

280* **フックが例外をスローするかタイムアウトした場合**:Claude Code はフックをスキップしてプロンプトを送信します。フックが止めるはずだったプロンプトが失敗によって送信されないよう、[`.catch` ハンドラーを追加](#handle-a-hook-that-fails)してください。

273 281 

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

275 283 


305 313 

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

307 315 

316### 設定の読み取りを変更または拒否する

317 

318`settings.read` フックは、mod による読み取りと Claude Code 自身による読み取りで実行されます:

319 

320* **mod による読み取り**:mod が [`$.settings.read`](https://code.claude.com/docs/ja/plugins/mods/api#read-one-source-or-one-key) を呼び出します。

321* **Claude Code 自身による読み取り**:Claude Code がセッションのマージされた設定を構築します。この読み取りは、設定または読み込まれたプラグインが変わるたびに繰り返されます。

322 

323どちらの読み取りに依存する場合も、事前にガードとバージョンを確認してください:

324 

325* **組み込みガード**:管理設定がある場合、またはセッションの認証情報として Team または Enterprise の [`/login`](https://code.claude.com/docs/ja/authentication#authentication-precedence) を使用している場合、[組み込みガード](https://code.claude.com/docs/ja/plugins/mods/admin.md#know-what-happens-by-default)は、インストールした mod や `--plugin-dir` で読み込んだ mod のこのフックをスキップすることがあります。確認するには、[デバッグログ](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#read-the-debug-log)で `settings.read bypassed by cc-plugin-sec-default` を検索してください。そのテキストを含む行に自分の mod の名前がある場合は、組織の管理者に[その mod を組織の mod の 1 つとしてインストールする](https://code.claude.com/docs/ja/plugins/mods/admin.md#install-your-organizations-mods)よう依頼してください。

326* **バージョン**:Claude Code 自身による読み取りでこのイベントが発火すること、および `e.layers` フィールドには、Claude Code v2.1.304 以降が必要です。

327 

328#### `settings.read` フックが受け取るもの

329 

330| フィールド | 型 | 保持する内容 |

331| :- | :- | :- |

332| `e.layers` | array | 設定を保持する使用中の各ソースごとに 1 つの `{ source, settings }` オブジェクト。[優先順位](https://code.claude.com/docs/ja/settings.md#settings-precedence)が最も低いものから順に並びます:`plugin`、`user`、`project`、`local`、`flag`、`policy`。`claude plugin test` では空です。 |

333| `e.source` | string | `$.settings.read({ source: 'policy' })` のように mod が要求した 1 つのソース。この場合、`e.layers` にはそのレイヤーだけが含まれます。Claude Code 自身による読み取りや、マージされた設定のその他の読み取りでは存在しません。 |

334 

335`e.layers` において、`plugin` は有効なプラグインが提供する設定を保持します。これはレイヤー名にすぎず、`$.settings.read` に渡せる `source` ではありません。`flag` は `--settings` で渡された設定を保持し、`policy` は管理設定を保持します。

336 

337#### Claude Code 自身による読み取りと mod による読み取りを区別する

338 

339[Claude Code 自身による読み取り](#settings-read-hook)では [`next.origin`](https://code.claude.com/docs/ja/plugins/mods/reference#the-hook-function) は `{ plugin: 'engine', tier: 'core' }` になり、mod による読み取りでは `next.origin.plugin` は呼び出し元の mod の名前になります。

340 

341#### `settings.read` フックが返せるもの

342 

343フックは、[`next(e)`](https://code.claude.com/docs/ja/plugins/mods/reference#the-hook-function) の結果をそのまま返すか、独自の `{ value }`、または `{ deny: reason }` を返すことができます。[Claude Code 自身による読み取り](#settings-read-hook)と mod による読み取りのどちらでも、`{ value }` は読み取り結果を置き換え、`{ deny: reason }` は読み取りを拒否します:

344 

345| 戻り値 | Claude Code 自身による読み取りの場合 | mod による読み取りの場合 |

346| :- | :- | :- |

347| `{ value }` | 変更した各キーについて、返した値がセッションのマージされた設定におけるそのキーの値全体を置き換えます([キーのスキーマに適合する](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#settings-read-key-refused)場合) | その mod の呼び出しは、返した `value`、または要求した `key` を `value` から取り出したものに解決されるため、配列ではなくオブジェクト全体を返してください |

348| `{ deny: reason }` | セッションは、いずれかのフックが応答する前にマージされた状態の設定を維持し、[デバッグログに `reason` が記録されます](https://code.claude.com/docs/ja/plugins/mods/troubleshoot#settings-read-refused) | その mod の呼び出しは `<calling mod>: $.settings.read: <reason>` で reject されます |

349 

350Claude Code 自身による読み取りでは、省略したキーは未設定になるため、[`next(e)` の `value`](#settings-read-next) をもとに `{ value }` を構築してください。Claude Code が `env` などのキーを各ソースから個別に読み取る場合、`value` でそのキーを変更しても[効果はありません](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#settings-read-key-no-effect)。

351 

352#### `next(e)` が `settings.read` フックに返すもの

353 

354`next(e)` は `{ value }` または `{ deny }` に解決されます:

355 

356* **`{ value }`**:`value` はマージされた設定、または [`e.source`](#settings-read-receives) が設定されている場合は 1 つのソースの設定です。[自分のフックより後に実行される](#the-order-mods-run-in)フックが独自の `{ value }` を返した場合は、代わりにそのフックの `value` を受け取ります。

357* **`{ deny }`**:自分のフックより後に実行されるフックが読み取りを拒否しました。その `{ deny }` をそのまま返してください。

358 

359#### `settings.read` フックから 1 つの設定を変更する

360 

361まず、[どの mod がこのイベントを受け取るか、またどのバージョンからか](#settings-read-hook)を確認してください。

362 

3631 つのキーを変更するには、このフックが [`spinnerTipsEnabled`](https://code.claude.com/docs/ja/settings-reference#spinnertipsenabled) に対して行っているように、[`next(e)`](https://code.claude.com/docs/ja/plugins/mods/reference#the-hook-function) の `value` を展開してそのキーを設定します。このフックは [`next.origin`](#settings-read-origin) を確認しないため、[Claude Code 自身による読み取り](#settings-read-hook)でも mod によるマージされた設定の読み取りでも同様にキーを変更します:

364 

365```javascript theme={null}

366on('settings.read', async ($, e, next) => {

367 const read = await next(e)

368 // Pass through a read of one source, so that only the merged settings change.

369 // Pass through a { deny } from a later hook too: it has no value.

370 if (e.source || !read.value) return read

371 // Keep every other key and change this one

372 return { value: { ...read.value, spinnerTipsEnabled: false } }

373})

374```

375 

376Claude Code 自身による読み取りで、フックが文字列などキーのスキーマ外の値を返した場合、そのキーだけは、いずれかのフックが応答する前にマージされた値を維持します。その場合、デバッグログには [`the answer for <key> is no value the key can hold`](https://code.claude.com/docs/ja/plugins/mods/troubleshoot#settings-read-key-refused) と記録されます。値がスキーマに適合しているのにキーが変わらない場合は、[返したキーに効果がない理由](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#settings-read-key-no-effect)を参照してください。

377 

308### 設定フックのイベントを処理する378### 設定フックのイベントを処理する

309 379 

310設定フックとは、設定ファイルで構成するコマンド、HTTP、プロンプト、エージェントの各フックです。各[設定フックイベント](https://code.claude.com/docs/ja/hooks.md#hook-events)(`Stop`、`SessionEnd`、`PostToolUse` など)は、`classic.` の後に設定フックイベントの名前が続くイベント(`classic.Stop` など)としても利用できます。`e` は設定フックが stdin で受け取る JSON で、`transcript_path` を含みます。380設定フックとは、設定ファイルで構成するコマンド、HTTP、プロンプト、エージェントの各フックです。各[設定フックイベント](https://code.claude.com/docs/ja/hooks.md#hook-events)(`Stop`、`SessionEnd`、`PostToolUse` など)は、`classic.` の後に設定フックイベントの名前が続くイベント(`classic.Stop` など)としても利用できます。`e` は設定フックが stdin で受け取る JSON で、`transcript_path` を含みます。

Details

508* **`Input`**: `onSubmit(value)` と `onInput(value)` を受け取ります508* **`Input`**: `onSubmit(value)` と `onInput(value)` を受け取ります

509* **`Select`**: `onSelect(value)` を受け取り、選択肢は `options` に指定します。これは一意の値を持つ 1 つ以上の選択肢のリストで、たとえば `[{ value: 'sm', label: 'Small' }, { value: 'lg', label: 'Large' }]` のようになります509* **`Select`**: `onSelect(value)` を受け取り、選択肢は `options` に指定します。これは一意の値を持つ 1 つ以上の選択肢のリストで、たとえば `[{ value: 'sm', label: 'Small' }, { value: 'lg', label: 'Large' }]` のようになります

510 510 

511テストはコントロールの `key` を使ってそのコントロールを押したり入力したりするため、各コントロールに `key` を付けてください。コントロールが使用されるたびに、`e.element` に `key` を含む [`ui.press`、`ui.input`、または `ui.select`](https://code.claude.com/docs/ja/plugins/mods/reference#interface) も発火し、別の mod がこれらのイベントを処理できます。そのフックはコールバックより先に実行されるため、ユーザーが `Input` に入力した内容を確認し、変更したり、コールバックの代わりに応答したりできます。mods API には、別の mod のボタンを押すメソッドはありません。511### `key` が必要なコントロール

512 

513すべての `Input` と `Select` に、`key: 'size'` のような `key` props を付けてください。`Button` は、`label` props または単一の文字列の子を持つ場合は `key` を省略できます。その場合、キーは `label` の値またはその文字列になります。

514 

515テストと別の mod は、コントロールをそのキーで識別します。

516 

517* **テスト**: [テスト](https://code.claude.com/docs/ja/plugins/mods/test.md#test-a-drawing)は、キーを使ってコントロールを押したり入力したりします。

518* **別の mod**: Claude Code は、コントロールのコールバックを実行する前に、`e.element` にコントロールのキーを含めて [`ui.press`、`ui.input`、または `ui.select`](https://code.claude.com/docs/ja/plugins/mods/reference#interface) を発火します。そのイベントに対する別の mod のフックは、ユーザーが `Input` に入力した内容を確認でき、そのテキストを変更したり、コールバックが実行されないようにしたりできます。mods API には、その mod がボタンを押すためのメソッドはありません。

519 

520`needs a key` または `is drawn twice` というメッセージが表示された場合は、[そのメッセージから原因を特定してください](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#needs-a-key)。

512 521 

513### キーボードフォーカスとホットキー522### キーボードフォーカスとホットキー

514 523 

Details

21| `.claude-plugin/plugin.json` | はい | プラグインの[マニフェスト](https://code.claude.com/docs/ja/plugins/manifest-reference.md)。mod によって追加される必須フィールドはありません。 |21| `.claude-plugin/plugin.json` | はい | プラグインの[マニフェスト](https://code.claude.com/docs/ja/plugins/manifest-reference.md)。mod によって追加される必須フィールドはありません。 |

22| `hooks/hooks.json` | はい | `modules`:フックモジュールへのパスを 1 つ含む配列で、パスはこのファイルからの相対パスです(例:`"modules": ["./register.js"]`)。`hooks` の下に[設定フック](https://code.claude.com/docs/ja/hooks.md)を置くこともできます。 |22| `hooks/hooks.json` | はい | `modules`:フックモジュールへのパスを 1 つ含む配列で、パスはこのファイルからの相対パスです(例:`"modules": ["./register.js"]`)。`hooks` の下に[設定フック](https://code.claude.com/docs/ja/hooks.md)を置くこともできます。 |

23| [`hooks/register.js`](https://code.claude.com/docs/ja/plugins/mods/create#write-a-mod-yourself) などのフックモジュール | はい | mod のエントリポイント。`register(on, options)` をエクスポートします。名前は `.js`、`.mjs`、`.cjs`、`.jsx`、`.ts`、`.mts`、`.cts`、`.tsx` のいずれかで終わります。ES モジュールです。 |23| [`hooks/register.js`](https://code.claude.com/docs/ja/plugins/mods/create#write-a-mod-yourself) などのフックモジュール | はい | mod のエントリポイント。`register(on, options)` をエクスポートします。名前は `.js`、`.mjs`、`.cjs`、`.jsx`、`.ts`、`.mts`、`.cts`、`.tsx` のいずれかで終わります。ES モジュールです。 |

24| マニフェストの `types` で指定する [`types/index.d.ts`](https://code.claude.com/docs/ja/plugins/mods/interface#declare-the-values) | mod が `$.state` を使う場合、または mods API に名前空間を追加する場合 | `PluginState` の値と、mod が追加する名前空間を宣言します |24| [`types/index.d.ts`](https://code.claude.com/docs/ja/plugins/mods/interface#declare-the-values)(マニフェストの `types` で別のパスを指定している場合はそのパス) | mod が `$.state` を使う場合、または mods API に名前空間を追加する場合 | `PluginState` の値と、mod が追加する名前空間を宣言します。マニフェストで `types` を省略するには、v2.1.299 以降が必要です。 |

25| 名前が `.test.ts` または `.test.tsx` で終わるファイル | いいえ | [`claude plugin test`](https://code.claude.com/docs/ja/plugins/mods/test#write-a-test) が実行するテスト |25| 名前が `.test.ts` または `.test.tsx` で終わるファイル | いいえ | [`claude plugin test`](https://code.claude.com/docs/ja/plugins/mods/test#write-a-test) が実行するテスト |

26 26 

27`register` は `on` と `options` を受け取ります。`options` には、マニフェストが宣言する [`userConfig`](https://code.claude.com/docs/ja/plugins/components#user-configuration) フィールドの値が、デフォルト値を補った状態で入っています。27`register` は `on` と `options` を受け取ります。`options` には、マニフェストが宣言する [`userConfig`](https://code.claude.com/docs/ja/plugins/components#user-configuration) フィールドの値が、デフォルト値を補った状態で入っています。


110 110 

111### コマンドと設定111### コマンドと設定

112 112 

113コマンドと設定のイベントは、コマンドが実行または一覧表示されるとき、および `/config` の行が表示または変更されるときに発火します。113コマンドと設定のイベントは、コマンドが実行または一覧表示されるとき、`/config` の行が表示または変更されるとき、および設定の読み取り時に発火します。

114 114 

115| イベント | 発火するタイミング | フックが返せる値 |115| イベント | 発火するタイミング | フックが返せる値 |

116| :- | :- | :- |116| :- | :- | :- |


118| `command.describe` | 各コマンドにつき 1 回、コマンド一覧のため | `{ description, argumentHint, isHidden }` |118| `command.describe` | 各コマンドにつき 1 回、コマンド一覧のため | `{ description, argumentHint, isHidden }` |

119| `config.set` | `/config` の行が変更される直前 | `next({ ...e, value })` または `{ deny: reason }` |119| `config.set` | `/config` の行が変更される直前 | `next({ ...e, value })` または `{ deny: reason }` |

120| `config.describe` | `/config` の各行につき 1 回 | `{ label, description, isHidden }` |120| `config.describe` | `/config` の各行につき 1 回 | `{ label, description, isHidden }` |

121| [`settings.read`](https://code.claude.com/docs/ja/plugins/mods/events#settings-read-hook) | mod が [`$.settings.read`](https://code.claude.com/docs/ja/plugins/mods/api#reach-files-processes-and-the-network) を呼び出すとき、または Claude Code がセッションのマージされた設定を構築するとき | `next(e)`、`{ value }`、または `{ deny: reason }` |

122 

123#### `settings.read` の `e.layers` と `e.source`

124 

125* **`e.layers`**: 設定を保持している使用中のソースごとに 1 つの `{ source, settings }` オブジェクト。[優先順位](https://code.claude.com/docs/ja/settings.md#settings-precedence)の最も低いものが先頭です。[`settings.read` フックが受け取るもの](https://code.claude.com/docs/ja/plugins/mods/events#settings-read-receives)を参照してください。

126* **`e.source`**: `$.settings.read({ source: 'policy' })` のように、mod が要求した 1 つのソース。Claude Code 自身の読み取りや、マージされた設定のその他の読み取りでは存在しません

127 

128`settings.read` において、Claude Code 自身の読み取り時にイベントが発火すること、および `e.layers` フィールドには Claude Code v2.1.304 以降が必要です。フックが実行されるタイミングとフックが返せる値については、例も含めて[設定の読み取りを変更または拒否する](https://code.claude.com/docs/ja/plugins/mods/events.md#settings-read-hook)を参照してください。

121 129 

122### ターン130### ターン

123 131 

Details

168 168 

169v2.1.292 より前では、呼び出しが 2 回目も実行されたため、プロンプトの送信、コマンドの実行、またはサブエージェントの開始が 2 回行われていました。169v2.1.292 より前では、呼び出しが 2 回目も実行されたため、プロンプトの送信、コマンドの実行、またはサブエージェントの開始が 2 回行われていました。

170 170 

171### `This mod's change didn't load` または `the earlier version is no longer running`

172 

173[このセッションで Claude が作成した mod](https://code.claude.com/docs/ja/plugins/mods/create.md#ask-claude-for-a-mod) への変更を読み込めませんでした。トランスクリプトの行は mod の名前で始まり、理由で終わります。

174 

175* `This mod's change didn't load, so the earlier version is still running: <reason>.`

176* `This mod didn't load, and the earlier version is no longer running: <reason>.`

177 

178Claude はこの行を参照できないため、Claude に修正を依頼する際は、次のメッセージにこの行を貼り付けてください。

179 

171### `$.agent.register refused: the hooks module that made the call is no longer loaded`180### `$.agent.register refused: the hooks module that made the call is no longer loaded`

172 181 

173行は mod の名前で始まります。例えば `first-mod: $.agent.register refused: the hooks module that made the call is no longer loaded (it was reloaded or removed)` のようになり、エージェントは登録されません。mod が呼び出しの前にリロードまたはアンロードされました。リロードではフックモジュールの新しいコピーが読み込まれますが、この呼び出しは古いコピーでまだ実行中のコード(例えばまだ戻っていなかったフック)から行われました。182行は mod の名前で始まります。例えば `first-mod: $.agent.register refused: the hooks module that made the call is no longer loaded (it was reloaded or removed)` のようになり、エージェントは登録されません。mod が呼び出しの前にリロードまたはアンロードされました。リロードではフックモジュールの新しいコピーが読み込まれますが、この呼び出しは古いコピーでまだ実行中のコード(例えばまだ戻っていなかったフック)から行われました。


225 234 

226その行の理由を読んでください。一般的な原因は、要素が受け付けない props と、アプリに存在しない要素です。235その行の理由を読んでください。一般的な原因は、要素が受け付けない props と、アプリに存在しない要素です。

227 236 

237### `needs a key`、`is drawn twice`、または `key each once`

238 

239`ui.render` フックが返すツリー内の要素に有効な [`key`](https://code.claude.com/docs/ja/plugins/mods/interface#which-controls-need-a-key) がないか、2 つの要素が同じ key を共有しています。受け取ったメッセージを探してください。

240 

241* **`<Input> needs a key` または `<Select> needs a key`**: 要素に `key` props がないか、`key` が空であるか、`key: 3` のように文字列ではありません。`key` として空でない文字列を指定してください。

242* **`<Button> needs a key`**: ボタンの `key` として空でない文字列を指定します

243* **`is drawn twice; each takes its own key`**: メッセージが示す種類の 2 つの要素が同じ `key` を持っています。例えば `Input "size" is drawn twice; each takes its own key` のようになります。各要素に固有の `key` を指定してください。

244* **[テスト](https://code.claude.com/docs/ja/plugins/mods/test.md#test-a-drawing) での `press` からの `key each once`**: 描画内に、渡した key を持つボタンが複数あります。ラベルが同じで `key` props のないボタンは、そのラベルを key として共有します。各ボタンに固有の `key` を指定してください。

245 

228### `ui.render` の行に `threw while drawn` と表示される246### `ui.render` の行に `threw while drawn` と表示される

229 247 

230その行は [描画箇所](https://code.claude.com/docs/ja/plugins/mods/reference.md#render-sites) を示し、続いて `threw while drawn:` とエラーを示します。例えば `first-mod: ui.render (ToolUse) threw while drawn: <error>; the engine drew its own` のようになります。Claude Code は、[`ui.render`](https://code.claude.com/docs/ja/plugins/mods/reference#interface) フックが返したツリーを描画する際、または [フックが `next` に渡した `props`](https://code.claude.com/docs/ja/plugins/mods/interface#change-what-claude-code-already-draws) から描画箇所を描画する際に、そのエラーに遭遇しました。末尾の `the engine drew its own` は、その描画箇所に Claude Code の通常のコンテンツが表示されることを意味します。248その行は [描画箇所](https://code.claude.com/docs/ja/plugins/mods/reference.md#render-sites) を示し、続いて `threw while drawn:` とエラーを示します。例えば `first-mod: ui.render (ToolUse) threw while drawn: <error>; the engine drew its own` のようになります。Claude Code は、[`ui.render`](https://code.claude.com/docs/ja/plugins/mods/reference#interface) フックが返したツリーを描画する際、または [フックが `next` に渡した `props`](https://code.claude.com/docs/ja/plugins/mods/interface#change-what-claude-code-already-draws) から描画箇所を描画する際に、そのエラーに遭遇しました。末尾の `the engine drew its own` は、その描画箇所に Claude Code の通常のコンテンツが表示されることを意味します。


303 321 

304[`classic.SessionStart` hooks で保存された値を再度読み込みます](https://code.claude.com/docs/ja/plugins/mods/interface#load-a-saved-value-again-after-clear)。322[`classic.SessionStart` hooks で保存された値を再度読み込みます](https://code.claude.com/docs/ja/plugins/mods/interface#load-a-saved-value-again-after-clear)。

305 323 

324### `settings.read` フックが返すキーが有効にならない

325 

326返された `env` エントリは環境変数になりません。返された `allow`、`ask`、`deny` ルールはツール呼び出し時にチェックされません。これらは[設定ファイル](https://code.claude.com/docs/ja/settings.md)で設定するか、環境変数の場合は [`$.env.set`](https://code.claude.com/docs/ja/plugins/mods/api#reach-files-processes-and-the-network) を呼び出します。

327 

328その他のキーについては、[どの mod がどのバージョンから `settings.read` を受け取るか](https://code.claude.com/docs/ja/plugins/mods/events#settings-read-hook)を確認してから、[デバッグログ](#read-the-debug-log)で `settings.read` を検索し、次のいずれかの行を探します。

329 

330| ログ行 | 意味と対処 |

331| :- | :- |

332| `settings.read hook skipped`(mod の名前の後) | フックが失敗しました。[行が報告するエラーを修正します](#hook-skipped)。 |

333| `settings.read bypassed by cc-plugin-sec-default`(その前に mod の名前がある行) | [組み込みガード](https://code.claude.com/docs/ja/plugins/mods/admin.md#know-what-happens-by-default)がフックをスキップしました。組織の管理者に、[その mod を組織の mod の 1 つとしてインストールする](https://code.claude.com/docs/ja/plugins/mods/admin.md#install-your-organizations-mods)よう依頼します。 |

334| `settings.read: the answer for <key> is no value the key can hold` | 返された値がキーのスキーマに適合しません。[スキーマが許可する値を返します](#settings-read-key-refused)。 |

335| `settings.read: the merge never settles for <key>` | 行に示されたキーは設定ソースの値を保持します。それらを設定ファイルで設定します。 |

336| `answered settings.read without next()`(ある mod の名前の後) | その mod が[自分の mod より前に実行される](https://code.claude.com/docs/ja/plugins/mods/events.md#the-order-mods-run-in)場合にのみ関係します。その場合、その読み取りでは自分のフックが実行されませんでした。[その mod をオフにする](https://code.claude.com/docs/ja/plugins/mods/overview.md#turn-mods-on-or-off)か、組織がデプロイしたものであれば、その管理者にオフにするよう依頼します。 |

337| `settings.read: refused to the engine` | 読み取りが拒否されたため、どのフックの `{ value }` も適用されませんでした。[何が拒否したかを特定します](#settings-read-refused)。 |

338 

339どの行もキーについて説明していない場合は、自分の mod より前に実行される mod に、[そのキーを変更する](https://code.claude.com/docs/ja/plugins/mods/events.md#settings-read-example) `settings.read` フックがないか確認します。その mod をオフにするか、組織の管理者にオフにするよう依頼します。該当するフックがない場合は、キーを設定ファイルで設定します。

340 

341### `the answer for <key> is no value the key can hold`

342 

343この[デバッグログ](#read-the-debug-log)の行は、[`settings.read`](https://code.claude.com/docs/ja/plugins/mods/events#settings-read-hook) フックが指定のキーに対して返した値を Claude Code が拒否したことを意味します。拒否されたのはそのキーのみです。

344 

345```text theme={null}

346settings.read: the answer for <key> is no value the key can hold; the settings' own value stands

347```

348 

349指定のキーに対して返した値が、型や範囲などの点でそのキーのスキーマに適合しませんでした。キーの[設定リファレンス](https://code.claude.com/docs/ja/settings-reference.md)のエントリが許可する値を返します。値が適合しない間、そのキーはいずれかのフックが応答する前に設定ソースからマージされた値を保持します。この行ではそれを設定自身の値(the settings' own value)と呼んでいます。

350 

351### `settings.read: refused to the engine`

352 

353この[デバッグログ](#read-the-debug-log)の行は、[Claude Code 自身の読み取り](https://code.claude.com/docs/ja/plugins/mods/events.md#settings-read-hook)が拒否されたため、自分のフックを含め、どのフックの `{ value }` も適用されなかったことを意味します。`settings.read` フックが [`{ deny: reason }`](https://code.claude.com/docs/ja/plugins/mods/events#settings-read-returns) でその読み取りを拒否した場合、行にはそのフックの理由が含まれます。

354 

355```text theme={null}

356settings.read: refused to the engine (engine: $.settings.read: <reason>); the settings' own values stand

357```

358 

359自分のフックのコードで `<reason>` のテキストを検索します。

360 

361* **コードに含まれている場合**: 自分のフックが読み取りを拒否しました。[`next.origin`](https://code.claude.com/docs/ja/plugins/mods/events#settings-read-origin) が Claude Code 自身の読み取りを示す場合は `{ value }` を返すようにします。

362* **コードに含まれていない場合**: 他の mod を 1 つずつ[オフにします](https://code.claude.com/docs/ja/plugins/mods/overview.md#turn-mods-on-or-off)。それぞれの後に、このセッションのコマンドをシェルから新しいパスを指定した `--debug-file` を 1 つ付けて再実行し、そのファイルで `refused to the engine` を検索します。行がある場合は、次の mod をオフにします。ない場合は、最後にオフにした mod が読み取りを拒否したので、それをオフのままにします。

363 

364他にオフにする mod が残っていない場合は、フックが返すキーに[設定ファイル](https://code.claude.com/docs/ja/settings.md)を使用します。読み取りが拒否されている間も、その値は保持されます。

365 

306## デバッグログを読む366## デバッグログを読む

307 367 

308デバッグログには、Claude Code が読み込むまたは拒否するすべてのモジュール、失敗するすべてのフック、拒否するすべての結果の行があります。トランスクリプトに何も表示されない場合は、ここを確認してください。書き込むには、シェルで Claude Code を `--debug` で開始するか、`--debug-file <path>` で場所を選択します。368デバッグログには、Claude Code が読み込むまたは拒否するすべてのモジュール、失敗するすべてのフック、拒否するすべての結果の行があります。トランスクリプトに何も表示されない場合は、ここを確認してください。書き込むには、シェルで Claude Code を `--debug` で開始するか、`--debug-file <path>` で場所を選択します。

Details

251 251 

252まずリポジトリ自体を確認してください:スペルが間違った `owner/repo`、存在しないリポジトリ、またはアクセスできないプライベートリポジトリもこのメッセージで終わります。ブラウザでリポジトリ URL を開くか、ターミナルで `git ls-remote <url>` を実行して、それが存在し、アクセス権があることを確認してください。252まずリポジトリ自体を確認してください:スペルが間違った `owner/repo`、存在しないリポジトリ、またはアクセスできないプライベートリポジトリもこのメッセージで終わります。ブラウザでリポジトリ URL を開くか、ターミナルで `git ls-remote <url>` を実行して、それが存在し、アクセス権があることを確認してください。

253 253 

254リポジトリが正しい場合、原因は認証情報です。Claude Code は git をインタラクティブプロンプト無効で実行するため、パスワード、キーパスフレーズ、またはターミナルが行うような認証情報を要求できません。git がプロンプトを必要とする場合、`fatal: Cannot prompt because user interactivity has been disabled` または `terminal prompts disabled` が元のエラーに表示されます。既に非対話的に機能する認証情報のみが成功します:254リポジトリが正しい場合、原因は認証情報です。Claude Code は、`GIT_ASKPASS` で設定されたものを含め、git のプロンプトと askpass プログラムをオフにし、SSH をバッチモードで実行します。git がプロンプトを必要とする場合、クローンのエラーには `fatal: Cannot prompt because user interactivity has been disabled`、`terminal prompts disabled`、または `fatal: unable to get password from user` が含まれます。git がプロンプトや askpass プログラムなしで取得できる認証情報のみが成功します:

255 255 

256* **SSH**:`ssh -T git@<host>` はパスフレーズを要求せずに成功する必要があり、ホストは既に `known_hosts` にある必要があります256* **SSH**:`ssh -T git@<host>` はパスフレーズを要求せずに成功する必要があり、ホストは既に `known_hosts` にある必要があります

257* **HTTPS**:認証情報ヘルパーはホストのトークンを保持する必要があります。GitHub の場合は、`gh auth login` と `gh auth setup-git` を実行してください。別のホストの場合は、個人用アクセストークンを git 認証情報ヘルパーに保存してください。`git ls-remote <url>` でテストしてください257* **HTTPS**:認証情報ヘルパーはホストのトークンを保持する必要があります。GitHub の場合は、`gh auth login` と `gh auth setup-git` を実行してください。別のホストの場合は、個人用アクセストークンを git 認証情報ヘルパーに保存してください。テストするには、ターミナルで `GIT_ASKPASS` の設定を解除し、`git -c core.askPass= ls-remote <url>` を実行してください。

258 258 

259ターミナルで `git ls-remote` がプロンプトなしで成功したら、追加または更新を再度実行してください。成功した追加は `Successfully added marketplace: <name>` を出力します。成功した更新はシェルから `Successfully updated marketplace: <name>` を出力するか、セッションで `✔ Updated 1 marketplace` を出力します。259使用しているプロトコルのチェックがプロンプトなしで成功したら、追加または更新を再度実行してください。成功した追加は `Successfully added marketplace: <name>` を出力します。成功した更新はシェルから `Successfully updated marketplace: <name>` を出力するか、セッションで `✔ Updated 1 marketplace` を出力します。

260 260 

261GitHub `owner/repo` ソースの SSH をスキップするように Claude Code を設定するには、`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1` を設定してください。これがないと、Claude Code は `github.com` の SSH キーが設定されているように見える場合、これらのソースを SSH 経由でクローンし、SSH クローンが失敗するときに HTTPS にフォールバックします。261GitHub `owner/repo` ソースの SSH をスキップするように Claude Code を設定するには、`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1` を設定してください。これがないと、Claude Code は `github.com` の SSH キーが設定されているように見える場合、これらのソースを SSH 経由でクローンし、SSH クローンが失敗するときに HTTPS にフォールバックします。

262 262 


318 318 

319リポジトリがモノレポの場合は、`claude plugin marketplace add <source> --sparse <paths>` で名前を付けたディレクトリにチェックアウトを制限してください。319リポジトリがモノレポの場合は、`claude plugin marketplace add <source> --sparse <paths>` で名前を付けたディレクトリにチェックアウトを制限してください。

320 320 

321リポジトリに大きな git サブモジュールがある場合は、Claude Code を更新してください。v2.1.295 以降では、Claude Code は[プラグインファイルを含むサブモジュール](https://code.claude.com/docs/ja/plugins/marketplace-reference.md#git-submodules-in-the-marketplace-repository)のみを取得します。それより前のバージョンはすべてのサブモジュールを取得するため、それだけで 120 秒を使い切ることがあります。

322 

321### マーケットプレイスの更新がオフラインで失敗し続ける323### マーケットプレイスの更新がオフラインで失敗し続ける

322 324 

323マーケットプレイスの git ホストに到達できない環境で作業しており、すべてのセッションがバックグラウンドで失敗した更新を繰り返します。マーケットプレイスの既存のチェックアウトは所定の位置に留まり、スタートアップは遅延しません。325マーケットプレイスの git ホストに到達できない環境で作業しており、すべてのセッションがバックグラウンドで失敗した更新を繰り返します。マーケットプレイスの既存のチェックアウトは所定の位置に留まり、スタートアップは遅延しません。


609| `<Plugin or Dependency> "<name>" has conflicting version requirements` | バージョンはすべての範囲を満たしていません。メッセージは範囲をリストします。 | 競合するプラグインの 1 つをアンインストールまたは更新するか、上流の作成者に制約を広げるよう依頼してください。 |611| `<Plugin or Dependency> "<name>" has conflicting version requirements` | バージョンはすべての範囲を満たしていません。メッセージは範囲をリストします。 | 競合するプラグインの 1 つをアンインストールまたは更新するか、上流の作成者に制約を広げるよう依頼してください。 |

610| `... has version requirements too complex to intersect` または `has an invalid version requirement` | 範囲は有効な semver ではないか、結合された範囲を交差させることができません。 | 無効な範囲を修正するか、長い `\|\|` チェーンを簡素化してください。 |612| `... has version requirements too complex to intersect` または `has an invalid version requirement` | 範囲は有効な semver ではないか、結合された範囲を交差させることができません。 | 無効な範囲を修正するか、長い `\|\|` チェーンを簡素化してください。 |

611| `... has no git tag satisfying <range>` | 依存関係のリポジトリには範囲内に `<name>--v*` タグがありません。 | 上流がその規約でリリースをタグ付けしていることを確認するか、範囲を緩和してください。 |613| `... has no git tag satisfying <range>` | 依存関係のリポジトリには範囲内に `<name>--v*` タグがありません。 | 上流がその規約でリリースをタグ付けしていることを確認するか、範囲を緩和してください。 |

612| `Dependency "<dep>" (required by <plugin>) is in <marketplace>, which is not in the allowlist` | 依存関係は別のマーケットプレイスにあり、クロスマーケットプレイス解決はデフォルトでオフです。 | 依存関係を自分でインストールしてください。シェルで `claude plugin install <dep>@<marketplace>` に加えて、プラグインをインストールしている `--scope` を使用してから、再試行してください。 |614| `Dependency "<dep>" (required by <plugin>) is in marketplace "<marketplace>", which is not in the allowlist` | 依存関係は別のマーケットプレイスにあり、クロスマーケットプレイス解決はデフォルトでオフです。 | 依存関係を同じスコープで自分でインストールしてから、再試行してください。シェルで `claude plugin install <dep>@<marketplace>` に、プラグインをインストールしているスコープの `--scope` を付けて実行します。 |

613 615 

614これらをプログラムで表示するには、シェルで `claude plugin list --json` を実行してください。問題のあるプラグインは、メッセージを含む `errors` フィールドと、各メッセージの `type` を含む `errorDetails` フィールドを運びます:最初の 3 行は `dependency-unsatisfied` で、4 番目は `dependency-version-unsatisfied` です。616これらをプログラムで表示するには、シェルで `claude plugin list --json` を実行してください。問題のあるプラグインは、メッセージを含む `errors` フィールドと、各メッセージの `type` を含む `errorDetails` フィールドを運びます:最初の 3 行は `dependency-unsatisfied` で、4 番目は `dependency-version-unsatisfied` です。

615 617 


949 951 

950### `commands path not found: <path>`952### `commands path not found: <path>`

951 953 

952**Errors** タブに `commands path not found: <absolute path>` が表示され、ガイダンスとして「マニフェストまたはマーケットプレイス設定のパスが正しいことを確認してください」と表示されます。同じメッセージは `skills`、`agents`、`hooks` に対しても表示されます。954**Errors** タブに `commands path not found: <absolute path>` が表示され、ガイダンスとして `Check that the path in your manifest or marketplace config is correct` と表示されます。同じメッセージは `skills`、`agents`、`hooks` に対しても表示されます。

953 955 

954Claude Code は `plugin.json` またはマーケットプレイスエントリからのパスをプラグインルートに対して解決し、そこに何も見つかりませんでした。メッセージ内のパスはチェックした絶対パスなので、ディスク上の内容と比較してください。パスを修正するか、ディレクトリを作成してから `/reload-plugins` を実行してください。956Claude Code は `plugin.json` またはマーケットプレイスエントリからのパスをプラグインルートに対して解決し、そこに何も見つかりませんでした。メッセージ内のパスはチェックした絶対パスなので、ディスク上の内容と比較してください。パスを修正するか、ディレクトリを作成してから `/reload-plugins` を実行してください。

955 957 


979 981 

980### `${CLAUDE_PLUGIN_ROOT}` が Windows で前方スラッシュを表示する982### `${CLAUDE_PLUGIN_ROOT}` が Windows で前方スラッシュを表示する

981 983 

982Windows では、プラグインフックが `${CLAUDE_PLUGIN_ROOT}` を `C:\Users\you\...` ではなく `C:/Users/you/...` として受け取り、バックスラッシュを期待するスクリプトが破損します。984Windows では、Git Bash を通じて実行されるプラグインフックが `${CLAUDE_PLUGIN_ROOT}` を `C:\Users\you\...` ではなく `C:/Users/you/...` として受け取り、バックスラッシュを期待するスクリプトが破損します。

983 985 

984Claude Code は Windows 上でシェル形式のフックを Git Bash を通じて実行し、意図的にプラグインルートを前方スラッシュ Win32 形式で置換します。Bash ビルトイン、MSYS ツール、ネイティブ Windows バイナリはすべてその形式を受け入れます。986Git Bash がインストールされている場合、[シェル形式のフック](https://code.claude.com/docs/ja/hooks.md#exec-form-and-shell-form) はデフォルトで Git Bash を通じて実行されます。Git Bash を通じて実行されるフックに対しては、Bash がバックスラッシュをエスケープとして解釈しないように、Claude Code は前方スラッシュでパスを渡します。Bash ビルトイン、MSYS ツール、ネイティブ Windows バイナリはすべてその形式を受け入れます。

985 987 

986スクリプトがバックスラッシュを必要とする場合は、フックを [exec 形式とシェル形式](https://code.claude.com/docs/ja/hooks.md#exec-form-and-shell-form) の下で説明されているネイティブパスを保持する形式の 1 つに切り替えてください。988スクリプトがバックスラッシュを必要とする場合は、フックを [exec 形式とシェル形式](https://code.claude.com/docs/ja/hooks.md#exec-form-and-shell-form) の下で説明されているネイティブパスを保持する形式の 1 つに切り替えてください。

987 989 


1090 1092 

1091または、マーケットプレイスを git リポジトリでホストし、ユーザーにリポジトリ URL で追加するよう指示してください。git ソースの場合、Claude Code はリポジトリ全体をクローンするため、相対パスは解決されます。ソースタイプは[マーケットプレイスリファレンス](https://code.claude.com/docs/ja/plugins/marketplace-reference.md)にあります。1093または、マーケットプレイスを git リポジトリでホストし、ユーザーにリポジトリ URL で追加するよう指示してください。git ソースの場合、Claude Code はリポジトリ全体をクローンするため、相対パスは解決されます。ソースタイプは[マーケットプレイスリファレンス](https://code.claude.com/docs/ja/plugins/marketplace-reference.md)にあります。

1092 1094 

1095### git サブモジュールにあるルートプラグインのファイルがインストール後に見つからない

1096 

1097プラグインがマーケットプレイスのルートにあり、リポジトリの git サブモジュールにあるファイルを実行または読み取ります。インストール後、サブモジュールのディレクトリが空になっています。v2.1.295 より前は、Claude Code がすべてのサブモジュールをフェッチしていたため、このディレクトリにはファイルが存在していました。

1098 

1099Claude Code はマーケットプレイスをクローンするとき、[プラグインファイルを含むサブモジュール](https://code.claude.com/docs/ja/plugins/marketplace-reference.md#git-submodules-in-the-marketplace-repository)のみをフェッチします。ルートにあるプラグインの場合は、プラグインの設定内のパスとプラグインのファイルのテキストを読み取って判断します。スクリプトが実行中に組み立てるパスは認識できません。

1100 

1101サブモジュール内へのパスは、フックコマンド内の `${CLAUDE_PLUGIN_ROOT}/vendor/tool/run.sh` のように、Claude Code が読み取れる場所に完全な形で記述してください。そうすると、Claude Code はそのプラグインについてリポジトリ内のすべてのサブモジュールをフェッチします。

1102 

1093### マーケットプレイス検証エラー1103### マーケットプレイス検証エラー

1094 1104 

1095マーケットプレイスディレクトリから `claude plugin validate .` を実行し、マーケットプレイスファイル自体のエラーまたは警告を報告しました。1105マーケットプレイスディレクトリから `claude plugin validate .` を実行し、マーケットプレイスファイル自体のエラーまたは警告を報告しました。


1115 1125 

1116v2.1.247 より前では、制御またはビジョナル形式の文字を含むマーケットプレイス名は、`Marketplace name impersonates an official Anthropic/Claude marketplace` としてのみ報告されました。1126v2.1.247 より前では、制御またはビジョナル形式の文字を含むマーケットプレイス名は、`Marketplace name impersonates an official Anthropic/Claude marketplace` としてのみ報告されました。

1117 1127 

1118## 組織によってブロック1128## 組織によってブロックされている

1119 1129 

1120組織は管理設定をデプロイしてプラグインを制限し、コマンドはポリシーメッセージで拒否されました。これらのエントリは各拒否の背後にある設定に名前を付けるため、管理者に何を依頼するかを知っています。管理者側については、[組織のプラグインを管理](https://code.claude.com/docs/ja/plugins/org.md)を参照してください。1130組織がプラグインを制限する管理設定を展開しており、コマンドがポリシーメッセージとともに拒否されました。以下の各項目では、それぞれの拒否の原因となっている設定を示しているため、管理者に何を依頼すればよいかがわかります。管理者側の手順については、[組織のプラグインを管理する](https://code.claude.com/docs/ja/plugins/org.md)を参照してください。

1121 1131 

1122### `Marketplace source '<source>' is blocked by enterprise policy`1132### `Marketplace source '<source>' is blocked by enterprise policy`

1123 1133 

1124`/plugin marketplace add`、`update`、またはインストールを実行し、Claude Code はこの行で拒否しました。GitHub または git ソースの場合、ホストはソースの後に括弧内に続きます。例えば、`'github:owner/repo' (github.com)`。1134`/plugin marketplace add`、`update`、またはインストールを実行したところ、Claude Code がこの行を表示して拒否しました。

1125 1135 

1126管理者は管理設定で `blockedMarketplaces` または `strictKnownMarketplaces` を設定し、このソースは許可されていません。管理者にソースを許可するよう依頼するか、メッセージがリストする許可されたソースの 1 つを追加してください。1136管理者が管理設定で `blockedMarketplaces` または `strictKnownMarketplaces` を設定しており、このソースは許可されていません。管理者にソースの許可を依頼するか、メッセージに列挙されている許可済みソースのいずれかを追加してください。

1127 1137 

1128メッセージの残りを一致させて、どのポリシーがソースをブロックしたかを確認してください:1138メッセージの残りの部分を照合して、どの種類のポリシーがソースをブロックしたかを確認してください。

1129 1139 

1130* **`Allowed sources: <list>`**:ブロックは `blockedMarketplaces` ブロックリストではなく `strictKnownMarketplaces` 許可リストから来ています1140* **`Allowed sources: <list>`**:ブロックは `blockedMarketplaces` 拒否リストではなく、`strictKnownMarketplaces` 許可リストによるものです

1131* **`No external marketplaces are allowed.`**:`strictKnownMarketplaces` 許可リストは空です1141* **`No external marketplaces are allowed.`**:`strictKnownMarketplaces` 許可リストが空です

1132* **ショートハンドが github.com を想定するという `Tip:`**:許可リストは git ホストをホスト名で許可し、渡した `owner/repo` ショートハンドは github.com を指しています。リポジトリが内部ホストに存在する場合は、`git@your-git-host.com:owner/repo.git` などの完全な URL で再度追加してください1142* **短縮形が github.com を前提としていることを示す `Tip:`**:許可リストはホスト名によって git ホストを許可しており、指定した `owner/repo` の短縮形は github.com を指しています。リポジトリが社内ホストにある場合は、`git@your-git-host.com:owner/repo.git` のような完全な URL で再度追加してください

1133 1143 

1134ポリシーがより制限的になる前に追加したマーケットプレイスは、ポリシーがすべての更新に適用されるため、更新を停止します。1144ポリシーが厳しくなる前に追加したマーケットプレイスも更新されなくなります。ポリシーは更新のたびに適用されるためです。

1135 1145 

1136### `Marketplace "<name>" is not in the allowed marketplace list`1146### `Marketplace "<name>" is not in the allowed marketplace list`

1137 1147 

1138**Errors** タブはこの行を表示するか、既に登録しているマーケットプレイスの場合は `Marketplace "<name>" is blocked by enterprise policy` を表示します。1148すでに登録済みのマーケットプレイスについて、**Errors** タブにこの行、または `Marketplace "<name>" is blocked by enterprise policy` が表示されます。

1139 1149 

1140[マーケットプレイスソース](#marketplace-source-is-blocked-by-enterprise-policy)をブロックする同じ管理設定は読み込み時に適用されます。`strictKnownMarketplaces` はこのマーケットプレイスを含まないか、`blockedMarketplaces` がそれに名前を付けるため、Claude Code は読み込みを停止し、そのプラグインも同様です。許可リストバリアントの場合、ガイダンス行は許可されたソースを表示するか、`Contact your administrator to configure allowed marketplace sources` を読みます。ブロックリストバリアントの場合、`This marketplace source is explicitly blocked by your administrator` を読みます。1150[マーケットプレイスソース](#marketplace-source-is-blocked-by-enterprise-policy)をブロックするのと同じ管理設定が、読み込み時にも適用されます。`strictKnownMarketplaces` にこのマーケットプレイスが含まれていないか、`blockedMarketplaces` にこのマーケットプレイスが指定されているため、Claude Code はこのマーケットプレイスとそのプラグインの読み込みを停止します。許可リストによる場合、ガイダンス行には許可済みソース、または `Contact your administrator to configure allowed marketplace sources` が表示されます。拒否リストによる場合は `This marketplace source is explicitly blocked by your administrator` と表示されます。

1141 1151 

1142### `Plugin "<name>" is blocked by your organization's policy and cannot be installed`1152### `Plugin "<name>" is blocked by your organization's policy and cannot be installed`

1143 1153 

1144インストールはこの行で拒否されたか、有効化は同じ行で終わったか、`Plugin "<name>" is from marketplace "<marketplace>", which is blocked by your organization's policy` または `Plugin "<name>" depends on "<dep>", which is blocked by your organization's policy` という理由で名前を付けたインストールまたは更新。1154インストールがこの行で拒否された、有効化が末尾が `cannot be enabled` となる同じ行で拒否された、またはインストールや更新が理由を示す行で拒否されました。理由を示す行は `Plugin "<name>" is from marketplace "<marketplace>", which is blocked by your organization's policy` または `Plugin "<name>" depends on "<dep>", which is blocked by your organization's policy` です。

1145 1155 

1146管理設定はこのプラグイン、そのマーケットプレイス、またはそれが必要とする依存関係をブロックします。どのエントリが適用されるかを管理者に尋ねてください。ブロックされた依存関係は、依存関係のマーケットプレイスが許可されるまでプラグインをインストールできないことを意味します。1156管理設定によって、このプラグイン、そのマーケットプレイス、または必要な依存関係がブロックされています。どの項目が該当するかを管理者に確認してください。依存関係がブロックされている場合、その依存関係のマーケットプレイスが許可されるまでプラグインはインストールできません。

1147 1157 

1148### `--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)`1158### `--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)`

1149 1159 

1150`--plugin-dir`、`--plugin-url`、`--agents`、または `--mcp-config` で `claude` を開始しました。Claude Code はこのメッセージで終了し、`Plugins, custom agents, and MCP servers can only be loaded from sources your administrator has approved.`1160`--plugin-dir`、`--plugin-url`、`--agents`、または `--mcp-config` を指定して `claude` を起動したところ、Claude Code がこのメッセージと `Plugins, custom agents, and MCP servers can only be loaded from sources your administrator has approved.` を表示して終了しました。

1151 1161 

1152管理者は管理設定で `disableSideloadFlags` を設定し、任意のパスからプラグイン、エージェント、サーバーを読み込むフラグをオフにします。承認されたマーケットプレイスからプラグインを読み込むか、管理者に設定を削除するよう依頼してください。1162管理者が管理設定で `disableSideloadFlags` を設定しており、任意のパスからプラグイン、エージェント、サーバーを読み込むフラグがオフになっています。代わりに承認済みのマーケットプレイスからプラグインを読み込むか、管理者にこの設定の削除を依頼してください。

1153 1163 

1154`/plugin` **Errors** タブの関連メッセージは `--plugin-dir copy of "<name>" ignored: plugin is locked by managed settings` です。管理設定はそのプラグインを名前で有効または無効にし、Claude Code はポリシーをオーバーライドできないようにそのコピーを無視します。1164関連するメッセージとして、`/plugin` の **Errors** タブに `--plugin-dir copy of "<name>" ignored: plugin is locked by managed settings` が表示されることがあります。管理設定がそのプラグインを名前で有効化または無効化しており、フラグでポリシーを上書きできないよう、Claude Code は `--plugin-dir` で指定したそのプラグインのコピーを無視します。

1155 1165 

1156### `Plugins from ~/.claude/skills/ are blocked by your organization's managed settings`1166### `Plugins from ~/.claude/skills/ are blocked by your organization's managed settings`

1157 1167 

1158`claude plugin init` または `claude plugin enable` を実行し、この行で停止しました。メッセージは `strictKnownMarketplaces or blockedMarketplaces` に名前を付け、管理者に `{"source":"skills-dir"}` を `strictKnownMarketplaces` に追加するか、`blockedMarketplaces` から削除するよう依頼します。1168`claude plugin init` または `claude plugin enable` を実行したところ、この行で停止しました。メッセージには `strictKnownMarketplaces or blockedMarketplaces` が示され、`{"source":"skills-dir"}` を `strictKnownMarketplaces` に追加するか `blockedMarketplaces` から削除するよう管理者に依頼することが求められます。

1159 1169 

1160`skills-dir` ソースは Claude Code が `~/.claude/skills/` ディレクトリから読み込むプラグインを表します。メッセージが名前を付ける変更を行うよう管理者に依頼してください。1170`skills-dir` ソースは、Claude Code が `~/.claude/skills/` ディレクトリから読み込むプラグインを表します。メッセージに示されている変更を行うよう管理者に依頼してください。

1161 1171 

1162### `Command-sourced plugins are disabled by your organization's managed settings`1172### `Command-sourced plugins are disabled by your organization's managed settings`

1163 1173 

1164`command` ソースを持つプラグインをインストールまたは更新し、この行で停止し、`The plugin was not installed or updated and its command was not run.`1174`command` ソースのプラグインをインストールまたは更新したところ、この行と `The plugin was not installed or updated and its command was not run.` が表示されて停止しました。

1165 1175 

1166管理者は `disableCommandPluginSources` を設定したため、Claude Code はマーケットプレイスが宣言したコマンドを実行することを拒否してプラグインを生成します。`disableCommandPluginSources` が設定されていない場合、`allowManagedHooksOnly` のみを設定すると同じ効果があります。ポリシーが許可するソースタイプからプラグインを発行できるかどうかを管理者に尋ねてください。1176管理者が `disableCommandPluginSources` を設定しているため、Claude Code は、プラグインを生成するためにマーケットプレイスで宣言されたコマンドの実行を拒否します。`disableCommandPluginSources` が未設定の場合、`allowManagedHooksOnly` を設定するだけでも同じ効果があります。ポリシーで許可されているソースの種類からプラグインを公開できるかどうかを管理者に確認してください。

1167 1177 

1168### `Marketplace '<name>' is seed-managed`1178### `Marketplace '<name>' is seed-managed`

1169 1179 

1170`claude plugin marketplace update <name>` を実行し、`Marketplace '<name>' is seed-managed (<dir>)` で失敗し、管理者に尋ねるヒントが続きました。1180`claude plugin marketplace update <name>` を実行したところ、`Marketplace '<name>' is seed-managed (<dir>)` と管理者に問い合わせるよう促すヒントが表示されて失敗しました。

1171 1181 

1172オペレーターは `CLAUDE_CODE_PLUGIN_SEED_DIR` を通じてこのマーケットプレイスを事前に入力し、Claude Code はシード管理マーケットプレイスを読み取り専用として扱います。バルク `marketplace update` はそれをスキップし、他を更新します。1182オペレーターが `CLAUDE_CODE_PLUGIN_SEED_DIR` を通じてこのマーケットプレイスを事前に配置しており、Claude Code はシード管理のマーケットプレイスを読み取り専用として扱います。一括の `marketplace update` はこのマーケットプレイスをスキップし、他のマーケットプレイスを更新します。

1173 1183 

1174マーケットプレイスのコンテンツを変更するには、シードイメージを維持する人に更新するよう依頼してください。手順については、[コンテナと CI をシード](https://code.claude.com/docs/ja/plugins/org.md#seed-containers-and-ci)を参照してください。1184マーケットプレイスの内容を変更するには、シードイメージを管理している担当者に更新を依頼してください。手順については、[シードコンテナと CI](https://code.claude.com/docs/ja/plugins/org.md#seed-containers-and-ci)を参照してください。

1175 1185 

1176## 次のステップ1186## 次のステップ

1177 1187 

Details

100 100 

101### fast mode のオン101### fast mode のオン

102 102 

103[fast mode](https://code.claude.com/docs/ja/fast-mode.md) を有効にすると、キャッシュキーの一部であるリクエストヘッダーが追加されるため、Claude Code が fast mode をオンにして送信する最初のリクエストはキャッシュヒットなしで会話履歴全体を読み込みます。Claude Code はターンの開始時にそのヘッダーを 1 回設定し、ターン全体でそれを保持するため、Claude が作業中に fast mode をオンにすると、ヘッダーからのキャッシュミスは次のターンの最初のリクエストで発生します。これらのキャッシュされていない入力トークンは [fast mode の料金](https://code.claude.com/docs/ja/fast-mode.md#understand-the-cost-tradeoff) で請求されます。これが、セッションの開始時に fast mode をオンにすることが、長いセッションの深くでオンにすることより低コストである理由です。現在のモデルが fast mode をサポートしていない場合、fast mode を有効にすると [モデルも切り替わり](#switching-models)、そのスイッチ自体が実行中のターンの次のリクエストから新しいキャッシュを開始します。103[fast mode](https://code.claude.com/docs/ja/fast-mode.md) と標準速度はそれぞれ別のキャッシュを保持するため、fast mode をオンまたはオフにした後の次のリクエストは、もう一方の速度でキャッシュされた内容を使用できません。会話で初めて fast mode をオンにすると、次のリクエストはそれまでの会話全体をキャッシュなしで [fast mode の料金](https://code.claude.com/docs/ja/fast-mode.md#understand-the-cost-tradeoff) で読み込みます。このコストを小さく抑えるには、セッションの開始時にオンにしてください。

104 104 

105コストは会話ごとに 1 回適用されます。最初の fast mode ターンの後、Claude Code はヘッダーを送信し続け、キャッシュキーの一部ではないリクエストの速度設定のみを変更します。fast mode をオフにすること、[レート制限後の標準速度への自動フォールバック](https://code.claude.com/docs/ja/fast-mode.md#handle-rate-limits)、およびその後にオンに戻すことはすべてキャッシュを保持します。セッション中に [使用クレジットが不足した](https://code.claude.com/docs/ja/fast-mode.md#handle-rate-limits) 場合、Claude Code は拒否された各 fast mode リクエストを同じ方法で標準速度で再試行するため、このフォールバックもキャッシュを保持します。`/clear` と `/compact` はこれをリセットします。これらはいずれにしてもその時点でキャッシュを再構築するためです。105* Claude が作業中にオンにした場合、そのターンは標準速度で完了し、キャッシュされていない読み込みのコストは次のターンの最初のリクエストで支払います。

106* 現在のモデルが fast mode をサポートしていない場合、fast mode を有効にすると [Opus にも切り替わります](https://code.claude.com/docs/ja/fast-mode.md#toggle-fast-mode)。その [モデルスイッチ](#switching-models) 自体が、実行中のターンの次のリクエストから新しいキャッシュを開始します。

107 

108以降の各切り替えでは、切り替え先の速度にキャッシュされていない内容がキャッシュなしで読み込まれます。レート制限後の [標準速度へのフォールバック](https://code.claude.com/docs/ja/fast-mode.md#handle-rate-limits) や、その後の fast mode への復帰など、Claude Code が自動的に行う速度変更も切り替えとしてカウントされます。

106 109 

107### MCP サーバーの接続または削除110### MCP サーバーの接続または削除

108 111 


184>187>

185> コンテキスト圧縮は、破棄するコンテキストがもう必要ないコンテンツである場合に有利に働きます。そのオーバーヘッドが発生するタイミングを選択するには、自動圧縮がタスク中にトリガーされるのを待つのではなく、タスク間などの作業の自然な区切りで `/compact` を実行します。完全に放棄したい方向に進んでしまった場合は、代わりに [`/rewind`](#rewinding-the-conversation) で以前のターンに戻してください。巻き戻しは、圧縮のように新しいプレフィックスを構築するのではなく、既にキャッシュされているプレフィックスまで切り詰めます。188> コンテキスト圧縮は、破棄するコンテキストがもう必要ないコンテンツである場合に有利に働きます。そのオーバーヘッドが発生するタイミングを選択するには、自動圧縮がタスク中にトリガーされるのを待つのではなく、タスク間などの作業の自然な区切りで `/compact` を実行します。完全に放棄したい方向に進んでしまった場合は、代わりに [`/rewind`](#rewinding-the-conversation) で以前のターンに戻してください。巻き戻しは、圧縮のように新しいプレフィックスを構築するのではなく、既にキャッシュされているプレフィックスまで切り詰めます。

186 189 

187[1 時間の TTL](#which-ttl-each-request-gets) が適用されているターミナルセッションで長い会話をアイドル状態のままにすると、Claude Code はキャッシュが期限切れになる少し前にその会話を圧縮することがあります。アイドル時の圧縮をオフにするには、[`idleCompaction`](https://code.claude.com/docs/ja/settings-reference#idlecompaction) を `false` に設定します。これには Claude Code v2.1.290 以降が必要です。190[1 時間の TTL](#which-ttl-each-request-gets) が適用されている長い会話をアイドル状態のままにすると、Claude Code はその会話を圧縮することがあります。アイドル時の圧縮をオフにするには、[`idleCompaction`](https://code.claude.com/docs/ja/settings-reference#idlecompaction) を `false` に設定します。これには Claude Code v2.1.290 以降が必要です。

188 191 

189### 多くの画像の蓄積192### 多くの画像の蓄積

190 193 


309 312 

310Claude Code では、キャッシュは事実上 1 つのマシンとディレクトリにスコープされます。システムプロンプトは自動メモリパスを埋め込み、会話は作業ディレクトリ、プラットフォーム、シェル、OS バージョンのアナウンスで開始されます。異なるディレクトリの 2 つのセッションは、したがって異なるプリフィックスを構築し、互いのキャッシュをミスします。313Claude Code では、キャッシュは事実上 1 つのマシンとディレクトリにスコープされます。システムプロンプトは自動メモリパスを埋め込み、会話は作業ディレクトリ、プラットフォーム、シェル、OS バージョンのアナウンスで開始されます。異なるディレクトリの 2 つのセッションは、したがって異なるプリフィックスを構築し、互いのキャッシュをミスします。

311 314 

312同じディレクトリで並行して実行するセッションは、一致するプリフィックスを構築し、互いのキャッシュを読み取ります。順序付きセッションは、起動時に取得された git ステータススナップショットが一致する場合にのみプリフィックスを共有します。各会話はそのスナップショットからブランチと最近のコミットも保持するためです。315* 同じディレクトリで並行して実行するセッションは、一致するプリフィックスを構築し、互いのキャッシュを読み取ることができます。

316* 順序付きセッションは、起動時に取得された git ステータススナップショットが一致する場合にのみプリフィックスを共有します。各会話はそのスナップショットからブランチと最近のコミットも保持するためです。

317 

318基礎となる API キャッシュはより広いです。キャッシュは組織間で分離され、一部のプロバイダーでは、[組織内のワークスペース間](https://platform.claude.com/docs/ja/build-with-claude/prompt-caching#cache-storage-and-sharing)で分離されます。これらの境界内で、2 つのリクエストがキャッシュを共有するのは、モデル、[速度](#turning-on-fast-mode)、プリフィックスが一致する場合のみです。

313 319 

314基礎となる API キャッシュはより広いです。キャッシュは組織間で分離され、一部のプロバイダーでは、[組織内のワークスペース間](https://platform.claude.com/docs/ja/build-with-claude/prompt-caching#cache-storage-and-sharing)で分離されます。これらの境界内で、同じモデルとプリフィックスを持つ 2 つのリクエストは同じキャッシュを読み取ります。自動化されたプロセスのフリートを実行する Agent SDK 呼び出し元については、[ユーザーとマシン間でプロンプトキャッシングを改善](https://code.claude.com/docs/ja/agent-sdk/modifying-system-prompts.md#improve-prompt-caching-across-users-and-machines)を参照して、自動メモリの場所をシステムプロンプトから移動し、システムプロンプトのキャッシュエントリをユーザーとマシン間で共有します。320自動化されたプロセスのフリートを実行する Agent SDK 呼び出し元については、[ユーザーとマシン間でプロンプトキャッシュを改善](https://code.claude.com/docs/ja/agent-sdk/modifying-system-prompts.md#improve-prompt-caching-across-users-and-machines)を参照して、自動メモリの場所をシステムプロンプトから移動してください。

315 321 

316## キャッシュパフォーマンスを確認する322## キャッシュパフォーマンスを確認する

317 323 

Details

179* **変更の差分**:セッションのディレクトリが git リポジトリ内にある場合、接続されたデバイスの差分ペインに変更が表示されます。リポジトリのデフォルトブランチより先行するコミットがあるブランチでは、ペインにはデフォルトブランチから分岐して以降の変更が、コミットされていない編集も含めて表示されます。デフォルトブランチ自体、またはデフォルトブランチより先行していないブランチでは、コミットされていない変更のみが表示されます。179* **変更の差分**:セッションのディレクトリが git リポジトリ内にある場合、接続されたデバイスの差分ペインに変更が表示されます。リポジトリのデフォルトブランチより先行するコミットがあるブランチでは、ペインにはデフォルトブランチから分岐して以降の変更が、コミットされていない編集も含めて表示されます。デフォルトブランチ自体、またはデフォルトブランチより先行していないブランチでは、コミットされていない変更のみが表示されます。

180* **モデル**:接続されたデバイスから[モデル](https://code.claude.com/docs/ja/model-config.md)を選択すると、Claude Code はそのモデルでセッションを実行します。Claude Code v2.1.238 以降が必要です。デバイスのモデルコントロールで選択したモデルは現在のセッションにのみ適用されます。デバイスからインタラクティブセッションに `/model <name>` を送信すると、Claude Code は新しいセッションのデフォルトも設定します。180* **モデル**:接続されたデバイスから[モデル](https://code.claude.com/docs/ja/model-config.md)を選択すると、Claude Code はそのモデルでセッションを実行します。Claude Code v2.1.238 以降が必要です。デバイスのモデルコントロールで選択したモデルは現在のセッションにのみ適用されます。デバイスからインタラクティブセッションに `/model <name>` を送信すると、Claude Code は新しいセッションのデフォルトも設定します。

181* **effort レベル**:接続されたデバイスから `/effort` またはデバイスの effort コントロールで [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)を設定すると、Claude Code はそれをマシン上のセッションに適用します。`CLAUDE_CODE_EFFORT_LEVEL` でレベルを固定している場合、セッションはそのレベルを維持し、Claude Code は effort コントロールでの異なる選択を拒否します。effort コントロールからレベルを選択するには、マシン上で Claude Code v2.1.234 以降が必要です。181* **effort レベル**:接続されたデバイスから `/effort` またはデバイスの effort コントロールで [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)を設定すると、Claude Code はそれをマシン上のセッションに適用します。`CLAUDE_CODE_EFFORT_LEVEL` でレベルを固定している場合、セッションはそのレベルを維持し、Claude Code は effort コントロールでの異なる選択を拒否します。effort コントロールからレベルを選択するには、マシン上で Claude Code v2.1.234 以降が必要です。

182* **接続失敗後の再接続**:`/remote-control` を実行して再接続します。その間にコンテキスト圧縮によって会話が書き換えられたか、`/resume` で会話を切り替えた場合、Claude Code は使用していたサーバーセッションをセッション一覧に残さずアーカイブします。[アーカイブされたセッションでフィルタリング](https://code.claude.com/docs/ja/claude-code-on-the-web.md#archive-sessions)すれば引き続き見つけられます。デバイスが接続されたままの状態で会話を切り替えても、セッションはアーカイブされません。182* **接続失敗後の再接続**:`/remote-control` を実行して再接続します。その間にコンテキスト圧縮によって会話が書き換えられたか、`/resume` で会話を切り替えた場合、Claude Code は使用していたサーバーセッションをセッション一覧に残さずアーカイブします。そのセッションは、claude.ai/code の[アーカイブされたセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md#find-an-archived-session)から引き続き見つけられます。デバイスが接続されたままの状態で会話を切り替えても、セッションはアーカイブされません。

183 183 

184### すべてのセッションで Remote Control を有効にする184### すべてのセッションで Remote Control を有効にする

185 185 


401 401 

402## トラブルシューティング402## トラブルシューティング

403 403 

404### "Remote Control disconnected" or "Can't reach"

405 

406[claude.ai/code](https://claude.ai/code) またはデスクトップアプリで **Remote Control disconnected** または **Can't reach** メッセージが表示される場合、ブラウザまたはアプリがコンピューター上の Claude Code との接続を失ったことを意味します。どちらのメッセージも、見ていた Claude やサブエージェントがコンピューター上でまだ作業を続けているかどうかは示しません。そのコンピューターで Claude Code がどの状態にあるかを確認し、該当する手順に従って再接続してください。

407 

408* **対話型セッションに `Remote Control disconnected` と表示されている**:[その行に示されている理由に応じた再接続手順](#session-ended-elsewhere)に従ってください

409* **Claude Code が実行中で、失敗が表示されていない**:対話型セッションは、マシンがスリープから復帰してオンラインになると自動的に再接続するため、操作は不要です。`claude remote-control` を使用した場合は、[制限事項](#limitations)の **長時間のネットワーク障害** を参照してください

410* **Claude Code が実行されていない**:[再度起動してセッションを復元してください](#resume-sessions-after-stopping-the-server)

411 

404### "Remote Control requires a claude.ai subscription"412### "Remote Control requires a claude.ai subscription"

405 413 

406claude.ai アカウントでサインインしていないか、別の認証情報がログインより優先されています。メッセージは以下のいずれかの形式です。414claude.ai アカウントでサインインしていないか、別の認証情報がログインより優先されています。メッセージは以下のいずれかの形式です。


463* **`/remote-control`、`claude --remote-control`、または [自動接続](#enable-remote-control-for-all-sessions) で開始した場合**:セッションは Remote Control なしで実行し続け、Claude Code は claude.ai でそのセッションをアーカイブします471* **`/remote-control`、`claude --remote-control`、または [自動接続](#enable-remote-control-for-all-sessions) で開始した場合**:セッションは Remote Control なしで実行し続け、Claude Code は claude.ai でそのセッションをアーカイブします

464* **`claude remote-control` で開始した場合**:サーバーは停止し、提供していたセッションをアーカイブしてから終了します472* **`claude remote-control` で開始した場合**:サーバーは停止し、提供していたセッションをアーカイブしてから終了します

465 473 

466アーカイブされたセッションは、[アーカイブされたセッションでフィルタリング](https://code.claude.com/docs/ja/claude-code-on-the-web.md#archive-sessions)することで引き続き見つけられます。474これらのセッションを再び見つけるには、claude.ai/code で[アーカイブされたセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md#find-an-archived-session)を開いてください。

467 475 

468Remote Control は自動的には再接続しません。組織が再び許可した後にオンに戻すには、セッションで `/remote-control` を実行するか、シェルで `claude remote-control` を実行してください。このマシンの Claude Code が変更されたポリシーを取得するまで、どちらのコマンドも [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy) で失敗します。開いているセッションは約 1 時間に 1 回ポリシーを取得します。Remote Control をブロックしている原因を確認するには、コマンドが出力する完全なテキストをその項目と照合してください。476Remote Control は自動的には再接続しません。組織が再び許可した後にオンに戻すには、セッションで `/remote-control` を実行するか、シェルで `claude remote-control` を実行してください。このマシンの Claude Code が変更されたポリシーを取得するまで、どちらのコマンドも [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy) で失敗します。開いているセッションは約 1 時間に 1 回ポリシーを取得します。Remote Control をブロックしている原因を確認するには、コマンドが出力する完全なテキストをその項目と照合してください。

469 477 

routines.md +24 −4

Details

293 293 

294#### サポートされているイベント294#### サポートされているイベント

295 295 

296GitHub トリガーは、次のいずれかのイベントカテゴリにサブスクライブできます。各カテゴリ内で、`pull_request.opened` などの特定のアクションを選択するか、カテゴリ内のすべてのアクションに反応させることができます。296次のいずれかのカテゴリからイベントを選択します。各カテゴリ内で、`pull_request.opened` などの特定のアクションを選択するか、カテゴリ内のすべてのアクションに反応させることができます。

297 297 

298| イベント | トリガーのタイミング |298| イベント | トリガーのタイミング |

299| :- | :- |299| :- | :- |

300| プルリクエスト | PR がオープン、クローズ、割り当て、ラベル付け、同期、またはその他の方法で更新されたとき |300| プルリクエスト | PR がオープン、クローズ、割り当て、ラベル付け、同期、またはその他の方法で更新されたとき |

301| リリース | リリースが作成、公開、編集、または削除されたとき |301| リリース | リリースが作成、公開、編集、または削除されたとき |

302| Issue | Issue がオープン、編集、クローズ、再オープン、ラベル付け、割り当て、またはその他の方法で更新されたとき |

302 303 

303#### プルリクエストをフィルタリングする304#### プルリクエストをフィルタリングする

304 305 


333 334 

334任意の実行をクリックして、フルセッションとして開きます。そこから Claude が何をしたかを確認し、変更をレビューし、プルリクエストを作成するか、会話を続けることができます。各実行セッションは他のセッションと同じように機能します。セッションタイトルの横のドロップダウンメニューを使用して、名前変更、アーカイブ、または削除を行います。335任意の実行をクリックして、フルセッションとして開きます。そこから Claude が何をしたかを確認し、変更をレビューし、プルリクエストを作成するか、会話を続けることができます。各実行セッションは他のセッションと同じように機能します。セッションタイトルの横のドロップダウンメニューを使用して、名前変更、アーカイブ、または削除を行います。

335 336 

336> [!NOTE]337タスクの詳細ページの **History** では、完了した各実行の行の末尾に、実行が失敗した場合は **Error**、キャンセルされた場合は **Cancelled** と表示され、成功した場合はどちらも表示されません。**Status** フィルターでは、同じ 3 つの結果を **Failed**、**Cancelled**、**Succeeded** と呼びます。これらの結果はセッションがどのように終了したかを示すものであり、プロンプトに記述された作業を Claude が完了したかどうかを示すものではありません。何が起こったかを確認するには、実行を開いてトランスクリプトを読んでください。

337>338 

338> 実行リストの緑色のステータスは、セッションが開始され、インフラストラクチャエラーなしで終了したことを意味します。プロンプトに記述された作業が成功したことを意味するものではありません。実行を開いてトランスクリプトを読み、Claude が実際に何をしたかを確認してください。ブロックされたネットワークリクエスト、不足しているコネクタツール、作業自体の失敗は、いずれもステータスインジケーターではなくそこに表示されます。339* **Succeeded**: Claude Code が失敗を報告することなくセッションが終了しました。ブロックされたネットワークリクエスト、不足しているコネクタツール、Claude が完了できなかった作業は、行ではなくトランスクリプトに表示されます

340* **Failed**: セッションが正常に終了しませんでした。たとえば、予期せず停止した、エラーで終了した、または実行の開始前にアーカイブされた場合です

341* **Cancelled**: 実行は失敗しておらず、そのセッションがアーカイブされました。成功した実行のセッションをアーカイブすると、その実行は **Cancelled** に変わります。タスク側で変更する必要はありません

342 

343**History** に警告が表示される場合は、[「The last run」の警告](#the-last-run-didnt-start)を参照してください。

339 344 

340### スケジュールタスクを編集して制御する345### スケジュールタスクを編集して制御する

341 346 


499 504 

500Team または Enterprise 組織の Owner が、[**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities) の **Scheduled tasks (Was Routines)** トグルをオフにしている可能性があります。Claude Code v2.1.227 以降では、同じトグルで CLI の `/schedule` も非表示になります。これはサーバー側の組織設定であるため、ローカルの設定から上書きすることはできません。組織のスケジュールタスクを再びオンにするよう Owner に依頼してください。505Team または Enterprise 組織の Owner が、[**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities) の **Scheduled tasks (Was Routines)** トグルをオフにしている可能性があります。Claude Code v2.1.227 以降では、同じトグルで CLI の `/schedule` も非表示になります。これはサーバー側の組織設定であるため、ローカルの設定から上書きすることはできません。組織のスケジュールタスクを再びオンにするよう Owner に依頼してください。

501 506 

507### "The last run" の警告

508 

509**History** の下にある警告が「The last run」で始まる場合は、最初の列でその警告を探し、その行に記載された対処を行ってください。警告は、以降の実行が開始されると消えます。

510 

511| 警告 | 対処方法 |

512| :- | :- |

513| "The last run didn't start because your organization had reached its limit on cloud sessions running at once." | タスクを変更する必要はありません。後で **Run now** をクリックするか、次回の実行を待ってください |

514| "The last run didn't start because its cloud environment couldn't be found or used." | タスクの詳細ページで、名前の横にあるメニューを開き、**Edit** を選択して、[クラウド環境セレクター](#environments-and-network-access)を探します。**Unavailable environment** と表示されている場合、その環境はアーカイブされたか、アカウントで利用できなくなっているため、そこで別の環境を選択して変更を保存してください。それ以外の場合は、詳細ページの **Run now** で再試行するか、セレクターで別の環境を選択して変更を保存してください |

515| "The last run was blocked because it couldn't access something it needs, or your organization's policy doesn't allow it." | [GitHub アクセス](#repositories-and-branch-permissions)がタスクのリポジトリを対象に含んでいることを確認してください。含まれている場合は、Claude 組織の [Owner](https://code.claude.com/docs/ja/server-managed-settings.md#access-control) に、ポリシーがタスクをブロックしていないか確認してください |

516| "The last run didn't start because of a problem that's usually temporary." | **Run now** をクリックして再試行するか、次回の実行を待ってください |

517| "The last run didn't start because its repository or branch wasn't available." | タスク内の各リポジトリに[実行の開始元となるブランチ](#repositories-and-branch-permissions)が存在することを GitHub で確認してください。また、[GitHub アクセス](#repositories-and-branch-permissions)が各リポジトリを対象に含んでいることを確認し、接続の有効期限が切れている場合は GitHub に再接続してください |

518| "The last run didn't start because some of its settings weren't accepted." | タスクの詳細ページで、名前の横にあるメニューを開き、**Edit** を選択します。ダイアログにはどの設定項目が受け入れられなかったかは示されないため、タスクの名前、プロンプト、モデル、リポジトリ、環境、コネクタ、トリガーを含め、各設定項目をそこで確認してください |

519| "The last run stopped because a usage limit was reached." | 使用制限に達した後、タスクの実行を再開できるタイミングについては、[使用量と制限](#usage-and-limits)を参照してください |

520| "The last run failed." | **Run now** をクリックして再試行するか、次回の実行を待ってください。失敗した実行には開けるセッションがありません |

521 

502## 関連リソース522## 関連リソース

503 523 

504* [`/loop` とセッション内スケジューリング](https://code.claude.com/docs/ja/scheduled-tasks): 開いている CLI セッション内でローカルタスクをスケジュール524* [`/loop` とセッション内スケジューリング](https://code.claude.com/docs/ja/scheduled-tasks): 開いている CLI セッション内でローカルタスクをスケジュール

sandboxing.md +26 −2

Details

223* **パラメーターに対する確認ルール**:Bash の再試行時にプロンプトを表示させるには、`Bash(dangerouslyDisableSandbox:true)` に対する[確認ルール](https://code.claude.com/docs/ja/permissions.md#match-by-input-parameter)を追加します。auto モードと `bypassPermissions` モードでもプロンプトが表示され、このルールは一致する許可ルールより優先されます223* **パラメーターに対する確認ルール**:Bash の再試行時にプロンプトを表示させるには、`Bash(dangerouslyDisableSandbox:true)` に対する[確認ルール](https://code.claude.com/docs/ja/permissions.md#match-by-input-parameter)を追加します。auto モードと `bypassPermissions` モードでもプロンプトが表示され、このルールは一致する許可ルールより優先されます

224* **[`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ja/settings-reference#permissions-blockreadsoutsideworkingdirectories)**:これがオンの間にプロンプトが表示される再試行については、[どのモードでも自動承認されないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves)で説明しています224* **[`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ja/settings-reference#permissions-blockreadsoutsideworkingdirectories)**:これがオンの間にプロンプトが表示される再試行については、[どのモードでも自動承認されないアクション](https://code.claude.com/docs/ja/permission-modes.md#actions-no-mode-auto-approves)で説明しています

225 225 

226コマンドが [`Sandbox is required` メッセージ](#commands-refused-with-sandbox-is-required)で拒否されている間は、Claude Code は `dangerouslyDisableSandbox` パラメーターを無視し、再試行も拒否します。

227 

226#### strict sandbox モードで再試行をオフにする228#### strict sandbox モードで再試行をオフにする

227 229 

228[サンドボックス設定](https://code.claude.com/docs/ja/settings-reference.md#sandbox-settings)で `"allowUnsandboxedCommands": false` を設定すると、サンドボックス外での再試行を無効にできます。再試行が無効になると、Claude Code は `dangerouslyDisableSandbox` パラメーターを無視します。これにより、サンドボックスが動作している間、Claude が実行するコマンドは `excludedCommands` のエントリに一致しない限りサンドボックス化されます。サンドボックスを起動できないときに Claude Code がコマンドをサンドボックス外で実行しないようにするには、[`failIfUnavailable`](https://code.claude.com/docs/ja/settings-reference#sandbox-failifunavailable) も設定します。`/sandbox` の **Overrides** タブでは、この設定は **Strict sandbox mode** として表示されます。230[サンドボックス設定](https://code.claude.com/docs/ja/settings-reference.md#sandbox-settings)で `"allowUnsandboxedCommands": false` を設定すると、サンドボックス外での再試行を無効にできます。再試行が無効になると、Claude Code は `dangerouslyDisableSandbox` パラメーターを無視します。これにより、サンドボックスが動作している間、Claude が実行するコマンドは `excludedCommands` のエントリに一致しない限りサンドボックス化されます。サンドボックスを起動できないときに Claude Code がコマンドをサンドボックス外で実行しないようにするには、[`failIfUnavailable`](https://code.claude.com/docs/ja/settings-reference#sandbox-failifunavailable) も設定します。`/sandbox` の **Overrides** タブでは、この設定は **Strict sandbox mode** として表示されます。


899 901 

900### 0 バイトの読み取り専用ファイルが `.claude` 設定パスに表示され、「はい、今後は聞かない」が保存されない902### 0 バイトの読み取り専用ファイルが `.claude` 設定パスに表示され、「はい、今後は聞かない」が保存されない

901 903 

902Linux と WSL2 では、サンドボックスはサンドボックス化されたコマンドが実行されている間に、まだ存在しないファイルに対する書き込み拒否を保持するために、そこに 0 バイトの読み取り専用プレースホルダーを作成します。サンドボックスはその後プレースホルダーを削除します。SIGKILL などによってセッションがそのクリーンアップが実行される前に強制終了された場合、プレースホルダーは残ります。後のセッションは毎回起動時にそれらを読み取り専用で再度バインドするため、プレースホルダーが残っている箇所では、権限の選択を保存するなどの設定書き込みが失敗します。904Linux と WSL2 では、サンドボックスはサンドボックス化されたコマンドが実行されている間に、まだ存在しないファイルに対する書き込み拒否を保持するために、そこに 0 バイトの読み取り専用プレースホルダーを作成します。サンドボックスはその後プレースホルダーを削除します。

905 

906次のような場合、プレースホルダーは残ります:

907 

908* SIGKILL などによって、そのクリーンアップが実行される前にセッションが強制終了された場合

909* バックグラウンドコマンドなど、サンドボックス化されたコマンドがまだ実行中の間にセッションが終了した場合

903 910 

904ターミナルで `claude doctor` を実行して、残されたプレースホルダーファイルをリストアップしてください。[`Sandbox mask files left behind at write-deny paths`](https://code.claude.com/docs/ja/errors#stale-sandbox-mask-files-left-by-a-killed-session) 警告はその一部の名前を表示し、残りをカウントします。そのプロジェクトで他の Claude Code セッションが実行されていない間に、`rm` で各ファイルを削除してください。v2.1.257 より前では、Claude Code は同じプレースホルダーを残していましたが、警告していませんでした。911後のセッションは毎回起動時にそれらを読み取り専用で再度バインドするため、プレースホルダーが残っている箇所では、権限の選択を保存するなどの設定書き込みが失敗します。

912 

913ターミナルで `claude doctor` を実行して、残されたプレースホルダーファイルをリストアップしてください。[`Sandbox mask files left behind at write-deny paths`](https://code.claude.com/docs/ja/errors#stale-sandbox-mask-files-left-by-a-killed-session) 警告はその一部の名前を表示し、残りをカウントします。そのプロジェクトで他の Claude Code セッションが実行されていない間に、`rm` で各ファイルを削除してください。v2.1.257 より前では、Claude Code はセッションが強制終了されたときに同じプレースホルダーを残していましたが、警告していませんでした。

905 914 

906### サンドボックスがオンの状態で SSH 経由の `git` が失敗する915### サンドボックスがオンの状態で SSH 経由の `git` が失敗する

907 916 


1000 1009 

1001v2.1.284 より前では、プロキシは許可されたホスト名がどのアドレスに解決されても接続していました。1010v2.1.284 より前では、プロキシは許可されたホスト名がどのアドレスに解決されても接続していました。

1002 1011 

1012### コマンドが `Sandbox is required` で拒否される

1013 

1014[`sandbox.failIfUnavailable`](https://code.claude.com/docs/ja/settings-reference#sandbox-failifunavailable) でサンドボックスを必須にしていて、Claude Code の起動後にサンドボックスが次のいずれかの形で失敗した場合、Claude が実行するサンドボックス化された各コマンドは、示されたメッセージとともに拒否されます。セッションは実行を続け、拒否されたコマンドがサンドボックス外で実行されることはありません:

1015 

1016* **`Sandbox is required but failed to initialize: <reason>`**:Claude Code は起動しましたが、その後サンドボックスの初期化に失敗しました。メッセージに示された手順(`Restart to retry.` または `Fix the sandbox settings to retry`)に従ってください。

1017* **`Sandbox is required (sandbox.failIfUnavailable) and stopped being available in this session: <reason>`**:Linux または WSL2 で、サンドボックスは起動しましたが、その後 Claude Code が依存関係の不足を検出しました。理由に示された問題を修正し([不足している依存関係のインストール](#set-up-linux-and-wsl2)など)、Claude Code を再起動してください。

1018 

1019除外されたコマンドとユーザーが自分で入力したコマンドは引き続き実行され、Claude は拒否されたコマンドをサンドボックス外で再試行できません:

1020 

1021* **除外されたコマンド**:[`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands) エントリに一致するコマンドは、引き続きサンドボックス外で実行されます。そのようなコマンドが作業ディレクトリ外の [`filesystem.allowWrite`](https://code.claude.com/docs/ja/settings-reference#sandbox-filesystem-allowwrite) パスに書き込む場合、その書き込みは通常の権限フローを経由します。[管理者必須のサンドボックス](#repository-settings-under-an-admin-required-sandbox)の下では、Claude Code はリポジトリの設定からのエントリを無視します

1022* **[`!` シェルモードのプロンプト](https://code.claude.com/docs/ja/interactive-mode#shell-mode-with-prefix)で入力したコマンド**:引き続きサンドボックス外で実行されます。[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)では、これらも拒否されます

1023* **サンドボックス外での再試行**:Claude Code は[サンドボックス外での再試行](#the-unsandboxed-retry-escape-hatch)の `dangerouslyDisableSandbox` パラメータを無視します

1024 

1025`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` が設定された Linux セッションでは、すべてのコマンドがサンドボックス内で実行されるため、除外されたコマンドやユーザーが入力したコマンドも拒否されます。

1026 

1003### `/sandbox` が `Sandbox settings are overridden by a higher-priority configuration` で失敗する1027### `/sandbox` が `Sandbox settings are overridden by a higher-priority configuration` で失敗する

1004 1028 

1005上位の[設定レベル](https://code.claude.com/docs/ja/settings.md#settings-precedence)が `sandbox.enabled`、`sandbox.autoAllowBashIfSandboxed`、または `sandbox.allowUnsandboxedCommands` を設定している場合、`/sandbox` はパネルを開く代わりに `Error: Sandbox settings are overridden by a higher-priority configuration and cannot be changed locally.` を出力します。パネルは選択内容を `.claude/settings.local.json` に保存しますが、そこに保存された値はそれらのレベルを上書きできません。1029上位の[設定レベル](https://code.claude.com/docs/ja/settings.md#settings-precedence)が `sandbox.enabled`、`sandbox.autoAllowBashIfSandboxed`、または `sandbox.allowUnsandboxedCommands` を設定している場合、`/sandbox` はパネルを開く代わりに `Error: Sandbox settings are overridden by a higher-priority configuration and cannot be changed locally.` を出力します。パネルは選択内容を `.claude/settings.local.json` に保存しますが、そこに保存された値はそれらのレベルを上書きできません。

Details

788 788 

789これらのソースが適用される順序については、[設定の優先順位](https://code.claude.com/docs/ja/settings.md#settings-precedence) を参照してください。789これらのソースが適用される順序については、[設定の優先順位](https://code.claude.com/docs/ja/settings.md#settings-precedence) を参照してください。

790 790 

791Anthropic のコントロールプレーンがセッションに [Claude Code フック](https://code.claude.com/docs/ja/hooks.md) を提供する場合、ランナーはそれらを独自の設定の上ではなく隣に設定します。Claude Code v2.1.229 以降が必要です。791Anthropic のコントロールプレーンがセッションに [Claude Code フック](https://code.claude.com/docs/ja/hooks.md) を提供する場合、ランナーはそれらを独自の設定の上ではなく隣に設定します。Claude Code v2.1.229 以降が必要です。それより古いランナーは提供されたフックを無視します。提供されたフックは `python3` を実行するため、[ランナーイメージ](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#build-the-runner-image) に `python3` をインストールしてください。

792 792 

793* **どこに着地するか**:ランナーは提供された各フックスクリプトをセッションの設定ディレクトリの予約済み `hooks/.ccr-launcher/` サブディレクトリに書き込み、スクリプトを `--settings` で渡す別の設定ファイルに登録し、シードされた `settings.json` と `hooks/<name>` の独自のスクリプトを変更しないままにします。ランナーは各セッションの予約済みサブディレクトリを再作成し、`~/.claude/hooks/.ccr-launcher/` のホストコンテンツをセッションにシードしません。793* **どこに着地するか**:ランナーは提供された各フックスクリプトをセッションの設定ディレクトリの予約済み `hooks/.ccr-launcher/` サブディレクトリに書き込み、スクリプトを `--settings` で渡す別の設定ファイルに登録し、シードされた `settings.json` と `hooks/<name>` の独自のスクリプトを変更しないままにします。ランナーは各セッションの予約済みサブディレクトリを再作成し、`~/.claude/hooks/.ccr-launcher/` のホストコンテンツをセッションにシードしません。

794* **誰がそれらを作成するか**:コントロールプレーンはセッションごとまたはサードパーティ入力からではなく、独自のデプロイメント内の固定定数からスクリプトを入力します。794* **誰がそれらを作成するか**:コントロールプレーンはセッションごとまたはサードパーティ入力からではなく、独自のデプロイメント内の固定定数からスクリプトを入力します。

Details

344 344 

345## ランナーイメージをビルドする345## ランナーイメージをビルドする

346 346 

347Anthropic は事前にビルドされたランナーイメージを公開していません。`claude` バイナリの周りに独自のイメージをビルドし、リポジトリが必要とするツールチェーン(言語ランタイム、コンパイラ、パッケージマネージャー、[MCP](https://code.claude.com/docs/ja/mcp.md) サイドカー)をレイヤーに追加してください。347Anthropic はビルド済みのランナーイメージを公開していません。`claude` バイナリを中心に独自のイメージをビルドし、リポジトリに必要なツールチェーン(言語ランタイム、コンパイラ、パッケージマネージャー、[MCP](https://code.claude.com/docs/ja/mcp.md) サイドカーなど)を重ねてください。

348 348 

349以下のレシピは `--capacity 4` を使用しているため、1 つのコンテナが同じロックされたオーナーからの最大 4 つの同時セッションを処理します。これは[ハードニングセクション](#harden-your-deployment)のセッションごとのコンテナ分離を提供していません。環境を本番システムに接続する前に、レシピを `--capacity 1` で実行してセッションごとに 1 つのコンテナを使用するか、[オンデマンドランナー](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#on-demand-runners)を使用してください。オンデマンドランナーは、セッション実行ホストから環境シークレットを保持します。これらのレシピのいずれかに[Anthropic git プロキシ](#use-the-anthropic-git-proxy)を追加する場合は、`--capacity` も `1` に変更してください。349以下のレシピでは `--capacity 4` を使用しているため、1 つのコンテナが同じロックされたオーナーからの最大 4 つの同時セッションを処理します。これでは[強化のセクション](#harden-your-deployment)で説明しているセッションごとのコンテナ分離は実現されません。環境を本番システムに接続する前に、レシピを `--capacity 1` で実行してセッションごとに 1 つのコンテナを使用するか、[オンデマンドランナー](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#on-demand-runners)を使用してください。オンデマンドランナーを使用すると、環境シークレットがセッションを実行するホスト上に置かれないようにすることもできます。これらのレシピのいずれかに [Anthropic git プロキシ](#use-the-anthropic-git-proxy)を追加する場合は、`--capacity` も `1` に変更してください。

350 350 

351これは最小限の開始点となる Dockerfile です。351この Dockerfile は最小限の出発点です。`python3` をインストールしているのは、[Anthropic のコントロールプレーンが Claude Tag セッションに提供するフック](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#how-each-session’s-config-is-assembled)(Claude に Slack で返信を投稿させるフックを含む)が `python3` を実行するためです。Claude Tag セッションを処理するすべてのイメージで、`python3` を `PATH` 上に維持してください。

352 352 

353```dockerfile theme={null}353```dockerfile theme={null}

354FROM debian:bookworm-slim354FROM debian:bookworm-slim

355ARG CLAUDE_CODE_VERSION355ARG CLAUDE_CODE_VERSION

356RUN apt-get update && apt-get install -y --no-install-recommends git curl ca-certificates openssh-client jq \356RUN apt-get update && apt-get install -y --no-install-recommends git curl ca-certificates openssh-client jq python3 \

357 && rm -rf /var/lib/apt/lists/*357 && rm -rf /var/lib/apt/lists/*

358RUN curl -fsSL "https://downloads.claude.ai/claude-code-releases/${CLAUDE_CODE_VERSION:?set with --build-arg CLAUDE_CODE_VERSION}/linux-x64/claude" \358RUN curl -fsSL "https://downloads.claude.ai/claude-code-releases/${CLAUDE_CODE_VERSION:?set with --build-arg CLAUDE_CODE_VERSION}/linux-x64/claude" \

359 -o /usr/local/bin/claude && chmod +x /usr/local/bin/claude359 -o /usr/local/bin/claude && chmod +x /usr/local/bin/claude


363ENTRYPOINT ["claude"]363ENTRYPOINT ["claude"]

364```364```

365 365 

366ARM ノードの場合は `linux-x64` を `linux-arm64` に置き換えるか、Alpine などの musl ベースのイメージの場合は `linux-x64-musl` または `linux-arm64-musl` に置き換えてください。[Alpine Linux セットアップ](https://code.claude.com/docs/ja/setup.md#alpine-linux-and-musl-based-distributions)を参照して、musl イメージが必要とする追加パッケージを確認してください。URL は標準的な Claude Code リリースロケーションであるため、[バイナリの整合性とコード署名](https://code.claude.com/docs/ja/setup.md#binary-integrity-and-code-signing)で説明されているように、ダウンロードされたバイナリをリリースの署名されたマニフェストに対して検証できます。ランナーは Claude Code バージョン 2.1.224 以降が必要です。イメージをビルドしてから、レジストリにプッシュし、以下のレシピで参照してください。366ノードが ARM の場合は `linux-x64` を `linux-arm64` に置き換え、Alpine などの musl ベースのイメージでは `linux-x64-musl` または `linux-arm64-musl` に置き換えてください。musl イメージに必要な追加パッケージについては、[Alpine Linux のセットアップ](https://code.claude.com/docs/ja/setup.md#alpine-linux-and-musl-based-distributions)を参照してください。この URL は標準の Claude Code リリース配布場所であるため、[バイナリの整合性とコード署名](https://code.claude.com/docs/ja/setup.md#binary-integrity-and-code-signing)で説明しているとおり、ダウンロードしたバイナリをリリースの署名付きマニフェストと照合して検証できます。ランナーには Claude Code バージョン 2.1.224 以降が必要で、Claude Tag セッションを処理するには 2.1.229 以降が必要です。イメージをビルドしたら、レジストリにプッシュし、以下のレシピで参照してください。

367 367 

368```bash theme={null}368```bash theme={null}

369docker build \369docker build \


371 -t <your-registry>/claude-runner:latest .371 -t <your-registry>/claude-runner:latest .

372```372```

373 373 

374コマンド置換は現在の `stable` リリース番号を検索し、ビルド引数として渡すため、新しい安定版リリース後に同じコマンドを実行すると、ダウンロードレイヤーが新しいバイナリで再ビルドされます。再現可能なビルドのために特定のリリースをピンするには、バージョン番号を `CLAUDE_CODE_VERSION` として直接渡してください。[新しくリリースされたモデルが必要とする](https://code.claude.com/docs/ja/model-config.md)ような安定版チャネルより新しいリリースが必要な場合は、ルックアップ URL の `stable` を `latest` に置き換えてください。374このコマンド置換は現在の `stable` リリース番号を調べてビルド引数として渡すため、新しい stable リリースの後に同じコマンドを実行すると、ダウンロードレイヤーが新しいバイナリで再ビルドされます。再現可能なビルドのために特定のリリースに固定するには、バージョン番号を `CLAUDE_CODE_VERSION` として直接渡してください。stable チャネルより新しいリリース([新しくリリースされたモデルが必要とする](https://code.claude.com/docs/ja/model-config.md)リリースなど)が必要な場合は、参照先 URL の `stable` を `latest` に置き換えてください。

375 375 

376## セッション用に CPU とメモリをサイズ設定する376## セッション用に CPU とメモリをサイズ設定する

377 377 


768 * **`checkout` フックを使用する場合**: [`checkout` ライフサイクルフック](https://code.claude.com/docs/ja/self-hosted-environments-configuration#checkout)でチェックアウトされたリポジトリはプッシュされません。代わりに [`post-session` フック](https://code.claude.com/docs/ja/self-hosted-environments-configuration#post-session)からそれらのスナップショットを取得してください。768 * **`checkout` フックを使用する場合**: [`checkout` ライフサイクルフック](https://code.claude.com/docs/ja/self-hosted-environments-configuration#checkout)でチェックアウトされたリポジトリはプッシュされません。代わりに [`post-session` フック](https://code.claude.com/docs/ja/self-hosted-environments-configuration#post-session)からそれらのスナップショットを取得してください。

769 * **フラグを有効にする前に**: ソースリモート上の `claude/*` ref にプッシュできるユーザーを制限してください。再開時、ランナーは以前にプッシュされたブランチを、誰がプッシュしたかを検証せずにフェッチします。769 * **フラグを有効にする前に**: ソースリモート上の `claude/*` ref にプッシュできるユーザーを制限してください。再開時、ランナーは以前にプッシュされたブランチを、誰がプッシュしたかを検証せずにフェッチします。

770 * **コミットされていない変更は引き続き失われる**: Claude が応答を終えたときにコミットとプッシュを行うよう促すには、[セッションに作業のプッシュを促す](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)を参照してください。770 * **コミットされていない変更は引き続き失われる**: Claude が応答を終えたときにコミットとプッシュを行うよう促すには、[セッションに作業のプッシュを促す](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)を参照してください。

771* **ランナーの喪失によって中断されたコマンドが再度実行されることがある**: セッションが別のランナーで再開されると、中断されたツール呼び出しが、その成否が不明であることを示す結果とともに Claude に表示されます。

771* **セッションの途中で追加したリポジトリのクローンが失敗することがある**: Claude は HTTPS 経由の `git clone` でリポジトリをクローンします。[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) を使用していないランナーでは、ホスト上にリポジトリを読み取れるものが何もない場合、クローンは git の認証エラーで失敗します。可能であれば、セッションの作成時に、セッションで必要なすべてのリポジトリを選択してください。772* **セッションの途中で追加したリポジトリのクローンが失敗することがある**: Claude は HTTPS 経由の `git clone` でリポジトリをクローンします。[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) を使用していないランナーでは、ホスト上にリポジトリを読み取れるものが何もない場合、クローンは git の認証エラーで失敗します。可能であれば、セッションの作成時に、セッションで必要なすべてのリポジトリを選択してください。

772* **一部のコネクタがセルフホストセッションに表示されない**: claude.ai の設定でまだ接続していないコネクタはセルフホストセッションに表示されず、セッションから接続を求められることもありません。まず設定で接続してから、新しいセッションを開始してください。また、すでに実行中のセッションにコネクタを追加しても、そのツールは Claude で使用できるようになりません。新しく追加したコネクタを反映するには、新しいセッションを開始してください。773* **一部のコネクタがセルフホストセッションに表示されない**: claude.ai の設定でまだ接続していないコネクタはセルフホストセッションに表示されず、セッションから接続を求められることもありません。まず設定で接続してから、新しいセッションを開始してください。また、すでに実行中のセッションにコネクタを追加しても、そのツールは Claude で使用できるようになりません。新しく追加したコネクタを反映するには、新しいセッションを開始してください。

773* **誰かがセッションをアーカイブまたは削除した場合、またはセッションのメニューからランナーを解放した場合**: [`--push-outcome-on-release`](https://code.claude.com/docs/ja/self-hosted-environments-reference#runner-cli-flags) によるプッシュは当てにしないでください。このような場合にコミットを保存するには、[`post-session` フック](https://code.claude.com/docs/ja/self-hosted-environments-configuration#post-session)から `HEAD` を退避用ブランチにプッシュしてください。そこにある例をもとにする場合は、コミットされていない変更が何もないときでもプッシュするように変更してください。この例はスナップショットのコミットを作成した後にのみプッシュするためです。774* **誰かがセッションをアーカイブまたは削除した場合、またはセッションのメニューからランナーを解放した場合**: [`--push-outcome-on-release`](https://code.claude.com/docs/ja/self-hosted-environments-reference#runner-cli-flags) によるプッシュは当てにしないでください。このような場合にコミットを保存するには、[`post-session` フック](https://code.claude.com/docs/ja/self-hosted-environments-configuration#post-session)から `HEAD` を退避用ブランチにプッシュしてください。そこにある例をもとにする場合は、コミットされていない変更が何もないときでもプッシュするように変更してください。この例はスナップショットのコミットを作成した後にのみプッシュするためです。


824 ランナーをアップグレードするか原因を修正したら、セッションを再試行するか、新しいセッションを開始してください。これらのチェックで原因が見つからない場合は、[問題を報告](#report-an-issue)してください。825 ランナーをアップグレードするか原因を修正したら、セッションを再試行するか、新しいセッションを開始してください。これらのチェックで原因が見つからない場合は、[問題を報告](#report-an-issue)してください。

825 826 

826 セッションが結果をプッシュするソースでは、ブランチが削除されているとセッションが失敗します。セッションが読み取るだけの git ソースでは、ランナーはそのソースをスキップして残りのソースで続行します。スキップするとリポジトリがまったくなくなる場合、ランナーはセッションを失敗させます。v2.1.228 より前は、そのようなセッションは空のディレクトリで開始されていました。827 セッションが結果をプッシュするソースでは、ブランチが削除されているとセッションが失敗します。セッションが読み取るだけの git ソースでは、ランナーはそのソースをスキップして残りのソースで続行します。スキップするとリポジトリがまったくなくなる場合、ランナーはセッションを失敗させます。v2.1.228 より前は、そのようなセッションは空のディレクトリで開始されていました。

828* **Claude Tag が Slack に返信を投稿しないことがある**: 返信のリマインダーは、[コントロールプレーンが提供するフック](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#how-each-session’s-config-is-assembled)です。古いランナーは提供されたフックを無視するため、`claude --version` でランナーが Claude Code v2.1.229 以降であることを確認してください。フックは `python3` を実行するため、ランナーイメージ内で `python3 --version` が成功することを確認してください。また、フックをオフにする設定ファイルがないことを確認してください。対象は、`managed-settings.json`、ランナーユーザーの `~/.claude/settings.json`、リポジトリの `.claude/settings.json` または `.claude/settings.local.json` にある `disableAllHooks`、および管理設定内の `allowManagedHooksOnly` またはフックを対象とする [`strictPluginOnlyCustomization`](https://code.claude.com/docs/ja/settings-reference#strictpluginonlycustomization) です。

827* **セッションがリポジトリの 1 つを欠いたまま開始される**: [`checkout` フック](https://code.claude.com/docs/ja/self-hosted-environments-configuration#checkout)のないランナーでは、セッションが読み取るだけのリポジトリについて、git ホストがランナーのアクセスチェックを拒否することがあります。その場合、ランナーはそのリポジトリをスキップし、拒否内容を示す `[runner:warn] could not access context source` 行をログに記録して、残りのリポジトリでセッションを開始します。829* **セッションがリポジトリの 1 つを欠いたまま開始される**: [`checkout` フック](https://code.claude.com/docs/ja/self-hosted-environments-configuration#checkout)のないランナーでは、セッションが読み取るだけのリポジトリについて、git ホストがランナーのアクセスチェックを拒否することがあります。その場合、ランナーはそのリポジトリをスキップし、拒否内容を示す `[runner:warn] could not access context source` 行をログに記録して、残りのリポジトリでセッションを開始します。

828 830 

829 ランナーがスキップするのは明確な拒否の場合のみです。つまり、ホストがリポジトリが見つからないと応答した場合、git がホストの認証情報を見つけられない場合、または認証に失敗した場合です。ネットワーク障害、タイムアウト、HTTP `403` の場合は、セッションが結果をプッシュするリポジトリに対する拒否と同様に、引き続きセッションの開始が失敗します。スキップするとリポジトリがまったくなくなるセッションは、引き続きランナーによって失敗とされます。[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) を使用する場合、ランナーは git プロキシ自体が拒否したリポジトリのみをスキップします。831 ランナーがスキップするのは明確な拒否の場合のみです。つまり、ホストがリポジトリが見つからないと応答した場合、git がホストの認証情報を見つけられない場合、または認証に失敗した場合です。ネットワーク障害、タイムアウト、HTTP `403` の場合は、セッションが結果をプッシュするリポジトリに対する拒否と同様に、引き続きセッションの開始が失敗します。スキップするとリポジトリがまったくなくなるセッションは、引き続きランナーによって失敗とされます。[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) を使用する場合、ランナーは git プロキシ自体が拒否したリポジトリのみをスキップします。

Details

35 35 

36開始する前にホストにインストールしてください。36開始する前にホストにインストールしてください。

37 37 

38* **Claude Code v2.1.224 以降**。[標準インストール方法](https://code.claude.com/docs/ja/setup.md)のいずれかを使用します。ランナーは標準 `claude` バイナリの一部であり、以前のバージョンは `self-hosted-runner` サブコマンドを認識しません。フリートが実行する正確なバージョンをピンするには、[特定のバージョンをインストール](https://code.claude.com/docs/ja/setup.md#install-a-specific-version)を参照してください。コンテナイメージについては、[本番環境へのデプロイ](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#build-the-runner-image)の Dockerfile を参照してください。38* **Claude Code v2.1.224 以降**。[標準インストール方法](https://code.claude.com/docs/ja/setup.md)のいずれかを使用します。ランナーは標準 `claude` バイナリの一部であり、以前のバージョンは `self-hosted-runner` サブコマンドを認識しません。Claude Tag セッションを処理するランナーには、v2.1.229 以降と `PATH` 上の `python3` が必要です。これらのセッション用に[コントロールプレーンが提供するフック](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#how-each-session’s-config-is-assembled)が `python3` を実行するためです。フリートが実行する正確なバージョンをピンするには、[特定のバージョンをインストール](https://code.claude.com/docs/ja/setup.md#install-a-specific-version)を参照してください。コンテナイメージについては、[本番環境へのデプロイ](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#build-the-runner-image)の Dockerfile を参照してください。

39* **Git 2.24 以降**。デプロイページの一部の git オプションはより新しいバージョンが必要です。[git を設定](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#configure-git)は各フロアを記載しています。39* **Git 2.24 以降**。デプロイページの一部の git オプションはより新しいバージョンが必要です。[git を設定](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#configure-git)は各フロアを記載しています。

40 40 

41ホストの準備ができていることを確認します。41ホストの準備ができていることを確認します。

Details

52| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | 未設定 | 既知の時刻にランナーを強制終了するインフラ向けに、秒単位の絶対 Unix タイムスタンプでランナーを退役させます。解放の手順とマージンの見積もり方については、[ランナーのライフサイクル](https://code.claude.com/docs/ja/self-hosted-environments#runner-lifecycle)で説明しています。2001 年より前または 5138 年より後の値は、フラグでは拒否され、環境変数では無視されます。 |52| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | 未設定 | 既知の時刻にランナーを強制終了するインフラ向けに、秒単位の絶対 Unix タイムスタンプでランナーを退役させます。解放の手順とマージンの見積もり方については、[ランナーのライフサイクル](https://code.claude.com/docs/ja/self-hosted-environments#runner-lifecycle)で説明しています。2001 年より前または 5138 年より後の値は、フラグでは拒否され、環境変数では無視されます。 |

53| `--server-auto-mode-lists <mode>` | `SELF_HOSTED_RUNNER_SERVER_AUTO_MODE_LISTS` | `no-allow` | コントロールプレーンがセッションとともに送信する [auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)の分類器ルールリストのうち、どれをそのセッションに届けるかを指定します。値は `all`、`no-allow`、`none` のいずれかです。各値で何が適用されるかについては、[auto モードのルールリスト](#auto-mode-rule-lists)を参照してください。無効な値を指定すると、ランナーは起動時に停止します。Claude Code v2.1.295 以降が必要です。 |53| `--server-auto-mode-lists <mode>` | `SELF_HOSTED_RUNNER_SERVER_AUTO_MODE_LISTS` | `no-allow` | コントロールプレーンがセッションとともに送信する [auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)の分類器ルールリストのうち、どれをそのセッションに届けるかを指定します。値は `all`、`no-allow`、`none` のいずれかです。各値で何が適用されるかについては、[auto モードのルールリスト](#auto-mode-rule-lists)を参照してください。無効な値を指定すると、ランナーは起動時に停止します。Claude Code v2.1.295 以降が必要です。 |

54| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | セッションの終了後、強制終了する前に Claude プロセスが正常に終了するのを待つ時間。子プロセス自身の `SessionEnd` フックにより多くの時間が必要な場合は、値を引き上げてください。 |54| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | セッションの終了後、強制終了する前に Claude プロセスが正常に終了するのを待つ時間。子プロセス自身の `SessionEnd` フックにより多くの時間が必要な場合は、値を引き上げてください。 |

55| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | 子プロセスが N 分以内に[アクティビティチャネル](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#keep-stdin-and-file-descriptor-3-attached)で初期化完了を通知しなかった場合、セッションスロットを解放します。N 分はクローン後の起動時点から計測が始まり、子プロセスが初期化するか状態を報告する前に `user` または `assistant` メッセージを出力するたびに、計測がやり直しになります。v2.1.299 より前は、このタイムアウトはセッションで最初にそのようなメッセージが出力された時点で適用されなくなっていました。初期化シグナル後の解放については、`--release-idle-session-min` を参照してください。`0` で無効になります。 |55| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | 初期化されていない子プロセスを、セッションのスロットを解放するまでに待つ時間。計測がどこから始まるか、またどのセッションが実行されたまま残るかについては、[セッション起動タイムアウト](#session-startup-timeout)を参照してください。`0` でタイムアウトが無効になります。 |

56| `--trust-workspace [bool]` | `SELF_HOSTED_RUNNER_TRUST_WORKSPACE` | オン | 各セッションのリポジトリパスに対する永続的な信頼を事前に設定し、リポジトリにコミットされた `permissions.allow` と `additionalDirectories` が尊重されるようにします。`false` に設定すると、リポジトリにコミットされた権限の付与を破棄し、代わりにホスト設定の `settings.json` で許可ルールを構成します。リポジトリにコミットされた `sandbox.*` 設定はどちらの場合も適用されるため、[リポジトリ設定ガード](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#harden-your-deployment)はこのフラグに関係なくそれらをスキャンします。 |56| `--trust-workspace [bool]` | `SELF_HOSTED_RUNNER_TRUST_WORKSPACE` | オン | 各セッションのリポジトリパスに対する永続的な信頼を事前に設定し、リポジトリにコミットされた `permissions.allow` と `additionalDirectories` が尊重されるようにします。`false` に設定すると、リポジトリにコミットされた権限の付与を破棄し、代わりにホスト設定の `settings.json` で許可ルールを構成します。リポジトリにコミットされた `sandbox.*` 設定はどちらの場合も適用されるため、[リポジトリ設定ガード](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#harden-your-deployment)はこのフラグに関係なくそれらをスキャンします。 |

57| `--use-anthropic-git-proxy` | `CLAUDE_RUNNER_USE_GIT_PROXY=1` | オフ | 顧客が管理する git 認証の代わりに、[Anthropic git プロキシ](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy)経由で github.com 上のリポジトリをクローンします。`--capacity 1` と git 2.32 以降が必要で、これらを満たさない場合、ランナーは起動を拒否します。書き換えフラグよりも優先されます。 |57| `--use-anthropic-git-proxy` | `CLAUDE_RUNNER_USE_GIT_PROXY=1` | オフ | 顧客が管理する git 認証の代わりに、[Anthropic git プロキシ](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy)経由で github.com 上のリポジトリをクローンします。`--capacity 1` と git 2.32 以降が必要で、これらを満たさない場合、ランナーは起動を拒否します。書き換えフラグよりも優先されます。 |

58 58 


61* **フラグ**:エラーで起動に失敗します。61* **フラグ**:エラーで起動に失敗します。

62* **環境変数**:ランナーは値を拒否せず、タイマーの上限に切り詰めます。62* **環境変数**:ランナーは値を拒否せず、タイマーの上限に切り詰めます。

63 63 

64### セッション起動タイムアウト

65 

66`/code-review` などのターンの途中でセッションがスロットを失った場合は、ランナーと子バイナリを v2.1.309 以降に更新してください。v2.1.299 から v2.1.308 までは、`user` または `assistant` メッセージがないまま起動タイムアウトが経過すると、ランナーはターンの途中であってもセッションを解放していました。

67 

68`--startup-timeout-min <n>` を指定すると、クローン後 `<n>` 分以内に子プロセスが初期化されない場合、ランナーはセッションのスロットを解放します。子プロセスの初期化前に始まったターンの間は、子プロセスの[アクティビティチャネル](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#keep-stdin-and-file-descriptor-3-attached)に行が出力されないまま `<n>` 分が経過するまで、セッションはスロットを保持します。子プロセスが初期化されると、ランナーはその計測をリセットし、以降の解放は `--release-idle-session-min` によって制御されます。子プロセスは動作しているもののスタックしているセッションを制限するには、`--kill-session-after-min` を設定してください。

69 

64### auto モードのルールリスト70### auto モードのルールリスト

65 71 

66`--server-auto-mode-lists` を使用すると、ランナーの外部から届く [auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)の分類器ルールのうち、どれをランナー上のセッションに届けるかを決められます。Anthropic のコントロールプレーンは、セッションとともにルールリストを送信し、それらを適用するようランナーに要求できます。一部のエントリは、組織の管理者が作成したルールである場合があります。リストは `environment`、`soft_deny`、`allow` の 3 つです。72`--server-auto-mode-lists` を使用すると、ランナーの外部から届く [auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)の分類器ルールのうち、どれをランナー上のセッションに届けるかを決められます。Anthropic のコントロールプレーンは、セッションとともにルールリストを送信し、それらを適用するようランナーに要求できます。一部のエントリは、組織の管理者が作成したルールである場合があります。リストは `environment`、`soft_deny`、`allow` の 3 つです。


372 378 

373#### セッションのメトリクスをランナーのメトリクスと結合する379#### セッションのメトリクスをランナーのメトリクスと結合する

374 380 

375セッション独自のメトリクスを `claude_code_self_hosted_runner_session_idle_seconds` と並べるには、ランナーの `session_id` で結合します。381アイドル状態のセッションにかかったコストを確認するには、ランナーの `claude_code_self_hosted_runner_session_idle_seconds` を Claude Code のコストメトリクスと `ccr_session_id` で結合します。ランナーのメトリクスはこのラベルを持たないため、次のクエリのように `label_replace` でラベルを付与します。

382 

383```text theme={null}

384sum by (ccr_session_id) (claude_code_cost_usage_total)

385and on (ccr_session_id)

386label_replace(

387 claude_code_self_hosted_runner_session_idle_seconds > 600,

388 "ccr_session_id", "cse_$1", "session_id", "session_(.*)"

389)

390```

391 

392このクエリは、10 分を超えてアイドル状態のセッションごとに 1 つの結果を返します。結果は、そのセッションの Claude Code プロセスがこれまでに計上したコスト(米ドル)です。別の Claude Code メトリクスを結合するには、クエリ内の `claude_code_cost_usage_total` を置き換えます。このクエリは任意の `--capacity` で機能します。

376 393 

377* **`--capacity` が 1 を超える場合**:直接結合します。ランナーの `/metrics` では、セッションのシリーズはそのメトリクスと同じ `session_id` を `session_...` 形式で持ちます。394* **`session_id`**:ポート 9464 では、Claude Code メトリクスのこのラベルには Claude Code 独自の [`session.id`](https://code.claude.com/docs/ja/monitoring-usage#standard-attributes) が入っており、どのランナーシリーズとも一致しません。このラベルで結合しても何も返されないため、`ccr_session_id` で結合してください。

378* **`--capacity 1` の場合**:変換した `ccr_session_id` で結合します。デフォルトでは、ポート 9464 の各 Claude Code メトリクスはこのラベルを持ち、セッション ID を `cse_...` 形式で保持しています。新しいラベルで `cse_` プレフィックスを `session_` に置き換えると、ランナーの `session_id` が得られます。メトリクス自体の `session_id` には Claude Code 独自の [`session.id`](https://code.claude.com/docs/ja/monitoring-usage#standard-attributes) が入っており、どのランナーシリーズとも一致しません。395* **Claude Code メトリクスに `ccr_session_id` がない場合**:[`OTEL_METRICS_INCLUDE_SESSION_ID`](https://code.claude.com/docs/ja/monitoring-usage#metrics-cardinality-control) が `false` に設定されていないことを確認してください

379 396 

380### セッションライフサイクルカウンターセマンティクス397### セッションライフサイクルカウンターセマンティクス

381 398 

Details

117| [`gcpAuthRefresh`](#gcpauthrefresh) | 独自のコマンドで [Google Cloud の認証情報](https://code.claude.com/docs/ja/google-vertex-ai.md#advanced-credential-configuration)を更新します | 認証とプロバイダー | Any file |117| [`gcpAuthRefresh`](#gcpauthrefresh) | 独自のコマンドで [Google Cloud の認証情報](https://code.claude.com/docs/ja/google-vertex-ai.md#advanced-credential-configuration)を更新します | 認証とプロバイダー | Any file |

118| [`hooks`](#hooks) | Claude Code のライフサイクルの各時点で、独自のコマンドを[フック](https://code.claude.com/docs/ja/hooks.md)として実行します | フックと自動化 | Any file |118| [`hooks`](#hooks) | Claude Code のライフサイクルの各時点で、独自のコマンドを[フック](https://code.claude.com/docs/ja/hooks.md)として実行します | フックと自動化 | Any file |

119| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | [HTTP フック](https://code.claude.com/docs/ja/hooks.md)がヘッダーに含められる環境変数を制限します | フックと自動化 | Any file |119| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | [HTTP フック](https://code.claude.com/docs/ja/hooks.md)がヘッダーに含められる環境変数を制限します | フックと自動化 | Any file |

120| [`idleCompaction`](#idlecompaction) | ターミナルセッションがアイドル状態の間に、Claude Code が長い会話を圧縮しないようにします | メモリとコンテキスト | Any file |120| [`idleCompaction`](#idlecompaction) | 席を外している間に、Claude Code が長い会話を圧縮しないようにします | メモリとコンテキスト | Any file |

121| [`includeCoAuthoredBy`](#includecoauthoredby) | 非推奨です。コミットと PR の帰属表示を非表示にしたり変更したりするには `attribution` を使用してください | Git と帰属表示 | Any file |121| [`includeCoAuthoredBy`](#includecoauthoredby) | 非推奨です。コミットと PR の帰属表示を非表示にしたり変更したりするには `attribution` を使用してください | Git と帰属表示 | Any file |

122| [`includeGitInstructions`](#includegitinstructions) | 組み込みのコミットおよび PR の指示を Claude のコンテキストから除外します | Git と帰属表示 | Any file |122| [`includeGitInstructions`](#includegitinstructions) | 組み込みのコミットおよび PR の指示を Claude のコンテキストから除外します | Git と帰属表示 | Any file |

123| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Claude がユーザーの入力を待っているときに[プッシュ通知](https://code.claude.com/docs/ja/remote-control.md#mobile-push-notifications)を受け取ります | リモート、デスクトップ、通知 | Any file |123| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Claude がユーザーの入力を待っているときに[プッシュ通知](https://code.claude.com/docs/ja/remote-control.md#mobile-push-notifications)を受け取ります | リモート、デスクトップ、通知 | Any file |


1229サンドボックスがサポートしていないプラットフォームでは、このキーがオンの場合、Claude Code は起動しません。[管理設定でサンドボックスを強制する](https://code.claude.com/docs/ja/sandboxing.md#enforce-sandboxing-with-managed-settings)を参照してください。1229サンドボックスがサポートしていないプラットフォームでは、このキーがオンの場合、Claude Code は起動しません。[管理設定でサンドボックスを強制する](https://code.claude.com/docs/ja/sandboxing.md#enforce-sandboxing-with-managed-settings)を参照してください。

1230 1230 

1231* **Scope**: [`Any file`](#scopes)([プロジェクト設定とローカル設定には制限あり](https://code.claude.com/docs/ja/sandboxing.md#repository-settings-under-an-admin-required-sandbox))1231* **Scope**: [`Any file`](#scopes)([プロジェクト設定とローカル設定には制限あり](https://code.claude.com/docs/ja/sandboxing.md#repository-settings-under-an-admin-required-sandbox))

1232* **Type**: ブール値1232* **型**: ブール値

1233 * `true`: `sandbox.enabled` が `true` であるにもかかわらずサンドボックスが起動できない場合、Claude Code はスタートアップ時にエラーで終了します1233 * `true`: `sandbox.enabled` が `true` でもサンドボックスを起動できない場合、Claude Code は起動時にエラーで終了します。サンドボックスがこのチェックを通過した後に初期化に失敗した場合、セッションは実行を続け、Claude Code は[サンドボックス化された各コマンドを拒否します](https://code.claude.com/docs/ja/sandboxing.md#commands-refused-with-sandbox-is-required)

1234 * `false`: サンドボックスが起動できない場合、Claude Code はコマンドをサンドボックスなしで実行します1234 * `false`: サンドボックスを起動できない場合、Claude Code はサンドボックスなしでコマンドを実行します

1235* **Default**: `false`1235* **Default**: `false`

1236 1236 

1237これにより、すべての管理対象マシンがコマンドをサンドボックス化するか、起動を拒否します:1237次の例では、管理対象のマシンでサンドボックスをオンにし、`failIfUnavailable` を `true` に設定します。

1238 1238 

1239```json managed-settings.json theme={null}1239```json managed-settings.json theme={null}

1240{1240{


2415 2415 

2416### `idleCompaction`2416### `idleCompaction`

2417 2417 

2418アイドル時のコンテキスト圧縮は、ユーザーが離席している長い会話を、そのプロンプトキャッシュの有効期限が切れる少し前に[圧縮](https://code.claude.com/docs/ja/context-window.md#what-survives-compaction)します。これにより、次のメッセージでは会話全体ではなく要約が送信されます。戻ってくると、会話に `Compacted while idle, before the prompt cache expired` で始まる行が表示されます。2418アイドル時のコンテキスト圧縮は、ユーザーが離席している長い会話を[圧縮](https://code.claude.com/docs/ja/context-window.md#what-survives-compaction)します。これにより、次のメッセージでは会話全体ではなく要約が送信されます。圧縮されると、会話に次の通知が表示されます。

2419 

2420* **ターミナル**: `Compacted while idle, before the prompt cache expired` で始まる行

2421* **[VS Code のチャットパネル](#idle-compaction-in-vs-code-and-the-desktop-app)**: `a summary written while you were away` を含む通知

2422* **[デスクトップアプリ](#idle-compaction-in-vs-code-and-the-desktop-app)**: 同じ通知が、ラベルに `Claude Code notice` を含む行の中に表示されます。その行やテキストが表示されない場合は、[Verbose 表示モード](https://code.claude.com/docs/ja/desktop.md#switch-view-modes)に切り替えてください。

2419 2423 

2420アイドル時のコンテキスト圧縮は、次のすべての条件を満たす会話に対してデフォルトでオンになっています。2424アイドル時のコンテキスト圧縮は、次のすべての条件を満たす会話に対してデフォルトでオンになっています。

2421 2425 

2422* **セッション**: 対話型のターミナルセッションを使用している2426* **セッション**: 対話型のターミナルセッションを使用している、または [Anthropic が選択したアカウント](#idle-compaction-in-vs-code-and-the-desktop-app)で VS Code 拡張機能のチャットパネルかデスクトップアプリの Code タブを使用している

2423* **自動圧縮**: [`autoCompactEnabled`](#autocompactenabled) がオンになっている2427* **自動圧縮**: [`autoCompactEnabled`](#autocompactenabled) がオンになっている

2424* **プロンプトキャッシュ**: 会話が [1 時間のプロンプトキャッシュ TTL](https://code.claude.com/docs/ja/prompt-caching.md#which-ttl-each-request-gets) を使用している2428* **プロンプトキャッシュ**: 会話が [1 時間のプロンプトキャッシュ TTL](https://code.claude.com/docs/ja/prompt-caching.md#which-ttl-each-request-gets) を使用している

2425* **機能フラグ**: Claude Code が [Anthropic から機能フラグを取得](https://code.claude.com/docs/ja/env-vars.md#features-that-need-feature-flag-fetching)できる2429* **機能フラグ**: Claude Code が [Anthropic から機能フラグを取得](https://code.claude.com/docs/ja/env-vars.md#features-that-need-feature-flag-fetching)できる


2441}2445}

2442```2446```

2443 2447 

2444セッション内からアイドル時のコンテキスト圧縮をオフまたはオンにするには、`/config` を実行して **Idle compaction** の行を変更します。選択内容はユーザー設定に保存され、すぐに適用されます。この行には Claude Code v2.1.302 以降が必要です。これらのバージョンを実行していて `/config` にこの行が表示されない場合は、次の原因を確認してください。2448ターミナルセッション内からアイドル時のコンテキスト圧縮をオフまたはオンにするには、`/config` を実行して **Idle compaction** の行を変更します。選択内容はユーザー設定に保存され、すぐに適用されます。この行には Claude Code v2.1.302 以降が必要です。これらのバージョンを実行していて `/config` にこの行が表示されない場合は、次の原因を確認してください。

2445 2449 

2446* **別の設定ソースがキーを設定している**: 管理設定、`--settings` フラグ、またはプロジェクトやローカルの設定ファイルの値がユーザー設定を上書きしています。代わりにそのソースでキーを変更してください2450* **別の設定ソースがキーを設定している**: 管理設定、`--settings` フラグ、またはプロジェクトやローカルの設定ファイルの値がユーザー設定を上書きしています。代わりにそのソースでキーを変更してください

2447* **機能フラグが利用できない**: Claude Code が [Anthropic から機能フラグを取得](https://code.claude.com/docs/ja/env-vars.md#features-that-need-feature-flag-fetching)できない場合、アイドル時のコンテキスト圧縮は実行されないため、オフにする対象がありません2451* **機能フラグが利用できない**: Claude Code が [Anthropic から機能フラグを取得](https://code.claude.com/docs/ja/env-vars.md#features-that-need-feature-flag-fetching)できない場合、アイドル時のコンテキスト圧縮は実行されないため、オフにする対象がありません


2462}2466}

2463```2467```

2464 2468 

2469#### VS Code とデスクトップアプリでのアイドル時のコンテキスト圧縮

2470 

2471次のような通知は、Claude Code が[以前の会話を要約に置き換え](https://code.claude.com/docs/ja/context-window.md#what-survives-compaction)、Claude が現在その要約をもとに作業していることを意味します。

2472 

2473```text theme={null}

2474Compacted using a summary written while you were away · turn off with "idleCompaction": false in settings.json

2475```

2476 

2477特に操作は必要ありません。アイドル時のコンテキスト圧縮をオフにするには、`~/.claude/settings.json` または別の[設定ファイル](https://code.claude.com/docs/ja/settings.md#settings-files-and-who-they-affect)で `idleCompaction` を `false` に設定します。

2478 

2479VS Code 拡張機能のチャットパネルとデスクトップアプリの Code タブでは、アイドル時のコンテキスト圧縮は Anthropic が選択したアカウントで実行されます。Claude Code はユーザーの離席中に要約を作成し、次のメッセージが最後のリクエストから 1 時間以上経過して送信された場合にのみ、その要約を使って圧縮します。

2480 

2465### `plansDirectory`2481### `plansDirectory`

2466 2482 

2467[plan モード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)で Claude Code が書き込むプランファイルの保存場所を選択します。Claude Code はプロジェクトルートを基準にパスを解決します。2483[plan モード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)で Claude Code が書き込むプランファイルの保存場所を選択します。Claude Code はプロジェクトルートを基準にパスを解決します。


3522 3538 

3523* **管理フックと SDK フックが実行されます**: 管理設定からのフックと [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) がプロセス内で登録するフック3539* **管理フックと SDK フックが実行されます**: 管理設定からのフックと [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) がプロセス内で登録するフック

3524* **強制有効プラグインフックが実行されます**: 管理設定が [`enabledPlugins`](#enabledplugins) を通じて強制有効にするプラグインからのフック。Claude Code は完全な `plugin@marketplace` ID でマッチするため、別のマーケットプレイスからの同じ名前のプラグインはブロックされたままです。これにより、組織マーケットプレイスを通じて検証済みフックを配布しながら、その他すべてをブロックできます。このようなプラグイン内の [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) は、[組織のものとしてカウント](https://code.claude.com/docs/ja/plugins/mods/admin.md#install-your-organizations-mods)される場合のみロードされます3540* **強制有効プラグインフックが実行されます**: 管理設定が [`enabledPlugins`](#enabledplugins) を通じて強制有効にするプラグインからのフック。Claude Code は完全な `plugin@marketplace` ID でマッチするため、別のマーケットプレイスからの同じ名前のプラグインはブロックされたままです。これにより、組織マーケットプレイスを通じて検証済みフックを配布しながら、その他すべてをブロックできます。このようなプラグイン内の [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) は、[組織のものとしてカウント](https://code.claude.com/docs/ja/plugins/mods/admin.md#install-your-organizations-mods)される場合のみロードされます

3541* **他のプラグインのモニターはブロックされます**: プラグインの[モニター](https://code.claude.com/docs/ja/plugins/components.md#monitors)は、そのプラグインが強制有効にされていない限り起動しません。Claude Code v2.1.310 以降が必要です

3525* **その他すべてはブロックされます**: ユーザー、プロジェクト、ローカルフック、他のインストール済みプラグインからのフックと mod、エージェントのフロントマターで宣言されたフック。[Claude Code に組み込まれた mod](https://code.claude.com/docs/ja/plugins/mods/overview.md#mods-built-into-claude-code) は実行し続けます。ユーザーの mod のみをブロックするには、代わりに [`allowManagedModsOnly`](https://code.claude.com/docs/ja/plugins/mods/admin#set-options-on-the-built-in-guard) を設定してください。3542* **その他すべてはブロックされます**: ユーザー、プロジェクト、ローカルフック、他のインストール済みプラグインからのフックと mod、エージェントのフロントマターで宣言されたフック。[Claude Code に組み込まれた mod](https://code.claude.com/docs/ja/plugins/mods/overview.md#mods-built-into-claude-code) は実行し続けます。ユーザーの mod のみをブロックするには、代わりに [`allowManagedModsOnly`](https://code.claude.com/docs/ja/plugins/mods/admin#set-options-on-the-built-in-guard) を設定してください。

3526* **コマンドソースプラグインは無効になります**: Claude Code は [`command` ソース](https://code.claude.com/docs/ja/plugins/marketplace-reference#command-plugin-source)を持つプラグイン(管理 `enabledPlugins` で強制有効にされたプラグインを含む)も無効にします。ただし、[`disableCommandPluginSources`](#disablecommandpluginsources) を明示的に `false` に設定した場合を除きます3543* **コマンドソースプラグインは無効になります**: Claude Code は [`command` ソース](https://code.claude.com/docs/ja/plugins/marketplace-reference#command-plugin-source)を持つプラグイン(管理 `enabledPlugins` で強制有効にされたプラグインを含む)も無効にします。ただし、[`disableCommandPluginSources`](#disablecommandpluginsources) を明示的に `false` に設定した場合を除きます

3527* **マーケットプレイス `headersHelper` コマンドはブロックされます**: Claude Code はマーケットプレイス [`headersHelper` コマンド](https://code.claude.com/docs/ja/plugins/host-marketplace#authenticate-archive-downloads)もブロックします。ただし、[`disableCommandPluginSources`](#disablecommandpluginsources) が明示的に `false` に設定されている場合、または管理設定自体が宣言するマーケットプレイスの場合を除きます。Claude Code v2.1.238 以降が必要です3544* **マーケットプレイス `headersHelper` コマンドはブロックされます**: Claude Code はマーケットプレイス [`headersHelper` コマンド](https://code.claude.com/docs/ja/plugins/host-marketplace#authenticate-archive-downloads)もブロックします。ただし、[`disableCommandPluginSources`](#disablecommandpluginsources) が明示的に `false` に設定されている場合、または管理設定自体が宣言するマーケットプレイスの場合を除きます。Claude Code v2.1.238 以降が必要です

statusline.md +89 −89

Details

167 167 

168## 利用可能なデータ168## 利用可能なデータ

169 169 

170Claude Code は以下の JSON フィールドを stdin 経由でスクリプトに送信します:170Claude Code は、stdin 経由で以下の JSON フィールドをスクリプトに送信します。

171 171 

172| フィールド | 説明 |172| フィールド | 説明 |

173| - | - |173| - | - |

174| `model.id`、`model.display_name` | 現在のモデル識別子と表示名 |174| `model.id`, `model.display_name` | 現在のモデル識別子と表示名 |

175| `cwd`、`workspace.current_dir` | 現在の作業ディレクトリ。両方のフィールドに同じ値が含まれます。`workspace.current_dir` は `workspace.project_dir` との一貫性のために推奨されます。 |175| `cwd`, `workspace.current_dir` | 現在の作業ディレクトリ。両フィールドには同じ値が含まれます。`workspace.project_dir` との一貫性のため、`workspace.current_dir` の使用が推奨されます。 |

176| `workspace.project_dir` | Claude Code が起動されたディレクトリ。セッション中に作業ディレクトリが変更された場合、`cwd` と異なる場合があります |176| `workspace.project_dir` | Claude Code が起動されたディレクトリ。セッション中に作業ディレクトリが変更された場合、`cwd` と異なることがあります |

177| `workspace.added_dirs` | `/add-dir` または `--add-dir` 経由で追加された追加ディレクトリ。追加されていない場合は空配列 |177| `workspace.added_dirs` | `/add-dir` または `--add-dir` で追加されたディレクトリ。何も追加されていない場合は空の配列です |

178| `workspace.git_worktree` | 現在のディレクトリが `git worktree add` で作成されたリンク worktree 内にある場合の git worktree 名。メイン作業ツリーでは不在。`worktree.*` が [worktree セッション](https://code.claude.com/docs/ja/worktrees.md) 中のみに存在するのとは異なり、任意の git worktree に対して入力されます |178| `workspace.git_worktree` | 現在のディレクトリが `git worktree add` で作成されたリンク済み worktree 内にある場合の Git worktree 名。メインの作業ツリーでは存在しません。`worktree.*` はセッションが [worktree セッション](https://code.claude.com/docs/ja/worktrees.md)にある間のみ存在するのに対し、こちらはあらゆる git worktree で設定されます |

179| `workspace.repo.host`、`workspace.repo.owner`、`workspace.repo.name` | `origin` リモートから解析されたリポジトリ ID。例えば `"github.com"`、`"anthropics"`、`"claude-code"`。git リポジトリの外部または `origin` リモートが設定されていない場合は不在。gitlab.com プロジェクトがサブグループにネストされている場合、`owner` は `"group/subgroup"` のようなスラッシュ付きの完全な名前空間パスです。v2.1.260 より前は、これらのプロジェクトでは `workspace.repo` が不在でした |179| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | `origin` リモートから解析されたリポジトリの識別情報。例:`"github.com"`、`"anthropics"`、`"claude-code"`。git リポジトリの外にいる場合や、`origin` リモートが設定されていない場合は存在しません。サブグループにネストされた gitlab.com プロジェクトの場合、`owner` は `"group/subgroup"` のようにスラッシュを含む完全な名前空間パスになります。v2.1.260 より前は、これらのプロジェクトでは `workspace.repo` が存在しませんでした |

180| `cost.total_cost_usd` | USD でのセッションの推定コスト。クライアント側で計算されます。[`modelPricing`](https://code.claude.com/docs/ja/settings-reference#modelpricing) テーブルが有効な場合を除き、定価で計算されます。実際の請求額と異なる場合があります。`/clear` で新しいセッションが開始されると \$0 にリセットされます |180| `cost.total_cost_usd` | 推定セッションコスト(USD)。[`modelPricing`](https://code.claude.com/docs/ja/settings-reference#modelpricing) テーブルが有効でない限り、クライアント側で定価に基づいて計算されます。実際の請求額とは異なる場合があります。`/clear` で新しいセッションが開始されると \$0 にリセットされます |

181| `cost.total_duration_ms` | セッション開始からの総経過時間(ミリ秒) |181| `cost.total_duration_ms` | セッションが実行されている合計の実時間(ミリ秒)。再開をまたいで累積され、セッションが実行されていない間の時間は含まれません |

182| `cost.total_api_duration_ms` | API レスポンスを待つのに費やされた総時間(ミリ秒) |182| `cost.total_api_duration_ms` | API レスポンスの待機に費やされた合計時間(ミリ秒) |

183| `cost.total_lines_added`、`cost.total_lines_removed` | 変更されたコード行 |183| `cost.total_lines_added`, `cost.total_lines_removed` | 変更されたコードの行数 |

184| `context_window.total_input_tokens`、`context_window.total_output_tokens` | コンテキストウィンドウに現在あるトークン数。最新の API レスポンスから取得。入力にはキャッシュ読み取りと書き込みが含まれます |184| `context_window.total_input_tokens`, `context_window.total_output_tokens` | 直近の API レスポンスに基づく、現在コンテキストウィンドウ内にあるトークン数。入力にはキャッシュの読み取りと書き込みが含まれます |

185| `context_window.context_window_size` | トークン単位の最大コンテキストウィンドウサイズ。デフォルトは 200000、拡張コンテキストを持つモデルの場合は 1000000 |185| `context_window.context_window_size` | 最大コンテキストウィンドウサイズ(トークン)。デフォルトは 200000、拡張コンテキストを持つモデルでは 1000000 です。 |

186| `context_window.used_percentage` | 事前計算されたコンテキストウィンドウ使用割合 |186| `context_window.used_percentage` | 事前計算されたコンテキストウィンドウの使用率 |

187| `context_window.remaining_percentage` | 事前計算されたコンテキストウィンドウ残り割合 |187| `context_window.remaining_percentage` | 事前計算されたコンテキストウィンドウの残り率 |

188| `context_window.current_usage` | 最後の API 呼び出しからのトークン数。[コンテキストウィンドウフィールド](#context-window-fields) で説明されています |188| `context_window.current_usage` | 最後の API 呼び出しからのトークン数。[コンテキストウィンドウのフィールド](#context-window-fields)で説明しています |

189| `exceeds_200k_tokens` | 最新の API レスポンスからの総トークン数(入力、キャッシュ、出力トークンの組み合わせ)が 200k を超えるかどうか。これは実際のコンテキストウィンドウサイズに関係なく固定閾値です。 |189| `exceeds_200k_tokens` | 直近の API レスポンスからの合計トークン数(入力、キャッシュ、出力トークンの合計)が 200k を超えているかどうか。これは実際のコンテキストウィンドウサイズに関係なく固定されたしきい値です。 |

190| `fast_mode` | セッションで [fast mode](https://code.claude.com/docs/ja/fast-mode.md) が有効になっているかどうか |190| `fast_mode` | セッションで [fast mode](https://code.claude.com/docs/ja/fast-mode.md) が有効かどうか |

191| `effort.level` | 現在の推論努力レベル(`low`、`medium`、`high`、`xhigh`、または `max`)。ライブセッション値を反映しており、セッション中の `/effort` 変更を含みます。現在のモデルが effort パラメータをサポートしていない場合は不在 |191| `effort.level` | 現在の推論エフォート(`low`、`medium`、`high`、`xhigh`、または `max`)。セッション途中の `/effort` による変更を含め、セッションの現在の値を反映します。現在のモデルが effort パラメータをサポートしていない場合は存在しません |

192| `thinking.enabled` | セッションで拡張思考が有効になっているかどうか |192| `thinking.enabled` | セッションで拡張思考が有効かどうか |

193| `rate_limits.five_hour.used_percentage`、`rate_limits.seven_day.used_percentage` | 5 時間または 7 日のレート制限の消費割合(0~100) |193| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | 5 時間または 7 日間のレート制限の消費率(0 から 100) |

194| `rate_limits.five_hour.resets_at`、`rate_limits.seven_day.resets_at` | 5 時間または 7 日のレート制限ウィンドウがリセットされる Unix エポック秒 |194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | 5 時間または 7 日間のレート制限ウィンドウがリセットされる時刻(Unix エポック秒) |

195| `rate_limits.spend_limit.used_percentage`、`rate_limits.spend_limit.resets_at` | Claude apps gateway の背後にある場合、支出制限をどれだけ使用したか、およびその期間がいつリセットされるか。[支出制限フィールド](#spend-limit-fields) を参照してください。Claude Code v2.1.251 以降が必要です |195| `rate_limits.spend_limit.used_percentage`, `rate_limits.spend_limit.resets_at` | Claude apps ゲートウェイの背後で、支出上限をどれだけ使用したか、およびその期間がいつリセットされるか。[支出上限のフィールド](#spend-limit-fields)を参照してください。Claude Code v2.1.251 以降が必要です |

196| `rate_limits.spend_limit.used_usd`、`rate_limits.spend_limit.limit_usd`、`rate_limits.spend_limit.period` | 米ドル建ての推定支出額と制限額、および制限の期間。これらのフィールドは不在の場合があります。[支出制限フィールド](#spend-limit-fields) を参照してください。Claude Code とゲートウェイの両方で v2.1.284 以降が必要です |196| `rate_limits.spend_limit.used_usd`, `rate_limits.spend_limit.limit_usd`, `rate_limits.spend_limit.period` | 米ドル建ての推定支出額と上限、および上限の期間。これらのフィールドは存在しない場合があります。[支出上限のフィールド](#spend-limit-fields)を参照してください。Claude Code とゲートウェイの両方で v2.1.284 以降が必要です |

197| `prompt_cache` | メイン会話の [prompt cache](https://code.claude.com/docs/ja/prompt-caching.md) 統計情報:ヒット率、ミス数、キャッシュがウォーム状態かどうか。すべてのフィールドについては [prompt cache フィールド](#prompt-cache-fields) を参照してください。メイン会話の最初の API レスポンスまで不在。Claude Code v2.1.251 以降が必要です |197| `prompt_cache` | メインの会話におけるセッションの[プロンプトキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md)統計:ヒット率、ミス、キャッシュがウォームかどうか。すべてのフィールドについては[プロンプトキャッシュのフィールド](#prompt-cache-fields)を参照してください。メインの会話の最初の API レスポンスまでは存在しません。Claude Code v2.1.251 以降が必要です |

198| `session_id` | 一意のセッション識別子 |198| `session_id` | 一意のセッション識別子 |

199| `session_name` | セッション名。`--name` フラグまたは `/rename` で設定されたカスタム名が存在する場合はそれを使用し、そうでない場合は AI が生成したセッションタイトルを使用します。[デフォルト表示名](https://code.claude.com/docs/ja/sessions.md#name-your-sessions)(`my-app-3f` など)はこのフィールドに入力されません。セッションにカスタム名も AI が生成したタイトルもない場合は不在 |199| `session_name` | セッション名。`--name` フラグまたは `/rename` で設定されたカスタム名があればそれを使用し、なければ AI が生成したセッションタイトルを使用します。`my-app-3f` のような[デフォルトの表示名](https://code.claude.com/docs/ja/sessions.md#name-your-sessions)は、このフィールドには設定されません。セッションにカスタム名も AI 生成のタイトルもない場合は存在しません |

200| `prompt_id` | 現在処理中のユーザープロンプトを識別する UUID。OpenTelemetry イベントの [`prompt.id` 属性](https://code.claude.com/docs/ja/monitoring-usage#event-correlation-attributes) と一致します。最初のユーザー入力まで不在 |200| `prompt_id` | 現在処理中のユーザープロンプトを識別する UUID。[OpenTelemetry イベントの `prompt.id` 属性](https://code.claude.com/docs/ja/monitoring-usage#event-correlation-attributes)と一致します。最初のユーザー入力までは存在しません |

201| `transcript_path` | 会話トランスクリプトファイルへのパス |201| `transcript_path` | 会話トランスクリプトファイルへのパス |

202| `version` | Claude Code バージョン |202| `version` | Claude Code のバージョン |

203| `output_style.name` | 現在の出力スタイルの名前 |203| `output_style.name` | 現在の出力スタイルの名前 |

204| `vim.mode` | [vim モード](https://code.claude.com/docs/ja/interactive-mode.md#vim-editor-mode) が有効な場合の現在の vim モード(`NORMAL`、`INSERT`、`VISUAL`、または `VISUAL LINE`) |204| `vim.mode` | [vim モード](https://code.claude.com/docs/ja/interactive-mode.md#vim-editor-mode)が有効な場合の現在の vim モード(`NORMAL`、`INSERT`、`VISUAL`、または `VISUAL LINE`) |

205| `agent.name` | `--agent` フラグまたはエージェント設定が設定されている場合のエージェント名 |205| `agent.name` | `--agent` フラグで実行している場合、またはエージェント設定が構成されている場合のエージェント名 |

206| `pr.number`、`pr.url` | 現在のブランチのオープンプルリクエスト。フッターの PR バッジをミラーします。リポジトリに GitLab リモートがある場合、Claude Code はこれらのフィールドをブランチのオープン [merge request](https://code.claude.com/docs/ja/interactive-mode.md#gitlab-merge-requests) から代わりに入力するため、`pr.number` はマージリクエスト番号です。マージリクエストデータには Claude Code v2.1.234 以降が必要です。git リポジトリにない場合、プルリクエストまたはマージリクエストが見つかるまで、またはマージもしくはクローズされた後は不在 |206| `pr.number`, `pr.url` | 現在のブランチのオープンなプルリクエスト。フッターの PR バッジを反映します。GitLab リモートを持つリポジトリでは、Claude Code は代わりにブランチのオープンな[マージリクエスト](https://code.claude.com/docs/ja/interactive-mode.md#gitlab-merge-requests)からこれらのフィールドを設定するため、`pr.number` はマージリクエスト番号になります。マージリクエストのデータには Claude Code v2.1.234 以降が必要です。git リポジトリ内にいない場合、プルリクエストまたはマージリクエストが見つかるまで、あるいはそれがマージまたはクローズされた後は存在しません |

207| `pr.review_state` | オープン PR のレビューステータス:`approved`、`pending`、`changes_requested`、または `draft`。`pr` が存在する場合でも独立して不在の可能性があります |207| `pr.review_state` | オープンな PR のレビューステータス:`approved`、`pending`、`changes_requested`、または `draft`。`pr` が存在する場合でも、独立して存在しないことがあります |

208| `pr.kind` | [GitLab merge request](https://code.claude.com/docs/ja/interactive-mode.md#gitlab-merge-requests) を説明する場合は `mr`。GitHub プルリクエストでは不在なため、このフィールドの前に書かれたスクリプトは引き続き機能します。マージリクエストの場合、Claude Code は GitLab がマージ可能と報告した場合は `review_state` を `approved` に、その他のオープン状態の場合は `pending` に、ドラフトの場合は `draft` に設定します。Claude Code v2.1.234 以降が必要です |208| `pr.kind` | `pr` が [GitLab マージリクエスト](https://code.claude.com/docs/ja/interactive-mode.md#gitlab-merge-requests)を表す場合は `mr`。GitHub プルリクエストでは存在しないため、このフィールド以前に書かれたスクリプトも引き続き動作します。マージリクエストの場合、Claude Code は GitLab がマージ可能と報告したときに `review_state` を `approved` に、その他のオープン状態では `pending` に、ドラフトでは `draft` に設定します。Claude Code v2.1.234 以降が必要です |

209| `worktree.name` | アクティブな worktree の名前。[worktree セッション](https://code.claude.com/docs/ja/worktrees.md) 中のみ存在 |209| `worktree.name` | アクティブな worktree の名前。セッションが [worktree セッション](https://code.claude.com/docs/ja/worktrees.md)にある間のみ存在します |

210| `worktree.path` | worktree ディレクトリへの絶対パス |210| `worktree.path` | worktree ディレクトリへの絶対パス |

211| `worktree.branch` | worktree の git ブランチ名(例:`"worktree-my-feature"`)。フックベースの worktree では不在 |211| `worktree.branch` | worktree の Git ブランチ名(例:`"worktree-my-feature"`)。フックベースの worktree では存在しません |

212| `worktree.original_cwd` | worktree に入る前に Claude がいたディレクトリ |212| `worktree.original_cwd` | worktree に入る前に Claude がいたディレクトリ |

213| `worktree.original_branch` | worktree に入る前にチェックアウトされた git ブランチ。フックベースの worktree では不在 |213| `worktree.original_branch` | worktree に入る前にチェックアウトされていた Git ブランチ。フックベースの worktree では存在しません |

214 214 

215> **完全な JSON スキーマ**215> **完全な JSON スキーマ**

216>216>

217> ステータスラインコマンドは stdin 経由でこの JSON 構造を受け取ります:217> ステータスラインコマンドは、stdin 経由で次の JSON 構造を受け取ります。

218>218>

219> ```json theme={null}219> ```json theme={null}

220> {220> {


330> }330> }

331> ```331> ```

332>332>

333> **不在の可能性があるフィールド**(JSON に存在しない):333> **存在しない可能性のあるフィールド**(JSON に含まれない):

334>334>

335> * `session_name`:`--name` または `/rename` でカスタム名が設定されている場合、または AI が生成したセッションタイトルが存在する場合に表示されます。`my-app-3f` などのデフォルト表示名はこのフィールドに入力されません335> * `session_name`:`--name` または `/rename` でカスタム名が設定された場合、または AI 生成のセッションタイトルが存在するようになった時点で表示されます。`my-app-3f` のようなデフォルトの表示名はこのフィールドには設定されません

336> * `prompt_id`:最初のユーザー入力の後のみ表示336> * `prompt_id`:最初のユーザー入力の後にのみ表示されます

337> * `workspace.git_worktree`:現在のディレクトリがリンク git worktree 内にある場合のみ表示337> * `workspace.git_worktree`:現在のディレクトリがリンク済みの git worktree 内にある場合にのみ表示されます

338> * `workspace.repo`:git リポジトリ内で `origin` リモートが設定されている場合のみ表示338> * `workspace.repo`:`origin` リモートが設定された git リポジトリ内でのみ表示されます

339> * `effort`:現在のモデルが推論努力パラメータをサポートしている場合のみ表示339> * `effort`:現在のモデルが推論エフォートパラメータをサポートしている場合にのみ表示されます

340> * `vim`:vim モードが有効な場合のみ表示340> * `vim`:vim モードが有効な場合にのみ表示されます

341> * `agent`:`--agent` フラグまたはエージェント設定が設定されている場合のみ表示341> * `agent`:`--agent` フラグで実行している場合、またはエージェント設定が構成されている場合にのみ表示されます

342> * `pr`:現在のブランチのオープン PR または GitLab マージリクエストが見つかった場合のみ表示。PR またはマージリクエストがマージまたはクローズされると削除されます。`pr.review_state` と `pr.kind` は独立して不在の可能性があります342> * `pr`:現在のブランチでオープンな PR または GitLab マージリクエストが見つかっている間のみ表示され、マージまたはクローズされると削除されます。`pr.review_state` と `pr.kind` は独立して存在しないことがあります

343> * `worktree`:[worktree セッション](https://code.claude.com/docs/ja/worktrees.md) 中のみ表示。存在する場合、`branch` と `original_branch` もフックベースの worktree では不在の可能性があります343> * `worktree`:セッションが [worktree セッション](https://code.claude.com/docs/ja/worktrees.md)にある間のみ表示されます。存在する場合でも、フックベースの worktree では `branch` と `original_branch` が存在しないことがあります

344> * `rate_limits`:Claude.ai Pro および Max サブスクライバー、または支出制限を設定する Claude apps gateway の背後にある場合のみ表示。セッションの最初の API レスポンスの後のみ表示。各ウィンドウ(`five_hour`、`seven_day`、`spend_limit`)は独立して不在の可能性があり、Claude Code は `resets_at` 時刻が経過するとウィンドウを削除します。`jq -r '.rate_limits.five_hour.used_percentage // empty'` を使用して、不在を適切に処理します。344> * `rate_limits`:claude.ai の Pro および Max サブスクライバー、または支出上限を設定する Claude apps ゲートウェイの背後にいる場合にのみ、かつセッションの最初の API レスポンスの後にのみ表示されます。各ウィンドウ(`five_hour`、`seven_day`、`spend_limit`)は独立して存在しないことがあり、Claude Code は `resets_at` の時刻を過ぎたウィンドウを削除します。存在しない場合を適切に処理するには、`jq -r '.rate_limits.five_hour.used_percentage // empty'` を使用してください。

345> * `prompt_cache`:メイン会話の最初の API レスポンスの後に表示。[prompt cache フィールド](#prompt-cache-fields) を参照してください345> * `prompt_cache`:メインの会話の最初の API レスポンスの後に表示されます。[プロンプトキャッシュのフィールド](#prompt-cache-fields)を参照してください

346>346>

347> **`null` の可能性があるフィールド**:347> **`null` になる可能性のあるフィールド**:

348>348>

349> * `context_window.current_usage`:セッションの最初の API 呼び出しの前は `null`。また `/compact` の直後は次の API 呼び出しが再度入力されるまで `null`349> * `context_window.current_usage`:セッションの最初の API 呼び出しの前は `null` で、`/compact` の後も次の API 呼び出しで再設定されるまで再び `null` になります

350> * `context_window.used_percentage`、`context_window.remaining_percentage`:セッションの早期段階では `null` の可能性があります350> * `context_window.used_percentage`、`context_window.remaining_percentage`:セッションの初期段階では `null` になることがあります

351>351>

352> スクリプトで条件付きアクセスと null 値のフォールバックデフォルトを使用して、不在のフィールドを処理します。352> スクリプトでは、存在しないフィールドは条件付きアクセスで、null 値はフォールバックのデフォルト値で処理してください。

353 353 

354### コンテキストウィンドウフィールド354### コンテキストウィンドウのフィールド

355 355 

356`context_window` オブジェクトは、最新の API レスポンスからのライブコンテキストウィンドウを説明します。356`context_window` オブジェクトは、直近の API レスポンスに基づく現在のコンテキストウィンドウを表します。

357 357 

358* **結合合計**(`total_input_tokens`、`total_output_tokens`):コンテキストウィンドウに現在あるトークン。`total_input_tokens` は `input_tokens`、`cache_creation_input_tokens`、および `cache_read_input_tokens` の合計です。`total_output_tokens` は最新レスポンスからの出力トークンです。両方とも最初の API レスポンスの前は `0` です。358* **合計値**(`total_input_tokens`、`total_output_tokens`):現在コンテキストウィンドウ内にあるトークン。`total_input_tokens` は `input_tokens`、`cache_creation_input_tokens`、`cache_read_input_tokens` の合計で、`total_output_tokens` は直近の応答の出力トークンです。どちらも最初の API レスポンスの前は `0` です。

359* **コンポーネント別使用状況**(`current_usage`):カテゴリ別に分類された同じトークン数。キャッシュヒットを新規入力から分離する必要がある場合に使用します。359* **コンポーネント別の使用量**(`current_usage`):同じトークン数をカテゴリ別に分けたもの。キャッシュヒットを新規の入力と分けて把握する必要がある場合に使用します。

360 360 

361`current_usage` オブジェクトには以下が含まれます:361`current_usage` オブジェクトには以下が含まれます。

362 362 

363* `input_tokens`:現在のコンテキストの入力トークン363* `input_tokens`:現在のコンテキスト内の入力トークン

364* `output_tokens`:生成された出力トークン364* `output_tokens`:生成された出力トークン

365* `cache_creation_input_tokens`:キャッシュに書き込まれたトークン365* `cache_creation_input_tokens`:キャッシュに書き込まれたトークン

366* `cache_read_input_tokens`:キャッシュから読み取られたトークン366* `cache_read_input_tokens`:キャッシュから読み取られたトークン

367 367 

368キャッシュフィールドの意味とそれらがどのように請求されるかについては、[キャッシュパフォーマンスの確認](https://code.claude.com/docs/ja/prompt-caching.md#check-cache-performance) を参照してください。368キャッシュフィールドの意味と課金方法については、[キャッシュパフォーマンスの確認](https://code.claude.com/docs/ja/prompt-caching.md#check-cache-performance)を参照してください。

369 369 

370`used_percentage` フィールドは入力トークンのみから計算されます:`input_tokens + cache_creation_input_tokens + cache_read_input_tokens`。`output_tokens` は含まれません。370`used_percentage` フィールドは入力トークンのみから計算されます:`input_tokens + cache_creation_input_tokens + cache_read_input_tokens`。`output_tokens` は含まれません。

371 371 

372`current_usage` から手動でコンテキスト割合を計算する場合、`used_percentage` と一致させるために同じ入力のみの式を使用します。372`current_usage` からコンテキストの割合を手動で計算する場合は、`used_percentage` と一致させるために同じ入力のみの計算式を使用してください。

373 373 

374`current_usage` オブジェクトはセッションの最初の API 呼び出しの前は `null` です。また `/compact` の直後は `null` であり、次の API 呼び出しが再度入力されるまで `null` のままです。374`current_usage` オブジェクトは、セッションの最初の API 呼び出しの前は `null` で、`/compact` の直後も次の API 呼び出しで再設定されるまで再び `null` になります。

375 375 

376### 支出制限フィールド376### 支出上限のフィールド

377 377 

378[支出制限が設定された Claude apps gateway](https://code.claude.com/docs/ja/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code) の背後では、`rate_limits.spend_limit` オブジェクトが適用される支出制限を説明します。このオブジェクトはセッションの最初の API レスポンスの後に表示され、Claude Code v2.1.251 以降が必要です。スクリプトはそのフィールドを別々のタイミングで受け取ります:378[支出上限が設定された Claude apps ゲートウェイ](https://code.claude.com/docs/ja/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code)の背後では、`rate_limits.spend_limit` オブジェクトがユーザーに適用される支出上限を表します。このオブジェクトはセッションの最初の API レスポンスの後に表示され、Claude Code v2.1.251 以降が必要です。スクリプトは、そのフィールドを別々のタイミングで受け取ります。

379 379 

380* `used_percentage` と `resets_at`:すべてのレスポンスに含まれるため、`spend_limit` が存在する場合は常に存在します。`used_percentage` は 0~100 の範囲、または制限を超えると 100 を超える値になり、`resets_at` は制限の期間がリセットされる Unix エポック秒です。380* `used_percentage` と `resets_at`:すべての応答で送られるため、`spend_limit` が存在する場合は常に存在します。`used_percentage` は 0 から 100 の範囲で、上限を超えると 100 を上回ります。`resets_at` は上限の期間がリセットされる時刻(Unix エポック秒)です。

381* `used_usd`、`limit_usd`、`period`:これまでの推定支出額と制限額(米ドル)、および制限の対象期間(`daily`、`weekly`、`monthly` のいずれか)。ゲートウェイは [`used_usd` をトークン数から計算する](https://code.claude.com/docs/ja/claude-apps-gateway-spend-limits#how-requests-are-priced) ため、これは推定値であり、請求額ではありません。Claude Code は、リクエストを送信している間、約 5 分ごとに別のリクエストでゲートウェイからこれらを読み取ります。金額は `used_percentage` より約 5 分古い場合があるため、両者が一時的に一致しないことがあります。Claude Code とゲートウェイの両方で v2.1.284 以降が必要です。381* `used_usd`、`limit_usd`、`period`:これまでの米ドル建ての推定支出額と上限、および上限が対象とする期間(`daily`、`weekly`、`monthly` のいずれか)。ゲートウェイは [`used_usd` をトークン数から計算](https://code.claude.com/docs/ja/claude-apps-gateway-spend-limits#how-requests-are-priced)するため、これは推定値であり、請求額ではありません。Claude Code は、リクエストを送信している間、約 5 分ごとに別のリクエストでゲートウェイからこれらを読み取ります。金額は `used_percentage` より約 5 分古い場合があるため、両者が一時的に一致しないことがあります。Claude Code とゲートウェイの両方で v2.1.284 以降が必要です。

382 382 

383`spend_limit` が存在する場合でも、`used_usd`、`limit_usd`、`period` はオプションとして扱ってください。スクリプトはこれらより先に割合を受け取ります。また、`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` を設定するとそのリクエストがオフになるため、これらは不在のままになります。スクリプトでは、`jq -r '.rate_limits.spend_limit.used_usd // empty'` のように、それぞれをフォールバック付きで読み取ってください。383スクリプトは割合をこれらより先に受け取るため、`spend_limit` が存在する場合でも、`used_usd`、`limit_usd`、`period` は省略可能として扱ってください。スクリプトでは、`jq -r '.rate_limits.spend_limit.used_usd // empty'` のように、それぞれをフォールバック付きで読み取ってください。Claude Code v2.1.295 より前は、`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` を設定するとそのリクエストが無効になり、これらのフィールドは存在しないままでした。

384 384 

385### Prompt cache フィールド385### プロンプトキャッシュのフィールド

386 386 

387`prompt_cache` オブジェクトは、セッションのメイン会話が [prompt cache](https://code.claude.com/docs/ja/prompt-caching.md) をどのように使用しているかを要約します。Claude Code は API のレスポンスのキャッシュトークン数から計算するため、すべてのプロバイダーで機能します。387`prompt_cache` オブジェクトは、セッションのメインの会話が[プロンプトキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md)をどのように使用しているかをまとめたものです。Claude Code は API の応答に含まれるキャッシュトークン数からこれを計算するため、すべてのプロバイダーで機能します。

388 388 

389オブジェクトはメイン会話の最初の API レスポンスの後に表示されます。Claude Code はこれらの統計情報でサブエージェントリクエストをカウントしません。Claude Code v2.1.251 以降が必要です。389このオブジェクトは、メインの会話の最初の API レスポンスの後に表示されます。Claude Code は、サブエージェントのリクエストをこれらの統計に含めません。Claude Code v2.1.251 以降が必要です。

390 390 

391テーブルは各フィールドとその意味を示しています。タイムスタンプは Unix エポック秒で、`rate_limits.*.resets_at` と同じ単位です。短いステータスラインは通常、これらの 1 つまたは 2 つを表示します。`warm` と `hit_ratio` はキャッシュ状態を最も直接的に要約します。391次の表に、各フィールドとその意味を示します。タイムスタンプは `rate_limits.*.resets_at` と同じ単位の Unix エポック秒です。短いステータスラインでは通常、これらのうち 1 つか 2 つを表示します。`warm` と `hit_ratio` は、キャッシュの状態を最も直接的に要約します。

392 392 

393| フィールド | 説明 |393| フィールド | 説明 |

394| - | - |394| - | - |

395| `warm` | キャッシュされたプレフィックスがまだ TTL 内にあるかどうか。最後のレスポンスがキャッシュトークンを報告しなかった場合は `false`。`caching_observed` が `true` の場合でも |395| `warm` | キャッシュされたプレフィックスがまだ TTL 内にあるかどうか。最後の応答でキャッシュトークンが報告されなかった場合は、`caching_observed` が `true` であっても `false` になります |

396| `caching_observed` | このセッションのレスポンスがキャッシュトークンを報告したかどうか。`false` は prompt caching がオフ、またはプロバイダーまたはゲートウェイがそれを報告しないことを意味します |396| `caching_observed` | このセッションでいずれかの応答がキャッシュトークンを報告したかどうか。`false` は、プロンプトキャッシュが無効であるか、プロバイダーまたはゲートウェイがそれを報告しないことを意味します |

397| `ttl` | 現在のキャッシュされたプレフィックスの [キャッシュライフタイム](https://code.claude.com/docs/ja/prompt-caching.md#cache-lifetime):`"5m"` または `"1h"` |397| `ttl` | 現在キャッシュされているプレフィックスの[キャッシュの有効期間](https://code.claude.com/docs/ja/prompt-caching.md#cache-lifetime):`"5m"` または `"1h"` |

398| `expires_at` | キャッシュされたプレフィックスが TTL を離れてコールドになる時刻(エポック秒)。最後のレスポンスがキャッシュトークンを報告しなかった場合は `null` |398| `expires_at` | キャッシュされたプレフィックスが TTL を過ぎてコールドになる時刻(エポック秒)。最後の応答でキャッシュトークンが報告されなかった場合は `null` |

399| `requests` | このセッションのメイン会話で記録された API リクエスト |399| `requests` | このセッションでメインの会話について記録された API リクエスト数 |

400| `misses` | キャッシュが既に保持していたコンテンツを再処理したリクエスト:キャッシュが読み取ることができた 5% 以上かつ少なくとも 2,000 トークン。コンパクションまたはツール結果のクリアで不足を説明できない場合 |400| `misses` | キャッシュがすでに保持していたコンテンツを再処理したリクエスト数:リクエストがキャッシュから読み取れたはずの量のうち 5% 超かつ 2,000 トークン以上を再処理し、キャッシュ読み取りの不足をコンテキスト圧縮やツール結果のクリアで説明できないもの |

401| `expected_rebuilds` | コンパクションまたは古いツール結果のクリアに続いたキャッシュリビルド |401| `expected_rebuilds` | コンテキスト圧縮または古いツール結果のクリアに続いて行われたキャッシュの再構築の回数 |

402| `hit_ratio` | キャッシュ読み取りトークンをこのセッションのすべての入力トークンの分数として表したもの。0~1 の範囲。分母はキャッシュ読み取り、キャッシュ書き込み、およびキャッシュされていない入力をカウントします。これらのカウントがすべてゼロの場合は `null` |402| `hit_ratio` | このセッションのすべての入力トークンに占めるキャッシュ読み取りトークンの割合(0 から 1)。分母にはキャッシュ読み取り、キャッシュ書き込み、キャッシュされていない入力が含まれます。これらがすべてゼロの間は `null` |

403| `cache_write_tokens` | このセッション中にキャッシュに書き込まれたすべてのトークン。最初のリクエストの初期書き込みを含む |403| `cache_write_tokens` | このセッションでキャッシュに書き込まれたすべてのトークン(最初のリクエストの初回書き込みを含む) |

404| `miss_recache_tokens` | ミスとしてカウントされたリクエストによってキャッシュに書き込まれたトークン |404| `miss_recache_tokens` | ミスとしてカウントされたリクエストによってキャッシュに書き込まれたトークン |

405| `last_miss_at` | 最後のミスが発生した時刻(エポック秒)。セッションにミスがない場合は `null` |405| `last_miss_at` | 最後のミスが発生した時刻(エポック秒)。セッションにミスがない間は `null` |

406| `last_miss_cause` | Claude Code が最後のミスの可能な原因として特定したもの。[最後のミスの原因](#last-miss-cause) で説明されています。Claude Code v2.1.260 以降が必要です |406| `last_miss_cause` | Claude Code が最後のミスの原因と推定したもの。[最後のミスの原因](#last-miss-cause)で説明しています。Claude Code v2.1.260 以降が必要です |

407| `miss_causes` | このセッションの診断されたミスのうち、各原因を持つ数。`last_miss_cause` と同じ原因名でキー付けされています。Claude Code v2.1.260 以降が必要です |407| `miss_causes` | このセッションで診断されたミスのうち、各原因によるものの件数。キーは `last_miss_cause` と同じ原因名です。Claude Code v2.1.260 以降が必要です |

408| `recache_tokens_if_cold` | キャッシュがそれまでにコールドになった場合、次のリクエストが再キャッシュするトークン。コンパクションまたは古いツール結果のクリアの直後は `null`。次のリクエストが書き直された会話のサイズを記録するまで `null` のままです |408| `recache_tokens_if_cold` | 次のリクエストまでにキャッシュがコールドになっていた場合に、そのリクエストが再キャッシュするトークン数。コンテキスト圧縮または古いツール結果のクリアの直後は、次のリクエストが書き換えられた会話のサイズを記録するまで `null` |

409 409 

410Claude Code はターミナルで同じ統計情報を表示します。[`/usage` コマンドの `Prompt cache (main)` 行](https://code.claude.com/docs/ja/costs#prompt-cache-statistics) を参照してください。410Claude Code は、同じ統計をターミナルの [`/usage` コマンドの `Prompt cache (main)` 行](https://code.claude.com/docs/ja/costs#prompt-cache-statistics)にも表示します。

411 411 

412#### 最後のミスの原因412#### 最後のミスの原因

413 413 

414`last_miss_cause` オブジェクトは、Claude Code が最新のミスの可能な原因として特定したものを報告します。その `causes` 配列は `tools_changed`、`system_prompt_changed`、`ttl_expired_5m`、または `likely_server_side` などの 1 つ以上の原因名を保持します。オブジェクトはセッションの最初のミスまで `null` であり、Claude Code が最新のミスの原因を特定できなかった場合は再び `null` になります。Claude Code v2.1.260 以降が必要です。414`last_miss_cause` オブジェクトは、Claude Code が直近のミスの原因と推定したものを報告します。その `causes` 配列には、`tools_changed`、`system_prompt_changed`、`ttl_expired_5m`、`likely_server_side` などの原因名が 1 つ以上含まれます。このオブジェクトは、セッションの最初のミスまでは `null` で、Claude Code が直近のミスの原因を特定できなかった場合も再び `null` になります。Claude Code v2.1.260 以降が必要です。

415 415 

4162 つの原因はオブジェクトにカウントを追加します:4162 つの原因では、オブジェクトに件数が追加されます。

417 417 

418* `tools_added` と `tools_removed`:`tools_changed` を使用して、リクエストに追加または削除されたツールの数418* `tools_added` と `tools_removed`:`tools_changed` とともに、リクエストに追加またはリクエストから削除されたツールの数

419* `system_char_delta`:`system_prompt_changed` を使用して、システムプロンプトの長さの変化(文字数)419* `system_char_delta`:`system_prompt_changed` とともに、システムプロンプトの長さの変化(文字数)

420 420 

421## 例421## 例

422 422 

Details

121* **バックグラウンドセッション**:[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)は、アタッチしている間であっても、ターミナルにステータスを報告しません。代わりにエージェントビューにステータスが表示されます。121* **バックグラウンドセッション**:[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)は、アタッチしている間であっても、ターミナルにステータスを報告しません。代わりにエージェントビューにステータスが表示されます。

122* **[`CLAUDE_CODE_DISABLE_TERMINAL_TITLE`](https://code.claude.com/docs/ja/env-vars#variables)**:この変数を `1` に設定している場合、Claude Code はサポートの有無を確認せず、ステータスも報告しません。この変数の設定を解除してください。122* **[`CLAUDE_CODE_DISABLE_TERMINAL_TITLE`](https://code.claude.com/docs/ja/env-vars#variables)**:この変数を `1` に設定している場合、Claude Code はサポートの有無を確認せず、ステータスも報告しません。この変数の設定を解除してください。

123 123 

124プロトコルのサポートを報告するターミナルでは、タブのタイトルの先頭にステータスのグリフは付きません。ターミナル自体がセッションの状態を表示するため、Claude Code は他のターミナルでタイトルの前に付けるグリフを省略します。

125 

124## tmux を設定する126## tmux を設定する

125 127 

126Claude Code が tmux 内で実行される場合、デフォルトでは Shift+Enter が改行を挿入する代わりに送信してしまい、デスクトップ通知と[プログレスバー](https://code.claude.com/docs/ja/settings-reference.md#terminalprogressbarenabled)が外側のターミナルに到達しません。これらの行を `~/.tmux.conf` に追加してから、`tmux source-file ~/.tmux.conf` を実行して、実行中のサーバーに適用してください。128Claude Code が tmux 内で実行される場合、デフォルトでは Shift+Enter が改行を挿入する代わりに送信してしまい、デスクトップ通知と[プログレスバー](https://code.claude.com/docs/ja/settings-reference.md#terminalprogressbarenabled)が外側のターミナルに到達しません。これらの行を `~/.tmux.conf` に追加してから、`tmux source-file ~/.tmux.conf` を実行して、実行中のサーバーに適用してください。

Details

258 258 

259Claude が最後に読み取った後、ディスク上で変更されたファイルは、`old_string` が現在のコンテンツと正確かつ明確に一致し、Claude Code がプロンプトなしでファイルを読み取ることができる場合でも編集できます。ファイルの現在のコンテンツに対してマッチングすることでこれを安全に保ち、結果はファイルが他の変更を含むことを示すため、Claude は周囲のコンテンツに依存する編集の前に再度読み取ります。古い `old_string` や `replace_all` なしで複数回一致するものなど、その他の場合は、Claude は編集前にファイルを再度読み取ります。259Claude が最後に読み取った後、ディスク上で変更されたファイルは、`old_string` が現在のコンテンツと正確かつ明確に一致し、Claude Code がプロンプトなしでファイルを読み取ることができる場合でも編集できます。ファイルの現在のコンテンツに対してマッチングすることでこれを安全に保ち、結果はファイルが他の変更を含むことを示すため、Claude は周囲のコンテンツに依存する編集の前に再度読み取ります。古い `old_string` や `replace_all` なしで複数回一致するものなど、その他の場合は、Claude は編集前にファイルを再度読み取ります。

260 260 

261Claude は、`cat` や `grep` などの Bash コマンドでファイルを表示した後も、別途 Read を行わずにそのファイルを編集できます。対象となるコマンドは `cat`、`nl`、`bat`、`batcat`、`head`、`tail`、`sed -n 'X,Yp'`、`grep`、`egrep`、`fgrep`、`rg` で、いずれもパイプやリダイレクトなしで 1 つのファイルに対して実行したものに限ります。一致するものを何も出力しない検索は読み取りとしてカウントされず、このリストにないコマンドも同様にカウントされません。261Claude は、`cat` や `grep` などの Bash コマンドでファイルを表示した後も、別途 Read を行わずにそのファイルを編集できます。対象となるコマンドは `cat`、`nl`、`bat`、`batcat`、`head`、`tail`、`sed -n 'X,Yp'`、`grep`、`egrep`、`fgrep`、`rg` で、いずれもパイプやリダイレクトなしで 1 つのファイルに対して実行したものに限ります。検索が何にも一致しない場合など、コマンドがファイルのテキストを何も出力しなかった場合は、引き続き Read-before-edit チェックが適用されます。

262 262 

263Claude がこの方法でファイルを表示すると、Claude Code はそのファイルに適用される[サブディレクトリの `CLAUDE.md`](https://code.claude.com/docs/ja/memory#how-claude-md-files-load)と[パススコープのルール](https://code.claude.com/docs/ja/memory.md#path-specific-rules)も読み込みます。`Read` と `Edit` の拒否ルールがどの Bash コマンドをカバーするかについては、[Read と Edit の権限ルール](https://code.claude.com/docs/ja/permissions.md#read-and-edit)を参照してください。263Claude がこの方法でファイルを表示すると、Claude Code はそのファイルに適用される[サブディレクトリの `CLAUDE.md`](https://code.claude.com/docs/ja/memory#how-claude-md-files-load)と[パススコープのルール](https://code.claude.com/docs/ja/memory.md#path-specific-rules)も読み込みます。`Read` と `Edit` の拒否ルールがどの Bash コマンドをカバーするかについては、[Read と Edit の権限ルール](https://code.claude.com/docs/ja/permissions.md#read-and-edit)を参照してください。

264 264 


383 383 

384[WebSocket ソース](#websocket-source) には独自の承認プロンプトがあり、auto モードではこれも分類器が決定します。384[WebSocket ソース](#websocket-source) には独自の承認プロンプトがあり、auto モードではこれも分類器が決定します。

385 385 

386このツールは Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません。また、`DISABLE_TELEMETRY` または `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` が設定されている場合も利用できません。Windows では、[Git Bash](https://code.claude.com/docs/ja/setup.md#set-up-on-windows) がインストールされている場合にのみこのツールを利用できます。386次の場合、Monitor には最小バージョンまたは Git Bash が必要です。

387 

388* **最小バージョン**: Amazon Bedrock、Claude Platform on AWS、Google Cloud の Agent Platform、または Microsoft Foundry 上で使用する場合、あるいは `DISABLE_TELEMETRY` または `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` が設定されている場合、Monitor には Claude Code v2.1.310 以降が必要です。この要件は [フィーチャーフラグの取得](https://code.claude.com/docs/ja/env-vars.md#features-that-need-feature-flag-fetching) がオフの場合に適用されます

389* **Windows**: [Git Bash](https://code.claude.com/docs/ja/setup.md#set-up-on-windows) がインストールされている場合にのみこのツールを利用できます

387 390 

388プラグインは Claude に開始を依頼する代わりに、プラグインがアクティブな場合に自動的に開始される Monitor を宣言できます。[プラグイン Monitor](https://code.claude.com/docs/ja/plugins/components.md#monitors) を参照してください。391プラグインは Claude に開始を依頼する代わりに、プラグインがアクティブな場合に自動的に開始される Monitor を宣言できます。[プラグイン Monitor](https://code.claude.com/docs/ja/plugins/components.md#monitors) を参照してください。

389 392 

Details

175 175 

176Claude が完了したら、変更をレビューし、特定の行にフィードバックを残し、diff が正しく見えるまで続行します。176Claude が完了したら、変更をレビューし、特定の行にフィードバックを残し、diff が正しく見えるまで続行します。

177 177 

178**1. diff ビューを開く**178**1. 差分ビューを開く**

179 179 

180diff インジケーターはセッション全体で追加および削除された行を表示します(例:`+42 -18`)。それを選択して diff ビューを開き、左側にファイルリスト、右側に変更が表示されます。180Claude が変更をブランチにプッシュすると、チャットの横にあるパネルの **Changes** カードに、セッション全体で追加および削除された行が表示されます(例:`+42 -18`)。これらの数値をクリックすると差分ビューが開きます。

181 181 

182diff はデフォルトではセッションの変更をベースブランチと比較します。別のブランチと比較するには、**Compare against** を選択して 1 つを選びます。182* セッションのタイトルバー、またはバーの **⋮** メニューにある **Changes** をクリックすることもできます。

183* パネルが非表示になっているときに表示するには、セッションのタイトルバー、またはバーの **⋮** メニューにある **Show session rail** アイコンをクリックします。

184 

185差分はデフォルトではセッションの変更をベースブランチと比較します。別のブランチと比較するには、**Compare against** を選択して 1 つを選びます。

183 186 

184**2. インラインコメントを残す**187**2. インラインコメントを残す**

185 188 

186diff 内の任意の行を選択し、フィードバックを入力して Enter キーを押します。コメントは次のメッセージを送信するまでキューに入り、その後バンドルされます。Claude は「`src/auth.ts:47` で、ここでエラーをキャッチしないでください」をメインの指示と一緒に見るため、問題がどこにあるかを説明する必要はありません。189差分内の任意の行を選択し、フィードバックを入力して Enter キーを押します。コメントは次のメッセージを送信するまでキューに入り、その後バンドルされます。Claude は「`src/auth.ts:47` で、ここでエラーをキャッチしないでください」をメインの指示と一緒に見るため、問題がどこにあるかを説明する必要はありません。

190 

191**3. プルリクエストを作成**

187 192 

188**3. pull request を作成**193差分が正しく見えたら、**Changes** カードが表示されていない場合は[パネルを再度表示](https://code.claude.com/docs/ja/claude-code-on-the-web.md#review-changes)し、カードからプルリクエストまたはドラフトを作成します:

189 194 

190diff が正しく見えたら、diff ビューの上部にある **Create PR** を選択します。完全な PR として開くか、ドラフトとして開くか、生成されたタイトルと説明で GitHub の作成ページにジャンプできます。195* **Create PR** をクリックします。Claude Code が生成されたタイトルと説明でプルリクエストを作成します。

196* 代わりにドラフトとして開くには、**Create PR** を右クリックし、**Create draft PR** を選択してボタンの動作を変更してから、ボタンをクリックします

191 197 

192**4. PR 作成後も反復を続ける**198**4. PR 作成後も反復を続ける**

193 199