GitHub CLI: проверьте срок жизни скопированных OAuth-токенов
CLI по-прежнему авторизована, а запущенный вчера скрипт перестал работать. Возможно, он хранит старую копию токена. Анонс GitHub от 21 октября 2026 года — повод сначала описать путь учётных данных.

Подтверждено: обновление включается по желанию
Начиная с v2.103.0 команда gh auth login --expiring запрашивает обновляемые данные. gh хранит истекающий access token и ротируемый refresh token. Старые сеансы и вручную заданные токены сохраняют поведение. Поддерживаются github.com, ghe.com и GHES от 3.23; другие серверы могут выдать бессрочный токен. Реальный результат проверяют через gh auth status.
Копия строки сама не обновляется
GitHub предупреждает о скриптах, однократно читающих gh auth token. Внешним потребителям нужно получать свежий результат по необходимости. Успех при запуске не доказывает действительность позже. Компрометация refresh token остаётся риском: короткий срок не заменяет минимальные права и отзыв.
Предлагаемый порядок проверки
Запишите версию, хост и потребителей, копирующих токены в файлы, переменные или расширения. Фиксируйте владельца и момент чтения без секретов. В тестовой среде сравните одну операцию чтения сразу и спустя время. Разделяйте истечение срока, права и сетевые сбои. Для HTTPS git изучите gh auth setup-git и рекомендацию git 2.46 или новее. Изменения настроек рассматривайте отдельно.
Некоторым интеграциям сначала нужна доработка
Если интеграции нужен долгоживущий токен, GitHub рекомендует отложить включение для этого процесса. Назначьте ответственного и дату пересмотра. Не приравнивайте OAuth разработчика к GITHUB_TOKEN в CI. Один флаг не унифицирует права и отзыв всей автоматизации. Сверьте поддержку установленной версии.
«Оставаться в системе» скрывает два вопроса: может ли владелец обновить токен и получает ли потребитель новое значение? Мы не измеряли частоту сбоев сообщества. Схема одного реального пути покажет владельца кэша и границы испытания.
Официальные источники и проверки
GitHub Changelog · Expiring OAuth preview
GitHub Docs · CLI authentication
Документируйте версию, хост, владельца кэша и результаты без секретных значений.