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

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-правила и политика организации на эти вызовы при этом действуют.
Дальше
Claude Duet раздаёт по 3 инвайта и неделю Pro в США
Три приглашения на каждого пользователя Claude Duet, и к инвайту неделя Claude Pro бесплатно, судя по посту в Threads. Доступ только в США, а сам Duet тратит лимиты тарифа наравне с обычным чатом, фоновую работу тоже. Лимиты Claude у вас чаще кончаются на чатах или на агентах?
Читайте также
- Claude Code 2.1.321 перевёл Fable на 5.2 и снизил цену
- Облачный Claude Code сам соберёт окружение для репозитория
- Claude Code на десктопе запускает по сессии на задачу
- Claude Code пустил в проекты весь лист ожидания Pro и Max
- Claude Code 2.1.294 чинит хуки, которые пропускали запреты
- Проекты Claude Code научились запускать потоки локально
Комментарии
Пока никто не написал. Будьте первым.
Присоединяйтесь к разговору
Войдите, чтобы оставить комментарий. Он появится после модерации.

