Token skopiowany kiedyś do zmiennej lub skryptu może przestać działać po wygaśnięciu. 21 października 2026 roku GitHub ogłosił publiczną wersję zapoznawczą wygasających danych logowania OAuth z automatycznym odświeżaniem w GitHub CLI. Tryb jest opcjonalny i przeznaczony dla przepływów pracy, w których autoryzacją zarządza sama CLI.

Jak włączyć odświeżane dane logowania
Potrzebna jest wersja GitHub CLI 2.103.0 lub nowsza. Aby użyć tej opcji przy pojedynczym logowaniu, dodaj flagę --expiring:
gh auth login --expiring
Aby przy kolejnych logowaniach włączać żądanie odświeżanych danych logowania, wykonaj:
gh config set expiring_credentials enabled
CLI przechowuje wygasający token dostępu wraz z rotowanym tokenem odświeżającym i aktualizuje dane logowania, gdy są potrzebne. Stan autoryzacji i termin wygaśnięcia bieżącego tokenu pokazuje polecenie gh auth status. Flaga żąda odświeżanych danych logowania, ale ich wydanie zależy od możliwości hosta i konfiguracji aplikacji OAuth. Jeśli serwer ich nie obsługuje, CLI używa zwykłego, niewygasającego tokenu.
Skonfiguruj Git jako odbiorcę danych logowania
W przypadku repozytoriów korzystających z HTTPS skonfiguruj GitHub CLI jako Git credential helper:
gh auth setup-git
Git będzie wtedy pobierać dane logowania z gh, które może je odświeżyć przed użyciem. GitHub zaleca Git w wersji 2.46 lub nowszej: pozwala ona CLI oznaczyć wygasające dane logowania, aby Git nie przechowywał ich w pamięci podręcznej po upływie terminu ważności. Ze starszą wersją GitHub CLI działa, ale raz proponuje aktualizację.
Po konfiguracji przetestuj zwykłą operację Git przez HTTPS, na przykład odczyt stanu zdalnego repozytorium. Upewnij się, że Git pobiera dane logowania za pośrednictwem helpera: w ten sposób sprawdzisz cały proces autoryzacji, a nie tylko logowanie do CLI.
Sprawdź skrypty i aplikacje zewnętrzne
Problem może dotyczyć skryptu lub rozszerzenia, które jednorazowo uruchamia gh auth token, zapisuje otrzymany ciąg znaków i wykorzystuje go ponownie później: taki token dostępu może wygasnąć. Jeśli zewnętrzny proces potrzebuje tokenu, pobieraj jego aktualną wartość przy każdym uruchomieniu za pomocą gh auth token. Odbiorca musi umieć korzystać z bieżącej wartości i uwzględniać wygaśnięcie tokenu.
Przed włączeniem tego trybu w środowisku roboczym sprawdź zadania CI, skrypty lokalne, rozszerzenia edytora oraz narzędzia pobierające token ze zmiennej środowiskowej lub pliku konfiguracyjnego. Ustal, czy pobierają aktualną wartość przy uruchomieniu, czy polegają na zapisanej kopii. W procesach wymagających tokenu o długim okresie ważności pozostań przy dotychczasowym sposobie autoryzacji.
Gdzie funkcja jest dostępna
GitHub ogłosił obsługę na github.com i ghe.com. GitHub Enterprise Server wydaje takie dane logowania od wersji 3.23; w starszych wersjach żądanie odświeżanych danych przełącza się na zwykły, niewygasający token. Tryb jest na razie opcjonalny; GitHub planuje z czasem ustawić go jako domyślny przy nowych logowaniach.
Praktyczna kolejność działań: zaktualizuj GitHub CLI, włącz żądanie odświeżanych danych logowania, skonfiguruj Git za pomocą gh auth setup-git i sprawdź, czy zewnętrzne procesy nie zapisują tokenu. Pozwoli to wykryć niezgodne scenariusze przed przełączeniem.
Szczegóły GitHub opublikował w ogłoszeniu wersji zapoznawczej oraz w dokumentacji polecenia gh auth login.