Claude Media
Claude GitHub連携の使い方 — チャット・プロジェクトでリポジトリを参照する

Claude GitHub連携の使い方 — チャット・プロジェクトでリポジトリを参照する

ClaudeにGitHubリポジトリを直接つないでコードの文脈を渡す公式連携の使い方です。チャット・プロジェクトの追加手順と、リポジトリが見えないときの症状別の切り分けを解説します。

Claude GitHub連携とは

Claude GitHub連携は、GitHubのリポジトリをチャットやプロジェクトに直接追加し、ファイルの内容をコードの文脈としてClaudeに渡すConnectorです。プロジェクトではファイル単位・フォルダ単位で選んで追加でき、Freeを含む全プランで使えます。プライベートリポジトリも許可設定を済ませれば対象にできます。

この連携が扱うのは、指定したブランチのファイル名とファイルの中身だけです。コミット履歴やプルリクエスト、Issueといったメタデータは取得しません。Issue操作まで任せたい場合の選択肢は、後半の比較の節にまとめています。ここで扱うのは、コードを読ませて質問するための文脈提供です。

Connectors全体の中での位置づけはClaude Connectorsとはにあります。

チャットとプロジェクトのどちらに追加するか

追加できる場所は2つあり、選べる単位もボタンの位置も違います。チャットで使うには、先に「Customize > Connectors」で「GitHub Integration」を「Connect」して接続を済ませておく必要があります。未接続だと、チャットの「+」に「Add from GitHub」自体が出ません。

くらべる

追加先で変わる選び方

リポジトリ単位

チャット

  1. 入力欄の左下にある「+」を押す
  2. 「Add from GitHub」を選ぶ
  3. リポジトリを検索するかURLを貼り付け、「Add repository」を選ぶ
  4. メッセージを送る

追加するとリポジトリのURLがメッセージに付きます。ファイル・フォルダ単位の選択は、チャットの手順に出てきません。

継続して参照

プロジェクト

  1. ナレッジセクション右上の「+」を押す
  2. 「GitHub」を選ぶ
  3. リポジトリを検索するか、URLを貼り付ける
  4. ファイルブラウザーで対象を選ぶ

選んだ内容がプロジェクトナレッジに入ります。追加後は「Sync」(最新状態の取り込み直し)と「Configure files」(対象ファイルの変更)のアイコンが使えます。

GitHubに未接続のままプロジェクトで「GitHub」を選ぶと、GitHubのサインイン画面に移ります。

公式ヘルプ同士にも食い違いがあります。ヘルプセンターの「Use the GitHub integration」は、チャットでもファイルブラウザーで選ぶと書いています。一方、コネクタ専用のDocsページはチャットをリポジトリ単位の追加としています。新しいのはDocs側の説明です。日本語UIの項目名は、日本語版ヘルプでは「GitHubから追加」「同期」「ファイルを構成」と訳されています。英語版の記述をそのまま探して見つからないときは、ラベルの違いを疑ってください。

リポジトリが選べない・読めないときの切り分け

追加の手順自体は短く、実際に時間を取られるのは「つないだのに見えない」場面です。症状によって手を打つ先が別々なので、最初に症状を見分けます。

切り分け

症状ごとの入口

  • チャットに「Add from GitHub」が出ない

    GitHubがまだClaudeに接続されていません。「Customize > Connectors」で先に接続します。

  • URLを入れても中身が取れない

    プライベートリポジトリの許可が未完了の可能性が高い状態です。GitHub Appのページから、管理者なら自分で許可し、権限がなければ管理者にリクエストします。

  • 接続済みなのに特定の組織だけ出ない

    その組織がSSOを必須にしているケースです。メンバー1人ずつが組織向けに認可し直す必要があります。

  • 以前見えたリポジトリが消えた

    アクセス権を失った状態です。GitHub側の権限を先に確認します。

プライベートリポジトリの許可が足りない場合

有効なリポジトリURLを入力してもClaudeが中身を取得できない場合、多くはプライベートリポジトリへの接続が未許可です。このとき出るエラーの原文は次のとおりです(Docsに記載)。

Claude cannot access that resource. If you know that it exists, you may first need to grant or request access here.

許可を済ませたあとは、リポジトリをもう一度選び直します。権限によって対処が2通りに分かれます。

  • GitHub管理者本人の場合: Claude公式のGitHub Appのページからアクセスを許可します。全リポジトリを許可するか、対象を絞るかを選べます
  • 管理者権限がない場合: アクセスをリクエストします。GitHub組織の管理者にメール通知が届き、承認されると同期・参照ができるようになります

組織のSSOでリポジトリが出ない場合

GitHub接続そのものは成立しているのに、特定の組織のプライベートリポジトリだけがピッカーに出てこないときは、その組織がSSOを必須にしているのが典型的な原因です。SSOが必須の組織では、GitHubがその組織のプライベートリポジトリを一覧から外します。接続は正常に動いたままなので、原因が見えにくいつまずき方です。

Claudeがこの状態を検知すると、リポジトリピッカーにSSO認可を促すバナーが出ます。認可は次の3ステップです。

手順

SSO必須の組織を認可する

  1. 1

    Claudeのエントリを開く

    github.com/settings/applicationsを開き、一覧からClaudeを選びます。

  2. 2

    組織の横で「Grant」を押す

    「Organization access」欄で、該当する組織の横にある「Grant」をクリックします。

  3. 3

    「Request」だったら管理者へ

    ボタンが「Grant」でなく「Request」と出る場合、自分にはその組織のアプリを認可する権限がありません。GitHub組織のOAuthアプリケーションポリシー設定から、管理者に承認してもらいます。

