Skip to content

原文(日本語に翻訳)

OTEL_LOG_TOOL_DETAILS=1 設定時、tool_decision テレメトリイベントに tool_parameters(Bash コマンド、MCP/スキル名)が含まれるようになりました。

原文(英語)

tool_decision telemetry events now include tool_parameters (bash commands, MCP/skill names) when OTEL_LOG_TOOL_DETAILS=1

概要

Claude Code の OpenTelemetry テレメトリにおいて、OTEL_LOG_TOOL_DETAILS=1 環境変数を設定した場合、tool_decision イベントに tool_parameters フィールドが追加されるようになりました。このフィールドには実行された Bash コマンドの内容、呼び出された MCP サーバー名・ツール名、スキル名などの詳細情報が含まれます。セキュリティ監査や詳細なオブザーバビリティが必要な環境での可視性が大幅に向上します。

基本的な使い方

OTEL_LOG_TOOL_DETAILS=1 環境変数を設定してから Claude Code を起動します。

bash
# 環境変数を設定して Claude Code を起動
export OTEL_LOG_TOOL_DETAILS=1
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
claude

tool_decision イベントには以下のような tool_parameters が含まれます。

json
{
  "event.name": "tool_decision",
  "tool_name": "Bash",
  "tool_decision": "approved",
  "tool_parameters": {
    "command": "git status"
  }
}

実践例

セキュリティ監査ログを収集する

SIEM(セキュリティ情報およびイベント管理)システムへの転送用にテレメトリを設定します。

bash
# OpenTelemetry Collector を経由して SIEM に転送
export OTEL_LOG_TOOL_DETAILS=1
export OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317
export OTEL_SERVICE_NAME=claude-code-audit

claude --bg "セキュリティレビューを実施してください"

収集される tool_decision イベントの例:

json
{
  "timestamp": "2026-05-29T10:00:00Z",
  "event.name": "tool_decision",
  "tool_name": "Bash",
  "tool_decision": "approved",
  "tool_parameters": {
    "command": "npm install --save-dev eslint"
  },
  "session_id": "sess_abc123"
}

MCP ツール呼び出しを監視する

MCP サーバーのツール使用状況を追跡します。

json
{
  "event.name": "tool_decision",
  "tool_name": "mcp_github",
  "tool_decision": "approved",
  "tool_parameters": {
    "mcp_server_name": "github",
    "mcp_tool_name": "create_pull_request",
    "repository": "my-org/my-repo"
  }
}

スキルの使用状況を追跡する

どのスキルが呼び出されているかをテレメトリで確認できます。

json
{
  "event.name": "tool_decision",
  "tool_name": "Skill",
  "tool_decision": "approved",
  "tool_parameters": {
    "skill_name": "code-review:security-check"
  }
}

Elastic / Datadog / Honeycomb での可視化

yaml
# otel-collector-config.yaml の例
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: "0.0.0.0:4317"

exporters:
  elasticsearch:
    endpoints: ["http://elasticsearch:9200"]
    index: "claude-code-telemetry"

service:
  pipelines:
    logs:
      receivers: [otlp]
      exporters: [elasticsearch]
bash
# 収集後、dangerous なコマンドを検知するクエリ例
# event.name == "tool_decision" AND tool_parameters.command CONTAINS "rm -rf"

注意点

  • OTEL_LOG_TOOL_DETAILS=1 は機密情報(ファイルパス、コマンド引数、ツール入力)を含む可能性があります。本番環境での使用は適切なアクセス制御のもとで行ってください。
  • テレメトリデータを SIEM に転送する場合、個人情報保護規制(GDPR、CCPA など)に準拠したデータ取り扱いが必要です。
  • tool_parameters はツールの種類によって含まれるフィールドが異なります(Bash: command、MCP: mcp_server_namemcp_tool_name、スキル: skill_name)。
  • このフラグを設定しない場合、tool_decision イベントにはツール名と承認/拒否の決定のみが含まれ、詳細なパラメータは記録されません。

関連情報