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

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

С 13 по 21 октября 2026 года сервер обновлений OpenAI отвечал ошибкой 520, и со стороны Mac это не чинилось. Как сверить версию без апдейтера и что делать дальше.

••8 мин чтения•OpenAI Codex
Обложка: окно Update Error! с Code=2001 и server error (520), стрелка «исправление на стороне OpenAI» к зелёной карточке «Исправлено, 21 октября, 20:29 мск»

Если в приложении 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. Обновлять приложение ради исправления не нужно. Причину сбоя 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 звучат так: «Ошибка при обновлении!» и «Произошла ошибка при извлечении информации обновления. Повторите попытку позже.»

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

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

Путь запроса: ChatGPT для Mac через Cloudflare к серверу OpenAI, обратно приходит HTTP 520; ниже — Update Error! в окне, Code=2001 и server error (520) в логе и расшифровка кодов 2001, 1002 и 520

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

Когда (UTC, в скобках московское время)Что произошло
13 октября, вечерПользователи замечают, что проверка обновлений перестала работать
14 октября, 06:42 (09:42)Открыт тикет #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 по обновлениям прямо сказано, что закрытия окна не всегда хватает для перезапуска. Откройте приложение и выберите 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 — эта ссылка дана в документации OpenAI — откройте его и перетащите ChatGPT в «Программы» с заменой. В GitHub часто цитируют другой адрес, Codex.dmg: по состоянию на 22 октября 2026 года он отставал на одну версию (обновлён 21 октября, а ChatGPT.dmg — 22 октября). Ручная установка обновляет приложение, но сама по себе проверку обновлений не чинит: во время сбоя у тех, кто так делал, ошибка оставалась.

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

Четыре шага при ошибке проверки обновлений: полный выход и повтор, проверка строки In-app updates, сверка версии с appcast.xml, установка ChatGPT.dmg поверх — и результат каждого шага справа

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

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

Если во время сбоя вы поставили скрипт-«сторож» из обсуждения #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.xml200 и 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Не обходить проверку подписи; ставить сборки только из официального установщика
Новая версия не ставится на старый MacmacOS ниже минимальной версии сборки (13.0 по состоянию на 22 октября 2026 года); запрос на поддержку старых систем открыт в #38022Обновить macOS, если Mac это позволяет
Обновление скачивается и при обрыве начинает загрузку с нуляАрхив обновления весит около 684 МБ и при нестабильной сети докачивается заново, тикет #51903 открытОбновляться при стабильном подключении
Ошибка обновления в WindowsВ Windows приложение обновляется своими механизмами (в том числе через Microsoft Store или Intune), сообщений о 520 оттуда нетЭто другая проблема; если приложение не запускается, см. Failed to start codex app-server в Windows: ошибки и что делать

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

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

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

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

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

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

В тикетах о 520 речь шла только о десктопном приложении для macOS и его встроенном механизме обновлений Sparkle. У Codex CLI и расширения для IDE свои способы обновления, а в документации OpenAI по обновлениям десктопа прямо сказано, что политика обновлений приложения на них не распространяется.

Нашли ошибку или столкнулись с проблемой, которой нет в статье? Отправьте адрес статьи и описание на hi@laozhang.ai. Мы проверим и обновим текст.