GitHub Enterprise CloudでEnterprise Managed Users(EMU)を使っている組織では、接続の張り方にも条件が付きます。マネージドアカウントでサインインし、SSOセッションが有効な状態でGitHubに接続してください。組織の所有者は、GitHub組織の設定にある「サードパーティアクセス」の「GitHub Apps」でClaudeアプリを開きます。必要なリポジトリへのアクセスがあること、保留中の権限リクエストがないことを確認できます。

共有プロジェクトでは「GitHub」が灰色になる場合

リポジトリの内容を追加できるのはプライベートなプロジェクトだけです。共有プロジェクトでは「GitHub」の項目が薄く表示され、「Only accessible from private projects」と出ます。コネクタ全般の説明ページにも、Team・Enterprise向けに「コネクタはプライベートプロジェクトでのみ使える」「同期したコンテンツを含むチャットは共有できない」という記述があります。共有したいプロジェクトにコードを読ませたいときは、この制約が先に当たります。

アクセス権を失った場合

アクセス権を失ったリポジトリは、プロジェクト内でプレビューが消え、会話履歴は残ります。異動やリポジトリの権限変更のあとにこの症状が出たら、まず自分のGitHubアカウントでそのリポジトリに今もアクセスできるかを見るのが切り分けの第一歩です。追加は成功しても中身だけ読めない場合は、既知の不具合の可能性があり、GitHub連携が使えないときの原因と対処法で切り分けられます。

Team・Enterpriseで使うときの前提

個人アカウントでは気にならない条件が、組織のプランでは加わります。コネクタ全般の共通仕様として、Team・Enterpriseプランではメンバーが使う前に、OwnerまたはPrimary Ownerが組織向けにそのコネクタを有効にする必要があります。有効化しても全員が自動で使えるわけではなく、各自が認証を済ませて初めて使えます。

GitHub専用の記述もあります。Team・Enterpriseでは、組織でGitHubが有効になっている間だけ、「Customize > Connectors」に「GitHub Integration」が現れます。接続後は、同じ画面の「Your connectors」に常に表示されます。

もう1つ、コネクタ全般の仕組みとして、Claudeは接続先での各人の権限を引き継ぎます。GitHubで見えないリポジトリはClaude側からも見えません。「同僚のプロジェクトでは読めているのに自分だけ読めない」という差は、Claudeの設定ではなくGitHub側の権限差から来ている可能性があります。これは権限の引き継ぎという公式の記述からの推論で、個別の事例は公式に載っていません。

同期が古いと感じたとき

プロジェクトに追加した内容は、リポジトリが更新されても自動では反映されません。「Sync」を押して初めて最新の変更を取り込み、以前選んだファイル・フォルダを更新します。コードベースに大きな変更が入ったときや、新しい分析を始める前には、同期を挟む運用が現実的です。

同期の呼び名は、英語版ヘルプの中では揺れています。手順の節では「Sync」アイコン、FAQでは「Sync now」です。コネクタ専用のDocsでは、プロジェクトナレッジのリポジトリで「Sync now」を押す操作が「Sync」として説明されており、同じ操作です。

同期の説明はどれもプロジェクトの話で、チャットについては触れていません。チャットで最新の状態を渡したいときの手順は公式に記載がないので、追加操作をもう一度行う形になると考えられます。

ファイルの選び方とコンテキストの節約

追加したファイルはClaudeのコンテキストウィンドウに載るため、選び方がそのまま回答の質に響きます。公式が挙げる要点は、小さなサブセットから始めること、「Configure files」で中心のファイル・ディレクトリに絞ること、不要なファイルを外してトークン上限内で焦点を保つことの3つです。

複数のリポジトリを1つのプロジェクトやチャットに同時に追加することもできます。ただし合計はコンテキストウィンドウに収まる範囲に限られます。関連性の低いリポジトリまで足すと、かえって的確な回答が返りにくくなります。

回答を採用する前の確認も、公式のベストプラクティスに入っています。Claudeの分析はチームでの調査や議論の出発点に置き、Claudeの作業内容を人が確認する前提です。期待とずれた回答が返ったら、追加の質問や条件の絞り込みを重ねます。

GitHub MCPサーバーとの違い

同じ「GitHubとClaudeをつなぐ」話でも、この連携とGitHub MCPサーバーでは扱える範囲が違います。

くらべる

読むだけか、操作までか

この記事

Claude GitHub連携

指定したブランチのファイル名と中身を、チャットやプロジェクトの文脈として渡します。コミット履歴・PR・Issueなどのメタデータは取得しません。

別の仕組み

GitHub MCPサーバー

MCPサーバーとして公開され、リポジトリへのAPI操作を扱う設計です。使い方はGitHub MCPサーバーの使い方にあります。

コードを読んで質問したいだけなら、この連携で足ります。Issueの起票やPRの自動化まで動かしたくなったら、MCPサーバーか、Claude CodeのGitHub PR自動レビューの領分です。CIパイプラインの失敗を診断したい場合はClaudeとCircleCIを連携する方法が近い用途です。

よくある質問

接続を切ったら過去の会話は消えますか

接続の切断そのものが会話に与える影響は、公式ページに記載がありません。

まとめ

追加の手順は、チャットの「+」かプロジェクトのナレッジ画面から選ぶだけです。差が出るのはその先で、プライベートリポジトリはGitHub Appの許可、SSO必須の組織はメンバーごとの認可、と症状ごとに手を打つ先が変わります。「接続済みなのに出ない」ときは、つなぎ直す前に認可状態を見るのが近道です。

Coworkから同じ接続を使う場合の承認モードはClaude CoworkのConnectors一覧にあります。

この記事を共有:XはてブLinkedIn