Перейти к содержанию

claude-code

Claude Code 2.1.282 не даст репозиторию включить телеметрию

Claude News

В Claude Code 2.1.282 файлы настроек проекта перестали управлять телеметрией. Переменные OpenTelemetry, которые включают экспорт, задают адрес отправки или просят записывать содержимое, из этих файлов игнорируются. Об этом сказано в списке изменений релиза на Github. Там же ещё несколько десятков правок: от потерянного расширенного мышления до ног маскота Clawd.

Коротко

  • Claude Code 2.1.282 показывает при запуске, а также в /status и claude doctor, какие переменные телеметрии из файлов настроек проекта были пропущены или, наоборот, выключили телеметрию.
  • Вместе с этим ужесточены управляемые настройки: опечатка в булевом ключе блокировки теперь включает блокировку, а одно неверное вложенное значение перестало отключать весь блок permissions, autoMode, worktree или attribution.
  • Подвох в авто-режиме: при выключенной телеметрии и прямом подключении к API Anthropic он по умолчанию обращается к серверному классификатору, а отказаться можно переменной CLAUDE_CODE_AUTO_MODE_SERVER=0.

Если вы не следили: в документации Claude Code описано, как CLI отдаёт метрики, события и, если нужно, трассировки по стандартным протоколам OpenTelemetry. Работу метрик там предлагают проверять по счётчику claude_code.session.count. По данным Claude Code Ultimate Guide, ограничения на то, что уходит наружу, появлялись и раньше: в v2.1.84 переменная CLAUDE_CODE_SUBPROCESS_ENV_SCRUB начала вычищать учётные данные из окружения подпроцессов.

Переменные вроде CLAUDE_CODE_ENABLE_TELEMETRY из файлов проекта Claude Code 2.1.282 пропускает и называет при запуске

Под новое правило попадают переменные, которые включают экспорт, меняют его адрес или захватывают содержимое, например CLAUDE_CODE_ENABLE_TELEMETRY и семейство OTEL_LOG_*. Действует оно на два уровня: настройки проекта и локальные настройки. Если такая переменная нашлась, Claude Code покажет уведомление при запуске.

Тот же список можно посмотреть и позже: в /status и в выводе claude doctor появились записи о переменных телеметрии из файлов проекта. Там перечислены и пропущенные переменные, и те, что телеметрию выключили. Получается, что выключить телеметрию из файла проекта по-прежнему можно, и об этом вы тоже узнаете.

Отдельно в документации Claude Code сказано, что переменные OTEL_* не передаются дочерним процессам: инструменту Bash, хукам, MCP-серверам и языковым серверам. Приложение с OpenTelemetry, запущенное через Bash, не унаследует ни адрес экспортёра, ни заголовки самого Claude Code.

Опечатка в ключе allowManagedPermissionRulesOnly в 2.1.282 оставляет блокировку включённой

Много правок касается управляемых настроек, которые задаёт администратор. Если в булевом ключе блокировки вроде disableClaudeAiConnectors или allowManagedPermissionRulesOnly стоит значение с опечаткой, блокировка всё равно применяется, а при запуске Claude Code называет этот ключ. Раньше одно неверное вложенное значение в блоках permissions, autoMode, worktree или attribution выбрасывало блок целиком. Сейчас остальные значения продолжают действовать.

На Windows и WSL политика администратора в HKLM или managed-settings.json, если она есть, но повреждена или не читается, не даёт применяться пользовательским HKCU и /etc/claude-code в WSL. Список sandbox.excludedCommands из настроек проекта и локальных настроек игнорируется, когда управляемые настройки или --settings задают allowUnsandboxedCommands: false либо управляемые настройки включают allowManagedDomainsOnly: true.

Навыки и команды из репозитория, пользовательской папки и --add-dir при allowManagedPermissionRulesOnly перестали заранее одобрять свои инструменты через allowed-tools. Правила Skill(anthropic-skills:*) и Skill(claude-ai:*) покрывают только навыки, синхронизированные с claude.ai. Для Chrome добавлен ключ allowClaudeInChromeWithManagedMcp, с ним claude --chrome работает рядом с эксклюзивным managed-mcp.json.

Расширенное мышление в 2.1.282 чинят сразу в четырёх сценариях

