Skip to main content
GitHub Enterprise Server support is available for Team and Enterprise plans.
GitHub Enterprise Server (GHES) support lets your organization use Claude Code with repositories hosted on your self-managed GitHub instance instead of github.com. Once an Owner connects your GHES instance, developers can run web sessions and get automated code reviews without any per-repository configuration. Plugin marketplaces hosted on your instance are also supported; credential requirements vary by surface, as described in Plugin marketplaces on GHES. For repositories on github.com, see Claude Code on the web and Code Review. To run Claude in your own CI infrastructure, see GitHub Actions.

What works with GitHub Enterprise Server

The table below shows which Claude Code features support GHES and any differences from github.com behavior.
FeatureGHES supportNotes
Claude Code on the web✅ SupportedAn Owner connects the GHES instance once; developers use claude --cloud or claude.ai/code as usual
Code Review✅ SupportedSame automated PR reviews as github.com
Claude Security✅ SupportedAvailable in public beta for Enterprise plans at claude.ai/security
Teleport sessions✅ SupportedMove sessions between web and terminal with --teleport
Plugin marketplaces✅ SupportedCredential requirements differ by surface. See Plugin marketplaces on GHES
Contribution metrics✅ SupportedDelivered via webhooks to the analytics dashboard
GitHub Actions✅ SupportedRequires manual workflow setup; /install-github-app is github.com only
GitHub MCP server❌ Not supportedThe GitHub MCP server does not work with GHES instances

Admin setup

An Owner connects your GHES instance to Claude Code once. After that, developers in your organization can use GHES repositories without any additional configuration. You need the Owner or Primary Owner role in your Claude organization and permission to create GitHub Apps on your GHES instance. The guided setup generates a GitHub App manifest and redirects you to your GHES instance to create the app in one click. If your environment blocks the redirect flow, an alternative manual setup is available.
1

Open Claude Code admin settings

Go to claude.ai/admin-settings/claude-code and find the GitHub Enterprise Server section.
2

Start the guided setup

Click Connect. Enter a display name for the connection and your GHES hostname, for example github.example.com. If your GHES instance uses a self-signed or private certificate authority, paste the CA certificate in the optional field.
3

Create the GitHub App

Click Continue to GitHub Enterprise. Your browser redirects to your GHES instance with a pre-filled app manifest. Review the configuration and click Create GitHub App. GHES redirects you back to Claude with the app credentials stored automatically.
4

Install the app on your repositories

From the GitHub App page on your GHES instance, install the app on the repositories or organizations you want Claude to access. You can start with a subset and add more later.
5

Enable features

Return to claude.ai/admin-settings/claude-code and enable Code Review, Claude Security, and contribution metrics for your GHES repositories using the same configuration as github.com.

GitHub App permissions

The manifest configures the GitHub App with the permissions and webhook events Claude needs across web sessions, Code Review, Claude Security, and contribution metrics:
PermissionAccessUsed for
ContentsRead and writeCloning repositories and pushing branches
Pull requestsRead and writeCreating PRs and posting review comments
IssuesRead and writeResponding to issue mentions
ChecksRead and writePosting Code Review check runs
ActionsReadReading CI status for auto-fix
Repository hooksRead and writeReceiving webhooks for contribution metrics
MetadataReadRequired by GitHub for all apps
The app subscribes to pull_request, issue_comment, pull_request_review_comment, pull_request_review, and check_run events.

Manual setup

If the guided redirect flow is blocked by your network configuration, click Add manually instead of Connect. Create a GitHub App on your GHES instance with the permissions and events above, then enter the app credentials in the form: hostname, OAuth client ID and secret, GitHub App ID, client ID, client secret, webhook secret, and private key.

Network requirements

Your GHES instance must be reachable from Anthropic infrastructure so Claude can clone repositories and post review comments. If your GHES instance is behind a firewall, allowlist the Anthropic API IP addresses.

Developer workflow

Once an Owner has connected the GHES instance, no developer-side configuration is needed. Claude Code detects your GHES hostname automatically from the git remote in your working directory. Clone a repository from your GHES instance as you normally would:
git clone git@github.example.com:platform/api-service.git
cd api-service
Then start a web session. Claude detects the GHES host from your git remote and routes the session through your organization’s configured instance:
claude --cloud "Add retry logic to the payment webhook handler"
The session runs on Anthropic infrastructure, clones your repository from GHES, and pushes changes back to a branch. Monitor progress with /tasks or at claude.ai/code. See Claude Code on the web for the full cloud session workflow including diff review, auto-fix, and routines.

Teleport sessions to your terminal

Pull a web session into your local terminal with claude --teleport. Teleport verifies you’re in a checkout of the same GHES repository before fetching the branch and loading the session history. See teleport requirements for details.

Plugin marketplaces on GHES

