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

Claude Code

Claude Code 2.1.323 добавил экспериментальный Code Mode

6 мин чтения

Текст написан ИИ-моделью по источникам, на которые ведут ссылки, и сверен с ними второй моделью. Как мы работаем

Всё о теме: Claude Code: версии и изменения →

12 ноября Anthropic выпустила Claude Code 2.1.323: в нём появился экспериментальный Code Mode, а окно модели с незнакомым Claude Code ID по умолчанию считается в 1M токенов вместо 200K, следует из заметок к релизу на GitHub. Сессии на моделях других вендоров с окном поменьше после заполнения могут падать на каждом ходу, пока не сделать /clear, поэтому тем, кто на них работает, CLAUDE_CODE_DISABLE_1M_CONTEXT=1 нужно задать до того, как сессия заполнится.

Code Mode пока экспериментальный и сам не включается: в нём Claude пишет JavaScript, через который вызывает свои инструменты. Как его включить или, наоборот, отключить для всей организации, описано в документации.

Модели не от Anthropic

Если 1M для вашей модели слишком много, вариантов два: команда /autocompact, чтобы контекст сжимался раньше, или та же переменная CLAUDE_CODE_DISABLE_1M_CONTEXT=1, которая оставляет 200K. Шлюз Claude apps в ответе /v1/models начал указывать max_input_tokens, но только для моделей, чьё окно точно известно у каждого вышестоящего провайдера.

Тем, кто ходит через шлюз по ANTHROPIC_BASE_URL, стоит проверить имена моделей. Auto mode отказывается работать на модели, в имени которой у шлюза есть haiku, если это не claude-haiku-5-5, так же как он отказывает Haiku 4.5. А флаг --permission-mode auto или defaultMode: auto в настройках при недоступном auto mode запускают сессию в ручном режиме, где Claude сначала спрашивает. Раньше в этой ситуации сессия могла стартовать в режиме с более широкими разрешениями.

Если настройки блокируют запрошенную модель, claude -p с текстовым выводом молча брал другую, а с этой версии предупреждает об этом в stderr. Когда Amazon Bedrock отказывает аккаунту в модели, ошибка советует включить модель, а не обновить учётные данные AWS.

Права в Bash и песочница

Правила deny и ask пропускали часть команд, запущенных через sudo, env и похожие обёртки. Allow-правила с объединёнными флагами sudo и правила с приклеенным шаблоном вроде Bash(ls*) в некоторых случаях обходили запрос прав. Правило, где названа переменная, например Bash(NODE_ENV*), теперь спрашивает, а на правило со звёздочкой в значении переменной, вроде Bash(PORT=* npm run dev), Claude Code предупреждает при запуске. Ещё закрыли случай, когда rm проверялся относительно не той папки и под bypass permissions или по allow-правилу обходил запрос на опасное удаление. Без запроса проходили и некоторые команды у пользователей zsh с нестандартными опциями оболочки, а на Windows часть команд чтения файлов с шаблоном или списком файлов.

Write и Edit в некоторых случаях могли писать по пути, закрытому deny-правилом на чтение. Песочница Bash могла отключиться посреди сессии, а sandbox.excludedCommands иногда выпускал из неё команду, которую в нём не перечисляли. claude -p и Agent SDK запускали Bash без песочницы, если настройки, которые её включают, не проходили проверку; в этом случае Claude Code теперь останавливается при запуске и называет ошибочную настройку.

Несколько изменений могут сломать привычный порядок работы:

  • «don't ask again» сохраняет allow-правило только на сессию, если оно похоже на секрет или попало бы в settings.local.json, который отслеживает git;
  • на macOS и Linux в песочнице git worktree add, move и remove падают с ошибкой «только для чтения», как и коммиты в worktree, с которым сессия не стартовала и который ей не выдавали, даже если он лежит внутри проекта;
  • право на запись через символическую ссылку в доступной папке, которая ведёт в другое место или на несуществующий путь, песочница на macOS, Linux и WSL игнорирует: выдавайте настоящий путь;
  • glab config set без --global или --host и glab config edit --local в песочнице не работают, их нужно запускать вне её.

