SpyBara
Go Premium

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

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

artifacts.md +1 −3

Details

340 340 

341Claude Docs は Claude Code にコマンドではなく claude.ai [コネクター](https://code.claude.com/docs/ja/mcp.md#use-mcp-servers-from-claude-ai) として到達します。接続されている場合、`/mcp` はそれを `claude.ai Claude Docs` としてリストします。他の人のためのドキュメントのリクエストは、アーティファクトページではなく Claude Docs に送られます。仕様、提案、またはセッションで作成したプランの書き込みです。Claude はドキュメントが作成されたときにドキュメントのリンクを提供します。341Claude Docs は Claude Code にコマンドではなく claude.ai [コネクター](https://code.claude.com/docs/ja/mcp.md#use-mcp-servers-from-claude-ai) として到達します。接続されている場合、`/mcp` はそれを `claude.ai Claude Docs` としてリストします。他の人のためのドキュメントのリクエストは、アーティファクトページではなく Claude Docs に送られます。仕様、提案、またはセッションで作成したプランの書き込みです。Claude はドキュメントが作成されたときにドキュメントのリンクを提供します。

342 342 

343README などのコードベースに属するドキュメントはファイルのままです。Claude が Claude Docs に配置するであろう何かのためにファイルを取得するには、`.docx` またはリポジトリ内の Markdown ファイルなどの形式を指定します。343README などのコードベースに属するドキュメントはファイルのままです。Claude が Claude Docs に配置するであろう何かのためにファイルを取得するには、`.docx` またはリポジトリ内の Markdown ファイルなどの形式を指定します。`claude.ai Claude Docs` コネクタのみをオフにするには、[claude.ai コネクタを無効にする](https://code.claude.com/docs/ja/mcp.md#disable-claude-ai-connectors) を参照してください。

344 

345コネクターをオフにするには、`claude.ai Claude Docs` を `deniedMcpServers` に追加するか、[claude.ai コネクターを無効にする](https://code.claude.com/docs/ja/mcp.md#disable-claude-ai-connectors) で説明されている `/mcp` トグルを使用します。

346 344 

347## ページの制約345## ページの制約

348 346 

Details

458 458 

459#### 親設定のフックキーとスキルキーがどのように有効になるか459#### 親設定のフックキーとスキルキーがどのように有効になるか

460 460 

461Agent SDK の `managedSettings` オプションを通じて `disableAllHooks: true` を親設定として渡しても、すべてのフックが停止するわけではありません。[SDK フックコールバック](https://code.claude.com/docs/ja/agent-sdk/hooks.md)は引き続き実行され、管理者のフックも実行されます。管理者のフックはアプリケーションからオフにできません。461アプリケーションが Agent SDK の [`managedSettings`](https://code.claude.com/docs/ja/agent-sdk/typescript#options) オプションで渡すキーは親設定です。管理者が管理設定をデプロイしているマシンでは、管理者が[埋め込みホストにポリシーの追加を許可](https://code.claude.com/docs/ja/managed-settings.md#let-an-embedding-host-add-policy)しない限り、Claude Code は親設定を無視します。

462 462 

463管理者が管理設定をデプロイしているマシンでは、管理者が[埋め込みホストにポリシーの追加を許可](https://code.claude.com/docs/ja/managed-settings.md#let-an-embedding-host-add-policy)しない限り、Claude Code は親設定を無視します。463`managedSettings` で [`disableAllHooks: true`](https://code.claude.com/docs/ja/settings-reference#disableallhooks) を渡した場合:

464 

465* **停止するもの**:ユーザー、プロジェクト、およびローカルのフックと、エージェントのフロントマターまたは SDK の [`settings` オプション](https://code.claude.com/docs/ja/agent-sdk/typescript#options)で宣言されたフック。

466* **引き続き実行されるもの**:アプリケーションの [SDK フックコールバック](https://code.claude.com/docs/ja/agent-sdk/hooks.md)と、管理設定にある管理者のフック。管理者のフックはアプリケーションからオフにできません。

464 467 

465| 渡すもの | 何が起こるか |468| 渡すもの | 何が起こるか |

466| :- | :- |469| :- | :- |

467| `disableAllHooks: true` | `allowManagedHooksOnly: true` として扱われるため、[`allowManagedHooksOnly` でブロックされる](https://code.claude.com/docs/ja/settings-reference#what-runs-under-allowmanagedhooksonly)ものとして挙げられているフックが停止し、SDK の [`settings` オプション](https://code.claude.com/docs/ja/agent-sdk/typescript#options)のフックも停止します。 |470| `hooks`、またはエントリを含む `allowedHttpHookUrls` または `httpHookAllowedEnvVars` | Claude Code はこのキーを無視します。代わりに SDK の `settings` オプションを使用してください。 |

468| [`disableSkillShellExecution: true`](https://code.claude.com/docs/ja/settings-reference#disableskillshellexecution) | 有効になります。 |

469| `allowedHttpHookUrls: []` | 管理者が `hooks` を定義しているかプラグインを有効にしていない限り、有効になります。別の設定ソースが挙げている URL を除き、HTTP フックは実行されません。 |471| `allowedHttpHookUrls: []` | 管理者が `hooks` を定義しているかプラグインを有効にしていない限り、有効になります。別の設定ソースが挙げている URL を除き、HTTP フックは実行されません。 |

470| `httpHookAllowedEnvVars: []` | 管理者が `hooks` を定義しているかプラグインを有効にしていない限り、有効になります。HTTP フックのヘッダーには、別の設定ソースが挙げている環境変数のみを含めることができます。 |472| `httpHookAllowedEnvVars: []` | 管理者が `hooks` を定義しているかプラグインを有効にしていない限り、有効になります。HTTP フックのヘッダーには、別の設定ソースが挙げている環境変数のみを含めることができます。 |

471| エントリを含む `allowedHttpHookUrls` または `httpHookAllowedEnvVars` | マージすると管理者のリストが広がるため、Claude Code はこれを無視します。代わりに SDK の `settings` オプションを使用してください。 |473| [`disableSkillShellExecution: true`](https://code.claude.com/docs/ja/settings-reference#disableskillshellexecution) | 有効になります。 |

472 474 

473`managedSettings` でこれらのキーを渡すには、Claude Code v2.1.309 以降、または TypeScript Agent SDK v0.3.309 以降が必要です。475`managedSettings` でこれらのキーを渡すには、Claude Code v2.1.309 以降、または TypeScript Agent SDK v0.3.309 以降が必要です。

474 476 

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> クラウドセッションは Pro、Max、Team プランで利用でき、Premium シートまたは Chat + Claude Code シートを持つ Enterprise ユーザーも対象です。Enterprise 組織が[カスタムロール](https://support.claude.com/en/articles/13930452)でアクセスを管理している場合は、クラウドセッションの権限を含むロールも必要です。Owner にロールの確認を依頼し、不足している場合は [**Organization settings > Roles**](https://claude.ai/admin-settings/roles) で追加してもらってください。11> クラウドセッションは Pro、Max、Team プランで利用でき、Premium シートまたは Chat + Claude Code シートを持つ Enterprise ユーザーも対象です。[カスタムロール](https://support.claude.com/en/articles/13930452)でアクセスが管理されている場合、ブラウザ、アプリ、またはターミナルから Anthropic のインフラストラクチャでセッションを開始するには、クラウドセッションの権限を含むロールも必要です。Owner に依頼して、[**Organization settings > Roles**](https://claude.ai/admin-settings/roles) でいずれかのロールにこの権限を追加してもらってください。

12 12 

13クラウドセッションは、マシン上ではなくクラウドインフラストラクチャで実行される Claude Code セッションです。デフォルトでは Anthropic が管理するインフラストラクチャで実行されるか、ルーティングされた場合は組織の[セルフホスト環境](https://code.claude.com/docs/ja/self-hosted-environments)で実行されます。セッションはラップトップを閉じた後も実行を続け、任意のデバイスから確認または操作できます。クラウドセッションは、Claude および Claude Code のその他の使用量と合わせてプランの使用制限にカウントされ、クラウド VM に対する別途料金はかかりません。13クラウドセッションは、マシン上ではなくクラウドインフラストラクチャで実行される Claude Code セッションです。デフォルトでは Anthropic が管理するインフラストラクチャで実行されるか、ルーティングされた場合は組織の[セルフホスト環境](https://code.claude.com/docs/ja/self-hosted-environments)で実行されます。セッションはラップトップを閉じた後も実行を続け、任意のデバイスから確認または操作できます。クラウドセッションは、Claude および Claude Code のその他の使用量と合わせてプランの使用制限にカウントされ、クラウド VM に対する別途料金はかかりません。

14 14 

Details

109 109 

110#### シークレットを追加する110#### シークレットを追加する

111 111 

112シークレットは一度に 1 つずつ追加し、追加後にシークレットを編集することはできません。シークレットのホストまたは値を変更するには、削除して再度追加します。112シークレットは一度に 1 つずつ追加します。シークレットのホストまたは値を変更するには、削除して再度追加します。

113 113 

114[共有環境](#organization-shared-environments) にシークレットを追加するには、[管理設定](https://claude.ai/admin-settings) の **クラウド環境** ページから環境を編集用に開き、その **ネットワークシークレット** セクションで手順 2 から続けます。Team プランで [組織管理者ロール](#requirements) を持っていない場合は、自分の環境で手順 1 に従い、その後 [短いフォームに入力](#add-a-secret-without-the-role) します。114[共有環境](#organization-shared-environments) にシークレットを追加するには、[管理設定](https://claude.ai/admin-settings) の **クラウド環境** ページから環境を編集用に開き、その **ネットワークシークレット** セクションで手順 2 から続けます。Team プランで [組織管理者ロール](#requirements) を持っていない場合は、自分の環境で手順 1 に従い、その後 [短いフォームに入力](#add-a-secret-without-the-role) します。

115 115 


119 119 

120**2. シークレットを追加する**120**2. シークレットを追加する**

121 121 

122**シークレットを追加** を選択してフォームに入力します。API キーがリクエストヘッダーで移動する場合はデフォルトの **シークレットタイプ**、**Bearer** を保持し、これらのフィールドに入力します。122**シークレットを追加**(管理設定では **追加** と表示)を選択してフォームに入力します。API キーがリクエストヘッダーで移動する場合はデフォルトの **シークレットタイプ**、**Bearer** を保持し、これらのフィールドに入力します。

123 123 

124* **名前**: `Internal billing API` などのシークレットのラベル124* **名前**: `Internal billing API` などのシークレットのラベル

125* **許可されたウェブサイト**: `api.example.com` などの API のホスト。先頭の `*.` はすべてのサブドメインと一致します125* **許可されたウェブサイト**: `api.example.com` などの API のホスト。先頭の `*.` はすべてのサブドメインと一致します


443 443 

444### スクリプト要件444### スクリプト要件

445 445 

446セットアップスクリプトには、対応する 3 つの制約があります。446セットアップスクリプトには、対応する 4 つの制約があります。

447 447 

448* **ゼロで終了**:スクリプトがゼロ以外で終了する場合、セッションは開始に失敗します。非重要なコマンドに `|| true` を追加して、一時的なインストール失敗がセッションをブロックしないようにします。448* **ゼロで終了**:スクリプトがゼロ以外で終了する場合、セッションは開始に失敗します。非重要なコマンドに `|| true` を追加して、一時的なインストール失敗がセッションをブロックしないようにします。

449* **5 分以内に完了**:スクリプトの総実行時間を約 5 分以内に保つため、[環境キャッシュ](#environment-caching) をビルドできます。セットアップが 5 分以上かかる場合、環境はキャッシュされません。独立したインストールを `&` と `wait` で並列実行し、フィットしない単一ダウンロードを [SessionStart フック](#setup-scripts-vs-sessionstart-hooks) に移動して、バックグラウンドで起動します。新しいセッションがセットアップ中にハングまたはタイムアウトする場合は、[新しいセッションがセットアップ中にハングまたはタイムアウトする](https://code.claude.com/docs/ja/web-quickstart.md#new-sessions-hang-or-time-out-during-setup) を参照してください。449* **5 分以内に完了**:スクリプトの総実行時間を約 5 分以内に保つため、[環境キャッシュ](#environment-caching) をビルドできます。セットアップが 5 分以上かかる場合、環境はキャッシュされません。独立したインストールを `&` と `wait` で並列実行し、フィットしない単一ダウンロードを [SessionStart フック](#setup-scripts-vs-sessionstart-hooks) に移動して、バックグラウンドで起動します。新しいセッションがセットアップ中にハングまたはタイムアウトする場合は、[新しいセッションがセットアップ中にハングまたはタイムアウトする](https://code.claude.com/docs/ja/web-quickstart.md#new-sessions-hang-or-time-out-during-setup) を参照してください。

450* **インストール用のネットワークアクセス**:パッケージインストールはレジストリに到達する必要があります。デフォルトの **Trusted** レベルは npm、PyPI、RubyGems、crates.io を含む [一般的なパッケージレジストリ](#default-allowed-domains) をカバーします。**None** ネットワークアクセスでは、インストールは失敗します。450* **インストール用のネットワークアクセス**:パッケージインストールはレジストリに到達する必要があります。デフォルトの **Trusted** レベルは npm、PyPI、RubyGems、crates.io を含む [一般的なパッケージレジストリ](#default-allowed-domains) をカバーします。**None** ネットワークアクセスでは、インストールは失敗します。

451* **環境の変数はまだ設定されていない**:スクリプトは、セッションが環境の [環境変数](#set-environment-variables) を設定する前に実行されます。スクリプトが必要とする値は、スクリプト自体で設定してください。

451 452 

452### 環境キャッシング453### 環境キャッシング

453 454 

Details

123 123 

124レビューで取り込んだファイルが適用されない場合は、次の各項目を確認してください。124レビューで取り込んだファイルが適用されない場合は、次の各項目を確認してください。

125 125 

126* **場所**:ファイルをリポジトリのルートに移動します。`@docs/review-rules.md` のようなサブディレクトリ内へのパスは取り込まれません。126* **場所**:ファイルをリポジトリのルートに移動します。[スキルファイル](#include-a-skill-file)を除き、`@docs/review-rules.md` のようなサブディレクトリ内へのパスは取り込まれません。

127* **名前**:大文字と小文字を含めてファイル名を正確に一致させ、スペースを含まない名前を使用します。`REVIEW.md` と同じ場所にあるどのファイルとも名前が一致しない行は、プレーンテキストとして `REVIEW.md` に残り、チェック実行ではスキップされた取り込みとして報告されません。127* **名前**:大文字と小文字を含めてファイル名を正確に一致させ、スペースを含まない名前を使用します。`REVIEW.md` と同じ場所にあるどのファイルとも名前が一致しない行は、プレーンテキストとして `REVIEW.md` に残り、チェック実行ではスキップされた取り込みとして報告されません。

128* **1 階層のみ**:すべてのファイルをルートの `REVIEW.md` に列挙します。取り込まれたファイル内やサブディレクトリの `REVIEW.md` 内の `@` 行はプレーンテキストのまま残り、別のファイルへの Markdown リンクは取り込みになりません。128* **1 階層のみ**:すべてのファイルをルートの `REVIEW.md` に列挙します。取り込まれたファイル内やサブディレクトリの `REVIEW.md` 内の `@` 行はプレーンテキストのまま残り([スキルファイルは異なります](#include-a-skill-file))、別のファイルへの Markdown リンクは取り込みになりません。

129* **上限**:取り込むファイルは異なるファイルで最大 8 つまでとし、`REVIEW.md` とそれが取り込むファイルの合計を 150,000 バイト未満に保ちます。バイト数の上限に達するファイルは、途中で切り詰められるのではなく、ファイル全体がスキップされます。チェック実行では、いずれかの上限によってスキップされた取り込み行の数が報告されます。129* **上限**:取り込むファイルは異なるファイルで最大 8 つまでとし、`REVIEW.md` とそれが取り込むファイルの合計を 150,000 バイト未満に保ちます。バイト数の上限に達するファイルは、途中で切り詰められるのではなく、ファイル全体がスキップされます。チェック実行では、いずれかの上限によってスキップされた取り込み行の数が報告されます。

130* **リンク**:`REVIEW.md` とそれが取り込むファイル全体で、Markdown リンクを 64 個以下に保ちます。`http`、`https`、`mailto` アドレスへのリンクと `#` アンカーへのリンクは数に含まれません。この上限を超えると、レビューは取り込まれたファイルだけでなく、ルートの `REVIEW.md` 全体をスキップします。その場合、チェック実行では[指示が適用されなかったことが示されます](https://code.claude.com/docs/ja/code-review-troubleshooting.md#the-check-run-mentions-review-md)。130* **リンク**:`REVIEW.md` とそれが取り込むファイル全体で、Markdown リンクを 64 個以下に保ちます。`http`、`https`、`mailto` アドレスへのリンクと `#` アンカーへのリンクは数に含まれず、[スキルファイル](#include-a-skill-file)内のリンクも含まれません。この上限を超えると、レビューは取り込まれたファイルだけでなく、ルートの `REVIEW.md` 全体をスキップします。その場合、チェック実行では[指示が適用されなかったことが示されます](https://code.claude.com/docs/ja/code-review-troubleshooting.md#the-check-run-mentions-review-md)。

131* **マージ済みのコピー**:取り込むファイルを [`REVIEW.md` が読み込まれるブランチ](#which-branch-review-md-is-read-from)にマージします。レビューは両方を同じコミットから読み込み、プルリクエスト自体の変更から読み込むことはありません。131* **マージ済みのコピー**:取り込むファイルを [`REVIEW.md` が読み込まれるブランチ](#which-branch-review-md-is-read-from)にマージします。レビューは両方を同じコミットから読み込み、プルリクエスト自体の変更から読み込むことはありません。

132 132 

133### スキルファイルを取り込む

134 

135[スキル](https://code.claude.com/docs/ja/skills.md)で管理しているガイダンスにレビューを従わせるには、スキルの `SKILL.md` をルートの `REVIEW.md` に取り込みます。Code Review はスキルを実行しません。

136 

137`@` と `SKILL.md` へのパスを `.claude/skills/<folder>/SKILL.md` の形式で、単独の行に追加します。

138 

139```markdown theme={null}

140# Review instructions

141 

142Report at most five Nits per review.

143 

144@.claude/skills/api-review/SKILL.md

145 

146Treat any change under `migrations/` as Important.

147```

148 

149Code Review は保護されたブランチから `REVIEW.md` を読み込む場合にのみスキルファイルを取り込むため、[`REVIEW.md` が読み込まれるブランチ](#which-branch-review-md-is-read-from)を保護してください。スキルファイルは 8 ファイルおよび 150,000 バイトの上限の対象となり、さらに独自の上限として 30,000 バイトがあります。

150 

151#### Code Review が取り込むスキル行を書く

152 

153スペースを含まないフォルダー名を使用します。パスにスペースを含む行はプレーンテキストとして `REVIEW.md` に残り、チェック実行ではスキップされた取り込みとして報告されません。

154 

155スキルの `@` 行が次のいずれかのルールに違反している場合、Code Review はその行からスキルを取り込みません。

156 

157* **パス**:パスはリポジトリのルートからの `.claude/skills/<folder>/SKILL.md` として記述し、スキルのフォルダーを `skills/` の直下に置きます。ルートにあるファイル名とは異なり、この形式のパスでどのファイルとも一致しないものはスキップされ、カウントされます。

158* **ソース**:`.claude/` 配下のその他のファイルや、[バンドル、個人、またはプラグインのスキル](https://code.claude.com/docs/ja/skills.md#where-skills-live)からのガイダンスは、`REVIEW.md` と並ぶファイルにコピーします。これらを直接取り込むことはできません。

159* **ファイル**:`SKILL.md` は通常のテキストファイルとしてコミットします。Code Review はシンボリックリンクをたどりません。リンクがファイル自体であっても、パス内のフォルダーであっても同様です。

160* **サイズ**:`SKILL.md` はフロントマターを含めて 30,000 バイト以下に保ちます

161* **数**:スキル行は最大 8 つまでとします。繰り返された行も、8 つのうちに改めてカウントされます。

162* **`REVIEW.md` 内のブロック**:`@` 行をコードフェンスの外に置きます。その行より上にあるすべての HTML コメントと、すべての `<pre>`、`<script>`、`<style>`、`<textarea>` ブロックを閉じてください。

163 

164Code Review がファイル、サイズ、数、またはブロックのルールへの違反によってスキル行をスキップした場合、その行はチェック実行の[スキップされた取り込み行に関するメッセージ](https://code.claude.com/docs/ja/code-review-troubleshooting.md#the-check-run-mentions-review-md)でカウントされます。このメッセージは、レビューが保護されたブランチの `REVIEW.md` を適用する場合にのみ表示されます。

165 

166#### レビューがスキルから受け取る内容を確認する

167 

168スキルが取り込まれると、レビューはスキルから `SKILL.md` の本文だけを受け取ります。そのため、次のリストに照らしてスキルを確認してください。

169 

170* **フロントマター**:レビューが[フロントマター](https://code.claude.com/docs/ja/skills.md#frontmatter-reference)から必要とする内容、たとえばスキルを使用する条件として `description` に記述されている内容を、本文にも繰り返し記述します

171* **挿入されるコマンド**:[`!` コマンド](https://code.claude.com/docs/ja/skills#inject-dynamic-context)が提供する内容を書き出します。Code Review はコマンドを実行せず、コマンドを含む行またはブロック全体をプレースホルダーに置き換えます。

172* **置換**:`$ARGUMENTS` やその他の[置換](https://code.claude.com/docs/ja/skills.md#available-string-substitutions)を固定テキストに置き換えます。レビューは引数を渡さず、それらを記述されたまま残すためです

173* **サポートファイル**:レビューに必要な内容を `SKILL.md` にコピーします。Code Review はスクリプト、リンクされたファイル、`@file` 参照を読み込まないためです

174* **除外と Nit の上限**:検出結果を除外する指示や Nit に上限を設ける指示は、スキルではなく、`REVIEW.md` またはそれと並ぶファイルに記述します。Code Review は、スキルのテキストをそのどちらの根拠としても受け入れません。

175* **リポジトリのファイルへのリンク**:リンクや `@file` 参照が何を指しているかを言葉で説明します。レビューではパスがプレーンテキストまたはプレースホルダーとして表示されます。

176 

177スキルの `!` コマンド、`$ARGUMENTS`、またはリンクを編集すると、Claude Code でのスキルの動作も変わります。チームがそれらに依存している場合は、ガイダンスを `REVIEW.md` と並ぶファイルにコピーし、スキルの代わりにそのファイルを取り込んでください。

178 

179#### Code Review がスキルのテキスト内で変更する文字

180 

181Code Review はスキルのテキスト内の一部の文字を変更するため、コードサンプルは次のような形でレビューに渡されます。

182 

183```text theme={null}

184In SKILL.md: Use `items[0]`, never `List<String>`.

185The review reads: Use ˋitems(0)ˋ, never ˋList< String>ˋ.

186 

187In SKILL.md: Run `ps | grep api` and ask @alice.

188The review reads: Run ˋps ¦ grep apiˋ and ask @ alice.

189```

190 

191ルールがこれらの文字のいずれかに依存する場合は、その内容を言葉でも説明してください。

192 

133### REVIEW\.md がどのブランチから読み込まれるか193### REVIEW\.md がどのブランチから読み込まれるか

134 194 

135Code Review は、`REVIEW.md` をプルリクエストのベースブランチまたはデフォルトブランチから読み込み、プルリクエスト自体の変更から読み込むことはありません。レビューの動作を変更するには、まず `REVIEW.md` の変更をマージしてください。195Code Review は、`REVIEW.md` をプルリクエストのベースブランチまたはデフォルトブランチから読み込み、プルリクエスト自体の変更から読み込むことはありません。レビューの動作を変更するには、まず `REVIEW.md` の変更をマージしてください。


140* パス、ファイル、または問題の種類を除外する200* パス、ファイル、または問題の種類を除外する

141* nit コメントの数に上限を設ける201* nit コメントの数に上限を設ける

142 202 

203除外と Nit の上限は、[取り込まれたスキル](#include-a-skill-file)ではなく、`REVIEW.md` またはそれと並ぶファイルに記述してください。

204 

143#### ブランチ保護とみなされるもの205#### ブランチ保護とみなされるもの

144 206 

145Code Review は、次の設定を保護とみなします。207Code Review は、次の設定を保護とみなします。

Details

67 67 

68## チェック実行に REVIEW\.md が記載されている68## チェック実行に REVIEW\.md が記載されている

69 69 

70チェック実行に表示される `REVIEW.md` に関するメッセージのうち、次の 3 つを取り上げます。70チェック実行に表示される `REVIEW.md` に関するメッセージのうち、次の 4 つを取り上げます。

71 71 

72* **「This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes.」**:レビューはルートのファイルのみを読み込みました。ブランチを保護すると何が変わるかについては、[REVIEW.md の読み込み元ブランチ](https://code.claude.com/docs/ja/code-review-customize.md#which-branch-review-md-is-read-from)を参照してください。72* **「This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes.」**:レビューはルートのファイルのみを読み込みました。ブランチを保護すると何が変わるかについては、[REVIEW.md の読み込み元ブランチ](https://code.claude.com/docs/ja/code-review-customize.md#which-branch-review-md-is-read-from)を参照してください。

73* **「were not applied to this review: branch protection could not be confirmed」**:レビューは `REVIEW.md` を読み込みませんでした。73* **「were not applied to this review: branch protection could not be confirmed」**:レビューは `REVIEW.md` を読み込みませんでした。


75 * **リンクが多すぎる**:64 個を超える Markdown リンクが含まれています。リンクを [64 個以下](https://code.claude.com/docs/ja/code-review-customize.md#include-other-files-in-review-md)に減らしてください。75 * **リンクが多すぎる**:64 個を超える Markdown リンクが含まれています。リンクを [64 個以下](https://code.claude.com/docs/ja/code-review-customize.md#include-other-files-in-review-md)に減らしてください。

76 * **レビューが解析できないリンク**:不正な形式の Markdown リンクが含まれています。リンクを修正するか削除してください。76 * **レビューが解析できないリンク**:不正な形式の Markdown リンクが含まれています。リンクを修正するか削除してください。

77 * **変更されたファイルへのリンク**:このプルリクエストが変更するファイルまたはフォルダーにリンクしており、レビューはそのリンクを含む行だけを除外することができませんでした。ルールを `REVIEW.md` 自体に記述してください。77 * **変更されたファイルへのリンク**:このプルリクエストが変更するファイルまたはフォルダーにリンクしており、レビューはそのリンクを含む行だけを除外することができませんでした。ルールを `REVIEW.md` 自体に記述してください。

78* **「include line(s) in the root REVIEW\.md were skipped on this review」**:ルートの `REVIEW.md` は適用されましたが、それらの行で指定されたファイルは適用されませんでした。[REVIEW.md に他のファイルをインクルードする](https://code.claude.com/docs/ja/code-review-customize.md#include-other-files-in-review-md)の一覧を確認し、スキルの場合は[スキルファイルをインクルードする](https://code.claude.com/docs/ja/code-review-customize.md#include-a-skill-file)の一覧も確認してください。

78 79 

79## セットアップの問題80## セットアップの問題

80 81 

desktop.md +3 −3

Details

844| [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars#variables) または [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ja/env-vars#variables) | [開発サーバー用の変数を設定する場所のいずれか](#set-environment-variables-for-dev-servers)で設定してから、Desktop を終了して再度開きます |844| [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars#variables) または [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ja/env-vars#variables) | [開発サーバー用の変数を設定する場所のいずれか](#set-environment-variables-for-dev-servers)で設定してから、Desktop を終了して再度開きます |

845| `API_TIMEOUT_MS`、`ANTHROPIC_BASE_URL`、または Desktop 自身が設定するその他の変数 | [Desktop 自身が設定する環境変数](#environment-variables-desktop-sets-itself)を参照してください |845| `API_TIMEOUT_MS`、`ANTHROPIC_BASE_URL`、または Desktop 自身が設定するその他の変数 | [Desktop 自身が設定する環境変数](#environment-variables-desktop-sets-itself)を参照してください |

846 846 

847macOS または Linux で、すでに `~/.zshrc` または `~/.bashrc` で `export` を使って変数を設定している場合は、[Claude が実行するコマンドでエクスポートした変数が見つからない、または値が正しくない](#exported-variable-missing-or-wrong-in-commands-claude-runs)を参照してください。847macOS または Linux で、`export` で設定した変数が Claude の実行するコマンドで欠落している、または誤っている場合は、[Claude が実行するコマンドでエクスポートした変数が欠落している、または誤っている](#exported-variable-missing-or-wrong-in-commands-claude-runs)を参照してください。

848 848 

849#### ローカルセッションの環境変数を設定する849#### ローカルセッションの環境変数を設定する

850 850 


904 904 

905**3. 保存済みの変数を確認する**905**3. 保存済みの変数を確認する**

906 906 

907コマンドに誤った値が渡される場合は、[保存済み環境](#use-edit-or-remove-a-saved-environment)または[ローカル環境エディター](#use-the-local-environment-editor)でもその変数を設定していないか確認します。設定している場合は、そこで値を変更して新しいセッションを開始します。907コマンドに誤った値が渡される場合は、その変数を[保存済み環境](#use-edit-or-remove-a-saved-environment)または[ローカル環境エディター](#use-the-local-environment-editor)でも設定していないか確認します。設定している場合は、そこで値を変更し、新しいセッションを開始します。

908 908 

909**4. 保存済み環境を使用する**909**4. 保存済み環境を使用する**

910 910 

911変数を[保存済みのローカル環境](#set-environment-variables-for-local-sessions)に追加してから、その環境で新しいセッションを開始します。`PATH` や `CLAUDE_CONFIG_DIR` などの変数については、代わりに[専用の手順](#environment-variables-in-local-sessions)に従ってください。911変数を[保存済みのローカル環境](#set-environment-variables-for-local-sessions)に追加してから、その環境から新しいセッションを開始します。`PATH`、`CLAUDE_CONFIG_DIR`、`API_TIMEOUT_MS` などの変数については、代わりに[専用の手順](#environment-variables-in-local-sessions)に従ってください。

912 912 

913v2.1.304 より前の Claude Code はエクスポートされた変数をコマンドに渡さないため、[セッションで実行されているバージョンを確認](#claude-code-version-in-the-code-tab)してください。913v2.1.304 より前の Claude Code はエクスポートされた変数をコマンドに渡さないため、[セッションで実行されているバージョンを確認](#claude-code-version-in-the-code-tab)してください。

914 914 

Details

15 15 

16このページではローカルスケジュールタスクについて説明します。クラウドスケジュールタスクとそのトリガーオプションについては、[スケジュールタスクで作業を自動化する](https://code.claude.com/docs/ja/routines.md)を参照してください。16このページではローカルスケジュールタスクについて説明します。クラウドスケジュールタスクとそのトリガーオプションについては、[スケジュールタスクで作業を自動化する](https://code.claude.com/docs/ja/routines.md)を参照してください。

17 17 

18> [!NOTE]

19>

20> アプリでこの機能が[以前の名前](https://code.claude.com/docs/ja/routines.md#where-the-name-routines-still-appears)で表示されている場合は、このページで **Scheduled** と記載されている箇所では **Routines** を、**New task** と記載されている箇所では **New routine** をクリックしてください。

21 

18## スケジュール設定オプションの比較22## スケジュール設定オプションの比較

19 23 

20Claude Code は、定期的または 1 回限りの作業をスケジュールするための 3 つの方法を提供します。24Claude Code は、定期的または 1 回限りの作業をスケジュールするための 3 つの方法を提供します。


45 49 

46**1. Scheduled tasks ページを開く**50**1. Scheduled tasks ページを開く**

47 51 

48[**Code** タブ](https://code.claude.com/docs/ja/desktop.md)で、サイドバーまたはサイドバーの **More** メニューにある **Scheduled** をクリックします。52[**Code** タブ](https://code.claude.com/docs/ja/desktop.md)で、サイドバーまたはサイドバーの **More** メニューにある **Scheduled** をクリックします。サイドバーに **Scheduled** ではなく **Routines** が表示されている場合は、**Routines** をクリックしてから **New routine** をクリックし、[フルページフォーム](#full-page-form)に進んでください。

49 53 

50**2. 新しいタスクを開始する**54**2. 新しいタスクを開始する**

51 55 

52**New task** をクリックします。**Create with Claude** と **Set up manually** を含むメニューが開いた場合は、**Set up manually** を選択します。**New scheduled task** ダイアログが開きます。ダイアログの上部に **Only on this computer** がある場合は、何かを入力する前に[上部に Only on this computer があるダイアログ](#dialog-with-only-on-this-computer-at-the-top)に進んでください。56**New task** をクリックして **New scheduled task** ダイアログを開きます。先に進む前に、次の画面が表示されていないか確認してください。

57 

58* **Create with Claude** と **Set up manually** を含むメニューが開いた場合は、**Set up manually** を選択してダイアログを開きます。

59* ダイアログの上部に **Only on this computer** がある場合は、何かを入力する前に[上部に Only on this computer があるダイアログ](#dialog-with-only-on-this-computer-at-the-top)に進んでください。

60* **Local** と **Cloud** を含むメニューが開いた場合、またはダイアログの代わりにフルページが開いた場合は、[フルページフォーム](#full-page-form)に進んでください。

53 61 

54**3. タスクに名前を付ける**62**3. タスクに名前を付ける**

55 63 


99 107 

100**Create** をクリックします。タスクの詳細ページが開きます。108**Create** をクリックします。タスクの詳細ページが開きます。

101 109 

110### フルページフォーム

111 

112**Local** と **Cloud** を含むメニューが開いた場合は、**Local** を選択します。**New local routine** または **New local scheduled task** というタイトルのページが開きます。各フィールドに入力します。

113 

114* **Name**:すべてのタスクの中で一意の名前を入力します。

115* **Description**:説明を入力します。

116* **Instructions**:タスクの実行時に Claude が行う内容を入力します。同じボックスで、権限モード、モデル、タスクを実行するフォルダを選択します。

117* **Schedule**:[スケジュールオプション](#schedule-options)のいずれかを選択します。

118 

119**Create** が使用できない場合は、その上にカーソルを合わせると、フォームにまだ必要な項目が表示されます。**Create** をクリックすると、タスクの詳細ページが開きます。

120 

102## スケジュール設定オプション121## スケジュール設定オプション

103 122 

104**Advanced settings** で **Only on this computer** をオンにすると、**Trigger** カードには Hourly、Daily、Weekdays、Weekly が表示されます。このようなタスクで **Manual** または **Custom** を使用するには、作成後にタスクの [**Edit** フォーム](#manage-scheduled-tasks)を開きます。このフォームと [**Only on this computer** が上部にあるダイアログ](#dialog-with-only-on-this-computer-at-the-top)では、次の 6 つのオプションを選択できます。123**Advanced settings** で **Only on this computer** をオンにすると、**Trigger** カードには Hourly、Daily、Weekdays、Weekly が表示されます。このようなタスクで **Manual** または **Custom** を使用するには、作成後にタスクの [**Edit** フォーム](#manage-scheduled-tasks)を開きます。このフォーム、[**Only on this computer** が上部にあるダイアログ](#dialog-with-only-on-this-computer-at-the-top)、および[全ページフォーム](#full-page-form)では、次の 6 つのオプションを選択できます。

105 124 

106* **Hourly**: 1 時間ごとに実行されます125* **Hourly**: 1 時間ごとに実行されます

107* **Daily**: 毎日、選択した現地時間に実行されます126* **Daily**: 毎日、選択した現地時間に実行されます

env-vars.md +1 −1

Details

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

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

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

301| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | ターミナルが Unicode プレースホルダー付きの kitty グラフィックプロトコル画像を描画できるにもかかわらず、`Image` の淡色表示された `alt` テキストが表示される場合に、`1` に設定すると [mod の `Image` 要素](https://code.claude.com/docs/ja/plugins/mods/reference#elements)を画像として描画します。[`Image` を描画するターミナル](https://code.claude.com/docs/ja/plugins/mods/gallery#image-and-client)と、tmux や screen 内でこの変数が役に立たない理由を参照してください |301| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | ターミナルが Unicode プレースホルダー付きの kitty グラフィックスプロトコル画像を描画できるのに、`Image` の薄く表示された `alt` テキストが表示される場合に、`1` に設定すると [mod の `Image` 要素](https://code.claude.com/docs/ja/plugins/mods/reference#elements)を画像として描画します。[`Image` を描画するターミナルと、この変数を設定すべきでない場所](https://code.claude.com/docs/ja/plugins/mods/gallery#image-and-client)を参照してください |

302| `CLAUDE_CODE_FORK_SUBAGENT` | fork モードを制御します。fork モードはデフォルトでオンで、Claude が自ら[フォーク](https://code.claude.com/docs/ja/sub-agents.md#fork-the-current-conversation)を開始できるようにします。fork モードがオンの間、Claude はマシン上の対話型ターミナル、VS Code、またはデスクトップのセッションで[サブエージェントを待機する](https://code.claude.com/docs/ja/sub-agents.md#run-subagents-in-foreground-or-background)こともできません。`0` に設定すると fork モードをオフにします。バージョンについては、[fork モードをオフにする](https://code.claude.com/docs/ja/sub-agents.md#turn-fork-mode-on-or-off)を参照してください |302| `CLAUDE_CODE_FORK_SUBAGENT` | fork モードを制御します。fork モードはデフォルトでオンで、Claude が自ら[フォーク](https://code.claude.com/docs/ja/sub-agents.md#fork-the-current-conversation)を開始できるようにします。fork モードがオンの間、Claude はマシン上の対話型ターミナル、VS Code、またはデスクトップのセッションで[サブエージェントを待機する](https://code.claude.com/docs/ja/sub-agents.md#run-subagents-in-foreground-or-background)こともできません。`0` に設定すると fork モードをオフにします。バージョンについては、[fork モードをオフにする](https://code.claude.com/docs/ja/sub-agents.md#turn-fork-mode-on-or-off)を参照してください |

303| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | `1` に設定すると、`claude -p --output-format stream-json` の出力に [サブエージェント](https://code.claude.com/docs/ja/sub-agents.md) のテキストと思考ブロックを出力します。これは [`--forward-subagent-text`](https://code.claude.com/docs/ja/cli-reference#cli-flags) フラグと同じ動作です。ハーネスが `claude` を呼び出し、フラグ自体を渡せない場合にこの変数を使用します。stream-json 出力を伴う非対話モード以外ではエラーで終了するフラグとは異なり、この変数はそのような場合には無視されるため、プロセス全体で設定されていてもネストされた呼び出しは引き続き動作します。Claude Code v2.1.211 以降が必要です |303| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | `1` に設定すると、`claude -p --output-format stream-json` の出力に [サブエージェント](https://code.claude.com/docs/ja/sub-agents.md) のテキストと思考ブロックを出力します。これは [`--forward-subagent-text`](https://code.claude.com/docs/ja/cli-reference#cli-flags) フラグと同じ動作です。ハーネスが `claude` を呼び出し、フラグ自体を渡せない場合にこの変数を使用します。stream-json 出力を伴う非対話モード以外ではエラーで終了するフラグとは異なり、この変数はそのような場合には無視されるため、プロセス全体で設定されていてもネストされた呼び出しは引き続き動作します。Claude Code v2.1.211 以降が必要です |

304| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | `1` に設定すると、カスタムプロキシや、Amazon Bedrock、Claude Platform on AWS などのサードパーティプロバイダーで、`x-claude-code-request-class` や `x-claude-code-compaction` などの [ゲートウェイヒントヘッダー](https://code.claude.com/docs/ja/llm-gateway-protocol.md#gateway-hint-headers) を送信します。`0` に設定すると、Claude Code がデフォルトでこれらを送信する Anthropic API への直接接続を含むすべての接続で、送信を停止します。Claude Code v2.1.273 以降が必要です |304| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | `1` に設定すると、カスタムプロキシや、Amazon Bedrock、Claude Platform on AWS などのサードパーティプロバイダーで、`x-claude-code-request-class` や `x-claude-code-compaction` などの [ゲートウェイヒントヘッダー](https://code.claude.com/docs/ja/llm-gateway-protocol.md#gateway-hint-headers) を送信します。`0` に設定すると、Claude Code がデフォルトでこれらを送信する Anthropic API への直接接続を含むすべての接続で、送信を停止します。Claude Code v2.1.273 以降が必要です |

errors.md +66 −9

Details

317| `Skipping connection (recent failure cached; retries automatically in 15 min, or edit the plugin config to retry now)` | [プラグインエラー](#skipping-connection-recent-failure-cached) |317| `Skipping connection (recent failure cached; retries automatically in 15 min, or edit the plugin config to retry now)` | [プラグインエラー](#skipping-connection-recent-failure-cached) |

318| `Error: No such tool available: <tool name>` | [ツールエラー](#no-such-tool-available) |318| `Error: No such tool available: <tool name>` | [ツールエラー](#no-such-tool-available) |

319| `MCP server "<name>" connection closed before the tool call was answered` | [ツールエラー](#connection-closed-before-the-tool-call-was-answered) |319| `MCP server "<name>" connection closed before the tool call was answered` | [ツールエラー](#connection-closed-before-the-tool-call-was-answered) |

320| `MCP server "<name>" is disabled — re-enable it via /mcp to use its tools` | [ツールエラー](#mcp-server-is-disabled) |

321| `MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit.` | [ツールエラー](#mcp-tool-call-timed-out-with-the-servers-question-unanswered) |

320| `would be spawned with zero tools — refusing` | [ツールエラー](#agent-would-be-spawned-with-zero-tools) |322| `would be spawned with zero tools — refusing` | [ツールエラー](#agent-would-be-spawned-with-zero-tools) |

321| `File is covered by a Read deny rule in your permission settings` | [ツールエラー](#file-is-covered-by-a-read-deny-rule) |323| `File is covered by a Read deny rule in your permission settings` | [ツールエラー](#file-is-covered-by-a-read-deny-rule) |

322| `cannot contain null bytes (\0)` | [ツールエラー](#path-cannot-contain-null-bytes) |324| `cannot contain null bytes (\0)` | [ツールエラー](#path-cannot-contain-null-bytes) |


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

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

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

353| `git is not installed on this Mac. To install it, run xcode-select --install, then try again.` | [ツールエラー](#git-is-not-installed-on-this-mac) |

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

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

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


487 490 

488Claude が [advisor](https://code.claude.com/docs/ja/advisor.md) に相談している間は、長い advisor のレビューでは 20 秒を大きく超えて何も送信されないことがあるため、バナーは 20 秒ではなく、データのない状態が 90 秒続いた後に表示されます。v2.1.214 より前は、advisor の呼び出し中にも 20 秒のしきい値が適用されていたため、何も問題がない場合でも advisor のレビュー中にバナーが表示されていました。491Claude が [advisor](https://code.claude.com/docs/ja/advisor.md) に相談している間は、長い advisor のレビューでは 20 秒を大きく超えて何も送信されないことがあるため、バナーは 20 秒ではなく、データのない状態が 90 秒続いた後に表示されます。v2.1.214 より前は、advisor の呼び出し中にも 20 秒のしきい値が適用されていたため、何も問題がない場合でも advisor のレビュー中にバナーが表示されていました。

489 492 

493#### ゲートウェイ経由で待機中のバナーが表示されたり消えたりする

494 

495Claude が思考している間に `Waiting for API response` バナーが表示されたり消えたりし、ゲートウェイ経由で接続している場合は、[Claude Code を更新](https://code.claude.com/docs/ja/setup.md#update-claude-code)して v2.1.309 以降にしてください。次の接続では、データのない状態が 45 秒続いた後にバナーが表示されます。

496 

497* [LLM ゲートウェイ](https://code.claude.com/docs/ja/llm-gateway)など、Anthropic API 以外のホストに設定された [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ja/env-vars)

498* [Claude apps gateway](https://code.claude.com/docs/ja/claude-apps-gateway) のセッション

499* `ANTHROPIC_AWS_BASE_URL` が設定された [Claude Platform on AWS](https://code.claude.com/docs/ja/claude-platform-on-aws.md)

500 

501v2.1.309 より前は、これらの接続ではバナーは 20 秒後に表示されていました。

502 

490### 再試行の動作を調整する503### 再試行の動作を調整する

491 504 

492次の環境変数を使用して、再試行の動作を調整できます。505次の環境変数を使用して、再試行の動作を調整できます。


3256 3269 

3257**対処方法:**3270**対処方法:**

3258 3271 

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

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

3261 3274 

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


3425 3438 

3426**対処方法:**3439**対処方法:**

3427 3440 

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

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

3430 3443 

3431### Server is Anthropic-hosted and doesn't support local OAuth3444### Server is Anthropic-hosted and doesn't support local OAuth


3507 3520 

3508### origin/HEAD がないと /security-review が失敗する3521### origin/HEAD がないと /security-review が失敗する

3509 3522 

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

3511 3524 

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

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


3526 3539 

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

3528 3541 

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

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

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

3532 3545 

3533**対処方法:**3546**対処方法:**


3678 3691 

3679* **ベースブランチを指定しなかった場合**: Claude Code はリポジトリのデフォルトブランチと比較しており、上の例のようにベースを明示的に指定するよう提案します3692* **ベースブランチを指定しなかった場合**: Claude Code はリポジトリのデフォルトブランチと比較しており、上の例のようにベースを明示的に指定するよう提案します

3680* **クローン内に既に存在するベースブランチを指定した場合**: ヒントは ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)`` となります3693* **クローン内に既に存在するベースブランチを指定した場合**: ヒントは ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)`` となります

3681* **クローン内に存在しないベースブランチを指定した場合**: Claude Code は比較の前にそのブランチを origin からフェッチしています。ヒントは ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` となります。クローンがシャロークローンかどうかを Claude Code が判断できない場合は、代わりに `git fetch --unshallow origin` を提案します。v2.1.221 より前は、フェッチしたベースブランチすべてに対して `git fetch --unshallow origin` を提案しており、完全なクローンではこのコマンドが `fatal: --unshallow on a complete repository does not make sense` で失敗していました。3694* **クローンに存在しないベースブランチを指定した場合**: Claude Code は比較の前にそのブランチを origin から取得します。ヒントは ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` となります。クローンがシャロークローンかどうかを Claude Code が判断できない場合は、代わりに `git fetch --unshallow origin` を提案します。v2.1.221 より前は、取得したすべてのベースブランチに対して `git fetch --unshallow origin` が提案されていましたが、完全なクローンではこのコマンドが `fatal: --unshallow on a complete repository does not make sense` で失敗していました。

3682 3695 

3683**対処方法:**3696**対処方法:**

3684 3697 


4419* アクションが実行されていなかった場合は、Claude にツールを再度実行するよう依頼します。Claude Code はそのサーバーのツールへの次の呼び出し時にサーバーへ再度接続するため、事前にサーバーを再接続する必要はありません。その接続も失敗する場合は、[リモートサーバーのセッション中の切断](https://code.claude.com/docs/ja/mcp.md#mid-session-drops-of-a-remote-server) を参照してください。4432* アクションが実行されていなかった場合は、Claude にツールを再度実行するよう依頼します。Claude Code はそのサーバーのツールへの次の呼び出し時にサーバーへ再度接続するため、事前にサーバーを再接続する必要はありません。その接続も失敗する場合は、[リモートサーバーのセッション中の切断](https://code.claude.com/docs/ja/mcp.md#mid-session-drops-of-a-remote-server) を参照してください。

4420* サーバーを自分でビルドしていて、ツールを 2 回呼び出しても安全な場合は、[繰り返しても安全であるとマーク](https://code.claude.com/docs/ja/mcp.md#tool-calls-pending-when-a-connection-closes) して、Claude Code が失われた呼び出しを繰り返せるようにします4433* サーバーを自分でビルドしていて、ツールを 2 回呼び出しても安全な場合は、[繰り返しても安全であるとマーク](https://code.claude.com/docs/ja/mcp.md#tool-calls-pending-when-a-connection-closes) して、Claude Code が失われた呼び出しを繰り返せるようにします

4421 4434 

4435### MCP server is disabled

4436 

4437ツール結果にこのメッセージが含まれている場合、Claude が [オフになっている](https://code.claude.com/docs/ja/mcp.md#disable-a-server-without-removing-it) [MCP サーバー](https://code.claude.com/docs/ja/mcp.md) のツールを呼び出したことを意味します。Claude Code はサーバーに接続しなかったため、ツールは実行されず、Claude は結果の代わりにこのテキストを受け取りました。

4438 

4439```text wrap theme={null}

4440MCP server "<name>" is disabled — re-enable it via /mcp to use its tools

4441```

4442 

4443**What to do:**

4444 

4445* サーバーを意図的にオフにした場合は、何もする必要はありません

4446* Claude がサーバーのツールを必要とする場合は、Claude Code のプロンプトで `/mcp` からサーバーをオンに戻します

4447* [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) アプリケーションでは、TypeScript では `enabled` を `true` に設定して [`toggleMcpServer()`](https://code.claude.com/docs/ja/agent-sdk/typescript#togglemcpserver) を呼び出し、Python では `enabled` を `True` に設定して [`toggle_mcp_server()`](https://code.claude.com/docs/ja/agent-sdk/python#claudesdkclient) を呼び出して、サーバーをオンに戻します

4448 

4449### MCP tool call timed out with the server's question unanswered

4450 

4451[非対話モード](https://code.claude.com/docs/ja/headless.md) で、[MCP サーバー](https://code.claude.com/docs/ja/mcp.md) がツール呼び出し中に [elicitation](https://code.claude.com/docs/ja/mcp.md#respond-to-mcp-elicitation-requests) を通じて入力を求めましたが、回答が届く前に呼び出しの制限時間が切れました。

4452 

4453```text theme={null}

4454MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit. Do not call this tool again in this turn. Tell the user that the server's question got no answer, and wait for their reply.

4455```

4456 

4457v2.1.310 より前は、結果は `timed out after <N>s` で終わり、質問については何も示されませんでした。

4458 

4459**What to do:**

4460 

4461* サーバーのリクエストに回答する [`Elicitation` フック](https://code.claude.com/docs/ja/hooks#elicitation) を設定します

4462* TypeScript Agent SDK アプリケーションでは、[`onElicitation`](https://code.claude.com/docs/ja/agent-sdk/typescript#options) コールバックが制限時間内に回答を返すようにします

4463* 回答までの時間を延ばすには、サーバーの設定エントリでより長い [`timeout`](https://code.claude.com/docs/ja/mcp#time-limits-on-mcp-tool-calls) をミリ秒単位で設定します(例えば、10 分の場合は `"timeout": 600000`)

4464* 代わりに対話セッションでタスクを実行し、サーバーの [ダイアログ](https://code.claude.com/docs/ja/mcp.md#respond-to-mcp-elicitation-requests) に自分で回答します

4465 

4422### Agent would be spawned with zero tools4466### Agent would be spawned with zero tools

4423 4467 

4424サブエージェントの [`tools` リスト](https://code.claude.com/docs/ja/sub-agents#supported-frontmatter-fields) のすべてのエントリが使用可能なツールと一致しなかったため、Claude Code はサブエージェントの起動を拒否しました。ツールがないと、サブエージェントは動作できません。メッセージはエントリを何が問題かでグループ化します。4468サブエージェントの [`tools` リスト](https://code.claude.com/docs/ja/sub-agents#supported-frontmatter-fields) のすべてのエントリが使用可能なツールと一致しなかったため、Claude Code はサブエージェントの起動を拒否しました。ツールがないと、サブエージェントは動作できません。メッセージはエントリを何が問題かでグループ化します。


4741The command was not started: this computer's disk is full (ENOSPC) on the volume holding /tmp/claude-501 (Claude Code's temporary directory), so the file that captures command output could not be created there and nothing ran. Free space on that volume, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another one, then retry. If this is the user's own computer, tell them before deleting anything to make room.4785The command was not started: this computer's disk is full (ENOSPC) on the volume holding /tmp/claude-501 (Claude Code's temporary directory), so the file that captures command output could not be created there and nothing ran. Free space on that volume, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another one, then retry. If this is the user's own computer, tell them before deleting anything to make room.

4742```4786```

4743 4787 

4744他の 3 つのメッセージは、実行されてゼロ以外のコードで終了したコマンドの後に表示されます。次の例は `Disk full:` 形式です。4788`Disk full:`、`Disk quota used up:`、`Nearly out of inodes:` の各メッセージは、実行されてゼロ以外のコードで終了したコマンドの後に表示されます。例えば次のとおりです。

4745 4789 

4746```text wrap theme={null}4790```text wrap theme={null}

4747Disk full: this computer's volume holding /tmp/claude-501 (Claude Code's temporary directory) has 3 MB free, so whatever this command printed was lost and its own writes may have failed with "No space left on device". Free space on that volume, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another one, then retry. If this is the user's own computer, tell them before deleting anything to make room.4791Disk full: this computer's volume holding /tmp/claude-501 (Claude Code's temporary directory) has 3 MB free, so whatever this command printed was lost and its own writes may have failed with "No space left on device". Free space on that volume, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another one, then retry. If this is the user's own computer, tell them before deleting anything to make room.


4751 4795 

4752* macOS および Linux では、シェルで `df -h <dir>` を実行して、そのディレクトリを保持するボリュームとその使用状況を確認します。`df -i <dir>` は空きアイノードの数を表示します。`<dir>` はメッセージに示されたディレクトリです(例: `df -i /tmp/claude-501`)4796* macOS および Linux では、シェルで `df -h <dir>` を実行して、そのディレクトリを保持するボリュームとその使用状況を確認します。`df -i <dir>` は空きアイノードの数を表示します。`<dir>` はメッセージに示されたディレクトリです(例: `df -i /tmp/claude-501`)

4753* **`Disk full: this computer's volume` または `disk is full (ENOSPC)`**: そのボリューム上のどこでも構わないので、不要なファイルを削除します4797* **`Disk full: this computer's volume` または `disk is full (ENOSPC)`**: そのボリューム上のどこでも構わないので、不要なファイルを削除します

4754* **`Disk quota used up:` または `Disk full: a test write`**: ボリュームにまだ空き容量が表示されている場合でも、そのボリューム上の自分のファイルを削除します4798* **`Disk quota used up:`、`disk quota is used up (EDQUOT)`、または `Disk full: a test write`**: ボリュームにまだ空き容量が表示されている場合でも、そのボリューム上の自分のファイルを削除します

4755* **`disk quota is used up (EDQUOT)`**: そのボリューム上の自分のファイルを削除します

4756* **`Nearly out of inodes:`**: そのボリューム上の多数のファイルを削除します。各ファイルはサイズに関係なく 1 つのアイノードを使用するため、重要なのはサイズではなくファイルの数です4799* **`Nearly out of inodes:`**: そのボリューム上の多数のファイルを削除します。各ファイルはサイズに関係なく 1 つのアイノードを使用するため、重要なのはサイズではなくファイルの数です

4757* または、[`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ja/env-vars) を容量のあるボリューム上のディレクトリに設定して Claude Code を再起動します4800* または、[`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ja/env-vars) を容量のあるボリューム上のディレクトリに設定して Claude Code を再起動します

4758* その後、Claude にコマンドを再度実行させます4801* その後、Claude にコマンドを再度実行させます


4766 4809 

4767v2.1.305 より前は、ディスクが満杯のために Claude Code が開始できなかったコマンドは、オペレーティングシステムのエラーテキストのみを返していました。そのテキストは、例えば `ENOSPC: no space left on device, open <path>.output` のようなものでした。4810v2.1.305 より前は、ディスクが満杯のために Claude Code が開始できなかったコマンドは、オペレーティングシステムのエラーテキストのみを返していました。そのテキストは、例えば `ENOSPC: no space left on device, open <path>.output` のようなものでした。

4768 4811 

4812### git is not installed on this Mac

4813 

4814このメッセージは、Claude Code のある手順で git が必要になり、見つかった git が `/usr/bin/git` にある Apple の代替スタブであったことを意味します。git を提供する開発者ツールはインストールされていません。

4815 

4816Claude Code はこの代替スタブを起動せず、代わりにこのテキストを表示します。例えば、より長いメッセージの中に表示されることがあります。

4817 

4818```text wrap theme={null}

4819git is not installed on this Mac. To install it, run xcode-select --install, then try again.

4820```

4821 

4822**What to do:**

4823 

4824* ターミナルで `xcode-select --install` を実行し、開始されるインストールを完了してから、Claude Code で行っていた操作を再試行します

4825 

4769### File is not valid UTF-84826### File is not valid UTF-8

4770 4827 

4771Claude が、バイトを UTF-8 としてデコードできないファイルに対して Edit または NotebookEdit ツールを使用したため、Claude Code は変更を拒否しました。何も書き込まれていないため、ファイルは元のままです。これらのツールはファイル全体を UTF-8 として保存し直すため、デコードできなかったすべてのバイトが置換文字 `U+FFFD` に変わってしまうところでした。メッセージはツール結果に表示されます。4828Claude が、バイトを UTF-8 としてデコードできないファイルに対して Edit または NotebookEdit ツールを使用したため、Claude Code は変更を拒否しました。何も書き込まれていないため、ファイルは元のままです。これらのツールはファイル全体を UTF-8 として保存し直すため、デコードできなかったすべてのバイトが置換文字 `U+FFFD` に変わってしまうところでした。メッセージはツール結果に表示されます。

fast-mode.md +21 −11

Details

155 155 

156高速モードを提供する前に、Claude Code は `api.anthropic.com` への直接リクエストで組織の高速モード可用性をチェックします。チェックは [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ja/llm-gateway-connect#set-the-base-url-and-credential) に従わないため、Claude トラフィックを [LLM ゲートウェイ](https://code.claude.com/docs/ja/llm-gateway)を通じてルーティングし、`api.anthropic.com` への直接エグレスをブロックするネットワークでは、推論リクエストが機能していてもチェックが失敗します。チェックは設定された [HTTP プロキシ](https://code.claude.com/docs/ja/network-config.md#proxy-configuration)を使用するため、ネットワークブロックはプロキシを通じても `api.anthropic.com` に到達できない場合にのみチェックに失敗します。156高速モードを提供する前に、Claude Code は `api.anthropic.com` への直接リクエストで組織の高速モード可用性をチェックします。チェックは [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ja/llm-gateway-connect#set-the-base-url-and-credential) に従わないため、Claude トラフィックを [LLM ゲートウェイ](https://code.claude.com/docs/ja/llm-gateway)を通じてルーティングし、`api.anthropic.com` への直接エグレスをブロックするネットワークでは、推論リクエストが機能していてもチェックが失敗します。チェックは設定された [HTTP プロキシ](https://code.claude.com/docs/ja/network-config.md#proxy-configuration)を使用するため、ネットワークブロックはプロキシを通じても `api.anthropic.com` に到達できない場合にのみチェックに失敗します。

157 157 

158チェックが失敗すると、`/fast` は「Fast mode unavailable due to network connectivity issues」と報告され、組織で高速モードが有効になっていても、リクエストは標準速度で実行されます。過去に成功したチェックはキャッシュされた結果から機能し続けるため、ブロックされたチェックは主に新しいインストールに影響します。158組織で fast mode が有効になっているのに `/fast` がそうでないと表示する場合は、表示されたメッセージを以下のケースから探してください。

159 159 

160同じ接続メッセージは、チェックが `api.anthropic.com` に到達しても Anthropic が拒否する認証情報を提示するオープンネットワークに表示されます。解決されたキーがゲートウェイが発行した認証情報であるセッション([`ANTHROPIC_API_KEY`](https://code.claude.com/docs/ja/llm-gateway-connect#set-the-base-url-and-credential) に保持されているか、[`apiKeyHelper`](https://code.claude.com/docs/ja/settings-reference#apikeyhelper) によって生成される)は、そのキーでチェックを送信し、拒否されたリクエストは接続失敗として報告されます。160#### Fast mode unavailable due to network connectivity issues

161 161 

162高速モードを復元するには、ネットワークブロックが原因の場合は `api.anthropic.com` への直接エグレスをホワイトリストに登録するか、チェックが失敗する方法に一致する変数を設定します:162ネットワークが `api.anthropic.com` をブロックしているなどの理由で利用可否チェックが失敗し、リクエストは標準速度で実行されます。過去に成功したチェックはキャッシュされた結果で機能し続けるため、チェックのブロックは主に新しいインストールに影響します。

163 163 

164* `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` は失敗したチェックを利用可能として扱い、「disabled by your organization」応答を引き続き尊重します。ネットワークが接続を拒否する場合、または Anthropic がゲートウェイ認証情報を拒否する場合に使用します。認証情報の場合はホワイトリストに登録しても役に立ちません。何もブロックされていないためです。164fast mode を復元するには、`api.anthropic.com` への直接エグレスを許可リストに登録するか、`CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` を設定します。この変数は失敗したチェックを利用可能として扱い、「disabled by your organization」応答は引き続き尊重します。

165* `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` はチェック全体をスキップします。ネットワークがリクエストをインターセプトする場合に使用します。

166 165 

1672 つのゲートウェイ構成は、組織で高速モードが有効になっている場合でも、接続メッセージではなく「Fast mode has been disabled by your organization」と報告します:166#### Fast mode is currently unavailable

168 167 

169* [`ANTHROPIC_AUTH_TOKEN`](https://code.claude.com/docs/ja/llm-gateway-connect#set-the-base-url-and-credential)のみで認証するセッションはチェックをスキップします:claude.ai ログインまたは Anthropic API キーがなく、キャッシュされた成功したチェックがない場合、Claude Code はリクエストを送信せずに高速モードが組織によって無効化されていると扱います。168ゲートウェイの背後では、Claude Code が利用可否チェックを送信せず、以前に成功したチェックもキャッシュされていない、次の設定になっていないか確認してください:

170* チェックをインターセプトして独自のページで応答するプロキシ(例えば、HTTP 200 ブロックページを返す TLS 検査プロキシ)は、組織で高速モードが無効化されていることを示す応答として読み取られます。

171 169 

172どちらの場合も、`CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` を設定して高速モードを復元します。`CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` は失敗したチェックのみをバイパスし、これら両方は無効化応答を生成するため、どちらのケースにも適用されません。ホワイトリストに登録する直接エグレスは、リクエストを送信しないベアラートークンケースには役に立ちません。170* `ANTHROPIC_BASE_URL` をゲートウェイに向け、[`ANTHROPIC_API_KEY`](https://code.claude.com/docs/ja/llm-gateway-connect#set-the-base-url-and-credential) に Anthropic API キーの形式ではないゲートウェイ発行のキーを設定している。Claude Code はそのようなキーを `api.anthropic.com` に送信しません。

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

173 172 

174変数はクライアント側のチェックのみに影響します。組織で高速モードが無効化されている場合、設定されているかどうかに関わらず、API は高速モードリクエストを拒否します。API からの拒否は、スキップ変数が設定されていても有効です。Claude Code は拒否されたリクエストを標準速度で再試行し、高速モードをオフにして、`/fast` は組織が高速モードを無効化したことを報告します。173どちらの設定でも、fast mode を復元するには `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` を設定します。

175 174 

176`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` を設定すると、可用性チェックも抑制されます。以前にキャッシュされた成功したチェックがない場合、`/fast` は「Fast mode is currently unavailable」と報告します。両方のスキップ変数はその構成でも高速モードを復元します。175#### Fast mode has been disabled by your organization

176 

177ゲートウェイの背後では、次のいずれかの設定の場合、組織で fast mode が有効になっていてもこのメッセージが表示されることがあります:

178 

179* claude.ai ログインも API キーもなく、キャッシュされた成功したチェックもない状態で、[`ANTHROPIC_AUTH_TOKEN`](https://code.claude.com/docs/ja/llm-gateway-connect#set-the-base-url-and-credential) のみで認証している。この場合、Claude Code はリクエストを送信せずに fast mode が組織によって無効化されていると扱います。

180* プロキシがチェックをインターセプトし、独自のページで応答している(例えば、HTTP 200 のブロックページを返す TLS 検査プロキシ)。Claude Code はそのページを、組織で fast mode が無効化されていることを示すレスポンスとして読み取ります。

181 

182どちらの場合も、`CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` ではなく、チェック全体をスキップする `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` を設定します。`CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` はどちらのケースにも適用されません。

183 

184> [!NOTE]

185>

186> スキップ変数はクライアント側のチェックのみを変更します。組織で fast mode が無効化されている場合、これらが設定されているかどうかに関わらず、API は fast mode リクエストを拒否します。その場合、Claude Code はリクエストを標準速度で再試行し、fast mode をオフにして、`/fast` は組織が fast mode を無効化したことを報告します。

177 187 

178### セッションごとのオプトインが必要188### セッションごとのオプトインが必要

179 189 

hooks.md +17 −6

Details

961blocking because Git Bash wasn't found, so only exit code 0 or 2 counts as this hook's verdict.961blocking because Git Bash wasn't found, so only exit code 0 or 2 counts as this hook's verdict.

962```962```

963 963 

964フックが失敗した理由を調べるには、[デバッグ ログ](#debug-hooks)を確認してください。フックに合った修正方法を選んでください。964エラーに `PowerShell started no program` とも表示されている場合は、まず[引用符で囲まれた文字列のみの `command` に対する修正方法](#powershell-started-no-program)から始めてください。PowerShell はそのような `command` を実行せずに出力します。

965 965 

966* **フックが失敗したときにアクションを進行させたい**: フックに [`"onFailure": "continue"`](#block-the-action-when-a-hook-fails) を追加します966Git Bash がない場合、そのフックからの 0 または 2 以外の終了コードは、呼び出しを拒否しない JSON を出力した場合でも、すべて[失敗](#block-the-action-when-a-hook-fails)としてカウントされます。フックが失敗した理由を調べるには、[デバッグ ログ](#debug-hooks)を確認してください。そのうえで、フックに合った修正方法を選んでください。

967* **フックが Bash 向けに書かれている**: `shell` が設定されていない[シェル形式](#exec-form-and-shell-form)のフックは、Git Bash がインストールされていない場合は PowerShell で実行され、Bash 向けに書かれたスクリプトはそのままでは実行できないことがあります。[Git for Windows](https://git-scm.com/downloads/win) をインストールするか、Claude Code が見つけられない場所に Git Bash がインストールされている場合は [`CLAUDE_CODE_GIT_BASH_PATH`](https://code.claude.com/docs/ja/env-vars) を設定してから、新しいセッションを開始します967 

968* **フックが失敗したときに呼び出しを進行させたい**: フックに [`"onFailure": "continue"`](#block-the-action-when-a-hook-fails) を追加します

969* **フックは警告のために 1 で終了するが、クラッシュしたときはブロックする必要がある**: `"onFailure": "continue"` では、警告であってもクラッシュであっても、終了コード 1 で呼び出しが進行します。代わりに `"onFailure": "block"` を追加し、警告する箇所ではスクリプトを終了コード 0 で終了させて、それらの呼び出しが進行するようにします。`PreToolUse` で引き続き警告を表示するには、1 つの JSON オブジェクトの [`systemMessage`](#json-output) フィールドとして stdout に出力します。

970* **フックが Bash 向けに書かれている**: Git Bash がない場合、`shell` が設定されていない[シェル形式](#exec-form-and-shell-form)のフックは PowerShell で実行され、失敗することがあります。[Git for Windows](https://git-scm.com/downloads/win) をインストールするか、Claude Code が見つけられない場所に Git Bash がインストールされている場合は [`CLAUDE_CODE_GIT_BASH_PATH`](https://code.claude.com/docs/ja/env-vars) を設定してください。その後、新しいセッションを開始します。

968* **フックが `.cmd` や `.bat` ファイルではなく 1 つの `.exe` を実行する**: プログラムを `command` に、その引数を `args` に指定して exec 形式を使用し、`"onFailure": "block"` を追加します。これにより Claude Code はシェルを介さずにプログラムを起動します。`"onFailure": "block"` がない場合、プログラムが失敗した、存在しない、またはタイムアウトしたときに呼び出しが進行することがあります971* **フックが `.cmd` や `.bat` ファイルではなく 1 つの `.exe` を実行する**: プログラムを `command` に、その引数を `args` に指定して exec 形式を使用し、`"onFailure": "block"` を追加します。これにより Claude Code はシェルを介さずにプログラムを起動します。`"onFailure": "block"` がない場合、プログラムが失敗した、存在しない、またはタイムアウトしたときに呼び出しが進行することがあります

969* **フックは警告のために 1 で終了するが、クラッシュしたときはブロックする必要がある**: `"onFailure": "continue"` では、警告であってもクラッシュであっても、終了コード 1 で呼び出しが進行します。代わりに `"onFailure": "block"` を追加し、警告する箇所ではスクリプトを終了コード 0 で終了させて、それらの呼び出しが進行するようにします。終了コード 0 の後に `PreToolUse` で警告を表示するには、1 つの JSON オブジェクトの [`systemMessage`](#json-output) フィールドに入れて stdout に出力します

970* **失敗時にブロックする必要がある PowerShell のガード フック**: `onFailure` が未設定の場合、Git for Windows がインストールされて Claude Code が Git Bash を見つけると、ブロックしなくなります。Git Bash の有無にかかわらず失敗やタイムアウトで呼び出しがブロックされるよう、`"onFailure": "block"` を追加します。また、それ以降も Git Bash ではなく PowerShell でフックが実行され続けるよう、`"shell": "powershell"` も設定します972* **失敗時にブロックする必要がある PowerShell のガード フック**: `onFailure` が未設定の場合、Git for Windows がインストールされて Claude Code が Git Bash を見つけると、ブロックしなくなります。Git Bash の有無にかかわらず失敗やタイムアウトで呼び出しがブロックされるよう、`"onFailure": "block"` を追加します。また、それ以降も Git Bash ではなく PowerShell でフックが実行され続けるよう、`"shell": "powershell"` も設定します

971 973 

972このエラーを表示するフックでは、呼び出しを拒否しない JSON を出力した場合でも、0 または 2 以外の終了コードはすべて[失敗](#block-the-action-when-a-hook-fails)としてカウントされます。

973 

974v2.1.309 より前は、メッセージは `blocking because Git Bash wasn't found and this hook doesn't set "shell" to "powershell", so only exit code 0 or 2 counts as its verdict.` でした。974v2.1.309 より前は、メッセージは `blocking because Git Bash wasn't found and this hook doesn't set "shell" to "powershell", so only exit code 0 or 2 counts as its verdict.` でした。

975 975 

976#### PowerShell started no program

977 

978このエラーが出たフックは PowerShell で実行されています。PowerShell は、`"command": "\"C:\\Tools\\guard.exe\""` のように引用符で囲まれた文字列のみの `command` を、実行せずに出力します。

979 

980* **テキスト(JSON など)を出力する場合**: `"shell": "powershell"` を設定すると、フックは 0 で終了します

981* **`.ps1`、`.cmd`、`.bat` ファイル、またはパスに変数を含む `.exe` を実行する場合**: `"shell": "powershell"` を設定し、引用符で囲んだパスの前に `&` を付けます。`$HOME` はそのまま残し、環境変数は [`check.ps1` の例](#reference-scripts-by-path-in-powershell-hooks)が `$env:CLAUDE_PROJECT_DIR` と書いているように記述します

982* **`$` を含まないパスにある 1 つの `.exe` を実行する場合**: `command` から内側の引用符を削除し、[1 つの `.exe` を実行するフックの修正方法](#failed-hooks-on-windows-without-git-bash)を適用します。プログラムが引数を取らない場合は `"args": []` と記述します

983* **Bash 向けに書かれたスクリプトを実行する場合**: [Bash 向けに書かれたフックの修正方法](#failed-hooks-on-windows-without-git-bash)を適用します

984 

976#### イベントごとの終了コード 2 動作985#### イベントごとの終了コード 2 動作

977 986 

978終了コード 2 は、フックが「停止、これをしないでください」と通知する方法です。効果はイベントに依存します。一部のイベントはブロック可能なアクション(まだ発生していないツール呼び出しなど)を表し、他のイベントはすでに発生したか防止できないことを表すためです。987終了コード 2 は、フックが「停止、これをしないでください」と通知する方法です。効果はイベントに依存します。一部のイベントはブロック可能なアクション(まだ発生していないツール呼び出しなど)を表し、他のイベントはすでに発生したか防止できないことを表すためです。


4187}4196}

4188```4197```

4189 4198 

4199### PowerShell フックでパスによってスクリプトを参照する

4200 

4190PowerShell シェル形式のコマンドからプロジェクト ルートを参照するには、`${CLAUDE_PROJECT_DIR}` または `$env:CLAUDE_PROJECT_DIR` を記述します。Claude Code は `settings.json`、プラグイン、またはスキルで定義されているかどうかに関係なく、PowerShell シェル形式のコマンド内の `${CLAUDE_PROJECT_DIR}`、`${CLAUDE_PLUGIN_ROOT}`、および `${CLAUDE_PLUGIN_DATA}` プレースホルダーを PowerShell の `${env:NAME}` 形式に書き換えます。PowerShell は解析後にエクスポートされた環境から値を解決するため、プレースホルダーはダブルクォート文字列内では機能しますが、PowerShell が変数を展開しないシングルクォート文字列内では機能しません。4201PowerShell シェル形式のコマンドからプロジェクト ルートを参照するには、`${CLAUDE_PROJECT_DIR}` または `$env:CLAUDE_PROJECT_DIR` を記述します。Claude Code は `settings.json`、プラグイン、またはスキルで定義されているかどうかに関係なく、PowerShell シェル形式のコマンド内の `${CLAUDE_PROJECT_DIR}`、`${CLAUDE_PLUGIN_ROOT}`、および `${CLAUDE_PLUGIN_DATA}` プレースホルダーを PowerShell の `${env:NAME}` 形式に書き換えます。PowerShell は解析後にエクスポートされた環境から値を解決するため、プレースホルダーはダブルクォート文字列内では機能しますが、PowerShell が変数を展開しないシングルクォート文字列内では機能しません。

4191 4202 

4192PowerShell フックで裸の `$CLAUDE_PROJECT_DIR` スペルを記述しないでください。PowerShell はそれを未定義のローカル変数として解析し、`$null` に解決します。これにより、スクリプト パスがプロジェクト ルート プレフィックスなしで残されます。Claude Code はその形式を書き換えません。代わりに、[デバッグ ログ](#debug-hooks) に警告を記録します。4203PowerShell フックで裸の `$CLAUDE_PROJECT_DIR` スペルを記述しないでください。PowerShell はそれを未定義のローカル変数として解析し、`$null` に解決します。これにより、スクリプト パスがプロジェクト ルート プレフィックスなしで残されます。Claude Code はその形式を書き換えません。代わりに、[デバッグ ログ](#debug-hooks) に警告を記録します。

jetbrains.md +1 −1

Details

61/ide61/ide

62```62```

63 63 

64接続が成功すると、Claude Code は `Connected to IntelliJ IDEA.` のようなメッセージで確認します。Claude Code がプラグインを持たない実行中の IDE を検出した場合、`/ide` はプラグインをインストールし、IDE を再起動するよう求めます。64接続が成功すると、Claude Code は `Connected to IntelliJ IDEA.` のようなメッセージで確認します。

65 65 

66Claude が IDE と同じファイルにアクセスできるようにしたい場合は、IDE プロジェクトルートと同じディレクトリから Claude Code を起動してください。66Claude が IDE と同じファイルにアクセスできるようにしたい場合は、IDE プロジェクトルートと同じディレクトリから Claude Code を起動してください。

67 67 

Details

519| Claude Code v2.1.265 から v2.1.267 で、ツールの入力スキーマまたはその `pattern` を拒否するゲートウェイ独自の言葉での `400` エラー | これらのバージョンでの段階的なロールアウトで、[Artifact ツール](https://code.claude.com/docs/ja/artifacts.md#availability)スキーマは `\p{...}` Unicode 文字クラスを持つ正規表現を含みます。Anthropic API はそれを受け入れますが、各ツールスキーマの `pattern` を独自の正規表現エンジンでチェックするゲートウェイまたは上流は、リクエスト全体を拒否します | v2.1.268 以降に更新します。これは正規表現を送信しません。影響を受けるバージョンでは、[アーティファクトをオフにします](https://code.claude.com/docs/ja/artifacts.md#disable-artifacts)。これはツールとそのスキーマをリクエストから削除します |519| Claude Code v2.1.265 から v2.1.267 で、ツールの入力スキーマまたはその `pattern` を拒否するゲートウェイ独自の言葉での `400` エラー | これらのバージョンでの段階的なロールアウトで、[Artifact ツール](https://code.claude.com/docs/ja/artifacts.md#availability)スキーマは `\p{...}` Unicode 文字クラスを持つ正規表現を含みます。Anthropic API はそれを受け入れますが、各ツールスキーマの `pattern` を独自の正規表現エンジンでチェックするゲートウェイまたは上流は、リクエスト全体を拒否します | v2.1.268 以降に更新します。これは正規表現を送信しません。影響を受けるバージョンでは、[アーティファクトをオフにします](https://code.claude.com/docs/ja/artifacts.md#disable-artifacts)。これはツールとそのスキーマをリクエストから削除します |

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

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

522| 推論リクエストが機能している間に `/fast` が `Fast mode unavailable due to network connectivity issues` を報告します | [高速モード](https://code.claude.com/docs/ja/fast-mode.md)の可用性チェックは `api.anthropic.com` に直接移動し、`ANTHROPIC_BASE_URL` に従いません。そのため、ブロックされた直接エグレスはチェックに失敗します。チェックが `ANTHROPIC_API_KEY` からゲートウェイ発行キーまたは `apiKeyHelper` を提示し、Anthropic がそれを拒否する場合、同じメッセージが開いたネットワークに表示されます | エグレスがブロックされている場合は `api.anthropic.com` をホワイトリストに登録するか、スキップ変数を設定します。拒否されたゲートウェイキーの場合のみ、スキップ変数が役立ちます。[プロキシと LLM ゲートウェイの背後で高速モードを使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |522| 推論リクエストが機能している間に `/fast` が `Fast mode unavailable due to network connectivity issues` を報告します | [fast mode](https://code.claude.com/docs/ja/fast-mode.md) の可用性チェックは `api.anthropic.com` に直接送られ、`ANTHROPIC_BASE_URL` に従いません。そのため、直接エグレスがブロックされているとチェックに失敗します | エグレスがブロックされている場合は `api.anthropic.com` を許可リストに登録するか、スキップ変数を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |

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

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

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

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

526| `This machine's managed settings require a first-party login`、または管理設定が `forceLoginMethod` を `"gateway"` に設定する場合は [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in)、または `forceLoginGatewayUrl` も設定する場合 | 管理設定に `forceLoginMethod` または `forceLoginOrgUUID` が含まれています。これは `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、または `apiKeyHelper` と共存できません | 管理者は管理設定から `forceLoginMethod`、`forceLoginOrgUUID`、および `forceLoginGatewayUrl` を削除してゲートウェイ認証情報を使用するか、ゲートウェイ認証情報を削除して管理設定が必要とするサインインを使用する必要があります。2 つは組み合わせることはできません |527| `This machine's managed settings require a first-party login`、または管理設定が `forceLoginMethod` を `"gateway"` に設定する場合は [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in)、または `forceLoginGatewayUrl` も設定する場合 | 管理設定に `forceLoginMethod` または `forceLoginOrgUUID` が含まれています。これは `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、または `apiKeyHelper` と共存できません | 管理者は管理設定から `forceLoginMethod`、`forceLoginOrgUUID`、および `forceLoginGatewayUrl` を削除してゲートウェイ認証情報を使用するか、ゲートウェイ認証情報を削除して管理設定が必要とするサインインを使用する必要があります。2 つは組み合わせることはできません |

mcp.md +3 −3

Details

384これらの再試行は、次の場合には適用されません。384これらの再試行は、次の場合には適用されません。

385 385 

386* stdio サーバーの最初の接続。再度試すには、[終了した、または起動に失敗した stdio サーバー](#stdio-servers-that-exit-or-fail-to-start) を参照してください386* stdio サーバーの最初の接続。再度試すには、[終了した、または起動に失敗した stdio サーバー](#stdio-servers-that-exit-or-fail-to-start) を参照してください

387* WebSocket サーバーの最初の接続387* WebSocket サーバーの最初の接続。対話的なターミナルセッションでもう一度試すには、`/mcp` でサーバーのメニューから **Reconnect** を選択してください

388* 認証エラーまたは not-found エラー。解決には設定の変更が必要なためです。[`headersHelper`](#use-dynamic-headers-for-custom-authentication) がサーバーの `Authorization` ヘッダーの唯一のソースである場合は、Claude Code は認証エラーでも再試行します。各試行でヘルパーを再実行し、新しい認証情報を取得できるためです388* 認証エラーまたは not-found エラー。解決には設定の変更が必要なためです。[`headersHelper`](#use-dynamic-headers-for-custom-authentication) がサーバーの `Authorization` ヘッダーの唯一のソースである場合は、Claude Code は認証エラーでも再試行します。各試行でヘルパーを再実行し、新しい認証情報を取得できるためです

389 389 

390#### 終了した、または起動に失敗した stdio サーバー390#### 終了した、または起動に失敗した stdio サーバー


403 403 

404#### 失敗したサーバーを自分で再試行する404#### 失敗したサーバーを自分で再試行する

405 405 

406失敗した、または認証が必要なすべてのサーバーを再試行するには、`/mcp reconnect all` を実行してください。対話的なターミナルでは、これには Claude Code v2.1.284 以降が必要です。それより前のバージョンでは、そこで `MCP server "all" not found` が出力されます。406失敗したサーバーまたは認証が必要なサーバーをすべて再試行するには、対話的なターミナルセッションの Claude Code プロンプトで `/mcp reconnect all` を実行します。これには Claude Code v2.1.284 以降が必要です。それより前のバージョンでは `MCP server "all" not found` と出力されます。

407 407 

408#### Claude がサーバーが失敗したことを学ぶ方法408#### Claude がサーバーが失敗したことを学ぶ方法

409 409 


1332 1332 

1333claude.ai からのサーバーはリストに表示され、claude.ai から来たことを示すインジケーターが付きます。1333claude.ai からのサーバーはリストに表示され、claude.ai から来たことを示すインジケーターが付きます。

1334 1334 

1335Anthropic は、ユーザーまたは管理者が追加しなくても、いくつかの connector を自体で提供しています。[Claude Docs](https://code.claude.com/docs/ja/artifacts.md#write-a-document-with-claude-docs) が利用可能なアカウントでは、`/mcp` は `claude.ai Claude Docs` をセットアップなしでリストし、他の人向けのドキュメントを要求すると Claude がそれを使用します。これをオフにするには、`deniedMcpServers` に `"claude.ai Claude Docs"` の `serverName` エントリを追加するか、[Disable claude.ai connectors](#disable-claude-ai-connectors) で説明されている `/mcp` トグルを使用します。1335Anthropic は、ユーザーや管理者が追加しなくても、いくつかのコネクタを自ら提供しています。[Claude Docs](https://code.claude.com/docs/ja/artifacts.md#write-a-document-with-claude-docs) が利用可能なアカウントでは、`/mcp` にセットアップなしで `claude.ai Claude Docs` が表示され、他の人向けのドキュメントを依頼すると Claude がそれを使用します。このコネクタだけをオフにするには、[claude.ai コネクタを無効にする](#disable-claude-ai-connectors)を参照してください。

1336 1336 

1337Claude Code は、組織が claude.ai で認証を管理している場合、`/mcp` および [`/plugin`](https://code.claude.com/docs/ja/plugins/install) マネージャーで connector を `managed` としてマークします。Managed ステータスは、Claude Code が connector に接続する方法や、組織の [tool controls](#organization-controls-on-connector-tools) を適用する方法を変更しません。1337Claude Code は、組織が claude.ai で認証を管理している場合、`/mcp` および [`/plugin`](https://code.claude.com/docs/ja/plugins/install) マネージャーで connector を `managed` としてマークします。Managed ステータスは、Claude Code が connector に接続する方法や、組織の [tool controls](#organization-controls-on-connector-tools) を適用する方法を変更しません。

1338 1338 

model-config.md +7 −2

Details

349 349 

350Claude Code が適用する管理設定で `availableModels` が定義されている場合、[独自のものを提供するホストプラットフォーム](https://code.claude.com/docs/ja/settings.md#exceptions-to-managed-settings-precedence)を除き、そのリストのみが適用されます。ユーザー設定、プロジェクト設定、ローカル設定のエントリでそれを拡張することはできず、Claude Code は管理ソース間で `availableModels` をマージすることもありません。どのソースのリストが適用されるかについては、[Claude Code が管理ソースを組み合わせる方法](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)を参照してください。それ以外の場合、ユーザー設定、プロジェクト設定、ローカル設定のリストは、他の配列設定と同様に[連結され、重複が除去されます](https://code.claude.com/docs/ja/settings.md#settings-precedence)。Claude Code v2.1.175 より前は、優先順位の低いスコープのエントリは、管理リストに置き換えられるのではなく、管理リストにマージされていました。350Claude Code が適用する管理設定で `availableModels` が定義されている場合、[独自のものを提供するホストプラットフォーム](https://code.claude.com/docs/ja/settings.md#exceptions-to-managed-settings-precedence)を除き、そのリストのみが適用されます。ユーザー設定、プロジェクト設定、ローカル設定のエントリでそれを拡張することはできず、Claude Code は管理ソース間で `availableModels` をマージすることもありません。どのソースのリストが適用されるかについては、[Claude Code が管理ソースを組み合わせる方法](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)を参照してください。それ以外の場合、ユーザー設定、プロジェクト設定、ローカル設定のリストは、他の配列設定と同様に[連結され、重複が除去されます](https://code.claude.com/docs/ja/settings.md#settings-precedence)。Claude Code v2.1.175 より前は、優先順位の低いスコープのエントリは、管理リストに置き換えられるのではなく、管理リストにマージされていました。

351 351 

352有効なリスト内で、ファミリー内の特定のモデルを指定するエントリ(バージョンプレフィックスまたは完全なモデル ID)は、そのファミリーのワイルドカードエントリを無効にします。`["sonnet", "claude-sonnet-4-5"]` は、すべての Sonnet モデルではなく、Sonnet 4.5 のバージョンのみを許可します。352有効なリスト内で、ファミリー内の特定のモデルを指定するエントリ(バージョンプレフィックスまたは完全なモデル ID)は、そのファミリーのワイルドカードエントリを無効にします。たとえば `["sonnet", "claude-sonnet-4-5"]` の場合、ユーザーが選択できるのは、すべての Sonnet モデルではなく、`claude-sonnet-4-5` が[一致する](#restrict-model-selection)モデル ID のみです。

353 353 

354### Mantle のモデル ID354### Mantle のモデル ID

355 355 


947>947>

948> [MDM または管理設定ファイル](https://code.claude.com/docs/ja/managed-settings.md#delivery-mechanisms)を通じて配布される `availableModels` 許可リストは、サードパーティプロバイダーを使用する場合でも適用されます。[サーバー管理設定はそこには配布されません](https://code.claude.com/docs/ja/server-managed-settings.md#platform-availability)。948> [MDM または管理設定ファイル](https://code.claude.com/docs/ja/managed-settings.md#delivery-mechanisms)を通じて配布される `availableModels` 許可リストは、サードパーティプロバイダーを使用する場合でも適用されます。[サーバー管理設定はそこには配布されません](https://code.claude.com/docs/ja/server-managed-settings.md#platform-availability)。

949>949>

950> フィルタリングは、`opus` などのモデルエイリアス、`claude-opus-4-8` などのバージョンプレフィックス、またはプロバイダー形式の完全なモデル ID に対して照合されます。`us.anthropic.` などのプロバイダー固有のプレフィックスは取り除かれないため、特定のモデルを許可するには、プロバイダー形式の完全な ID を記載するか、[`modelOverrides`](#override-model-ids-per-version) を通じてマッピングしてください。固定したモデルの場合、その ID は対応する `ANTHROPIC_DEFAULT_*_MODEL` 変数に設定した値です。照合の前に、許可リストのエントリと要求されたモデルの両方から `[1m]` サフィックスが取り除かれます。950> フィルタリングは、`opus` などのモデルエイリアス、`claude-opus-4-8` などのバージョンプレフィックス、またはプロバイダー形式の完全なモデル ID に対して照合されます。`us.anthropic.` などのプロバイダー固有のプレフィックスは取り除かれないため、特定のモデルを許可するには、[`modelOverrides`](#override-model-ids-per-version) を通じてマッピングするか、プロバイダー形式の完全な ID を記載してください。

951>

952> * **Google Cloud's Agent Platform**: Claude Code が要求する ID に `claude-sonnet-4-5@20250929` のような `@` 付きの日付が含まれる場合は、許可リストのエントリにその日付を含めてください。`claude-sonnet-4-5` だけでは、[`availableModelsMatch`](https://code.claude.com/docs/ja/settings-reference#availablemodelsmatch) がどちらの設定であってもその ID に一致しません。

953> * **固定したモデル**: そのモデルの `ANTHROPIC_DEFAULT_*_MODEL` 変数に設定した値を記載します

954>

955> 照合の前に、許可リストのエントリと要求されたモデルの両方から `[1m]` サフィックスが取り除かれます。

951 956 

952### 固定モデルの表示と機能のカスタマイズ957### 固定モデルの表示と機能のカスタマイズ

953 958 

monitoring-usage.md +331 −318

Details

576 576 

577### 標準属性577### 標準属性

578 578 

579すべてのメトリクスとイベントは、以下の標準属性を共有します。579すべてのメトリクスとイベントは、次の標準属性を共有します。

580 580 

581| 属性 | 説明 | 制御方法 |581| 属性 | 説明 | 制御方法 |

582| - | - | - |582| - | - | - |

583| `session.id` | Claude Code 独自のセッション ID。`/clear` によって置き換えられます | `OTEL_METRICS_INCLUDE_SESSION_ID`(デフォルト: true) |583| `session.id` | Claude Code 自身のセッション ID。`/clear` によって置き換えられます | `OTEL_METRICS_INCLUDE_SESSION_ID`(デフォルト: true) |

584| `ccr.session.id` | クラウドセッション識別子。[クラウド環境](https://code.claude.com/docs/ja/cloud-environments.md)で実行されるセッションにおける `CLAUDE_CODE_REMOTE_SESSION_ID` の値 | `OTEL_METRICS_INCLUDE_SESSION_ID`(デフォルト: true) |584| `ccr.session.id` | クラウドセッションの識別子。[クラウド環境](https://code.claude.com/docs/ja/cloud-environments.md)で実行されるセッションにおける `CLAUDE_CODE_REMOTE_SESSION_ID` の値です | `OTEL_METRICS_INCLUDE_SESSION_ID`(デフォルト: true) |

585| `app.version` | 現在の Claude Code のバージョン | `OTEL_METRICS_INCLUDE_VERSION`(デフォルト: false) |585| `app.version` | 現在の Claude Code のバージョン | `OTEL_METRICS_INCLUDE_VERSION`(デフォルト: false) |

586| `app.entrypoint` | セッションの起動方法。`cli`、`sdk-cli`、`sdk-ts`、`sdk-py`、`claude-vscode`、または Claude Tag セッションの場合は `claude-in-slack` など | `OTEL_METRICS_INCLUDE_ENTRYPOINT`(デフォルト: false) |586| `app.entrypoint` | セッションの起動方法。`cli`、`sdk-cli`、`sdk-ts`、`sdk-py`、`claude-vscode`、または Claude Tag セッションの場合は `claude-in-slack` など | `OTEL_METRICS_INCLUDE_ENTRYPOINT`(デフォルト: false) |

587| `organization.id` | 組織 UUID(認証時) | 利用可能な場合は常に含まれる |587| `organization.id` | 組織の UUID(認証済みの場合) | 利用可能な場合は常に含まれます |

588| `user.account_uuid` | アカウント UUID(認証時) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID`(デフォルト: true) |588| `user.account_uuid` | アカウントの UUID(認証済みの場合) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID`(デフォルト: true) |

589| `user.account_id` | Anthropic の管理 API と一致するタグ付き形式のアカウント ID(認証時)。例: `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID`(デフォルト: true) |589| `user.account_id` | Anthropic の管理 API と一致するタグ付き形式のアカウント ID(認証済みの場合)。`user_01BWBeN28...` など | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID`(デフォルト: true) |

590| `user.id` | 初回実行時に生成され `~/.claude.json` に保存されるランダムな匿名識別子。個人情報は含まれず、Claude アカウントから派生したものでもありません。このファイルを削除すると、次回実行時に無関係な新しい値が生成されます。 | 常に含まれる |590| `user.id` | 初回実行時に生成され、`~/.claude.json` に保存されるランダムな匿名識別子。個人情報は含まれず、Claude アカウントから派生したものでもありません。このファイルを削除すると、次回の実行時に無関係な新しい値が生成されます。 | 常に含まれます |

591| `user.email` | ユーザーのメールアドレス。サインイン情報から取得されるか、[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)ではセッション自体の認証情報から取得されます | 利用可能な場合は常に含まれる |591| `user.email` | ユーザーのメールアドレス。サインイン情報から取得されます。[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)の場合は、そのセッション自身の認証情報から取得されます | 利用可能な場合は常に含まれます |

592| `terminal.type` | ターミナルの種類。`iTerm.app`、`vscode`、`cursor`、`tmux` など | 検出された場合は常に含まれる |592| `terminal.type` | ターミナルの種類。`iTerm.app`、`vscode`、`cursor`、`tmux` など | 検出された場合は常に含まれます |

593| `OTEL_RESOURCE_ATTRIBUTES` のキー | 設定したカスタム属性(`department` や `team.id` など)。[マルチチーム組織のサポート](#multi-team-organization-support)を参照してください | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES`(デフォルト: true) |593| `OTEL_RESOURCE_ATTRIBUTES` のキー | ユーザーが設定したカスタム属性。`department` や `team.id` など。[複数チームの組織のサポート](#multi-team-organization-support)を参照してください | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES`(デフォルト: true) |

594| `vcs.repository.url.full`、`vcs.owner.name`、`vcs.repository.name`、`vcs.provider.name` | `origin` リモートから導出された、セッションのリポジトリの識別情報。[リポジトリ属性](#repository-attributes)を参照してください | `OTEL_METRICS_INCLUDE_REPOSITORY`(デフォルト: false)。Claude Code v2.1.269 以降が必要 |594| `vcs.repository.url.full`、`vcs.owner.name`、`vcs.repository.name`、`vcs.provider.name` | セッションのリポジトリの識別情報。`origin` リモートから導出されます。[リポジトリ属性](#repository-attributes)を参照してください | `OTEL_METRICS_INCLUDE_REPOSITORY`(デフォルト: false)。Claude Code v2.1.269 以降が必要です |

595 595 

596`/login` を通じて [Claude apps gateway](https://code.claude.com/docs/ja/claude-apps-gateway) にサインインしたセッションでは、CLI は認証済みの ID をエクスポートに付与します。`user.id` は IdP のサブジェクト、`user.email` はサインインしたメールアドレスで、`user.groups` は IdP のグループメンバーシップをカンマ区切りの文字列として保持します。各エクスポートには `identity.source: gateway-oidc` も付与されます。ゲートウェイの ID は最後に適用されるため、これらのセッションでは `OTEL_RESOURCE_ATTRIBUTES` で設定した `user.*` および `identity.*` キーは無視されます。596`/login` を通じて [Claude apps gateway](https://code.claude.com/docs/ja/claude-apps-gateway) にサインインしているセッションでは、CLI はエクスポートに認証済みの識別情報を付与します。`user.id` は IdP のサブジェクト、`user.email` はサインインしたメールアドレス、`user.groups` は IdP のグループメンバーシップをカンマ区切りの文字列で保持します。各エクスポートには `identity.source: gateway-oidc` も含まれます。ゲートウェイの識別情報は最後に適用されるため、これらのセッションでは `OTEL_RESOURCE_ATTRIBUTES` を通じて設定された `user.*` および `identity.*` キーは無視されます。

597 597 

598> [!NOTE]598> [!NOTE]

599>599>

600> 開発者がサインインする前に Claude Code がログに記録するイベントには、ゲートウェイの ID は含まれません。Claude Code がゲートウェイからサインアウトした状態でセッションを開始する場合(たとえば[ゲートウェイがサインインを終了](https://code.claude.com/docs/ja/errors.md#cloud-gateway-session-expired)した後など)、サインイン前にログに記録された起動イベントには匿名の `user.id` が含まれ、`identity.source` は含まれません。これには [`managed_settings_resolved`](#managed-settings-resolved-event)、[`plugin_loaded`](#plugin-loaded-event)、[`mcp_server_connection`](#mcp-server-connection-event) が含まれます。600> 開発者がサインインする前に Claude Code がログに記録するイベントには、ゲートウェイの識別情報は含まれません。たとえば[ゲートウェイがサインインを終了](https://code.claude.com/docs/ja/errors.md#cloud-gateway-session-expired)した後など、Claude Code がゲートウェイからサインアウトした状態でセッションを開いた場合、サインイン前に記録された起動時のイベントには匿名の `user.id` が含まれ、`identity.source` は含まれません。これには [`managed_settings_resolved`](#managed-settings-resolved-event)、[`plugin_loaded`](#plugin-loaded-event)、[`mcp_server_connection`](#mcp-server-connection-event) が含まれます。

601 601 

602ゲートウェイ経由で接続する Claude Desktop および Cowork セッションの ID 属性については、[ゲートウェイの `telemetry` リファレンス](https://code.claude.com/docs/ja/claude-apps-gateway-config#telemetry)を参照してください。602ゲートウェイを通じて接続する Claude Desktop および Cowork セッションの識別属性については、[ゲートウェイの `telemetry` リファレンス](https://code.claude.com/docs/ja/claude-apps-gateway-config#telemetry)を参照してください。

603 603 

604イベントには、さらに以下の属性が含まれます。これらはカーディナリティが無制限に増大する原因となるため、メトリクスには付与されません。604イベントには、さらに次の属性が含まれます。これらはカーディナリティが際限なく増大するため、メトリクスには付与されません。

605 605 

606* `prompt.id`: ユーザーのプロンプトと、次のプロンプトまでに発生する後続のすべてのイベントを関連付ける UUID。[イベント相関属性](#event-correlation-attributes)を参照してください。606* `prompt.id`: ユーザープロンプトと、次のプロンプトまでに発生する後続のすべてのイベントを関連付ける UUID。[イベント相関属性](#event-correlation-attributes)を参照してください。

607* `workspace.host_paths`: デスクトップアプリで選択されたホストのワークスペースディレクトリ(文字列配列)607* `workspace.host_paths`: デスクトップアプリで選択されたホストのワークスペースディレクトリ(文字列配列)

608* `workflow.run_id`: `wf_` という接頭辞の付いた実行識別子。[Workflow](https://code.claude.com/docs/ja/workflows.md) ツールの実行に属するエージェントが出力する API イベントおよびツールイベントに付与されます。1 つの `workflow.run_id` でイベントをフィルタリングすると、その実行の API リクエストとツール結果を再構成できます。この識別子は、ワークフロースクリプトが生成するエージェントと、それらがさらに生成するエージェント(スキルの呼び出しなど)を対象とします。Workflow ツールの結果で報告される実行識別子と一致します。その他のすべてのイベントには含まれません。608* `workflow.run_id`: `wf_` で始まる実行識別子。[Workflow](https://code.claude.com/docs/ja/workflows.md) ツールの実行に属するエージェントが発行する API イベントとツールイベントに付与されます。1 つの `workflow.run_id` でイベントをフィルタリングすると、その実行の API リクエストとツール結果を再構築できます。この識別子は、ワークフロースクリプトが生成するエージェントと、それらのエージェントがさらに生成するエージェント(スキルの呼び出しなど)を対象とします。Workflow ツールの結果で報告される実行識別子と一致します。

609* `workflow.name`: ワークフローの名前(スクリプトの `meta.name`)。`workflow.run_id` と一緒に出力されます。組み込みワークフローの名前は、実行で変更されていない組み込みスクリプトが使用された場合にそのまま表示されます。ユーザーが作成した名前(組み込みスクリプトを編集したコピーを含む)は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `custom` に置き換えられます。609* `workflow.name`: ワークフローの名前(スクリプトの `meta.name`)。`workflow.run_id` とともに出力されます。組み込みワークフローの名前は、未変更の組み込みスクリプトが実行された場合にそのまま表示されます。ユーザーが作成した名前(組み込みスクリプトを編集したコピーを含む)は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `custom` に置き換えられます。

610* `agent_id`: イベントを発生させた[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)の識別子。`a3f2c1b4d5e6f7a80` など。この属性を持つイベントには、サブエージェントの API イベントとツールイベント、その [`assistant_response`](#assistant-response-event) イベント、および完了したサブエージェントの [`subagent_completed`](#subagent-completed-event) が含まれます。メインセッションおよび[インプロセスのチームメイト](https://code.claude.com/docs/ja/agent-teams.md#choose-a-display-mode)のイベントには含まれません。サブエージェントの[スパンの `agent_id`](#span-attributes) は同じ値か、`acompact-3f2c1b4d5e6f7a80` のように先頭の `a` の後にラベルが追加された値になります。Claude Code v2.1.310 以降が必要です

611* `parent_agent_id`: イベントを発生させたサブエージェントを生成した、または最後に再開したエージェントの `agent_id`。そのエージェントがメインセッションである場合は含まれません。Claude Code v2.1.310 以降が必要です

610 612 

611#### リポジトリ属性613#### リポジトリ属性

612 614 

613`OTEL_METRICS_INCLUDE_REPOSITORY=true` を設定すると、メトリクスとイベントにセッションのリポジトリの識別情報がタグ付けされ、共有コレクターで使用量をリポジトリごとに集計できるようになります。Claude Code v2.1.269 以降が必要です。615`OTEL_METRICS_INCLUDE_REPOSITORY=true` を設定すると、メトリクスとイベントにセッションのリポジトリの識別情報がタグ付けされ、共有コレクターでリポジトリごとに使用状況を集計できるようになります。Claude Code v2.1.269 以降が必要です。

614 616 

615Claude Code は、これらの属性をセッションごとに 1 回、リポジトリの `origin` リモートから導出します。GitHub、GitLab、Bitbucket Cloud のように、リポジトリの HTTPS リモートと SSH リモートが同じホストと同じパスを指している場合、どちらからも同一の値が生成されます。617Claude Code は、これらの属性をセッションごとに 1 回、リポジトリの `origin` リモートから導出します。GitHub、GitLab、Bitbucket Cloud のように、リポジトリの HTTPS リモートと SSH リモートが同じホストと同じパスを指している場合、どちらからも同一の値が得られます。

616 618 

617| 属性 | 値 |619| 属性 | 値 |

618| - | - |620| - | - |

619| `vcs.repository.url.full` | `.git` を除いたリポジトリのブラウザ URL。例: `https://github.com/example-org/example-repo` |621| `vcs.repository.url.full` | `.git` を除いたリポジトリのブラウザ URL。`https://github.com/example-org/example-repo` など |

620| `vcs.owner.name` | オーナーまたはグループのパス。例: `example-org`。リモートのパスが単一のセグメントの場合は省略されます |622| `vcs.owner.name` | オーナーまたはグループのパス。`example-org` など。リモートのパスが 1 つのセグメントのみの場合は省略されます |

621| `vcs.repository.name` | リポジトリ名のみ。例: `example-repo` |623| `vcs.repository.name` | リポジトリ名のみ。`example-repo` など |

622| `vcs.provider.name` | Claude Code がリモートのホストまたは URL の形式を `github`、`gitlab`、`bitbucket`、`gitea` のいずれかのプロバイダーとして認識した場合のその値。それ以外の場合は省略されます |624| `vcs.provider.name` | Claude Code がリモートのホストまたは URL の形式を認識できた場合は `github`、`gitlab`、`bitbucket`、`gitea` のいずれか。それ以外の場合は省略されます |

623 625 

624値は小文字に変換され、リモート URL の認証情報、クエリ文字列、フラグメントが含まれることはありません。セッションに `origin` リモートがない場合、リモートが URL 形式でない場合、または唯一の親リポジトリがホームディレクトリである場合、これらの属性は省略されます。626値は小文字に変換され、リモート URL の認証情報、クエリ文字列、フラグメントが値に含まれることはありません。セッションに `origin` リモートがない場合、リモートが URL の形式でない場合、または包含するリポジトリがホームディレクトリのみの場合、これらの属性は省略されます。

625 627 

626[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)でこれらの属性を取得するには、`OTEL_METRICS_INCLUDE_REPOSITORY` を含むテレメトリ変数を、そのセッションの[クラウド環境](https://code.claude.com/docs/ja/cloud-environments.md#set-environment-variables)に設定します。また、環境の[ネットワークアクセス](https://code.claude.com/docs/ja/cloud-environments.md#network-access)でコレクターのドメインを許可してください。628[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)からこれらの属性を取得するには、`OTEL_METRICS_INCLUDE_REPOSITORY` を含むテレメトリ変数をその[クラウド環境](https://code.claude.com/docs/ja/cloud-environments.md#set-environment-variables)に設定します。また、環境の[ネットワークアクセス](https://code.claude.com/docs/ja/cloud-environments.md#network-access)でコレクターのドメインを許可してください。

627 629 

628[`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) で宣言した `vcs.*` キーは、そのキーの導出値を置き換えます。`vcs.repository.url.full` を宣言した場合、Claude Code はリモートを読み取らず、宣言したキーのみを報告します。630[`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) で宣言した `vcs.*` キーは、そのキーについて導出された値を置き換えます。`vcs.repository.url.full` を宣言した場合、Claude Code はリモートを読み取らず、宣言されたキーのみを報告します。

629 631 

6301 つのリポジトリの HTTPS クローンと SSH クローンが異なる値を報告する場合(たとえば、HTTPS のクローン URL に SSH の URL にはないパスプレフィックスが含まれるセルフホスト環境など)、`OTEL_RESOURCE_ATTRIBUTES` で `vcs.repository.url.full` を、報告させたい他のすべての `vcs.*` キーとともに宣言してください。これにより、すべてのクローンが宣言した識別情報を報告するようになります。6321 つのリポジトリの HTTPS クローンと SSH クローンで異なる値が報告される場合(たとえば、HTTPS のクローン URL に SSH URL にはないパスプレフィックスが含まれるセルフホスト環境など)は、報告したい他のすべての `vcs.*` キーとともに、`vcs.repository.url.full` を `OTEL_RESOURCE_ATTRIBUTES` で宣言してください。これにより、すべてのクローンが宣言した識別情報を報告するようになります。

631 633 

632これらの属性は独自のエクスポーターにのみ送信されます。Anthropic のテレメトリはすべての `vcs.*` キーを破棄します。634これらの属性はユーザー自身のエクスポーターにのみ送信されます。Anthropic のテレメトリはすべての `vcs.*` キーを破棄します。

633 635 

634### メトリクス636### メトリクス

635 637 

636Claude Code は以下のメトリクスをエクスポートします。「単位」列には各メトリクスに付与される OpenTelemetry の単位文字列を示しています。カウント系のメトリクスには単位はありません。638Claude Code は次のメトリクスをエクスポートします。単位の列は、各メトリクスに付与される OpenTelemetry の単位文字列を示します。カウントメトリクスには単位がありません。

637 639 

638| メトリクス名 | 説明 | 単位 |640| メトリクス名 | 説明 | 単位 |

639| - | - | - |641| - | - | - |

640| `claude_code.session.count` | 開始された CLI セッションの数 | なし |642| `claude_code.session.count` | 開始された CLI セッションの数 | なし |

641| `claude_code.lines_of_code.count` | 変更されたコードの行数 | なし |643| `claude_code.lines_of_code.count` | 変更されたコードの行数 | なし |

642| `claude_code.pull_request.count` | 作成されたプルリクエストの数 | なし |644| `claude_code.pull_request.count` | 作成されたプルリクエストの数 | なし |

643| `claude_code.commit.count` | 作成された Git コミットの数 | なし |645| `claude_code.commit.count` | 作成された git コミットの数 | なし |

644| `claude_code.cost.usage` | Claude Code セッションのコスト | USD |646| `claude_code.cost.usage` | Claude Code セッションのコスト | USD |

645| `claude_code.token.usage` | 使用されたトークン数 | tokens |647| `claude_code.token.usage` | 使用されたトークンの数 | tokens |

646| `claude_code.code_edit_tool.decision` | コード編集ツールの権限決定の数 | なし |648| `claude_code.code_edit_tool.decision` | コード編集ツールの権限判定の数 | なし |

647| `claude_code.active_time.total` | 合計アクティブ時間 | s |649| `claude_code.active_time.total` | 合計アクティブ時間 | s |

648 650 

649`OTEL_METRICS_EXPORTER` に指定されたエクスポーターが `prometheus` のみの場合、スクレイプ結果が有効な Prometheus テキスト形式となるよう、Claude Code はエクスポートするメトリクスから `USD`、`tokens`、`s` の単位を省略します。メトリクス名は変わりません。また、`otlp,prometheus` のようにエクスポーターを組み合わせた設定では単位が維持されます。v2.1.216 より前は、Prometheus のスクレイプ結果に OpenMetrics 専用の `# UNIT` 行が含まれており、一部のスクレイパーで拒否されていました。651`OTEL_METRICS_EXPORTER` に指定されたエクスポーターが `prometheus` のみの場合、Claude Code はエクスポートされるメトリクスから `USD`、`tokens`、`s` の単位を省略し、スクレイプが有効な Prometheus テキスト形式になるようにします。メトリクス名は変わりません。また、`otlp,prometheus` のようにエクスポーターを組み合わせた設定では単位が保持されます。v2.1.216 より前は、Prometheus のスクレイプに OpenMetrics 専用の `# UNIT` 行が含まれており、一部のスクレイパーで拒否されていました。

650 652 

651### メトリクスの詳細653### メトリクスの詳細

652 654 

653各メトリクスには上記の標準属性が含まれます。追加のコンテキスト固有の属性を持つメトリクスについては、以下に記載しています。655各メトリクスには、上記の標準属性が含まれます。コンテキスト固有の追加属性を持つメトリクスについては、以下に記載します。

654 656 

655#### セッションカウンター657#### セッションカウンター

656 658 


659**属性**:661**属性**:

660 662 

661* すべての[標準属性](#standard-attributes)663* すべての[標準属性](#standard-attributes)

662* `start_type`: セッションの開始方法。`"fresh"`、`"resume"`、`"continue"`、`"agents_view"` のいずれかです。`"agents_view"` の値は `claude agents` ダッシュボードプロセスを示します。これは会話セッションではなく、ユーザーが起動するローカル UI です。ダッシュボードで UI プロセスの起動と会話セッションを区別するには、この値でフィルタリングしてください。664* `start_type`: セッションの開始方法。`"fresh"`、`"resume"`、`"continue"`、`"agents_view"` のいずれか。`"agents_view"` の値は `claude agents` ダッシュボードプロセスを示します。これは会話セッションではなく、ユーザーが起動するローカル UI です。ダッシュボードで UI プロセスの起動と会話セッションを区別するには、この値でフィルタリングしてください。

663 665 

664#### コード行数カウンター666#### コード行数カウンター

665 667 


668**属性**:670**属性**:

669 671 

670* すべての[標準属性](#standard-attributes)672* すべての[標準属性](#standard-attributes)

671* `type`: (`"added"`、`"removed"`)673* `type`: (`"added"`、`"removed"`)

672* `model`: 変更を行ったモデルのモデル識別子(例: "claude-sonnet-5")674* `model`: 変更を行ったモデルのモデル識別子(例: "claude-sonnet-5")

673 675 

674#### プルリクエストカウンター676#### プルリクエストカウンター


681 683 

682#### コミットカウンター684#### コミットカウンター

683 685 

684Claude Code 経由で Git コミットを作成したときにインクリメントされます。686Claude Code を通じて git コミットを作成したときにインクリメントされます。

685 687 

686**属性**:688**属性**:

687 689 


691 693 

692各 API リクエストの後にインクリメントされます。694各 API リクエストの後にインクリメントされます。

693 695 

694`agent.name`、`skill.name`、`plugin.name`、`mcp_server.name`、`mcp_tool.name` の各属性は、デフォルトで一部の名前を `"custom"` または `"third-party"` というプレースホルダーに置き換えて秘匿化します。`OTEL_LOG_TOOL_DETAILS=1` を設定すると、代わりに実際の名前が含まれます。v2.1.273 より前は、`OTEL_LOG_TOOL_DETAILS=1` を設定していても、コストカウンターとトークンカウンター、および `api_request`、`api_error`、`api_refusal` イベントには秘匿化された値が含まれていました。696`agent.name`、`skill.name`、`plugin.name`、`mcp_server.name`、`mcp_tool.name` の各属性は、デフォルトで一部の名前を `"custom"` または `"third-party"` のプレースホルダーに置き換えて秘匿化します。`OTEL_LOG_TOOL_DETAILS=1` を設定すると、代わりに実際の名前が含まれます。v2.1.273 より前は、コストカウンターとトークンカウンター、および `api_request`、`api_error`、`api_refusal` イベントは、`OTEL_LOG_TOOL_DETAILS=1` が設定されていても秘匿化された値を持っていました。

695 697 

696**属性**:698**属性**:

697 699 


699* `model`: モデル識別子(例: "claude-sonnet-5")701* `model`: モデル識別子(例: "claude-sonnet-5")

700* `query_source`: リクエストを発行したサブシステムのカテゴリ。`"main"`、`"subagent"`、`"auxiliary"` のいずれか702* `query_source`: リクエストを発行したサブシステムのカテゴリ。`"main"`、`"subagent"`、`"auxiliary"` のいずれか

701* `speed`: リクエストが fast mode を使用した場合は `"fast"`。それ以外の場合は含まれません703* `speed`: リクエストが fast mode を使用した場合は `"fast"`。それ以外の場合は含まれません

702* `effort`: リクエストに適用された [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)。`"low"`、`"medium"`、`"high"`、`"xhigh"`、`"max"` のいずれか。Claude Code が effort レベルを送信しない場合(effort をサポートしていないモデルなど)は含まれません。704* `effort`: リクエストに適用された [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)。`"low"`、`"medium"`、`"high"`、`"xhigh"`、`"max"` のいずれか。effort をサポートしないモデルの場合など、Claude Code が effort レベルを送信しない場合は含まれません。

703* `agent.name`: リクエストを発行したサブエージェントの種類。組み込みエージェント名と公式マーケットプレイスのプラグインのエージェントはそのまま表示されます。その他のユーザー定義のエージェント名は `"custom"` に置き換えられます。名前付きのサブエージェントの種類によって発行されたリクエストでない場合は含まれません。705* `agent.name`: リクエストを発行したサブエージェントの種類。組み込みエージェントの名前と公式マーケットプレイスのプラグインのエージェントはそのまま表示されます。その他のユーザー定義エージェントの名前は `"custom"` に置き換えられます。名前付きのサブエージェントの種類によって発行されたリクエストでない場合は含まれません。

704* `skill.name`: リクエストでアクティブなスキル。Skill ツールまたは `/` コマンドによって設定されるか、起動されたサブエージェントに継承されます。組み込み、バンドル、ユーザー定義、および公式マーケットプレイスのプラグインのスキル名はそのまま表示されます。サードパーティのプラグインのスキル名は `"third-party"` に置き換えられます。アクティブなスキルがない場合は含まれません。706* `skill.name`: リクエストでアクティブなスキル。Skill ツールまたは `/` コマンドによって設定されるか、生成されたサブエージェントに継承されます。組み込み、バンドル、ユーザー定義、公式マーケットプレイスのプラグインのスキル名はそのまま表示されます。サードパーティプラグインのスキル名は `"third-party"` に置き換えられます。アクティブなスキルがない場合は含まれません。

705* `plugin.name`: アクティブなスキルまたはサブエージェントがプラグインによって提供されている場合の、所有元のプラグイン。公式マーケットプレイスのプラグイン名はそのまま表示されます。サードパーティのプラグイン名は `"third-party"` に置き換えられます。スキルとサブエージェントのどちらにも所有元のプラグインがない場合は含まれません。707* `plugin.name`: アクティブなスキルまたはサブエージェントがプラグインによって提供されている場合の、所有元のプラグイン。公式マーケットプレイスのプラグイン名はそのまま表示されます。サードパーティプラグインの名前は `"third-party"` に置き換えられます。スキルとサブエージェントのどちらにも所有元のプラグインがない場合は含まれません。

706* `marketplace.name`: 所有元のプラグインのインストール元のマーケットプレイス。`OTEL_LOG_TOOL_DETAILS=1` が設定されている場合でも、公式マーケットプレイスのプラグインに対してのみ出力されます。それ以外の場合は含まれません。708* `marketplace.name`: 所有元のプラグインのインストール元のマーケットプレイス。`OTEL_LOG_TOOL_DETAILS=1` が設定されていても、公式マーケットプレイスのプラグインの場合にのみ出力されます。それ以外の場合は含まれません。

707* `mcp_server.name`: このリクエストが消費したツール結果を返した MCP サーバー。組み込み、claude.ai 経由のプロキシ、および公式レジストリのサーバー名はそのまま表示されます。ユーザーが設定したサーバー名は `"custom"` に置き換えられます。リクエストが MCP ツールの結果を消費しなかった場合は含まれません。v2.1.222 より前は、Claude Code はツール結果を消費したリクエストだけでなく、MCP ツール呼び出し後のすべてのリクエストにこの属性を設定していたため、この属性を集計するダッシュボードではアップグレード後に値が減少します。709* `mcp_server.name`: このリクエストが消費したツール結果の MCP サーバー。組み込み、claude.ai 経由のプロキシ、公式レジストリのサーバー名はそのまま表示されます。ユーザーが設定したサーバー名は `"custom"` に置き換えられます。リクエストが MCP ツールの結果を消費しなかった場合は含まれません。v2.1.222 より前は、Claude Code はツール結果を消費したリクエストだけでなく、MCP ツール呼び出し後のすべてのリクエストにこの属性を設定していたため、この属性を集計するダッシュボードではアップグレード後に値が減少します。

708* `mcp_tool.name`: このリクエストが結果を消費した MCP ツール。秘匿化とバージョンの挙動は `mcp_server.name` と同じです。リクエストが MCP ツールの結果を消費しなかった場合は含まれません。710* `mcp_tool.name`: このリクエストが結果を消費した MCP ツール。秘匿化とバージョンの動作は `mcp_server.name` と同じです。リクエストが MCP ツールの結果を消費しなかった場合は含まれません。

709 711 

710#### トークンカウンター712#### トークンカウンター

711 713 


714**属性**:716**属性**:

715 717 

716* すべての[標準属性](#standard-attributes)718* すべての[標準属性](#standard-attributes)

717* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)。`"input"` タイプには、プロンプトキャッシュから読み取られた、またはプロンプトキャッシュに書き込まれたトークンは含まれず、それらは `"cacheRead"` と `"cacheCreation"` でカウントされます。`"cacheCreation"` タイプは、5 分と 1 時間の[キャッシュ有効期間](https://code.claude.com/docs/ja/prompt-caching.md#cache-lifetime)のキャッシュ書き込みをまとめてカウントします。719* `type`: (`"input"`、`"output"`、`"cacheRead"`、`"cacheCreation"`)。`"input"` タイプには、プロンプトキャッシュから読み取られた、またはプロンプトキャッシュに書き込まれたトークンは含まれません。これらは `"cacheRead"` と `"cacheCreation"` でカウントされます。`"cacheCreation"` タイプは、5 分と 1 時間の[キャッシュ有効期間](https://code.claude.com/docs/ja/prompt-caching.md#cache-lifetime)のキャッシュ書き込みを合わせてカウントします。

718* `model`: モデル識別子(例: "claude-sonnet-5")720* `model`: モデル識別子(例: "claude-sonnet-5")

719* `query_source`: リクエストを発行したサブシステムのカテゴリ。`"main"`、`"subagent"`、`"auxiliary"` のいずれか721* `query_source`: リクエストを発行したサブシステムのカテゴリ。`"main"`、`"subagent"`、`"auxiliary"` のいずれか

720* `speed`: リクエストが fast mode を使用した場合は `"fast"`。それ以外の場合は含まれません722* `speed`: リクエストが fast mode を使用した場合は `"fast"`。それ以外の場合は含まれません

721* `effort`: リクエストに適用された [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)。詳細は[コストカウンター](#cost-counter)を参照してください。723* `effort`: リクエストに適用された [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)。詳細は[コストカウンター](#cost-counter)を参照してください。

722* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`: リクエストのスキル、プラグイン、エージェント、MCP の帰属情報。定義と秘匿化の挙動については[コストカウンター](#cost-counter)を参照してください。724* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`: リクエストのスキル、プラグイン、エージェント、MCP の帰属情報。定義と秘匿化の動作については[コストカウンター](#cost-counter)を参照してください。

723 725 

724#### コード編集ツール決定カウンター726#### コード編集ツール判定カウンター

725 727 

726ユーザーが Edit、Write、NotebookEdit ツールの使用を承認または拒否したときにインクリメントされます。728ユーザーが Edit、Write、NotebookEdit ツールの使用を承認または拒否したときにインクリメントされます。

727 729 


729 731 

730* すべての[標準属性](#standard-attributes)732* すべての[標準属性](#standard-attributes)

731* `tool_name`: ツール名(`"Edit"`、`"Write"`、`"NotebookEdit"`)733* `tool_name`: ツール名(`"Edit"`、`"Write"`、`"NotebookEdit"`)

732* `decision`: ユーザーの決定(`"accept"`、`"reject"`)734* `decision`: ユーザーの判定(`"accept"`、`"reject"`)

733* `source`: 決定の出どころ。`"config"`、`"hook"`、`"user_permanent"`、`"user_temporary"`、`"user_abort"`、`"user_reject"` のいずれかです。各値の意味については[ツール決定イベント](#tool-decision-event)を参照してください。735* `source`: 判定の出所。`"config"`、`"hook"`、`"user_permanent"`、`"user_temporary"`、`"user_abort"`、`"user_reject"` のいずれか。各値の意味については[ツール判定イベント](#tool-decision-event)を参照してください。

734* `language`: 編集されたファイルのプログラミング言語。`"TypeScript"`、`"Python"`、`"JavaScript"`、`"Markdown"` など。認識されないファイル拡張子の場合は `"unknown"` を返します。736* `language`: 編集されたファイルのプログラミング言語。`"TypeScript"`、`"Python"`、`"JavaScript"`、`"Markdown"` など。認識されないファイル拡張子の場合は `"unknown"` を返します。

735 737 

736#### アクティブ時間カウンター738#### アクティブ時間カウンター

737 739 

738アイドル時間を除き、Claude Code をアクティブに使用した実際の時間を記録します。このメトリクスは、ユーザーの操作中(入力や応答の閲覧など)と、CLI の処理中(ツールの実行や AI の応答生成など)にインクリメントされます。740アイドル時間を除き、Claude Code をアクティブに使用していた実際の時間を追跡します。このメトリクスは、入力や応答の閲覧などのユーザー操作中と、ツールの実行や AI の応答生成などの CLI 処理中にインクリメントされます。

739 741 

740**属性**:742**属性**:

741 743 


744 746 

745### イベント747### イベント

746 748 

747Claude Code は、OpenTelemetry のログ/イベントを通じて以下のイベントをエクスポートします(`OTEL_LOGS_EXPORTER` が設定されている場合)。749Claude Code は、OpenTelemetry の logs/events を通じて次のイベントをエクスポートします(`OTEL_LOGS_EXPORTER` が設定されている場合)。

748 750 

749#### イベント相関属性751#### イベント相関属性

750 752 

751ユーザーがプロンプトを送信すると、Claude Code は複数の API 呼び出しを行い、いくつかのツールを実行することがあります。`prompt.id` 属性を使用すると、それらのイベントすべてを、それらをトリガーした単一のプロンプトに結び付けることができます。753ユーザーがプロンプトを送信すると、Claude Code は複数の API 呼び出しを行い、複数のツールを実行することがあります。`prompt.id` 属性を使用すると、これらのイベントをすべて、それらをトリガーした単一のプロンプトに関連付けることができます。

752 754 

753| 属性 | 説明 |755| 属性 | 説明 |

754| - | - |756| - | - |

755| `prompt.id` | 単一のユーザープロンプトの処理中に生成されたすべてのイベントを関連付ける UUID v4 識別子 |757| `prompt.id` | 単一のユーザープロンプトの処理中に生成されたすべてのイベントを関連付ける UUID v4 識別子 |

756| `event.sequence` | イベントを順序付けるための 0 始まりのカウンター。セッションごとではなく Claude Code プロセスごとにカウントされます |758| `event.sequence` | イベントの順序付けのための 0 始まりのカウンター。セッションごとではなく Claude Code プロセスごとにカウントされます |

757| `message.uuid` | セッションのトランスクリプト(`~/.claude/projects/*/*.jsonl` ファイル)に保存されたメッセージの UUID。`assistant_response`、`api_response_body`、および `user_prompt` に付与されます。ただし、0 個または複数のメッセージを生成する可能性があるコマンドのディスパッチには付与されません。`assistant_response` と `api_response_body` では、これは応答の最後のトランスクリプトエントリであり、次のターンの `parentUuid` はこれに連結されます。`api_response_body` では Claude Code v2.1.274 以降が必要 |759| `message.uuid` | セッションのトランスクリプト(`~/.claude/projects/*/*.jsonl` ファイル)に保存されたメッセージの UUID。`assistant_response`、`api_response_body`、および `user_prompt` に含まれます。ただし、メッセージを 0 件または複数件生成する可能性があるコマンドのディスパッチを除きます。`assistant_response` と `api_response_body` では、これはレスポンスの最後のトランスクリプトエントリであり、次のターンの `parentUuid` はこれにチェーンされます。`api_response_body` では Claude Code v2.1.274 以降が必要です |

758| `request_id` | サーバーが割り当てた API リクエストの ID。`request-id` レスポンスヘッダーから読み取られます(例: `req_011...`)。[Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md) のように `request-id` ヘッダーのないレスポンスでは、代わりに `x-amzn-requestid` ヘッダーから値を取得します。レスポンスにいずれかのヘッダーが含まれる場合、`api_request`、`api_error`、`api_refusal`、`assistant_response`、`api_response_body` に含まれます。`llm_request` トレーススパンの同名の属性と一致します。`x-amzn-requestid` からの取得には Claude Code v2.1.282 以降が必要です |760| `request_id` | `request-id` レスポンスヘッダーから読み取られる、サーバーが割り当てた API リクエストの ID。`req_011...` など。[Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md) のように `request-id` ヘッダーがないレスポンスでは、代わりに `x-amzn-requestid` ヘッダーから値が取得されます。レスポンスにいずれかのヘッダーが含まれている場合、`api_request`、`api_error`、`api_refusal`、`assistant_response`、`api_response_body`、[`tool_result`](#tool-result-event)、[`tool_decision`](#tool-decision-event) に含まれます。`llm_request` トレーススパンの同じ属性と一致します。`x-amzn-requestid` からの取得には Claude Code v2.1.282 以降が必要です |

759| `client_request_id` | `x-client-request-id` リクエストヘッダーとして送信される、クライアントが生成した UUID。ファーストパーティの API 接続では `api_request` と `api_error` に付与されます。サードパーティプロバイダーのバックエンドの場合や、リクエストが非ストリーミングのフォールバックで再試行された場合は付与されません。リクエストとそのレスポンスを対応付けるもので、サーバーの `request_id` が生成されなかったタイムアウトなどの失敗時にも利用できます。`llm_request` トレーススパンの同じ属性と一致します |761| `client_request_id` | `x-client-request-id` リクエストヘッダーとして送信される、クライアントが生成した UUID。ファーストパーティの API 接続では `api_request` と `api_error` に含まれます。サードパーティのプロバイダーバックエンドの場合や、非ストリーミングのフォールバックを通じてリクエストが再試行された場合は含まれません。リクエストとそのレスポンスを対応付けるもので、サーバーの `request_id` が生成されなかったタイムアウトなどの失敗でも利用できます。`llm_request` トレーススパンの同じ属性と一致します |

760 762 

761単一のプロンプトによってトリガーされたすべてのアクティビティを追跡するには、特定の `prompt.id` の値でイベントをフィルタリングします。これにより、そのプロンプトの処理中に発生した user\_prompt イベント、api\_request イベント、tool\_result イベントが返されます。763単一のプロンプトによってトリガーされたすべてのアクティビティをトレースするには、特定の `prompt.id` の値でイベントをフィルタリングします。これにより、そのプロンプトの処理中に発生した user\_prompt イベント、api\_request イベント、tool\_result イベントが返されます。

762 764 

763`event.sequence` は Claude Code プロセスが開始されるたびに 0 から始まり、そのプロセスが存続する間カウントアップされます。新しい `session.id` が割り当てられる `/clear` の後もカウントは継続します。[フォークせずにセッションを再開](https://code.claude.com/docs/ja/how-claude-code-works.md#resume-or-fork-sessions)した場合、セッションは `session.id` を維持しますが、`event.sequence` の値は再開したプロセスのものになります。そのため、1 つのセッション内で後のイベントが前のイベントより小さい値を持つことや、同じ値が重複することがあります。セッションのイベントを順序付けるには、`event.timestamp` で並べ替え、同じタイムスタンプを持つイベントの順序付けに `event.sequence` を使用してください。765`event.sequence` は Claude Code プロセスが起動するたびに 0 から始まり、そのプロセスが存続する間カウントアップします。新しい `session.id` を割り当てる `/clear` をまたいでもカウントは継続します。[フォークせずにセッションを再開](https://code.claude.com/docs/ja/how-claude-code-works.md#resume-or-fork-sessions)した場合、セッションは `session.id` を保持しますが、`event.sequence` の値は再開したプロセスから取得されます。そのため、1 つのセッション内で後のイベントが前のイベントより小さい値を持ったり、同じ値が繰り返されたりすることがあります。セッションのイベントを順序付けるには、`event.timestamp` で並べ替え、タイムスタンプが同じイベントの順序付けに `event.sequence` を使用してください。

764 766 

765メッセージ単位で再構成するために、各イベントクラスはセッションのトランスクリプトのフィールドと一致するキーを保持しています。トランスクリプトのエントリ形式は [Claude Code の内部仕様](https://code.claude.com/docs/ja/sessions.md#where-transcripts-are-stored)であり、バージョン間で変更されるため、これらのフィールドで結合するパイプラインはどのリリースでも壊れる可能性があります。結合は安定した契約ではなく、バージョン固有のものとして扱ってください。767メッセージ単位での再構築のために、各イベントクラスはセッションのトランスクリプトのフィールドと一致するキーを持っています。トランスクリプトのエントリ形式は [Claude Code の内部仕様](https://code.claude.com/docs/ja/sessions.md#where-transcripts-are-stored)であり、バージョン間で変更されるため、これらのフィールドで結合するパイプラインはどのリリースでも壊れる可能性があります。結合は安定した契約ではなく、バージョン固有のものとして扱ってください。

766 768 

767* `user_prompt`、`assistant_response`、`api_response_body` の `message.uuid`769* `user_prompt`、`assistant_response`、`api_response_body` の `message.uuid`

768* API イベントの `request_id`。トランスクリプトのアシスタントエントリには `requestId` として保存されます770* API イベントの `request_id`。トランスクリプトのアシスタントエントリには `requestId` として保存されます

769* `tool_result` および `tool_decision` イベントの `tool_use_id`、および[ターンの終了](#safety-event)に関するものを除く `safety_event` イベントの `tool_use_id`771* `tool_result` イベントと `tool_decision` イベント、および[ターンの終了](#safety-event)に関するものを除く `safety_event` イベントの `tool_use_id`

770 772 

771#### ユーザープロンプトイベント773#### ユーザープロンプトイベント

772 774 

773プロンプトが送信されたときにログに記録されます。Claude Code が自ら開始するターンも含まれます。775プロンプトが送信されたときに記録されます。Claude Code が自ら開始するターンも含まれます。

774 776 

775**イベント名**: `claude_code.user_prompt`777**イベント名**: `claude_code.user_prompt`

776 778 


779* すべての[標準属性](#standard-attributes)781* すべての[標準属性](#standard-attributes)

780* `event.name`: `"user_prompt"`782* `event.name`: `"user_prompt"`

781* `event.timestamp`: ISO 8601 タイムスタンプ783* `event.timestamp`: ISO 8601 タイムスタンプ

782* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています784* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

783* `prompt_length`: プロンプトの長さ785* `prompt_length`: プロンプトの長さ

784* `prompt`: プロンプトの内容。デフォルトでは秘匿化されます。含めるには `OTEL_LOG_USER_PROMPTS=1` を設定してください786* `prompt`: プロンプトの内容。デフォルトでは秘匿化されます。含めるには `OTEL_LOG_USER_PROMPTS=1` を設定してください

785* `prompt_text`: `prompt` と同じ値で、同じ条件で伏せ字化されます。ドット区切りの属性名をネストされたオブジェクトとして保存するバックエンドでは、`prompt.id` を `prompt` という名前のオブジェクト内の `id` として読み取るため、プロンプト文字列が失われる可能性があります。その場合は代わりに `prompt_text` を読み取ってください。Claude Code v2.1.287 以降が必要です787* `prompt_text`: `prompt` と同じ値で、同じ条件で秘匿化されます。ドット区切りの属性名をネストされたオブジェクトとして保存するバックエンドでは、`prompt.id` を `prompt` という名前のオブジェクト内の `id` として読み取り、プロンプト文字列が失われる可能性があります。その場合は代わりに `prompt_text` を読み取ってください。Claude Code v2.1.287 以降が必要です

786* `message.uuid`: 結果として生成されたユーザーメッセージの UUID。保存されたトランスクリプトエントリと一致します。0 個または複数のメッセージを生成する可能性があるコマンドのディスパッチには付与されません。788* `message.uuid`: 生成されたユーザーメッセージの UUID。保存されたトランスクリプトのエントリと一致します。メッセージを 0 件または複数件生成する可能性があるコマンドのディスパッチでは含まれません。

787* `command_name`: プロンプトがコマンドを呼び出す場合のコマンド名。`compact` や `debug` などの組み込みおよびバンドルのコマンド名はそのまま出力されます。`reset` などのエイリアスは正規の名前ではなく入力されたとおりに出力されます。カスタム、プラグイン、MCP のコマンド名は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `custom` または `mcp` にまとめられます789* `command_name`: プロンプトがコマンドを呼び出す場合のコマンド名。`compact` や `debug` などの組み込みコマンドとバンドルコマンドの名前はそのまま出力されます。`reset` などのエイリアスは正規の名前ではなく入力されたとおりに出力されます。カスタム、プラグイン、MCP のコマンド名は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `custom` または `mcp` にまとめられます

788* `command_source`: コマンドが存在する場合のコマンドの出どころ。`builtin`、`custom`、`mcp` のいずれかです。プラグインが提供するコマンドは `custom` として報告されます790* `command_source`: コマンドが存在する場合のコマンドの出所。`builtin`、`custom`、`mcp` のいずれか。プラグインが提供するコマンドは `custom` として報告されます

789 791 

790#### アシスタント応答イベント792#### アシスタント応答イベント

791 793 


798* すべての[標準属性](#standard-attributes)800* すべての[標準属性](#standard-attributes)

799* `event.name`: `"assistant_response"`801* `event.name`: `"assistant_response"`

800* `event.timestamp`: ISO 8601 タイムスタンプ802* `event.timestamp`: ISO 8601 タイムスタンプ

801* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています803* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

802* `response_length`: 応答テキストの長さ(文字数)804* `response_length`: 応答テキストの長さ(文字数)

803* `response`: 応答テキスト。コンテンツの上限(デフォルトは 60 KB)で切り詰められます。デフォルトでは `<REDACTED>` に秘匿化されます。含めるには `OTEL_LOG_ASSISTANT_RESPONSES=1` を設定してください。`OTEL_LOG_ASSISTANT_RESPONSES` が未設定の場合は、代わりに `OTEL_LOG_USER_PROMPTS` によって制御されます。そのため、プロンプトのログ記録を有効にしたまま応答を秘匿化しておくには `OTEL_LOG_ASSISTANT_RESPONSES=0` を設定してください805* `response`: 応答テキスト。コンテンツの上限(デフォルトは 60 KB)で切り詰められます。デフォルトでは `<REDACTED>` に秘匿化されます。含めるには `OTEL_LOG_ASSISTANT_RESPONSES=1` を設定してください。`OTEL_LOG_ASSISTANT_RESPONSES` が設定されていない場合は代わりに `OTEL_LOG_USER_PROMPTS` によって制御されるため、プロンプトのログ記録をオンにしたまま応答を秘匿化しておくには `OTEL_LOG_ASSISTANT_RESPONSES=0` を設定してください

804* `model`: モデル識別子(例: "claude-sonnet-5")806* `model`: モデル識別子(例: "claude-sonnet-5")

805* `request_id`: API リクエスト ID。[イベント相関属性](#event-correlation-attributes)で説明しています807* `request_id`: API リクエスト ID。[イベント相関属性](#event-correlation-attributes)で説明しています

806* `message.uuid`: 応答の最後のトランスクリプトエントリの UUID。API のレスポンスはコンテンツブロックごとに 1 つのトランスクリプトエントリとして保存されます。これはその最後のエントリであり、次のターンの `parentUuid` はこれに連結されます。808* `message.uuid`: 応答の最後のトランスクリプトエントリの UUID。API レスポンスはコンテンツブロックごとに 1 つのトランスクリプトエントリとして保存されます。これはその最後のエントリであり、次のターンの `parentUuid` はこれにチェーンされます。

807* `query_source`: リクエストを発行したサブシステム。`"repl_main_thread"`、`"compact"`、またはサブエージェント名など809* `query_source`: リクエストを発行したサブシステム。`"repl_main_thread"`、`"compact"`、またはサブエージェント名など

808 810 

809#### ツール結果イベント811#### ツール結果イベント

810 812 

811ツールの実行が完了したときにログに記録されます。ツール呼び出しが拒否された場合は出力されません。拒否については[ツール決定イベント](#tool-decision-event)を参照してください。813ツールの実行が完了したときに記録されます。ツール呼び出しが拒否された場合は出力されません。拒否については[ツール判定イベント](#tool-decision-event)を参照してください。

812 814 

813**イベント名**: `claude_code.tool_result`815**イベント名**: `claude_code.tool_result`

814 816 


817* すべての[標準属性](#standard-attributes)819* すべての[標準属性](#standard-attributes)

818* `event.name`: `"tool_result"`820* `event.name`: `"tool_result"`

819* `event.timestamp`: ISO 8601 タイムスタンプ821* `event.timestamp`: ISO 8601 タイムスタンプ

820* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています822* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

821* `tool_name`: ツールの名前823* `tool_name`: ツールの名前

822* `tool_use_id`: このツール呼び出しの一意の識別子。フックに渡される `tool_use_id` と一致するため、OTel イベントとフックで取得したデータを関連付けることができます。824* `tool_use_id`: このツール呼び出しの一意の識別子。フックに渡される `tool_use_id` と一致するため、OTel イベントとフックで取得したデータを関連付けることができます。

825* `request_id`: このツール呼び出しを含んでいた API レスポンスの [`request_id`](#event-correlation-attributes)。これにより、呼び出しをそのレスポンスの API イベントと結合できます。そのレスポンスにリクエスト ID がなかった場合、または呼び出しを含む API レスポンスがなかった場合は含まれません。Claude Code v2.1.310 以降が必要です

823* `success`: `"true"` または `"false"`826* `success`: `"true"` または `"false"`

824* `duration_ms`: 実行時間(ミリ秒)827* `duration_ms`: 実行時間(ミリ秒)

825* `error_type`: ツールが失敗した場合のエラーカテゴリの文字列。`"Error:ENOENT"` や `"ShellError"` など828* `error_type`: ツールが失敗した場合のエラーカテゴリ文字列。`"Error:ENOENT"` や `"ShellError"` など

826* `error`(`OTEL_LOG_TOOL_DETAILS=1` の場合): ツールが失敗した場合の完全なエラーメッセージ829* `error`(`OTEL_LOG_TOOL_DETAILS=1` の場合): ツールが失敗した場合の完全なエラーメッセージ

827* `decision_type`: 常に `"accept"`。このイベントはツールの実行後にのみ出力されるためです。拒否された呼び出しはツール結果を生成しません830* `decision_type`: このイベントはツールの実行後にのみ出力されるため、常に `"accept"` です。拒否された呼び出しではツール結果は生成されません

828* `decision_source`: 権限決定の出どころ。`"config"`、`"hook"`、`"user_permanent"`、`"user_temporary"` のいずれかです。各値の意味については[ツール決定イベント](#tool-decision-event)を参照してください。拒否専用のソースである `"user_abort"` と `"user_reject"` がこのイベントに現れることはありません。831* `decision_source`: 権限判定の出所。`"config"`、`"hook"`、`"user_permanent"`、`"user_temporary"` のいずれか。各値の意味については[ツール判定イベント](#tool-decision-event)を参照してください。拒否専用の出所である `"user_abort"` と `"user_reject"` がこのイベントに現れることはありません。

829* `tool_input_size_bytes`: JSON シリアライズされたツール入力のサイズ(バイト)832* `tool_input_size_bytes`: JSON シリアライズされたツール入力のサイズ(バイト)

830* `tool_result_size_bytes`: ツール結果のサイズ(バイト)833* `tool_result_size_bytes`: ツール結果のサイズ(バイト)

831* `mcp_server_scope`: MCP サーバーのスコープ識別子(MCP ツールの場合)834* `mcp_server_scope`: MCP サーバーのスコープ識別子(MCP ツールの場合)

832* `vcs.ref.head.revision`、`vcs.ref.head.name`、`vcs.ref.head.type`(`OTEL_LOG_TOOL_DETAILS=1` の場合): Bash または PowerShell ツールによって実行され成功した `git commit` のコミットの識別情報。`vcs.ref.head.revision` はコミット SHA、`vcs.ref.head.name` はコミットされたブランチ、`vcs.ref.head.type` は `branch` です。detached HEAD 上でコミットされた場合、名前と種類は省略されます。Claude Code v2.1.269 以降が必要です835* `vcs.ref.head.revision`、`vcs.ref.head.name`、`vcs.ref.head.type`(`OTEL_LOG_TOOL_DETAILS=1` の場合): Bash または PowerShell ツールによって実行され、成功した `git commit` のコミット識別情報。`vcs.ref.head.revision` はコミットの SHA、`vcs.ref.head.name` はコミットされたブランチ、`vcs.ref.head.type` は `branch` です。detached HEAD 上でコミットされた場合、名前と種類は省略されます。Claude Code v2.1.269 以降が必要です

833* `tool_parameters`(`OTEL_LOG_TOOL_DETAILS=1` の場合): ツール固有のパラメーターを含む JSON 文字列。Claude Desktop の組み込みサーバーについては、Claude Desktop が所有するセッションでは、フラグがオフでも `mcp_server_name`/`mcp_tool_name` のペアが含まれます。これは[ツール決定イベント](#tool-decision-event)と同じ、ホストが定義する名前に対する例外です。パラメーターはツールによって異なります。836* `tool_parameters`(`OTEL_LOG_TOOL_DETAILS=1` の場合): ツール固有のパラメーターを含む JSON 文字列。Claude Desktop が所有するセッションにおける Claude Desktop の組み込みサーバーについては、[ツール判定イベント](#tool-decision-event)と同じホスト作成の例外として、フラグがオフでも `mcp_server_name`/`mcp_tool_name` のペアが含まれます。パラメーターはツールによって異なります。

834 * Bash ツールの場合: `bash_command`、`full_command`、`timeout`、`description`、`dangerouslyDisableSandbox` を含み、`git commit` コマンドが成功した場合は `git_commit_id` と `git_branch` も含まれます。`git_commit_id` は、コミットがセッションの作業ディレクトリの HEAD である場合は完全なコミット SHA、それ以外の場合は Git の短縮 SHA です。`git_branch` はコミットされたブランチであり、detached HEAD の場合は省略されます837 * Bash ツールの場合: `bash_command`、`full_command`、`timeout`、`description`、`dangerouslyDisableSandbox` が含まれ、`git commit` コマンドが成功した場合は `git_commit_id` と `git_branch` も含まれます。`git_commit_id` は、コミットがセッションの作業ディレクトリの HEAD である場合は完全なコミット SHA、それ以外の場合は git の短縮 SHA です。`git_branch` はコミットされたブランチで、detached HEAD の場合は省略されます

835 * デスクトップアプリのワークスペース Bash ツール(`tool_name` も `Bash` として報告されます)の場合: `bash_command`、`full_command`、`timeout` のみを含みます838 * デスクトップアプリのワークスペース Bash ツール(`tool_name` も `Bash` として報告されます)の場合: `bash_command`、`full_command`、`timeout` のみが含まれます

836 * MCP ツールの場合: `mcp_server_name`、`mcp_tool_name` を含みます839 * MCP ツールの場合: `mcp_server_name`、`mcp_tool_name` が含まれます

837 * Skill ツールの場合: `skill_name` を含みます840 * Skill ツールの場合: `skill_name` が含まれます

838 * Agent ツールまたはレガシーの Task ツールの場合: `subagent_type` を含みます841 * Agent ツールまたはレガシーの Task ツールの場合: `subagent_type` が含まれます

839* `tool_input`(`OTEL_LOG_TOOL_DETAILS=1` の場合): JSON シリアライズされたツールの引数。512 文字を超える個々の値は切り詰められ、ペイロード全体は約 4 K 文字に制限されます。MCP ツールを含むすべてのツールに適用されます。842* `tool_input`(`OTEL_LOG_TOOL_DETAILS=1` の場合): JSON シリアライズされたツール引数。512 文字を超える個々の値は切り詰められ、ペイロード全体は約 4K 文字に制限されます。MCP ツールを含むすべてのツールに適用されます。

840 843 

841#### API リクエストイベント844#### API リクエストイベント

842 845 

843Claude への各 API リクエストについてログに記録されます。846Claude への各 API リクエストについて記録されます。

844 847 

845**イベント名**: `claude_code.api_request`848**イベント名**: `claude_code.api_request`

846 849 


849* すべての[標準属性](#standard-attributes)852* すべての[標準属性](#standard-attributes)

850* `event.name`: `"api_request"`853* `event.name`: `"api_request"`

851* `event.timestamp`: ISO 8601 タイムスタンプ854* `event.timestamp`: ISO 8601 タイムスタンプ

852* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています855* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

853* `model`: 使用されたモデル(例: "claude-sonnet-5")856* `model`: 使用されたモデル(例: "claude-sonnet-5")

854* `cost_usd`: 推定コスト(USD)857* `cost_usd`: 推定コスト(USD)

855* `cost_usd_micros`: 推定コスト(100 万分の 1 米ドル単位)。整数として出力されます858* `cost_usd_micros`: 100 万分の 1 米ドル単位の推定コスト。整数として出力されます

856* `duration_ms`: リクエストの所要時間(ミリ秒)859* `duration_ms`: リクエストの所要時間(ミリ秒)

857* `input_tokens`: 入力トークン数。プロンプトキャッシュから読み取られた、またはプロンプトキャッシュに書き込まれたトークンは含みません860* `input_tokens`: 入力トークン数。プロンプトキャッシュから読み取られた、またはプロンプトキャッシュに書き込まれたトークンは含まれません

858* `output_tokens`: 出力トークン数861* `output_tokens`: 出力トークン数

859* `cache_read_tokens`: キャッシュから読み取られたトークン数862* `cache_read_tokens`: キャッシュから読み取られたトークン数

860* `cache_creation_tokens`: キャッシュの作成に使用されたトークン数863* `cache_creation_tokens`: キャッシュ作成に使用されたトークン数

861* `request_id`: API リクエスト ID(例: `"req_011..."`)。[イベント相関属性](#event-correlation-attributes)で説明しています。864* `request_id`: API リクエスト ID。`"req_011..."` など。[イベント相関属性](#event-correlation-attributes)で説明しています。

862* `client_request_id`: `x-client-request-id` リクエストヘッダーとして送信される、クライアントが生成した UUID。付与される条件については[イベント相関属性](#event-correlation-attributes)の表を参照してください865* `client_request_id`: `x-client-request-id` リクエストヘッダーとして送信される、クライアントが生成した UUID。含まれる条件については[イベント相関属性](#event-correlation-attributes)の表を参照してください

863* `speed`: `"fast"` または `"normal"`。fast mode が有効だったかどうかを示します866* `speed`: `"fast"` または `"normal"`。fast mode がアクティブだったかどうかを示します

864* `query_source`: リクエストを発行したサブシステム。`"repl_main_thread"`、`"compact"`、またはサブエージェント名など867* `query_source`: リクエストを発行したサブシステム。`"repl_main_thread"`、`"compact"`、またはサブエージェント名など

865* `effort`: リクエストに適用された [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)。`"low"`、`"medium"`、`"high"`、`"xhigh"`、`"max"` のいずれか。Claude Code が effort レベルを送信しない場合(effort をサポートしていないモデルなど)は含まれません。868* `effort`: リクエストに適用された [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)。`"low"`、`"medium"`、`"high"`、`"xhigh"`、`"max"` のいずれか。effort をサポートしないモデルの場合など、Claude Code が effort レベルを送信しない場合は含まれません。

866* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`: リクエストのスキル、プラグイン、エージェント、MCP の帰属情報。定義と秘匿化の挙動については[コストカウンター](#cost-counter)を参照してください。869* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`: リクエストのスキル、プラグイン、エージェント、MCP の帰属情報。定義と秘匿化の動作については[コストカウンター](#cost-counter)を参照してください。

867 870 

868#### API エラーイベント871#### API エラーイベント

869 872 

870Claude への API リクエストが失敗したときにログに記録されます。873Claude への API リクエストが失敗したときに記録されます。

871 874 

872**イベント名**: `claude_code.api_error`875**イベント名**: `claude_code.api_error`

873 876 


876* すべての[標準属性](#standard-attributes)879* すべての[標準属性](#standard-attributes)

877* `event.name`: `"api_error"`880* `event.name`: `"api_error"`

878* `event.timestamp`: ISO 8601 タイムスタンプ881* `event.timestamp`: ISO 8601 タイムスタンプ

879* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています882* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

880* `model`: 使用されたモデル(例: "claude-sonnet-5")883* `model`: 使用されたモデル(例: "claude-sonnet-5")

881* `error`: エラーメッセージ884* `error`: エラーメッセージ

882* `status_code`: 数値としての HTTP ステータスコード。接続の失敗など、HTTP 以外のエラーの場合は含まれません。885* `status_code`: 数値としての HTTP ステータスコード。接続失敗など HTTP 以外のエラーの場合は含まれません。

883* `duration_ms`: リクエストの所要時間(ミリ秒)886* `duration_ms`: リクエストの所要時間(ミリ秒)

884* `attempt`: 最初のリクエストを含む試行回数。カウントが再開されるタイミングについては[再試行の上限到達を検出する](#detect-retry-exhaustion)を参照してください887* `attempt`: 最初のリクエストを含む試行回数。カウントが再び始まるタイミングについては[再試行の枯渇を検出する](#detect-retry-exhaustion)を参照してください

885* `request_id`: API リクエスト ID(例: `"req_011..."`)。[イベント相関属性](#event-correlation-attributes)で説明しています。888* `request_id`: API リクエスト ID。`"req_011..."` など。[イベント相関属性](#event-correlation-attributes)で説明しています。

886* `client_request_id`: `x-client-request-id` リクエストヘッダーとして送信される、クライアントが生成した UUID。タイムアウトや接続エラーなどの失敗でサーバーの `request_id` が生成されなかった場合でも利用できます。付与される条件については[イベント相関属性](#event-correlation-attributes)の表を参照してください。889* `client_request_id`: `x-client-request-id` リクエストヘッダーとして送信される、クライアントが生成した UUID。タイムアウトや接続エラーなどの失敗によってサーバーの `request_id` が生成されなかった場合でも利用できます。含まれる条件については[イベント相関属性](#event-correlation-attributes)の表を参照してください。

887* `speed`: `"fast"` または `"normal"`。fast mode が有効だったかどうかを示します890* `speed`: `"fast"` または `"normal"`。fast mode がアクティブだったかどうかを示します

888* `query_source`: リクエストを発行したサブシステム。`"repl_main_thread"`、`"compact"`、またはサブエージェント名など891* `query_source`: リクエストを発行したサブシステム。`"repl_main_thread"`、`"compact"`、またはサブエージェント名など

889* `effort`: リクエストに適用された [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)。Claude Code が effort レベルを送信しない場合(effort をサポートしていないモデルなど)は含まれません。892* `effort`: リクエストに適用された [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)。effort をサポートしないモデルの場合など、Claude Code が effort レベルを送信しない場合は含まれません。

890* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`: リクエストのスキル、プラグイン、エージェント、MCP の帰属情報。定義と秘匿化の挙動については[コストカウンター](#cost-counter)を参照してください。893* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`: リクエストのスキル、プラグイン、エージェント、MCP の帰属情報。定義と秘匿化の動作については[コストカウンター](#cost-counter)を参照してください。

891 894 

892#### API 拒否イベント895#### API 拒否イベント

893 896 

894API リクエストが `stop_reason: "refusal"` を返したときにログに記録されます。拒否は HTTP エラーとしてではなく成功したレスポンスストリーム上で届くため、`api_error` イベントは発生しません。このイベントを使用すると、拒否の頻度を追跡し、`api_request` や `api_error` と同じ属性で拒否をグループ化できます。897API リクエストが `stop_reason: "refusal"` を返したときに記録されます。拒否は HTTP エラーとしてではなく成功したレスポンスストリームで届くため、`api_error` イベントは発生しません。このイベントを使用すると、拒否の頻度を追跡し、`api_request` や `api_error` と同じ属性で拒否をグループ化できます。

895 898 

896**イベント名**: `claude_code.api_refusal`899**イベント名**: `claude_code.api_refusal`

897 900 


900* すべての[標準属性](#standard-attributes)903* すべての[標準属性](#standard-attributes)

901* `event.name`: `"api_refusal"`904* `event.name`: `"api_refusal"`

902* `event.timestamp`: ISO 8601 タイムスタンプ905* `event.timestamp`: ISO 8601 タイムスタンプ

903* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています906* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

904* `model`: リクエストのモデル識別子907* `model`: リクエストのモデル識別子

905* `request_id`: API リクエスト ID(例: `"req_011..."`)。[イベント相関属性](#event-correlation-attributes)で説明しています。908* `request_id`: API リクエスト ID。`"req_011..."` など。[イベント相関属性](#event-correlation-attributes)で説明しています。

906* `query_source`: リクエストを発行したサブシステム。`"repl_main_thread"`、`"compact"`、またはサブエージェント名など。定義については [`api_request`](#api-request-event) を参照してください。909* `query_source`: リクエストを発行したサブシステム。`"repl_main_thread"`、`"compact"`、またはサブエージェント名など。定義については [`api_request`](#api-request-event) を参照してください。

907* `speed`: [Fast mode](https://code.claude.com/docs/ja/fast-mode.md) が有効な場合は `"fast"`、それ以外は `"normal"`910* `speed`: [Fast mode](https://code.claude.com/docs/ja/fast-mode.md) がアクティブな場合は `"fast"`、それ以外の場合は `"normal"`

908* `attempt`: 再試行の試行番号。最初の試行は `1` です。911* `attempt`: 再試行の試行番号。最初の試行は `1` です。

909* `effort`: リクエストに適用された [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)。Claude Code が effort レベルを送信しない場合(effort をサポートしていないモデルなど)は含まれません。912* `effort`: リクエストに適用された [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)。effort をサポートしないモデルの場合など、Claude Code が effort レベルを送信しない場合は含まれません。

910* `server_fallback_hop`: API のサーバー側のモデルフォールバックがこの拒否をすでに別のモデルで再試行したため、ユーザーにはこの拒否が表示されなかった場合は `true`。リクエストが拒否で終了した場合は `false`。フォールバック先のモデルも拒否した場合、1 つのターンで `true` のホップイベントと、その後の `false` の最終イベントの両方が出力されることがあります。913* `server_fallback_hop`: API のサーバー側モデルフォールバックがすでにこの拒否を別のモデルで再試行したため、ユーザーにはこの拒否が表示されなかった場合は `true`。リクエストが拒否で終了した場合は `false`。フォールバックモデルも拒否した場合、1 つのターンで `true` のホップイベントと、その後の `false` の最終イベントの両方が出力されることがあります。

911* `has_category`: API レスポンスに `"cyber"`、`"bio"`、`"frontier_llm"`、`"reasoning_extraction"` のいずれかの `stop_details.category` が含まれていた場合は `true`。レスポンスにカテゴリが含まれていなかった場合、またはその集合以外の値だった場合は `false`。ホップのブロックには `stop_details` が含まれないため、`server_fallback_hop` が `true` の場合は含まれません。914* `has_category`: API レスポンスに `"cyber"`、`"bio"`、`"frontier_llm"`、`"reasoning_extraction"` のいずれかの `stop_details.category` が含まれていた場合は `true`。レスポンスにカテゴリが含まれていなかった場合、またはその集合外の値が含まれていた場合は `false`。ホップブロックには `stop_details` が含まれないため、`server_fallback_hop` が `true` の場合は含まれません。

912* `has_explanation`: API レスポンスに `stop_details.explanation` が含まれていた場合は `true`、それ以外は `false`。`server_fallback_hop` が `true` の場合は含まれません。915* `has_explanation`: API レスポンスに `stop_details.explanation` が含まれていた場合は `true`、それ以外の場合は `false`。`server_fallback_hop` が `true` の場合は含まれません。

913* `category`: API レスポンスの `stop_details.category` の値。`"cyber"`、`"bio"`、`"frontier_llm"`、`"reasoning_extraction"` のいずれかです。`OTEL_LOG_TOOL_DETAILS=1` が設定され、かつ `has_category` が `true` の場合にのみ含まれます。916* `category`: API レスポンスの `stop_details.category` の値。`"cyber"`、`"bio"`、`"frontier_llm"`、`"reasoning_extraction"` のいずれか。`OTEL_LOG_TOOL_DETAILS=1` が設定され、かつ `has_category` が `true` の場合にのみ含まれます。

914* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`: リクエストのスキル、プラグイン、エージェント、MCP の帰属情報。定義と秘匿化の挙動については[コストカウンター](#cost-counter)を参照してください。917* `agent.name`、`skill.name`、`plugin.name`、`marketplace.name`、`mcp_server.name`、`mcp_tool.name`: リクエストのスキル、プラグイン、エージェント、MCP の帰属情報。定義と秘匿化の動作については[コストカウンター](#cost-counter)を参照してください。

915 918 

916#### API リクエストボディイベント919#### API リクエストボディイベント

917 920 

918`OTEL_LOG_RAW_API_BODIES` が設定されている場合、各 API リクエストの試行についてログに記録されます。試行ごとに 1 つのイベントが出力されるため、パラメーターを調整した再試行はそれぞれ独自のイベントを生成します。921`OTEL_LOG_RAW_API_BODIES` が設定されている場合に、各 API リクエストの試行について記録されます。試行ごとに 1 つのイベントが出力されるため、パラメーターを調整した再試行はそれぞれ独自のイベントを生成します。

919 922 

920**イベント名**: `claude_code.api_request_body`923**イベント名**: `claude_code.api_request_body`

921 924 


924* すべての[標準属性](#standard-attributes)927* すべての[標準属性](#standard-attributes)

925* `event.name`: `"api_request_body"`928* `event.name`: `"api_request_body"`

926* `event.timestamp`: ISO 8601 タイムスタンプ929* `event.timestamp`: ISO 8601 タイムスタンプ

927* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています930* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

928* `body`: システムプロンプト、メッセージ、ツールなどを含む、JSON シリアライズされた Messages API のリクエストパラメーター。コンテンツの上限(デフォルトは 60 KB)で切り詰められます。過去のアシスタントのターンに含まれる拡張思考のコンテンツは秘匿化されます。インラインモード(`OTEL_LOG_RAW_API_BODIES=1`)でのみ出力されます。931* `body`: JSON シリアライズされた Messages API のリクエストパラメーター(システムプロンプト、メッセージ、ツールなど)。コンテンツの上限(デフォルトは 60 KB)で切り詰められます。以前のアシスタントターンの拡張思考の内容は秘匿化されます。インラインモード(`OTEL_LOG_RAW_API_BODIES=1`)でのみ出力されます。

929* `body_ref`: 切り詰められていないボディを含む `<dir>/<uuid>.request.json` ファイルへの絶対パス。ファイルモード(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)でのみ出力されます。932* `body_ref`: 切り詰められていないボディを含む `<dir>/<uuid>.request.json` ファイルの絶対パス。ファイルモード(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)でのみ出力されます。

930* `body_length`: 切り詰め前のボディの長さ。`OTEL_LOG_RAW_API_BODIES=file:<dir>` の場合は UTF-8 バイト、`=1` の場合は UTF-16 コード単位です933* `body_length`: 切り詰められていないボディの長さ。`OTEL_LOG_RAW_API_BODIES=file:<dir>` の場合は UTF-8 のバイト数、`=1` の場合は UTF-16 のコードユニット数です

931* `body_truncated`: インラインでの切り詰めが発生した場合は `"true"`。ファイルモードの場合、および切り詰めが発生しなかった場合は含まれません。934* `body_truncated`: インラインでの切り詰めが発生した場合は `"true"`。ファイルモードの場合、および切り詰めが発生しなかった場合は含まれません。

932* `model`: リクエストパラメーターのモデル識別子935* `model`: リクエストパラメーターのモデル識別子

933* `query_source`: リクエストを発行したサブシステム(例: `"compact"`)936* `query_source`: リクエストを発行したサブシステム(例: `"compact"`)

934* `request_body_id`: この試行のリクエストボディを識別する UUID。成功した試行の [`api_response_body` イベント](#api-response-body-event)にも同じ値が含まれるため、レスポンスとそれを生成した正確なリクエストを対応付けることができます。Claude Code v2.1.274 以降が必要です937* `request_body_id`: この試行のリクエストボディを識別する UUID。成功した試行の [`api_response_body` イベント](#api-response-body-event)は同じ値を持つため、レスポンスをそれを生成した正確なリクエストと対応付けることができます。Claude Code v2.1.274 以降が必要です

935 938 

936#### API レスポンスボディイベント939#### API レスポンスボディイベント

937 940 

938`OTEL_LOG_RAW_API_BODIES` が設定されている場合、成功した各 API レスポンスについてログに記録されます。941`OTEL_LOG_RAW_API_BODIES` が設定されている場合に、成功した各 API レスポンスについて記録されます。

939 942 

940ファイルモード(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)では、Claude Code は成功したレスポンスごとに `<dir>/index.jsonl` にも 1 行の JSON を追記します。この行には `timestamp`、`session_id`、`query_source`、`model`、`request_id`、`message_id`、`message_uuid`、`request_file`、`response_file` のフィールドが含まれます。これを読むと、テレメトリバックエンドにクエリを実行することなく、特定のトランスクリプトメッセージの背後にあるリクエストファイルとレスポンスファイルを見つけることができます。インデックスファイルには Claude Code v2.1.274 以降が必要です。943ファイルモード(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)では、Claude Code は成功した各レスポンスについて、`timestamp`、`session_id`、`query_source`、`model`、`request_id`、`message_id`、`message_uuid`、`request_file`、`response_file` のフィールドを持つ JSON 行を `<dir>/index.jsonl` に 1 行追記します。テレメトリバックエンドにクエリを実行せずに、特定のトランスクリプトメッセージの背後にあるリクエストファイルとレスポンスファイルを見つけるには、このファイルを読み取ってください。インデックスファイルには Claude Code v2.1.274 以降が必要です。

941 944 

942**イベント名**: `claude_code.api_response_body`945**イベント名**: `claude_code.api_response_body`

943 946 


946* すべての[標準属性](#standard-attributes)949* すべての[標準属性](#standard-attributes)

947* `event.name`: `"api_response_body"`950* `event.name`: `"api_response_body"`

948* `event.timestamp`: ISO 8601 タイムスタンプ951* `event.timestamp`: ISO 8601 タイムスタンプ

949* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています952* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

950* `body`: ID、コンテンツブロック、使用量、停止理由を含む、JSON シリアライズされた Messages API のレスポンス。コンテンツの上限(デフォルトは 60 KB)で切り詰められます。拡張思考のコンテンツは秘匿化されます。インラインモード(`OTEL_LOG_RAW_API_BODIES=1`)でのみ出力されます。953* `body`: JSON シリアライズされた Messages API のレスポンス(ID、コンテンツブロック、使用量、停止理由を含む)。コンテンツの上限(デフォルトは 60 KB)で切り詰められます。拡張思考の内容は秘匿化されます。インラインモード(`OTEL_LOG_RAW_API_BODIES=1`)でのみ出力されます。

951* `body_ref`: 切り詰められていないボディを含む `<dir>/<request_id>.response.json` ファイルへの絶対パス。ファイルモード(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)でのみ出力されます。954* `body_ref`: 切り詰められていないボディを含む `<dir>/<request_id>.response.json` ファイルの絶対パス。ファイルモード(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)でのみ出力されます。

952* `body_length`: 切り詰め前のボディの長さ。`OTEL_LOG_RAW_API_BODIES=file:<dir>` の場合は UTF-8 バイト、`=1` の場合は UTF-16 コード単位です955* `body_length`: 切り詰められていないボディの長さ。`OTEL_LOG_RAW_API_BODIES=file:<dir>` の場合は UTF-8 のバイト数、`=1` の場合は UTF-16 のコードユニット数です

953* `body_truncated`: インラインでの切り詰めが発生した場合は `"true"`。ファイルモードの場合、および切り詰めが発生しなかった場合は含まれません。956* `body_truncated`: インラインでの切り詰めが発生した場合は `"true"`。ファイルモードの場合、および切り詰めが発生しなかった場合は含まれません。

954* `model`: モデル識別子957* `model`: モデル識別子

955* `query_source`: リクエストを発行したサブシステム958* `query_source`: リクエストを発行したサブシステム

956* `request_id`: API リクエスト ID(例: `"req_011..."`)。[イベント相関属性](#event-correlation-attributes)で説明しています。959* `request_id`: API リクエスト ID。`"req_011..."` など。[イベント相関属性](#event-correlation-attributes)で説明しています。

957* `request_body_id`: このレスポンスが応答する [`api_request_body` イベント](#api-request-body-event)の `request_body_id`。Claude Code v2.1.274 以降が必要です960* `request_body_id`: このレスポンスが応答する [`api_request_body` イベント](#api-request-body-event)の `request_body_id`。Claude Code v2.1.274 以降が必要です

958* `message.id`: API がレスポンスに割り当てたメッセージ ID(レスポンスボディの `id` フィールド)。Claude Code v2.1.274 以降が必要です961* `message.id`: API がレスポンスに割り当てたメッセージ ID(レスポンスボディの `id` フィールド)。Claude Code v2.1.274 以降が必要です

959* `message.uuid`: レスポンスの最後のトランスクリプトエントリの UUID。`request_body_id` と組み合わせることで、トランスクリプトのメッセージをその背後にあるリクエストボディとレスポンスボディに結び付けます。Claude Code v2.1.274 以降が必要です962* `message.uuid`: レスポンスの最後のトランスクリプトエントリの UUID。`request_body_id` と組み合わせることで、トランスクリプトのメッセージをその背後にあるリクエストボディとレスポンスボディに関連付けます。Claude Code v2.1.274 以降が必要です

960 963 

961#### ツール決定イベント964#### ツール判定イベント

962 965 

963ツールの権限決定(承認/拒否)が行われたときにログに記録されます。966ツールの権限判定(承認/拒否)が行われたときに記録されます。

964 967 

965**イベント名**: `claude_code.tool_decision`968**イベント名**: `claude_code.tool_decision`

966 969 


969* すべての[標準属性](#standard-attributes)972* すべての[標準属性](#standard-attributes)

970* `event.name`: `"tool_decision"`973* `event.name`: `"tool_decision"`

971* `event.timestamp`: ISO 8601 タイムスタンプ974* `event.timestamp`: ISO 8601 タイムスタンプ

972* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています975* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

973* `tool_name`: ツールの名前(例: "Read"、"Edit"、"Write"、"NotebookEdit")976* `tool_name`: ツールの名前(例: "Read"、"Edit"、"Write"、"NotebookEdit")

974* `tool_use_id`: このツール呼び出しの一意の識別子。フックに渡される `tool_use_id` と一致するため、OTel イベントとフックで取得したデータを関連付けることができます。977* `tool_use_id`: このツール呼び出しの一意の識別子。フックに渡される `tool_use_id` と一致するため、OTel イベントとフックで取得したデータを関連付けることができます。

978* `request_id`: このツール呼び出しを含んでいた API レスポンスの [`request_id`](#event-correlation-attributes)。これにより、呼び出しをそのレスポンスの API イベントと結合できます。そのレスポンスにリクエスト ID がなかった場合、または呼び出しを含む API レスポンスがなかった場合は含まれません。Claude Code v2.1.310 以降が必要です

975* `decision`: `"accept"` または `"reject"`979* `decision`: `"accept"` または `"reject"`

976* `tool_source`: 常に付与されます。ツールの由来を示す、CLI が定義する値の閉じたセットです。980* `tool_source`: 常に含まれます。ツールの出所を、CLI が定める閉じた値の集合で示します。

977 * `"builtin"`: CLI 自体のツール981 * `"builtin"`: CLI 自身のツール

978 * `"mcp"`: MCP サーバー全般982 * `"mcp"`: MCP サーバー全般

979 * `"sdk_host_builtin_mcp"`: Claude Desktop 自体に組み込まれたインプロセスサーバー(Claude Desktop が所有するセッションの場合)。Claude Desktop は、自身のエントリポイント(`claude-desktop`、`claude-desktop-3p`、`local-agent`)のいずれかから開始したセッションが入れ子の子セッションでない場合に、そのセッションを所有します。Claude Code 自体が生成するセッションを含む入れ子のセッションでは、これらのサーバーは `"mcp"` として報告されます983 * `"sdk_host_builtin_mcp"`: Claude Desktop が所有するセッションにおける、Claude Desktop 自体に組み込まれたインプロセスのサーバー。Claude Desktop は、自身のエントリポイント(`claude-desktop`、`claude-desktop-3p`、`local-agent`)のいずれかから開始したセッションを、それがネストされた子セッションでない場合に所有します。Claude Code 自身が生成するセッションを含むネストされたセッションでは、これらのサーバーは `"mcp"` として報告されます

980* `source`: 決定の発生元。984* `source`: 判定の出所:

981 * `"config"`: 次のいずれかの発生元によって、プロンプトを表示せずに自動的に決定されました。985 * `"config"`: 次のいずれかの出所によって、プロンプトを表示せずに自動的に判定されました。

982 986 

983 * プロジェクト設定987 * プロジェクト設定

984 * ユーザーの個人設定の許可ルールまたは拒否ルール988 * ユーザーの個人設定の許可ルールまたは拒否ルール

985 * エンタープライズの管理ポリシー989 * エンタープライズの管理ポリシー

986 * `--allowedTools` または `--disallowedTools` フラグ990 * `--allowedTools` または `--disallowedTools` フラグ

987 * アクティブな権限モード991 * アクティブな権限モード

988 * auto モードの分類器。その判定は同じイベントの `classifier_verdict` に記録されます992 * auto モードの分類器(その判定結果は同じイベントの `classifier_verdict` に記録されます)

989 * 同じ対話型 CLI セッション内の以前の権限プロンプトで付与された、セッションの残りの期間に対する許可993 * 同じ対話型 CLI セッション内の以前の権限プロンプトで与えられた、セッションの残りの期間の付与

990 * ツール自体が本質的に安全であること994 * ツールが本質的に安全であること

991 995 

992 `source` の値は、これらのソースのどれが該当したかを示しません。どのソースが呼び出しを拒否したかを調べるには、同じ `tool_use_id` を持つ[安全イベント](#safety-event)を探し、その `category` 属性と `rule_source` 属性を読み取ってください。拒否された呼び出しの中には[安全イベントがないもの](#calls-without-a-safety-event)もあります。996 `source` の値は、これらの出所のどれが一致したかを示しません。呼び出しを拒否した出所を特定するには、同じ `tool_use_id` を持つ[セーフティイベント](#safety-event)を探し、その `category` 属性と `rule_source` 属性を読み取ってください。拒否された呼び出しの中には[セーフティイベントがないもの](#calls-without-a-safety-event)もあります。

993 997 

994 権限プロンプトのリクエスト自体が失敗した場合も、Claude Code は `"config"` を報告します。たとえば、Agent SDK の [`canUseTool`](https://code.claude.com/docs/ja/agent-sdk/typescript#canusetool) コールバックまたは [`--permission-prompt-tool`](https://code.claude.com/docs/ja/cli-reference#cli-flags) ツールが無効な結果を返した場合や、リクエストが保留中に入力ストリームが閉じた場合に、このリクエストは失敗します。v2.1.216 より前は、Claude Code はこれらの失敗を `"user_reject"` として報告していました。998 Claude Code は、権限プロンプトのリクエスト自体が失敗した場合にも `"config"` を報告します。たとえば、Agent SDK の [`canUseTool`](https://code.claude.com/docs/ja/agent-sdk/typescript#canusetool) コールバックまたは [`--permission-prompt-tool`](https://code.claude.com/docs/ja/cli-reference#cli-flags) ツールが無効な結果を返した場合や、リクエストの保留中に入力ストリームが閉じられた場合に、そのリクエストは失敗します。v2.1.216 より前は、Claude Code はこれらの失敗を `"user_reject"` として報告していました。

995 * `"hook"`: `PreToolUse` または `PermissionRequest` フックが決定を返しました。999 * `"hook"`: `PreToolUse` または `PermissionRequest` フックが判定を返しました。

996 * `"user_permanent"`: ユーザーが権限プロンプトで「Yes, and don't ask again for ...」を選択したときに出力されます。これにより、許可ルールが個人設定に保存されます。対話型 CLI では、その選択自体に対してのみ出力され、保存されたルールに一致する後続の呼び出しでは代わりに `"config"` が出力されます。Agent SDK または非対話型の `-p` セッションでは、最初の選択と後続のルール一致の両方で `"user_permanent"` が出力されます。承認として扱われます。1000 * `"user_permanent"`: ユーザーが権限プロンプトで「Yes, and don't ask again for ...」を選択したときに出力されます。この選択により、許可ルールがユーザーの個人設定に保存されます。対話型 CLI では、この選択そのものに対してのみ出力され、保存されたルールに一致する後続の呼び出しでは代わりに `"config"` が出力されます。Agent SDK または非対話型の `-p` セッションでは、最初の選択と後続のルールの一致の両方で `"user_permanent"` が出力されます。承認として扱われます。

997 * `"user_temporary"`: ユーザーが権限プロンプトで 1 回限りの承認として「Yes」を選択したとき、またはファイルの編集や読み取りのプロンプトでセッションの残りの期間アクセスを付与するオプションを選択したときに出力されます。対話型 CLI では、その選択自体に対してのみ出力され、そのセッションスコープの許可によって許可された後続の呼び出しでは代わりに `"config"` が出力されます。Agent SDK または非対話型の `-p` セッションでは、選択と後続の一致の両方で `"user_temporary"` が出力されます。承認として扱われます。1001 * `"user_temporary"`: ユーザーが権限プロンプトで 1 回限りの承認として「Yes」を選択した場合、またはファイルの編集や読み取りのプロンプトでセッションの残りの期間アクセスを付与するオプションを選択した場合に出力されます。対話型 CLI では、選択そのものに対してのみ出力され、そのセッションスコープの付与によって許可された後続の呼び出しでは代わりに `"config"` が出力されます。Agent SDK または非対話型の `-p` セッションでは、選択と後続の一致の両方で `"user_temporary"` が出力されます。承認として扱われます。

998 * `"user_abort"`: ユーザーが応答せずに権限プロンプトを閉じたときに出力されます。Agent SDK および非対話型の `-p` セッションでは、`canUseTool` または `--permission-prompt-tool` の権限リクエストが保留中にターンを中断した場合も含まれます。v2.1.216 より前は、Claude Code はその中断を `"user_reject"` として報告していました。拒否として扱われます。1002 * `"user_abort"`: ユーザーが権限プロンプトに回答せずに閉じたときに出力されます。Agent SDK および非対話型の `-p` セッションでは、`canUseTool` または `--permission-prompt-tool` の権限リクエストが保留中にターンを中断した場合も含まれます。v2.1.216 より前は、Claude Code はその中断を `"user_reject"` として報告していました。拒否として扱われます。

999 * `"user_reject"`: プロンプトが表示されたときにユーザーが「No」を選択したときに出力されます。対話型 CLI では、その選択自体に対してのみ出力され、ユーザーの個人設定の拒否ルールに一致する呼び出しでは代わりに `"config"` が出力されます。Agent SDK または非対話型の `-p` セッションでは、個人設定の拒否ルールに一致する呼び出しで `"user_reject"` が出力されます。拒否として扱われます。1003 * `"user_reject"`: プロンプトが表示されたときにユーザーが「No」を選択したときに出力されます。対話型 CLI では、この選択そのものに対してのみ出力され、ユーザーの個人設定の拒否ルールに一致する呼び出しでは代わりに `"config"` が出力されます。Agent SDK または非対話型の `-p` セッションでは、個人設定の拒否ルールに一致する呼び出しで `"user_reject"` が出力されます。拒否として扱われます。

1000* `classifier_verdict`: 呼び出しに対する auto モードの[分類器](https://code.claude.com/docs/ja/permission-modes.md#how-the-classifier-evaluates-actions)の判定、または判定が得られなかった場合に Claude Code が呼び出しを拒否した理由。Claude Code v2.1.301 以降が必要1004* `classifier_verdict`: 呼び出しに対する auto モードの[分類器](https://code.claude.com/docs/ja/permission-modes.md#how-the-classifier-evaluates-actions)の判定結果、または判定結果が得られなかった場合に Claude Code が呼び出しを拒否した理由。Claude Code v2.1.301 以降が必要です

1001 1005 

1002 * `"allow"`: 分類器が呼び出しを承認しました1006 * `"allow"`: 分類器が呼び出しを承認しました

1003 * `"block"`: 分類器が呼び出しをブロックしました。途中で失敗した分類器のチェックも `"block"` で終わることがあるため、分類器の部分的な障害は `"unavailable"` ではなくブロックの増加として現れることがあります1007 * `"block"`: 分類器が呼び出しをブロックしました。途中で失敗した分類器のチェックも `"block"` で終わることがあるため、分類器の部分的な障害は `"unavailable"` ではなくブロックの増加として現れる場合があります

1004 * `"no_verdict"`: チェックは実行されましたが[使用可能な判定が得られなかった](https://code.claude.com/docs/ja/errors.md#auto-mode-cannot-determine-the-safety-of-an-action)ため、Claude Code が呼び出しを拒否しました。この拒否は、分類器が呼び出しを安全でないと判断したことを意味するものではありません1008 * `"no_verdict"`: チェックは実行されましたが[使用可能な判定結果が得られなかった](https://code.claude.com/docs/ja/errors.md#auto-mode-cannot-determine-the-safety-of-an-action)ため、Claude Code は呼び出しを拒否しました。この拒否は、分類器が呼び出しを安全でないと判断したことを意味するものではありません

1005 * `"unavailable"`: レート制限、タイムアウト、接続エラーなどにより分類器へのリクエストが失敗したため、Claude Code が呼び出しを拒否しました。[サーバー側の分類器レビュー](https://code.claude.com/docs/ja/permission-modes.md#server-side-classifier-review)では、[サーバーが安全性の判定を返さなかった](https://code.claude.com/docs/ja/errors.md#the-server-returned-no-safety-verdict)ために拒否された呼び出しにもこの値が付きます1009 * `"unavailable"`: レート制限、タイムアウト、接続エラーなどにより分類器へのリクエストが失敗したため、Claude Code は呼び出しを拒否しました。[サーバー側の分類器レビュー](https://code.claude.com/docs/ja/permission-modes.md#server-side-classifier-review)では、[サーバーが安全性の判定結果を返さなかった](https://code.claude.com/docs/ja/errors.md#the-server-returned-no-safety-verdict)ために拒否された呼び出しにもこの値が付与されます

1006 1010 

1007 [分類器が plan モードでコマンドをレビューする](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)場合は、plan モードの呼び出しにもこの属性が含まれます。次の場合、この属性は含まれません。1011 この属性は、[分類器が plan モードでコマンドをレビューする](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)場合の plan モードの呼び出しにも含まれます。次の場合、この属性は含まれません。

1008 1012 

1009 * 許可または拒否の[権限ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions)が呼び出しを決定した場合1013 * 許可または拒否の[権限ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions)が呼び出しを判定した場合

1010 * Claude Code が分類器に問い合わせずに auto モードで呼び出しを承認した場合1014 * Claude Code が auto モードで分類器に問い合わせずに呼び出しを承認した場合

1011 * [ブロックが繰り返された](https://code.claude.com/docs/ja/permission-modes.md#repeated-block-thresholds)後に Claude Code が表示したプロンプトにユーザーが応答した場合1015 * [繰り返しのブロック](https://code.claude.com/docs/ja/permission-modes.md#repeated-block-thresholds)の後に Claude Code が表示したプロンプトにユーザーが回答した場合

1012 * `--permission-prompt-tool` なしの `-p` 実行で、プロンプトに応答する人がいないため、ブロックが繰り返された後に Claude Code が呼び出しを拒否した場合。そのイベントは `decision` を `"reject"`、`source` を `"config"` として報告します1016 * `--permission-prompt-tool` なしの `-p` 実行で、プロンプトに回答する人がいないため、Claude Code が繰り返しのブロックの後に呼び出しを拒否した場合。このイベントでは、`decision` が `"reject"`、`source` が `"config"` として報告されます

1013* `classifier_category`(`OTEL_LOG_TOOL_DETAILS=1` の場合): 分類器が呼び出しをブロックした際に指摘した[組み込みルール](https://code.claude.com/docs/ja/auto-mode-config.md#inspect-the-defaults-and-your-effective-config)の名前。小文字とアンダースコアで表記されます。たとえば、Data Exfiltration ルールの場合は `"data_exfiltration"` です。Claude Code v2.1.301 以降が必要です。この属性は、以下の両方が成り立つ場合に含まれます。1017* `classifier_category`(`OTEL_LOG_TOOL_DETAILS=1` の場合): 分類器が呼び出しをブロックしたときに挙げた[組み込みルール](https://code.claude.com/docs/ja/auto-mode-config.md#inspect-the-defaults-and-your-effective-config)の名前。アンダースコア区切りの小文字で表されます。たとえば、Data Exfiltration ルールの場合は `"data_exfiltration"` です。Claude Code v2.1.301 以降が必要です。この属性は、次の両方が成り立つ場合に含まれます。

1014 1018 

1015 * `classifier_verdict` が `"block"` である1019 * `classifier_verdict` が `"block"` である

1016 * 分類器がちょうど 1 つのルールを指摘し、そのルールがユーザーが作成したものではなく組み込みのルールである1020 * 分類器がちょうど 1 つのルールを挙げ、そのルールがユーザーが作成したものではなく組み込みのものである

1017 1021 

1018 v2.1.302 より前は、[サーバー側の分類器レビュー](https://code.claude.com/docs/ja/permission-modes.md#server-side-classifier-review)が決定したブロックにもこの属性は含まれていませんでした。1022 v2.1.302 より前は、[サーバー側の分類器レビュー](https://code.claude.com/docs/ja/permission-modes.md#server-side-classifier-review)が判定したブロックでもこの属性は含まれませんでした。

1019* `permission_mode`: この呼び出しの権限チェックが開始された時点でアクティブだった[権限モード](https://code.claude.com/docs/ja/permission-modes.md)。`"default"`、`"plan"`、`"acceptEdits"`、`"bypassPermissions"`、`"dontAsk"`、`"auto"` のいずれか。手動モードは `"default"` として表示されます。[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md#permission-modes)の呼び出しは、セッションの権限モードではなくサブエージェントの権限モードを報告します。Claude Code v2.1.301 以降が必要1023* `permission_mode`: この呼び出しの権限チェックが開始された時点でアクティブだった[権限モード](https://code.claude.com/docs/ja/permission-modes.md)。`"default"`、`"plan"`、`"acceptEdits"`、`"bypassPermissions"`、`"dontAsk"`、`"auto"` のいずれか。Manual モードは `"default"` として表示されます。[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md#permission-modes)の呼び出しでは、セッションの権限モードではなくサブエージェントの権限モードが報告されます。Claude Code v2.1.301 以降が必要です

1020* `tool_parameters`(`OTEL_LOG_TOOL_DETAILS=1` の場合): ツール固有のパラメーターを含む JSON 文字列。[ツール結果イベント](#tool-result-event)と同じ形式ですが、`git_commit_id` などの実行後のフィールドは含まれません。権限の決定が `updatedInput` を介してツール入力を書き換えた場合、承認された呼び出しの値は `tool_result` と異なることがあります。`decision` が `"reject"` の場合に、どのコマンドが拒否されたかを確認するにはこの属性を使用してください。1024* `tool_parameters`(`OTEL_LOG_TOOL_DETAILS=1` の場合): ツール固有のパラメーターを含む JSON 文字列。[ツール結果イベント](#tool-result-event)と同じ形式ですが、`git_commit_id` などの実行後のフィールドは含まれません。権限判定が `updatedInput` を介してツール入力を書き換えた場合、承認された呼び出しでは値が `tool_result` と異なることがあります。`decision` が `"reject"` の場合に、どのコマンドが拒否されたかを確認するには、この属性を使用してください。

1021 * `"sdk_host_builtin_mcp"` ツールの場合: ホストアプリケーションがこれらの名前を定義しているため、`OTEL_LOG_TOOL_DETAILS` がオフでも `mcp_server_name` と `mcp_tool_name` が含まれます。これらがなければ、これらの組み込みサーバーのいずれかに対する拒否された呼び出しは、デフォルトのストリーム上で帰属先を特定できなくなります。ユーザーが設定した MCP サーバーの場合、イベントの `tool_name` は常にリテラルの `"mcp_tool"` であり、サーバー名とツール名はフラグがオンの場合にのみ `tool_parameters` に表示されます。引数の内容にはどの場合でもフラグが必要です。1025 * `"sdk_host_builtin_mcp"` ツールの場合: ホストアプリケーションがこれらの名前を定義しているため、`OTEL_LOG_TOOL_DETAILS` がオフでも `mcp_server_name` と `mcp_tool_name` が含まれます。これらがないと、これらの組み込みサーバーのいずれかへの拒否された呼び出しは、デフォルトのストリームで帰属を特定できなくなります。ユーザーが設定した MCP サーバーの場合、イベントの `tool_name` は常にリテラルの `"mcp_tool"` であり、サーバー名とツール名はフラグがオンの場合にのみ `tool_parameters` に表示されます。引数の内容は、どの場合でもフラグが必要です。

1022 * Bash ツールの場合: `bash_command`、`full_command`、`timeout`、`description`、`dangerouslyDisableSandbox` を含みます。デスクトップアプリのワークスペース bash ツールも `tool_name` を `Bash` として報告しますが、`bash_command`、`full_command`、`timeout` のみを含みます1026 * Bash ツールの場合: `bash_command`、`full_command`、`timeout`、`description`、`dangerouslyDisableSandbox` が含まれます。デスクトップアプリのワークスペース bash ツールも `tool_name` を `Bash` として報告しますが、`bash_command`、`full_command`、`timeout` のみが含まれます

1023 * MCP ツールの場合: `mcp_server_name`、`mcp_tool_name` を含みます1027 * MCP ツールの場合: `mcp_server_name`、`mcp_tool_name` が含まれます

1024 * Skill ツールの場合: `skill_name` を含みます1028 * Skill ツールの場合: `skill_name` が含まれます

1025 * Agent ツールまたはレガシーの Task ツールの場合: `subagent_type` を含みます1029 * Agent ツールまたはレガシーの Task ツールの場合: `subagent_type` が含まれます

1026 1030 

1027OpenTelemetry SDK の `OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT` を `tool_decision` イベントの属性数より小さくすると、SDK は Claude Code が最後に設定した属性を破棄します。SDK は最初に `permission_mode`、2 番目に `classifier_category`、3 番目に `classifier_verdict` を破棄し、これら 3 つを破棄した後にのみイベントの他の属性を破棄します。この順序には Claude Code v2.1.302 以降が必要です。1031OpenTelemetry SDK の `OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT` を `tool_decision` イベントの属性数より小さくすると、SDK は Claude Code が最後に設定した属性を破棄します。SDK は他のどの属性よりも先に、次の順序でこれらを破棄します(イベントに含まれないものはスキップされます)。

1028 1032 

1029#### 安全イベント10331. `parent_agent_id`

10342. `agent_id`

10353. `request_id`

10364. `permission_mode`

10375. `classifier_category`

10386. `classifier_verdict`

1030 1039 

1031[安全イベントのない呼び出し](#calls-without-a-safety-event)を除き、チェックがツール呼び出しを拒否した場合、または権限プロンプトを必要とした場合にログに記録されます。また、[サンドボックスのネットワークプロキシ](https://code.claude.com/docs/ja/sandboxing.md#network-isolation)が接続またはリクエストを拒否した場合や、フックが結果をブロックした場合にもログに記録されます。Claude Code v2.1.307 以降が必要です。1040`permission_mode`、`classifier_category`、`classifier_verdict` は Claude Code v2.1.302 以降でこの順序で破棄されます。`parent_agent_id`、`agent_id`、`request_id` には v2.1.310 以降が必要です。

1041 

1042#### セーフティイベント

1043 

1044[セーフティイベントのない呼び出し](#calls-without-a-safety-event)を除き、チェックがツール呼び出しを拒否した場合、または権限プロンプトを必要とした場合に記録されます。また、[サンドボックスのネットワークプロキシ](https://code.claude.com/docs/ja/sandboxing.md#network-isolation)が接続やリクエストを拒否した場合や、フックが結果をブロックした場合にも記録されます。Claude Code v2.1.307 以降が必要です。

1032 1045 

1033このイベントは他のイベントとともにエクスポートされ、個別の設定はありません。イベント自体の属性には、コマンドテキスト、ファイルパス、ホスト名、MCP サーバー名やツール名は含まれません。レコードには、すべてのイベントが持つ[標準属性](#standard-attributes)も含まれ、これには `workspace.host_paths` や[リポジトリ属性](#repository-attributes)が含まれる場合があります。イベントの背後にあるコマンドや MCP ツールを確認するには、`OTEL_LOG_TOOL_DETAILS=1` を設定し、対応する `tool_decision` イベントの `tool_parameters` を読み取ってください。1046このイベントは他のイベントとともにエクスポートされ、個別の設定はありません。イベント自体の属性には、コマンドテキスト、ファイルパス、ホスト名、MCP サーバー名やツール名は含まれません。レコードには、すべてのイベントが持つ[標準属性](#standard-attributes)も含まれ、これには `workspace.host_paths` や[リポジトリ属性](#repository-attributes)が含まれる場合があります。イベントの背後にあるコマンドや MCP ツールを確認するには、`OTEL_LOG_TOOL_DETAILS=1` を設定し、対応する `tool_decision` イベントの `tool_parameters` を読み取ってください。

1034 1047 


1039* すべての[標準属性](#standard-attributes)1052* すべての[標準属性](#standard-attributes)

1040* `event.name`: `"safety_event"`1053* `event.name`: `"safety_event"`

1041* `event.timestamp`: ISO 8601 タイムスタンプ1054* `event.timestamp`: ISO 8601 タイムスタンプ

1042* `event.sequence`: イベントの順序付けに使用するプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1055* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1043* `category`: チェックまたは結果。[カテゴリの値](#safety-event-categories)のいずれかです1056* `category`: チェックまたは結果。[カテゴリの値](#safety-event-categories)のいずれか

1044* `decision`: `"accept"`、`"reject"`、またはフックが結果やターンの終了をブロックした場合は `"sent_back"`1057* `decision`: `"accept"`、`"reject"`、またはフックが結果やターンの終了をブロックした場合は `"sent_back"`

1045* `decision_source`: 決定した主体。[`tool_decision`](#tool-decision-event) の `source` の値、または `"other"`1058* `decision_source`: 判定した主体。[`tool_decision`](#tool-decision-event) の `source` の値、または `"other"`

1046* `reason_code`: チェックの理由。`"rule:policySettings"`、`"mode:dontAsk"`、`"hook:PreToolUse"`、`"classifier:auto-mode"`、`"bashMiss:too-complex"`、`"unknown"` など1059* `reason_code`: チェックの理由。`"rule:policySettings"`、`"mode:dontAsk"`、`"hook:PreToolUse"`、`"classifier:auto-mode"`、`"bashMiss:too-complex"`、`"unknown"` など

1047* `reason_type`: チェックの理由の種類。`"rule"`、`"subcommandResults"`、`"mode"`、`"hook"`、`"classifier"`、`"asyncAgent"` など1060* `reason_type`: チェックの理由の種類。`"rule"`、`"subcommandResults"`、`"mode"`、`"hook"`、`"classifier"`、`"asyncAgent"` など

1048* `rule_source`: 関係するルールの設定ソース。`"policySettings"`、`"userSettings"`、`"projectSettings"`、`"localSettings"`、`"flagSettings"`、`"cliArg"`、`"session"` など1061* `rule_source`: 関係するルールの設定の出所。`"policySettings"`、`"userSettings"`、`"projectSettings"`、`"localSettings"`、`"flagSettings"`、`"cliArg"`、`"session"` など

1049* `grant_scope`: 設定ファイルにルールを保存せずに承認されたプロンプトの場合の `"once"` または `"session"`1062* `grant_scope`: 設定ファイルにルールを保存せずに承認されたプロンプトの場合は `"once"` または `"session"`

1050* `circuit_breaker`: 組み込みの安全チェック。`"dangerousRemoval"`、`"outsideReadsBlocked"`、`"claudeSettingsFile"` など1063* `circuit_breaker`: 組み込みの安全チェック。`"dangerousRemoval"`、`"outsideReadsBlocked"`、`"claudeSettingsFile"` など

1051* `classifier_category`: `OTEL_LOG_TOOL_DETAILS=1` の場合、auto モードのブロックの背後にある[組み込みルール](https://code.claude.com/docs/ja/auto-mode-config.md#inspect-the-defaults-and-your-effective-config)。`"data_exfiltration"` など1064* `classifier_category`: `OTEL_LOG_TOOL_DETAILS=1` の場合、auto モードのブロックの背後にある[組み込みルール](https://code.claude.com/docs/ja/auto-mode-config.md#inspect-the-defaults-and-your-effective-config)。`"data_exfiltration"` など

1052* `hook_event`: `PreToolUse` フックの場合は `"pre_tool_use"`、`"hook_review"` イベントの場合は `"post_tool_use"`、`"post_tool_use_failure"`、`"stop"`、`"subagent_stop"` のいずれか1065* `hook_event`: `PreToolUse` フックの場合は `"pre_tool_use"`、`"hook_review"` イベントの場合は `"post_tool_use"`、`"post_tool_use_failure"`、`"stop"`、`"subagent_stop"` のいずれか

1053* `tool_class`: Bash と [Monitor](https://code.claude.com/docs/ja/tools-reference.md#monitor-tool) の場合は `"bash"`、`"powershell"`、Read、Edit、Write、NotebookEdit、Glob、Grep の場合は `"file"`、WebFetch と WebSearch の場合は `"web"`、`"mcp"`、または `"other"`1066* `tool_class`: Bash と [Monitor](https://code.claude.com/docs/ja/tools-reference.md#monitor-tool) の場合は `"bash"`、`"powershell"`、Read、Edit、Write、NotebookEdit、Glob、Grep の場合は `"file"`、WebFetch と WebSearch の場合は `"web"`、`"mcp"`、または `"other"`

1054* `tool_name`: ツールの名前。組み込みツールの場合は `"Bash"` など、または `"mcp_tool"`、`"skill_tool"`、`"dynamic_tool"`、`"other_tool"`1067* `tool_name`: ツールの名前。組み込みツールの場合は `"Bash"` など、または `"mcp_tool"`、`"skill_tool"`、`"dynamic_tool"`、`"other_tool"`

1055* `tool_source`: [`tool_decision`](#tool-decision-event) と同様に、`"builtin"`、`"mcp"`、`"sdk_host_builtin_mcp"` のいずれか1068* `tool_source`: [`tool_decision`](#tool-decision-event) と同様に、`"builtin"`、`"mcp"`、`"sdk_host_builtin_mcp"` のいずれか

1056* `permission_mode`: チェック時の呼び出しの[権限モード](https://code.claude.com/docs/ja/permission-modes.md)。`"default"`、`"plan"`、`"acceptEdits"`、`"bypassPermissions"`、`"dontAsk"`、`"auto"` のいずれかです1069* `permission_mode`: チェック時の呼び出しの[権限モード](https://code.claude.com/docs/ja/permission-modes.md)。`"default"`、`"plan"`、`"acceptEdits"`、`"bypassPermissions"`、`"dontAsk"`、`"auto"` のいずれか

1057* `tool_use_id`: `tool_decision` および `tool_result` と同様の、呼び出しの ID1070* `tool_use_id`: 呼び出しの ID。`tool_decision` および `tool_result` と同じです

1058* `sandbox_violation_count`: サンドボックスのネットワークプロキシが拒否した、呼び出しのコマンドからの個別の接続またはリクエストの数。`"0"` から `"20"` までの文字列です。拒否は、フォアグラウンドで終了したサンドボックス化されたコマンドについてカウントされます1071* `sandbox_violation_count`: 呼び出しのコマンドからの個別の接続やリクエストのうち、サンドボックスのネットワークプロキシが拒否した数。`"0"` から `"20"` までの文字列です。拒否は、フォアグラウンドで終了したサンドボックス化されたコマンドについてカウントされます

1059* `sandbox_enabled`: セッションで[サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md)がオンの場合は `"true"`、それ以外の場合は `"false"`1072* `sandbox_enabled`: セッションで[サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md)がオンの場合は `"true"`、それ以外の場合は `"false"`

1060 1073 

1061管理設定の拒否ルールが Bash コマンドを拒否した場合のイベント自体の属性は次のとおりです。1074管理設定の拒否ルールが Bash コマンドを拒否した場合の、イベント自体の属性は次のとおりです。

1062 1075 

1063```json theme={null}1076```json theme={null}

1064{1077{


1078}1091}

1079```1092```

1080 1093 

1081##### 安全イベントのカテゴリ1094##### セーフティイベントのカテゴリ

1082 1095 

1083| 値 | チェックまたは結果 | 詳細属性 |1096| 値 | チェックまたは結果 | 詳細属性 |

1084| - | - | - |1097| - | - | - |

1085| `"permission_rule"` | 管理設定以外の拒否または確認の[権限ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions) | `rule_source` |1098| `"permission_rule"` | 管理設定以外の拒否ルールまたは確認ルール([権限ルール](https://code.claude.com/docs/ja/permissions.md#manage-permissions)) | `rule_source` |

1086| `"managed_policy"` | [管理設定](https://code.claude.com/docs/ja/permissions.md#managed-settings)の拒否ルールまたは確認ルール | `rule_source` |1099| `"managed_policy"` | [管理設定](https://code.claude.com/docs/ja/permissions.md#managed-settings)の拒否ルールまたは確認ルール | `rule_source` |

1087| `"permission_mode"` | [`dontAsk`](https://code.claude.com/docs/ja/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) モードまたは [plan](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode) モード、または [`--permission-prompts none`](https://code.claude.com/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs) を使用した場合のようにプロンプトを表示できないセッションでの[カテゴリのない](#prompts-with-no-category)プロンプト | `reason_code`、`reason_type` |1100| `"permission_mode"` | [`dontAsk`](https://code.claude.com/docs/ja/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) モードまたは [plan](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode) モード、または [`--permission-prompts none`](https://code.claude.com/docs/ja/headless#turn-off-permission-prompts-in-unattended-runs) の場合のようにプロンプトを表示できないセッションにおける[カテゴリのない](#prompts-with-no-category)プロンプト | `reason_code`、`reason_type` |

1088| `"hook"` | [`PreToolUse`](https://code.claude.com/docs/ja/hooks#pretooluse) や [`PermissionRequest`](https://code.claude.com/docs/ja/hooks#permissionrequest) などのフック | `hook_event`、`reason_code` |1101| `"hook"` | [`PreToolUse`](https://code.claude.com/docs/ja/hooks#pretooluse) や [`PermissionRequest`](https://code.claude.com/docs/ja/hooks#permissionrequest) などのフック | `hook_event`、`reason_code` |

1089| `"auto_mode_block"` | auto モードの[分類器](https://code.claude.com/docs/ja/permission-modes.md#how-the-classifier-evaluates-actions)が呼び出しをブロックした | `classifier_category` |1102| `"auto_mode_block"` | auto モードの[分類器](https://code.claude.com/docs/ja/permission-modes.md#how-the-classifier-evaluates-actions)が呼び出しをブロックした | `classifier_category` |

1090| `"auto_mode_no_verdict"` | リクエストの失敗後など、使用可能な[分類器の判定](https://code.claude.com/docs/ja/errors.md#auto-mode-cannot-determine-the-safety-of-an-action)がない | `reason_code` |1103| `"auto_mode_no_verdict"` | リクエストの失敗後など、使用可能な[分類器の判定結果](https://code.claude.com/docs/ja/errors.md#auto-mode-cannot-determine-the-safety-of-an-action)がない | `reason_code` |

1091| `"safety_check"` | [作業ディレクトリ](https://code.claude.com/docs/ja/permissions.md#working-directories)外での Read、Edit、Write に対するチェックなど、組み込みの安全チェック | `circuit_breaker` |1104| `"safety_check"` | [作業ディレクトリ](https://code.claude.com/docs/ja/permissions.md#working-directories)外での Read、Edit、Write に対するチェックなどの組み込みの安全チェック | `circuit_breaker` |

1092| `"static_analysis"` | 分析するには複雑すぎるコマンドなど、Bash または Monitor コマンドの書き方 | `reason_code` |1105| `"static_analysis"` | 分析するには複雑すぎるものなど、Bash または Monitor コマンドの記述方法 | `reason_code` |

1093| `"sandbox_override"` | [サンドボックス外でコマンドを実行する](https://code.claude.com/docs/ja/sandboxing.md#the-unsandboxed-retry-escape-hatch)ためのプロンプト | `reason_code` |1106| `"sandbox_override"` | [サンドボックスの外でコマンドを実行する](https://code.claude.com/docs/ja/sandboxing.md#the-unsandboxed-retry-escape-hatch)ためのプロンプト | `reason_code` |

1094| `"user_rejected"` | [カテゴリのない](#prompts-with-no-category)プロンプト、またはフックのみが必要としたプロンプトを誰かが拒否または閉じた、あるいは `canUseTool` コールバックまたは `--permission-prompt-tool` ツールがそれを拒否した | `decision_source` |1107| `"user_rejected"` | [カテゴリのない](#prompts-with-no-category)プロンプト、またはフックのみが必要としたプロンプトを誰かが拒否または閉じた、あるいは `canUseTool` コールバックまたは `--permission-prompt-tool` ツールがそれを拒否した | `decision_source` |

1095| `"sandbox_network"` | 呼び出しが実行され、[サンドボックスのネットワークプロキシ](https://code.claude.com/docs/ja/sandboxing.md#network-isolation)が接続またはリクエストを拒否した | `sandbox_violation_count` |1108| `"sandbox_network"` | 呼び出しが実行され、[サンドボックスのネットワークプロキシ](https://code.claude.com/docs/ja/sandboxing.md#network-isolation)が接続またはリクエストを拒否した | `sandbox_violation_count` |

1096| `"sandbox_other"` | `"sandbox_network"` と同様だが、拒否された対象がホスト名や IP アドレスとして読み取れない | `sandbox_violation_count` |1109| `"sandbox_other"` | `"sandbox_network"` と同様だが、拒否された対象がホスト名や IP アドレスとして読み取れない | `sandbox_violation_count` |

1097| `"hook_review"` | フックが[呼び出しの結果](https://code.claude.com/docs/ja/hooks.md#posttooluse-decision-control)または[ターンの終了](https://code.claude.com/docs/ja/hooks.md#stop-decision-control)をブロックした | `hook_event` |1110| `"hook_review"` | フックが[呼び出しの結果](https://code.claude.com/docs/ja/hooks.md#posttooluse-decision-control)または[ターンの終了](https://code.claude.com/docs/ja/hooks.md#stop-decision-control)をブロックした | `hook_event` |

1098| `"other"` | 他のどの値にも当てはまらない拒否 | `reason_code` |1111| `"other"` | 他のどの値にも該当しない拒否 | `reason_code` |

1099 1112 

1100任意の `category` でプロキシによる拒否を見つけるには、`sandbox_violation_count` が存在し、かつ `"0"` ではないものでフィルタリングしてください。1113任意の `category` でプロキシによる拒否を見つけるには、`sandbox_violation_count` が存在し、かつ `"0"` でないものでフィルタリングしてください。

1101 1114 

1102##### 安全イベントのない呼び出し1115##### セーフティイベントのない呼び出し

1103 1116 

1104[カテゴリのないプロンプト](#prompts-with-no-category)に誰も応答できなかったために拒否された呼び出しを見つけるには、`source` が `"config"` で `"reject"` を報告し、同じ `tool_use_id` を持つ安全イベントがない [`tool_decision`](#tool-decision-event) イベントを探してください。このような拒否は、[`--permission-prompt-tool`](https://code.claude.com/docs/ja/cli-reference#cli-flags) と `--permission-prompts none` のいずれも指定されていない `-p` 実行で発生します。1117[カテゴリのないプロンプト](#prompts-with-no-category)に誰も回答できなかったために拒否された呼び出しを見つけるには、`"reject"` を報告し、`source` が `"config"` で、同じ `tool_use_id` を持つセーフティイベントがない [`tool_decision`](#tool-decision-event) イベントを探してください。このような拒否は、[`--permission-prompt-tool`](https://code.claude.com/docs/ja/cli-reference#cli-flags) も `--permission-prompts none` も指定されていない `-p` 実行で発生します。

1105 1118 

1106次のような呼び出しには、実行後に送信される [`"sandbox_network"`、`"sandbox_other"`、`"hook_review"` イベント](#safety-event-categories)を除いて安全イベントがないため、`tool_decision` イベントを確認してください。1119次のような呼び出しには、実行後に送信される [`"sandbox_network"`、`"sandbox_other"`、`"hook_review"` イベント](#safety-event-categories)を除いてセーフティイベントがないため、`tool_decision` イベントを確認してください。

1107 1120 

1108* カテゴリのないプロンプトで承認された呼び出し1121* カテゴリのないプロンプトで承認された呼び出し

1109* `PreToolUse` フックのみが必要としたプロンプトで、`canUseTool` コールバックまたは `--permission-prompt-tool` ツールが承認した呼び出し1122* `PreToolUse` フックのみが必要としたプロンプトで、`canUseTool` コールバックまたは `--permission-prompt-tool` ツールが承認した呼び出し


1111 1124 

1112##### カテゴリのないプロンプト1125##### カテゴリのないプロンプト

1113 1126 

1114作業ディレクトリ内の編集に対する `default` モードのプロンプトのように、そのチェックを示す [`category` の値](#safety-event-categories)がない場合、プロンプトにはカテゴリがありません。1127作業ディレクトリ内の編集に対する `default` モードのプロンプトのように、どの [`category` の値](#safety-event-categories)もそのチェックを示さない場合、そのプロンプトにはカテゴリがありません。

1115 1128 

1116#### 権限モード変更イベント1129#### 権限モード変更イベント

1117 1130 

1118権限モードが変更されたときにログに記録されます。たとえば、`Shift+Tab` による切り替え、plan モードの終了、auto モードのゲートチェックなどです。1131権限モードが変更されたときに記録されます。たとえば、`Shift+Tab` による切り替え、plan モードの終了、auto モードのゲートチェックなどによる変更です。

1119 1132 

1120ツール呼び出しを、それぞれがチェックされた時点の権限モードでグループ化するには、[ツール決定イベント](#tool-decision-event)の `permission_mode` を使用してください。1133ツール呼び出しを、それぞれがチェックされた権限モードごとにグループ化するには、[ツール判定イベント](#tool-decision-event)の `permission_mode` を使用してください。

1121 1134 

1122**イベント名**: `claude_code.permission_mode_changed`1135**イベント名**: `claude_code.permission_mode_changed`

1123 1136 


1126* すべての[標準属性](#standard-attributes)1139* すべての[標準属性](#standard-attributes)

1127* `event.name`: `"permission_mode_changed"`1140* `event.name`: `"permission_mode_changed"`

1128* `event.timestamp`: ISO 8601 タイムスタンプ1141* `event.timestamp`: ISO 8601 タイムスタンプ

1129* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1142* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1130* `from_mode`: 以前の権限モード。例: `"default"`、`"plan"`、`"acceptEdits"`、`"auto"`、`"bypassPermissions"`1143* `from_mode`: 以前の権限モード。たとえば `"default"`、`"plan"`、`"acceptEdits"`、`"auto"`、`"bypassPermissions"`

1131* `to_mode`: 新しい権限モード1144* `to_mode`: 新しい権限モード

1132* `trigger`: 変更の原因。`"shift_tab"`、`"exit_plan_mode"`、`"auto_gate_denied"` など。SDK が [`setPermissionMode()`](https://code.claude.com/docs/ja/agent-sdk/typescript#query-object) を通じて権限モードを設定した場合など、一部の変更では含まれません1145* `trigger`: 変更の原因。たとえば `"shift_tab"`、`"exit_plan_mode"`、`"auto_gate_denied"`。SDK が [`setPermissionMode()`](https://code.claude.com/docs/ja/agent-sdk/typescript#query-object) を通じて権限モードを設定した場合など、一部の変更では含まれません

1133 1146 

1134#### 認証イベント1147#### 認証イベント

1135 1148 

1136`/login` または `/logout` が完了したときにログに記録されます。1149`/login` または `/logout` が完了したときに記録されます。

1137 1150 

1138**イベント名**: `claude_code.auth`1151**イベント名**: `claude_code.auth`

1139 1152 


1142* すべての[標準属性](#standard-attributes)1155* すべての[標準属性](#standard-attributes)

1143* `event.name`: `"auth"`1156* `event.name`: `"auth"`

1144* `event.timestamp`: ISO 8601 タイムスタンプ1157* `event.timestamp`: ISO 8601 タイムスタンプ

1145* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1158* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1146* `action`: `"login"` または `"logout"`1159* `action`: `"login"` または `"logout"`

1147* `success`: `"true"` または `"false"`1160* `success`: `"true"` または `"false"`

1148* `auth_method`: 認証方法。`"oauth"` など1161* `auth_method`: 認証方法。`"oauth"` など

1149* `error_category`: アクションが失敗した場合のエラーの種類のカテゴリ。生のエラーメッセージが含まれることはありません1162* `error_category`: アクションが失敗した場合のエラーの種類。生のエラーメッセージが含まれることはありません

1150* `status_code`: アクションが HTTP エラーで失敗した場合の、文字列としての HTTP ステータスコード1163* `status_code`: アクションが HTTP エラーで失敗した場合の、文字列としての HTTP ステータスコード

1151 1164 

1152#### MCP サーバー接続イベント1165#### MCP サーバー接続イベント

1153 1166 

1154MCP サーバーが接続、切断、または接続に失敗したときにログに記録されます。1167MCP サーバーが接続、切断、または接続に失敗したときに記録されます。

1155 1168 

1156**イベント名**: `claude_code.mcp_server_connection`1169**イベント名**: `claude_code.mcp_server_connection`

1157 1170 


1160* すべての[標準属性](#standard-attributes)1173* すべての[標準属性](#standard-attributes)

1161* `event.name`: `"mcp_server_connection"`1174* `event.name`: `"mcp_server_connection"`

1162* `event.timestamp`: ISO 8601 タイムスタンプ1175* `event.timestamp`: ISO 8601 タイムスタンプ

1163* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1176* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1164* `status`: `"connected"`、`"failed"`、`"disconnected"` のいずれか1177* `status`: `"connected"`、`"failed"`、`"disconnected"` のいずれか

1165* `transport_type`: サーバーのトランスポート。`"stdio"`、`"sse"`、`"http"` など1178* `transport_type`: サーバーのトランスポート。`"stdio"`、`"sse"`、`"http"` など

1166* `server_scope`: サーバーが設定されているスコープ。`"user"`、`"project"`、`"local"` など1179* `server_scope`: サーバーが設定されているスコープ。`"user"`、`"project"`、`"local"` など

1167* `duration_ms`: 接続試行の所要時間(ミリ秒)1180* `duration_ms`: 接続試行の所要時間(ミリ秒)

1168* `error_code`: 接続が失敗した場合のエラーコード1181* `error_code`: 接続が失敗した場合のエラーコード

1169* `is_plugin`: サーバーがプラグインによって提供されている場合は `true`、それ以外は `false`1182* `is_plugin`: サーバーがプラグインによって提供されている場合は `true`、それ以外の場合は `false`

1170* `plugin_id_hash`(`is_plugin` が `true` の場合): プラグイン名とマーケットプレイスの安定したハッシュ。名前を公開せずにプラグインごとにイベントをグループ化するために使用します。Claude Code は[プラグイン読み込みイベント](#plugin-loaded-event)で説明している方法でこれを計算します1183* `plugin_id_hash`(`is_plugin` が `true` の場合): プラグイン名とマーケットプレイスの安定したハッシュ。名前を公開せずにプラグインごとにイベントをグループ化するために使用します。Claude Code は[プラグインロードイベント](#plugin-loaded-event)で説明されている方法でこれを計算します

1171* `plugin.name`(`is_plugin` が `true` の場合): サーバーを提供するプラグインの名前。サードパーティのプラグインの場合、`OTEL_LOG_TOOL_DETAILS=1` でない限り、これはリテラル文字列 `"third-party"` になります。これにより、デフォルトではサードパーティのプラグイン名がログに表示されないよう保護されます。Anthropic の公式ソースのプラグインは常に名前で識別されます。`plugin_id_hash` と `plugin.name` の属性は独自の監視バックエンドに送信され、Anthropic には送信されません1184* `plugin.name`(`is_plugin` が `true` の場合): サーバーを提供するプラグインの名前。サードパーティプラグインの場合、`OTEL_LOG_TOOL_DETAILS=1` でない限り、これはリテラル文字列 `"third-party"` になります。これにより、デフォルトでサードパーティプラグインの名前がログに表示されないよう保護されます。Anthropic の公式ソースのプラグインは常に名前で識別されます。`plugin_id_hash` 属性と `plugin.name` 属性はユーザー自身の監視バックエンドに送信され、Anthropic には送信されません

1172* `server_name`(`OTEL_LOG_TOOL_DETAILS=1` の場合): 設定されたサーバー名1185* `server_name`(`OTEL_LOG_TOOL_DETAILS=1` の場合): 設定されたサーバー名

1173* `error`(`OTEL_LOG_TOOL_DETAILS=1` の場合): 接続が失敗した場合の完全なエラーメッセージ1186* `error`(`OTEL_LOG_TOOL_DETAILS=1` の場合): 接続が失敗した場合の完全なエラーメッセージ

1174 1187 

1175#### 内部エラーイベント1188#### 内部エラーイベント

1176 1189 

1177Claude Code が予期しない内部エラーを捕捉したときにログに記録されます。エラークラス名と errno 形式のコードのみが記録されます。エラーメッセージとスタックトレースが含まれることはありません。このイベントは、Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry に対して実行している場合、または `DISABLE_ERROR_REPORTING` が設定されている場合は出力されません。1190Claude Code が予期しない内部エラーを捕捉したときに記録されます。エラークラス名と errno 形式のコードのみが記録されます。エラーメッセージとスタックトレースが含まれることはありません。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry に対して実行している場合、または `DISABLE_ERROR_REPORTING` が設定されている場合、このイベントは出力されません。

1178 1191 

1179**イベント名**: `claude_code.internal_error`1192**イベント名**: `claude_code.internal_error`

1180 1193 


1183* すべての[標準属性](#standard-attributes)1196* すべての[標準属性](#standard-attributes)

1184* `event.name`: `"internal_error"`1197* `event.name`: `"internal_error"`

1185* `event.timestamp`: ISO 8601 タイムスタンプ1198* `event.timestamp`: ISO 8601 タイムスタンプ

1186* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1199* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1187* `error_name`: エラークラス名。`"TypeError"` や `"SyntaxError"` など1200* `error_name`: エラークラス名。`"TypeError"` や `"SyntaxError"` など

1188* `error_code`: エラーに存在する場合の Node.js の errno コード(`"ENOENT"` など)1201* `error_code`: エラーに存在する場合の Node.js の errno コード。`"ENOENT"` など

1189 1202 

1190#### プラグインインストールイベント1203#### プラグインインストールイベント

1191 1204 

1192プラグインのインストールが完了したときにログに記録されます。`claude plugin install` CLI コマンドと対話型の `/plugin` UI の両方が対象です。1205`claude plugin install` CLI コマンドと対話型の `/plugin` UI の両方から、プラグインのインストールが完了したときに記録されます。

1193 1206 

1194**イベント名**: `claude_code.plugin_installed`1207**イベント名**: `claude_code.plugin_installed`

1195 1208 


1198* すべての[標準属性](#standard-attributes)1211* すべての[標準属性](#standard-attributes)

1199* `event.name`: `"plugin_installed"`1212* `event.name`: `"plugin_installed"`

1200* `event.timestamp`: ISO 8601 タイムスタンプ1213* `event.timestamp`: ISO 8601 タイムスタンプ

1201* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1214* `event.sequence`: イベントの順序付けのためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1202* `marketplace.is_official`: マーケットプレイスが Anthropic の公式マーケットプレイスの場合は `"true"`、それ以外は `"false"`1215* `marketplace.is_official`: マーケットプレイスが Anthropic の公式マーケットプレイスである場合は `"true"`、それ以外の場合は `"false"`

1203* `install.trigger`: `"cli"` または `"ui"`1216* `install.trigger`: `"cli"` または `"ui"`

1204* `plugin.name`: インストールされたプラグインの名前。サードパーティのマーケットプレイスの場合は、`OTEL_LOG_TOOL_DETAILS=1` の場合にのみ含まれます1217* `plugin.name`: インストールされたプラグインの名前。サードパーティのマーケットプレイスの場合、`OTEL_LOG_TOOL_DETAILS=1` の場合にのみ含まれます

1205* `plugin.version`: マーケットプレイスのエントリで宣言されている場合のプラグインのバージョン。サードパーティのマーケットプレイスの場合は、`OTEL_LOG_TOOL_DETAILS=1` の場合にのみ含まれます1218* `plugin.version`: マーケットプレイスのエントリで宣言されている場合のプラグインのバージョン。サードパーティのマーケットプレイスの場合、`OTEL_LOG_TOOL_DETAILS=1` の場合にのみ含まれます

1206* `marketplace.name`: プラグインのインストール元のマーケットプレイス。サードパーティのマーケットプレイスの場合は、`OTEL_LOG_TOOL_DETAILS=1` の場合にのみ含まれます1219* `marketplace.name`: プラグインのインストール元のマーケットプレイス。サードパーティのマーケットプレイスの場合、`OTEL_LOG_TOOL_DETAILS=1` の場合にのみ含まれます

1207 1220 

1208#### プラグイン読み込みイベント1221#### Plugin loaded event

1209 1222 

1210セッションの開始時に、有効化されているプラグインごとに 1 回ログに記録されます。インストール操作自体を記録する `plugin_installed` を補完するものとして、このイベントを使用してフリート全体でどのプラグインがアクティブかを把握できます。1223セッション開始時に、有効なプラグインごとに 1 回ログに記録されます。インストール操作そのものを記録する `plugin_installed` を補完するものとして、このイベントを使用してフリート全体でどのプラグインがアクティブになっているかを把握できます。

1211 1224 

1212**イベント名**: `claude_code.plugin_loaded`1225**イベント名**: `claude_code.plugin_loaded`

1213 1226 


1217* `event.name`: `"plugin_loaded"`1230* `event.name`: `"plugin_loaded"`

1218* `event.timestamp`: ISO 8601 タイムスタンプ1231* `event.timestamp`: ISO 8601 タイムスタンプ

1219* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1232* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1220* `plugin.name`: プラグインの名前。公式マーケットプレイスおよび組み込みバンドル以外のプラグインの場合、`OTEL_LOG_TOOL_DETAILS=1` でない限り値は `"third-party"` になります1233* `plugin.name`: プラグインの名前。公式マーケットプレイスおよび組み込みバンドル以外のプラグインでは、`OTEL_LOG_TOOL_DETAILS=1` でない限り値は `"third-party"` になります

1221* `marketplace.name`: 判明している場合の、プラグインのインストール元のマーケットプレイス。`plugin.name` と同じ条件で `"third-party"` に秘匿化されます1234* `marketplace.name`: プラグインのインストール元のマーケットプレイス(判明している場合)。`plugin.name` と同じ条件で `"third-party"` に秘匿化されます

1222* `plugin.version`: プラグインマニフェストのバージョン。名前が秘匿化されておらず、マニフェストでバージョンが宣言されている場合にのみ含まれます1235* `plugin.version`: プラグインマニフェストのバージョン。名前が秘匿化されておらず、マニフェストでバージョンが宣言されている場合にのみ含まれます

1223* `plugin.scope`: プラグインの出自カテゴリ。`"official"`、`"community"`、`"org"`、`"user-local"`、`"default-bundle"` のいずれか1236* `plugin.scope`: プラグインの出所カテゴリ: `"official"`、`"community"`、`"org"`、`"user-local"`、または `"default-bundle"`

1224* `enabled_via`: プラグインが有効化された経緯。`"default-enable"`、`"org-policy"`、`"admin-install"`、`"seed-mount"`、`"user-install"` のいずれかです。`"admin-install"` の値は、[**Organization settings > Plugins & skills**](https://claude.ai/admin-settings/skills?tab=inventory) でプラグインが組織に対して必須または自動インストールに設定されていることを意味します。v2.1.246 より前は、Claude Code はこれらのプラグインを `"user-install"` または `"seed-mount"` として報告していました1237* `enabled_via`: プラグインが有効になった経緯: `"default-enable"`、`"org-policy"`、`"admin-install"`、`"seed-mount"`、または `"user-install"`。`"admin-install"` の値は、[**Organization settings > Plugins & skills**](https://claude.ai/admin-settings/skills?tab=inventory) で組織向けにプラグインが必須または自動インストールに設定されていることを意味します。v2.1.246 より前では、Claude Code はこれらのプラグインを `"user-install"` または `"seed-mount"` として報告していました

1225* `plugin_id_hash`: プラグイン名とマーケットプレイスの決定論的なハッシュ。設定したエクスポーターにのみ送信されます。名前を記録せずに、フリート全体で読み込まれた個別のサードパーティプラグインの数をカウントできます。[claude.ai から同期されたプラグイン](https://code.claude.com/docs/ja/plugins/loading.md#synced-plugins)の場合、Claude Code は、claude.ai がそのプラグインについて報告するマーケットプレイス名、それがない場合は `synced` とプラグイン名を組み合わせてハッシュします。v2.1.246 より前は、Claude Code は claude.ai が報告するマーケットプレイス名をハッシュに使用していませんでした1238* `plugin_id_hash`: プラグイン名とマーケットプレイスの決定論的ハッシュ。設定済みのエクスポーターにのみ送信されます。名前を記録せずに、フリート全体で読み込まれた個別のサードパーティプラグインの数を数えられます。[claude.ai から同期されたプラグイン](https://code.claude.com/docs/ja/plugins/loading.md#synced-plugins)の場合、Claude Code はプラグイン名を、claude.ai がそのプラグインについて報告するマーケットプレイス名と組み合わせて、それがない場合は `synced` と組み合わせてハッシュ化します。v2.1.246 より前では、Claude Code は claude.ai が報告するマーケットプレイス名をハッシュに使用していませんでした

1226* `has_hooks`: プラグインが[フック設定](https://code.claude.com/docs/ja/plugins/components.md#hooks)を通じて、または [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md#how-a-mod-works) としてフックを提供しているかどうか1239* `has_hooks`: プラグインが[フック設定](https://code.claude.com/docs/ja/plugins/components.md#hooks)を通じて、または [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md#how-a-mod-works) としてフックを提供しているかどうか

1227* `has_mcp`: プラグインが MCP サーバーを提供するかどうか1240* `has_mcp`: プラグインが MCP サーバーを提供しているかどうか

1228* `host_owned_mcp`: SDK ホストがこのプラグインの MCP 接続を管理しており、Claude Code がプラグインの MCP サーバー設定の読み取りをスキップした場合は `true`、それ以外は `false`1241* `host_owned_mcp`: SDK ホストがこのプラグインの MCP 接続を管理し、Claude Code がプラグインの MCP サーバー設定の読み込みをスキップした場合は `true`、それ以外の場合は `false`

1229* `skill_path_count`: プラグインが宣言するスキルディレクトリの数1242* `skill_path_count`: プラグインが宣言しているスキルディレクトリの数

1230* `command_path_count`: プラグインが宣言するコマンドディレクトリの数1243* `command_path_count`: プラグインが宣言しているコマンドディレクトリの数

1231* `agent_path_count`: プラグインが宣言するエージェントディレクトリの数1244* `agent_path_count`: プラグインが宣言しているエージェントディレクトリの数

1232* `safe_mode`: セッションが [`--safe-mode`](https://code.claude.com/docs/ja/cli-reference) で開始された場合は `"true"`、それ以外は `"false"`。safe モードでは、このイベントは設定されたインベントリのみを報告し、プラグインのコマンド、スキル、フック、MCP サーバーは読み込まれません。Claude Code v2.1.169 以降が必要です1245* `safe_mode`: セッションが [`--safe-mode`](https://code.claude.com/docs/ja/cli-reference) で開始された場合は `"true"`、それ以外の場合は `"false"`。セーフモードでは、このイベントは設定済みのインベントリのみを報告し、プラグインのコマンド、スキル、フック、MCP サーバーは読み込まれません。Claude Code v2.1.169 以降が必要です

1233 1246 

1234#### スキル有効化イベント1247#### Skill activated event

1235 1248 

1236スキルが呼び出されたときにログに記録されます。Claude が Skill ツールを通じて呼び出した場合と、ユーザーが `/` コマンドとして実行した場合の両方が対象です。1249スキルが呼び出されたときにログに記録されます。Claude が Skill ツールを通じて呼び出した場合も、ユーザーが `/` コマンドとして実行した場合も記録されます。

1237 1250 

1238**イベント名**: `claude_code.skill_activated`1251**イベント名**: `claude_code.skill_activated`

1239 1252 


1243* `event.name`: `"skill_activated"`1256* `event.name`: `"skill_activated"`

1244* `event.timestamp`: ISO 8601 タイムスタンプ1257* `event.timestamp`: ISO 8601 タイムスタンプ

1245* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1258* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1246* `skill.name`: スキルの名前。ユーザー定義およびサードパーティのプラグインのスキルの場合、`OTEL_LOG_TOOL_DETAILS=1` でない限り値はプレースホルダーの `"custom_skill"` になります1259* `skill.name`: スキルの名前。ユーザー定義スキルおよびサードパーティプラグインのスキルでは、`OTEL_LOG_TOOL_DETAILS=1` でない限り値はプレースホルダー `"custom_skill"` になります

1247* `invocation_trigger`: スキルがトリガーされた方法(`"user-slash"`、`"claude-proactive"`、`"nested-skill"`)1260* `invocation_trigger`: スキルがトリガーされた方法(`"user-slash"`、`"claude-proactive"`、または `"nested-skill"`)

1248* `skill.source`: スキルの読み込み元(例: `"bundled"`、`"userSettings"`、`"projectSettings"`、`"plugin"`)1261* `skill.source`: スキルの読み込み元(例: `"bundled"`、`"userSettings"`、`"projectSettings"`、`"plugin"`)

1249* `skill.kind`: スキルがワークフロースキルの場合は `"workflow"`。それ以外の場合は含まれません1262* `skill.kind`: スキルがワークフロースキルの場合は `"workflow"`。それ以外の場合は存在しません

1250* `plugin.name`(`OTEL_LOG_TOOL_DETAILS=1` の場合、またはプラグインが公式マーケットプレイスのものの場合): スキルがプラグインによって提供されている場合の、所有元のプラグインの名前1263* `plugin.name`(`OTEL_LOG_TOOL_DETAILS=1` の場合、またはプラグインが公式マーケットプレイスのものである場合): スキルがプラグインによって提供されている場合の、所有元プラグインの名前

1251* `marketplace.name`(`OTEL_LOG_TOOL_DETAILS=1` の場合、またはプラグインが公式マーケットプレイスのものの場合): スキルがプラグインによって提供されている場合の、所有元のプラグインのインストール元のマーケットプレイス1264* `marketplace.name`(`OTEL_LOG_TOOL_DETAILS=1` の場合、またはプラグインが公式マーケットプレイスのものである場合): スキルがプラグインによって提供されている場合の、所有元プラグインのインストール元マーケットプレイス

1252 1265 

1253#### @ メンションイベント1266#### At mention event

1254 1267 

1255Claude Code がプロンプト内の `@` メンションを解決したときにログに記録されます。すべてのメンションでイベントが出力されるわけではありません。権限の拒否、サイズが大きすぎるファイル、PDF の参照添付、ディレクトリ一覧の取得失敗などの早期終了パスでは、ログに記録せずに戻ります。1268Claude Code がプロンプト内の `@` メンションを解決したときにログに記録されます。すべてのメンションがイベントを出力するわけではありません。権限拒否、サイズが大きすぎるファイル、PDF 参照添付、ディレクトリ一覧の取得失敗などの早期終了パスでは、ログに記録せずに戻ります。

1256 1269 

1257Claude Code はプロンプトを読み取るたびに、`mention_type` が `"agent"` のイベントと `"mcp_resource"` のイベントをそれぞれ最大 100 件までログに記録します。いずれかの上限を超えたメンションも解決はされますが、イベントは出力されません。1270Claude Code はプロンプトを読み取るたびに、`mention_type` が `"agent"` のイベントを最大 100 件、`"mcp_resource"` のイベントを最大 100 件ログに記録します。いずれかの上限を超えたメンションも解決はされますが、イベントは出力されません。

1258 1271 

1259**イベント名**: `claude_code.at_mention`1272**イベント名**: `claude_code.at_mention`

1260 1273 


1267* `mention_type`: メンションの種類(`"file"`、`"directory"`、`"agent"`、`"mcp_resource"`、`"peer"`)。`"peer"` の値は、[ユーザーの他の Claude Code セッションのいずれか](https://code.claude.com/docs/ja/cross-session-messaging.md)をメンションしたことを意味します。Claude Code v2.1.232 以降が必要です1280* `mention_type`: メンションの種類(`"file"`、`"directory"`、`"agent"`、`"mcp_resource"`、`"peer"`)。`"peer"` の値は、[ユーザーの他の Claude Code セッションのいずれか](https://code.claude.com/docs/ja/cross-session-messaging.md)をメンションしたことを意味します。Claude Code v2.1.232 以降が必要です

1268* `success`: メンションが正常に解決されたかどうか(`"true"` または `"false"`)1281* `success`: メンションが正常に解決されたかどうか(`"true"` または `"false"`)

1269 1282 

1270#### API 再試行上限到達イベント1283#### API retries exhausted event

1271 1284 

1272API リクエストが複数回の試行の後に失敗したときに 1 回ログに記録されます。最後の `api_error` イベントと一緒に出力されます。1285API リクエストが複数回の試行の後に失敗したときに 1 回ログに記録されます。最終的な `api_error` イベントと一緒に出力されます。

1273 1286 

1274**イベント名**: `claude_code.api_retries_exhausted`1287**イベント名**: `claude_code.api_retries_exhausted`

1275 1288 


1281* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1294* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1282* `model`: 使用されたモデル1295* `model`: 使用されたモデル

1283* `error`: 最終的なエラーメッセージ1296* `error`: 最終的なエラーメッセージ

1284* `status_code`: 数値としての HTTP ステータスコード。HTTP 以外のエラーの場合は含まれません。1297* `status_code`: 数値としての HTTP ステータスコード。HTTP 以外のエラーでは存在しません。

1285* `total_attempts`: 試行の合計回数1298* `total_attempts`: 行われた試行の合計回数

1286* `total_retry_duration_ms`: すべての試行にわたる合計の実経過時間1299* `total_retry_duration_ms`: すべての試行にわたる合計実時間

1287* `speed`: `"fast"` または `"normal"`1300* `speed`: `"fast"` または `"normal"`

1288 1301 

1289#### フック登録イベント1302#### Hook registered event

1290 1303 

1291セッションの開始時に、設定されたフックごとに 1 回ログに記録されます。実行ごとの `hook_execution_start` および `hook_execution_complete` イベントを補完するものとして、このイベントを使用してフリート全体でどのフックがアクティブかを把握できます。1304セッション開始時に、設定されたフックごとに 1 回ログに記録されます。実行ごとの `hook_execution_start` および `hook_execution_complete` イベントを補完するものとして、このイベントを使用してフリート全体でどのフックがアクティブになっているかを把握できます。

1292 1305 

1293**イベント名**: `claude_code.hook_registered`1306**イベント名**: `claude_code.hook_registered`

1294 1307 


1298* `event.name`: `"hook_registered"`1311* `event.name`: `"hook_registered"`

1299* `event.timestamp`: ISO 8601 タイムスタンプ1312* `event.timestamp`: ISO 8601 タイムスタンプ

1300* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1313* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1301* `hook_event`: フックイベントの種類。`"PreToolUse"` や `"PostToolUse"` など1314* `hook_event`: フックイベントの種類(`"PreToolUse"` や `"PostToolUse"` など)

1302* `hook_type`: フックの実装の種類。`"command"`、`"prompt"`、`"mcp_tool"`、`"http"`、`"agent"` のいずれか1315* `hook_type`: フックの実装タイプ: `"command"`、`"prompt"`、`"mcp_tool"`、`"http"`、または `"agent"`

1303* `hook_source`: フックが定義されている場所。`"userSettings"`、`"projectSettings"`、`"localSettings"`、`"flagSettings"`、`"policySettings"`、`"pluginHook"` のいずれか1316* `hook_source`: フックが定義されている場所: `"userSettings"`、`"projectSettings"`、`"localSettings"`、`"flagSettings"`、`"policySettings"`、または `"pluginHook"`

1304* `safe_mode`: セッションが [`--safe-mode`](https://code.claude.com/docs/ja/cli-reference) で開始された場合は `"true"`、それ以外は `"false"`。Claude Code v2.1.169 以降が必要です1317* `safe_mode`: セッションが [`--safe-mode`](https://code.claude.com/docs/ja/cli-reference) で開始された場合は `"true"`、それ以外の場合は `"false"`。Claude Code v2.1.169 以降が必要です

1305* `hook_matcher`(`OTEL_LOG_TOOL_DETAILS=1` の場合): フック設定で matcher が設定されている場合の matcher 文字列1318* `hook_matcher`(`OTEL_LOG_TOOL_DETAILS=1` の場合): フック設定の matcher 文字列(設定されている場合)

1306* `plugin.name`(`hook_source` が `"pluginHook"` の場合): フックを提供するプラグインの名前。公式マーケットプレイスおよび組み込みバンドル以外のプラグインの場合、`OTEL_LOG_TOOL_DETAILS=1` でない限り値は `"third-party"` になります1319* `plugin.name`(`hook_source` が `"pluginHook"` の場合): フックを提供しているプラグインの名前。公式マーケットプレイスおよび組み込みバンドル以外のプラグインでは、`OTEL_LOG_TOOL_DETAILS=1` でない限り値は `"third-party"` になります

1307* `plugin_id_hash`(`hook_source` が `"pluginHook"` の場合): プラグイン名とマーケットプレイスの決定論的なハッシュ。設定したエクスポーターにのみ送信されます。名前を記録せずに、フックを提供する個別のプラグインの数をカウントできます。Claude Code は[プラグイン読み込みイベント](#plugin-loaded-event)で説明している方法でこれを計算します1320* `plugin_id_hash`(`hook_source` が `"pluginHook"` の場合): プラグイン名とマーケットプレイスの決定論的ハッシュ。設定済みのエクスポーターにのみ送信されます。名前を記録せずに、フックを提供している個別のプラグインの数を数えられます。Claude Code は [plugin loaded event](#plugin-loaded-event) で説明しているとおりに計算します

1308 1321 

1309#### フック実行開始イベント1322#### Hook execution start event

1310 1323 

1311フックイベントに対して 1 つ以上のフックの実行が開始されたときにログに記録されます。1324フックイベントに対して 1 つ以上のフックの実行が開始されたときにログに記録されます。

1312 1325 


1318* `event.name`: `"hook_execution_start"`1331* `event.name`: `"hook_execution_start"`

1319* `event.timestamp`: ISO 8601 タイムスタンプ1332* `event.timestamp`: ISO 8601 タイムスタンプ

1320* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1333* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1321* `hook_event`: フックイベントの種類。`"PreToolUse"` や `"PostToolUse"` など1334* `hook_event`: フックイベントの種類(`"PreToolUse"` や `"PostToolUse"` など)

1322* `hook_name`: matcher を含む完全なフック名。`"PreToolUse:Write"` など1335* `hook_name`: matcher を含む完全なフック名(`"PreToolUse:Write"` など)

1323* `num_hooks`: 一致したフックコマンドの数1336* `num_hooks`: 一致したフックコマンドの数

1324* `managed_only`: 管理ポリシーのフックのみが許可されている場合は `"true"`1337* `managed_only`: 管理ポリシーのフックのみが許可されている場合は `"true"`

1325* `hook_source`: `"policySettings"` または `"merged"`1338* `hook_source`: `"policySettings"` または `"merged"`

1326* `safe_mode`: セッションが [`--safe-mode`](https://code.claude.com/docs/ja/cli-reference) で開始された場合は `"true"`、それ以外は `"false"`。Claude Code v2.1.169 以降が必要です1339* `safe_mode`: セッションが [`--safe-mode`](https://code.claude.com/docs/ja/cli-reference) で開始された場合は `"true"`、それ以外の場合は `"false"`。Claude Code v2.1.169 以降が必要です

1327* `hook_definitions`: JSON シリアライズされたフック設定。詳細なベータトレースと `OTEL_LOG_TOOL_DETAILS=1` の両方が有効な場合にのみ含まれます1340* `hook_definitions`: JSON シリアル化されたフック設定。詳細なベータトレースと `OTEL_LOG_TOOL_DETAILS=1` の両方が有効な場合にのみ含まれます

1328 1341 

1329#### フック実行完了イベント1342#### Hook execution complete event

1330 1343 

1331フックイベントに対するすべてのフックが完了したときにログに記録されます。1344フックイベントのすべてのフックが完了したときにログに記録されます。

1332 1345 

1333**イベント名**: `claude_code.hook_execution_complete`1346**イベント名**: `claude_code.hook_execution_complete`

1334 1347 


1342* `hook_name`: matcher を含む完全なフック名1355* `hook_name`: matcher を含む完全なフック名

1343* `num_hooks`: 一致したフックコマンドの数1356* `num_hooks`: 一致したフックコマンドの数

1344* `num_success`: 正常に完了した数1357* `num_success`: 正常に完了した数

1345* `num_blocking`: ブロッキングの決定を返した数1358* `num_blocking`: ブロッキングの判定を返した数

1346* `num_non_blocking_error`: ブロックせずに失敗した数1359* `num_non_blocking_error`: ブロックせずに失敗した数

1347* `num_cancelled`: 完了前にキャンセルされた数1360* `num_cancelled`: 完了前にキャンセルされた数

1348* `total_duration_ms`: 一致したすべてのフックの実経過時間1361* `total_duration_ms`: 一致したすべてのフックの実時間

1349* `stdout_chars`: 成功した一致フック全体の stdout の合計文字数。Claude Code v2.1.280 以降が必要です1362* `stdout_chars`: 成功した一致フック全体にわたる stdout の合計文字数。Claude Code v2.1.280 以降が必要です

1350* `additional_context_chars`: 一致したフックが返した `additionalContext` の合計文字数。Claude Code v2.1.280 以降が必要です1363* `additional_context_chars`: 一致したフックが返した `additionalContext` の合計文字数。Claude Code v2.1.280 以降が必要です

1351* `system_message_chars`: 一致したフックが返した `systemMessage` の合計文字数。Claude Code v2.1.280 以降が必要です1364* `system_message_chars`: 一致したフックが返した `systemMessage` の合計文字数。Claude Code v2.1.280 以降が必要です

1352* `initial_user_message_chars`: 一致したフックが返した `initialUserMessage` の合計文字数。Claude Code v2.1.280 以降が必要です1365* `initial_user_message_chars`: 一致したフックが返した `initialUserMessage` の合計文字数。Claude Code v2.1.280 以降が必要です

1353* `num_outputs_persisted`: [10,000 文字の上限](https://code.claude.com/docs/ja/hooks.md#json-output)を超えたために Claude Code がファイルに保存したフック出力の数。Claude Code v2.1.280 以降が必要です1366* `num_outputs_persisted`: [10,000 文字の上限](https://code.claude.com/docs/ja/hooks.md#json-output)を超え、Claude Code がファイルに保存したフック出力の数。Claude Code v2.1.280 以降が必要です

1354* `managed_only`: 管理ポリシーのフックのみが許可されている場合は `"true"`1367* `managed_only`: 管理ポリシーのフックのみが許可されている場合は `"true"`

1355* `hook_source`: `"policySettings"` または `"merged"`1368* `hook_source`: `"policySettings"` または `"merged"`

1356* `safe_mode`: セッションが [`--safe-mode`](https://code.claude.com/docs/ja/cli-reference) で開始された場合は `"true"`、それ以外は `"false"`。Claude Code v2.1.169 以降が必要です1369* `safe_mode`: セッションが [`--safe-mode`](https://code.claude.com/docs/ja/cli-reference) で開始された場合は `"true"`、それ以外の場合は `"false"`。Claude Code v2.1.169 以降が必要です

1357* `hook_definitions`: JSON シリアライズされたフック設定。詳細なベータトレースと `OTEL_LOG_TOOL_DETAILS=1` の両方が有効な場合にのみ含まれます1370* `hook_definitions`: JSON シリアル化されたフック設定。詳細なベータトレースと `OTEL_LOG_TOOL_DETAILS=1` の両方が有効な場合にのみ含まれます

1358 1371 

1359#### フックプラグインメトリクスイベント1372#### Hook plugin metrics event

1360 1373 

1361公式マーケットプレイスのプラグインのフックが呼び出しごとのメトリクスを出力したときにログに記録されます。これを出力できるのは、Anthropic の公式マーケットプレイスからインストールされたプラグインのみです。サードパーティのマーケットプレイスのプラグインやユーザーが設定したフックは、このイベントに出力しません。このイベントを使用すると、検出率、コスト、所要時間などのプラグインの挙動を独自のオブザーバビリティスタックから監視できます。1374公式マーケットプレイスのプラグインのフックが呼び出しごとのメトリクスを出力したときにログに記録されます。これを出力できるのは、Anthropic の公式マーケットプレイスからインストールされたプラグインのみです。サードパーティのマーケットプレイスのプラグインやユーザーが設定したフックは、このイベントに出力しません。このイベントを使用して、検出率、コスト、所要時間などのプラグインの動作を独自のオブザーバビリティスタックで監視できます。

1362 1375 

1363**イベント名**: `claude_code.hook_plugin_metrics`1376**イベント名**: `claude_code.hook_plugin_metrics`

1364 1377 


1372* `hook_event`: メトリクスを出力したフックイベントの種類1385* `hook_event`: メトリクスを出力したフックイベントの種類

1373* プラグインが出力する最大 20 個のメトリクスキー。名前は `^[a-z][a-z0-9_]{0,39}$` に一致します。値はブール値または数値です。1386* プラグインが出力する最大 20 個のメトリクスキー。名前は `^[a-z][a-z0-9_]{0,39}$` に一致します。値はブール値または数値です。

1374 1387 

1375#### コンテキスト圧縮イベント1388#### Compaction event

1376 1389 

1377会話のコンテキスト圧縮が完了したときにログに記録されます。1390会話のコンテキスト圧縮が完了したときにログに記録されます。

1378 1391 


1386* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1399* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1387* `trigger`: `"auto"` または `"manual"`1400* `trigger`: `"auto"` または `"manual"`

1388* `success`: `"true"` または `"false"`1401* `success`: `"true"` または `"false"`

1389* `duration_ms`: 圧縮の所要時間1402* `duration_ms`: 圧縮にかかった時間

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

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

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

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

1394 1407 

1395#### サブエージェント完了イベント1408#### Subagent completed event

1396 1409 

1397[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)が終了し、その結果を起動元の会話に返したときに記録されます。サブエージェントの種類ごとにツール使用と実行時間を集計する用途に使用します。トークンやコストを集計する場合は、`query_source` を `"subagent"` でフィルタリングした [トークンカウンター](#token-counter)と[コストカウンター](#cost-counter)を使用してください。このイベントの `total_tokens` は最後のリクエストのみを対象とするためです。`"subagent"` カテゴリには、エージェントベースのフックからのリクエストも含まれますが、これらはサブエージェントイベントを出力しません。1410[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)が終了し、それを開始した会話に結果を返したときにログに記録されます。サブエージェントの種類ごとにツールの使用状況と実行時間を集計するのに使用します。トークンやコストの集計には、`query_source` `"subagent"` でフィルタリングした[トークンカウンター](#token-counter)と[コストカウンター](#cost-counter)を使用してください。このイベントの `total_tokens` は最後のリクエストのみを対象としているためです。`"subagent"` カテゴリには、サブエージェントイベントを出力しないエージェントベースのフックからのリクエストも含まれます。

1398 1411 

1399**イベント名**: `claude_code.subagent_completed`1412**イベント名**: `claude_code.subagent_completed`

1400 1413 


1404* `event.name`: `"subagent_completed"`1417* `event.name`: `"subagent_completed"`

1405* `event.timestamp`: ISO 8601 タイムスタンプ1418* `event.timestamp`: ISO 8601 タイムスタンプ

1406* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1419* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1407* `agent_type`: サブエージェントの種類。組み込みエージェント名と公式マーケットプレイスのプラグインからのエージェントはそのまま表示されます。その他のエージェント名は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `"custom"` に置き換えられます1420* `agent_type`: サブエージェントの種類。組み込みエージェント名と公式マーケットプレイスのプラグインのエージェントはそのまま表示されます。その他のエージェント名は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `"custom"` に置き換えられます

1408* `agent.source`: エージェント定義の取得元。`built-in`、`plugin`、またはカスタムエージェントを定義した設定ソース(`userSettings` や `projectSettings` など)1421* `agent.source`: エージェント定義の出所: `built-in`、`plugin`、またはカスタムエージェントを定義した設定ソース(`userSettings` や `projectSettings` など)

1409* `is_built_in`: サブエージェントが組み込みのエージェントタイプかどうか1422* `is_built_in`: サブエージェントが組み込みのエージェントタイプかどうか

1410* `is_async`: サブエージェントが[バックグラウンド](https://code.claude.com/docs/ja/sub-agents.md#run-subagents-in-foreground-or-background)で実行されたかどうか1423* `is_async`: サブエージェントが[バックグラウンド](https://code.claude.com/docs/ja/sub-agents.md#run-subagents-in-foreground-or-background)で実行されたかどうか

1411* `total_tokens`: サブエージェントの最後の API リクエストのトークン量。その 1 つのリクエストの入力、キャッシュ作成、キャッシュ読み取り、出力トークンであり、完了時点のサブエージェントのコンテキストサイズにおおよそ相当します。実行全体の合計ではありません1424* `total_tokens`: サブエージェントの最後の API リクエストのトークン量。その 1 回のリクエストの入力、キャッシュ作成、キャッシュ読み取り、出力トークンであり、完了時点のサブエージェントのコンテキストサイズにおおよそ相当します。実行全体の合計ではありません

1412* `total_tool_uses`: サブエージェントが実行全体で行ったツール呼び出しの数1425* `total_tool_uses`: 実行全体でサブエージェントが行ったツール呼び出しの数

1413* `duration_ms`: 実行時間(ミリ秒)1426* `duration_ms`: ミリ秒単位の実行時間

1414* `model`: サブエージェントの実行に解決されたモデル1427* `model`: サブエージェントの実行用に解決されたモデル

1415* `final_model`: サブエージェントの最終的な応答を生成したモデル。フォールバックなど実行途中での切り替えがあった場合、`model` とは異なります1428* `final_model`: サブエージェントの最終応答を生成したモデル。フォールバックなど実行中の切り替えがあった場合は `model` と異なります

1416* `model_swapped`: 複数のモデルがサブエージェントのリクエストを処理したかどうか1429* `model_swapped`: 複数のモデルがサブエージェントのリクエストを処理したかどうか

1417* `plugin_id_hash`、`plugin.name`: プラグインが提供するエージェントの場合に存在します。公式マーケットプレイスのプラグイン名はそのまま表示されます。その他のプラグイン名は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `"third-party"` に置き換えられます1430* `plugin_id_hash`、`plugin.name`: プラグインが提供するエージェントの場合に存在します。公式マーケットプレイスのプラグイン名はそのまま表示されます。その他のプラグイン名は、`OTEL_LOG_TOOL_DETAILS=1` が設定されていない限り `"third-party"` に置き換えられます

1418 1431 

1419#### フィードバックアンケートイベント1432#### Feedback survey event

1420 1433 

1421セッション品質アンケートが表示されたとき、または回答されたときに記録されます。アンケートで収集される内容とその制御方法については、[セッション品質アンケート](https://code.claude.com/docs/ja/data-usage.md#session-quality-surveys)を参照してください。1434セッション品質アンケートが表示されたとき、または回答されたときにログに記録されます。アンケートで収集される内容と制御方法については、[セッション品質アンケート](https://code.claude.com/docs/ja/data-usage.md#session-quality-surveys)を参照してください。

1422 1435 

1423**イベント名**: `claude_code.feedback_survey`1436**イベント名**: `claude_code.feedback_survey`

1424 1437 


1428* `event.name`: `"feedback_survey"`1441* `event.name`: `"feedback_survey"`

1429* `event.timestamp`: ISO 8601 タイムスタンプ1442* `event.timestamp`: ISO 8601 タイムスタンプ

1430* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1443* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1431* `event_type`: アンケートのライフサイクルイベント。例: `"appeared"`、`"responded"`、`"transcript_prompt_appeared"`1444* `event_type`: アンケートのライフサイクルイベント(例: `"appeared"`、`"responded"`、`"transcript_prompt_appeared"`)

1432* `appearance_id`: 1 つのアンケートインスタンスに対して出力されたイベントを結び付ける一意の ID1445* `appearance_id`: 1 つのアンケートインスタンスに対して出力されたイベントを関連付ける一意の ID

1433* `survey_type`: イベントを生成したアンケート。`"session"` は「Claude の調子はどうですか?」という評価プロンプトです1446* `survey_type`: イベントを生成したアンケート。`"session"` は「How is Claude doing?」の評価プロンプトです

1434* `response`: `responded` イベントにおけるユーザーの選択1447* `response`: `responded` イベントでのユーザーの選択

1435* `enabled_via_override`: [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](https://code.claude.com/docs/ja/env-vars) が設定されている場合は `true`。文字列ではなくブール値として出力されます。`session` アンケートイベントに存在します。この属性でフィルタリングすると、上書きがフリート全体に適用されていることを確認できます1448* `enabled_via_override`: [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](https://code.claude.com/docs/ja/env-vars) が設定されている場合は `true`。文字列ではなくブール値として出力されます。`session` アンケートのイベントに存在します。この属性でフィルタリングすると、フリート全体で上書きが適用されていることを確認できます

1436 1449 

1437#### 保持期間スイープイベント1450#### Retention sweep event

1438 1451 

1439保持期間クリーンアップスイープの実行ごとに 1 回記録されます。このスイープは、[`cleanupPeriodDays`](https://code.claude.com/docs/ja/settings-reference#cleanupperioddays) 設定よりも古い[セッショントランスクリプトやその他のアプリケーションデータ](https://code.claude.com/docs/ja/claude-directory.md#cleaned-up-automatically)を削除します。Claude Code はセッションごとに最大 1 回、バックグラウンドでスイープを実行し、何も削除しなかった実行でもイベントを出力します。同じマシン上のいずれかのセッションで過去 24 時間以内に Claude Code がスイープを実行していた場合、このセッションのスイープは少なくとも 10 分遅延されるため、それより早く終了したセッションは何も出力しません。`claude -p` を `--bare` とともに実行した場合、Claude Code はスイープを実行せず、何も出力しません。1452保持期間クリーンアップスイープの実行ごとに 1 回ログに記録されます。このスイープは、[`cleanupPeriodDays`](https://code.claude.com/docs/ja/settings-reference#cleanupperioddays) 設定より古い[セッショントランスクリプトやその他のアプリケーションデータ](https://code.claude.com/docs/ja/claude-directory.md#cleaned-up-automatically)を削除します。Claude Code はセッションごとに最大 1 回バックグラウンドでスイープを実行し、何も削除しなかった実行でもイベントを出力します。同じマシン上のいずれかのセッションで過去 24 時間以内に Claude Code がスイープを実行していた場合、このセッションのスイープは少なくとも 10 分遅延されるため、それより早く終了するセッションは何も出力しません。`claude -p` を `--bare` 付きで実行した場合、Claude Code はスイープを実行せず、何も出力しません。

1440 1453 

1441このページのすべての OTel イベントと同様に、このイベントは設定したテレメトリバックエンドにのみ送信されます。Claude Code v2.1.227 以降が必要です。1454このページのすべての OTel イベントと同様に、このイベントはユーザーが設定したテレメトリバックエンドにのみ送信されます。Claude Code v2.1.227 以降が必要です。

1442 1455 

1443Claude Code が保持期間を安全に判断できない場合、スイープを一時停止し、`result` を `"skipped"` に設定し、`skip_reason` を付けてイベントを出力します。[管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)で `cleanupPeriodDays` が設定されている場合は、管理設定の値によって保持期間が固定され、より優先度の低いスコープの設定ファイルが壊れていたり無効であったりしてもスイープは実行されます。`managed-settings.json` 自体を読み取れない場合、[管理層](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)がサーバー管理設定や壊れたファイルの隣にある `managed-settings.d/` ドロップインなど、他の場所から `cleanupPeriodDays` を提供しない限り、Claude Code はスイープを一時停止します。削除カウンター属性は、`result` が `"complete"` の場合にのみ存在します。1456Claude Code が保持期間を安全に判断できない場合、スイープを一時停止し、`result` を `"skipped"` に設定し `skip_reason` を付けてイベントを出力します。[管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)で `cleanupPeriodDays` が設定されている場合、管理値が保持期間を固定し、優先度の低いスコープの設定ファイルが壊れているか無効であってもスイープは実行されます。`managed-settings.json` 自体を読み取れない場合、[管理層](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)がサーバー管理設定や壊れたファイルの隣にある `managed-settings.d/` ドロップインなど別の場所から `cleanupPeriodDays` を提供しない限り、Claude Code はスイープを一時停止します。削除カウンターの属性は、`result` が `"complete"` の場合にのみ存在します。

1444 1457 

1445**イベント名**: `claude_code.retention_sweep`1458**イベント名**: `claude_code.retention_sweep`

1446 1459 


1451* `event.timestamp`: ISO 8601 タイムスタンプ1464* `event.timestamp`: ISO 8601 タイムスタンプ

1452* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1465* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1453* `result`: スイープが実行された場合は `"complete"`、Claude Code が一時停止した場合は `"skipped"`1466* `result`: スイープが実行された場合は `"complete"`、Claude Code が一時停止した場合は `"skipped"`

1454* `period_days`: マージされた設定の `cleanupPeriodDays` の値(日数)。どのソースでも設定されていない場合は `30`。skipped イベントでは、Claude Code が読み取れた設定ソースから算出した、スイープが使用するはずだった値1467* `period_days`: マージされた設定の `cleanupPeriodDays` の値(日数)、またはどのソースも設定していない場合は `30`。スキップされたイベントでは、Claude Code が読み取れた設定ソースから計算された、スイープが使用するはずだった値

1455* `used_default`: 読み取り可能な設定ソースのいずれでも `cleanupPeriodDays` が設定されていない場合は `"true"`、それ以外は `"false"`。complete イベントでは、`"true"` は 30 日のデフォルトが適用されたことを意味します1468* `used_default`: 読み取り可能な設定ソースが `cleanupPeriodDays` を設定していない場合は `"true"`、それ以外の場合は `"false"`。完了イベントでは、`"true"` は 30 日のデフォルトが適用されたことを意味します

1456* `skip_reason`: Claude Code がスイープを一時停止した理由。`result` が `"skipped"` の場合にのみ存在します:1469* `skip_reason`: Claude Code がスイープを一時停止した理由。`result` が `"skipped"` の場合にのみ存在します:

1457 * `"user_source_disabled"`: [`--setting-sources`](https://code.claude.com/docs/ja/cli-reference#cli-flags) フラグや SDK の [`settingSources`](https://code.claude.com/docs/ja/agent-sdk/typescript#options) オプションなどによってユーザー設定が除外されており、有効なソースのいずれも `cleanupPeriodDays` を提供していない1470 * `"user_source_disabled"`: [`--setting-sources`](https://code.claude.com/docs/ja/cli-reference#cli-flags) フラグや SDK の [`settingSources`](https://code.claude.com/docs/ja/agent-sdk/typescript#options) オプションなどによってユーザー設定が除外されており、有効なソースのいずれも `cleanupPeriodDays` を提供していない

1458 * `"settings_unknowable"`: 設定ファイルを読み取りまたは解析できなかったため、`cleanupPeriodDays` または `desktopSessionCleanupPeriodDays` が Claude Code から見えない値に設定されている可能性がある1471 * `"settings_unknowable"`: 設定ファイルを読み取りまたは解析できなかったため、Claude Code が確認できない値に `cleanupPeriodDays` または `desktopSessionCleanupPeriodDays` が設定されている可能性がある

1459 * `"settings_invalid_key_set"`: 設定に検証エラーがあり、かつ `cleanupPeriodDays` または `desktopSessionCleanupPeriodDays` が明示的に設定されているため、デフォルトにフォールバックするとその設定に反してファイルを削除または保持してしまう可能性がある1472 * `"settings_invalid_key_set"`: 設定に検証エラーがあり、かつ `cleanupPeriodDays` または `desktopSessionCleanupPeriodDays` が明示的に設定されているため、デフォルトにフォールバックするとその設定に反してファイルを削除または保持してしまう可能性がある

1460* `transcripts_deleted`: スイープが削除したセッショントランスクリプト(最上位の `~/.claude/projects/*/*.jsonl` ファイル)の数1473* `transcripts_deleted`: スイープが削除したセッショントランスクリプト(最上位の `~/.claude/projects/*/*.jsonl` ファイル)の数

1461* `transcripts_exempted_desktop`: 保持期間を過ぎているものの、[Claude Desktop と Cowork のルール](https://code.claude.com/docs/ja/claude-directory.md#cleaned-up-automatically)によりスイープが保持したトランスクリプトの数。これらは `files_past_cutoff` にはカウントされません。Claude Code v2.1.248 以降が必要です1474* `transcripts_exempted_desktop`: 保持期間を過ぎているものの、[Claude Desktop と Cowork のルール](https://code.claude.com/docs/ja/claude-directory.md#cleaned-up-automatically)に基づいてスイープが保持したトランスクリプトの数。これらは `files_past_cutoff` にはカウントされません。Claude Code v2.1.248 以降が必要です

1462* `session_files_deleted`: セッションファイルスイープが削除したアーティファクトの数。トランスクリプトに加え、サイドカー、録画、ツール結果などのセッションごとの付随ファイルを含みます1475* `session_files_deleted`: セッションファイルのスイープが削除したアーティファクトの数。トランスクリプトに加え、サイドカー、録画、ツール結果などのセッションごとの付随ファイルが含まれます

1463* `artifacts_deleted`: スイープが対象とするデータディレクトリ全体で削除した項目の合計(セッションファイルを含む)。一部のスイープは削除したディレクトリツリー全体を 1 項目としてカウントし、いくつかのクリーンアップパスはカウンターに加算されないため、この値は正確なファイル数ではなく下限値として扱ってください1476* `artifacts_deleted`: スイープが対象とするデータディレクトリ全体で削除した項目の合計(セッションファイルを含む)。一部のスイープは削除したディレクトリツリー全体を 1 項目としてカウントし、いくつかのクリーンアップパスはカウンターに寄与しないため、この値は正確なファイル数ではなく下限として扱ってください

1464* `files_retained_fresh`: 検査されたものの、まだ保持期間内であるためそのまま残されたファイル。ファイル単位のスイープのみがこれらをカウントするため、この値は下限値です。ゼロ以外の値は通常の定常状態です1477* `files_retained_fresh`: 検査され、まだ保持期間内であるためそのまま残されたファイル。ファイル単位のスイープのみがこれをカウントするため、この値は下限です。ゼロ以外の値は通常の定常状態です

1465* `files_past_cutoff`: 保持期間より古いものの、権限エラーやファイルが開かれたままであるなどの理由でスイープが削除に失敗したファイル。このカウントには、スイープが `skills/synced/` または `plugins/synced/` の下で見つけた古いフォルダーも、ゴミ箱に移動したかどうかにかかわらずそれぞれ含まれます。これらのフォルダーを除いて、ゼロより大きい値は、設定された保持期間を超えてファイルが残っていることを意味します。ただし、ゼロであってもそうしたファイルがないことの証明にはなりません。ディレクトリ全体の削除に失敗した場合は、代わりに `error_count` にカウントされるためです1478* `files_past_cutoff`: 権限エラーやファイルが開かれたままであるなどの理由で、スイープが削除に失敗した保持期間より古いファイル。このカウントには、スイープが `skills/synced/` または `plugins/synced/` の下で見つけた古いフォルダーも、ゴミ箱に移動したかどうかにかかわらずそれぞれ含まれます。それらのフォルダーを除き、ゼロより大きい値は、ファイルが設定された保持期間を超えて残ったことを意味します。ただし、ディレクトリ全体の削除に失敗した場合は代わりに `error_count` にカウントされるため、ゼロであってもそのようなファイルがないことの証明にはなりません

1466* `error_count`: ファイルの一覧取得または削除中にスイープが遭遇したエラーの数1479* `error_count`: スイープがファイルの一覧取得または削除中に遭遇したエラーの数

1467 1480 

1468#### 管理設定解決イベント1481#### Managed settings resolved event

1469 1482 

1470セッションが解決した[管理設定](https://code.claude.com/docs/ja/managed-settings.md)とともに記録されます。セッション開始時に 1 回、セッション中に管理設定または[ポリシーヘルパー](https://code.claude.com/docs/ja/managed-settings.md#compute-the-policy-with-a-helper-program)の状態が変化したときに再度、そして `error.type` 属性に列挙されている理由のいずれかにより Claude Code が起動を拒否するかセッションを終了したときに記録されます。1483セッションが解決した[管理設定](https://code.claude.com/docs/ja/managed-settings.md)とともにログに記録されます。セッション開始時に 1 回、セッション中に管理設定または[ポリシーヘルパー](https://code.claude.com/docs/ja/managed-settings.md#compute-the-policy-with-a-helper-program)の状態が変化したときに再度、そして `error.type` 属性に列挙されているいずれかの理由で Claude Code が起動を拒否するかセッションを終了したときに記録されます。

1471このイベントを使用して、予期しない管理ソースで実行されているマシン、ポリシーヘルパーが失敗しているマシン、およびマシンが起動を拒否した理由を特定できます。1484このイベントを使用して、予期しない管理ソースで実行されているマシン、ポリシーヘルパーが失敗しているマシン、およびマシンが起動を拒否した理由を見つけられます。

1472Claude Code v2.1.274 以降が必要です。1485Claude Code v2.1.274 以降が必要です。

1473 1486 

1474デフォルトでは、このイベントには管理ソースとポリシーヘルパーの状態が含まれますが、設定自体は含まれません。編集済みの `managed_settings.settings` 属性と `managed_settings.resolved_sha256` ダイジェストを追加するには、`OTEL_LOG_MANAGED_SETTINGS=1` を設定します:1487デフォルトでは、このイベントには管理ソースとポリシーヘルパーの状態が含まれますが、設定そのものは含まれません。秘匿化された `managed_settings.settings` 属性と `managed_settings.resolved_sha256` ダイジェストを追加するには、`OTEL_LOG_MANAGED_SETTINGS=1` を設定します:

1475 1488 

1476* 管理設定、ユーザー設定、または `--settings` の `env` ブロック、あるいは Claude Code を起動する環境で設定してください。プロジェクト設定やローカル設定の値では有効になりません。クローンしたリポジトリがこれらを書き込めるためです。1489* 管理設定、ユーザー設定、または `--settings` の `env` ブロックで設定するか、Claude Code を起動する環境で設定します。プロジェクト設定やローカル設定の値ではオンになりません。クローンしたリポジトリがそれらを書き込める可能性があるためです。

1477* サーバー管理設定では、[セキュリティ承認ダイアログ](https://code.claude.com/docs/ja/server-managed-settings.md#security-approval-dialogs)を表示せずにこれを設定できます。この変数は、組織がすでに受け取っているイベントに、組織自身の編集済みポリシーを追加するだけだからです。1490* サーバー管理設定では、[セキュリティ承認ダイアログ](https://code.claude.com/docs/ja/server-managed-settings.md#security-approval-dialogs)を表示せずにこれを設定できます。この変数は、組織がすでに受け取っているイベントに、組織自身の秘匿化されたポリシーを追加するだけだからです。

1478 1491 

1479[信頼](https://code.claude.com/docs/ja/permissions.md#what-runs-before-you-trust-a-folder)していないフォルダーでの対話型セッションでは、Claude Code は拒否イベントをエクスポートしません。1492[信頼](https://code.claude.com/docs/ja/permissions.md#what-runs-before-you-trust-a-folder)していないフォルダーでの対話型セッションでは、Claude Code は拒否イベントをエクスポートしません。

1480 1493 


1486* `event.name`: `"managed_settings_resolved"`1499* `event.name`: `"managed_settings_resolved"`

1487* `event.timestamp`: ISO 8601 タイムスタンプ1500* `event.timestamp`: ISO 8601 タイムスタンプ

1488* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています1501* `event.sequence`: イベントを順序付けるためのプロセスごとのカウンター。[イベント相関属性](#event-correlation-attributes)で説明しています

1489* `managed_settings.trigger`: セッション開始時のイベントの場合は `"startup"`、セッションの後半で管理設定またはポリシーヘルパーの状態が変化した場合は `"change"`、管理設定ポリシーによってセッションが停止された場合は `"refused"`。Claude Code は、最後に送信したイベントと属性が異なる場合にのみ `change` イベントを送信します。設定値の変更は、`OTEL_LOG_MANAGED_SETTINGS` がオフの場合でもカウントされます1502* `managed_settings.trigger`: セッション開始時のイベントでは `"startup"`、セッションの後半で管理設定またはポリシーヘルパーの状態が変化した場合は `"change"`、管理設定ポリシーによってセッションが停止された場合は `"refused"`。Claude Code は、最後に送信したイベントと属性が異なる場合にのみ `change` イベントを送信します。設定値の変更は、`OTEL_LOG_MANAGED_SETTINGS` がオフの場合でもカウントされます

1490* `error.type`: Claude Code がセッションを停止した理由。`refused` イベントにのみ存在します:1503* `error.type`: Claude Code がセッションを停止した理由。`refused` イベントにのみ存在します:

1491 * `"helper_failed"`: [ポリシーヘルパーの実行が失敗した](https://code.claude.com/docs/ja/settings-reference.md#helper-failures)1504 * `"helper_failed"`: [ポリシーヘルパーの実行が失敗した](https://code.claude.com/docs/ja/settings-reference.md#helper-failures)

1492 * `"policy_invalid"`: 管理設定に Claude Code の起動を妨げるエラーが含まれている、または管理ソースが読み取り拒否以外の理由で読み込みに失敗したため、Claude Code が組織ログインやプロバイダーの強制を確認できない1505 * `"policy_invalid"`: 管理設定に Claude Code の起動を妨げるエラーが含まれているか、読み取り拒否以外の理由で管理ソースの読み込みに失敗したため、Claude Code が組織ログインやプロバイダーの強制を確認できない

1493 * `"provider_not_allowed"`: セッションが、管理設定の [`allowedProviders`](https://code.claude.com/docs/ja/settings-reference#allowedproviders) リストで許可されていない API プロバイダーを使用する、またはプロバイダーのトラフィックを許可されていないホストに送信しようとしている。Claude Code v2.1.285 以降が必要です1506 * `"provider_not_allowed"`: セッションが、管理された [`allowedProviders`](https://code.claude.com/docs/ja/settings-reference#allowedproviders) リストで許可されていない API プロバイダーを使用するか、プロバイダーのトラフィックを許可されていないホストに送信しようとしている。Claude Code v2.1.285 以降が必要です

1494 * `"consent_rejected"`: ユーザーがサーバー管理設定の[セキュリティ承認ダイアログ](https://code.claude.com/docs/ja/server-managed-settings.md#security-approval-dialogs)を拒否した1507 * `"consent_rejected"`: ユーザーがサーバー管理設定の[セキュリティ承認ダイアログ](https://code.claude.com/docs/ja/server-managed-settings.md#security-approval-dialogs)を拒否した

1495 * `"force_refresh_failed"`: [`forceRemoteSettingsRefresh`](https://code.claude.com/docs/ja/settings-reference#forceremotesettingsrefresh) が必要とする設定の取得に失敗した1508 * `"force_refresh_failed"`: [`forceRemoteSettingsRefresh`](https://code.claude.com/docs/ja/settings-reference#forceremotesettingsrefresh) が必要とする設定の取得に失敗した

1496 * `"gateway_rejected"`: [Claude apps ゲートウェイ](https://code.claude.com/docs/ja/claude-apps-gateway)が管理設定の読み込みに HTTP 403 で応答した1509 * `"gateway_rejected"`: [Claude apps ゲートウェイ](https://code.claude.com/docs/ja/claude-apps-gateway)が管理設定の読み込みに HTTP 403 で応答した

1497 * `"version_below_minimum"`: この Claude Code のバージョンが [`requiredMinimumVersion`](https://code.claude.com/docs/ja/settings-reference#requiredminimumversion) を下回っているか、[`requiredMaximumVersion`](https://code.claude.com/docs/ja/settings-reference#requiredmaximumversion) を上回っている1510 * `"version_below_minimum"`: この Claude Code のバージョンが [`requiredMinimumVersion`](https://code.claude.com/docs/ja/settings-reference#requiredminimumversion) を下回っているか、[`requiredMaximumVersion`](https://code.claude.com/docs/ja/settings-reference#requiredmaximumversion) を上回っている

1498 * `"_OTHER"`: Claude apps ゲートウェイの管理設定の読み込みがその他の理由で失敗した1511 * `"_OTHER"`: Claude apps ゲートウェイの管理設定の読み込みが他の理由で失敗した

1499* `managed_settings.sources`: 少なくとも 1 つの[ポリシーキー](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)を提供するすべての管理ソース。優先度の高い順に並び、`first-wins` の下でキーが有効にならないソースも含まれます。値は、MDM または OS レベルのポリシーの場合は `"remote"`、`"plist"`、または `"hklm"`、管理設定ファイルとドロップインの場合は `"file"`、[埋め込みホスト](https://code.claude.com/docs/ja/managed-settings.md#let-an-embedding-host-add-policy)が設定を提供する場合は `"parent"`、Claude Code が [Windows HKCU レジストリ値](https://code.claude.com/docs/ja/managed-settings.md#where-each-mechanism-stores-the-policy)を[読み取る](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)場合は `"hkcu"` です。制御キーのみを含むソースや、Claude Code が読み取れなかったソースは一覧に含まれません。文字列の配列として出力され、ポリシーキーを提供する管理ソースがない場合は空になります1512* `managed_settings.sources`: 少なくとも 1 つの[ポリシーキー](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)を提供するすべての管理ソース。優先度の高い順に並び、`first-wins` のもとでキーが有効にならないソースも含まれます。値は、MDM または OS レベルのポリシーの場合は `"remote"`、`"plist"`、または `"hklm"`、管理設定ファイルとドロップインの場合は `"file"`、[埋め込みホスト](https://code.claude.com/docs/ja/managed-settings.md#let-an-embedding-host-add-policy)が設定を提供する場合は `"parent"`、Claude Code が[読み取る](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)場合の [Windows HKCU レジストリ値](https://code.claude.com/docs/ja/managed-settings.md#where-each-mechanism-stores-the-policy)については `"hkcu"` です。制御キーのみを含むソースや、Claude Code が読み取れなかったソースは一覧に含まれません。文字列の配列として出力され、ポリシーキーを提供する管理ソースがない場合は空になります

1500* `managed_settings.source_behavior`: Claude Code が読み取った [`managedSourcesBehavior`](https://code.claude.com/docs/ja/settings-reference#managedsourcesbehavior) の値で、`"first-wins"` または `"merge"`。どのソースでもこのキーが設定されていない場合は `"first-wins"`1513* `managed_settings.source_behavior`: Claude Code が読み取った [`managedSourcesBehavior`](https://code.claude.com/docs/ja/settings-reference#managedsourcesbehavior) の値。`"first-wins"` または `"merge"`。どのソースもこのキーを設定していない場合は `"first-wins"`

1501* `managed_settings.helper.state`: 選択された MDM またはファイルソースが設定するポリシーヘルパーの状態:1514* `managed_settings.helper.state`: 選択された MDM またはファイルソースが設定するポリシーヘルパーの状態:

1502 * `"ok"`: ヘルパーの出力が管理設定として使用されている1515 * `"ok"`: ヘルパーの出力が管理設定として使用されている

1503 * `"bad_path"`、`"not_a_file"`、`"exit_nonzero"`、`"timed_out"`、`"oversize"`、`"parse_failed"`、`"envelope_invalid"`、または `"schema_rejected"`: ヘルパーの最後の実行が失敗した。各ケースについては[ヘルパーの失敗](https://code.claude.com/docs/ja/settings-reference.md#helper-failures)で説明しています1516 * `"bad_path"`、`"not_a_file"`、`"exit_nonzero"`、`"timed_out"`、`"oversize"`、`"parse_failed"`、`"envelope_invalid"`、または `"schema_rejected"`: ヘルパーの最後の実行が失敗した。各ケースについては[ヘルパーの失敗](https://code.claude.com/docs/ja/settings-reference.md#helper-failures)で説明しています

1504 * `"none"`: ヘルパーが設定されていない、またはヘルパーを設定するソースが MDM ポリシーや管理設定ファイルではない1517 * `"none"`: ヘルパーが設定されていないか、ヘルパーを設定しているソースが MDM ポリシーまたは管理設定ファイルではない

1505* `managed_settings.helper.applied`: ヘルパー自身の出力が管理設定として使用されている間は `"output"`、そうでない場合は `"none"`1518* `managed_settings.helper.applied`: ヘルパー自身の出力が管理設定として使用されている間は `"output"`、そうでない場合は `"none"`

1506* `managed_settings.helper.entry`: Claude Code が [`policyHelper`](https://code.claude.com/docs/ja/settings-reference#policyhelper) を選択した場合は `"policyHelper"`。ヘルパーを選択しなかった場合は存在しません1519* `managed_settings.helper.entry`: Claude Code が [`policyHelper`](https://code.claude.com/docs/ja/settings-reference#policyhelper) を選択した場合は `"policyHelper"`。ヘルパーを選択しなかった場合は存在しません

1507* `managed_settings.helper.path`: ヘルパーに設定された [`path`](https://code.claude.com/docs/ja/settings-reference#policyhelper-path)。Claude Code がヘルパーを選択した場合は、`OTEL_LOG_MANAGED_SETTINGS` が設定されているかどうかにかかわらず常に存在します1520* `managed_settings.helper.path`: ヘルパーに設定された [`path`](https://code.claude.com/docs/ja/settings-reference#policyhelper-path)。`OTEL_LOG_MANAGED_SETTINGS` が設定されているかどうかにかかわらず、Claude Code がヘルパーを選択した場合は常に存在します

1508* `managed_settings.resolved_sha256`(`OTEL_LOG_MANAGED_SETTINGS=1` の場合): 編集前の解決済み管理設定の SHA-256。キーを再帰的にソートし、空白なしの JSON としてシリアル化したものです。同じダイジェストを持つマシンは同じポリシーで実行されています。短いポリシーは推測値をハッシュ化することで復元できてしまうため、Claude Code はオプトインした場合にのみダイジェストを送信します。管理設定が解決されなかった場合、および `refused` イベントでは存在しません1521* `managed_settings.resolved_sha256`(`OTEL_LOG_MANAGED_SETTINGS=1` の場合): 秘匿化前の解決済み管理設定の SHA-256。キーを再帰的にソートし、空白を含まない JSON としてシリアル化したものです。同じダイジェストを持つマシンは同じポリシーで実行されています。短いポリシーは推測値のハッシュ化によって復元できるため、Claude Code はオプトインの場合にのみダイジェストを送信します。管理設定が解決されなかった場合、および `refused` イベントでは存在しません

1509* `managed_settings.settings`(`OTEL_LOG_MANAGED_SETTINGS=1` の場合): 解決済み管理設定の名前と構造を、値を編集した JSON 文字列として表したもの。`refused` イベントでは存在しません。Claude Code は設定スキーマに基づいてこれを構築します:1522* `managed_settings.settings`(`OTEL_LOG_MANAGED_SETTINGS=1` の場合): 解決済み管理設定の名前と構造を、値を秘匿化した JSON 文字列として表したもの。`refused` イベントには存在しません。Claude Code は設定スキーマからこれを構築します:

1510 1523 

1511 * スキーマで宣言されている設定名はエクスポートされ、宣言されていないキーは除外されます1524 * スキーマが宣言している設定名はエクスポートされ、宣言していないキーは除外されます

1512 * ブール値、数値、およびスキーマが固定の選択肢に制限している文字列値(`permissions.defaultMode` など)はそのままエクスポートされます。`sandbox.network.httpProxyPort` と `sandbox.network.socksProxyPort` は `"[REDACTED]"` としてエクスポートされます1525 * ブール値、数値、および `permissions.defaultMode` のようにスキーマが固定の選択肢に制限している文字列値は、そのままエクスポートされます。`sandbox.network.httpProxyPort` と `sandbox.network.socksProxyPort` は `"[REDACTED]"` としてエクスポートされます

1513 * `model`、`apiKeyHelper`、すべての `env` の値、すべての URL、すべてのコマンドなど、その他のすべての文字列は `"[REDACTED]"` としてエクスポートされます1526 * `model`、`apiKeyHelper`、すべての `env` の値、すべての URL、すべてのコマンドなど、その他のすべての文字列は `"[REDACTED]"` としてエクスポートされます

1514 * `env` の変数名やプラグイン ID など、マップのエントリ名はそのままエクスポートされます。`vimInsertModeRemaps` など、スキーマがエントリの型を定義していない設定は単一の `"[REDACTED]"` としてエクスポートされ、`sandbox.ignoreViolations` はコマンドパターンを除いたパスリストのリストとしてエクスポートされます1527 * `env` の変数名やプラグイン ID などのマップのエントリ名は、そのままエクスポートされます。`vimInsertModeRemaps` のようにスキーマがエントリの型を定義していない設定は単一の `"[REDACTED]"` としてエクスポートされ、`sandbox.ignoreViolations` はコマンドパターンを除いたパスリストのリストとしてエクスポートされます

1515 * リストは長さを保持し、各エントリは同じルールで編集されます1528 * リストは長さを保持し、各エントリは同じルールで秘匿化されます

1516 * `permissions.allow`、`permissions.deny`、または `permissions.ask` のルールは、ツールがこのバージョンの Claude Code に組み込まれている場合、または `mcp__jira__create_issue` のような `mcp__` 参照である場合、`Read([REDACTED])` のように内容を編集したツール名としてエクスポートされます。その他のルールは `"[REDACTED]"` としてエクスポートされます1529 * `permissions.allow`、`permissions.deny`、または `permissions.ask` のルールは、ツールがこのバージョンの Claude Code に組み込まれている場合、または `mcp__jira__create_issue` のような `mcp__` 参照である場合、`Read([REDACTED])` のように内容を秘匿化したツール名としてエクスポートされます。その他のルールは `"[REDACTED]"` としてエクスポートされます

1517 * フックも同じルールに従うため、`type` や `timeout` などの固定選択肢のフィールドや数値フィールドは表示されますが、各コマンド、URL、`matcher`、`if` 条件は `"[REDACTED]"` としてエクスポートされます1530 * フックも同じルールに従うため、`type` や `timeout` などの固定選択肢のフィールドや数値フィールドは表示され、各コマンド、URL、`matcher`、`if` 条件は `"[REDACTED]"` としてエクスポートされます

1518 1531 

1519 たとえば、`apiKeyHelper`、2 つの `env` 変数、および拒否ルールを含む管理設定は、`{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}` としてエクスポートされます。1532 たとえば、`apiKeyHelper`、2 つの `env` 変数、1 つの拒否ルールを含む管理設定は、`{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}` としてエクスポートされます。

1520 1533 

1521 Claude Code は値を UTF-8 で 8 KB に切り詰め、切り詰められた値は有効な JSON ではありません1534 Claude Code は値を UTF-8 で 8 KB に切り詰め、切り詰められた値は有効な JSON ではありません

1522* `managed_settings.settings_truncated`(`managed_settings.settings` が存在する場合): Claude Code が `managed_settings.settings` を 8 KB で切り詰めた場合は `true`、それ以外の場合は `false`。文字列ではなくブール値として出力されます1535* `managed_settings.settings_truncated`(`managed_settings.settings` が存在する場合): Claude Code が `managed_settings.settings` を 8 KB で切り詰めた場合は `true`、それ以外の場合は `false`。文字列ではなくブール値として出力されます

Details

240 240 

2412 つの Datadog インテークホストはオプションの運用テレメトリのみを実行し、[`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ja/env-vars) を設定するとその両方が無効になります。サードパーティプロバイダーのセッションは、プラットフォームが [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/ja/env-vars) を設定し、テレメトリメトリクスがデフォルトでオンになっている場合でも、これらのホストに送信されません。Claude Code が送信するすべてのもの、およびホワイトリストを最終化する前にそれを無効にする方法については、[テレメトリサービス](https://code.claude.com/docs/ja/data-usage.md#telemetry-services)を参照してください。2412 つの Datadog インテークホストはオプションの運用テレメトリのみを実行し、[`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ja/env-vars) を設定するとその両方が無効になります。サードパーティプロバイダーのセッションは、プラットフォームが [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/ja/env-vars) を設定し、テレメトリメトリクスがデフォルトでオンになっている場合でも、これらのホストに送信されません。Claude Code が送信するすべてのもの、およびホワイトリストを最終化する前にそれを無効にする方法については、[テレメトリサービス](https://code.claude.com/docs/ja/data-usage.md#telemetry-services)を参照してください。

242 242 

243### クラウドプロバイダーと LLM ゲートウェイのルーティング

244 

243[Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md)、[Google Cloud の Agent Platform](https://code.claude.com/docs/ja/google-vertex-ai.md)、[Microsoft Foundry](https://code.claude.com/docs/ja/microsoft-foundry.md)、またはサインイン済みの [Claude apps gateway](https://code.claude.com/docs/ja/claude-apps-gateway) セッションを使用する場合、モデルトラフィックと認証は `api.anthropic.com`、`claude.ai`、または `platform.claude.com` ではなく、プロバイダーまたはゲートウェイに送信されます。WebFetch ツールは、[設定](https://code.claude.com/docs/ja/settings.md)で `skipWebFetchPreflight: true` を設定しない限り、[ドメイン安全性チェック](https://code.claude.com/docs/ja/data-usage.md#webfetch-domain-safety-check)のために `api.anthropic.com` を呼び出します。245[Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md)、[Google Cloud の Agent Platform](https://code.claude.com/docs/ja/google-vertex-ai.md)、[Microsoft Foundry](https://code.claude.com/docs/ja/microsoft-foundry.md)、またはサインイン済みの [Claude apps gateway](https://code.claude.com/docs/ja/claude-apps-gateway) セッションを使用する場合、モデルトラフィックと認証は `api.anthropic.com`、`claude.ai`、または `platform.claude.com` ではなく、プロバイダーまたはゲートウェイに送信されます。WebFetch ツールは、[設定](https://code.claude.com/docs/ja/settings.md)で `skipWebFetchPreflight: true` を設定しない限り、[ドメイン安全性チェック](https://code.claude.com/docs/ja/data-usage.md#webfetch-domain-safety-check)のために `api.anthropic.com` を呼び出します。

244 246 

245[`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ja/llm-gateway-connect#set-the-base-url-and-credential) を使用して [LLM ゲートウェイ](https://code.claude.com/docs/ja/llm-gateway)を経由してルーティングする場合、[高速モード](https://code.claude.com/docs/ja/fast-mode.md)の可用性チェックはゲートウェイベース URL ではなく `api.anthropic.com` を呼び出します。チェックは設定された HTTP プロキシを尊重するため、ネットワークブロックが原因の場合、プロキシ内の `api.anthropic.com` のホワイトリストエントリが修正です。ネットワークブロックはホストがプロキシを通じても到達不可能な場合にのみチェックに失敗し、高速モードは接続エラーを報告します。チェックがゲートウェイ発行の認証情報を提示し、Anthropic がそれを拒否する場合も同じ接続エラーが表示されます。ホワイトリストはそこでは役に立ちません。何もブロックされていないためです。[プロキシと LLM ゲートウェイの背後で高速モードを使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照して、それを復元する変数を確認してください。247開発者が [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ja/llm-gateway-connect#set-the-base-url-and-credential) で設定した [LLM ゲートウェイ](https://code.claude.com/docs/ja/llm-gateway)の背後で [fast mode](https://code.claude.com/docs/ja/fast-mode.md) を使用する場合は、プロキシ経由で `api.anthropic.com` に到達できる状態を維持してください。Claude Code が fast mode の可用性チェックを送信する場合、そのチェックは設定済みの HTTP プロキシを経由してこのホストに送られ、ゲートウェイには決して送られません。チェックが送信されないケースと、各ケースで fast mode を復元する変数については、[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください。

246 248 

247### 組織 IP ホワイトリストとプロキシ出力249### 組織 IP ホワイトリストとプロキシ出力

248 250 

Details

106 106 

107フックモジュール内のコードのネストが深すぎるか、インポートの連鎖が長すぎるため、Claude Code がそれを読み込めません。行は mod の名前と `hooks module did not load:` で始まり、ファイルの名前とこの理由が続きます。107フックモジュール内のコードのネストが深すぎるか、インポートの連鎖が長すぎるため、Claude Code がそれを読み込めません。行は mod の名前と `hooks module did not load:` で始まり、ファイルの名前とこの理由が続きます。

108 108 

109そのファイルと、そのインポートを通じて到達するファイルの中から最も深くネストしている部分を探してネストが浅くなるように書き直すか、インポートの連鎖を短くします。mod を自分で書いたのではなくインストールした場合は、作成者に対応を依頼してください。109そのファイルと、そのファイルのインポートがたどり着くファイルの中で、最も深くネストされているコードを見つけ、ネストが浅くなるように書き直すか、インポートの連鎖を短くしてください。その mod を自分で作成していない場合は、作成者に修正を依頼してください。

110 110 

111### `the parser stopped` または `the engine ran out of stack loading the file`111### `the parser stopped` または `the engine ran out of stack loading the file`

112 112 

routines.md +20 −2

Details

25* API トリガーのみを持つタスクは、そのエンドポイントを呼び出したときに実行されます。25* API トリガーのみを持つタスクは、そのエンドポイントを呼び出したときに実行されます。

26* GitHub トリガーのみを持つタスクは、一致するリポジトリイベントが発生したときに実行されます。26* GitHub トリガーのみを持つタスクは、一致するリポジトリイベントが発生したときに実行されます。

27 27 

28スケジュールタスクは Pro、Max、Team、Enterprise プランで利用できます。[claude.ai/code/routines](https://claude.ai/code/routines) で作成・管理するか、CLI で `/schedule` を使用します。以前の名前であるルーティンは、Web アドレス、CLI、API に[引き続き表示されます](#where-the-name-routines-still-appears)。28スケジュールタスクは Pro、Max、Team、Enterprise プランで利用できます。[claude.ai/code/routines](https://claude.ai/code/routines) で作成・管理するか、CLI で `/schedule` を使用します。以前の名前であるルーティンは[引き続き表示されます](#where-the-name-routines-still-appears)。

29 29 

30> [!NOTE]30> [!NOTE]

31>31>


66 66 

67**1. 作成ダイアログを開く**67**1. 作成ダイアログを開く**

68 68 

69[claude.ai/code/routines](https://claude.ai/code/routines) にアクセスし、**New task** をクリックします。先にメニューが開いた場合は、**Set up manually** を選択します。**New scheduled task** ダイアログが開きます。メニューのもう 1 つのオプションである **Create with Claude** を選ぶと、チャットでタスクを説明し、Claude に作成させることができます。69[claude.ai/code/routines](https://claude.ai/code/routines) にアクセスし、**New task** をクリックして **New scheduled task** ダイアログを開きます。先に進む前に、次の画面が表示されていないか確認してください。

70 

71* ボタンが **New task** ではなく **New routine** と表示されている場合は、**New routine** をクリックし、[全画面フォーム](#full-page-form)に進みます。

72* Desktop アプリで **Local** と **Cloud** のメニューが開いた場合は、[全画面フォーム](#full-page-form)に進みます。

73* **Create with Claude** と **Set up manually** のメニューが開いた場合は、**Set up manually** を選択してダイアログを開きます。**Create with Claude** を選ぶと、代わりにチャットでタスクを説明し、Claude に作成させることができます。

74* ダイアログの代わりに全画面のページが開いた場合は、[全画面フォーム](#full-page-form)に進みます。

70 75 

71ダイアログを開いた時点で **Repositories** と **Environment** がすでに表示されている場合は、[そのダイアログの違い](#dialog-with-repositories-and-environment-in-the-main-view)を参照してください。それ以外の場合、このダイアログは claude.ai チャット用のスケジュールタスクも作成します。ダイアログで Claude Code タスクと呼ばれるものにするには、以降の手順でリポジトリを選択するか、GitHub イベントまたは API トリガーを追加します。この種類のタスクは、クラウドセッションで Claude Code を実行します。76ダイアログを開いた時点で **Repositories** と **Environment** がすでに表示されている場合は、[そのダイアログの違い](#dialog-with-repositories-and-environment-in-the-main-view)を参照してください。それ以外の場合、このダイアログは claude.ai チャット用のスケジュールタスクも作成します。ダイアログで Claude Code タスクと呼ばれるものにするには、以降の手順でリポジトリを選択するか、GitHub イベントまたは API トリガーを追加します。この種類のタスクは、クラウドセッションで Claude Code を実行します。

72 77 


126 131 

127GitHub イベントトリガーを追加する前にリポジトリを選択してください。リポジトリを選択するまで、そのトリガーは使用できません。132GitHub イベントトリガーを追加する前にリポジトリを選択してください。リポジトリを選択するまで、そのトリガーは使用できません。

128 133 

134#### 全画面フォーム

135 

136Desktop アプリで **Local** と **Cloud** のメニューが開いた場合は、**Cloud** を選択します。**New routine** または **New scheduled task** というタイトルのページが開きます。各フィールドに入力します。

137 

138* **Name**: 名前を入力します。

139* **Instructions**: プロンプトを入力します。同じボックスで、モデル、リポジトリ、環境を選択します。それぞれが制御する内容については、[Web から作成する](#create-from-the-web)の手順を参照してください。

140* **Select a trigger**: **Schedule**、**GitHub event**、**API** のいずれかを選択します。スケジュールについては、[スケジュールトリガーを追加する](#add-a-schedule-trigger)を参照してください。[GitHub イベント](#add-a-github-trigger)の場合は、リポジトリを選択します。[API トリガー](#add-an-api-trigger)の場合は、**Create** をクリックした後に開く **API token** ダイアログからトークンをコピーしてください。トークンは 1 回だけ表示されます。複数のトリガーを組み合わせるには、**Add another trigger** をクリックします。

141* **Connectors**: 接続済みのすべてのコネクタがデフォルトで含まれているため、タスクに不要なものは削除してください。

142 

143**Create** が使用できない場合は、その上にカーソルを合わせると、フォームにまだ必要な項目が表示されます。**Create** をクリックすると、タスクの詳細ページが開きます。

144 

129### CLI から作成する145### CLI から作成する

130 146 

131任意のセッションで `/schedule` を実行すると、会話形式でスケジュールタスクを作成できます。説明を直接渡すこともできます。定期タスクなら `/schedule daily PR review at 9am`、1 回限りなら `/schedule clean up feature flag in one week` のように指定します。Claude は Web ダイアログが収集するのと同じ情報を順に確認し、タスクをアカウントに保存します。このコマンドは `/routines` というエイリアスでも利用できます。147任意のセッションで `/schedule` を実行すると、会話形式でスケジュールタスクを作成できます。説明を直接渡すこともできます。定期タスクなら `/schedule daily PR review at 9am`、1 回限りなら `/schedule clean up feature flag in one week` のように指定します。Claude は Web ダイアログが収集するのと同じ情報を順に確認し、タスクをアカウントに保存します。このコマンドは `/routines` というエイリアスでも利用できます。


152* **正時の実行**: 9:00 のように正時ちょうどに実行をスケジュールすると、数分遅れて開始される場合があります。スケジュールした時刻に近いタイミングで開始するには、9:07 のように正時から数分ずらした時刻を選択してください。168* **正時の実行**: 9:00 のように正時ちょうどに実行をスケジュールすると、数分遅れて開始される場合があります。スケジュールした時刻に近いタイミングで開始するには、9:07 のように正時から数分ずらした時刻を選択してください。

153* **カスタム間隔**: プリセットにないペースの場合は、タスクを作成してから、その[編集ダイアログ](#edit-and-control-scheduled-tasks)で **Custom** を選択します。次に、2 時間ごとを表す `0 */2 * * *` などの cron 式を入力します。CLI から設定するには、[`/schedule update`](#manage-scheduled-tasks-from-the-cli) を実行します。1 時間に 1 回より頻繁に実行される式は拒否されます。169* **カスタム間隔**: プリセットにないペースの場合は、タスクを作成してから、その[編集ダイアログ](#edit-and-control-scheduled-tasks)で **Custom** を選択します。次に、2 時間ごとを表す `0 */2 * * *` などの cron 式を入力します。CLI から設定するには、[`/schedule update`](#manage-scheduled-tasks-from-the-cli) を実行します。1 時間に 1 回より頻繁に実行される式は拒否されます。

154* **タイムゾーン**: プリセット頻度を選択する場合は、時刻をローカルのタイムゾーンで入力します。170* **タイムゾーン**: プリセット頻度を選択する場合は、時刻をローカルのタイムゾーンで入力します。

171* **cron 式のタイムゾーン**: 式が 5 つのフィールドだけで構成されている場合は、時刻を UTC で記述します。たとえば `0 9 * * 1-5` は平日の UTC 午前 9:00 に実行されます。フィールドが `CRON_TZ=` プレフィックスで始まる場合は、それを残してそのタイムゾーンで時刻を記述するか、プレフィックスを削除して UTC で記述します。

155 172 

156#### 1 回限りの実行をスケジュールする173#### 1 回限りの実行をスケジュールする

157 174 


455 472 

456スケジュールタスクは以前ルーティンと呼ばれており、以下の場所では以前の名前が残っています。いずれも同じ機能を指します。473スケジュールタスクは以前ルーティンと呼ばれており、以下の場所では以前の名前が残っています。いずれも同じ機能を指します。

457 474 

475* **アプリ**: 一部のアカウントでは、サイドバーの項目とページタイトルが **Routines**、ボタンが **New routine** と表示され、その他のラベルでも routine と表記されています。そこからタスクを作成するには、[フルページフォーム](#full-page-form)を参照してください。

458* **Web アドレス**: `claude.ai/code/routines`476* **Web アドレス**: `claude.ai/code/routines`

459* **CLI**: `/schedule` のエイリアス `/routines`、コマンドの説明、タスクのセットアップ中の Claude の返答477* **CLI**: `/schedule` のエイリアス `/routines`、コマンドの説明、タスクのセットアップ中の Claude の返答

460* **API**: `/fire` エンドポイントのパス、そのベータヘッダー、レスポンスの `type`、`<routine-fire-payload>` タグ、および [API 経由でルーティンをトリガーする](https://platform.claude.com/docs/en/api/claude-code/routines-fire)リファレンスページ478* **API**: `/fire` エンドポイントのパス、そのベータヘッダー、レスポンスの `type`、`<routine-fire-payload>` タグ、および [API 経由でルーティンをトリガーする](https://platform.claude.com/docs/en/api/claude-code/routines-fire)リファレンスページ

sandboxing.md +13 −1

Details

537 537 

538* **作業ディレクトリとその上位のディレクトリ**: `.claude` 設定ファイル、`.claude/skills`、`.claude/agents`、`.claude/commands`、`.claude/hooks` ディレクトリ、`.mcp.json`、および `.claude/workflows` や `.claude/scheduled_tasks.json` など Claude Code が自ら実行するファイル538* **作業ディレクトリとその上位のディレクトリ**: `.claude` 設定ファイル、`.claude/skills`、`.claude/agents`、`.claude/commands`、`.claude/hooks` ディレクトリ、`.mcp.json`、および `.claude/workflows` や `.claude/scheduled_tasks.json` など Claude Code が自ら実行するファイル

539* **作業ディレクトリのみ**: `.bashrc` や `.zshrc` などのシェル起動ファイル、`.gitconfig`、`.vscode` および `.idea` ディレクトリ、`.git` 内の `hooks` と `config`539* **作業ディレクトリのみ**: `.bashrc` や `.zshrc` などのシェル起動ファイル、`.gitconfig`、`.vscode` および `.idea` ディレクトリ、`.git` 内の `hooks` と `config`

540* **作業ディレクトリをベア git リポジトリに変えてしまうファイル**: 最上位の `HEAD`、`objects`、`refs`、および `HEAD` が隣にある場合の既存の `config` と `hooks` エントリ。`config` という名前のファイルは、`HEAD` がなくても拒否されます。Linux と WSL2 では、サンドボックス化されたコマンドの実行中に最上位の `HEAD` ファイルや `objects` または `refs` ディレクトリが出現すると、サンドボックスがそれを削除します540* **作業ディレクトリをベア git リポジトリに変えてしまうファイル**: 最上位の `HEAD`、`objects`、`refs`、および `HEAD` ファイルまたはシンボリックリンクが隣にある場合の既存の `config` と `hooks` エントリ。`config` という名前のファイルは、`HEAD` がなくても拒否されます。[後から出現した `HEAD`、`objects`、`refs` は削除されることがあります](#when-the-sandbox-deletes-head-objects-or-refs)。Linux と WSL2 では、存在しない場合にサンドボックス化されたコマンドがそれらを作成できます。

541* **`~/.claude`、または `CLAUDE_CONFIG_DIR` が指すディレクトリ内**: その内容の大部分、および `~/.claude.json` と `.credentials.json` 認証情報ストア541* **`~/.claude`、または `CLAUDE_CONFIG_DIR` が指すディレクトリ内**: その内容の大部分、および `~/.claude.json` と `.credentials.json` 認証情報ストア

542 542 

543セッション中に保護された設定ファイルのパスにシンボリックリンクが出現した場合、サンドボックスは次のコマンドから、そのリンク先のファイルへの書き込みも拒否します。543セッション中に保護された設定ファイルのパスにシンボリックリンクが出現した場合、サンドボックスは次のコマンドから、そのリンク先のファイルへの書き込みも拒否します。


552 552 

553これらのパスのいずれかで `git merge` または `git checkout` が `unable to unlink old` で失敗する場合は、[git コマンドが `unable to unlink old` で失敗する](#a-git-command-fails-with-unable-to-unlink-old)を参照してください。553これらのパスのいずれかで `git merge` または `git checkout` が `unable to unlink old` で失敗する場合は、[git コマンドが `unable to unlink old` で失敗する](#a-git-command-fails-with-unable-to-unlink-old)を参照してください。

554 554 

555#### サンドボックスが `HEAD`、`objects`、`refs` を削除する場合

556 

557サンドボックス化されたコマンドが終了した後、作業ディレクトリ内の新しい最上位の `HEAD`、`objects`、`refs` エントリは、内容のあるフォルダーでない限り削除されます。「新しい」とは、サンドボックスが最後に設定を構築した時点(セッション開始時、または [`/cd`](https://code.claude.com/docs/ja/commands) などの変更後)にそのエントリが存在しなかったことを意味します。

558 

559内容のある新しい `objects` または `refs` フォルダーも、サンドボックスが最後に設定を構築した時点で `HEAD` ファイルまたはシンボリックリンクが存在していた場合は、その内容ごと削除されます。フォルダーを保持するには、[コマンドの実行後に `objects` または `refs` という名前のフォルダーが消える](#a-folder-named-objects-or-refs-disappears-after-a-command)を参照してください。

560 

555#### シンボリックリンクを経由する拒否パス561#### シンボリックリンクを経由する拒否パス

556 562 

557macOS では、拒否されたパスがシンボリックリンクを経由する場合(dotfiles リポジトリへのリンクである `~/.claude` など)、サンドボックスはそのパスの実際の場所も拒否します。これは、サンドボックス自体による拒否と、ユーザーがリテラルで記述した `denyWrite` および `denyRead` エントリに適用されます。563macOS では、拒否されたパスがシンボリックリンクを経由する場合(dotfiles リポジトリへのリンクである `~/.claude` など)、サンドボックスはそのパスの実際の場所も拒否します。これは、サンドボックス自体による拒否と、ユーザーがリテラルで記述した `denyWrite` および `denyRead` エントリに適用されます。


881 887 

882失敗後、Claude は[コマンドをサンドボックス外で再実行することを提案](#the-unsandboxed-retry-escape-hatch)する場合があります。その再試行を承認するか、別のターミナルで git コマンドを自分で実行してください。`allowUnsandboxedCommands` を `false` に設定している場合、Claude は再試行を提案できないため、コマンドを自分で実行してください。888失敗後、Claude は[コマンドをサンドボックス外で再実行することを提案](#the-unsandboxed-retry-escape-hatch)する場合があります。その再試行を承認するか、別のターミナルで git コマンドを自分で実行してください。`allowUnsandboxedCommands` を `false` に設定している場合、Claude は再試行を提案できないため、コマンドを自分で実行してください。

883 889 

890### `objects` または `refs` という名前のフォルダがコマンドの後に消える

891 

892セッション中に現れたトップレベルの `objects` または `refs` フォルダは、[サンドボックス化されたコマンドの終了後に削除される](#when-the-sandbox-deletes-head-objects-or-refs)ことがあります。コマンド、Claude、ユーザーのいずれが作成したかは関係ありません。フォルダを残すには、その中に何かを置いておいてください。セッション中に `HEAD` ファイルまたはシンボリックリンクがトップレベルに存在していた場合は、それを別の場所に移動してから、そこで開いているすべての Claude Code セッションを再起動してください。

893 

894v2.1.307 より前では、フォルダに何かが入っていて `HEAD` がなくても、フォルダは削除されていました。以前のバージョンを使用している場合は、[Claude Code を更新](https://code.claude.com/docs/ja/setup.md#update-claude-code)してください。

895 

884### Bubblewrap がコンテナ内で起動に失敗する896### Bubblewrap がコンテナ内で起動に失敗する

885 897 

886非特権コンテナでは、[bubblewrap](#os-level-enforcement) は新しい `/proc` ファイルシステムをマウントできないため、サンドボックス化されたコマンドは `bwrap` エラー(`Can't mount proc on /newroot/proc: Operation not permitted` など)で失敗します。[`enableWeakerNestedSandbox`](https://code.claude.com/docs/ja/settings-reference#sandbox-enableweakernestedsandbox) を `true` に設定して、サンドボックスが代わりにコンテナの既存の `/proc` をバインドマウントするようにしてください。この設定は、外部コンテナが既に必要な分離境界を提供する場合にのみ使用してください。新しい `/proc` マウントであれば隠されるプロセス情報を、この設定はサンドボックス化されたコマンドに公開するためです。898非特権コンテナでは、[bubblewrap](#os-level-enforcement) は新しい `/proc` ファイルシステムをマウントできないため、サンドボックス化されたコマンドは `bwrap` エラー(`Can't mount proc on /newroot/proc: Operation not permitted` など)で失敗します。[`enableWeakerNestedSandbox`](https://code.claude.com/docs/ja/settings-reference#sandbox-enableweakernestedsandbox) を `true` に設定して、サンドボックスが代わりにコンテナの既存の `/proc` をバインドマウントするようにしてください。この設定は、外部コンテナが既に必要な分離境界を提供する場合にのみ使用してください。新しい `/proc` マウントであれば隠されるプロセス情報を、この設定はサンドボックス化されたコマンドに公開するためです。

Details

16 16 

17チームがクラウドセッションを使用していない場合、ここで設定することはありません。ターミナルまたは IDE のセッションは常に開発者自身のマシンで実行されます。Claude Code を常時稼働しているマシンで実行し、他のデバイスから駆動したい場合は、[リモートコントロール](https://code.claude.com/docs/ja/remote-control.md)を使用してください。これは Pro および Max プランでも利用可能です。セットアップの準備ができたら、[クイックスタート](https://code.claude.com/docs/ja/self-hosted-environments-quickstart.md)に直接進んでください。セキュリティ体制を最初に確認したい場合は、[本番環境へのデプロイ](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md)から始めてください。このページの残りの部分では、自己ホスティングの仕組みと、それを選択する時期について説明します。17チームがクラウドセッションを使用していない場合、ここで設定することはありません。ターミナルまたは IDE のセッションは常に開発者自身のマシンで実行されます。Claude Code を常時稼働しているマシンで実行し、他のデバイスから駆動したい場合は、[リモートコントロール](https://code.claude.com/docs/ja/remote-control.md)を使用してください。これは Pro および Max プランでも利用可能です。セットアップの準備ができたら、[クイックスタート](https://code.claude.com/docs/ja/self-hosted-environments-quickstart.md)に直接進んでください。セキュリティ体制を最初に確認したい場合は、[本番環境へのデプロイ](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md)から始めてください。このページの残りの部分では、自己ホスティングの仕組みと、それを選択する時期について説明します。

18 18 

19## 自己ホスト環境の仕組み19## セルフホスト環境の仕組み

20 20 

21自己ホスティングには 3 つの部分があります。21セルフホストは 3 つの要素で構成されます。

22 22 

23* **環境**: クラウドセッションを送信できる名前付きの宛先。組織は claude.ai 管理設定で環境を作成し、各環境はランナーのセットをグループ化します。23* **環境**: クラウドセッションの送信先となる名前付きの宛先です。組織は claude.ai の管理設定で環境を作成し、各環境は一連のランナーをまとめます。

24* **ランナー**: ネットワーク内のホストで実行されるプログラム。ランナーはセッションを実行します。概念は自己ホスト CI ランナーと同じです。24* **ランナー**: ネットワーク内のホスト上で動作するプログラムです。ランナーがセッションを実行します。考え方はセルフホスト型 CI ランナーと同じです。

25* **セッション**: 開発者が開始した 1 つの Claude Code タスク。25* **セッション**: 開発者が開始した 1 つの Claude Code タスクです。

26 26 

27開発者がクラウドセッションを開始すると、セッション開始 UI に環境ピッカーが表示され、Anthropic ホスト環境と組織が作成した環境が一覧表示されます。組織の環境を選択すると、Anthropic のコントロールプレーンはセッションを環境のキューに配置し、ランナーがそれを要求し、開発者が選択したリポジトリをクローンし、ホストで Claude Code プロセスを開始して実行します。ランナーは設定した認証情報を使用して git ホストに認証します。[git の設定](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#configure-git)では、オプションについて説明しています。セッションはネットワーク内からの内部サービスに到達し、内部の場合は同じ方法で git ホストに到達します。Anthropic へのトラフィック(キューポーリング、セッションのイベントストリーム、およびデフォルトではモデル推論)は、`api.anthropic.com` への送信 HTTPS であり、セッションが到達できるその他のホストの短いリストは[ネットワーク要件](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#network-requirements)にあります。Anthropic はネットワークに接続することはありません。27開発者がクラウドセッションを開始すると、セッション開始 UI に環境ピッカーが表示され、Anthropic がホストする環境と、組織が作成した環境が並んで表示されます。開発者が自社の環境を選択すると、Anthropic のコントロールプレーンがそのセッションを環境のキューに配置します。そこでランナーがセッションを取得し、開発者が選択したリポジトリをクローンして、ホスト上で Claude Code プロセスを起動してセッションを実行します。ランナーは、設定された認証情報を使用して Git ホストに認証します。選択肢については [Git を設定する](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#configure-git)で説明しています。セッションはネットワーク内部から社内サービスにアクセスし、Git ホストが社内にある場合は Git ホストにも同様にアクセスします。Anthropic への通信(キューのポーリング、セッションのイベントストリーム、およびデフォルトではモデル推論)は `api.anthropic.com` へのアウトバウンド HTTPS であり、セッションがアクセスできるその他の少数のホストについては[ネットワーク要件](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#network-requirements)に記載されています。Anthropic がネットワークの外部から内部へ接続することは一切ありません。

28 28 

29![自己ホスト環境のアーキテクチャ図。ネットワーク境界内にはランナー、その内部の 2 つの Claude Code セッションプロセス、および git ホストが含まれており、api.anthropic.com の外側にはキュー、セッションストリーム、および推論があります。ランナーはキューをポーリングして git ホストに到達し、各セッションプロセスは独自のストリーム、推論、および git 接続を開き、すべての接続はネットワークからの送信であり、受信はありません。](https://mintcdn.com/claude-code/Y0sJ2uDoOVbOVZrQ/images/self-hosted-network-paths.svg?fit=max\&auto=format\&n=Y0sJ2uDoOVbOVZrQ\&q=85\&s=8056103fc1c5564c7f0ef219d260b99d)29![セルフホスト環境のアーキテクチャ図:ネットワーク境界の内側にはランナー、その中の 2 つの Claude Code セッションプロセス、および Git ホストがあり、外側の api.anthropic.com にはキュー、セッションストリーム、推論があります。ランナーはキューをポーリングして Git ホストにアクセスし、各セッションプロセスはそれぞれ独自のストリーム、推論、Git の接続を開きます。すべての接続はネットワークからのアウトバウンドであり、インバウンドの接続はありません。](https://mintcdn.com/claude-code/Y0sJ2uDoOVbOVZrQ/images/self-hosted-network-paths.svg?fit=max\&auto=format\&n=Y0sJ2uDoOVbOVZrQ\&q=85\&s=8056103fc1c5564c7f0ef219d260b99d)

30 30 

31図の 2 つの Claude Code ボックスはセッションプロセスです。1 つのランナーが最大で設定容量まで 2 つのセッションを同時に実行しています。ランナーは一度に 1 つの[オーナー](#key-concepts)に対応し、最初のセッションを要求するときにそのオーナーにロックされるため、チェックアウトされたコードはオーナー間で混在しません。[ランナーのライフサイクル](#runner-lifecycle)では、このルールについて説明しています。31図中の 2 つの Claude Code ボックスはセッションプロセスです。1 つのランナーが、設定された容量の上限まで、2 つのセッションを同時に実行しています。ランナーは一度に 1 つの[オーナー](#key-concepts)にのみ対応し、最初のセッションを取得した時点でそのオーナーに固定されるため、チェックアウトされたコードがオーナー間で混在することはありません。このルールについては[ランナーのライフサイクル](#runner-lifecycle)で説明しています。

32 32 

33ランナーを自分で開始して実行し続けるか、ホストする[オートスケーリングオーケストレーター](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#on-demand-runners)(セッションがキューに入るときにランナーを開始する 2 番目のプロセス)を実行できます。各ランナーは作業が完了すると自動的に終了します。どちらの方法でも、環境を一度セットアップすると、サポートされているすべてのサーフェスのピッカーに表示されます。33ランナーを自分で起動して稼働させ続けることも、[オートスケーリングオーケストレーター](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#on-demand-runners)を実行することもできます。オーケストレーターは自社でホストする別のプロセスで、セッションがキューに入るとランナーを起動します。いずれの場合も、環境の設定は一度だけで済み、サポートされているすべてのサーフェスのピッカーに表示されます。

34 34 

35## 利用可能性と制限事項35## 利用可能性と制限事項

36 36 


122 122 

123企業のエグレスプロキシもサポートされています。ランナーとオプションの[オートスケーリングオーケストレーター](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#on-demand-runners)は、`HTTPS_PROXY` や `NO_PROXY` など、[ネットワーク設定](https://code.claude.com/docs/ja/network-config.md)で説明されているプロキシおよび mTLS の環境変数に従います。これらは各プロセスの環境で設定してください。これらの変数は、コントロールプレーンへの呼び出し、オーケストレーターの [SCM コネクタ](https://code.claude.com/docs/ja/self-hosted-environments-reference.md#scm-connector-flags)の WebSocket、および HTTPS リモートの組み込みクローンに適用され、セッションはランナーからこれらを継承します。セッションのストリーミングは HTTPS 上の server-sent events を使用するため、経路上のプロキシはレスポンスをバッファリングしてはいけません。123企業のエグレスプロキシもサポートされています。ランナーとオプションの[オートスケーリングオーケストレーター](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#on-demand-runners)は、`HTTPS_PROXY` や `NO_PROXY` など、[ネットワーク設定](https://code.claude.com/docs/ja/network-config.md)で説明されているプロキシおよび mTLS の環境変数に従います。これらは各プロセスの環境で設定してください。これらの変数は、コントロールプレーンへの呼び出し、オーケストレーターの [SCM コネクタ](https://code.claude.com/docs/ja/self-hosted-environments-reference.md#scm-connector-flags)の WebSocket、および HTTPS リモートの組み込みクローンに適用され、セッションはランナーからこれらを継承します。セッションのストリーミングは HTTPS 上の server-sent events を使用するため、経路上のプロキシはレスポンスをバッファリングしてはいけません。

124 124 

125プロキシで `Proxy-Authorization` ヘッダーも必要な場合、ランナーはプロキシに対して開く各接続にそのヘッダーを追加できます。[エグレスプロキシへの認証](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy)を参照してください。125* **プロキシ認証**:プロキシで `Proxy-Authorization` ヘッダーも必要な場合、ランナーはプロキシに対して開く各接続にそのヘッダーを追加できます。[エグレスプロキシへの認証](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy)を参照してください。

126* **長時間維持されるレスポンス**:ランナーがセッションを取得したにもかかわらず、Claude が最初のメッセージに一向に応答しない場合、プロキシが原因である可能性があります。[セッションは取得されたが、Claude が最初のメッセージに応答しない](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#when-a-sessions-first-message-is-never-answered)を参照してください。

126 127 

127## インフラストラクチャに保たれるもの128## インフラストラクチャに保たれるもの

128 129 

Details

36| `CLAUDE_CODE_REMOTE_SESSION_UUID` | 正規 UUID 形式の同じセッション ID。UUID をキーとするシステム用です。 |36| `CLAUDE_CODE_REMOTE_SESSION_UUID` | 正規 UUID 形式の同じセッション ID。UUID をキーとするシステム用です。 |

37| `CLAUDE_CODE_REMOTE_SLACK_THREAD_URL` | 1 つの Slack スレッドに属する [Claude Tag](https://claude.com/docs/claude-tag/overview) セッションの場合、そのスレッドへのリンク。他のセッションでは設定されず、スレッドセッションでも設定されない場合があります。 |37| `CLAUDE_CODE_REMOTE_SLACK_THREAD_URL` | 1 つの Slack スレッドに属する [Claude Tag](https://claude.com/docs/claude-tag/overview) セッションの場合、そのスレッドへのリンク。他のセッションでは設定されず、スレッドセッションでも設定されない場合があります。 |

38| `CLAUDE_CODE_REMOTE_SLACK_THREAD_TS` | 1 つの Slack スレッドに属する Claude Tag セッションの場合、そのスレッドの Slack タイムスタンプ(`1700000000.000100` など)。設定されない場合があり、`CLAUDE_CODE_REMOTE_SLACK_THREAD_URL` が設定されていないときに設定される場合もあるため、各変数を個別に確認してください。 |38| `CLAUDE_CODE_REMOTE_SLACK_THREAD_TS` | 1 つの Slack スレッドに属する Claude Tag セッションの場合、そのスレッドの Slack タイムスタンプ(`1700000000.000100` など)。設定されない場合があり、`CLAUDE_CODE_REMOTE_SLACK_THREAD_URL` が設定されていないときに設定される場合もあるため、各変数を個別に確認してください。 |

39| `CLAUDE_CODE_REMOTE_SLACK_CHANNEL_ID` | Claude Tag セッションの場合、セッションが対応する、またはそのスレッドが属する Slack チャンネルまたはダイレクトメッセージの ID(`C0123ABCDE` など)。Slack タイムスタンプは 1 つのチャンネル内のメッセージを識別するため、この ID は `CLAUDE_CODE_REMOTE_SLACK_THREAD_TS` と一緒に記録してください。他のセッションでは設定されず、Claude Tag セッションでも設定されない場合があります。 |

39| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | 現在のセッション JWT を保持する、セッションごとのファイルへの絶対パス。トークン更新全体で最新に保たれます。シェルサブプロセスは、ユーザーがセッションに追加した添付ファイルをダウンロードするときに、その `Authorization` ヘッダーに対して読み取ります。`exec` は変数を自動的に保持します。子の環境を再構築するラッパーは変数を引き継ぐ必要があります。そうしないと、添付ファイルのダウンロードが静かに停止します。 |40| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | 現在のセッション JWT を保持する、セッションごとのファイルへの絶対パス。トークン更新全体で最新に保たれます。シェルサブプロセスは、ユーザーがセッションに追加した添付ファイルをダウンロードするときに、その `Authorization` ヘッダーに対して読み取ります。`exec` は変数を自動的に保持します。子の環境を再構築するラッパーは変数を引き継ぐ必要があります。そうしないと、添付ファイルのダウンロードが静かに停止します。 |

40| `CLAUDE_CONFIG_DIR` | セッションごとの Claude 設定ディレクトリ。ランナーが起動時にキャプチャするランナーホストの設定のスナップショットからセッション開始時に書き込まれます。[権限とツール承認](#permissions-and-tool-approval) を参照してください。このディレクトリへの書き込みはこのセッションに分離されます。ディレクトリはセッション終了後、ランナーを [`--remove-session-state`](https://code.claude.com/docs/ja/self-hosted-environments-reference#runner-cli-flags) で起動しない限り `<base-dir>/_sessions/` の下に留まります。[事前ウォーミングされたチェックアウトを再利用する](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) を参照してください。 |41| `CLAUDE_CONFIG_DIR` | セッションごとの Claude 設定ディレクトリ。ランナーが起動時にキャプチャするランナーホストの設定のスナップショットからセッション開始時に書き込まれます。[権限とツール承認](#permissions-and-tool-approval) を参照してください。このディレクトリへの書き込みはこのセッションに分離されます。ディレクトリはセッション終了後、ランナーを [`--remove-session-state`](https://code.claude.com/docs/ja/self-hosted-environments-reference#runner-cli-flags) で起動しない限り `<base-dir>/_sessions/` の下に留まります。[事前ウォーミングされたチェックアウトを再利用する](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) を参照してください。 |

41| `CLAUDE_CODE_REMOTE_MCP_CONFIG` | Anthropic のコントロールプレーンがこのセッション用に配信した MCP サーバー定義を保持する、`CLAUDE_CONFIG_DIR` 内のファイルへのパス。ラッパーが子の環境を再構築する場合は、この変数を引き継いでください。この変数がないと、コントロールプレーンが配信するサーバーを更新したときに、ラッパーが [`--mcp-config`](https://code.claude.com/docs/ja/cli-reference#cli-flags) で追加した stdio、HTTP、SSE サーバーのうち更新に含まれないものを子がシャットダウンします。Claude Code v2.1.299 以降が必要です。 |42| `CLAUDE_CODE_REMOTE_MCP_CONFIG` | Anthropic のコントロールプレーンがこのセッション用に配信した MCP サーバー定義を保持する、`CLAUDE_CONFIG_DIR` 内のファイルへのパス。ラッパーが子の環境を再構築する場合は、この変数を引き継いでください。この変数がないと、コントロールプレーンが配信するサーバーを更新したときに、ラッパーが [`--mcp-config`](https://code.claude.com/docs/ja/cli-reference#cli-flags) で追加した stdio、HTTP、SSE サーバーのうち更新に含まれないものを子がシャットダウンします。Claude Code v2.1.299 以降が必要です。 |


44 45 

45ラッパーはこどもの管理環境の残りの部分も継承します。これには、サーバーが提供する環境変数が含まれます。`exec` はすべてを自動的に伝播します。ラッパーが別の方法でこどもをスポーンする場合、完全な環境を転送します。46ラッパーはこどもの管理環境の残りの部分も継承します。これには、サーバーが提供する環境変数が含まれます。`exec` はすべてを自動的に伝播します。ラッパーが別の方法でこどもをスポーンする場合、完全な環境を転送します。

46 47 

47`CLAUDE_CODE_REMOTE_SLACK_THREAD_URL` と `CLAUDE_CODE_REMOTE_SLACK_THREAD_TS` は、ラッパーまたは [`command` フック](#command) に届きます。また、シェルコマンド、git フック、Claude Code フックなど、セッションが実行するものにも届きます。`checkout`、`post-session`、`spawn-runner` フックはこれらを受け取りません。48`CLAUDE_CODE_REMOTE_SLACK_*` 変数は、ラッパーまたは [`command` フック](#command) で読み取ることができます。また、シェルコマンド、git フック、Claude Code フックなど、セッションが実行するものでも読み取れます。`checkout`、`post-session`、`spawn-runner` フックはこれらを受け取りません。

48 49 

49### 設定されない可能性のある変数にデフォルト値を与える50### 設定されない可能性のある変数にデフォルト値を与える

50 51 

51`CCR_SESSION_ACCOUNT_EMAIL`、`CLAUDE_RUNNER_CLIENT_PLATFORM`、`CLAUDE_CODE_REMOTE_SLACK_THREAD_URL`、`CLAUDE_CODE_REMOTE_SLACK_THREAD_TS` は、それぞれ設定されない場合があります。スクリプトで `set -u` を使用している場合、設定されていない変数を展開すると Bash は `unbound variable` で停止するため、`"${CCR_SESSION_ACCOUNT_EMAIL:-}"` のようにデフォルト値付きで展開してください。52スクリプトで `set -u` を使用している場合は、`CCR_SESSION_ACCOUNT_EMAIL`、`CLAUDE_RUNNER_CLIENT_PLATFORM`、`CLAUDE_CODE_REMOTE_SLACK_THREAD_URL`、`CLAUDE_CODE_REMOTE_SLACK_THREAD_TS`、`CLAUDE_CODE_REMOTE_SLACK_CHANNEL_ID` を `"${CCR_SESSION_ACCOUNT_EMAIL:-}"` のようにデフォルト値付きで展開してください。これらはそれぞれ設定されない場合があり、`set -u` の下では、設定されていない変数を展開すると Bash は `unbound variable` で停止します。

52 53 

53### スクリプトが展開する引数と変数を引用符で囲む54### スクリプトが展開する引数と変数を引用符で囲む

54 55 


89* **そのまま渡す**: ラッパーを `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@"` で終了します。これにより、ファイルフラグが他のすべての引数とともに転送されます。フラグを削除したり書き換えたりしないでください。セッションがプロンプトファイルフラグを失うと、コントロールプレーンがそのセッションに送信した指示なしで実行されます。90* **そのまま渡す**: ラッパーを `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@"` で終了します。これにより、ファイルフラグが他のすべての引数とともに転送されます。フラグを削除したり書き換えたりしないでください。セッションがプロンプトファイルフラグを失うと、コントロールプレーンがそのセッションに送信した指示なしで実行されます。

90* **v2.1.281 以降のランナーでは、追加したファイルフラグはサーバーのフラグを置き換えるものであり、追加されることはない**: 各プロンプトファイルフラグは単一の値を取り、Claude Code は最後に出現したものを保持します。そのため、`"$@"` の後に `--append-system-prompt-file <path>` を追加すると、ファイルの内容がサーバーの追加指示を置き換えます。サーバーの指示に加えて指示を追加するには、ランナーイメージの `CLAUDE.md` に記述します。ランナーはこれを[すべてのセッションのユーザーレベル設定にシードします](#how-each-session’s-config-is-assembled)。91* **v2.1.281 以降のランナーでは、追加したファイルフラグはサーバーのフラグを置き換えるものであり、追加されることはない**: 各プロンプトファイルフラグは単一の値を取り、Claude Code は最後に出現したものを保持します。そのため、`"$@"` の後に `--append-system-prompt-file <path>` を追加すると、ファイルの内容がサーバーの追加指示を置き換えます。サーバーの指示に加えて指示を追加するには、ランナーイメージの `CLAUDE.md` に記述します。ランナーはこれを[すべてのセッションのユーザーレベル設定にシードします](#how-each-session’s-config-is-assembled)。

91 92 

93#### セッション開始時の `Argument list too long` を修正する

94 

95Linux で、コントロールプレーンのプロンプトと独自のテキストを 1 つの `--append-system-prompt` 引数に結合すると、引数が 128 KB に達した時点で、ランナーは次のような行をログに記録します。

96 

97```text theme={null}

98Session <id> finished: failed — reason: child exited 126: /opt/wrapper.sh: line 9: /usr/local/bin/claude: Argument list too long

99```

100 

101Linux は個々の引数を 32 メモリページ、つまり一般的な 4 KB ページで 128 KB に制限しています。`getconf ARG_MAX` で得られる値(多くの場合 2 MB)は、すべての引数と環境を合わせたものに対する別の制限です。

102 

103Claude Code v2.1.283 以降では、ファイルフラグを `"$@"` に残したまま、独自のテキストのみを `--append-system-prompt` として渡します。Claude Code は[両方を使用](https://code.claude.com/docs/ja/cli-reference.md#system-prompt-flags)し、コントロールプレーンのプロンプトを先に、独自のテキストをその後に配置します。

104 

105```bash theme={null}

106exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --append-system-prompt "$(cat /opt/team-instructions.md)"

107```

108 

109Linux で独自のテキストが 128 KB に達する場合は、それでも 1 つの引数であることに変わりはないため、ランナーイメージの `CLAUDE.md` に移してください。

110 

111v2.1.281 または v2.1.282 では、このコマンドは `Cannot use both --append-system-prompt and --append-system-prompt-file` で終了します。それより前のバージョンでは、エラーなしで独自のテキストがコントロールプレーンのプロンプトを置き換えます。いずれのバージョンでも、まず更新するか、独自のテキストを `CLAUDE.md` に移してください。

112 

92### セッション作成者にスコープされた認証情報をプロビジョニングする113### セッション作成者にスコープされた認証情報をプロビジョニングする

93 114 

94`decode-token` サブコマンドを使用してセッション JWT からクレームを読み取ります。引数、`CLAUDE_CODE_SESSION_ACCESS_TOKEN`、または stdin からトークンを読み取ります(この順序で)。[セッション内のトークンを検証する](https://code.claude.com/docs/ja/self-hosted-environments-identity.md#verify-the-token-inside-the-session) を参照して、何をチェックするかを確認してください。以下の例は作成者 ID をデコードし、短期 AWS 認証情報と交換し、Claude Code に exec します。115`decode-token` サブコマンドを使用してセッション JWT からクレームを読み取ります。引数、`CLAUDE_CODE_SESSION_ACCESS_TOKEN`、または stdin からトークンを読み取ります(この順序で)。[セッション内のトークンを検証する](https://code.claude.com/docs/ja/self-hosted-environments-identity.md#verify-the-token-inside-the-session) を参照して、何をチェックするかを確認してください。以下の例は作成者 ID をデコードし、短期 AWS 認証情報と交換し、Claude Code に exec します。


122| 変数 | 説明 |143| 変数 | 説明 |

123| :- | :- |144| :- | :- |

124| `CLAUDE_RUNNER_REPO_URL` | クローンするリポジトリ URL。`--git-host-rewrite` と `--git-ssh-rewrite` が適用された後 |145| `CLAUDE_RUNNER_REPO_URL` | クローンするリポジトリ URL。`--git-host-rewrite` と `--git-ssh-rewrite` が適用された後 |

125| `CLAUDE_RUNNER_REPO_REF` | チェックアウトするリビジョン。セッションがリクエストしたとおりの値で、ブランチ、タグ、コミット SHA、または `refs/pull/<number>/head` などの完全な参照名。空の場合はリポジトリのデフォルトブランチ |146| `CLAUDE_RUNNER_REPO_REF` | チェックアウトするリビジョン。セッションがリクエストしたとおりの値で、ブランチ、タグ、コミット SHA、または `refs/heads/<branch>` や `refs/pull/<number>/head` などの完全な参照名。空の場合はリポジトリのデフォルトブランチ |

126| `CLAUDE_RUNNER_CHECKOUT_PATH` | ワーキングツリーを配置する必要がある絶対パス |147| `CLAUDE_RUNNER_CHECKOUT_PATH` | ワーキングツリーを配置する必要がある絶対パス |

127| `CLAUDE_RUNNER_SESSION_ID` | ログと相関のための `session_...` 形式のセッション ID |148| `CLAUDE_RUNNER_SESSION_ID` | ログと相関のための `session_...` 形式のセッション ID |

128| `CLAUDE_RUNNER_SESSION_UUID` | 正規 UUID 形式の同じセッション ID |149| `CLAUDE_RUNNER_SESSION_UUID` | 正規 UUID 形式の同じセッション ID |


303 324 

304コントラクトには 4 つのプロビジョナー非依存ルールがあります。325コントラクトには 4 つのプロビジョナー非依存ルールがあります。

305 326 

3061. **`CLAUDE_RUNNER_ORDER_ID` でべき等です。** 同じ要求の再配信は、最大 1 つのランナーをスポーンする必要があります。オーダー ID から決定論的なリソース名を導出し、プラットフォームに重複を拒否させてください。`CLAUDE_RUNNER_SESSION_ID` をキーとして使用しないでください。セッションの再要求のたびに同じセッション ID が新しいオーダー ID で実行されるため、セッション ID で名前付けまたは重複排除されたワークロードは、そのセッションに対して 1 回作成され、二度と作成されません。3271. **`CLAUDE_RUNNER_ORDER_ID` でべき等です。** 同じ要求の再配信は、最大 1 つのランナーをスポーンする必要があります。オーダー ID から決定論的なリソース名を導出し、プラットフォームに重複を拒否させてください。`CLAUDE_RUNNER_SESSION_ID` をキーとして使用しないでください。セッションの再要求のたびに、同じセッション ID が新しいオーダー ID とともに渡されます。セッション ID で名前付けまたは重複排除されたワークロードは、最初のワークロードが存在する間は再び作成されません。

3072. **ワークロードを再試行しないでください。** 1 つのオーダー ID は、最大 1 つの作成されたワークロードを意味します。ランナーが登録されない場合、Anthropic は `--expected-spawn-seconds` 後に新しいオーダー ID で再要求します。3282. **ワークロードを再試行しないでください。** 1 つのオーダー ID は、最大 1 つの作成されたワークロードを意味します。ランナーが登録されない場合、Anthropic は `--expected-spawn-seconds` 後に新しいオーダー ID で再要求します。

3083. **終了コードコントラクトを使用します。** 結果に一致するステータスで終了してください。3293. **終了コードコントラクトを使用します。** 結果に一致するステータスで終了してください。

309 330 

310 * **終了 0**:送信済み。331 * **終了 0**:送信済み。

311 * **終了 1、または `--hook-timeout` の終了時点でまだ実行中**:再試行可能な失敗。セッションはバックオフして再度提供されます。332 * **終了 1、または `--hook-timeout` の終了時点でまだ実行中**:再試行可能な失敗。セッションはバックオフして再度提供されます。10 回連続で要求が失敗すると、終了 2 以上の場合と同様にブロックされます。

312 * **終了 2 以上**:再試行不可の失敗。ユーザーがセッションに新しいメッセージを送信するか、[Owner](https://code.claude.com/docs/ja/cloud-environments.md#organization-shared-environments) が環境の **Activity** タブでそのセッションに対して **Retry** を選択するまで、セッションは再度スポーンされることがブロックされます。333 * **終了 2 以上**:再試行不可の失敗。ユーザーがセッションに新しいメッセージを送信するか、[Owner](https://code.claude.com/docs/ja/cloud-environments.md#organization-shared-environments) が環境の **Activity** タブでそのセッションに対して **Retry** を選択するまで、セッションは再度スポーンされることがブロックされます。

313 334 

314 セッションがバックオフしている間は、**Activity** タブにスポーンエラーなしで **Queued** と表示されるため、フックの出力はオーケストレーターのログで確認してください。ブロックされると、セッションには **Failed** と表示されます。展開すると、フックの stderr の末尾 512 文字から取得されたスポーンエラーを確認できます。対処可能なエラーを stderr に書き込み、シークレットは書き込まないでください。シェルフックでは、[一時的な失敗を再試行可能なままにしてください](#keep-transient-failures-retryable-in-a-shell-hook)。335 セッションがバックオフしている間は、**Activity** タブにスポーンエラーなしで **Queued** と表示されるため、フックの出力はオーケストレーターのログで確認してください。ブロックされると、セッションには **Failed** と表示されます。展開すると、フックの stderr の末尾 512 文字から取得されたスポーンエラーを確認できます。対処可能なエラーを stderr に書き込み、シークレットは書き込まないでください。シェルフックでは、[一時的な失敗を再試行可能なままにしてください](#keep-transient-failures-retryable-in-a-shell-hook)。


318 339 

319フックが stdout または stderr に書き込むすべてのものは、認証情報が自動的に削除されたオーケストレーターのログに表示されます。セッションがキューに入ったままの場合、オーケストレーターの `/healthz` ボディをチェックしてキュー数を確認し、[**Cloud environments** 管理ページ](https://claude.ai/admin-settings/cloud-environments)で環境の **Activity** タブを開きます。失敗したセッションをそこで展開してスポーンエラーを確認し、**Retry** を選択して再要求してください。340フックが stdout または stderr に書き込むすべてのものは、認証情報が自動的に削除されたオーケストレーターのログに表示されます。セッションがキューに入ったままの場合、オーケストレーターの `/healthz` ボディをチェックしてキュー数を確認し、[**Cloud environments** 管理ページ](https://claude.ai/admin-settings/cloud-environments)で環境の **Activity** タブを開きます。失敗したセッションをそこで展開してスポーンエラーを確認し、**Retry** を選択して再要求してください。

320 341 

321セッションが **Activity** タブにスポーンエラーなしでキューに入ったままの場合、フックがセッション ID でキーになっていることを意味する可能性があります。確認するには、プラットフォームがそのセッションの最初のスポーン要求のワークロードを持っているかどうか、および再要求のワークロードを持っていないかどうかを確認してください。その場合は、ワークロードを `CLAUDE_RUNNER_ORDER_ID` でキーにしてください。342#### 再開したセッションが Queued のままになる、または Failed と表示される場合の修正

343 

344再開したセッションが **Queued** のままになる、**Failed** と表示される、またはそれらのセッションでフックがタイムアウトする場合、原因の 1 つとして、フックがセッション ID でワークロードの名前付けや重複排除を行っていることが考えられます。セッションは、ランナーが終了した後にユーザーがそのセッションにメッセージを送信すると再開されます。たとえば、各ワークロードの名前を次のように作成するフックを考えます。

345 

346```bash theme={null}

347name="runner-${CLAUDE_RUNNER_SESSION_ID}"

348```

349 

3501. セッションの最初のスポーン要求で、フックはその名前でワークロードを作成し、ランナーが起動します

3512. ランナーが終了し(たとえば [`--release-idle-session-min`](#make-on-demand-runners-exit-when-idle) の後)、その後ユーザーがセッションを再開します

3523. セッションの次のスポーン要求は同じセッション ID と新しいオーダー ID を持つため、フックは同じ名前を作成します

3534. ランナーの終了時に何もワークロードを[削除](#make-on-demand-runners-exit-when-idle)しなかったために、最初の要求のワークロードがプラットフォームにまだ残っている場合、フックは新しいワークロードを作成せず、ランナーは起動しません

3545. そのセッションに対する以降のスポーン要求もすべて同じ結果になります

355 

356自分のフックを開き、ワークロードがすでに存在する場合(たとえばプラットフォームが重複した名前を拒否した場合)にどう動作するかを確認してください。その動作を最初の列で探すと、再開したセッションが **Activity** タブに何を表示するかがわかります。

357 

358| ワークロードが存在する場合のフックの動作 | **Queued** が **Failed** に変わるタイミング | スポーンエラー |

359| :- | :- | :- |

360| 何も作成せずに 0 で終了する | そのような要求が 10 回連続した後 | `runner did not register within ETA after max attempts` |

361| 1 で終了する | そのような要求が 10 回連続した後 | フックの stderr の末尾、または stderr に何も書き込まなかった場合は `exit 1` |

362| 2 以上で終了する | すぐに | フックの stderr の末尾、または stderr に何も書き込まなかった場合は `exit` とコード(`exit 2` など) |

363| `--hook-timeout` の終了まで待機する | そのような要求が 10 回連続した後 | フックの stderr の末尾、または stderr に何も書き込まなかった場合は `spawn-runner hook timed out after 60000ms` |

364 

365最後の行のスポーンエラーの `60000` は、ミリ秒単位の `--hook-timeout` です。フックが `--hook-timeout` の終了まで待機した場合、オーケストレーターのログにも `timed out after` の行が記録されます。

366 

367フックを修正するには、[フックコントラクトのルール 1](#the-spawn-runner-hook) で求められているとおり、各名前やキーを `CLAUDE_RUNNER_ORDER_ID` から作成します。この例では、名前は次のようになります。

368 

369```bash theme={null}

370name="runner-${CLAUDE_RUNNER_ORDER_ID}"

371```

372 

373フックが待機する場合は、待機するフックは[そのオーケストレーターの次のフックを遅らせる](https://code.claude.com/docs/ja/self-hosted-environments-reference.md#orchestrator-cli-flags)ため、ワークロードを送信した時点で終了するようにも変更してください。フックを変更した後、**Activity** タブで停滞している各セッションのステータスを確認します。

374 

375* **Queued**:セッションは次のスポーン要求を自動的に受け取ります

376* **Failed**:Owner としてそのセッションで **Retry** を選択するか、ユーザーにセッションへ新しいメッセージを送信してもらいます

322 377 

323#### オンデマンドランナーをアイドル時に終了させる378#### オンデマンドランナーをアイドル時に終了させる

324 379 


745 800 

746ランナーによるホストの `~/.claude/` のスナップショットには `projects/` ディレクトリは含まれません。自動メモリのデフォルトの保存場所はこのディレクトリの下にあります。そこにメモリファイルを置いても、ランナーはそれらをセッションにシードせず、自動メモリがオンになることもありません。801ランナーによるホストの `~/.claude/` のスナップショットには `projects/` ディレクトリは含まれません。自動メモリのデフォルトの保存場所はこのディレクトリの下にあります。そこにメモリファイルを置いても、ランナーはそれらをセッションにシードせず、自動メモリがオンになることもありません。

747 802 

803### サーバー管理設定の取得に失敗したセッションを停止する

804 

805[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md) を取得するセッションについて、その取得が失敗したときにセッションが開始しないようにするには、ランナーイメージ内の [`managed-settings.json`](https://code.claude.com/docs/ja/settings#where-settings-live) で [`forceRemoteSettingsRefresh`](https://code.claude.com/docs/ja/settings-reference#forceremotesettingsrefresh) を `true` に設定します。組織にサーバー管理設定がないという Anthropic の API からの応答は、取得の成功として扱われます。

806 

807キーを追加する前に、その環境で Claude Tag チャネルセッションを実行しているか、Bedrock または Agent Platform にモデルリクエストを送信しているかを確認してください。

808 

809* **Claude Tag チャネルセッション**:Owner が [Claude Tag チャネルのルーティング先に設定している](https://code.claude.com/docs/ja/cloud-environments.md#set-the-environment-a-claude-tag-channel-uses) 環境のランナーでは、このキーを設定しないでください。Anthropic の API はこれらのセッションによるサーバー管理設定のリクエストを拒否するため、キーを設定するとこれらのセッションは開始に失敗します。これらのセッションのルールはランナーイメージの `managed-settings.json` に記述してください。これらのセッションも [このファイルは読み取ります](https://code.claude.com/docs/ja/managed-settings.md#where-and-when-a-policy-applies)。他のセッションでこのキーを使用するには、それらのセッションを別の環境で実行してください。

810* **Bedrock または Agent Platform**:これらのプロバイダー上のセッションは [サーバー管理設定を取得しない](#what-differs-from-sessions-on-the-anthropic-api) ため、キーを設定するかどうかにかかわらず開始します。代わりに同じ `managed-settings.json` からルールを適用してください。

811 

812次の `managed-settings.json` はこのキーを設定します。

813 

814```json managed-settings.json theme={null}

815{

816 "forceRemoteSettingsRefresh": true

817}

818```

819 

820claude.ai の管理コンソールでもキーを設定している場合でも、このファイルでキーを設定してください。新しいセッションにはサーバー管理設定の [キャッシュされたコピー](https://code.claude.com/docs/ja/server-managed-settings.md#fetch-and-caching-behavior) がないため、コンソールでのみキーを設定した場合、セッションはまだそのキーを持っていません。その状態で取得が失敗すると、セッションは後の取得が成功するまでそれらの設定なしで実行されます。

821 

822設定の取得失敗がセッションが開始しなかった原因であることを確認するには、セッション内の [Claude Code の最後の出力](#keep-stdin-and-file-descriptor-3-attached) またはランナーのログを確認してください。そこには `Your organization requires remote managed settings to load, but they could not be loaded.` が含まれます。

823 

748### 複数のリポジトリを含むセッションでのリポジトリ設定824### 複数のリポジトリを含むセッションでのリポジトリ設定

749 825 

750[プロジェクト](https://code.claude.com/docs/ja/claude-projects.md#what-threads-pick-up-from-your-repositories) 内のスレッドでは、スレッドがどこで開始しても、どのリポジトリの `.claude/settings.json` もプロジェクト設定として有効にならず、どのリポジトリの `.mcp.json` やスキルも読み込まれません。これらのスレッドにスキルを提供するには、ランナーイメージに追加してください。826[プロジェクト](https://code.claude.com/docs/ja/claude-projects.md#what-threads-pick-up-from-your-repositories) 内のスレッドでは、スレッドがどこで開始しても、どのリポジトリの `.claude/settings.json` もプロジェクト設定として有効にならず、どのリポジトリの `.mcp.json` やスキルも読み込まれません。これらのスレッドにスキルを提供するには、ランナーイメージに追加してください。

Details

313 313 

314Anthropic 管理の git を使用する各セッションについて、ランナーは `[runner:warn]` 行をログに記録します。これは `governed git: GIT_SSL_CAINFO is set` または `governed git: GIT_SSL_NO_VERIFY is set` で始まります。行は、ランナーが独自の git、セッション内の git、およびライフサイクルフックのその変数で何をしたかを示します。何かを変更する必要があるかどうかで終わります。314Anthropic 管理の git を使用する各セッションについて、ランナーは `[runner:warn]` 行をログに記録します。これは `governed git: GIT_SSL_CAINFO is set` または `governed git: GIT_SSL_NO_VERIFY is set` で始まります。行は、ランナーが独自の git、セッション内の git、およびライフサイクルフックのその変数で何をしたかを示します。何かを変更する必要があるかどうかで終わります。

315 315 

316### Claude Tag チャンネルのセッションに github.com のリポジトリを追加する

317 

318Claude が Claude Tag チャンネルのセッションに github.com のリポジトリを追加できない場合は、ランナーがそのリポジトリをクローンできる場合でも、チャンネルがそのリポジトリにアクセスできることを確認してください。このアクセス権は、ランナーの git 認証情報ではなく、GitHub と Claude 組織の設定によって決まります。

319 

320**1. Claude GitHub App をインストールする**

321 

322リポジトリを所有する GitHub 組織またはアカウントに [Claude GitHub App](https://github.com/apps/claude) をインストールし、そのリポジトリをインストール対象に含めます。

323 

324**2. GitHub 組織またはアカウントをリンクする**

325 

326[**Organization settings > Git providers**](https://claude.ai/admin-settings/source-control) で、その組織またはアカウントを Claude 組織にリンクします。GitHub 組織のオーナーでもある Claude 組織の Owner がリンクできます。[GitHub 組織をリンクする](https://claude.com/docs/claude-tag/admins/configure-github#link-your-github-organization)を参照してください。

327 

328**3. リポジトリへのアクセスを付与する**

329 

330[Claude Tag 管理設定](https://claude.ai/admin-settings/claude-tag)で、チャンネル、またはそのチャンネルを含むより広いスコープ(その Slack ワークスペースまたは Slack 全体)にリポジトリへのアクセスを付与します。Owner ロールまたは Claude Tag Admin 権限を持つユーザーが付与できます。チャンネルマネージャーも、自分の GitHub アカウントがリポジトリの管理者であれば、自分のチャンネルにリポジトリを追加できます。[リポジトリへのアクセスを付与する](https://claude.com/docs/claude-tag/admins/configure-github#grant-repository-access)を参照してください。

331 

332その後、チャンネルで新しいスレッドを開始し、最初のメッセージで[リポジトリ名を指定](https://claude.com/docs/claude-tag/admins/configure-github#how-granted-repositories-reach-a-session)してください。

333 

334それでも Claude がリポジトリを追加できない場合は、GitHub のリンクとリポジトリへのアクセス付与を確認する場所について、[Claude がリポジトリにアクセスできない場合](https://claude.com/docs/claude-tag/admins/configure-github#if-claude-can%E2%80%99t-reach-a-repository)を参照してください。

335 

316### プライベートネットワークの git URL を書き直す336### プライベートネットワークの git URL を書き直す

317 337 

318リポジトリ URL はコントロールプレーンから HTTPS として到達します。git ホストのホスト名を使用します。GitHub Enterprise の場合、claude.ai で [GitHub Enterprise 統合](https://code.claude.com/docs/ja/github-enterprise-server.md)用に設定したホスト名です。2 つの繰り返し可能なフラグはクローン前にこれらの URL を書き直します:338リポジトリ URL はコントロールプレーンから HTTPS として到達します。git ホストのホスト名を使用します。GitHub Enterprise の場合、claude.ai で [GitHub Enterprise 統合](https://code.claude.com/docs/ja/github-enterprise-server.md)用に設定したホスト名です。2 つの繰り返し可能なフラグはクローン前にこれらの URL を書き直します:


376 396 

377ビルドとテストは通常、セッションの負荷の最大かつ最も変動する部分です。リポジトリの代表的なビルドを実行し、ピーク CPU とメモリを測定し、そのピークの上に Claude Code プロセスの余地を残さない開始値を引き上げてください。397ビルドとテストは通常、セッションの負荷の最大かつ最も変動する部分です。リポジトリの代表的なビルドを実行し、ピーク CPU とメモリを測定し、そのピークの上に Claude Code プロセスの余地を残さない開始値を引き上げてください。

378 398 

379ランナーは `--capacity` を使用して、一度に実行するセッション数をキャップします。CPU またはメモリをセッション間で分割しないため、ランナー上のセッションはコンテナの CPU とメモリを共有します。1 つのセッションのシェアをキャップするには、[ラッパースクリプト](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#wrapper-scripts)から制限を適用してください。したがって、1 つのコンテナに与える内容は、一度に何個のセッションを提供するかによって異なります。399ランナーは `--capacity` を使用して、一度に実行するセッション数をキャップします。CPU またはメモリをセッション間で分割しないため、ランナー上のセッションはコンテナの CPU とメモリを共有します。1 つのセッションのメモリ使用が他のセッションを終了させないようにするには、[専用のメモリ制限](#give-each-session-its-own-memory-limit)を設けて、ランナーあたり 1 つのセッションを実行してください。

380 400 

381* **ランナーあたり 1 つのセッション**: 各コンテナに 1 つのセッションの値を与えます。[強化セクション](#harden-your-deployment)が推奨する `--capacity 1` でこのサイズ設定を使用し、[オンデマンドランナー](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#on-demand-runners)の場合、[`spawn-runner` フック](https://code.claude.com/docs/ja/self-hosted-environments-configuration#the-spawn-runner-hook)が送信するワークロード(Kubernetes Job のポッドテンプレートなど)に値を設定します。401* **ランナーあたり 1 つのセッション**: 各コンテナに 1 つのセッションの値を与えます。[強化セクション](#harden-your-deployment)が推奨する `--capacity 1` でこのサイズ設定を使用し、[オンデマンドランナー](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#on-demand-runners)の場合、[`spawn-runner` フック](https://code.claude.com/docs/ja/self-hosted-environments-configuration#the-spawn-runner-hook)が送信するワークロード(Kubernetes Job のポッドテンプレートなど)に値を設定します。

382* **ランナーあたり複数のセッション**: `--capacity` が 1 より上の場合、1 つのセッションの値に容量を掛けます。その容量まで多くのセッションがコンテナ内で同時に実行できるためです。[Kubernetes](#kubernetes) と [Docker Compose](#docker-compose) レシピは CPU またはメモリ制限なしで `--capacity 4` を実行するため、実行する容量のサイズ設定された制限を追加してください。402* **ランナーあたり複数のセッション**: `--capacity` が 1 より上の場合、1 つのセッションの値に容量を掛けます。その容量まで多くのセッションがコンテナ内で同時に実行できるためです。[Kubernetes](#kubernetes) と [Docker Compose](#docker-compose) レシピは CPU またはメモリ制限なしで `--capacity 4` を実行するため、実行する容量のサイズ設定された制限を追加してください。

403* **1 つのホスト上の複数のランナーコンテナ**: 各ランナーは自身のセッションのみを `--capacity` に対してカウントするため、ランナーの容量の合計に合わせてホストをサイズ設定します。

404 

405 * **メモリ**: 1 つのセッションのメモリに合計を掛け、ホスト自身のプロセスが使用する分を加えます

406 * **CPU**: 1 つのセッションの CPU リクエストに合計を掛けます。すべてのセッションが同時にバーストできるようにするには、代わりに CPU 制限を掛けます。

407 

408 各ランナーに専用のコンテナを与えてください。各ランナーが[専用の作業ディレクトリ](#harden-your-deployment)を持つように、それぞれで[同じ `--base-dir` パス](#keep-the-base-directory-and-capacity-identical-across-runners)を、他のランナーのコンテナがマウントしないストレージ上で使用してください。

409 

410### 各セッションに専用のメモリ制限を与える

411 

412メモリが不足したときに 1 つのセッションが他のセッションを終了させないようにするには、各ランナーを `--capacity 1` で、1 つのセッションのメモリに設定した専用のメモリ制限の下で実行してください。

413 

414* **コンテナ内**: コンテナあたり 1 つのランナーを実行し、コンテナのメモリ制限を設定します。例えば Kubernetes では `limits.memory`、Docker では `--memory`、Compose ファイルでは `mem_limit` です。コンテナの制限の合計はホストのメモリ未満に保ってください。ホスト自体のメモリが不足すると、カーネルはホスト上のどこにあるプロセスでも強制終了する可能性があるためです。

415* **コンテナなしの systemd 下**: ランナーのユニットに `MemoryMax` を設定し、ホストあたり 1 つのランナーを実行します。1 つのファイルシステム上で[同じ `--base-dir` を使用する](#keep-the-base-directory-and-capacity-identical-across-runners)ランナーは、そこにクローンされたリポジトリを共有するためです。例えば、`checkout` フックなしの `--capacity 1` では、1 つのリポジトリ上のそれらのセッションが同じチェックアウトで同時に作業する可能性があります。1 つのホストで複数のランナーを実行するには、それぞれにコンテナを与えてください。

416 

417コンテナまたはユニットがメモリ制限に達すると、カーネルはその内部のプロセスのみを強制終了します。`--capacity` を 1 より上に設定すると、セッションは 1 つの制限を共有します。制限に達したとき、カーネルは強制終了するプロセスをセッション単位で選択しないため、1 つのセッションのメモリ使用が他のセッションを終了させる可能性があります。

418 

419Kubernetes では、kubelet の `singleProcessOOMKill` 設定のどちらの値でもセッションを分離することはできません。また、[ラッパースクリプト](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#wrapper-scripts)内のメモリ `ulimit` でセッションの合計メモリをキャップすることもできません。カーネルは `ulimit -v` などの値を各プロセスに個別に適用します。

420 

421### プロセスとスレッドの制限に余裕を残す

422 

423プロセスとスレッドの制限をサイズ設定するには、1 つのセッションが必要とする量を測定し、その制限を共有するセッション数を掛けます。それらのセッションが制限に達すると、カーネルは新しいプロセスとスレッドを拒否するため、いずれのセッションでもコマンド、ビルド、テストが失敗する可能性があります。拒否された呼び出しは `EAGAIN` を返し、その標準メッセージは `Resource temporarily unavailable` です。

424 

4251 つのセッションのピークが 300 のプロセスとスレッドで、4 つのセッションが制限を共有するとします。合計で 1,200 が必要になり、制限を 2,400 にすれば、その 2 倍を必要とするビルドにも余裕を残せます。

426 

427#### 各制限の設定場所

428 

429この表の各制限はプロセスだけでなくスレッドもカウントし、`pids.max` は cgroup の制限を保持するファイルです。

430 

431| 制限 | 設定場所 | 共有するもの |

432| :- | :- | :- |

433| Kubernetes の `pids.max` | ランナーを実行するノードの kubelet 設定の `podPidsLimit`。Pod スペックでは設定できません。 | 1 つの Pod のコンテナ |

434| Docker の `pids.max` | `--pids-limit`、または Compose ファイルの `pids_limit` | 1 つのコンテナ |

435| systemd 下の `pids.max` | ランナーのユニットの `TasksMax` | 1 つのユニット |

436| `ulimit -u` | ランナーを開始するシェルまたはサービス | ホスト上でランナーのユーザー ID として実行されるすべてのもの。root には適用されません。 |

437 

438`TasksMax` を設定しない場合、systemd は `DefaultTasksMax` を適用します。そのデフォルトは、`kernel.pid_max`、`kernel.threads-max`、ルート cgroup の `pids.max` のうち最も低い値の 15% です。

439 

440#### 1 つのセッションのピークを測定する

441 

442自分のランナーの数値を得るには、ホスト(Kubernetes ではノード)上で 1 つのセッションを測定します。

443 

444**1. 1 つのランナーを単独で開始する**

445 

446コンテナまたは systemd ユニット内に他に何もない状態で、1 つのランナーを `--capacity 1` で開始し、ホストと環境で単独にします。

447 

448* **ホスト**: 他のランナーを実行していないホストを使用します。これにより、次のステップでそのプロセスを特定できます。

449* **環境**: 例えば[テスト用に作成した](https://code.claude.com/docs/ja/self-hosted-environments-quickstart.md#set-up-manually)環境で、そこにある唯一のランナーにします。セッションはランナーではなく環境にルーティングされます。

450 

451ビルドを開始する前に次のステップのディレクトリが必要なため、まだセッションを開始しないでください。

452 

453**2. ランナーの cgroup ディレクトリを見つける**

454 

455コンテナ内ではなくホスト上で、例えば `ps` を使ってランナーのプロセス ID を見つけます。その ID の `/proc/<pid>/cgroup` を読み取ります。

456 

457* **`:pids:` を含む行がある**: ホストは cgroup v1 を使用しており、ディレクトリは `/sys/fs/cgroup/pids` に `:pids:` の後のテキストを続けたものです

458* **唯一の行が `0::` で始まる**: ホストは cgroup v2 を使用しており、ディレクトリは `/sys/fs/cgroup` に `0::` の後のテキストを続けたものです

459 

460**3. 代表的なビルドを実行してピークを記録する**

461 

4621 つのセッションで代表的なビルドを実行し、ランナーの cgroup ディレクトリからピークを取得します。

463 

464* **ディレクトリに `pids.peak` がある**: ビルドが終了した後にファイルを読み取ります

465* **ディレクトリに `pids.peak` がない**: ビルドの実行中に `pids.current` を 1 秒ごとに読み取り、最大値を保持します。2 回の読み取りの間のピークは見逃されるため、その値は低めの見積もりとして扱ってください。

466 

467**4. 制限を共有するセッション数を掛ける**

468 

469* **1 つのランナーの Pod、コンテナ、またはユニット**: ピークにランナーの `--capacity` を掛けます

470* **複数のランナーが共有する制限**: ピークにそれらの容量の合計を掛けます

471 

472次に、Pod 内の別のコンテナなど、制限を共有する他のもののピークを加えます。

473 

474**5. 結果より上に制限を設定する**

475 

476制限を高くすれば、より重いビルドに余裕を残せます。低くすれば、フォーク爆弾をより早く止められます。

477 

478#### `pids.max` 制限を確認する

479 

480* **`pids.max` に達したかどうかを確認する**: 例えば `dmesg` を使って、ホストのカーネルログで `cgroup: fork rejected by pids controller in` と cgroup のパスを含む行を検索します。カーネルはその cgroup で最初にプロセスまたはスレッドを拒否したときにのみログに記録するため、ログ全体を検索してください。

481* **適用中の制限を確認する**: ランナーの cgroup ディレクトリとその上位の各ディレクトリで `pids.max` を読み取ります。最も低い値が適用中の制限で、`max` はそのレベルで制限がないことを意味します。

383 482 

384## Kubernetes483## Kubernetes

385 484 


577 676 

578再利用パスが保証するもの、しないもの:677再利用パスが保証するもの、しないもの:

579 678 

580* **任意のクローン形状が機能する**: パスの完全、シャロー、または単一ブランチクローンはそのまま使用されます。ランナーは既存のクローンにフェッチするときに `--depth` を渡しません。そのため、完全なプリウォームは完全な履歴を保持し、シャロークローンはシャローのままです。`CLAUDE_RUNNER_FETCH_DEPTH`(`full`、`0`、または数値。デフォルト 50)は、クローンがまだ存在しない場合にランナーが作成するコールドクローンのみを制御します。679* **クローンの深さ**: クローンは `--depth` なしでビルドしてください。`--single-branch` の有無は問いません。ランナーは `origin` リモートを持つクローンにフェッチするとき、[`CLAUDE_RUNNER_FETCH_DEPTH`](https://code.claude.com/docs/ja/self-hosted-environments-reference#environment-variable-only-settings) を設定していても `--depth` を渡しません。完全なクローンでは、各セッションはクローンに欠けているコミットのみをダウンロードします。シャロークローンでは、クローンの最も古いコミットより前に分岐したブランチ上のセッションは、そのブランチの履歴全体をダウンロードします。

581* **追跡された変更はリセットされ、追跡されていないファイルは保持される**: `--capacity 1` では、各セッションはハードリセットから開始され、前のセッションの追跡された変更を削除しますが、ランナーは `git clean` を実行しないため、ロックされたオーナーの以前のセッションからの追跡されていないファイルはツリーに残ります。680* **追跡された変更はリセットされ、追跡されていないファイルは保持される**: `--capacity 1` では、各セッションはハードリセットから開始され、前のセッションの追跡された変更を削除しますが、ランナーは `git clean` を実行しないため、ロックされたオーナーの以前のセッションからの追跡されていないファイルはツリーに残ります。

582* **セッションごとのディレクトリも保持される**: チェックアウトの横に、ランナーは実行するすべてのセッションに対して `<base-dir>/_sessions/` の下にセッションごとのエントリを作成します。セッションの Claude 設定ディレクトリは、会話トランスクリプトのローカルコピーを保持します。その横には、セッションがある場合、セッションのアップロードされたファイルが配置されます。セッションディレクトリもそこに配置されます。セッションの実行中、セッションごとの worktrees と `checkout` フックチェックアウトを保持し、Claude がそこに書き込んだ他のすべてのものを保持します。681* **セッションごとのディレクトリも保持される**: チェックアウトの横に、ランナーは実行するすべてのセッションに対して `<base-dir>/_sessions/` の下にセッションごとのエントリを作成します。セッションの Claude 設定ディレクトリは、会話トランスクリプトのローカルコピーを保持します。その横には、セッションがある場合、セッションのアップロードされたファイルが配置されます。セッションディレクトリもそこに配置されます。セッションの実行中、セッションごとの worktrees と `checkout` フックチェックアウトを保持し、Claude がそこに書き込んだ他のすべてのものを保持します。

583 682 


587* **git プロキシを使用する場合、`reftable` のプリウォームは ref を失う**: ランナーは各セッションの前に `.git/` をサニタイズする際、`.git/refs/` を保持し、`.git/reftable/` ディレクトリを削除します。git の `reftable` ref 形式でプリウォームされたクローンはこの処理によって ref を失うため、代わりに git の `files` ref 形式でクローンをプリウォームしてください。686* **git プロキシを使用する場合、`reftable` のプリウォームは ref を失う**: ランナーは各セッションの前に `.git/` をサニタイズする際、`.git/refs/` を保持し、`.git/reftable/` ディレクトリを削除します。git の `reftable` ref 形式でプリウォームされたクローンはこの処理によって ref を失うため、代わりに git の `files` ref 形式でクローンをプリウォームしてください。

588* **長いクローンは回避策を必要としない**: ランナーは各 git 操作を 120 秒の無進捗ウォッチドッグと 30 分のハードキャップで制限し、フラットタイムアウトではないため、進捗を報告し続けるスローコールドクローンは完了します。687* **長いクローンは回避策を必要としない**: ランナーは各 git 操作を 120 秒の無進捗ウォッチドッグと 30 分のハードキャップで制限し、フラットタイムアウトではないため、進捗を報告し続けるスローコールドクローンは完了します。

589 688 

689### ランナーがクローンを使用していることを確認する

690 

691ランナーがクローンを使用していることを確認するには、[`--log-level debug`](https://code.claude.com/docs/ja/self-hosted-environments-reference#runner-cli-flags) を指定してランナーを起動し、そのリポジトリでセッションを開始します。ランナーは `Prefetched repo found at` とクローンのパスをログに記録します。代わりに `No prefetched repo, fresh init at` をログに記録した場合、その行に示されたパスで使用可能なクローンが見つからなかったことを意味します。クローンがそのパスにあり、ランナーのユーザーが所有しており、`origin` という名前のリモートを持っていることを確認してください。

692 

693ランナーがクローンを見つけているにもかかわらずセッションの起動が遅い場合は、クローンがシャロークローンになっていないか確認してください。

694 

590## バージョンをピンする695## バージョンをピンする

591 696 

592各セッションの子プロセスはデフォルトでランナー独自のバイナリを実行し、ランナーは自身が起動するセッション内でオートアップデートをオフにします。このデフォルトでは、すべてのセッションはホストにインストールされたか、イメージに組み込まれたバージョンを実行します。ホストレベルのアップデートはランナーが次に開始するときに有効になります。697各セッションの子プロセスはデフォルトでランナー独自のバイナリを実行し、ランナーは自身が起動するセッション内でオートアップデートをオフにします。このデフォルトでは、すべてのセッションはホストにインストールされたか、イメージに組み込まれたバージョンを実行します。ホストレベルのアップデートはランナーが次に開始するときに有効になります。


609* **固定フリート**: 静的なランナーレプリカセットを実行し、各ランナーが提供する [Prometheus メトリクス](https://code.claude.com/docs/ja/self-hosted-environments-reference.md#prometheus-metrics)に基づいてスケーリングします714* **固定フリート**: 静的なランナーレプリカセットを実行し、各ランナーが提供する [Prometheus メトリクス](https://code.claude.com/docs/ja/self-hosted-environments-reference.md#prometheus-metrics)に基づいてスケーリングします

610* **オンデマンドランナー**: `claude self-hosted-runner orchestrator` サブコマンドを実行します。このコマンドは、利用可能なランナーがないキューに入っているセッションについて Anthropic をポーリングし、`spawn-runner` フックを呼び出して、セッションごとに 1 つ起動します。[オンデマンドランナー](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#on-demand-runners)を参照してください。715* **オンデマンドランナー**: `claude self-hosted-runner orchestrator` サブコマンドを実行します。このコマンドは、利用可能なランナーがないキューに入っているセッションについて Anthropic をポーリングし、`spawn-runner` フックを呼び出して、セッションごとに 1 つ起動します。[オンデマンドランナー](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#on-demand-runners)を参照してください。

611 716 

717### 固定フリートでアイドル状態のセッションを解放する

718 

719固定フリートですべてのランナーがオンラインであるにもかかわらずセッションがキューに入ったままになる場合、アイドル状態のセッションが原因である可能性があります。デフォルトでは、セッションはターンが終了した後もスロットを保持し、そのランナーはそのセッションの[オーナー](https://code.claude.com/docs/ja/self-hosted-environments#key-concepts)にロックされたままになります。チームの[クラウドスケジュールタスク](https://code.claude.com/docs/ja/routines.md)が実行のたびに新しいセッションを開始する場合、そのアイドル状態のセッションがすべてのスロットを埋めてしまう可能性があります。

720 

721確認するには、各ランナーの [Prometheus メトリクス](https://code.claude.com/docs/ja/self-hosted-environments-reference.md#prometheus-metrics)で `claude_code_self_hosted_runner_session_idle_seconds` を読み取ります。ランナーが保持する各セッションには独自の系列があり、セッションがビジー状態の間は `0`、それ以外の場合はアイドル状態になってからの秒数を示します。許容するアイドル時間を選択してください。作業途中で人が取る休止よりも長く、かつスケジュールタスクの次の実行が始まる前に各実行が解放されるほど短い時間にします。系列をその時間と比較します。

722 

723* **その時間を超える系列(30 分の場合の `1800` など)**: アイドル状態のセッションがそれらのスロットを保持しているため、`--release-idle-session-min` を設定します

724* **すべての系列がその時間未満**: それほど長くアイドル状態のセッションはありません。ランナーを追加するか、[アイドル状態にならないセッション](#some-sessions-don’t-count-as-idle)のために [`--kill-session-after-min`](https://code.claude.com/docs/ja/self-hosted-environments-reference#runner-cli-flags) を設定します。

725* **系列がないランナー**: そのランナーを保持しているセッションはありません。[トラブルシューティング](#troubleshooting)の **Sessions stay queued** を参照してください。

726* **メトリクスが応答しないランナー**: プロセスが終了している可能性があります。[ランナーが終了したとき](#when-the-runner-exits)の **An environment that looks healthy** を参照してください。

727 

728アイドル状態のセッションを解放するには、すべてのランナーを [`--release-idle-session-min`](https://code.claude.com/docs/ja/self-hosted-environments-reference#runner-cli-flags) とその時間(分単位)を指定して起動します(例: `--release-idle-session-min 30`)。ランナーは、スケジュールタスクと人のどちらが開始したかにかかわらず、その時間アイドル状態が続いたセッションを解放します。

729 

730* **プッシュされていない作業**: 解放されたセッションは次のメッセージで再開されますが、プッシュしていなかった作業は失われます。コミットを保持するには、[再開されたセッションはプッシュされていない作業を失う](#additional-limitations)を参照してください。

731* **ランナーの終了**: 最後のセッションを解放したランナーは[通常の終了](#when-the-runner-exits)を開始します。[デプロイを強化する](#harden-your-deployment)で説明しているように、スーパーバイザーが新しいファイルシステム上でランナーを再起動するようにしてください。

732* **アイドル状態にならないセッション**: [一部のセッションはアイドル状態としてカウントされない](#some-sessions-don’t-count-as-idle)ため、[`--kill-session-after-min`](https://code.claude.com/docs/ja/self-hosted-environments-reference#runner-cli-flags) も設定します

733 

612## 既知の問題と制限事項734## 既知の問題と制限事項

613 735 

614このリリースにおける制限事項と、回避策がある場合はその回避策を以下に示します。736このリリースにおける制限事項と、回避策がある場合はその回避策を以下に示します。


642### その他の制限事項764### その他の制限事項

643 765 

644* **再開されたセッションではプッシュしていない作業が失われる**: 新しいランナーはリポジトリを開始ブランチから再度クローンするため、セッションがプッシュしていなかった作業は失われます。766* **再開されたセッションではプッシュしていない作業が失われる**: 新しいランナーはリポジトリを開始ブランチから再度クローンするため、セッションがプッシュしていなかった作業は失われます。

645 * **コミット済みの作業を保持するには**: 環境内のすべてのランナーで [`--push-outcome-on-release`](https://code.claude.com/docs/ja/self-hosted-environments-reference#runner-cli-flags) を設定してください。このフラグのないランナーは、セッションを開始ブランチから再開するためです。このフラグを設定したランナーは、解放する前にセッションの成果ブランチのプッシュをベストエフォートで行い、再開されたセッションはそれらのコミットから開始されます。プッシュにはランナーホスト自身の git 認証情報が使用されます。これは [Anthropic 管理の git](#use-the-anthropic-git-proxy) を使用するランナーでも同様です。コミットされていない変更は引き続き失われます。767 * **コミット済みの作業を保持するには**: 環境内のすべてのランナーで [`--push-outcome-on-release`](https://code.claude.com/docs/ja/self-hosted-environments-reference#runner-cli-flags) を設定してください。このフラグのないランナーは、セッションを開始ブランチから再開するためです。このフラグを設定したランナーは、解放する前にセッションの成果ブランチのプッシュをベストエフォートで行い、再開されたセッションはそれらのコミットから開始されます。プッシュにはランナーホスト自身の git 認証情報が使用されます。これは [Anthropic 管理の git](#use-the-anthropic-git-proxy) を使用するランナーでも同様です。

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

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

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

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

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

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


684* **ピックアップ直後にセッションが失敗する**: claude.ai/code でセッションを開いてエラーを確認してください。git が認証できなかったことをエラーが示している場合は、ランナーの [git 認証情報](#configure-git)を確認してください。`--use-anthropic-git-proxy` 付きで起動したランナーでは、[git プロキシを使用するランナーでセッションの開始に失敗した場合](#when-anthropic-doesnt-serve-a-session)を参照してください。807* **ピックアップ直後にセッションが失敗する**: claude.ai/code でセッションを開いてエラーを確認してください。git が認証できなかったことをエラーが示している場合は、ランナーの [git 認証情報](#configure-git)を確認してください。`--use-anthropic-git-proxy` 付きで起動したランナーでは、[git プロキシを使用するランナーでセッションの開始に失敗した場合](#when-anthropic-doesnt-serve-a-session)を参照してください。

685 808 

686 書き込めないベースディレクトリは、セッションを失敗させるのではなく、起動時にランナーを停止させます。このリストの **ランナーが起動時に `cannot create or write to base directory` で終了する** の項目を参照してください。809 書き込めないベースディレクトリは、セッションを失敗させるのではなく、起動時にランナーを停止させます。このリストの **ランナーが起動時に `cannot create or write to base directory` で終了する** の項目を参照してください。

810* **セッションはピックアップされたが、Claude が最初のメッセージに応答しない**: ランナーがプロキシ経由で `api.anthropic.com` に到達している場合は、セッションの `/worker/events/stream` レスポンスを到着したとおりに通過させるようにプロキシを設定してください。ランナーのタイムアウトを引き上げても解決しません。ランナーのログで原因を確認するには、[セッションはピックアップされたが、Claude が最初のメッセージに応答しない](#when-a-sessions-first-message-is-never-answered)を参照してください。

687* **`--use-anthropic-git-proxy` を設定したランナーでセッションの開始に失敗する**: ランナーのログで `access denied by the git proxy`、または `/git_proxy/` を含む `api.anthropic.com` アドレスを示す git エラーを探してください。Anthropic がセッションを処理したかどうかを判断して原因を修正するには、[git プロキシを使用するランナーでセッションの開始に失敗した場合](#when-anthropic-doesnt-serve-a-session)を参照してください。811* **`--use-anthropic-git-proxy` を設定したランナーでセッションの開始に失敗する**: ランナーのログで `access denied by the git proxy`、または `/git_proxy/` を含む `api.anthropic.com` アドレスを示す git エラーを探してください。Anthropic がセッションを処理したかどうかを判断して原因を修正するには、[git プロキシを使用するランナーでセッションの開始に失敗した場合](#when-anthropic-doesnt-serve-a-session)を参照してください。

688* **認証を行うエグレスプロキシ経由でセッションがネットワークに到達できない**: [`--proxy-authorization-command` または `--proxy-authorization-file`](#authenticate-to-an-egress-proxy) で設定したソースが失敗する、30 秒後にタイムアウトする、または空の値を返す場合、ランナーはその接続に `502 Bad Gateway` で応答し、理由をログに記録します。ランナーはそのログ内でコマンドの stderr を秘匿し、ヘッダー値をログに記録することはありません。`--proxy-authorization-command` を使用している場合は、ホスト上でそのコマンドを自分で実行し、ヘッダー値全体が stdout に出力されることを確認してください。代わりにランナーが起動時に `could not start the proxy-authorization listener` で終了する場合、ランナーはループバックリスナーを開けませんでした。812* **認証を行うエグレスプロキシ経由でセッションがネットワークに到達できない**: [`--proxy-authorization-command` または `--proxy-authorization-file`](#authenticate-to-an-egress-proxy) で設定したソースが失敗する、30 秒後にタイムアウトする、または空の値を返す場合、ランナーはその接続に `502 Bad Gateway` で応答し、理由をログに記録します。ランナーはそのログ内でコマンドの stderr を秘匿し、ヘッダー値をログに記録することはありません。`--proxy-authorization-command` を使用している場合は、ホスト上でそのコマンドを自分で実行し、ヘッダー値全体が stdout に出力されることを確認してください。代わりにランナーが起動時に `could not start the proxy-authorization listener` で終了する場合、ランナーはループバックリスナーを開けませんでした。

689* **ランナーが `rejecting the malformed poll response` を含む `Poll failed` 行をログに記録する**: ランナーが受け取ったワークポーリングのレスポンスのボディが、キューが想定する JSON ではありません。原因の 1 つは、インターセプトプロキシやキャプティブポータルが独自のページで応答したことです。ランナーがプロキシ経由で接続している場合は、`api.anthropic.com` からのレスポンスを変更せずに通過させるようにプロキシを設定してください。813* **ランナーが `rejecting the malformed poll response` を含む `Poll failed` 行をログに記録する**: ランナーが受け取ったワークポーリングのレスポンスのボディが、キューが想定する JSON ではありません。原因の 1 つは、インターセプトプロキシやキャプティブポータルが独自のページで応答したことです。ランナーがプロキシ経由で接続している場合は、`api.anthropic.com` からのレスポンスを変更せずに通過させるようにプロキシを設定してください。


708* **セッションが `This runner couldn't read` で開始に失敗する**: ランナーが [git 認証情報](#configure-git)を使って git ホストにリポジトリを要求し、見つからないという応答を受け取りました。リポジトリが存在しないか、その認証情報ではリポジトリにアクセスできません。832* **セッションが `This runner couldn't read` で開始に失敗する**: ランナーが [git 認証情報](#configure-git)を使って git ホストにリポジトリを要求し、見つからないという応答を受け取りました。リポジトリが存在しないか、その認証情報ではリポジトリにアクセスできません。

709 * **ランナーを管理している場合**: ランナーの git 認証情報にリポジトリへの読み取りアクセス権を付与してから、新しいセッションを開始してください。833 * **ランナーを管理している場合**: ランナーの git 認証情報にリポジトリへの読み取りアクセス権を付与してから、新しいセッションを開始してください。

710 * **セッションを開始した場合**: リポジトリが存在しない場合は、正しいリポジトリで新しいセッションを開始してください。ランナーがリポジトリにアクセスできない場合は、ランナーの管理者にアクセス権の付与を依頼してから、新しいセッションを開始してください。834 * **セッションを開始した場合**: リポジトリが存在しない場合は、正しいリポジトリで新しいセッションを開始してください。ランナーがリポジトリにアクセスできない場合は、ランナーの管理者にアクセス権の付与を依頼してから、新しいセッションを開始してください。

711* **セッションの開始に数分かかる**: 通常、最初のクローンが大部分を占めます。`claude_code_self_hosted_runner_session_init_duration_seconds` [メトリクス](https://code.claude.com/docs/ja/self-hosted-environments-reference.md#prometheus-metrics)を監視して確認し、[事前にウォームアップしたチェックアウト](#reuse-a-pre-warmed-checkout)またはより小さい `CLAUDE_RUNNER_FETCH_DEPTH` でクローンを短縮してください。835* **セッションの開始または再開に数分かかる**: 原因の 1 つは新規のクローンです。各ランナーを空のディスクで起動し、[`checkout` フック](https://code.claude.com/docs/ja/self-hosted-environments-configuration#checkout)がないフリートでは、ランナーは Claude Code を起動する前にセッションのリポジトリを新たにクローンします。空のディスク上で再開するセッションも、同じクローンを再び待つことになります。

836 

837 新規のクローンを省略するには、[事前にウォームアップしたチェックアウト](#reuse-a-pre-warmed-checkout)を用意してください。すでに用意している場合は、[ランナーがそれを使用していることを確認](#confirm-that-the-runner-uses-your-clone)してください。ランナー自身がクローンを作成し、1 つのセッションの後に終了する場合は、[`CLAUDE_RUNNER_FETCH_DEPTH`](https://code.claude.com/docs/ja/self-hosted-environments-reference#environment-variable-only-settings) をデフォルトの 50 コミットから下げて、フェッチする履歴を減らしてください。

838 

839 フックを使用している場合、フックはランナーのクローンの代わりに実行されるため、代わりにフックの処理内容を確認してください。開始にかかる時間を確認するには、`claude_code_self_hosted_runner_session_init_duration_seconds` [メトリクス](https://code.claude.com/docs/ja/self-hosted-environments-reference.md#prometheus-metrics)を監視してください。

712* **ターンが 401 で失敗する**: ターンが Anthropic API からの 401 または 403 で終了すると、ランナーは Anthropic から新しい [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/ja/self-hosted-environments-configuration#wrapper-scripts) を取得してセッションに渡します。失敗したターンは再試行されません。このトークンは有効期間が短く、ランナーはセッションの stdin を介してこれをローテーションします。840* **ターンが 401 で失敗する**: ターンが Anthropic API からの 401 または 403 で終了すると、ランナーは Anthropic から新しい [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/ja/self-hosted-environments-configuration#wrapper-scripts) を取得してセッションに渡します。失敗したターンは再試行されません。このトークンは有効期間が短く、ランナーはセッションの stdin を介してこれをローテーションします。

713 841 

714 取得に失敗すると、ランナーはいつ再試行するかを示す `inference_token refresh failed` 行をログに記録し、セッションが実行されている間は再試行を続けます。842 取得に失敗すると、ランナーはいつ再試行するかを示す `inference_token refresh failed` 行をログに記録し、セッションが実行されている間は再試行を続けます。


788 916 

789ランナーホストでガイド付きの診断を行うには、[doctor サブコマンド](#troubleshooting)を実行してください。917ランナーホストでガイド付きの診断を行うには、[doctor サブコマンド](#troubleshooting)を実行してください。

790 918 

919### セッションはピックアップされたが、Claude が最初のメッセージに応答しない

920 

921ランナーがセッションをピックアップしたのに Claude が最初のメッセージに応答せず、ランナーがプロキシ経由で `api.anthropic.com` に到達している場合は、プロキシが原因である可能性があります。Anthropic は、開いたままになる 1 つのストリーミングレスポンスを通じてセッションにメッセージを送信します。プロキシがこのレスポンスをバッファリングしたり、何も渡さないうちに終了させたりすると、最初のメッセージは届きません。セッションからの他のリクエストは引き続き成功します。

922 

923修正するには、プロキシがこのリクエストを処理する方法を変更してください:

924 

925```text theme={null}

926GET https://api.anthropic.com/v1/code/sessions/<session-id>/worker/events/stream

927```

928 

929* **レスポンスをバッファリングしない**: 到着したとおりに通過させてください。コンテンツタイプは `text/event-stream` です。

930* **レスポンスを開いたままにする**: レスポンスは最長 1 時間開いたままになることがあります。プロキシにアイドルタイムアウトがある場合は、15 秒よりも十分に長くしてください。Anthropic はデフォルトで少なくともその頻度でキープアライブを送信するためです。

931 

932その後、新しいセッションを開始し、Claude が応答することを確認してください。ランナーのタイムアウトを引き上げても解決しません。ランナーがセッションを停止するまでの待ち時間が長くなるだけです。

933 

934#### ランナーのログで原因を確認する

935 

936以下の手順は、デフォルトの `--log-level info` で動作する Claude Code v2.1.287 以降のランナーを対象としています。それより古いランナーでは、これらの行はより遅れて記録されるか、まったく記録されません。

937 

9381. [`--startup-timeout-min`](https://code.claude.com/docs/ja/self-hosted-environments-reference#runner-cli-flags)(デフォルトは 15 分)が経過するのを待ちます。するとランナーはセッションを停止し、`no child output for` を含み `— releasing` で終わる行をログに記録します。

9392. ランナーのログで `SDKStartup: SSE` を検索します。これらの行は、手順 1 の行から数行後にある `finished: interrupted` 行に続きます。ほとんどの行にはタイムスタンプがないため、ログコレクターでは別の場所に表示されることがあります。

9403. 次の表で該当する行を見つけます:

941 

942| ログ行に含まれる内容 | 対処方法 |

943| :- | :- |

944| `SSE connect failed (no response in 30s)` または `SSE liveness timeout` | プロキシがリクエストを転送し、レスポンスのヘッダーとデータを到着したとおりに通過させ、接続を切断していないことを確認してください |

945| `SSE connect failed (HTTP` とステータスコード | プロキシ自身のログを確認してください。プロキシ自体がリクエストに応答していた場合は、リクエストがプロキシを通過するようにしてください。 |

946| `SSE connect failed (` とその他のテキスト | 括弧内のテキストがエラーです。プロキシ自身のログで同じ接続を探してください。 |

947| `SSE stream ended by server` が何度も繰り返される | 長時間続くレスポンスに対するプロキシの時間制限を確認してください。このような行が 1 つだけであれば正常です。 |

948| `SSE reconnected after` | その後にある他のいずれかの行を探してください。この行は、何かがセッションに届いたことを意味するものではありません。 |

949 

950ログにこれらの行がいずれもない場合、またはプロキシのログに問題が見当たらない場合は、[問題を報告](#report-an-issue)してください。

951 

952#### セッションの再試行を止める

953 

954セッションはメッセージを保留したままにし、セッションの所有者に対応できるランナーがセッションを再びピックアップします。プロキシを変更するまで、セッションは毎回同じように待機します。これを止めるには、claude.ai/code でセッションをアーカイブしてください。

955 

791## 次のステップ956## 次のステップ

792 957 

793* [セッションをカスタマイズする](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md):ラッパースクリプト、ライフサイクルフック、オンデマンドランナー、MCP サーバー、権限958* [セッションをカスタマイズする](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md):ラッパースクリプト、ライフサイクルフック、オンデマンドランナー、MCP サーバー、権限

Details

121* **セッションが git エラーで開始に失敗する**:エラーに git の `could not read Username for` に続いて git ホストの URL が含まれている場合、ランナーにはそのホストの HTTPS 認証情報がありませんでした。121* **セッションが git エラーで開始に失敗する**:エラーに git の `could not read Username for` に続いて git ホストの URL が含まれている場合、ランナーにはそのホストの HTTPS 認証情報がありませんでした。

122 * **HTTPS 認証情報を指定する**:[git を設定する](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#configure-git)を参照してください122 * **HTTPS 認証情報を指定する**:[git を設定する](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#configure-git)を参照してください

123 * **代わりに SSH でクローンする**:ランナーホストに既に SSH キーがある場合は、[プライベートネットワーク向けに git URL を書き換える](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#rewrite-git-urls-for-private-networks)を参照してください123 * **代わりに SSH でクローンする**:ランナーホストに既に SSH キーがある場合は、[プライベートネットワーク向けに git URL を書き換える](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#rewrite-git-urls-for-private-networks)を参照してください

124 * **いずれかの修正の後**:ランナーを再度起動し、新しいセッションを開始するのではなく、失敗したセッションを監視してください。何度も失敗している場合は、ランナーが `Picked up session` をログに記録するまで数分待ってください。

125 * **代わりに別のリポジトリを使用する場合**:失敗したセッションを[アーカイブ](https://code.claude.com/docs/ja/claude-code-on-the-web.md#archive-sessions)または[削除](https://code.claude.com/docs/ja/claude-code-on-the-web.md#delete-sessions)してから、ランナーを再度起動して新しいセッションを開始してください。そうしないと、ランナーが新しいセッションではなく失敗したセッションを取得することがあります。

124 126 

125### ランナーが終了した場合127### ランナーが終了した場合

126 128 

Details

83 83 

84| フラグ | デフォルト | 説明 |84| フラグ | デフォルト | 説明 |

85| :- | :- | :- |85| :- | :- | :- |

86| `--hook-concurrency <n>` | `4` | 並列で実行される最大 `spawn-runner` フック数。また、ポーリングごとにクレームされるスポーン要求の数もキャップします。 |86| `--hook-concurrency <n>` | `4` | 並列で実行される最大 `spawn-runner` フック数。また、ポーリングごとにクレームされるスポーン要求の数もキャップします。オーケストレーターは、開始したすべてのフックが終了した後にのみ新しいスポーン要求を確認するため、1 つの遅いフックがそのオーケストレーターの次のフックを遅延させます。 |

87| `--hook-timeout <sec>` | `60` | この多くの秒後にフックのプロセスツリーを終了します。タイムアウトとその 5 秒のキルグレースは `--expected-spawn-seconds` より下にある必要があります。オーケストレーターはスタートアップでこれを強制します。 |87| `--hook-timeout <sec>` | `60` | この多くの秒後にフックのプロセスツリーを終了します。タイムアウトとその 5 秒のキルグレースは `--expected-spawn-seconds` より下にある必要があります。オーケストレーターはスタートアップでこれを強制します。 |

88| `--expected-spawn-seconds <sec>` | `120` | オーケストレーターがスポーン要求を受信してからランナーが登録されるまでの予想 p99 時間(プラットフォーム上でのキャパシティ待ちを含む)。サーバーは 10 ~ 3600 の範囲を強制します。すべてのポーリングでサーバー側リースとして送信されます。ランナーが経過前に登録されない場合、セッションは新しいオーダー ID で再提供されます。すべてのレプリカはこの値を共有する必要があります。 |88| `--expected-spawn-seconds <sec>` | `120` | オーケストレーターがスポーン要求を受信してからランナーが登録されるまでの予想 p99 時間(プラットフォーム上でのキャパシティ待ちを含む)。サーバーは 10 ~ 3600 の範囲を強制します。すべてのポーリングでサーバー側リースとして送信されます。ランナーが経過前に登録されない場合、セッションは新しいオーダー ID で再提供されます。すべてのレプリカはこの値を共有する必要があります。 |

89| `--min-idle <n>` | `0` | スタンバイランナーを積極的に生成することで、少なくとも N 個のアイドルセッションスロットを無料で保ちます。`0` はプレウォーミングを無効にします。ランナーの `--exit-if-unused-min` とペアにして、余分なスタンバイランナーが自分自身を再利用するようにします。 |89| `--min-idle <n>` | `0` | スタンバイランナーを積極的に生成することで、少なくとも N 個のアイドルセッションスロットを無料で保ちます。`0` はプレウォーミングを無効にします。ランナーの `--exit-if-unused-min` とペアにして、余分なスタンバイランナーが自分自身を再利用するようにします。 |


116| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | セッションが `--kill-session-after-min` 制限に達した後、実行中のターンが終了するか、リリースが完了するのを待つ時間。その後、ランナーはセッションを終了します。 |116| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | セッションが `--kill-session-after-min` 制限に達した後、実行中のターンが終了するか、リリースが完了するのを待つ時間。その後、ランナーはセッションを終了します。 |

117| `SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MS` | `7000` | ターンが終了した後、セッションのプロセスがターンの終了を Anthropic に報告している間、ランナーが `--drain-wait-sec` ドレイン用にセッションをビジーとしてカウントする時間の上限。`0` または使用不可能な値はデフォルトにフォールバックするため、ホールドをオフにすることはできません。Claude Code v2.1.275 以降が必要です。 |117| `SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MS` | `7000` | ターンが終了した後、セッションのプロセスがターンの終了を Anthropic に報告している間、ランナーが `--drain-wait-sec` ドレイン用にセッションをビジーとしてカウントする時間の上限。`0` または使用不可能な値はデフォルトにフォールバックするため、ホールドをオフにすることはできません。Claude Code v2.1.275 以降が必要です。 |

118| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | ランナーが割り込み不可能な I/O でスタックしている子に `SIGKILL` を配信するのを待つ時間。その後、ランナー自体が終了します。`--post-session-hook-timeout-sec` プラス 15 秒でフロアされ、`--push-outcome-on-release` が設定されている場合は 30 秒追加されます。有効な最小値はデフォルトで 75 秒です。 |118| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | ランナーが割り込み不可能な I/O でスタックしている子に `SIGKILL` を配信するのを待つ時間。その後、ランナー自体が終了します。`--post-session-hook-timeout-sec` プラス 15 秒でフロアされ、`--push-outcome-on-release` が設定されている場合は 30 秒追加されます。有効な最小値はデフォルトで 75 秒です。 |

119| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | 新規クローン用の Git フェッチ深度。正の整数、または完全なフェッチ用に `full` または `0` を設定します。ワークスペースに既に存在するリポジトリは既存の深度を保持します。 |119| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | 新規クローン用の Git フェッチ深度。正の整数、または完全なフェッチ用に `full` または `0` を設定します。ワークスペースに既に存在するクローンについては、[事前ウォームアップ済みのチェックアウトを再利用する](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout)を参照してください。 |

120| `CLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MS` | `600000` | git サーバー自身の進捗値が上昇し続けている間(サーバーが大規模なリポジトリ用のパックを準備している場合など)、git フェッチが最初のデータを待機できる時間(試行ごと、ミリ秒単位)。`0` または `off` を指定すると待機がオフになり、その場合、そのようなフェッチはデータがないまま 2 分経過すると打ち切られます。その他の整数は `120000` から `1800000` の範囲(2〜30 分)に制限されます。Claude Code v2.1.295 以降が必要です。 |120| `CLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MS` | `600000` | git サーバー自身の進捗値が上昇し続けている間(サーバーが大規模なリポジトリ用のパックを準備している場合など)、git フェッチが最初のデータを待機できる時間(試行ごと、ミリ秒単位)。`0` または `off` を指定すると待機がオフになり、その場合、そのようなフェッチはデータがないまま 2 分経過すると打ち切られます。その他の整数は `120000` から `1800000` の範囲(2〜30 分)に制限されます。Claude Code v2.1.295 以降が必要です。 |

121| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | 未設定 | `1` の場合、`checkout` フック実行後の `.git` 存在チェックをスキップします。フックが非 git ソースを具体化する場合は、これを設定します。 |121| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | 未設定 | `1` の場合、`checkout` フック実行後の `.git` 存在チェックをスキップします。フックが非 git ソースを具体化する場合は、これを設定します。 |

122| `FORCE_AUTOUPDATE_PLUGINS` | 未設定 | `1` の場合、バイナリがピン留めされていても、プラグインマーケットプレイスの自動更新を許可します。 |122| `FORCE_AUTOUPDATE_PLUGINS` | 未設定 | `1` の場合、バイナリがピン留めされていても、プラグインマーケットプレイスの自動更新を許可します。 |


229 interval: 30s229 interval: 30s

230```230```

231 231 

232### サンプルアラートルール

233 

232これらのサンプルアラートルールは出発点です。フリートサイズのしきい値を調整します。234これらのサンプルアラートルールは出発点です。フリートサイズのしきい値を調整します。

233 235 

234```yaml theme={null}236```yaml theme={null}


250 annotations:252 annotations:

251 summary: "ランナーは混合バージョンを実行しています"253 summary: "ランナーは混合バージョンを実行しています"

252 - alert: ClaudeRunnerInitErrorsHigh254 - alert: ClaudeRunnerInitErrorsHigh

253 expr: increase(claude_code_self_hosted_runner_session_init_errors_total[10m]) > 3255 expr: sum by (namespace) (increase(claude_code_self_hosted_runner_session_init_errors_total[10m])) > 3

254 for: 5m256 for: 5m

255 labels: {severity: warning}257 labels: {severity: warning}

256 annotations:258 annotations:

257 summary: "ランナー {{ $labels.pod }}:10 分間に 3 回以上のセッション初期化失敗(チェックアウトフック / git / トークン / 初期化前クラッシュ)"259 summary: "セッションが初期化前に失敗しています(チェックアウトフック / git / トークン / 初期化前クラッシュ)"

258 - alert: ClaudeRunnerPollErrors260 - alert: ClaudeRunnerPollErrors

259 expr: sum by (pod) (rate(claude_code_self_hosted_runner_poll_errors_total[5m])) > 0261 expr: sum by (pod) (rate(claude_code_self_hosted_runner_poll_errors_total[5m])) > 0

260 for: 2m262 for: 2m


262 annotations:264 annotations:

263 summary: "ランナー {{ $labels.pod }}:PollWork が失敗しています(5 分間に {{ $value | humanize }}/s)"265 summary: "ランナー {{ $labels.pod }}:PollWork が失敗しています(5 分間に {{ $value | humanize }}/s)"

264 - alert: ClaudeRunnerSessionStartHookErrors266 - alert: ClaudeRunnerSessionStartHookErrors

265 expr: increase(claude_code_self_hosted_runner_session_start_hook_errors_total[10m]) > 3267 expr: sum by (namespace) (increase(claude_code_self_hosted_runner_session_start_hook_errors_total[10m])) > 3

266 for: 5m268 for: 5m

267 labels: {severity: warning}269 labels: {severity: warning}

268 annotations:270 annotations:

269 summary: "ランナー {{ $labels.pod }}:10 分間に 3 回以上の SessionStart フック失敗"271 summary: "SessionStart フックが失敗しています"

270 272 

271 - name: claude-code-self-hosted-orchestrator273 - name: claude-code-self-hosted-orchestrator

272 rules:274 rules:


283 annotations:285 annotations:

284 summary: "オーケストレーター {{ $labels.pod }} は 90 秒以上ポーリングしていません(ポーリングループはフック実行で待機)"286 summary: "オーケストレーター {{ $labels.pod }} は 90 秒以上ポーリングしていません(ポーリングループはフック実行で待機)"

285 - alert: ClaudeOrchestratorCircuitBroken287 - alert: ClaudeOrchestratorCircuitBroken

286 expr: claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions > 0288 expr: max by (namespace) (claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions and on (instance) max_over_time(claude_code_self_hosted_orchestrator_connected[2m]) == 1) > 0

287 for: 1m289 for: 1m

288 labels: {severity: critical}290 labels: {severity: critical}

289 annotations:291 annotations:


302 summary: "オーケストレーター {{ $labels.pod }}:5 分間に 3 回以上の spawn-runner フック失敗"304 summary: "オーケストレーター {{ $labels.pod }}:5 分間に 3 回以上の spawn-runner フック失敗"

303```305```

304 306 

307### ランナーの喪失と待機中のセッションでアラートする

308 

309[固定フリート](https://code.claude.com/docs/ja/self-hosted-environments-deploy.md#scale-the-fleet) では、`ClaudeRunnersBelowFloor` を読み込みます。[オンデマンドランナー](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#on-demand-runners) を使用する場合は、代わりに `ClaudeOrchestratorSessionsWaiting` と `ClaudeOrchestratorQueueWaitHigh` を読み込みます。

310 

311#### 固定フリートがランナーを失ったときにアラートする

312 

313`ClaudeRunnersBelowFloor` は、登録済みかつスクレイプ済みのランナー数がフロアを下回る状態が 10 分間続いたときに発火します。

314 

315```yaml theme={null}

316groups:

317 # 固定フリートのみ。オンデマンドランナーではランナー数が需要に従うため、

318 # ClaudeRunnersBelowFloor は需要が低いときに常に発火してしまいます。

319 - name: claude-code-self-hosted-fixed-fleet-capacity

320 rules:

321 - alert: ClaudeRunnersBelowFloor

322 expr: (count(claude_code_self_hosted_runner_info{namespace="claude-runners"}) or vector(0)) < 2

323 for: 10m

324 labels: {severity: critical, namespace: claude-runners}

325 annotations:

326 summary: "登録済みかつスクレイプ済みのランナー:{{ $value }}、フロアを下回っています。まずランナーのワークロードを確認し、すべて実行中であればスクレイプターゲットを確認してください。"

327```

328 

329* **フロア**:`expr` 内の `2` を、レプリカ数の約半分(切り上げ)に設定します。レプリカが 3 つの場合は `2` のままにすると、ランナーが 1 つ以下になったときにアラートが発火します。

330* **名前空間**:matcher と `labels` 内の `claude-runners` を置き換え、追加の名前空間ごとにアラートをコピーします。ターゲットに `namespace` ラベルがない場合は、matcher とラベルを削除してください。そうしないと、アラートは 0 を読み取って発火します。

331* **`ClaudeRunnerPollStale` と `ClaudeRunnerPollErrors`**:[サンプルアラートルール](#sample-alert-rules) から読み込んだままにしておきます。`ClaudeRunnersBelowFloor` はポーリングできないランナーもカウントするためです

332 

333#### オンデマンドランナーをセッションが待機しているときにアラートする

334 

335`ClaudeOrchestratorSessionsWaiting` は、ランナーを待機しているセッション数が 10 分間 0 を超えたままのときに発火します。`ClaudeOrchestratorQueueWaitHigh` は、直近 10 分間のキュー待機の 1% 超が 160 秒を超え、その状態が 5 分間続いたときに発火します。

336 

337```yaml theme={null}

338groups:

339 # オンデマンドランナーのみ。名前空間に合わせた編集は不要です。

340 - name: claude-code-self-hosted-on-demand-capacity

341 rules:

342 - alert: ClaudeOrchestratorSessionsWaiting

343 expr: |

344 max by (namespace) (

345 claude_code_self_hosted_orchestrator_pool_pending_sessions

346 and on (instance)

347 max_over_time(claude_code_self_hosted_orchestrator_connected[2m]) == 1

348 ) > 0

349 for: 10m

350 labels: {severity: warning}

351 annotations:

352 summary: "ランナーを待機しているセッション:{{ $value }}、10 分間しきい値を超えています。result 別の claude_code_self_hosted_orchestrator_spawn_hooks_total を確認し、次に起動しないランナーのワークロードを確認してください。"

353 - alert: ClaudeOrchestratorQueueWaitHigh

354 expr: |

355 histogram_quantile(0.99, sum by (namespace, le) (

356 rate(claude_code_self_hosted_orchestrator_session_queue_wait_seconds_bucket[10m])

357 )) > 160

358 for: 5m

359 labels: {severity: warning}

360 annotations:

361 summary: "直近 10 分間のキュー待機の 1% 超が 160 秒を超えました。ClaudeOrchestratorDisconnected が発火しているかを確認し、次に result 別の claude_code_self_hosted_orchestrator_spawn_hooks_total と claude_code_self_hosted_orchestrator_spawn_hook_duration_seconds を確認してください。"

362```

363 

364* **しきい値**:常に何らかのセッションが待機している場合は、`ClaudeOrchestratorSessionsWaiting` の `> 0` を、通常見られる数より大きい値に引き上げます

365* **`ClaudeOrchestratorDisconnected`**:[サンプルアラートルール](#sample-alert-rules) から読み込んだままにしておきます。`ClaudeOrchestratorSessionsWaiting` は、名前空間内の最後のオーケストレーターが切断されてから約 2 分後に発火を停止するためです

366 

305### セッション子メトリクスをパススルーする367### セッション子メトリクスをパススルーする

306 368 

307各セッションは独自の子プロセスで実行され、独自の OpenTelemetry メトリクスを持ちます。`--capacity` が 1 を超える場合、ランナーはそれらの子メトリクスの公開方法を書き換えます。ランナーホストで `OTEL_METRICS_EXPORTER=prometheus` を設定し、セッションの環境で `CLAUDE_CODE_ENABLE_TELEMETRY=1` を設定します。例えば、[ラッパースクリプト](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#wrapper-scripts) またはセッションが継承するランナー独自の環境から、各子のカウンターとゲージ計器をランナー独自の `/metrics` エンドポイントで再公開します。ランナーのシリーズと並んで。ランナーは子のエクスポーターを書き換えて、ヘルスポートのループバックのみのレシーバーに OTLP 経由でプッシュし、各シリーズに `session_id` および `client_platform` ラベルでタグ付けし、セッションが終了するとセッションのシリーズを削除します。ヒストグラムはパススルーしません。ランナー独自のプレフィックスと衝突する子メトリクスの名前は削除されます。369各セッションは独自の子プロセスで実行され、独自の OpenTelemetry メトリクスを持ちます。`--capacity` が 1 を超える場合、ランナーはそれらの子メトリクスの公開方法を書き換えます。ランナーホストで `OTEL_METRICS_EXPORTER=prometheus` を設定し、セッションの環境で `CLAUDE_CODE_ENABLE_TELEMETRY=1` を設定します。例えば、[ラッパースクリプト](https://code.claude.com/docs/ja/self-hosted-environments-configuration.md#wrapper-scripts) またはセッションが継承するランナー独自の環境から、各子のカウンターとゲージ計器をランナー独自の `/metrics` エンドポイントで再公開します。ランナーのシリーズと並んで。ランナーは子のエクスポーターを書き換えて、ヘルスポートのループバックのみのレシーバーに OTLP 経由でプッシュし、各シリーズに `session_id` および `client_platform` ラベルでタグ付けし、セッションが終了するとセッションのシリーズを削除します。ヒストグラムはパススルーしません。ランナー独自のプレフィックスと衝突する子メトリクスの名前は削除されます。

settings-reference.md +226 −198

Details

266 266 

267## モデルと応答267## モデルと応答

268 268 

269Claude Code が使用するモデルと応答方法を選択します。これらの設定が `/model` コマンドと環境変数とどのように相互作用するかについては、[モデル設定](https://code.claude.com/docs/ja/model-config.md)を参照してください。269Claude Code が使用するモデルと、その応答のしかたを選択します。これらの設定が `/model` コマンドや環境変数とどのように相互作用するかについては、[モデル設定](https://code.claude.com/docs/ja/model-config.md)を参照してください。

270 270 

271### `advisorModel`271### `advisorModel`

272 272 

273Claude がサーバー側の[アドバイザーツール](https://code.claude.com/docs/ja/advisor.md)を呼び出すときに回答するモデルを選択します。これを設定解除するとアドバイザーがオフになります。アドバイザーはメインモデル以上の能力を持つ必要があります。受け入れられるペアリングと受け入れられないペアリングを選択した場合の動作については、[アドバイザーモデルを選択](https://code.claude.com/docs/ja/advisor.md#choose-an-advisor-model)を参照してください。273Claude がサーバー側の [advisor ツール](https://code.claude.com/docs/ja/advisor.md)を呼び出したときに応答するモデルを選択します。設定を解除すると advisor はオフになります。advisor はメインモデルと同等以上の能力を持つ必要があります。受け入れられる組み合わせと、受け入れられない組み合わせを選択した場合の動作については、[advisor モデルを選択する](https://code.claude.com/docs/ja/advisor.md#choose-an-advisor-model)を参照してください。

274 274 

275通常、このキーを手動で編集することはありません。`/advisor` を実行して、現在の選択、アドバイザーができるモデル、および**アドバイザーなし**を表示するピッカーを開きます。Claude Code は選択を `~/.claude/settings.json` のこのキーに保存します。[リモートコントロール](https://code.claude.com/docs/ja/remote-control.md)クライアントから、またはリモートワーカーに接続されたセッションで選択した場合、その選択はそのセッションのみに適用され、このキーは変更されません。275通常、このキーを手動で編集することはありません。`/advisor` を実行すると、現在の選択、advisor として使用できるモデル、および **No advisor** を表示するピッカーが開きます。Claude Code は選択内容を `~/.claude/settings.json` のこのキーに保存します。[Remote Control](https://code.claude.com/docs/ja/remote-control.md) クライアントから選択した場合や、リモートワーカーに接続されたセッションで選択した場合、その選択はそのセッションにのみ適用され、このキーは変更されません。

276 276 

277アカウントが[使用クレジット同意](https://code.claude.com/docs/ja/advisor.md#fable-advisor-and-usage-credits)を必要とする場合は、`/model fable` を実行して最初に同意を受け入れます。これを行うまで、`/advisor` で Fable を選択しても何も保存されず、Claude Code は最初に `/model fable` を実行するよう指示します。277アカウントで[使用クレジットへの同意](https://code.claude.com/docs/ja/advisor.md#fable-advisor-and-usage-credits)が必要な場合は、まず `/model fable` を実行して同意してください。同意するまでは、`/advisor` で Fable を選択しても何も保存されず、Claude Code は先に `/model fable` を実行するよう案内します。

278 278 

279* **スコープ**: [`任意のファイル`](#scopes)279* **スコープ**: [`Any file`](#scopes)

280* **タイプ**: 文字列、エイリアス `"fable"`、`"opus"`、または `"sonnet"` のいずれか。これらは Claude Code の現在のデフォルトバージョンのそのモデルファミリーに解決されます。または、`"claude-opus-5-5"` などの完全なモデル ID280* **型**: 文字列。エイリアス `"fable"`、`"opus"`、`"sonnet"` のいずれか(Claude Code におけるそのモデルファミリーの現在のデフォルトバージョンに解決されます)、または `"claude-opus-5-5"` のような完全なモデル ID

281* **デフォルト**: 設定解除されているため、アドバイザーはオフです281* **デフォルト**: 未設定。advisor はオフです

282* **セッションごとのオーバーライド**: `--advisor` はこのキーより優先されます。[`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](https://code.claude.com/docs/ja/env-vars)はアドバイザーをオフにし、このキーはそれをオンに戻すことはできません282* **セッションごとの上書き**: `--advisor` は、1 つのセッションに限りこのキーよりも優先されます。[`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](https://code.claude.com/docs/ja/env-vars) は advisor をオフにし、このキーで再びオンにすることはできません

283 283 

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

285{285{


287}287}

288```288```

289 289 

290このキーは、Amazon Bedrock や Claude Platform on AWS など、アドバイザーが[利用できない](https://code.claude.com/docs/ja/advisor.md#requirements)プロバイダーには影響しません。`"fable"` には[Fable アクセス](https://code.claude.com/docs/ja/advisor.md#choose-an-advisor-model)が必要です。290このキーは、Amazon Bedrock や Claude Platform on AWS など、advisor が[利用できない](https://code.claude.com/docs/ja/advisor.md#requirements)プロバイダーでは効果がありません。`"fable"` には [Fable へのアクセス](https://code.claude.com/docs/ja/advisor.md#choose-an-advisor-model)が必要です。

291 291 

292### `alwaysThinkingEnabled`292### `alwaysThinkingEnabled`

293 293 

294このキーを `false` に設定して、すべてのセッションで[拡張思考](https://code.claude.com/docs/ja/model-config.md#extended-thinking)をオフにします。思考はデフォルトでオンなので、`true` は何も変わりません。ほとんどの人はファイルを編集するのではなく `/config` を通じてこれを設定します。294これを `false` に設定すると、すべてのセッションで[拡張思考](https://code.claude.com/docs/ja/model-config.md#extended-thinking)がオフになります。思考はデフォルトでオンのため、`true` にしても何も変わりません。ほとんどのユーザーは、ファイルを編集するのではなく `/config` からこれを設定します。

295 295 

296Opus 5.5、Sonnet 5.5、Haiku 5.5、Fable モデルなど、常に思考するモデルでは、`false` は効果がありません。[サードパーティプロバイダー](https://code.claude.com/docs/ja/third-party-integrations.md)では、Claude Code は思考をオフにする代わりに `thinking` パラメータを省略するため、適応推論モデルは引き続き思考する可能性があります。Anthropic API で思考をオフにした場合、Claude Code は、Opus 5 など[その組み合わせを受け付けない](https://code.claude.com/docs/ja/errors.md#effort-isnt-available-with-thinking-turned-off)ことが分かっているモデルに対して、より高いレベルの代わりに effort `high` を送信します。296Opus 5.5、Sonnet 5.5、Haiku 5.5、Fable モデルなど、常に思考するモデルでは `false` は効果がありません。[サードパーティプロバイダー](https://code.claude.com/docs/ja/third-party-integrations.md)では、Claude Code は思考をオフにする代わりに `thinking` パラメータを省略するため、適応型推論モデルは引き続き思考する場合があります。Anthropic API で思考をオフにした場合、Claude Code は、Opus 5 など[その組み合わせを受け付けない](https://code.claude.com/docs/ja/errors.md#effort-isnt-available-with-thinking-turned-off)ことが分かっているモデルに対して、より高いレベルではなく effort `high` を送信します。

297 297 

298* **スコープ**: [`任意のファイル`](#scopes)298* **スコープ**: [`Any file`](#scopes)

299* **タイプ**: ブール値299* **型**: Boolean

300 * `true`: 効果なし。思考は既にオンです300 * `true`: 効果なし。思考はすでにオンです

301 * `false`: Claude Code はすべてのセッションで拡張思考をオフにします301 * `false`: Claude Code はすべてのセッションで拡張思考をオフにします

302* **デフォルト**: 設定解除されているため、思考はそれをサポートするモデルではオンです302* **デフォルト**: 未設定。思考をサポートするモデルでは思考がオンになります

303* **セッションごとのオーバーライド**: [`MAX_THINKING_TOKENS`](https://code.claude.com/docs/ja/env-vars)はこのキーより優先されます。`0` は `false` と同じモデルおよびプロバイダーの制限の下で思考をオフにし、正の値は、このキーが `false` の場合でも思考をオンにします。適応推論モデルでは、数値自体は無視されます303* **セッションごとの上書き**: [`MAX_THINKING_TOKENS`](https://code.claude.com/docs/ja/env-vars) は、1 つのセッションに限りこのキーよりも優先されます。`0` は `false` と同じモデルおよびプロバイダーの制限のもとで思考をオフにし、正の値はこのキーが `false` の場合でも思考をオンにします。適応型推論モデルでは、数値そのものは無視されます

304 304 

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

306{306{


310 310 

311### `availableModels`311### `availableModels`

312 312 

313メインセッション、[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)、[スキル](https://code.claude.com/docs/ja/skills.md)、および[アドバイザー](https://code.claude.com/docs/ja/advisor.md)で選択できるモデルを制限します。管理リストは `/model`、`--model`、および開発者自身のファイルの `model` キーを制限します。リスト外のモデルは選択できません。デフォルトのプレフィックスマッチングでは、これは Default オプション自体には影響しません。[`enforceAvailableModels`](#enforceavailablemodels)とペアにしてください。313メインセッション、[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)、[スキル](https://code.claude.com/docs/ja/skills.md)、[advisor](https://code.claude.com/docs/ja/advisor.md) でユーザーが選択できるモデルを制限します。管理されたリストは、`/model`、`--model`、および開発者自身のファイル内の `model` キーを制約し、リスト外のモデルは選択できません。デフォルトのプレフィックス一致では、これだけでは Default オプションには影響しません。Default オプションも制限するには、[`enforceAvailableModels`](#enforceavailablemodels) と組み合わせてください。

314 314 

315* **スコープ**: [`任意のファイル`](#scopes)。組織に対して強制するために、管理設定にデプロイします。315* **スコープ**: [`Any file`](#scopes)。組織全体に適用するには、管理設定でデプロイします。

316* **タイプ**: モデルエイリアスまたは ID の配列316* **型**: モデルのエイリアスまたは ID の配列

317* **デフォルト**: 設定解除されているため、すべてのモデルが利用可能です317* **デフォルト**: 未設定。すべてのモデルが利用可能です

318 318 

319この例では、Sonnet と Haiku モデルのみを選択できます:319この例では、Sonnet と Haiku のモデルのみを選択できるようにします。

320 320 

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

322{322{


324}324}

325```325```

326 326 

327`"claude-opus-5"` などのモデル ID エントリは、Opus 5.5 などそれを拡張する後のバージョンも許可します。これらのバージョンのいずれかをブロックするには、[`deniedModels`](#deniedmodels)を使用します。各モデル ID エントリが名前を付けたバージョンのみを許可するようにするには、[`availableModelsMatch`](#availablemodelsmatch)を使用します。[モデル選択を制限](https://code.claude.com/docs/ja/model-config.md#restrict-model-selection)を参照してください。327`"claude-opus-5"` のようなモデル ID のエントリは、Opus 5.5 など、それを拡張する後続のバージョンも許可します。それらのバージョンのいずれかをブロックするには、[`deniedModels`](#deniedmodels) を使用します。各モデル ID のエントリが指定したバージョンのみを許可するようにするには、[`availableModelsMatch`](#availablemodelsmatch) を使用します。[モデル選択を制限する](https://code.claude.com/docs/ja/model-config.md#restrict-model-selection)を参照してください。サードパーティプロバイダーの ID については、[サードパーティデプロイ向けにモデルを固定する](https://code.claude.com/docs/ja/model-config.md#pin-models-for-third-party-deployments)を参照してください。

328 328 

329### `availableModelsMatch`329### `availableModelsMatch`

330 330 

331[`availableModels`](#availablemodels)エントリがモデル ID とどのように一致するかを選択します。デフォルトでは、モデル ID エントリはそれを拡張する後のバージョンも許可するため、`"claude-opus-5"` は Opus 5.5 を許可します。`"exact"` では、各モデル ID エントリは名前を付けたバージョンのみを許可するため、そのモデルの新しいバージョンはリストに追加されるまでブロックされたままです。Claude Code v2.1.283 以降が必要です。331[`availableModels`](#availablemodels) のエントリをモデル ID とどのように照合するかを選択します。デフォルトでは、モデル ID のエントリはそれを拡張する後続のバージョンも許可するため、`"claude-opus-5"` は Opus 5.5 を許可します。`"exact"` を指定すると、各モデル ID のエントリは指定したバージョンのみを許可するため、そのモデルの新しいバージョンは、リストに追加するまでブロックされたままになります。Claude Code v2.1.283 以降が必要です。

332 332 

333* **スコープ**: [`管理`](#scopes)。Claude Code はユーザー、プロジェクト、ローカル設定および `--settings` のキーを無視し、警告を表示します333* **スコープ**: [`Managed`](#scopes)。Claude Code は、ユーザー設定、プロジェクト設定、ローカル設定、および `--settings` 内のこのキーを警告付きで無視します

334* **タイプ**: 文字列、以下のいずれか:334* **型**: 文字列。次のいずれか:

335 * `"prefix"`: モデル ID エントリはそのバージョンと、別のセグメントで拡張するモデル ID を許可します335 * `"prefix"`: モデル ID のエントリは、そのバージョンと、別のセグメントでそれを拡張するすべてのモデル ID を許可します

336 * `"exact"`: モデル ID エントリは名前を付けたバージョンのみを許可します。日付付き ID を含むため、`"claude-opus-5"` は Opus 5 を許可しますが `claude-opus-5-5` は許可しません。`"opus"` などのファミリーエイリアスは依然としてファミリー全体を許可し、`best`、`opusplan`、および `default` エントリは無視されます336 * `"exact"`: モデル ID のエントリは指定したバージョンのみを許可するため、`"claude-opus-5"` は Opus 5 を許可しますが、`claude-opus-5-5` は許可しません。`"claude-opus-4-5"` のようなエントリは、日付付きの Anthropic モデル ID `claude-opus-4-5-20251101` も許可します。`"opus"` のようなファミリーエイリアスは引き続きファミリー全体を許可し、`best`、`opusplan`、`default` のエントリは無視されます

337* **デフォルト**: `"prefix"`337* **デフォルト**: `"prefix"`

338 338 

339この例は Opus 5 と Sonnet 5 を許可し、どちらの後のリリースも許可しません:339この例では、Opus 5 と Sonnet 5 を許可し、いずれの後続リリースも許可しません。

340 340 

341```json managed-settings.json theme={null}341```json managed-settings.json theme={null}

342{342{


345}345}

346```346```

347 347 

348`"exact"` では、リストが少なくとも 1 つのモデルまたはファミリーを名前付けするときはいつでも、Default オプションもリストされたモデルに制限されます。[特定のモデルまたはバージョンをブロック](https://code.claude.com/docs/ja/model-config.md#block-specific-models-or-versions)を参照してください。348`"exact"` を指定した場合、リストに少なくとも 1 つのモデルまたはファミリーが指定されていれば、Default オプションもリスト内のモデルに制限されます。[特定のモデルまたはバージョンをブロックする](https://code.claude.com/docs/ja/model-config.md#block-specific-models-or-versions)を参照してください。

349 349 

350### `deniedModels`350### `deniedModels`

351 351 

352[`availableModels`](#availablemodels)許可リストの有無にかかわらず、特定のモデルをブロックし、そのリストがそれらを許可する場合でもブロックします。Claude Code はブロックされたモデルを `/model` ピッカーから非表示にし、`availableModels` が強制される場所ではどこでもモデルを選択できません。Default オプションのセッションは、[特定のモデルまたはバージョンをブロック](https://code.claude.com/docs/ja/model-config.md#block-specific-models-or-versions)で説明されているように、ブロックされたモデルも実行しません。Claude Code v2.1.283 以降が必要です。352[`availableModels`](#availablemodels) 許可リストの有無にかかわらず、またそのリストで許可されている場合でも、特定のモデルをブロックします。Claude Code はブロックされたモデルを `/model` ピッカーに表示せず、`availableModels` が適用されるあらゆる場所でそのモデルを選択できなくなります。[特定のモデルまたはバージョンをブロックする](https://code.claude.com/docs/ja/model-config.md#block-specific-models-or-versions)で説明しているとおり、Default オプションのセッションでもブロックされたモデルは実行されません。Claude Code v2.1.283 以降が必要です。

353 353 

354* **スコープ**: [`管理`](#scopes)。Claude Code はユーザー、プロジェクト、ローカル設定および `--settings` のキーを無視し、警告を表示します354* **スコープ**: [`Managed`](#scopes)。Claude Code は、ユーザー設定、プロジェクト設定、ローカル設定、および `--settings` 内のこのキーを警告付きで無視します

355* **タイプ**: モデルエイリアスまたは ID の配列355* **型**: モデルのエイリアスまたは ID の配列

356 * `"opus"` などのファミリーエイリアスはそのファミリーのすべてのモデルをブロックします356 * `"opus"` のようなファミリーエイリアスは、そのファミリーのすべてのモデルをブロックします

357 * `"claude-opus-5-5"` などのモデル ID は、日付付きおよびプロバイダー固有の ID を含むすべてのスペルでそのバージョンをブロックします357 * `"claude-opus-5-5"` のようなモデル ID は、日付付き ID やプロバイダー固有の ID を含む、あらゆる表記のそのバージョンをブロックします

358 * `"claude-opus-5"` などのマイナーバージョンなしのモデル ID は、Opus 5.5 などの後のマイナーバージョンもブロックします。Opus 5 のみをブロックするには `"claude-opus-5-0"` を記述します358 * `"claude-opus-5"` のようにマイナーバージョンのないモデル ID は、Opus 5.5 など後続のマイナーバージョンもブロックします。Opus 5 のみをブロックするには `"claude-opus-5-0"` と記述します

359 * `best`、`opusplan`、および `default` エントリは無視されます359 * `best`、`opusplan`、`default` のエントリは無視されます

360* **デフォルト**: 設定解除されているため、モデルはブロックされません360* **デフォルト**: 未設定。ブロックされるモデルはありません

361 361 

362この例は Opus と Sonnet モデルを許可し、Opus 5.5 をブロックします:362この例では、Opus と Sonnet のモデルを許可し、Opus 5.5 をブロックします。

363 363 

364```json managed-settings.json theme={null}364```json managed-settings.json theme={null}

365{365{


368}368}

369```369```

370 370 

371[特定のモデルまたはバージョンをブロック](https://code.claude.com/docs/ja/model-config.md#block-specific-models-or-versions)を参照してください。371[特定のモデルまたはバージョンをブロックする](https://code.claude.com/docs/ja/model-config.md#block-specific-models-or-versions)を参照してください。

372 372 

373### `effortLevel`373### `effortLevel`

374 374 

375保存していないモデルのデフォルト[努力レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)を設定します。低いレベルは単純なタスクではより高速で安価であり、高いレベルは複雑な問題でより深く推論します。375レベルを保存していないモデルに対して、デフォルトの [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)を設定します。低いレベルは単純なタスクでより高速かつ低コストになり、高いレベルは複雑な問題に対してより深く推論します。

376 376 

377マシン上のインタラクティブセッションで `/effort low`、`medium`、`high`、または `xhigh` を実行すると、Claude Code はレベルをファイルを編集するのではなく [`modelSettings`](#modelsettings)の下のアクティブなモデルに保存します。v2.1.251 より前では、`/effort` はこのキーを書き込みました。377自分のマシン上の対話セッションで `/effort low`、`medium`、`high`、`xhigh` を実行すると、Claude Code はこのキーに書き込むのではなく、アクティブなモデルのレベルを [`modelSettings`](#modelsettings) の下に保存します。v2.1.251 より前は、`/effort` はこのキーに書き込んでいました。

378 378 

379同じ設定ファイル内で、Claude Code はこのキーではなくモデルの保存されたレベルを使用します。[`modelSettings`](#modelsettings)はクロスファイルの優先順位を述べています。379同じ設定ファイル内では、Claude Code はこのキーよりもモデルごとに保存されたレベルを使用します。ファイル間の優先順位については [`modelSettings`](#modelsettings) に記載しています。

380 380 

381リモートワーカーに接続されたセッション、`-p` 実行、および Agent SDK では、`/effort` はそのセッションのみに適用されます。[努力レベルを調整](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)はそのセッションのみに適用されるインタラクティブな選択肢もリストします。`/effort` が出力するメッセージは、どちらが起こったかを示します。381リモートワーカーに接続されたセッション、`-p` の実行、および Agent SDK では、`/effort` はそのセッションにのみ適用されます。同様にそのセッションにのみ適用される対話的な選択については、[effort レベルを調整する](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)に記載しています。`/effort` が出力するメッセージに、どちらになったかが示されます。

382 382 

383* **スコープ**: [`任意のファイル`](#scopes)383* **スコープ**: [`Any file`](#scopes)

384* **タイプ**: 文字列、以下のいずれか:384* **型**: 文字列。次のいずれか:

385 * `"low"`: 最小限の推論。短く、スコープが限定され、レイテンシに敏感で、インテリジェンスに敏感ではないタスク用385 * `"low"`: 推論が最も少なく、知能をあまり必要としない、短く範囲の限られたレイテンシー重視のタスク向け

386 * `"medium"`: コスト敏感な作業のトークン使用量を削減します。インテリジェンスをいくらか取引できます386 * `"medium"`: ある程度の知能と引き換えにできる、コスト重視の作業でトークン使用量を削減します

387 * `"high"`: トークン使用量とインテリジェンスのバランスを取ります387 * `"high"`: トークン使用量と知能のバランスを取ります

388 * `"xhigh"`: より高いトークン支出でより深い推論388 * `"xhigh"`: より多くのトークンを消費して、より深く推論します

389* **デフォルト**: 設定解除されています389* **デフォルト**: 未設定

390* **セッションごとのオーバーライド**: `--effort` はこのキーより優先されます。[`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ja/env-vars)は両方より優先されます390* **セッションごとの上書き**: `--effort` は 1 つのセッションに限りこのキーよりも優先され、[`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ja/env-vars) はその両方よりも優先されます

391 391 

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

393{393{


395}395}

396```396```

397 397 

398ユーザー設定ファイル `~/.claude/settings.json` では、このキーは `/effort` が保存する前の古い形式です。モデルごとにレベルを保存し、以前に適用された場所に適用され続けます。Opus 5、Fable 5.1、および以前のモデルで。Opus 5.5 およびそれ以降にリリースされたモデルはそれを無視し、[`modelSettings`](#modelsettings)の下でレベルを保存するまで独自のデフォルトで開始します。これは `/effort` が書き込みます。プロジェクト、ローカル、管理設定、および `--settings` では、このキーはすべてのモデルに適用されます。398ユーザー設定ファイル `~/.claude/settings.json` では、このキーは `/effort` がモデルごとにレベルを保存するようになる前に書き込んでいた古い形式であり、以前と同じ範囲、つまり Opus 5、Fable 5.1、およびそれ以前のモデルに引き続き適用されます。Opus 5.5 とそれ以降にリリースされたモデルはこのキーを無視し、レベルを保存するまでは独自のデフォルトで開始します。レベルは `/effort` によって [`modelSettings`](#modelsettings) の下に書き込まれます。プロジェクト設定、ローカル設定、管理設定、および `--settings` では、このキーはすべてのモデルに適用されます。

399 399 

400### `enforceAvailableModels`400### `enforceAvailableModels`

401 401 

402`/model` ピッカーには**Default**オプションがあり、[`default` モデル設定](https://code.claude.com/docs/ja/model-config#default-model-setting)はそれが解決するモデルを説明します。[`availableModels`](#availablemodels)許可リストは名前を付けることができるモデルを制限しますが、デフォルト[プレフィックスマッチング](#availablemodelsmatch)では、アカウントタイプのデフォルトを再マップしないため、**Default**はリスト外のモデルに解決できます。このキーはそのギャップを閉じます。Claude Code v2.1.175 以降が必要です。402`/model` ピッカーには **Default** オプションがあり、それが解決されるモデルについては [`default` モデル設定](https://code.claude.com/docs/ja/model-config#default-model-setting)で説明しています。[`availableModels`](#availablemodels) 許可リストは指定できるモデルを制限しますが、デフォルトの[プレフィックス一致](#availablemodelsmatch)ではアカウントタイプのデフォルトを再マッピングしないため、**Default** がリスト外のモデルに解決される場合があります。このキーはそのギャップを埋めます。Claude Code v2.1.175 以降が必要です。

403 403 

404組織が管理設定をデプロイすると、Claude Code はこのキーを管理ソースからのみ読み取り、他のファイルでは無視します。404組織が何らかの管理設定をデプロイしている場合、Claude Code はこのキーを管理ソースからのみ読み取り、他のファイル内のこのキーは無視します。

405 405 

406起動時のモデルチェックにこのキーがどのように適用されるかについては、[Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md#when-your-organization-enforces-a-model-allowlist) および [Google Cloud の Agent Platform](https://code.claude.com/docs/ja/google-vertex-ai.md#when-your-organization-enforces-a-model-allowlist) を参照してください。406起動時のモデルチェックにこのキーがどのように適用されるかについては、[Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md#when-your-organization-enforces-a-model-allowlist) および [Google Cloud's Agent Platform](https://code.claude.com/docs/ja/google-vertex-ai.md#when-your-organization-enforces-a-model-allowlist) を参照してください。

407 407 

408* **スコープ**: [`任意のファイル`](#scopes)408* **スコープ**: [`Any file`](#scopes)

409* **タイプ**: ブール値409* **型**: Boolean

410 * `true`: **Default**が `availableModels` 外のモデルに解決される場合、Claude Code はそれをリスト内の最初の利用可能なモデルに解決します410 * `true`: **Default** が `availableModels` 外のモデルに解決される場合、Claude Code はそれをリスト内で最初に利用可能なモデルに解決します

411 * `false`: このキーは**Default**の解決方法を変更しません411 * `false`: このキーは **Default** の解決方法を変更しません

412* **デフォルト**: `false`412* **デフォルト**: `false`

413 413 

414この例は、名前付き選択を Sonnet と Haiku モデルに制限し、**Default**を利用可能なそれらの最初のものに解決します:414この例では、名前による選択を Sonnet と Haiku のモデルに制限し、**Default** がそれらのうち最初に利用可能なものに解決されるようにします。

415 415 

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

417{417{


420}420}

421```421```

422 422 

423このキーは `availableModels` が設定解除されているか空の場合は効果がありません。[Default モデルの許可リストを強制](https://code.claude.com/docs/ja/model-config.md#enforce-the-allowlist-for-the-default-model)を参照してください。Claude Code v2.1.175 以降が必要です。423`availableModels` が未設定または空の場合、このキーは効果がありません。[Default モデルに許可リストを適用する](https://code.claude.com/docs/ja/model-config.md#enforce-the-allowlist-for-the-default-model)を参照してください。Claude Code v2.1.175 以降が必要です。

424 424 

425### `fallbackModel`425### `fallbackModel`

426 426 

427プライマリモデルがオーバーロードされているか利用できない場合に、Claude Code が順番に試すバックアップモデルに名前を付けます。Claude Code はターンの残りの間、チェーン内の次の利用可能なモデルに切り替え、通知を表示します。チェーンがない場合、Claude Code は同じモデルを再試行してからサーバーのエラーを表示し、再試行するか自分でモデルを切り替えます。427プライマリモデルが過負荷または利用できない場合に Claude Code が順番に試すバックアップモデルを指定します。Claude Code はそのターンの残りの間、チェーン内で次に利用可能なモデルに切り替え、通知を表示します。チェーンがない場合、Claude Code は同じモデルで再試行した後にサーバーのエラーを表示し、ユーザーが自分で再試行するかモデルを切り替えることになります。

428 428 

429切り替えは、フォールバックモデルでコールド[プロンプトキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md#switching-models)を使用した 1 ターンを意味します。次のメッセージはプライマリモデルを最初に再度試します。429切り替えが発生すると、フォールバックモデルでは 1 ターンの間[プロンプトキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md#switching-models)がコールドの状態になります。次のメッセージでは再びプライマリモデルが最初に試されます。

430 430 

431* **スコープ**: [`任意のファイル`](#scopes)431* **スコープ**: [`Any file`](#scopes)

432* **タイプ**: モデルエイリアスまたは ID の配列。`"default"` はデフォルトモデルに展開されます432* **型**: モデルのエイリアスまたは ID の配列。`"default"` はデフォルトモデルに展開されます

433* **デフォルト**: 設定解除されているため、失敗したリクエストは別のモデルで再試行されません433* **デフォルト**: 未設定。失敗したリクエストは別のモデルで再試行されません

434* **セッションごとのオーバーライド**: `--fallback-model` はこのキーより優先されます434* **セッションごとの上書き**: `--fallback-model` は、1 つのセッションに限りこのキーよりも優先されます

435 435 

436この例は、プライマリモデルが失敗したときに最初に Sonnet 5 を試し、次に Haiku 4.5 を試します:436この例では、プライマリモデルが失敗した場合に、まず Sonnet 5、次に Haiku 4.5 を試します。

437 437 

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

439{439{


441}441}

442```442```

443 443 

444ほとんどの配列設定とは異なり、このキーは設定ファイル全体でマージされません。最も優先度の高いファイルがそれを定義すると、チェーン全体が供給されます。プロジェクトファイルが `["claude-sonnet-5"]` を設定し、ユーザーファイルが `["claude-haiku-4-5"]` を設定する場合、チェーンは `["claude-sonnet-5"]` のみです。Claude Code はリストから最大 3 つの異なる許可されたモデルを保持し、残りを無視します。[フォールバックモデルチェーン](https://code.claude.com/docs/ja/model-config.md#fallback-model-chains)を参照してください。444ほとんどの配列設定とは異なり、このキーは設定ファイル間でマージされません。このキーを定義している最も優先順位の高いファイルがチェーン全体を提供します。プロジェクトファイルで `["claude-sonnet-5"]` を設定し、ユーザーファイルで `["claude-haiku-4-5"]` を設定した場合、チェーンは `["claude-sonnet-5"]` のみになります。Claude Code はリストから最大 3 つの異なる許可されたモデルを保持し、残りは無視します。[フォールバックモデルチェーン](https://code.claude.com/docs/ja/model-config.md#fallback-model-chains)を参照してください。

445 445 

446### `fastMode`446### `fastMode`

447 447 

448利用可能なセッションで[高速モード](https://code.claude.com/docs/ja/fast-mode.md)をオンにします。高速反復やライブデバッグなどのインタラクティブな作業用で、トークンあたりのコストが高い速度が必要な場合。通常、このキーを手動で編集することはありません。`/fast` を実行すると `fastMode: true` が `~/.claude/settings.json` に書き込まれ、再度実行すると高速モードをオフにするキーが削除されます。高速モードは Opus 5.5、Opus 5、および Opus 4.8 でのみ実行されます。別のモデルからオンにするとあなたを Opus に切り替え、サポートされていないモデルに切り替えるとオフになります。[高速モードがオンの間にモデルを切り替え](https://code.claude.com/docs/ja/fast-mode.md#switch-models-while-fast-mode-is-on)を参照してください。448利用可能なセッションで [fast mode](https://code.claude.com/docs/ja/fast-mode.md) をオンにします。トークンあたりのコストが高くても速度を優先したい、迅速な反復作業やライブデバッグなどの対話的な作業向けです。通常、このキーを手動で編集することはありません。`/fast` を実行すると `~/.claude/settings.json` に `fastMode: true` が書き込まれ、もう一度実行して fast mode をオフにするとキーが削除されます。fast mode は Opus 5.5、Opus 5、Opus 4.8 でのみ動作します。他のモデルからオンにすると Opus に切り替わり、サポートされていないモデルに切り替えるとオフになります。[fast mode がオンの状態でモデルを切り替える](https://code.claude.com/docs/ja/fast-mode.md#switch-models-while-fast-mode-is-on)を参照してください。

449 449 

450* **スコープ**: [`任意のファイル`](#scopes)450* **スコープ**: [`Any file`](#scopes)

451* **タイプ**: ブール値451* **型**: Boolean

452 * `true`: Claude Code は利用可能なセッションで高速モードをオンにします452 * `true`: Claude Code は、利用可能なセッションで fast mode をオンにします

453 * `false`: 高速モードはオフのままです453 * `false`: fast mode はオフのままです

454* **デフォルト**: 設定解除されているため、高速モードはオフです454* **デフォルト**: 未設定。fast mode はオフです

455* **セッションごとのオーバーライド**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/ja/env-vars)は 1 つのセッションで高速モードをオフにし、このキーはそれをオンに戻すことはできません455* **セッションごとの上書き**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](https://code.claude.com/docs/ja/env-vars) は 1 つのセッションに限り fast mode をオフにし、このキーで再びオンにすることはできません

456 456 

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

458{458{


462 462 

463### `fastModePerSessionOptIn`463### `fastModePerSessionOptIn`

464 464 

465通常、`/fast` を実行すると [`fastMode`](#fastmode)がユーザー設定に保存されるため、高速モードは後のすべてのセッションの開始時にオンになります。このキーを `true` に設定して、それを停止します。保存された `fastMode: true` はセッション開始時に高速モードをオンにしなくなり、各ユーザーは必要な各セッションで `/fast` を実行する必要があります。Claude Code は `fastMode` キーをファイルに残すため、このキーをオフにすると古い動作が復元されます。465通常、`/fast` を実行すると [`fastMode`](#fastmode) がユーザー設定に保存されるため、以降のすべてのセッションの開始時に fast mode がオンになります。このキーを `true` に設定するとこれを止められます。保存された `fastMode: true` はセッション開始時に fast mode をオンにしなくなり、各ユーザーは fast mode を使いたいセッションごとに `/fast` を実行する必要があります。Claude Code はユーザーのファイル内の `fastMode` キーを残すため、このキーをオフにすると以前の動作に戻ります。

466 466 

467Team または Enterprise プランのオーナーは、[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)を通じて組織全体にデプロイできます。管理設定がキーを設定すると、`/fast on` はインタラクティブターミナルセッション外で拒否され、組織が高速モードを無効にしたことを報告します。これは[非インタラクティブモード](https://code.claude.com/docs/ja/headless.md)、[VS Code 拡張機能](https://code.claude.com/docs/ja/vs-code.md)、および[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)をカバーします。467Team プランまたは Enterprise プランのオーナーは、[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)を通じて組織全体にデプロイできます。管理設定でこのキーが設定されている場合、対話型ターミナルセッション以外では `/fast on` が拒否され、組織によって fast mode が無効化されていることが通知されます。これには、[非対話モード](https://code.claude.com/docs/ja/headless.md)、[VS Code 拡張機能](https://code.claude.com/docs/ja/vs-code.md)、[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)が含まれます。

468 468 

469* **スコープ**: [`任意のファイル`](#scopes)469* **スコープ**: [`Any file`](#scopes)

470* **タイプ**: ブール値470* **型**: Boolean

471 * `true`: 保存された `fastMode: true` はセッション開始時に高速モードをオンにしなくなるため、各ユーザーは必要な各セッションで `/fast` を実行します。`--settings` で渡された `fastMode: true` は、管理設定がこのキーを設定しない限り、そのセッションでもカウントされます471 * `true`: 保存された `fastMode: true` はセッション開始時に fast mode をオンにしなくなるため、各ユーザーは fast mode を使いたいセッションごとに `/fast` を実行します。`--settings` で渡された `fastMode: true` は、管理設定でこのキーが設定されていない限り、そのセッションでは引き続き有効です

472 * `false`: 保存された `fastMode: true` は後のすべてのセッションの開始時に高速モードをオンにします472 * `false`: 保存された `fastMode: true` は、以降のすべてのセッションの開始時に fast mode をオンにします

473* **デフォルト**: `false`473* **デフォルト**: `false`

474 474 

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


482 482 

483### `language`483### `language`

484 484 

485Claude がデフォルトで英語以外の言語で応答するようにします。応答の固定リストはありません。Claude Code は値を Claude に逐語的に、常にその言語で応答するという指示として渡すため、Claude が読むことができる言語名は機能します。Claude Code は値をチェックしないため、スペルが間違った名前はエラーを生成するのではなく、書かれたとおりに Claude に到達します。同じ値は[音声ディクテーション](https://code.claude.com/docs/ja/voice-dictation.md#change-the-dictation-language)の言語を設定します。これは[サポートされているディクテーション言語](https://code.claude.com/docs/ja/voice-dictation.md#change-the-dictation-language)の固定リストを持ち、自動生成されたセッションタイトルも設定します。485Claude がデフォルトで英語以外の言語で応答するようにします。応答に使える言語の固定リストはありません。Claude Code はこの値を、常にその言語で応答するという指示としてそのまま Claude に渡すため、Claude が読み取れる言語名であれば何でも機能します。Claude Code は値をチェックしないため、スペルを誤った名前はエラーにならず、記述したとおりに Claude に渡されます。同じ値は、[音声入力](https://code.claude.com/docs/ja/voice-dictation.md#change-the-dictation-language)(こちらには[サポートされている音声入力言語](https://code.claude.com/docs/ja/voice-dictation.md#change-the-dictation-language)の固定リストがあります)と、自動生成されるセッションタイトルの言語も設定します。

486 486 

487* **スコープ**: [`任意のファイル`](#scopes)487* **スコープ**: [`Any file`](#scopes)

488* **タイプ**: 文字列、`"japanese"`、`"spanish"`、`"french"` などの言語名。Claude Code はそれを検証しません488* **型**: 文字列。`"japanese"`、`"spanish"`、`"french"` など任意の言語名。Claude Code は検証しません

489* **デフォルト**: 設定解除されています。セッションタイトルは会話の言語と一致します489* **デフォルト**: 未設定。その場合、セッションタイトルは会話の言語に合わせられます

490 490 

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

492{492{


496 496 

497### `maxEffortLevel`497### `maxEffortLevel`

498 498 

499セッションが使用できる[努力レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)をキャップし、低いレベルを利用可能なままにします。より高いレベルはキャップで実行されます。`/effort`、`/model` ピッカー、`--effort`、[`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ja/env-vars)、スキルまたはサブエージェントの `effort` frontmatter、またはモデル自体のデフォルトから。Claude Code はリクエストの前にキャップ自体を適用するため、Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry を含むすべてのプロバイダーで保持されます。Claude Code v2.1.267 以降が必要です。499セッションで使用できる [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)に上限を設け、それより低いレベルは使用可能なままにします。それより高いレベルは、`/effort`、`/model` ピッカー、`--effort`、[`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ja/env-vars)、スキルやサブエージェントの `effort` フロントマター、またはモデル自体のデフォルトから指定されたものを含め、すべて上限のレベルで実行されます。Claude Code は各リクエストの前に自ら上限を適用するため、Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry を含むすべてのプロバイダーで上限が維持されます。Claude Code v2.1.267 以降が必要です。

500 500 

501* **スコープ**: [`任意のファイル`](#scopes)。組織に対して強制するために、管理設定にデプロイします。複数のスコープがキャップを設定する場合、最も低いものが適用されるため、1 つのスコープで設定されたキャップを別のスコープから上げることはできません501* **スコープ**: [`Any file`](#scopes)。組織全体に適用するには、管理設定でデプロイします。複数のスコープで上限が設定されている場合は最も低いものが適用されるため、あるスコープで設定された上限を別のスコープから引き上げることはできません

502* **タイプ**: 文字列、`"low"`、`"medium"`、`"high"`、`"xhigh"`、または `"max"` のいずれか。`"max"` 値はキャップを設定しません502* **型**: 文字列。`"low"`、`"medium"`、`"high"`、`"xhigh"`、`"max"` のいずれか。`"max"` を指定すると上限は設定されません

503* **デフォルト**: 設定解除されているため、キャップは適用されません503* **デフォルト**: 未設定。上限は適用されません

504* **モデルごとのキャップ**: モデルの [`modelSettings`](#modelsettings)エントリに `maxEffortLevel` を追加します。そのエントリは、ユーザー設定や 1 つの[管理ソース](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)など、両方を設定する設定ソース内でのみこのキーを置き換えます。そこで `"max"` を設定して、そのソースのキャップからモデルを除外します。Claude Code は他のソースからのキャップを依然として適用します504* **モデルごとの上限**: モデルの [`modelSettings`](#modelsettings) エントリに `maxEffortLevel` を追加します。そのエントリは、ユーザー設定や 1 つの[管理ソース](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)など、両方を設定している設定ソース内に限り、そのモデルについてこのキーを置き換えます。そこで `"max"` を設定すると、そのモデルをそのソースの上限から除外できます。ただし、Claude Code は他のソースからの上限を引き続き適用します

505 505 

506この例はすべてのモデルを `medium` でキャップし、Sonnet 4.6 を除外します:506この例では、すべてのモデルの上限を `medium` に設定し、Sonnet 4.6 を除外します。

507 507 

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

509{509{


516}516}

517```517```

518 518 

519組織がモデルの[努力制限](https://code.claude.com/docs/ja/model-config.md#organization-effort-limits)も設定する場合、2 つのキャップの低い方が適用されます。519組織がモデルに対して [effort の制限](https://code.claude.com/docs/ja/model-config.md#organization-effort-limits)も設定している場合は、2 つの上限のうち低い方が適用されます。

520 520 

521### `model`521### `model`

522 522 

523すべての新しいセッションが使用するモデルを設定するため、毎回 `/model` で 1 つを選択する必要はありません。ここで設定してもセッション中に切り替えることは止まりません。管理者が[組織デフォルトモデル](https://code.claude.com/docs/ja/model-config.md#organization-default-model)を設定してユーザー選択をオーバーライドした場合、ユーザー、プロジェクト、またはローカル設定でこのキーを設定しても、そのモデルを取得します。523新しいセッションごとに使用するモデルを設定し、毎回 `/model` で選択しなくて済むようにします。ここで設定しても、セッションの途中で切り替えることはできます。管理者がユーザーの選択を上書きする[組織のデフォルトモデル](https://code.claude.com/docs/ja/model-config.md#organization-default-model)を設定している場合は、ユーザー設定、プロジェクト設定、ローカル設定でこのキーを設定していても、そのモデルが使用されます。

524 524 

525* **スコープ**: [`任意のファイル`](#scopes)525* **スコープ**: [`Any file`](#scopes)

526* **タイプ**: 文字列、モデルエイリアスまたは完全なモデル ID526* **型**: 文字列。モデルのエイリアスまたは完全なモデル ID

527* **デフォルト**: 設定解除されているため、Claude Code はアカウントのデフォルトモデルを使用します527* **デフォルト**: 未設定。Claude Code はアカウントのデフォルトモデルを使用します

528* **セッションごとのオーバーライド**: `--model` は [`ANTHROPIC_MODEL`](https://code.claude.com/docs/ja/env-vars)より優先され、両方は 1 つのセッションでこのキーより優先されます。管理 `model` を含む。[`availableModels`](#availablemodels)リストは依然として選択に適用されます528* **セッションごとの上書き**: `--model` は [`ANTHROPIC_MODEL`](https://code.claude.com/docs/ja/env-vars) よりも優先され、どちらも 1 つのセッションに限り、管理された `model` を含めてこのキーよりも優先されます。ただし、[`availableModels`](#availablemodels) リストは引き続き選択に適用されます

529 529 

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

531{531{


533}533}

534```534```

535 535 

536ここの値は [`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/ja/model-config#set-a-default-model-for-new-sessions)をランク付けし、Claude Code は他に何もモデルを選択しない場合にのみ使用します。536ここで設定した値は、[`ANTHROPIC_DEFAULT_MODEL`](https://code.claude.com/docs/ja/model-config#set-a-default-model-for-new-sessions) よりも優先されます。Claude Code が `ANTHROPIC_DEFAULT_MODEL` を使用するのは、他に何もモデルを選択していない場合のみです。

537 537 

538### `modelOverrides`538### `modelOverrides`

539 539 

540Anthropic モデル ID をプロバイダー固有のモデル ID (Amazon Bedrock 推論プロファイル ARN など)にマップします。各モデルピッカーエントリは、プロバイダー API を呼び出すときにマップされた値を使用します。管理者は[Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry](https://code.claude.com/docs/ja/model-config.md#override-model-ids-per-version)でこれを使用して、各モデルバージョンを特定の推論プロファイル、バージョン名、またはガバナンス、コスト配分、または地域ルーティングのためのデプロイメントにルーティングします。540Anthropic のモデル ID を、Amazon Bedrock の推論プロファイル ARN などのプロバイダー固有のモデル ID にマッピングします。これにより、モデルピッカーの各エントリは、プロバイダー API を呼び出す際にマッピングされた値を使用します。管理者は [Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry](https://code.claude.com/docs/ja/model-config.md#override-model-ids-per-version) でこれを使用して、ガバナンス、コスト配分、リージョンルーティングのために、各モデルバージョンを特定の推論プロファイル、バージョン名、またはデプロイにルーティングします。

541 541 

542* **スコープ**: [`任意のファイル`](#scopes)542* **スコープ**: [`Any file`](#scopes)

543* **タイプ**: モデル ID をプロバイダーモデル ID にマップするオブジェクト543* **型**: モデル ID をプロバイダーのモデル ID にマッピングするオブジェクト

544* **デフォルト**: 設定解除されています544* **デフォルト**: 未設定

545 545 

546この例は、Opus 4.6 のすべての呼び出しを名前付き Bedrock 推論プロファイルにルーティングします:546この例では、Opus 4.6 へのすべての呼び出しを指定した Bedrock 推論プロファイルにルーティングします。

547 547 

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

549{549{


553}553}

554```554```

555 555 

556[モデル ID をバージョンごとにオーバーライド](https://code.claude.com/docs/ja/model-config.md#override-model-ids-per-version)を参照してください。556[バージョンごとにモデル ID を上書きする](https://code.claude.com/docs/ja/model-config.md#override-model-ids-per-version)を参照してください。

557 557 

558### `modelPicker`558### `modelPicker`

559 559 

560`/model` ピッカーが提供するモデルを、書き込む順序で、選択するラベルの下にリストします。ピッカーは組織が実行するモデルをリストします。組み込みラインアップの後または代わりに。各行の `model` は逐語的に取得されるため、`--model` が受け入れるもの、`opus` などのエイリアス、Anthropic モデル ID、または Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または LLM ゲートウェイのプロバイダー形式 ID を受け入れます。Claude Code v2.1.242 以降が必要です。560`/model` ピッカーに表示するモデルを、記述した順序と選択したラベルで一覧にします。これにより、ピッカーには組織で実行しているモデルが、組み込みのラインナップの後に、またはその代わりに表示されます。各行の `model` はそのまま使用されるため、`--model` が受け付けるものは何でも指定できます。`opus` のようなエイリアス、Anthropic のモデル ID、または Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry、LLM ゲートウェイ向けのプロバイダー形式の ID です。Claude Code v2.1.242 以降が必要です。

561 561 

562* **スコープ**: [`ユーザーまたは管理`](#scopes)。Claude Code は管理設定、`--settings`、およびユーザー設定からキーを読み取り、プロジェクトおよびローカル設定では無視するため、クローンするリポジトリはピッカーを再ラベルできません。これら 3 つの最も高いものがキーを設定すると、ラインアップ全体が供給され、Claude Code は 2 つのソースからラインアップをマージしません。562* **スコープ**: [`User or managed`](#scopes)。Claude Code はこのキーを管理設定、`--settings`、ユーザー設定から読み取り、プロジェクト設定とローカル設定では無視します。これにより、クローンしたリポジトリがピッカーのラベルを変更することはできません。これら 3 つのうちこのキーを設定している最も優先順位の高いものがラインナップ全体を提供し、Claude Code が 2 つのソースのラインナップを組み合わせることはありません。

563* **タイプ**: `options` 配列と行とオプションの `replaceBuiltInOptions` ブール値を持つオブジェクト563* **型**: 行の配列である `options` と、省略可能な Boolean の `replaceBuiltInOptions` を持つオブジェクト

564* **デフォルト**: 設定解除されているため、ピッカーは組み込みラインアップを表示します564* **デフォルト**: 未設定。ピッカーには組み込みのラインナップが表示されます

565 565 

566この例は、組み込みラインアップの後に 2 つの Bedrock デプロイメントを追加し、チームが認識する名前の下に:566この例では、チームが認識できる名前で、組み込みのラインナップの後に 2 つの Bedrock デプロイを追加します。

567 567 

568```json managed-settings.json theme={null}568```json managed-settings.json theme={null}

569{569{


582 582 

583#### `modelPicker` のフィールド583#### `modelPicker` のフィールド

584 584 

585キーは 2 つのフィールドを取ります。1 つは行自体用で、もう 1 つは組み込みラインアップを置き換えるか追加するかです。585このキーは 2 つのフィールドを受け取ります。1 つは行そのもの用、もう 1 つはそれらの行が組み込みのラインナップを置き換えるか、追加されるかを指定するものです。

586 586 

587| フィールド | タイプ | 動作 |587| フィールド | 型 | 機能 |

588| :- | :- | :- |588| :- | :- | :- |

589| `options` | 必須の `model` とオプションの `label`、`description`、および `behavesAs` を持つ行の配列 | ピッカーが表示する行。この順序で。グレーアウトされた行は下部に移動します。`label` がない場合、Claude Code は既知のモデルの組み込み名でタイトルを付けるか、モデル ID でタイトルを付けます。`description` がない場合は、一般的な 2 行目を書き込みます |589| `options` | 行の配列。各行には必須の `model` と、省略可能な `label`、`description`、`behavesAs` があります | ピッカーに表示される行で、この順序で表示されます。ただし、グレーアウトされた行は一番下に移動します。`label` がない場合、Claude Code は既知のモデルであれば組み込みの名前を、それ以外の場合はモデル ID を行のタイトルとし、`description` がない場合は汎用的な 2 行目を記述します |

590| `replaceBuiltInOptions` | ブール値、デフォルト `false` | これらの行のみ、**Default**、およびセッションが既に使用しているモデルの行を表示するには `true` に設定します。これらの行を組み込みラインアップの後に追加するには、設定解除のままにします |590| `replaceBuiltInOptions` | Boolean、デフォルトは `false` | `true` に設定すると、これらの行、**Default**、およびセッションですでに使用しているモデルの行のみが表示されます。未設定のままにすると、これらの行は組み込みのラインナップの後に追加されます |

591 591 

592`options` のエントリは、その `model` の横にオプションの `behavesAs` 文字列を持つこともできます。これには v2.1.257 以降が必要です。Claude Code バージョンが既に知っている `claude-opus-4-8` などのモデルの ID に設定します。`model` が バージョンより新しいエントリで。Claude Code はそれ以降、既知のモデルの機能と努力デフォルトをエントリに適用し、そのモデルを不明として扱いません。エントリのラベルと Claude Code がリクエストで送信するモデル ID は変わりません。592`options` 内のエントリには、`model` と並んで省略可能な `behavesAs` 文字列を含めることもでき、これには v2.1.257 以降が必要です。`model` が使用中のバージョンより新しいエントリに対して、`claude-opus-4-8` など、使用中の Claude Code バージョンがすでに認識しているモデルの ID を設定します。すると Claude Code は、そのモデルを不明なモデルとして扱う代わりに、既知のモデルの機能と effort のデフォルトをそのエントリに適用します。エントリのラベルと、Claude Code がリクエストで送信するモデル ID は変わりません。

593 593 

594`replaceBuiltInOptions` がオンの場合、Claude Code はすべての他の行を非表示にします。組み込みラインアップ、[`availableModels`](#availablemodels)エントリ用に追加する行、[ゲートウェイディスカバリー](https://code.claude.com/docs/ja/llm-gateway-protocol.md#model-discovery)が見つけたモデル、および [`ANTHROPIC_CUSTOM_MODEL_OPTION`](https://code.claude.com/docs/ja/model-config#add-a-custom-model-option)。オフの場合、Claude Code は組み込みラインアップが既にカバーするリストされたモデルをスキップします。ラベルはピッカーが表示するものを変更し、Claude Code が実行するモデルではありません。594`replaceBuiltInOptions` がオンの場合、Claude Code は他のすべての行を非表示にします。対象は、組み込みのラインナップ、[`availableModels`](#availablemodels) のエントリに対して追加される行、[ゲートウェイ検出](https://code.claude.com/docs/ja/llm-gateway-protocol.md#model-discovery)で見つかったモデル、および [`ANTHROPIC_CUSTOM_MODEL_OPTION`](https://code.claude.com/docs/ja/model-config#add-a-custom-model-option) です。オフの場合、Claude Code は組み込みのラインナップですでにカバーされているリスト内のモデルをスキップします。ラベルはピッカーの表示を変えるだけで、Claude Code が実行するモデルは変わりません。

595 595 

596[`availableModels`](#availablemodels)許可リストはこれらの行に依然として適用されます。リストされたモデルを許可リストに追加する前に、[マージ動作](https://code.claude.com/docs/ja/model-config.md#merge-behavior)を読んでください。特定のモデル ID はそのファミリーのワイルドカード エントリを絞ります。Claude Code はピッカーを表示する前に各行をセッションに対してチェックします:596[`availableModels`](#availablemodels) 許可リストは、これらの行にも引き続き適用されます。リスト内のモデルを許可リストに追加する前に、[マージの動作](https://code.claude.com/docs/ja/model-config.md#merge-behavior)を読んでください。特定のモデル ID は、そのファミリーのワイルドカードエントリを絞り込みます。Claude Code は、ピッカーを表示する前に各行をセッションに照らしてチェックすることも行います。

597 597 

598* **削除**: Claude Code が提供できない行。廃止されたモデルや組織がアクセスできないモデルなど598* **削除**: 廃止されたモデルや組織がアクセスできないモデルなど、Claude Code が提供できない行

599* **グレーアウト**: まだ選択できない行。理由を示して表示されます599* **グレーアウト**: まだ選択できない行。理由とともに表示されます

600* **行が生き残らない**: Claude Code は通常どおり許可リストでフィルタリングされた組み込みラインアップを保持します600* **残る行がない場合**: Claude Code は組み込みのラインナップを保持し、通常どおり許可リストで絞り込みます

601 601 

602Claude Code は解析できない行を削除し、残りを保持します。[壊れた設定ファイルを修正](https://code.claude.com/docs/ja/settings.md#fix-a-broken-settings-file)を参照してください。602Claude Code は解析できない行を削除し、残りを保持します。[壊れた設定ファイルを修正する](https://code.claude.com/docs/ja/settings.md#fix-a-broken-settings-file)を参照してください。

603 603 

604### `modelPricing`604### `modelPricing`

605 605 

606組織が支払うレートでリスト価格の代わりに支出を報告します。組織が契約レートを持っている場合に設定するため、開発者が見るドル数字は請求書と一致します。Claude Code は `/usage`、[ステータスライン](https://code.claude.com/docs/ja/statusline.md)、Agent SDK の `total_cost_usd`、[`--max-budget-usd`](https://code.claude.com/docs/ja/cli-reference)制限、および[OpenTelemetry](https://code.claude.com/docs/ja/monitoring-usage.md)コストメトリックとイベントのレートを適用します。レートを供給します。Claude Code は契約またはClaude Console から読み取りません。Claude Code v2.1.242 以降が必要です。606表示価格ではなく、組織が実際に支払っている料金で支出を報告します。組織に契約料金がある場合に設定すると、開発者が目にする金額が請求額と一致するようになります。Claude Code はこの料金を、`/usage`、[ステータスライン](https://code.claude.com/docs/ja/statusline.md)、Agent SDK の `total_cost_usd`、[`--max-budget-usd`](https://code.claude.com/docs/ja/cli-reference) の上限、および [OpenTelemetry](https://code.claude.com/docs/ja/monitoring-usage.md) のコストメトリクスとイベントに適用します。料金はユーザーが指定します。Claude Code が契約や Claude Console から料金を読み取ることはありません。Claude Code v2.1.242 以降が必要です。

607 607 

608* **スコープ**: [`管理`](#scopes)。サーバー管理設定、MDM ポリシー、`managed-settings.json` ファイル、または[ポリシーヘルパー](https://code.claude.com/docs/ja/managed-settings.md#compute-the-policy-with-a-helper-program)を通じてキーをデプロイします。Claude Code はユーザー、プロジェクト、ローカル設定、`--settings`、および Windows のユーザー書き込み可能な[HKCU レジストリ](https://code.claude.com/docs/ja/managed-settings.md#where-each-mechanism-stores-the-policy)では無視します。サーバー管理設定では、各セッションはそのセッションの[設定フェッチ](https://code.claude.com/docs/ja/server-managed-settings.md#fetch-and-caching-behavior)が設定を確認するまでリスト価格でコストを報告します。Claude Code を埋め込み、[`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/ja/env-vars)を設定するホストアプリケーションは、SDK [`managedSettings`](https://code.claude.com/docs/ja/agent-sdk/typescript#options)オプションを通じて独自のテーブルを供給でき、Claude Code はマネージドソースがキーを設定しない場合にのみ使用し、Claude Code v2.1.246 以降でのみ使用します。608* **スコープ**: [`Managed`](#scopes)。このキーは、サーバー管理設定、MDM ポリシー、`managed-settings.json` ファイル、または[ポリシーヘルパー](https://code.claude.com/docs/ja/managed-settings.md#compute-the-policy-with-a-helper-program)を通じてデプロイします。Claude Code は、ユーザー設定、プロジェクト設定、ローカル設定、`--settings`、および Windows ではユーザーが書き込み可能な [HKCU レジストリ](https://code.claude.com/docs/ja/managed-settings.md#where-each-mechanism-stores-the-policy)内のこのキーを無視します。サーバー管理設定を使用する場合、各セッションは、そのセッションの[設定の取得](https://code.claude.com/docs/ja/server-managed-settings.md#fetch-and-caching-behavior)で設定が確認されるまで、表示価格でコストを報告します。Claude Code を組み込み、[`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/ja/env-vars) を設定しているホストアプリケーションは、SDK の [`managedSettings`](https://code.claude.com/docs/ja/agent-sdk/typescript#options) オプションを通じて独自の料金表を提供できます。Claude Code がこれを使用するのは、どの管理ソースもこのキーを設定していない場合のみで、Claude Code v2.1.246 以降に限られます。

609* **タイプ**: オプションの `multiplier` とオプションの `overrides` マップを持つオブジェクト609* **型**: 省略可能な `multiplier` と省略可能な `overrides` マップを持つオブジェクト

610* **デフォルト**: 設定解除されているため、Claude Code はリスト価格を報告します。ホストアプリケーションがテーブルを供給しない限り610* **デフォルト**: 未設定。ホストアプリケーションが料金表を提供しない限り、Claude Code は表示価格で報告します

611 611 

612`multiplier` のみを設定して定額割引またはマークアップ、`overrides` のみをモデルごとのレート、または両方を設定します。612一律の割引または上乗せには `multiplier` のみを、モデルごとの料金には `overrides` のみを設定するか、両方を設定します。

613 613 

614この例は Sonnet 4.6 の契約レートを設定し、すべての数字を 15% 削減します。Sonnet 行を含む:614この例では、Sonnet 4.6 の契約料金を設定したうえで、Sonnet の行を含むすべての金額を 15% 引き下げます。

615 615 

616```json managed-settings.json theme={null}616```json managed-settings.json theme={null}

617{617{


629}629}

630```630```

631 631 

6321 より上、最大 10 までマークアップするには `multiplier` を設定します。マークアップには Claude Code v2.1.271 以降が必要です。以前のバージョンは警告付きで 1 より上の `multiplier` を無視し、設定の残りを保持します。632すべての金額を上乗せするには、`multiplier` を 1 より大きく 10 以下の値に設定します。上乗せには Claude Code v2.1.271 以降が必要です。それより前のバージョンでは、1 より大きい `multiplier` は警告付きで無視され、設定の残りは保持されます。

633 633 

634手順を含む、レートが有効であることを確認する方法については、[契約レートで支出を報告](https://code.claude.com/docs/ja/costs.md#report-spend-at-your-contracted-rates)を参照してください。634料金が有効になっていることを確認する方法を含む手順については、[契約料金で支出を報告する](https://code.claude.com/docs/ja/costs.md#report-spend-at-your-contracted-rates)を参照してください。

635 635 

636#### `modelPricing` のフィールド636#### `modelPricing` のフィールド

637 637 

638| フィールド | タイプ | 動作 |638| フィールド | 型 | 機能 |

639| :- | :- | :- |639| :- | :- | :- |

640| `multiplier` | 0 より大きく最大 10 の数値 | Claude Code が計算するすべてのコストをスケーリングします。`overrides` 行がカバーするかどうかに関わらず。1 未満は割引、1 より上はマークアップです |640| `multiplier` | 0 より大きく 10 以下の数値 | `overrides` の行が対象としているかどうかにかかわらず、Claude Code が計算するすべてのコストをスケーリングします。1 未満は割引、1 より大きい値は上乗せです |

641| `overrides` | モデル ID をそれぞれ 0 から 10000 の `input`、`output`、`cacheRead`、および `cacheWrite` を持つレートオブジェクトにマップします | そのモデルの USD-per-million-token レート。すべて 4 つが必要です。`cacheWrite` は 5 分と 1 時間のキャッシュ書き込みの両方をカバーします。[どのモデルが行に適用されるか](#which-models-a-modelpricing-row-applies-to)を参照してください |641| `overrides` | モデル ID から、`input`、`output`、`cacheRead`、`cacheWrite`(それぞれ 0 から 10000)を持つ料金オブジェクトへのマップ | そのモデルの 100 万トークンあたりの USD 料金で、4 つすべてが必須です。`cacheWrite` は 5 分と 1 時間の両方のキャッシュ書き込みを対象とします。[`modelPricing` の行が適用されるモデル](#which-models-a-modelpricing-row-applies-to)を参照してください |

642 642 

643Claude Code はレートを書き込んだとおりに使用し、高速モード割増料金または[US のみの推論レート](https://platform.claude.com/docs/en/about-claude/pricing)を追加しません。`multiplier` も設定する場合、Claude Code はそれを行のレートの上に適用します。Claude Code は解析できないレートを持つ行、または解析できない `multiplier` を削除し、残りを保持します。[壊れた設定ファイルを修正](https://code.claude.com/docs/ja/settings.md#fix-a-broken-settings-file)を参照してください。643Claude Code は、fast mode の追加料金や[米国内のみでの推論の料金](https://platform.claude.com/docs/en/about-claude/pricing)を加算せず、行の料金を記述したとおりに使用します。`multiplier` も設定している場合、Claude Code はそれを行の料金に重ねて適用します。Claude Code は、解析できない料金を持つ行や、解析できない `multiplier` を削除し、残りを保持します。[壊れた設定ファイルを修正する](https://code.claude.com/docs/ja/settings.md#fix-a-broken-settings-file)を参照してください。

644 644 

645#### どのモデルが `modelPricing` 行に適用されるか645#### `modelPricing` の行が適用されるモデル

646 646 

647Claude Code は行のキーから行が適用されるモデルを決定します:647Claude Code は、行のキーからその行がどのモデルに適用されるかを判断します。

648 648 

649* **組み込みモデルの ID**: Claude Code 自体がモデルの独自の ID (例: `claude-sonnet-4-6`) またはその Bedrock、Agent Platform、または Foundry ID であるかどうかに関わらず、組み込みモデルに使用するキー。Claude Code はそのモデルのすべての日付スナップショット ID とプロバイダー固有の ID に行を適用します。649* **組み込みモデルの ID**: Claude Code 自身が組み込みモデルに使用するキーで、`claude-sonnet-4-6` のようなモデル自体の ID であるか、Bedrock、Agent Platform、Foundry の ID であるかは問いません。Claude Code は、そのモデルのすべての日付付きスナップショット ID とプロバイダー固有の ID にその行を適用します。

650* **その他のキー**: 組み込みモデルの ID ではないキー。ゲートウェイモデルエイリアスなど。Claude Code はそのキーのみに行を適用します。モデル ID がキーの 1 つと正確に一致し、組み込みモデルの ID でキーされた行の下にも該当する場合、Claude Code は正確な一致を使用します。650* **その他のキー**: ゲートウェイのモデルエイリアスなど、組み込みモデルの ID ではないキー。Claude Code はその 1 つの ID にのみ行を適用します。モデル ID がいずれかのキーに完全に一致し、かつ組み込みモデルの ID をキーとする行にも該当する場合、Claude Code は完全一致を使用します。

651* **Bedrock アプリケーション推論プロファイル**: Claude Code がプロファイルを [`modelOverrides`](#modeloverrides)マップまたは [`bedrock:GetInferenceProfile` ルックアップ](https://code.claude.com/docs/ja/amazon-bedrock#iam-configuration)を通じてルーティングするモデルに解決した後、Claude Code はそのモデルの行をプロファイルに適用します。651* **Bedrock のアプリケーション推論プロファイル**: Claude Code が [`modelOverrides`](#modeloverrides) マップまたは [`bedrock:GetInferenceProfile` による検索](https://code.claude.com/docs/ja/amazon-bedrock#iam-configuration)を通じて、プロファイルをルーティング先のモデルに解決すると、Claude Code はそのモデルの行をプロファイルに適用します。

652 652 

653### `modelSettings`653### `modelSettings`

654 654 

655使用する各モデルの[努力レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)を保存します。Claude Code v2.1.251 以降が必要です。655使用するモデルごとに [effort レベル](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)を保存します。Claude Code v2.1.251 以降が必要です。

656 656 

657マシン上のインタラクティブセッションで、`/effort` または `/model` ピッカーの努力スライダーで `low`、`medium`、`high`、または `xhigh` をデフォルトとして保存すると、Claude Code はそれを使用しているモデルの下にここにそのレベルを書き込むため、このキーを自分で編集することはめったにありません。[VS Code 拡張機能のモデルピッカー](https://code.claude.com/docs/ja/vs-code.md#use-the-prompt-box)でこれらのレベルのいずれかを選択すると、Claude Code は同じ方法でここに保存します。[`effortLevel`](#effortlevel)エントリは `/effort` がそのセッションのみに適用されるセッションをリストします。657自分のマシン上の対話セッションで、`/effort` または `/model` ピッカーの effort スライダーを使って `low`、`medium`、`high`、`xhigh` をデフォルトとして保存すると、Claude Code は使用中のモデルの下にそのレベルをここに書き込むため、このキーを自分で編集することはほとんどありません。[VS Code 拡張機能のモデルピッカー](https://code.claude.com/docs/ja/vs-code.md#use-the-prompt-box)でこれらのレベルのいずれかを選択した場合も、Claude Code は同じようにここに保存します。`/effort` がそのセッションにのみ適用されるセッションについては、[`effortLevel`](#effortlevel) のエントリに記載しています。

658 658 

659レベルを変更または削除するには、キーを手動で編集します。659保存したレベルを変更または削除するには、このキーを手動で編集します。

660 660 

661ここで指定するモデルの `effortLevel` は、同じ設定ファイルの最上位 [`effortLevel`](#effortlevel)より優先されます。ファイル間では、Claude Code は各モデルを個別に解決します。そのモデルの `effortLevel` または[そのモデルに適用される](#effortlevel)最上位 `effortLevel` のいずれかを設定する最も優先度の高い[設定ファイル](https://code.claude.com/docs/ja/settings.md#settings-precedence)が決定するため、管理設定の `effortLevel` はユーザー設定で保存されたレベルより優先されます。[努力レベルを調整](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)は、起動時の `--effort` など、保存されたレベルをオーバーライドできるその他のものをリストします。661ここでのモデルの `effortLevel` は、同じ設定ファイル内のトップレベルの [`effortLevel`](#effortlevel) よりも優先されます。ファイル間では、Claude Code はモデルごとに個別に解決します。そのモデルの `effortLevel`、または[そのモデルに適用される](#effortlevel)トップレベルの `effortLevel` のいずれかを設定している、最も優先順位の高い[設定ファイル](https://code.claude.com/docs/ja/settings.md#settings-precedence)が決定するため、管理設定の `effortLevel` はユーザー設定に保存したレベルよりも優先されます。起動時の `--effort` など、保存されたレベルを上書きできるその他の要素については、[effort レベルを調整する](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)に記載しています。

662 662 

6631 つのモデルの努力レベルを設定するのではなくキャップするには、そのモデルのエントリに [`maxEffortLevel`](#maxeffortlevel)フィールドを追加します。フィールドには Claude Code v2.1.267 以降が必要です。6631 つのモデルのレベルを設定するのではなく effort に上限を設けるには、そのモデルのエントリに [`maxEffortLevel`](#maxeffortlevel) フィールドを追加します。このフィールドには Claude Code v2.1.267 以降が必要です。

664 664 

665* **スコープ**: [`任意のファイル`](#scopes)665* **スコープ**: [`Any file`](#scopes)

666* **タイプ**: モデル名を、以下のいずれかのフィールドを持つオブジェクトにマッピングするオブジェクト:666* **型**: モデル名を、次のいずれかのフィールドを持つオブジェクトにマッピングするオブジェクト:

667 * `effortLevel`: `"low"`、`"medium"`、`"high"`、`"xhigh"` のいずれか667 * `effortLevel`: `"low"`、`"medium"`、`"high"`、`"xhigh"` のいずれか

668 * [`maxEffortLevel`](#maxeffortlevel): モデルが実行できる最も高い effort レベル668 * [`maxEffortLevel`](#maxeffortlevel): モデルが実行できる最も高い effort レベル

669 * `autoCompactWindow`: `100000` から `1000000` までのトークン数、またはモデルに合わせて調整されたウィンドウを使う `"auto"`。[`/autocompact`](https://code.claude.com/docs/ja/model-config#set-the-auto-compact-window) はここに保存します。そのモデルについては、この値が同じ設定ファイル内の最上位の [`autoCompactWindow`](#autocompactwindow) より優先されます。Claude Code v2.1.288 以降が必要です669 * `autoCompactWindow`: `100000` から `1000000` までのトークン数、またはモデル向けに調整されたウィンドウを表す `"auto"`。[`/autocompact`](https://code.claude.com/docs/ja/model-config#set-the-auto-compact-window) はここに保存します。そのモデルについては、この値が同じ設定ファイル内のトップレベルの [`autoCompactWindow`](#autocompactwindow) よりも優先されます。Claude Code v2.1.288 以降が必要です

670* **デフォルト**: 設定解除されています670* **デフォルト**: 未設定

671 671 

672Claude Code は各エントリを `claude-opus-5-5` などのモデルの正規名の下に書き込み、そのモデルのエイリアス、日付サフィックス、`[1m]`、および認識されたプロバイダー固有の ID を同じエントリと一致させます。672Claude Code は各エントリを `claude-opus-5-5` のようなモデルの正規名の下に書き込み、そのモデルのエイリアス、日付サフィックス付き、`[1m]`、および認識されたプロバイダー固有の ID を同じエントリに照合します。

673 673 

674この例は Opus 5.5 を `high` に保ちながら、他のモデルは独自の保存またはデフォルトレベルを使用します:674この例では、他のモデルがそれぞれ保存済みまたはデフォルトのレベルを使用する一方で、Opus 5.5 を `high` に保ちます。

675 675 

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

677{677{


683}683}

684```684```

685 685 

686`/effort auto` を実行して、使用しているモデルの保存されたレベルをクリアします。Claude Code は他のエントリと最上位の `effortLevel` をそのままにします。686使用中のモデルについて保存したレベルをクリアするには、`/effort auto` を実行します。Claude Code は、他のエントリとトップレベルの `effortLevel` をそのまま残します。

687 687 

688### `outputStyle`688### `outputStyle`

689 689 

690[出力スタイル](https://code.claude.com/docs/ja/output-styles.md)を名前で選択します。出力スタイルは、Claude の役割、トーン、出力形式を変更する保存された指示のセットです。組み込みの Explanatory および Learning スタイルや自分で書いたものなど。690名前で[出力スタイル](https://code.claude.com/docs/ja/output-styles.md)を選択します。出力スタイルとは、Claude の役割、トーン、出力形式を変更する指示の保存済みセットで、組み込みの Explanatory スタイルや Learning スタイル、または自分で作成したスタイルなどがあります。

691 691 

692セッション中にこのキーを変更すると、Claude は次のメッセージから新しいスタイルを使用します。そのメッセージがプロンプトキャッシュでコストするものについては、[出力スタイルを変更](https://code.claude.com/docs/ja/prompt-caching.md#changing-output-style)を参照してください。v2.1.251 より前では、編集は `/clear` を実行した後またはセッションを開始した後にのみ適用されました。692セッション中にこのキーを変更すると、Claude は次のメッセージから新しいスタイルを使用します。そのメッセージのプロンプトキャッシュにおけるコストについては、[出力スタイルの変更](https://code.claude.com/docs/ja/prompt-caching.md#changing-output-style)を参照してください。v2.1.251 より前は、変更は `/clear` を実行するか新しいセッションを開始した後にのみ適用されていました。

693 693 

694* **スコープ**: [`任意のファイル`](#scopes)694* **スコープ**: [`Any file`](#scopes)

695* **タイプ**: 文字列。[組み込み](https://code.claude.com/docs/ja/output-styles.md#built-in-output-styles)または[カスタム](https://code.claude.com/docs/ja/output-styles.md#create-a-custom-output-style)出力スタイルの名前695* **型**: 文字列。[組み込み](https://code.claude.com/docs/ja/output-styles.md#built-in-output-styles)または[カスタム](https://code.claude.com/docs/ja/output-styles.md#create-a-custom-output-style)の出力スタイルの名前

696* **デフォルト**: 設定解除されているため、Claude Code はデフォルトスタイルを使用します696* **デフォルト**: 未設定。Claude Code はデフォルトのスタイルを使用します

697 697 

698この例は、タスク間に教育的な洞察を追加する組み込みの Explanatory スタイルを選択します:698この例では、タスクの合間に教育的な解説を追加する組み込みの Explanatory スタイルを選択します。

699 699 

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

701{701{


705 705 

706### `promptCacheTtl`706### `promptCacheTtl`

707 707 

708[プロンプトキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md)がメイン会話を保持する期間を選択します。このキーはインタラクティブ、`-p`、および Agent SDK ターンに適用されます。Claude Code がインラインで実行するヘルパーと一緒に。1 時間のライフタイムはより長い休憩全体でキャッシュを温かく保ち、API は[各キャッシュ書き込みを 5 分のライフタイムより高いレートで請求します](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing)。Claude Code v2.1.242 以降が必要です。708[プロンプトキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md)がメインの会話を保持する期間を選択します。このキーは、対話、`-p`、および Agent SDK のターンと、それらとインラインで Claude Code が実行するヘルパーに適用されます。1 時間の有効期間では、長めの休憩をはさんでもキャッシュがウォームな状態に保たれますが、API は 5 分の有効期間よりも[高い料金で各キャッシュ書き込みを請求](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing)します。Claude Code v2.1.242 以降が必要です。

709 709 

710* **スコープ**: [`任意のファイル`](#scopes)710* **スコープ**: [`Any file`](#scopes)

711* **タイプ**: 文字列、以下のいずれか:711* **型**: 文字列。次のいずれか:

712 * `"5m"`: キャッシュは 5 分間保持されます712 * `"5m"`: キャッシュは 5 分間保持されます

713 * `"1h"`: キャッシュは 1 時間保持されます713 * `"1h"`: キャッシュは 1 時間保持されます

714* **デフォルト**: 設定解除されているため、各メイン会話リクエストは[そのデフォルトライフタイム](https://code.claude.com/docs/ja/prompt-caching.md#which-ttl-each-request-gets)を取得します714* **デフォルト**: 未設定。メインの会話の各リクエストには[デフォルトの有効期間](https://code.claude.com/docs/ja/prompt-caching.md#which-ttl-each-request-gets)が適用されます

715* **セッションごとのオーバーライド**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/ja/env-vars)はすべてを優先し、次に [`CLAUDE_CODE_PROMPT_CACHE_TTL`](https://code.claude.com/docs/ja/env-vars)、次にこのキー、最後に [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/ja/env-vars)715* **セッションごとの上書き**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/ja/env-vars) が他のすべてよりも優先され、次に [`CLAUDE_CODE_PROMPT_CACHE_TTL`](https://code.claude.com/docs/ja/env-vars)、次にこのキー、最後に [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/ja/env-vars) の順になります

716 716 

717この例はメイン会話を 1 時間のライフタイムに保ち、サブエージェントを 5 分のままにします:717この例では、メインの会話を 1 時間の有効期間に保ち、サブエージェントは 5 分のままにします。

718 718 

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

720{720{


723}723}

724```724```

725 725 

726各ライフタイムのコストについては、[キャッシュライフタイム](https://code.claude.com/docs/ja/prompt-caching.md#cache-lifetime)を参照してください。726各有効期間のコストについては、[キャッシュの有効期間](https://code.claude.com/docs/ja/prompt-caching.md#cache-lifetime)を参照してください。

727 727 

728### `showThinkingSummaries`728### `showThinkingSummaries`

729 729 

730対話セッションで Claude の[拡張思考](https://code.claude.com/docs/ja/model-config.md#extended-thinking)の要約を表示します。`Ctrl+O` で思考を展開したときに完全な要約を見たい場合に設定します。設定解除または `false` の場合、Anthropic API は思考ブロックを秘匿し、Claude Code は折りたたまれたスタブを表示します。730対話セッションで Claude の[拡張思考](https://code.claude.com/docs/ja/model-config.md#extended-thinking)の要約を表示します。`Ctrl+O` で思考を展開したときに完全な要約を表示したい場合に設定します。未設定または `false` の場合、Anthropic API は思考ブロックを編集済み(非表示)にし、Claude Code は折りたたまれたスタブを表示します。

731 731 

732* **スコープ**: [`任意のファイル`](#scopes)732* **スコープ**: [`Any file`](#scopes)

733* **タイプ**: ブール値733* **型**: Boolean

734 * `true`: `Ctrl+O` で思考を展開するときに完全な思考概要が表示されます734 * `true`: `Ctrl+O` で思考を展開すると、完全な思考の要約が表示されます

735 * `false`: Anthropic API は思考ブロックを編集し、Claude Code は折りたたまれたスタブを表示します735 * `false`: Anthropic API は思考ブロックを編集済み(非表示)にし、Claude Code は折りたたまれたスタブを表示します

736* **デフォルト**: `false`736* **デフォルト**: `false`

737 737 

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


741}741}

742```742```

743 743 

744編集は、モデルが生成するものではなく、表示するものだけを変更します。思考支出を削減するには、代わりに[予算を低下させるか思考を無効にします](https://code.claude.com/docs/ja/model-config.md#extended-thinking)。744編集による非表示化で変わるのは表示内容だけであり、モデルが生成する内容は変わりません。思考の費用を削減するには、代わりに[予算を下げるか思考を無効にします](https://code.claude.com/docs/ja/model-config.md#extended-thinking)。

745 745 

746### `subagentPromptCacheTtl`746### `subagentPromptCacheTtl`

747 747 

748[プロンプトキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md)がメイン会話外で Claude Code が行うリクエストを保持する期間を選択します。このキーは[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)、[ワークフロー](https://code.claude.com/docs/ja/workflows.md)、および Claude Code 独自のバックグラウンドおよびヘルパーリクエスト (圧縮やセッションタイトルなど)に適用されます。1 時間のライフタイムはより長い休憩全体でキャッシュを温かく保ち、API は[各キャッシュ書き込みを 5 分のライフタイムより高いレートで請求します](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing)。Claude Code v2.1.242 以降が必要です。748Claude Code がメインの会話の外で行うリクエストを[プロンプトキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md)が保持する期間を選択します。このキーは、[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)、[ワークフロー](https://code.claude.com/docs/ja/workflows.md)、およびコンテキスト圧縮やセッションタイトルなど、Claude Code 自身のバックグラウンドリクエストとヘルパーリクエストに適用されます。1 時間の有効期間では、長めの休憩をはさんでもキャッシュがウォームな状態に保たれますが、API は 5 分の有効期間よりも[高い料金で各キャッシュ書き込みを請求](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing)します。Claude Code v2.1.242 以降が必要です。

749 749 

750* **スコープ**: [`任意のファイル`](#scopes)750* **スコープ**: [`Any file`](#scopes)

751* **タイプ**: 文字列、以下のいずれか:751* **型**: 文字列。次のいずれか:

752 * `"5m"`: キャッシュは 5 分間保持されます752 * `"5m"`: キャッシュは 5 分間保持されます

753 * `"1h"`: キャッシュは 1 時間保持されます753 * `"1h"`: キャッシュは 1 時間保持されます

754* **デフォルト**: 設定解除されているため、これらの各リクエストは[そのデフォルトライフタイム](https://code.claude.com/docs/ja/prompt-caching.md#which-ttl-each-request-gets)を取得します754* **デフォルト**: 未設定。これらの各リクエストには[デフォルトの有効期間](https://code.claude.com/docs/ja/prompt-caching.md#which-ttl-each-request-gets)が適用されます

755* **セッションごとのオーバーライド**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/ja/env-vars)はすべてを優先し、次に [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](https://code.claude.com/docs/ja/env-vars)、次にこのキー、次に [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/ja/env-vars)。サブエージェント独自の frontmatter 値がランク付けされる場所については、[TTL を自分で選択](https://code.claude.com/docs/ja/prompt-caching.md#choose-the-ttl-yourself)を参照してください755* **セッションごとの上書き**: [`FORCE_PROMPT_CACHING_5M`](https://code.claude.com/docs/ja/env-vars) が他のすべてよりも優先され、次に [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](https://code.claude.com/docs/ja/env-vars)、次にこのキー、次にすべてのリクエストに 1 時間の有効期間を求める [`ENABLE_PROMPT_CACHING_1H`](https://code.claude.com/docs/ja/env-vars) の順になります。サブエージェント自身のフロントマターの値の優先順位については、[TTL を自分で選択する](https://code.claude.com/docs/ja/prompt-caching.md#choose-the-ttl-yourself)を参照してください

756 756 

757この例はサブエージェントとメイン会話外の他のリクエストに 1 時間のライフタイムを与えます:757この例では、サブエージェントとメインの会話の外で行われるその他のリクエストに 1 時間の有効期間を与えます。

758 758 

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

760{760{


762}762}

763```763```

764 764 

765このキーは [`promptCacheTtl`](#promptcachettl)がカバーしないリクエストをカバーするため、Claude Code が行うすべてのリクエストのライフタイムを選択するには両方を設定します。サブエージェントのキャッシュがメイン会話のキャッシュとどのように異なるかについては、[サブエージェントとキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md#subagents-and-the-cache)を参照してください。765このキーは [`promptCacheTtl`](#promptcachettl) が対象としないリクエストをカバーするため、両方を設定すると Claude Code が行うすべてのリクエストの有効期間を選択できます。サブエージェントのキャッシュがメインの会話のキャッシュとどのように異なるかについては、[サブエージェントとキャッシュ](https://code.claude.com/docs/ja/prompt-caching.md#subagents-and-the-cache)を参照してください。

766 766 

767### `switchModelsOnFlag`767### `switchModelsOnFlag`

768 768 

769[安全分類器がリクエストにフラグを立てた](https://code.claude.com/docs/ja/model-config.md#automatic-model-fallback)場合に何が起こるかを選択します。フォールバックモデルに切り替えて続行するか、切り替えるかプロンプトを編集するかを選択できるように一時停止します。769[安全性分類器がリクエストを警告した](https://code.claude.com/docs/ja/model-config.md#automatic-model-fallback)ときの動作を選択します。フォールバックモデルに切り替えて続行するか、一時停止して切り替えるかプロンプトを編集するかを選べるようにするかのいずれかです。

770 770 

771* **スコープ**: [`任意のファイル`](#scopes)。`/config` には **メッセージが警告対象となったときにモデルを切り替える** として表示され、選択肢は **自動的に切り替える** と **毎回確認する** です。771* **スコープ**: [`Any file`](#scopes)。`/config` では **Switch models when a message is flagged** として表示され、オプションは **Switch automatically** と **Ask each time** です。

772* **タイプ**: ブール値772* **型**: Boolean

773 * `true`: Claude Code はフォールバックモデルに切り替えて続行します773 * `true`: Claude Code はフォールバックモデルに切り替えて続行します

774 * `false`: インタラクティブセッションで Claude Code は一時停止して、切り替えるかプロンプトを編集するかを選択できます。ダイアログが表示できない場所 (`-p` 実行など)では、フラグされたリクエストはエラーで終了します774 * `false`: 対話セッションでは、Claude Code は一時停止し、切り替えるかプロンプトを編集するかを選べるようにします。`-p` の実行など、ダイアログを表示できない場合は、警告されたリクエストはエラーとして終了します

775* **デフォルト**: 設定解除されています。Claude Code は自動的に切り替えますが、対話セッションでは[先に確認する](https://code.claude.com/docs/ja/model-config.md#ask-before-switching)場合があります775* **デフォルト**: 未設定。Claude Code は自動的に切り替えますが、対話セッションでは[先に確認する](https://code.claude.com/docs/ja/model-config.md#ask-before-switching)場合があります

776 776 

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

778{778{


780}780}

781```781```

782 782 

783[切り替える前に確認](https://code.claude.com/docs/ja/model-config.md#ask-before-switching)を参照してください。783[切り替える前に確認する](https://code.claude.com/docs/ja/model-config.md#ask-before-switching)を参照してください。

784 784 

785### `ultracode`785### `ultracode`

786 786 

787セッションを[ultracode](https://code.claude.com/docs/ja/workflows.md#let-claude-decide-with-ultracode)でオンで開始します。オンの場合、Claude は、あなたが尋ねるのを待つのではなく、各実質的なタスクのワークフローを計画します。Claude は[動的ワークフロー](https://code.claude.com/docs/ja/workflows.md)が有効になっており、モデルが `xhigh` 努力をサポートする場合にのみワークフローを計画します。キーはセッションの努力レベルを変更しません。ultracode はセッションが使用するレベルで実行されます。Claude Code はこのキーを読み取りますが、決して書き込みません。`/effort ultracode` は現在のセッションのみで ultracode をオンにします。787[ultracode](https://code.claude.com/docs/ja/workflows.md#let-claude-decide-with-ultracode) をオンにした状態でセッションを開始します。オンにすると、Claude はユーザーからの依頼を待たずに、実質的なタスクごとにワークフローを計画します。Claude がワークフローを計画するのは、ユーザーに対して[動的ワークフロー](https://code.claude.com/docs/ja/workflows.md)が有効で、かつモデルが `xhigh` の effort をサポートしている場合のみです。このキーはセッションの effort レベルを変更しません。ultracode はセッションが使用しているレベルで実行されます。Claude Code はこのキーを読み取りますが、書き込むことはありません。`/effort ultracode` は現在のセッションに限り ultracode をオンにします。

788 788 

789* **スコープ**: [`任意のファイル`](#scopes)789* **スコープ**: [`Any file`](#scopes)

790* **タイプ**: ブール値790* **型**: Boolean

791 * `true`: 動的ワークフローが有効になっており、モデルが `xhigh` をサポートする場合、セッションは ultracode でオンで開始されます791 * `true`: ユーザーに対して動的ワークフローが有効で、かつモデルが `xhigh` をサポートしている場合、セッションは ultracode がオンの状態で開始します

792 * `false`: セッションは ultracode でオフで開始されます792 * `false`: セッションは ultracode がオフの状態で開始します

793* **デフォルト**: 設定解除されているため、ultracode はオフです793* **デフォルト**: 未設定。ultracode はオフです

794* **セッションごとの上書き**: `/effort ultracode` はこのキーなしで 1 つのセッションの ultracode をオンにし、`/effort ultracode off` はこのキーが `true` の場合に 1 つのセッションの ultracode をオフにします。`--effort ultracode` フラグも、1 つのセッションで `xhigh` effort にして ultracode をオンにします794* **セッションごとの上書き**: `/effort ultracode` はこのキーなしで 1 つのセッションに限り ultracode をオンにし、`/effort ultracode off` はこのキーが `true` の場合に 1 つのセッションに限りオフにします。`--effort ultracode` フラグも、1 つのセッションに限り `xhigh` の effort で ultracode をオンにします

795 795 

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

797{797{


799}799}

800```800```

801 801 

802セッションの努力レベルは [`effortLevel`](#effortlevel)、[`modelSettings`](#modelsettings)、および他の[努力ソース](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)から来ます。[`maxEffortLevel`](#maxeffortlevel)などの[努力キャップ](https://code.claude.com/docs/ja/model-config.md#organization-effort-limits)はそのレベルを低下させますが、ultracode をオフにしません。これと `/effort ultracode off` フォームには Claude Code v2.1.284 以降が必要です。v2.1.284 より前では、`ultracode: true` はセッションを `xhigh` 努力で実行し、`xhigh` より下の努力キャップは ultracode をオフに保ちました。Agent SDK `apply_flag_settings` コントロールリクエストもキーを受け入れます。802セッションの effort レベルは、[`effortLevel`](#effortlevel)、[`modelSettings`](#modelsettings)、およびその他の [effort のソース](https://code.claude.com/docs/ja/model-config.md#adjust-effort-level)から決まります。[`maxEffortLevel`](#maxeffortlevel) などの [effort の上限](https://code.claude.com/docs/ja/model-config.md#organization-effort-limits)は、ultracode をオフにすることなくそのレベルを引き下げます。この動作と `/effort ultracode off` の形式には Claude Code v2.1.284 以降が必要です。v2.1.284 より前は、`ultracode: true` はセッションを `xhigh` の effort で実行し、`xhigh` 未満の effort の上限があると ultracode はオフのままでした。Agent SDK の `apply_flag_settings` コントロールリクエストもこのキーを受け付けます。

803 803 

804## 権限設定804## 権限設定

805 805 


1371 1371 

1372Claude Code はディレクトリパスから末尾のスラッシュを削除するため、`~/.aws` と `~/.aws/` は同じディレクトリと一致します。v2.1.224 より前では、Claude Code は末尾のスラッシュをサンドボックスに渡していたため、末尾のスラッシュ付きで記述された `denyRead` または `denyWrite` エントリの下のパスを、Claude が引き続き読み取りまたは書き込みできました。1372Claude Code はディレクトリパスから末尾のスラッシュを削除するため、`~/.aws` と `~/.aws/` は同じディレクトリと一致します。v2.1.224 より前では、Claude Code は末尾のスラッシュをサンドボックスに渡していたため、末尾のスラッシュ付きで記述された `denyRead` または `denyWrite` エントリの下のパスを、Claude が引き続き読み取りまたは書き込みできました。

1373 1373 

1374Claude Code は末尾の `/**` も削除するため、`~/build/**` と `~/build` は同じディレクトリをカバーします。`*` などのワイルドカードが機能するかどうかは、エントリがどのリストにあるか、およびプラットフォームに依存します:1374##### サンドボックスパスでワイルドカードが機能する場所

1375 

1376ワイルドカード `*`、`?`、`**` は、macOS では 4 つの `sandbox.filesystem` パスリストすべてで機能しますが、Linux と WSL2 では機能する場所が限られます:

1377 

1378| `sandbox.filesystem` リスト | Linux と WSL2 で機能するもの | Linux と WSL2 で機能しない例 | 代わりに記述するもの |

1379| :- | :- | :- | :- |

1380| `denyRead`、`allowRead` | 末尾の `/**` は機能するため、`~/build/**` は `~/build` と同じディレクトリを対象とします。その他のワイルドカードは、エントリの[フルパス](#sandbox-path-prefixes)の最初のディレクトリ名より後でのみ機能します。 | `denyRead` 内の `/**/*.pem` は何も対象としないため、読み取りをブロックしません | `/srv/**/*.pem` のように、トップレベルディレクトリごとに 1 つのエントリ |

1381| `allowWrite`、`denyWrite` | 末尾の `/**` のみが機能するため、`~/build/**` は `~/build` と同じディレクトリを対象とします | `./src/*` は `src` 内にある `*` という名前のファイルまたはディレクトリのみを対象とし、それが存在しない場合は何も対象としません | `src` 配下のすべてを対象とする `./src`、またはパスごとに 1 つのエントリ |

1382 

1383`~/keys/*.pem` では、ワイルドカードは最初のディレクトリ名より後にあります。ホームディレクトリが `/home/alice` の場合、最初のディレクトリ名は `home` です:

1384 

1385```text theme={null}

1386~/keys/*.pem the entry

1387/home/alice/keys/*.pem its full path

1388 ^^^^ the first directory name, home

1389```

1390 

1391Linux と WSL2 では、セッション内の `/sandbox` の **Config** タブに、末尾の `/**` 以外のワイルドカードを含む `Edit` 権限ルールについての警告が表示されます。それらのワイルドカードは、サンドボックス化されたコマンドには機能しません。ルールが対象とすべき各パス、またはそれらを含むディレクトリを、許可ルールの場合は `allowWrite` に、拒否ルールの場合は `denyWrite` に追加してください。

1392 

1393##### 角括弧、波括弧、丸括弧を含むディレクトリ名

1394 

1395名前に角括弧を含むディレクトリを許可またはブロックするには、`./app/[slug]` のように名前をそのまま記述します。このエントリでは、`[slug]` は角括弧を含めてディレクトリの実際の名前です:

1396 

1397```text theme={null}

1398app/

1399└── [slug]/

1400 └── page.tsx

1401```

1375 1402 

1376* **`allowWrite` および `denyWrite`**: macOS ではワイルドカードが機能します。Linux と WSL2 では、サンドボックスは具体的なパスをマウントするため、Claude Code は末尾の `/**` を削除した後に `*`、`?`、または `[` を含むエントリをスキップし、そのエントリは効果がありません。Claude Code は `Edit` 権限ルールからパスを追加するため、同じ制限が適用され、`/sandbox` の **Config** タブはワイルドカードを含む `Edit` および `Read` 権限ルールについて警告します。1403このエントリはディレクトリ配下のすべてを対象とするため、末尾の `/**` は付けないでください。macOS、Linux、WSL2 では、サンドボックス化されたコマンドの起動時に `app/[slug]` ディレクトリが存在している必要があります。

1377* **`denyRead` および `allowRead`**: ワイルドカードはすべてのプラットフォームで機能します。Linux と WSL2 では、Claude Code は読み取りエントリを、それが一致する具体的なパスに展開します。これは書き込みリストでは行いません。

1378 1404 

1379波括弧は名前の中で通常の文字として一致するため、`~/data/{keys,tokens}` は 2 つの選択肢ではなく、文字どおり `{keys,tokens}` という名前のディレクトリをカバーします。`~/data/keys` と `~/data/tokens` をカバーするには、それぞれを個別のエントリとして追加します。1405* **`[slug]` のような角括弧**: macOS ではすべてのリストで、Linux と WSL2 では `denyRead` と `allowRead` で、`./app/[slug]` の角括弧はパターンとしても扱われます。その場合、このエントリは `app/s` や `app/g` など、`app` 配下にある、`slug` のうち 1 文字を名前とするパスにも一致します。このエントリが `allowRead` にある場合、または macOS で `allowWrite` にある場合、サンドボックス化されたコマンドはそれらのパスにもアクセスできます。アクセスさせるべきでないものは名前を変更してください。

1406* **`[user-id]` や `[post-id]` のように、ハイフンの左側の文字が右側の文字より後にソートされる角括弧**: `./app/[user-id]` は、すべてのプラットフォームのすべてのリストで、その名前と完全に一致するディレクトリのみを対象とします。v2.1.304 より前は、`denyRead` または `allowRead` にそのようなエントリがあると、Linux と WSL2 でサンドボックス化されたコマンドの起動に失敗していました。

1407* **波括弧と丸括弧**: これらは通常の文字であるため、`~/data/{keys,tokens}` は 2 つの選択肢ではなく、`{keys,tokens}` という名前の 1 つのディレクトリを対象とします。`~/data/keys` と `~/data/tokens` を対象とするには、それぞれを個別のエントリとして追加してください。

1380 1408 

1381### `sandbox.filesystem.allowWrite`1409### `sandbox.filesystem.allowWrite`

1382 1410 


3470 3498 

3471ホスト名マッチングは大文字と小文字を区別せず、完全修飾ドメイン名を示す末尾のドット付きの `hooks.example.com.` を `hooks.example.com` と同じように扱います。これは DNS の扱い方と同じです。許可リストはすべてのソースからのフック(管理設定を含む)に適用されます。3499ホスト名マッチングは大文字と小文字を区別せず、完全修飾ドメイン名を示す末尾のドット付きの `hooks.example.com.` を `hooks.example.com` と同じように扱います。これは DNS の扱い方と同じです。許可リストはすべてのソースからのフック(管理設定を含む)に適用されます。

3472 3500 

3473Agent SDK の `managedSettings` オプションでは、リストにエントリがある場合、Claude Code はこのキーを無視するため、代わりに SDK の `settings` オプションでリストを渡してください。[親設定での各値の動作](https://code.claude.com/docs/ja/claude-apps-gateway#how-hook-and-skill-keys-in-parent-settings-take-effect)を参照してください。3501Agent SDK の `managedSettings` オプションでは、リストにエントリがある場合、Claude Code はこのキーを無視するため、代わりに SDK の [`settings` オプション](https://code.claude.com/docs/ja/agent-sdk/typescript#options)でリストを渡してください。[親設定で空のリストがどのように動作するか](https://code.claude.com/docs/ja/claude-apps-gateway#how-hook-and-skill-keys-in-parent-settings-take-effect)を参照してください。

3474 3502 

3475### `allowManagedHooksOnly`3503### `allowManagedHooksOnly`

3476 3504 


3520到達範囲はキーを持つファイルによって異なります:3548到達範囲はキーを持つファイルによって異なります:

3521 3549 

3522* **管理設定内**: Claude Code はすべての設定済みフック(管理フックを含む)を無効にし、[Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) がプロセス内で登録するフックは実行し続けます3550* **管理設定内**: Claude Code はすべての設定済みフック(管理フックを含む)を無効にし、[Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) がプロセス内で登録するフックは実行し続けます

3523* **Agent SDK の `managedSettings` オプション内**: Claude Code はこのキーを `allowManagedHooksOnly: true` として扱うため、どのフックが停止するかについては [`allowManagedHooksOnly` 下で実行されるもの](#what-runs-under-allowmanagedhooksonly)を参照してください。管理者が管理設定をデプロイしているマシンでは、管理者が[埋め込みホストによるポリシーの追加を許可](https://code.claude.com/docs/ja/managed-settings.md#let-an-embedding-host-add-policy)していない限り、Claude Code はこのキーを無視します。Claude Code v2.1.309 以降が必要です。3551* **Agent SDK の `managedSettings` オプション内**: 管理者が管理設定をデプロイしているマシンでは、管理者が[埋め込みホストによるポリシーの追加を許可](https://code.claude.com/docs/ja/managed-settings.md#let-an-embedding-host-add-policy)していない限り、Claude Code はこのキーを無視します。キーが有効になる場合、ユーザー、プロジェクト、ローカル、プラグインのフックが停止し、SDK の `settings` オプション内のフックも停止します。管理者の管理フック、[強制有効](#enabledplugins)にされたプラグインのフック、および [SDK フックコールバック](https://code.claude.com/docs/ja/agent-sdk/hooks.md)は実行し続けます。Claude Code v2.1.309 以降が必要です。

3524* **他の設定ファイル内**: Claude Code はユーザー、プロジェクト、ローカル、プラグインフックを無効にします。管理フック、Agent SDK フック、管理 [`enabledPlugins`](#enabledplugins) で強制有効にされたプラグインからのフックは実行し続けます3552* **他の設定ファイル内**: Claude Code はユーザー、プロジェクト、ローカル、プラグインフックを無効にします。管理フック、Agent SDK フック、管理 [`enabledPlugins`](#enabledplugins) で強制有効にされたプラグインからのフックは実行し続けます

3525 3553 

3526このキーは、コードがフックを登録するプラグインである [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) も停止します:3554このキーは、コードがフックを登録するプラグインである [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) も停止します:


3624 3652 

3625許可リストはすべてのソースからのフック(管理設定を含む)に適用されます。3653許可リストはすべてのソースからのフック(管理設定を含む)に適用されます。

3626 3654 

3627Agent SDK の `managedSettings` オプションでは、リストにエントリがある場合、Claude Code はこのキーを無視するため、代わりに SDK の `settings` オプションでリストを渡してください。[親設定での各値の動作](https://code.claude.com/docs/ja/claude-apps-gateway#how-hook-and-skill-keys-in-parent-settings-take-effect)を参照してください。3655Agent SDK の `managedSettings` オプションでは、リストにエントリがある場合、Claude Code はこのキーを無視するため、代わりに SDK の [`settings` オプション](https://code.claude.com/docs/ja/agent-sdk/typescript#options)でリストを渡してください。[親設定で空のリストがどのように動作するか](https://code.claude.com/docs/ja/claude-apps-gateway#how-hook-and-skill-keys-in-parent-settings-take-effect)を参照してください。

3628 3656 

3629### `workflowKeywordTriggerEnabled`3657### `workflowKeywordTriggerEnabled`

3630 3658 


3841* **型**: Boolean3869* **型**: Boolean

3842 * `true`: Claude Code はマーケットプレイスが宣言したコマンドを実行せず、command ソースのプラグインをインストールも更新もせず、すでにインストールされているものの読み込みも停止します3870 * `true`: Claude Code はマーケットプレイスが宣言したコマンドを実行せず、command ソースのプラグインをインストールも更新もせず、すでにインストールされているものの読み込みも停止します

3843 * `false`: Claude Code は command ソースのプラグインを明示的に許可します3871 * `false`: Claude Code は command ソースのプラグインを明示的に許可します

3844* **デフォルト**: 未設定。Claude Code は [`allowManagedHooksOnly`](#allowmanagedhooksonly) に従います。フックの実行を管理設定に制限している組織では、command ソースも無効になります3872* **デフォルト**: 未設定。Claude Code は [`allowManagedHooksOnly`](#allowmanagedhooksonly) に従います。フックの実行を管理設定に制限している組織では、command ソースも無効になります。Agent SDK の `managedSettings` オプションで [`disableAllHooks: true`](#disableallhooks) を渡すアプリケーションは、それだけでは command ソースを無効にしません。

3845 3873 

3846```json managed-settings.json theme={null}3874```json managed-settings.json theme={null}

3847{3875{

Details

127 127 

128```bash ~/.tmux.conf theme={null}128```bash ~/.tmux.conf theme={null}

129set -g allow-passthrough on129set -g allow-passthrough on

130set -g focus-events on

130set -s extended-keys on131set -s extended-keys on

131set -as terminal-features 'xterm*:extkeys'132set -as terminal-features 'xterm*:extkeys'

132```133```

133 134 

134`allow-passthrough` 行により、通知とプログレス更新が tmux に飲み込まれるのではなく、外側のターミナルに到達できるようになります。`extended-keys` 行により、tmux が Shift+Enter と通常の Enter を区別できるようになり、改行ショートカットが機能するようになります。135`allow-passthrough` 行により、通知とプログレス更新が tmux に飲み込まれるのではなく、外側のターミナルに到達できるようになります。`extended-keys` 行により、tmux が Shift+Enter と通常の Enter を区別できるようになり、改行ショートカットが機能するようになります。

135 136 

137[mod の `Image`](https://code.claude.com/docs/ja/plugins/mods/reference#elements) には、`allow-passthrough` 行と `focus-events` 行に加えて、その他の [tmux 内で描画するための要件](https://code.claude.com/docs/ja/plugins/mods/gallery.md#draw-an-image-inside-tmux)が必要です。これらの行を追加した後は、tmux からデタッチして再度アタッチし、Claude Code を再起動してください。

138 

136## Windows で Backspace がワード全体を削除する問題を修正する139## Windows で Backspace がワード全体を削除する問題を修正する

137 140 

138Windows では、Claude Code は Backspace として到着した `^H` を Ctrl+Backspace として読み込み、[前のワードを削除します](https://code.claude.com/docs/ja/interactive-mode.md#text-editing)。ただし、`TERM_PROGRAM` が `mintty` または `TERM` が `cygwin` の場合は除きます。macOS と Linux では、Claude Code はこれをプレーン Backspace として読み込みます。141Windows では、Claude Code は Backspace として到着した `^H` を Ctrl+Backspace として読み込み、[前のワードを削除します](https://code.claude.com/docs/ja/interactive-mode.md#text-editing)。ただし、`TERM_PROGRAM` が `mintty` または `TERM` が `cygwin` の場合は除きます。macOS と Linux では、Claude Code はこれをプレーン Backspace として読み込みます。

ultrareview.md +2 −2

Details

176サブコマンドは 3 つのコードのいずれかで終了します。176サブコマンドは 3 つのコードのいずれかで終了します。

177 177 

178* **0**:レビューが完了しました。検出結果があるかどうかに関わらず178* **0**:レビューが完了しました。検出結果があるかどうかに関わらず

179* **1**:レビューの起動に失敗したか、完了前に停止されたか、クラウドセッションがエラーになったか、またはタイムアウトが経過しました。[フォルダが信頼されていない](#trust-the-folder-before-the-review-runs)場合も、信頼の確認で `n` と答えるか Ctrl-C を押した場合を含め、コードは 1 になります。179* **1**:レビューの起動に失敗したか、完了前に停止されたか、クラウドセッションがエラーになったか、またはタイムアウトが経過しました。[フォルダが信頼されていない](#trust-the-folder-before-the-review-runs)場合も、信頼の確認で `n` と答えるか、Enter キーを押すか、Ctrl-C を押した場合を含め、コードは 1 になります。

180* **130**:信頼の確認時ではなく、サブコマンドがレビューを起動している間、検出結果を待っている間、または `--post` のコメントを送信している間に Ctrl-C を押しました180* **130**:信頼の確認時ではなく、サブコマンドがレビューを起動している間、検出結果を待っている間、または `--post` のコメントを送信している間に Ctrl-C を押しました

181 181 

182検出結果が届く前にサブコマンドが終了した場合、検出結果はターミナルに届きません。レビューはクラウドで引き続き実行されている可能性があります。サブコマンドを再度実行すると、そのレビューを再開するのではなく新しいレビューが開始され、新しいレビューでは[無料実行が使用されるか、使用クレジットとして課金されます](#pricing-and-free-runs)。182検出結果が届く前にサブコマンドが終了した場合、検出結果はターミナルに届きません。レビューはクラウドで引き続き実行されている可能性があります。サブコマンドを再度実行すると、そのレビューを再開するのではなく新しいレビューが開始され、新しいレビューでは[無料実行が使用されるか、使用クレジットとして課金されます](#pricing-and-free-runs)。


198claude ultrareview 1234 --trust-workspace198claude ultrareview 1234 --trust-workspace

199```199```

200 200 

201信頼されていないプルリクエストをレビューするには、信頼しているブランチから `claude ultrareview <PR number> --trust-workspace` を実行します。`y` と異なり、このフラグは何も保存しません。PR は[クラウドでクローンされる](#review-a-pull-request)ため、そのブランチをローカルに用意する必要はありません。201信頼されていないプルリクエストをレビューするには、信頼しているブランチから `claude ultrareview <PR number> --trust-workspace` を実行します。PR は[クラウドでクローンされる](#review-a-pull-request)ため、そのブランチをローカルに用意する必要はありません。

202 202 

203## ultrareview と /code-review の比較203## ultrareview と /code-review の比較

204 204 

vs-code.md +6 −1

Details

1001 1001 

1002### TLS インスペクションを行うプロキシの背後で音声入力または Web タブが失敗する1002### TLS インスペクションを行うプロキシの背後で音声入力または Web タブが失敗する

1003 1003 

1004音声入力または Web タブが `unable to get local issuer certificate` などの証明書エラーで失敗する場合は、`~/.claude/settings.json` の `env` ブロックに [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/ja/network-config#custom-ca-certificates) を設定してください。値には、プロキシのルート CA 証明書を含む PEM ファイルのパスを設定します。このファイルは IT チームから入手できます。このエラーテキストは、マイクボタンまたは拡張機能のログで確認できます。1004音声入力または Web タブが `unable to get local issuer certificate` などの証明書エラーで失敗する場合は、`~/.claude/settings.json` の `env` ブロックに [`NODE_EXTRA_CA_CERTS`](https://code.claude.com/docs/ja/network-config#custom-ca-certificates) を設定してください。値には、プロキシのルート CA 証明書を含む PEM ファイルのパスを設定します。このファイルは IT チームから入手できます。この失敗は、マイクボタン、Web タブ、またはログに表示されます。

1005 1005 

1006* **音声入力**: マイクボタンに、`Dictation error: WebSocket error:` に続けてエラーテキストが表示されます。1006* **音声入力**: マイクボタンに、`Dictation error: WebSocket error:` に続けてエラーテキストが表示されます。

1007* **Web タブ**: [クラウドセッション](#resume-cloud-sessions-from-claude-ai)を一覧表示するタブには、エラーテキストなしで `Remote server is not connected` が表示されます。ログでエラーテキストを確認するには、次の手順を実行します。1007* **Web タブ**: [クラウドセッション](#resume-cloud-sessions-from-claude-ai)を一覧表示するタブには、エラーテキストなしで `Remote server is not connected` が表示されます。ログでエラーテキストを確認するには、次の手順を実行します。

1008 1. [コマンドパレット](#vs-code-commands-and-shortcuts)から **Claude Code: Show Logs** を実行して、`Claude VSCode` 出力チャネルを開きます。1008 1. [コマンドパレット](#vs-code-commands-and-shortcuts)から **Claude Code: Show Logs** を実行して、`Claude VSCode` 出力チャネルを開きます。

1009 2. タブの **Reconnect** をクリックし、`Connecting…` が表示されなくなるまで待ちます。1009 2. タブの **Reconnect** をクリックし、`Connecting…` が表示されなくなるまで待ちます。

1010 3. チャネル内で `Error fetching remote sessions:` または `Failed to fetch organization UUID:` を検索し、一致する最新の行でそのプレフィックスの後にあるエラーテキストを確認します。1010 3. チャネル内で `Error fetching remote sessions:` または `Failed to fetch organization UUID:` を検索し、一致する最新の行でそのプレフィックスの後にあるエラーテキストを確認します。

1011* **ログの警告**: `an authority that Claude Code does not trust` を含む警告は、証明書エラーを示しています。TLS インスペクションを行うプロキシの背後では、`~/.claude/settings.json` の `env` に `NODE_EXTRA_CA_CERTS` を設定してください。v2.1.309 より前のバージョンでは、この警告はログに記録されません。

1011 1012 

1012この修正には拡張機能バージョン 2.1.307 以降が必要なため、まず拡張機能を更新してください。次に、`NODE_EXTRA_CA_CERTS` に証明書ファイルのフルパスを `~` を使わずに設定します。Windows のパスの場合、`settings.json` では `C:\\certs\\example-ca.pem` のように各バックスラッシュを 2 つずつ記述してください。1013この修正には拡張機能バージョン 2.1.307 以降が必要なため、まず拡張機能を更新してください。次に、`NODE_EXTRA_CA_CERTS` に証明書ファイルのフルパスを `~` を使わずに設定します。Windows のパスの場合、`settings.json` では `C:\\certs\\example-ca.pem` のように各バックスラッシュを 2 つずつ記述してください。

1013 1014 

1015> [!NOTE]

1016>

1017> WSL、SSH ホスト、開発コンテナ、またはその他のシステムに接続されたウィンドウでは、ローカルコンピューターではなく、そのシステム上で証明書ファイルを保存し、`~/.claude/settings.json` を編集してください。

1018 

1014この例では、Linux または macOS のパス `/etc/ssl/certs/example-ca.pem` にある証明書ファイルを指定しています。1019この例では、Linux または macOS のパス `/etc/ssl/certs/example-ca.pem` にある証明書ファイルを指定しています。

1015 1020 

1016```json ~/.claude/settings.json theme={null}1021```json ~/.claude/settings.json theme={null}