昨日まで動いてた gh pr list
などが、とある端末のとあるタブ内のシェルで動かなくなった(エラーは出ず、空の結果が表示される)。
gh auth refresh
を叩くと以下のメッセージが表示された。
The value of the GITHUB_TOKEN environment variable is being used for authentication. To refresh credentials stored in GitHub CLI, first clear the value from the environment.
このメッセージは https://github.com/cli/cli/blob/496b70ac0eac78ac69c8c6eb582e0f8bc13e9c1e/pkg/cmd/auth/login/login.go#L144-L145 で出力されている。
gh
コマンドが GITHUB_TOKEN
という環境変数を読むことについては、gh help environment
や gh api -h
などにも書いてあった。
今回は、別件の動作検証のために、たまたまそのシェルで scope が未選択の(public access のみ可能な)アクセストークンを GITHUB_TOKEN 環境変数で export していて、そのことを忘れていたのが原因だった。unset GITHUB_TOKEN
したら無事に動くようになった。