97 戻り値97 戻り値
98</h4>98</h4>
99 99
100[`Query`](#query-object) オブジェクトを返します。これは `AsyncGenerator<`[`SDKMessage`](#sdkmessage)`, void>` を拡張し、追加のメソッドを備えています。100[`Query`](#query-object) オブジェクトを返します。このオブジェクトは `AsyncGenerator<`[`SDKMessage`](#sdkmessage)`, void>` を拡張し、追加のメソッドを備えています。
101 101
102<h3 id="startup">102<h3 id="startup">
103 `startup()`103 `startup()`
104</h3>104</h3>
105 105
106プロンプトが利用可能になる前に CLI サブプロセスをプリウォーミングします。これはサブプロセスを生成し、初期化ハンドシェイクを完了します。返された [`WarmQuery`](#warmquery) ハンドルは後でプロンプトを受け入れ、既に準備ができているプロセスに書き込むため、最初の `query()` 呼び出しはサブプロセスの生成と初期化コストをインラインで支払うことなく解決します。セッションの作業ディレクトリがまだわからない場合は、代わりに [`prewarm()`](#prewarm) を使用してください。106CLI サブプロセスをプリウォーミングします。プロセスを生成し、プロンプトが利用可能になる前に初期化ハンドシェイクを完了します。返された [`WarmQuery`](#warmquery) ハンドルは後でプロンプトを受け入れ、既に準備ができているプロセスに書き込むため、最初の `query()` 呼び出しはサブプロセスの生成と初期化のコストをインラインで支払うことなく解決します。セッションの作業ディレクトリがまだわからない場合は、代わりに [`prewarm()`](#prewarm) を使用してください。
107 107
108```typescript theme={null}108```typescript theme={null}
109function startup(params?: {109function startup(params?: {
131 例131 例
132</h4>132</h4>
133 133
134`startup()` を早期に呼び出します。たとえば、アプリケーション起動時に呼び出してから、プロンプトが準備できたら返されたハンドルで `.query()` を呼び出します。これにより、サブプロセスの生成と初期化をクリティカルパスから外します。134`startup()` を早期に呼び出します。たとえば、アプリケーション起動時に呼び出し、プロンプトが準備できたら返されたハンドルで `.query()` を呼び出します。これにより、サブプロセスの生成と初期化がクリティカルパスから外れます。
135 135
136```typescript theme={null}136```typescript theme={null}
137import { startup } from "@anthropic-ai/claude-agent-sdk";137import { startup } from "@anthropic-ai/claude-agent-sdk";
151 151
152*アルファ版。* どのセッションに対応するかわかる前に Claude Code プロセスをスペアとして開始します。後で [`claim()`](#spareprocess) を使用してセッションにバインドできます。ユーザーがフォルダを選択する前に起動するアプリケーションで使用します。TypeScript Agent SDK v0.3.282 以降が必要です。152*アルファ版。* どのセッションに対応するかわかる前に Claude Code プロセスをスペアとして開始します。後で [`claim()`](#spareprocess) を使用してセッションにバインドできます。ユーザーがフォルダを選択する前に起動するアプリケーションで使用します。TypeScript Agent SDK v0.3.282 以降が必要です。
153 153
154`prewarm()` は [`startup()`](#startup) と同じ初期化ハンドシェイクを完了します。`options.cwd` を設定した場合はそのディレクトリで、それ以外の場合は Claude Code 設定ディレクトリの下のプライベート一時ディレクトリでプロセスが待機します。セッションの作業ディレクトリ、その `SessionStart` フック、その stdio MCP サーバー、その CLAUDE.md と git コンテキストはクレームを待ちます。スペアは待機中に約 230 ~ 260 MB のメモリを保持します。[`spawnClaudeCodeProcess`](#options) が別のマシンまたはコンテナで Claude Code を実行する場合は、`options.cwd` をそこに存在するディレクトリに設定して、スペアが待機するようにします。154`prewarm()` は [`startup()`](#startup) と同じ初期化ハンドシェイクを完了します。`options.cwd` を設定した場合はそのディレクトリで、それ以外の場合は Claude Code 設定ディレクトリ下のプライベート一時ディレクトリでプロセスが待機します。セッションの作業ディレクトリ、その `SessionStart` フック、その stdio MCP サーバー、その CLAUDE.md と git コンテキストはクレームを待ちます。スペアは待機中に約 230 ~ 260 MB のメモリを保持します。[`spawnClaudeCodeProcess`](#options) が別のマシンまたはコンテナで Claude Code を実行する場合は、`options.cwd` をそこに存在するディレクトリに設定して、スペアが待機するようにしてください。
155 155
156```typescript theme={null}156```typescript theme={null}
157function prewarm(params?: {157function prewarm(params?: {
160}): Promise<SpareProcess>;160}): Promise<SpareProcess>;
161```161```
162 162
163`options` と `initializeTimeoutMs` は `startup()` と同じ意味ですが、`options.cwd` はスペアが待機するディレクトリのみを設定します。プロミスはプロセスが初期化ハンドシェイクを完了したら [`SpareProcess`](#spareprocess) で解決します。`prewarm()` は `options` が `resume`、`continue`、または `forkSession` を設定する場合にスローします。スペアはまだセッションを持たないためです。クレームが設定できないすべてのもの(`mcpServers`、`hooks`、`canUseTool`、`settingSources`、`systemPrompt`、`plugins` など)はスペアの生涯にわたって固定されるため、これらのオプションの異なるセットごとに 1 つのスペアを保持し、それらが変更されたら再度プリウォームします。163`options` と `initializeTimeoutMs` は `startup()` と同じ意味ですが、`options.cwd` はスペアが待機するディレクトリのみを設定します。プロミスは、プロセスが初期化ハンドシェイクを完了したら [`SpareProcess`](#spareprocess) で解決します。`prewarm()` は `options` が `resume`、`continue`、または `forkSession` を設定する場合にスローします。スペアにはセッションがないためです。クレームが設定できないもの(`mcpServers`、`hooks`、`canUseTool`、`settingSources`、`systemPrompt`、`plugins` など)はスペアの存続期間中固定されるため、それらのオプションの異なるセットごとに 1 つのスペアを保持し、変更時に再度プリウォーミングしてください。
164 164
165<h4 id="example-2">165<h4 id="example-2">
166 例166 例
167</h4>167</h4>
168 168
169アプリケーション起動時にプリウォームしてから、ユーザーがセッションを開始したときにスペアをクレームします。169アプリケーション起動時にプリウォーミングし、ユーザーがセッションを開始したときにスペアをクレームします。
170 170
171```typescript theme={null}171```typescript theme={null}
172import { prewarm } from "@anthropic-ai/claude-agent-sdk";172import { prewarm } from "@anthropic-ai/claude-agent-sdk";
223 `ToolAnnotations`223 `ToolAnnotations`
224</h4>224</h4>
225 225
226`@modelcontextprotocol/sdk/types.js` から再エクスポートされます。すべてのフィールドはオプションのヒントです。クライアントはセキュリティ決定のためにそれらに依存すべきではありません。226`@modelcontextprotocol/sdk/types.js` で定義されています。すべてのフィールドはオプションのヒントです。クライアントはセキュリティ決定のためにそれらに依存すべきではありません。
227 227
228| フィールド | 型 | デフォルト | 説明 |228| フィールド | 型 | デフォルト | 説明 |
229| :- | :- | :- | :- |229| :- | :- | :- | :- |
276| `options.instructions` | `string` | オプションのサーバー指示。`initialize` から返され、MCP 指示ブロックとしてモデルに表示されます |276| `options.instructions` | `string` | オプションのサーバー指示。`initialize` から返され、MCP 指示ブロックとしてモデルに表示されます |
277| `options.tools` | `Array<SdkMcpToolDefinition>` | [`tool()`](#tool) で作成されたツール定義の配列 |277| `options.tools` | `Array<SdkMcpToolDefinition>` | [`tool()`](#tool) で作成されたツール定義の配列 |
278| `options.alwaysLoad` | `boolean` | `true` の場合、このサーバーのすべてのツールは初期プロンプトに留まり、[ツール検索](/docs/ja/agent-sdk/tool-search) の背後で遅延されることはありません。[`tool()`](#tool) のツール単位の `alwaysLoad` と組み合わせます |278| `options.alwaysLoad` | `boolean` | `true` の場合、このサーバーのすべてのツールは初期プロンプトに留まり、[ツール検索](/docs/ja/agent-sdk/tool-search) の背後で遅延されることはありません。[`tool()`](#tool) のツール単位の `alwaysLoad` と組み合わせます |
279| `options.timeout` | `number` | このサーバーのツール呼び出しのタイムアウト(ミリ秒)。Claude Code はこれを [`MCP_TOOL_TIMEOUT`](/docs/ja/env-vars) の代わりにこのサーバーに適用します。1000 以上の整数を渡します。Claude Code は他の値を無視します。TypeScript Agent SDK v0.3.248 以降が必要です |279| `options.timeout` | `number` | このサーバーのツール呼び出しのタイムアウト(ミリ秒)。Claude Code はこれを [`MCP_TOOL_TIMEOUT`](/docs/ja/env-vars) の代わりにこのサーバーに適用します。1000 以上の整数を渡してください。Claude Code は他の値を無視します。TypeScript Agent SDK v0.3.248 以降が必要です |
280 280
281<h3 id="listsessions">281<h3 id="listsessions">
282 `listSessions()`282 `listSessions()`
308| `summary` | `string` | 表示タイトル:カスタムタイトル、最新のプロンプト、自動生成されたサマリー、または最初のプロンプト |308| `summary` | `string` | 表示タイトル:カスタムタイトル、最新のプロンプト、自動生成されたサマリー、または最初のプロンプト |
309| `lastModified` | `number` | エポック以降のミリ秒単位での最後の変更時刻 |309| `lastModified` | `number` | エポック以降のミリ秒単位での最後の変更時刻 |
310| `fileSize` | `number \| undefined` | セッションファイルサイズ(バイト)。ローカル JSONL ストレージの場合のみ入力されます |310| `fileSize` | `number \| undefined` | セッションファイルサイズ(バイト)。ローカル JSONL ストレージの場合のみ入力されます |
311| `customTitle` | `string \| undefined` | ユーザーが設定したセッションタイトル(`--name`、`/rename`、フックの `sessionTitle` 出力、または [`renameSession()`](#renamesession) 経由など)。それ以外の場合は AI が生成したセッションタイトル(セッションがある場合) |311| `customTitle` | `string \| undefined` | `--name`、`/rename`、フックの `sessionTitle` 出力、または [`renameSession()`](#renamesession) で設定されている場合のセッションのカスタムタイトル。それ以外の場合は、セッションがある場合は AI 生成のセッションタイトル |
312| `firstPrompt` | `string \| undefined` | セッション内の最初の意味のあるユーザープロンプト |312| `firstPrompt` | `string \| undefined` | セッション内の最初の意味のあるユーザープロンプト |
313| `gitBranch` | `string \| undefined` | セッション終了時の git ブランチ |313| `gitBranch` | `string \| undefined` | セッション終了時の git ブランチ |
314| `cwd` | `string \| undefined` | セッションの作業ディレクトリ |314| `cwd` | `string \| undefined` | セッションの作業ディレクトリ |
351| パラメータ | 型 | デフォルト | 説明 |351| パラメータ | 型 | デフォルト | 説明 |
352| :- | :- | :- | :- |352| :- | :- | :- | :- |
353| `sessionId` | `string` | 必須 | 読み取るセッション UUID(`listSessions()` を参照) |353| `sessionId` | `string` | 必須 | 読み取るセッション UUID(`listSessions()` を参照) |
354| `options.dir` | `string` | `undefined` | セッションを検索するプロジェクトディレクトリ。省略した場合、すべてのプロジェクトを検索します |354| `options.dir` | `string` | `undefined` | セッションを検出するプロジェクトディレクトリ。省略した場合、すべてのプロジェクトを検索します |
355| `options.limit` | `number` | `undefined` | 返すメッセージの最大数 |355| `options.limit` | `number` | `undefined` | 返すメッセージの最大数 |
356| `options.offset` | `number` | `undefined` | 開始からスキップするメッセージ数 |356| `options.offset` | `number` | `undefined` | 開始からスキップするメッセージ数 |
357 357
408 408
409| パラメータ | 型 | デフォルト | 説明 |409| パラメータ | 型 | デフォルト | 説明 |
410| :- | :- | :- | :- |410| :- | :- | :- | :- |
411| `sessionId` | `string` | 必須 | 検索するセッションの UUID |411| `sessionId` | `string` | 必須 | ルックアップするセッションの UUID |
412| `options.dir` | `string` | `undefined` | プロジェクトディレクトリパス。省略した場合、すべてのプロジェクトディレクトリを検索します |412| `options.dir` | `string` | `undefined` | プロジェクトディレクトリパス。省略した場合、すべてのプロジェクトディレクトリを検索します |
413 413
414[`SDKSessionInfo`](#return-type-sdksessioninfo) を返すか、セッションが見つからない場合は `undefined` を返します。414[`SDKSessionInfo`](#return-type-sdksessioninfo) を返すか、セッションが見つからない場合は `undefined` を返します。
465 `resolveSettings()`465 `resolveSettings()`
466</h3>466</h3>
467 467
468CLI と同じマージエンジンを使用して、Claude Code プロセスを生成せずに、指定されたディレクトリの有効な Claude Code 設定を解決します。`query()` 呼び出しを呼び出す前に、設定がどのような設定を見るかを検査するために使用します。468CLI を生成せずに、CLI と同じマージエンジンを使用して、指定されたディレクトリの有効な Claude Code 設定を解決します。`query()` 呼び出しを呼び出す前に、設定がどのような設定を見るかを検査するために使用します。
469 469
470<Note>470<Note>
471 この関数はアルファ版であり、安定化前に API が変更される可能性があります。471 この関数はアルファ版であり、安定化前に API が変更される可能性があります。
474スナップショットはライブ `query()` セッションが適用するものと異なります。474スナップショットはライブ `query()` セッションが適用するものと異なります。
475 475
476* **`policyHelper`**:`resolveSettings()` は MDM ソース(macOS plist と Windows HKLM/HKCU を含む)を読み取りますが、管理者が設定した `policyHelper` サブプロセスを実行しません。476* **`policyHelper`**:`resolveSettings()` は MDM ソース(macOS plist と Windows HKLM/HKCU を含む)を読み取りますが、管理者が設定した `policyHelper` サブプロセスを実行しません。
477* **サーバー管理設定**:`resolveSettings()` は [サーバー管理設定](/docs/ja/server-managed-settings#fetch-and-caching-behavior) をフェッチしません。それらを含めるには `options.serverManagedSettings` として渡します。477* **サーバー管理設定**:`resolveSettings()` は [サーバー管理設定](/docs/ja/server-managed-settings#fetch-and-caching-behavior) をフェッチしません。それらを含めるには `options.serverManagedSettings` として渡してください。
478* **`defaultMode`**:スナップショットは `permissions.defaultMode` をすべてのティアから現状のまま返すため、プロジェクトおよびローカル設定からの `'auto'` および `'bypassPermissions'` 値を含めることができます。これは [ライブセッションが無視する](/docs/ja/permission-modes#which-mode-a-session-starts-in) ものです。478* **`defaultMode`**:スナップショットは `permissions.defaultMode` をすべてのティアからそのまま返すため、プロジェクトおよびローカル設定からの `'auto'` および `'bypassPermissions'` 値を含めることができます。これは [ライブセッションが無視する](/docs/ja/permission-modes#which-mode-a-session-starts-in) ものです。
479 479
480```typescript theme={null}480```typescript theme={null}
481function resolveSettings(481function resolveSettings(
492| パラメータ | 型 | デフォルト | 説明 |492| パラメータ | 型 | デフォルト | 説明 |
493| :- | :- | :- | :- |493| :- | :- | :- | :- |
494| `options.cwd` | `string` | `process.cwd()` | プロジェクトおよびローカル設定を相対的に解決するディレクトリ |494| `options.cwd` | `string` | `process.cwd()` | プロジェクトおよびローカル設定を相対的に解決するディレクトリ |
495| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | すべてのソース | どのファイルシステムソースをロードするか。ユーザー、プロジェクト、およびローカル設定をスキップするには `[]` を渡します。[エンドポイント管理ポリシー](/docs/ja/managed-settings#delivery-mechanisms) はすべての場合にロードされます。`resolveSettings()` は `options.serverManagedSettings` を渡す場合のみサーバー管理設定を含めます |495| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | すべてのソース | どのファイルシステムソースをロードするか。ユーザー、プロジェクト、およびローカル設定をスキップするには `[]` を渡してください。[エンドポイント管理ポリシー](/docs/ja/managed-settings#delivery-mechanisms) はすべての場合にロードされます。`resolveSettings()` は `options.serverManagedSettings` を渡す場合のみサーバー管理設定を含めます |
496| `options.managedSettings` | `Settings` | `undefined` | 埋め込みホストによって提供されるポリシーティア設定。[`Options`](#options) の [`managedSettings`](#options) と同じルールに従います。ただし、`resolveSettings()` は設定された [`policyHelper`](/docs/ja/settings-reference#policyhelper) を実行しないため、スナップショットはライブセッションがドロップする設定を含めることができます |496| `options.managedSettings` | `Settings` | `undefined` | 埋め込みホストによって提供されるポリシーティア設定。[`Options`](#options) の [`managedSettings`](#options) と同じルールに従います。ただし、`resolveSettings()` は設定された [`policyHelper`](/docs/ja/settings-reference#policyhelper) を実行しないため、スナップショットはライブセッションがドロップする設定を含めることができます |
497| `options.serverManagedSettings` | `Settings` | `undefined` | `/api/claude_code/settings` からのサーバー管理設定ペイロード。制限のないキーはフィルタリングなしで通過します |497| `options.serverManagedSettings` | `Settings` | `undefined` | `/api/claude_code/settings` からのサーバー管理設定ペイロード。制限のないキーはフィルタリングなしで通過します |
498 498
504 504
505| プロパティ | 型 | 説明 |505| プロパティ | 型 | 説明 |
506| :- | :- | :- |506| :- | :- | :- |
507| `effective` | `Settings` | すべての有効なソースを優先順位順に適用した後のマージされた設定 |507| `effective` | `Settings` | すべての有効なソースを優先順序で適用した後のマージされた設定 |
508| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | `effective` の各トップレベルキーについて、値を提供したソース |508| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | `effective` の各トップレベルキーについて、値を提供したソース |
509| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | ソースごとの生の設定。最も低い優先度から最も高い優先度の順に並べられています |509| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | ソースごとの生の設定。最も低い優先度から最も高い優先度の順に並べられています |
510 510
512 例512 例
513</h4>513</h4>
514 514
515以下の例はプロジェクトディレクトリの設定を解決し、クリーンアップ期間を制御するソースを出力します。設定ファイルが `cleanupPeriodDays` を設定しないマシンでは、両方の出力行は値に対して `undefined` を表示します。これはエラーではなく、予想される出力です。515以下の例は、プロジェクトディレクトリの設定を解決し、クリーンアップ期間を制御するソースを出力します。設定ファイルが `cleanupPeriodDays` を設定しないマシンでは、両方の出力行は値に対して `undefined` を表示します。これはエラーではなく、予想される出力です。
516 516
517```typescript theme={null}517```typescript theme={null}
518import { resolveSettings } from "@anthropic-ai/claude-agent-sdk";518import { resolveSettings } from "@anthropic-ai/claude-agent-sdk";
539| プロパティ | 型 | デフォルト | 説明 |539| プロパティ | 型 | デフォルト | 説明 |
540| :- | :- | :- | :- |540| :- | :- | :- | :- |
541| `abortController` | `AbortController` | `new AbortController()` | 操作をキャンセルするためのコントローラー |541| `abortController` | `AbortController` | `new AbortController()` | 操作をキャンセルするためのコントローラー |
542| `additionalDirectories` | `string[]` | `[]` | Claude Code がアクセスできる追加ディレクトリ。SDK は各エントリを Claude Code に `--add-dir` として渡すため、`project` 設定ソースを使用すると Claude Code は [ディレクトリのスキル、コマンド、サブエージェントも読み込みます](/docs/ja/permissions#additional-directories-grant-file-access-not-configuration) |542| `additionalDirectories` | `string[]` | `[]` | Claude が アクセスできる追加ディレクトリ。SDK は各エントリを Claude Code に `--add-dir` として渡すため、`project` 設定ソースを使用すると Claude Code は [ディレクトリのスキル、コマンド、サブエージェントも読み込みます](/docs/ja/permissions#additional-directories-grant-file-access-not-configuration) |
543| `agent` | `string` | `undefined` | メインスレッドのエージェント名。エージェントは `agents` オプションまたは設定で定義されている必要があります |543| `agent` | `string` | `undefined` | メインスレッドのエージェント名。エージェントは `agents` オプションまたは設定で定義されている必要があります |
544| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | プログラムでサブエージェントを定義します |544| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | プログラムでサブエージェントを定義します |
545| `agentProgressSummaries` | `boolean` | `false` | `true` の場合、サブエージェントの 1 行の進捗サマリーを生成し、`summary` フィールド経由で [`task_progress`](#sdktaskprogressmessage) イベントで転送します。フォアグラウンドおよびバックグラウンドサブエージェントに適用されます |545| `agentProgressSummaries` | `boolean` | `false` | `true` の場合、サブエージェントの 1 行の進捗サマリーを生成し、[`task_progress`](#sdktaskprogressmessage) イベントの `summary` フィールドで転送します。フォアグラウンドおよびバックグラウンドサブエージェントに適用されます |
546| `allowDangerouslySkipPermissions` | `boolean` | `false` | 権限をバイパスすることを有効にします。`permissionMode: 'bypassPermissions'` を使用する場合に必須です。スタートアップ時またはその後 `setPermissionMode()` を通じて設定できます。[plan mode](/docs/ja/agent-sdk/permissions#plan-mode-plan) で `permissionMode: 'plan'` との相互作用を確認してください |546| `allowDangerouslySkipPermissions` | `boolean` | `false` | 権限をバイパスすることを有効にします。`permissionMode: 'bypassPermissions'` を使用する場合に必須です。スタートアップ時またはその後 `setPermissionMode()` を通じて設定できます。[プランモード](/docs/ja/agent-sdk/permissions#plan-mode-plan)を参照して、`permissionMode: 'plan'` との相互作用を確認してください |
547| `allowedTools` | `string[]` | `[]` | プロンプトなしで自動承認するツール。これは Claude をこれらのツールのみに制限しません。[タスク追跡ツール](/docs/ja/agent-sdk/todo-tracking#model-availability) の 1 つをここで指定すると、Claude Code もセッションをオプトインします。リストされていない他のツールは `permissionMode` と `canUseTool` にフォールスルーします。ツールをブロックするには `disallowedTools` を使用してください。[権限](/docs/ja/agent-sdk/permissions#allow-and-deny-rules) を参照してください |547| `allowedTools` | `string[]` | `[]` | プロンプトなしで自動承認するツール。これは Claude を これらのツールのみに制限しません。[タスク追跡ツール](/docs/ja/agent-sdk/todo-tracking#model-availability)の 1 つをここに名前を付けると、Claude Code もセッションをオプトインします。リストされていない他のツールは `permissionMode` と `canUseTool` にフォールスルーします。`disallowedTools` を使用してツールをブロックします。[権限](/docs/ja/agent-sdk/permissions#allow-and-deny-rules)を参照してください |
548| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | ベータ機能を有効にします |548| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | ベータ機能を有効にします |
549| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | カスタム権限関数。[権限フロー](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated) がプロンプトにフォールスルーする場合にのみ呼び出されます。`allowedTools`、許可ルール、または `permissionMode` で自動承認された呼び出しには呼び出されません。許可ルールは [どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves) を事前承認しません。詳細は [`CanUseTool`](#canusetool) を参照してください |549| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | カスタム権限関数。[権限フロー](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated)がプロンプトにフォールスルーする場合にのみ呼び出されます。`allowedTools`、許可ルール、または `permissionMode` で自動承認された呼び出しには呼び出されません。許可ルールは [どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)を事前承認しません。詳細は [`CanUseTool`](#canusetool) を参照してください |
550| `continue` | `boolean` | `false` | 最新の会話を続行します |550| `continue` | `boolean` | `false` | 最新の会話を続行します |
551| `cwd` | `string` | `process.cwd()` | 現在の作業ディレクトリ |551| `cwd` | `string` | `process.cwd()` | 現在の作業ディレクトリ |
552| `debug` | `boolean` | `false` | Claude Code プロセスのデバッグモードを有効にします |552| `debug` | `boolean` | `false` | Claude Code プロセスのデバッグモードを有効にします |
553| `debugFile` | `string` | `undefined` | デバッグログを特定のファイルパスに書き込みます。暗黙的にデバッグモードを有効にします |553| `debugFile` | `string` | `undefined` | デバッグログを特定のファイルパスに書き込みます。暗黙的にデバッグモードを有効にします |
554| `disallowedTools` | `string[]` | `[]` | 拒否するツール。`"Bash"` のような単純な名前はツールを Claude のコンテキストから削除します。`"Bash(rm *)"` のようなスコープ付きルールはツールを利用可能なままにし、`bypassPermissions` を含むすべての権限モードで一致する呼び出しを拒否します。[書かれたとおりの](/docs/ja/permissions#bash-rule-limits) コマンドの場合です。[権限](/docs/ja/agent-sdk/permissions#allow-and-deny-rules) を参照してください |554| `disallowedTools` | `string[]` | `[]` | 拒否するツール。`"Bash"` のような単純な名前はツールを Claude のコンテキストから削除します。`"Bash(rm *)"` のようなスコープ付きルールはツールを利用可能なままにし、[書かれたコマンド](/docs/ja/permissions#bash-rule-limits)に対して `bypassPermissions` を含むすべての権限モードで一致する呼び出しを拒否します。[権限](/docs/ja/agent-sdk/permissions#allow-and-deny-rules)を参照してください |
555| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | Claude が応答に費やす努力の量を制御します。適応的思考と連携して思考の深さをガイドします。[努力レベルを調整](/docs/ja/model-config#adjust-effort-level) を参照してください |555| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | Claude が応答に費やす努力の量を制御します。適応的思考と連携して思考の深さをガイドします。[努力レベルを調整](/docs/ja/model-config#adjust-effort-level)を参照してください |
556| `enableFileCheckpointing` | `boolean` | `false` | ファイル変更追跡を有効にして巻き戻しを可能にします。[ファイルチェックポイント](/docs/ja/agent-sdk/file-checkpointing) を参照してください |556| `enableFileCheckpointing` | `boolean` | `false` | ファイル変更追跡を有効にして巻き戻しを可能にします。[ファイルチェックポイント](/docs/ja/agent-sdk/file-checkpointing)を参照してください |
557| `env` | `Record<string, string \| undefined>` | `process.env` | 環境変数。設定すると、このサブプロセス環境を `process.env` とマージするのではなく置き換えるため、`PATH` のような継承変数を保持するには `{ ...process.env, YOUR_VAR: 'value' }` を渡してください。このパターンの例は [遅いまたは停止した API レスポンスを処理](#handle-slow-or-stalled-api-responses) を参照し、基盤となる CLI が読む変数については [環境変数](/docs/ja/env-vars) を参照してください。User-Agent ヘッダーでアプリを識別するには `CLAUDE_AGENT_SDK_CLIENT_APP` を設定してください |557| `env` | `Record<string, string \| undefined>` | `process.env` | 環境変数。設定すると、このサブプロセス環境を `process.env` とマージするのではなく置き換えるため、`PATH` のような継承変数を保持するには `{ ...process.env, YOUR_VAR: 'value' }` を渡してください。このパターンの例は [遅いまたは停止した API レスポンスを処理](#handle-slow-or-stalled-api-responses)を参照し、基盤となる CLI が読み取る変数については [環境変数](/docs/ja/env-vars)を参照してください。`CLAUDE_AGENT_SDK_CLIENT_APP` を設定して User-Agent ヘッダーでアプリを識別します |
558| `executable` | `'bun' \| 'deno' \| 'node'` | 自動検出 | 使用する JavaScript ランタイム |558| `executable` | `'bun' \| 'deno' \| 'node'` | 自動検出 | 使用する JavaScript ランタイム |
559| `executableArgs` | `string[]` | `[]` | 実行可能ファイルに渡す引数 |559| `executableArgs` | `string[]` | `[]` | 実行可能ファイルに渡す引数 |
560| `extraArgs` | `Record<string, string \| null>` | `{}` | 追加引数 |560| `extraArgs` | `Record<string, string \| null>` | `{}` | 追加引数 |
561| `fallbackModel` | `string` | `undefined` | プライマリモデルが失敗した場合に使用するモデル。カンマ区切りリストを受け入れます。順序とキャップについては [フォールバックモデルチェーン](/docs/ja/model-config#fallback-model-chains) を参照してください。ガイダンスについては [モデルを選択](/docs/ja/agent-sdk/configuration#choose-a-model) を参照してください |561| `fallbackModel` | `string` | `undefined` | プライマリモデルが失敗した場合に使用するモデル。カンマ区切りリストを受け入れます。順序と上限については [フォールバックモデルチェーン](/docs/ja/model-config#fallback-model-chains)を参照してください。ガイダンスについては [モデルを選択](/docs/ja/agent-sdk/configuration#choose-a-model)を参照してください |
562| `forkSession` | `boolean` | `false` | `resume` で再開する場合、元のセッション ID を続行するのではなく新しいセッション ID にフォークします |562| `forkSession` | `boolean` | `false` | `resume` で再開する場合、元のセッション ID を続行する代わりに新しいセッション ID にフォークします |
563| `forwardSubagentText` | `boolean` | `false` | サブエージェントのテキストと思考ブロックをアシスタントおよびユーザーメッセージとして `parent_tool_use_id` を設定して転送し、コンシューマーがネストされたトランスクリプトをレンダリングできるようにします。このオプションがない場合、Claude Code はサブエージェント `tool_use` および `tool_result` ブロックを出力しますが、テキストや思考は出力しません。すべてのネストの深さのサブエージェントからのメッセージは Claude Code v2.1.219 以降で転送されます。v2.1.219 より前では、深さ 1 のサブエージェントからのメッセージのみが表示されました。フォークされたスキルが生成するサブエージェントのメッセージおよびネストされたフォークされたスキルのメッセージには v2.1.275 以降が必要です |563| `forwardSubagentText` | `boolean` | `false` | サブエージェントのテキストと思考ブロックをアシスタントおよびユーザーメッセージとして `parent_tool_use_id` を設定して転送し、コンシューマーがネストされたトランスクリプトをレンダリングできるようにします。このオプションがない場合、Claude Code はサブエージェント `tool_use` および `tool_result` ブロックを出力しますが、テキストまたは思考は出力しません。すべてのネストの深さのサブエージェントからのメッセージは Claude Code v2.1.219 以降で転送されます。v2.1.219 より前では、深さ 1 のサブエージェントからのメッセージのみが表示されました。フォークされたスキルが生成するサブエージェントのメッセージ、およびネストされたフォークされたスキルのメッセージには v2.1.275 以降が必要です |
564| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | イベントのフックコールバック |564| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | イベントのフックコールバック |
565| `includeHookEvents` | `boolean` | `false` | フックライフサイクルイベントをメッセージストリームに [`SDKHookStartedMessage`](#sdkhookstartedmessage)、[`SDKHookProgressMessage`](#sdkhookprogressmessage)、および [`SDKHookResponseMessage`](#sdkhookresponsemessage) として含めます。`SessionStart` および `Setup` フックのライフサイクルイベントは常に含まれ、このオプションは不要です。`Notification`、`SessionEnd`、`PreCompact`、`PostCompact` などの一部のフックイベントは、このオプションを使用しても `SDKHookStartedMessage` を生成しません。これらのイベントの場合、Claude Code は 1 秒以上実行されるコマンドフックが出力を生成している間は `SDKHookProgressMessage` を出力し、[バックグラウンドで実行](/docs/ja/hooks#run-hooks-in-the-background) されるフックが完了したときのみ `SDKHookResponseMessage` を出力します |565| `includeHookEvents` | `boolean` | `false` | フックライフサイクルイベントをメッセージストリームに [`SDKHookStartedMessage`](#sdkhookstartedmessage)、[`SDKHookProgressMessage`](#sdkhookprogressmessage)、および [`SDKHookResponseMessage`](#sdkhookresponsemessage) として含めます。`SessionStart` および `Setup` フックのライフサイクルイベントは常に含まれ、このオプションは不要です。`Notification`、`SessionEnd`、`PreCompact`、`PostCompact` などの一部のフックイベントは、このオプションを使用しても `SDKHookStartedMessage` を生成しません。これらのイベントについては、Claude Code は コマンドフックが 1 秒以上実行される場合に出力を生成する `SDKHookProgressMessage` を出力し、[バックグラウンドで実行](/docs/ja/hooks#run-hooks-in-the-background)するフックが完了した場合にのみ `SDKHookResponseMessage` を出力します |
566| `includePartialMessages` | `boolean` | `false` | 部分メッセージイベントを含めます |566| `includePartialMessages` | `boolean` | `false` | 部分メッセージイベントを含めます |
567| `loadTimeoutMs` | `number` | `60000` | *アルファ。* 再開の具体化中に各 `sessionStore.load()` および `sessionStore.listSubkeys()` 呼び出しのタイムアウト(ミリ秒)。アダプターがこのウィンドウ内で解決しない場合、クエリはハングするのではなく失敗します。`sessionStore` が設定されていない場合は無視されます |567| `loadTimeoutMs` | `number` | `60000` | *アルファ。* 再開の具体化中に各 `sessionStore.load()` および `sessionStore.listSubkeys()` 呼び出しのタイムアウト(ミリ秒)。アダプターがこのウィンドウ内で解決しない場合、クエリはハングする代わりに失敗します。`sessionStore` が設定されていない場合は無視されます |
568| `managedSettings` | `Settings` | `undefined` | ホストプロセスがスポーンされたセッションに提供するポリシー層設定。管理者がデプロイした管理設定を持つマシンでは、管理者の最優先管理ソースが `parentSettingsBehavior: 'merge'` を設定しない限り、Claude Code はこれらを無視し、[`policyHelper`](/docs/ja/settings-reference#policyhelper) が管理設定を提供している間はマージしません。マージされた値は制限のみのフィルターを通過します。[親設定を制限](/docs/ja/claude-apps-gateway#restrict-parent-settings) はフィルターが許可するもの、および `allowManaged*Only` ロックをカバーします。[`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ja/env-vars) を設定するホストは、このペイロードから直接 3 つのキーを読み取ります。Claude Code v2.1.222 以降の [モデル設定](/docs/ja/model-config#restrict-model-selection)、管理ソースが設定していない場合は v2.1.246 以降の [`modelPricing`](/docs/ja/settings-reference#modelpricing)、および v2.1.247 以降の `ENABLE_TOOL_SEARCH` env エントリ |568| `managedSettings` | `Settings` | `undefined` | ホストプロセスがスポーンされたセッションに提供するポリシー層設定。管理者がデプロイした管理設定を持つマシンでは、管理者の最優先管理ソースが `parentSettingsBehavior: 'merge'` を設定しない限り、Claude Code はこれらを無視し、[`policyHelper`](/docs/ja/settings-reference#policyhelper) が管理設定を提供している間はマージしません。マージされた値は制限のみのフィルターを通過します。[親設定を制限](/docs/ja/claude-apps-gateway#restrict-parent-settings)はフィルターが許可するものと `allowManaged*Only` ロックをカバーしています。[`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ja/env-vars) を設定するホストには、このペイロードから直接読み取られる 3 つのキーがあります。Claude Code v2.1.222 以降の [モデル設定](/docs/ja/model-config#restrict-model-selection)、管理ソースが設定していない場合の v2.1.246 以降の [`modelPricing`](/docs/ja/settings-reference#modelpricing)、および v2.1.247 以降の `ENABLE_TOOL_SEARCH` env エントリ |
569| `maxBudgetUsd` | `number` | `undefined` | クライアント側のコスト推定がこの USD 値に達したときにクエリを停止します。呼び出し自体の支出のみをカウントします。再開されたセッションから復元された合計はカウントされません。精度の注意事項とリセット動作については、[コストと使用状況を追跡](/docs/ja/agent-sdk/cost-tracking) を参照してください |569| `maxBudgetUsd` | `number` | `undefined` | クライアント側のコスト推定がこの USD 値に達したときにクエリを停止します。呼び出し自体の支出のみをカウントします。再開されたセッションから復元された合計はカウントされません。精度の注意事項とリセット動作については [コストと使用状況を追跡](/docs/ja/agent-sdk/cost-tracking)を参照してください |
570| `maxThinkingTokens` | `number` | `undefined` | *非推奨:* 代わりに `thinking` を使用してください。思考プロセスの最大トークン数 |570| `maxThinkingTokens` | `number` | `undefined` | *非推奨:* 代わりに `thinking` を使用してください。思考プロセスの最大トークン数 |
571| `maxTurns` | `number` | `undefined` | 最大エージェンティックターン数(ツール使用ラウンドトリップ) |571| `maxTurns` | `number` | `undefined` | 最大エージェンティックターン数(ツール使用ラウンドトリップ) |
572| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP サーバー設定 |572| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP サーバー設定 |
573| `model` | `string` | CLI のデフォルト | Claude モデルエイリアスまたは完全なモデル名。[受け入れられた値とプロバイダー固有の ID](/docs/ja/model-config#available-models) を参照してください |573| `model` | `string` | CLI からのデフォルト | Claude モデルエイリアスまたは完全なモデル名。[受け入れられた値とプロバイダー固有の ID](/docs/ja/model-config#available-models) を参照してください |
574| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | MCP 誘導リクエストを処理するためのコールバック。MCP サーバーがユーザー入力をリクエストし、フックが最初に処理しない場合に呼び出されます。提供されない場合、未処理の誘導リクエストは自動的に拒否されます |574| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | MCP 誘導リクエストを処理するためのコールバック。MCP サーバーがユーザー入力をリクエストし、フックが最初に処理しない場合に呼び出されます。提供されない場合、処理されない誘導リクエストは自動的に拒否されます |
575| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | エージェント結果の出力形式を定義します。詳細は [構造化出力](/docs/ja/agent-sdk/structured-outputs) を参照してください |575| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | エージェント結果の出力形式を定義します。詳細は [構造化出力](/docs/ja/agent-sdk/structured-outputs)を参照してください |
576| `outputStyle` | `string` | `undefined` | `Options` フィールドではありません。インライン [`settings`](/docs/ja/settings) オブジェクトまたは設定ファイルで `outputStyle` を設定してください。[出力スタイルを有効化](/docs/ja/agent-sdk/modifying-system-prompts#activate-an-output-style) を参照してください |576| `outputStyle` | `string` | `undefined` | `Options` フィールドではありません。インライン [`settings`](/docs/ja/settings) オブジェクトまたは設定ファイルで `outputStyle` を設定してください。[出力スタイルを有効化](/docs/ja/agent-sdk/modifying-system-prompts#activate-an-output-style)を参照してください |
577| `pathToClaudeCodeExecutable` | `string` | バンドルされたネイティブバイナリから自動解決 | Claude Code 実行可能ファイルへのパス。オプション依存関係がインストール中にスキップされた場合、またはプラットフォームがサポートされているセットにない場合にのみ必要です |577| `pathToClaudeCodeExecutable` | `string` | バンドルされたネイティブバイナリから自動解決 | Claude Code 実行可能ファイルへのパス。オプションの依存関係がインストール中にスキップされた場合、またはプラットフォームがサポートされているセットにない場合にのみ必要です |
578| `permissionMode` | [`PermissionMode`](#permissionmode) | `'default'` | セッションの権限モード |578| `permissionMode` | [`PermissionMode`](#permissionmode) | `undefined` | セッションの権限モード。省略した場合、セッションはオートモードで開始できます。Claude Code がスタート権限モードを選択する方法については [権限モード](/docs/ja/agent-sdk/permissions#permission-modes)を参照してください |
579| `permissionPromptToolName` | `string` | `undefined` | 権限プロンプト用の MCP ツール名 |579| `permissionPromptToolName` | `string` | `undefined` | 権限プロンプトの MCP ツール名 |
580| `permissionPrompts` | `'host' \| 'none'` | `'host'` | 権限プロンプトに応答するのは誰か: `'host'` はそれらを [`canUseTool`](#canusetool) コールバックまたは `permissionPromptToolName` ツールにルーティングし、`'none'` は [プロンプトが表示されるはずだった呼び出しを拒否](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated) します。Claude Code v2.1.259 以降が必要です |580| `permissionPrompts` | `'host' \| 'none'` | `'host'` | 権限プロンプトに応答する者: `'host'` はそれらを [`canUseTool`](#canusetool) コールバックまたは `permissionPromptToolName` ツールにルーティングし、`'none'` は [プロンプトが表示されるはずだった呼び出しを拒否](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated)します。Claude Code v2.1.259 以降が必要です |
581| `persistSession` | `boolean` | `true` | `false` の場合、セッションのディスクへの永続化を無効にします。セッションは後で再開できません |581| `persistSession` | `boolean` | `true` | `false` の場合、ディスクへのセッション永続化を無効にします。セッションは後で再開できません |
582| `planModeInstructions` | `string` | `undefined` | plan mode のカスタムワークフロー指示。`permissionMode` が `'plan'` の場合、この文字列はデフォルトの plan mode ワークフロー本体を置き換えます。CLI は引き続き読み取り専用強制プリアンブルと ExitPlanMode プロトコルフッターでラップします |582| `planModeInstructions` | `string` | `undefined` | プランモードのカスタムワークフロー指示。`permissionMode` が `'plan'` の場合、この文字列はデフォルトのプランモードワークフロー本体を置き換えます。CLI は引き続き読み取り専用強制プリアンブルと ExitPlanMode プロトコルフッターでラップします |
583| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | ローカルパスからカスタムプラグインを読み込みます。詳細は [プラグイン](/docs/ja/agent-sdk/plugins) を参照してください |583| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | ローカルパスからカスタムプラグインを読み込みます。詳細は [プラグイン](/docs/ja/agent-sdk/plugins)を参照してください |
584| `projectConfigRoot` | `string` | `undefined` | `cwd` がワークツリーである信頼できるチェックアウトの絶対パス。Claude Code はプロジェクト設定、`.mcp.json`、およびプロジェクトの `.claude/` コマンド、エージェント、スキル、ワークフロー、ルーチン、および出力スタイルを `cwd` ではなくこのディレクトリから読み込み、`CLAUDE_PROJECT_DIR` をそれに設定します。フック、`apiKeyHelper` などのヘルパースクリプト、および stdio MCP サーバーはこのディレクトリをワーキングディレクトリとして開始します。`CLAUDE.md` ファイルと `.claude/rules/` は引き続き `cwd` から読み込まれます。Claude Code v2.1.275 以降が必要です |584| `projectConfigRoot` | `string` | `undefined` | `cwd` がワークツリーである信頼できるチェックアウトの絶対パス。Claude Code はプロジェクト設定、`.mcp.json`、およびプロジェクトの `.claude/` コマンド、エージェント、スキル、ワークフロー、ルーチン、および出力スタイルをこのディレクトリから `cwd` の代わりに読み取り、`CLAUDE_PROJECT_DIR` をそれに設定します。フック、`apiKeyHelper` などのヘルパースクリプト、および stdio MCP サーバーはこのディレクトリをワーキングディレクトリとして開始します。`CLAUDE.md` ファイルと `.claude/rules/` は引き続き `cwd` から読み込まれます。Claude Code v2.1.275 以降が必要です |
585| `promptSuggestions` | `boolean` | `false` | プロンプト提案を有効にします。ターン後、Claude Code は予測される次のユーザープロンプトを含む `prompt_suggestion` メッセージを出力します。アカウントが使用制限に近い、または達している場合など、一部のターンでは Claude Code は提案を生成しません。[Claude Code が提案をスキップする場合](/docs/ja/interactive-mode#when-claude-code-skips-suggestions) を参照してください |585| `promptSuggestions` | `boolean` | `false` | プロンプト提案を有効にします。ターン後、Claude Code は予測される次のユーザープロンプトを含む `prompt_suggestion` メッセージを出力します。アカウントが使用制限に近い、または達している場合など、一部のターンでは Claude Code は提案を生成しません。[Claude Code が提案をスキップする場合](/docs/ja/interactive-mode#when-claude-code-skips-suggestions)を参照してください |
586| `resume` | `string` | `undefined` | 再開するセッション ID |586| `resume` | `string` | `undefined` | 再開するセッション ID |
587| `resumeDropsTurn` | `string` | `undefined` | `resumeSessionAt` を使用: 切り詰め再開が破棄するターンのプロンプト UUID。破棄された範囲に吸収されたキューに入ったメッセージなど、そのターンに帰属しないものが含まれている場合、Claude Code は再開を拒否し、拒否メッセージで `--resume-drops-turn` フラグを指定します。Agent SDK とプリントモード再開のみがペアを読み取ります。Claude Code v2.1.223 以降が必要です |587| `resumeDropsTurn` | `string` | `undefined` | `resumeSessionAt` を使用: 切り詰め再開が破棄することを意図するターンのプロンプト UUID。破棄された範囲に、吸収されたキューに入ったメッセージやタスク通知など、そのターンに帰属しないものが含まれている場合、Claude Code は再開を拒否し、拒否メッセージで `--resume-drops-turn` フラグを名前付けします。Agent SDK とプリントモード再開のみがペアを読み取ります。Claude Code v2.1.223 以降が必要です |
588| `resumeSessionAt` | `string` | `undefined` | 特定のメッセージ UUID でセッションを再開します |588| `resumeSessionAt` | `string` | `undefined` | 特定のメッセージ UUID でセッションを再開します |
589| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | サンドボックス動作をプログラムで設定します。詳細は [サンドボックス設定](#sandboxsettings) を参照してください |589| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | サンドボックス動作をプログラムで設定します。詳細は [サンドボックス設定](#sandboxsettings)を参照してください |
590| `sessionId` | `string` | 自動生成 | 自動生成する代わりに特定の UUID をセッションに使用します |590| `sessionId` | `string` | 自動生成 | 自動生成する代わりに特定の UUID をセッションに使用します |
591| `sessionStore` | [`SessionStore`](/docs/ja/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | セッショントランスクリプトを外部バックエンドにミラーリングして、別のホストがそれらを再開できるようにします。[セッションを外部ストレージに永続化](/docs/ja/agent-sdk/session-storage) を参照してください |591| `sessionStore` | [`SessionStore`](/docs/ja/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | セッショントランスクリプトを外部バックエンドにミラーリングして、別のホストがそれらを再開できるようにします。[セッションを外部ストレージに永続化](/docs/ja/agent-sdk/session-storage)を参照してください |
592| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *アルファ。* `sessionStore` のフラッシュモード。`sessionStore` が設定されていない場合は無視されます |592| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *アルファ。* `sessionStore` のフラッシュモード。`sessionStore` が設定されていない場合は無視されます |
593| `settings` | `string \| Settings` | `undefined` | インライン [settings](/docs/ja/settings) オブジェクト、設定ファイルパス、またはインライン JSON 文字列。[優先順位](/docs/ja/settings#settings-precedence) でフラグ設定層を入力します。[`applyFlagSettings()`](#applyflagsettings) で実行時に変更します |593| `settings` | `string \| Settings` | `undefined` | インライン [settings](/docs/ja/settings) オブジェクト、設定ファイルパス、またはインライン JSON 文字列。[優先順位](/docs/ja/settings#settings-precedence)でフラグ設定層を入力します。[`applyFlagSettings()`](#applyflagsettings) でランタイムに変更します |
594| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI デフォルト(すべてのソース) | 読み込むファイルシステム設定を制御します。ユーザー、プロジェクト、ローカル設定を無効にするには `[]` を渡します。[エンドポイント管理ポリシー](/docs/ja/managed-settings#delivery-mechanisms) は関係なく読み込まれます。サーバー管理設定は、セッションが [適格な設定](/docs/ja/server-managed-settings#platform-availability) で組織認証情報を使用して認証するときにフェッチされます。[Claude Code 機能を使用](/docs/ja/agent-sdk/claude-code-features#what-settingsources-does-not-control) を参照してください |594| `settingSources` | [`SettingSource`](#settingsource)`[]` | CLI デフォルト(すべてのソース) | どのファイルシステム設定を読み込むかを制御します。ユーザー、プロジェクト、ローカル設定を無効にするには `[]` を渡します。[エンドポイント管理ポリシー](/docs/ja/managed-settings#delivery-mechanisms)は関係なく読み込まれます。サーバー管理設定は、セッションが [適格な設定](/docs/ja/server-managed-settings#platform-availability)で組織認証情報を使用して認証する場合に取得されます。[Claude Code 機能を使用](/docs/ja/agent-sdk/claude-code-features#what-settingsources-does-not-control)を参照してください |
595| `skills` | `string[] \| 'all'` | `undefined` | セッションで利用可能なスキル。すべての検出されたスキルを有効にするには `'all'` を渡すか、スキル名のリストを渡します。正確な名前のみを渡してください。Agent SDK v0.3.221 以降では、SDK は Claude Code プロセスを開始する前に、形式が正しくないワイルドカードフォーム名をエラーで拒否します。設定すると、SDK は Skill ツールを `allowedTools` に自動的に追加します。`tools` も渡す場合は、そのリストに `'Skill'` を含めてください。[スキル](/docs/ja/agent-sdk/skills) を参照してください |595| `skills` | `string[] \| 'all'` | `undefined` | セッションで利用可能なスキル。すべての検出されたスキルを有効にするには `'all'` を渡すか、スキル名のリストを渡します。正確な名前のみを渡してください。Agent SDK v0.3.221 以降では、SDK は形式が正しくないワイルドカード形式の名前を Claude Code プロセスを開始する前にエラーで拒否します。設定すると、SDK は Skill ツールを `allowedTools` に自動的に追加します。`tools` も渡す場合は、そのリストに `'Skill'` を含めてください。[スキル](/docs/ja/agent-sdk/skills)を参照してください |
596| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Claude Code プロセスをスポーンするカスタム関数。VM、コンテナ、またはリモート環境で Claude Code を実行するために使用します |596| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Claude Code プロセスをスポーンするカスタム関数。VM、コンテナ、またはリモート環境で Claude Code を実行するために使用します |
597| `stderr` | `(data: string) => void` | `undefined` | stderr 出力のコールバック |597| `stderr` | `(data: string) => void` | `undefined` | stderr 出力のコールバック |
598| `strictMcpConfig` | `boolean` | `false` | `mcpServers` で渡されたサーバーのみを使用し、プロジェクト `.mcp.json`、ユーザー設定、プラグイン提供の MCP サーバー、および [claude.ai コネクタ](/docs/ja/mcp#use-mcp-servers-from-claude-ai) を無視します |598| `strictMcpConfig` | `boolean` | `false` | `mcpServers` で渡されたサーバーのみを使用し、プロジェクト `.mcp.json`、ユーザー設定、プラグイン提供の MCP サーバー、および [claude.ai コネクタ](/docs/ja/mcp#use-mcp-servers-from-claude-ai)を無視します |
599| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined`(最小プロンプト) | システムプロンプト設定。カスタムプロンプトの場合は文字列を渡すか、Claude Code のシステムプロンプトを使用するには `{ type: 'preset', preset: 'claude_code' }` を渡します。エクスポートされた `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` 定数を静的部分とリクエストごとの部分の間に含む文字列の配列を渡して、[カスタムプロンプトの静的部分をキャッシュ](/docs/ja/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt) します。プリセットオブジェクト形式を使用する場合、追加の指示で拡張するには `append` を追加し、セッションごとのコンテキストを最初のユーザーメッセージに移動するには `excludeDynamicSections: true` を設定して、[マシン間でのプロンプトキャッシュの再利用を改善](/docs/ja/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) します。セッションが最初のリクエストで記録したプロンプトを再利用する代わりに、すべてのリクエストでプロンプトを再構築するには `snapshot: false` を設定します。カスタムプロンプトで `snapshot` を設定するには、`{ type: 'custom', prompt }` 形式を渡します。`{ type: 'custom' }` 形式と `snapshot` フィールドには TypeScript Agent SDK v0.3.257 以降が必要です |599| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined`(最小プロンプト) | システムプロンプト設定。カスタムプロンプトの場合は文字列を渡すか、Claude Code のシステムプロンプトを使用するには `{ type: 'preset', preset: 'claude_code' }` を渡します。エクスポートされた `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` 定数を静的部分とリクエストごとの部分の間に含む文字列の配列を渡して、[カスタムプロンプトの静的部分をキャッシュ](/docs/ja/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt)します。プリセットオブジェクト形式を使用する場合、追加の指示で拡張するには `append` を追加し、セッションごとのコンテキストを最初のユーザーメッセージに移動するには `excludeDynamicSections: true` を設定して、[マシン間でのプロンプトキャッシュの再利用を改善](/docs/ja/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines)します。セッションが最初のリクエストで記録したプロンプトを再利用する代わりに、すべてのリクエストでプロンプトを再構築するには `snapshot: false` を設定します。カスタムプロンプトで `snapshot` を設定するには、`{ type: 'custom', prompt }` 形式を渡します。`{ type: 'custom' }` 形式と `snapshot` フィールドには TypeScript Agent SDK v0.3.257 以降が必要です |
600| `taskBudget` | `{ total: number }` | `undefined` | *アルファ。* API 側のタスク予算(トークン)。設定すると、モデルは残りのトークン予算を通知され、ツール使用のペースを調整し、制限前にラップアップできます |600| `taskBudget` | `{ total: number }` | `undefined` | *アルファ。* API 側のタスク予算(トークン)。設定すると、モデルは残りのトークン予算を知らされるため、ツール使用のペースを調整し、制限前にラップアップできます |
601| `thinking` | [`ThinkingConfig`](#thinkingconfig) | サポートされているモデルの場合は `{ type: 'adaptive' }` | Claude の思考/推論動作を制御します。オプションについては [`ThinkingConfig`](#thinkingconfig) を参照してください |601| `thinking` | [`ThinkingConfig`](#thinkingconfig) | サポートされているモデルの場合 `{ type: 'adaptive' }` | Claude の思考/推論動作を制御します。オプションについては [`ThinkingConfig`](#thinkingconfig)を参照してください |
602| `title` | `string` | `undefined` | セッションの表示タイトル。`resume` または `continue` で再開する場合、再開されたセッションの永続化されたタイトルが優先されます。既存のセッションを再タイトルするには [`renameSession()`](#renamesession) を使用してください |602| `title` | `string` | `undefined` | セッションの表示タイトル。`resume` または `continue` で再開する場合、再開されたセッションの永続化されたタイトルが優先されます。既存のセッションを再タイトルするには [`renameSession()`](#renamesession) を使用してください |
603| `toolAliases` | `Record<string, string>` | `undefined` | 組み込みツール名を MCP ツール名にマップして、Claude が組み込みの代わりに MCP 実装を呼び出すようにします。例えば、`{ Bash: 'mcp__workspace__bash' }` |603| `toolAliases` | `Record<string, string>` | `undefined` | 組み込みツール名を MCP ツール名にマップして、Claude が組み込みの代わりに MCP 実装を呼び出すようにします。例えば、`{ Bash: 'mcp__workspace__bash' }` |
604| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | 組み込みツール動作の設定。詳細は [`ToolConfig`](#toolconfig) を参照してください |604| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | 組み込みツール動作の設定。詳細は [`ToolConfig`](#toolconfig)を参照してください |
605| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | ツール設定。ツール名の配列を渡すか、プリセットを使用して Claude Code のデフォルトツールを取得します |605| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | ツール設定。ツール名の配列を渡すか、プリセットを使用して Claude Code のデフォルトツールを取得します |
606| `verbatimPrompts` | `boolean` | `false` | すべてのプロンプトを書かれたとおりに配信します。SDK は各ユーザーメッセージを `client_composed: true` で送信します。Claude Code がこれらのメッセージでスキップするものについては [`client_composed`](#sdkusermessage) を参照してください。プロンプトテキストにエンドユーザーが入力しなかったコンテンツが含まれている場合にこのオプションを使用してください。ターンごとの制御については、オフのままにして、代わりにストリーミングされたメッセージで個別に `client_composed` を設定してください。TypeScript Agent SDK v0.3.280 以降および Claude Code v2.1.248 以降が必要です。これらの SDK バージョンでバンドルされている Claude Code バージョンは Claude Code 要件を満たします |606| `verbatimPrompts` | `boolean` | `false` | すべてのプロンプトを書かれたとおりに配信します。SDK は各ユーザーメッセージを `client_composed: true` で送信します。Claude Code がこれらのメッセージでスキップするものについては [`client_composed`](#sdkusermessage)を参照してください。プロンプトテキストにエンドユーザーが入力しなかったコンテンツが含まれている場合にこのオプションを使用します。ターンごとの制御については、これをオフのままにして、代わりにストリーミングされたメッセージで個別に `client_composed` を設定してください。TypeScript Agent SDK v0.3.280 以降と Claude Code v2.1.248 以降が必要です。これらの SDK バージョンにバンドルされている Claude Code バージョンは Claude Code 要件を満たしています |
607 607
608<h4 id="handle-slow-or-stalled-api-responses">608<h4 id="handle-slow-or-stalled-api-responses">
609 遅いまたは停止した API レスポンスを処理609 遅いまたは停止した API レスポンスを処理
610</h4>610</h4>
611 611
612CLI サブプロセスは、API タイムアウトとスタール検出を制御するいくつかの環境変数を読み取ります。`env` オプションを通じてそれらを渡します:612CLI サブプロセスは、API タイムアウトと停止検出を制御するいくつかの環境変数を読み取ります。`env` オプションを通じてそれらを渡します:
613 613
614```typescript theme={null}614```typescript theme={null}
615import { query } from "@anthropic-ai/claude-agent-sdk";615import { query } from "@anthropic-ai/claude-agent-sdk";
628```628```
629 629
630* `API_TIMEOUT_MS`: Anthropic クライアントのリクエストごとのタイムアウト(ミリ秒)。デフォルト `600000`。メインループとすべてのサブエージェントに適用されます。630* `API_TIMEOUT_MS`: Anthropic クライアントのリクエストごとのタイムアウト(ミリ秒)。デフォルト `600000`。メインループとすべてのサブエージェントに適用されます。
631* `CLAUDE_CODE_MAX_RETRIES`: 最大 API リトライ数。デフォルト `10`、上限 `15`。各リトライは独自の `API_TIMEOUT_MS` ウィンドウを取得するため、最悪の場合の実時間は大約 `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` プラスバックオフです。より長い停止を待つ必要がある無人実行の場合は、[`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/ja/errors#tune-retry-behavior) を設定してください: 一時的な容量エラーを無限に再試行し、Claude Code v2.1.199 以降では、他の一時的なエラーのデフォルトを `300` に引き上げ、この変数のキャップを削除します。631* `CLAUDE_CODE_MAX_RETRIES`: 最大 API リトライ数。デフォルト `10`、上限 `15`。各リトライは独自の `API_TIMEOUT_MS` ウィンドウを取得するため、最悪の場合の壁時間は大約 `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` プラスバックオフです。無人実行で長いアウタージを待つ必要がある場合は、[`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/ja/errors#tune-retry-behavior) を設定します。一時的な容量エラーを無限に再試行し、Claude Code v2.1.199 以降では、他の一時的なエラーのデフォルトを `300` に引き上げ、この変数の上限を削除します。
632* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: サブエージェント用のスタール監視犬。ストリーム監視犬がオンの場合、デフォルトは `CLAUDE_STREAM_IDLE_TIMEOUT_MS` プラス 5 分で、その変数を引き上げない限り `600000` になります。ストリーム監視犬がオフの場合、デフォルトは `600000` です。v2.1.257 より前では、デフォルトは常に `600000` でした。632* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: サブエージェントの停止ウォッチドッグ。ストリームウォッチドッグがオンの場合、デフォルトは `CLAUDE_STREAM_IDLE_TIMEOUT_MS` プラス 5 分で、その変数を引き上げない限り `600000` になります。ストリームウォッチドッグがオフの場合、デフォルトは `600000` です。v2.1.257 より前では、デフォルトは常に `600000` でした。
633 633
634 タイマーは各ストリームイベントでリセットされます。スタール時、Claude Code はサブエージェントを中止し、スタールを親に報告します。バックグラウンドサブエージェントの場合、タスクも失敗とマークし、部分的な結果を添付します。634 タイマーは各ストリームイベントでリセットされます。停止時、Claude Code はサブエージェントを中止し、停止を親に報告します。バックグラウンドサブエージェントの場合、タスクも失敗とマークし、部分的な結果を添付します。
635* `CLAUDE_ENABLE_STREAM_WATCHDOG` と `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: ヘッダーが到着したがレスポンスボディがストリーミングを停止したときにリクエストを中止するストリーム監視犬。監視犬はすべてのプロバイダーでデフォルトでオンです。無効にするには `CLAUDE_ENABLE_STREAM_WATCHDOG=0` を設定してください。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` はデフォルト `300000` で、その最小値にクランプされます。中止後、[自動リトライ](/docs/ja/errors#automatic-retries) は、レスポンスがどこまで進んだかに基づいて Claude Code が何をするかをカバーします。635* `CLAUDE_ENABLE_STREAM_WATCHDOG` と `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: ヘッダーが到着したがレスポンスボディがストリーミングを停止したときにリクエストを中止するストリームウォッチドッグ。ウォッチドッグはすべてのプロバイダーでデフォルトでオンです。無効にするには `CLAUDE_ENABLE_STREAM_WATCHDOG=0` を設定します。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` はデフォルト `300000` で、その最小値にクランプされます。中止後、[自動リトライ](/docs/ja/errors#automatic-retries)は Claude Code が何をするかをカバーしており、レスポンスがどこまで進んだかに基づいています。
636 636
637 監視犬が `ANTHROPIC_BASE_URL` の背後にあるゲートウェイが保持するレスポンスをキープアライブピングで待機している間、`includePartialMessages` を設定するホストは `ping` [ストリームイベント](#sdkpartialassistantmessage) を受け取り続けるため、これらのフレームを実時間として読み取り、最後の実ストリームイベントから 5 分後のサイレンスでセッションをタイムアウトしないでください。v2.1.257 より前では、フレームは停止しました。637 ウォッチドッグが `ANTHROPIC_BASE_URL` の背後にあるゲートウェイが保持するレスポンスを待っている間、キープアライブピングで、`includePartialMessages` を設定するホストは引き続き `ping` [ストリームイベント](#sdkpartialassistantmessage)を受け取るため、これらのフレームを沈黙でセッションをタイムアウトするのではなく活性度として読み取ってください。v2.1.257 より前では、フレームは最後の実際のストリームイベントから 5 分後に停止しました。
638 638
639<h3 id="query-object">639<h3 id="query-object">
640 `Query` オブジェクト640 `Query` オブジェクト
696 696
697| メソッド | 説明 |697| メソッド | 説明 |
698| :- | :- |698| :- | :- |
699| `interrupt()` | クエリを中断します。ストリーミング入力モードでのみ利用可能です。CLI が [`SDKSystemMessage.capabilities`](#sdksystemmessage) で `interrupt_receipt_v1` 機能をアドバタイズする場合、中断が到着したときに保留中だった [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) メッセージをリストして解決します。v2.1.205 より前の CLI では `undefined` に解決します |699| `interrupt()` | クエリを中断します。ストリーミング入力モードでのみ利用可能です。CLI が [`SDKSystemMessage.capabilities`](#sdksystemmessage) で `interrupt_receipt_v1` 機能をアドバタイズする場合、中断が到着したときに保留中だったメッセージをリストする [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) で解決します。v2.1.205 より前の CLI では `undefined` で解決します |
700| `rewindFiles(userMessageId, options?)` | ファイルを指定されたユーザーメッセージの状態に復元します。変更をプレビューするには `{ dryRun: true }` を渡します。`enableFileCheckpointing: true` が必要です。[ファイルチェックポイント](/docs/ja/agent-sdk/file-checkpointing) を参照してください |700| `rewindFiles(userMessageId, options?)` | ファイルを指定されたユーザーメッセージの状態に復元します。`{ dryRun: true }` を渡して変更をプレビューします。`enableFileCheckpointing: true` が必要です。[ファイルチェックポイント](/docs/ja/agent-sdk/file-checkpointing)を参照してください |
701| `setPermissionMode()` | 権限モードを変更します(ストリーミング入力モードでのみ利用可能) |701| `setPermissionMode()` | 権限モードを変更します(ストリーミング入力モードでのみ利用可能) |
702| `setModel()` | モデルを変更します(ストリーミング入力モードでのみ利用可能)。`undefined` または文字列 `"default"` を渡すと、[Claude Code のデフォルトモデル](/docs/ja/model-config) にリセットされます |702| `setModel()` | モデルを変更します(ストリーミング入力モードでのみ利用可能)。`undefined` または文字列 `"default"` を渡すと、[Claude Code のデフォルトモデル](/docs/ja/model-config)にリセットされます |
703| `setMaxThinkingTokens()` | *非推奨:* 代わりに `thinking` オプションを使用してください。最大思考トークン数を変更します。`null` を渡すと、思考をセッションデフォルトにリセットします: ミッドセッションオーバーライドはクリアされ、思考が無効になっているセッションでは思考はオフのままです |703| `setMaxThinkingTokens()` | *非推奨:* 代わりに `thinking` オプションを使用してください。最大思考トークンを変更します。`null` を渡すと、思考をセッションデフォルトにリセットします。セッション中のオーバーライドはクリアされ、思考が無効になっているセッションでは思考はオフのままです |
704| `applyFlagSettings(settings)` | 実行時にセッションのフラグ設定層に設定をマージします(ストリーミング入力モードでのみ利用可能)。[`applyFlagSettings()`](#applyflagsettings) を参照してください |704| `applyFlagSettings(settings)` | ランタイムでセッションのフラグ設定層に設定をマージします(ストリーミング入力モードでのみ利用可能)。[`applyFlagSettings()`](#applyflagsettings)を参照してください |
705| `updateSettings(source, settings)` | プロジェクトのローカル設定ファイルまたはユーザー設定ファイルに 1 つのホワイトリスト登録キーを書き込み、値が後のセッションで永続化されるようにします。[`updateSettings()`](#updatesettings) を参照してください。TypeScript SDK v0.3.257 以降が必要で、Claude Code v2.1.257 をバンドルしています |705| `updateSettings(source, settings)` | プロジェクトのローカル設定ファイルまたはユーザー設定ファイルに 1 つのホワイトリストキーを書き込み、値が後のセッションで永続化されるようにします。[`updateSettings()`](#updatesettings)を参照してください。TypeScript SDK v0.3.257 以降が必要で、Claude Code v2.1.257 をバンドルしています |
706| `initializationResult()` | サポートされているコマンド、モデル、アカウント情報、出力スタイル設定を含む完全な初期化結果を返します |706| `initializationResult()` | サポートされているコマンド、モデル、アカウント情報、および出力スタイル設定を含む完全な初期化結果を返します |
707| `reinitialize()` | 実行中の CLI に `initialize` 制御リクエストを再送信し、キャッシュされた最初の接続結果の代わりに新しい結果を返します。トランスポートギャップ後(セッションへの再接続後など)に使用して、保留中の権限リクエストが `canUseTool` コールバックに再度到達するようにします。リクエスト ID ごとにコールバックをべき等にしてください。応答が失敗したリクエストは再度ディスパッチされるためです。Claude Code v2.1.195 以降が必要です |707| `reinitialize()` | 実行中の CLI に `initialize` 制御リクエストを再送信し、キャッシュされた最初の接続結果の代わりに新しい結果を返します。トランスポートギャップ後(セッションを切断後に再接続するなど)に使用して、保留中の権限リクエストが `canUseTool` コールバックに再度到達するようにします。リクエスト ID ごとにコールバックをべき等にしてください。応答が失われたリクエストは再度ディスパッチされるためです。Claude Code v2.1.195 以降が必要です |
708| `supportedCommands()` | 利用可能なコマンドを返します。Agent SDK v0.3.216 からリストはミッドセッションコマンド変更を反映します。[`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) を参照してください |708| `supportedCommands()` | 利用可能なコマンドを返します。Agent SDK v0.3.216 からリストはセッション中のコマンド変更を反映します。[`SDKCommandsChangedMessage`](#sdkcommandschangedmessage)を参照してください |
709| `supportedModels()` | 表示情報を含む利用可能なモデルを返します |709| `supportedModels()` | 表示情報を含む利用可能なモデルを返します |
710| `supportedAgents()` | [`AgentInfo`](#agentinfo)`[]` として利用可能なサブエージェントを返します |710| `supportedAgents()` | 利用可能なサブエージェントを [`AgentInfo`](#agentinfo)`[]` として返します |
711| `mcpServerStatus()` | 接続された MCP サーバーのステータスを [`McpServerStatus`](#mcpserverstatus)`[]` として返します |711| `mcpServerStatus()` | 接続された MCP サーバーのステータスを [`McpServerStatus`](#mcpserverstatus)`[]` として返します |
712| `getContextUsage(opts?)` | セッションのコンテキストウィンドウ使用状況をカテゴリ、スキル、ツール別に分類した [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) を返します。デフォルト `detail` では、対話型セッションで `/context` が表示するのと同じデータです。[`detail` オプション](#sdkcontrolgetcontextusageresponse) には Agent SDK v0.3.257 以降が必要です |712| `getContextUsage(opts?)` | セッションのコンテキストウィンドウ使用状況をカテゴリ、スキル、ツール別に分類する [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse)を返します。デフォルト `detail` では、対話型セッションで `/context` が表示するのと同じデータで、メッセージストリームに表示されないトークンカウント API リクエストで計算されます。[これらのリクエストがどのように処理されるか](#sdkcontrolgetcontextusageresponse)を参照してください。[`detail` オプション](#sdkcontrolgetcontextusageresponse)には Agent SDK v0.3.257 以降が必要です |
713| `readFile(path, options?)` | セッションのファイルシステムからファイルを読み取ります。Claude Code は `cwd` に対してパスを解決します。[`readFile()` が読み取れるもの](#what-readfile-can-read) は提供するファイルをリストします。読み取りキャップを変更するには `{ maxBytes }` を渡します(デフォルト 1 MB、上限 10 MB)。画像などのバイナリファイルの場合は `{ encoding: 'base64' }` を渡します。[`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) で解決するか、権限拒否、ファイルの欠落、またはトランスポートエラーの場合は `null` で解決します。TypeScript SDK v0.2.121 以降が必要です |713| `readFile(path, options?)` | セッションのファイルシステムからファイルを読み取ります。Claude Code はパスを `cwd` に対して解決します。[`readFile()` が読み取れるもの](#what-readfile-can-read)は提供するファイルをリストします。`{ maxBytes }` を渡して読み取りキャップを変更し(デフォルト 1 MB、上限 10 MB)、`{ encoding: 'base64' }` を画像などのバイナリファイルに渡します。[`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse)で解決するか、権限拒否、ファイルの欠落、またはトランスポートエラーで `null` で解決します。TypeScript SDK v0.2.121 以降が必要です |
714| `reloadPlugins(options?)` | ディスクからプラグインを再読み込みして、ミッドセッション中にインストールまたは編集したプラグインが実行中のセッションに到達するようにします。セッションのコマンド、サブエージェント、プラグイン、MCP サーバーステータスをリストする [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) で解決します。Agent SDK v0.2.85 以降が必要です。[`holdOnCacheImpact` オプション](#sdkcontrolreloadpluginsresponse) には Agent SDK v0.3.268 以降が必要です |714| `reloadPlugins(options?)` | ディスクからプラグインを再読み込みして、セッション中にインストールまたは編集したプラグインが実行中のセッションに到達するようにします。セッションのコマンド、サブエージェント、プラグイン、および MCP サーバーステータスをリストする [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse)で解決します。Agent SDK v0.2.85 以降が必要です。[`holdOnCacheImpact` オプション](#sdkcontrolreloadpluginsresponse)には Agent SDK v0.3.268 以降が必要です |
715| `reloadSkills()` | ディスクからスキルを再読み込みして、ミッドセッション中に追加または編集したスキルが実行中のセッションで利用可能になるようにします。再読み込み後に利用可能なスキルをリストする [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) で解決します。Agent SDK v0.3.163 以降が必要です |715| `reloadSkills()` | ディスクからスキルを再読み込みして、セッション中に追加または編集したスキルが実行中のセッションで利用可能になるようにします。再読み込み後に利用可能なスキルをリストする [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse)で解決します。Agent SDK v0.3.163 以降が必要です |
716| `reloadOutputStyles()` | ディスクから [出力スタイル](/docs/ja/output-styles) を再読み込みして、ミッドセッション中に追加または編集したスタイルファイルが実行中のセッションで利用可能になるようにします。再読み込み後に利用可能なスタイル名をリストする [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse) で解決します。Agent SDK v0.3.261 以降が必要です |716| `reloadOutputStyles()` | ディスクから [出力スタイル](/docs/ja/output-styles)を再読み込みして、セッション中に追加または編集したスタイルファイルが実行中のセッションで利用可能になるようにします。再読み込み後に利用可能なスタイル名をリストする [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse)で解決します。Agent SDK v0.3.261 以降が必要です |
717| `accountInfo()` | アカウント情報を返します |717| `accountInfo()` | アカウント情報を返します |
718| `reconnectMcpServer(serverName)` | MCP サーバーを名前で再接続します。名前が `.mcp.json` または `~/.claude.json` などの設定ファイルのエントリとも一致する場合、Claude Code は [`mcpServers`](#options) または `setMcpServers()` を通じて設定したサーバーを再接続し、設定ファイルエントリではありません。その解決順序には Claude Code v2.1.257 以降が必要です |718| `reconnectMcpServer(serverName)` | MCP サーバーを名前で再接続します。名前が `.mcp.json` または `~/.claude.json` などの設定ファイルのエントリとも一致する場合、Claude Code は設定ファイルエントリではなく、[`mcpServers`](#options)または `setMcpServers()` を通じて設定したサーバーを再接続します。その解決順序には Claude Code v2.1.257 以降が必要です |
719| `toggleMcpServer(serverName, enabled)` | `reconnectMcpServer()` と同じ名前解決で MCP サーバーを名前で有効または無効にします。無効にするとサーバーが切断されます |719| `toggleMcpServer(serverName, enabled)` | `reconnectMcpServer()` と同じ名前解決で MCP サーバーを名前で有効または無効にします。stdio、SSE、または HTTP サーバーを無効にするとそれを切断し、ツールを削除します。セッション中に `setMcpServers()` で追加したサーバーの場合、ツール削除には Claude Code v2.1.285 以降が必要です |
720| `setMcpServers(servers)` | このセッションの MCP サーバーセットを動的に置き換えます。追加および削除されたサーバーと任意のエラーを指定する [`McpSetServersResult`](#mcpsetserversresult) で解決します |720| `setMcpServers(servers)` | このセッションの MCP サーバーセットを動的に置き換えます。追加および削除されたサーバーと任意のエラーを名前付けする [`McpSetServersResult`](#mcpsetserversresult)で解決します |
721| `readMcpResource(serverName, uri)` | *アルファ。* 接続された MCP サーバーから 1 つの MCP Apps `ui://` リソースを読み取り、アプリケーションがツールのウィジェットをレンダリングできるようにします。[`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse) で解決します。TypeScript Agent SDK v0.3.280 以降が必要です |721| `readMcpResource(serverName, uri)` | *アルファ。* 接続された MCP サーバーから 1 つの MCP Apps `ui://` リソースを読み取り、アプリケーションがツールのウィジェットをレンダリングできるようにします。[`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse)で解決します。TypeScript Agent SDK v0.3.280 以降が必要です |
722| `streamInput(stream)` | マルチターン会話のためにクエリにメッセージをストリーミングします |722| `streamInput(stream)` | マルチターン会話のためにクエリにメッセージをストリーミングします |
723| `stopTask(taskId)` | ID でバックグラウンドタスクを実行中に停止します |723| `stopTask(taskId)` | ID でバックグラウンドタスクを実行中に停止します |
724| `close()` | クエリを閉じて基盤となるプロセスを終了します。クエリを強制的に終了し、すべてのリソースをクリーンアップします |724| `close()` | クエリを閉じ、基盤となるプロセスを終了します。クエリを強制的に終了し、すべてのリソースをクリーンアップします |
725 725
726<h4 id="applyflagsettings">726<h4 id="applyflagsettings">
727 `applyFlagSettings()`727 `applyFlagSettings()`
728</h4>728</h4>
729 729
730クエリを再開することなく実行中のセッションで [settings](/docs/ja/settings) を変更します。信頼できない入力をエージェントが読み取った後に権限を厳しくするなど、専用セッターがない設定がミッドセッション中に変更される必要がある場合に使用します。`setModel()` と `setPermissionMode()` はこれら 2 つのキーの専用セッターです。`applyFlagSettings()` は任意のサブセット設定キーを受け入れる一般的な形式で、ここで `model` を渡すことは `setModel()` と同じように動作します。730実行中のセッションで [設定](/docs/ja/settings)を変更し、クエリを再開しません。セッション中に変更が必要な専用セッターがない設定(信頼できない入力を読み取った後に `permissions` を厳しくするなど)を使用する場合に使用します。`setModel()` と `setPermissionMode()` はこれら 2 つのキーの専用セッターです。`applyFlagSettings()` は `model` をここに渡すと `setModel()` と同じように動作する一般的な形式です。
731 731
732一部のキーのみがミッドセッション中に有効になります:732一部のキーのみがセッション中に有効になります:
733 733
734* **次のターンで適用**: `effortLevel`、`ultracode`、`permissions`、`hooks`、`skillOverrides`、`fastMode`、`agent`。`agent` を切り替えると、そのエージェントのモデルオーバーライドとフックも次のターンで適用されます。そのシステムプロンプトは次のターンで、または [記録されたシステムプロンプトを再利用](/docs/ja/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session) するセッションではセッションがコンパクト化されると適用されます。734* **次のターンで適用**: `effortLevel`、`ultracode`、`permissions`、`hooks`、`skillOverrides`、`fastMode`、`agent`。`agent` を切り替えると、そのエージェントのモデルオーバーライドとフックも次のターンで適用されます。そのシステムプロンプトは次のターンで、または [記録されたシステムプロンプトを再利用](/docs/ja/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session)するセッションではセッションがコンパクト化されると適用されます。
735* **現在のターン中に適用**: `model`。Claude がターンで作業している間に `model` を切り替えると、Claude が既に生成しているレスポンスは古いモデルで完了し、ターンの残り(Claude Code がモデルに対して行う次の呼び出しから開始)は新しいモデルを使用します。サブエージェントは独自のモデルを保持します。v2.1.212 より前では、ミッドターンスイッチは次のターンを待機していました。735* **現在のターン中に適用**: `model`。Claude がターンで作業している間に `model` を切り替えると、Claude が既に生成しているレスポンスは古いモデルで完了し、ターンの残り(Claude Code がモデルに対して行う次の呼び出しから開始)は新しいモデルを使用します。サブエージェントは独自のモデルを保持します。v2.1.212 より前では、セッション中の切り替えは次のターンを待ちました。
736* **ミッドセッション中に効果なし**: システムプロンプトオプション。これらはスタートアップで 1 回解決されるため、実行中のセッションは呼び出しが成功しても元の値を保持します。それらを変更するには、新しいセッションを開始してください。736* **セッション中に効果なし**: システムプロンプトオプション。これらはスタートアップで 1 回解決されるため、実行中のセッションは呼び出しが成功しても元の値を保持します。それらを変更するには、新しいセッションを開始してください。
737 737
738`effortLevel` は [努力レベル](/docs/ja/model-config#adjust-effort-level) 名を受け入れます。また、`"ultracode"` も受け入れます。これは [ultracode](/docs/ja/workflows#let-claude-decide-with-ultracode) を使用した `xhigh` 努力をリクエストします。`applyFlagSettings()` は `effortLevel` をその値なしで宣言するため、TypeScript で同等の `{ ultracode: true, effortLevel: "xhigh" }` を渡すか、[`ultracode`](/docs/ja/settings-reference#ultracode) キーのみを渡して、セッションの現在の努力レベルで ultracode をオンにしてください。`ultracode` 値には Claude Code v2.1.203 以降が必要で、設定ファイルの `effortLevel` キーではなく `applyFlagSettings()` によってのみ受け入れられます。v2.1.284 より前では、`ultracode` キーのみもレベルを `xhigh` に設定していました。738`effortLevel` は [努力レベル](/docs/ja/model-config#adjust-effort-level)名を受け入れます。また、`"ultracode"` も受け入れます。これは [ultracode](/docs/ja/workflows#let-claude-decide-with-ultracode)をオンにして `xhigh` 努力をリクエストします。`applyFlagSettings()` はその値なしで `effortLevel` を宣言するため、TypeScript では同じ結果に対して `{ ultracode: true, effortLevel: "xhigh" }` を渡すか、[`ultracode`](/docs/ja/settings-reference#ultracode)キーのみを渡して ultracode をセッションの現在の努力レベルでオンにします。`ultracode` 値には Claude Code v2.1.203 以降が必要で、設定ファイルの `effortLevel` キーではなく `applyFlagSettings()` によってのみ受け入れられます。v2.1.284 より前では、`ultracode` キーのみもレベルを `xhigh` に設定しました。
739 739
740値はフラグ設定層に書き込まれ、`query()` の `settings` オプションがスタートアップで設定したものにマージされます。これは [ページ上の優先順位セクション](#settings-precedence) がプログラムオプションと呼ぶのと同じ層です。740値はフラグ設定層に書き込まれ、`query()` の `settings` オプションがスタートアップで設定したものにマージされます。これは [ページ上の優先順位セクション](#settings-precedence)がプログラムオプションと呼ぶのと同じ層です。
741 741
742連続した呼び出しは最上位キーを浅くマージします。`{ permissions: {...} }` を含む 2 番目の呼び出しは、前の呼び出しから `permissions` オブジェクト全体を置き換え、深くマージするのではなく置き換えます。742連続した呼び出しは最上位キーを浅くマージします。`{ permissions: {...} }` を含む 2 番目の呼び出しは、前の呼び出しから `permissions` オブジェクト全体を置き換えるのではなく、深くマージします。
743 743
744`applyFlagSettings()` で設定したキーをクリアするには、そのキーに `null` を渡します。ほとんどのキーは、最初に `query()` の `settings` オプションで設定された値にフォールバックし、次に低優先度ソースにフォールバックします。クリアされた `model` は、設定ファイルが `model` を設定している場合でも、[Claude Code のデフォルトモデル](/docs/ja/model-config) にリセットされます。`undefined` を渡すと JSON シリアル化がそれをドロップするため効果がありません。744`applyFlagSettings()` で設定したキーをクリアするには、そのキーに `null` を渡します。ほとんどのキーは、最初に `query()` の `settings` オプションで設定された値にフォールバックし、次に低優先度のソースにフォールバックします。クリアされた `model` は、設定ファイルが `model` を設定している場合でも、[Claude Code のデフォルトモデル](/docs/ja/model-config)にリセットされます。`undefined` を渡すと JSON シリアル化がそれをドロップするため効果がありません。
745 745
746`model` 以外の 3 つのキーはフォールバックする代わりにセッション状態をリセットします:746`model` 以外の 3 つのキーはフォールバックする代わりにセッション状態をリセットします:
747 747
748* `effortLevel: null` は、`query()` の `effort` オプションまたは設定ファイルの `effortLevel` ではなく、セッションをモデルのデフォルト努力レベルに戻します。748* `effortLevel: null` は、`query()` の `effort` オプションまたは設定ファイルの `effortLevel` ではなく、セッションをモデルのデフォルト努力レベルに戻します。
749* `agent: null` は、`query()` の `agent` オプションまたは設定ファイルの `agent` を復元するのではなく、次のターンからメインスレッドをエージェントなしで実行します。クリアされたエージェントが独自のモデルを適用していた場合、セッションはスタートアップで解決したモデルに戻ります。749* `agent: null` は、`query()` の `agent` オプションまたは設定ファイルの `agent` を復元するのではなく、次のターンから専用エージェントなしでメインスレッドを実行します。クリアされたエージェントが独自のモデルを適用していた場合、セッションはスタートアップで解決したモデルに戻ります。
750* `ultracode: null` は `false` と同様に ultracode をオフにし、設定ファイルから `ultracode` 値を復元するのではなく、オフにします。セッションは現在の努力レベルを保持するため、同じ呼び出しで `effortLevel` を渡して変更してください。750* `ultracode: null` は `false` と同様に ultracode をオフにし、設定ファイルから `ultracode` 値を復元するのではなく。セッションは現在の努力レベルを保持するため、同じ呼び出しで `effortLevel` を渡して変更します。
751 751
752ストリーミング入力モードでのみ利用可能で、`setModel()` と `setPermissionMode()` と同じ制約があります。752ストリーミング入力モードでのみ利用可能で、`setModel()` と `setPermissionMode()` と同じ制約があります。
753 753
754以下の例は、ミッドセッション中にアクティブなモデルを切り替え、その後オーバーライドをクリアして、モデルを [Claude Code のデフォルトモデル](/docs/ja/model-config) にリセットします。754以下の例は、セッション中にアクティブなモデルを切り替え、その後オーバーライドをクリアして、モデルを [Claude Code のデフォルトモデル](/docs/ja/model-config)にリセットします。
755 755
756```typescript theme={null}756```typescript theme={null}
757import { query } from "@anthropic-ai/claude-agent-sdk";757import { query } from "@anthropic-ai/claude-agent-sdk";
758 758
759const q = query({ prompt: messageStream });759const q = query({ prompt: messageStream });
760 760
761// セッションの残りの部分のモデルをオーバーライドします761// セッションの残りの期間、モデルをオーバーライドします
762await q.applyFlagSettings({ model: "claude-opus-4-6" });762await q.applyFlagSettings({ model: "claude-opus-4-6" });
763 763
764// 後で: オーバーライドをクリアします。モデルは Claude Code のデフォルトにリセットされます764// 後で: オーバーライドをクリアします。モデルは Claude Code のデフォルトにリセットされます
773 `updateSettings()`773 `updateSettings()`
774</h4>774</h4>
775 775
776設定ファイルをディスクに 1 つのホワイトリスト登録キーを書き込み、値が後のセッションで永続化されるようにします。各ソースは 1 つのキーを受け入れ、文字列値を持ちます:776設定ファイルをディスクに書き込み、値が後のセッションで永続化されるようにします。各ソースは 1 つのキーを受け入れ、文字列値を持ちます:
777 777
778* **`"localSettings"`**: `outputStyle` を受け入れ、プロジェクトのローカル設定ファイル `.claude/settings.local.json` にマージします。新しいスタイルはセッションの次のリクエストで有効になります。778* **`"localSettings"`**: `outputStyle` を受け入れ、プロジェクトのローカル設定ファイル `.claude/settings.local.json` にマージします。新しいスタイルはセッションの次のリクエストで有効になります。
779* **`"userSettings"`**: `effortLevel` を受け入れ、セッションの現在のモデルのデフォルト [努力レベル](/docs/ja/model-config#adjust-effort-level) としてユーザー設定ファイルの [`modelSettings`](/docs/ja/settings-reference#modelsettings) に保存します。`max` を渡すと、`max` はセッションのみであるため何も書き込みません。実行中のセッションはいずれにせよ現在の努力レベルを保持するため、それも変更したい場合は [`applyFlagSettings()`](#applyflagsettings) を呼び出してください。このソースには TypeScript SDK v0.3.277 以降が必要で、Claude Code v2.1.277 をバンドルしています。779* **`"userSettings"`**: `effortLevel` を受け入れ、セッションの現在のモデルのデフォルト [努力レベル](/docs/ja/model-config#adjust-effort-level)としてユーザー設定ファイルの [`modelSettings`](/docs/ja/settings-reference#modelsettings) の下に保存します。`max` を渡すと、`max` はセッションのみであるため何も書き込みません。実行中のセッションはいずれにせよ現在の努力レベルを保持するため、それも変更する場合は [`applyFlagSettings()`](#applyflagsettings)を呼び出してください。このソースには TypeScript SDK v0.3.277 以降が必要で、Claude Code v2.1.277 をバンドルしています。
780 780
781リクエストが他のキーを含む場合、セッションがリモートトランスポートで実行される場合、およびセッションの [`settingSources`](#options) が指定したソースを除外する場合、呼び出しは拒否されます。キーの削除はサポートされていません。781呼び出しは、リクエストが他のキーを含む場合、セッションがリモートトランスポートで実行される場合、およびセッションの [`settingSources`](#options)が名前を付けたソースを除外する場合に拒否されます。キーの削除はサポートされていません。
782 782
783<h3 id="warmquery">783<h3 id="warmquery">
784 `WarmQuery`784 `WarmQuery`
785</h3>785</h3>
786 786
787[`startup()`](#startup) によって返されるハンドル。サブプロセスは既にスポーンされ初期化されているため、このハンドルで `query()` を呼び出すと、スタートアップレイテンシーなしで準備完了プロセスにプロンプトを直接書き込みます。787[`startup()`](#startup)によって返されるハンドル。サブプロセスは既にスポーンおよび初期化されているため、このハンドルで `query()` を呼び出すと、スタートアップレイテンシーなしで準備完了プロセスにプロンプトを直接書き込みます。
788 788
789```typescript theme={null}789```typescript theme={null}
790interface WarmQuery extends AsyncDisposable {790interface WarmQuery extends AsyncDisposable {
799 799
800| メソッド | 説明 |800| メソッド | 説明 |
801| :- | :- |801| :- | :- |
802| `query(prompt)` | 事前ウォーミングされたサブプロセスにプロンプトを送信し、[`Query`](#query-object) を返します。`WarmQuery` ごとに 1 回のみ呼び出すことができます |802| `query(prompt)` | 事前ウォーミングされたサブプロセスにプロンプトを送信し、[`Query`](#query-object)を返します。`WarmQuery` ごとに 1 回のみ呼び出すことができます |
803| `close()` | プロンプトを送信せずにサブプロセスを閉じます。不要になった warm query を破棄するために使用します |803| `close()` | プロンプトを送信せずにサブプロセスを閉じます。不要になった warm query を破棄するために使用します |
804 804
805`WarmQuery` は `AsyncDisposable` を実装するため、自動クリーンアップのために `await using` で使用できます。805`WarmQuery` は `AsyncDisposable` を実装するため、自動クリーンアップのために `await using` で使用できます。
808 `SpareProcess`808 `SpareProcess`
809</h3>809</h3>
810 810
811*アルファ。* [`prewarm()`](#prewarm) によって返されるハンドル: セッションにまだバインドされていない開始された Claude Code プロセスで、1 回クレームできます。TypeScript Agent SDK v0.3.282 以降が必要です。811*アルファ。* [`prewarm()`](#prewarm)によって返されるハンドル: セッションにまだバインドされていない開始された Claude Code プロセスで、1 回クレームできます。TypeScript Agent SDK v0.3.282 以降が必要です。
812 812
813```typescript theme={null}813```typescript theme={null}
814interface SpareProcess extends AsyncDisposable {814interface SpareProcess extends AsyncDisposable {
828 828
829| メンバー | 説明 |829| メンバー | 説明 |
830| :- | :- |830| :- | :- |
831| `claim({ prompt, options })` | スペアを `options.cwd` のセッションにバインドし、最初のメッセージを送信します。`query()` と同様に [`Query`](#query-object) を同期的に返します。1 回のみ呼び出すことができます |831| `claim({ prompt, options })` | スペアを `options.cwd` のセッションにバインドし、最初のメッセージを送信します。`query()` と同様に [`Query`](#query-object)を同期的に返します。1 回のみ呼び出すことができます |
832| `claimed` | Claude Code がクレームを受け入れると、セッションのワーキングディレクトリと ID で解決します。Claude Code がクレームを拒否する場合、プロセスが終了またはクローズされた場合、および `option_not_applied` で始まるメッセージを含む場合に拒否します。セッションは要求した `model` または `maxThinkingTokens` なしで実行されています |832| `claimed` | Claude Code がクレームを受け入れると、セッションのワーキングディレクトリと ID で解決します。Claude Code がクレームを拒否する場合、プロセスが終了または最初に閉じられた場合、および `option_not_applied` で始まるメッセージを含む場合に拒否します。要求した `model` または `maxThinkingTokens` なしでセッションが実行されている場合 |
833| `exited` | プロセスが終了すると、クレームされたかどうかに関わらず解決します。クレーム前に終了するスペアを置き換えます |833| `exited` | プロセスが終了すると解決します。クレーム前に終了するスペアを置き換えます |
834| `close()` | プロセスを終了します。クレーム前にこれはスペアを破棄し、`claimed` を拒否します |834| `close()` | プロセスを終了します。クレーム前にこれはスペアを破棄し、`claimed` を拒否します |
835 835
836`options.cwd` は必須です。クレームは `additionalDirectories`、`model`、`permissionMode`、`maxThinkingTokens`、`settings` のフラグ設定オーバーレイ、`appendSystemPrompt`、`title`、`agents`、および `env` のセッションごとのトークンも設定できます。836`options.cwd` は必須です。クレームは `additionalDirectories`、`model`、`permissionMode`、`maxThinkingTokens`、`settings` のフラグ設定オーバーレイ、`appendSystemPrompt`、`title`、`agents`、および `env` のセッションごとのトークンも設定できます。
837 837
838Claude Code はクレームを拒否できます。例えば、存在しないフォルダまたはプロジェクト設定が `env`、`agent`、または `model` を設定するフォルダの場合です。`claimed` が `option_not_applied` で始まるメッセージで拒否する場合、セッションは要求した `model` または `maxThinkingTokens` なしで実行されています。他の拒否の場合、プロンプトは実行されていないため、代わりに `query()` でセッションを開始してください。838Claude Code はクレームを拒否できます。例えば、存在しないフォルダまたはプロジェクト設定が `env`、`agent`、または `model` を設定するフォルダの場合。`claimed` が `option_not_applied` で始まるメッセージで拒否する場合、セッションは要求した `model` または `maxThinkingTokens` なしで実行されています。他の拒否の場合、プロンプトは実行されていないため、代わりに `query()` でセッションを開始してください。
839 839
840<h3 id="sdkcontrolinitializeresponse">840<h3 id="sdkcontrolinitializeresponse">
841 `SDKControlInitializeResponse`841 `SDKControlInitializeResponse`
857};857};
858```858```
859 859
860`hooks_applied` は Claude Code が `initialize` リクエストが含む `hooks` を登録したかどうかを報告します。SDK はセッション開始時にそのリクエストを 1 回送信し、各 [`reinitialize()`](#query-object) 呼び出しで再度送信します。フィールドには Agent SDK v0.3.238 以降が必要です。860`hooks_applied` は Claude Code が `initialize` リクエストが実行した `hooks` を登録したかどうかを報告します。SDK はセッションが開始されるときにそのリクエストを 1 回送信し、各 [`reinitialize()`](#query-object)呼び出しで再度送信します。フィールドには Agent SDK v0.3.238 以降が必要です。
861 861
862Claude Code はリクエストがフックを含まない場合、フィールドを省略します。リクエストがフックを含む場合、値はリクエストがセッションの最初の初期化であるかどうか、および繰り返されるものの場合、それがセッションに到達した方法に依存します:862Claude Code はリクエストがフックを実行しなかった場合、フィールドを省略します。リクエストがフックを実行した場合、値はリクエストがセッションの最初の初期化であるかどうか、および繰り返されるものの場合、セッションに到達した方法に依存します:
863 863
864* `true`: Claude Code はフックを登録しました。セッションの最初の初期化はこの値を返します。CLI の stdin を通じて送信された繰り返し初期化も `true` を返します。その場合、新しいリクエストのフックは以前に登録されたフックを置き換えます。864* `true`: Claude Code はフックを登録しました。セッションの最初の初期化はこの値を返します。CLI の stdin を通じて送信された繰り返し初期化もこの値を返します。その場合、新しいリクエストのフックは以前に登録されたフックを置き換えます。
865* `false`: Claude Code はフックを無視しました。リモートセッションに送信された繰り返し初期化はこの値を返すため、セッションに参加する 2 番目のクライアントは最初のクライアントが登録したフックを置き換えることはできません。865* `false`: Claude Code はフックを無視しました。リモートセッションに送信された繰り返し初期化はこの値を返すため、セッションに参加する 2 番目のクライアントは最初のクライアントが登録したフックを置き換えることはできません。
866 866
867Agent SDK v0.3.238 より前では、レスポンスはフィールドを含まず、Claude Code はすべての繰り返し初期化で `hooks` を無視していました。867Agent SDK v0.3.238 より前では、レスポンスはフィールドを実行しなかったため、Claude Code はすべての繰り返し初期化でフックを無視しました。
868 868
869レスポンスは常に `fast_mode_state` を報告し、何かが [fast mode](/docs/ja/fast-mode) をブロックする場合、`fast_mode_disabled_reason` はブロックされた状態を説明できるように理由コードを含めます。両方の動作には Claude Code v2.1.219 以降が必要です。v2.1.219 より前では、fast mode が利用できない場合、レスポンスは `fast_mode_state` を省略し、理由を含むことはありませんでした。理由コードとその意味については、結果メッセージの [`fast_mode_disabled_reason`](#sdkresultmessage) を参照してください。869レスポンスは常に `fast_mode_state` を報告し、何かが [fast mode](/docs/ja/fast-mode)をブロックする場合、`fast_mode_disabled_reason` はブロックされた状態を説明できるように理由コードを含みます。両方の動作には Claude Code v2.1.219 以降が必要です。v2.1.219 より前では、fast mode が利用可能でない場合、レスポンスは `fast_mode_state` を省略し、理由を実行しませんでした。理由コードとその意味については、結果メッセージの [`fast_mode_disabled_reason`](#sdkresultmessage)を参照してください。
870 870
871成功した `initialize` の制御レスポンスラッパーは、`pending_permission_requests` 配列も含みます。フィールドは `SDKControlInitializeResponse` ペイロード内ではなく、レスポンスラッパー自体にあります。各エントリは、セッションが実行中に権限リクエストのためにストリーミングするのと同じ `{ type: "control_request", request_id, request }` 形状を持つ完全な `control_request` メッセージです。871成功した `initialize` の制御レスポンスラッパーは `pending_permission_requests` 配列も実行します。フィールドは上記の `SDKControlInitializeResponse` ペイロード内ではなく、レスポンスラッパー自体にあります。各エントリは、セッションが実行中にストリーミングする権限リクエストと同じ `{ type: "control_request", request_id, request }` 形状を持つ完全な `control_request` メッセージです。
872 872
873配列は、この Claude Code プロセスが発行し、まだ解決していない権限リクエストをリストします。SDK はあなたのために配列を読み取り、各エントリを [`canUseTool`](#canusetool) コールバックにディスパッチします。これは、トランスポートギャップ後に [`reinitialize()`](#query-object) がトリガーするのと同じ再配信です。繰り返されたリクエスト ID をべき等に処理してください。エントリは、接続が切断される前にコールバックが既に受け取ったリクエストを繰り返すことができるためです。873配列は、この Claude Code プロセスが発行し、まだ解決していない権限リクエストをリストします。SDK はあなたのために配列を読み取り、各エントリを [`canUseTool`](#canusetool)コールバックにディスパッチします。これは [`reinitialize()`](#query-object)がトランスポートギャップ後にトリガーするのと同じ再配信です。繰り返されたリクエスト ID をべき等に処理してください。エントリは、接続が切断される前にコールバックが既に受け取ったリクエストを繰り返すことができるためです。
874 874
875配列は成功した `initialize` レスポンスで常に存在し、このプロセスに未解決の権限リクエストがない場合は空です。Claude Code v2.1.268 以降が必要です。以前のバージョンはフィールドを省略できるため、ワイヤープロトコルを自分で解析する場合、欠落しているフィールドを古い CLI として扱い、何も保留中でないという証拠ではなく扱ってください。875配列は成功した `initialize` レスポンスで常に存在し、このプロセスに未解決の権限リクエストがない場合は空です。Claude Code v2.1.268 以降が必要です。以前のバージョンはフィールドを省略できるため、ワイヤプロトコルを自分で解析する場合、欠落しているフィールドを古い CLI として扱い、何も保留中でないという証拠ではなく扱ってください。
876 876
877<h3 id="sdkcontrolinterruptresponse">877<h3 id="sdkcontrolinterruptresponse">
878 `SDKControlInterruptResponse`878 `SDKControlInterruptResponse`
879</h3>879</h3>
880 880
881割り込み受信: [`interrupt()`](#query-object) が [`SDKSystemMessage.capabilities`](#sdksystemmessage) で `interrupt_receipt_v1` 機能をアドバタイズする CLI で解決する値。Claude Code v2.1.205 以降が必要です。以前の CLI は空の成功ペイロードで割り込みに応答するため、`interrupt()` は `undefined` に解決します。881中断レシート: [`interrupt()`](#query-object)が [`SDKSystemMessage.capabilities`](#sdksystemmessage)で `interrupt_receipt_v1` 機能をアドバタイズする CLI で解決する値。Claude Code v2.1.205 以降が必要です。以前の CLI は空の成功ペイロードで中断に応答するため、`interrupt()` は `undefined` で解決します。
882 882
883```typescript theme={null}883```typescript theme={null}
884type SDKControlInterruptResponse = {884type SDKControlInterruptResponse = {
887};887};
888```888```
889 889
890`still_queued` は割り込みが到着したときに保留中だったユーザーメッセージの UUID をリストします: キューに残っているメッセージ、および Claude Code が既に次のターンのキューから取り出したメッセージ。セッションの最初のターンが開始されると、Claude Code は割り込みがない限り、リストされたメッセージを処理します。最初のターンが開始される前に割り込みを行う場合、Claude Code はそのターンが開始されるとすぐに中止し、そのターンのリストされたメッセージはレスポンスを取得しません。890`still_queued` は、中断が到着したときに保留中だったユーザーメッセージの UUID をリストします。キューに入ったままのメッセージ、および Claude Code が既に次のターンのキューから取り出したメッセージ。セッションの最初のターンが開始されると、Claude Code は中断しない限り、リストされたメッセージを処理します。最初のターンが開始される前に中断する場合、Claude Code はそのターンが開始されるとすぐに中止し、そのターンのリストされたメッセージはレスポンスを取得しません。
891 891
892受信を使用して、何かを再送信するかどうかを決定します。リストされたメッセージをキャンセルしない場合、レスポンスを取得するかどうかに関わらず会話に入るため、再送信するとそれを Claude に 2 回配信します。892レシートを使用して、何を再送信するかを決定します。リストされたメッセージで キャンセルしないものは、レスポンスを取得するかどうかに関わらず会話に入るため、それを再送信すると Claude に 2 回配信されます。
893 893
894これらの注意事項でリストを解釈します:894これらの注意事項でリストを解釈します:
895 895
896* UUID でエンキューされたメッセージのみが表示されます。空の配列は他に何も実行されないことを意味しません。896* UUID で登録されたメッセージのみが表示されます。空の配列は他に何も実行されないことを意味しません。
897* メインスレッドメッセージのみがリストされます。サブエージェントに宛てられたメッセージはスコープ外です。897* メインスレッドメッセージのみがリストされます。サブエージェントに対処されたメッセージはスコープ外です。
898* リストには、[スケジュール済みタスク](/docs/ja/scheduled-tasks) トリガーなど、クライアントが送信しなかった UUID を含めることができます。エラーとして扱うのではなく、認識しない UUID を無視してください。898* リストには、[スケジュール済みタスク](/docs/ja/scheduled-tasks)トリガーなど、クライアントが送信しなかった UUID が含まれる場合があります。認識しない UUID を無視し、エラーとして扱わないでください。
899 899
900制御プロトコルを `interrupt()` ではなく直接駆動するクライアントは、`interrupt` 制御リクエストで `cancel_queued: true` を設定できます。Claude Code v2.1.219 以降は [`SDKSystemMessage.capabilities`](#sdksystemmessage) で `interrupt_cancel_queued_v1` 機能でサポートをアドバタイズします。古い CLI はフィールドを無視し、キューに入ったメッセージを通常どおり実行したままにします。そのような割り込みは、`still_queued` の下にリストされるすべてのメッセージをキャンセルします: 代わりに `cancelled` の下にリストされ、`still_queued` は空で、それらのどれも実行されません。900CLI の制御プロトコルを `interrupt()` ではなく直接駆動するクライアントは、`interrupt` 制御リクエストで `cancel_queued: true` を設定できます。Claude Code v2.1.219 以降は [`SDKSystemMessage.capabilities`](#sdksystemmessage)で `interrupt_cancel_queued_v1` 機能でサポートをアドバタイズします。以前の CLI はフィールドを無視し、キューに入ったメッセージを通常どおり実行したままにします。そのような中断はリストされるはずだったすべてのメッセージをキャンセルします: レシートはそれらを `cancelled` の下にリストし、`still_queued` は空で、それらのどれも実行されません。
901 901
902`cancelled` リストは `still_queued` と同じ注意事項を含みます。`interrupt()` メソッドは `cancel_queued` を送信しないため、それが解決する受信は `cancelled` を含みません。902`cancelled` リストは `still_queued` と同じ注意事項を実行します。`interrupt()` メソッドは `cancel_queued` を送信しないため、それが解決するレシートは `cancelled` を実行しません。
903 903
904受信は割り込みが処理される瞬間のスナップショットで、クリーン割り込みで中断されたターンの [`SDKResultMessage`](#sdkresultmessage) の前に到着します。その結果の後のキューを検査するのではなく、受信を読み取ってください: ループは次のキューに入ったターンをすぐに開始するため、結果の後に検査するキューは既に変更されています。904レシートは中断が処理される瞬間に撮られたスナップショットで、クリーンな中断では中断されたターンの [`SDKResultMessage`](#sdkresultmessage)の前に到着します。そのレシートの後のレシートを読み取るのではなく、キューを検査してください: ループは次のキューに入ったターンをすぐに開始するため、レシートの後に検査するキューは既に変更されています。
905 905
906<h3 id="sdkcontrolgetcontextusageresponse">906<h3 id="sdkcontrolgetcontextusageresponse">
907 `SDKControlGetContextUsageResponse`907 `SDKControlGetContextUsageResponse`
908</h3>908</h3>
909 909
910[`getContextUsage()`](#query-object) の戻り値の型。デフォルト `detail` では、これは対話型セッションで `/context` コマンドが Claude Code がレンダリングするのと同じペイロードで、トークンカウントと共に `/context` 使用グリッドを描画するために Claude Code が使用する `color` および `gridRows` などの表示フィールドを含みます。910[`getContextUsage()`](#query-object)の戻り値の型。デフォルト `detail` では、これは Claude Code が対話型セッションで `/context` コマンドに対してレンダリングするのと同じペイロードで、トークンカウントと共に `color` および `gridRows` などの表示フィールドを実行します。Claude Code は `/context` 使用グリッドを描画するために使用します。
911 911
912メソッドのオプション `detail` 引数は、Claude Code が各カテゴリをカウントする方法を選択します。デフォルト `'full'` では、Claude Code はトークンカウント API リクエストで各カテゴリをカウントします。最後のレスポンスの使用状況とローカル推定から答えを取得するには `{ detail: 'summary' }` を渡します。トークンカウントリクエストは送信されず、カテゴリごとの数値は概算です。`detail` 引数には Agent SDK v0.3.257 以降が必要です。912メソッドのオプション `detail` 引数は、Claude Code が各カテゴリをカウントする方法を選択します。`detail` 引数には Agent SDK v0.3.257 以降が必要です。
913 913
914メソッドの代わりに `/context` をプロンプトとして送信する場合、Claude Code は結果を配信するアシスタントメッセージの `context_usage` フィールドに [`SDKContextUsage`](#sdkcontextusage) ペイロードを添付します。そのフィールドには Agent SDK v0.3.232 以降が必要です。914* **`'full'`**: デフォルト。Claude Code は [トークンカウント](https://platform.claude.com/docs/en/build-with-claude/token-counting) API リクエストで各カテゴリをカウントします。これらのリクエストはメッセージストリームに表示されないため、ストリームを読み取るコスト追跡はそれらを表示しません。Anthropic API では、トークンカウントは請求されません。
915* **`'summary'`**: `{ detail: 'summary' }` を渡して、最後のレスポンスの使用状況とローカル推定から答えを取得します。トークンカウントリクエストは送信されず、カテゴリごとの数値は概算です。
916
917代わりにメソッドを呼び出す場合、`/context` をプロンプトとして送信すると、Claude Code は結果を配信するアシスタントメッセージの `context_usage` フィールドに [`SDKContextUsage`](#sdkcontextusage)ペイロードを添付します。そのフィールドには Agent SDK v0.3.232 以降が必要です。
915 918
916```typescript theme={null}919```typescript theme={null}
917type SDKControlGetContextUsageResponse = {920type SDKControlGetContextUsageResponse = {
1008};1011};
1009```1012```
1010 1013
1011トークン帰属をコレクションフィールドから読み取ります:1014トークン属性をコレクションフィールドから読み取ります:
1012 1015
1013* `categories` はカテゴリごとの合計を保持します。各エントリの `kind` は [`SDKContextUsageCategory`](#sdkcontextusagecategory) と同じ値でカテゴリを分類します。表示 `name` ではなく `kind` でカテゴリを分類してください。フィールドには Agent SDK v0.3.268 以降が必要です。1016* `categories` はカテゴリごとの合計を保持します。各エントリの `kind` は [`SDKContextUsageCategory`](#sdkcontextusagecategory)と同じ値で行を分類します。表示 `name` ではなく、それで行を分類します。フィールドには Agent SDK v0.3.268 以降が必要です。
1014* `mcpTools` と `agents` はトークンを個別の MCP ツールとサブエージェントに帰属させます。1017* `mcpTools` および `agents` は個々の MCP ツールおよびサブエージェントにトークンを属性付けします。
1015* `memoryFiles` は各読み込まれたメモリファイルとそのコストをリストします。1018* `memoryFiles` は読み込まれた各メモリファイルをそのコストと共にリストします。
1016* `skills.skillFrontmatter` は、含まれる各スキルにスキルリストのトークンを帰属させます。スキルごとの数値は、Claude Code が実際に送信するスキルリストエントリを測定します。これはスキルの完全なフロントマターより短くなる可能性があります。`skills.totalSkills` を `skills.includedSkills` と比較して、検出されたすべてのスキルがリストに含まれているかどうかを確認します。1019* `skills.skillFrontmatter` は各含まれるスキルにスキルリストのトークンを属性付けします。スキルごとの数値は、Claude Code が実際に送信するスキルのリストエントリを測定します。これはスキルの完全なフロントマターより短くなる可能性があります。`skills.totalSkills` を `skills.includedSkills` と比較して、すべての検出されたスキルがリストに含まれているかどうかを確認します。
1017 1020
1018`totalTokens` はセッションの現在のコンテキスト使用状況で、`maxTokens` はその使用状況が測定されるウィンドウです。そのウィンドウはモデルのコンテキストウィンドウ、または 1 つが適用される場合は低い自動コンパクション ウィンドウです。`rawMaxTokens` は `maxTokens` と同じ値を含み、`percentage` は `totalTokens` をそのウィンドウのパーセンテージとして丸めたものです。1021`totalTokens` はセッションの現在のコンテキスト使用状況で、`maxTokens` はその使用状況が測定されるウィンドウです。そのウィンドウはモデルのコンテキストウィンドウ、または自動コンパクション ウィンドウが適用される場合はより低いウィンドウです。`rawMaxTokens` は `maxTokens` と同じ値を実行し、`percentage` は `totalTokens` をそのウィンドウのパーセンテージとして丸めたものです。`apiUsage` は、セッションの実行合計ではなく、最新の API レスポンスからの使用状況を保持します。
1019 1022
1020Claude Code は、オプション `deferredBuiltinTools`、`systemTools`、および `systemPromptSections` 診断を設定しないままにするため、型が宣言していても存在しないことを期待してください。1023Claude Code はオプション `deferredBuiltinTools`、`systemTools`、および `systemPromptSections` 診断を設定しないため、型が宣言していても存在しないことを期待してください。
1021 1024
1022<h3 id="sdkcontrolreadfileresponse">1025<h3 id="sdkcontrolreadfileresponse">
1023 `SDKControlReadFileResponse`1026 `SDKControlReadFileResponse`
1024</h3>1027</h3>
1025 1028
1026[`readFile()`](#query-object) の戻り値の型。1029[`readFile()`](#query-object)の戻り値の型。
1027 1030
1028```typescript theme={null}1031```typescript theme={null}
1029type SDKControlReadFileResponse = {1032type SDKControlReadFileResponse = {
1034};1037};
1035```1038```
1036 1039
1037`contents` はファイルテキストを保持するか、`encoding: 'base64'` をリクエストした場合は base64 データを保持します。レスポンスの `encoding` フィールドはその場合 `'base64'` に設定されます。`absPath` は解決された絶対パスです。`truncated` は、ファイルが `maxBytes` キャップより長く、コンテンツがその制限で切り詰められた場合に設定されます。1040`contents` はファイルテキスト、または `encoding: 'base64'` をリクエストした場合は base64 データを保持します。レスポンスの `encoding` フィールドはその場合 `'base64'` に設定されます。`absPath` は解決された絶対パスです。`truncated` は、ファイルが `maxBytes` キャップより長く、コンテンツがその制限で切り詰められた場合に設定されます。
1038 1041
1039<h4 id="what-readfile-can-read">1042<h4 id="what-readfile-can-read">
1040 `readFile()` が読み取れるもの1043 `readFile()` が読み取れるもの
1042 1045
1043`readFile()` は Read ツールより狭いファイルセットを提供します:1046`readFile()` は Read ツールより狭いファイルセットを提供します:
1044 1047
1045* `cwd` および `additionalDirectories` などのセッションのワーキングディレクトリの 1 つ内の通常ファイル1048* `cwd` および `additionalDirectories` などのセッションのワーキングディレクトリ内の通常ファイル
1046* セッションのツール結果などの Claude Code 独自のファイルのいくつか1049* ツール結果などのセッションの Claude Code 独自ファイルのいくつか
1047 1050
1048Read 拒否および質問ルールは引き続き一致するパスをブロックし、広い Read 許可ルールは `readFile()` にファイルシステムの残りを開きません。他のすべてについて、呼び出しは `null` で解決します。1051Read 拒否および質問ルールは引き続き一致するパスをブロックし、広い Read 許可ルールは `readFile()` に残りのファイルシステムを開きません。他のすべてについて、呼び出しは `null` で解決します。
1049 1052
1050<h3 id="sdkcontrolreloadpluginsresponse">1053<h3 id="sdkcontrolreloadpluginsresponse">
1051 `SDKControlReloadPluginsResponse`1054 `SDKControlReloadPluginsResponse`
1052</h3>1055</h3>
1053 1056
1054[`reloadPlugins()`](#query-object) の戻り値の型。1057[`reloadPlugins()`](#query-object)の戻り値の型。
1055 1058
1056```typescript theme={null}1059```typescript theme={null}
1057type SDKControlReloadPluginsResponse = {1060type SDKControlReloadPluginsResponse = {
1076 1079
1077コレクションフィールドは呼び出し後のセッションを説明します:1080コレクションフィールドは呼び出し後のセッションを説明します:
1078 1081
1079* `commands`、`agents`、および `mcpServers`: セッションのコマンド、サブエージェント、MCP サーバーステータス。`supportedCommands()`、`supportedAgents()`、および `mcpServerStatus()` が返すのと同じ形状です。`supportedAgents()` は初期化時にキャプチャされたリストを返し続けるため、再読み込み後のセットについてはここで `agents` を読み取ってください1082* `commands`、`agents`、および `mcpServers`: セッションのコマンド、サブエージェント、および MCP サーバーステータス。`supportedCommands()`、`supportedAgents()`、および `mcpServerStatus()` が返すのと同じ形状。`supportedAgents()` は初期化でキャプチャされたリストを返し続けるため、再読み込み後のセットについてはここで `agents` を読み取ります
1080* `plugins`: 各読み込まれたプラグインとその `name` およびインストール `path`。`version` はプラグインのマニフェストが宣言するものを繰り返し、プラグイン作成者が制御するため、信頼する前に検証してください。マニフェストが宣言しない場合は省略されます1083* `plugins`: 各読み込まれたプラグインとそのインストール `path`。`version` はプラグインのマニフェストが宣言するものを繰り返し、プラグイン作成者が制御するため、信頼する前に検証してください。マニフェストが宣言しない場合は省略されます
1081* `error_count`: プラグイン読み込みからのエラー数1084* `error_count`: プラグイン読み込みからのエラー数
1082 1085
1083会話のプロンプトキャッシュを無効にするリロードを保持するには、`{ holdOnCacheImpact: true }` を `reloadPlugins()` に渡します。Claude Code は対話型 `/reload-plugins` コマンドが [キャッシュコストについて警告](/docs/ja/prompt-caching#enabling-or-disabling-a-plugin) する前に行うチェックを実行します。オプションには Agent SDK v0.3.268 以降が必要です。v2.1.268 より古い Claude Code 実行可能ファイル(`pathToClaudeCodeExecutable` で指定したものなど)はオプションを無視し、リロードを適用します。1086`reloadPlugins()` に `{ holdOnCacheImpact: true }` を渡して、会話のプロンプトキャッシュを無効にする再読み込みを保持し、適用する代わりに保持します。Claude Code は対話型 `/reload-plugins` コマンドが [キャッシュコストについて警告](/docs/ja/prompt-caching#enabling-or-disabling-a-plugin)する前に行うチェックを実行します。オプションには Agent SDK v0.3.268 以降が必要です。`pathToClaudeCodeExecutable` が指す v2.1.268 より前の Claude Code 実行可能ファイルはオプションを無視し、再読み込みを適用します。
1084 1087
1085オプションを渡すと、`held` を読み取って何が起こったかを確認します:1088オプションを渡すと、`held` を読み取って何が起こったかを学びます:
1086 1089
1087* `true`: リロードは適用されず、コレクションフィールドはセッションをそのまま説明します。`cache_impact` は適用が何を変更するかを示します。とにかく適用するには、オプションなしで `reloadPlugins()` を再度呼び出してください。1090* `true`: 再読み込みは適用されず、コレクションフィールドはセッションをそのまま説明します。`cache_impact` は適用が変更するものを言います。とにかく適用するには、オプションなしで `reloadPlugins()` を再度呼び出します。
1088* `false`: チェックはキャッシュ影響を見つけず、リロードが適用されました。1091* `false`: チェックはキャッシュ影響を見つけず、再読み込みが適用されました。
1089* 存在しない: オプションを渡さなかったか、Claude Code 実行可能ファイルが v2.1.268 より古く、リロードを適用しました。1092* 不在: オプションを渡さなかったか、Claude Code 実行可能ファイルが v2.1.268 より前で再読み込みを適用しました。
1090 1093
1091`cache_impact` は `held: true` と共にのみ存在します。`mcp_servers_added` と `mcp_servers_removed` はリロードが登録または削除するプラグイン MCP サーバーを、スコープ付き `plugin:<plugin>:<server>` 名として指定します。名前はプラグイン作成者が作成するため、表示する前に検証してください。`lsp_tool_change` は適用が LSP ツールを追加または削除するかどうかを示し、どちらもしない場合は `null` です。`may-` 形式は、チェックが保留中のプラグインセットを完全に見ることができなかったことを意味します。1094`cache_impact` は `held: true` と共にのみ存在します。`mcp_servers_added` および `mcp_servers_removed` は再読み込みが登録または削除するプラグイン MCP サーバーをスコープ付き `plugin:<plugin>:<server>` 名として名前付けます。名前はプラグイン作成者が作成するため、表示する前に検証してください。`lsp_tool_change` は適用が LSP ツールを追加または削除するかどうかを言うか、どちらでもない場合は `null`。`may-` 形式は、チェックが保留中のプラグインセットを完全に見ることができなかったことを意味します。
1092 1095
1093<h3 id="sdkcontrolreloadskillsresponse">1096<h3 id="sdkcontrolreloadskillsresponse">
1094 `SDKControlReloadSkillsResponse`1097 `SDKControlReloadSkillsResponse`
1095</h3>1098</h3>
1096 1099
1097[`reloadSkills()`](#query-object) の戻り値の型。1100[`reloadSkills()`](#query-object)の戻り値の型。
1098 1101
1099```typescript theme={null}1102```typescript theme={null}
1100type SDKControlReloadSkillsResponse = {1103type SDKControlReloadSkillsResponse = {
1102};1105};
1103```1106```
1104 1107
1105`skills` は再読み込み後に利用可能なスキルをリストします。`supportedCommands()` が返すのと同じ [`SlashCommand`](#slashcommand) 形状です。1108`skills` は再読み込み後に利用可能なスキルをリストし、`supportedCommands()` が返すのと同じ [`SlashCommand`](#slashcommand)形状です。
1106 1109
1107<h3 id="sdkcontrolreloadoutputstylesresponse">1110<h3 id="sdkcontrolreloadoutputstylesresponse">
1108 `SDKControlReloadOutputStylesResponse`1111 `SDKControlReloadOutputStylesResponse`
1109</h3>1112</h3>
1110 1113
1111[`reloadOutputStyles()`](#query-object) の戻り値の型。1114[`reloadOutputStyles()`](#query-object)の戻り値の型。
1112 1115
1113```typescript theme={null}1116```typescript theme={null}
1114type SDKControlReloadOutputStylesResponse = {1117type SDKControlReloadOutputStylesResponse = {
1122 `SDKControlMcpReadResourceResponse`1125 `SDKControlMcpReadResourceResponse`
1123</h3>1126</h3>
1124 1127
1125[`readMcpResource()`](#query-object) の戻り値の型。MCP サーバーの `resources/read` 結果を含みます。TypeScript Agent SDK v0.3.280 以降が必要です。1128[`readMcpResource()`](#query-object)の戻り値の型。MCP サーバーの `resources/read` 結果を実行します。TypeScript Agent SDK v0.3.280 以降が必要です。
1126 1129
1127```typescript theme={null}1130```typescript theme={null}
1128type SDKControlMcpReadResourceResponse = {1131type SDKControlMcpReadResourceResponse = {
1136};1139};
1137```1140```
1138 1141
1139`readMcpResource()` にサーバー名を `mcpServerStatus()` が報告するのと同様に、および `ui://` URI(ツールが [`_meta`](#mcpserverstatus) で宣言する `ui.resourceUri` など)を渡します。呼び出しは他の URI スキーム、アプリケーションが自分でホストする [SDK MCP サーバー](#createsdkmcpserver)、および接続されていないサーバーに対して拒否します。初期化メッセージの [`capabilities`](#sdksystemmessage) に `mcp_read_resource_v1` が含まれている場合に利用可能です。1142`readMcpResource()` にサーバー名を `mcpServerStatus()` が報告するのと同じように、および `ui://` URI(ツールが [`_meta`](#mcpserverstatus)で宣言する `ui.resourceUri` など)を渡します。呼び出しは他の URI スキーム、アプリケーションが自分でホストする [SDK MCP サーバー](#createsdkmcpserver)、および接続されていないサーバーに対して拒否します。初期化メッセージの [`capabilities`](#sdksystemmessage)に `mcp_read_resource_v1` が含まれている場合に利用可能です。
1140 1143
1141各 `contents` エントリは、サーバーが送信した 1 つのコンテンツアイテムで、`com.anthropic/` プレフィックスの下の `_meta` キーを除きます。これは Claude Code 用に予約されています。`blob` はバイナリアイテムの base64 データを保持し、`_meta` はアイテム独自の `_meta` で、MCP Apps サーバーはリソースの `ui.csp` および `ui.permissions` を配置します。1144各 `contents` エントリは、`com.anthropic/` プレフィックスの下の `_meta` キーを除いて、サーバーが送信した 1 つのコンテンツアイテムです。これは Claude Code 用に予約されています。`blob` はバイナリアイテムの base64 データを保持し、`_meta` はアイテム自体の `_meta` で、MCP Apps サーバーはリソースの `ui.csp` および `ui.permissions` を配置します。
1142 1145
1143コンテンツは信頼できない第三者の HTML であるため、サンドボックスでレンダリングしてください。1146コンテンツは信頼できない第三者の HTML であるため、サンドボックスでレンダリングしてください。
1144 1147
1170 1173
1171| フィールド | 必須 | 説明 |1174| フィールド | 必須 | 説明 |
1172| :- | :- | :- |1175| :- | :- | :- |
1173| `description` | はい | このエージェントを使用する場合の自然言語説明 |1176| `description` | はい | このエージェントをいつ使用するかの自然言語説明 |
1174| `tools` | いいえ | 許可されたツール名の配列。省略した場合、[サブエージェントで利用可能なすべてのツール](/docs/ja/sub-agents#available-tools) を継承します。スキルをエージェントのコンテキストにプリロードするには、ここで `'Skill'` をリストするのではなく `skills` フィールドを使用してください |1177| `tools` | いいえ | 許可されたツール名の配列。省略した場合、[サブエージェントで利用可能なすべてのツール](/docs/ja/sub-agents#available-tools)を継承します。スキルをエージェントのコンテキストにプリロードするには、ここで `'Skill'` をリストするのではなく `skills` フィールドを使用します |
1175| `disallowedTools` | いいえ | このエージェントで明示的に許可しないツール名の配列。MCP サーバーレベルのパターンも受け入れられます: `mcp__server` または `mcp__server__*` はそのサーバーからすべてのツールを削除し、`mcp__*` はすべての MCP ツールをすべてのサーバーから削除します |1178| `disallowedTools` | いいえ | このエージェントに対して明示的に許可しないツール名の配列。MCP サーバーレベルのパターンも受け入れられます: `mcp__server` または `mcp__server__*` はそのサーバーからすべてのツールを削除し、`mcp__*` はすべての MCP ツールをすべてのサーバーから削除します |
1176| `prompt` | はい | エージェントのシステムプロンプト |1179| `prompt` | はい | エージェントのシステムプロンプト |
1177| `model` | いいえ | このエージェントのモデルオーバーライド。`'fable'`、`'opus'`、`'sonnet'`、`'haiku'`、`'inherit'` などのエイリアス、または完全なモデル ID を受け入れます。`'inherit'` はメインモデルを使用します。省略した場合、Claude Code は [サブエージェントモデル順序](/docs/ja/sub-agents#choose-a-model) でモデルを選択します |1180| `model` | いいえ | このエージェントのモデルオーバーライド。`'fable'`、`'opus'`、`'sonnet'`、`'haiku'`、`'inherit'` などのエイリアス、または完全なモデル ID を受け入れます。`'inherit'` はメインモデルを使用します。省略した場合、Claude Code は [サブエージェントモデル順序](/docs/ja/sub-agents#choose-a-model)でモデルを選択します |
1178| `mcpServers` | いいえ | このエージェント用の MCP サーバー仕様 |1181| `mcpServers` | いいえ | このエージェントの MCP サーバー仕様 |
1179| `skills` | いいえ | エージェントコンテキストにプリロードするスキル名の配列 |1182| `skills` | いいえ | エージェントコンテキストにプリロードするスキル名の配列 |
1180| `initialPrompt` | いいえ | このエージェントがメインスレッドエージェントとして実行される場合、最初のユーザーターンとして自動送信されます |1183| `initialPrompt` | いいえ | このエージェントがメインスレッドエージェントとして実行される場合、最初のユーザーターンとして自動送信されます |
1181| `maxTurns` | いいえ | 停止する前のエージェンティックターン数(API ラウンドトリップ)の最大数 |1184| `maxTurns` | いいえ | 停止する前のエージェンティックターン数(API ラウンドトリップ)の最大数 |
1182| `background` | いいえ | 呼び出されたときにこのエージェントをノンブロッキングバックグラウンドタスクとして実行します |1185| `background` | いいえ | 呼び出されたときにこのエージェントをノンブロッキングバックグラウンドタスクとして実行します |
1183| `omitClaudeMd` | いいえ | このエージェントがサブエージェントとして実行される場合、ユーザー、プロジェクト、ローカル CLAUDE.md ファイルなしで実行します。管理ポリシーファイルは引き続き読み込まれます。Agent ツールプロンプトから必要なすべてを取得するエージェント用に使用します。このエージェントがメインスレッドエージェントとして実行される場合は無視されます。TypeScript Agent SDK v0.3.271 以降が必要です |1186| `omitClaudeMd` | いいえ | このエージェントがサブエージェントとして実行される場合、ユーザー、プロジェクト、ローカル CLAUDE.md ファイルなしでこのエージェントを実行します。管理ポリシーファイルは引き続き読み込まれます。Agent ツールプロンプトから必要なすべてを取得するエージェントに使用します。このエージェントがメインスレッドエージェントとして実行される場合は無視されます。TypeScript Agent SDK v0.3.271 以降が必要です |
1184| `memory` | いいえ | このエージェントのメモリソース: `'user'`、`'project'`、または `'local'` |1187| `memory` | いいえ | このエージェントのメモリソース: `'user'`、`'project'`、または `'local'` |
1185| `effort` | いいえ | このエージェントの推論努力レベル。名前付きレベルまたは整数を受け入れます |1188| `effort` | いいえ | このエージェントの推論努力レベル。名前付きレベルまたは整数を受け入れます |
1186| `permissionMode` | いいえ | このエージェント内のツール実行の権限モード。[サブエージェント継承ルール](/docs/ja/agent-sdk/permissions#available-modes) は、それが適用される場合を決定します。[`PermissionMode`](#permissionmode) を参照してください |1189| `permissionMode` | いいえ | このエージェント内のツール実行の権限モード。[サブエージェント継承ルール](/docs/ja/agent-sdk/permissions#available-modes)はいつ適用されるかを決定します。[`PermissionMode`](#permissionmode)を参照してください |
1187| `criticalSystemReminder_EXPERIMENTAL` | いいえ | 実験的: システムプロンプトに追加された重要なリマインダー |1190| `criticalSystemReminder_EXPERIMENTAL` | いいえ | 実験的: システムプロンプトに追加された重要なリマインダー |
1188 1191
1189<h3 id="agentmcpserverspec">1192<h3 id="agentmcpserverspec">
1218 デフォルト動作1221 デフォルト動作
1219</h4>1222</h4>
1220 1223
1221`settingSources` が省略されるか `undefined` の場合、`query()` は Claude Code CLI と同じファイルシステム設定を読み込みます: ユーザー、プロジェクト、ローカル。[Claude Code 機能を使用](/docs/ja/agent-sdk/claude-code-features#what-settingsources-does-not-control) を参照して、入力を無効にする方法を確認してください。1224`settingSources` が省略されるか `undefined` の場合、`query()` は Claude Code CLI と同じファイルシステム設定を読み込みます: ユーザー、プロジェクト、ローカル。[settingSources が制御しないもの](/docs/ja/agent-sdk/claude-code-features#what-settingsources-does-not-control)を参照して、関係なく読み込まれる入力と、それらを無効にする方法を確認してください。
1222 1225
1223<h4 id="why-use-settingsources">1226<h4 id="why-use-settingsources">
1224 settingSources を使用する理由1227 settingSources を使用する理由
1250});1253});
1251```1254```
1252 1255
1253CLAUDE.md プロジェクト指示を読み込むには、`settingSources` に `"project"` を含めてください。CLAUDE.md 読み込みがシステムプロンプトオプションとどのように相互作用するかについては、[システムプロンプトを変更](/docs/ja/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions) を参照してください。1256CLAUDE.md プロジェクト指示を読み込むには、`settingSources` に `"project"` を含めます。CLAUDE.md 読み込みがシステムプロンプトオプションとどのように相互作用するかについては、[システムプロンプトを変更](/docs/ja/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions)を参照してください。
1254 1257
1255<h4 id="settings-precedence">1258<h4 id="settings-precedence">
1256 設定優先順位1259 設定優先順位
1273 | "default" // 標準権限動作1276 | "default" // 標準権限動作
1274 | "acceptEdits" // ファイル編集を自動受け入れ1277 | "acceptEdits" // ファイル編集を自動受け入れ
1275 | "bypassPermissions" // 権限チェックをバイパス。明示的な質問ルールはプロンプトを表示1278 | "bypassPermissions" // 権限チェックをバイパス。明示的な質問ルールはプロンプトを表示
1276 | "plan" // 計画モード - 編集なしで探索1279 | "plan" // プランニングモード - 編集なしで探索
1277 | "dontAsk" // 権限をプロンプトしない、事前承認されていない場合は拒否1280 | "dontAsk" // 権限をプロンプトしない、事前承認されていない場合は拒否
1278 | "auto"; // モデル分類器が権限プロンプトを承認または拒否1281 | "auto"; // モデル分類器がシェルコマンドやネットワークリクエストなどのアクションをレビュー
1279```1282```
1280 1283
1281<h3 id="canusetool">1284<h3 id="canusetool">
1284 1287
1285ツール使用を制御するためのカスタム権限関数型。1288ツール使用を制御するためのカスタム権限関数型。
1286 1289
1287関数は対話型権限プロンプトの SDK 置き換えです: [権限評価フロー](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated) がプロンプトに解決する場合にのみ呼び出されます。`allowedTools` エントリ、設定許可ルール、または `acceptEdits` や `bypassPermissions` などの権限モードで既に承認されたツール呼び出しは、それを呼び出しません。すべてのツール呼び出しをゲートするには、代わりに [`PreToolUse` フック](/docs/ja/agent-sdk/hooks) を使用してください。1290関数は対話型権限プロンプトの SDK 置き換えです。[権限評価フロー](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated)がプロンプトに解決する場合にのみ呼び出されます。`allowedTools` エントリ、設定許可ルール、または `acceptEdits` や `bypassPermissions` などの権限モードで既に承認されたツール呼び出しは、それを呼び出しません。すべてのツール呼び出しをゲートするには、代わりに [`PreToolUse` フック](/docs/ja/agent-sdk/hooks)を使用します。
1288 1291
1289許可ルールは [どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves) を事前承認しません。[権限がどのように評価されるか](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated) を参照して、どれがコールバックに到達し、`dontAsk` および `auto` モードで何が起こるかを確認してください。1292許可ルールは [どのモードも自動承認しないアクション](/docs/ja/permission-modes#actions-no-mode-auto-approves)を事前承認しません。[権限がどのように評価されるか](/docs/ja/agent-sdk/permissions#how-permissions-are-evaluated)を参照して、どれがコールバックに到達し、`dontAsk` および `auto` モードで何が起こるかを確認してください。
1290 1293
1291```typescript theme={null}1294```typescript theme={null}
1292type CanUseTool = (1295type CanUseTool = (
1309 1312
1310| オプション | 型 | 説明 |1313| オプション | 型 | 説明 |
1311| :- | :- | :- |1314| :- | :- | :- |
1312| `signal` | `AbortSignal` | 操作を中止する必要がある場合にシグナルされます |1315| `signal` | `AbortSignal` | 操作を中止する場合に通知されます |
1313| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | 提案された権限更新。ユーザーがこのツールに対して再度プロンプトされないようにします。Bash プロンプトは `localSettings` [宛先](#permissionupdatedestination) を含む提案を含むため、`updatedPermissions` で返すと、ルールを `.claude/settings.local.json` に書き込み、セッション間で永続化します。 |1316| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | 提案された権限更新。ユーザーがこのツールに対して再度プロンプトされないようにします。Bash プロンプトには `localSettings` [宛先](#permissionupdatedestination)を含む提案が含まれるため、`updatedPermissions` で返すと、ルールを `.claude/settings.local.json` に書き込み、セッション全体で永続化します。 |
1314| `blockedPath` | `string` | 権限リクエストをトリガーしたファイルパス(該当する場合) |1317| `blockedPath` | `string` | 権限リクエストをトリガーしたファイルパス(該当する場合) |
1315| `mcpServer` | `{ name: string; source: string }` | `mcp__*` ツールの場合、それを提供する MCP サーバーおよびそのサーバーの定義がどこから来たか。[`McpServerProvenance`](#mcpserverprovenance) のフィールド。他のツールの場合は存在しません。Agent SDK v0.3.274 以降が必要です |1318| `mcpServer` | `{ name: string; source: string }` | `mcp__*` ツールの場合、それを提供する MCP サーバーとそのサーバーの定義がどこから来たか。[`McpServerProvenance`](#mcpserverprovenance)のフィールド。他のツールでは不在です。Agent SDK v0.3.274 以降が必要です |
1316| `decisionReason` | `string` | この権限リクエストがトリガーされた理由を説明します |1319| `decisionReason` | `string` | この権限リクエストがトリガーされた理由を説明します |
1317| `defaultToNo` | `boolean` | ` true` の場合、単一の迷い込んだキーストロークがこのリクエストを承認してはいけません: プロンプトを拒否オプションで開き、承認を事前選択しないでください。ワンキー承認ショートカットを提供しないでください。Agent SDK v0.3.268 以降が必要です |1320| `defaultToNo` | `boolean` | `true` の場合、単一の迷走キーストロークがこのリクエストを承認してはいけません: プロンプトを拒否オプションで開き、承認を事前選択しないでください。1 キー承認ショートカットを提供しないでください。Agent SDK v0.3.268 以降が必要です |
1318| `suppressAlwaysAllowRule` | `boolean` | ` true` の場合、このリクエストの永続的な常時許可選択肢を提供しないでください。書き込むルールはリクエスト自体のアクションより多くを許可するためです。Agent SDK v0.3.268 以降が必要です |1321| `suppressAlwaysAllowRule` | `boolean` | `true` の場合、このリクエストに対して永続的な常時許可選択肢を提供しないでください。書き込むルールはリクエスト自体のアクションより多くを許可するためです。Agent SDK v0.3.268 以降が必要です |
1319| `toolUseID` | `string` | アシスタントメッセージ内のこの特定のツール呼び出しの一意の識別子 |1322| `toolUseID` | `string` | アシスタントメッセージ内のこの特定のツール呼び出しの一意の識別子 |
1320| `agentID` | `string` | サブエージェント内で実行している場合、サブエージェントの ID |1323| `agentID` | `string` | サブエージェント内で実行している場合、サブエージェントの ID |
1321| `requestId` | `string` | `control_request` エンベロープの `request_id`。アプリケーションが SDK の外で送信する `control_response`(署名付き HTTP POST など)は、Claude Code プロセスが返信をリクエストと一致させることができるようにこの値をエコーする必要があります |1324| `requestId` | `string` | `control_request` エンベロープの `request_id`。アプリケーションが SDK の外で送信する `control_response`(署名付き HTTP POST など)は、Claude Code プロセスが返信をリクエストと一致させることができるようにこの値をエコーする必要があります |
1322 1325
1323コールバックは通常、[`PermissionResult`](#permissionresult) を返すことでリクエストを解決します。これは SDK がそのトランスポートを通じて `control_response` として書き込みます。このリクエストの `control_response` をアプリケーションが既に独自のチャネルを通じて送信した場合にのみ `null` を返します。`requestId` をエコーします。SDK はその後、トランスポートへのレスポンスの書き込みをスキップします。他の場合に `null` を返すと、`control_response` が送信されず、権限プロンプトはタイムアウトしないため、ツール呼び出しは無期限にブロックされたままになります。1326コールバックは通常、[`PermissionResult`](#permissionresult)を返すことでリクエストを解決し、SDK はそれを `control_response` として トランスポート上に書き込みます。このリクエストの `control_response` を既に独自のチャネルで送信した場合にのみ `null` を返し、`requestId` をエコーします。SDK はトランスポートへのレスポンス書き込みをスキップします。他の場合に `null` を返すと、`control_response` が送信されず、権限プロンプトはタイムアウトしないため、ツール呼び出しは無期限にブロックされたままになります。
1324 1327
1325`requestId` オプションと `null` 戻り値には Claude Code v2.1.199 以降が必要です。1328`requestId` オプションと `null` 戻り値には Claude Code v2.1.199 以降が必要です。
1326 1329
1362 1365
1363| フィールド | 型 | 説明 |1366| フィールド | 型 | 説明 |
1364| :- | :- | :- |1367| :- | :- | :- |
1365| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | [`AskUserQuestion`](/docs/ja/agent-sdk/user-input#question-format) オプションの `preview` フィールドをオプトインし、そのコンテンツ形式を設定します。設定されていない場合、Claude はプレビューを出力しません |1368| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | [`AskUserQuestion`](/docs/ja/agent-sdk/user-input#question-format)オプションの `preview` フィールドをオプトインし、そのコンテンツ形式を設定します。設定されていない場合、Claude はプレビューを出力しません |
1366 1369
1367<h3 id="mcpserverconfig">1370<h3 id="mcpserverconfig">
1368 `McpServerConfig`1371 `McpServerConfig`
1456 1459
1457| フィールド | 型 | 説明 |1460| フィールド | 型 | 説明 |
1458| :- | :- | :- |1461| :- | :- | :- |
1459| `type` | `'local'` | `'local'` である必要があります(現在ローカルプラグインのみサポート) |1462| `type` | `'local'` | `'local'` である必要があります(現在ローカルプラグインのみがサポートされています) |
1460| `path` | `string` | プラグインディレクトリへの絶対パスまたは相対パス |1463| `path` | `string` | プラグインディレクトリへの絶対パスまたは相対パス |
1461| `skipMcpDiscovery` | `boolean` | `true` の場合、SDK はこのプラグインからスキル、フック、エージェント、コマンドを読み込みますが、その `.mcp.json` またはマニフェスト `mcpServers` は読み込みません。アプリケーションがプラグインの MCP 接続を所有している場合に設定します。 |1464| `skipMcpDiscovery` | `boolean` | `true` の場合、SDK はこのプラグインからスキル、フック、エージェント、コマンドを読み込みますが、その `.mcp.json` またはマニフェスト `mcpServers` は読み込みません。アプリケーションがプラグインの MCP 接続を所有している場合に設定します。 |
1462 1465
1469];1472];
1470```1473```
1471 1474
1472プラグインの作成と使用の完全な情報については、[プラグイン](/docs/ja/agent-sdk/plugins) を参照してください。1475プラグインの作成と使用に関する完全な情報については、[プラグイン](/docs/ja/agent-sdk/plugins)を参照してください。
1473 1476
1474<h2 id="message-types">1477<h2 id="message-types">
1475 メッセージタイプ1478 メッセージタイプ
1544};1547};
1545```1548```
1546 1549
1547`message` フィールドは Anthropic SDK の [`BetaMessage`](https://platform.claude.com/docs/en/api/messages/create) です。`id`、`content`、`model`、`stop_reason`、`usage` などのフィールドが含まれます。1550`message` フィールドは Anthropic SDK の [`BetaMessage`](https://platform.claude.com/docs/ja/api/messages/create) です。`id`、`content`、`model`、`stop_reason`、`usage` などのフィールドが含まれます。
1548 1551
1549`SDKAssistantMessageError` は以下のいずれかです:`'authentication_failed'`、`'oauth_org_not_allowed'`、`'account_on_hold'`、`'billing_error'`、`'rate_limit'`、`'overloaded'`、`'invalid_request'`、`'model_not_found'`、`'server_error'`、`'max_output_tokens'`、`'cloud_credential_error'`、または `'unknown'`。これらの値のうち 4 つは名前以上の意味を持ちます:1552`SDKAssistantMessageError` は以下のいずれかです:`'authentication_failed'`、`'oauth_org_not_allowed'`、`'account_on_hold'`、`'billing_error'`、`'rate_limit'`、`'overloaded'`、`'invalid_request'`、`'model_not_found'`、`'server_error'`、`'max_output_tokens'`、`'cloud_credential_error'`、または `'unknown'`。これらの値のうち 4 つは名前以上の意味を持ちます:
1550 1553
1555 1558
1556`aborted` は、割り込みまたは中止がストリーム完了前にアシスタントメッセージを切り詰めた場合に `true` です:メッセージに `stop_reason` がなく、コンテンツが単語の途中で終わる可能性があります。フィールドは正常に完了したメッセージには存在しません。Agent SDK v0.3.214 以降が必要です。1559`aborted` は、割り込みまたは中止がストリーム完了前にアシスタントメッセージを切り詰めた場合に `true` です:メッセージに `stop_reason` がなく、コンテンツが単語の途中で終わる可能性があります。フィールドは正常に完了したメッセージには存在しません。Agent SDK v0.3.214 以降が必要です。
1557 1560
1558Claude Code は、[`user_message_uuid`](#user_message_uuid) の条件下で、ターンの最初のアシスタントメッセージに `user_message_uuid` と `user_message_uuids` を設定します。Claude Code が再開されたターンを再実行する場合、再実行のアシスタントメッセージがそれらのフィールドを含む場合、[`resume_reason`](#resume_reason) も含みます。1561Claude Code は [`user_message_uuid`](#user_message_uuid) の条件下で、ターンの最初のアシスタントメッセージに `user_message_uuid` と `user_message_uuids` を設定します。Claude Code が再起動によって中断されたターンを再実行する場合、これらのフィールドを持つ再実行のアシスタントメッセージは [`resume_reason`](#resume_reason) も持ちます。
1559 1562
1560`timestamp` は、メッセージのコンテンツがそれを生成したプロセスで生成を完了した ISO 8601 時刻です。値はそのマシンのクロックから取得されるため、表示用にのみ使用し、メッセージを順序付けるために使用しないでください。1 つの API ターンは、同じ `message.id` を共有する複数のアシスタントメッセージを生成でき、それぞれが独自の `timestamp` を持ちます。フィールドが存在しない場合は、メッセージを受け取った時刻にフォールバックしてください。1563`timestamp` は、メッセージのコンテンツがそれを生成したプロセスで生成を完了した ISO 8601 時刻です。値はそのマシンのクロックから来ているため、表示用にのみ使用し、メッセージを順序付けないでください。1 つの API ターンは、同じ `message.id` を共有する複数のアシスタントメッセージを生成でき、それぞれが独自の `timestamp` を持ちます。フィールドが存在しない場合は、メッセージを受け取った時刻にフォールバックしてください。
1561 1564
1562`context_usage` は `/context` レポートの構造化コピーで、[`SDKContextUsage`](#sdkcontextusage) として型付けされており、Agent SDK v0.3.232 以降が必要です。プロンプトとして `/context` を送信すると、Claude Code はレポートをアシスタントメッセージとして配信し、その `message.content` がマークダウンテーブルを保持し、`context_usage` を同じメッセージに添付します。Claude Code はこのフィールドを他のアシスタントメッセージには設定せず、以前のバージョンは `/context` テーブルなしで配信するため、フィールドが存在する場合は分析から読み取り、存在しない場合はマークダウンテキストにフォールバックしてください。1565`context_usage` は `/context` レポートの構造化コピーで、[`SDKContextUsage`](#sdkcontextusage) として型付けされており、Agent SDK v0.3.232 以降が必要です。プロンプトとして `/context` を送信すると、Claude Code はレポートをアシスタントメッセージとして配信し、その `message.content` がマークダウンテーブルを保持し、`context_usage` を同じメッセージに添付します。Claude Code はこのフィールドを他のアシスタントメッセージに設定せず、以前のバージョンは `/context` テーブルなしで配信するため、フィールドが存在する場合は分析を読み取り、存在しない場合はマークダウンテキストにフォールバックしてください。
1563 1566
1564<h3 id="sdkusermessage">1567<h3 id="sdkusermessage">
1565 `SDKUserMessage`1568 `SDKUserMessage`
1584};1587};
1585```1588```
1586 1589
1587ユーザーがプロンプト UI に入力したのではなく貼り付けたコンテンツを送信するために `pasted_content` を設定します。1 つのペーストごとに 1 つのエントリ、各エントリは文字列またはコンテンツブロックの配列です。Claude Code は各エントリのテキストを入力されたテキストの後に順番に追加し、各ペーストを `<pasted_content>` タグでラップする場合があります。テキスト以外のブロックは無視されるため、画像とドキュメントは `message.content` で送信してください。Agent SDK v0.3.277 以降が必要です。1590ユーザーがプロンプト UI に貼り付けたコンテンツを送信するには `pasted_content` を設定します。入力ではなく貼り付けたコンテンツを、貼り付けごとに 1 つのエントリで、各エントリは文字列またはコンテンツブロックの配列です。Claude Code は各エントリのテキストを入力されたテキストの後に順番に追加し、各貼り付けを `<pasted_content>` タグでラップする場合があります。テキスト以外のブロックは無視されるため、画像とドキュメントは `message.content` で送信してください。Agent SDK v0.3.277 以降が必要です。
1588 1591
1589`shouldQuery` または `client_composed` を設定して、Claude Code がメッセージを処理する方法を変更します:1592Claude Code がメッセージを処理する方法を変更するには、`shouldQuery` または `client_composed` を設定します:
1590 1593
1591* `shouldQuery`:`false` に設定して、アシスタントターンをトリガーせずにメッセージをトランスクリプトに追加します。メッセージは保持され、ターンをトリガーする次のユーザーメッセージにマージされます。これを使用して、バンド外で実行したコマンドの出力などのコンテキストを注入し、モデル呼び出しを費やさないようにします。1594* `shouldQuery`:アシスタントターンをトリガーせずにメッセージをトランスクリプトに追加するには `false` に設定します。メッセージは保持され、ターンをトリガーする次のユーザーメッセージにマージされます。ターンをトリガーせずにコンテキスト(実行したコマンドの出力など)を挿入するために使用します。
1592* `client_composed`:`true` に設定して、Claude Code がメッセージテキストを書かれたとおりに配信するようにします。Claude Code は `@path` または [`@server:resource`](/docs/ja/mcp#use-mcp-resources) メンションを展開せず、`/` で始まるテキストをコマンドとして実行しません。[`verbatimPrompts`](#options) オプションがオンの場合、SDK はすべてのメッセージにフィールドを設定します。TypeScript Agent SDK v0.3.280 以降と Claude Code v2.1.248 以降が必要です。1595* `client_composed`:Claude Code がメッセージテキストを書かれたとおりに配信するには `true` に設定します。Claude Code は `@path` または [`@server:resource`](/docs/ja/mcp#use-mcp-resources) メンションを展開せず、`/` で始まるテキストをコマンドとして実行しません。[`verbatimPrompts`](#options) オプションがオンの場合、SDK はすべてのメッセージでフィールドを設定します。TypeScript Agent SDK v0.3.280 以降と Claude Code v2.1.248 以降が必要です。
1593 1596
1594`tool_result` ブロックを含むメッセージでは、`tool_use_result` はモデルに送信されたテキストではなく、ツールの構造化出力オブジェクトです。その形状は一致する `tool_use` ブロックで指定されたツールに依存するため、フィールドは `unknown` として型付けされます。組み込み形状は [ツール出力タイプ](#tool-output-types) の下にリストされています。1597`tool_result` ブロックを持つメッセージでは、`tool_use_result` はモデルに送信されたテキストではなく、ツールの構造化出力オブジェクトです。その形状は一致する `tool_use` ブロックで指定されたツールに依存するため、フィールドは `unknown` として型付けされます。組み込み形状は [ツール出力タイプ](#tool-output-types) の下にリストされています。
1595 1598
1596`Agent` ツールの場合、`tool_use_result` は [`AgentOutput`](#agent-2) です。`completed` 結果では、`content` は Claude Code がテキスト `tool_result` に追加するエージェント ID と使用状況トレーラーなしでサブエージェントのレポートを保持するため、そのテキストを解析する代わりに `tool_use_result` からレンダリングしてください。1599`Agent` ツールの場合、`tool_use_result` は [`AgentOutput`](#agent-2) です。`completed` 結果では、`content` はサブエージェントのレポートを保持し、Claude Code が `tool_result` テキストに追加するエージェント ID と使用状況トレーラーは含みません。そのため、そのテキストを解析する代わりに `tool_use_result` からレンダリングしてください。
1597 1600
1598結果に `resource_link` ブロックが含まれる MCP ツールの場合、`tool_use_result` は [`SDKMcpResourceLink`](#sdkmcpresourcelink) エントリの `resourceLinks` 配列を持つオブジェクトです。Claude は各リンクを `tool_result` ブロック内のテキスト行として受け取るため、そのテキストを解析する代わりに `resourceLinks` を読み取ってサーバーが返したファイルをレンダリングしてください。Claude Code は結果にリンクがない場合と結果がサブエージェントからの場合は `resourceLinks` を省略し、結果ごとに最大 50 個のリンクを保持し、配列が 64 KiB のシリアル化 JSON に達すると、リンクの追加を停止します。`resourceLinks` には Agent SDK v0.3.257 以降が必要です。1601結果に `resource_link` ブロックを含む MCP ツールの場合、`tool_use_result` は [`SDKMcpResourceLink`](#sdkmcpresourcelink) エントリの `resourceLinks` 配列を持つオブジェクトです。Claude は各リンクを `tool_result` ブロック内のテキスト行として受け取るため、そのテキストを解析する代わりに `resourceLinks` を読み取り、サーバーが返したファイルをレンダリングしてください。Claude Code は結果にリンクがない場合と、サブエージェントからの結果で `resourceLinks` を省略し、結果ごとに最大 50 リンクを保持し、配列が 64 KiB のシリアル化 JSON に達するとリンクの追加を停止します。`resourceLinks` には Agent SDK v0.3.257 以降が必要です。
1599 1602
1600ユーザーが入力したのではなく貼り付けた `message.content` のどの部分かを Claude Code に伝えるために `inline_pastes` を設定します。1 つの文字列をペーストごとに設定します。プロンプトテキストはユーザーが配置した場所に留まります。Claude Code は各リストされたペーストを `<pasted_content>` タグでラップする場合があります。ここで Claude は貼り付けられた素材をユーザー自身の言葉から区別できます。プロンプトの最後のテキストブロック内のペーストのみがラップされます。TypeScript Agent SDK v0.3.280 以降が必要です。1603ユーザーが `message.content` のどの部分を入力ではなく貼り付けたかを Claude Code に伝えるには `inline_pastes` を設定します。貼り付けごとに 1 つの文字列です。プロンプトテキストはユーザーが配置した場所に留まります。Claude Code は各リストされた貼り付けを `<pasted_content>` タグでラップする場合があります。プロンプトの最後のテキストブロック内の貼り付けのみがラップされます。TypeScript Agent SDK v0.3.280 以降が必要です。
1601 1604
1602<h3 id="sdkusermessagereplay">1605<h3 id="sdkusermessagereplay">
1603 `SDKUserMessageReplay`1606 `SDKUserMessageReplay`
1620};1623};
1621```1624```
1622 1625
1623セッション外から注入されたユーザーターン。その [`origin`](#sdkmessageorigin) の種類が `peer` または `channel` であるターンは、アクティブなターン中に配信されたか、セッションがアイドル状態の間に新しいターンを開始したかに関わらず、ストリームに再生として到達します。v2.1.207 より前では、セッションがアイドル状態の間に配信された注入ターンはストリームにメッセージを生成せず、トランスクリプトを再読み込みするときにのみ表示されました。1626セッション外から挿入されたユーザーターン([`origin`](#sdkmessageorigin) の種類が `peer` または `channel` であるもの)は、アクティブなターン中に配信されたか、セッションがアイドル状態の間に新しいターンを開始したかに関わらず、ストリームに再生として到達します。v2.1.207 より前では、セッションがアイドル状態の間に配信された挿入ターンはストリームにメッセージを生成せず、トランスクリプトを再読み込みするときにのみ表示されました。
1624 1627
1625<h3 id="sdkresultmessage">1628<h3 id="sdkresultmessage">
1626 `SDKResultMessage`1629 `SDKResultMessage`
1698 };1701 };
1699```1702```
1700 1703
1701結果の複数のフィールドは `subtype` を超えた診断詳細を含みます:1704結果の複数のフィールドは `subtype` を超えた診断詳細を持ちます:
1702 1705
1703* `api_error_status`:会話を終了した API エラーの HTTP ステータスコード。ターンが API エラーなしで終了した場合は存在しないか `null`。1706* `api_error_status`:会話を終了した API エラーの HTTP ステータスコード。API エラーなしでターンが終了した場合は存在しないか `null`
1704* `ttft_ms`:最初の完全なアシスタントメッセージが到着したときに測定された、ミリ秒単位の最初のトークンまでの時間。成功アームのみに存在します。1707* `ttft_ms`:最初の完全なアシスタントメッセージが到着したときに測定されたミリ秒単位の最初のトークンまでの時間。成功アームのみに存在
1705* `ttft_stream_ms`:最初の `message_start` ストリームイベントまでのミリ秒単位の時間。応答ストリームが開きます。`ttft_ms` より低い。2 つの間のギャップは最初のメッセージをストリーミングするのに費やされた時間です。成功アームのみに存在します。1708* `ttft_stream_ms`:最初の `message_start` ストリームイベントまでのミリ秒単位の時間。応答ストリームが開く時点です。`ttft_ms` より低い。2 つの間のギャップは最初のメッセージをストリーミングするのに費やされた時間です。成功アームのみに存在
1706* `user_message_uuid`:このターンが答えた送信したメッセージの `uuid`。どの結果がそれを含むかについては、[`user_message_uuid`](#user_message_uuid) を参照してください。1709* `user_message_uuid`:このターンが答えた送信したメッセージの `uuid`。どの結果がそれを持つかについては [`user_message_uuid`](#user_message_uuid) を参照してください
1707* `user_message_uuids`:Claude Code がこのターンで答えた送信したすべてのメッセージの `uuid`。[`user_message_uuids`](#user_message_uuids) を参照してください。1710* `user_message_uuids`:Claude Code がこのターンで答えたすべての送信したメッセージの `uuid`。[`user_message_uuids`](#user_message_uuids) を参照してください
1708* `resume_reason`:Claude Code が再開後にこのターンを再実行した理由。[`resume_reason`](#resume_reason) を参照してください。1711* `resume_reason`:再起動によって中断された後、Claude Code がこのターンを再実行した理由。両方のアームに存在し、そのような再実行でのみ存在します。[`resume_reason`](#resume_reason) を参照してください
1709* `local_command`:ターンがディスパッチしたコマンドの名前。`/compact` などのコマンドが完了したターンの成功結果で、エージェントループに入らない場合。名前は小文字の文字とアンダースコアに折りたたまれるため、`/reload-plugins` は `reload_plugins` を報告します。MCP サーバーが提供するコマンド、および組み込み `/mcp` は `mcp` を報告します。自分で定義したコマンドは `custom` を報告します。引数は含まれません。エージェントループに入ったすべてのターンと、コマンドを実行しなかった送信では不在です。Agent SDK v0.3.268 以降が必要です。1712* `local_command`:ターンが `/compact` などのコマンドを完了してエージェントループに入らずに実行したターンの成功結果で、ターンがディスパッチしたコマンドの名前。名前は小文字とアンダースコアに折りたたまれるため、`/reload-plugins` は `reload_plugins` を報告します。MCP サーバーが提供するコマンドと組み込み `/mcp` は `mcp` を報告します。自分で定義したコマンドは `custom` を報告します。引数は含まれません。エージェントループに入ったすべてのターンと、コマンドを実行しなかった送信では存在しません。Agent SDK v0.3.268 以降が必要です
1710* `request_sent_wall_ms`:Claude Code が API リクエストをディスパッチした時刻のエポックミリ秒。サーバー側のタイムスタンプとの結合用です。[`user_message_uuid`](#user_message_uuid) と一緒にのみ存在し、`is_error` が false である成功結果で、ターンが API リクエストを送信した場合のみです。1713* `request_sent_wall_ms`:Claude Code が API リクエストをディスパッチしたエポックミリ秒。サーバー側のタイムスタンプに対する結合用です。[`user_message_uuid`](#user_message_uuid) と一緒にのみ存在し、`is_error` が false である成功結果で、ターンが API リクエストを送信した場合のみ
1711* `first_content_frame_ms`:最初の `content_block_start` または `content_block_delta` ストリームイベントまでのミリ秒単位の時間。思考ブロックをコンテンツとしてカウントします。成功アームのみに存在し、`is_error` が false の場合。Agent SDK v0.3.260 以降が必要です。1714* `first_content_frame_ms`:最初の `content_block_start` または `content_block_delta` ストリームイベントまでのミリ秒単位の時間。思考ブロックをコンテンツとしてカウントします。成功アームのみに存在し、`is_error` が false の場合。Agent SDK v0.3.260 以降が必要です
1712* `first_stream_post_ms`、`first_stream_post_ack_ms`、`first_stream_post_wall_ms`:ターンの最初のストリームイベントをアップロードするためのタイミング。Claude Code はそれらを claude.ai にストリーミングするセッション([クラウドセッション](/docs/ja/claude-code-on-the-web) など)でのみ記録し、`query()` が生成する結果はそれらを含みません。Agent SDK v0.3.260 以降が必要です。1715* `first_stream_post_ms`、`first_stream_post_ack_ms`、`first_stream_post_wall_ms`:ターンの最初のストリームイベントをアップロードするためのタイミング。Claude Code は [クラウドセッション](/docs/ja/claude-code-on-the-web) などの claude.ai にストリーミングするセッションでのみ記録し、`query()` が生成する結果はそれらを持ちません。Agent SDK v0.3.260 以降が必要です
1713* `usage`:メインエージェントループのみ。サブエージェントと補助モデル呼び出しを除外し、ストリーミング入力セッションではターンごとです。トークン/コスト会計には `modelUsage` を優先してください。1716* `usage`:メインエージェントループのみ。サブエージェントと補助モデル呼び出しを除外し、ストリーミング入力セッションではターンごとです。トークン/コスト会計には `modelUsage` を優先してください
1714* `modelUsage`:この `query()` 呼び出し中にクエリパイプラインを通じて行われたすべてのモデル呼び出しのモデルごとの合計。メインループ、サブエージェント、圧縮や Workflow エージェントなどの内部呼び出しを含みます。権限分類器やトークンカウントリクエストなど、そのパイプラインの外のヘルパー呼び出しは除外されます。セッションを再開する呼び出しは、[セッションの以前の呼び出しから復元されたモデルごとの合計](/docs/ja/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) もカウントします。ストリーミング入力セッションでは、合計はターン全体で累積されるため、結果全体で合計を読み取り、結果全体で合計しないでください。[ストリーミング入力モードでコストを追跡する](/docs/ja/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) でリセットを参照し、[セッションクラッシュ後に合計を復元する](/docs/ja/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) でゼロ化された結果を参照してください。1717* `modelUsage`:この `query()` 呼び出し中にクエリパイプラインを通じて行われたすべてのモデル呼び出しのモデルごとの合計。メインループ、サブエージェント、圧縮や Workflow エージェントなどの内部呼び出しを含みます。権限分類器やトークンカウントリクエストなどのパイプライン外のヘルパー呼び出しは除外されます。セッションを再開する呼び出しは、[セッションの以前の呼び出しから復元されたモデルごとの合計](/docs/ja/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) もカウントします。ストリーミング入力セッションでは、合計はターン全体で累積されるため、結果全体を読み取り、結果全体で合計しないでください。リセットについては [ストリーミング入力モードでコストを追跡](/docs/ja/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) を、ゼロ化された結果については [セッションクラッシュ後に合計を復元](/docs/ja/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) を参照してください
1715* `total_cost_usd`:USD での累積推定コスト。`modelUsage` と同じ呼び出しをカバーし、同じポイントでリセットされます。セッションを再開する呼び出しは、[セッションの以前の呼び出しから復元された合計](/docs/ja/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) もカウントします。これは推定値であり、請求書ではありません。精度に関する注意事項については、[コストと使用状況を追跡する](/docs/ja/agent-sdk/cost-tracking) を参照してください。1718* `total_cost_usd`:USD での累積推定コスト。`modelUsage` と同じ呼び出しをカバーし、同じポイントでリセットされます。セッションを再開する呼び出しは、[セッションの以前の呼び出しから復元された合計](/docs/ja/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) もカウントします。これは推定値であり、請求書ではありません。精度に関する注意事項については [コストと使用状況を追跡](/docs/ja/agent-sdk/cost-tracking) を参照してください
1716* `queued_turn_count`:Claude Code が結果を生成したときに、`origin: { kind: "human" }` で送信したメッセージの数がまだ待機中です。`0` と不在フィールドが何を示すかについては、[`queued_turn_count`](#queued_turn_count) を参照してください。1719* `queued_turn_count`:Claude Code が結果を生成したときに、`origin: { kind: "human" }` で送信した待機中のメッセージの数。`0` と存在しないフィールドが何を示すかについては [`queued_turn_count`](#queued_turn_count) を参照してください
1717* `result_index`:このターンの配信順序でこの結果がどこに落ちるか。すべての結果のプロセスが書き込む 0 からカウント。書き込みが失敗した結果でもその番号を消費するため、シーケンスのギャップは結果が失われたことを意味します。Agent SDK v0.3.268 以降が必要です。1720* `result_index`:このプロセスが書き込むすべての結果全体で 0 からカウントして、実行の配信順序でこの結果がどこに落ちるか。両方のアームに存在します。書き込みが失敗した結果でも番号を消費するため、シーケンスのギャップは結果が失われたことを意味します。Agent SDK v0.3.268 以降が必要です
1718* `startup_failure_reason`:Claude Code が既知のスタートアップ失敗で終了する前に書き込む `error_during_execution` 結果で、Claude Code が開始を拒否した理由。値と、どの失敗がそれを含むかについては、[`startup_failure_reason`](#startup_failure_reason) を参照してください。Agent SDK v0.3.274 以降が必要です。1721* `startup_failure_reason`:Claude Code が既知のスタートアップ失敗で終了する前に書き込む `error_during_execution` 結果で、Claude Code が起動を拒否した理由。値と失敗がそれを持つかについては [`startup_failure_reason`](#startup_failure_reason) を参照してください。Agent SDK v0.3.274 以降が必要です
1719* `terminal_reason`:ループが終了した理由。`"completed"`、`"max_turns"`、`"tool_deferred"`、`"aborted_streaming"`、`"aborted_tools"`、`"hook_stopped"`、`"stop_hook_prevented"`、`"background_requested"`、`"blocking_limit"`、`"rapid_refill_breaker"`、`"prompt_too_long"`、`"image_error"`、`"model_error"`、`"api_error"`、`"malformed_tool_use_exhausted"`、`"budget_exhausted"`、`"structured_output_retry_exhausted"`、`"tool_deferred_unavailable"`、または `"turn_setup_failed"` のいずれかです。1722* `terminal_reason`:ループが終了した理由。`"completed"`、`"max_turns"`、`"tool_deferred"`、`"aborted_streaming"`、`"aborted_tools"`、`"hook_stopped"`、`"stop_hook_prevented"`、`"background_requested"`、`"blocking_limit"`、`"rapid_refill_breaker"`、`"prompt_too_long"`、`"image_error"`、`"model_error"`、`"api_error"`、`"malformed_tool_use_exhausted"`、`"budget_exhausted"`、`"structured_output_retry_exhausted"`、`"tool_deferred_unavailable"`、または `"turn_setup_failed"` のいずれか
1720* `fast_mode_state`:`"on"`、`"off"`、または `"cooldown"` のいずれかです。1723* `fast_mode_state`:`"on"`、`"off"`、または `"cooldown"` のいずれか
1721* `fast_mode_disabled_reason`:[高速モード](/docs/ja/fast-mode) が今利用できない理由。高速モードをブロックするものがない場合は不在ですが、リクエストは標準速度で実行される場合があります。高速モードレート制限後のクールダウン中に、Claude Code は `fast_mode_state: "cooldown"` を理由コードなしで報告し、クールダウンが期限切れになると高速モードを再度有効にします。Claude Code v2.1.219 以降が必要です。1724* `fast_mode_disabled_reason`:[高速モード](/docs/ja/fast-mode) が今利用できない理由。高速モードをブロックするものがない場合は存在しませんが、リクエストは標準速度で実行される可能性があります。高速モードレート制限後のクールダウン中、Claude Code は `fast_mode_state: "cooldown"` を報告し、理由コードなしで、クールダウンが期限切れになると高速モードを再度有効にします。Claude Code v2.1.219 以降が必要です
1722 1725
1723理由コードを使用して、独自の UI で高速モードがオフである理由を説明し、利用可能性を再導出する代わりに説明してください。各コードは高速モードをブロックしたチェックに名前を付けます:1726理由コードを使用して、独自の UI で高速モードがオフの理由を説明し、可用性を再導出する代わりに説明してください。各コードは高速モードをブロックしたチェックに名前を付けます:
1724 1727
1725| 理由コード | 意味 |1728| 理由コード | 意味 |
1726| - | - |1729| - | - |
1727| `free` | アカウントが高速モードに必要な有料サブスクリプションまたは使用クレジットを持っていない |1730| `free` | アカウントが高速モードに必要な有料サブスクリプションまたは使用クレジットを持っていない |
1728| `preference` | 組織が高速モードを無効にしている |1731| `preference` | 組織が高速モードを無効にしている |
1729| `extra_usage_disabled` | 使用クレジットがアカウントに対してオフになっている |1732| `extra_usage_disabled` | 使用クレジットがアカウントに対してオフになっている |
1730| `network_error` | [利用可能性チェック](/docs/ja/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) が `api.anthropic.com` に到達できなかった |1733| `network_error` | [可用性チェック](/docs/ja/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) が `api.anthropic.com` に到達できなかった |
1731| `unknown` | Claude Code が利用可能性を判断できなかった |1734| `unknown` | Claude Code が可用性を判断できなかった |
1732| `not_first_party` | セッションが Anthropic API 以外のプロバイダーを使用している |1735| `not_first_party` | セッションが Anthropic API 以外のプロバイダーを使用している |
1733| `disabled_by_env` | [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/ja/env-vars) が設定されている |1736| `disabled_by_env` | [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/ja/env-vars) が設定されている |
1734| `model_not_allowed` | 高速モード Opus モデルが組織の [`availableModels`](/docs/ja/model-config#restrict-model-selection) 許可リストにない |1737| `model_not_allowed` | 高速モード Opus モデルが組織の [`availableModels`](/docs/ja/model-config#restrict-model-selection) 許可リストにない |
1735| `sdk_opt_in_required` | セッションが高速モードにオプトインしていない:[`settings`](#options) オプションまたは [`applyFlagSettings()`](#applyflagsettings) を通じて `fastMode: true` を渡す |1738| `sdk_opt_in_required` | セッションが高速モードにオプトインしていない:[`settings`](#options) オプションまたは [`applyFlagSettings()`](#applyflagsettings) を通じて `fastMode: true` を渡す |
1736| `pending` | 利用可能性チェックがまだ完了していない |1739| `pending` | 可用性チェックがまだ完了していない |
1737 1740
1738同じフィールドペアが [`SDKSystemMessage`](#sdksystemmessage) と [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse) に表示されるため、最初のターンの前に高速モード状態を読み取ることができます。1741同じフィールドペアが [`SDKSystemMessage`](#sdksystemmessage) と [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse) に表示されるため、最初のターンの前に高速モード状態を読み取ることができます。
1739 1742
1740`origin` フィールドは、この結果をトリガーしたユーザーメッセージの [`SDKMessageOrigin`](#sdkmessageorigin) を転送します。SDK が完了したバックグラウンドタスクなどの合成フォローアップターンを注入する場合、結果の `SDKResultMessage` は `origin: { kind: "task-notification" }` を含みます。トリガーが発火し、サーバーが検証したメッセージが他のセッションから到着するルーチンは、このタイプも含まれ、各メッセージは [タスク通知サブタイプ](#task-notification-subkinds) で説明されている `subkind` を含みます。`kind` をチェックして、プロンプトに答える結果を注入されたフォローアップから区別し、ルーティングまたは抑制の前に区別してください。アプリケーションが [スケジュール実行を宣言](#declare-a-scheduled-run) する場合、それらの結果も `kind: "task-notification"` を含むため、`kind` だけで抑制しないでください。1743`origin` フィールドは、この結果をトリガーしたユーザーメッセージの [`SDKMessageOrigin`](#sdkmessageorigin) を転送します。SDK が完了したバックグラウンドタスクなどの合成フォローアップターンを挿入する場合、結果の `SDKResultMessage` は `origin: { kind: "task-notification" }` を持ちます。トリガーが発火し、サーバーが検証したメッセージが他のセッションから到着する場合、各ルーチンはこの種を持ち、[タスク通知サブキンド](#task-notification-subkinds) で説明されている `subkind` を持ちます。`kind` をチェックして、プロンプトに答える結果と挿入されたフォローアップを区別してから、ルーティングまたは抑制してください。アプリケーションが [スケジュール実行を宣言](#declare-a-scheduled-run) する場合、それらの結果も `kind: "task-notification"` を持つため、`kind` だけで抑制しないでください。
1741 1744
1742複数のバックグラウンドタスク完了が一緒にキューに入れられている場合、Claude Code は 1 つのターンで 1 つのターンずつではなく、それらに答えることができます。各完了は依然としてこのオリジンを持つ独自の結果を生成します。Claude Code が一緒に答える完了のうち、最後のもの以外はすべて、順番に空の結果を `num_turns: 0` で生成し、最後のものの結果はそれらすべてに答えるターンを含みます。1745複数のバックグラウンドタスク完了が一緒にキューに入れられている場合、Claude Code は 1 つのターンで 1 つのターンずつではなく、それらに答えることができます。各完了は依然としてこのオリジンを持つ独自の結果を生成します。Claude Code が一緒に答える完了のすべてのうち最後のもの以外は、順番に空の結果を生成し、`num_turns: 0` で、最後のものの結果はそれらすべてに答えるターンを持ちます。
1743 1746
1744フィールドはスタートアップエラーなど、ユーザーターンの前に発行された結果では不在です。1747フィールドは、スタートアップエラーなど、ユーザーターンの前に発行された結果では存在しません。
1745 1748
1746`PreToolUse` フックが `permissionDecision: "defer"` を返す場合、結果は `stop_reason: "tool_deferred"` を持ち、`deferred_tool_use` は保留中のツールの `id`、`name`、`input` を含みます。このフィールドを読み取って、独自の UI でリクエストをサーフェスし、同じ `session_id` で再開して続行します。[ツール呼び出しを後で延期する](/docs/ja/hooks#defer-a-tool-call-for-later) で完全なラウンドトリップを参照してください。1749`PreToolUse` フックが `permissionDecision: "defer"` を返す場合、結果は `stop_reason: "tool_deferred"` を持ち、`deferred_tool_use` は保留中のツールの `id`、`name`、`input` を持ちます。このフィールドを読み取り、独自の UI でリクエストをサーフェスしてから、同じ `session_id` で再開して続行してください。完全なラウンドトリップについては [ツール呼び出しを後で延期](/docs/ja/hooks#defer-a-tool-call-for-later) を参照してください。
1747 1750
1748<h4 id="user_message_uuid">1751<h4 id="user_message_uuid">
1749 `user_message_uuid`1752 `user_message_uuid`
1750</h4>1753</h4>
1751 1754
1752ターンが答えている [`SDKUserMessage`](#sdkusermessage) の `uuid`。送信したメッセージに Claude Code の返信を一致させることができるように反映されます。Claude Code は、メッセージに 1 つを設定した場合にのみ `uuid` を反映します。フィールドは `SDKUserMessage` では省略可能であり、`query()` に渡された文字列プロンプトは何も含みません。1755ターンが答えている [`SDKUserMessage`](#sdkusermessage) の `uuid`。送信したメッセージに Claude Code の返信をマッチングできるように、エコーバックされます。Claude Code は、メッセージに `uuid` を設定した場合にのみ `uuid` をエコーバックします。フィールドは `SDKUserMessage` でオプションであり、`query()` に渡された文字列プロンプトは何も持ちません。
1753 1756
1754ターンが答えるメッセージは、ターンの開始方法によって異なります:1757ターンが答えるメッセージは、ターンの開始方法に依存します:
1755 1758
1756* **送信した通常のメッセージ**。つまり、`isSynthetic: true` なし:ターンはその実行全体でそのメッセージに答えます。複数のメッセージを一緒に送信すると、Claude Code はそれらを 1 つのターンにマージでき、フィールドはマージされたメッセージの最後のメッセージの `uuid` のみを含みます。マージされたメッセージのいずれかへの返信を一致させるには、[`user_message_uuids`](#user_message_uuids) を使用します。1759* **送信した通常のメッセージ**(`isSynthetic: true` なし):ターンはその実行全体でそのメッセージに答えます。複数のメッセージを一緒に送信すると、Claude Code はそれらを 1 つのターンにマージでき、フィールドは最後のメッセージの `uuid` のみを持ちます。マージされたメッセージのいずれかに返信をマッチングするには、[`user_message_uuids`](#user_message_uuids) を使用してください
1757* **`isSynthetic: true` で送信したメッセージ**:ターンは最初そのメッセージに答えます。Claude Code がツール呼び出し間でメッセージを取得する場合、ターンはその時点から取得されたメッセージに答えます。合成メッセージの `uuid` を反映するには Agent SDK v0.3.265 以降が必要です。以前のバージョンは合成ターンで何も反映しません。1760* **`isSynthetic: true` で送信したメッセージ**:ターンは最初にそのメッセージに答えます。Claude Code がツール呼び出し間であなたの通常のメッセージを拾う場合、ターンはその時点から拾われたメッセージに答えます。合成メッセージの `uuid` をエコーバックするには Agent SDK v0.3.265 以降が必要です。以前のバージョンは合成ターンで何もエコーバックしません
1758* **Claude Code が [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ja/env-vars) の下で中断されたターンを再実行するために生成するプロンプト**:中断されたターンの最後のプロンプトが送信した通常のメッセージの場合、ターンを開いたか Claude Code がターン中に取得したかに関わらず、再実行は最初そのメッセージに答えます。[`resume_reason`](#resume_reason) は再実行のフレームを中断された試みから区別します。最後のプロンプトが送信した通常のメッセージでない場合、再実行は最初はメッセージに答えません。Claude Code がツール呼び出し間でメッセージを取得する場合、ターンはその時点からそのメッセージに答えます。中断されたターンのプロンプトを反映するには Agent SDK v0.3.268 以降が必要です。1761* **Claude Code が [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ja/env-vars) の下で中断されたターンを再実行するために生成するプロンプト**:中断されたターンの最後のプロンプトが送信した通常のメッセージである場合、ターンを開いたか、Claude Code がターン中に拾ったかに関わらず、再実行は最初にそのメッセージに答えます。[`resume_reason`](#resume_reason) は中断された試みからの再実行のフレームを示します。最後のプロンプトがあなたの通常のメッセージでない場合、再実行は最初にあなたのメッセージに答えません。Claude Code がツール呼び出し間であなたの通常のメッセージを拾う場合、ターンはその時点からそのメッセージに答えます。中断されたターンのプロンプトをエコーバックするには Agent SDK v0.3.268 以降が必要です
1759* **Claude Code が自身で生成したその他のプロンプト**:ターンは最初はメッセージに答えず、フレームは反映を含みません。Claude Code がツール呼び出し間でメッセージを取得する場合、ターンはその時点からそのメッセージに答えます。ピックアップ反映には Agent SDK v0.3.265 以降が必要です。以前のバージョンはこれらのターンで何も反映しません。1762* **Claude Code が自分で生成した他のプロンプト**:ターンは最初にあなたのメッセージに答えず、そのフレームはエコーを持ちません。Claude Code がツール呼び出し間であなたの通常のメッセージを拾う場合、ターンはその時点からそのメッセージに答えます。ピックアップエコーには Agent SDK v0.3.265 以降が必要です。以前のバージョンはこれらのターンで何もエコーバックしません
1760 1763
1761Claude Code は、3 種類のフレームで答えられたメッセージの `uuid` を反映します:1764Claude Code は 3 種類のフレームで答えたメッセージの `uuid` をエコーバックします:
1762 1765
1763* **結果**:メッセージに答えたターンのすべての結果。Agent SDK v0.3.265 以降のすべてのそのような結果がそれを含みます。v0.3.265 より前では、通常のメッセージが開始したターンの成功結果は、ターンが API リクエストを送信しなかったか、延期されたツール呼び出しで終了した場合、それを欠いていました。v0.3.246 より前では、エラー結果も欠いていました。v0.3.216 より前では、すべての結果がそうでした。1766* **結果**:送信したメッセージに答えたターンのすべての結果。Agent SDK v0.3.265 以降ではすべてのそのような結果がそれを持ちます。v0.3.265 より前では、通常のメッセージが開始したターンの成功結果は、ターンが API リクエストを送信しなかったか、延期されたツール呼び出しで終了した場合、それを欠いていました。v0.3.246 より前では、エラー結果も欠いていました。v0.3.216 より前ではすべての結果がそうでした
1764* **ターンの最初の返信**:最初の [アシスタントメッセージ](#sdkassistantmessage)、または `includePartialMessages` を使用して、最初の [ストリームイベント](#sdkpartialassistantmessage)。その `event.type` は `ping` ではないため、結果が到着する前に返信をバインドできます。ターンが何もストリーミングしない場合、Claude Code は代わりに最初のアシスタントメッセージに設定します。最初の返信反映には Agent SDK v0.3.246 以降が必要です。ターンが答えているメッセージが途中で変わる場合、変更後の最初の返信は Agent SDK v0.3.265 以降でもフィールドを含みます。以前のバージョンはターンごとに 1 つの返信フレームに設定します。1767* **ターンの最初の返信**:最初の [アシスタントメッセージ](#sdkassistantmessage)、または `includePartialMessages` で最初の [ストリームイベント](#sdkpartialassistantmessage)。`event.type` が `ping` でない場合、結果が到着する前に返信をバインドできます。ターンが何もストリーミングしない場合、Claude Code は代わりに最初のアシスタントメッセージに設定します。最初の返信エコーには Agent SDK v0.3.246 以降が必要です。ターンが答えているメッセージが途中で変わる場合、変更後の最初の返信はフィールドも持ちます。Agent SDK v0.3.265 以降。以前のバージョンはターンごとに 1 つの返信フレームに設定します
1765* **ターンのすべての [`thinking_tokens`](#sdkthinkingtokensmessage) フレーム**:ターンの最初の返信を待たずに、送信したメッセージに思考の進行を属性付けることができます。Agent SDK v0.3.260 以降が必要です。1768* **ターンのすべての [`thinking_tokens`](#sdkthinkingtokensmessage) フレーム**:ターンの最初の返信を待たずに、送信したメッセージに思考の進行を属性付けできます。Agent SDK v0.3.260 以降が必要です
1766 1769
1767Claude Code はこれらの場合にフィールドを省略します:1770Claude Code はこれらの場合にフィールドを省略します:
1768 1771
1769* 最初の返信以外の返信フレーム1772* 最初の返信以外の返信フレーム
1770* サブエージェントフレーム1773* サブエージェントフレーム
1771* `uuid` を持つメッセージに答えないターン:ターンが `uuid` なしで送信したメッセージに答えたか、Claude Code がターンを開始し、`uuid` を持つ通常のメッセージを取得しなかった1774* あなたのメッセージに答えないターン、または `uuid` なしで送信したメッセージに答えるターン
1772* 送信したメッセージに答えない結果。クラッシュしたワーカープロセス後のゼロ化された結果など1775* 送信したメッセージに答えない結果。クラッシュしたワーカープロセス後のゼロ化された結果など
1773 1776
1774<h4 id="user_message_uuids">1777<h4 id="user_message_uuids">
1775 `user_message_uuids`1778 `user_message_uuids`
1776</h4>1779</h4>
1777 1780
1778Claude Code がこのターンで答えた送信したすべてのメッセージの `uuid`。複数のメッセージを一緒に送信すると、Claude Code はそれらを 1 つのターンにマージでき、`user_message_uuid` はそれらの最後のメッセージのみに名前を付けます。マージされたメッセージのいずれかへの返信を一致させるには、このリストのどこかでそのメッセージの `uuid` を探します。Agent SDK v0.3.259 以降が必要です。1781Claude Code がこのターンで答えたすべての送信したメッセージの `uuid`。複数のメッセージを一緒に送信すると、Claude Code はそれらを 1 つのターンにマージでき、`user_message_uuid` はそれらの最後のものだけに名前を付けます。マージされたメッセージのいずれかに返信をマッチングするには、このリストのどこかでそのメッセージの `uuid` を探してください。Agent SDK v0.3.259 以降が必要です。
1779 1782
1780Claude Code は、そのフィールドを含む各返信フレームと結果で、`user_message_uuid` と一緒にリストを設定します。答えられたメッセージの `uuid` を反映するターンフレームの完全なセットと、各フレームが必要とするバージョンについては、[`user_message_uuid`](#user_message_uuid) を参照してください。リストは常に `user_message_uuid` を含み、最大 64 エントリを保持します。1783Claude Code は、そのフィールドを持つ各返信フレームと結果で、`user_message_uuid` と一緒にリストを設定します。答えたメッセージの `uuid` をエコーバックするターンフレームの完全なセットと、各フレームが必要とするバージョンについては、[`user_message_uuid`](#user_message_uuid) を参照してください。リストは常に `user_message_uuid` を含み、最大 64 エントリを保持します。
1781 1784
1782Claude Code がターンの実行中に送信した通常のメッセージを取得する場合、そのメッセージの `uuid` を結果のリストに追加します。1785Claude Code がターンの実行中に送信した通常のメッセージを拾う場合、そのメッセージの `uuid` を結果のリストに追加します。
1783 1786
1784最初の返信または結果が `user_message_uuid` をリストなしで含む場合、それは以前の Claude Code バージョンから来たため、単一フィールドにフォールバックしてください。1787最初の返信または結果が `user_message_uuid` をリストなしで持つ場合、それは以前の Claude Code バージョンから来ているため、単一フィールドにフォールバックしてください。
1785 1788
1786<h4 id="resume_reason">1789<h4 id="resume_reason">
1787 `resume_reason`1790 `resume_reason`
1788</h4>1791</h4>
1789 1792
1790Claude Code が再開後にこのターンを再実行した理由。Claude Code は、[`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ja/env-vars) の下で再実行したターンにこのフィールドを設定するため、再実行の返信と結果を中断された試みから区別できます。Agent SDK v0.3.268 以降が必要です。1793再起動後、Claude Code がこのターンを再実行した理由。Claude Code は [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ja/env-vars) の下で再実行したターンでこのフィールドを設定するため、中断された試みから再実行の返信と結果を区別できます。Agent SDK v0.3.268 以降が必要です。
1791 1794
1792Claude Code は、2 種類のフレームにフィールドを設定します:1795Claude Code は 2 種類のフレームでフィールドを設定します:
1793 1796
1794* **再実行の結果**:成功アームとエラーアーム両方で、結果が `user_message_uuid` を含むかどうかに関わらず。1797* **再実行の結果**:成功アームとエラーアーム両方で、結果が `user_message_uuid` を持つかどうかに関わらず
1795* **再実行の返信フレーム**:[`user_message_uuid`](#user_message_uuid) を含むもの。1798* **再実行の返信フレーム**:[`user_message_uuid`](#user_message_uuid) を持つもの
1796 1799
1797値は、ターンが再実行された理由に名前を付ける短い小文字トークンです。例えば `interrupted_turn`。フィールドは他のすべてのターンでは不在です。1800値は、ターンが再実行された理由を名前付けする短い小文字トークン。例えば `interrupted_turn`。フィールドは他のすべてのターンで存在しません。
1798 1801
1799<h4 id="queued_turn_count">1802<h4 id="queued_turn_count">
1800 `queued_turn_count`1803 `queued_turn_count`
1801</h4>1804</h4>
1802 1805
1803Claude Code が結果を生成したときに、[`origin: { kind: "human" }`](#sdkmessageorigin) で送信したメッセージの数がコマンドキューで待機中です。Agent SDK v0.3.242 以降が必要です。1806Claude Code が結果を生成したときに、[`origin: { kind: "human" }`](#sdkmessageorigin) で送信した待機中のメッセージの数。Agent SDK v0.3.242 以降が必要です。
1804 1807
1805`0` と不在フィールドが何を示すか:1808`0` と存在しないフィールドが何を示すか:
1806 1809
1807* **`0`**:Claude Code は、その `origin` なしで送信したメッセージをカウントせず、タスク通知もカウントしないため、ターンが続く可能性があります。1810* **`0`**:Claude Code はそのオリジンなしで送信したメッセージをカウントせず、タスク通知もカウントしないため、ターンは依然として続く可能性があります
1808* **不在**:Claude Code がクラッシュまたは致命的なスタートアップエラーの後に発行する最終結果は、フィールドを省略し、[ゼロ化された合計を含む場合があります](/docs/ja/agent-sdk/cost-tracking#recover-totals-after-a-session-crash)。1811* **存在しない**:Claude Code がクラッシュまたは致命的なスタートアップエラーの後に発行する最終結果はフィールドを省略し、[ゼロ化された合計を持つ可能性があります](/docs/ja/agent-sdk/cost-tracking#recover-totals-after-a-session-crash)
1809 1812
1810<h4 id="startup_failure_reason">1813<h4 id="startup_failure_reason">
1811 `startup_failure_reason`1814 `startup_failure_reason`
1812</h4>1815</h4>
1813 1816
1814Claude Code が開始を拒否した理由。アプリケーションが再試行の代わりに修正を提供できるようにします。Claude Code は、既知のスタートアップ失敗で終了する前に書き込む `error_during_execution` 結果に設定します。その結果はゼロ化された合計を含み、その `errors` 配列は stderr と同じテキストを含みます。フィールドは他のすべての結果では不在です。Agent SDK v0.3.274 以降が必要です。1817Claude Code が起動を拒否した理由。アプリケーションが再試行の代わりに修正を提供できるようにします。Claude Code は既知のスタートアップ失敗で終了する前に書き込む `error_during_execution` 結果でそれを設定します。その結果はゼロ化された合計を持ち、その `errors` 配列は stderr と同じテキストを持ちます。フィールドは他のすべての結果では存在しません。Agent SDK v0.3.274 以降が必要です。
1815 1818
1816[`env`](#options) で `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` を `1` に設定して、すべての `SDKStartupFailureReason` 値に対してこの結果を受け取ります。その変数がない場合、Claude Code は次の失敗に対してのみ結果を書き込み、残りは stderr 出力、ゼロ以外の終了、およびメッセージ結果なしで終了します:1819[`env`](#options) で `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` を `1` に設定して、すべての `SDKStartupFailureReason` 値に対してこの結果を受け取ります。その変数がない場合、Claude Code はこれらの失敗に対してのみ結果を書き込み、残りは stderr 出力、ゼロ以外の終了、結果メッセージなしで終了します:
1817 1820
1818* Claude Code が [ワークツリーにセッションを返すことができない](/docs/ja/worktrees#the-session-resumes-outside-its-worktree) ため停止する再開。`worktree_unverified` または `worktree_resume_refused`。そのセクションは、どのエラーがどの値を含むかを示します。1821* Claude Code が [ワークツリーにセッションを返すことができない](/docs/ja/worktrees#the-session-resumes-outside-its-worktree) ため停止する再開。`worktree_unverified` または `worktree_resume_refused`。そのセクションはどのエラーがどの値を持つかを示します
1819* バックグラウンドセッションが保持する会話の拒否された [`continue`](#options)。`session_held_by_background`。そのような会話の拒否された [`resume`](#options) の場合、Claude Code は変数が設定されている場合にのみ結果を書き込みます。1822* バックグラウンドセッションが保持する会話の拒否された [`continue`](#options)。`session_held_by_background`。そのような会話の拒否された [`resume`](#options) については、Claude Code は変数が設定されている場合にのみ結果を書き込みます
1820 1823
1821```typescript theme={null}1824```typescript theme={null}
1822type SDKStartupFailureReason =1825type SDKStartupFailureReason =
1823 | "org_pin_api_key_conflict"1826 | "org_pin_api_key_conflict"
1827 | "provider_not_allowed"
1824 | "org_verify_failed"1828 | "org_verify_failed"
1825 | "org_pin_mismatch"1829 | "org_pin_mismatch"
1826 | "managed_settings_invalid"1830 | "managed_settings_invalid"
1843| 値 | セッションを停止したもの |1847| 値 | セッションを停止したもの |
1844| :- | :- |1848| :- | :- |
1845| `org_pin_api_key_conflict` | 管理設定が [ファーストパーティまたはクラウドゲートウェイサインイン](/docs/ja/authentication#restrict-login-to-your-organization) を必要とし、Anthropic API キー、認証トークン、または `apiKeyHelper` が代わりに設定されている |1849| `org_pin_api_key_conflict` | 管理設定が [ファーストパーティまたはクラウドゲートウェイサインイン](/docs/ja/authentication#restrict-login-to-your-organization) を必要とし、Anthropic API キー、認証トークン、または `apiKeyHelper` が代わりに設定されている |
1846| `org_verify_failed` | サインインの組織をピンに対して検証できなかった。例えば、ネットワーク障害または失効したトークンのため |1850| `provider_not_allowed` | 管理設定が [このマシンが使用できる API プロバイダーをリストアップ](/docs/ja/settings-reference#allowedproviders) し、セッションがリストされていないプロバイダーまたは設定がピンしていないエンドポイント用に設定されている。Claude Code v2.1.285 以降が必要です |
1851| `org_verify_failed` | サインインの組織をピンに対して検証できなかった。例えば、ネットワーク障害またはトークンの失効のため |
1847| `org_pin_mismatch` | サインインがピンが許可しない組織に属している |1852| `org_pin_mismatch` | サインインがピンが許可しない組織に属している |
1848| `managed_settings_invalid` | 管理ポリシー設定を読み取ることができず、ピンが組織に名前を付けず、または [管理モデル制限](/docs/ja/errors#managed-settings-block-the-default-model) がデフォルトオプションに許可されたモデルを残していない |1853| `managed_settings_invalid` | 管理ポリシー設定を読み取ることができず、ピンが組織を指定せず、または [管理モデル制限](/docs/ja/errors#managed-settings-block-the-default-model) がデフォルトオプション用に許可されたモデルを残していない |
1849| `remote_settings_required_unavailable` | 組織が必要とする管理設定を読み込むことができなかった |1854| `remote_settings_required_unavailable` | 組織が必要とする管理設定を読み込むことができなかった |
1850| `gateway_signin_required` | [クラウドゲートウェイ](/docs/ja/claude-apps-gateway) がこのサインインを終了した |1855| `gateway_signin_required` | [クラウドゲートウェイ](/docs/ja/claude-apps-gateway) がこのサインインを終了した |
1851| `gateway_access_denied` | クラウドゲートウェイへの管理設定リクエストが 403 で返された。ゲートウェイの [トラブルシューティングテーブル](/docs/ja/claude-apps-gateway-deploy#troubleshooting) がカバーしている |1856| `gateway_access_denied` | クラウドゲートウェイへの管理設定リクエストが 403 で返された。ゲートウェイの [トラブルシューティングテーブル](/docs/ja/claude-apps-gateway-deploy#troubleshooting) がカバーしている |
1854| `cwd_unavailable` | 作業ディレクトリが削除、移動、または読み取ることができない |1859| `cwd_unavailable` | 作業ディレクトリが削除、移動、または読み取ることができない |
1855| `shell_tool_missing` | Windows では、シェルツールが利用できない:Git Bash がなく、PowerShell がないか `CLAUDE_CODE_USE_POWERSHELL_TOOL` でオフになっている |1860| `shell_tool_missing` | Windows では、シェルツールが利用できない:Git Bash がなく、PowerShell がないか `CLAUDE_CODE_USE_POWERSHELL_TOOL` でオフになっている |
1856| `session_held_by_background` | 再開または続行する会話が [バックグラウンドセッション](/docs/ja/agent-view) として実行されている |1861| `session_held_by_background` | 再開または続行する会話が [バックグラウンドセッション](/docs/ja/agent-view) として実行されている |
1857| `worktree_resume_refused` | セッションのワークツリーが安全性チェックに失敗したか、再開がその内部から起動された。`errors` は、同じ再開を再度実行するとワークツリーなしで続行するかどうかを示します |1862| `worktree_resume_refused` | セッションのワークツリーが安全性チェックに失敗したか、再開がその内部から起動された。`errors` は同じ再開を再度実行するとワークツリーなしで続くかどうかを示します |
1858| `worktree_unverified` | セッションのワークツリーを今すぐ検証できず、再試行が成功する可能性があります |1863| `worktree_unverified` | セッションのワークツリーを今検証できず、再試行が成功する可能性がある |
1859| `cli_version_too_old` | この Claude Code バージョンが Anthropic が必要とする最小値より下です |1864| `cli_version_too_old` | この Claude Code バージョンが Anthropic が必要とする最小値より下 |
1860| `bypass_root` | バイパス権限モードがルートとして実行中にリクエストされた |1865| `bypass_root` | バイパス権限モードがルートとして実行中にリクエストされた |
1861 1866
1862<h3 id="sdksystemmessage">1867<h3 id="sdksystemmessage">
1904 1909
1905`fast_mode_state` はセッションの [高速モード](/docs/ja/fast-mode) 状態を報告します。何かが高速モードをブロックする場合、`fast_mode_disabled_reason` はそれをブロックしたチェックに名前を付けます。フィールドには Claude Code v2.1.219 以降が必要です。理由コードとその意味については、結果メッセージの [`fast_mode_disabled_reason`](#sdkresultmessage) を参照してください。1910`fast_mode_state` はセッションの [高速モード](/docs/ja/fast-mode) 状態を報告します。何かが高速モードをブロックする場合、`fast_mode_disabled_reason` はそれをブロックしたチェックに名前を付けます。フィールドには Claude Code v2.1.219 以降が必要です。理由コードとその意味については、結果メッセージの [`fast_mode_disabled_reason`](#sdkresultmessage) を参照してください。
1906 1911
1907各 `mcp_servers` エントリの `source`:サーバーの定義がどこから来たか。[`McpServerStatus`](#mcpserverstatus) の `source` と同じ値です。Agent SDK v0.3.274 以降が必要です。1912`terminal_slash_commands` は `slash_commands` のエントリに名前を付けます。そのインターフェースはローカルターミナルにバインドされています。例えば `exit`。他のエントリと同じように送信できます。フィールドは存在するため、リモートまたはモバイルクライアントはコマンドメニューから非表示にできます。フィールドは空でない場合にのみ存在し、Agent SDK v0.3.229 以降が必要です。
1908
1909ターミナルスラッシュコマンド:`terminal_slash_commands` は、`slash_commands` のエントリのうち、そのインターフェースがローカルターミナルにバインドされているもの(`exit` など)に名前を付けます。他の `slash_commands` エントリと同じように送信できます。フィールドは、リモートまたはモバイルクライアントがコマンドメニューから非表示にできるように存在します。フィールドは空でない場合にのみ存在し、Agent SDK v0.3.229 以降が必要です。
1910 1913
1911* 努力レベル:`effort` は、[努力レベル](/docs/ja/model-config#adjust-effort-level)。Claude Code がセッションの次のリクエストで送信するか、何も送信しない場合は `null`。Claude Code は、[リモートコントロール](/docs/ja/remote-control) クライアントに送信する初期化メッセージでのみフィールドを設定し、アプリケーションが読み取る初期化メッセージから省略します。Agent SDK v0.3.234 以降が必要です。1914* 各 `mcp_servers` エントリの `source`:サーバーの定義がどこから来たか。[`McpServerStatus`](#mcpserverstatus) の `source` と同じ値。Agent SDK v0.3.274 以降が必要です
1915* `effort`:[努力レベル](/docs/ja/model-config#adjust-effort-level)。Claude Code がセッションの次のリクエストで送信するか、何も送信しない場合は `null`。Claude Code はフィールドを [リモートコントロール](/docs/ja/remote-control) クライアントに送信する init メッセージにのみ設定し、アプリケーションが読み取る init メッセージから省略します。Agent SDK v0.3.234 以降が必要です
1912 1916
1913`capabilities` 配列は、この CLI が実装するプロトコル動作に名前を付けるため、`claude_code_version` 文字列を比較する代わりに機能検出できます。これはオープンセットです:認識しない値は無視し、依存する動作の特定の機能をチェックしてください。フィールドには Claude Code v2.1.205 以降が必要であり、以前の CLI では不在です。1917`capabilities` 配列は、この CLI が実装するプロトコル動作に名前を付けるため、`claude_code_version` 文字列を比較する代わりに機能検出できます。これはオープンセットです:認識しない値は無視し、依存する特定の動作の機能をチェックしてください。フィールドには Claude Code v2.1.205 以降が必要で、以前の CLI では存在しません。
1914 1918
1915| 機能 | 意味 |1919| 機能 | 意味 |
1916| - | - |1920| - | - |
1917| `interrupt_receipt_v1` | [`interrupt()`](#query-object) は、割り込みが到着したときに保留中だったメッセージをリストする [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) レシートで解決します |1921| `interrupt_receipt_v1` | [`interrupt()`](#query-object) は、割り込みが到着したときに保留中だったメッセージをリストする [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) レシートで解決します |
1918| `interrupt_cancel_queued_v1` | `interrupt` コントロールリクエストは `cancel_queued: true` を尊重し、レシートが `still_queued` の下にリストするメッセージをキャンセルし、代わりに `cancelled` の下にリストします。[`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) を参照してください。Claude Code v2.1.219 以降が必要です |1922| `interrupt_cancel_queued_v1` | `interrupt` コントロールリクエストは `cancel_queued: true` を尊重し、レシートが `still_queued` の下にリストするメッセージをキャンセルし、代わりに `cancelled` の下にリストします。[`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) を参照してください。Claude Code v2.1.219 以降が必要です |
1919 1923
1920`plugin_errors` 配列はプラグイン読み込み失敗をリストします。エントリは、読み込まれず `plugins` から不在であるプラグイン、または読み込まれたがそのパーツの 1 つ(フックファイルなど)がないプラグインを説明します。何も失敗しなかった場合、キーは省略されます。`SDKSystemMessage` は Agent SDK v0.3.283 以降で `plugin_errors` を宣言します。1924`plugin_errors` 配列はプラグイン読み込み失敗をリストします。エントリは、読み込まれず `plugins` から存在しないプラグイン、または hooks ファイルなどの部分なしで読み込まれたプラグインを説明します。何も失敗しなかった場合、キーは省略されます。`SDKSystemMessage` は Agent SDK v0.3.283 以降で `plugin_errors` を宣言します。
1921 1925
1922[`plugins` オプション](#options) からのディレクトリまたはアーカイブ自体が読み込みに失敗する場合、エントリの `plugin` フィールドはプラグイン名の代わりに `inline[0]` などの位置タグを保持します。これは、例えば、パスが存在しないか、マニフェストが無効な場合に発生します。そのようなエントリを `path` フィールドでオプションに一致させます。1926[`plugins` オプション](#options) からのディレクトリまたはアーカイブ自体が読み込みに失敗する場合、エントリの `plugin` フィールドはプラグイン名の代わりに `inline[0]` などの位置タグを保持します。これは、例えば、パスが存在しないか、マニフェストが無効な場合に発生します。そのようなエントリをオプションにマッチングするには、その `path` フィールドを使用してください。
1923 1927
1924下の表は、各 `plugin_errors` エントリのフィールドをリストします。1928下の表は、各 `plugin_errors` エントリのフィールドをリストします。
1925 1929
1926| フィールド | 型 | 説明 |1930| フィールド | 型 | 説明 |
1927| - | - | - |1931| - | - | - |
1928| `plugin` | `string` | 失敗しているプラグインの ID、またはプラグインディレクトリまたはアーカイブ自体が読み込みに失敗した場合の `inline[0]` などの位置タグ |1932| `plugin` | `string` | 失敗しているプラグインの ID、またはプラグインディレクトリまたはアーカイブ自体が読み込みに失敗した場合の `inline[0]` などの位置タグ |
1929| `type` | `string` | `path-not-found` または `manifest-validation-error` などのオープンセットからのエラーカテゴリ。認識しない値を一般的な失敗として扱う |1933| `type` | `string` | `path-not-found` または `manifest-validation-error` などのオープンセットからのエラーカテゴリ。認識しない値を汎用失敗として扱う |
1930| `message` | `string` | 失敗を説明する表示テキスト |1934| `message` | `string` | 失敗を説明する表示テキスト |
1931| `path` | `string` | プラグインディレクトリまたはアーカイブ自体が読み込みに失敗した場合にのみ存在します。その絶対パス。[`cwd`](#options) オプションに対して解決された `plugins` オプションからの相対パス |1935| `path` | `string` | プラグインディレクトリまたはアーカイブ自体が読み込みに失敗した場合にのみ存在します。その絶対パス。`plugins` オプションからの相対パスは [`cwd`](#options) オプションに対して解決されます |
1932 1936
1933<h3 id="sdkpartialassistantmessage">1937<h3 id="sdkpartialassistantmessage">
1934 `SDKPartialAssistantMessage`1938 `SDKPartialAssistantMessage`
1935</h3>1939</h3>
1936 1940
1937ストリーミング部分メッセージ(`includePartialMessages` が true の場合のみ)。`parent_tool_use_id` フィールドは常に `null` です:ストリームイベントはメインセッションのみに対して発行されます。サブエージェント属性については、完全なメッセージを使用します。これらは `parent_tool_use_id` を含むか、[`forwardSubagentText`](#options) を有効にしてサブエージェントテキストと思考を完全なメッセージとして受け取ります。1941ストリーミング部分メッセージ(`includePartialMessages` が true の場合のみ)。`parent_tool_use_id` フィールドは常に `null` です:ストリームイベントはメインセッションのみに対して発行されます。サブエージェント属性については、完全なメッセージを使用します。これらは `parent_tool_use_id` を持つか、[`forwardSubagentText`](#options) を有効にして、サブエージェントテキストと思考を完全なメッセージとして受け取ります。
1938 1942
1939```typescript theme={null}1943```typescript theme={null}
1940type SDKPartialAssistantMessage = {1944type SDKPartialAssistantMessage = {
1950};1954};
1951```1955```
1952 1956
1953Claude Code は、[`user_message_uuid`](#user_message_uuid) の条件下で、ターンの最初の非 ping ストリームイベントと、ターンが答えているメッセージが変わるときに `user_message_uuid` と `user_message_uuids` を設定します。Claude Code が再開されたターンを再実行する場合、再実行のストリームイベントがそれらのフィールドを含む場合、[`resume_reason`](#resume_reason) も含みます。1957Claude Code は、ターンの最初の非 ping ストリームイベントで、そしてターンが答えているメッセージが変わるときに、[`user_message_uuid`](#user_message_uuid) の条件下で `user_message_uuid` と `user_message_uuids` を設定します。Claude Code が再起動によって中断されたターンを再実行する場合、これらのフィールドを持つ再実行のストリームイベントは [`resume_reason`](#resume_reason) も持ちます。
1954 1958
1955<h3 id="sdkcompactboundarymessage">1959<h3 id="sdkcompactboundarymessage">
1956 `SDKCompactBoundaryMessage`1960 `SDKCompactBoundaryMessage`
1975 `SDKInformationalMessage`1979 `SDKInformationalMessage`
1976</h3>1980</h3>
1977 1981
1978ループによって発行された汎用テキストバナー。警告、通知、および Claude Code が発生させるその他の非エラーステータス行、および `UserPromptSubmit` フックのブロック理由などのフックフィードバックを含みます。1982ループによって発行される汎用テキストバナー。警告、通知、その他の非エラーステータス行 Claude Code が発生させ、`UserPromptSubmit` フックのブロック理由などのフックフィードバックを持ちます。
1979 1983
1980Claude Code v2.1.227 以降では、フックの [`systemMessage`](/docs/ja/hooks#json-output) はこのメッセージとして到着でき、各行には `PostToolUse:Bash says:` などのフックの名前が付きます。各 [イベントのセクション](/docs/ja/hooks#hook-events) はフックページで出力がどのようにサーフェスするかを示します。1984Claude Code v2.1.227 以降では、フックの [`systemMessage`](/docs/ja/hooks#json-output) はこのメッセージとして到着でき、各行にはフックの名前が前置されます。例えば `PostToolUse:Bash says:`。各 [イベントのセクション](/docs/ja/hooks#hook-events) は hooks ページで出力がどのようにサーフェスされるかを示します。
1981 1985
1982`content` を指定された `level` でプレーンテキストとしてレンダリングします。1986`content` をプレーンテキストとして指定された `level` でレンダリングしてください。
1983 1987
1984```typescript theme={null}1988```typescript theme={null}
1985type SDKInformationalMessage = {1989type SDKInformationalMessage = {
1998 `SDKWorkerShuttingDownMessage`2002 `SDKWorkerShuttingDownMessage`
1999</h3>2003</h3>
2000 2004
2001グレースフルワーカーティアダウンで発行されるため、リモートクライアントはハートビートタイムアウトを待つ代わりに、ワーカーが終了した理由を表示できます。`reason` はホスト CLI によって設定された短い snake\_case 文字列です。`"host_exit"` または `"remote_control_disabled"` など。ライブストリーミング時にのみこれに対応します。再開されたセッションはこのメッセージの過去のインスタンスを再生するため、その場合は無視してください。2005グレースフルワーカーティアダウンで発行されるため、リモートクライアントはハートビートタイムアウトを待つ代わりに、ワーカーが終了した理由を表示できます。`reason` はホスト CLI によって設定された短い snake\_case 文字列です。例えば `"host_exit"` または `"remote_control_disabled"`。ライブストリーミング時にのみこれに対応してください。再開されたセッションはこのメッセージの過去のインスタンスを再生するため、その場合は無視してください。
2002 2006
2003```typescript theme={null}2007```typescript theme={null}
2004type SDKWorkerShuttingDownMessage = {2008type SDKWorkerShuttingDownMessage = {
2032 `SDKPermissionDeniedMessage`2036 `SDKPermissionDeniedMessage`
2033</h3>2037</h3>
2034 2038
2035権限システムがインタラクティブプロンプトなしでツール呼び出しを拒否したときに発行されるストリームイベント。ターンの最後の `is_error` ツール結果のみを観察する代わりに、UI で拒否をリアルタイムでレンダリングするために使用します。どの拒否を報告するかは、実行が権限プロンプトを処理する方法によって異なります:2039権限システムがインタラクティブプロンプトなしでツール呼び出しを拒否したときに発行されるストリームイベント。結果として続く `is_error` ツール結果のみを観察する代わりに、UI でリアルタイムで拒否をレンダリングするために使用します。どの拒否をレポートするかは、実行が権限プロンプトをどのように処理するかに依存します:
2036 2040
2037* **[`canUseTool`](#canusetool) コールバック**とデフォルト [`permissionPrompts: 'host'`](#options):権限プロンプトはコールバックに移動し、このイベントは Claude Code がコールバックを呼び出さずに決定した拒否を報告します。2041* **[`canUseTool`](#canusetool) コールバック**と デフォルト [`permissionPrompts: 'host'`](#options):権限プロンプトはコールバックに移動し、このイベントは Claude Code がコールバックを呼び出さずに決定した拒否をレポートします
2038* **どちらでもない**:ベア `-p` 実行、または `canUseTool` も `permissionPromptToolName` も設定しない `query()`。プロンプトが表示されるツール呼び出しを拒否し、このイベントはそれらの拒否と Claude Code が自身で決定した拒否を報告します。v2.1.223 より前では、Claude Code はコールバックなしの実行でこのイベントを発行しませんでした。2042* **どちらでもない**:ベア `-p` 実行、または `canUseTool` も `permissionPromptToolName` も設定しない `query()`。プロンプトが表示されるツール呼び出しを拒否し、このイベントはそれらの拒否と Claude Code が決定した拒否の両方をレポートします。v2.1.223 より前では、Claude Code はコールバックなしの実行でこのイベントを発行しませんでした
2039* **MCP プロンプトツール**。`permissionPromptToolName` または [`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) フラグで設定され、デフォルト `permissionPrompts: 'host'`:Claude Code はこのイベントをまったく発行しません。ルール拒否でさえ Claude Code が自身で決定します。2043* **MCP プロンプトツール**。`permissionPromptToolName` または [`--permission-prompt-tool`](/docs/ja/cli-reference#cli-flags) フラグで設定され、デフォルト `permissionPrompts: 'host'`:Claude Code はこのイベントをまったく発行しません。ルール拒否でさえ、Claude Code が決定した拒否でさえ
2040* **[`permissionPrompts: 'none'`](#options)**:Claude Code は `canUseTool` または MCP プロンプトツールも設定されている場合でも、プロンプトが表示されるツール呼び出しを拒否し、このイベントはそれらの拒否と Claude Code が自身で決定した拒否を報告します。Claude Code v2.1.259 以降が必要です。2044* **[`permissionPrompts: 'none'`](#options)**:Claude Code は `canUseTool` または MCP プロンプトツールも設定されている場合でも、プロンプトが表示されるコールを拒否し、このイベントはそれらの拒否と Claude Code が決定した拒否の両方をレポートします。Claude Code v2.1.259 以降が必要です
2041 2045
2042すべての構成で、このイベントは `PreToolUse` フックパスで決定された拒否をスキップします。フックが呼び出し自体を拒否したか、拒否ルールがフックの許可または質問決定をオーバーライドしたかに関わらず。イベントはベストエフォートでもあります:時々 Claude Code はこのイベントを発行せずに拒否を記録するため、[結果メッセージ](#sdkresultmessage) の `permission_denials` は権限のある記録です。2046すべての設定で、このイベントは `PreToolUse` フックパスで決定された拒否をスキップします。フックが呼び出しを拒否したか、拒否ルールがフックの許可または質問決定をオーバーライドしたかに関わらず。イベントはベストエフォートでもあります:時々 Claude Code は拒否を記録してこのイベントを発行しないため、[結果メッセージ](#sdkresultmessage) の `permission_denials` は権限のある記録です。
2043 2047
2044```typescript theme={null}2048```typescript theme={null}
2045type SDKPermissionDeniedMessage = {2049type SDKPermissionDeniedMessage = {
2060| - | - | - |2064| - | - | - |
2061| `tool_name` | `string` | 拒否されたツールの名前 |2065| `tool_name` | `string` | 拒否されたツールの名前 |
2062| `tool_use_id` | `string` | この拒否が答える `tool_use` ブロックの ID |2066| `tool_use_id` | `string` | この拒否が答える `tool_use` ブロックの ID |
2063| `agent_id` | `string` | 拒否された呼び出しがサブエージェント内で発生した場合のサブエージェント ID。ホスト側ルーティング用に `can_use_tool` のフィールドをミラーリング |2067| `agent_id` | `string` | 拒否された呼び出しがサブエージェント内で発生した場合のサブエージェント ID。`can_use_tool` のフィールドをホスト側ルーティング用にミラーリング |
2064| `decision_reason_type` | `string` | `"rule"`、`"mode"`、`"classifier"`、または `"asyncAgent"` などの決定コンポーネントの判別式 |2068| `decision_reason_type` | `string` | 決定したコンポーネントの判別式。例えば `"rule"`、`"mode"`、`"classifier"`、または `"asyncAgent"` |
2065| `decision_reason` | `string` | 利用可能な場合、決定コンポーネントからの人間が読める理由 |2069| `decision_reason` | `string` | 利用可能な場合、決定したコンポーネントからの人間が読める理由 |
2066| `message` | `string` | `tool_result` でモデルに返された拒否メッセージ |2070| `message` | `string` | `tool_result` でモデルに返された拒否メッセージ |
2067 2071
2068<h3 id="sdkpermissiondenial">2072<h3 id="sdkpermissiondenial">
2083 `SDKContextUsage`2087 `SDKContextUsage`
2084</h3>2088</h3>
2085 2089
2086`/context` レポートの構造化形式。[`SDKAssistantMessage`](#sdkassistantmessage) で `/context` 結果を配信する `context_usage` として含まれます。Agent SDK v0.3.232 以降はタイプをエクスポートします。[`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) とは異なり、`color` と `gridRows` などの表示フィールドなしで、使用状況分析をレンダリングするために必要なデータのみを含みます。2090`/context` レポートの構造化形式。[`SDKAssistantMessage`](#sdkassistantmessage) で `/context` 結果を配信する `context_usage` として持ちます。Agent SDK v0.3.232 以降は型をエクスポートします。[`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) とは異なり、使用状況分析をレンダリングするために必要なデータのみを持ち、`color` と `gridRows` などの表示フィールドは持ちません。Claude Code はトークンカウント API リクエストで報告を計算します。これはメッセージストリームに表示されません。[これらのリクエストがどのように処理されるか](#sdkcontrolgetcontextusageresponse) を参照してください。
2087 2091
2088```typescript theme={null}2092```typescript theme={null}
2089type SDKContextUsage = {2093type SDKContextUsage = {
2120};2124};
2121```2125```
2122 2126
2123表は、Claude Code が各フィールドに何を入れるかをリストします。`model` から `over_limit` までのフィールドはセッション全体を説明し、コレクションフィールドはトークンを個別のアイテムに属性付けます。2127表は Claude Code が各フィールドに何を入れるかをリストします。`model` から `over_limit` までのフィールドはセッション全体を説明し、コレクションフィールドはトークンを個別のアイテムに属性付けします。
2124 2128
2125| フィールド | 型 | 説明 |2129| フィールド | 型 | 説明 |
2126| - | - | - |2130| - | - | - |
2127| `model` | `string` | Claude Code が使用状況を計算したメインループのモデル。サブエージェントではない |2131| `model` | `string` | Claude Code が使用状況を計算したメインループのモデル。サブエージェントではない |
2128| `total_tokens` | `number` | Claude Code の使用中のトークンの推定値。ウィンドウにクランプされていないため、セッションが制限を超えている場合は `raw_max_tokens` を超える可能性があります |2132| `total_tokens` | `number` | Claude Code の使用中のトークンの推定値。ウィンドウにクランプされていないため、セッションが制限を超えている場合は `raw_max_tokens` を超える可能性があります |
2129| `raw_max_tokens` | `number` | モデルのコンテキストウィンドウ、または適用される低い [自動圧縮ウィンドウ](/docs/ja/model-config#context-window-and-auto-compaction)。設定したもの、または 1M トークンウィンドウを持つ一部のモデルに Claude Code が適用する 200K 境界など。Claude Code は `total_tokens` をこのウィンドウに対して測定します |2133| `raw_max_tokens` | `number` | モデルのコンテキストウィンドウ、または設定したものなど、より低い [自動圧縮ウィンドウ](/docs/ja/model-config#context-window-and-auto-compaction)。1M トークンウィンドウを持つ一部のモデルに Claude Code が適用する 200K 境界など。Claude Code は `total_tokens` をこのウィンドウに対して測定します |
2130| `percentage` | `number` | `total_tokens` を `raw_max_tokens` の丸められたパーセンテージとして。セッションが制限を超えている場合は 100 を超える可能性があります |2134| `percentage` | `number` | `total_tokens` を `raw_max_tokens` の丸められたパーセンテージとして。セッションが制限を超えている場合は 100 を超える可能性があります |
2131| `over_limit` | `object` | `total_tokens` が `raw_max_tokens` を超える場合にのみ存在します。`tokens_over` は超過額であり、`kind` は Claude Code がウィンドウをどのように解決したかを示します |2135| `over_limit` | `object` | `total_tokens` が `raw_max_tokens` を超える場合にのみ存在します。`tokens_over` は超過量で、`kind` は Claude Code がウィンドウをどのように解決したかを示します |
2132| `categories` | [`SDKContextUsageCategory`](#sdkcontextusagecategory)`[]` | 使用状況別カテゴリ分析の各行に 1 つのエントリ |2136| `categories` | [`SDKContextUsageCategory`](#sdkcontextusagecategory)`[]` | 使用状況別カテゴリ分析の各行に 1 つのエントリ |
2133| `mcp_tools` | `object[]` | 各 MCP ツールに属性付けされたトークン。`mcp__linear__create_issue` などのワイヤー名と `server_name` |2137| `mcp_tools` | `object[]` | 各 MCP ツールに属性付けされたトークン。ワイヤー名(例えば `mcp__linear__create_issue`)と `server_name` |
2134| `memory_files` | `object[]` | 各読み込まれたメモリファイルに属性付けされたトークン。`path` と `Project` または `User` などのソースラベル(`type`) |2138| `memory_files` | `object[]` | 読み込まれた各メモリファイルに属性付けされたトークン。`path` と `Project` または `User` などのソースラベル(`type` 内) |
2135| `agents` | `object[]` | 各カスタムサブエージェント定義に属性付けされたトークン。`projectSettings`、`userSettings`、または `plugin` などのソース識別子。組み込みサブエージェントはリストされていません |2139| `agents` | `object[]` | 各カスタムサブエージェント定義に属性付けされたトークン。`projectSettings`、`userSettings`、または `plugin` などのソース識別子。組み込みサブエージェントはリストされていません |
2136| `skills` | `object[]` | スキルリスト内の各スキルに属性付けされたトークン。ソース識別子と、プラグインスキルの場合はプラグインの名前(`plugin_name`)。スキルがトークンに貢献しない場合は不在 |2140| `skills` | `object[]` | スキルリスト内の各スキルに属性付けされたトークン。ソース識別子と、プラグインスキルの場合、`plugin_name` 内のプラグインの名前。スキルがトークンに貢献しない場合は存在しません |
2137 2141
2138`over_limit.kind` は Claude Code がウィンドウを解決した方法を記録し、API が次のリクエストを受け入れるかどうかではありません:2142`over_limit.kind` はウィンドウをどのように解決したかを記録し、API が次のリクエストを受け入れるかどうかではありません:
2139 2143
2140* `hard_limit`:ウィンドウは Claude Code がモデル自体の制限と信じるもの。API はリクエストを拒否します2144* `hard_limit`:ウィンドウは Claude Code がモデル自体の制限と信じるもの。API がリクエストを拒否する過去
2141* `compaction_window`:ウィンドウは圧縮ポリシーウィンドウ。モデルの制限と一致する場合もあれば、一致しない場合もあります2145* `compaction_window`:ウィンドウは圧縮ポリシーウィンドウ。モデルの制限と一致する場合もしない場合もあります
2142 2146
2143Claude Code は、既存のものを再形成する代わりに、新しいデータをオプションフィールドとして追加することで、タイプを加算的に進化させます。知っているフィールドを読み取り、認識しないものは無視してください。2147Claude Code は型を加法的に進化させ、既存のものを再形成する代わりに、新しいデータをオプションフィールドとして追加します。知っているフィールドを読み取り、認識しないものは無視してください。
2144 2148
2145<h3 id="sdkcontextusagecategory">2149<h3 id="sdkcontextusagecategory">
2146 `SDKContextUsageCategory`2150 `SDKContextUsageCategory`
2156};2160};
2157```2161```
2158 2162
2159表は、行の各フィールドに Claude Code が何を入れるかをリストします。2163表は Claude Code が行の各フィールドに何を入れるかをリストします。
2160 2164
2161| フィールド | 型 | 説明 |2165| フィールド | 型 | 説明 |
2162| - | - | - |2166| - | - | - |
2163| `name` | `string` | 行の表示名。`/context` が印刷するもの。`Messages` など。名前ではなく `kind` で行を分類 |2167| `name` | `string` | `/context` が印刷する行の表示名。例えば `Messages`。名前ではなく `kind` で行を分類 |
2164| `tokens` | `number` | 行のトークンカウント。行はゼロトークンを含む可能性があります |2168| `tokens` | `number` | 行のトークンカウント。行はゼロトークンを持つことができます |
2165| `kind` | `string` | 行が表すもの:`used`、`free`、`buffer`、または `deferred` |2169| `kind` | `string` | 行が表すもの:`used`、`free`、`buffer`、または `deferred` |
2166 2170
2167各 `kind` 値は行のトークンが何であるかを示します:2171各 `kind` 値は行のトークンが何であるかを示します:
2168 2172
2169* `used`:コンテキストウィンドウを占有するコンテンツ2173* `used`:コンテキストウィンドウを占有するコンテンツ
2170* `free`:残りのウィンドウ2174* `free`:残りのウィンドウ
2171* `buffer`:圧縮予約2175* `buffer`:圧縮リザーブ
2172* `deferred`:Claude Code がウィンドウから保持し、使用状況計算から除外するツールスキーマ。認識用にリストされています2176* `deferred`:Claude Code がウィンドウから保持し、使用状況計算から除外するツールスキーマ。認識用にリストされています
2173 2177
2174<h3 id="sdkmessageorigin">2178<h3 id="sdkmessageorigin">
2203 2207
2204| `kind` | 意味 |2208| `kind` | 意味 |
2205| - | - |2209| - | - |
2206| `human` | エンドユーザーからの直接入力。アプリケーションがユーザーが入力したものをユーザーメッセージとして転送する場合、その `origin` を明示的に `{ kind: "human" }` に設定します:Claude Code は `origin` なしのユーザーメッセージを属性なしとして扱い、[`ultracode` ワークフローキーワード](/docs/ja/workflows#ask-for-a-workflow-in-your-prompt) などの人間が入力したプロンプトを必要とするチェックはそれを受け入れません。v2.1.210 より前では、Claude Code はユーザーメッセージの不在 `origin` を人間入力として扱いました。 |2210| `human` | エンドユーザーからの直接入力。アプリケーションがユーザーが入力したものをユーザーメッセージとして転送する場合、その `origin` を明示的に `{ kind: "human" }` に設定します:Claude Code は `origin` なしのユーザーメッセージを属性なしとして扱い、[`ultracode` ワークフローキーワード](/docs/ja/workflows#ask-for-a-workflow-in-your-prompt) などの人間が入力したプロンプトを必要とするチェックはそれを受け入れません。v2.1.210 より前では、Claude Code はユーザーメッセージの存在しない `origin` を人間入力として扱いました |
2207| `channel` | [チャネル](/docs/ja/channels) に到着するメッセージ。`server` はソース MCP サーバー名です。 |2211| `channel` | [チャネル](/docs/ja/channels) に到着するメッセージ。`server` はソース MCP サーバー名 |
2208| `peer` | 別のエージェントからのメッセージ:プロセス内 [チームメイト](/docs/ja/agent-teams) または [クロスセッションピア](/docs/ja/cross-session-messaging)。別の Claude Code セッション。[ピアオリジンフィールド](#peer-origin-fields) については、フィールドごとのセマンティクスと信頼モデルを参照してください。 |2212| `peer` | 別のエージェントからのメッセージ:プロセス内 [チームメイト](/docs/ja/agent-teams) または [クロスセッションピア](/docs/ja/cross-session-messaging)。別の Claude Code セッション。[ピアオリジンフィールド](#peer-origin-fields) については、フィールドごとのセマンティクスと信頼モデルを参照してください |
2209| `task-notification` | 新しいユーザープロンプトなしで到着する配信用に注入された合成ターン。完了したバックグラウンドタスクなど。[`SDKTaskNotificationMessage`](#sdktasknotificationmessage) を参照してください。アプリケーションが [スケジュール実行を宣言](#declare-a-scheduled-run) するプロンプトもこのタイプを含みます。オプションの `subkind` は通知を発生させたものをマークします。[タスク通知サブタイプ](#task-notification-subkinds) を参照してください。 |2213| `task-notification` | 完了したバックグラウンドタスクなど、新しいユーザープロンプトなしで配信される合成ターンが挿入されました。[`SDKTaskNotificationMessage`](#sdktasknotificationmessage) をそのアームについて参照してください。アプリケーションが [スケジュール実行を宣言](#declare-a-scheduled-run) するプロンプトもこの種を持ちます。オプションの `subkind` は通知を発生させたものをマークします。[タスク通知サブキンド](#task-notification-subkinds) を参照してください |
2210| `coordinator` | [エージェントチーム](/docs/ja/agent-teams) のチームコーディネーターからのメッセージ。 |2214| `coordinator` | [エージェントチーム](/docs/ja/agent-teams) のチームコーディネーターからのメッセージ |
2211| `auto-continuation` | セッションが新しいユーザー入力なしで続行するときに注入された合成ターン。コマンド結果がフォローアッププロンプトをトリガーするなど。 |2215| `auto-continuation` | セッションが新しいユーザー入力なしで続く場合に挿入される合成ターン。例えば、フォローアッププロンプトをトリガーするコマンド結果 |
2212| `unclassified` | 出所を判断できなかった注入ターン。Claude Code が [`SDKUserMessage`](#sdkusermessage) を `isSynthetic: true` で受け取り、他の `kind` として分類できない場合、メッセージが到着するときにこのタイプを設定し、ターンをモデルに非ユーザーソースとしてフレーミングします。人間入力として扱う代わりに。アプリケーションはこの値を設定しないでください。 |2216| `unclassified` | 出所を判断できない挿入ターン。Claude Code が [`SDKUserMessage`](#sdkusermessage) を `isSynthetic: true` で受け取り、他の `kind` として分類できない場合、メッセージが到着するときにこの種を設定し、ターンをモデルに非ユーザーソースとしてフレーミングします。人間入力として扱う代わりに。アプリケーションはこの値を設定しないでください |
2213 2217
2214<h3 id="task-notification-subkinds">2218<h3 id="task-notification-subkinds">
2215 タスク通知サブタイプ2219 タスク通知サブキンド
2216</h3>2220</h3>
2217 2221
2218Claude Code がタスク通知をセッションに配信するとき、Anthropic サーバーがその通知がどこから来たかを検証した場合、通知の `origin` に `subkind` を設定します。また、アプリケーションが [スケジュール実行を宣言](#declare-a-scheduled-run) する場合も `subkind` を設定します。これには TypeScript Agent SDK v0.3.280 以降が必要です。`subkind` には Claude Code v2.1.213 以降が必要であり、2 つの値のいずれかを取ります:2222Claude Code がタスク通知をセッションに配信するとき、Anthropic サーバーがその通知がどこから来たかを検証した場合、通知の `origin` に `subkind` を設定します。アプリケーションが [スケジュール実行を宣言](#declare-a-scheduled-run) する場合も設定します。これには TypeScript Agent SDK v0.3.280 以降が必要です。`subkind` には Claude Code v2.1.213 以降が必要で、2 つの値のいずれかを取ります:
2219 2223
2220* `scheduled-trigger`:通知は [ルーチン](/docs/ja/routines) の保存されたプロンプトです。ルーチンのトリガーの 1 つが発火したため配信されます:スケジュール、[API トリガー](/docs/ja/routines#add-an-api-trigger)、[GitHub トリガー](/docs/ja/routines#add-a-github-trigger)、または **今すぐ実行**。アプリケーションが [スケジュール実行を宣言](#declare-a-scheduled-run) するプロンプトもこの値を含みます。Claude Code はこれらをモデルにセッションの割り当てられたタスクとしてフレーミングし、[他のタスク通知が含む通知](#sdktasknotificationmessage) とは異なる通知を含みます。2224* `scheduled-trigger`:通知は [ルーチン](/docs/ja/routines) の保存されたプロンプト。ルーチンのトリガーの 1 つが発火したため配信されました:スケジュール、[API トリガー](/docs/ja/routines#add-an-api-trigger)、[GitHub トリガー](/docs/ja/routines#add-a-github-trigger)、または **今すぐ実行**。アプリケーションが [スケジュール実行を宣言](#declare-a-scheduled-run) するプロンプトもこの値を持ちます。Claude Code はこれらをモデルにセッションの割り当てられたタスクとしてフレーミングします。他の [タスク通知が持つ通知](#sdktasknotificationmessage) とは異なる通知で
2221* ピア送信メッセージ:通知は、別のセッションが [クロスセッション `SendMessage` ツール](/docs/ja/cross-session-messaging) ではなく、[クラウドセッション](/docs/ja/claude-code-on-the-web) が相互にメッセージするために使用するサーバー側 `send_message` ツールで送信したメッセージです。Anthropic サーバーは、両方のセッションが同じプライベートセッショングループに属することを検証しました。Claude Code v2.1.224 以降が必要です。サーバーが検証しなかった `send_message` 配信は `subkind` を取得しません。2225* `peer-send-message`:通知は別のセッションが [クラウドセッション](/docs/ja/claude-code-on-the-web) が互いにメッセージするために使用する server-side `send_message` ツールで送信したメッセージ。[クロスセッション `SendMessage` ツール](/docs/ja/cross-session-messaging) ではなく、Anthropic サーバーが両方のセッションが同じプライベートセッショングループに属することを検証しました。Claude Code v2.1.224 以降が必要です。サーバーがそのように検証しなかった `send_message` 配信は subkind を取得しません
2222 2226
2223他のすべてのタスク通知には `subkind` がありません。これには、[PR アクティビティ](/docs/ja/claude-code-on-the-web#how-claude-responds-to-pr-activity) がセッションに配信され、完了したタスクなどのバックグラウンドイベントが含まれます。[クロスセッション `SendMessage` ツール](/docs/ja/cross-session-messaging) からのメッセージはタスク通知ではありません:同じマシン上のセッションから来ようと、別のマシンから Anthropic サーバーを通じて来ようと、Claude Code は `kind: "peer"` を与え、[ピアオリジンフィールド](#peer-origin-fields) を与えます。2227他のすべてのタスク通知には `subkind` がありません。これには [PR アクティビティ](/docs/ja/claude-code-on-the-web#how-claude-responds-to-pr-activity) がセッションに配信されたものと、完了したタスクなどのバックグラウンドイベントが含まれます。[クロスセッション `SendMessage` ツール](/docs/ja/cross-session-messaging) からのメッセージはタスク通知ではありません:同じマシンのセッションから来ようと、別のマシンから Anthropic サーバーを通じて来ようと、Claude Code は `kind: "peer"` を与え、[ピアオリジンフィールド](#peer-origin-fields) を与えます。
2224 2228
2225`fireReason` は、`scheduled-trigger` 通知が発火した理由を、`scheduled`、`manual`、`retry`、`catch_up`、または `api` などの短い小文字トークンとして示します。Anthropic サーバーは [ルーチン](/docs/ja/routines) の配信に設定し、アプリケーションはスケジュール実行を宣言するときに設定します。どちらも送信しなかった場合は不在です。TypeScript Agent SDK v0.3.280 以降が必要です。2229`fireReason` は `scheduled-trigger` 通知が発火した理由を示します。`scheduled`、`manual`、`retry`、`catch_up`、または `api` などの短い小文字トークンとして。Anthropic サーバーは [ルーチン](/docs/ja/routines) の配信に設定し、アプリケーションはスケジュール実行を宣言するときに設定します。どちらも送信しなかった場合は存在しません。TypeScript Agent SDK v0.3.280 以降が必要です。
2226 2230
2227<h4 id="declare-a-scheduled-run">2231<h4 id="declare-a-scheduled-run">
2228 スケジュール実行を宣言する2232 スケジュール実行を宣言
2229</h4>2233</h4>
2230 2234
2231アプリケーションが独自のスケジュールでプロンプトを実行する場合、各実行を宣言して、Claude Code がターンをモデルにスケジュール済みタスクとしてフレーミングするようにします。ライブユーザー入力ではなく。[`env`](#options) で `CLAUDE_CODE_HOST_SCHEDULED_RUN` を `1` に設定してセッションを開始し、実行の [`SDKUserMessage`](#sdkusermessage) を `origin: { kind: "task-notification", subkind: "scheduled-trigger", fireReason: "scheduled" }` で送信し、`isSynthetic` なし。Claude Code は、その変数なしで開始されたプロセスで宣言を無視します。また、プロセスの環境が [`CLAUDECODE`](/docs/ja/env-vars) または `CLAUDE_CODE_CHILD_SESSION` を含む場合も無視します。Claude Code は `fireReason` を値が 1 ~ 32 の小文字の文字またはアンダースコアの場合にのみ保持します。TypeScript Agent SDK v0.3.280 以降が必要です。2235アプリケーションが独自のスケジュールでプロンプトを実行する場合、各実行を宣言して、Claude Code がターンをモデルにスケジュール済みタスクとしてフレーミングするようにします。ライブユーザー入力ではなく。[`env`](#options) で `CLAUDE_CODE_HOST_SCHEDULED_RUN` を `1` に設定してセッションを開始し、実行の [`SDKUserMessage`](#sdkusermessage) を `origin: { kind: "task-notification", subkind: "scheduled-trigger", fireReason: "scheduled" }` で送信し、`isSynthetic` なし。Claude Code はその変数なしで開始されたプロセスで宣言を無視します。また、プロセスの環境が [`CLAUDECODE`](/docs/ja/env-vars) または `CLAUDE_CODE_CHILD_SESSION` を持つプロセスでも無視します。Claude Code は `fireReason` を値が 1 ~ 32 の小文字またはアンダースコアの場合にのみ保持します。TypeScript Agent SDK v0.3.280 以降が必要です。
2232 2236
2233<h3 id="peer-origin-fields">2237<h3 id="peer-origin-fields">
2234 ピアオリジンフィールド2238 ピアオリジンフィールド
2235</h3>2239</h3>
2236 2240
2237`peer` オリジンは、メッセージを送信したエージェントを識別します:`SendMessage` で `main` に送信するプロセス内 [チームメイト](/docs/ja/agent-teams)、または [クロスセッションピア](/docs/ja/cross-session-messaging)。別の Claude Code セッション。クロスセッションピアには macOS と Linux で Claude Code v2.1.224 以降が必要です。ネイティブ Windows 要件については、[クロスセッションメッセージング利用可能性](/docs/ja/cross-session-messaging#availability) を参照してください。クロスセッションピアは同じマシンで実行でき、[別のマシン](/docs/ja/cross-session-messaging#message-sessions-on-other-machines) または [クラウド](/docs/ja/claude-code-on-the-web) で実行でき、Remote Control を通じてメッセージが到着する場合。2 種類の送信者はフィールドを異なる方法で埋めます:2241`peer` オリジンは、メッセージを送信したエージェントを識別します:`SendMessage` で `main` に送信するプロセス内 [チームメイト](/docs/ja/agent-teams)、または [クロスセッションピア](/docs/ja/cross-session-messaging)。別の Claude Code セッション。クロスセッションピアには macOS と Linux で Claude Code v2.1.224 以降が必要です。[クロスセッションメッセージング可用性](/docs/ja/cross-session-messaging#availability) のネイティブ Windows 要件を参照してください。クロスセッションピアは同じマシンで実行でき、または [別のマシン](/docs/ja/cross-session-messaging#message-sessions-on-other-machines) または [クラウド](/docs/ja/claude-code-on-the-web) で、リモートコントロールを通じてメッセージが到着する場合。2 つの種類の送信者はフィールドを異なる方法で埋めます:
2238 2242
2239* `from`:チームメイトの名前、またはクロスセッションピアの送信者アドレス。[一方向クロスマシンメッセージ](/docs/ja/cross-session-messaging#message-sessions-on-other-machines) の場合、送信者は返信アドレスを持たず、`from` は `"unknown"` です。値は送信者が作成したもの。`verifiedPeerPid` は検証された ID です。2243* `from`:チームメイトの名前、またはクロスセッションピアの送信者アドレス。[一方向クロスマシンメッセージ](/docs/ja/cross-session-messaging#message-sessions-on-other-machines) の場合、送信者は返信アドレスを持たず、`from` は `"unknown"` です。値は送信者が作成したもの。`verifiedPeerPid` は検証された ID です
2240* 送信セッションの権限クラス:`fromMode` は、`bypass` または `prompting`。セッション間でピアメッセージをリレーするホストによって宣言されます。[デスクトップアプリ](/docs/ja/desktop#work-across-sessions) など。Claude Code はそれを受信セッションで読み取り、[インバウンドコントロール](/docs/ja/cross-session-messaging#control-inbound-messages) を適用するときに読み取ります。Agent SDK v0.3.234 以降が必要です。2244* `fromMode`:送信セッションの権限クラス。`bypass` または `prompting`。セッション間でピアメッセージをリレーするホストによって宣言されます。例えば [デスクトップアプリ](/docs/ja/desktop#work-across-sessions)。Claude Code は受信セッションでそれを読み取り、[インバウンドコントロール](/docs/ja/cross-session-messaging#control-inbound-messages) を適用するときに。Agent SDK v0.3.234 以降が必要です
2241* `senderTaskId`:チームメイトのタスク ID。クロスセッションピアの場合は不在。2245* `senderTaskId`:チームメイトのタスク ID。クロスセッションピアでは存在しません
2242* 送信者の表示名:`name` は、Claude Code によって正規化:Unicode コントロール、フォーマット、サロゲート、および行または段落セパレーターコードポイントを削除し、結果をトリミングし、64 コードポイントで上限を設定し、省略記号を付けます。Claude Code v2.1.205 以降が必要です。2246* `name`:送信者の表示名。Claude Code によって正規化されます:Unicode 制御、形式、サロゲート、および行または段落セパレーターコードポイントを削除し、結果をトリミングし、64 コードポイントで上限を設定し、省略記号を付けます。Claude Code v2.1.205 以降が必要です
2243* ピアエンベロープを削除した、デコードされたメッセージ本文:`body` は、モデルが見るものとバイト単位で正確です。チームメイトメッセージの場合は常に存在。クロスセッションピアの場合、Claude Code によって形成された正確に 1 つのピアエンベロープの場合にのみ存在します。メッセージテキストを再解析する代わりに、`name` と `body` をレンダリングします。Claude Code v2.1.205 以降が必要です。2247* `body`:ピアエンベロープが削除された、デコードされたメッセージ本体。モデルが見るものとバイト正確です。チームメイトメッセージの場合は常に存在。クロスセッションピアの場合、ターンが Claude Code によって形成された正確に 1 つのピアエンベロープの場合にのみ存在します。メッセージテキストを再解析する代わりに `name` と `body` をレンダリングしてください。Claude Code v2.1.205 以降が必要です
2244* 送信者のホストで開くことができるセッション ID:`fromSession` は、送信者のホストによって設定されるため、UI が送信セッションにリンクバックできます。`from` と同様に、送信者が主張したもの:ナビゲーションターゲットとしてのみ使用し、送信者の ID の証明として扱わないでください。Claude Code v2.1.216 以降が必要です。2248* `fromSession`:送信者のホストが開くことができるセッション ID。送信者のホストによって設定されるため、UI が送信セッションにリンクバックできます。`from` のように、これは送信者が主張したもの:ナビゲーションターゲットとしてのみ使用し、送信者の ID の証明として扱わないでください。Claude Code v2.1.216 以降が必要です
2245* このセッションのクロスセッションメッセージングソケットに接続したプロセスのプロセス ID:`verifiedPeerPid` は、カーネルによって検証され、ペイロードからではなく接続自体から読み取られます。`from` ではなく、これを使用して送信者を識別します:`from` は同じユーザープロセスによって偽造可能です。フィールドは Claude Code がそれを検証できない場合は不在です。Windows や非ソケット入力など。不在の値は送信者が未検証であることを意味します。リレートラフィックの場合、メッセージの作成者ではなくリレーを識別し、プロセス ID は再利用可能であるため、認証トークンではなく出所として扱ってください。Claude Code v2.1.216 以降が必要です。2249* `verifiedPeerPid`:このセッションのクロスセッションメッセージングソケットに接続したプロセスのプロセス ID。カーネルによって検証され、ペイロードからではなく接続自体から読み取られます。送信者を識別するために `from` ではなくこれを使用してください:`from` は同じユーザープロセスによって偽造可能です。フィールドは Claude Code がそれを検証できない場合に存在しません。例えば Windows または非ソケット入力。存在しない値は送信者が検証されていないことを意味します。リレーされたトラフィックの場合、リレーではなくメッセージの作成者を識別し、プロセス ID は再利用可能であるため、認証トークンではなく出所として扱ってください。Claude Code v2.1.216 以降が必要です
2246 2250
2247<h2 id="hook-types">2251<h2 id="hook-types">
2248 フック型2252 フック型
3184};3188};
3185```3189```
3186 3190
3187オプションのタイムアウトとバックグラウンド実行を備えた Bash コマンドを実行します。作業ディレクトリはコマンド間で永続化されます。マルチターンセッションの後のターンで実行されるコマンドも含まれます。エクスポートされた環境変数などのシェル状態は永続化されません。ディレクトリ変更がどの程度引き継がれるかの制限については、[コマンド間で永続化されるもの](/docs/ja/tools-reference#what-persists-between-commands) を参照してください。フォアグラウンドの上限を設定するものについては、[タイムアウトと出力の制限](/docs/ja/tools-reference#timeout-and-output-limits) を参照してください。バックグラウンド時間制限については、[バックグラウンドコマンド](/docs/ja/tools-reference#background-commands) を参照してください。3191オプションのタイムアウトとバックグラウンド実行を備えた Bash コマンドを実行します。作業ディレクトリはコマンド間で永続化されます。マルチターンセッションの後のターンで実行されるコマンドも含まれます。エクスポートされた環境変数などのシェル状態は永続化されません。ディレクトリ変更がどの程度引き継がれるかの制限については、[コマンド間で永続化されるもの](/docs/ja/tools-reference#what-persists-between-commands) を参照してください。フォアグラウンドの上限を設定するものについては、[タイムアウトと出力の制限](/docs/ja/tools-reference#timeout-and-output-limits) を参照してください。バックグラウンド時間制限については、[バックグラウンドコマンドの時間制限](/docs/ja/tools-reference#time-limit-for-background-commands) を参照してください。
3188 3192
3189<h3 id="monitor">3193<h3 id="monitor">
3190 Monitor3194 Monitor
4088 4092
4089`timedOutAfterMs` はタイムアウト(ミリ秒単位)で、コマンドがタイムアウトに達し、明示的に開始するのではなくバックグラウンドに移動した場合に設定されます。`backgroundCwdHint` はバックグラウンド化されたコマンドに `cd`、`pushd`、`popd`、`chdir` などのディレクトリ変更組み込みが含まれていた場合に設定され、セッション作業ディレクトリが変更されなかったことを注記します。両方のフィールドは Claude Code v2.1.210 以降が必要です。4093`timedOutAfterMs` はタイムアウト(ミリ秒単位)で、コマンドがタイムアウトに達し、明示的に開始するのではなくバックグラウンドに移動した場合に設定されます。`backgroundCwdHint` はバックグラウンド化されたコマンドに `cd`、`pushd`、`popd`、`chdir` などのディレクトリ変更組み込みが含まれていた場合に設定され、セッション作業ディレクトリが変更されなかったことを注記します。両方のフィールドは Claude Code v2.1.210 以降が必要です。
4090 4094
4091フォアグラウンドで実行されているサブエージェントがバックグラウンド化されたコマンドを所有している場合、コマンドは[そのサブエージェントの実行が終了するときに終了します](/docs/ja/tools-reference#background-commands)。Claude Code はそのようなコマンドで `backgroundEndsWithFinalResponse` を `true` に設定し、コマンドがターンを超えて存続する場合はフィールドを省略します。メインの会話またはバックグラウンドサブエージェントによって開始されたコマンドと同様です。このフィールドは Claude Code v2.1.227 以降が必要です。4095フォアグラウンドで実行されているサブエージェントがバックグラウンド化されたコマンドを所有している場合、コマンドは[そのサブエージェントの実行が終了するときに終了します](/docs/ja/tools-reference#when-a-background-command-stops)。Claude Code はそのようなコマンドで `backgroundEndsWithFinalResponse` を `true` に設定し、コマンドがターンを超えて存続する場合はフィールドを省略します。メインの会話またはバックグラウンドサブエージェントによって開始されたコマンドと同様です。このフィールドは Claude Code v2.1.227 以降が必要です。
4092 4096
4093Claude Code は `gitOperation.commit.branch` を git のコミットサマリー行で名付けられたブランチに設定し、デタッチされた HEAD でコミットされたブランチの場合は省略します。このフィールドは Agent SDK v0.3.227 以降が必要です。Claude Code は `gh pr reopen` コマンドを `reopened` PR アクションとして報告します。これは Agent SDK v0.3.234 以降が必要です。4097Claude Code は `gitOperation.commit.branch` を git のコミットサマリー行で名付けられたブランチに設定し、デタッチされた HEAD でコミットされたブランチの場合は省略します。このフィールドは Agent SDK v0.3.227 以降が必要です。Claude Code は `gh pr reopen` コマンドを `reopened` PR アクションとして報告します。これは Agent SDK v0.3.234 以降が必要です。
4094 4098