GitHub の 401「Bad credentials」
GitHub API がトークンをまったく受け付けない、という意味です。期限が切れたか、取り消されたか、そもそもこの GitHub のトークンではありません。GitHub のトークンの有効期限と取り消しより:期限が切れたか取り消されたトークンはもう使えず、元に戻すこともできません。新しいトークンが要ります。403 の「Resource not accessible by personal access token」とは違い、トークンの権限を変えても直りません。
答えの全体
実際の例です(公開の報告):
HTTP 401
{"message": "Bad credentials",
"documentation_url": "https://docs.github.com/rest",
"status": "401"}
GitHub は、トークンなしで読む動きに切り替えてはくれません。この報告では、トークンなしでも読める公開リポジトリを読んでいて、同じように失敗しています。トークンだけを確かめるには:
curl -i -H "Authorization: Bearer your-token" https://api.github.com/user
受け付けられるトークンなら、200 で自分のアカウントが返ります。GitHub Enterprise Server なら、api.github.com の代わりに自社のサーバーの API の住所を呼びます。
トークンが止まる理由
GitHub のトークンの有効期限と取り消しより:
- 期限の日:個人アクセストークンは、期限の日になると自動で取り消されます。
- 1年使っていない:1年使われていない個人アクセストークンと OAuth のトークンを、GitHub は自動で取り消します。
- 公開リポジトリか gist に載せた:有効なトークンが公開リポジトリか公開の gist にプッシュされると、自動で取り消されます。
- 消された:自分で消したか、Enterprise Managed Users なら Enterprise のオーナーが消した。Enterprise のオーナーはトークンのシングルサインオンの許可だけを取り消すこともあり、そのときは「Resource protected by organization SAML enforcement」になります。
同じページによると、期限切れや取り消しのとき、セキュリティログに oauth_authorization.destroy が残ることがあり、いつ止まったかが分かります。
ほかの2つは手元の理由です。トークンを打ち間違えたか、貼り付けで切れた。または別の GitHub で作った。github.com のトークンは GitHub Enterprise Server では通じず、その逆も同じです。
新しいトークンを作る
- GitHub の右上の自分のアイコン → Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token。
- 前と同じ持ち主・リポジトリ・権限と、期限を入れる。リンクで入力済みの画面を開くこともできます。例:
https://github.com/settings/personal-access-tokens/new?name=IDE&expires_in=90&pull_requests=write&contents=write&statuses=read。GitHub の入力済みで開く方法より:expires_inは1〜366日かnone。付けないと期限は30日後で、組織がトークンの寿命を決めていればそれより短くなります。 - Generate token を押してコピーする。組織の承認が要るなら、承認を待つ。
- 古いトークンを入れていた所すべてに入れる。
IntelliJ IDEA の「Incorrect credentials.」と「User authorization failed」
IntelliJ IDEA に入っている GitHub の機能は、トークンでアカウントを読んで確かめます:GET /user、上の curl と同じ問い合わせです。401 と、レート制限ではない 402・403 は、ログインの失敗として扱われます。ソース(2026年10月30日に確認・IntelliJ IDEA:GHTokenCredentialsUi.kt・GithubApiRequestExecutor.kt・GHSecurityUtil.kt・GHSelectorErrorStatusPresenter.kt・GHAPIExceptionUtil.kt・GHAccountsUtil.kt)では:
- トークンでログインするとき:「Incorrect credentials.」(資格情報が正しくない)と、次の行に「Request response: Bad credentials.」。後ろは GitHub 自身の文です。上の理由のどれなのかは言いません。
- トークンの欄には「The following scopes must be granted to the access token:」(次のスコープをトークンに与えること)と
repo・gist・read:org・workflow・read:user・user:emailが出ます。Generate… のボタンは、同じサーバーのsettings/tokens/newを、このスコープと説明「IntelliJ IDEA GitHub integration plugin」(IDE の名前が入る)を入れた状態で開きます。personal access token(classic)の画面で、スコープで決める方のトークンです。上の手順の fine-grained のトークンではありません。 - Pull Requests のツールウィンドウでは、窓がリポジトリにつなぐときに GitHub が保存済みのトークンを断ると、「Could not connect to repository … with account …」(このアカウントでリポジトリにつなげない)と「User authorization failed」(ユーザーの認可に失敗)が出ます。GitHub の文は出ません。Log in again… でログインし直せます。
- ログインし直しはアカウントのサーバーのままです。github.com ならまず「Log in to GitHub to continue」(続けるには GitHub にログイン)と聞かれ、Log In via GitHub… か Use Token… を選びます。GitHub Enterprise なら、すぐトークンでのログインが開きます。
IntelliJ IDEA で GitHub のプルリクを見るなら
Lesstep の Pull Request Inbox for GitHub は、JetBrains IDE(2024.1 以降)のプラグインです。github.com 用と GitHub Enterprise 用にトークンを1つずつ持ち、どちらも IDE のパスワード保管庫に入れて、それぞれのホストにだけ送ります。GitHub が 401 で断ったときは、トークンが期限切れか、取り消されたか、別のホストのものだと言い、GitHub の文を添えて、設定を開けるようにします。設定には、GitHub のトークンの作成の画面へのリンクがあります。受信箱・差分・会話は無料、承認・コメント・マージは Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。
GitHub は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:「Resource not accessible by personal access token」 · 「Resource protected by organization SAML enforcement」 · 「API rate limit exceeded」 · GitHub のマージの断り(405・409) · GitHub のレビューの断り(422) · GitHub の検索の 422「Validation Failed」 · GitHub の差分の 406「too_large」・3,000件 · GitHub の行のコメントの 422「must be part of the diff」 · GitHub のブランチの更新の断り(422) · GitHub のプルリクが作れない(422・403) · GitHub の自動マージの断り · GitHub の下書き・レビュー準備完了・閉じるの断り · GitHub の会話の解決の断り · GitHub のチェックが出ない(check runs の 403) · GitHub のファイルの中身が読めない · GitHub の比較の断り(404・422) · GitHub のコメント・返信の断り(ロック・アーカイブの 403) · GitHub のマージの方法の断り(405) · GitHub のブランチが見つからない(404・301) · GitHub Enterprise Server につながらない · GitHub のレビューの依頼が出ない · GitHub のプルリクの一覧が足りない · GitHub の 404・名前を変えたリポジトリ(301・307) · GitHub の行のコメントが outdated・差分に無い · GitHub のプルリクの更新・通知が遅い · GitHub の変更の提案が適用できない · GitHub の必須チェックが Expected のまま · GitHub でコードオーナーのレビューが要る · GitHub で未解決の会話がマージを止める · GitHub で署名の無いコミットがマージを止める · GitHub のマージキューでマージするブランチ · GitHub でマージが最後の push の承認を待っている · GitHub でマージがコードスキャンの結果を待っている · GitHub でマージがコード品質の結果を待っている · GitHub でコードのカバレッジの水準がマージを止める · GitHub でライセンスの適合の結果がマージを止める · GitHub でブランチのロックや更新の制限がマージを止める · GitHub でマージの後にブランチが消えない · GitHub でチームの承認(Required reviewers)がマージを止める · GitHub でシークレットスキャンのアラートがマージを止める · GitHub でスタックしたプルリクがマージできない · GitHub で push の規則が push を止める · GitHub でコミットのメタデータの規則がマージを止める · GitHub で強制 push が止められる · GitHub でプルリクをマージしても issue が閉じない · GitHub のプルリクを手元にチェックアウトできない · GitHub のプルリクがマージ先と衝突している · GitHub で変更を依頼された・レビューを取り消す · GitHub で共同作者がコミットに数えられない · GitHub で依存関係のレビューのチェックが失敗する · GitHub で Dependabot がプルリクをリベースしない · GitHub でフォークが同期できない · GitHub でプルリクのベースのブランチを変えられない · GitHub でプルリクを取り消せない · GitHub でプルリクのテンプレートが出ない · GitHub でプルリクにラベルや担当者が付かない · GitHub でプルリクを閉じられない・開き直せない · GitHub でプッシュ保護にプッシュを止められた · GitHub でプルリクのコメントが隠された · GitHub でデプロイが成功するまでプルリクをマージできない · GitHub でチームに頼んだレビューがメンバーに置き換わった · GitHub でプルリクのファイルの Viewed が外れた · GitHub でマージしていないプルリクがマージ済みになった · GitHub で Copilot のレビューが承認に数えられない · GitHub でワークフローが作ったプルリクのチェックが動かない · GitHub でプルリクに Update branch のボタンが出ない · GitHub で Dependabot のプルリクのチェックが失敗する · GitHub でフォークからのプルリクのチェックが失敗する · GitHub でコミットメッセージの [skip ci] でチェックが動かない · GitHub で保存期間を過ぎてチェックが消えた · GitHub の公開リポジトリのコードレビューの制限 · GitHub でリポジトリのプルリクがオフ・制限されている · GitHub でスタックのプルリクごとにチェックが走る · GitHub でスカッシュでマージ済みのコミットが次のプルリクに出る · GitHub のプルリクでファイルの差分が出ない · GitHub でフォークのプルリクのブランチに push できない · GitHub のプルリクのチェックが取り消された · GitHub で Rebase and merge が使えない · GitHub のマージのコミットメッセージが思った形にならない · GitHub のプルリクでファイルの全行が変わったと出る · GitHub の API がタイムアウトした · GitHub のプルリクで画像や文書の差分が見た目で出ない · GitHub のレビューの依頼が断られる(422) · GitHub で Copilot が作ったプルリクのチェックが動かない・承認が数えられない · GitHub の push が GH006・GH013 で断られる · GitHub で承認が足りずマージできない・数に入らない承認 · JetBrains の IDE で GitHub のプルリクを扱う · English