ChatGPTにはGitHubを接続し、自分のリポジトリにあるコードやREADME、設計資料などを参照させる機能があります。
私は以前からChatGPTとGitHubを連携しており、
- ChatGPT側でGitHub連携を有効化済み
- GitHub側でも対象リポジトリへのアクセスを許可済み
- private repositoryも接続対象として設定済み
という状態でした。
そのため当然、
「これでChatGPTからGitHub上のコードを普通に検索できている」
と思っていました。
ところが、ゲーム開発中にChatGPTへ既存コードを詳しく調査させようとしたところ、少し妙なことが起きました。
原因を調べた結果、GitHub連携そのものではなく、
GitHub Code Searchのインデックスが作成されていなかった
ことが分かりました。
GitHub連携をONにしているだけでは気付きにくいポイントだったので、実際に確認・解決した手順をまとめます。
※この記事は2026年8月時点のChatGPT Plus / GitHub連携で確認した内容です。ChatGPTやGitHubの仕様・UIは今後変更される可能性があります。
- GitHubをChatGPTに接続しただけではコード検索できない場合がある
- GitHubのコード検索インデックスを確認する
- インデックス作成には少し時間がかかる
- インデックス作成後はコード検索が正常にヒットした
- その後ChatGPTからGitHub上のコードを調査させてみた
- 「GitHub連携ON」と「コード検索可能」は同じではない
- repo:username/repository import は毎回必要なのか?
- ChatGPTはGitHubリポジトリ全体を毎回読むわけではない
- private repositoryでも利用できた
- コードを読むのはGitHub連携、コードを書くのはCodex
- GitHubを接続したのにコードを読めないときの確認手順
- まとめ
GitHubをChatGPTに接続しただけではコード検索できない場合がある
ChatGPTにGitHubを接続すると、許可したリポジトリ内のコードやドキュメントを検索して回答に利用できます。
ところが、対象リポジトリがGitHubのコード検索インデックスに含まれていない場合、ChatGPTからコードをうまく発見できないことがあります。
つまり、
ChatGPTでGitHub連携をON
↓
GitHub側でリポジトリへのアクセスを許可
↓
接続完了
だけで、必ずしも
ChatGPTからリポジトリ内のコードを検索可能
になるとは限りません。
ここにもうひとつ、
GitHub Code Searchのインデックス
という条件があります。
OpenAIのGitHub連携に関する公式ヘルプでも、GitHubによってインデックス登録されていないリポジトリはChatGPTから検索できない場合があり、必要に応じて手動でインデックス作成をトリガーできることが案内されています。
GitHubのコード検索インデックスを確認する
今回対象にしていたのは、私が個人開発しているゲームのprivate repositoryです。
まずGitHubをブラウザで開き、GitHub上部の検索欄で次の形式の検索を行いました。
repo:username/repository import
username/repository の部分は、自分のGitHubユーザー名とリポジトリ名に置き換えます。
重要なのは、これはChatGPTへ送るプロンプトではなく、GitHub.comの検索欄で実行するという点です。
実際に検索したところ、GitHub側に次のメッセージが表示されました。
This repository’s code is being indexed right now. Try again in a few minutes.

つまり今回のリポジトリでは、GitHub連携そのものはできていたものの、コード検索用のインデックスがまだ準備されていなかったということになります。
インデックス作成には少し時間がかかる
OpenAIの公式ヘルプでは、手動でインデックス作成をトリガーした場合、ChatGPT側から利用可能になるまで5~10分程度かかることがあると案内されています。
そのため、「being indexed」と表示された直後に何度も検索する必要はありません。
数分待ってから、実際にリポジトリ内に存在するクラス名や関数名を検索します。
例えば今回の場合は、次のように検索しました。
repo:username/repository Tl06CheckpointService
インデックス作成後はコード検索が正常にヒットした
数分後、実際のクラス名で再度GitHub Code Searchを実行すると、今度は正常に検索結果が表示されました。
検索結果には、
- 実装本体
- 関連するテストコード
- 設計ドキュメント
- RUNBOOK
などが表示されています。

インデックス作成前後を比較すると分かりやすいです。

