@kyanny's blog

My thoughts, my life. Views/opinions are my own.

GitHub CLI は GITHUB_TOKEN という環境変数を読むので変なアクセストークンをセットすると動かなくなる

昨日まで動いてた 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 environmentgh api -h などにも書いてあった。

今回は、別件の動作検証のために、たまたまそのシェルで scope が未選択の(public access のみ可能な)アクセストークンを GITHUB_TOKEN 環境変数で export していて、そのことを忘れていたのが原因だった。unset GITHUB_TOKEN したら無事に動くようになった。