# Ошибка обновления Codex на Mac (HTTP 520): исправлено 21 октября

> «Update Error!» и HTTP 520 при проверке обновлений Codex (ChatGPT для Mac) — сбой OpenAI, исправленный 21 октября 2026 года. Что делать, если ошибка осталась.

- Source: https://www.aifreeapi.com/ru/posts/codex-update-check-failed
- Language: ru
- Published: 2026-10-22
- Updated: 2026-10-22
- Publisher: AI Free API (https://www.aifreeapi.com)

Если в приложении Codex (с июля 2026 года это десктопный ChatGPT для Mac) пункт **ChatGPT → Check for Updates** заканчивается окном `Update Error!` с текстом `An error occurred in retrieving update information. Please try again later.`, а в логе приложения стоят `SUSparkleErrorDomain Code=2001` и `server error (520)`, дело не в вашем Mac. С вечера 13 октября 2026 года сервер, который отдаёт приложению ленту обновлений (appcast), отвечал ошибкой 520. OpenAI исправила это у себя 21 октября 2026 года в 17:29 UTC (20:29 по Москве): сотрудник компании написал «This is fixed!» и закрыл [тикет #53891 на GitHub](https://github.com/openai/codex/issues/53891). Обновлять приложение ради исправления не нужно. Причину сбоя OpenAI не назвала.

Если проверка у вас всё ещё падает:

1. Полностью выйдите из приложения (⌘Q), откройте его снова и повторите **Check for Updates**.
2. Откройте **Settings → General**. Строка `In-app updates: Managed` означает, что обновления отключила ваша организация, — это другой случай, и решает его администратор.
3. Сравните свою версию с первой записью официальной ленты обновлений. Если вы отстаёте, поставьте поверх официальный установщик `ChatGPT.dmg` по ссылке из документации OpenAI.

Если и после этого в логе снова 2001 и 520, это уже не известный сбой, а новая проблема: о ней стоит написать в GitHub. Подробности по каждому шагу ниже.

## «Update Error!» и код 2001/520: как узнать именно этот сбой

Само окно ошибки почти ничего не говорит. Такой же текст Sparkle (механизм обновлений, встроенный в приложение для macOS) показывает при любой неудаче с получением сведений об обновлении. Этот сбой узнаётся по сочетанию признаков:

- **Окно.** Заголовок `Update Error!`, текст `An error occurred in retrieving update information. Please try again later.` Кода 520 в окне нет, он виден только в логе.
- **Лог.** `SUSparkleErrorDomain Code=2001` с вложенной причиной `server error (520)` при запросе `https://updates.oaistatic.com/codex/app/appcast`. К этому адресу приложение добавляет свои параметры: `installation_id`, `arch`, `app_version`, `os-version` и другие.
- **Платформа.** Все сообщения об ошибке 520 пришли с macOS.

Где именно приложение хранит этот лог, в документации OpenAI не сказано. Если до лога вы не добрались, ориентируйтесь на текст окна и на время: ошибка, появившаяся между 13 и 21 октября, почти наверняка была этим сбоем.

Окно, скорее всего, будет на английском, даже если macOS у вас на русском. В ленте обновлений приложения перечислены языки Sparkle `de`, `ar`, `el`, `ja`, `fa`, `uk` и `zh_CN`; русского среди них нет. Если перевод в вашей сборке всё же окажется, те же строки в русской локализации Sparkle звучат так: «Ошибка при обновлении!» и «Произошла ошибка при извлечении информации обновления. Повторите попытку позже.»

Что означают коды:

- **2001** в [исходниках Sparkle](https://github.com/sparkle-project/Sparkle/blob/2.x/Sparkle/SUErrors.h) — это `SUDownloadError`: не удался сам запрос ленты. Если бы ленту получили, но не смогли разобрать, код был бы 1002 (`SUAppcastError`).
- **520** — код Cloudflare: [исходный сервер вернул Cloudflare пустой, неизвестный или неожиданный ответ](https://developers.cloudflare.com/support/troubleshooting/http-status-codes/cloudflare-5xx-errors/error-520/). Все способы исправления Cloudflare адресует владельцу сайта, у посетителя их нет.

Вместе они значат: приложение достучалось до сервера обновлений OpenAI, но тот не отдал ленту. До скачивания самого обновления дело не доходило.

![Путь запроса: ChatGPT для Mac через Cloudflare к серверу OpenAI, обратно приходит HTTP 520; ниже — Update Error! в окне, Code=2001 и server error (520) в логе и расшифровка кодов 2001, 1002 и 520](https://www.aifreeapi.com/posts/ru/codex-update-check-failed/img/appcast-520-path.webp)

## Сбой appcast с 13 по 21 октября 2026 года: хронология и статус

| Когда (UTC, в скобках московское время) | Что произошло |
| --- | --- |
| 13 октября, вечер | Пользователи замечают, что проверка обновлений перестала работать |
| 14 октября, 06:42 (09:42) | Открыт тикет [#53891](https://github.com/openai/codex/issues/53891) «Update checks fail because appcast endpoint returns HTTP 520»; позже в него свели дубликаты #54144, #54296, #54364 и #54392 |
| 16 октября | Пользователь показывает, что статическая лента отвечает кодом 200, а динамический адрес — 520 |
| 18–21 октября | Сообщения о том, что результат зависит от сетевого маршрута: у одного IPv6 даёт 520, а IPv4 — 200; у других падает и по IPv4 |
| 21 октября, 16:04 (19:04) | Robbie Ostrow из OpenAI: причина найдена, исправление скоро выйдет |
| 21 октября, 17:22 (20:22) | Один из пострадавших подтверждает, что у него проверка заработала |
| 21 октября, 17:29 (20:29) | «This is fixed!», тикет закрыт как выполненный |
| 22 октября, 01:16 (04:16) | В ленте появляется новая сборка 26.1016.61520 |

Подтверждение пришло раньше, чем вышла новая сборка, так что исправили сервер, а не приложение. После закрытия тикета, по состоянию на 22 октября 2026 года (около 04:45 по Москве), новых сообщений об ошибке 520 в репозитории `openai/codex` не появилось.

В тикете отметились версии от 26.1007.30912 до 26.1016.51333 на macOS 15.2, 26.5.2, 26.7.1, 27.0 и 27.0.1, все на Apple Silicon. Сообщений с Intel-маков не было, но это не значит, что их сбой не задел. Перезагрузка Mac и сброс кэша DNS не помогали.

Почему не помогала и переустановка? Один из пользователей разобрал содержимое приложения версии 26.1007.71326. По его выводам, рабочие сборки берут ленту только с динамического адреса и не переключаются на статическую ленту, даже если динамический адрес отвечает ошибкой. OpenAI этот разбор не подтверждала, но он сходится с наблюдениями: те, кто ставил новую сборку вручную, получали новую версию, а **Check for Updates** продолжал падать.

Чего пока никто не знает:

- в чём была причина на стороне OpenAI;
- восстановились ли без каких-либо действий все пострадавшие Mac;
- нужна ли после исправления перезагрузка.

## Проверка обновлений всё ещё падает: что сделать по порядку

**1. Полностью перезапустите приложение.** Выйдите через **ChatGPT → Quit ChatGPT** или ⌘Q, а не просто закройте окно: в [документации OpenAI по обновлениям](https://learn.chatgpt.com/codex/enterprise/manage-app-updates) прямо сказано, что закрытия окна не всегда хватает для перезапуска. Откройте приложение и выберите **Check for Updates**. Если всё в порядке, вместо ошибки появится окно `You’re up to date!` или предложение установить новую версию.

**2. Проверьте, не управляет ли обновлениями организация.** В **Settings → General** найдите строку `In-app updates`. Если там `Managed` и сообщение `Your organization has turned off in-app updates.`, встроенный апдейтер отключён политикой рабочего пространства (`in_app_updates = false` в `requirements.toml`). Пункт **Check for Updates** при этом может оставаться в меню, так что ориентироваться на него нельзя. Новые версии в этом случае ставит администратор через MDM или другую систему развёртывания, и к сбою 520 это отношения не имеет.

**3. Сверьте номер версии.** Как это сделать без апдейтера, описано в следующем разделе. Если ваша версия совпадает с первой записью в ленте, вы ничего не пропускаете, и спешить некуда.

**4. Если отстаёте, поставьте официальный установщик поверх.** Скачайте [`ChatGPT.dmg`](https://persistent.oaistatic.com/codex-app-prod/ChatGPT.dmg) — эта ссылка дана в документации OpenAI — откройте его и перетащите ChatGPT в «Программы» с заменой. В GitHub часто цитируют другой адрес, `Codex.dmg`: по состоянию на 22 октября 2026 года он отставал на одну версию (обновлён 21 октября, а `ChatGPT.dmg` — 22 октября). Ручная установка обновляет приложение, но сама по себе проверку обновлений не чинит: во время сбоя у тех, кто так делал, ошибка оставалась.

**5. Если ошибка 2001/520 вернулась после 21 октября, сообщите о ней.** Тикет #53891 закрыт, поэтому откройте новый в [`openai/codex`](https://github.com/openai/codex/issues) со ссылкой на #53891. Укажите версию из **About ChatGPT**, версию macOS, тип процессора (Apple Silicon или Intel), время ошибки по UTC и строку из лога. Идентификатор установки (`installation_id`) из адреса уберите.

![Четыре шага при ошибке проверки обновлений: полный выход и повтор, проверка строки In-app updates, сверка версии с appcast.xml, установка ChatGPT.dmg поверх — и результат каждого шага справа](https://www.aifreeapi.com/posts/ru/codex-update-check-failed/img/update-check-steps.webp)

Чего делать не стоит, даже если очень хочется обновиться:

- отключать проверку TLS-сертификатов или подписи обновлений;
- править содержимое `ChatGPT.app`;
- скачивать сборки с зеркал, из чатов и файлообменников.

Если во время сбоя вы поставили скрипт-«сторож» из [обсуждения #53891](https://github.com/openai/codex/issues/53891) — задание launchd, которое держит `backendAppcastEnabled` в значении `false` в файле `~/Library/Application Support/com.openai.codex/production-appcast-bootstrap.json`, — удалите его скриптом `remove_feed_guard.sh` из того же комментария: он выгружает задание через `launchctl bootout` и возвращает флагу значение `true`. OpenAI этот обход никогда не поддерживала, а после исправления ленты он больше не нужен.

VPN в тикете помогал не всем и не всегда, подробнее об этом в вопросах в конце.

## Как обновить версию Codex на Mac вручную и сверить номер сборки

Установленную версию показывает окно **ChatGPT → About ChatGPT**. Из терминала то же самое можно узнать так (если приложение лежит в «Программах»):

```bash
defaults read /Applications/ChatGPT.app/Contents/Info.plist CFBundleShortVersionString
defaults read /Applications/ChatGPT.app/Contents/Info.plist CFBundleVersion
```

Первая команда выводит номер версии (например, `26.1016.51333`), вторая — номер сборки.

Актуальную версию OpenAI публикует в статической ленте обновлений. Это обычный XML-файл, его можно открыть в браузере:

- для Mac на Apple Silicon: `https://persistent.oaistatic.com/codex-app-prod/appcast.xml`;
- для Mac на Intel: `https://persistent.oaistatic.com/codex-app-prod/appcast-x64.xml`.

Тип процессора виден в меню Apple → «Об этом Mac»: строка «Чип» с Apple M означает Apple Silicon, строка «Процессор» с Intel — Intel. В ленте нужна первая запись `<item>`: её `<title>` — номер версии, `<sparkle:version>` — номер сборки, `<sparkle:minimumSystemVersion>` — минимальная версия macOS. Номер версии из терминала:

```bash
curl -s https://persistent.oaistatic.com/codex-app-prod/appcast.xml | grep -o '<title>[0-9][0-9.]*</title>' | head -1
```

По состоянию на 22 октября 2026 года первой в обеих лентах стоит версия 26.1016.61520 (сборка 21421) от 22 октября, перед ней — 26.1016.51333 (сборка 21161) от 21 октября; минимальная macOS — 13.0. Новые сборки выходят по нескольку раз в неделю, поэтому сверяйтесь с лентой, а не с этими числами.

Если ваш номер совпадает с первой записью, приложение актуально. Если меньше — ставьте `ChatGPT.dmg`, как описано в шаге 4. Если же ваша macOS старше указанной минимальной версии, новые сборки не установятся ни через апдейтер, ни вручную: это отдельное ограничение, о нём в таблице ниже.

## curl к адресу appcast: что значат ответы 400, 520 и 200

Проверить сервер обновлений можно и самому:

```bash
curl -s -o /dev/null -w '%{http_code}\n' https://updates.oaistatic.com/codex/app/appcast
curl -s -o /dev/null -w '%{http_code}\n' https://persistent.oaistatic.com/codex-app-prod/appcast.xml
```

Читать ответы нужно так:

| Адрес | Код | Что это значит |
| --- | --- | --- |
| `updates.oaistatic.com/codex/app/appcast` без параметров | **400** с JSON `Field required` | Сервер работает. Ему не хватает параметров, которые добавляет приложение (`installation_id`, `arch`, `app_version`). Так он отвечал 22 октября 2026 года, это нормальный ответ, а не сбой |
| тот же адрес | **520** от Cloudflare | Тот самый сбой: исходный сервер не отдал ответ |
| `persistent.oaistatic.com/codex-app-prod/appcast.xml` | **200** и XML | Статическая лента доступна; она отвечала 200 и во время сбоя |

Ответ относится только к вашему сетевому маршруту. Во время сбоя один и тот же адрес мог отдать 520 по IPv6 и 200 по IPv4, а через VPN, прокси или раздачу с телефона результат снова менялся. Код 400 при ручном запросе не означает, что приложение у вас обновится, а 520 у соседа не означает, что сломано у вас.

## Другие ошибки обновления ChatGPT для Mac: таблица симптомов

Не каждая неудачная попытка обновиться — это сбой 520. Ниже ошибки, которые выглядят иначе и требуют других действий.

| Что вы видите | Что это | Что делать |
| --- | --- | --- |
| `Update Error!`, в логе `Code=2001` и `server error (520)` | Сбой ленты обновлений OpenAI с 13 по 21 октября 2026 года, исправлен на сервере | Выйти через ⌘Q и проверить снова; при отставании поставить `ChatGPT.dmg`; если ошибка вернулась, открыть новый тикет |
| В **Settings → General** строка `In-app updates: Managed` | Организация отключила встроенные обновления | Обратиться к администратору; пункт **Check for Updates** в меню ничего не доказывает |
| `The update is improperly signed and could not be validated.` | Отдельная проблема с подписью обновления, открытый тикет [#28369](https://github.com/openai/codex/issues/28369) | Не обходить проверку подписи; ставить сборки только из официального установщика |
| Новая версия не ставится на старый Mac | macOS ниже минимальной версии сборки (13.0 по состоянию на 22 октября 2026 года); запрос на поддержку старых систем открыт в [#38022](https://github.com/openai/codex/issues/38022) | Обновить macOS, если Mac это позволяет |
| Обновление скачивается и при обрыве начинает загрузку с нуля | Архив обновления весит около 684 МБ и при нестабильной сети докачивается заново, тикет [#51903](https://github.com/openai/codex/issues/51903) открыт | Обновляться при стабильном подключении |
| Ошибка обновления в Windows | В Windows приложение обновляется своими механизмами (в том числе через Microsoft Store или Intune), сообщений о 520 оттуда нет | Это другая проблема; если приложение не запускается, см. [Failed to start codex app-server в Windows: ошибки и что делать](/ru/posts/codex-app-server-failed-to-start) |

## Вопросы об ошибке обновления Codex на Mac

### Помогает ли VPN при ошибке обновления 520?

Не как способ исправления. В тикете у части людей проверка прошла через VPN и продолжала работать после его отключения; у одного пользователя выход в Нью-Йорке сработал, а в Канаде — нет. У других не помогли ни VPN, ни раздача с телефона. Сбой зависел от сетевого маршрута, но исправлять его пришлось OpenAI. После 21 октября включать или выключать VPN ради обновления смысла нет. Если у вас VPN включён постоянно и ошибка осталась, упомяните это в тикете.

### Нужно ли переустанавливать приложение после исправления 21 октября?

Нет. Исправили сервер, и подтверждения пришли ещё до выхода новой сборки. Достаточно полностью выйти из приложения, открыть его и проверить обновления. Ставить `ChatGPT.dmg` имеет смысл только если ваша версия отстаёт от ленты, а проверка всё равно не проходит.

### Касается ли этот сбой Codex CLI и расширения для IDE?

В тикетах о 520 речь шла только о десктопном приложении для macOS и его встроенном механизме обновлений Sparkle. У Codex CLI и расширения для IDE свои способы обновления, а в [документации OpenAI по обновлениям десктопа](https://learn.chatgpt.com/codex/enterprise/manage-app-updates) прямо сказано, что политика обновлений приложения на них не распространяется.
