GitHubは2026年10月21日、コマンドでGitHubを操作するGitHub CLIで、期限付きOAuth認証の公開プレビューを開始しました。認証情報であるアクセストークンに有効期限を設け、必要に応じて自動更新する仕組みです。利用は任意で、既存のログインや手動で指定したトークンは従来どおり使えます。
期限付き認証は任意、自動更新で利用を継続
利用にはGitHub CLI v2.103.0以降が必要です。gh auth login --expiringでログインすると、期限付き認証を選択できます。毎回のログインに適用する設定は、gh config set expiring_credentials enabledです。
GitHub CLIのコマンドであるghは、期限付きアクセストークンと、その更新に使うリフレッシュトークンを保存します。リフレッシュトークンは更新のたびに入れ替わります。GitHubによると、必要時にghが自動更新するため、再認証なしで利用を続けられます。漏えいしたアクセストークンも、数時間以内に使えなくなるとしています。
提供先はgithub.comとghe.comです。GitHub Enterprise Serverでは、GHES 3.23以降が期限付きトークンを発行します。それより前の版では、期限付き認証を選んでも従来の無期限認証になります。日本での提供は発表には書かれていません。
保存したトークンとGitの認証連携を確認
切り替えで確認したいのは、ghから取り出したトークンを別の処理で使っている場合です。GitHubは、取得済みのトークンを保存して再利用するスクリプトや拡張機能では、期限切れになる恐れがあると注意を促しています。
ghの外でトークンを使う場合は、毎回gh auth tokenで取得するよう案内しています。一方、長期間有効なトークンが必要な処理では、期限付き認証の選択を見送るよう求めています。自動更新されることと、保存済みのトークンをそのまま使い続けられることは、分けて考える必要があります。
HTTPS経由でGitを使う場合、GitHubはgh auth setup-gitによる認証連携を強く推奨しています。Gitの認証情報を扱う「認証ヘルパー」にghを設定すると、ghが認証情報の提供と更新を担います。
併せて、git 2.46以降への更新も強く推奨しています。この版以降では、期限切れの認証情報がキャッシュに残ることを防げるとしています。古いgitでも動作しますが、更新を勧めるメッセージが一度表示されます。
影響する会社・しない会社
- 影響する: GitHub CLI v2.103.0以降で期限付き認証を選ぶ会社です。特に、取得したトークンを保存・再利用するスクリプトや拡張機能がある場合は、切り替え前の確認が必要です。
- 影響する: 期限付き認証とHTTPS経由のGit操作を組み合わせる会社です。ghとの認証連携と、gitの導入版を確認する対象になります。
- 影響しない: 期限付き認証を選ばず、既存のログインや手動で指定したトークンを使い続ける会社です。今回の公開プレビューで従来の動作は変わりません。
- 影響しない: GHES 3.23より前の環境では、期限付き認証を選んでも無期限認証になります。選択しただけで期限が付くと判断しないことが重要です。