[DOCS] OpenTelemetry monitoring docs misstate `tool_parameters` gating for `tool_result` events

Resolved 💬 2 comments Opened Mar 27, 2026 by coygeek Closed Mar 28, 2026

Documentation Type

Incorrect/outdated documentation

Documentation Location

https://code.claude.com/docs/en/monitoring-usage

Section/Topic

Tool result event attributes and the Security and privacy guidance for OpenTelemetry logging

Current Documentation

The docs currently say:

| OTEL_LOG_TOOL_DETAILS | Enable logging of tool input arguments, MCP server/tool names, and skill names in tool events (default: disabled) | 1 to enable |
tool_parameters: JSON string containing tool-specific parameters (when available) For Bash tool: includes bash_command, full_command, timeout, description, dangerouslyDisableSandbox, and git_commit_id (the commit SHA, when a git commit command succeeds) For MCP tools (when OTEL_LOG_TOOL_DETAILS=1): includes mcp_server_name, mcp_tool_name For Skill tool (when OTEL_LOG_TOOL_DETAILS=1): includes skill_name
* Raw file contents and code snippets are not included in metrics or events. Tool execution events include bash commands and file paths in the tool_parameters field, which may contain sensitive values. If your commands may include secrets, configure your telemetry backend to filter or redact tool_parameters

What's Wrong or Missing?

Changelog v2.1.85 says:

tool_parameters in OpenTelemetry tool_result events are now gated behind OTEL_LOG_TOOL_DETAILS=1

The monitoring page still describes tool_parameters as generally present "when available" and only applies the OTEL_LOG_TOOL_DETAILS=1 gate to MCP/skill-specific details. The privacy note also implies bash commands and file paths are present in tool_parameters by default.

That is now outdated in two ways:

A. The event attribute reference misstates the default payload

Readers can reasonably conclude that tool_result events still include tool_parameters unless a specific tool detail is additionally gated.

B. The privacy guidance overstates default exposure

After v2.1.85, sensitive command/path details in tool_parameters are opt-in behind OTEL_LOG_TOOL_DETAILS=1, but the page reads as if those details are always emitted.

Suggested Improvement

Update https://code.claude.com/docs/en/monitoring-usage so the gating is explicit and consistent everywhere on the page.

Suggested changes:

  1. In the configuration table, expand the OTEL_LOG_TOOL_DETAILS description to say it enables detailed tool_result fields such as tool_parameters and tool_input.
  2. In the Tool result event attributes list, change the field description to something like:
* tool_parameters (when OTEL_LOG_TOOL_DETAILS=1): JSON string containing tool-specific parameters
  1. Keep the existing Bash/MCP/Skill examples under that gated field.
  2. In Security and privacy, rewrite the warning so it is clear that tool_parameters is only emitted when detailed tool logging is enabled.

Impact

Medium - Makes feature difficult to understand

Additional Context

Affected Pages:

| Page | Context |
|------|---------|
| https://code.claude.com/docs/en/monitoring-usage | The OpenTelemetry configuration table, tool_result event attribute reference, and privacy guidance all describe the same gating behavior and should be updated together |

Total scope: 1 page affected

Source: Changelog v2.1.85

Exact changelog entry:

tool_parameters in OpenTelemetry tool_result events are now gated behind OTEL_LOG_TOOL_DETAILS=1

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