123| `OTEL_LOG_ASSISTANT_RESPONSES` | Habilitar registro del texto de respuesta del asistente en eventos `assistant_response` (predeterminado: deshabilitado). Cuando no está establecido, recurre al valor de `OTEL_LOG_USER_PROMPTS`. Requiere Claude Code v2.1.193 o posterior | `1` para habilitar, `0` para mantener redactado |123| `OTEL_LOG_ASSISTANT_RESPONSES` | Habilitar registro del texto de respuesta del asistente en eventos `assistant_response` (predeterminado: deshabilitado). Cuando no está establecido, recurre al valor de `OTEL_LOG_USER_PROMPTS`. Requiere Claude Code v2.1.193 o posterior | `1` para habilitar, `0` para mantener redactado |
124| `OTEL_LOG_TOOL_DETAILS` | Habilitar registro de parámetros de herramientas e argumentos de entrada en eventos de herramientas y atributos de span de traza: comandos Bash, nombres de servidor MCP y herramienta, nombres de habilidades, nombres de flujo de trabajo creados por el usuario, e entrada de herramienta. También habilita nombres de comandos personalizados, de plugin y MCP en eventos `user_prompt` (predeterminado: deshabilitado). Para los servidores integrados de Claude Desktop, en sesiones que Claude Desktop posee, `mcp_server_name`/`mcp_tool_name` se emiten en `tool_decision`/`tool_result` incluso con la bandera desactivada. La excepción requiere Claude Code v2.1.214 o posterior | `1` para habilitar |124| `OTEL_LOG_TOOL_DETAILS` | Habilitar registro de parámetros de herramientas e argumentos de entrada en eventos de herramientas y atributos de span de traza: comandos Bash, nombres de servidor MCP y herramienta, nombres de habilidades, nombres de flujo de trabajo creados por el usuario, e entrada de herramienta. También habilita nombres de comandos personalizados, de plugin y MCP en eventos `user_prompt` (predeterminado: deshabilitado). Para los servidores integrados de Claude Desktop, en sesiones que Claude Desktop posee, `mcp_server_name`/`mcp_tool_name` se emiten en `tool_decision`/`tool_result` incluso con la bandera desactivada. La excepción requiere Claude Code v2.1.214 o posterior | `1` para habilitar |
125| `OTEL_LOG_TOOL_CONTENT` | Habilitar registro de contenido de herramientas en el evento de span [`tool.output`](#tool-output-span-event) (predeterminado: deshabilitado). Los atributos de span llevan contenido de herramientas bajo [sus propias puertas](#new-context-gates). Requiere [trazas](#traces-beta). El contenido se trunca en el límite de contenido (60 KB por defecto) | `1` para habilitar |125| `OTEL_LOG_TOOL_CONTENT` | Habilitar registro de contenido de herramientas en el evento de span [`tool.output`](#tool-output-span-event) (predeterminado: deshabilitado). Los atributos de span llevan contenido de herramientas bajo [sus propias puertas](#new-context-gates). Requiere [trazas](#traces-beta). El contenido se trunca en el límite de contenido (60 KB por defecto) | `1` para habilitar |
126| `OTEL_LOG_MANAGED_SETTINGS` | Agregar la configuración administrada redactada, y un resumen SHA-256 de la configuración antes de la redacción, a eventos [managed settings resolved](#managed-settings-resolved-event) (predeterminado: deshabilitado). Un valor en configuración de proyecto o local no lo activa. Requiere Claude Code v2.1.274 o posterior | `1` para habilitar |
126| `OTEL_LOG_RAW_API_BODIES` | Emitir el cuerpo completo de solicitud y respuesta JSON de la API de Mensajes de Anthropic como eventos de registro `api_request_body` / `api_response_body` (predeterminado: deshabilitado). Los cuerpos incluyen el historial de conversación completo. Habilitar esto implica consentimiento a todo lo que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS`, y `OTEL_LOG_TOOL_CONTENT` revelarían | `1` para cuerpos en línea truncados en el límite de contenido (60 KB por defecto), o `file:<dir>` para cuerpos sin truncar en disco con un puntero `body_ref` en el evento |127| `OTEL_LOG_RAW_API_BODIES` | Emitir el cuerpo completo de solicitud y respuesta JSON de la API de Mensajes de Anthropic como eventos de registro `api_request_body` / `api_response_body` (predeterminado: deshabilitado). Los cuerpos incluyen el historial de conversación completo. Habilitar esto implica consentimiento a todo lo que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS`, y `OTEL_LOG_TOOL_CONTENT` revelarían | `1` para cuerpos en línea truncados en el límite de contenido (60 KB por defecto), o `file:<dir>` para cuerpos sin truncar en disco con un puntero `body_ref` en el evento |
127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Límite de contenido: la longitud máxima de atributos que contienen contenido como respuestas de modelo, contenido de herramientas, mensajes del sistema, y cuerpos de API sin procesar, incluido el marcador de truncamiento, en unidades de código UTF-16 (predeterminado: 61440, es decir, 60 KB). El predeterminado está dimensionado para backends que limitan valores de atributos a 64 KB; auméntalo solo si tu backend acepta valores más grandes, o redúcelo para cortar el volumen de telemetría. Cuando un límite de atributo del SDK de OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` o uno de sus variantes de logrecord y span, se establece más bajo, Claude Code trunca en ese valor más pequeño para que el marcador `[TRUNCATED ...]` permanezca dentro del límite del SDK. Requiere Claude Code v2.1.214 o posterior | `262144` |128| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Límite de contenido: la longitud máxima de atributos que contienen contenido como respuestas de modelo, contenido de herramientas, mensajes del sistema, y cuerpos de API sin procesar, incluido el marcador de truncamiento, en unidades de código UTF-16 (predeterminado: 61440, es decir, 60 KB). El predeterminado está dimensionado para backends que limitan valores de atributos a 64 KB; auméntalo solo si tu backend acepta valores más grandes, o redúcelo para cortar el volumen de telemetría. Cuando un límite de atributo del SDK de OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` o uno de sus variantes de logrecord y span, se establece más bajo, Claude Code trunca en ese valor más pequeño para que el marcador `[TRUNCATED ...]` permanezca dentro del límite del SDK. Requiere Claude Code v2.1.214 o posterior | `262144` |
128| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Preferencia de temporalidad de métricas (predeterminado: `delta`). Establece en `cumulative` si tu backend espera temporalidad acumulativa | `delta`, `cumulative` |129| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Preferencia de temporalidad de métricas (predeterminado: `delta`). Establece en `cumulative` si tu backend espera temporalidad acumulativa | `delta`, `cumulative` |
241| `workflow.run_id` | Identificador de ejecución de la ejecución de la herramienta [Workflow](/docs/es/workflows), prefijado con `wf_`. Ausente para agentes no generados por un workflow | |242| `workflow.run_id` | Identificador de ejecución de la ejecución de la herramienta [Workflow](/docs/es/workflows), prefijado con `wf_`. Ausente para agentes no generados por un workflow | |
242| `workflow.name` | Nombre del workflow que generó este agente. Los nombres creados por el usuario se reemplazan con `custom` a menos que la puerta esté establecida | `OTEL_LOG_TOOL_DETAILS` |243| `workflow.name` | Nombre del workflow que generó este agente. Los nombres creados por el usuario se reemplazan con `custom` a menos que la puerta esté establecida | `OTEL_LOG_TOOL_DETAILS` |
243| `speed` | `fast` o `normal` | |244| `speed` | `fast` o `normal` | |
245| `effort` | [Nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) aplicado a la solicitud: `low`, `medium`, `high`, `xhigh`, o `max`. Ausente cuando Claude Code no envía nivel de esfuerzo, por ejemplo en un modelo que no lo soporta. Requiere Claude Code v2.1.274 o posterior | |
244| `llm_request.context` | `interaction`, `tool`, o `standalone` dependiendo del span padre | |246| `llm_request.context` | `interaction`, `tool`, o `standalone` dependiendo del span padre | |
245| `duration_ms` | Duración de pared incluyendo reintentos | |247| `duration_ms` | Duración de pared incluyendo reintentos | |
246| `ttft_ms` | Tiempo al primer token en milisegundos | |248| `ttft_ms` | Tiempo al primer token en milisegundos | |
385echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"387echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"
386```388```
387 389
388Si el auxiliar falla o imprime salida que no cumple con estos requisitos, Claude Code reporta el error en:390Si el auxiliar falla o imprime salida que no cumple con estos requisitos, las exportaciones fallan y tu backend de telemetría no recibe nada de la sesión hasta que el auxiliar funcione nuevamente. Claude Code reporta el error en:
389 391
392* Una notificación de advertencia en sesiones interactivas, [`otelHeadersHelper failed; telemetry is not being exported`](/docs/es/errors#otelheadershelper-failed), mostrada una vez por sesión cuando el auxiliar falla por primera vez
390* Salida de `/status`393* Salida de `/status`
391* El registro de depuración, cuando se ejecuta con [`--debug`](/docs/es/cli-reference#cli-flags) o después de ejecutar `/debug` en la sesión394* El registro de depuración, cuando se ejecuta con [`--debug`](/docs/es/cli-reference#cli-flags) o después de ejecutar `/debug` en la sesión
392* stderr, en sesiones no interactivas iniciadas con `-p`395* stderr, en sesiones no interactivas iniciadas con `-p`
523 526
524Todas las métricas y eventos comparten estos atributos estándar:527Todas las métricas y eventos comparten estos atributos estándar:
525 528
526| Atributo | Descripción | Controlado Por |529| Atributo | Descripción | Controlado por |
527| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |530| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
528| `session.id` | Identificador único de sesión | `OTEL_METRICS_INCLUDE_SESSION_ID` (predeterminado: true) |531| `session.id` | Identificador único de sesión | `OTEL_METRICS_INCLUDE_SESSION_ID` (predeterminado: true) |
529| `app.version` | Versión actual de Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (predeterminado: false) |532| `app.version` | Versión actual de Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (predeterminado: false) |
530| `app.entrypoint` | Cómo se inició la sesión, como `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, o `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (predeterminado: false) |533| `app.entrypoint` | Cómo se inició la sesión, como `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, o `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (predeterminado: false) |
531| `organization.id` | UUID de organización (cuando está autenticado) | Siempre incluido cuando está disponible |534| `organization.id` | UUID de la organización (cuando está autenticado) | Siempre se incluye cuando está disponible |
532| `user.account_uuid` | UUID de cuenta (cuando está autenticado) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (predeterminado: true) |535| `user.account_uuid` | UUID de la cuenta (cuando está autenticado) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (predeterminado: true) |
533| `user.account_id` | ID de cuenta en formato etiquetado que coincide con las API de administrador de Anthropic (cuando está autenticado), como `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (predeterminado: true) |536| `user.account_id` | ID de cuenta en formato etiquetado que coincide con las API de administración de Anthropic (cuando está autenticado), como `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (predeterminado: true) |
534| `user.id` | Identificador anónimo aleatorio generado en la primera ejecución y persistido en `~/.claude.json`. No contiene información personal y no se deriva de su cuenta de Claude. Eliminar el archivo produce un nuevo valor no relacionado en la siguiente ejecución. | Siempre incluido |537| `user.id` | Identificador anónimo aleatorio generado en la primera ejecución y persistido en `~/.claude.json`. No contiene información personal y no se deriva de su cuenta de Claude. Eliminar el archivo produce un nuevo valor no relacionado en la siguiente ejecución. | Siempre se incluye |
535| `user.email` | Dirección de correo electrónico del usuario, de su inicio de sesión o, en una [sesión en la nube](/docs/es/claude-code-on-the-web), de las credenciales propias de la sesión | Siempre incluido cuando está disponible |538| `user.email` | Dirección de correo electrónico del usuario, de su inicio de sesión o, en una [sesión en la nube](/docs/es/claude-code-on-the-web), de las credenciales de la propia sesión | Siempre se incluye cuando está disponible |
536| `terminal.type` | Tipo de terminal, como `iTerm.app`, `vscode`, `cursor`, o `tmux` | Siempre incluido cuando se detecta |539| `terminal.type` | Tipo de terminal, como `iTerm.app`, `vscode`, `cursor`, o `tmux` | Siempre se incluye cuando se detecta |
537| Claves de `OTEL_RESOURCE_ATTRIBUTES` | Atributos personalizados que establece, como `department` o `team.id`. Consulte [Soporte de organización multiequipo](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (predeterminado: true) |540| Claves de `OTEL_RESOURCE_ATTRIBUTES` | Atributos personalizados que establece, como `department` o `team.id`. Consulte [Soporte de organización multiequipo](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (predeterminado: true) |
538| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | La identidad del repositorio de la sesión, derivada de su remoto `origin`. Consulte [Atributos de repositorio](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (predeterminado: false). Requiere Claude Code v2.1.269 o posterior |541| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | La identidad del repositorio de la sesión, derivada de su remoto `origin`. Consulte [Atributos del repositorio](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (predeterminado: false). Requiere Claude Code v2.1.269 o posterior |
539 542
540Cuando Claude Code inicia sesión en una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway), la CLI marca las exportaciones con la identidad autenticada de la sesión de la puerta de enlace: `user.id` es el asunto del IdP en lugar de un identificador de instalación anónimo, `user.email` es el correo electrónico con sesión iniciada, y `user.groups` lleva la pertenencia al grupo del IdP como una cadena separada por comas. Cada exportación también lleva `identity.source: gateway-oidc`. La identidad de la puerta de enlace se aplica al final, por lo que las claves `user.*` e `identity.*` establecidas a través de `OTEL_RESOURCE_ATTRIBUTES` se ignoran en sesiones de puerta de enlace.543Cuando Claude Code está autenticado en una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway), la CLI marca las exportaciones con la identidad autenticada de la sesión de la puerta de enlace: `user.id` es el asunto del IdP en lugar de un identificador de instalación anónimo, `user.email` es el correo electrónico con sesión iniciada, y `user.groups` lleva la pertenencia al grupo del IdP como una cadena separada por comas. Cada exportación también lleva `identity.source: gateway-oidc`. La identidad de la puerta de enlace se aplica en último lugar, por lo que las claves `user.*` e `identity.*` establecidas a través de `OTEL_RESOURCE_ATTRIBUTES` se ignoran en sesiones de puerta de enlace.
541 544
542Los eventos incluyen adicionalmente los siguientes atributos. Estos nunca se adjuntan a las métricas porque causarían cardinalidad ilimitada:545Los eventos incluyen además los siguientes atributos. Estos nunca se adjuntan a las métricas porque causarían cardinalidad ilimitada:
543 546
544* `prompt.id`: UUID correlacionando un mensaje del usuario con todos los eventos posteriores hasta el siguiente mensaje. Consulte [Atributos de correlación de eventos](#event-correlation-attributes).547* `prompt.id`: UUID que correlaciona un mensaje del usuario con todos los eventos posteriores hasta el siguiente mensaje. Consulte [Atributos de correlación de eventos](#event-correlation-attributes).
545* `workspace.host_paths`: directorios de espacio de trabajo del host seleccionados en la aplicación de escritorio, como una matriz de cadenas548* `workspace.host_paths`: directorios del espacio de trabajo del host seleccionados en la aplicación de escritorio, como una matriz de cadenas
546* `workflow.run_id`: identificador de ejecución, con prefijo `wf_`, en los eventos de API y herramienta emitidos por agentes que pertenecen a una ejecución de herramienta [Workflow](/docs/es/workflows). Filtrar eventos por un `workflow.run_id` reconstruye las solicitudes de API y resultados de herramientas de esa ejecución. El identificador cubre los agentes que genera el script de flujo de trabajo y cualquier agente que esos generen a su vez, como invocaciones de habilidades. Coincide con el identificador de ejecución reportado en el resultado de la herramienta Workflow. Ausente en todos los demás eventos. Requiere Claude Code v2.1.202 o posterior549* `workflow.run_id`: identificador de ejecución, con prefijo `wf_`, en los eventos de API y herramienta emitidos por agentes que pertenecen a una ejecución de herramienta [Workflow](/docs/es/workflows). Filtrar eventos por un `workflow.run_id` reconstruye las solicitudes de API y resultados de herramientas de esa ejecución. El identificador cubre los agentes que el script del flujo de trabajo genera y cualquier agente que esos generen a su vez, como invocaciones de habilidades. Coincide con el identificador de ejecución reportado en el resultado de la herramienta Workflow. Ausente en todos los demás eventos. Requiere Claude Code v2.1.202 o posterior
547* `workflow.name`: nombre del flujo de trabajo, el `meta.name` de su script, emitido junto con `workflow.run_id`. Los nombres de flujo de trabajo integrados aparecen tal cual cuando la ejecución ejecuta el script integrado sin modificar. Los nombres creados por el usuario, incluidas copias editadas de scripts integrados, se reemplazan con `custom` a menos que `OTEL_LOG_TOOL_DETAILS=1` esté establecido. Requiere Claude Code v2.1.202 o posterior550* `workflow.name`: nombre del flujo de trabajo, el `meta.name` de su script, emitido junto con `workflow.run_id`. Los nombres de flujo de trabajo integrados aparecen literalmente cuando la ejecución ejecuta el script integrado sin modificar. Los nombres creados por el usuario, incluidas las copias editadas de scripts integrados, se reemplazan con `custom` a menos que se establezca `OTEL_LOG_TOOL_DETAILS=1`. Requiere Claude Code v2.1.202 o posterior
548 551
549<h4 id="repository-attributes">552<h4 id="repository-attributes">
550 Atributos de repositorio553 Atributos del repositorio
551</h4>554</h4>
552 555
553Establezca `OTEL_METRICS_INCLUDE_REPOSITORY=true` para etiquetar métricas y eventos con la identidad del repositorio de la sesión, de modo que un recopilador compartido pueda atribuir el uso por repositorio. Requiere Claude Code v2.1.269 o posterior.556Establezca `OTEL_METRICS_INCLUDE_REPOSITORY=true` para etiquetar métricas y eventos con la identidad del repositorio de la sesión, de modo que un recopilador compartido pueda atribuir el uso por repositorio. Requiere Claude Code v2.1.269 o posterior.
555Claude Code deriva estos atributos una vez por sesión desde el remoto `origin` del repositorio. Los remotos HTTPS y SSH de un repositorio producen valores idénticos:558Claude Code deriva estos atributos una vez por sesión desde el remoto `origin` del repositorio. Los remotos HTTPS y SSH de un repositorio producen valores idénticos:
556 559
557| Atributo | Valor |560| Atributo | Valor |
558| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |561| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
559| `vcs.repository.url.full` | La URL del navegador del repositorio sin `.git`, como `https://github.com/example-org/example-repo` |562| `vcs.repository.url.full` | La URL del navegador del repositorio sin `.git`, como `https://github.com/example-org/example-repo` |
560| `vcs.owner.name` | La ruta del propietario o grupo, como `example-org`; omitido cuando la ruta remota tiene un único segmento |563| `vcs.owner.name` | La ruta del propietario o grupo, como `example-org`; omitido cuando la ruta remota tiene un solo segmento |
561| `vcs.repository.name` | El nombre del repositorio desnudo, como `example-repo` |564| `vcs.repository.name` | El nombre del repositorio desnudo, como `example-repo` |
562| `vcs.provider.name` | `github`, `gitlab`, `bitbucket`, o `gitea` cuando Claude Code reconoce el host remoto o la forma de URL como uno de esos proveedores; omitido de otra manera |565| `vcs.provider.name` | `github`, `gitlab`, `bitbucket`, o `gitea` cuando Claude Code reconoce el host remoto o la forma de URL como uno de esos proveedores; omitido de lo contrario |
563 566
564Los valores se convierten a minúsculas, y las credenciales, cadenas de consulta y fragmentos de la URL remota nunca aparecen en ellos. Los atributos se omiten cuando la sesión no tiene un remoto `origin`, cuando el remoto no tiene forma de URL, o cuando el único repositorio envolvente es su directorio de inicio.567Los valores se convierten a minúsculas, y las credenciales, cadenas de consulta y fragmentos de la URL remota nunca aparecen en ellos. Los atributos se omiten cuando la sesión no tiene un remoto `origin`, cuando el remoto no tiene forma de URL, o cuando el único repositorio envolvente es su directorio de inicio.
565 568
571 Métricas574 Métricas
572</h3>575</h3>
573 576
574Claude Code exporta las siguientes métricas. La columna Unit muestra la cadena de unidad de OpenTelemetry adjunta a cada métrica; las métricas de recuento no llevan ninguna.577Claude Code exporta las siguientes métricas. La columna Unit muestra la cadena de unidad de OpenTelemetry adjunta a cada métrica; las métricas de conteo no llevan ninguna.
575 578
576| Nombre de Métrica | Descripción | Unidad |579| Nombre de métrica | Descripción | Unidad |
577| ------------------------------------- | ---------------------------------------------------------------------- | ------ |580| ------------------------------------- | ------------------------------------------------------------------- | ------- |
578| `claude_code.session.count` | Recuento de sesiones CLI iniciadas | none |581| `claude_code.session.count` | Conteo de sesiones de CLI iniciadas | ninguna |
579| `claude_code.lines_of_code.count` | Recuento de líneas de código modificadas | none |582| `claude_code.lines_of_code.count` | Conteo de líneas de código modificadas | ninguna |
580| `claude_code.pull_request.count` | Número de solicitudes de extracción creadas | none |583| `claude_code.pull_request.count` | Número de solicitudes de extracción creadas | ninguna |
581| `claude_code.commit.count` | Número de confirmaciones de git creadas | none |584| `claude_code.commit.count` | Número de confirmaciones de git creadas | ninguna |
582| `claude_code.cost.usage` | Costo de la sesión de Claude Code | USD |585| `claude_code.cost.usage` | Costo de la sesión de Claude Code | USD |
583| `claude_code.token.usage` | Número de tokens utilizados | tokens |586| `claude_code.token.usage` | Número de tokens utilizados | tokens |
584| `claude_code.code_edit_tool.decision` | Recuento de decisiones de permisos de herramienta de edición de código | none |587| `claude_code.code_edit_tool.decision` | Conteo de decisiones de permiso de herramienta de edición de código | ninguna |
585| `claude_code.active_time.total` | Tiempo activo total | s |588| `claude_code.active_time.total` | Tiempo activo total | s |
586 589
587Cuando `prometheus` es el único exportador enumerado en `OTEL_METRICS_EXPORTER`, Claude Code omite las unidades `USD`, `tokens`, y `s` de las métricas exportadas para que el raspado permanezca en formato de texto Prometheus válido. Los nombres de métricas no cambian, y las configuraciones que combinan exportadores, como `otlp,prometheus`, mantienen las unidades. Antes de v2.1.216, el raspado de Prometheus incluía líneas `# UNIT` solo de OpenMetrics que algunos raspadores rechazaban.590Cuando `prometheus` es el único exportador listado en `OTEL_METRICS_EXPORTER`, Claude Code omite las unidades `USD`, `tokens`, y `s` de las métricas exportadas para que el raspado permanezca en formato de texto Prometheus válido. Los nombres de las métricas no cambian, y las configuraciones que combinan exportadores, como `otlp,prometheus`, mantienen las unidades. Antes de v2.1.216, el raspado de Prometheus incluía líneas `# UNIT` solo de OpenMetrics que algunos raspadores rechazaban.
588 591
589<h3 id="metric-details">592<h3 id="metric-details">
590 Detalles de métricas593 Detalles de métricas
591</h3>594</h3>
592 595
593Cada métrica incluye los atributos estándar enumerados anteriormente. Las métricas con atributos adicionales específicos del contexto se indican a continuación.596Cada métrica incluye los atributos estándar listados arriba. Las métricas con atributos adicionales específicos del contexto se notan a continuación.
594 597
595<h4 id="session-counter">598<h4 id="session-counter">
596 Contador de sesión599 Contador de sesión
646* Todos los [atributos estándar](#standard-attributes)649* Todos los [atributos estándar](#standard-attributes)
647* `model`: Identificador de modelo (por ejemplo, "claude-sonnet-5")650* `model`: Identificador de modelo (por ejemplo, "claude-sonnet-5")
648* `query_source`: Categoría del subsistema que emitió la solicitud. Uno de `"main"`, `"subagent"`, o `"auxiliary"`651* `query_source`: Categoría del subsistema que emitió la solicitud. Uno de `"main"`, `"subagent"`, o `"auxiliary"`
649* `speed`: `"fast"` cuando la solicitud utilizó modo rápido. Ausente de otra manera652* `speed`: `"fast"` cuando la solicitud utilizó modo rápido. Ausente de lo contrario
650* `effort`: [Nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) aplicado a la solicitud: `"low"`, `"medium"`, `"high"`, `"xhigh"`, o `"max"`. Ausente cuando el modelo no admite esfuerzo.653* `effort`: [Nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) aplicado a la solicitud: `"low"`, `"medium"`, `"high"`, `"xhigh"`, o `"max"`. Ausente cuando Claude Code no envía un nivel de esfuerzo, por ejemplo en un modelo que no admite esfuerzo.
651* `agent.name`: Tipo de subagente que emitió la solicitud. Los nombres de agentes integrados y de plugins del mercado oficial aparecen tal cual. Otros nombres de agentes definidos por el usuario se reemplazan con `"custom"`. Ausente cuando la solicitud no fue emitida por un tipo de subagente nombrado.654* `agent.name`: Tipo de subagente que emitió la solicitud. Los nombres de agentes integrados y los agentes de plugins del mercado oficial aparecen literalmente. Otros nombres de agentes definidos por el usuario se reemplazan con `"custom"`. Ausente cuando la solicitud no fue emitida por un tipo de subagente nombrado.
652* `skill.name`: Habilidad activa para la solicitud, establecida por la herramienta Skill, un comando `/`, o heredada por un subagente generado. Los nombres de habilidades integradas, agrupadas, definidas por el usuario y de plugins del mercado oficial aparecen tal cual. Los nombres de habilidades de plugins de terceros se reemplazan con `"third-party"`. Ausente cuando no hay habilidad activa.655* `skill.name`: Habilidad activa para la solicitud, establecida por la herramienta Skill, un comando `/`, o heredada por un subagente generado. Los nombres de habilidades integradas, agrupadas, definidas por el usuario y del plugin del mercado oficial aparecen literalmente. Los nombres de habilidades de plugins de terceros se reemplazan con `"third-party"`. Ausente cuando no hay habilidad activa.
653* `plugin.name`: Plugin propietario cuando la habilidad activa o subagente es proporcionado por un plugin. Los nombres de plugins del mercado oficial aparecen tal cual. Los nombres de plugins de terceros se reemplazan con `"third-party"`. Ausente cuando ni la habilidad ni el subagente tienen un plugin propietario.656* `plugin.name`: Plugin propietario cuando la habilidad activa o subagente es proporcionado por un plugin. Los nombres de plugins del mercado oficial aparecen literalmente. Los nombres de plugins de terceros se reemplazan con `"third-party"`. Ausente cuando ni la habilidad ni el subagente tienen un plugin propietario.
654* `marketplace.name`: Mercado desde el que se instaló el plugin propietario. Solo se emite para plugins del mercado oficial. Ausente de otra manera.657* `marketplace.name`: Mercado desde el cual se instaló el plugin propietario. Solo se emite para plugins del mercado oficial. Ausente de lo contrario.
655* `mcp_server.name`: Servidor MCP cuya herramienta se ejecutó en el turno que produjo esta solicitud. Los nombres de servidor integrados, proxied por claude.ai, y del registro oficial aparecen tal cual. Los nombres de servidor configurados por el usuario se reemplazan con `"custom"`. Ausente cuando no se ejecutó herramienta MCP. Antes de v2.1.222, Claude Code establecía este atributo en cada solicitud después de una llamada de herramienta MCP, no solo en solicitudes que consumieron un resultado de herramienta, por lo que los paneles de control que lo agregan muestran una caída después de actualizar.658* `mcp_server.name`: Servidor MCP cuyo resultado de herramienta consumió esta solicitud. Los nombres de servidores integrados, proxificados por claude.ai, y del registro oficial aparecen literalmente. Los nombres de servidores configurados por el usuario se reemplazan con `"custom"`. Ausente cuando la solicitud no consumió ningún resultado de herramienta MCP. Antes de v2.1.222, Claude Code establecía este atributo en cada solicitud después de una llamada de herramienta MCP, no solo en solicitudes que consumieron un resultado de herramienta, por lo que los paneles de control que lo agregan muestran una caída después de actualizar.
656* `mcp_tool.name`: Herramienta MCP que se ejecutó en el turno que produjo esta solicitud, con la misma redacción y comportamiento de versión que `mcp_server.name`. Ausente cuando no se ejecutó herramienta MCP.659* `mcp_tool.name`: Herramienta MCP cuyo resultado consumió esta solicitud, con el mismo comportamiento de redacción y versión que `mcp_server.name`. Ausente cuando la solicitud no consumió ningún resultado de herramienta MCP.
657 660
658<h4 id="token-counter">661<h4 id="token-counter">
659 Contador de tokens662 Contador de tokens
667* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)670* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)
668* `model`: Identificador de modelo (por ejemplo, "claude-sonnet-5")671* `model`: Identificador de modelo (por ejemplo, "claude-sonnet-5")
669* `query_source`: Categoría del subsistema que emitió la solicitud. Uno de `"main"`, `"subagent"`, o `"auxiliary"`672* `query_source`: Categoría del subsistema que emitió la solicitud. Uno de `"main"`, `"subagent"`, o `"auxiliary"`
670* `speed`: `"fast"` cuando la solicitud utilizó modo rápido. Ausente de otra manera673* `speed`: `"fast"` cuando la solicitud utilizó modo rápido. Ausente de lo contrario
671* `effort`: [Nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) aplicado a la solicitud. Consulte [Contador de costo](#cost-counter) para detalles.674* `effort`: [Nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) aplicado a la solicitud. Consulte [Contador de costo](#cost-counter) para obtener detalles.
672* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribución de habilidad, plugin, agente y MCP para la solicitud. Consulte [Contador de costo](#cost-counter) para definiciones y comportamiento de redacción.675* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribución de habilidad, plugin, agente y MCP para la solicitud. Consulte [Contador de costo](#cost-counter) para obtener definiciones y comportamiento de redacción.
673 676
674<h4 id="code-edit-tool-decision-counter">677<h4 id="code-edit-tool-decision-counter">
675 Contador de decisión de herramienta de edición de código678 Contador de decisión de herramienta de edición de código
676</h4>679</h4>
677 680
678Se incrementa cuando el usuario acepta o rechaza el uso de herramientas Edit, Write, o NotebookEdit.681Se incrementa cuando el usuario acepta o rechaza el uso de la herramienta Edit, Write, o NotebookEdit.
679 682
680**Atributos**:683**Atributos**:
681 684
682* Todos los [atributos estándar](#standard-attributes)685* Todos los [atributos estándar](#standard-attributes)
683* `tool_name`: Nombre de la herramienta (`"Edit"`, `"Write"`, `"NotebookEdit"`)686* `tool_name`: Nombre de herramienta (`"Edit"`, `"Write"`, `"NotebookEdit"`)
684* `decision`: Decisión del usuario (`"accept"`, `"reject"`)687* `decision`: Decisión del usuario (`"accept"`, `"reject"`)
685* `source`: Fuente de decisión. Uno de `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"`, o `"user_reject"`. Consulte el [Evento de decisión de herramienta](#tool-decision-event) para saber qué significa cada valor.688* `source`: De dónde vino la decisión. Uno de `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"`, o `"user_reject"`. Consulte el [evento de decisión de herramienta](#tool-decision-event) para ver qué significa cada valor.
686* `language`: Lenguaje de programación del archivo editado, como `"TypeScript"`, `"Python"`, `"JavaScript"`, o `"Markdown"`. Devuelve `"unknown"` para extensiones de archivo no reconocidas.689* `language`: Lenguaje de programación del archivo editado, como `"TypeScript"`, `"Python"`, `"JavaScript"`, o `"Markdown"`. Devuelve `"unknown"` para extensiones de archivo no reconocidas.
687 690
688<h4 id="active-time-counter">691<h4 id="active-time-counter">
689 Contador de tiempo activo692 Contador de tiempo activo
690</h4>693</h4>
691 694
692Rastrea el tiempo real dedicado a usar activamente Claude Code, excluyendo tiempo inactivo. Esta métrica se incrementa durante interacciones del usuario, como escribir y leer respuestas, y durante procesamiento de CLI, como ejecución de herramientas y generación de respuestas de IA.695Rastrea el tiempo real dedicado a usar activamente Claude Code, excluyendo el tiempo inactivo. Esta métrica se incrementa durante las interacciones del usuario, como escribir y leer respuestas, y durante el procesamiento de CLI, como la ejecución de herramientas y la generación de respuestas de IA.
693 696
694**Atributos**:697**Atributos**:
695 698
712| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |715| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
713| `prompt.id` | Identificador UUID v4 que vincula todos los eventos producidos mientras se procesa un único mensaje del usuario |716| `prompt.id` | Identificador UUID v4 que vincula todos los eventos producidos mientras se procesa un único mensaje del usuario |
714| `event.sequence` | Contador basado en 0 para ordenar eventos, contado por proceso de Claude Code en lugar de por sesión |717| `event.sequence` | Contador basado en 0 para ordenar eventos, contado por proceso de Claude Code en lugar de por sesión |
715| `message.uuid` | UUID del mensaje tal como se persiste en la transcripción de sesión, los archivos `~/.claude/projects/*/*.jsonl`. Presente en `assistant_response`, y en `user_prompt` excepto para envíos de comandos, que pueden producir cero o muchos mensajes. En `assistant_response`, esta es la entrada de transcripción final de la respuesta, desde la cual el `parentUuid` del siguiente turno se encadena. Requiere Claude Code v2.1.214 o posterior |718| `message.uuid` | UUID del mensaje tal como se persiste en la transcripción de la sesión, los archivos `~/.claude/projects/*/*.jsonl`. Presente en `assistant_response`, en `api_response_body`, y en `user_prompt` excepto para envíos de comandos, que pueden producir cero o muchos mensajes. En `assistant_response` y `api_response_body`, esta es la entrada de transcripción final de la respuesta, desde la cual el `parentUuid` del siguiente turno se encadena. Requiere Claude Code v2.1.214 o posterior, o v2.1.274 o posterior en `api_response_body` |
716| `client_request_id` | UUID generado por el cliente enviado como encabezado de solicitud `x-client-request-id`. Presente en `api_request` y `api_error` en conexiones de API de primera parte; ausente en backends de proveedores de terceros y cuando la solicitud se reintentó a través de la alternativa sin transmisión. Empareja una solicitud con su respuesta y permanece disponible para fallos como tiempos de espera que nunca produjeron un `request_id` del servidor. Coincide con el mismo atributo en el tramo de seguimiento `llm_request`. Requiere Claude Code v2.1.214 o posterior |719| `client_request_id` | UUID generado por el cliente enviado como encabezado de solicitud `x-client-request-id`. Presente en `api_request` y `api_error` en conexiones de API de primera parte; ausente en backends de proveedores de terceros y cuando la solicitud se reintentó a través de la alternativa sin transmisión. Empareja una solicitud con su respuesta y permanece disponible para fallos como tiempos de espera que nunca produjeron un `request_id` del servidor. Coincide con el mismo atributo en el intervalo de rastreo `llm_request`. Requiere Claude Code v2.1.214 o posterior |
717 720
718Para rastrear toda la actividad desencadenada por un único mensaje, filtre sus eventos por un valor específico de `prompt.id`. Esto devuelve el evento user\_prompt, cualquier evento api\_request, y cualquier evento tool\_result que ocurrió mientras se procesaba ese mensaje.721Para rastrear toda la actividad desencadenada por un único mensaje, filtre sus eventos por un valor específico de `prompt.id`. Esto devuelve el evento user\_prompt, cualquier evento api\_request, y cualquier evento tool\_result que ocurrió mientras se procesaba ese mensaje.
719 722
720`event.sequence` comienza en 0 cada vez que se inicia un proceso de Claude Code y cuenta hacia arriba durante la vida de ese proceso. Continúa contando a través de `/clear`, que asigna un nuevo `session.id`. Si [reanuda una sesión sin bifurcar](/docs/es/how-claude-code-works#resume-or-fork-sessions), la sesión mantiene su `session.id` pero toma sus valores de `event.sequence` del proceso que la reanudó, por lo que dentro de una sesión un evento posterior puede llevar un valor más bajo que uno anterior, o repetir uno. Para ordenar los eventos de una sesión, ordene por `event.timestamp` y use `event.sequence` para ordenar eventos que comparten una marca de tiempo.723`event.sequence` comienza en 0 cada vez que se inicia un proceso de Claude Code y cuenta hacia arriba durante la vida de ese proceso. Continúa contando a través de `/clear`, que asigna un nuevo `session.id`. Si [reanuda una sesión sin bifurcar](/docs/es/how-claude-code-works#resume-or-fork-sessions), la sesión mantiene su `session.id` pero toma sus valores de `event.sequence` del proceso que la reanudó, por lo que dentro de una sesión un evento posterior puede llevar un valor más bajo que uno anterior, o repetir uno. Para ordenar los eventos de una sesión, ordene por `event.timestamp` y use `event.sequence` para ordenar eventos que comparten una marca de tiempo.
721 724
722Para reconstrucción a nivel de mensaje, cada clase de evento lleva una clave que coincide con un campo en la transcripción de sesión. El formato de entrada de transcripción es [interno a Claude Code](/docs/es/sessions#where-transcripts-are-stored) y cambia entre versiones, por lo que una canalización que se une en estos campos puede romperse en cualquier lanzamiento; trate las uniones como específicas de versión en lugar de un contrato estable:725Para la reconstrucción a nivel de mensaje, cada clase de evento lleva una clave que coincide con un campo en la transcripción de la sesión. El formato de entrada de transcripción es [interno a Claude Code](/docs/es/sessions#where-transcripts-are-stored) y cambia entre versiones, por lo que un pipeline que se une en estos campos puede romperse en cualquier versión; trate las uniones como específicas de la versión en lugar de un contrato estable:
723 726
724* `message.uuid` en `user_prompt` y `assistant_response`727* `message.uuid` en `user_prompt`, `assistant_response`, y `api_response_body`
725* `request_id` en los eventos de API, persistido como `requestId` en las entradas del asistente de la transcripción728* `request_id` en los eventos de API, persistido como `requestId` en las entradas del asistente de la transcripción
726* `tool_use_id` en eventos `tool_result` y `tool_decision`729* `tool_use_id` en eventos `tool_result` y `tool_decision`
727 730
731 734
732Se registra cuando un usuario envía un mensaje.735Se registra cuando un usuario envía un mensaje.
733 736
734**Nombre del Evento**: `claude_code.user_prompt`737**Nombre del evento**: `claude_code.user_prompt`
735 738
736**Atributos**:739**Atributos**:
737 740
738* Todos los [atributos estándar](#standard-attributes)741* Todos los [atributos estándar](#standard-attributes)
739* `event.name`: `"user_prompt"`742* `event.name`: `"user_prompt"`
740* `event.timestamp`: Marca de tiempo ISO 8601743* `event.timestamp`: Marca de tiempo ISO 8601
741* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)744* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
742* `prompt_length`: Longitud del mensaje745* `prompt_length`: Longitud del mensaje
743* `prompt`: Contenido del mensaje. Redactado por defecto. Establezca `OTEL_LOG_USER_PROMPTS=1` para incluirlo746* `prompt`: Contenido del mensaje. Redactado por defecto. Establezca `OTEL_LOG_USER_PROMPTS=1` para incluirlo
744* `message.uuid`: UUID del mensaje del usuario resultante, que coincide con la entrada de transcripción persistida. Ausente en envíos de comandos, que pueden producir cero o muchos mensajes. Requiere Claude Code v2.1.214 o posterior747* `message.uuid`: UUID del mensaje del usuario resultante, coincidiendo con la entrada de transcripción persistida. Ausente en envíos de comandos, que pueden producir cero o muchos mensajes. Requiere Claude Code v2.1.214 o posterior
745* `command_name`: Nombre del comando cuando el mensaje invoca uno. Los nombres de comandos integrados y agrupados como `compact` o `debug` se emiten tal cual; los alias como `reset` se emiten como se escribieron en lugar del nombre canónico. Los nombres de comandos personalizados, de plugin y MCP se contraen a `custom` o `mcp` a menos que `OTEL_LOG_TOOL_DETAILS=1` esté establecido748* `command_name`: Nombre del comando cuando el mensaje invoca uno. Los nombres de comandos integrados y agrupados como `compact` o `debug` se emiten tal cual; los alias como `reset` se emiten tal como se escribieron en lugar del nombre canónico. Los nombres de comandos personalizados, de plugin y MCP se contraen a `custom` o `mcp` a menos que se establezca `OTEL_LOG_TOOL_DETAILS=1`
746* `command_source`: Origen del comando cuando está presente: `builtin`, `custom`, o `mcp`. Los comandos proporcionados por plugins reportan como `custom`749* `command_source`: Origen del comando cuando está presente: `builtin`, `custom`, o `mcp`. Los comandos proporcionados por plugins reportan como `custom`
747 750
748<h4 id="assistant-response-event">751<h4 id="assistant-response-event">
751 754
752Se registra después de cada solicitud de API que devuelve contenido de texto del modelo. Solo se incluyen los bloques de texto de la respuesta; los bloques de pensamiento y los bloques de uso de herramientas se excluyen. Requiere Claude Code v2.1.193 o posterior.755Se registra después de cada solicitud de API que devuelve contenido de texto del modelo. Solo se incluyen los bloques de texto de la respuesta; los bloques de pensamiento y los bloques de uso de herramientas se excluyen. Requiere Claude Code v2.1.193 o posterior.
753 756
754**Nombre del Evento**: `claude_code.assistant_response`757**Nombre del evento**: `claude_code.assistant_response`
755 758
756**Atributos**:759**Atributos**:
757 760
758* Todos los [atributos estándar](#standard-attributes)761* Todos los [atributos estándar](#standard-attributes)
759* `event.name`: `"assistant_response"`762* `event.name`: `"assistant_response"`
760* `event.timestamp`: Marca de tiempo ISO 8601763* `event.timestamp`: Marca de tiempo ISO 8601
761* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)764* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
762* `response_length`: Longitud del texto de respuesta en caracteres765* `response_length`: Longitud del texto de respuesta en caracteres
763* `response`: Texto de respuesta, truncado en el límite de contenido (60 KB por defecto). Redactado a `<REDACTED>` por defecto. Establezca `OTEL_LOG_ASSISTANT_RESPONSES=1` para incluirlo. Cuando `OTEL_LOG_ASSISTANT_RESPONSES` no está establecido, `OTEL_LOG_USER_PROMPTS` lo controla en su lugar, así que establezca `OTEL_LOG_ASSISTANT_RESPONSES=0` para mantener las respuestas redactadas mientras el registro de mensajes está activado766* `response`: Texto de respuesta, truncado en el límite de contenido (60 KB por defecto). Redactado a `<REDACTED>` por defecto. Establezca `OTEL_LOG_ASSISTANT_RESPONSES=1` para incluirlo. Cuando `OTEL_LOG_ASSISTANT_RESPONSES` no está establecido, `OTEL_LOG_USER_PROMPTS` lo controla en su lugar, por lo que establezca `OTEL_LOG_ASSISTANT_RESPONSES=0` para mantener las respuestas redactadas mientras el registro de mensajes está activado
764* `model`: Identificador de modelo (por ejemplo, "claude-sonnet-5")767* `model`: Identificador de modelo (por ejemplo, "claude-sonnet-5")
765* `request_id`: ID de solicitud de API de Anthropic del encabezado `request-id` de la respuesta. Presente solo cuando la API devuelve uno768* `request_id`: ID de solicitud de API de Anthropic del encabezado `request-id` de la respuesta. Presente solo cuando la API devuelve uno
766* `message.uuid`: UUID de la entrada de transcripción final de la respuesta. Una respuesta de API se persiste como una entrada de transcripción por bloque de contenido; esta es la última, desde la cual el `parentUuid` del siguiente turno se encadena. Requiere Claude Code v2.1.214 o posterior769* `message.uuid`: UUID de la entrada de transcripción final de la respuesta. Una respuesta de API se persiste como una entrada de transcripción por bloque de contenido; esta es la última, desde la cual el `parentUuid` del siguiente turno se encadena. Requiere Claude Code v2.1.214 o posterior
770 Evento de resultado de herramienta773 Evento de resultado de herramienta
771</h4>774</h4>
772 775
773Se registra cuando una herramienta completa la ejecución. No se emite si la llamada de herramienta fue rechazada; consulte el [Evento de decisión de herramienta](#tool-decision-event) para rechazos.776Se registra cuando una herramienta completa la ejecución. No se emite si la llamada de herramienta fue rechazada; consulte el [evento de decisión de herramienta](#tool-decision-event) para rechazos.
774 777
775**Nombre del Evento**: `claude_code.tool_result`778**Nombre del evento**: `claude_code.tool_result`
776 779
777**Atributos**:780**Atributos**:
778 781
779* Todos los [atributos estándar](#standard-attributes)782* Todos los [atributos estándar](#standard-attributes)
780* `event.name`: `"tool_result"`783* `event.name`: `"tool_result"`
781* `event.timestamp`: Marca de tiempo ISO 8601784* `event.timestamp`: Marca de tiempo ISO 8601
782* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)785* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
783* `tool_name`: Nombre de la herramienta786* `tool_name`: Nombre de la herramienta
784* `tool_use_id`: Identificador único para esta invocación de herramienta. Coincide con el `tool_use_id` pasado a hooks, permitiendo correlación entre eventos OTel y datos capturados por hooks.787* `tool_use_id`: Identificador único para esta invocación de herramienta. Coincide con el `tool_use_id` pasado a hooks, permitiendo correlación entre eventos OTel y datos capturados por hooks.
785* `success`: `"true"` o `"false"`788* `success`: `"true"` o `"false"`
786* `duration_ms`: Tiempo de ejecución en milisegundos789* `duration_ms`: Tiempo de ejecución en milisegundos
787* `error_type`: Cadena de categoría de error cuando la herramienta falló, como `"Error:ENOENT"` o `"ShellError"`790* `error_type`: Cadena de categoría de error cuando la herramienta falló, como `"Error:ENOENT"` o `"ShellError"`
788* `error` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Mensaje de error completo cuando la herramienta falló791* `error` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Mensaje de error completo cuando la herramienta falló
789* `decision_type`: Siempre `"accept"`, ya que este evento se emite solo después de que se ejecuta la herramienta. Las llamadas rechazadas no producen un resultado de herramienta792* `decision_type`: Siempre `"accept"`, ya que este evento solo se emite después de que la herramienta se ejecuta. Las llamadas rechazadas no producen un resultado de herramienta
790* `decision_source`: Fuente de decisión de permiso. Uno de `"config"`, `"hook"`, `"user_permanent"`, o `"user_temporary"`. Consulte el [Evento de decisión de herramienta](#tool-decision-event) para saber qué significa cada valor. Las fuentes solo de rechazo `"user_abort"` y `"user_reject"` nunca aparecen en este evento.793* `decision_source`: De dónde vino la decisión de permiso. Uno de `"config"`, `"hook"`, `"user_permanent"`, o `"user_temporary"`. Consulte el [evento de decisión de herramienta](#tool-decision-event) para ver qué significa cada valor. Las fuentes solo de rechazo `"user_abort"` y `"user_reject"` nunca aparecen en este evento.
791* `tool_input_size_bytes`: Tamaño de la entrada de herramienta serializada en JSON en bytes794* `tool_input_size_bytes`: Tamaño de la entrada de herramienta serializada en JSON en bytes
792* `tool_result_size_bytes`: Tamaño del resultado de la herramienta en bytes795* `tool_result_size_bytes`: Tamaño del resultado de la herramienta en bytes
793* `mcp_server_scope`: Identificador de alcance del servidor MCP (para herramientas MCP)796* `mcp_server_scope`: Identificador de alcance del servidor MCP (para herramientas MCP)
794* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (cuando `OTEL_LOG_TOOL_DETAILS=1`): la identidad del commit de una ejecución exitosa de `git commit` realizada por la herramienta Bash o PowerShell. `vcs.ref.head.revision` es el SHA del commit, `vcs.ref.head.name` es la rama en la que se confirmó, y `vcs.ref.head.type` es `branch`. El nombre y tipo se omiten cuando el commit se realizó en un HEAD desacoplado. Requiere Claude Code v2.1.269 o posterior797* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (cuando `OTEL_LOG_TOOL_DETAILS=1`): la identidad de confirmación de una ejecución exitosa de `git commit` ejecutada por la herramienta Bash o PowerShell. `vcs.ref.head.revision` es el SHA de confirmación, `vcs.ref.head.name` es la rama en la que se confirmó, y `vcs.ref.head.type` es `branch`. El nombre y tipo se omiten cuando la confirmación se realizó en un HEAD desconectado. Requiere Claude Code v2.1.269 o posterior
795* `tool_parameters` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Cadena JSON que contiene parámetros específicos de la herramienta. Para los servidores integrados de Claude Desktop, en sesiones que Claude Desktop posee, el par `mcp_server_name`/`mcp_tool_name` se incluye incluso con la bandera desactivada, la misma excepción creada por el host que el [Evento de decisión de herramienta](#tool-decision-event), requiriendo Claude Code v2.1.214 o posterior. Los parámetros varían por herramienta:798* `tool_parameters` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Cadena JSON que contiene parámetros específicos de la herramienta. Para los servidores integrados de Claude Desktop, en sesiones que Claude Desktop posee, el par `mcp_server_name`/`mcp_tool_name` se incluye incluso con la bandera desactivada, la misma excepción creada por el host que el [evento de decisión de herramienta](#tool-decision-event), requiriendo Claude Code v2.1.214 o posterior. Los parámetros varían según la herramienta:
796 * Para herramienta Bash: incluye `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`, y `git_commit_id` y `git_branch` cuando un comando `git commit` tiene éxito. `git_commit_id` es el SHA completo del commit cuando el commit es el HEAD del directorio de trabajo de la sesión, y el SHA abreviado de git de otra manera. `git_branch` es la rama en la que se confirmó, omitida en un HEAD desacoplado799 * Para herramienta Bash: incluye `bash_command`, `full_command`, `timeout`, `description`, y `dangerouslyDisableSandbox`, más `git_commit_id` y `git_branch` cuando un comando `git commit` tiene éxito. `git_commit_id` es el SHA de confirmación completo cuando la confirmación es el HEAD del directorio de trabajo de la sesión, y el SHA abreviado de git de lo contrario. `git_branch` es la rama en la que se confirmó, omitida en un HEAD desconectado
797 * Para la herramienta Bash del espacio de trabajo de la aplicación de escritorio, que también reporta `tool_name` como `Bash`: incluye solo `bash_command`, `full_command`, y `timeout`800 * Para la herramienta Bash del espacio de trabajo de la aplicación de escritorio, que también reporta `tool_name` como `Bash`: incluye solo `bash_command`, `full_command`, y `timeout`
798 * Para herramientas MCP: incluye `mcp_server_name`, `mcp_tool_name`801 * Para herramientas MCP: incluye `mcp_server_name`, `mcp_tool_name`
799 * Para herramienta Skill: incluye `skill_name`802 * Para herramienta Skill: incluye `skill_name`
800 * Para herramienta Agent o herramienta Task heredada: incluye `subagent_type`803 * Para herramienta Agent o herramienta Task heredada: incluye `subagent_type`
801* `tool_input` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Argumentos de herramienta serializados en JSON. Los valores individuales superiores a 512 caracteres se truncan, y la carga útil completa está limitada a aproximadamente 4 K caracteres. Se aplica a todas las herramientas, incluidas las herramientas MCP.804* `tool_input` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Argumentos de herramienta serializados en JSON. Los valores individuales superiores a 512 caracteres se truncan, y la carga útil completa se limita a aproximadamente 4 K caracteres. Se aplica a todas las herramientas, incluidas las herramientas MCP.
802 805
803<h4 id="api-request-event">806<h4 id="api-request-event">
804 Evento de solicitud de API807 Evento de solicitud de API
806 809
807Se registra para cada solicitud de API a Claude.810Se registra para cada solicitud de API a Claude.
808 811
809**Nombre del Evento**: `claude_code.api_request`812**Nombre del evento**: `claude_code.api_request`
810 813
811**Atributos**:814**Atributos**:
812 815
813* Todos los [atributos estándar](#standard-attributes)816* Todos los [atributos estándar](#standard-attributes)
814* `event.name`: `"api_request"`817* `event.name`: `"api_request"`
815* `event.timestamp`: Marca de tiempo ISO 8601818* `event.timestamp`: Marca de tiempo ISO 8601
816* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)819* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
817* `model`: Modelo utilizado (por ejemplo, "claude-sonnet-5")820* `model`: Modelo utilizado (por ejemplo, "claude-sonnet-5")
818* `cost_usd`: Costo estimado en USD821* `cost_usd`: Costo estimado en USD
819* `cost_usd_micros`: Costo estimado en millonésimas de dólar estadounidense, emitido como un entero822* `cost_usd_micros`: Costo estimado en millonésimas de dólar estadounidense, emitido como un entero
820* `duration_ms`: Duración de la solicitud en milisegundos823* `duration_ms`: Duración de la solicitud en milisegundos
821* `input_tokens`: Número de tokens de entrada824* `input_tokens`: Número de tokens de entrada
822* `output_tokens`: Número de tokens de salida825* `output_tokens`: Número de tokens de salida
823* `cache_read_tokens`: Número de tokens leídos del caché826* `cache_read_tokens`: Número de tokens leídos de la caché
824* `cache_creation_tokens`: Número de tokens utilizados para la creación del caché827* `cache_creation_tokens`: Número de tokens utilizados para la creación de caché
825* `request_id`: ID de solicitud de API de Anthropic del encabezado `request-id` de la respuesta, como `"req_011..."`. Presente solo cuando la API devuelve uno.828* `request_id`: ID de solicitud de API de Anthropic del encabezado `request-id` de la respuesta, como `"req_011..."`. Presente solo cuando la API devuelve uno.
826* `client_request_id`: UUID generado por el cliente enviado como encabezado de solicitud `x-client-request-id`; consulte la tabla [atributos de correlación de eventos](#event-correlation-attributes) para saber cuándo está presente. Requiere Claude Code v2.1.214 o posterior829* `client_request_id`: UUID generado por el cliente enviado como encabezado de solicitud `x-client-request-id`; consulte la tabla [atributos de correlación de eventos](#event-correlation-attributes) para saber cuándo está presente. Requiere Claude Code v2.1.214 o posterior
827* `speed`: `"fast"` o `"normal"`, indicando si el modo rápido estaba activo830* `speed`: `"fast"` o `"normal"`, indicando si el modo rápido estaba activo
828* `query_source`: Subsistema que emitió la solicitud, como `"repl_main_thread"`, `"compact"`, o un nombre de subagente831* `query_source`: Subsistema que emitió la solicitud, como `"repl_main_thread"`, `"compact"`, o un nombre de subagente
829* `effort`: [Nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) aplicado a la solicitud: `"low"`, `"medium"`, `"high"`, `"xhigh"`, o `"max"`. Ausente cuando el modelo no admite esfuerzo.832* `effort`: [Nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) aplicado a la solicitud: `"low"`, `"medium"`, `"high"`, `"xhigh"`, o `"max"`. Ausente cuando Claude Code no envía un nivel de esfuerzo, por ejemplo en un modelo que no admite esfuerzo.
830* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribución de habilidad, plugin, agente y MCP para la solicitud. Consulte [Contador de costo](#cost-counter) para definiciones y comportamiento de redacción.833* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribución de habilidad, plugin, agente y MCP para la solicitud. Consulte [Contador de costo](#cost-counter) para obtener definiciones y comportamiento de redacción.
831 834
832<h4 id="api-error-event">835<h4 id="api-error-event">
833 Evento de error de API836 Evento de error de API
835 838
836Se registra cuando una solicitud de API a Claude falla.839Se registra cuando una solicitud de API a Claude falla.
837 840
838**Nombre del Evento**: `claude_code.api_error`841**Nombre del evento**: `claude_code.api_error`
839 842
840**Atributos**:843**Atributos**:
841 844
842* Todos los [atributos estándar](#standard-attributes)845* Todos los [atributos estándar](#standard-attributes)
843* `event.name`: `"api_error"`846* `event.name`: `"api_error"`
844* `event.timestamp`: Marca de tiempo ISO 8601847* `event.timestamp`: Marca de tiempo ISO 8601
845* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)848* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
846* `model`: Modelo utilizado (por ejemplo, "claude-sonnet-5")849* `model`: Modelo utilizado (por ejemplo, "claude-sonnet-5")
847* `error`: Mensaje de error850* `error`: Mensaje de error
848* `status_code`: Código de estado HTTP como número. Ausente para errores no HTTP como fallos de conexión.851* `status_code`: Código de estado HTTP como número. Ausente para errores no HTTP como fallos de conexión.
849* `duration_ms`: Duración de la solicitud en milisegundos852* `duration_ms`: Duración de la solicitud en milisegundos
850* `attempt`: Número total de intentos realizados, incluyendo la solicitud inicial (`1` significa que no ocurrieron reintentos)853* `attempt`: Número total de intentos realizados, incluida la solicitud inicial (`1` significa que no ocurrieron reintentos)
851* `request_id`: ID de solicitud de API de Anthropic del encabezado `request-id` de la respuesta, como `"req_011..."`. Presente solo cuando la API devuelve uno.854* `request_id`: ID de solicitud de API de Anthropic del encabezado `request-id` de la respuesta, como `"req_011..."`. Presente solo cuando la API devuelve uno.
852* `client_request_id`: UUID generado por el cliente enviado como encabezado de solicitud `x-client-request-id`. Disponible incluso cuando un fallo como un tiempo de espera o error de conexión nunca produjo un `request_id` del servidor; consulte la tabla [atributos de correlación de eventos](#event-correlation-attributes) para saber cuándo está presente. Requiere Claude Code v2.1.214 o posterior855* `client_request_id`: UUID generado por el cliente enviado como encabezado de solicitud `x-client-request-id`. Disponible incluso cuando un fallo como un tiempo de espera o error de conexión nunca produjo un `request_id` del servidor; consulte la tabla [atributos de correlación de eventos](#event-correlation-attributes) para saber cuándo está presente. Requiere Claude Code v2.1.214 o posterior
853* `speed`: `"fast"` o `"normal"`, indicando si el modo rápido estaba activo856* `speed`: `"fast"` o `"normal"`, indicando si el modo rápido estaba activo
854* `query_source`: Subsistema que emitió la solicitud, como `"repl_main_thread"`, `"compact"`, o un nombre de subagente857* `query_source`: Subsistema que emitió la solicitud, como `"repl_main_thread"`, `"compact"`, o un nombre de subagente
855* `effort`: [Nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) aplicado a la solicitud. Ausente cuando el modelo no admite esfuerzo.858* `effort`: [Nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) aplicado a la solicitud. Ausente cuando Claude Code no envía un nivel de esfuerzo, por ejemplo en un modelo que no admite esfuerzo.
856* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribución de habilidad, plugin, agente y MCP para la solicitud. Consulte [Contador de costo](#cost-counter) para definiciones y comportamiento de redacción.859* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribución de habilidad, plugin, agente y MCP para la solicitud. Consulte [Contador de costo](#cost-counter) para obtener definiciones y comportamiento de redacción.
857 860
858<h4 id="api-refusal-event">861<h4 id="api-refusal-event">
859 Evento de rechazo de API862 Evento de rechazo de API
860</h4>863</h4>
861 864
862Se registra cuando una solicitud de API devuelve `stop_reason: "refusal"`. Los rechazos llegan en un flujo de respuesta exitoso en lugar de como un error HTTP, por lo que el evento `api_error` no se activa para ellos. Este evento le permite rastrear la frecuencia de rechazo y agrupar rechazos por los mismos atributos que `api_request` y `api_error`.865Se registra cuando una solicitud de API devuelve `stop_reason: "refusal"`. Los rechazos llegan en una transmisión de respuesta exitosa en lugar de como un error HTTP, por lo que el evento `api_error` no se activa para ellos. Este evento le permite rastrear la frecuencia de rechazo y agrupar rechazos por los mismos atributos que `api_request` y `api_error`.
863 866
864**Nombre del Evento**: `claude_code.api_refusal`867**Nombre del evento**: `claude_code.api_refusal`
865 868
866**Atributos**:869**Atributos**:
867 870
868* Todos los [atributos estándar](#standard-attributes)871* Todos los [atributos estándar](#standard-attributes)
869* `event.name`: `"api_refusal"`872* `event.name`: `"api_refusal"`
870* `event.timestamp`: Marca de tiempo ISO 8601873* `event.timestamp`: Marca de tiempo ISO 8601
871* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)874* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
872* `model`: Identificador de modelo de la solicitud875* `model`: Identificador de modelo de la solicitud
873* `request_id`: ID de solicitud de API de Anthropic del encabezado `request-id` de la respuesta, como `"req_011..."`. Presente solo cuando la API devuelve uno.876* `request_id`: ID de solicitud de API de Anthropic del encabezado `request-id` de la respuesta, como `"req_011..."`. Presente solo cuando la API devuelve uno.
874* `query_source`: Subsistema que emitió la solicitud, como `"repl_main_thread"`, `"compact"`, o un nombre de subagente. Consulte [`api_request`](#api-request-event) para definiciones.877* `query_source`: Subsistema que emitió la solicitud, como `"repl_main_thread"`, `"compact"`, o un nombre de subagente. Consulte [`api_request`](#api-request-event) para obtener definiciones.
875* `speed`: Ya sea `"fast"` cuando [Modo rápido](/docs/es/fast-mode) está activo, o `"normal"`878* `speed`: Ya sea `"fast"` cuando [Modo rápido](/docs/es/fast-mode) está activo, o `"normal"`
876* `attempt`: Número de intento de reintento. El primer intento es `1`.879* `attempt`: Número de intento de reintento. El primer intento es `1`.
877* `effort`: [Nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) aplicado a la solicitud. Ausente cuando el modelo no admite esfuerzo.880* `effort`: [Nivel de esfuerzo](/docs/es/model-config#adjust-effort-level) aplicado a la solicitud. Ausente cuando Claude Code no envía un nivel de esfuerzo, por ejemplo en un modelo que no admite esfuerzo.
878* `server_fallback_hop`: `true` cuando el fallback de modelo del lado del servidor de la API ya reintentó este rechazo en un modelo diferente, por lo que el usuario no vio este rechazo en particular. `false` cuando la solicitud terminó en un rechazo. Un único turno puede emitir tanto un evento hop `true` como un evento final `false` posterior cuando el modelo de fallback también rechaza.881* `server_fallback_hop`: `true` cuando la alternativa de modelo del lado del servidor de la API ya reintentó este rechazo en un modelo diferente, por lo que el usuario no vio este rechazo en particular. `false` cuando la solicitud terminó en un rechazo. Un único turno puede emitir tanto un evento de salto `true` como un evento final `false` posterior cuando el modelo de alternativa también rechaza.
879* `has_category`: `true` cuando la respuesta de la API llevaba una `stop_details.category` de `"cyber"`, `"bio"`, `"frontier_llm"`, o `"reasoning_extraction"`. `false` cuando la respuesta no llevaba categoría o un valor fuera de ese conjunto. Ausente cuando `server_fallback_hop` es `true`, porque los bloques hop no llevan `stop_details`.882* `has_category`: `true` cuando la respuesta de la API llevaba un `stop_details.category` de `"cyber"`, `"bio"`, `"frontier_llm"`, o `"reasoning_extraction"`. `false` cuando la respuesta no llevaba categoría o un valor fuera de ese conjunto. Ausente cuando `server_fallback_hop` es `true`, porque los saltos no llevan `stop_details`.
880* `has_explanation`: `true` cuando la respuesta de la API llevaba una `stop_details.explanation`, de otra manera `false`. Ausente cuando `server_fallback_hop` es `true`.883* `has_explanation`: `true` cuando la respuesta de la API llevaba un `stop_details.explanation`, de lo contrario `false`. Ausente cuando `server_fallback_hop` es `true`.
881* `category`: El valor `stop_details.category` de la respuesta de la API. Uno de `"cyber"`, `"bio"`, `"frontier_llm"`, o `"reasoning_extraction"`. Solo presente cuando `OTEL_LOG_TOOL_DETAILS=1` está establecido y `has_category` es `true`.884* `category`: El valor `stop_details.category` de la respuesta de la API. Uno de `"cyber"`, `"bio"`, `"frontier_llm"`, o `"reasoning_extraction"`. Solo presente cuando `OTEL_LOG_TOOL_DETAILS=1` está establecido y `has_category` es `true`.
882* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribución de habilidad, plugin, agente y MCP para la solicitud. Consulte [Contador de costo](#cost-counter) para definiciones y comportamiento de redacción.885* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Atribución de habilidad, plugin, agente y MCP para la solicitud. Consulte [Contador de costo](#cost-counter) para obtener definiciones y comportamiento de redacción.
883 886
884<h4 id="api-request-body-event">887<h4 id="api-request-body-event">
885 Evento de cuerpo de solicitud de API888 Evento de cuerpo de solicitud de API
887 890
888Se registra para cada intento de solicitud de API cuando `OTEL_LOG_RAW_API_BODIES` está establecido. Se emite un evento por intento, por lo que los reintentos con parámetros ajustados producen cada uno su propio evento.891Se registra para cada intento de solicitud de API cuando `OTEL_LOG_RAW_API_BODIES` está establecido. Se emite un evento por intento, por lo que los reintentos con parámetros ajustados producen cada uno su propio evento.
889 892
890**Nombre del Evento**: `claude_code.api_request_body`893**Nombre del evento**: `claude_code.api_request_body`
891 894
892**Atributos**:895**Atributos**:
893 896
894* Todos los [atributos estándar](#standard-attributes)897* Todos los [atributos estándar](#standard-attributes)
895* `event.name`: `"api_request_body"`898* `event.name`: `"api_request_body"`
896* `event.timestamp`: Marca de tiempo ISO 8601899* `event.timestamp`: Marca de tiempo ISO 8601
897* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)900* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
898* `body`: Parámetros de solicitud de API de Mensajes serializados en JSON, como el mensaje del sistema, mensajes y herramientas, truncados en el límite de contenido (60 KB por defecto). El contenido de pensamiento extendido en turnos de asistente anteriores se redacta. Se emite solo en modo en línea (`OTEL_LOG_RAW_API_BODIES=1`).901* `body`: Parámetros de solicitud de API de Messages serializados en JSON, como el mensaje del sistema, mensajes y herramientas, truncados en el límite de contenido (60 KB por defecto). El contenido de pensamiento extendido en turnos anteriores del asistente se redacta. Se emite solo en modo en línea (`OTEL_LOG_RAW_API_BODIES=1`).
899* `body_ref`: Ruta absoluta a un archivo `<dir>/<uuid>.request.json` que contiene el cuerpo sin truncar. Se emite solo en modo de archivo (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).902* `body_ref`: Ruta absoluta a un archivo `<dir>/<uuid>.request.json` que contiene el cuerpo sin truncar. Se emite solo en modo de archivo (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).
900* `body_length`: Longitud del cuerpo sin truncar. Bytes UTF-8 cuando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unidades de código UTF-16 cuando `=1`903* `body_length`: Longitud del cuerpo sin truncar. Bytes UTF-8 cuando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unidades de código UTF-16 cuando `=1`
901* `body_truncated`: `"true"` cuando ocurrió truncamiento en línea. Ausente en modo de archivo y cuando no ocurrió truncamiento.904* `body_truncated`: `"true"` cuando ocurrió truncamiento en línea. Ausente en modo de archivo y cuando no ocurrió truncamiento.
911 914
912En modo de archivo (`OTEL_LOG_RAW_API_BODIES=file:<dir>`), Claude Code también añade una línea JSON a `<dir>/index.jsonl` para cada respuesta exitosa, con los campos `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file`, y `response_file`. Léalo para encontrar los archivos de solicitud y respuesta detrás de un mensaje de transcripción dado sin consultar su backend de telemetría. El archivo de índice requiere Claude Code v2.1.274 o posterior.915En modo de archivo (`OTEL_LOG_RAW_API_BODIES=file:<dir>`), Claude Code también añade una línea JSON a `<dir>/index.jsonl` para cada respuesta exitosa, con los campos `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file`, y `response_file`. Léalo para encontrar los archivos de solicitud y respuesta detrás de un mensaje de transcripción dado sin consultar su backend de telemetría. El archivo de índice requiere Claude Code v2.1.274 o posterior.
913 916
914**Nombre del Evento**: `claude_code.api_response_body`917**Nombre del evento**: `claude_code.api_response_body`
915 918
916**Atributos**:919**Atributos**:
917 920
918* Todos los [atributos estándar](#standard-attributes)921* Todos los [atributos estándar](#standard-attributes)
919* `event.name`: `"api_response_body"`922* `event.name`: `"api_response_body"`
920* `event.timestamp`: Marca de tiempo ISO 8601923* `event.timestamp`: Marca de tiempo ISO 8601
921* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)924* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
922* `body`: Respuesta de API de Mensajes serializada en JSON, incluyendo el id, bloques de contenido, uso y razón de parada, truncada en el límite de contenido (60 KB por defecto). El contenido de pensamiento extendido se redacta. Se emite solo en modo en línea (`OTEL_LOG_RAW_API_BODIES=1`).925* `body`: Respuesta de API de Messages serializada en JSON, incluido el id, bloques de contenido, uso y razón de parada, truncada en el límite de contenido (60 KB por defecto). El contenido de pensamiento extendido se redacta. Se emite solo en modo en línea (`OTEL_LOG_RAW_API_BODIES=1`).
923* `body_ref`: Ruta absoluta a un archivo `<dir>/<request_id>.response.json` que contiene el cuerpo sin truncar. Se emite solo en modo de archivo (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).926* `body_ref`: Ruta absoluta a un archivo `<dir>/<request_id>.response.json` que contiene el cuerpo sin truncar. Se emite solo en modo de archivo (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).
924* `body_length`: Longitud del cuerpo sin truncar. Bytes UTF-8 cuando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unidades de código UTF-16 cuando `=1`927* `body_length`: Longitud del cuerpo sin truncar. Bytes UTF-8 cuando `OTEL_LOG_RAW_API_BODIES=file:<dir>`, o unidades de código UTF-16 cuando `=1`
925* `body_truncated`: `"true"` cuando ocurrió truncamiento en línea. Ausente en modo de archivo y cuando no ocurrió truncamiento.928* `body_truncated`: `"true"` cuando ocurrió truncamiento en línea. Ausente en modo de archivo y cuando no ocurrió truncamiento.
936 939
937Se registra cuando se toma una decisión de permiso de herramienta (aceptar/rechazar).940Se registra cuando se toma una decisión de permiso de herramienta (aceptar/rechazar).
938 941
939**Nombre del Evento**: `claude_code.tool_decision`942**Nombre del evento**: `claude_code.tool_decision`
940 943
941**Atributos**:944**Atributos**:
942 945
943* Todos los [atributos estándar](#standard-attributes)946* Todos los [atributos estándar](#standard-attributes)
944* `event.name`: `"tool_decision"`947* `event.name`: `"tool_decision"`
945* `event.timestamp`: Marca de tiempo ISO 8601948* `event.timestamp`: Marca de tiempo ISO 8601
946* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)949* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
947* `tool_name`: Nombre de la herramienta (por ejemplo, "Read", "Edit", "Write", "NotebookEdit")950* `tool_name`: Nombre de la herramienta (por ejemplo, "Read", "Edit", "Write", "NotebookEdit")
948* `tool_use_id`: Identificador único para esta invocación de herramienta. Coincide con el `tool_use_id` pasado a hooks, permitiendo correlación entre eventos OTel y datos capturados por hooks.951* `tool_use_id`: Identificador único para esta invocación de herramienta. Coincide con el `tool_use_id` pasado a hooks, permitiendo correlación entre eventos OTel y datos capturados por hooks.
949* `decision`: Ya sea `"accept"` o `"reject"`952* `decision`: Ya sea `"accept"` o `"reject"`
951 * `"builtin"`: las herramientas propias de la CLI954 * `"builtin"`: las herramientas propias de la CLI
952 * `"mcp"`: servidores MCP en general955 * `"mcp"`: servidores MCP en general
953 * `"sdk_host_builtin_mcp"`: un servidor en proceso integrado en Claude Desktop mismo, en una sesión que Claude Desktop posee. Claude Desktop posee una sesión que inició desde uno de sus propios puntos de entrada, `claude-desktop`, `claude-desktop-3p`, o `local-agent`, cuando esa sesión no es un hijo anidado; las sesiones anidadas, incluidas las sesiones que Claude Code mismo genera, reportan estos servidores como `"mcp"`956 * `"sdk_host_builtin_mcp"`: un servidor en proceso integrado en Claude Desktop mismo, en una sesión que Claude Desktop posee. Claude Desktop posee una sesión que inició desde uno de sus propios puntos de entrada, `claude-desktop`, `claude-desktop-3p`, o `local-agent`, cuando esa sesión no es un hijo anidado; las sesiones anidadas, incluidas las sesiones que Claude Code mismo genera, reportan estos servidores como `"mcp"`
954* `source`: Fuente de decisión:957* `source`: De dónde vino la decisión:
955 * `"config"`: Decidido automáticamente sin solicitar, basado en configuración del proyecto, reglas de permiso en la configuración personal del usuario, política administrada empresarial, banderas `--allowedTools` o `--disallowedTools`, el modo de permiso activo, una concesión con alcance de sesión de un mensaje anterior en la misma sesión de CLI interactiva, o porque la herramienta es inherentemente segura. El evento no indica cuál de estas fuentes coincidió. Claude Code también reporta `"config"` cuando la solicitud de mensaje de permiso en sí falla, por ejemplo cuando la devolución de llamada [`canUseTool`](/docs/es/agent-sdk/typescript#canusetool) del SDK de Agent o la herramienta [`--permission-prompt-tool`](/docs/es/cli-reference#cli-flags) devuelve un resultado inválido, o cuando el flujo de entrada se cierra mientras la solicitud está pendiente. Antes de v2.1.216, Claude Code reportaba estos fallos como `"user_reject"`.958 * `"config"`: Decidido automáticamente sin preguntar, basado en la configuración del proyecto, reglas de permitir o denegar en la configuración personal del usuario, política gestionada empresarial, banderas `--allowedTools` o `--disallowedTools`, el modo de permiso activo, una concesión con alcance de sesión de un mensaje anterior en la misma sesión de CLI interactiva, o porque la herramienta es inherentemente segura. El evento no indica cuál de estas fuentes coincidió. Claude Code también reporta `"config"` cuando la solicitud de mensaje de permiso en sí falla, por ejemplo cuando la devolución de llamada [`canUseTool`](/docs/es/agent-sdk/typescript#canusetool) del SDK de Agent o la herramienta [`--permission-prompt-tool`](/docs/es/cli-reference#cli-flags) devuelve un resultado inválido, o cuando el flujo de entrada se cierra mientras la solicitud está pendiente. Antes de v2.1.216, Claude Code reportaba estos fallos como `"user_reject"`.
956 * `"hook"`: Un hook `PreToolUse` o `PermissionRequest` devolvió la decisión.959 * `"hook"`: Un hook `PreToolUse` o `PermissionRequest` devolvió la decisión.
957 * `"user_permanent"`: Se emite cuando el usuario eligió "Sí, y no preguntes de nuevo para ..." en un mensaje de permiso, que guarda una regla de permiso en su configuración personal. En la CLI interactiva esto se emite solo para esa opción en sí; las llamadas posteriores que coincidan con la regla guardada emiten `"config"` en su lugar. En sesiones del SDK de Agent o no interactivas `-p`, tanto la opción inicial como las coincidencias de regla posteriores emiten `"user_permanent"`. Se trata como una aceptación.960 * `"user_permanent"`: Se emite cuando el usuario eligió "Sí, y no preguntar de nuevo para ..." en un mensaje de permiso, que guarda una regla de permitir en su configuración personal. En la CLI interactiva esto se emite solo para esa opción en sí; las llamadas posteriores que coinciden con la regla guardada emiten `"config"` en su lugar. En sesiones de SDK de Agent o no interactivas `-p`, tanto la opción inicial como las coincidencias de reglas posteriores emiten `"user_permanent"`. Se trata como una aceptación.
958 * `"user_temporary"`: Se emite cuando el usuario eligió "Sí" en un mensaje de permiso para una aprobación única, o eligió una opción que otorga acceso para el resto de la sesión en un mensaje de edición o lectura de archivo. En la CLI interactiva esto se emite solo para la opción en sí; las llamadas posteriores permitidas por esa concesión con alcance de sesión emiten `"config"` en su lugar. En sesiones del SDK de Agent o no interactivas `-p`, tanto la opción como las coincidencias posteriores emiten `"user_temporary"`. Se trata como una aceptación.961 * `"user_temporary"`: Se emite cuando el usuario eligió "Sí" en un mensaje de permiso para una aprobación única, u optó por una opción que otorga acceso para el resto de la sesión en un mensaje de edición o lectura de archivo. En la CLI interactiva esto se emite solo para la opción en sí; las llamadas posteriores permitidas por esa concesión con alcance de sesión emiten `"config"` en su lugar. En sesiones de SDK de Agent o no interactivas `-p`, tanto la opción como las coincidencias posteriores emiten `"user_temporary"`. Se trata como una aceptación.
959 * `"user_abort"`: Se emite cuando el usuario descartó el mensaje de permiso sin responder. En sesiones del SDK de Agent y no interactivas `-p`, esto incluye interrumpir el turno mientras una solicitud de permiso `canUseTool` o `--permission-prompt-tool` está pendiente; antes de v2.1.216, Claude Code reportaba esa interrupción como `"user_reject"`. Se trata como un rechazo.962 * `"user_abort"`: Se emite cuando el usuario descartó el mensaje de permiso sin responder. En sesiones de SDK de Agent y no interactivas `-p`, esto incluye interrumpir el turno mientras una solicitud de permiso `canUseTool` o `--permission-prompt-tool` está pendiente; antes de v2.1.216, Claude Code reportaba esa interrupción como `"user_reject"`. Se trata como un rechazo.
960 * `"user_reject"`: Se emite cuando el usuario eligió "No" cuando se le solicitó. En la CLI interactiva esto se emite solo para esa opción en sí; las llamadas que coincidan con una regla de denegación en la configuración personal del usuario emiten `"config"` en su lugar. En sesiones del SDK de Agent o no interactivas `-p`, las llamadas que coincidan con una regla de denegación en la configuración personal emiten `"user_reject"`. Se trata como un rechazo.963 * `"user_reject"`: Se emite cuando el usuario eligió "No" cuando se le preguntó. En la CLI interactiva esto se emite solo para esa opción en sí; las llamadas que coinciden con una regla de denegar en la configuración personal del usuario emiten `"config"` en su lugar. En sesiones de SDK de Agent o no interactivas `-p`, las llamadas que coinciden con una regla de denegar en la configuración personal emiten `"user_reject"`. Se trata como un rechazo.
961* `tool_parameters` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Cadena JSON que contiene parámetros específicos de la herramienta. Misma forma que el [Evento de resultado de herramienta](#tool-result-event), menos campos posteriores a la ejecución como `git_commit_id`. Los valores pueden diferir de `tool_result` para una llamada aceptada si la decisión de permiso reescribe la entrada de herramienta a través de `updatedInput`. Use este atributo para ver qué comando fue rechazado cuando `decision` es `"reject"`.964* `tool_parameters` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Cadena JSON que contiene parámetros específicos de la herramienta. Misma forma que el [evento de resultado de herramienta](#tool-result-event), menos campos posteriores a la ejecución como `git_commit_id`. Los valores pueden diferir de `tool_result` para una llamada aceptada si la decisión de permiso reescribe la entrada de herramienta a través de `updatedInput`. Use este atributo para ver qué comando fue rechazado cuando `decision` es `"reject"`.
962 * Para herramientas `"sdk_host_builtin_mcp"`: `mcp_server_name` y `mcp_tool_name` se incluyen incluso cuando `OTEL_LOG_TOOL_DETAILS` está desactivado, porque la aplicación host define estos nombres; sin ellos, una llamada rechazada a uno de estos servidores integrados sería inattribuible en el flujo predeterminado. Para servidores MCP configurados por el usuario, el `tool_name` del evento es siempre el literal `"mcp_tool"`, y los nombres del servidor y herramienta aparecen solo en `tool_parameters` con la bandera activada; el contenido del argumento requiere la bandera en todas partes. Requiere Claude Code v2.1.214 o posterior965 * Para herramientas `"sdk_host_builtin_mcp"`: `mcp_server_name` y `mcp_tool_name` se incluyen incluso cuando `OTEL_LOG_TOOL_DETAILS` está desactivado, porque la aplicación host define estos nombres; sin ellos, una llamada rechazada a uno de estos servidores integrados sería inattribuible en la transmisión predeterminada. Para servidores MCP configurados por el usuario, el `tool_name` del evento es siempre el literal `"mcp_tool"`, y los nombres del servidor y herramienta aparecen solo en `tool_parameters` con la bandera activada; el contenido del argumento requiere la bandera en todas partes. Requiere Claude Code v2.1.214 o posterior
963 * Para herramienta Bash: incluye `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. La herramienta bash del espacio de trabajo de la aplicación de escritorio también reporta `tool_name` como `Bash`, pero incluye solo `bash_command`, `full_command`, y `timeout`966 * Para herramienta Bash: incluye `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. La herramienta bash del espacio de trabajo de la aplicación de escritorio también reporta `tool_name` como `Bash`, pero incluye solo `bash_command`, `full_command`, y `timeout`
964 * Para herramientas MCP: incluye `mcp_server_name`, `mcp_tool_name`967 * Para herramientas MCP: incluye `mcp_server_name`, `mcp_tool_name`
965 * Para herramienta Skill: incluye `skill_name`968 * Para herramienta Skill: incluye `skill_name`
969 Evento de cambio de modo de permiso972 Evento de cambio de modo de permiso
970</h4>973</h4>
971 974
972Se registra cuando el modo de permiso cambia, por ejemplo al ciclar con Shift+Tab, salir del modo de plan, o una verificación de puerta de modo automático.975Se registra cuando el modo de permiso cambia, por ejemplo al ciclar con Shift+Tab, salir del modo de plan, o una verificación de puerta automática.
973 976
974**Nombre del Evento**: `claude_code.permission_mode_changed`977**Nombre del evento**: `claude_code.permission_mode_changed`
975 978
976**Atributos**:979**Atributos**:
977 980
978* Todos los [atributos estándar](#standard-attributes)981* Todos los [atributos estándar](#standard-attributes)
979* `event.name`: `"permission_mode_changed"`982* `event.name`: `"permission_mode_changed"`
980* `event.timestamp`: Marca de tiempo ISO 8601983* `event.timestamp`: Marca de tiempo ISO 8601
981* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)984* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
982* `from_mode`: El modo de permiso anterior, por ejemplo `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, o `"bypassPermissions"`985* `from_mode`: El modo de permiso anterior, por ejemplo `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, o `"bypassPermissions"`
983* `to_mode`: El nuevo modo de permiso986* `to_mode`: El nuevo modo de permiso
984* `trigger`: Qué causó el cambio. Uno de `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, o `"auto_opt_in"`. Ausente cuando la transición se origina del SDK o puente987* `trigger`: Qué causó el cambio. Uno de `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, o `"auto_opt_in"`. Ausente cuando la transición se origina del SDK o puente
989 992
990Se registra cuando `/login` o `/logout` se completa.993Se registra cuando `/login` o `/logout` se completa.
991 994
992**Nombre del Evento**: `claude_code.auth`995**Nombre del evento**: `claude_code.auth`
993 996
994**Atributos**:997**Atributos**:
995 998
996* Todos los [atributos estándar](#standard-attributes)999* Todos los [atributos estándar](#standard-attributes)
997* `event.name`: `"auth"`1000* `event.name`: `"auth"`
998* `event.timestamp`: Marca de tiempo ISO 86011001* `event.timestamp`: Marca de tiempo ISO 8601
999* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1002* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1000* `action`: `"login"` o `"logout"`1003* `action`: `"login"` o `"logout"`
1001* `success`: `"true"` o `"false"`1004* `success`: `"true"` o `"false"`
1002* `auth_method`: Método de autenticación, como `"oauth"`1005* `auth_method`: Método de autenticación, como `"oauth"`
1009 1012
1010Se registra cuando un servidor MCP se conecta, desconecta o falla al conectarse.1013Se registra cuando un servidor MCP se conecta, desconecta o falla al conectarse.
1011 1014
1012**Nombre del Evento**: `claude_code.mcp_server_connection`1015**Nombre del evento**: `claude_code.mcp_server_connection`
1013 1016
1014**Atributos**:1017**Atributos**:
1015 1018
1016* Todos los [atributos estándar](#standard-attributes)1019* Todos los [atributos estándar](#standard-attributes)
1017* `event.name`: `"mcp_server_connection"`1020* `event.name`: `"mcp_server_connection"`
1018* `event.timestamp`: Marca de tiempo ISO 86011021* `event.timestamp`: Marca de tiempo ISO 8601
1019* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1022* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1020* `status`: `"connected"`, `"failed"`, o `"disconnected"`1023* `status`: `"connected"`, `"failed"`, o `"disconnected"`
1021* `transport_type`: Transporte del servidor, como `"stdio"`, `"sse"`, o `"http"`1024* `transport_type`: Transporte del servidor, como `"stdio"`, `"sse"`, o `"http"`
1022* `server_scope`: Alcance en el que está configurado el servidor, como `"user"`, `"project"`, o `"local"`1025* `server_scope`: Alcance en el que está configurado el servidor, como `"user"`, `"project"`, o `"local"`
1023* `duration_ms`: Duración del intento de conexión en milisegundos1026* `duration_ms`: Duración del intento de conexión en milisegundos
1024* `error_code`: Código de error cuando la conexión falló1027* `error_code`: Código de error cuando la conexión falló
1025* `is_plugin`: `true` cuando el servidor es proporcionado por un plugin, `false` de otra manera1028* `is_plugin`: `true` cuando el servidor es proporcionado por un plugin, `false` de lo contrario
1026* `plugin_id_hash` (cuando `is_plugin` es `true`): Hash estable del nombre del plugin y mercado, para agrupar eventos por plugin sin exponer el nombre. Claude Code lo calcula como se describe en el [evento de plugin cargado](#plugin-loaded-event)1029* `plugin_id_hash` (cuando `is_plugin` es `true`): Hash estable del nombre del plugin y mercado, para agrupar eventos por plugin sin exponer el nombre. Claude Code lo calcula como se describe en el [evento de plugin cargado](#plugin-loaded-event)
1027* `plugin.name` (cuando `is_plugin` es `true`): Nombre del plugin que proporciona el servidor. Para plugins de terceros esto es la cadena literal `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1`; esto protege los nombres de plugins de terceros de aparecer en registros por defecto. Los plugins de fuentes oficiales de Anthropic siempre se identifican por nombre. Los atributos `plugin_id_hash` y `plugin.name` fluyen a su propio backend de monitoreo y no se envían a Anthropic1030* `plugin.name` (cuando `is_plugin` es `true`): Nombre del plugin que proporciona el servidor. Para plugins de terceros este es el literal `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1`; esto protege los nombres de plugins de terceros de aparecer en registros por defecto. Los plugins de fuentes oficiales de Anthropic siempre se identifican por nombre. Los atributos `plugin_id_hash` y `plugin.name` fluyen a su propio backend de monitoreo y no se envían a Anthropic
1028* `server_name` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Nombre del servidor configurado1031* `server_name` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Nombre del servidor configurado
1029* `error` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Mensaje de error completo cuando la conexión falló1032* `error` (cuando `OTEL_LOG_TOOL_DETAILS=1`): Mensaje de error completo cuando la conexión falló
1030 1033
1032 Evento de error interno1035 Evento de error interno
1033</h4>1036</h4>
1034 1037
1035Se registra cuando Claude Code captura un error interno inesperado. Solo se registran el nombre de la clase de error y un código de estilo errno. El mensaje de error y el seguimiento de pila nunca se incluyen. Este evento no se emite cuando se ejecuta contra Amazon Bedrock, Google Cloud's Agent Platform, o Microsoft Foundry, o cuando `DISABLE_ERROR_REPORTING` está establecido.1038Se registra cuando Claude Code detecta un error interno inesperado. Solo se registran el nombre de la clase de error y un código de estilo errno. El mensaje de error y el rastreo de pila nunca se incluyen. Este evento no se emite cuando se ejecuta contra Amazon Bedrock, la plataforma de agentes de Google Cloud, Microsoft Foundry, o cuando `DISABLE_ERROR_REPORTING` está establecido.
1036 1039
1037**Nombre del Evento**: `claude_code.internal_error`1040**Nombre del evento**: `claude_code.internal_error`
1038 1041
1039**Atributos**:1042**Atributos**:
1040 1043
1041* Todos los [atributos estándar](#standard-attributes)1044* Todos los [atributos estándar](#standard-attributes)
1042* `event.name`: `"internal_error"`1045* `event.name`: `"internal_error"`
1043* `event.timestamp`: Marca de tiempo ISO 86011046* `event.timestamp`: Marca de tiempo ISO 8601
1044* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1047* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1045* `error_name`: Nombre de la clase de error, como `"TypeError"` o `"SyntaxError"`1048* `error_name`: Nombre de la clase de error, como `"TypeError"` o `"SyntaxError"`
1046* `error_code`: Código errno de Node.js como `"ENOENT"` cuando está presente en el error1049* `error_code`: Código errno de Node.js como `"ENOENT"` cuando está presente en el error
1047 1050
1051 1054
1052Se registra cuando un plugin termina de instalarse, tanto desde el comando CLI `claude plugin install` como desde la interfaz de usuario interactiva `/plugin`.1055Se registra cuando un plugin termina de instalarse, tanto desde el comando CLI `claude plugin install` como desde la interfaz de usuario interactiva `/plugin`.
1053 1056
1054**Nombre del Evento**: `claude_code.plugin_installed`1057**Nombre del evento**: `claude_code.plugin_installed`
1055 1058
1056**Atributos**:1059**Atributos**:
1057 1060
1058* Todos los [atributos estándar](#standard-attributes)1061* Todos los [atributos estándar](#standard-attributes)
1059* `event.name`: `"plugin_installed"`1062* `event.name`: `"plugin_installed"`
1060* `event.timestamp`: Marca de tiempo ISO 86011063* `event.timestamp`: Marca de tiempo ISO 8601
1061* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1064* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1062* `marketplace.is_official`: `"true"` si el mercado es un mercado oficial de Anthropic, `"false"` de otra manera1065* `marketplace.is_official`: `"true"` si el mercado es un mercado oficial de Anthropic, `"false"` de lo contrario
1063* `install.trigger`: `"cli"` o `"ui"`1066* `install.trigger`: `"cli"` o `"ui"`
1064* `plugin.name`: Nombre del plugin instalado. Para mercados de terceros esto se incluye solo cuando `OTEL_LOG_TOOL_DETAILS=1`1067* `plugin.name`: Nombre del plugin instalado. Para mercados de terceros esto se incluye solo cuando `OTEL_LOG_TOOL_DETAILS=1`
1065* `plugin.version`: Versión del plugin cuando se declara en la entrada del mercado. Para mercados de terceros esto se incluye solo cuando `OTEL_LOG_TOOL_DETAILS=1`1068* `plugin.version`: Versión del plugin cuando se declara en la entrada del mercado. Para mercados de terceros esto se incluye solo cuando `OTEL_LOG_TOOL_DETAILS=1`
1066* `marketplace.name`: Mercado desde el que se instaló el plugin. Para mercados de terceros esto se incluye solo cuando `OTEL_LOG_TOOL_DETAILS=1`1069* `marketplace.name`: Mercado desde el cual se instaló el plugin. Para mercados de terceros esto se incluye solo cuando `OTEL_LOG_TOOL_DETAILS=1`
1067 1070
1068<h4 id="plugin-loaded-event">1071<h4 id="plugin-loaded-event">
1069 Evento de plugin cargado1072 Evento de plugin cargado
1071 1074
1072Se registra una vez por plugin habilitado al inicio de la sesión. Use este evento para inventariar qué plugins están activos en su flota, como complemento a `plugin_installed` que registra la acción de instalación en sí.1075Se registra una vez por plugin habilitado al inicio de la sesión. Use este evento para inventariar qué plugins están activos en su flota, como complemento a `plugin_installed` que registra la acción de instalación en sí.
1073 1076
1074**Nombre del Evento**: `claude_code.plugin_loaded`1077**Nombre del evento**: `claude_code.plugin_loaded`
1075 1078
1076**Atributos**:1079**Atributos**:
1077 1080
1078* Todos los [atributos estándar](#standard-attributes)1081* Todos los [atributos estándar](#standard-attributes)
1079* `event.name`: `"plugin_loaded"`1082* `event.name`: `"plugin_loaded"`
1080* `event.timestamp`: Marca de tiempo ISO 86011083* `event.timestamp`: Marca de tiempo ISO 8601
1081* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1084* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1082* `plugin.name`: nombre del plugin. Para plugins fuera del mercado oficial y paquete integrado el valor es `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1`1085* `plugin.name`: nombre del plugin. Para plugins fuera del mercado oficial y paquete integrado el valor es `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1`
1083* `marketplace.name`: mercado desde el que se instaló el plugin, cuando se conoce. Redactado a `"third-party"` bajo la misma condición que `plugin.name`1086* `marketplace.name`: mercado desde el cual se instaló el plugin, cuando se conoce. Redactado a `"third-party"` bajo la misma condición que `plugin.name`
1084* `plugin.version`: versión del manifiesto del plugin. Se incluye solo cuando el nombre no está redactado y el manifiesto declara una versión1087* `plugin.version`: versión del manifiesto del plugin. Se incluye solo cuando el nombre no está redactado y el manifiesto declara una versión
1085* `plugin.scope`: categoría de procedencia para el plugin: `"official"`, `"community"`, `"org"`, `"user-local"`, o `"default-bundle"`1088* `plugin.scope`: categoría de procedencia del plugin: `"official"`, `"community"`, `"org"`, `"user-local"`, o `"default-bundle"`
1086* `enabled_via`: cómo el plugin llegó a estar habilitado: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"`, o `"user-install"`. El valor `"admin-install"` significa que el plugin está configurado como requerido o instalación automática para su organización en [**Configuración de organización > Plugins**](https://claude.ai/admin-settings/plugins). Antes de v2.1.246, Claude Code reportaba estos plugins como `"user-install"` o `"seed-mount"`1089* `enabled_via`: cómo el plugin llegó a estar habilitado: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"`, o `"user-install"`. El valor `"admin-install"` significa que el plugin está configurado como requerido o instalación automática para su organización en [**Configuración de la organización > Plugins**](https://claude.ai/admin-settings/plugins). Antes de v2.1.246, Claude Code reportaba estos plugins como `"user-install"` o `"seed-mount"`
1087* `plugin_id_hash`: hash determinista del nombre del plugin y mercado, enviado solo a su exportador configurado. Le permite contar los plugins de terceros distintos cargados en su flota sin registrar sus nombres. Para [plugins sincronizados desde claude.ai](/docs/es/plugins-reference#synced-plugins), Claude Code hashea el nombre del plugin con el nombre del mercado que claude.ai reporta para el plugin, o con `synced` de otra manera. Antes de v2.1.246, Claude Code no usaba el nombre del mercado que claude.ai reporta en el hash1090* `plugin_id_hash`: hash determinista del nombre del plugin y mercado, enviado solo a su exportador configurado. Le permite contar los plugins de terceros distintos cargados en su flota sin registrar sus nombres. Para [plugins sincronizados desde claude.ai](/docs/es/plugins-reference#synced-plugins), Claude Code codifica el nombre del plugin con el nombre del mercado que claude.ai reporta para el plugin, o con `synced` de lo contrario. Antes de v2.1.246, Claude Code no usaba el nombre del mercado que claude.ai reporta en el hash
1088* `has_hooks`: si el plugin contribuye hooks1091* `has_hooks`: si el plugin contribuye hooks
1089* `has_mcp`: si el plugin contribuye servidores MCP1092* `has_mcp`: si el plugin contribuye servidores MCP
1090* `host_owned_mcp`: `true` cuando el host del SDK administra las conexiones MCP de este plugin y Claude Code omitió leer la configuración del servidor MCP del plugin, `false` de otra manera. Requiere Claude Code v2.1.172 o posterior1093* `host_owned_mcp`: `true` cuando el host del SDK gestiona las conexiones MCP de este plugin y Claude Code omitió leer la configuración del servidor MCP del plugin, `false` de lo contrario. Requiere Claude Code v2.1.172 o posterior
1091* `skill_path_count`: número de directorios de habilidades que declara el plugin1094* `skill_path_count`: número de directorios de habilidades que declara el plugin
1092* `command_path_count`: número de directorios de comandos que declara el plugin1095* `command_path_count`: número de directorios de comandos que declara el plugin
1093* `agent_path_count`: número de directorios de agentes que declara el plugin1096* `agent_path_count`: número de directorios de agentes que declara el plugin
1094* `safe_mode`: `"true"` cuando la sesión se inició con [`--safe-mode`](/docs/es/cli-reference), `"false"` de otra manera. En modo seguro este evento reporta solo inventario configurado; los comandos, habilidades, hooks y servidores MCP del plugin no se cargan. Requiere Claude Code v2.1.169 o posterior1097* `safe_mode`: `"true"` cuando la sesión se inició con [`--safe-mode`](/docs/es/cli-reference), `"false"` de lo contrario. En modo seguro este evento reporta solo el inventario configurado; los comandos, habilidades, hooks y servidores MCP del plugin no se cargan. Requiere Claude Code v2.1.169 o posterior
1095 1098
1096<h4 id="skill-activated-event">1099<h4 id="skill-activated-event">
1097 Evento de habilidad activada1100 Evento de habilidad activada
1099 1102
1100Se registra cuando se invoca una habilidad, ya sea que Claude la llame a través de la herramienta Skill o que la ejecute como un comando `/`.1103Se registra cuando se invoca una habilidad, ya sea que Claude la llame a través de la herramienta Skill o que la ejecute como un comando `/`.
1101 1104
1102**Nombre del Evento**: `claude_code.skill_activated`1105**Nombre del evento**: `claude_code.skill_activated`
1103 1106
1104**Atributos**:1107**Atributos**:
1105 1108
1106* Todos los [atributos estándar](#standard-attributes)1109* Todos los [atributos estándar](#standard-attributes)
1107* `event.name`: `"skill_activated"`1110* `event.name`: `"skill_activated"`
1108* `event.timestamp`: Marca de tiempo ISO 86011111* `event.timestamp`: Marca de tiempo ISO 8601
1109* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1112* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1110* `skill.name`: Nombre de la habilidad. Para habilidades definidas por el usuario y de plugin de terceros el valor es el marcador de posición `"custom_skill"` a menos que `OTEL_LOG_TOOL_DETAILS=1`1113* `skill.name`: Nombre de la habilidad. Para habilidades definidas por el usuario y de plugins de terceros el valor es el marcador de posición `"custom_skill"` a menos que `OTEL_LOG_TOOL_DETAILS=1`
1111* `invocation_trigger`: Cómo se activó la habilidad (`"user-slash"`, `"claude-proactive"`, o `"nested-skill"`)1114* `invocation_trigger`: Cómo se activó la habilidad (`"user-slash"`, `"claude-proactive"`, o `"nested-skill"`)
1112* `skill.source`: De dónde se cargó la habilidad (por ejemplo, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)1115* `skill.source`: De dónde se cargó la habilidad (por ejemplo, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)
1113* `skill.kind`: `"workflow"` cuando la habilidad es una habilidad de flujo de trabajo. Ausente de otra manera1116* `skill.kind`: `"workflow"` cuando la habilidad es una habilidad de flujo de trabajo. Ausente de lo contrario
1114* `plugin.name` (cuando `OTEL_LOG_TOOL_DETAILS=1` o el plugin es de un mercado oficial): Nombre del plugin propietario cuando la habilidad es proporcionada por un plugin1117* `plugin.name` (cuando `OTEL_LOG_TOOL_DETAILS=1` o el plugin es de un mercado oficial): Nombre del plugin propietario cuando la habilidad es proporcionada por un plugin
1115* `marketplace.name` (cuando `OTEL_LOG_TOOL_DETAILS=1` o el plugin es de un mercado oficial): Mercado desde el que se instaló el plugin propietario, cuando la habilidad es proporcionada por un plugin1118* `marketplace.name` (cuando `OTEL_LOG_TOOL_DETAILS=1` o el plugin es de un mercado oficial): Mercado desde el cual se instaló el plugin propietario, cuando la habilidad es proporcionada por un plugin
1116 1119
1117<h4 id="at-mention-event">1120<h4 id="at-mention-event">
1118 Evento de mención @1121 Evento de mención @
1119</h4>1122</h4>
1120 1123
1121Se registra cuando Claude Code resuelve una mención `@` en un mensaje. No todas las menciones emiten un evento: las rutas de salida anticipada como denegaciones de permisos, archivos de tamaño excesivo, archivos adjuntos de referencia PDF, y fallos de listado de directorios se devuelven sin registrar.1124Se registra cuando Claude Code resuelve una mención `@` en un mensaje. No todas las menciones emiten un evento: las rutas de salida temprana como denegaciones de permiso, archivos de tamaño excesivo, adjuntos de referencia PDF y fallos de listado de directorios se devuelven sin registrar.
1122 1125
1123**Nombre del Evento**: `claude_code.at_mention`1126**Nombre del evento**: `claude_code.at_mention`
1124 1127
1125**Atributos**:1128**Atributos**:
1126 1129
1127* Todos los [atributos estándar](#standard-attributes)1130* Todos los [atributos estándar](#standard-attributes)
1128* `event.name`: `"at_mention"`1131* `event.name`: `"at_mention"`
1129* `event.timestamp`: Marca de tiempo ISO 86011132* `event.timestamp`: Marca de tiempo ISO 8601
1130* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1133* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1131* `mention_type`: Tipo de mención (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). El valor `"peer"` significa que mencionó [una de sus otras sesiones de Claude Code](/docs/es/cross-session-messaging). Requiere Claude Code v2.1.232 o posterior1134* `mention_type`: Tipo de mención (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). El valor `"peer"` significa que mencionó [una de sus otras sesiones de Claude Code](/docs/es/cross-session-messaging). Requiere Claude Code v2.1.232 o posterior
1132* `success`: Si la mención se resolvió exitosamente (`"true"` o `"false"`)1135* `success`: Si la mención se resolvió exitosamente (`"true"` o `"false"`)
1133 1136
1137 1140
1138Se registra una vez cuando una solicitud de API falla después de más de un intento. Se emite junto con el evento `api_error` final.1141Se registra una vez cuando una solicitud de API falla después de más de un intento. Se emite junto con el evento `api_error` final.
1139 1142
1140**Nombre del Evento**: `claude_code.api_retries_exhausted`1143**Nombre del evento**: `claude_code.api_retries_exhausted`
1141 1144
1142**Atributos**:1145**Atributos**:
1143 1146
1144* Todos los [atributos estándar](#standard-attributes)1147* Todos los [atributos estándar](#standard-attributes)
1145* `event.name`: `"api_retries_exhausted"`1148* `event.name`: `"api_retries_exhausted"`
1146* `event.timestamp`: Marca de tiempo ISO 86011149* `event.timestamp`: Marca de tiempo ISO 8601
1147* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1150* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1148* `model`: Modelo utilizado1151* `model`: Modelo utilizado
1149* `error`: Mensaje de error final1152* `error`: Mensaje de error final
1150* `status_code`: Código de estado HTTP como número. Ausente para errores no HTTP.1153* `status_code`: Código de estado HTTP como número. Ausente para errores no HTTP.
1151* `total_attempts`: Número total de intentos realizados1154* `total_attempts`: Número total de intentos realizados
1152* `total_retry_duration_ms`: Tiempo total de pared en todos los intentos1155* `total_retry_duration_ms`: Tiempo total de reloj de pared en todos los intentos
1153* `speed`: `"fast"` o `"normal"`1156* `speed`: `"fast"` o `"normal"`
1154 1157
1155<h4 id="hook-registered-event">1158<h4 id="hook-registered-event">
1156 Evento de hook registrado1159 Evento de hook registrado
1157</h4>1160</h4>
1158 1161
1159Se registra una vez por hook configurado al inicio de la sesión. Use este evento para inventariar qué hooks están activos en su flota, como complemento a los eventos `hook_execution_start` y `hook_execution_complete` por ejecución.1162Se registra una vez por hook configurado al inicio de la sesión. Use este evento para inventariar qué hooks están activos en su flota, como complemento a los eventos por ejecución `hook_execution_start` y `hook_execution_complete`.
1160 1163
1161**Nombre del Evento**: `claude_code.hook_registered`1164**Nombre del evento**: `claude_code.hook_registered`
1162 1165
1163**Atributos**:1166**Atributos**:
1164 1167
1165* Todos los [atributos estándar](#standard-attributes)1168* Todos los [atributos estándar](#standard-attributes)
1166* `event.name`: `"hook_registered"`1169* `event.name`: `"hook_registered"`
1167* `event.timestamp`: Marca de tiempo ISO 86011170* `event.timestamp`: Marca de tiempo ISO 8601
1168* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1171* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1169* `hook_event`: tipo de evento de hook, como `"PreToolUse"` o `"PostToolUse"`1172* `hook_event`: tipo de evento de hook, como `"PreToolUse"` o `"PostToolUse"`
1170* `hook_type`: tipo de implementación de hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, o `"agent"`1173* `hook_type`: tipo de implementación de hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, o `"agent"`
1171* `hook_source`: dónde se define el hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, o `"pluginHook"`1174* `hook_source`: dónde se define el hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, o `"pluginHook"`
1172* `safe_mode`: `"true"` cuando la sesión se inició con [`--safe-mode`](/docs/es/cli-reference), `"false"` de otra manera. Requiere Claude Code v2.1.169 o posterior1175* `safe_mode`: `"true"` cuando la sesión se inició con [`--safe-mode`](/docs/es/cli-reference), `"false"` de lo contrario. Requiere Claude Code v2.1.169 o posterior
1173* `hook_matcher` (cuando `OTEL_LOG_TOOL_DETAILS=1`): la cadena de coincidencia de la configuración del hook, cuando se establece una1176* `hook_matcher` (cuando `OTEL_LOG_TOOL_DETAILS=1`): la cadena de coincidencia de la configuración del hook, cuando se establece
1174* `plugin.name` (cuando `hook_source` es `"pluginHook"`): nombre del plugin contribuyente. Para plugins fuera del mercado oficial y paquete integrado el valor es `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1`1177* `plugin.name` (cuando `hook_source` es `"pluginHook"`): nombre del plugin contribuyente. Para plugins fuera del mercado oficial y paquete integrado el valor es `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1`
1175* `plugin_id_hash` (cuando `hook_source` es `"pluginHook"`): hash determinista del nombre del plugin y mercado, enviado solo a su exportador configurado. Le permite contar plugins contribuyentes distintos sin registrar sus nombres. Claude Code lo calcula como se describe en el [evento de plugin cargado](#plugin-loaded-event)1178* `plugin_id_hash` (cuando `hook_source` es `"pluginHook"`): hash determinista del nombre del plugin y mercado, enviado solo a su exportador configurado. Le permite contar plugins contribuyentes distintos sin registrar sus nombres. Claude Code lo calcula como se describe en el [evento de plugin cargado](#plugin-loaded-event)
1176 1179
1180 1183
1181Se registra cuando uno o más hooks comienzan a ejecutarse para un evento de hook.1184Se registra cuando uno o más hooks comienzan a ejecutarse para un evento de hook.
1182 1185
1183**Nombre del Evento**: `claude_code.hook_execution_start`1186**Nombre del evento**: `claude_code.hook_execution_start`
1184 1187
1185**Atributos**:1188**Atributos**:
1186 1189
1187* Todos los [atributos estándar](#standard-attributes)1190* Todos los [atributos estándar](#standard-attributes)
1188* `event.name`: `"hook_execution_start"`1191* `event.name`: `"hook_execution_start"`
1189* `event.timestamp`: Marca de tiempo ISO 86011192* `event.timestamp`: Marca de tiempo ISO 8601
1190* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1193* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1191* `hook_event`: Tipo de evento de hook, como `"PreToolUse"` o `"PostToolUse"`1194* `hook_event`: Tipo de evento de hook, como `"PreToolUse"` o `"PostToolUse"`
1192* `hook_name`: Nombre completo del hook incluyendo coincidencia, como `"PreToolUse:Write"`1195* `hook_name`: Nombre completo del hook incluida la coincidencia, como `"PreToolUse:Write"`
1193* `num_hooks`: Número de comandos de hook coincidentes1196* `num_hooks`: Número de comandos de hook coincidentes
1194* `managed_only`: `"true"` cuando solo se permiten hooks de política administrada1197* `managed_only`: `"true"` cuando solo se permiten hooks de política gestionada
1195* `hook_source`: `"policySettings"` o `"merged"`1198* `hook_source`: `"policySettings"` o `"merged"`
1196* `safe_mode`: `"true"` cuando la sesión se inició con [`--safe-mode`](/docs/es/cli-reference), `"false"` de otra manera. Requiere Claude Code v2.1.169 o posterior1199* `safe_mode`: `"true"` cuando la sesión se inició con [`--safe-mode`](/docs/es/cli-reference), `"false"` de lo contrario. Requiere Claude Code v2.1.169 o posterior
1197* `hook_definitions`: Configuración de hook serializada en JSON. Se incluye solo cuando tanto el trazado beta detallado como `OTEL_LOG_TOOL_DETAILS=1` están habilitados1200* `hook_definitions`: Configuración de hook serializada en JSON. Se incluye solo cuando tanto el rastreo beta detallado como `OTEL_LOG_TOOL_DETAILS=1` están habilitados
1198 1201
1199<h4 id="hook-execution-complete-event">1202<h4 id="hook-execution-complete-event">
1200 Evento de ejecución de hook completado1203 Evento de finalización de ejecución de hook
1201</h4>1204</h4>
1202 1205
1203Se registra cuando todos los hooks para un evento de hook han terminado.1206Se registra cuando todos los hooks para un evento de hook han terminado.
1204 1207
1205**Nombre del Evento**: `claude_code.hook_execution_complete`1208**Nombre del evento**: `claude_code.hook_execution_complete`
1206 1209
1207**Atributos**:1210**Atributos**:
1208 1211
1209* Todos los [atributos estándar](#standard-attributes)1212* Todos los [atributos estándar](#standard-attributes)
1210* `event.name`: `"hook_execution_complete"`1213* `event.name`: `"hook_execution_complete"`
1211* `event.timestamp`: Marca de tiempo ISO 86011214* `event.timestamp`: Marca de tiempo ISO 8601
1212* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1215* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1213* `hook_event`: Tipo de evento de hook1216* `hook_event`: Tipo de evento de hook
1214* `hook_name`: Nombre completo del hook incluyendo coincidencia1217* `hook_name`: Nombre completo del hook incluida la coincidencia
1215* `num_hooks`: Número de comandos de hook coincidentes1218* `num_hooks`: Número de comandos de hook coincidentes
1216* `num_success`: Recuento que se completó exitosamente1219* `num_success`: Conteo que se completó exitosamente
1217* `num_blocking`: Recuento que devolvió una decisión de bloqueo1220* `num_blocking`: Conteo que devolvió una decisión de bloqueo
1218* `num_non_blocking_error`: Recuento que falló sin bloquear1221* `num_non_blocking_error`: Conteo que falló sin bloquear
1219* `num_cancelled`: Recuento cancelado antes de completarse1222* `num_cancelled`: Conteo cancelado antes de completarse
1220* `total_duration_ms`: Duración de pared de todos los hooks coincidentes1223* `total_duration_ms`: Duración de reloj de pared de todos los hooks coincidentes
1221* `managed_only`: `"true"` cuando solo se permiten hooks de política administrada1224* `managed_only`: `"true"` cuando solo se permiten hooks de política gestionada
1222* `hook_source`: `"policySettings"` o `"merged"`1225* `hook_source`: `"policySettings"` o `"merged"`
1223* `safe_mode`: `"true"` cuando la sesión se inició con [`--safe-mode`](/docs/es/cli-reference), `"false"` de otra manera. Requiere Claude Code v2.1.169 o posterior1226* `safe_mode`: `"true"` cuando la sesión se inició con [`--safe-mode`](/docs/es/cli-reference), `"false"` de lo contrario. Requiere Claude Code v2.1.169 o posterior
1224* `hook_definitions`: Configuración de hook serializada en JSON. Se incluye solo cuando tanto el trazado beta detallado como `OTEL_LOG_TOOL_DETAILS=1` están habilitados1227* `hook_definitions`: Configuración de hook serializada en JSON. Se incluye solo cuando tanto el rastreo beta detallado como `OTEL_LOG_TOOL_DETAILS=1` están habilitados
1225 1228
1226<h4 id="hook-plugin-metrics-event">1229<h4 id="hook-plugin-metrics-event">
1227 Evento de métricas de plugin de hook1230 Evento de métricas de plugin de hook
1229 1232
1230Se registra cuando un hook de plugin del mercado oficial emite métricas por invocación. Solo los plugins instalados desde un mercado oficial de Anthropic pueden emitir estos. Los plugins de mercado de terceros y los hooks configurados por el usuario no emiten a este evento. Use este evento para monitorear el comportamiento del plugin como tasas de búsqueda, costos y duraciones desde su propia pila de observabilidad.1233Se registra cuando un hook de plugin del mercado oficial emite métricas por invocación. Solo los plugins instalados desde un mercado oficial de Anthropic pueden emitir estos. Los plugins de mercado de terceros y los hooks configurados por el usuario no emiten a este evento. Use este evento para monitorear el comportamiento del plugin como tasas de búsqueda, costos y duraciones desde su propia pila de observabilidad.
1231 1234
1232**Nombre del Evento**: `claude_code.hook_plugin_metrics`1235**Nombre del evento**: `claude_code.hook_plugin_metrics`
1233 1236
1234**Atributos**:1237**Atributos**:
1235 1238
1236* Todos los [atributos estándar](#standard-attributes)1239* Todos los [atributos estándar](#standard-attributes)
1237* `event.name`: `"hook_plugin_metrics"`1240* `event.name`: `"hook_plugin_metrics"`
1238* `event.timestamp`: Marca de tiempo ISO 86011241* `event.timestamp`: Marca de tiempo ISO 8601
1239* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1242* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1240* `plugin_id`: identificador del plugin en forma `<name>@<marketplace>`1243* `plugin_id`: identificador del plugin en forma `<name>@<marketplace>`
1241* `hook_event`: tipo de evento de hook que emitió las métricas1244* `hook_event`: tipo de evento de hook que emitió las métricas
1242* Hasta 20 claves de métricas emitidas por el plugin. Los nombres coinciden con `^[a-z][a-z0-9_]{0,39}$`. Los valores son booleanos o números.1245* Hasta 20 claves de métrica emitidas por el plugin. Los nombres coinciden con `^[a-z][a-z0-9_]{0,39}$`. Los valores son booleanos o números.
1243 1246
1244<h4 id="compaction-event">1247<h4 id="compaction-event">
1245 Evento de compactación1248 Evento de compactación
1247 1250
1248Se registra cuando la compactación de conversación se completa.1251Se registra cuando la compactación de conversación se completa.
1249 1252
1250**Nombre del Evento**: `claude_code.compaction`1253**Nombre del evento**: `claude_code.compaction`
1251 1254
1252**Atributos**:1255**Atributos**:
1253 1256
1254* Todos los [atributos estándar](#standard-attributes)1257* Todos los [atributos estándar](#standard-attributes)
1255* `event.name`: `"compaction"`1258* `event.name`: `"compaction"`
1256* `event.timestamp`: Marca de tiempo ISO 86011259* `event.timestamp`: Marca de tiempo ISO 8601
1257* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1260* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1258* `trigger`: `"auto"` o `"manual"`1261* `trigger`: `"auto"` o `"manual"`
1259* `success`: `"true"` o `"false"`1262* `success`: `"true"` o `"false"`
1260* `duration_ms`: Duración de compactación1263* `duration_ms`: Duración de la compactación
1261* `pre_tokens`: Recuento aproximado de tokens antes de compactación1264* `pre_tokens`: Conteo aproximado de tokens antes de la compactación
1262* `post_tokens`: Recuento aproximado de tokens después de compactación1265* `post_tokens`: Conteo aproximado de tokens después de la compactación
1263* `error`: Mensaje de error cuando la compactación falló1266* `error`: Mensaje de error cuando la compactación falló
1264* `precompute_reuse`: Solo se establece cuando `trigger` es `"manual"`. La compactación automática puede preparar un resumen en segundo plano antes de que se llene la ventana de contexto, y este atributo registra si `/compact` reutilizó ese resumen preparado. `"hit"` significa que se reutilizó; `"miss_custom_instructions"`, `"miss_hook"`, y `"miss_not_ready"` dan la razón por la que se calculó un resumen fresco en su lugar. Requiere Claude Code v2.1.153 o posterior1267* `precompute_reuse`: Solo se establece cuando `trigger` es `"manual"`. La compactación automática puede preparar un resumen en el fondo antes de que la ventana de contexto se llene, y este atributo registra si `/compact` reutilizó ese resumen preparado. `"hit"` significa que se reutilizó; `"miss_custom_instructions"`, `"miss_hook"`, y `"miss_not_ready"` dan la razón por la que se calculó un resumen fresco en su lugar. Requiere Claude Code v2.1.153 o posterior
1265 1268
1266<h4 id="subagent-completed-event">1269<h4 id="subagent-completed-event">
1267 Evento de subagente completado1270 Evento de subagente completado
1268</h4>1271</h4>
1269 1272
1270Se registra cuando un [subagente](/docs/es/sub-agents) termina y devuelve su resultado a la conversación que lo inició. Úselo para acumular uso de herramientas y tiempo de ejecución por tipo de subagente; para acumulaciones de tokens o costo, use el [contador de tokens](#token-counter) y [contador de costo](#cost-counter) filtrados a `query_source` `"subagent"`, ya que el `total_tokens` de este evento cubre solo la solicitud final. La categoría `"subagent"` también cuenta solicitudes de hooks basados en agentes, que no emiten evento de subagente.1273Se registra cuando un [subagente](/docs/es/sub-agents) termina y devuelve su resultado a la conversación que lo inició. Úselo para acumular el uso de herramientas y tiempo de ejecución por tipo de subagente; para acumulaciones de tokens o costo, use el [contador de tokens](#token-counter) y [contador de costo](#cost-counter) filtrados a `query_source` `"subagent"`, ya que el `total_tokens` de este evento cubre solo la solicitud final. La categoría `"subagent"` también cuenta solicitudes de hooks basados en agentes, que no emiten evento de subagente.
1271 1274
1272**Nombre del Evento**: `claude_code.subagent_completed`1275**Nombre del evento**: `claude_code.subagent_completed`
1273 1276
1274**Atributos**:1277**Atributos**:
1275 1278
1276* Todos los [atributos estándar](#standard-attributes)1279* Todos los [atributos estándar](#standard-attributes)
1277* `event.name`: `"subagent_completed"`1280* `event.name`: `"subagent_completed"`
1278* `event.timestamp`: Marca de tiempo ISO 86011281* `event.timestamp`: Marca de tiempo ISO 8601
1279* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1282* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1280* `agent_type`: El tipo de subagente. Los nombres de agentes integrados y de plugins del mercado oficial aparecen tal cual; otros nombres de agentes se reemplazan con `"custom"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esté establecido1283* `agent_type`: El tipo de subagente. Los nombres de agentes integrados y los agentes de plugins del mercado oficial aparecen literalmente; otros nombres de agentes se reemplazan con `"custom"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esté establecido
1281* `agent.source`: De dónde vino la definición del agente: `built-in`, `plugin`, o la fuente de configuración que definió un agente personalizado, como `userSettings` o `projectSettings`1284* `agent.source`: De dónde vino la definición del agente: `built-in`, `plugin`, o la fuente de configuración que definió un agente personalizado, como `userSettings` o `projectSettings`
1282* `is_built_in`: Si el subagente es un tipo de agente integrado1285* `is_built_in`: Si el subagente es un tipo de agente integrado
1283* `is_async`: Si el subagente se ejecutó en [segundo plano](/docs/es/sub-agents#run-subagents-in-foreground-or-background)1286* `is_async`: Si el subagente se ejecutó en [segundo plano](/docs/es/sub-agents#run-subagents-in-foreground-or-background)
1284* `total_tokens`: La huella de tokens de la solicitud de API final del subagente: esa única solicitud de tokens de entrada, creación de caché, lectura de caché y salida, aproximadamente el tamaño de contexto del subagente al completarse. No es una suma en toda la ejecución1287* `total_tokens`: La huella de tokens de la solicitud de API final del subagente: esa solicitud única de entrada, creación de caché, lectura de caché y tokens de salida, aproximadamente el tamaño de contexto del subagente al completarse. No es una suma en toda la ejecución
1285* `total_tool_uses`: Número de llamadas de herramienta que el subagente realizó en toda la ejecución1288* `total_tool_uses`: Número de llamadas de herramienta que realizó el subagente en toda la ejecución
1286* `duration_ms`: Tiempo de ejecución en milisegundos1289* `duration_ms`: Tiempo de ejecución en milisegundos
1287* `model`: El modelo en el que se resolvió el subagente para ejecutarse1290* `model`: El modelo en el que se resolvió el subagente para ejecutarse
1288* `final_model`: El modelo que produjo la respuesta final del subagente, que difiere de `model` después de un cambio a mitad de ejecución como un fallback. Requiere Claude Code v2.1.212 o posterior1291* `final_model`: El modelo que produjo la respuesta final del subagente, que difiere de `model` después de un cambio a mitad de ejecución como una alternativa. Requiere Claude Code v2.1.212 o posterior
1289* `model_swapped`: Si más de un modelo sirvió las solicitudes del subagente. Requiere Claude Code v2.1.212 o posterior1292* `model_swapped`: Si más de un modelo sirvió las solicitudes del subagente. Requiere Claude Code v2.1.212 o posterior
1290* `plugin_id_hash`, `plugin.name`: Presente para agentes proporcionados por plugins. Los nombres de plugins del mercado oficial aparecen tal cual; otros nombres de plugins se reemplazan con `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esté establecido1293* `plugin_id_hash`, `plugin.name`: Presente para agentes proporcionados por plugins. Los nombres de plugins del mercado oficial aparecen literalmente; otros nombres de plugins se reemplazan con `"third-party"` a menos que `OTEL_LOG_TOOL_DETAILS=1` esté establecido
1291 1294
1292<h4 id="feedback-survey-event">1295<h4 id="feedback-survey-event">
1293 Evento de encuesta de retroalimentación1296 Evento de encuesta de retroalimentación
1294</h4>1297</h4>
1295 1298
1296Se registra cuando se muestra una encuesta de calidad de sesión o se responde. Consulte [Encuestas de calidad de sesión](/docs/es/data-usage#session-quality-surveys) para saber qué recopilan las encuestas y cómo controlarlas.1299Se registra cuando se muestra o se responde una encuesta de calidad de sesión. Consulte [Encuestas de calidad de sesión](/docs/es/data-usage#session-quality-surveys) para ver qué recopilan las encuestas y cómo controlarlas.
1297 1300
1298**Nombre del Evento**: `claude_code.feedback_survey`1301**Nombre del evento**: `claude_code.feedback_survey`
1299 1302
1300**Atributos**:1303**Atributos**:
1301 1304
1302* Todos los [atributos estándar](#standard-attributes)1305* Todos los [atributos estándar](#standard-attributes)
1303* `event.name`: `"feedback_survey"`1306* `event.name`: `"feedback_survey"`
1304* `event.timestamp`: Marca de tiempo ISO 86011307* `event.timestamp`: Marca de tiempo ISO 8601
1305* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1308* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1306* `event_type`: Evento del ciclo de vida de la encuesta, por ejemplo `"appeared"`, `"responded"`, o `"transcript_prompt_appeared"`1309* `event_type`: Evento del ciclo de vida de la encuesta, por ejemplo `"appeared"`, `"responded"`, o `"transcript_prompt_appeared"`
1307* `appearance_id`: ID único que vincula los eventos emitidos para una instancia de encuesta1310* `appearance_id`: ID único que vincula los eventos emitidos para una instancia de encuesta
1308* `survey_type`: Qué encuesta produjo el evento. `"session"` es el mensaje de calificación "¿Cómo está Claude?"1311* `survey_type`: Qué encuesta produjo el evento. `"session"` es el mensaje de calificación "¿Cómo está Claude?"
1313 Evento de barrido de retención1316 Evento de barrido de retención
1314</h4>1317</h4>
1315 1318
1316Se registra una vez por ejecución del barrido de limpieza de retención, que elimina [transcripciones de sesión y otros datos de aplicación](/docs/es/claude-directory#cleaned-up-automatically) más antiguos que la configuración [`cleanupPeriodDays`](/docs/es/settings-reference#cleanupperioddays). Claude Code ejecuta el barrido en segundo plano como máximo una vez por sesión, y una ejecución que no elimina nada aún emite el evento. Si Claude Code ejecutó el barrido en cualquier sesión en la misma máquina en las últimas 24 horas, retrasa el barrido de esta sesión al menos 10 minutos, por lo que una sesión que sale antes emite nada. Cuando ejecuta `claude -p` con `--bare`, Claude Code no ejecuta el barrido y no emite nada.1319Se registra una vez por ejecución del barrido de limpieza de retención, que elimina [transcripciones de sesión y otros datos de aplicación](/docs/es/claude-directory#cleaned-up-automatically) más antiguos que la configuración [`cleanupPeriodDays`](/docs/es/settings-reference#cleanupperioddays). Claude Code ejecuta el barrido en el fondo como máximo una vez por sesión, y una ejecución que no elimina nada aún emite el evento. Si Claude Code ejecutó el barrido en cualquier sesión en la misma máquina en las últimas 24 horas, retrasa el barrido de esta sesión al menos 10 minutos, por lo que una sesión que sale antes no emite nada. Cuando ejecuta `claude -p` con `--bare`, Claude Code no ejecuta el barrido y no emite nada.
1317 1320
1318Como cada evento OTel en esta página, solo va al backend de telemetría que configura. Requiere Claude Code v2.1.227 o posterior.1321Como todos los eventos OTel en esta página, solo va al backend de telemetría que configura. Requiere Claude Code v2.1.227 o posterior.
1319 1322
1320Cuando Claude Code no puede determinar de forma segura el período de retención, pausa el barrido y emite el evento con `result` establecido en `"skipped"` y una `skip_reason`. Cuando [configuración administrada](/docs/es/server-managed-settings) establece `cleanupPeriodDays`, el valor administrado fija el período de retención y el barrido se ejecuta incluso cuando un archivo de configuración en un alcance de prioridad más baja está roto o es inválido. Cuando `managed-settings.json` en sí no se puede leer, Claude Code aún pausa el barrido a menos que el [nivel administrado](/docs/es/managed-settings#how-claude-code-combines-managed-sources) suministre `cleanupPeriodDays` desde otro lugar, como configuración administrada por servidor o una caída en `managed-settings.d/` junto al archivo roto. Los atributos del contador de eliminación están presentes solo cuando `result` es `"complete"`.1323Cuando Claude Code no puede determinar de forma segura el período de retención, pausa el barrido y emite el evento con `result` establecido en `"skipped"` y un `skip_reason`. Cuando [configuración gestionada](/docs/es/server-managed-settings) establece `cleanupPeriodDays`, el valor gestionado fija el período de retención y el barrido se ejecuta incluso cuando un archivo de configuración en un alcance de prioridad más baja está roto o es inválido. Cuando `managed-settings.json` en sí no se puede leer, Claude Code aún pausa el barrido a menos que el [nivel gestionado](/docs/es/managed-settings#how-claude-code-combines-managed-sources) suministre `cleanupPeriodDays` desde otro lugar, como configuración gestionada por servidor o un drop-in `managed-settings.d/` junto al archivo roto. Los atributos del contador de eliminación están presentes solo cuando `result` es `"complete"`.
1321 1324
1322**Nombre del Evento**: `claude_code.retention_sweep`1325**Nombre del evento**: `claude_code.retention_sweep`
1323 1326
1324**Atributos**:1327**Atributos**:
1325 1328
1326* Todos los [atributos estándar](#standard-attributes)1329* Todos los [atributos estándar](#standard-attributes)
1327* `event.name`: `"retention_sweep"`1330* `event.name`: `"retention_sweep"`
1328* `event.timestamp`: Marca de tiempo ISO 86011331* `event.timestamp`: Marca de tiempo ISO 8601
1329* `event.sequence`: Contador basado en procesos para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)1332* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1330* `result`: `"complete"` cuando el barrido se ejecutó, `"skipped"` cuando Claude Code lo pausó1333* `result`: `"complete"` cuando el barrido se ejecutó, `"skipped"` cuando Claude Code lo pausó
1331* `period_days`: El valor `cleanupPeriodDays` de la configuración fusionada, en días, o `30` cuando ninguna fuente lo establece. En eventos omitidos, el valor que el barrido habría usado, calculado a partir de las fuentes de configuración que Claude Code pudo leer1334* `period_days`: El valor `cleanupPeriodDays` de la configuración fusionada, en días, o `30` cuando ninguna fuente lo establece. En eventos omitidos, el valor que el barrido habría utilizado, calculado a partir de las fuentes de configuración que Claude Code pudo leer
1332* `used_default`: `"true"` cuando ninguna fuente de configuración legible establece `cleanupPeriodDays`, `"false"` de otra manera. En eventos completados, `"true"` significa que se aplicó el predeterminado de 30 días1335* `used_default`: `"true"` cuando ninguna fuente de configuración legible establece `cleanupPeriodDays`, `"false"` de lo contrario. En eventos completos, `"true"` significa que se aplicó el predeterminado de 30 días
1333* `skip_reason`: Por qué Claude Code pausó el barrido. Presente solo cuando `result` es `"skipped"`:1336* `skip_reason`: Por qué Claude Code pausó el barrido. Presente solo cuando `result` es `"skipped"`:
1334 * `"user_source_disabled"`: La configuración del usuario está excluida, por ejemplo por la bandera [`--setting-sources`](/docs/es/cli-reference#cli-flags) o la opción [`settingSources`](/docs/es/agent-sdk/typescript#options) del SDK, y ninguna fuente habilitada proporciona `cleanupPeriodDays`1337 * `"user_source_disabled"`: La configuración del usuario está excluida, por ejemplo por la bandera [`--setting-sources`](/docs/es/cli-reference#cli-flags) o la opción [`settingSources`](/docs/es/agent-sdk/typescript#options) del SDK, y ninguna fuente habilitada proporciona `cleanupPeriodDays`
1335 * `"settings_unknowable"`: Un archivo de configuración no se pudo leer o analizar, por lo que `cleanupPeriodDays` o `desktopSessionCleanupPeriodDays` puede estar establecido en un valor que Claude Code no puede ver1338 * `"settings_unknowable"`: Un archivo de configuración no se pudo leer o analizar, por lo que `cleanupPeriodDays` o `desktopSessionCleanupPeriodDays` pueden estar establecidos en un valor que Claude Code no puede ver
1336 * `"settings_invalid_key_set"`: La configuración tiene errores de validación y `cleanupPeriodDays` o `desktopSessionCleanupPeriodDays` está explícitamente establecido, por lo que recurrir al predeterminado podría eliminar o mantener archivos contra esa configuración1339 * `"settings_invalid_key_set"`: La configuración tiene errores de validación y `cleanupPeriodDays` o `desktopSessionCleanupPeriodDays` está explícitamente establecido, por lo que recurrir al predeterminado podría eliminar o mantener archivos contra esa configuración
1337* `transcripts_deleted`: Número de transcripciones de sesión, los archivos de nivel superior `~/.claude/projects/*/*.jsonl`, que el barrido eliminó1340* `transcripts_deleted`: Número de transcripciones de sesión, los archivos de nivel superior `~/.claude/projects/*/*.jsonl`, que el barrido eliminó
1338* `transcripts_exempted_desktop`: Número de transcripciones pasadas el período de retención que el barrido mantuvo bajo la [regla de Claude Desktop y Cowork](/docs/es/claude-directory#cleaned-up-automatically). Estos no cuentan hacia `files_past_cutoff`. Requiere Claude Code v2.1.248 o posterior1341* `transcripts_exempted_desktop`: Número de transcripciones pasadas el período de retención que el barrido mantuvo bajo la [regla de Claude Desktop y Cowork](/docs/es/claude-directory#cleaned-up-automatically). Estos no cuentan hacia `files_past_cutoff`. Requiere Claude Code v2.1.248 o posterior
1339* `session_files_deleted`: Número de artefactos que el barrido de archivos de sesión eliminó: transcripciones más archivos complementarios por sesión como sidecars, grabaciones y resultados de herramientas1342* `session_files_deleted`: Número de artefactos que el barrido de archivos de sesión eliminó: transcripciones más archivos complementarios por sesión como barras laterales, grabaciones y resultados de herramientas
1340* `artifacts_deleted`: Total de elementos que el barrido eliminó en todos los directorios de datos que cubre, incluyendo los archivos de sesión. Algunos barridos cuentan un árbol de directorios completamente eliminado como un elemento y algunos pases de limpieza no contribuyen al contador, por lo que trate el valor como un piso en lugar de un recuento exacto de archivos1343* `artifacts_deleted`: Total de elementos que el barrido eliminó en todos los directorios de datos que cubre, incluidos los archivos de sesión. Algunos barridos cuentan un árbol de directorios completo eliminado como un elemento y algunos pases de limpieza no contribuyen al contador, por lo que trate el valor como un piso en lugar de un conteo exacto de archivos
1341* `files_retained_fresh`: Archivos inspeccionados y dejados en su lugar porque aún están dentro del período de retención. Solo los barridos por archivo cuentan estos, por lo que el valor es un piso; un valor distinto de cero es el estado normal de estado estable1344* `files_retained_fresh`: Archivos inspeccionados y dejados en su lugar porque aún están dentro del período de retención. Solo los barridos por archivo cuentan estos, por lo que el valor es un piso; un valor distinto de cero es el estado estable normal
1342* `files_past_cutoff`: Archivos más antiguos que el período de retención que el barrido no pudo eliminar, por ejemplo debido a un error de permiso o un archivo mantenido abierto. Un valor superior a cero significa que los archivos sobrevivieron al período de retención configurado; cero no es prueba de que ninguno lo hizo, porque una eliminación fallida de un directorio completo cuenta hacia `error_count` en su lugar1345* `files_past_cutoff`: Archivos más antiguos que el período de retención que el barrido no pudo eliminar, por ejemplo debido a un error de permiso o un archivo mantenido abierto. Un valor superior a cero significa que los archivos sobrevivieron al período de retención configurado; cero no es prueba de que ninguno lo hizo, porque una eliminación fallida de un directorio completo cuenta hacia `error_count` en su lugar
1343* `error_count`: Número de errores que el barrido encontró mientras enumeraba o eliminaba archivos1346* `error_count`: Número de errores que el barrido encontró mientras listaba o eliminaba archivos
1347
1348<h4 id="managed-settings-resolved-event">
1349 Evento de configuración gestionada resuelta
1350</h4>
1351
1352Se registra con la [configuración gestionada](/docs/es/managed-settings) que una sesión resolvió: una vez al inicio de la sesión, nuevamente cuando la configuración gestionada o el [asistente de política](/docs/es/managed-settings#compute-the-policy-with-a-helper-program) cambia de estado durante la sesión, y cuando Claude Code se niega a iniciar o termina la sesión por una de las razones que el atributo `error.type` lista.
1353Use este evento para encontrar máquinas ejecutándose en una fuente gestionada inesperada, máquinas cuyo asistente de política está fallando, y la razón por la que una máquina se negó a iniciar.
1354Requiere Claude Code v2.1.274 o posterior.
1355
1356Por defecto, el evento lleva las fuentes gestionadas y el estado del asistente de política pero no la configuración en sí. Para agregar el atributo `managed_settings.settings` redactado y el resumen `managed_settings.resolved_sha256`, establezca `OTEL_LOG_MANAGED_SETTINGS=1`:
1357
1358* Establézcalo en el bloque `env` de configuración gestionada, configuración del usuario, o `--settings`, o en el entorno con el que inicia Claude Code. Un valor en configuración de proyecto o local no lo activa, porque un repositorio clonado puede escribirlos.
1359* La configuración gestionada por servidor puede establecerlo sin mostrar el [diálogo de aprobación de seguridad](/docs/es/server-managed-settings#security-approval-dialogs), porque la variable solo agrega su propia política redactada de la organización a un evento que su organización ya recibe.
1360
1361En una sesión interactiva en una carpeta que no ha [confiado](/docs/es/permissions#what-runs-before-you-trust-a-folder), Claude Code no exporta el evento de rechazo, porque la configuración de proyecto y local podría apuntar la exportación a un recopilador diferente antes de confiar.
1362
1363**Nombre del evento**: `claude_code.managed_settings_resolved`
1364
1365**Atributos**:
1366
1367* Todos los [atributos estándar](#standard-attributes)
1368* `event.name`: `"managed_settings_resolved"`
1369* `event.timestamp`: Marca de tiempo ISO 8601
1370* `event.sequence`: contador por proceso para ordenar eventos, descrito en [Atributos de correlación de eventos](#event-correlation-attributes)
1371* `managed_settings.trigger`: `"startup"` para el evento de inicio de sesión, `"change"` cuando la configuración gestionada o el estado del asistente de política cambió más tarde en la sesión, o `"refused"` cuando una política de configuración gestionada detuvo la sesión. Claude Code envía un evento `change` solo cuando un atributo difiere del último evento que envió, y un valor de configuración cambiado cuenta incluso cuando `OTEL_LOG_MANAGED_SETTINGS` está desactivado
1372* `error.type`: por qué Claude Code detuvo la sesión. Presente solo en eventos `refused`:
1373 * `"helper_failed"`: una [ejecución del asistente de política falló](/docs/es/settings-reference#helper-failures)
1374 * `"policy_invalid"`: la configuración gestionada contiene un error que detiene a Claude Code de iniciar, o una fuente de administrador no se pudo cargar, por lo que Claude Code no puede verificar la aplicación de inicio de sesión de la organización
1375 * `"consent_rejected"`: el usuario rechazó el [diálogo de aprobación de seguridad](/docs/es/server-managed-settings#security-approval-dialogs) para configuración gestionada por servidor
1376 * `"force_refresh_failed"`: la búsqueda de configuración que [`forceRemoteSettingsRefresh`](/docs/es/settings-reference#forceremotesettingsrefresh) requiere falló
1377 * `"gateway_rejected"`: una [puerta de enlace de aplicaciones Claude](/docs/es/claude-apps-gateway) respondió a la carga de configuración gestionada con HTTP 403
1378 * `"version_below_minimum"`: esta versión de Claude Code está por debajo de [`requiredMinimumVersion`](/docs/es/settings-reference#requiredminimumversion) o por encima de [`requiredMaximumVersion`](/docs/es/settings-reference#requiredmaximumversion)
1379 * `"_OTHER"`: la carga de configuración gestionada de la puerta de enlace de aplicaciones Claude falló por otra razón
1380* `managed_settings.sources`: cada fuente gestionada que entrega al menos una [clave de política](/docs/es/managed-settings#how-claude-code-combines-managed-sources), prioridad más alta primero, incluidas fuentes cuyas claves no tienen efecto bajo `first-wins`. Los valores son `"remote"`, `"plist"` o `"hklm"` para la política de MDM o nivel de SO, `"file"` para archivos de configuración gestionada y drop-ins, `"parent"` cuando un [host de incrustación](/docs/es/managed-settings#let-an-embedding-host-add-policy) suministra configuración, y `"hkcu"` para el [valor del registro HKCU de Windows](/docs/es/managed-settings#where-each-mechanism-stores-the-policy) cuando Claude Code lo [lee](/docs/es/managed-settings#how-claude-code-combines-managed-sources). Una fuente que lleva solo claves de control, o que Claude Code no pudo leer, no está listada. Se emite como una matriz de cadenas, vacía cuando ninguna fuente gestionada entrega una clave de política
1381* `managed_settings.source_behavior`: el valor [`managedSourcesBehavior`](/docs/es/settings-reference#managedsourcesbehavior) que Claude Code leyó, `"first-wins"` o `"merge"`. `"first-wins"` cuando ninguna fuente establece la clave
1382* `managed_settings.helper.state`: estado del asistente de política que la fuente de MDM o archivo seleccionada configura:
1383 * `"ok"`: la salida del asistente sirve como la configuración gestionada
1384 * `"bad_path"`, `"not_a_file"`, `"exit_nonzero"`, `"timed_out"`, `"oversize"`, `"parse_failed"`, `"envelope_invalid"`, o `"schema_rejected"`: la última ejecución del asistente falló. [Fallos del asistente](/docs/es/settings-reference#helper-failures) describe los casos
1385 * `"none"`: ningún asistente está configurado, o la fuente que lo configura no es una política de MDM o archivo de configuración gestionada
1386* `managed_settings.helper.applied`: `"output"` mientras la salida propia del asistente sirve como la configuración gestionada, `"none"` cuando no lo hace
1387* `managed_settings.helper.entry`: `"policyHelper"` cuando Claude Code seleccionó un [`policyHelper`](/docs/es/settings-reference#policyhelper). Ausente cuando no seleccionó ningún asistente.
1388* `managed_settings.helper.path`: la [`path`](/docs/es/settings-reference#policyhelper-path) configurada del asistente. Presente siempre que Claude Code seleccionó un asistente, independientemente de si `OTEL_LOG_MANAGED_SETTINGS` está establecido
1389* `managed_settings.resolved_sha256` (cuando `OTEL_LOG_MANAGED_SETTINGS=1`): SHA-256 de la configuración gestionada resuelta antes de la redacción, serializada como JSON con claves ordenadas recursivamente y sin espacios en blanco. Las máquinas con el mismo resumen ejecutan la misma política. Claude Code envía el resumen solo con la opción de participación porque una política corta se puede recuperar codificando adivinanzas. Ausente cuando no se resolvió configuración gestionada, y en eventos `refused`
1390* `managed_settings.settings` (cuando `OTEL_LOG_MANAGED_SETTINGS=1`): los nombres y forma de la configuración gestionada resuelta como una cadena JSON, con los valores redactados. Ausente en eventos `refused`. Claude Code lo construye a partir de su esquema de configuración:
1391
1392 * Un nombre de configuración que el esquema declara se exporta, y una clave que no declara se deja fuera
1393 * Booleanos, números y valores de cadena que el esquema restringe a un conjunto fijo de opciones, como `permissions.defaultMode`, se exportan tal cual. `sandbox.network.httpProxyPort` y `sandbox.network.socksProxyPort` se exportan como `"[REDACTED]"`
1394 * Cada otra cadena, como `model`, `apiKeyHelper`, cada valor `env`, cada URL, y cada comando, se exporta como `"[REDACTED]"`
1395 * Los nombres de entrada de mapas, como nombres de variables `env` e IDs de plugins, se exportan tal cual. Una configuración cuyas entradas el esquema no escribe, como `vimInsertModeRemaps`, se exporta como un único `"[REDACTED]"`, y `sandbox.ignoreViolations` se exporta como una lista de sus listas de rutas sin los patrones de comando
1396 * Una lista mantiene su longitud, con cada entrada redactada por las mismas reglas
1397 * Una regla `permissions.allow`, `permissions.deny`, o `permissions.ask` se exporta como su nombre de herramienta con el contenido redactado, como `Read([REDACTED])`, cuando la herramienta está integrada en esta versión de Claude Code o es una referencia `mcp__` como `mcp__jira__create_issue`. Cualquier otra regla se exporta como `"[REDACTED]"`
1398 * Los hooks siguen las mismas reglas, por lo que los campos de opción fija y numéricos como `type` y `timeout` se muestran, mientras que cada comando, URL, `matcher`, y condición `if` se exporta como `"[REDACTED]"`
1399
1400 Por ejemplo, la configuración gestionada con `apiKeyHelper`, dos variables `env`, y una regla de denegar se exporta como `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`.
1401
1402 Claude Code corta el valor en 8 KB de UTF-8, y el valor cortado no es JSON válido
1403* `managed_settings.settings_truncated` (cuando `managed_settings.settings` está presente): `true` cuando Claude Code cortó `managed_settings.settings` en 8 KB, `false` de lo contrario. Se emite como booleano, no como cadena
1344 1404
1345<h2 id="interpret-metrics-and-events-data">1405<h2 id="interpret-metrics-and-events-data">
1346 Interpretar datos de métricas y eventos1406 Interpretar datos de métricas y eventos
1461Al construir reglas de detección, busque la señal que desea monitorear y consulte su backend para el evento correspondiente y atributos:1521Al construir reglas de detección, busque la señal que desea monitorear y consulte su backend para el evento correspondiente y atributos:
1462 1522
1463| Señal | Evento | Atributos Clave |1523| Señal | Evento | Atributos Clave |
1464| ----------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------ |1524| --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1465| Llamada de herramienta permitida o denegada, y por qué | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |1525| Llamada de herramienta permitida o denegada, y por qué | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |
1466| Escalada de modo de permiso | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1526| Escalada de modo de permiso | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |
1467| Hook de política bloqueó una acción | `hook_execution_complete` | `hook_event`, `num_blocking` |1527| Hook de política bloqueó una acción | `hook_execution_complete` | `hook_event`, `num_blocking` |
1469| Conexión del servidor MCP o fallo | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |1529| Conexión del servidor MCP o fallo | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |
1470| Plugin instalado y su origen | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |1530| Plugin instalado y su origen | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |
1471| Comandos ejecutados y archivos tocados | `tool_result` (ejecutado) o `tool_decision` (rechazado) con `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters`; `tool_input` (`tool_result` solo) |1531| Comandos ejecutados y archivos tocados | `tool_result` (ejecutado) o `tool_decision` (rechazado) con `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters`; `tool_input` (`tool_result` solo) |
1532| Qué fuentes de configuración administrada ejecuta una máquina, si su asistente de política es saludable y por qué una máquina rechazó iniciar | `managed_settings_resolved` | `managed_settings.trigger`, `managed_settings.sources`, `managed_settings.source_behavior`, `managed_settings.helper.state`, `error.type`; `managed_settings.settings` y `managed_settings.resolved_sha256` con `OTEL_LOG_MANAGED_SETTINGS=1` |
1472 1533
1473Claude Code emite solo el flujo de eventos sin procesar. La detección de anomalías, establecimiento de línea base, correlación entre sesiones y alertas son responsabilidad de su SIEM o backend de observabilidad.1534Claude Code emite solo el flujo de eventos sin procesar. La detección de anomalías, establecimiento de línea base, correlación entre sesiones y alertas son responsabilidad de su SIEM o backend de observabilidad.
1474 1535