← Guide library

OAuth launch guide

GitHub

Let an agent work with a customer’s repositories

Researched draftChecked Oct 21, 2026Provider website ↗

At a glance

Moderate difficulty

Registration is direct, but OAuth repository scopes are broad and some organizations require owner approval.

Start hereList the exact repository actions, then compare OAuth app scopes with GitHub App permissions.
Hands-on effort
Not measured
External wait
Unknown — organization owner dependent
Main blocker
The repo scope may be broader than the product needs.

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

Available through ComposioOfficial source

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

01

A GitHub account or organization where you can register an appAlways

Developer
02

Homepage and exact callback URLBefore registration

Developer
03

Organization-owner cooperationWhen OAuth access restrictions are enabled

Customer admin

04

Permissions in plain language

No scope

Public information onlyUseful when the feature truly needs only public profile or repository data.

Lower accessSource ↗
repo

Broad public and private repository accessMay enable private-repository operations, but is often broader than one feature needs.

BroadSource ↗
public_repo

Public repositoriesNarrower audience than repo, while still allowing public-repository operations.

Broad for public reposSource ↗

05

Your setup path

1
Developer + agent

Choose the app model

Confirm OAuth app versus GitHub App before registering.

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 · GitHub
2
Developer

Register and configure

Create the client with the correct public identity and callback.

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 · GitHub
3
Developer

Test a connection

Prove only the intended API actions work.

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 · GitHub
4
Customer admin

Handle customer organizations

Resolve organization-specific restrictions.

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 · GitHub

06

Review and waiting

RequirementConditional customer approval
Decision ownerCustomer organization owner
Published / known waitUnknown

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

Agent

Can prepare

  • Map product actions to permission choices
  • Draft test and organization-approval checklists
You

Must complete

  • Choose the app model
  • Register the app and protect credentials
  • Run the consent and API test
Provider

Decides

  • GitHub enforces the permission model
  • Customer organization owners decide restricted access

09

Sources and limits

What we did not verify
  • No GitHub registration or consent screen was completed by this project.
  • The exact Composio managed scope set is not verified.