Что поменять в настройках

  • Запросы настроек и политик организации перестали ходить через прокси, заданный только в ALL_PROXY. Если сети нужен прокси, задайте HTTPS_PROXY.
  • Собственный ripgrep Claude Code и большинство его внутренних git-команд запускаются без большинства токенов и API-ключей, так что credential helper или хук под такой командой их не найдёт.
  • MCP_SDK_GENERATION=v1 запускает клиент MCP v2 в режиме совместимости с более ранним рукопожатием и ослабленными проверками OAuth, потому что клиент v1 удалили.
  • Одобрение MCP-сервера из .mcp.json привязано к точному имени, и запись в другом написании снова вызовет вопрос.
  • Инструмент, которым Claude завершает вход на MCP-сервер, просит подтверждения даже в bypass и auto mode. Где спросить некого, например в dontAsk, используйте /mcp.
  • Число сообщений, которые ваши сессии на одной машине шлют друг другу без вашего участия, выросло примерно с 20 до 100 000; у сессии во вкладке Code в Claude Desktop лимит до ожидания вашего ввода поднят с 20 до 100 000.
  • Максимум CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS поднят с 64 000 до 300 000.
  • Экспорт OpenTelemetry падал, если прокси шёл до коллектора дольше 10 секунд; теперь у него 25 секунд, и это же стало потолком OTEL_EXPORTER_OTLP_TIMEOUT (был 30). Экспортер otlp без OTEL_EXPORTER_OTLP_PROTOCOL по умолчанию работает по http/protobuf.
  • On-demand self-hosted runner, чей заказ на работу заменили новым, снова завершается с кодом 1; в 2.1.321 и 2.1.322 код был 0, и CI, который успел под это подстроиться, придётся поправить.
  • Настройку subagentStatusLine убрали, но файлы, где она осталась, загружаются как раньше.

Для Fable, которую версия 2.1.321 перевела на 5.2 по умолчанию, починили недельный лимит: в терминале он показывался без времени сброса и без меню вариантов. В -p, SDK, IDE и облачных сессиях сообщение о лимите говорит, когда он сбросится и как продолжить. Если модели нужны usage credits, а они выключены или кончились, Claude Code предлагает меню: остановиться, перейти на кредиты или повысить тариф.

Плагины и моды

Поле engines["claude-code"] в plugin.json задаёт диапазон версий Claude Code: плагин вне его не ставится, не обновляется и не загружается, а при установке и обновлении выбирается самая новая подходящая версия. claude plugin validate проверяет типы в TypeScript-модуле хуков: каждая находка идёт предупреждением, а с --strict валидация падает. Установка плагина или маркетплейса падает, если git-сабмодуль стоит не на том коммите, который записан в репозитории. Настройку agent у плагина объявили устаревшей мягко: она ещё работает и лишь предупреждает при запуске, в claude plugin list и в claude plugin validate.

Авторам модов придётся переписать хуки на engine.create. Хук через *, пространство имён или отрицание только наблюдает, а чтобы добавить или скрыть $-сущность, нужен хук на engine.create по имени. claude plugin validate отбраковывает мод, у которого такой хук написан не в единственной принятой форме, хотя уже установленные моды продолжают загружаться.

Ещё в релизе закрыли возможность модов переписывать собственные вопросы подтверждения Claude Code. По журналу изменений Claude Code от 9 ноября, моды, которые пишет сам Claude, в режимах auto и bypass включаются без вопроса, а их вызовы инструментов проходят без запроса прав даже при ваших ask-правилах, в dontAsk и в запусках -p. Deny-правила и политика организации на эти вызовы при этом действуют.

Anthropic

Claude Duet раздаёт по 3 инвайта и неделю Pro в США

Три приглашения на каждого пользователя Claude Duet, и к инвайту неделя Claude Pro бесплатно, судя по посту в Threads. Доступ только в США, а сам Duet тратит лимиты тарифа наравне с обычным чатом, фоновую работу тоже. Лимиты Claude у вас чаще кончаются на чатах или на агентах?

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

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

Войдите, чтобы оставить комментарий. Он появится после модерации.