526 526
527Все метрики и события имеют эти стандартные атрибуты:527Все метрики и события имеют эти стандартные атрибуты:
528 528
529| Атрибут | Описание | Управляется |529| Атрибут | Описание | Контролируется |
530| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |530| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
531| `session.id` | Уникальный идентификатор сеанса | `OTEL_METRICS_INCLUDE_SESSION_ID` (по умолчанию: true) |531| `session.id` | Уникальный идентификатор сеанса | `OTEL_METRICS_INCLUDE_SESSION_ID` (по умолчанию: true) |
532| `app.version` | Текущая версия Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (по умолчанию: false) |532| `app.version` | Текущая версия Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (по умолчанию: false) |
533| `app.entrypoint` | Как был запущен сеанс, такой как `cli`, `sdk-cli`, `sdk-ts`, `sdk-py` или `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (по умолчанию: false) |533| `app.entrypoint` | Способ запуска сеанса, например `cli`, `sdk-cli`, `sdk-ts`, `sdk-py` или `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (по умолчанию: false) |
534| `organization.id` | UUID организации (при аутентификации) | Всегда включается, когда доступно |534| `organization.id` | UUID организации (при аутентификации) | Всегда включается, когда доступен |
535| `user.account_uuid` | UUID учетной записи (при аутентификации) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |535| `user.account_uuid` | UUID учётной записи (при аутентификации) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |
536| `user.account_id` | ID учетной записи в формате с тегами, соответствующий API администратора Anthropic (при аутентификации), такой как `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |536| `user.account_id` | ID учётной записи в формате с тегами, соответствующий API администратора Anthropic (при аутентификации), например `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |
537| `user.id` | Случайный анонимный идентификатор, генерируемый при первом запуске и сохраняемый в `~/.claude.json`. Он не содержит личной информации и не является производным от вашей учетной записи Claude. Удаление файла создает новое несвязанное значение при следующем запуске. | Всегда включается |537| `user.id` | Случайный анонимный идентификатор, созданный при первом запуске и сохранённый в `~/.claude.json`. Он не содержит личной информации и не является производным от вашей учётной записи Claude. Удаление файла создаёт новое несвязанное значение при следующем запуске. | Всегда включается |
538| `user.email` | Адрес электронной почты пользователя, из вашего входа или, в [облачном сеансе](/docs/ru/claude-code-on-the-web), из учетных данных самого сеанса | Всегда включается, когда доступно |538| `user.email` | Адрес электронной почты пользователя из вашего входа или, в [облачном сеансе](/docs/ru/claude-code-on-the-web), из учётных данных самого сеанса | Всегда включается, когда доступен |
539| `terminal.type` | Тип терминала, такой как `iTerm.app`, `vscode`, `cursor` или `tmux` | Всегда включается при обнаружении |539| `terminal.type` | Тип терминала, например `iTerm.app`, `vscode`, `cursor` или `tmux` | Всегда включается при обнаружении |
540| Ключи из `OTEL_RESOURCE_ATTRIBUTES` | Пользовательские атрибуты, которые вы установили, такие как `department` или `team.id`. См. [Поддержка многокомандной организации](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (по умолчанию: true) |540| Ключи из `OTEL_RESOURCE_ATTRIBUTES` | Пользовательские атрибуты, которые вы устанавливаете, например `department` или `team.id`. См. [Поддержка многокомандной организации](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (по умолчанию: true) |
541| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | Идентичность репозитория сеанса, полученная из его удаленного хранилища `origin`. См. [Атрибуты репозитория](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (по умолчанию: false). Требует Claude Code v2.1.269 или позже |541| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | Идентификация репозитория сеанса, полученная из его удалённого хранилища `origin`. См. [Атрибуты репозитория](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (по умолчанию: false). Требуется Claude Code v2.1.269 или позже |
542 542
543Когда Claude Code подписан на [Claude apps gateway](/docs/ru/claude-apps-gateway), CLI помечает экспорты аутентифицированной идентичностью из сеанса gateway: `user.id` является субъектом IdP, а не анонимным идентификатором установки, `user.email` является адресом электронной почты, на который выполнен вход, и `user.groups` содержит членство в группе IdP в виде строки, разделенной запятыми. Каждый экспорт также содержит `identity.source: gateway-oidc`. Идентичность gateway применяется последней, поэтому ключи `user.*` и `identity.*`, установленные через `OTEL_RESOURCE_ATTRIBUTES`, игнорируются в сеансах gateway.543Когда Claude Code подписан на [шлюз приложений Claude](/docs/ru/claude-apps-gateway), CLI помечает экспорты аутентифицированной идентификацией из сеанса шлюза: `user.id` — это субъект IdP, а не анонимный идентификатор установки, `user.email` — это адрес электронной почты входа, а `user.groups` содержит членство в группе IdP в виде строки, разделённой запятыми. Каждый экспорт также содержит `identity.source: gateway-oidc`. Идентификация шлюза применяется последней, поэтому ключи `user.*` и `identity.*`, установленные через `OTEL_RESOURCE_ATTRIBUTES`, игнорируются в сеансах шлюза.
544 544
545События дополнительно включают следующие атрибуты. Они никогда не прикрепляются к метрикам, потому что они вызовут неограниченную кардинальность:545События дополнительно включают следующие атрибуты. Они никогда не прикрепляются к метрикам, так как это вызовет неограниченную кардинальность:
546 546
547* `prompt.id`: UUID, коррелирующий пользовательскую подсказку со всеми последующими событиями до следующей подсказки. См. [Атрибуты корреляции событий](#event-correlation-attributes).547* `prompt.id`: UUID, коррелирующий пользовательский запрос со всеми последующими событиями до следующего запроса. См. [Атрибуты корреляции событий](#event-correlation-attributes).
548* `workspace.host_paths`: каталоги рабочей области хоста, выбранные в приложении для рабочего стола, как массив строк548* `workspace.host_paths`: каталоги рабочей области хоста, выбранные в приложении для рабочего стола, в виде массива строк
549* `workflow.run_id`: идентификатор запуска, с префиксом `wf_`, на событиях API и инструментов, выданных агентами, которые принадлежат запуску инструмента [Workflow](/docs/ru/workflows). Фильтрация событий по одному `workflow.run_id` восстанавливает запросы API и результаты инструментов этого запуска. Идентификатор охватывает агентов, которых порождает скрипт workflow, и любых агентов, которых они порождают в свою очередь, такие как вызовы навыков. Он совпадает с идентификатором запуска, указанным в результате инструмента Workflow. Отсутствует на всех остальных событиях. Требует Claude Code v2.1.202 или позже549* `workflow.run_id`: идентификатор запуска с префиксом `wf_` на событиях API и инструментов, выпущенных агентами, которые принадлежат запуску инструмента [Workflow](/docs/ru/workflows). Фильтрация событий по одному `workflow.run_id` восстанавливает запросы API и результаты инструментов этого запуска. Идентификатор охватывает агентов, которых порождает скрипт рабочего процесса, и любых агентов, которых они порождают в свою очередь, например вызовы навыков. Он совпадает с идентификатором запуска, указанным в результате инструмента Workflow. Отсутствует на всех остальных событиях. Требуется Claude Code v2.1.202 или позже
550* `workflow.name`: имя workflow, `meta.name` его скрипта, выданное вместе с `workflow.run_id`. Встроенные имена workflow появляются как есть при выполнении немодифицированного встроенного скрипта. Определяемые пользователем имена, включая отредактированные копии встроенных скриптов, заменяются на `custom`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`. Требует Claude Code v2.1.202 или позже550* `workflow.name`: имя рабочего процесса, `meta.name` его скрипта, выпущенное вместе с `workflow.run_id`. Встроенные имена рабочих процессов отображаются как есть при выполнении немодифицированного встроенного скрипта. Имена, созданные пользователем, включая отредактированные копии встроенных скриптов, заменяются на `custom`, если не установлено `OTEL_LOG_TOOL_DETAILS=1`. Требуется Claude Code v2.1.202 или позже
551 551
552<h4 id="repository-attributes">552<h4 id="repository-attributes">
553 Атрибуты репозитория553 Атрибуты репозитория
554</h4>554</h4>
555 555
556Установите `OTEL_METRICS_INCLUDE_REPOSITORY=true`, чтобы пометить метрики и события идентичностью репозитория сеанса, чтобы общий сборщик мог атрибутировать использование по репозиторию. Требует Claude Code v2.1.269 или позже.556Установите `OTEL_METRICS_INCLUDE_REPOSITORY=true`, чтобы пометить метрики и события идентификацией репозитория сеанса, чтобы общий сборщик мог атрибутировать использование по репозиторию. Требуется Claude Code v2.1.269 или позже.
557 557
558Claude Code получает эти атрибуты один раз за сеанс из удаленного хранилища `origin` репозитория. HTTPS и SSH удаленные хранилища одного репозитория производят идентичные значения:558Claude Code получает эти атрибуты один раз за сеанс из удалённого хранилища `origin` репозитория. HTTPS и SSH удалённые хранилища одного репозитория создают идентичные значения:
559 559
560| Атрибут | Значение |560| Атрибут | Значение |
561| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |561| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
562| `vcs.repository.url.full` | URL браузера репозитория без `.git`, такой как `https://github.com/example-org/example-repo` |562| `vcs.repository.url.full` | URL браузера репозитория без `.git`, например `https://github.com/example-org/example-repo` |
563| `vcs.owner.name` | Путь владельца или группы, такой как `example-org`; опущен, когда путь удаленного хранилища имеет один сегмент |563| `vcs.owner.name` | Путь владельца или группы, например `example-org`; опускается, когда путь удалённого хранилища имеет один сегмент |
564| `vcs.repository.name` | Простое имя репозитория, такой как `example-repo` |564| `vcs.repository.name` | Простое имя репозитория, например `example-repo` |
565| `vcs.provider.name` | `github`, `gitlab`, `bitbucket` или `gitea`, когда Claude Code распознает хост удаленного хранилища или форму URL как один из этих поставщиков; опущен в противном случае |565| `vcs.provider.name` | `github`, `gitlab`, `bitbucket` или `gitea`, когда Claude Code распознаёт хост удалённого хранилища или форму URL как один из этих поставщиков; опускается в противном случае |
566 566
567Значения преобразуются в нижний регистр, и учетные данные, строки запроса и фрагменты из URL удаленного хранилища никогда не появляются в них. Атрибуты опущены, когда сеанс не имеет удаленного хранилища `origin`, когда удаленное хранилище не имеет формы URL или когда единственный охватывающий репозиторий — это ваш домашний каталог.567Значения приводятся в нижний регистр, и учётные данные, строки запроса и фрагменты из URL удалённого хранилища никогда не отображаются в них. Атрибуты опускаются, когда сеанс не имеет удалённого хранилища `origin`, когда удалённое хранилище не имеет формы URL или когда единственный охватывающий репозиторий — это ваш домашний каталог.
568 568
569Ключ `vcs.*`, который вы объявляете в [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support), заменяет полученное значение для этого ключа. Если вы объявляете `vcs.repository.url.full`, Claude Code никогда не читает удаленное хранилище и сообщает только ключи, которые вы объявляете.569Ключ `vcs.*`, который вы объявляете в [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support), заменяет полученное значение для этого ключа. Если вы объявляете `vcs.repository.url.full`, Claude Code никогда не читает удалённое хранилище и сообщает только объявленные вами ключи.
570 570
571Атрибуты поступают только на ваши собственные экспортеры; телеметрия Anthropic отбрасывает каждый ключ `vcs.*`.571Атрибуты передаются только вашим собственным экспортёрам; телеметрия Anthropic отбрасывает каждый ключ `vcs.*`.
572 572
573<h3 id="metrics">573<h3 id="metrics">
574 Метрики574 Метрики
575</h3>575</h3>
576 576
577Claude Code экспортирует следующие метрики. Столбец Unit показывает строку единицы OpenTelemetry, прикрепленную к каждой метрике; метрики count не имеют единиц.577Claude Code экспортирует следующие метрики. Столбец Unit показывает строку единицы OpenTelemetry, прикреплённую к каждой метрике; метрики подсчёта не имеют никаких.
578 578
579| Имя метрики | Описание | Единица |579| Имя метрики | Описание | Единица |
580| ------------------------------------- | --------------------------------------------------------------- | ------- |580| ------------------------------------- | --------------------------------------------------------------- | ------- |
581| `claude_code.session.count` | Количество запущенных сеансов CLI | none |581| `claude_code.session.count` | Количество запущенных сеансов CLI | нет |
582| `claude_code.lines_of_code.count` | Количество строк кода, которые были изменены | none |582| `claude_code.lines_of_code.count` | Количество изменённых строк кода | нет |
583| `claude_code.pull_request.count` | Количество созданных pull request | none |583| `claude_code.pull_request.count` | Количество созданных запросов на слияние | нет |
584| `claude_code.commit.count` | Количество созданных git коммитов | none |584| `claude_code.commit.count` | Количество созданных коммитов git | нет |
585| `claude_code.cost.usage` | Стоимость сеанса Claude Code | USD |585| `claude_code.cost.usage` | Стоимость сеанса Claude Code | USD |
586| `claude_code.token.usage` | Количество использованных токенов | tokens |586| `claude_code.token.usage` | Количество использованных токенов | tokens |
587| `claude_code.code_edit_tool.decision` | Количество решений о разрешении инструмента редактирования кода | none |587| `claude_code.code_edit_tool.decision` | Количество решений о разрешении инструмента редактирования кода | нет |
588| `claude_code.active_time.total` | Общее активное время | s |588| `claude_code.active_time.total` | Общее активное время | s |
589 589
590Когда `prometheus` является единственным экспортером, указанным в `OTEL_METRICS_EXPORTER`, Claude Code опускает единицы `USD`, `tokens` и `s` из экспортируемых метрик, чтобы скрейп оставался в действительном формате текста Prometheus. Имена метрик не изменяются, и конфигурации, которые объединяют экспортеры, такие как `otlp,prometheus`, сохраняют единицы. До v2.1.216 скрейп Prometheus включал строки `# UNIT`, специфичные для OpenMetrics, которые некоторые скрейперы отклоняли.590Когда `prometheus` — единственный экспортёр, указанный в `OTEL_METRICS_EXPORTER`, Claude Code опускает единицы `USD`, `tokens` и `s` из экспортируемых метрик, чтобы скрейп оставался действительным текстовым форматом Prometheus. Имена метрик не изменяются, и конфигурации, которые объединяют экспортёры, такие как `otlp,prometheus`, сохраняют единицы. До v2.1.216 скрейп Prometheus включал строки `# UNIT`, специфичные для OpenMetrics, которые некоторые скрейперы отклоняли.
591 591
592<h3 id="metric-details">592<h3 id="metric-details">
593 Детали метрик593 Детали метрик
596Каждая метрика включает стандартные атрибуты, перечисленные выше. Метрики с дополнительными контекстно-специфичными атрибутами отмечены ниже.596Каждая метрика включает стандартные атрибуты, перечисленные выше. Метрики с дополнительными контекстно-специфичными атрибутами отмечены ниже.
597 597
598<h4 id="session-counter">598<h4 id="session-counter">
599 Счетчик сеансов599 Счётчик сеансов
600</h4>600</h4>
601 601
602Увеличивается в начале каждого сеанса.602Увеличивается в начале каждого сеанса.
604**Атрибуты**:604**Атрибуты**:
605 605
606* Все [стандартные атрибуты](#standard-attributes)606* Все [стандартные атрибуты](#standard-attributes)
607* `start_type`: Как был запущен сеанс. Один из `"fresh"`, `"resume"`, `"continue"` или `"agents_view"`. Значение `"agents_view"` идентифицирует процесс панели управления `claude agents`, локальный пользовательский интерфейс, запущенный пользователем, а не разговорный сеанс. Отфильтруйте по этому значению, чтобы отделить запуски процесса UI от разговорных сеансов в ваших панелях управления.607* `start_type`: Способ запуска сеанса. Один из `"fresh"`, `"resume"`, `"continue"` или `"agents_view"`. Значение `"agents_view"` идентифицирует процесс панели управления `claude agents`, локальный пользовательский интерфейс, а не разговорный сеанс. Фильтруйте по этому значению, чтобы отделить запуски процесса пользовательского интерфейса от разговорных сеансов в ваших панелях управления.
608 608
609<h4 id="lines-of-code-counter">609<h4 id="lines-of-code-counter">
610 Счетчик строк кода610 Счётчик строк кода
611</h4>611</h4>
612 612
613Увеличивается при добавлении или удалении кода.613Увеличивается при добавлении или удалении кода.
619* `model`: Идентификатор модели для модели, которая внесла изменение (например, "claude-sonnet-5")619* `model`: Идентификатор модели для модели, которая внесла изменение (например, "claude-sonnet-5")
620 620
621<h4 id="pull-request-counter">621<h4 id="pull-request-counter">
622 Счетчик pull request622 Счётчик запросов на слияние
623</h4>623</h4>
624 624
625Увеличивается при создании pull request или merge request через команду shell или инструмент MCP.625Увеличивается, когда Claude Code создаёт запрос на слияние или запрос на объединение через команду оболочки или инструмент MCP.
626 626
627**Атрибуты**:627**Атрибуты**:
628 628
629* Все [стандартные атрибуты](#standard-attributes)629* Все [стандартные атрибуты](#standard-attributes)
630 630
631<h4 id="commit-counter">631<h4 id="commit-counter">
632 Счетчик коммитов632 Счётчик коммитов
633</h4>633</h4>
634 634
635Увеличивается при создании git коммитов через Claude Code.635Увеличивается при создании коммитов git через Claude Code.
636 636
637**Атрибуты**:637**Атрибуты**:
638 638
639* Все [стандартные атрибуты](#standard-attributes)639* Все [стандартные атрибуты](#standard-attributes)
640 640
641<h4 id="cost-counter">641<h4 id="cost-counter">
642 Счетчик затрат642 Счётчик стоимости
643</h4>643</h4>
644 644
645Увеличивается после каждого запроса API.645Увеличивается после каждого запроса API.
649* Все [стандартные атрибуты](#standard-attributes)649* Все [стандартные атрибуты](#standard-attributes)
650* `model`: Идентификатор модели (например, "claude-sonnet-5")650* `model`: Идентификатор модели (например, "claude-sonnet-5")
651* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`651* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`
652* `speed`: `"fast"` когда запрос использовал быстрый режим. Отсутствует в противном случае652* `speed`: `"fast"`, когда запрос использовал быстрый режим. Отсутствует в противном случае
653* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применяемый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, когда модель не поддерживает усилия.653* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применённый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, когда Claude Code не отправляет уровень усилий, например на модели, которая не поддерживает усилия.
654* `agent.name`: Тип подагента, который выдал запрос. Встроенные имена агентов и агенты из официальных плагинов маркетплейса появляются как есть. Другие определяемые пользователем имена агентов заменяются на `"custom"`. Отсутствует, когда запрос не был выдан именованным типом подагента.654* `agent.name`: Тип подагента, который выдал запрос. Встроенные имена агентов и агенты из официальных плагинов маркетплейса отображаются как есть. Другие определённые пользователем имена агентов заменяются на `"custom"`. Отсутствует, когда запрос не был выдан именованным типом подагента.
655* `skill.name`: Навык, активный для запроса, установленный инструментом Skill, командой `/` или унаследованный порожденным подагентом. Встроенные, поставляемые, определяемые пользователем и навыки плагинов официального маркетплейса появляются как есть. Навыки плагинов третьих сторон заменяются на `"third-party"`. Отсутствует, когда нет активного навыка.655* `skill.name`: Навык, активный для запроса, установленный инструментом Skill, командой `/` или унаследованный порождённым подагентом. Встроенные, связанные, определённые пользователем и имена навыков плагинов официального маркетплейса отображаются как есть. Имена навыков плагинов третьих сторон заменяются на `"third-party"`. Отсутствует, когда нет активного навыка.
656* `plugin.name`: Владельцы плагина, когда активный навык или подагент предоставляются плагином. Имена плагинов официального маркетплейса появляются как есть. Имена плагинов третьих сторон заменяются на `"third-party"`. Отсутствует, когда ни навык, ни подагент не имеют владельца плагина.656* `plugin.name`: Владеющий плагин, когда активный навык или подагент предоставляется плагином. Имена плагинов официального маркетплейса отображаются как есть. Имена плагинов третьих сторон заменяются на `"third-party"`. Отсутствует, когда ни навык, ни подагент не имеют владеющего плагина.
657* `marketplace.name`: Маркетплейс, из которого был установлен владельцы плагин. Выдается только для плагинов официального маркетплейса. Отсутствует в противном случае.657* `marketplace.name`: Маркетплейс, из которого был установлен владеющий плагин. Выпускается только для плагинов официального маркетплейса. Отсутствует в противном случае.
658* `mcp_server.name`: MCP сервер, чей результат инструмента этот запрос потребил. Встроенные, claude.ai-проксированные и официальные имена серверов реестра появляются как есть. Пользовательские имена серверов заменяются на `"custom"`. Отсутствует, когда запрос не потребил результат инструмента MCP. До v2.1.222 Claude Code устанавливал этот атрибут на каждый запрос после вызова инструмента MCP, а не только на запросы, которые потребили результат инструмента, поэтому панели управления, которые его агрегируют, показывают снижение после обновления.658* `mcp_server.name`: Сервер MCP, результат инструмента которого этот запрос потребил. Встроенные, проксируемые claude.ai и имена серверов официального реестра отображаются как есть. Имена серверов, настроенные пользователем, заменяются на `"custom"`. Отсутствует, когда запрос не потребил результат инструмента MCP. До v2.1.222 Claude Code устанавливал этот атрибут на каждый запрос после вызова инструмента MCP, а не только на запросы, которые потребили результат инструмента, поэтому панели управления, которые его агрегируют, показывают снижение после обновления.
659* `mcp_tool.name`: Инструмент MCP, чей результат этот запрос потребил, с тем же редактированием и поведением версии, что и `mcp_server.name`. Отсутствует, когда запрос не потребил результат инструмента MCP.659* `mcp_tool.name`: Инструмент MCP, результат которого этот запрос потребил, с тем же редактированием и поведением версии, что и `mcp_server.name`. Отсутствует, когда запрос не потребил результат инструмента MCP.
660 660
661<h4 id="token-counter">661<h4 id="token-counter">
662 Счетчик токенов662 Счётчик токенов
663</h4>663</h4>
664 664
665Увеличивается после каждого запроса API.665Увеличивается после каждого запроса API.
670* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)670* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)
671* `model`: Идентификатор модели (например, "claude-sonnet-5")671* `model`: Идентификатор модели (например, "claude-sonnet-5")
672* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`672* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`
673* `speed`: `"fast"` когда запрос использовал быстрый режим. Отсутствует в противном случае673* `speed`: `"fast"`, когда запрос использовал быстрый режим. Отсутствует в противном случае
674* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применяемый к запросу. Подробности см. в разделе [Счетчик затрат](#cost-counter).674* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применённый к запросу. См. [Счётчик стоимости](#cost-counter) для деталей.
675* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. Определения и поведение редактирования см. в разделе [Счетчик затрат](#cost-counter).675* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. См. [Счётчик стоимости](#cost-counter) для определений и поведения редактирования.
676 676
677<h4 id="code-edit-tool-decision-counter">677<h4 id="code-edit-tool-decision-counter">
678 Счетчик решений инструмента редактирования кода678 Счётчик решений инструмента редактирования кода
679</h4>679</h4>
680 680
681Увеличивается, когда пользователь принимает или отклоняет использование инструмента Edit, Write или NotebookEdit.681Увеличивается, когда пользователь принимает или отклоняет использование инструмента Edit, Write или NotebookEdit.
685* Все [стандартные атрибуты](#standard-attributes)685* Все [стандартные атрибуты](#standard-attributes)
686* `tool_name`: Имя инструмента (`"Edit"`, `"Write"`, `"NotebookEdit"`)686* `tool_name`: Имя инструмента (`"Edit"`, `"Write"`, `"NotebookEdit"`)
687* `decision`: Решение пользователя (`"accept"`, `"reject"`)687* `decision`: Решение пользователя (`"accept"`, `"reject"`)
688* `source`: Источник решения. Один из `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` или `"user_reject"`. См. [Событие решения инструмента](#tool-decision-event) для получения информации о том, что означает каждое значение.688* `source`: Откуда пришло решение. Один из `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` или `"user_reject"`. См. [Событие решения инструмента](#tool-decision-event) для того, что означает каждое значение.
689* `language`: Язык программирования отредактированного файла, такой как `"TypeScript"`, `"Python"`, `"JavaScript"` или `"Markdown"`. Возвращает `"unknown"` для неузнанных расширений файлов.689* `language`: Язык программирования отредактированного файла, например `"TypeScript"`, `"Python"`, `"JavaScript"` или `"Markdown"`. Возвращает `"unknown"` для неизвестных расширений файлов.
690 690
691<h4 id="active-time-counter">691<h4 id="active-time-counter">
692 Счетчик активного времени692 Счётчик активного времени
693</h4>693</h4>
694 694
695Отслеживает фактическое время, потраченное на активное использование Claude Code, исключая время простоя. Эта метрика увеличивается во время взаимодействия пользователя, такого как ввод текста и чтение ответов, и во время обработки CLI, такой как выполнение инструментов и генерация ответов AI.695Отслеживает фактическое время активного использования Claude Code, исключая время простоя. Эта метрика увеличивается во время взаимодействия пользователя, такого как ввод текста и чтение ответов, и во время обработки CLI, такой как выполнение инструментов и генерация ответов AI.
696 696
697**Атрибуты**:697**Атрибуты**:
698 698
709 Атрибуты корреляции событий709 Атрибуты корреляции событий
710</h4>710</h4>
711 711
712Когда пользователь отправляет подсказку, Claude Code может сделать несколько вызовов API и запустить несколько инструментов. Атрибут `prompt.id` позволяет связать все эти события с одной подсказкой, которая их вызвала.712Когда пользователь отправляет запрос, Claude Code может сделать несколько вызовов API и запустить несколько инструментов. Атрибут `prompt.id` позволяет вам связать все эти события с единственным запросом, который их вызвал.
713 713
714| Атрибут | Описание |714| Атрибут | Описание |
715| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |715| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
716| `prompt.id` | Идентификатор UUID v4, связывающий все события, созданные при обработке одной пользовательской подсказки |716| `prompt.id` | Идентификатор UUID v4, связывающий все события, созданные при обработке одного пользовательского запроса |
717| `event.sequence` | Счетчик на основе 0 для упорядочивания событий, подсчитываемый для каждого процесса Claude Code, а не для каждого сеанса |717| `event.sequence` | Счётчик на основе 0 для упорядочивания событий, подсчитанный на процесс Claude Code, а не на сеанс |
718| `message.uuid` | UUID сообщения, как сохраненного в транскрипте сеанса, файлы `~/.claude/projects/*/*.jsonl`. Присутствует на `assistant_response`, на `api_response_body` и на `user_prompt`, кроме отправок команд, которые могут создавать ноль или много сообщений. На `assistant_response` и `api_response_body` это финальная запись транскрипта ответа, от которой цепляется `parentUuid` следующего хода. Требует Claude Code v2.1.214 или позже, или v2.1.274 или позже на `api_response_body` |718| `message.uuid` | UUID сообщения, как сохранено в стенограмме сеанса, файлы `~/.claude/projects/*/*.jsonl`. Присутствует на `assistant_response`, на `api_response_body` и на `user_prompt`, кроме отправок команд, которые могут создавать ноль или много сообщений. На `assistant_response` и `api_response_body` это последняя запись стенограммы ответа, от которой цепочка `parentUuid` следующего хода. Требуется Claude Code v2.1.214 или позже, или v2.1.274 или позже на `api_response_body` |
719| `client_request_id` | UUID, созданный клиентом, отправленный как заголовок запроса `x-client-request-id`. Присутствует на `api_request` и `api_error` на подключениях API первой стороны; отсутствует на бэкендах поставщиков третьих сторон и когда запрос был повторен через резервный вариант без потоковой передачи. Связывает запрос с его ответом и остается доступным для сбоев, таких как тайм-ауты, которые никогда не создали `request_id` сервера. Совпадает с тем же атрибутом на span трассировки `llm_request`. Требует Claude Code v2.1.214 или позже |719| `client_request_id` | UUID, созданный клиентом, отправленный как заголовок запроса `x-client-request-id`. Присутствует на `api_request` и `api_error` на подключениях API первой стороны; отсутствует на бэкендах поставщиков третьих сторон и когда запрос был повторён через резервный вариант без потоковой передачи. Связывает запрос с его ответом и остаётся доступным для сбоев, таких как тайм-ауты, которые никогда не создали `request_id` сервера. Совпадает с тем же атрибутом на диапазоне трассировки `llm_request`. Требуется Claude Code v2.1.214 или позже |
720 720
721Чтобы отследить всю активность, вызванную одной подсказкой, отфильтруйте события по определенному значению `prompt.id`. Это возвращает событие user\_prompt, любые события api\_request и любые события tool\_result, которые произошли при обработке этой подсказки.721Чтобы отследить всю деятельность, вызванную одним запросом, отфильтруйте события по определённому значению `prompt.id`. Это возвращает событие user\_prompt, любые события api\_request и любые события tool\_result, которые произошли при обработке этого запроса.
722 722
723`event.sequence` начинается с 0 каждый раз, когда процесс Claude Code запускается, и считает вверх на протяжении всей жизни этого процесса. Он продолжает считать через `/clear`, который назначает новый `session.id`. Если вы [возобновите сеанс без разветвления](/docs/ru/how-claude-code-works#resume-or-fork-sessions), сеанс сохраняет свой `session.id`, но берет свои значения `event.sequence` из процесса, который его возобновил, поэтому в одном сеансе более позднее событие может нести более низкое значение, чем более раннее, или повторить одно. Чтобы упорядочить события сеанса, отсортируйте по `event.timestamp` и используйте `event.sequence` для упорядочивания событий, которые имеют одну и ту же временную метку.723`event.sequence` начинается с 0 каждый раз, когда процесс Claude Code запускается, и считает вверх в течение жизни этого процесса. Он продолжает считать через `/clear`, который назначает новый `session.id`. Если вы [возобновляете сеанс без ветвления](/docs/ru/how-claude-code-works#resume-or-fork-sessions), сеанс сохраняет свой `session.id`, но берёт свои значения `event.sequence` из процесса, который его возобновил, поэтому в одном сеансе более позднее событие может нести более низкое значение, чем более раннее, или повторить одно. Чтобы упорядочить события сеанса, отсортируйте по `event.timestamp` и используйте `event.sequence` для упорядочивания событий, которые имеют одну и ту же временную метку.
724 724
725Для восстановления на уровне сообщений каждый класс событий содержит ключ, который совпадает с полем в транскрипте сеанса. Формат записи транскрипта [внутренний для Claude Code](/docs/ru/sessions#where-transcripts-are-stored) и изменяется между версиями, поэтому конвейер, который объединяет эти поля, может сломаться при любом выпуске; рассматривайте объединения как специфичные для версии, а не как стабильный контракт:725Для восстановления на уровне сообщений каждый класс событий содержит ключ, который совпадает с полем в стенограмме сеанса. Формат записи стенограммы [внутренний для Claude Code](/docs/ru/sessions#where-transcripts-are-stored) и изменяется между версиями, поэтому конвейер, который объединяет эти поля, может сломаться при любом выпуске; рассматривайте объединения как специфичные для версии, а не как стабильный контракт:
726 726
727* `message.uuid` на `user_prompt`, `assistant_response` и `api_response_body`727* `message.uuid` на `user_prompt`, `assistant_response` и `api_response_body`
728* `request_id` на событиях API, сохраненный как `requestId` на записях помощника транскрипта728* `request_id` на событиях API, сохранённых как `requestId` на записях помощника стенограммы
729* `tool_use_id` на событиях `tool_result` и `tool_decision`729* `tool_use_id` на событиях `tool_result` и `tool_decision`
730 730
731<h4 id="user-prompt-event">731<h4 id="user-prompt-event">
732 Событие пользовательской подсказки732 Событие пользовательского запроса
733</h4>733</h4>
734 734
735Логируется, когда пользователь отправляет подсказку.735Регистрируется, когда пользователь отправляет запрос.
736 736
737**Имя события**: `claude_code.user_prompt`737**Имя события**: `claude_code.user_prompt`
738 738
741* Все [стандартные атрибуты](#standard-attributes)741* Все [стандартные атрибуты](#standard-attributes)
742* `event.name`: `"user_prompt"`742* `event.name`: `"user_prompt"`
743* `event.timestamp`: Временная метка ISO 8601743* `event.timestamp`: Временная метка ISO 8601
744* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)744* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
745* `prompt_length`: Длина подсказки745* `prompt_length`: Длина запроса
746* `prompt`: Содержимое подсказки. Скрыто по умолчанию. Установите `OTEL_LOG_USER_PROMPTS=1` для включения746* `prompt`: Содержание запроса. Редактируется по умолчанию. Установите `OTEL_LOG_USER_PROMPTS=1`, чтобы включить его
747* `message.uuid`: UUID результирующего пользовательского сообщения, совпадающий с сохраненной записью транскрипта. Отсутствует при отправках команд, которые могут создавать ноль или много сообщений. Требует Claude Code v2.1.214 или позже747* `message.uuid`: UUID результирующего пользовательского сообщения, совпадающий с сохранённой записью стенограммы. Отсутствует при отправке команд, которые могут создавать ноль или много сообщений. Требуется Claude Code v2.1.214 или позже
748* `command_name`: Имя команды, когда подсказка вызывает одну. Встроенные и поставляемые имена команд, такие как `compact` или `debug`, выдаются как есть; псевдонимы, такие как `reset`, выдаются как введено, а не как каноническое имя. Пользовательские, плагин и MCP имена команд сворачиваются в `custom` или `mcp`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`748* `command_name`: Имя команды, когда запрос вызывает одну. Встроенные и связанные имена команд, такие как `compact` или `debug`, выпускаются как есть; псевдонимы, такие как `reset`, выпускаются как введено, а не как каноническое имя. Пользовательские, плагины и имена команд MCP сворачиваются в `custom` или `mcp`, если не установлено `OTEL_LOG_TOOL_DETAILS=1`
749* `command_source`: Происхождение команды, когда присутствует: `builtin`, `custom` или `mcp`. Команды, предоставляемые плагинами, сообщают как `custom`749* `command_source`: Происхождение команды, когда присутствует: `builtin`, `custom` или `mcp`. Команды, предоставленные плагинами, сообщаются как `custom`
750 750
751<h4 id="assistant-response-event">751<h4 id="assistant-response-event">
752 Событие результата помощника752 Событие ответа помощника
753</h4>753</h4>
754 754
755Логируется после каждого запроса API, который возвращает текстовое содержимое от модели. Включены только текстовые блоки ответа; блоки мышления и блоки использования инструментов исключены. Требует Claude Code v2.1.193 или позже.755Регистрируется после каждого запроса API, который возвращает текстовое содержание от модели. Включены только текстовые блоки ответа; блоки мышления и блоки использования инструментов исключены. Требуется Claude Code v2.1.193 или позже.
756 756
757**Имя события**: `claude_code.assistant_response`757**Имя события**: `claude_code.assistant_response`
758 758
761* Все [стандартные атрибуты](#standard-attributes)761* Все [стандартные атрибуты](#standard-attributes)
762* `event.name`: `"assistant_response"`762* `event.name`: `"assistant_response"`
763* `event.timestamp`: Временная метка ISO 8601763* `event.timestamp`: Временная метка ISO 8601
764* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)764* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
765* `response_length`: Длина текста ответа в символах765* `response_length`: Длина текста ответа в символах
766* `response`: Текст ответа, усеченный на лимит содержимого (60 КБ по умолчанию). Скрыт как `<REDACTED>` по умолчанию. Установите `OTEL_LOG_ASSISTANT_RESPONSES=1` для включения. Когда `OTEL_LOG_ASSISTANT_RESPONSES` не установлен, `OTEL_LOG_USER_PROMPTS` контролирует его вместо этого, поэтому установите `OTEL_LOG_ASSISTANT_RESPONSES=0`, чтобы сохранить ответы скрытыми, пока логирование подсказок включено766* `response`: Текст ответа, усечённый на пределе содержания (60 КБ по умолчанию). Редактируется в `<REDACTED>` по умолчанию. Установите `OTEL_LOG_ASSISTANT_RESPONSES=1`, чтобы включить его. Когда `OTEL_LOG_ASSISTANT_RESPONSES` не установлен, `OTEL_LOG_USER_PROMPTS` контролирует его вместо этого, поэтому установите `OTEL_LOG_ASSISTANT_RESPONSES=0`, чтобы сохранить ответы редактируемыми, пока логирование запроса включено
767* `model`: Идентификатор модели (например, "claude-sonnet-5")767* `model`: Идентификатор модели (например, "claude-sonnet-5")
768* `request_id`: ID запроса Anthropic API из заголовка ответа `request-id`. Присутствует только, когда API возвращает его768* `request_id`: ID запроса API Anthropic из заголовка ответа `request-id`. Присутствует только, когда API возвращает один
769* `message.uuid`: UUID финальной записи транскрипта ответа. Ответ API сохраняется как одна запись транскрипта на блок содержимого; это последняя, от которой цепляется `parentUuid` следующего хода. Требует Claude Code v2.1.214 или позже769* `message.uuid`: UUID последней записи стенограммы ответа. Ответ API сохраняется как одна запись стенограммы на блок содержания; это последний, от которого цепочка `parentUuid` следующего хода. Требуется Claude Code v2.1.214 или позже
770* `query_source`: Подсистема, которая выдала запрос, такая как `"repl_main_thread"`, `"compact"` или имя подагента770* `query_source`: Подсистема, которая выдала запрос, например `"repl_main_thread"`, `"compact"` или имя подагента
771 771
772<h4 id="tool-result-event">772<h4 id="tool-result-event">
773 Событие результата инструмента773 Событие результата инструмента
774</h4>774</h4>
775 775
776Логируется, когда инструмент завершает выполнение. Не выдается, если вызов инструмента был отклонен; см. [Событие решения инструмента](#tool-decision-event) для отклонений.776Регистрируется, когда инструмент завершает выполнение. Не выпускается, если вызов инструмента был отклонён; см. [Событие решения инструмента](#tool-decision-event) для отклонений.
777 777
778**Имя события**: `claude_code.tool_result`778**Имя события**: `claude_code.tool_result`
779 779
782* Все [стандартные атрибуты](#standard-attributes)782* Все [стандартные атрибуты](#standard-attributes)
783* `event.name`: `"tool_result"`783* `event.name`: `"tool_result"`
784* `event.timestamp`: Временная метка ISO 8601784* `event.timestamp`: Временная метка ISO 8601
785* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)785* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
786* `tool_name`: Имя инструмента786* `tool_name`: Имя инструмента
787* `tool_use_id`: Уникальный идентификатор для этого вызова инструмента. Совпадает с `tool_use_id`, переданным в hooks, позволяя корреляцию между событиями OTel и данными, захваченными hooks.787* `tool_use_id`: Уникальный идентификатор для этого вызова инструмента. Совпадает с `tool_use_id`, переданным в hooks, позволяя корреляцию между событиями OTel и данными, захваченными hooks.
788* `success`: `"true"` или `"false"`788* `success`: `"true"` или `"false"`
789* `duration_ms`: Время выполнения в миллисекундах789* `duration_ms`: Время выполнения в миллисекундах
790* `error_type`: Строка категории ошибки при сбое инструмента, такая как `"Error:ENOENT"` или `"ShellError"`790* `error_type`: Строка категории ошибки, когда инструмент не удался, например `"Error:ENOENT"` или `"ShellError"`
791* `error` (когда `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке при сбое инструмента791* `error` (когда `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке, когда инструмент не удался
792* `decision_type`: Всегда `"accept"`, так как это событие выдается только после запуска инструмента. Отклоненные вызовы не производят результат инструмента792* `decision_type`: Всегда `"accept"`, так как это событие выпускается только после запуска инструмента. Отклонённые вызовы не создают результат инструмента
793* `decision_source`: Источник решения о разрешении. Один из `"config"`, `"hook"`, `"user_permanent"` или `"user_temporary"`. См. [Событие решения инструмента](#tool-decision-event) для получения информации о том, что означает каждое значение. Источники, только для отклонения, `"user_abort"` и `"user_reject"`, никогда не появляются на этом событии.793* `decision_source`: Откуда пришло решение о разрешении. Один из `"config"`, `"hook"`, `"user_permanent"` или `"user_temporary"`. См. [Событие решения инструмента](#tool-decision-event) для того, что означает каждое значение. Источники, специфичные для отклонения, `"user_abort"` и `"user_reject"`, никогда не появляются на этом событии.
794* `tool_input_size_bytes`: Размер JSON-сериализованного входа инструмента в байтах794* `tool_input_size_bytes`: Размер сериализованного JSON входа инструмента в байтах
795* `tool_result_size_bytes`: Размер результата инструмента в байтах795* `tool_result_size_bytes`: Размер результата инструмента в байтах
796* `mcp_server_scope`: Идентификатор области MCP сервера (для инструментов MCP)796* `mcp_server_scope`: Идентификатор области сервера MCP (для инструментов MCP)
797* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (когда `OTEL_LOG_TOOL_DETAILS=1`): идентичность коммита успешного запуска `git commit` инструментом Bash или PowerShell. `vcs.ref.head.revision` это SHA коммита, `vcs.ref.head.name` это ветка, на которую был совершен коммит, и `vcs.ref.head.type` это `branch`. Имя и тип опущены, когда коммит был сделан на отсоединенном HEAD. Требует Claude Code v2.1.269 или позже797* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (когда `OTEL_LOG_TOOL_DETAILS=1`): идентификация коммита успешного запуска `git commit` инструментом Bash или PowerShell. `vcs.ref.head.revision` — это SHA коммита, `vcs.ref.head.name` — это ветка, на которую он был закоммичен, и `vcs.ref.head.type` — это `branch`. Имя и тип опускаются, когда коммит был сделан на отсоединённой HEAD. Требуется Claude Code v2.1.269 или позже
798* `tool_parameters` (когда `OTEL_LOG_TOOL_DETAILS=1`): JSON строка, содержащая параметры, специфичные для инструмента. Для встроенных серверов Claude Desktop в сеансах, которыми владеет Claude Desktop, пара `mcp_server_name`/`mcp_tool_name` включается даже без флага, то же исключение, авторизованное хостом, что и [Событие решения инструмента](#tool-decision-event), требующее Claude Code v2.1.214 или позже. Параметры варьируются по инструменту:798* `tool_parameters` (когда `OTEL_LOG_TOOL_DETAILS=1`): Строка JSON, содержащая параметры, специфичные для инструмента. Для встроенных серверов Claude Desktop в сеансах, которыми владеет Claude Desktop, пара `mcp_server_name`/`mcp_tool_name` включается даже с отключённым флагом, то же исключение, созданное хостом, что и [Событие решения инструмента](#tool-decision-event), требующее Claude Code v2.1.214 или позже. Параметры варьируются по инструменту:
799 * Для инструмента Bash: включает `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`, плюс `git_commit_id` и `git_branch`, когда команда `git commit` успешна. `git_commit_id` это полный SHA коммита, когда коммит это HEAD рабочего каталога сеанса, и сокращенный SHA git в противном случае. `git_branch` это ветка, на которую был совершен коммит, опущена на отсоединенном HEAD799 * Для инструмента Bash: включает `bash_command`, `full_command`, `timeout`, `description` и `dangerouslyDisableSandbox`, плюс `git_commit_id` и `git_branch`, когда команда `git commit` успешна. `git_commit_id` — это полный SHA коммита, когда коммит является HEAD рабочего каталога сеанса, и сокращённый SHA git в противном случае. `git_branch` — это ветка, на которую он был закоммичен, опускается на отсоединённой HEAD
800 * Для инструмента bash рабочей области приложения для рабочего стола, который также сообщает `tool_name` как `Bash`: включает только `bash_command`, `full_command` и `timeout`800 * Для инструмента рабочей области приложения для рабочего стола, который также сообщает `tool_name` как `Bash`: включает только `bash_command`, `full_command` и `timeout`
801 * Для инструментов MCP: включает `mcp_server_name`, `mcp_tool_name`801 * Для инструментов MCP: включает `mcp_server_name`, `mcp_tool_name`
802 * Для инструмента Skill: включает `skill_name`802 * Для инструмента Skill: включает `skill_name`
803 * Для инструмента Agent или устаревшего инструмента Task: включает `subagent_type`803 * Для инструмента Agent или устаревшего инструмента Task: включает `subagent_type`
804* `tool_input` (когда `OTEL_LOG_TOOL_DETAILS=1`): JSON-сериализованные аргументы инструмента. Отдельные значения более 512 символов усекаются, и полная нагрузка ограничена примерно 4 K символами. Применяется ко всем инструментам, включая инструменты MCP.804* `tool_input` (когда `OTEL_LOG_TOOL_DETAILS=1`): Сериализованные JSON аргументы инструмента. Отдельные значения свыше 512 символов усекаются, и полная нагрузка ограничена примерно 4 К символами. Применяется ко всем инструментам, включая инструменты MCP.
805 805
806<h4 id="api-request-event">806<h4 id="api-request-event">
807 Событие запроса API807 Событие запроса API
808</h4>808</h4>
809 809
810Логируется для каждого запроса API к Claude.810Регистрируется для каждого запроса API к Claude.
811 811
812**Имя события**: `claude_code.api_request`812**Имя события**: `claude_code.api_request`
813 813
816* Все [стандартные атрибуты](#standard-attributes)816* Все [стандартные атрибуты](#standard-attributes)
817* `event.name`: `"api_request"`817* `event.name`: `"api_request"`
818* `event.timestamp`: Временная метка ISO 8601818* `event.timestamp`: Временная метка ISO 8601
819* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)819* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
820* `model`: Используемая модель (например, "claude-sonnet-5")820* `model`: Используемая модель (например, "claude-sonnet-5")
821* `cost_usd`: Приблизительная стоимость в USD821* `cost_usd`: Предполагаемая стоимость в USD
822* `cost_usd_micros`: Приблизительная стоимость в миллионных долях доллара США, выданная как целое число822* `cost_usd_micros`: Предполагаемая стоимость в миллионных долях доллара США, выпущенная как целое число
823* `duration_ms`: Длительность запроса в миллисекундах823* `duration_ms`: Длительность запроса в миллисекундах
824* `input_tokens`: Количество входных токенов824* `input_tokens`: Количество входных токенов
825* `output_tokens`: Количество выходных токенов825* `output_tokens`: Количество выходных токенов
826* `cache_read_tokens`: Количество токенов, прочитанных из кэша826* `cache_read_tokens`: Количество токенов, прочитанных из кэша
827* `cache_creation_tokens`: Количество токенов, использованных для создания кэша827* `cache_creation_tokens`: Количество токенов, использованных для создания кэша
828* `request_id`: ID запроса Anthropic API из заголовка ответа `request-id`, такой как `"req_011..."`. Присутствует только, когда API возвращает его.828* `request_id`: ID запроса API Anthropic из заголовка ответа `request-id`, например `"req_011..."`. Присутствует только, когда API возвращает один.
829* `client_request_id`: UUID, созданный клиентом, отправленный как заголовок запроса `x-client-request-id`; см. таблицу [атрибутов корреляции событий](#event-correlation-attributes) для того, когда он присутствует. Требует Claude Code v2.1.214 или позже829* `client_request_id`: UUID, созданный клиентом, отправленный как заголовок запроса `x-client-request-id`; см. таблицу [атрибуты корреляции событий](#event-correlation-attributes) для того, когда он присутствует. Требуется Claude Code v2.1.214 или позже
830* `speed`: `"fast"` или `"normal"`, указывающий, был ли активен быстрый режим830* `speed`: `"fast"` или `"normal"`, указывающий, был ли активен быстрый режим
831* `query_source`: Подсистема, которая выдала запрос, такая как `"repl_main_thread"`, `"compact"` или имя подагента831* `query_source`: Подсистема, которая выдала запрос, например `"repl_main_thread"`, `"compact"` или имя подагента
832* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применяемый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, когда модель не поддерживает усилия.832* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применённый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, когда Claude Code не отправляет уровень усилий, например на модели, которая не поддерживает усилия.
833* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. Определения и поведение редактирования см. в разделе [Счетчик затрат](#cost-counter).833* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. См. [Счётчик стоимости](#cost-counter) для определений и поведения редактирования.
834 834
835<h4 id="api-error-event">835<h4 id="api-error-event">
836 Событие ошибки API836 Событие ошибки API
837</h4>837</h4>
838 838
839Логируется, когда запрос API к Claude не удается.839Регистрируется, когда запрос API к Claude не удаётся.
840 840
841**Имя события**: `claude_code.api_error`841**Имя события**: `claude_code.api_error`
842 842
845* Все [стандартные атрибуты](#standard-attributes)845* Все [стандартные атрибуты](#standard-attributes)
846* `event.name`: `"api_error"`846* `event.name`: `"api_error"`
847* `event.timestamp`: Временная метка ISO 8601847* `event.timestamp`: Временная метка ISO 8601
848* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)848* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
849* `model`: Используемая модель (например, "claude-sonnet-5")849* `model`: Используемая модель (например, "claude-sonnet-5")
850* `error`: Сообщение об ошибке850* `error`: Сообщение об ошибке
851* `status_code`: HTTP код состояния в виде числа. Отсутствует для ошибок, не связанных с HTTP, таких как сбои соединения.851* `status_code`: Код состояния HTTP как число. Отсутствует для ошибок, не связанных с HTTP, таких как сбои соединения.
852* `duration_ms`: Длительность запроса в миллисекундах852* `duration_ms`: Длительность запроса в миллисекундах
853* `attempt`: Общее количество попыток, включая исходный запрос (`1` означает, что повторных попыток не было)853* `attempt`: Общее количество попыток, включая исходный запрос (`1` означает, что повторных попыток не было)
854* `request_id`: ID запроса Anthropic API из заголовка ответа `request-id`, такой как `"req_011..."`. Присутствует только, когда API возвращает его.854* `request_id`: ID запроса API Anthropic из заголовка ответа `request-id`, например `"req_011..."`. Присутствует только, когда API возвращает один.
855* `client_request_id`: UUID, созданный клиентом, отправленный как заголовок запроса `x-client-request-id`. Доступен даже при сбое, таком как тайм-аут или ошибка соединения, которые никогда не создали `request_id` сервера; см. таблицу [атрибутов корреляции событий](#event-correlation-attributes) для того, когда он присутствует. Требует Claude Code v2.1.214 или позже855* `client_request_id`: UUID, созданный клиентом, отправленный как заголовок запроса `x-client-request-id`. Доступен даже при сбое, таком как тайм-аут или ошибка соединения, которые никогда не создали `request_id` сервера; см. таблицу [атрибуты корреляции событий](#event-correlation-attributes) для того, когда он присутствует. Требуется Claude Code v2.1.214 или позже
856* `speed`: `"fast"` или `"normal"`, указывающий, был ли активен быстрый режим856* `speed`: `"fast"` или `"normal"`, указывающий, был ли активен быстрый режим
857* `query_source`: Подсистема, которая выдала запрос, такая как `"repl_main_thread"`, `"compact"` или имя подагента857* `query_source`: Подсистема, которая выдала запрос, например `"repl_main_thread"`, `"compact"` или имя подагента
858* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применяемый к запросу. Отсутствует, когда модель не поддерживает усилия.858* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применённый к запросу. Отсутствует, когда Claude Code не отправляет уровень усилий, например на модели, которая не поддерживает усилия.
859* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. Определения и поведение редактирования см. в разделе [Счетчик затрат](#cost-counter).859* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. См. [Счётчик стоимости](#cost-counter) для определений и поведения редактирования.
860 860
861<h4 id="api-refusal-event">861<h4 id="api-refusal-event">
862 Событие отказа API862 Событие отказа API
863</h4>863</h4>
864 864
865Логируется, когда запрос API возвращает `stop_reason: "refusal"`. Отказы поступают в успешном потоке ответов, а не как ошибка HTTP, поэтому событие `api_error` не срабатывает для них. Это событие позволяет отслеживать частоту отказов и группировать отказы по тем же атрибутам, что и `api_request` и `api_error`.865Регистрируется, когда запрос API возвращает `stop_reason: "refusal"`. Отказы поступают на успешный поток ответов, а не как ошибка HTTP, поэтому событие `api_error` не срабатывает для них. Это событие позволяет вам отслеживать частоту отказов и группировать отказы по тем же атрибутам, что и `api_request` и `api_error`.
866 866
867**Имя события**: `claude_code.api_refusal`867**Имя события**: `claude_code.api_refusal`
868 868
871* Все [стандартные атрибуты](#standard-attributes)871* Все [стандартные атрибуты](#standard-attributes)
872* `event.name`: `"api_refusal"`872* `event.name`: `"api_refusal"`
873* `event.timestamp`: Временная метка ISO 8601873* `event.timestamp`: Временная метка ISO 8601
874* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)874* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
875* `model`: Идентификатор модели из запроса875* `model`: Идентификатор модели из запроса
876* `request_id`: ID запроса Anthropic API из заголовка ответа `request-id`, такой как `"req_011..."`. Присутствует только, когда API возвращает его.876* `request_id`: ID запроса API Anthropic из заголовка ответа `request-id`, например `"req_011..."`. Присутствует только, когда API возвращает один.
877* `query_source`: Подсистема, которая выдала запрос, такая как `"repl_main_thread"`, `"compact"` или имя подагента. Определения см. в разделе [`api_request`](#api-request-event).877* `query_source`: Подсистема, которая выдала запрос, например `"repl_main_thread"`, `"compact"` или имя подагента. См. [`api_request`](#api-request-event) для определений.
878* `speed`: Либо `"fast"` когда активен [Fast mode](/docs/ru/fast-mode), либо `"normal"`878* `speed`: Либо `"fast"`, когда активен [Быстрый режим](/docs/ru/fast-mode), либо `"normal"`
879* `attempt`: Номер попытки повтора. Первая попытка это `1`.879* `attempt`: Номер попытки повтора. Первая попытка — это `1`.
880* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применяемый к запросу. Отсутствует, когда модель не поддерживает усилия.880* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применённый к запросу. Отсутствует, когда Claude Code не отправляет уровень усилий, например на модели, которая не поддерживает усилия.
881* `server_fallback_hop`: `true` когда резервный вариант модели на стороне сервера API уже повторил этот отказ на другой модели, поэтому пользователь не видел этот конкретный отказ. `false` когда запрос закончился отказом. Один ход может выдать как событие `true` hop, так и позже событие `false` final, когда модель резервного варианта также отказывает.881* `server_fallback_hop`: `true`, когда резервный вариант модели на стороне сервера API уже повторил этот отказ на другой модели, поэтому пользователь не видел этот конкретный отказ. `false`, когда запрос закончился отказом. Один ход может выпустить как событие `true` hop, так и более позднее событие `false` final, когда модель резервного варианта также отказывает.
882* `has_category`: `true` когда ответ API содержал `stop_details.category` из `"cyber"`, `"bio"`, `"frontier_llm"` или `"reasoning_extraction"`. `false` когда ответ не содержал категорию или значение вне этого набора. Отсутствует, когда `server_fallback_hop` это `true`, потому что hop блоки не содержат `stop_details`.882* `has_category`: `true`, когда ответ API содержал `stop_details.category` из `"cyber"`, `"bio"`, `"frontier_llm"` или `"reasoning_extraction"`. `false`, когда ответ не содержал категорию или значение вне этого набора. Отсутствует, когда `server_fallback_hop` — это `true`, потому что hop блоки не содержат `stop_details`.
883* `has_explanation`: `true` когда ответ API содержал `stop_details.explanation`, иначе `false`. Отсутствует, когда `server_fallback_hop` это `true`.883* `has_explanation`: `true`, когда ответ API содержал `stop_details.explanation`, в противном случае `false`. Отсутствует, когда `server_fallback_hop` — это `true`.
884* `category`: Значение `stop_details.category` из ответа API. Один из `"cyber"`, `"bio"`, `"frontier_llm"` или `"reasoning_extraction"`. Присутствует только, когда установлен `OTEL_LOG_TOOL_DETAILS=1` и `has_category` это `true`.884* `category`: Значение `stop_details.category` из ответа API. Один из `"cyber"`, `"bio"`, `"frontier_llm"` или `"reasoning_extraction"`. Присутствует только, когда установлено `OTEL_LOG_TOOL_DETAILS=1` и `has_category` — это `true`.
885* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. Определения и поведение редактирования см. в разделе [Счетчик затрат](#cost-counter).885* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. См. [Счётчик стоимости](#cost-counter) для определений и поведения редактирования.
886 886
887<h4 id="api-request-body-event">887<h4 id="api-request-body-event">
888 Событие тела запроса API888 Событие тела запроса API
889</h4>889</h4>
890 890
891Логируется для каждой попытки запроса API, когда установлен `OTEL_LOG_RAW_API_BODIES`. Одно событие выдается за попытку, поэтому повторные попытки с скорректированными параметрами каждая производят свое собственное событие.891Регистрируется для каждой попытки запроса API, когда установлено `OTEL_LOG_RAW_API_BODIES`. Одно событие выпускается на попытку, поэтому повторные попытки с отрегулированными параметрами каждая создают своё собственное событие.
892 892
893**Имя события**: `claude_code.api_request_body`893**Имя события**: `claude_code.api_request_body`
894 894
897* Все [стандартные атрибуты](#standard-attributes)897* Все [стандартные атрибуты](#standard-attributes)
898* `event.name`: `"api_request_body"`898* `event.name`: `"api_request_body"`
899* `event.timestamp`: Временная метка ISO 8601899* `event.timestamp`: Временная метка ISO 8601
900* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)900* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
901* `body`: JSON-сериализованные параметры запроса Messages API, такие как системная подсказка, сообщения и инструменты, усеченные на лимит содержимого (60 КБ по умолчанию). Содержимое расширенного мышления в предыдущих ходах помощника скрыто. Выдается только в встроенном режиме (`OTEL_LOG_RAW_API_BODIES=1`).901* `body`: Сериализованные JSON параметры запроса Messages API, такие как системный запрос, сообщения и инструменты, усечённые на пределе содержания (60 КБ по умолчанию). Содержание расширенного мышления в предыдущих ходах помощника редактируется. Выпускается только в встроенном режиме (`OTEL_LOG_RAW_API_BODIES=1`).
902* `body_ref`: Абсолютный путь к файлу `<dir>/<uuid>.request.json`, содержащему неусеченное тело. Выдается только в режиме файла (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).902* `body_ref`: Абсолютный путь к файлу `<dir>/<uuid>.request.json`, содержащему неусечённое тело. Выпускается только в режиме файла (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).
903* `body_length`: Длина неусеченного тела. UTF-8 байты, когда `OTEL_LOG_RAW_API_BODIES=file:<dir>`, или единицы кода UTF-16, когда `=1`903* `body_length`: Неусечённая длина тела. Байты UTF-8, когда `OTEL_LOG_RAW_API_BODIES=file:<dir>`, или единицы кода UTF-16, когда `=1`
904* `body_truncated`: `"true"` когда произошло встроенное усечение. Отсутствует в режиме файла и когда усечение не произошло.904* `body_truncated`: `"true"`, когда произошло встроенное усечение. Отсутствует в режиме файла и когда усечение не произошло.
905* `model`: Идентификатор модели из параметров запроса905* `model`: Идентификатор модели из параметров запроса
906* `query_source`: Подсистема, которая выдала запрос (например, `"compact"`)906* `query_source`: Подсистема, которая выдала запрос (например, `"compact"`)
907* `request_body_id`: UUID, который идентифицирует тело запроса этой попытки. Событие [`api_response_body`](#api-response-body-event) для попытки, которая успешна, содержит то же значение, поэтому вы можете связать ответ с точным запросом, который его создал. Требует Claude Code v2.1.274 или позже907* `request_body_id`: UUID, который идентифицирует тело запроса этой попытки. Событие [`api_response_body`](#api-response-body-event) для попытки, которая успешна, содержит то же значение, поэтому вы можете связать ответ с точным запросом, который его создал. Требуется Claude Code v2.1.274 или позже
908 908
909<h4 id="api-response-body-event">909<h4 id="api-response-body-event">
910 Событие тела ответа API910 Событие тела ответа API
911</h4>911</h4>
912 912
913Логируется для каждого успешного ответа API, когда установлен `OTEL_LOG_RAW_API_BODIES`.913Регистрируется для каждого успешного ответа API, когда установлено `OTEL_LOG_RAW_API_BODIES`.
914 914
915В режиме файла (`OTEL_LOG_RAW_API_BODIES=file:<dir>`), Claude Code также добавляет одну строку JSON к `<dir>/index.jsonl` для каждого успешного ответа, с полями `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file` и `response_file`. Прочитайте его, чтобы найти файлы запроса и ответа за данным сообщением транскрипта без запроса к вашему бэкенду телеметрии. Файл индекса требует Claude Code v2.1.274 или позже.915В режиме файла (`OTEL_LOG_RAW_API_BODIES=file:<dir>`), Claude Code также добавляет одну строку JSON в `<dir>/index.jsonl` для каждого успешного ответа с полями `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file` и `response_file`. Прочитайте его, чтобы найти файлы запроса и ответа за данным сообщением стенограммы без запроса к вашему бэкенду телеметрии. Файл индекса требует Claude Code v2.1.274 или позже.
916 916
917**Имя события**: `claude_code.api_response_body`917**Имя события**: `claude_code.api_response_body`
918 918
921* Все [стандартные атрибуты](#standard-attributes)921* Все [стандартные атрибуты](#standard-attributes)
922* `event.name`: `"api_response_body"`922* `event.name`: `"api_response_body"`
923* `event.timestamp`: Временная метка ISO 8601923* `event.timestamp`: Временная метка ISO 8601
924* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)924* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
925* `body`: JSON-сериализованный ответ Messages API, включая id, блоки содержимого, использование и причину остановки, усеченный на лимит содержимого (60 КБ по умолчанию). Содержимое расширенного мышления скрыто. Выдается только в встроенном режиме (`OTEL_LOG_RAW_API_BODIES=1`).925* `body`: Сериализованный JSON ответ Messages API, включая id, блоки содержания, использование и причину остановки, усечённый на пределе содержания (60 КБ по умолчанию). Содержание расширенного мышления редактируется. Выпускается только в встроенном режиме (`OTEL_LOG_RAW_API_BODIES=1`).
926* `body_ref`: Абсолютный путь к файлу `<dir>/<request_id>.response.json`, содержащему неусеченное тело. Выдается только в режиме файла (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).926* `body_ref`: Абсолютный путь к файлу `<dir>/<request_id>.response.json`, содержащему неусечённое тело. Выпускается только в режиме файла (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).
927* `body_length`: Длина неусеченного тела. UTF-8 байты, когда `OTEL_LOG_RAW_API_BODIES=file:<dir>`, или единицы кода UTF-16, когда `=1`927* `body_length`: Неусечённая длина тела. Байты UTF-8, когда `OTEL_LOG_RAW_API_BODIES=file:<dir>`, или единицы кода UTF-16, когда `=1`
928* `body_truncated`: `"true"` когда произошло встроенное усечение. Отсутствует в режиме файла и когда усечение не произошло.928* `body_truncated`: `"true"`, когда произошло встроенное усечение. Отсутствует в режиме файла и когда усечение не произошло.
929* `model`: Идентификатор модели929* `model`: Идентификатор модели
930* `query_source`: Подсистема, которая выдала запрос930* `query_source`: Подсистема, которая выдала запрос
931* `request_id`: ID запроса Anthropic API из заголовка ответа `request-id`, такой как `"req_011..."`. Присутствует только, когда API возвращает его.931* `request_id`: ID запроса API Anthropic из заголовка ответа `request-id`, например `"req_011..."`. Присутствует только, когда API возвращает один.
932* `request_body_id`: `request_body_id` события [`api_request_body`](#api-request-body-event), на которое этот ответ отвечает. Требует Claude Code v2.1.274 или позже932* `request_body_id`: `request_body_id` события [`api_request_body`](#api-request-body-event), на которое этот ответ отвечает. Требуется Claude Code v2.1.274 или позже
933* `message.id`: ID сообщения, который API назначил ответу, поле `id` тела ответа. Требует Claude Code v2.1.274 или позже933* `message.id`: ID сообщения, назначенный API ответу, поле `id` тела ответа. Требуется Claude Code v2.1.274 или позже
934* `message.uuid`: UUID финальной записи транскрипта ответа. Вместе с `request_body_id` он связывает сообщение транскрипта с телами запроса и ответа позади него. Требует Claude Code v2.1.274 или позже934* `message.uuid`: UUID последней записи стенограммы ответа. Вместе с `request_body_id` он связывает сообщение стенограммы с телами запроса и ответа позади него. Требуется Claude Code v2.1.274 или позже
935 935
936<h4 id="tool-decision-event">936<h4 id="tool-decision-event">
937 Событие решения инструмента937 Событие решения инструмента
938</h4>938</h4>
939 939
940Логируется, когда принимается решение о разрешении инструмента (принять/отклонить).940Регистрируется, когда принимается решение о разрешении инструмента (принять/отклонить).
941 941
942**Имя события**: `claude_code.tool_decision`942**Имя события**: `claude_code.tool_decision`
943 943
946* Все [стандартные атрибуты](#standard-attributes)946* Все [стандартные атрибуты](#standard-attributes)
947* `event.name`: `"tool_decision"`947* `event.name`: `"tool_decision"`
948* `event.timestamp`: Временная метка ISO 8601948* `event.timestamp`: Временная метка ISO 8601
949* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)949* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
950* `tool_name`: Имя инструмента (например, "Read", "Edit", "Write", "NotebookEdit")950* `tool_name`: Имя инструмента (например, "Read", "Edit", "Write", "NotebookEdit")
951* `tool_use_id`: Уникальный идентификатор для этого вызова инструмента. Совпадает с `tool_use_id`, переданным в hooks, позволяя корреляцию между событиями OTel и данными, захваченными hooks.951* `tool_use_id`: Уникальный идентификатор для этого вызова инструмента. Совпадает с `tool_use_id`, переданным в hooks, позволяя корреляцию между событиями OTel и данными, захваченными hooks.
952* `decision`: Либо `"accept"`, либо `"reject"`952* `decision`: Либо `"accept"`, либо `"reject"`
953* `tool_source`: Всегда присутствует. Происхождение инструмента, как закрытый набор значений, авторизованных CLI. Требует Claude Code v2.1.214 или позже953* `tool_source`: Всегда присутствует. Происхождение инструмента как закрытый набор значений, созданных CLI. Требуется Claude Code v2.1.214 или позже
954 * `"builtin"`: собственные инструменты CLI954 * `"builtin"`: собственные инструменты CLI
955 * `"mcp"`: MCP серверы в целом955 * `"mcp"`: серверы MCP в целом
956 * `"sdk_host_builtin_mcp"`: встроенный в процесс сервер, встроенный в Claude Desktop, в сеансе, которым владеет Claude Desktop. Claude Desktop владеет сеансом, который он запустил из одной из своих собственных точек входа, `claude-desktop`, `claude-desktop-3p` или `local-agent`, когда этот сеанс не является вложенным дочерним; вложенные сеансы, включая сеансы, которые порождает Claude Code, сообщают эти серверы как `"mcp"`956 * `"sdk_host_builtin_mcp"`: встроенный в процесс сервер, встроенный в сам Claude Desktop, в сеансе, которым владеет Claude Desktop. Claude Desktop владеет сеансом, который он запустил из одной из своих собственных точек входа, `claude-desktop`, `claude-desktop-3p` или `local-agent`, когда этот сеанс не является вложенным дочерним; вложенные сеансы, включая сеансы, которые сам Claude Code порождает, сообщают эти серверы как `"mcp"`
957* `source`: Источник решения:957* `source`: Откуда пришло решение:
958 * `"config"`: Решено автоматически без запроса, на основе параметров проекта, правил разрешения или запрета в личных параметрах пользователя, корпоративной управляемой политики, флагов `--allowedTools` или `--disallowedTools`, активного режима разрешений, разрешения в области сеанса из более ранней подсказки в том же интерактивном сеансе CLI, или потому что инструмент по своей природе безопасен. Событие не указывает, какой из этих источников совпал. Claude Code также сообщает `"config"`, когда сам запрос на запрос разрешения не удается, например когда callback [`canUseTool`](/docs/ru/agent-sdk/typescript#canusetool) Agent SDK или инструмент [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) возвращает недействительный результат, или когда входной поток закрывается во время ожидания запроса. До v2.1.216 Claude Code сообщал эти сбои как `"user_reject"`.958 * `"config"`: Решено автоматически без подсказки, на основе параметров проекта, правил разрешения или запрета в личных параметрах пользователя, политики, управляемой предприятием, флагов `--allowedTools` или `--disallowedTools`, активного режима разрешения, предоставления области действия сеанса из более раннего запроса в одном интерактивном сеансе CLI или потому что инструмент по своей природе безопасен. Событие не указывает, какой из этих источников совпадал. Claude Code также сообщает `"config"`, когда сам запрос подсказки разрешения не удаётся, например когда обратный вызов [`canUseTool`](/docs/ru/agent-sdk/typescript#canusetool) Agent SDK или инструмент [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) возвращает недействительный результат, или когда входной поток закрывается, пока запрос ожидает. До v2.1.216 Claude Code сообщал эти сбои как `"user_reject"`.
959 * `"hook"`: Hook `PreToolUse` или `PermissionRequest` вернул решение.959 * `"hook"`: Hook `PreToolUse` или `PermissionRequest` вернул решение.
960 * `"user_permanent"`: Выдается, когда пользователь выбрал "Да, и больше не спрашивать для ..." при запросе разрешения, что сохраняет правило разрешения в его личных параметрах. В интерактивном CLI это выдается только для самого этого выбора; более поздние вызовы, которые соответствуют сохраненному правилу, выдают `"config"` вместо этого. В Agent SDK или неинтерактивных сеансах `-p` как начальный выбор, так и более поздние совпадения правил выдают `"user_permanent"`. Рассматривается как принятие.960 * `"user_permanent"`: Выпускается, когда пользователь выбрал "Да, и больше не спрашивай для ..." в подсказке разрешения, которая сохраняет правило разрешения в его личные параметры. В интерактивном CLI это выпускается только для самого этого выбора; более поздние вызовы, которые совпадают с сохранённым правилом, выпускают `"config"` вместо этого. В сеансах Agent SDK или неинтерактивных `-p`, как исходный выбор, так и более поздние совпадения правил выпускают `"user_permanent"`. Рассматривается как принятие.
961 * `"user_temporary"`: Выдается, когда пользователь выбрал "Да" при запросе разрешения для одноразового одобрения, или выбрал один из вариантов, который предоставляет доступ на оставшуюся часть сеанса на запросе редактирования или чтения файла. В интерактивном CLI это выдается только для самого выбора; более поздние вызовы, разрешенные этим разрешением в области сеанса, выдают `"config"` вместо этого. В Agent SDK или неинтерактивных сеансах `-p` как выбор, так и более поздние совпадения выдают `"user_temporary"`. Рассматривается как принятие.961 * `"user_temporary"`: Выпускается, когда пользователь выбрал "Да" в подсказке разрешения для одобрения в один раз, или выбрал опцию, которая предоставляет доступ на оставшуюся часть сеанса в подсказке редактирования или чтения файла. В интерактивном CLI это выпускается только для самого выбора; более поздние вызовы, разрешённые этим предоставлением области действия сеанса, выпускают `"config"` вместо этого. В сеансах Agent SDK или неинтерактивных `-p`, как выбор, так и более поздние совпадения выпускают `"user_temporary"`. Рассматривается как принятие.
962 * `"user_abort"`: Выдается, когда пользователь отклонил запрос разрешения без ответа. В Agent SDK и неинтерактивных сеансах `-p` это включает прерывание хода, пока запрос разрешения `canUseTool` или `--permission-prompt-tool` ожидает; до v2.1.216 Claude Code сообщал это прерывание как `"user_reject"`. Рассматривается как отклонение.962 * `"user_abort"`: Выпускается, когда пользователь отклонил подсказку разрешения без ответа. В сеансах Agent SDK и неинтерактивных `-p`, это включает прерывание хода, пока запрос разрешения `canUseTool` или `--permission-prompt-tool` ожидает; до v2.1.216 Claude Code сообщал это прерывание как `"user_reject"`. Рассматривается как отклонение.
963 * `"user_reject"`: Выдается, когда пользователь выбрал "Нет" при запросе. В интерактивном CLI это выдается только для самого этого выбора; вызовы, которые соответствуют правилу отказа в личных параметрах пользователя, выдают `"config"` вместо этого. В Agent SDK или неинтерактивных сеансах `-p` вызовы, которые соответствуют правилу отказа в личных параметрах, выдают `"user_reject"`. Рассматривается как отклонение.963 * `"user_reject"`: Выпускается, когда пользователь выбрал "Нет" при подсказке. В интерактивном CLI это выпускается только для самого этого выбора; вызовы, которые совпадают с правилом запрета в личных параметрах пользователя, выпускают `"config"` вместо этого. В сеансах Agent SDK или неинтерактивных `-p`, вызовы, которые совпадают с правилом запрета в личных параметрах, выпускают `"user_reject"`. Рассматривается как отклонение.
964* `tool_parameters` (когда `OTEL_LOG_TOOL_DETAILS=1`): JSON строка, содержащая параметры, специфичные для инструмента. Та же форма, что и [Событие результата инструмента](#tool-result-event), минус поля после выполнения, такие как `git_commit_id`. Значения могут отличаться от `tool_result` для принятого вызова, если решение о разрешении переписывает входные данные инструмента через `updatedInput`. Используйте этот атрибут, чтобы увидеть, какая команда была отклонена, когда `decision` это `"reject"`.964* `tool_parameters` (когда `OTEL_LOG_TOOL_DETAILS=1`): Строка JSON, содержащая параметры, специфичные для инструмента. Та же форма, что и [Событие результата инструмента](#tool-result-event), минус поля после выполнения, такие как `git_commit_id`. Значения могут отличаться от `tool_result` для принятого вызова, если решение разрешения переписывает вход инструмента через `updatedInput`. Используйте этот атрибут, чтобы увидеть, какая команда была отклонена, когда `decision` — это `"reject"`.
965 * Для инструментов `"sdk_host_builtin_mcp"`: `mcp_server_name` и `mcp_tool_name` включаются даже когда `OTEL_LOG_TOOL_DETAILS` отключен, потому что хост-приложение определяет эти имена; без них отклоненный вызов одного из этих встроенных серверов был бы неатрибутируемым на потоке по умолчанию. Для пользовательских MCP серверов `tool_name` события всегда буквальный `"mcp_tool"`, и имена сервера и инструмента появляются только в `tool_parameters` с флагом включенным; содержимое аргумента требует флага везде. Требует Claude Code v2.1.214 или позже965 * Для инструментов `"sdk_host_builtin_mcp"`: `mcp_server_name` и `mcp_tool_name` включаются даже когда `OTEL_LOG_TOOL_DETAILS` отключен, потому что приложение хоста определяет эти имена; без них отклонённый вызов одного из этих встроенных серверов был бы неатрибутируемым в потоке по умолчанию. Для серверов MCP, настроенных пользователем, `tool_name` события всегда является буквальным `"mcp_tool"`, и имена сервера и инструмента отображаются только в `tool_parameters` с включённым флагом; содержание аргумента требует флага везде. Требуется Claude Code v2.1.214 или позже
966 * Для инструмента Bash: включает `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. Инструмент bash рабочей области приложения для рабочего стола также сообщает `tool_name` как `Bash`, но включает только `bash_command`, `full_command` и `timeout`966 * Для инструмента Bash: включает `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. Инструмент bash рабочей области приложения для рабочего стола также сообщает `tool_name` как `Bash`, но включает только `bash_command`, `full_command` и `timeout`
967 * Для инструментов MCP: включает `mcp_server_name`, `mcp_tool_name`967 * Для инструментов MCP: включает `mcp_server_name`, `mcp_tool_name`
968 * Для инструмента Skill: включает `skill_name`968 * Для инструмента Skill: включает `skill_name`
969 * Для инструмента Agent или устаревшего инструмента Task: включает `subagent_type`969 * Для инструмента Agent или устаревшего инструмента Task: включает `subagent_type`
970 970
971<h4 id="permission-mode-changed-event">971<h4 id="permission-mode-changed-event">
972 Событие изменения режима разрешений972 Событие изменения режима разрешения
973</h4>973</h4>
974 974
975Логируется, когда режим разрешений изменяется, например при циклировании Shift+Tab, выходе из Plan Mode или проверке gate автоматического режима.975Регистрируется, когда режим разрешения изменяется, например из цикла Shift+Tab, выхода из режима плана или проверки ворот автоматического режима.
976 976
977**Имя события**: `claude_code.permission_mode_changed`977**Имя события**: `claude_code.permission_mode_changed`
978 978
981* Все [стандартные атрибуты](#standard-attributes)981* Все [стандартные атрибуты](#standard-attributes)
982* `event.name`: `"permission_mode_changed"`982* `event.name`: `"permission_mode_changed"`
983* `event.timestamp`: Временная метка ISO 8601983* `event.timestamp`: Временная метка ISO 8601
984* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)984* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
985* `from_mode`: Предыдущий режим разрешений, например `"default"`, `"plan"`, `"acceptEdits"`, `"auto"` или `"bypassPermissions"`985* `from_mode`: Предыдущий режим разрешения, например `"default"`, `"plan"`, `"acceptEdits"`, `"auto"` или `"bypassPermissions"`
986* `to_mode`: Новый режим разрешений986* `to_mode`: Новый режим разрешения
987* `trigger`: Что вызвало изменение. Один из `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"` или `"auto_opt_in"`. Отсутствует, когда переход исходит из SDK или моста987* `trigger`: Что вызвало изменение. Один из `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"` или `"auto_opt_in"`. Отсутствует, когда переход происходит из SDK или моста
988 988
989<h4 id="auth-event">989<h4 id="auth-event">
990 Событие аутентификации990 Событие аутентификации
991</h4>991</h4>
992 992
993Логируется, когда `/login` или `/logout` завершается.993Регистрируется, когда `/login` или `/logout` завершается.
994 994
995**Имя события**: `claude_code.auth`995**Имя события**: `claude_code.auth`
996 996
999* Все [стандартные атрибуты](#standard-attributes)999* Все [стандартные атрибуты](#standard-attributes)
1000* `event.name`: `"auth"`1000* `event.name`: `"auth"`
1001* `event.timestamp`: Временная метка ISO 86011001* `event.timestamp`: Временная метка ISO 8601
1002* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1002* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1003* `action`: `"login"` или `"logout"`1003* `action`: `"login"` или `"logout"`
1004* `success`: `"true"` или `"false"`1004* `success`: `"true"` или `"false"`
1005* `auth_method`: Метод аутентификации, такой как `"oauth"`1005* `auth_method`: Метод аутентификации, например `"oauth"`
1006* `error_category`: Категориальный вид ошибки при сбое действия. Исходное сообщение об ошибке никогда не включается1006* `error_category`: Категориальный вид ошибки, когда действие не удалось. Необработанное сообщение об ошибке никогда не включается
1007* `status_code`: HTTP код состояния в виде строки при сбое действия с ошибкой HTTP1007* `status_code`: Код состояния HTTP как строка, когда действие не удалось с ошибкой HTTP
1008 1008
1009<h4 id="mcp-server-connection-event">1009<h4 id="mcp-server-connection-event">
1010 Событие подключения MCP сервера1010 Событие подключения сервера MCP
1011</h4>1011</h4>
1012 1012
1013Логируется, когда MCP сервер подключается, отключается или не удается подключиться.1013Регистрируется, когда сервер MCP подключается, отключается или не удаётся подключиться.
1014 1014
1015**Имя события**: `claude_code.mcp_server_connection`1015**Имя события**: `claude_code.mcp_server_connection`
1016 1016
1019* Все [стандартные атрибуты](#standard-attributes)1019* Все [стандартные атрибуты](#standard-attributes)
1020* `event.name`: `"mcp_server_connection"`1020* `event.name`: `"mcp_server_connection"`
1021* `event.timestamp`: Временная метка ISO 86011021* `event.timestamp`: Временная метка ISO 8601
1022* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1022* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1023* `status`: `"connected"`, `"failed"` или `"disconnected"`1023* `status`: `"connected"`, `"failed"` или `"disconnected"`
1024* `transport_type`: Транспорт сервера, такой как `"stdio"`, `"sse"` или `"http"`1024* `transport_type`: Транспорт сервера, например `"stdio"`, `"sse"` или `"http"`
1025* `server_scope`: Область, в которой настроен сервер, такая как `"user"`, `"project"` или `"local"`1025* `server_scope`: Область, в которой настроен сервер, например `"user"`, `"project"` или `"local"`
1026* `duration_ms`: Длительность попытки подключения в миллисекундах1026* `duration_ms`: Длительность попытки подключения в миллисекундах
1027* `error_code`: Код ошибки при сбое подключения1027* `error_code`: Код ошибки, когда подключение не удалось
1028* `is_plugin`: `true` когда сервер предоставляется плагином, `false` в противном случае1028* `is_plugin`: `true`, когда сервер предоставляется плагином, `false` в противном случае
1029* `plugin_id_hash` (когда `is_plugin` это `true`): Стабильный хеш имени плагина и маркетплейса для группировки событий по плагину без раскрытия имени. Claude Code вычисляет его, как описано в разделе [Событие загрузки плагина](#plugin-loaded-event)1029* `plugin_id_hash` (когда `is_plugin` — это `true`): Стабильный хеш имени плагина и маркетплейса для группировки событий по плагину без раскрытия имени. Claude Code вычисляет его, как описано в [событие загрузки плагина](#plugin-loaded-event)
1030* `plugin.name` (когда `is_plugin` это `true`): Имя плагина, который предоставляет сервер. Для плагинов третьих сторон это буквальная строка `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`; это защищает имена плагинов третьих сторон от появления в логах по умолчанию. Плагины из официальных источников Anthropic всегда идентифицируются по имени. Атрибуты `plugin_id_hash` и `plugin.name` поступают на ваш собственный бэкенд мониторинга и не отправляются в Anthropic1030* `plugin.name` (когда `is_plugin` — это `true`): Имя плагина, который предоставляет сервер. Для плагинов третьих сторон это буквальная строка `"third-party"`, если не установлено `OTEL_LOG_TOOL_DETAILS=1`; это защищает имена плагинов третьих сторон от появления в логах по умолчанию. Плагины из официальных источников Anthropic всегда идентифицируются по имени. Атрибуты `plugin_id_hash` и `plugin.name` передаются только вашему собственному бэкенду мониторинга и не отправляются в Anthropic
1031* `server_name` (когда `OTEL_LOG_TOOL_DETAILS=1`): Настроенное имя сервера1031* `server_name` (когда `OTEL_LOG_TOOL_DETAILS=1`): Настроенное имя сервера
1032* `error` (когда `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке при сбое подключения1032* `error` (когда `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке, когда подключение не удалось
1033 1033
1034<h4 id="internal-error-event">1034<h4 id="internal-error-event">
1035 Событие внутренней ошибки1035 Событие внутренней ошибки
1036</h4>1036</h4>
1037 1037
1038Логируется, когда Claude Code перехватывает неожиданную внутреннюю ошибку. Записываются только имя класса ошибки и код в стиле errno. Сообщение об ошибке и трассировка стека никогда не включаются. Это событие не выдается при запуске против Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, или когда установлен `DISABLE_ERROR_REPORTING`.1038Регистрируется, когда Claude Code перехватывает неожиданную внутреннюю ошибку. Записываются только имя класса ошибки и код в стиле errno. Сообщение об ошибке и трассировка стека никогда не включаются. Это событие не выпускается при запуске против Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, или когда установлено `DISABLE_ERROR_REPORTING`.
1039 1039
1040**Имя события**: `claude_code.internal_error`1040**Имя события**: `claude_code.internal_error`
1041 1041
1044* Все [стандартные атрибуты](#standard-attributes)1044* Все [стандартные атрибуты](#standard-attributes)
1045* `event.name`: `"internal_error"`1045* `event.name`: `"internal_error"`
1046* `event.timestamp`: Временная метка ISO 86011046* `event.timestamp`: Временная метка ISO 8601
1047* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1047* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1048* `error_name`: Имя класса ошибки, такой как `"TypeError"` или `"SyntaxError"`1048* `error_name`: Имя класса ошибки, например `"TypeError"` или `"SyntaxError"`
1049* `error_code`: Код errno Node.js, такой как `"ENOENT"`, когда присутствует в ошибке1049* `error_code`: Код errno Node.js, такой как `"ENOENT"`, когда присутствует на ошибке
1050 1050
1051<h4 id="plugin-installed-event">1051<h4 id="plugin-installed-event">
1052 Событие установки плагина1052 Событие установки плагина
1053</h4>1053</h4>
1054 1054
1055Логируется, когда плагин завершает установку, как из команды CLI `claude plugin install`, так и из интерактивного UI `/plugin`.1055Регистрируется, когда плагин завершает установку, как из команды CLI `claude plugin install`, так и из интерактивного пользовательского интерфейса `/plugin`.
1056 1056
1057**Имя события**: `claude_code.plugin_installed`1057**Имя события**: `claude_code.plugin_installed`
1058 1058
1061* Все [стандартные атрибуты](#standard-attributes)1061* Все [стандартные атрибуты](#standard-attributes)
1062* `event.name`: `"plugin_installed"`1062* `event.name`: `"plugin_installed"`
1063* `event.timestamp`: Временная метка ISO 86011063* `event.timestamp`: Временная метка ISO 8601
1064* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1064* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1065* `marketplace.is_official`: `"true"` если маркетплейс является официальным маркетплейсом Anthropic, `"false"` в противном случае1065* `marketplace.is_official`: `"true"`, если маркетплейс является официальным маркетплейсом Anthropic, `"false"` в противном случае
1066* `install.trigger`: `"cli"` или `"ui"`1066* `install.trigger`: `"cli"` или `"ui"`
1067* `plugin.name`: Имя установленного плагина. Для сторонних маркетплейсов это включается только, когда `OTEL_LOG_TOOL_DETAILS=1`1067* `plugin.name`: Имя установленного плагина. Для маркетплейсов третьих сторон это включается только, когда установлено `OTEL_LOG_TOOL_DETAILS=1`
1068* `plugin.version`: Версия плагина, когда объявлена в записи маркетплейса. Для сторонних маркетплейсов это включается только, когда `OTEL_LOG_TOOL_DETAILS=1`1068* `plugin.version`: Версия плагина, когда объявлена в записи маркетплейса. Для маркетплейсов третьих сторон это включается только, когда установлено `OTEL_LOG_TOOL_DETAILS=1`
1069* `marketplace.name`: Маркетплейс, из которого был установлен плагин. Для сторонних маркетплейсов это включается только, когда `OTEL_LOG_TOOL_DETAILS=1`1069* `marketplace.name`: Маркетплейс, из которого был установлен плагин. Для маркетплейсов третьих сторон это включается только, когда установлено `OTEL_LOG_TOOL_DETAILS=1`
1070 1070
1071<h4 id="plugin-loaded-event">1071<h4 id="plugin-loaded-event">
1072 Событие загрузки плагина1072 Событие загрузки плагина
1073</h4>1073</h4>
1074 1074
1075Логируется один раз для каждого включенного плагина при запуске сеанса. Используйте это событие для инвентаризации активных плагинов в вашем парке, как дополнение к `plugin_installed`, которое записывает само действие установки.1075Регистрируется один раз на включённый плагин при запуске сеанса. Используйте это событие для инвентаризации активных плагинов в вашем парке, как дополнение к `plugin_installed`, которое записывает само действие установки.
1076 1076
1077**Имя события**: `claude_code.plugin_loaded`1077**Имя события**: `claude_code.plugin_loaded`
1078 1078
1081* Все [стандартные атрибуты](#standard-attributes)1081* Все [стандартные атрибуты](#standard-attributes)
1082* `event.name`: `"plugin_loaded"`1082* `event.name`: `"plugin_loaded"`
1083* `event.timestamp`: Временная метка ISO 86011083* `event.timestamp`: Временная метка ISO 8601
1084* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1084* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1085* `plugin.name`: имя плагина. Для плагинов вне официального маркетплейса и встроенного пакета значение `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`1085* `plugin.name`: имя плагина. Для плагинов вне официального маркетплейса и встроенного пакета значение — это `"third-party"`, если не установлено `OTEL_LOG_TOOL_DETAILS=1`
1086* `marketplace.name`: маркетплейс, из которого был установлен плагин, когда известен. Скрыто как `"third-party"` при том же условии, что и `plugin.name`1086* `marketplace.name`: маркетплейс, из которого был установлен плагин, когда известен. Редактируется в `"third-party"` при том же условии, что и `plugin.name`
1087* `plugin.version`: версия из манифеста плагина. Включается только, когда имя не скрыто и манифест объявляет версию1087* `plugin.version`: версия из манифеста плагина. Включается только, когда имя не редактируется и манифест объявляет версию
1088* `plugin.scope`: категория происхождения для плагина: `"official"`, `"community"`, `"org"`, `"user-local"` или `"default-bundle"`1088* `plugin.scope`: категория происхождения для плагина: `"official"`, `"community"`, `"org"`, `"user-local"` или `"default-bundle"`
1089* `enabled_via`: как плагин был включен: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"` или `"user-install"`. Значение `"admin-install"` означает, что плагин установлен как обязательный или автоустановка для вашей организации в [**Organization settings > Plugins**](https://claude.ai/admin-settings/plugins). До v2.1.246 Claude Code сообщал эти плагины как `"user-install"` или `"seed-mount"`1089* `enabled_via`: как плагин стал включённым: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"` или `"user-install"`. Значение `"admin-install"` означает, что плагин установлен как обязательный или автоустановка для вашей организации в [**Organization settings > Plugins**](https://claude.ai/admin-settings/plugins). До v2.1.246 Claude Code сообщал эти плагины как `"user-install"` или `"seed-mount"`
1090* `plugin_id_hash`: детерминированный хеш имени плагина и маркетплейса, отправляемый только на ваш настроенный экспортер. Позволяет вам подсчитать различные плагины третьих сторон, загруженные в вашем парке, без записи их имен. Для [плагинов, синхронизированных из claude.ai](/docs/ru/plugins-reference#synced-plugins), Claude Code хеширует имя плагина с именем маркетплейса, которое claude.ai сообщает для плагина, или с `synced` в противном случае. До v2.1.246 Claude Code не использовал имя маркетплейса claude.ai в хеше1090* `plugin_id_hash`: детерминированный хеш имени плагина и маркетплейса, отправляемый только вашему настроенному экспортёру. Позволяет вам считать отдельные плагины третьих сторон, загруженные в вашем парке, без записи их имён. Для [плагинов, синхронизированных из claude.ai](/docs/ru/plugins-reference#synced-plugins), Claude Code хеширует имя плагина с именем маркетплейса, которое claude.ai сообщает для плагина, или с `synced` в противном случае. До v2.1.246 Claude Code не использовал имя маркетплейса claude.ai сообщает в хеше
1091* `has_hooks`: предоставляет ли плагин hooks1091* `has_hooks`: предоставляет ли плагин hooks
1092* `has_mcp`: предоставляет ли плагин MCP серверы1092* `has_mcp`: предоставляет ли плагин серверы MCP
1093* `host_owned_mcp`: `true` когда хост SDK управляет подключениями MCP этого плагина и Claude Code пропустил чтение конфигурации MCP сервера плагина, `false` в противном случае. Требует Claude Code v2.1.172 или позже1093* `host_owned_mcp`: `true`, когда хост SDK управляет подключениями MCP этого плагина и Claude Code пропустил чтение конфигурации сервера MCP плагина, `false` в противном случае. Требуется Claude Code v2.1.172 или позже
1094* `skill_path_count`: количество каталогов навыков, которые объявляет плагин1094* `skill_path_count`: количество каталогов навыков, которые объявляет плагин
1095* `command_path_count`: количество каталогов команд, которые объявляет плагин1095* `command_path_count`: количество каталогов команд, которые объявляет плагин
1096* `agent_path_count`: количество каталогов агентов, которые объявляет плагин1096* `agent_path_count`: количество каталогов агентов, которые объявляет плагин
1097* `safe_mode`: `"true"` когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. В безопасном режиме это событие сообщает только настроенный инвентарь; команды, навыки, hooks и MCP серверы плагина не загружаются. Требует Claude Code v2.1.169 или позже1097* `safe_mode`: `"true"`, когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. В безопасном режиме это событие сообщает только настроенный инвентарь; команды, навыки, hooks и серверы MCP плагина не загружаются. Требуется Claude Code v2.1.169 или позже
1098 1098
1099<h4 id="skill-activated-event">1099<h4 id="skill-activated-event">
1100 Событие активации навыка1100 Событие активации навыка
1101</h4>1101</h4>
1102 1102
1103Логируется, когда навык вызывается, будь то Claude вызывает его через инструмент Skill или вы запускаете его как команду `/`.1103Регистрируется, когда навык вызывается, будь то Claude вызывает его через инструмент Skill или вы запускаете его как команду `/`.
1104 1104
1105**Имя события**: `claude_code.skill_activated`1105**Имя события**: `claude_code.skill_activated`
1106 1106
1109* Все [стандартные атрибуты](#standard-attributes)1109* Все [стандартные атрибуты](#standard-attributes)
1110* `event.name`: `"skill_activated"`1110* `event.name`: `"skill_activated"`
1111* `event.timestamp`: Временная метка ISO 86011111* `event.timestamp`: Временная метка ISO 8601
1112* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1112* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1113* `skill.name`: Имя навыка. Для определяемых пользователем и сторонних плагин навыков значение является заполнителем `"custom_skill"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`1113* `skill.name`: Имя навыка. Для определённых пользователем и навыков плагинов третьих сторон значение — это заполнитель `"custom_skill"`, если не установлено `OTEL_LOG_TOOL_DETAILS=1`
1114* `invocation_trigger`: Как был вызван навык (`"user-slash"`, `"claude-proactive"` или `"nested-skill"`)1114* `invocation_trigger`: Как был вызван навык (`"user-slash"`, `"claude-proactive"` или `"nested-skill"`)
1115* `skill.source`: Откуда был загружен навык (например, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)1115* `skill.source`: Откуда был загружен навык (например, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)
1116* `skill.kind`: `"workflow"` когда навык является навыком workflow. Отсутствует в противном случае1116* `skill.kind`: `"workflow"`, когда навык является навыком рабочего процесса. Отсутствует в противном случае
1117* `plugin.name` (когда `OTEL_LOG_TOOL_DETAILS=1` или плагин из официального маркетплейса): Имя владельца плагина, когда навык предоставляется плагином1117* `plugin.name` (когда `OTEL_LOG_TOOL_DETAILS=1` или плагин из официального маркетплейса): Имя владеющего плагина, когда навык предоставляется плагином
1118* `marketplace.name` (когда `OTEL_LOG_TOOL_DETAILS=1` или плагин из официального маркетплейса): Маркетплейс владельца плагина, когда навык предоставляется плагином1118* `marketplace.name` (когда `OTEL_LOG_TOOL_DETAILS=1` или плагин из официального маркетплейса): Маркетплейс, из которого был установлен владеющий плагин, когда навык предоставляется плагином
1119 1119
1120<h4 id="at-mention-event">1120<h4 id="at-mention-event">
1121 Событие упоминания @1121 Событие упоминания @
1122</h4>1122</h4>
1123 1123
1124Логируется, когда Claude Code разрешает упоминание `@` в подсказке. Не каждое упоминание выдает событие: пути раннего выхода, такие как отказ в разрешении, файлы большого размера, вложения ссылок PDF и сбои при перечислении каталогов, возвращаются без логирования.1124Регистрируется, когда Claude Code разрешает упоминание `@` в запросе. Не каждое упоминание выпускает событие: пути раннего выхода, такие как отказы в разрешении, файлы чрезмерного размера, вложения ссылок PDF и сбои перечисления каталогов, возвращаются без логирования.
1125 1125
1126**Имя события**: `claude_code.at_mention`1126**Имя события**: `claude_code.at_mention`
1127 1127
1130* Все [стандартные атрибуты](#standard-attributes)1130* Все [стандартные атрибуты](#standard-attributes)
1131* `event.name`: `"at_mention"`1131* `event.name`: `"at_mention"`
1132* `event.timestamp`: Временная метка ISO 86011132* `event.timestamp`: Временная метка ISO 8601
1133* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1133* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1134* `mention_type`: Тип упоминания (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). Значение `"peer"` означает, что вы упомянули [один из ваших других сеансов Claude Code](/docs/ru/cross-session-messaging). Требует Claude Code v2.1.232 или позже1134* `mention_type`: Тип упоминания (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). Значение `"peer"` означает, что вы упомянули [один из ваших других сеансов Claude Code](/docs/ru/cross-session-messaging). Требуется Claude Code v2.1.232 или позже
1135* `success`: Было ли упоминание успешно разрешено (`"true"` или `"false"`)1135* `success`: Было ли упоминание успешно разрешено (`"true"` или `"false"`)
1136 1136
1137<h4 id="api-retries-exhausted-event">1137<h4 id="api-retries-exhausted-event">
1138 Событие исчерпания повторных попыток API1138 Событие исчерпания повторных попыток API
1139</h4>1139</h4>
1140 1140
1141Логируется один раз, когда запрос API не удается после более чем одной попытки. Выдается вместе с финальным событием `api_error`.1141Регистрируется один раз, когда запрос API не удаётся после более чем одной попытки. Выпускается вместе с финальным событием `api_error`.
1142 1142
1143**Имя события**: `claude_code.api_retries_exhausted`1143**Имя события**: `claude_code.api_retries_exhausted`
1144 1144
1147* Все [стандартные атрибуты](#standard-attributes)1147* Все [стандартные атрибуты](#standard-attributes)
1148* `event.name`: `"api_retries_exhausted"`1148* `event.name`: `"api_retries_exhausted"`
1149* `event.timestamp`: Временная метка ISO 86011149* `event.timestamp`: Временная метка ISO 8601
1150* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1150* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1151* `model`: Используемая модель1151* `model`: Используемая модель
1152* `error`: Финальное сообщение об ошибке1152* `error`: Финальное сообщение об ошибке
1153* `status_code`: HTTP код состояния в виде числа. Отсутствует для ошибок, не связанных с HTTP.1153* `status_code`: Код состояния HTTP как число. Отсутствует для ошибок, не связанных с HTTP.
1154* `total_attempts`: Общее количество попыток1154* `total_attempts`: Общее количество попыток
1155* `total_retry_duration_ms`: Общее время в реальном времени по всем попыткам1155* `total_retry_duration_ms`: Общее время на стене часов во всех попытках
1156* `speed`: `"fast"` или `"normal"`1156* `speed`: `"fast"` или `"normal"`
1157 1157
1158<h4 id="hook-registered-event">1158<h4 id="hook-registered-event">
1159 Событие регистрации hook1159 Событие регистрации hook
1160</h4>1160</h4>
1161 1161
1162Логируется один раз для каждого настроенного hook при запуске сеанса. Используйте это событие для инвентаризации активных hooks в вашем парке, как дополнение к событиям `hook_execution_start` и `hook_execution_complete` для каждого выполнения.1162Регистрируется один раз на настроенный hook при запуске сеанса. Используйте это событие для инвентаризации активных hooks в вашем парке, как дополнение к событиям `hook_execution_start` и `hook_execution_complete` на выполнение.
1163 1163
1164**Имя события**: `claude_code.hook_registered`1164**Имя события**: `claude_code.hook_registered`
1165 1165
1168* Все [стандартные атрибуты](#standard-attributes)1168* Все [стандартные атрибуты](#standard-attributes)
1169* `event.name`: `"hook_registered"`1169* `event.name`: `"hook_registered"`
1170* `event.timestamp`: Временная метка ISO 86011170* `event.timestamp`: Временная метка ISO 8601
1171* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1171* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1172* `hook_event`: тип события hook, такой как `"PreToolUse"` или `"PostToolUse"`1172* `hook_event`: тип события hook, например `"PreToolUse"` или `"PostToolUse"`
1173* `hook_type`: тип реализации hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` или `"agent"`1173* `hook_type`: тип реализации hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` или `"agent"`
1174* `hook_source`: где определен hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` или `"pluginHook"`1174* `hook_source`: где определён hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` или `"pluginHook"`
1175* `safe_mode`: `"true"` когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. Требует Claude Code v2.1.169 или позже1175* `safe_mode`: `"true"`, когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. Требуется Claude Code v2.1.169 или позже
1176* `hook_matcher` (когда `OTEL_LOG_TOOL_DETAILS=1`): строка matcher из конфигурации hook, когда она установлена1176* `hook_matcher` (когда `OTEL_LOG_TOOL_DETAILS=1`): строка сопоставления из конфигурации hook, когда она установлена
1177* `plugin.name` (когда `hook_source` это `"pluginHook"`): имя участвующего плагина. Для плагинов вне официального маркетплейса и встроенного пакета значение `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`1177* `plugin.name` (когда `hook_source` — это `"pluginHook"`): имя способствующего плагина. Для плагинов вне официального маркетплейса и встроенного пакета значение — это `"third-party"`, если не установлено `OTEL_LOG_TOOL_DETAILS=1`
1178* `plugin_id_hash` (когда `hook_source` это `"pluginHook"`): детерминированный хеш имени плагина и маркетплейса, отправляемый только на ваш настроенный экспортер. Позволяет вам подсчитать различные участвующие плагины без записи их имен. Claude Code вычисляет его, как описано в разделе [Событие загрузки плагина](#plugin-loaded-event)1178* `plugin_id_hash` (когда `hook_source` — это `"pluginHook"`): детерминированный хеш имени плагина и маркетплейса, отправляемый только вашему настроенному экспортёру. Позволяет вам считать отдельные способствующие плагины без записи их имён. Claude Code вычисляет его, как описано в [событие загрузки плагина](#plugin-loaded-event)
1179 1179
1180<h4 id="hook-execution-start-event">1180<h4 id="hook-execution-start-event">
1181 Событие начала выполнения hook1181 Событие начала выполнения hook
1182</h4>1182</h4>
1183 1183
1184Логируется, когда один или несколько hooks начинают выполняться для события hook.1184Регистрируется, когда один или несколько hooks начинают выполняться для события hook.
1185 1185
1186**Имя события**: `claude_code.hook_execution_start`1186**Имя события**: `claude_code.hook_execution_start`
1187 1187
1190* Все [стандартные атрибуты](#standard-attributes)1190* Все [стандартные атрибуты](#standard-attributes)
1191* `event.name`: `"hook_execution_start"`1191* `event.name`: `"hook_execution_start"`
1192* `event.timestamp`: Временная метка ISO 86011192* `event.timestamp`: Временная метка ISO 8601
1193* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1193* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1194* `hook_event`: Тип события hook, такой как `"PreToolUse"` или `"PostToolUse"`1194* `hook_event`: Тип события hook, например `"PreToolUse"` или `"PostToolUse"`
1195* `hook_name`: Полное имя hook, включая matcher, такой как `"PreToolUse:Write"`1195* `hook_name`: Полное имя hook, включая сопоставление, например `"PreToolUse:Write"`
1196* `num_hooks`: Количество соответствующих команд hook1196* `num_hooks`: Количество совпадающих команд hook
1197* `managed_only`: `"true"` когда разрешены только управляемые политики hooks1197* `managed_only`: `"true"`, когда разрешены только hooks управляемой политики
1198* `hook_source`: `"policySettings"` или `"merged"`1198* `hook_source`: `"policySettings"` или `"merged"`
1199* `safe_mode`: `"true"` когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. Требует Claude Code v2.1.169 или позже1199* `safe_mode`: `"true"`, когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. Требуется Claude Code v2.1.169 или позже
1200* `hook_definitions`: JSON-сериализованная конфигурация hook. Включается только, когда включены как детальная бета-трассировка, так и `OTEL_LOG_TOOL_DETAILS=1`1200* `hook_definitions`: Сериализованная JSON конфигурация hook. Включается только, когда включены как детальная бета-трассировка, так и `OTEL_LOG_TOOL_DETAILS=1`
1201 1201
1202<h4 id="hook-execution-complete-event">1202<h4 id="hook-execution-complete-event">
1203 Событие завершения выполнения hook1203 Событие завершения выполнения hook
1204</h4>1204</h4>
1205 1205
1206Логируется, когда все hooks для события hook завершены.1206Регистрируется, когда все hooks для события hook завершены.
1207 1207
1208**Имя события**: `claude_code.hook_execution_complete`1208**Имя события**: `claude_code.hook_execution_complete`
1209 1209
1212* Все [стандартные атрибуты](#standard-attributes)1212* Все [стандартные атрибуты](#standard-attributes)
1213* `event.name`: `"hook_execution_complete"`1213* `event.name`: `"hook_execution_complete"`
1214* `event.timestamp`: Временная метка ISO 86011214* `event.timestamp`: Временная метка ISO 8601
1215* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1215* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1216* `hook_event`: Тип события hook1216* `hook_event`: Тип события hook
1217* `hook_name`: Полное имя hook, включая matcher1217* `hook_name`: Полное имя hook, включая сопоставление
1218* `num_hooks`: Количество соответствующих команд hook1218* `num_hooks`: Количество совпадающих команд hook
1219* `num_success`: Количество, которые завершились успешно1219* `num_success`: Количество, которое завершилось успешно
1220* `num_blocking`: Количество, которые вернули решение блокировки1220* `num_blocking`: Количество, которое вернуло решение блокировки
1221* `num_non_blocking_error`: Количество, которые не удались без блокировки1221* `num_non_blocking_error`: Количество, которое не удалось без блокировки
1222* `num_cancelled`: Количество, отмененные до завершения1222* `num_cancelled`: Количество отменено до завершения
1223* `total_duration_ms`: Длительность в реальном времени всех соответствующих hooks1223* `total_duration_ms`: Длительность на стене часов всех совпадающих hooks
1224* `managed_only`: `"true"` когда разрешены только управляемые политики hooks1224* `stdout_chars`: Общее количество символов stdout в совпадающих hooks, которые успешно завершились. Требуется Claude Code v2.1.280 или позже
1225* `additional_context_chars`: Общее количество символов `additionalContext`, возвращённых совпадающими hooks. Требуется Claude Code v2.1.280 или позже
1226* `system_message_chars`: Общее количество символов `systemMessage`, возвращённых совпадающими hooks. Требуется Claude Code v2.1.280 или позже
1227* `initial_user_message_chars`: Общее количество символов `initialUserMessage`, возвращённых совпадающими hooks. Требуется Claude Code v2.1.280 или позже
1228* `num_outputs_persisted`: Количество выходов hook сверх [лимита 10 000 символов](/docs/ru/hooks#json-output), которые Claude Code сохранил в файл. Требуется Claude Code v2.1.280 или позже
1229* `managed_only`: `"true"`, когда разрешены только hooks управляемой политики
1225* `hook_source`: `"policySettings"` или `"merged"`1230* `hook_source`: `"policySettings"` или `"merged"`
1226* `safe_mode`: `"true"` когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. Требует Claude Code v2.1.169 или позже1231* `safe_mode`: `"true"`, когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. Требуется Claude Code v2.1.169 или позже
1227* `hook_definitions`: JSON-сериализованная конфигурация hook. Включается только, когда включены как детальная бета-трассировка, так и `OTEL_LOG_TOOL_DETAILS=1`1232* `hook_definitions`: Сериализованная JSON конфигурация hook. Включается только, когда включены как детальная бета-трассировка, так и `OTEL_LOG_TOOL_DETAILS=1`
1228 1233
1229<h4 id="hook-plugin-metrics-event">1234<h4 id="hook-plugin-metrics-event">
1230 Событие метрик плагина hook1235 Событие метрик hook плагина
1231</h4>1236</h4>
1232 1237
1233Логируется, когда hook плагина из официального маркетплейса выдает метрики для каждого вызова. Только плагины, установленные из официального маркетплейса Anthropic, могут выдавать эти метрики. Плагины сторонних маркетплейсов и пользовательские hooks не выдают в это событие. Используйте это событие для мониторинга поведения плагина, такого как показатели поиска, затраты и длительность из вашего собственного стека наблюдаемости.1238Регистрируется, когда hook плагина официального маркетплейса выпускает метрики на выполнение. Только плагины, установленные из официального маркетплейса Anthropic, могут выпускать эти. Плагины маркетплейса третьих сторон и пользовательские hooks не выпускают в это событие. Используйте это событие для мониторинга поведения плагина, такого как скорости поиска, затраты и длительность из вашего собственного стека наблюдаемости.
1234 1239
1235**Имя события**: `claude_code.hook_plugin_metrics`1240**Имя события**: `claude_code.hook_plugin_metrics`
1236 1241
1239* Все [стандартные атрибуты](#standard-attributes)1244* Все [стандартные атрибуты](#standard-attributes)
1240* `event.name`: `"hook_plugin_metrics"`1245* `event.name`: `"hook_plugin_metrics"`
1241* `event.timestamp`: Временная метка ISO 86011246* `event.timestamp`: Временная метка ISO 8601
1242* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1247* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1243* `plugin_id`: идентификатор плагина в форме `<name>@<marketplace>`1248* `plugin_id`: идентификатор плагина в форме `<name>@<marketplace>`
1244* `hook_event`: тип события hook, который выдал метрики1249* `hook_event`: тип события hook, который выпустил метрики
1245* До 20 ключей метрик, выданных плагином. Имена соответствуют `^[a-z][a-z0-9_]{0,39}$`. Значения являются логическими или числовыми.1250* До 20 ключей метрик, выпущенных плагином. Имена совпадают с `^[a-z][a-z0-9_]{0,39}$`. Значения — это логическое значение или число.
1246 1251
1247<h4 id="compaction-event">1252<h4 id="compaction-event">
1248 Событие компактирования1253 Событие компактирования
1249</h4>1254</h4>
1250 1255
1251Логируется, когда компактирование разговора завершается.1256Регистрируется, когда компактирование разговора завершается.
1252 1257
1253**Имя события**: `claude_code.compaction`1258**Имя события**: `claude_code.compaction`
1254 1259
1257* Все [стандартные атрибуты](#standard-attributes)1262* Все [стандартные атрибуты](#standard-attributes)
1258* `event.name`: `"compaction"`1263* `event.name`: `"compaction"`
1259* `event.timestamp`: Временная метка ISO 86011264* `event.timestamp`: Временная метка ISO 8601
1260* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1265* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1261* `trigger`: `"auto"` или `"manual"`1266* `trigger`: `"auto"` или `"manual"`
1262* `success`: `"true"` или `"false"`1267* `success`: `"true"` или `"false"`
1263* `duration_ms`: Длительность компактирования1268* `duration_ms`: Длительность компактирования
1264* `pre_tokens`: Приблизительное количество токенов до компактирования1269* `pre_tokens`: Приблизительный подсчёт токенов до компактирования
1265* `post_tokens`: Приблизительное количество токенов после компактирования1270* `post_tokens`: Приблизительный подсчёт токенов после компактирования
1266* `error`: Сообщение об ошибке при сбое компактирования1271* `error`: Сообщение об ошибке, когда компактирование не удалось
1267* `precompute_reuse`: Установлено только, когда `trigger` это `"manual"`. Автоматическое компактирование может подготовить сводку в фоновом режиме перед заполнением окна контекста, и этот атрибут записывает, была ли эта подготовленная сводка повторно использована `/compact`. `"hit"` означает, что она была повторно использована; `"miss_custom_instructions"`, `"miss_hook"` и `"miss_not_ready"` дают причину, по которой вместо этого была вычислена свежая сводка. Требует Claude Code v2.1.153 или позже1272* `precompute_reuse`: Установлено только, когда `trigger` — это `"manual"`. Автокомпактирование может подготовить резюме в фоне перед заполнением окна контекста, и этот атрибут записывает, было ли это подготовленное резюме повторно использовано `/compact`. `"hit"` означает, что оно было повторно использовано; `"miss_custom_instructions"`, `"miss_hook"` и `"miss_not_ready"` дают причину, по которой вместо этого было вычислено свежее резюме. Требуется Claude Code v2.1.153 или позже
1268 1273
1269<h4 id="subagent-completed-event">1274<h4 id="subagent-completed-event">
1270 Событие завершения подагента1275 Событие завершения подагента
1271</h4>1276</h4>
1272 1277
1273Логируется, когда [подагент](/docs/ru/sub-agents) завершает работу и возвращает свой результат в разговор, который его запустил. Используйте его для сворачивания использования инструментов и времени выполнения по типу подагента; для сворачивания токенов или затрат используйте [счетчик токенов](#token-counter) и [счетчик затрат](#cost-counter), отфильтрованные по `query_source` `"subagent"`, так как `total_tokens` этого события охватывает только финальный запрос. Категория `"subagent"` также подсчитывает запросы от hooks на основе агентов, которые не выдают событие подагента.1278Регистрируется, когда [подагент](/docs/ru/sub-agents) завершается и возвращает свой результат в разговор, который его запустил. Используйте его для сворачивания использования инструментов и времени выполнения по типу подагента; для сворачивания токенов или затрат используйте [счётчик токенов](#token-counter) и [счётчик стоимости](#cost-counter), отфильтрованные по `query_source` `"subagent"`, так как `total_tokens` этого события охватывает только финальный запрос. Категория `"subagent"` также считает запросы от hooks на основе агентов, которые не выпускают событие подагента.
1274 1279
1275**Имя события**: `claude_code.subagent_completed`1280**Имя события**: `claude_code.subagent_completed`
1276 1281
1279* Все [стандартные атрибуты](#standard-attributes)1284* Все [стандартные атрибуты](#standard-attributes)
1280* `event.name`: `"subagent_completed"`1285* `event.name`: `"subagent_completed"`
1281* `event.timestamp`: Временная метка ISO 86011286* `event.timestamp`: Временная метка ISO 8601
1282* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1287* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1283* `agent_type`: Тип подагента. Встроенные имена агентов и агенты из официальных плагинов маркетплейса появляются как есть; другие имена агентов заменяются на `"custom"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`1288* `agent_type`: Тип подагента. Встроенные имена агентов и агенты из официальных плагинов маркетплейса отображаются как есть; другие имена агентов заменяются на `"custom"`, если не установлено `OTEL_LOG_TOOL_DETAILS=1`
1284* `agent.source`: Откуда пришло определение агента: `built-in`, `plugin` или источник параметров, который определил пользовательского агента, такой как `userSettings` или `projectSettings`1289* `agent.source`: Откуда пришло определение агента: `built-in`, `plugin` или источник параметров, который определил пользовательского агента, например `userSettings` или `projectSettings`
1285* `is_built_in`: Является ли подагент встроенным типом агента1290* `is_built_in`: Является ли подагент встроенным типом агента
1286* `is_async`: Работал ли подагент в [фоновом режиме](/docs/ru/sub-agents#run-subagents-in-foreground-or-background)1291* `is_async`: Работал ли подагент в [фоне](/docs/ru/sub-agents#run-subagents-in-foreground-or-background)
1287* `total_tokens`: Токен-отпечаток финального запроса API подагента: входные, создание кэша, чтение кэша и выходные токены этого одного запроса, примерно размер контекста подагента при завершении. Не сумма по всему запуску1292* `total_tokens`: Отпечаток токена финального запроса API подагента: входные, создание кэша, чтение кэша и выходные токены этого одного запроса, примерно размер контекста подагента при завершении. Не сумма по всему запуску
1288* `total_tool_uses`: Количество вызовов инструментов, которые подагент сделал по всему запуску1293* `total_tool_uses`: Количество вызовов инструментов, которые подагент сделал во всём запуске
1289* `duration_ms`: Время выполнения в миллисекундах1294* `duration_ms`: Время выполнения в миллисекундах
1290* `model`: Модель, на которой подагент был разрешен запускаться1295* `model`: Модель, на которую был разрешён подагент для запуска
1291* `final_model`: Модель, которая создала финальный ответ подагента, отличается от `model` после переключения во время запуска, такого как резервный вариант. Требует Claude Code v2.1.212 или позже1296* `final_model`: Модель, которая создала финальный ответ подагента, отличающаяся от `model` после переключения во время запуска, такого как резервный вариант. Требуется Claude Code v2.1.212 или позже
1292* `model_swapped`: Обслуживали ли более одной модели запросы подагента. Требует Claude Code v2.1.212 или позже1297* `model_swapped`: Обслуживала ли более одной модели запросы подагента. Требуется Claude Code v2.1.212 или позже
1293* `plugin_id_hash`, `plugin.name`: Присутствует для агентов, предоставляемых плагинами. Имена плагинов официального маркетплейса появляются как есть; другие имена плагинов заменяются на `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`1298* `plugin_id_hash`, `plugin.name`: Присутствует для агентов, предоставленных плагинами. Имена плагинов официального маркетплейса отображаются как есть; другие имена плагинов заменяются на `"third-party"`, если не установлено `OTEL_LOG_TOOL_DETAILS=1`
1294 1299
1295<h4 id="feedback-survey-event">1300<h4 id="feedback-survey-event">
1296 Событие опроса обратной связи1301 Событие опроса обратной связи
1297</h4>1302</h4>
1298 1303
1299Логируется, когда опрос качества сеанса показывается или на него отвечают. Дополнительную информацию о том, что собирают опросы и как их контролировать, см. в разделе [Опросы качества сеанса](/docs/ru/data-usage#session-quality-surveys).1304Регистрируется, когда показывается или отвечается опрос качества сеанса. См. [Опросы качества сеанса](/docs/ru/data-usage#session-quality-surveys) для того, что опросы собирают и как их контролировать.
1300 1305
1301**Имя события**: `claude_code.feedback_survey`1306**Имя события**: `claude_code.feedback_survey`
1302 1307
1305* Все [стандартные атрибуты](#standard-attributes)1310* Все [стандартные атрибуты](#standard-attributes)
1306* `event.name`: `"feedback_survey"`1311* `event.name`: `"feedback_survey"`
1307* `event.timestamp`: Временная метка ISO 86011312* `event.timestamp`: Временная метка ISO 8601
1308* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1313* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1309* `event_type`: Событие жизненного цикла опроса, например `"appeared"`, `"responded"` или `"transcript_prompt_appeared"`1314* `event_type`: Событие жизненного цикла опроса, например `"appeared"`, `"responded"` или `"transcript_prompt_appeared"`
1310* `appearance_id`: Уникальный ID, связывающий события, выданные для одного экземпляра опроса1315* `appearance_id`: Уникальный ID, связывающий события, выпущенные для одного экземпляра опроса
1311* `survey_type`: Какой опрос произвел событие. `"session"` это подсказка рейтинга "Как работает Claude?"1316* `survey_type`: Какой опрос создал событие. `"session"` — это подсказка рейтинга "Как работает Claude?"
1312* `response`: Выбор пользователя на событиях `responded`1317* `response`: Выбор пользователя на событиях `responded`
1313* `enabled_via_override`: `true` когда установлен [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/ru/env-vars). Выдается как логическое значение, а не строка. Присутствует на событиях опроса `session`. Отфильтруйте по этому атрибуту, чтобы подтвердить, что переопределение применяется в вашем парке1318* `enabled_via_override`: `true`, когда установлено [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/ru/env-vars). Выпускается как логическое значение, не строка. Присутствует на событиях опроса `session`. Фильтруйте по этому атрибуту, чтобы подтвердить, что переопределение применяется в парке
1314 1319
1315<h4 id="retention-sweep-event">1320<h4 id="retention-sweep-event">
1316 Событие очистки удержания1321 Событие развёртки удержания
1317</h4>1322</h4>
1318 1323
1319Логируется один раз за запуск очистки удержания, которая удаляет [транскрипты сеансов и другие данные приложения](/docs/ru/claude-directory#cleaned-up-automatically), старше чем параметр [`cleanupPeriodDays`](/docs/ru/settings-reference#cleanupperioddays). Claude Code запускает очистку в фоновом режиме максимум один раз за сеанс, и запуск, который ничего не удаляет, все равно выдает событие. Если Claude Code запустил очистку в любом сеансе на одной машине в течение последних 24 часов, он задерживает очистку этого сеанса как минимум на 10 минут, поэтому сеанс, который выходит раньше, ничего не выдает. Когда вы запускаете `claude -p` с `--bare`, Claude Code не запускает очистку и ничего не выдает.1324Регистрируется один раз за запуск развёртки очистки удержания, которая удаляет [стенограммы сеансов и другие данные приложения](/docs/ru/claude-directory#cleaned-up-automatically), старше чем параметр [`cleanupPeriodDays`](/docs/ru/settings-reference#cleanupperioddays). Claude Code запускает развёртку в фоне максимум один раз за сеанс, и запуск, который ничего не удаляет, всё ещё выпускает событие. Если Claude Code запустил развёртку в любом сеансе на одной машине в последние 24 часа, он задерживает развёртку этого сеанса как минимум на 10 минут, поэтому сеанс, который выходит раньше, ничего не выпускает. Когда вы запускаете `claude -p` с `--bare`, Claude Code не запускает развёртку и ничего не выпускает.
1320 1325
1321Как и каждое событие OTel на этой странице, оно идет только на бэкенд телеметрии, который вы настраиваете. Требует Claude Code v2.1.227 или позже.1326Как каждое событие OTel на этой странице, оно идёт только на бэкенд телеметрии, который вы настраиваете. Требуется Claude Code v2.1.227 или позже.
1322 1327
1323Когда Claude Code не может безопасно определить период удержания, он приостанавливает очистку и выдает событие с `result`, установленным на `"skipped"` и `skip_reason`. Когда [управляемые параметры](/docs/ru/server-managed-settings) устанавливают `cleanupPeriodDays`, управляемое значение закрепляет период удержания и очистка запускается даже когда файл параметров в более низком приоритете области сломан или недействителен. Когда сам `managed-settings.json` не может быть прочитан, Claude Code все равно приостанавливает очистку, если только [управляемый уровень](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) не поставляет `cleanupPeriodDays` откуда-то еще, такой как управляемые параметры сервера или `managed-settings.d/` drop-in рядом с поломанным файлом. Атрибуты счетчика удаления присутствуют только когда `result` это `"complete"`.1328Когда Claude Code не может безопасно определить период удержания, он приостанавливает развёртку и выпускает событие с `result`, установленным в `"skipped"`, и `skip_reason`. Когда [управляемые параметры](/docs/ru/server-managed-settings) устанавливают `cleanupPeriodDays`, управляемое значение закрепляет период удержания и развёртка работает даже когда файл параметров в более низком приоритете области повреждён или недействителен. Когда сам `managed-settings.json` не может быть прочитан, Claude Code всё ещё приостанавливает развёртку, если только [управляемый уровень](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) не поставляет `cleanupPeriodDays` откуда-то ещё, например из параметров, управляемых сервером, или `managed-settings.d/` drop-in рядом с повреждённым файлом. Атрибуты счётчика удаления присутствуют только, когда `result` — это `"complete"`.
1324 1329
1325**Имя события**: `claude_code.retention_sweep`1330**Имя события**: `claude_code.retention_sweep`
1326 1331
1329* Все [стандартные атрибуты](#standard-attributes)1334* Все [стандартные атрибуты](#standard-attributes)
1330* `event.name`: `"retention_sweep"`1335* `event.name`: `"retention_sweep"`
1331* `event.timestamp`: Временная метка ISO 86011336* `event.timestamp`: Временная метка ISO 8601
1332* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1337* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1333* `result`: `"complete"` когда очистка запустилась, `"skipped"` когда Claude Code приостановил ее1338* `result`: `"complete"`, когда развёртка работала, `"skipped"`, когда Claude Code её приостановил
1334* `period_days`: Значение `cleanupPeriodDays` из объединенных параметров, в днях, или `30` когда ни один источник его не устанавливает. На пропущенных событиях значение, которое очистка использовала бы, вычисленное из источников параметров, которые Claude Code мог прочитать1339* `period_days`: Значение `cleanupPeriodDays` из объединённых параметров, в днях, или `30`, когда ни один источник его не устанавливает. На пропущенных событиях значение, которое развёртка использовала бы, вычисленное из источников параметров, которые Claude Code мог прочитать
1335* `used_default`: `"true"` когда ни один читаемый источник параметров не устанавливает `cleanupPeriodDays`, `"false"` в противном случае. На завершенных событиях `"true"` означает, что применялось значение по умолчанию 30 дней1340* `used_default`: `"true"`, когда ни один читаемый источник параметров не устанавливает `cleanupPeriodDays`, `"false"` в противном случае. На полных событиях `"true"` означает, что применялось значение по умолчанию 30 дней
1336* `skip_reason`: Почему Claude Code приостановил очистку. Присутствует только когда `result` это `"skipped"`:1341* `skip_reason`: Почему Claude Code приостановил развёртку. Присутствует только, когда `result` — это `"skipped"`:
1337 * `"user_source_disabled"`: Параметры пользователя исключены, например флагом [`--setting-sources`](/docs/ru/cli-reference#cli-flags) или опцией SDK [`settingSources`](/docs/ru/agent-sdk/typescript#options), и ни один включенный источник не предоставляет `cleanupPeriodDays`1342 * `"user_source_disabled"`: Параметры пользователя исключены, например флагом [`--setting-sources`](/docs/ru/cli-reference#cli-flags) или опцией [`settingSources`](/docs/ru/agent-sdk/typescript#options) SDK, и ни один включённый источник не предоставляет `cleanupPeriodDays`
1338 * `"settings_unknowable"`: Файл параметров не может быть прочитан или разобран, поэтому `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` может быть установлен на значение, которое Claude Code не может видеть1343 * `"settings_unknowable"`: Файл параметров не мог быть прочитан или разобран, поэтому `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` может быть установлен на значение, которое Claude Code не может видеть
1339 * `"settings_invalid_key_set"`: Параметры имеют ошибки валидации и `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` явно установлены, поэтому возврат к значению по умолчанию может удалить или сохранить файлы против этого параметра1344 * `"settings_invalid_key_set"`: Параметры имеют ошибки валидации и `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` явно установлены, поэтому возврат к значению по умолчанию может удалить или сохранить файлы против этого параметра
1340* `transcripts_deleted`: Количество транскриптов сеансов, файлы верхнего уровня `~/.claude/projects/*/*.jsonl`, которые очистка удалила1345* `transcripts_deleted`: Количество стенограмм сеансов, файлы верхнего уровня `~/.claude/projects/*/*.jsonl`, которые развёртка удалила
1341* `transcripts_exempted_desktop`: Количество транскриптов, прошедших период удержания, которые очистка сохранила в соответствии с [правилом Claude Desktop и Cowork](/docs/ru/claude-directory#cleaned-up-automatically). Они не учитываются в `files_past_cutoff`. Требует Claude Code v2.1.248 или позже1346* `transcripts_exempted_desktop`: Количество стенограмм, прошедших период удержания, которые развёртка сохранила в соответствии с [правилом Claude Desktop и Cowork](/docs/ru/claude-directory#cleaned-up-automatically). Они не считаются в `files_past_cutoff`. Требуется Claude Code v2.1.248 или позже
1342* `session_files_deleted`: Количество артефактов, которые очистка файлов сеанса удалила: транскрипты плюс файлы-спутники для каждого сеанса, такие как sidecars, записи и результаты инструментов1347* `session_files_deleted`: Количество артефактов, которые развёртка файлов сеанса удалила: стенограммы плюс файлы-спутники на сеанс, такие как боковые панели, записи и результаты инструментов
1343* `artifacts_deleted`: Общее количество элементов, которые очистка удалила по всем каталогам данных, которые она охватывает, включая файлы сеанса. Некоторые очистки подсчитывают целое удаленное дерево каталогов как один элемент и несколько проходов очистки не вносят вклад в счетчик, поэтому рассматривайте значение как нижний предел, а не точный подсчет файлов1348* `artifacts_deleted`: Общее количество элементов, которые развёртка удалила во всех каталогах данных, которые она охватывает, включая файлы сеанса. Некоторые развёртки считают целое удалённое дерево каталогов как один элемент и несколько проходов очистки не способствуют счётчику, поэтому рассматривайте значение как нижний предел, а не точный подсчёт файлов
1344* `files_retained_fresh`: Файлы, проверенные и оставленные на месте, потому что они все еще находятся в пределах периода удержания. Только очистки для каждого файла подсчитывают эти, поэтому значение является нижним пределом; ненулевое значение является нормальным устойчивым состоянием1349* `files_retained_fresh`: Файлы, проверенные и оставленные на месте, потому что они всё ещё находятся в пределах периода удержания. Только развёртки на основе файлов считают эти, поэтому значение — это нижний предел; ненулевое значение — это нормальное устойчивое состояние
1345* `files_past_cutoff`: Файлы, старше чем период удержания, которые очистка не смогла удалить, например из-за ошибки разрешения или файла, удерживаемого открытым. Значение выше нуля означает, что файлы пережили настроенный период удержания; ноль не является доказательством того, что они не были, потому что неудачное удаление целого каталога учитывается в `error_count` вместо этого1350* `files_past_cutoff`: Файлы, старше чем период удержания, которые развёртка не удалась удалить, например из-за ошибки разрешения или файла, удерживаемого открытым. Значение выше нуля означает, что файлы пережили настроенный период удержания; ноль не является доказательством того, что они не были, потому что неудачное удаление целого каталога считается в `error_count` вместо этого
1346* `error_count`: Количество ошибок, которые очистка встретила при перечислении или удалении файлов1351* `error_count`: Количество ошибок, которые развёртка встретила при перечислении или удалении файлов
1347 1352
1348<h4 id="managed-settings-resolved-event">1353<h4 id="managed-settings-resolved-event">
1349 Событие разрешения управляемых параметров1354 Событие разрешения управляемых параметров
1350</h4>1355</h4>
1351 1356
1352Логируется с [управляемыми параметрами](/docs/ru/managed-settings), которые сеанс разрешил: один раз при запуске сеанса, снова когда либо управляемые параметры, либо состояние [помощника политики](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program) изменяется во время сеанса, и когда Claude Code отказывает в запуске или завершает сеанс по одной из причин, которые список атрибутов `error.type`.1357Регистрируется с [управляемыми параметрами](/docs/ru/managed-settings), которые сеанс разрешил: один раз при запуске сеанса, снова когда либо управляемые параметры, либо состояние [помощника политики](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program) изменяется во время сеанса, и когда Claude Code отказывает в запуске или завершает сеанс по одной из причин, которые атрибут `error.type` перечисляет.
1353Используйте это событие, чтобы найти машины, работающие на неожиданном управляемом источнике, машины, чей помощник политики не работает, и причину, по которой машина отказала в запуске.1358Используйте это событие, чтобы найти машины, работающие на неожиданном управляемом источнике, машины, чей помощник политики не работает, и причину, по которой машина отказала в запуске.
1354Требует Claude Code v2.1.274 или позже.1359Требуется Claude Code v2.1.274 или позже.
1355 1360
1356По умолчанию событие содержит управляемые источники и состояние помощника политики, но не сами параметры. Чтобы добавить отредактированный атрибут `managed_settings.settings` и дайджест `managed_settings.resolved_sha256`, установите `OTEL_LOG_MANAGED_SETTINGS=1`:1361По умолчанию событие содержит управляемые источники и состояние помощника политики, но не сами параметры. Чтобы добавить редактируемый атрибут `managed_settings.settings` и дайджест `managed_settings.resolved_sha256`, установите `OTEL_LOG_MANAGED_SETTINGS=1`:
1357 1362
1358* Установите его в блоке `env` управляемых параметров, параметров пользователя или `--settings`, или в окружении, в котором вы запускаете Claude Code. Значение в параметрах проекта или локальных параметрах не включает его, потому что клонированный репозиторий может их писать.1363* Установите его в блоке `env` управляемых параметров, параметров пользователя или `--settings`, или в окружении, в котором вы запускаете Claude Code. Значение в параметрах проекта или локальных параметрах не включает его, потому что клонированный репозиторий может их писать.
1359* Управляемые параметры сервера могут установить его без отображения [диалога одобрения безопасности](/docs/ru/server-managed-settings#security-approval-dialogs), потому что переменная только добавляет вашу собственную отредактированную политику организации к событию, которое ваша организация уже получает.1364* Параметры, управляемые сервером, могут установить его без показа [диалога одобрения безопасности](/docs/ru/server-managed-settings#security-approval-dialogs), потому что переменная только добавляет вашу собственную редактируемую политику организации к событию, которое ваша организация уже получает.
1360 1365
1361В интерактивном сеансе в папке, которую вы не [доверили](/docs/ru/permissions#what-runs-before-you-trust-a-folder), Claude Code не экспортирует событие отказа, потому что параметры проекта и локальные параметры могут указать экспорт на другой сборщик перед доверием.1366В интерактивном сеансе в папке, которую вы не [доверили](/docs/ru/permissions#what-runs-before-you-trust-a-folder), Claude Code не экспортирует событие отказа, потому что параметры проекта и локальные параметры могут указать экспорт на другой сборщик перед доверием.
1362 1367
1367* Все [стандартные атрибуты](#standard-attributes)1372* Все [стандартные атрибуты](#standard-attributes)
1368* `event.name`: `"managed_settings_resolved"`1373* `event.name`: `"managed_settings_resolved"`
1369* `event.timestamp`: Временная метка ISO 86011374* `event.timestamp`: Временная метка ISO 8601
1370* `event.sequence`: счетчик для каждого процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)1375* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)
1371* `managed_settings.trigger`: `"startup"` для события запуска сеанса, `"change"` когда управляемые параметры или состояние помощника политики изменились позже в сеансе, или `"refused"` когда политика управляемых параметров остановила сеанс. Claude Code отправляет событие `change` только когда атрибут отличается от последнего события, которое он отправил, и измененное значение параметра считается даже когда `OTEL_LOG_MANAGED_SETTINGS` отключен1376* `managed_settings.trigger`: `"startup"` для события запуска сеанса, `"change"`, когда управляемые параметры или состояние помощника политики изменились позже в сеансе, или `"refused"`, когда политика управляемых параметров остановила сеанс. Claude Code отправляет событие `change` только, когда атрибут отличается от последнего события, которое он отправил, и изменённое значение параметра считается даже когда `OTEL_LOG_MANAGED_SETTINGS` отключен
1372* `error.type`: почему Claude Code остановил сеанс. Присутствует только на событиях `refused`:1377* `error.type`: почему Claude Code остановил сеанс. Присутствует только на событиях `refused`:
1373 * `"helper_failed"`: [запуск помощника политики не удался](/docs/ru/settings-reference#helper-failures)1378 * `"helper_failed"`: [запуск помощника политики не удался](/docs/ru/settings-reference#helper-failures)
1374 * `"policy_invalid"`: управляемые параметры содержат ошибку, которая останавливает Claude Code от запуска, или источник администратора не удалось загрузить, поэтому Claude Code не может проверить принудительное входа организации1379 * `"policy_invalid"`: управляемые параметры содержат ошибку, которая останавливает Claude Code от запуска, или источник администратора не удалось загрузить, поэтому Claude Code не может проверить принудительное входа организации
1375 * `"consent_rejected"`: пользователь отклонил [диалог одобрения безопасности](/docs/ru/server-managed-settings#security-approval-dialogs) для управляемых параметров сервера1380 * `"consent_rejected"`: пользователь отклонил [диалог одобрения безопасности](/docs/ru/server-managed-settings#security-approval-dialogs) для параметров, управляемых сервером
1376 * `"force_refresh_failed"`: выборка параметров, которую требует [`forceRemoteSettingsRefresh`](/docs/ru/settings-reference#forceremotesettingsrefresh), не удалась1381 * `"force_refresh_failed"`: выборка параметров, которую требует [`forceRemoteSettingsRefresh`](/docs/ru/settings-reference#forceremotesettingsrefresh), не удалась
1377 * `"gateway_rejected"`: [Claude apps gateway](/docs/ru/claude-apps-gateway) ответил на загрузку управляемых параметров с HTTP 4031382 * `"gateway_rejected"`: [шлюз приложений Claude](/docs/ru/claude-apps-gateway) ответил на загрузку управляемых параметров с HTTP 403
1378 * `"version_below_minimum"`: эта версия Claude Code ниже [`requiredMinimumVersion`](/docs/ru/settings-reference#requiredminimumversion) или выше [`requiredMaximumVersion`](/docs/ru/settings-reference#requiredmaximumversion)1383 * `"version_below_minimum"`: эта версия Claude Code ниже [`requiredMinimumVersion`](/docs/ru/settings-reference#requiredminimumversion) или выше [`requiredMaximumVersion`](/docs/ru/settings-reference#requiredmaximumversion)
1379 * `"_OTHER"`: загрузка управляемых параметров Claude apps gateway не удалась по другой причине1384 * `"_OTHER"`: загрузка управляемых параметров шлюза приложений Claude не удалась по другой причине
1380* `managed_settings.sources`: каждый управляемый источник, который доставляет как минимум один [ключ политики](/docs/ru/managed-settings#how-claude-code-combines-managed-sources), наивысший приоритет первым, включая источники, чьи ключи не вступают в силу в `first-wins`. Значения это `"remote"`, `"plist"` или `"hklm"` для политики MDM или уровня ОС, `"file"` для управляемых файлов параметров и drop-ins, `"parent"` когда [хост встраивания](/docs/ru/managed-settings#let-an-embedding-host-add-policy) поставляет параметры, и `"hkcu"` для [значения реестра Windows HKCU](/docs/ru/managed-settings#where-each-mechanism-stores-the-policy) когда Claude Code [читает его](/docs/ru/managed-settings#how-claude-code-combines-managed-sources). Источник, который содержит только ключи управления, или который Claude Code не мог прочитать, не указан. Выдается как массив строк, пусто когда ни один управляемый источник не доставляет ключ политики1385* `managed_settings.sources`: каждый управляемый источник, который доставляет как минимум один [ключ политики](/docs/ru/managed-settings#how-claude-code-combines-managed-sources), в порядке приоритета от высшего к низшему, включая источники, чьи ключи не вступают в силу в соответствии с `first-wins`. Значения — это `"remote"`, `"plist"` или `"hklm"` для политики MDM или уровня ОС, `"file"` для файлов управляемых параметров и drop-ins, `"parent"`, когда [хост встраивания](/docs/ru/managed-settings#let-an-embedding-host-add-policy) поставляет параметры, и `"hkcu"` для [значения реестра Windows HKCU](/docs/ru/managed-settings#where-each-mechanism-stores-the-policy), когда Claude Code [его читает](/docs/ru/managed-settings#how-claude-code-combines-managed-sources). Источник, который содержит только ключи управления, или который Claude Code не мог прочитать, не указывается. Выпускается как массив строк, пусто, когда ни один управляемый источник не доставляет ключ политики
1381* `managed_settings.source_behavior`: значение [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior), которое Claude Code прочитал, `"first-wins"` или `"merge"`. `"first-wins"` когда ни один источник не устанавливает ключ1386* `managed_settings.source_behavior`: значение [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior), которое Claude Code прочитал, `"first-wins"` или `"merge"`. `"first-wins"`, когда ни один источник не устанавливает ключ
1382* `managed_settings.helper.state`: состояние помощника политики, который выбранный источник MDM или файла настраивает:1387* `managed_settings.helper.state`: состояние помощника политики, который выбранный источник MDM или файла настраивает:
1383 * `"ok"`: выход помощника служит управляемыми параметрами1388 * `"ok"`: выход помощника служит управляемыми параметрами
1384 * `"bad_path"`, `"not_a_file"`, `"exit_nonzero"`, `"timed_out"`, `"oversize"`, `"parse_failed"`, `"envelope_invalid"` или `"schema_rejected"`: последний запуск помощника не удался. [Сбои помощника](/docs/ru/settings-reference#helper-failures) описывает случаи1389 * `"bad_path"`, `"not_a_file"`, `"exit_nonzero"`, `"timed_out"`, `"oversize"`, `"parse_failed"`, `"envelope_invalid"` или `"schema_rejected"`: последний запуск помощника не удался. [Сбои помощника](/docs/ru/settings-reference#helper-failures) описывает случаи
1385 * `"none"`: помощник не настроен, или источник, который его настраивает, не является политикой MDM или файлом управляемых параметров1390 * `"none"`: помощник не настроен, или источник, который его настраивает, не является политикой MDM или файлом управляемых параметров
1386* `managed_settings.helper.applied`: `"output"` пока выход помощника служит управляемыми параметрами, `"none"` когда он не служит1391* `managed_settings.helper.applied`: `"output"`, пока выход помощника служит управляемыми параметрами, `"none"`, когда он не служит
1387* `managed_settings.helper.entry`: `"policyHelper"` когда Claude Code выбрал [`policyHelper`](/docs/ru/settings-reference#policyhelper). Отсутствует когда он выбрал помощника1392* `managed_settings.helper.entry`: `"policyHelper"`, когда Claude Code выбрал [`policyHelper`](/docs/ru/settings-reference#policyhelper). Отсутствует, когда он не выбрал помощника
1388* `managed_settings.helper.path`: путь помощника [`path`](/docs/ru/settings-reference#policyhelper-path). Присутствует всякий раз, когда Claude Code выбрал помощника, независимо от того, установлен ли `OTEL_LOG_MANAGED_SETTINGS`1393* `managed_settings.helper.path`: настроенный [`path`](/docs/ru/settings-reference#policyhelper-path) помощника. Присутствует, когда Claude Code выбрал помощника, независимо от того, установлено ли `OTEL_LOG_MANAGED_SETTINGS`
1389* `managed_settings.resolved_sha256` (когда `OTEL_LOG_MANAGED_SETTINGS=1`): SHA-256 разрешенных управляемых параметров перед редактированием, сериализованный как JSON с ключами, отсортированными рекурсивно и без пробелов. Машины с одинаковым дайджестом запускают одну и ту же политику. Claude Code отправляет дайджест только с opt-in, потому что короткая политика может быть восстановлена путем хеширования предположений. Отсутствует когда управляемые параметры не разрешены, и на событиях `refused`1394* `managed_settings.resolved_sha256` (когда `OTEL_LOG_MANAGED_SETTINGS=1`): SHA-256 разрешённых управляемых параметров перед редактированием, сериализованных как JSON с ключами, отсортированными рекурсивно и без пробелов. Машины с одинаковым дайджестом работают с одной и той же политикой. Claude Code отправляет дайджест только с opt-in, потому что короткая политика может быть восстановлена путём хеширования предположений. Отсутствует, когда управляемые параметры не разрешены, и на событиях `refused`
1390* `managed_settings.settings` (когда `OTEL_LOG_MANAGED_SETTINGS=1`): имена и форма разрешенных управляемых параметров как JSON строка, с отредактированными значениями. Отсутствует на событиях `refused`. Claude Code строит его из своей схемы параметров:1395* `managed_settings.settings` (когда `OTEL_LOG_MANAGED_SETTINGS=1`): имена и форма разрешённых управляемых параметров как строка JSON, с редактируемыми значениями. Отсутствует на событиях `refused`. Claude Code строит его из своей схемы параметров:
1391 1396
1392 * Имя параметра, которое схема объявляет, экспортируется, и ключ, который она не объявляет, опускается1397 * Имя параметра, которое схема объявляет, экспортируется, и ключ, который она не объявляет, опускается
1393 * Логические значения, числа и строковые значения, которые схема ограничивает фиксированным набором опций, такие как `permissions.defaultMode`, экспортируются как есть. `sandbox.network.httpProxyPort` и `sandbox.network.socksProxyPort` экспортируются как `"[REDACTED]"`1398 * Логические значения, числа и строковые значения, которые схема ограничивает фиксированным набором опций, такие как `permissions.defaultMode`, экспортируются как есть. `sandbox.network.httpProxyPort` и `sandbox.network.socksProxyPort` экспортируются как `"[REDACTED]"`
1394 * Каждая другая строка, такая как `model`, `apiKeyHelper`, каждое значение `env`, каждый URL и каждая команда, экспортируется как `"[REDACTED]"`1399 * Каждая другая строка, такая как `model`, `apiKeyHelper`, каждое значение `env`, каждый URL и каждая команда, экспортируется как `"[REDACTED]"`
1395 * Имена записей карт, такие как имена переменных `env` и ID плагинов, экспортируются как есть. Параметр, чьи записи схема не типирует, такой как `vimInsertModeRemaps`, экспортируется как одно `"[REDACTED]"`, и `sandbox.ignoreViolations` экспортируется как список его списков путей без шаблонов команд1400 * Имена записей карт, такие как имена переменных `env` и ID плагинов, экспортируются как есть. Параметр, чьи записи схема не типирует, такой как `vimInsertModeRemaps`, экспортируется как одиночный `"[REDACTED]"`, и `sandbox.ignoreViolations` экспортируется как список его списков путей без шаблонов команд
1396 * Список сохраняет свою длину, с каждой записью отредактированной по тем же правилам1401 * Список сохраняет свою длину, с каждой записью редактируемой по тем же правилам
1397 * Правило `permissions.allow`, `permissions.deny` или `permissions.ask` экспортируется как его имя инструмента с отредактированным содержимым, такой как `Read([REDACTED])`, когда инструмент встроен в эту версию Claude Code или является ссылкой `mcp__`, такой как `mcp__jira__create_issue`. Любое другое правило экспортируется как `"[REDACTED]"`1402 * Правило `permissions.allow`, `permissions.deny` или `permissions.ask` экспортируется как его имя инструмента с редактируемым содержанием, такое как `Read([REDACTED])`, когда инструмент встроен в эту версию Claude Code или является ссылкой `mcp__`, такой как `mcp__jira__create_issue`. Любое другое правило экспортируется как `"[REDACTED]"`
1398 * Hooks следуют тем же правилам, поэтому поля с фиксированными опциями и числовые поля, такие как `type` и `timeout`, показываются, пока каждая команда, URL, `matcher` и условие `if` экспортируется как `"[REDACTED]"`1403 * Hooks следуют тем же правилам, поэтому поля с фиксированными опциями и числовые поля, такие как `type` и `timeout`, показываются, пока каждая команда, URL, `matcher` и условие `if` экспортируются как `"[REDACTED]"`
1399 1404
1400 Например, управляемые параметры с `apiKeyHelper`, двумя переменными `env` и правилом отказа экспортируются как `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`.1405 Например, управляемые параметры с `apiKeyHelper`, двумя переменными `env` и правилом запрета экспортируются как `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`.
1401 1406
1402 Claude Code обрезает значение на 8 КБ UTF-8, и обрезанное значение не является действительным JSON1407 Claude Code обрезает значение на 8 КБ UTF-8, и обрезанное значение не является действительным JSON
1403* `managed_settings.settings_truncated` (когда `managed_settings.settings` присутствует): `true` когда Claude Code обрезал `managed_settings.settings` на 8 КБ, `false` в противном случае. Выдается как логическое значение, а не строка.1408* `managed_settings.settings_truncated` (когда `managed_settings.settings` присутствует): `true`, когда Claude Code обрезал `managed_settings.settings` на 8 КБ, `false` в противном случае. Выпускается как логическое значение, не строка
1404 1409
1405<h2 id="interpret-metrics-and-events-data">1410<h2 id="interpret-metrics-and-events-data">
1406 Интерпретация данных метрик и событий1411 Интерпретация данных метрик и событий