Appearance
Claude Code + GitHub Enterprise Server
GitHub Enterprise Server(GHES)支持让组织在自托管 GitHub 实例上使用 Claude Code,无需每个仓库单独配置。管理员在 claude.ai 中完成一次 GitHub App 安装,开发者即可通过 claude --remote 使用 Web 会话、代码审查、Teleport 和插件市场。GHES 插件市场需要使用完整 git URL 而非 owner/repo 简写。GitHub MCP server 不支持 GHES,可用 gh CLI 替代。
GitHub Enterprise Server(GHES)支持让组织在自托管 GitHub 实例(而非 github.com)上使用 Claude Code。管理员连接好 GHES 实例后,开发者可以在不做任何仓库级配置的情况下运行 Web 会话、获取自动化代码审查,以及从内部插件市场安装插件。
功能支持情况
| 功能 | GHES 支持 | 备注 |
|---|---|---|
| Claude Code on the web | ✅ 支持 | 管理员连接一次实例;开发者像往常一样用 claude --remote 或 claude.ai/code |
| 代码审查 | ✅ 支持 | 与 github.com 相同的自动 PR 审查 |
| Teleport 会话 | ✅ 支持 | 用 --teleport 在 Web 和终端之间移动会话 |
| 插件市场 | ✅ 支持 | 使用完整 git URL 替代 owner/repo 简写 |
| 贡献统计 | ✅ 支持 | 通过 webhook 发送到分析仪表板 |
| GitHub Actions | ✅ 支持 | 需要手动配置工作流;/install-github-app 仅适用于 github.com |
| GitHub MCP server | ❌ 不支持 | 不适用于 GHES 实例 |
管理员配置
管理员连接 GHES 实例一次,组织内所有开发者即可使用,无需额外配置。需要 Claude 组织的管理员权限,以及在 GHES 实例上创建 GitHub App 的权限。
向导式配置流程会生成 GitHub App manifest,一键跳转到 GHES 实例创建应用。如果环境阻断了跳转流程,可以使用手动配置。
配置步骤:
- 在 claude.ai 导航到 Settings > Claude Code > GitHub Enterprise Server
- 输入 GHES 实例的 hostname
- 点击 Connect,按向导完成 GitHub App 安装
GitHub App 权限
manifest 为 GitHub App 配置以下权限和 webhook 事件,涵盖 Web 会话、代码审查和贡献统计所需的全部能力:
| 权限 | 访问级别 | 用途 |
|---|---|---|
| Contents | 读写 | 克隆仓库和推送分支 |
| Pull requests | 读写 | 创建 PR 和发布审查评论 |
| Issues | 读写 | 响应 issue 提及 |
| Checks | 读写 | 发布代码审查检查运行结果 |
| Actions | 读 | 读取 CI 状态用于自动修复 |
| Repository hooks | 读写 | 接收 webhook 用于贡献统计 |
| Metadata | 读 | GitHub 对所有 App 的必要权限 |
订阅事件:pull_request、issue_comment、pull_request_review_comment、pull_request_review、check_run。
手动配置
如果网络配置阻断了向导跳转流程,点击 Add manually 替代 Connect。在 GHES 实例上手动创建 GitHub App(使用上述权限和事件),然后在表单中填写 App 凭证:hostname、OAuth client ID 和 secret、GitHub App ID、client ID、client secret、webhook secret、private key。
网络要求
GHES 实例必须从 Anthropic 基础设施可达,才能克隆仓库和发布审查评论。如果 GHES 实例在防火墙后面,需要将 Anthropic API IP 地址加入允许列表。
开发者工作流
管理员连接好 GHES 实例后,开发者无需任何额外配置。Claude Code 从工作目录的 git remote 自动检测 GHES hostname。
正常克隆 GHES 上的仓库:
bash
git clone git@github.example.com:platform/api-service.git
cd api-service启动 Web 会话:
bash
claude --remote "Add retry logic to the payment webhook handler"Claude 从 git remote 检测 GHES 主机,通过组织配置的实例路由会话。会话在 Anthropic 基础设施上运行,从 GHES 克隆仓库,将变更推回分支。用 /tasks 或在 claude.ai/code 查看进度。
完整的远程会话工作流(diff 审阅、自动修复、Routines 等)参见 Claude Code on the web。
Teleport 会话到本地终端
用 claude --teleport 将 Web 会话拉取到本地终端。Teleport 会验证你是否在同一 GHES 仓库的检出目录中,然后获取分支并加载会话历史。详见 Teleport 要求。
GHES 插件市场
在 GHES 实例上托管插件市场,向组织分发内部工具。市场结构与 github.com 托管的市场完全相同,区别只在于引用方式。
owner/repo 简写始终解析为 github.com。GHES 托管的市场需要使用完整 git URL:
bash
/plugin marketplace add git@github.example.com:platform/claude-plugins.git
# 或 HTTPS URL
/plugin marketplace add https://github.example.com/platform/claude-plugins.git在托管设置中允许 GHES 市场
如果组织使用托管设置限制开发者可添加的市场,用 hostPattern 来源类型允许来自 GHES 实例的所有市场,无需逐个枚举仓库:
json
{
"strictKnownMarketplaces": [
{
"source": "hostPattern",
"hostPattern": "^github\\.example\\.com$"
}
]
}也可以预注册市场,使开发者无需手动添加即可使用:
json
{
"extraKnownMarketplaces": {
"internal-tools": {
"source": {
"source": "git",
"url": "git@github.example.com:platform/claude-plugins.git"
}
}
}
}已知限制
/install-github-app命令:在 GHES 上不可用。改用 claude.ai 上的管理员配置流程。如需 GHES 上的 GitHub Actions 工作流,手动参照示例工作流适配- GitHub MCP server:不支持 GHES 实例。使用配置了 GHES 主机的
ghCLI 替代:gh auth login --hostname github.example.com,然后在会话中使用gh命令
故障排查
Web 会话克隆仓库失败:验证管理员是否完成了 GHES 实例的配置,以及 GitHub App 是否已安装在目标仓库上。确认 Claude 设置中注册的实例 hostname 与 git remote 中的 hostname 一致。
添加插件市场时被策略阻止:组织限制了可添加的市场来源。联系管理员在托管设置中添加 GHES hostname 的 hostPattern 条目。
GHES 实例不可达:审查或 Web 会话超时,说明 GHES 实例从 Anthropic 基础设施不可达。确认防火墙允许来自 Anthropic API IP 地址的入站连接。
相关文档
- Claude Code on the web:远程会话的完整工作流
- 代码审查:自动 PR 审查
- 插件市场:构建和分发插件目录
- 托管设置:组织级策略配置
- 网络配置:防火墙和 IP 允许列表要求
常见问题
Q: 已经使用 github.com + Claude Code 的开发者,切换到 GHES 需要做什么?
A: 开发者无需任何操作。只要管理员完成了 GHES 实例配置,Claude Code 会自动从 git remote 检测到 GHES 主机并正确路由。克隆 GHES 上的仓库后直接 claude --remote 即可。
Q: GHES 实例的 GitHub MCP server 不可用,有什么替代方案?
A: 用 gh CLI 配置 GHES 主机(gh auth login --hostname your.ghes.host)。Claude Code 可以在会话中运行 gh 命令来完成大多数 GitHub 操作,如创建 PR、查看 issue 等。
Q: 管理员配置需要重复做吗?还是一次配置永久有效?
A: 管理员只需配置一次,之后组织内所有开发者都可以使用,无需重复配置。后续如需修改权限或更换 App 凭证时才需要重新配置。