GitHub Enterprise ServerでClaude Codeを使う — 管理者設定とネットワーク要件
GitHub Enterprise Server(GHES)にClaude Codeを接続する管理者セットアップ・GitHub App権限・ネットワーク要件・github.comとの機能差をまとめます。
GitHub Enterprise ServerでClaude Codeを使うとは
GitHub Enterprise Server(GHES)は組織が自社管理するGitHubインスタンスです。Team / Enterpriseプランで、Claude Codeの管理者(Owner)が一度GHESインスタンスを接続すれば、以降は開発者側の追加設定なしにWebセッション・自動コードレビュー・プラグインマーケットプレイスをgithub.comと同じ感覚で使えます。自動コードレビューの中身自体はgithub.comと共通で、設定方法はClaude Codeコードレビューにまとめています。GHESではこれに加えて、接続の手間と一部機能差があります。
対応状況は機能ごとに違います。Webセッション・コードレビュー・Teleport・プラグインマーケットプレイス・contribution metrics・GitHub Actionsはサポート対象です。Claude Securityのみ、Enterpriseプラン向けのパブリックベータという条件が付いています。GitHub MCPサーバーはGHESインスタンスでは動作しません。GitHub Actions自体は動きますが、/install-github-appコマンドはgithub.com専用のため手動でワークフローを作成します(クラウドプロバイダー経由の設定はGitHub Actions Bedrock連携を参照)。
管理者セットアップの手順
GHESインスタンスの接続は組織のOwnerまたはPrimary Ownerが1回行います。GHES上でGitHub Appを作成する権限も必要です。ガイド付きセットアップはGitHub Appマニフェストを生成し、GHESインスタンス上でアプリを1クリック作成できるようにリダイレクトします。
- claude.ai/admin-settings/claude-codeを開き、GitHub Enterprise Serverのセクションを探す
- Connectをクリックし、接続の表示名(20文字以内)とGHESのホスト名(例:
github.example.com)を入力する。自己署名証明書やプライベートCAを使っている場合はCA証明書を貼り付ける - Continue to GitHub Enterpriseをクリックすると、事前入力済みのアプリマニフェストとともにGHESインスタンスへリダイレクトされる。設定を確認しCreate GitHub Appをクリックすると、アプリの認証情報が自動的にClaude側へ保存される
- GHES上のGitHub Appページから、Claudeにアクセスさせたいリポジトリまたは組織にアプリをインストールする(最初は一部だけでもよい)
- claude.ai/admin-settings/claude-codeに戻り、GHESリポジトリ向けにコードレビュー・contribution metricsを有効化する(github.comと同じ設定方法)。Claude Securityも同じ画面から有効化できますが、Enterpriseプラン向けのパブリックベータのため、Teamプランでは選択肢に表示されません
GitHub App権限の中身
マニフェストが設定する権限とwebhookイベントは、Webセッション・コードレビュー・Claude Security・プラグインマーケットプレイス・contribution metricsをまとめてカバーします。
| 権限 | アクセス | 用途 |
|---|---|---|
| Contents | アクセス読み書き | 用途リポジトリのクローンとブランチのプッシュ |
| Pull requests | アクセス読み書き | 用途PR作成とレビューコメント投稿 |
| Issues | アクセス読み書き | 用途Issueメンションへの応答 |
| Checks | アクセス読み書き | 用途コードレビューのcheck run投稿 |
| Actions | アクセス読み取り | 用途auto-fix用のCIステータス確認 |
| Commit statuses | アクセス読み取り | 用途check runでなくcommit statusでCI結果を報告するプロバイダー向け |
| Repository hooks | アクセス読み書き | 用途マーケットプレイスの自動同期を有効にしたときのwebhook作成 |
| Metadata | アクセス読み取り | 用途GitHubが全アプリに要求する必須権限 |
| Organization members | アクセス読み取り | 用途インストール連携時に接続ユーザーの組織ロールを確認 |
webhookイベントはpull_request / issue_comment / pull_request_review_comment / pull_request_review / check_run / statusの6種類を購読します。GitHubはアプリ作成時にしかマニフェストを適用しないため、古いバージョンのマニフェストで作成済みのアプリはその時点の権限のままです。不足があればGHES上のアプリ設定に追加すると、各インストールのOwnerに承認が求められ、承認するまで旧権限のまま動作します。
リダイレクトが使えないときの手動セットアップ
ガイド付きのリダイレクトフローがネットワーク設定でブロックされる場合は、Add manuallyを使います。GHES上で上記の権限とイベントを持つGitHub Appを作成し、表示名・GHESホスト名とポート・App ID・クライアントID・クライアントシークレット・webhookシークレット・秘密鍵をフォームに入力します。カスタムCA証明書とread replicaのホスト名もオプションで指定できます。
接続を保存するとClaudeがwebhook URLを生成します。Add configurationをクリックしたあと、接続のMore optionsメニューからCopy webhook URLを選び、そのURLをGHES上のアプリのwebhook設定に貼り付けます。webhookシークレットはフォームに入力したものと同じ値を使います。
ネットワーク要件
Anthropicがホストするセッション(Webセッション・レビュー)では、AnthropicのインフラからGHESインスタンスへ到達できる必要があります。ファイアウォールの内側にある場合は、Anthropicのoutbound IPアドレスを許可リストに追加します。
一方、セルフホストランナーでのセッションは自社ネットワークの内側からクローンするため、この到達性は不要です。ただしランナーがAnthropic git proxyを使う設定になっている場合は、Anthropic側からフェッチする形になるため同じ到達性が必要になります。内部からしか到達できないGHESホストでは、セッションを始める前にリポジトリを選ぶ画面などをSCMコネクタが仲介します。
開発者の使い方
Ownerがインスタンスを接続したあとは、開発者側の追加設定は不要です。Claude Codeは作業ディレクトリのgitリモートからGHESホスト名を自動検出します。
git clone git@github.example.com:platform/api-service.git
cd api-service
claude --cloud "決済webhookハンドラーにリトライ処理を追加して"セッションはGHESからリポジトリをクローンし、変更をブランチにプッシュして返します。進捗は/tasksまたはclaude.ai/codeで確認できます。
Teleportでローカルへ引き継ぐ
claude --teleportを使うと、Webセッションをローカルのターミナルに引き継げます。Teleportは同じGHESリポジトリのチェックアウト内にいることを確認してからブランチとセッション履歴を取得します。テレポート全般の要件はClaude Code teleportの使い方にまとめています。
github.comとの機能差(できないこと)
/install-github-appコマンド: GHESでは使えません。代わりに上記の管理者セットアップフローを使います。GitHub Actionsワークフローも欲しい場合はサンプルワークフローを手動で調整します- GitHub MCPサーバー: GHESインスタンスでは動作しません。代わりにGHESホスト向けに設定した
ghCLIを使います。gh auth login --hostname github.example.comで認証すれば、セッション内でghコマンドが使えます
よくあるつまずき
- Webセッションがクローンに失敗する: Ownerが対象GHESインスタンスのセットアップを完了しているか、作業中のリポジトリにGitHub Appがインストールされているかを確認します。Claude設定に登録されたホスト名とgitリモートのホスト名が一致しているかも、接続したOwnerに確認してもらいます
Unable to get organization UUIDでセッションが開始しない: Webセッションの実行にはTeamまたはEnterprise組織が必要です。/loginで組織アカウントとしてサインインします。APIキーで認証しているとより早い段階で/loginを求めるメッセージとともに失敗します- GHESインスタンスに到達できない: レビューやAnthropicホストのWebセッションがタイムアウトする場合、ファイアウォールがAnthropicのoutbound IPアドレスからの受信を許可しているか確認します。セルフホスト環境でのセッションは自社ネットワーク内からGHESに到達するため、ランナー自体のネットワーク経路を確認します
まとめ
GHES対応はOwnerによる1回の管理者セットアップで完結し、以降は開発者側の追加設定なしにWebセッション・コードレビュー・Teleport・プラグインマーケットプレイスがgithub.comとほぼ同じ感覚で使えます。差分として明確に押さえておくべきは、GitHub MCPサーバーが使えないこと、/install-github-appが使えずGitHub Actionsは手動設定になること、そしてAnthropicホストのセッションにはGHESインスタンスの到達性が必要なことの3点です。プラグインマーケットプレイスをGHES上で組織的に運用する手順はGHESプラグインマーケットプレイスを許可リストで運用するで扱っています。
よくある質問
GHESの接続はリポジトリごとに必要ですか
いいえ。Ownerが組織単位でGHESインスタンスを1回接続すれば、GitHub Appをインストールした全リポジトリで有効になります。リポジトリごとの追加設定は不要です。
自己署名証明書のGHESインスタンスでも使えますか
使えます。ガイド付きセットアップにも手動セットアップにも、CA証明書を貼り付けるオプション欄があります。
GHES上でもコードレビューの自動実行は同じ動きですか
はい。管理者セットアップの最後にコードレビューを有効化すれば、github.comと同じ自動PRレビューが動きます。設定方法自体は本記事冒頭で触れたコードレビューのガイドと共通です。
個々の開発者がGitHub Enterpriseアカウントを接続する必要はありますか
Webセッションやコードレビューの利用自体には不要です。ただしプラグインマーケットプレイスをclaude.aiのユーザー設定から追加する場合は、その開発者自身のGitHub Enterpriseアカウント接続が別途必要になります。組織のOwnerが組織プラグイン設定側で追加すれば、この個人接続の要件はなくなります。