Connect your instance to GitHub so users can authenticate with their GitHub account and access private repositories from workspaces.
Setup methods
There are two ways to configure GitHub integration:
Easy mode — GitHub App Manifest (recommended)
This creates a GitHub App automatically with the correct permissions.
- Go to your instance Settings
- Under External Authentication, click Connect with GitHub
- Choose your GitHub instance:
- github.com for standard GitHub
- GitHub Enterprise — enter your enterprise URL
- You’ll be redirected to GitHub to authorize the app creation
- Approve the app and you’re redirected back
The integration is configured automatically.
Advanced mode — manual configuration
If you prefer to configure an existing GitHub OAuth App:
- Go to your instance Settings
- Under External Authentication, switch to Advanced
- Copy the Callback URL shown — you’ll need this in GitHub
- In GitHub, create an OAuth App and set the callback URL
- Back in Codespace, enter:
- Client ID from your GitHub OAuth App
- Client Secret from your GitHub OAuth App
- Click Save
After connecting
Once connected, the settings page shows:
- The GitHub provider URL
- A masked Client ID (first 12 characters)
- A Disconnect button to remove the integration
After changing GitHub settings, you must Reconcile the configuration from the Advanced Settings section for changes to take effect on your Coder instance.
GitHub Enterprise
GitHub Enterprise is supported in both setup modes:
- Easy mode — select “GitHub Enterprise” and enter your enterprise URL
- Advanced mode — create an OAuth App on your enterprise server and configure manually
Disconnecting
To remove the GitHub integration:
- Go to instance Settings → External Authentication
- Click Disconnect
- Trigger a Reconcile from Advanced Settings
Users will no longer be able to sign in via GitHub or access private repositories.