Claude Code dengan GitHub Enterprise Server
Hubungkan Claude Code ke instans GitHub Enterprise Server yang di-host sendiri untuk sesi cloud, tinjauan kode, dan pasar plugin.
Dukungan GitHub Enterprise Server tersedia untuk paket Team dan Enterprise.
Dukungan GitHub Enterprise Server (GHES) memungkinkan organisasi Anda menggunakan Claude Code dengan repositori yang dihosting di instans GitHub yang dikelola sendiri, bukan github.com. Setelah Owner menghubungkan instans GHES Anda, pengembang dapat menjalankan sesi cloud dan mendapatkan tinjauan kode otomatis tanpa konfigurasi per-repositori apa pun. Pasar plugin yang dihosting di instans Anda juga didukung; persyaratan kredensial bervariasi menurut permukaan, seperti yang dijelaskan dalam Plugin marketplaces on GHES.
Untuk repositori di github.com, lihat Claude Code di web dan Code Review. Untuk menjalankan Claude di infrastruktur CI Anda sendiri, lihat GitHub Actions.
Apa yang berfungsi dengan GitHub Enterprise Server
Tabel di bawah menunjukkan fitur Claude Code mana yang mendukung GHES dan perbedaan apa pun dari perilaku github.com.
| Fitur | Dukungan GHES | Catatan |
|---|---|---|
| Cloud sessions | ✅ Didukung | Pemilik menghubungkan instans GHES sekali; pengembang menggunakan claude --cloud atau claude.ai/code seperti biasa |
| Code Review | ✅ Didukung | Tinjauan PR otomatis yang sama seperti github.com |
| Claude Security | ✅ Didukung | Tersedia dalam beta publik untuk paket Enterprise di claude.ai/security |
| Teleport sessions | ✅ Didukung | Pindahkan sesi antara cloud dan terminal dengan --teleport |
| Pasar plugin | ✅ Didukung | Persyaratan kredensial berbeda menurut permukaan. Lihat Pasar plugin di GHES |
| Metrik kontribusi | ✅ Didukung | Dikirimkan melalui webhook ke dasbor analitik |
| GitHub Actions | ✅ Didukung | Memerlukan pengaturan alur kerja manual; /install-github-app hanya untuk github.com |
| Server GitHub MCP | ❌ Tidak didukung | Server GitHub MCP tidak berfungsi dengan instans GHES |
Penyiapan admin
Seorang Owner menghubungkan instance GHES Anda ke Claude Code satu kali. Setelah itu, developer di organisasi Anda dapat menggunakan repositori GHES tanpa konfigurasi tambahan apa pun. Anda memerlukan peran Owner atau Primary Owner di organisasi Claude Anda serta izin untuk membuat GitHub App di instance GHES Anda.
Penyiapan terpandu menghasilkan manifest GitHub App dan mengarahkan Anda ke instance GHES Anda untuk membuat app dengan satu klik. Jika lingkungan Anda memblokir alur pengalihan tersebut, tersedia penyiapan manual alternatif.
Buka pengaturan Git providers
Buka Organization settings > Git providers dan temukan bagian GitHub Enterprise.
Mulai penyiapan terpandu
Klik Connect, atau Add instance jika sebuah instance sudah terhubung, lalu pilih Set up automatically. Masukkan nama tampilan hingga 20 karakter untuk koneksi tersebut dan hostname GHES Anda, misalnya github.example.com. Jika instance GHES Anda menggunakan sertifikat self-signed atau otoritas sertifikat privat, tempelkan sertifikat CA di kolom opsional.
Buat GitHub App
Klik Continue to GitHub Enterprise. Browser Anda akan dialihkan ke instance GHES Anda dengan manifest app yang sudah terisi. Tinjau konfigurasinya dan klik Create GitHub App. GHES akan mengarahkan Anda kembali ke Claude dengan kredensial app yang disimpan secara otomatis.
Instal app di repositori Anda
Dari halaman GitHub App di instance GHES Anda, instal app tersebut di repositori atau organisasi yang ingin Anda izinkan untuk diakses Claude. Anda dapat memulai dengan sebagian dan menambahkan lebih banyak nanti.
Aktifkan fitur
Buka claude.ai/admin-settings/claude-code dan aktifkan Code Review serta metrik kontribusi untuk repositori GHES Anda menggunakan konfigurasi yang sama seperti github.com.
Izin GitHub App
Manifest mengonfigurasi GitHub App dengan izin dan event webhook di bawah ini, yang secara keseluruhan mencakup sesi cloud, Code Review, Claude Security, plugin marketplace, dan metrik kontribusi:
| Izin | Akses | Digunakan untuk |
|---|---|---|
| Contents | Read and write | Meng-clone repositori dan melakukan push branch |
| Pull requests | Read and write | Membuat PR dan memposting komentar review |
| Issues | Read and write | Menanggapi mention di issue |
| Checks | Read and write | Memposting check run Code Review |
| Actions | Read | Membaca status CI untuk perbaikan otomatis |
| Commit statuses | Read | Membaca status CI dari penyedia yang melaporkan status commit alih-alih check run |
| Repository hooks | Read and write | Membuat webhook di repositori plugin marketplace ketika Sync automatically diaktifkan untuk sebuah marketplace di Organization settings > Plugins & skills |
| Metadata | Read | Diwajibkan oleh GitHub untuk semua app |
| Organization members | Read | Menyamakan dengan Claude GitHub App di github.com, yang menggunakannya untuk memeriksa peran organisasi pengguna yang menghubungkan saat menautkan instalasi |
App ini berlangganan event pull_request, issue_comment, pull_request_review_comment, pull_request_review, check_run, dan status.
GitHub hanya menerapkan manifest saat app dibuat, sehingga app yang dibuat dari versi manifest sebelumnya tetap memiliki izin dan event yang ada saat app tersebut dibuat. Jika app Anda tidak memiliki salah satu izin atau event di atas, tambahkan di pengaturan app pada instance GHES Anda. GitHub kemudian akan meminta owner dari setiap instalasi untuk menyetujui izin baru tersebut, dan instalasi tetap menggunakan izin lamanya hingga mereka menyetujuinya.
Penyiapan manual
Jika alur pengalihan terpandu diblokir oleh konfigurasi jaringan Anda, klik Connect atau Add instance, lalu pilih Add manually alih-alih Set up automatically. Buat GitHub App di instance GHES Anda dengan izin dan event di atas, lalu masukkan detail koneksi di formulir: nama tampilan, hostname GHES Anda dan port opsional, serta ID app, client ID, client secret, webhook secret, dan private key. Formulir ini juga menerima sertifikat CA kustom opsional dan hostname read replica.
Claude menghasilkan URL webhook app saat Anda menyimpan koneksi. Setelah Anda mengklik Add configuration, buka menu More options pada koneksi tersebut, pilih Copy webhook URL, dan tempelkan URL tersebut ke pengaturan webhook app di instance GHES Anda. Gunakan webhook secret yang sama dengan yang Anda masukkan di formulir.
Persyaratan jaringan
Untuk sesi yang di-host oleh Anthropic, instance GHES Anda harus dapat dijangkau dari infrastruktur Anthropic agar Claude dapat meng-clone repositori dan memposting komentar review. Jika instance GHES Anda berada di balik firewall, masukkan alamat IP keluar Anthropic ke dalam allowlist. Sesi di lingkungan self-hosted melakukan clone dari dalam jaringan Anda, kecuali jika runner memilih menggunakan Anthropic git proxy, yang melakukan fetch dari sisi Anthropic dan memerlukan keterjangkauan yang sama.
Alur pra-sesi yang di-host, seperti pemilih repositori, berjalan di sisi Anthropic sebelum sesi dimulai. Alur tersebut memerlukan instance GHES Anda agar dapat dijangkau dari infrastruktur Anthropic bahkan ketika sesi berjalan di lingkungan self-hosted. Konektor SCM tidak tersedia, sehingga alur tersebut tidak dapat menjangkau host GHES yang hanya dapat dirutekan secara internal.
Alur kerja pengembang
Setelah admin Anda menghubungkan instans GHES, tidak ada konfigurasi sisi pengembang yang diperlukan. Claude Code mendeteksi nama host GHES Anda secara otomatis dari git remote di direktori kerja Anda.
Kloning repositori dari instans GHES Anda seperti biasa, mengganti github.example.com dan jalur repositori dengan nama host GHES dan repositori Anda:
git clone git@github.example.com:platform/api-service.git
cd api-service
Kemudian mulai sesi cloud. Claude mendeteksi host GHES dari git remote Anda dan merutekan sesi melalui instans yang dikonfigurasi organisasi Anda:
claude --cloud "Add retry logic to the payment webhook handler"
Sesi mengkloning repositori Anda dari GHES dan mendorong perubahan kembali ke cabang. Pantau kemajuan di claude.ai/code. Lihat Claude Code di web untuk alur kerja sesi cloud lengkap termasuk tinjauan diff, perbaikan otomatis, dan rutinitas.
Teleport sesi ke terminal Anda
Tarik sesi cloud ke terminal lokal Anda dengan claude --teleport. Teleport memverifikasi Anda berada di checkout repositori GHES yang sama sebelum mengambil cabang dan memuat riwayat sesi. Lihat persyaratan teleport untuk detail.
Pasar plugin di GHES
Host pasar plugin di instans GHES Anda untuk mendistribusikan alat internal di seluruh organisasi Anda. Struktur pasar identik dengan pasar yang dihosting github.com, tetapi instalasi bekerja berbeda tergantung di mana Anda menambahkan pasar, dan kredensial berbeda di seluruh permukaan:
| Permukaan | Cara instalasi bekerja | Apa yang setiap pengguna butuhkan |
|---|---|---|
| Claude Code CLI dan desktop | Claude Code mengkloning repositori pasar menggunakan kredensial git yang ada di mesin | Akses Git ke host GHES Anda dari mesin mereka |
Pengaturan terkelola (extraKnownMarketplaces) |
Claude Code mendaftarkan entri dan mengkloning repositori menggunakan kredensial git yang ada di mesin | Akses Git ke host GHES Anda dari mesin mereka |
| Pengaturan plugin organisasi claude.ai | Pemilik memilih instans GHES sebagai sumber; backend Anthropic mengambil dan menyinkronkan repositori menggunakan GitHub App dari pengaturan admin | Tidak ada per pengguna setelah ditambahkan. Pemilik yang menambahkannya memerlukan akun GitHub Enterprise mereka sendiri yang terhubung sebagai pemeriksaan akses, dan GitHub App harus diinstal di repositori pasar |
| Pengaturan pengguna claude.ai | Backend Anthropic mengambil repositori menggunakan koneksi GitHub Enterprise pengguna yang mengirimkan | Akun GitHub Enterprise mereka sendiri yang terhubung ke Claude |
| Sesi cloud | Sesi cloud mengkloning pasar di dalam sandbox sesi. Sandbox hanya dapat menjangkau instans GHES Anda ketika repositori sesi berada di instans yang sama, dan kredensial git-nya dibatasi pada repositori sesi | Tidak dapat diandalkan untuk pasar yang dihosting GHES: host yang berbeda dari repositori sesi tidak dapat dijangkau, dan bahkan instalasi instans yang sama dapat gagal. Gunakan CLI, pengaturan terkelola, atau claude.ai sebagai gantinya |
Koneksi GitHub Enterprise di claude.ai adalah per pengguna ketika pasar ditambahkan dari pengaturan pengguna. Pengaturan admin menghubungkan instans GHES Anda ke organisasi Anda, tetapi tidak menghubungkan akun pengguna individual: setiap pengguna yang menambahkan pasar GHES dari pengaturan mereka sendiri harus terlebih dahulu menghubungkan akun GitHub Enterprise mereka sendiri, dan koneksi satu pengguna, termasuk Pemilik, tidak mencakup siapa pun yang lain. Pasar yang ditambahkan oleh Pemilik dalam pengaturan plugin organisasi tidak memberlakukan persyaratan ini pada pengguna, karena pengambilan berkelanjutan menggunakan GitHub App organisasi. Pemilik yang menambahkan pasar masih memerlukan akun GitHub Enterprise mereka sendiri yang terhubung pada waktu penambahan.
Tambahkan pasar GHES
Shorthand owner/repo selalu diselesaikan ke github.com. Untuk pasar yang dihosting GHES, gunakan URL git lengkap, mengganti github.example.com dan jalur repositori dengan milik Anda sendiri. URL HTTPS direkomendasikan:
/plugin marketplace add https://github.example.com/platform/claude-plugins.git
URL SSH berfungsi jika mesin sudah mempercayai host GHES Anda:
/plugin marketplace add git@github.example.com:platform/claude-plugins.git
Claude Code menjalankan git secara non-interaktif dan menolak koneksi SSH ke host yang tidak ada dalam file known_hosts mesin. URL HTTPS dengan pembantu kredensial git menghindari persyaratan known_hosts.
Lihat Buat dan distribusikan pasar plugin untuk panduan lengkap membangun pasar.
Daftarkan pasar GHES sebelumnya dengan pengaturan terkelola
Pengaturan extraKnownMarketplaces mendaftarkan pasar sebelumnya sehingga pengembang mendapatkannya tanpa pengaturan manual. Ini bekerja dari file pengaturan apa pun, termasuk .claude/settings.json repositori; pengaturan terkelola mengirimkannya di seluruh organisasi:
{
"extraKnownMarketplaces": {
"internal-tools": {
"source": {
"source": "git",
"url": "https://github.example.com/platform/claude-plugins.git"
}
}
}
}
Claude Code menginstal pasar ini secara lokal: mendaftarkan setiap entri dan mengkloning repositori dengan kredensial git yang ada di mesin. Jalur ini tidak melalui claude.ai, jadi koneksi GitHub Enterprise per pengguna tidak diperlukan. Untuk peluncuran yang berhasil:
- Gunakan URL git lengkap. Shorthand
owner/reposelalu diselesaikan ke github.com dan tidak dapat mereferensikan host GHES. - Lebih suka URL HTTPS. Kloning SSH gagal pada mesin yang tidak sudah mempercayai kunci host GHES Anda. URL HTTPS dengan pembantu kredensial git standar organisasi Anda bekerja pada mesin apa pun dengan kredensial yang dikonfigurasi.
- Konfirmasi setiap mesin dapat mengkloning dari host GHES Anda. Jika mesin tidak memiliki kredensial, pasar didaftarkan tetapi tidak pernah diinstal, dan plugin-nya melaporkan sebagai tidak ditemukan alih-alih meminta kredensial.
- Konfirmasi pengaturan mencapai setiap mesin. File pengaturan terkelola hanya berlaku pada mesin yang diterapkan, misalnya melalui sistem manajemen perangkat Anda. Lihat Terapkan pengaturan terkelola untuk lokasi file.
Daftarkan pasar GHES dalam pengaturan terkelola
Jika organisasi Anda menggunakan pengaturan terkelola untuk membatasi pasar mana yang dapat ditambahkan pengembang, gunakan tipe sumber hostPattern untuk memungkinkan semua pasar dari instans GHES Anda tanpa menghitung setiap repositori. Lihat Mekanisme pengiriman untuk lokasi file di setiap platform. Tambahkan JSON ke file managed-settings.json Anda atau kebijakan MDM yang setara:
{
"strictKnownMarketplaces": [
{
"source": "hostPattern",
"hostPattern": "^github\\.example\\.com$"
}
]
}
Lihat referensi pengaturan strictKnownMarketplaces dan extraKnownMarketplaces untuk skema lengkap.
Keterbatasan
Beberapa fitur berperilaku berbeda di GHES daripada di github.com. Tabel fitur merangkum dukungan; bagian ini mencakup solusi.
- Perintah
/install-github-app: ikuti alur pengaturan admin di claude.ai sebagai gantinya. Jika Anda juga menginginkan alur kerja GitHub Actions di GHES, sesuaikan alur kerja contoh secara manual. - Server GitHub MCP: gunakan CLI
ghyang dikonfigurasi untuk host GHES Anda sebagai gantinya. Jalankangh auth login --hostname github.example.comuntuk autentikasi, kemudian Claude dapat menggunakan perintahghdalam sesi.
Troubleshooting
Cloud session fails to clone repository
Jika claude --cloud gagal dengan kesalahan kloning, verifikasi bahwa seorang Owner telah menyelesaikan pengaturan untuk instans GHES Anda dan bahwa GitHub App dipasang di repositori tempat Anda bekerja. Tanyakan kepada Owner yang menghubungkan instans untuk mengonfirmasi bahwa nama host yang terdaftar dalam pengaturan Claude cocok dengan nama host di git remote Anda.
Penambahan pasar gagal dengan kesalahan kebijakan
Jika /plugin marketplace add diblokir untuk URL GHES Anda, organisasi Anda telah membatasi sumber pasar. Minta admin Anda untuk menambahkan entri hostPattern untuk nama host GHES Anda dalam pengaturan terkelola.
Penambahan pasar di claude.ai gagal dengan kesalahan akses GitHub
Jika menambahkan pasar GHES dari pengaturan pengguna Anda gagal dengan kesalahan generik seperti "Marketplace couldn't be added", periksa koneksi GitHub Enterprise Anda terlebih dahulu. Ini adalah apa yang muncul ketika akun GitHub Enterprise Anda sendiri tidak terhubung ke Claude, bahkan jika instans GHES organisasi Anda dikonfigurasi dan pengguna lain terhubung. Dialog tidak menunjuk ke alur koneksi GitHub Enterprise, dan opsi "Connect to GitHub" di tab Browse masuk ke github.com, yang tidak memberikan akses ke repositori GHES.
Hubungkan akun GitHub Enterprise Anda di salah satu tempat berikut, kemudian tambahkan marketplace lagi:
- Pemilih repositori: di claude.ai/code, pemilih repositori menawarkan opsi koneksi untuk setiap instans GHES yang dikonfigurasi.
- Halaman penyedia Git: jika Anda seorang Owner, buka bagian GitHub di Organization settings > Git providers dan klik Connect, atau Add organization setelah akun terhubung. Pilih nama host GHES di bawah GitHub instance, kemudian klik Connect.
Alternatifnya, minta Owner untuk menambahkan marketplace dalam pengaturan plugin organisasi, yang menghilangkan persyaratan koneksi per pengguna.
Di permukaan claude.ai lainnya, kesalahan "Repository not found. If it's private, GitHub access is required" di pasar GHES biasanya menunjukkan koneksi yang hilang yang sama. Hubungkan akun GitHub Enterprise Anda melalui salah satu jalur di atas, kemudian coba lagi.
Instans GHES tidak dapat dijangkau
Jika tinjauan atau sesi cloud habis waktu, instans GHES Anda mungkin tidak dapat dijangkau dari infrastruktur Anthropic. Konfirmasi firewall Anda memungkinkan koneksi masuk dari outbound IP addresses Anthropic. Sesi dalam self-hosted environment mencapai GHES dari dalam jaringan Anda, jadi ketika salah satu dari mereka tidak dapat mengkloning, periksa jalur jaringan runner sendiri sebagai gantinya. Untuk pemilih repositori dan alur pra-sesi yang dihosting lainnya, lihat Network requirements.
Awal sesi gagal dengan `Unable to get organization UUID`
Claude Code tidak dapat membaca organisasi claude.ai dari kredensial Anda. Masuk dengan /login menggunakan akun di organisasi Team atau Enterprise Anda, karena dukungan GitHub Enterprise Server terbatas pada paket tersebut. Lihat Unable to get organization UUID untuk penyebab dan pesan lain yang dihasilkan keadaan ini.
Sumber daya terkait
Halaman-halaman ini mencakup fitur yang direferensikan di seluruh panduan ini secara lebih mendalam:
- Claude Code di web: jalankan sesi Claude Code di infrastruktur cloud
- Code Review: tinjauan PR otomatis
- Pasar plugin: bangun dan distribusikan katalog plugin
- Analytics: lacak penggunaan dan metrik kontribusi
- Pengaturan terkelola: konfigurasi kebijakan di seluruh organisasi
- Konfigurasi jaringan: persyaratan firewall dan daftar izin IP