01
Scenario this guide covers
AudienceExternal users, including organization-owned repositories
Registration pathCustom OAuth app; compare with a GitHub App first
- The agent needs authenticated repository access
- Customer organizations may restrict third-party OAuth apps
02
Choose managed or custom
Composio lists GitHub as a managed OAuth example. Exact managed scopes were not verified in this research pass.
Choose custom when: Use your own registration when you need your own app identity or configuration, after checking whether a GitHub App is the safer fit.
03
Before you start
A GitHub account or organization where you can register an appAlways
DeveloperHomepage and exact callback URLBefore registration
DeveloperOrganization-owner cooperationWhen OAuth access restrictions are enabled
Customer admin04
Permissions in plain language
No scopePublic information onlyUseful when the feature truly needs only public profile or repository data.
Lower accessSource ↗repoBroad public and private repository accessMay enable private-repository operations, but is often broader than one feature needs.
BroadSource ↗public_repoPublic repositoriesNarrower audience than repo, while still allowing public-repository operations.
Broad for public reposSource ↗05
Your setup path
Choose the app model
Map each intended API operation to the narrowest available permission model.
Expected result: A documented app-model and permission decision.Open official page ↗Official source · GitHubRegister and configure
Open Developer settings, create the OAuth app, and enter its homepage and callback URL.
Expected result: A client ID and app registration; keep its secret outside this guide.Open official page ↗Official source · GitHubTest a connection
Authorize a test account and exercise the smallest representative repository action set.
Expected result: A recorded consent and API test. This project has not observed it yet.Official source · GitHubHandle customer organizations
Ask an organization owner to approve access when their OAuth policy blocks the app.
Expected result: Access for that organization, if the owner approves it.Open official page ↗Official source · GitHub06
Review and waiting
A customer organization has OAuth app access restrictions enabled.
Prepare this evidence
- App identity
- Requested repository access
- Business justification
07
When you get blocked
The app works for a personal repo but not an organization repo.+
Likely cause: The organization may restrict OAuth app access.
Recovery: Ask an organization owner to review and approve the app.
Official help ↗The requested access looks much broader than the feature.+
Likely cause: OAuth app repository scopes are coarse.
Recovery: Reassess the app as a GitHub App with granular permissions.
Official help ↗08
Who does what
Can prepare
- Map product actions to permission choices
- Draft test and organization-approval checklists
Must complete
- Choose the app model
- Register the app and protect credentials
- Run the consent and API test
Decides
- GitHub enforces the permission model
- Customer organization owners decide restricted access
09
Sources and limits
Creating an OAuth appGitHub · checked 2026-10-21
↗02Scopes for OAuth appsGitHub · checked 2026-10-21
↗03Approving OAuth apps for an organizationGitHub · checked 2026-10-21
↗- No GitHub registration or consent screen was completed by this project.
- The exact Composio managed scope set is not verified.