# Changelog Claude Code: что изменилось и как откатить версию

> Полный список изменений Claude Code есть только в английском CHANGELOG.md. Как увидеть правки после своей версии, найти регрессию и выбрать latest или stable.

- Source: https://www.aifreeapi.com/ru/posts/claude-code-changelog
- Language: ru
- Published: 2026-09-23
- Updated: 2026-09-23
- Publisher: AI Free API (https://www.aifreeapi.com)

Полный перечень изменений Claude Code по версиям есть в одном месте — в [официальном changelog](https://code.claude.com/docs/en/changelog). Страница собирается из файла [`CHANGELOG.md`](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md) в репозитории anthropics/claude-code и существует только на английском. Русская страница [«Что нового»](https://code.claude.com/docs/ru/whats-new) — еженедельный дайджест заметных функций: по ней удобно понять главное за неделю, но исправлений и мелких улучшений там нет.

Свою версию показывает `claude --version` в терминале или `/status` внутри сессии. По состоянию на 23 сентября 2026 года самая свежая версия — **2.1.280** (вышла 22 сентября), а канал stable, судя по тегу в npm, держится на **2.1.267** от 9 сентября.

Что делать в зависимости от задачи:

- **Нужен список всего, что вышло после вашей версии** — скачайте `CHANGELOG.md` и обрежьте его на своём номере командой `awk` из раздела ниже.
- **После обновления что-то сломалось** — ищите в changelog слова, описывающие симптом, и пометку `regression in`. Исправление уже вышло — обновитесь; ещё нет — поставьте версию до виновной и отключите автообновление.
- **Не хотите получать свежие релизы в первый же день** — переключитесь на канал `stable`: туда попадают версии примерно недельной давности, без релизов с серьёзными регрессиями.

## Changelog, «Что нового» или GitHub Releases: где что смотреть

У Anthropic несколько страниц с заметками о выпусках, и отвечают они на разные вопросы.

| Вопрос | Где смотреть | Что важно знать |
| --- | --- | --- |
| Что именно изменилось в версии, включая мелкие исправления | [Changelog](https://code.claude.com/docs/en/changelog) или [CHANGELOG.md на GitHub](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md) | Только на английском. Локализованные адреса вроде `/docs/ja/changelog` по состоянию на 23 сентября 2026 года показывают тот же английский файл |
| Главное за неделю, по-русски | [«Что нового»](https://code.claude.com/docs/ru/whats-new) | Каждая неделя подписана диапазоном версий. Например, неделя 37 (7–11 сентября 2026 года) — v2.1.263–v2.1.269, главная новинка — `claude plugin eval` |
| Заметки к релизу, не выходя из сессии | `/release-notes` | Можно выбрать одну версию или показать все. Текст выводится в терминал, но не попадает в разговор, который видит Claude |
| Какая версия установлена | `claude --version`, `/status`, `claude doctor` | `claude doctor` заодно показывает результат последней попытки автообновления |
| Точное время выхода, подписка на релизы | [GitHub Releases](https://github.com/anthropics/claude-code/releases), Atom-лента `https://github.com/anthropics/claude-code/releases.atom` | Время указано в UTC, а в changelog стоит только дата без часового пояса, поэтому даты иногда расходятся на день |
| Изменения API и моделей на платформе | [Release notes Claude Platform](https://platform.claude.com/docs/en/release-notes/overview) | Claude Code там не расписывают — отсылают к CHANGELOG.md |
| Изменения в приложениях Claude, например удаление моделей из списка выбора | [Release notes в Help Center](https://support.claude.com/en/articles/12138966-release-notes) | Касается и списка моделей в Claude Code |
| Какие версии сейчас latest и stable | `npm view @anthropic-ai/claude-code dist-tags` | Теги меняются при каждом продвижении версии |

Читать changelog целиком от начала до вашей версии непрактично. На 23 сентября 2026 года в нём 402 записи — от 0.2.21 (2 апреля 2025 года) до 2.1.280, а исходный Markdown весит около 764 КБ. Только за 2026 год до 22 сентября вышло 226 версий, от 20 до 28 в месяц. Объём релизов сильно различается: в 2.1.280 — 114 пунктов, в 2.1.277 — 87, а в 2.1.276, 2.1.272 и 2.1.270 — по одному.

## Что изменилось после вашей версии: одна команда

Идея простая: в `CHANGELOG.md` самые новые версии идут сверху, каждая начинается с заголовка вида `## 2.1.280`. Значит, достаточно вывести файл до заголовка с вашим номером.

```bash
# 1. Узнать установленную версию
claude --version
# 2.1.275 (Claude Code)

# 2. Сохранить changelog в файл
curl -fsSL -o CHANGELOG.md https://raw.githubusercontent.com/anthropics/claude-code/main/CHANGELOG.md

# 3. Вывести всё, что вышло после 2.1.275
awk -v mine="2.1.275" '/^## /{ if ($2==mine) exit } {print}' CHANGELOG.md
```

Для версии 2.1.275 на 23 сентября 2026 года команда выводит заголовки 2.1.280, 2.1.278, 2.1.277 и 2.1.276 и 204 строки с пунктами изменений. Чтобы сначала оценить масштаб, добавьте в конец `| grep '^## '` (только номера версий) или `| grep -c '^- '` (число пунктов).

![Схема: awk выводит CHANGELOG.md сверху вниз до заголовка 2.1.275 — это 4 версии и 204 пункта; сохраните файл, прежде чем запускать awk](https://www.aifreeapi.com/posts/ru/claude-code-changelog/img/changelog-after-your-version.webp)

На чём команда чаще всего спотыкается:

- **Не передавайте вывод curl прямо в awk.** awk останавливается на вашей версии и закрывает ввод, curl не может дописать остаток и печатает `curl: (56) Failure writing output`. Поэтому файл сначала сохраняется.
- **Номер версии — ровно как в `claude --version`, без приписки «(Claude Code)».** Подставить его автоматически можно так: `mine=$(claude --version | awk '{print $1}')`, а затем `awk -v mine="$mine" ...`.
- **Если awk вывел весь файл до конца**, заголовка с вашим номером в нём нет — чаще всего это опечатка в номере.
- Шаблон рассчитан на заголовки `## 2.1.x`. Если Anthropic изменит формат файла, условие `/^## /` придётся поправить.
- На Windows команды работают в WSL или другой среде с curl, awk и grep.

Если нужна одна конкретная версия, проще не выходить из Claude Code: `/release-notes` откроет список версий с их заметками.

## В какой версии изменилось поведение

Когда коллега говорит «в новой версии поменяли X», найти эту версию помогает поиск по тому же файлу. `grep -n -i "agents.md" CHANGELOG.md` покажет номера строк, но не версии. Следующая команда печатает версию перед каждой найденной строкой (ключевое слово пишите строчными буквами):

```bash
awk -v k="agents.md" '/^## /{v=$2} index(tolower($0), k){print v": "$0}' CHANGELOG.md
```

Результат начнётся со строки `2.1.277: - Added AGENTS.md support: in a project with no CLAUDE.md, Claude Code reads AGENTS.md instead; ...` — то есть чтение AGENTS.md при отсутствии CLAUDE.md появилось в 2.1.277.

### Регрессии помечены прямо в тексте

Если что-то сломалось после обновления, ищите не только слова симптома, но и слово «regression». В пунктах-исправлениях Anthropic часто указывает версию, которая внесла проблему. На 23 сентября 2026 года в changelog 24 пункта с пометкой вида `(regression in 2.1.x)`, а также встречаются формулировки вроде `a regression introduced in 2.1.255`. Поэтому ищите по корню слова:

```bash
awk '/^## /{v=$2} /[Rr]egression/{print v": "$0}' CHANGELOG.md
```

Как это выглядит на практике:

- в 2.1.269 исправили F1/F2/F4 в терминалах с протоколом клавиатуры kitty и Shift с пунктуацией в WezTerm — пометка `regression in 2.1.247`;
- в 2.1.270 и 2.1.275 исправили по проблеме с пометкой `regression in 2.1.269`: read-only git-команды в Bash начинали запрашивать разрешение после долгой сессии, а переименование работающей сессии в VS Code откатывалось к сгенерированному имени.

Дальше решение простое. Версия исправления новее вашей — обновитесь. Исправления ещё нет — поставьте версию, предшествующую той, что указана в пометке (как — ниже). Учтите, что помечена далеко не каждая регрессия: отсутствие пометки не доказывает, что проблема не связана с обновлением.

## latest или stable: какой канал держать

Канал задаёт настройка `autoUpdatesChannel`, и от неё зависят и фоновые обновления, и `claude update` ([документация по каналам](https://code.claude.com/docs/en/setup#configure-release-channel)):

- `"latest"` — значение по умолчанию, новые версии приходят сразу после выхода;
- `"stable"` — версия обычно примерно недельной давности, релизы с серьёзными регрессиями пропускаются.

«Примерно неделя» — типичный случай, а не гарантия. По тегам npm на 23 сентября 2026 года stable (2.1.267 от 9 сентября) отставал от latest (2.1.280 от 22 сентября) на 13 дней и 12 опубликованных релизов: 2.1.268–2.1.278 и 2.1.280. Проверить текущий разрыв можно командой `npm view @anthropic-ai/claude-code dist-tags`.

Для нативного установщика в тот же день номера совпадали: `curl -fsSL https://downloads.claude.ai/claude-code-releases/stable` возвращал `2.1.267`, а тот же адрес с `/latest` на конце — `2.1.280`. Этими адресами пользуется скрипт установки Anthropic, но в документации они не описаны, так что это наблюдение на 23 сентября 2026 года, а не гарантия: формат может измениться без предупреждения.

Отставание бывает и заметно больше недели. В репозитории apt канала stable после 2.1.236 (вышла 19 августа) сразу идёт 2.1.267 (9 сентября) — 21 день спустя. Ни одна сборка из промежутка 2.1.237–2.1.266 туда не попала, в том числе версии, которые не запускались на macOS 12 (регрессия из 2.1.255, исправлена в 2.1.258). Две оговорки: это даты выхода версий, а не даты их перевода в stable, и то, что нативный канал stable шёл по тем же версиям, — предположение.

Что это значит на конкретном примере. На stable 2.1.267 по состоянию на 23 сентября нет `claude plugin eval` (появился в 2.1.269), чтения AGENTS.md вместо отсутствующего CLAUDE.md (2.1.277) и Opus 5.5 как модели Opus по умолчанию (2.1.280). Зато и проблемы, внесённые в 2.1.269, до этой версии не доходят.

![Шкала релизов 9–22 сентября 2026 года: stable 2.1.267, затем 2.1.269 с регрессиями, исправления в 2.1.270 и 2.1.275, AGENTS.md в 2.1.277 и latest 2.1.280 с Opus 5.5](https://www.aifreeapi.com/posts/ru/claude-code-changelog/img/september-stable-vs-latest.webp)

| Ситуация | Что делать |
| --- | --- |
| Нужны новые модели и функции сразу после выхода | Оставайтесь на `latest` |
| Команда, общая среда или CI, где важнее предсказуемость | `stable`; в организации канал можно закрепить через managed settings |
| Вы на latest, хотите перейти на stable, но не хотите откатываться на старую версию | Переключите канал в `/config` и выберите «остаться на текущей версии» — это выставит `minimumVersion` |
| Конкретная версия сломала работу, исправления ещё нет | Установите предыдущую версию и отключите автообновление до выхода исправления |
| Организации нужен допустимый диапазон версий | Managed settings `requiredMinimumVersion` и `requiredMaximumVersion` |

## Как переключить канал и задать минимальную версию

Канал меняется в `/config` → **Auto-update channel** или в settings.json:

```json
{
  "autoUpdatesChannel": "stable"
}
```

При переходе с latest на stable через `/config` Claude Code спросит, остаться ли на текущей версии или разрешить откат. Если остаться, текущая версия записывается в `minimumVersion`. Обратное переключение на latest эту настройку очищает.

`minimumVersion` — это нижняя граница, а не фиксация версии: ни фоновое обновление, ни `claude update` не поставят ничего ниже указанного номера, но версии выше продолжат приходить.

```json
{
  "autoUpdatesChannel": "stable",
  "minimumVersion": "2.1.100"
}
```

Для организаций:

- в managed settings можно навязать единый канал и минимальную версию, которую не переопределят пользовательские и проектные настройки;
- `requiredMinimumVersion` и `requiredMaximumVersion` заставляют Claude Code отказываться запускаться вне заданного диапазона, а обновления не поднимаются выше максимума ([подробнее о минимальной версии](https://code.claude.com/docs/en/setup#pin-a-minimum-version)).

У Homebrew канал выбирается не настройкой, а cask-пакетом: `claude-code` следует за stable, `claude-code@latest` — за latest. Репозитории apt, dnf и apk тоже публикуются в двух вариантах, stable и latest.

## Как откатиться на конкретную версию

Нативный установщик принимает номер версии или название канала ([раздел документации](https://code.claude.com/docs/en/setup#install-a-specific-version)). Если Claude Code уже установлен нативно, достаточно документированной команды `claude install 2.1.267`: она ставит или переустанавливает бинарник и принимает номер версии, `stable` или `latest` ([справочник CLI](https://code.claude.com/docs/en/cli-reference)). Через скрипт установки откат на 2.1.267 выглядит так:

```bash
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash -s 2.1.267
```

```powershell
# Windows PowerShell
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.267
```

```batch
:: Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd 2.1.267 && del install.cmd
```

Для npm-установки работает обычный синтаксис npm: `npm install -g @anthropic-ai/claude-code@2.1.267`. После установки `claude --version` должен вывести `2.1.267 (Claude Code)`.

Сразу после отката отключите автообновление, иначе откат может не продержаться. В документации этот случай не разобран, но в [issue #91309](https://github.com/anthropics/claude-code/issues/91309) пользователи описывают именно его: фоновое автообновление перевело машины на macOS 12 на 2.1.257, которая не запускалась. Откат через `curl -fsSL https://claude.ai/install.sh | bash -s 2.1.252` удержался только вместе с `DISABLE_AUTOUPDATER` — без переменной следующее фоновое обновление тихо ставило сломанную сборку обратно. Предыдущие версии при этом оставались в `~/.local/share/claude/versions/`, а после исправления в 2.1.258 автор issue убрал и привязку к версии, и переменную. Это сообщения двух пользователей на одной ОС, а не заявление Anthropic, но риск они показывают наглядно.

Переменная задаётся в ключе `env` файла settings.json:

```json
{
  "env": {
    "DISABLE_AUTOUPDATER": "1"
  }
}
```

Для нативной и npm-установки проверка — `claude doctor`: строка `Auto-updates` должна показывать `disabled (set by env: DISABLE_AUTOUPDATER)` вместо `enabled`.

Три оговорки:

- `DISABLE_AUTOUPDATER` отключает только фоновую проверку. `claude update` и `claude install` продолжают работать, и ручной `claude update` вернёт вас на свежую версию. Когда исправление появится в changelog, удалите переменную и обновитесь.
- `DISABLE_UPDATES` блокирует все пути обновления, включая ручные. Он нужен тем, кто раздаёт Claude Code через собственные каналы и хочет удержать всех на своей версии.
- Копия Claude Code внутри приложения Claude Desktop (`~/Library/Application Support/Claude/claude-code/<version>/`) — отдельная установка со своими обновлениями. По сообщениям в [issue #92401](https://github.com/anthropics/claude-code/issues/92401), ни `DISABLE_AUTOUPDATER`, ни установка версии через install.sh её не затрагивают: они действуют только на отдельный CLI.

Если откатываться на конкретный номер не нужно, а хочется просто перестать получать самые свежие сборки, установите канал stable: `bash -s stable` вместо номера версии. Канал, выбранный при установке, становится каналом автообновления по умолчанию.

### Homebrew, WinGet и пакеты Linux

Эти способы по умолчанию не обновляются сами (для Homebrew и WinGet — пока не включена переменная `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE`), поэтому установленная версия держится, пока вы не запустите обновление. Выбор старых версий у них разный (данные на 23 сентября 2026 года):

- **Homebrew** — только два cask: `claude-code` (2.1.267) и `claude-code@latest` (2.1.280). Отдельного cask для произвольного номера нет, так что выбирать можно лишь между stable и latest.
- **WinGet** — один пакет `Anthropic.ClaudeCode`, но в репозитории [microsoft/winget-pkgs](https://github.com/microsoft/winget-pkgs/tree/master/manifests/a/Anthropic/ClaudeCode) хранится много прошлых версий, например 2.1.252, 2.1.267 и 2.1.268. Манифесты создаёт автоматический инструмент, и самой новой версией в тот день была 2.1.268 — не stable и не latest. Поэтому версия в WinGet может не совпадать ни с одним каналом.
- **apt, dnf, apk** — репозитории хранят старые сборки. В индексе apt stable 54 версии (от 2.1.108 до 2.1.267), в apt latest — 134, вплоть до 2.1.280. Самая новая сборка в rpm-репозитории stable — 2.1.267, в apk stable тоже 54 версии. Номер пакета записывается с суффиксом: `2.1.267-1` в apt, `2.1.267-r1` в apk.

Команды ниже — штатный синтаксис самих менеджеров пакетов, а не инструкции из документации Anthropic; запуском на Windows и Linux они не проверены:

```bash
# WinGet (Windows)
winget install Anthropic.ClaudeCode --version 2.1.267

# Debian, Ubuntu: установить и запретить обновление пакета
sudo apt install claude-code=2.1.267-1
sudo apt-mark hold claude-code
# после выхода исправления: sudo apt-mark unhold claude-code

# Fedora, RHEL
sudo dnf install claude-code-2.1.267

# Alpine
apk add claude-code=2.1.267-r1
```

## Как обновиться при разных способах установки

| Способ установки | Обновляется сам | Команда для ручного обновления |
| --- | --- | --- |
| Нативный установщик | Да: проверка при запуске и периодически во время работы, загрузка в фоне, новая версия включается при следующем запуске | `claude update` |
| npm | Да, если глобальный каталог npm доступен для записи | `npm install -g @anthropic-ai/claude-code@latest` |
| Homebrew | Нет | `brew upgrade claude-code` или `brew upgrade claude-code@latest` — в зависимости от установленного cask |
| WinGet | Нет | `winget upgrade Anthropic.ClaudeCode` |
| apt | Нет | `sudo apt update && sudo apt upgrade claude-code` |
| dnf | Нет | `sudo dnf upgrade claude-code` |
| apk | Нет | `apk update && apk upgrade claude-code` |

Подробности — в [разделе об обновлениях](https://code.claude.com/docs/en/setup#auto-updates). Несколько деталей, на которых легко потерять время:

- **npm:** не используйте `npm update -g` — эта команда соблюдает semver-диапазон исходной установки и может не дотянуть до последней версии. С версии 2.1.198 пакет требует Node.js 22 или новее; на старом Node.js npm выдаёт предупреждение `EBADENGINE`, но установка завершается и `claude` запускается, потому что пакет ставит тот же нативный бинарник.
- **Homebrew и WinGet:** переменная `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1` разрешает Claude Code самому запускать обновление через менеджер пакетов. Для apt, dnf и apk такой опции нет — нужны права администратора.
- **Уведомление раньше пакета:** Claude Code может сообщить о новой версии до того, как она появилась в Homebrew, WinGet или репозиториях Linux. Если обновление не находится, подождите и повторите позже.
- **Как понять, что обновление прошло:** `claude update` печатает `Successfully updated from <old version> to version <new version>`, если обновил, и `Claude Code is up to date (<version>)`, если обновлять нечего. При установке через Homebrew, WinGet или apk вместо этого выводится `Claude is up to date!`.

## Заметные изменения 2026 года по версиям

Таблица помогает быстро понять, до какой версии нужно обновиться ради конкретной функции или начиная с какой версии изменилось поведение по умолчанию. Доступность моделей зависит ещё и от тарифа и провайдера.

| Версия и дата | Что изменилось |
| --- | --- |
| 2.1.197, 30 июня | Sonnet 5 стала моделью по умолчанию, контекст 1M |
| 2.1.198, 1 июля | Субагенты по умолчанию работают в фоне; Claude in Chrome стал общедоступным; npm-пакет требует Node.js 22+ |
| 2.1.219, 24 июля | Opus 5 (`claude-opus-5`) — модель Opus по умолчанию |
| v2.1.220–v2.1.224, 3–7 августа | Auto mode становится режимом разрешений по умолчанию для новых сессий на Pro, Max и Team с 14 августа (дайджест недели 32) — см. [Auto mode или bypassPermissions в Claude Code](/ru/posts/claude-code-auto-mode-vs-bypass-permissions) |
| 2.1.224, 7 августа | Self-hosted окружения через `claude self-hosted-runner` для Team и Enterprise |
| 2.1.257, 1 сентября | Fable 5.1 (`claude-fable-5-1`) — модель Fable по умолчанию, контекст 1M, $10 / $50 за 1 млн токенов, чтение из кэша $0,25 — подробнее в материале [Claude Fable 5.1: цена API, изменения и миграция](/ru/posts/claude-fable-5-1) |
| 2.1.269, 11 сентября | `claude plugin eval` — прогон плагина на наборе тестовых случаев |
| 2.1.277, 18 сентября | Если в проекте нет CLAUDE.md, читается AGENTS.md (пока не на Bedrock, Vertex и Foundry) |
| 2.1.280, 22 сентября | Opus 5.5 (`claude-opus-5-5`) — модель Opus по умолчанию, контекст 1M, $4 / $20 за 1 млн токенов, чтение из кэша $0,20 — см. [Claude Opus 5.5: сколько стоит API и что проверить при переходе с Opus 5](/ru/posts/claude-opus-5-5) |

У 2.1.280 есть деталь, которую легко пропустить: уровень effort, сохранённый до того, как `/effort` стал настраиваться отдельно для каждой модели, больше не применяется к новым моделям вроде Opus 5.5. Они стартуют с уровнем по умолчанию, пока вы не выберете другой. Если после обновления ответы Opus стали заметно другими, первым делом загляните в `/effort`.

## Частые вопросы

### Какая последняя версия Claude Code?

По состоянию на 23 сентября 2026 года — 2.1.280: в changelog она датирована 22 сентября, на GitHub Releases опубликована в 16:38 UTC. На канале stable в тот же день стояла 2.1.267. Актуальные номера покажет `npm view @anthropic-ai/claude-code dist-tags`, а `/doctor` внутри сессии проверяет, есть ли более новая версия на вашем канале.

### Есть ли changelog Claude Code на русском?

Нет. Полный список изменений по версиям публикуется только на английском, даже по локализованным адресам. На русском есть «Что нового» — выжимка главного за неделю с диапазоном версий, но без списка исправлений.

### Почему в списке нет версии 2.1.279?

Номера версий идут с пропусками: внутри диапазона 2.1.x у 57 номеров нет записи в changelog. Для 2.1.262, 2.1.264 и 2.1.279 нет ни пакета в npm, ни тега на GitHub — эти номера просто не публиковались. Отозванным релизом пропуск считать не нужно.

### Почему дата в changelog и на GitHub различается?

Changelog показывает только дату без часового пояса, а GitHub Releases — время публикации в UTC. Релиз, вышедший поздно вечером по одному часовому поясу, может оказаться следующим днём по другому.

### Тратит ли `/release-notes` контекст модели?

По текущей документации нет: заметки выводятся в терминал, но не попадают в разговор, который видит Claude. В ранних сборках встречалась ошибка, из-за которой при выборе «Show all» changelog всё-таки попадал в контекст; её исправили.