Host plugin marketplaces on your GHES instance to distribute internal tooling across your organization. The marketplace structure is identical to github.com-hosted marketplaces, but installation works differently depending on where you add the marketplace, and credentials differ across surfaces:
SurfaceHow installation worksWhat each user needs
Claude Code CLI and desktopClaude Code clones the marketplace repository using the machine’s existing git credentialsGit access to your GHES host from their machine
Managed settings (extraKnownMarketplaces)Claude Code registers the entry and clones the repository using the machine’s existing git credentialsGit access to your GHES host from their machine
claude.ai organization plugin settingsAn Owner selects the GHES instance as the source; Anthropic’s backend fetches and syncs the repository using the GitHub App from admin setupNothing per user once added. The Owner adding it needs their own GitHub Enterprise account connected as an access check, and the GitHub App must be installed on the marketplace repository
claude.ai user settingsAnthropic’s backend fetches the repository using the submitting user’s GitHub Enterprise connectionTheir own GitHub Enterprise account connected to Claude
Claude Code on the webCloud sessions clone marketplaces inside the session sandbox. The sandbox can reach your GHES instance only when the session’s repository is on that same instance, and its git credentials are scoped to the session’s repositoriesNot reliable for GHES-hosted marketplaces: a different host than the session’s repository is not reachable, and even same-instance installs can fail. Use the CLI, managed settings, or claude.ai instead
GitHub Enterprise connections on claude.ai are per user when a marketplace is added from user settings. The admin setup connects your GHES instance to your organization, but it does not connect individual user accounts: each user who adds a GHES marketplace from their own settings must first connect their own GitHub Enterprise account, and one user’s connection, including the Owner’s, does not cover anyone else. Marketplaces added by an Owner in the organization plugin settings do not put this requirement on users, because ongoing fetches use the organization’s GitHub App. The Owner adding the marketplace still needs their own GitHub Enterprise account connected at add time.

Add a GHES marketplace

The owner/repo shorthand always resolves to github.com. For GHES-hosted marketplaces, use the full git URL. HTTPS URLs are recommended:
/plugin marketplace add https://github.example.com/platform/claude-plugins.git
SSH URLs work if the machine already trusts your GHES host:
/plugin marketplace add git@github.example.com:platform/claude-plugins.git
Claude Code runs git non-interactively and rejects SSH connections to hosts that are not in the machine’s known_hosts file. An HTTPS URL with a git credential helper avoids the known_hosts requirement. See Create and distribute a plugin marketplace for the full guide to building marketplaces.

Pre-register GHES marketplaces with managed settings

The extraKnownMarketplaces setting pre-registers a marketplace so developers get it without manual setup. It works from any settings file, including a repository’s .claude/settings.json; managed settings deliver it organization-wide:
{
  "extraKnownMarketplaces": {
    "internal-tools": {
      "source": {
        "source": "git",
        "url": "https://github.example.com/platform/claude-plugins.git"
      }
    }
  }
}
Claude Code installs these marketplaces locally: it registers each entry and clones the repository with the machine’s existing git credentials. This path does not go through claude.ai, so the per-user GitHub Enterprise connection is not required. For a successful rollout:
  • Use a full git URL. The owner/repo shorthand always resolves to github.com and cannot reference a GHES host.
  • Prefer HTTPS URLs. SSH clones fail on machines that do not already trust your GHES host key. An HTTPS URL with your organization’s standard git credential helper works on any machine with credentials configured.
  • Confirm each machine can clone from your GHES host. If a machine lacks credentials, the marketplace is registered but never installed, and its plugins report as not found instead of prompting for credentials.
  • Confirm the setting reaches each machine. A managed settings file only takes effect on machines it’s deployed to, for example through your device management system. See managed settings for file locations.

Allowlist GHES marketplaces in managed settings

If your organization uses managed settings to restrict which marketplaces developers can add, use the hostPattern source type to allow all marketplaces from your GHES instance without enumerating each repository:
{
  "strictKnownMarketplaces": [
    {
      "source": "hostPattern",
      "hostPattern": "^github\\.example\\.com$"
    }
  ]
}
See the strictKnownMarketplaces and extraKnownMarketplaces settings reference for the complete schema.

Limitations

A few features behave differently on GHES than on github.com. The feature table summarizes support; this section covers the workarounds.
  • /install-github-app command: follow the admin setup flow on claude.ai instead. If you also want GitHub Actions workflows on GHES, adapt the example workflow manually.
  • GitHub MCP server: use the gh CLI configured for your GHES host instead. Run gh auth login --hostname github.example.com to authenticate, then Claude can use gh commands in sessions.

Troubleshooting

Web session fails to clone repository

If claude --cloud fails with a clone error, verify that an Owner has completed setup for your GHES instance and that the GitHub App is installed on the repository you’re working in. Ask the Owner who connected the instance to confirm that the hostname registered in Claude settings matches the hostname in your git remote.

Marketplace add fails with a policy error

If /plugin marketplace add is blocked for your GHES URL, your organization has restricted marketplace sources. Ask your admin to add a hostPattern entry for your GHES hostname in managed settings.

Marketplace add on claude.ai fails with a GitHub access error

If adding a GHES marketplace from your user settings fails with a generic error like “Marketplace couldn’t be added”, check your GitHub Enterprise connection first. This is what appears when your own GitHub Enterprise account is not connected to Claude, even if your organization’s GHES instance is configured and other users are connected. The dialog does not point to the GitHub Enterprise connect flow, and the “Connect to GitHub” option on the Browse tab signs in to github.com, which does not grant access to GHES repositories. To connect your GitHub Enterprise account: the repository picker on claude.ai/code offers a connect option for each configured GHES instance, and Owners can also connect from the GitHub Enterprise section of the Claude Code admin settings. Then add the marketplace again. Alternatively, ask an Owner to add the marketplace in the organization plugin settings, which removes the per-user connection requirement. On other claude.ai surfaces, a “Repository not found. If it’s private, GitHub access is required” error on a GHES marketplace usually indicates the same missing connection. Connect your GitHub Enterprise account through one of the paths above, then try again.

GHES instance not reachable

If reviews or web sessions time out, your GHES instance may not be reachable from Anthropic infrastructure. Confirm your firewall allows inbound connections from the Anthropic API IP addresses. These pages cover the features referenced throughout this guide in more depth: