GitHub Enterprise Server 支持适用于 Team 和 Enterprise 计划。
GitHub Enterprise Server 支持的功能
下表显示了哪些 Claude Code 功能支持 GHES 以及与 github.com 行为的任何差异。管理员设置
一个所有者将您的 GHES 实例连接到 Claude Code 一次。之后,您组织中的开发人员可以使用 GHES 存储库,无需任何额外配置。您需要在 Claude 组织中具有所有者或主要所有者角色,以及在 GHES 实例上创建 GitHub App 的权限。 引导式设置生成 GitHub App 清单,并将您重定向到 GHES 实例以一键创建应用。如果您的环境阻止重定向流,可以使用 替代手动设置。1
打开 Claude Code 管理员设置
转到 claude.ai/admin-settings/claude-code 并找到 GitHub Enterprise Server 部分。
2
启动引导式设置
点击 连接。输入连接的显示名称(最多 20 个字符)和您的 GHES 主机名,例如
github.example.com。如果您的 GHES 实例使用自签名或私有证书颁发机构,请在可选字段中粘贴 CA 证书。3
创建 GitHub App
点击 继续到 GitHub Enterprise。您的浏览器重定向到您的 GHES 实例,并显示预填充的应用清单。审查配置并点击 创建 GitHub App。GHES 将您重定向回 Claude,应用凭证自动存储。
4
在您的存储库上安装应用
从您的 GHES 实例上的 GitHub App 页面,在您希望 Claude 访问的存储库或组织上安装应用。您可以从一个子集开始,稍后添加更多。
5
启用功能
返回 claude.ai/admin-settings/claude-code 并为您的 GHES 存储库启用 代码审查、Claude Security 和 贡献指标,使用与 github.com 相同的配置。
GitHub App 权限
清单使用以下权限和 webhook 事件配置 GitHub App,这些权限和事件共同涵盖网络会话、代码审查、Claude Security、插件市场和贡献指标:
应用订阅
pull_request、issue_comment、pull_request_review_comment、pull_request_review、check_run 和 status 事件。
GitHub 仅在创建应用时应用清单,因此从早期版本的清单创建的应用会保留创建时的权限和事件。如果您的应用缺少上述任何权限或事件,请在您的 GHES 实例上的应用设置中添加它们。GitHub 随后会要求每个安装的所有者批准新权限,安装将保留其旧权限,直到他们批准为止。
手动设置
如果引导式重定向流被您的网络配置阻止,请点击 手动添加 而不是连接。在您的 GHES 实例上创建 GitHub App,具有 上述权限和事件,然后在表单中输入连接详情:显示名称、您的 GHES 主机名和可选端口,以及应用的 ID、客户端 ID、客户端密钥、webhook 密钥和私钥。表单还接受可选的自定义 CA 证书和读副本主机名。 Claude 在您保存连接时生成应用的 webhook URL。点击 添加配置 后,打开连接的 更多选项 菜单,选择 复制 webhook URL,并将 URL 粘贴到您的 GHES 实例上的应用 webhook 设置中。使用您在表单中输入的相同 webhook 密钥。网络要求
对于 Anthropic 托管的会话,您的 GHES 实例必须可从 Anthropic 基础设施访问,以便 Claude 可以克隆存储库和发布审查评论。如果您的 GHES 实例在防火墙后面,请将 Anthropic 的 出站 IP 地址 加入白名单。自托管环境 中的会话从您的网络内部克隆,除非运行器选择加入 Anthropic git 代理,该代理从 Anthropic 一侧获取并需要相同的可达性;SCM 连接器 涵盖托管的会话前流程,例如存储库选择器,用于仅在内部可路由的 GHES 主机。开发人员工作流
一旦所有者连接了 GHES 实例,就不需要开发人员端的配置。Claude Code 从您工作目录中的 git 远程自动检测您的 GHES 主机名。 像往常一样从您的 GHES 实例克隆存储库,将github.example.com 和存储库路径替换为您的 GHES 主机名和存储库:
将会话 Teleport 到您的终端
使用claude --teleport 将云会话拉入您的本地终端。Teleport 在获取分支和加载会话历史之前验证您在同一 GHES 存储库的检出中。有关详细信息,请参阅 teleport 要求。
GHES 上的插件市场
在您的 GHES 实例上托管插件市场,以在您的组织中分发内部工具。市场结构与 github.com 托管的市场相同,但安装方式因您添加市场的位置而异,并且凭证在不同的界面上有所不同:添加 GHES 市场
owner/repo 简写始终解析为 github.com。对于 GHES 托管的市场,使用完整的 git URL,将 github.example.com 和存储库路径替换为您自己的。建议使用 HTTPS URL:
known_hosts 文件中的主机的 SSH 连接。带有 git 凭证助手的 HTTPS URL 避免了 known_hosts 要求。
有关构建市场的完整指南,请参阅 创建和分发插件市场。
使用托管设置预注册 GHES 市场
extraKnownMarketplaces 设置预注册市场,以便开发人员无需手动设置即可获得它。它可以从 任何设置文件 工作,包括存储库的 .claude/settings.json;托管设置在整个组织范围内提供它:
- 使用完整的 git URL。
owner/repo简写始终解析为 github.com,无法引用 GHES 主机。 - 优先使用 HTTPS URL。 SSH 克隆在不信任您的 GHES 主机密钥的机器上失败。带有您组织标准 git 凭证助手的 HTTPS URL 在任何配置了凭证的机器上都可以工作。
- 确认每台机器都可以从您的 GHES 主机克隆。 如果机器缺少凭证,市场会被注册但永远不会安装,其插件报告为未找到而不是提示输入凭证。
- 确认设置到达每台机器。 托管设置文件仅在部署到的机器上生效,例如通过您的设备管理系统。有关文件位置,请参阅 部署托管设置。
在托管设置中将 GHES 市场加入白名单
如果您的组织使用 托管设置 来限制开发人员可以添加哪些市场,请使用hostPattern 源类型来允许来自您的 GHES 实例的所有市场,而无需枚举每个存储库。有关每个平台上的文件位置,请参阅 部署机制。将 JSON 添加到您的 managed-settings.json 文件或等效的 MDM 策略:
限制
一些功能在 GHES 上的行为与 github.com 上不同。功能表 总结了支持;本部分涵盖了解决方法。/install-github-app命令:改为在 claude.ai 上遵循 管理员设置 流程。如果您还想在 GHES 上使用 GitHub Actions 工作流,请手动调整 示例工作流。- GitHub MCP server:改为使用为您的 GHES 主机配置的
ghCLI。运行gh auth login --hostname github.example.com进行身份验证,然后 Claude 可以在会话中使用gh命令。
故障排除
云会话无法克隆存储库
如果claude --cloud 因克隆错误而失败,请验证 Owner 已完成您的 GHES 实例的设置,并且 GitHub App 已安装在您正在处理的存储库上。与连接该实例的 Owner 确认在 Claude 设置中注册的主机名与您的 git 远程中的主机名匹配。
市场添加因策略错误而失败
如果/plugin marketplace add 因您的 GHES URL 而被阻止,您的组织已限制市场源。要求您的管理员在 托管设置 中为您的 GHES 主机名添加 hostPattern 条目。
claude.ai 上的市场添加因 GitHub 访问错误而失败
如果从您的用户设置添加 GHES 市场失败并出现通用错误(如”无法添加市场”),请先检查您的 GitHub Enterprise 连接。这是当您自己的 GitHub Enterprise 账户未连接到 Claude 时出现的情况,即使您的组织的 GHES 实例已配置且其他用户已连接。该对话框不会指向 GitHub Enterprise 连接流程,“浏览”选项卡上的”连接到 GitHub”选项会登录到 github.com,这不会授予对 GHES 存储库的访问权限。 要连接您的 GitHub Enterprise 账户:claude.ai/code 上的存储库选择器为每个已配置的 GHES 实例提供连接选项,Owner 也可以从 Claude Code 管理员设置 的 GitHub Enterprise 部分进行连接。然后再次添加市场。或者,要求 Owner 在组织插件设置中添加市场,这样可以消除每个用户的连接要求。 在其他 claude.ai 界面上,GHES 市场上的”找不到存储库。如果是私有的,需要 GitHub 访问”错误通常表示相同的缺失连接。通过上述路径之一连接您的 GitHub Enterprise 账户,然后重试。GHES 实例无法访问
如果审查或 Anthropic 托管的云会话超时,您的 GHES 实例可能无法从 Anthropic 基础设施访问。确认您的防火墙允许来自 Anthropic 的 出站 IP 地址 的入站连接。自托管环境 中的会话从您的网络内部访问 GHES,因此对于它们,请检查运行器自己的网络路径和 SCM 连接器 代替。会话启动失败,显示 Unable to get organization UUID
使用 /login 和您的组织账户登录。如果您改用 API 密钥进行身份验证,云会话会更早失败,并显示一条消息要求您运行 /login。