GitHub
The Cursor GitHub app connects your repositories so you can use features like Cloud Agents and Bugbot.
Setup
Requires Cursor admin access and GitHub org admin access.
- Go to Integrations in the dashboard
- Click Connect next to GitHub (or Manage Connections if already connected)
- Choose All repositories or Selected repositories
- Return to the dashboard to configure features on your repositories
To disconnect your GitHub account, return to the integrations dashboard and click Disconnect Account.
The first time a Cursor account connects GitHub, Connect signs in with GitHub to link your GitHub account without installing the app. You can connect a second Cursor account to a GitHub account that already has the Cursor app installed: that first Connect doesn't move or change the existing installation.
Each GitHub App installation belongs to one Cursor account or team. If another Cursor account or team already owns an installation, connecting it from yours fails with "GitHub installation is already connected to another Cursor target." and the installation stays with its owner. One exception: when a team admin connects an organization installation that a member of the same team connected personally, Cursor moves that installation to the team. GitHub Enterprise Server installations don't show this error.
Share an installation with another team
A team in an Organization can share its GitHub installation with other teams in the same Organization. Those teams use the installation's repositories with Cloud Agents, automations, and Bugbot without installing the GitHub app again. Sharing works for GitHub.com and GitHub Enterprise Server installations.
Open the share dialog
As an admin of the team that owns the installation, go to Integrations in the dashboard and select Share with another team on the GitHub or GitHub Enterprise row.
Grant access
In Share GitHub installation, choose the GitHub account and the Team, then click Grant access.
The receiving team can use every repository on the installation, and its usage is billed to that team. Its GitHub row on the Integrations page names the team that owns the installation.
Only one of the teams sharing an installation can turn on Bugbot for a given repository. If another team already has Bugbot on for it, an admin of that team has to turn it off first.
To remove access, open Share with another team again and select Revoke next to the team under Already shared with. Revoking also deletes that team's Bugbot settings for the installation's repositories.
IP allow list configuration
If your organization uses GitHub's IP allow list feature to restrict access to your repositories, Cursor can be configured to use a hosted egress proxy with a narrow set of IPs.
Cloud Agents send git traffic through the egress proxy only after Cursor enables it for your team, whichever allowlist option you choose below. Contact support with your team ID to enable it. The proxy is available for teams, not individual accounts. Other GitHub calls from the agent's VM, such as gh or GitHub API requests, don't use the proxy. If your agents make those calls, also allowlist the Cloud Agent egress ranges.
Enable IP allow list configuration for installed GitHub Apps (recommended)
The Cursor GitHub app has the IP list already pre-configured. You can enable the allowlist for installed apps to automatically inherit this list. This is the recommended approach, as it allows us to update the list and your organization receives updates automatically.
This inherits the IP list registered on the Cursor GitHub App. It does not allow every client that happens to use those addresses.
To enable this:
- Go to your organization's Security settings
- Navigate to IP allow list settings
- Check "Enable IP allow list configuration for installed GitHub Apps"
For detailed instructions, see GitHub's documentation.
Add IPs directly to your allowlist
If your organization uses IdP-defined allowlists in GitHub or otherwise cannot use the pre-configured allowlist, add the proxy IPs listed in Git egress proxy and IP allow list.
Advanced networking
Self-hosted instances support multiple connection methods beyond IP whitelisting. For setup details and supported private networking options, see Private Connectivity.
Available for Enterprise customers. Use AWS PrivateLink when your GitHub Enterprise Server is in AWS or can sit behind an AWS Network Load Balancer. PrivateLink can cover Cursor accessing GHES and, when needed, GHES sending webhooks back to Cursor without public internet egress.
Best for: AWS-hosted GHES instances and teams that want private VPC endpoint connectivity
Security: HTTPS encryption, AWS PrivateLink, VPC endpoint policies, service account access tokens
Drawbacks: Requires coordination with Cursor and AWS endpoint service setup.
Available for Enterprise customers. Use Cloudflare Tunnel when AWS PrivateLink is not practical or when you need an outbound-only deployment model. Your network runs cloudflared, and Cursor provides the tunnel hostname and token.
Best for: Environments without inbound network access
Security: HTTPS encryption, Cloudflare Tunnel, service account access tokens
Drawbacks: Requires running and maintaining cloudflared in your environment.
Permissions
The GitHub app requests the following permissions to support Cursor features:
| Permission | Purpose |
|---|---|
| Repository access | Clone your code and create working branches |
| Pull requests | Create PRs and leave review comments |
| Issues | Track bugs and tasks discovered during reviews |
| Checks and statuses | Report on code quality and test results |
| Actions and workflows | Monitor CI/CD pipelines and trigger CI re-runs from pull requests |
| Administration | Read branch protection and required check rules to determine PR mergeability |
| Custom repository roles | Determine user access levels so the correct merge and review options appear |
| Organization custom properties | Surface organization-defined repository metadata in filtering |
All permissions follow the principle of least privilege.
Protected Git Scopes
Lock your GitHub organization to your Cursor organization so only your teams can use its repositories with Cloud Agents, automations, and Bugbot. Protecting a scope requires GitHub organization owner or admin access. See Protected Git Scopes.
Troubleshooting
- Install the GitHub app with repository access
- Check repository permissions for private repos
- Verify your GitHub account permissions
- Grant the app write access to pull requests
- Check branch protection rules
- Reinstall if the app installation expired
- Check if installed at organization level
- Reinstall from github.com/apps/cursor
- Contact support if installation is corrupted
Next steps
Once your GitHub integration is connected, configure the features that use it:
- Bugbot — automated PR reviews that catch bugs and security issues
- Cloud Agents — AI agents that run in the cloud on your repositories