Заметная часть списка посвящена рассуждениям Claude, которые терялись по дороге. Сессии, продолженные через --continue или --resume, иногда отправляли ранние сообщения в изменённом виде, и API мог отбросить прежние рассуждения. Мышление пропадало и при вызове /model, /rename, /artifacts или другой мгновенной команды, пока Claude работал, и при перезапуске со списком --tools без встроенного инструмента, который предлагался раньше.

Если сессия на каждом ходе падала с ошибкой «Invalid data in redacted_thinking block», Claude Code сбрасывает блоки мышления разговора и повторяет запрос один раз. Исправлена ошибка 400 на каждом запросе, когда в истории лежат результаты веб-поиска, которые API не может расшифровать. Сжатие контекста при отказе в запросе на суммаризацию повторяется на запасной модели.

Ушла и ошибка входа «another Claude Code process is refreshing it», которая держалась до минуты после закрытия или аварийного завершения другого процесса. Очень большие сессии, включая никогда не сжимавшиеся, открываются быстрее.

Настройка maxProseWidth ограничивает ширину текста Claude в широком терминале

Из того, что видно глазом: maxProseWidth сужает прозу Claude в широких терминалах, а таблицы и блоки кода по-прежнему занимают всю ширину. В шлюзе Claude apps появился параметр store.readiness_grace_seconds: с ним /readyz остаётся в готовности во время короткого сбоя Postgres, например при переключении базы.

Режим vim поправлен в нескольких местах, от >> на пустых строках до счётчика перед точкой. В Claude Tag итоги стоимости и токенов в подвале ответа после перезапуска облачного воркера завышались во много раз. В облачных сессиях время следующего запуска ежечасной рутины сдвигалось на 30 минут для поясов с получасовым смещением, как в Индии. Ноги Clawd на стартовом баннере переставили под углы его тела.

Файл настроек проекта в 2.1.282 может выключить телеметрию, но включить её не может

Claude Code читает настройки с нескольких уровней: управляемые от администратора, пользовательские, проектные и локальные. Проектные лежат в репозитории и приезжают вместе с git clone, локальные относятся к конкретной папке. В 2.1.282 последние два уровня лишились права включать экспорт, менять его адрес и захватывать содержимое. Выключать телеметрию они по-прежнему могут.

Представьте записку, которую предыдущий жилец оставил на холодильнике. По ней можно полить цветы или выключить свет в коридоре, но переадресовать вашу почту она не может. С файлом проекта теперь та же история: ограничить отправку данных он вправе, а решать, куда их отправлять, нет.

У администратора рычаги сильнее. В документации Claude Code сказано, что переменная OTEL_EXPORTER_OTLP_* в управляемых настройках при запуске убирает конфликтующие переменные разработчика, а предупреждение об этом видно с claude --debug. Учётные данные вроде OTEL_EXPORTER_OTLP_HEADERS заодно убирают все адреса отправки, заданные разработчиком.

Список изменений не объясняет, какие данные получает серверный классификатор авто-режима и почему переключение на него привязано именно к выключенной телеметрии. По данным Claude Code Ultimate Guide, ещё в 2.1.281 серверная проверка распространилась на команды только для чтения и команды в песочнице, а локальный классификатор на прямом подключении расходует лимиты. На наш взгляд, пункт про авто-режим стоило поставить в начало списка: тот, кто выключил телеметрию, узнает о новом обращении к серверу, только дочитав до раздела с изменениями поведения.

Что покажет первый запуск 2.1.282

Если ваша команда собирала метрики через переменные в файле репозитория, после обновления вы увидите уведомление при старте, а экспорт остановится. Куда переносить такие переменные, кроме управляемых настроек, в описании релиза не сказано. Будут ли в следующих версиях новые ограничения для проектных файлов, тоже неизвестно. По данным Claude Code Ultimate Guide, релизы CLI выходят почти каждый день, так что продолжение может появиться быстро.

Читайте также

  1. Шлюз Claude Code 2.1.281 ходит в Bedrock под ролью IAM
  2. Claude Code 2.1.283 научился держать новые модели за дверью
  3. Claude Code выдаёт домены отдельно каждой команде
  4. Скрытые части команд обходили проверку прав в Bash
  5. Изоляция worktree пропускала команды git в основную копию
  6. Focus view в VSCode и маскирование ключей в песочнице

Комментарии

Пока никто не написал. Будьте первым.

Присоединяйтесь к разговору

Войдите через Google, чтобы оставить комментарий. Имя и аватар подставятся из вашего профиля Google, а комментарий появится после модерации.

Из Google мы используем только имя и аватар. Почту не сохраняем.