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`。文字列ではなくブール値として出力されます