GitHub:「Not Found」や転送が返る理由
GitHub の REST API のトラブルシューティングの文書は、正しく認証されていない非公開の物への要求には 403 Forbidden ではなく 404 Not Found を返し、リポジトリがあることを認めないと書いています。ベストプラクティスの文書は、どの要求も転送されうるとし、301 は恒久、302 と 307 は一時的な転送で、location ヘッダーの住所へ要求をやり直すよう書いています(2026年10月25日に確認)。
POST /repos/持ち主/古い名前/issues
307 {"message": "Moved Permanently", "url": "https://api.github.com/repositories/ID/issues"}
GitHub の答えと理由
- 非公開のリポジトリの 404:トークンが無いか、そのリポジトリを読めません。文書は、まず認証を確かめるよう書いています。
- 住所そのものの 404:文書は、入口の末尾にスラッシュを付けると 404 になり、入口が受け付けない HTTP のメソッドも(405 ではなく)404 になると書いています。
- 名前を変えた・移したリポジトリ:GitHub の移転の文書は、前の場所へのリンクはすべて転送され、
git clone・git fetch・git pushも転送に従うが、前の場所に新しいリポジトリやフォークを作るとその転送はずっと消えると書いています。REST API では、2026年の公開の報告がPOST /repos/持ち主/古い名前/issuesに 307 と"message": "Moved Permanently"、/repositories/ID/の下のurlが返るのを見ています。2024年の報告では、古い道への POST と PATCH がどれも 307「Temporary Redirect」でした。別の2026年の報告は、読み取りが/repositories/IDの道へ 301 で転送されるのを見ています。読み取りの転送だけをたどる道具は、読めても書けません。 - 見えなくなったプルリク:アーカイブされたプルリクは、triage の権限の無い人には 404 です。GitHub のプルリクの一覧が足りないへ。
直し方
- トークンを確かめる:非公開のリポジトリなら、Fine-grained のトークンはそのリポジトリを名指しし、classic のトークンは
repoのスコープが要ります。「Resource not accessible by personal access token」へ。 - 住所を確かめる:末尾にスラッシュを付けず、リファレンスがその入口に挙げるメソッドを使います。
- 名前を変えた・移した後:
git remote set-url origin 新しい住所でローカルの複製を新しい住所に向け、道具が転送に頼らず新しい名前を使うようにします。 - 転送を自分でたどるなら:307 と 308 は、同じメソッドと本文で
locationへやり直します。トークンを別の所へ送らないよう、同じホストのときだけにします。
IntelliJ IDEA の「Can't get repository」
IntelliJ IDEA に入っている GitHub の機能の Pull Requests のツールウィンドウは、リポジトリにつなぐとき、そのリポジトリを GraphQL で読みます。ソース(2026年10月30日に確認・IntelliJ IDEA:GHPRDataContextRepository.kt・GHGQLRequests.kt・GithubApiRequestExecutor.kt・GHAPIExceptionUtil.kt)では:
- GitHub が「Could not resolve to a Repository」(リポジトリが見つからない)と答えると、窓には「Could not connect to repository … with account …」(このアカウントでリポジトリにつなげない)と「Can't get repository」(リポジトリを読めない)が出て、GitHub の文の代わりに IntelliJ IDEA 自身の一言「Repository not found or access denied. This is likely due to OAuth App access restrictions within your organization. For more details read this article」(リポジトリが見つからないか、アクセスを断られた。組織の OAuth アプリのアクセス制限のせいらしい。詳しくはこの記事を)と JetBrains のサポートの記事へのリンク、Log in again… が続きます。
- この一言が挙げるのは組織の OAuth アプリのアクセス制限だけです。上の理由、たとえば非公開のリポジトリを読めないトークンには触れません。「直し方」のとおりトークンを見てください(断られたトークンを IntelliJ IDEA がどう出すか)。
- 答えにリポジトリもエラーも無いときは「Repository OWNER/NAME does not exist at SERVER or you don't have access.」(そのサーバーにリポジトリが無いか、アクセスできない)になります。
IntelliJ IDEA で GitHub のプルリクを見るなら
Lesstep の Pull Request Inbox for GitHub は、JetBrains IDE(2024.1 以降)のプラグインです。リポジトリは IDE の git のリモートから見つけます。読み取りでは同じホストの GitHub の転送をたどるので、名前を変えた・移したリポジトリも古い名前のまま開けます。書き込みに GitHub が 307 か 308 で答えたら、同じホストの新しい住所へやり直すので、承認・コメント・マージも古い名前のまま通ります。別のホストへの転送はたどらず、その住所を出します。GitHub が 404 と答えたリポジトリは、このトークンで開けるリポジトリが無いと言い、Fine-grained のトークンはリポジトリを名指しすることを添えます。404 になったプルリクは、アーカイブされた・トークンの対象から外れた、という見当を添えて伝えます。受信箱・差分・会話は無料、承認・コメント・マージは Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。
GitHub は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:GitHub のマージの断り(405・409) · GitHub のレビューの断り(422) · GitHub の検索の 422「Validation Failed」 · 「Resource not accessible by personal access token」 · 401「Bad credentials」 · 「Resource protected by organization SAML enforcement」 · 「API rate limit exceeded」 · 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 の行のコメントが 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