その後ChatGPTからGitHub上のコードを調査させてみた
GitHub側でコード検索できることを確認した後、ChatGPTから改めてGitHubを使用したコード調査を依頼しました。
例えば次のような依頼です。
接続済みGitHubを使用してください。
対象リポジトリの最新mainを読み取り専用で調査し、
既存実装と設計仕様を照合してください。
すると今度はChatGPTがGitHub上の、
- Service
- Store
- Validator
- ViewModel
- 関連テスト
などを検索しながら、既存実装を横断的に調査できるようになりました。
つまり今回のケースでは、
GitHub連携:成功
リポジトリアクセス:成功
コード検索インデックス:未作成
という状態だったわけです。
GitHub連携そのものが失敗していたわけではありません。
「GitHub連携ON」と「コード検索可能」は同じではない
今回もっとも重要だと感じたのがこの点です。
GitHub連携
ChatGPTがそのGitHubリポジトリへアクセスしてよいか、という権限の話です。
GitHub Code Searchのインデックス
リポジトリ内部から関連するコードを検索・発見できる状態になっているか、という検索側の話です。
つまり、
GitHub連携がONだからといって、コード検索インデックスまで必ず準備済みとは限りません。
ここを知らないと、
GitHubをChatGPTに接続したはずなのに、自分のコードをちゃんと見てくれない
という状態になったとき、原因を見つけるのが難しくなります。
repo:username/repository import は毎回必要なのか?
ここは少し注意が必要です。
ChatGPTを使うたび、あるいはGitHubへpushするたびに毎回 import を実行する必要はありません。
repo:username/repository import は、GitHubによってまだコード検索用インデックスが用意されていない場合に、手動でインデックス作成をトリガーするための方法です。
そのため、最初からGitHub Code Searchで正常にコードが検索できる場合は、そもそも実行する必要はありません。
今回のように、
GitHub連携済み
↓
対象リポジトリへのアクセス権もある
↓
それでもコード検索で見つからない
という場合に確認すれば十分です。
また、「一度importすれば永久に何もしなくていい」とまで考えるのは避けたほうがよいでしょう。
通常は作成済みインデックスが更新されますが、将来新しいコードが検索されなくなるなど不自然な状態が発生した場合は、GitHub Code Searchで対象コードを直接検索し、正常にインデックスされているか再確認するのが安全です。
ChatGPTはGitHubリポジトリ全体を毎回読むわけではない
ChatGPTのGitHub連携についてもうひとつ理解しておきたいのが、ChatGPTがリポジトリ全体を毎回すべて読み込んでから回答しているわけではないという点です。
基本的には、質問内容に応じて関連するコードやファイルを検索し、その結果を利用して分析します。
ユーザーの質問
↓
ChatGPTが必要な情報を判断
↓
GitHubリポジトリを検索
↓
関連コード・ファイルを取得
↓
ChatGPTが分析
そのため、検索対象となるコードがGitHub側のインデックスから見えない状態では、ChatGPT側も関連コードを発見しにくくなります。
private repositoryでも利用できた
今回確認したリポジトリはprivate repositoryです。
GitHub側でChatGPTに対象リポジトリへのアクセスを許可していれば、private repositoryについてもコード検索・分析に利用できました。
ただし、GitHub側でChatGPTに対象リポジトリへのアクセス権を与えていることが前提です。
Organizationで管理されているリポジトリの場合は、組織側の管理設定によって利用できないケースも考えられます。
コードを読むのはGitHub連携、コードを書くのはCodex
今回この問題を調べたきっかけは、ゲーム個人開発でChatGPTとCodexをどう使い分けるか整理していたことでした。
現在は次のように役割を分けています。
ChatGPT Project Sources
↓
RUNBOOK・確定設計・ガイドライン
通常のChatGPT
↓
仕様確認・設計・レビュー
GitHub連携
↓
最新mainのコード・tests・docsを読み取り調査
PowerShell
↓
未push変更
working tree
ローカルbranch
実行結果など
GitHubでは分からない情報
Codex
↓
実装・テスト・Git操作
この構成にすると、設計中は通常のChatGPTからGitHub上の最新コードを確認できます。
そして実際にコードを書き換える段階になってからCodexを使用できます。
特にCodexやChatGPT Workの使用量を実装作業へ優先的に回したい場合、通常Chat+GitHub連携でコードを読み取り調査できることはかなり便利です。
GitHubを接続したのにコードを読めないときの確認手順
同じような症状になった場合は、次の順番で確認すると分かりやすいと思います。
- ChatGPTでGitHub連携が有効になっているか確認する
- GitHub側で目的のリポジトリへのアクセスを許可しているか確認する
- GitHub Code Searchで実際のクラス名や関数名を検索する
- コードが検索できなければ、GitHub検索欄で
repo:username/repository importを検索する - 「code is being indexed」と表示された場合は数分待つ
- 実際のクラス名などを再検索する
- コードが正常にヒットすることを確認する
- ChatGPTからGitHubを指定してコード調査を依頼する
検索例は次のとおりです。
インデックス作成の確認・トリガー
repo:username/repository import
インデックス作成後の動作確認
repo:username/repository ClassName
実際に存在するクラス名、関数名、ファイル名などを指定するのがおすすめです。
まとめ
ChatGPTのGitHub連携は、自分のコードベースを参照させながら設計やレビューを進められる便利な機能です。
しかし今回分かったのは、
「GitHubをChatGPTに接続した」ことと「GitHub内のコードを検索できる」ことは、必ずしも同じではない
ということでした。
GitHub連携もリポジトリアクセスも正しく設定しているのに、ChatGPTがコードをうまく見つけてくれない場合は、GitHubの検索欄で
repo:username/repository import
を試し、コード検索インデックスの状態を確認してみる価値があります。
そして数分後、
repo:username/repository ClassName
で実際のコードが検索結果へ表示されるか確認します。
私はGitHub連携自体を以前からONにしていたため、その先に「コード検索インデックス」という別の条件があるとは考えていませんでした。
同じように、
- ChatGPTとGitHubを接続したのにコードを読んでくれない
- private repositoryのコード検索がうまくいかない
- GitHub連携は成功しているはずなのに検索結果が出ない
と困っている場合は、一度確認してみてください。


コメント