HTTP/2 301
server: GitHub.com
content-type: text/html
location: https://docs.github.com/apps/building-oauth-apps/creating-an-oauth-app/
x-github-request-id: A10A:2EAA9D:15764:18D7A:68EFC6DA
accept-ranges: bytes
age: 0
date: Wed, 15 Oct 2025 16:07:54 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210035-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1760544474.145434,VS0,VE278
vary: Accept-Encoding
x-fastly-request-id: 0713a61543b810a24aeee74489538e1c16c54637
content-length: 162
HTTP/2 301
access-control-allow-origin: *
content-security-policy: default-src 'none';prefetch-src 'self';connect-src 'self';font-src 'self' data:;img-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com data: placehold.it;object-src 'self';script-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' data: 'unsafe-inline';script-src-attr 'self';frame-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com https://support.github.com https://www.youtube-nocookie.com;frame-ancestors 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com;style-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' 'unsafe-inline' data:;child-src 'self';manifest-src 'self';upgrade-insecure-requests;base-uri 'self';form-action 'self'
cross-origin-opener-policy: same-origin
cross-origin-resource-policy: same-origin
origin-agent-cluster: ?1
referrer-policy: no-referrer-when-downgrade
x-content-type-options: nosniff
x-dns-prefetch-control: off
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-xss-protection: 0
cache-control: public, max-age=60
location: /apps/building-oauth-apps/creating-an-oauth-app
content-type: text/plain; charset=utf-8
x-github-backend: Kubernetes
x-github-request-id: AA5D:CE32B:5F6D9A:6C8FBA:68EFC6DA
accept-ranges: bytes
age: 0
date: Wed, 15 Oct 2025 16:07:55 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210032-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1760544474.486683,VS0,VE1293
vary: Accept
strict-transport-security: max-age=31557600
content-length: 81
HTTP/2 302
access-control-allow-origin: *
content-security-policy: default-src 'none';prefetch-src 'self';connect-src 'self';font-src 'self' data:;img-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com data: placehold.it;object-src 'self';script-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' data: 'unsafe-inline';script-src-attr 'self';frame-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com https://support.github.com https://www.youtube-nocookie.com;frame-ancestors 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com;style-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' 'unsafe-inline' data:;child-src 'self';manifest-src 'self';upgrade-insecure-requests;base-uri 'self';form-action 'self'
cross-origin-opener-policy: same-origin
cross-origin-resource-policy: same-origin
origin-agent-cluster: ?1
referrer-policy: no-referrer-when-downgrade
x-content-type-options: nosniff
x-dns-prefetch-control: off
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-xss-protection: 0
cache-control: public, max-age=60
location: /en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app
content-type: text/plain; charset=utf-8
x-github-backend: Kubernetes
x-github-request-id: 1600:1B827C:64305C:713E39:68EFC6D9
accept-ranges: bytes
age: 0
date: Wed, 15 Oct 2025 16:07:56 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210032-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1760544476.793243,VS0,VE332
vary: accept-language, x-user-language, Accept
strict-transport-security: max-age=31557600
content-length: 83
HTTP/2 200
access-control-allow-origin: *
content-security-policy: default-src 'none';prefetch-src 'self';connect-src 'self';font-src 'self' data:;img-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com data: placehold.it;object-src 'self';script-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' data: 'unsafe-inline';script-src-attr 'self';frame-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com https://support.github.com https://www.youtube-nocookie.com;frame-ancestors 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com;style-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' 'unsafe-inline' data:;child-src 'self';manifest-src 'self';upgrade-insecure-requests;base-uri 'self';form-action 'self'
cross-origin-opener-policy: same-origin
cross-origin-resource-policy: same-origin
origin-agent-cluster: ?1
referrer-policy: no-referrer-when-downgrade
x-content-type-options: nosniff
x-dns-prefetch-control: off
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-xss-protection: 0
cache-control: public, max-age=60
x-powered-by: Next.js
content-type: text/html; charset=utf-8
x-github-backend: Kubernetes
x-github-request-id: D34E:3E282D:62927A:6FAF28:68EFC6DC
content-encoding: gzip
accept-ranges: bytes
age: 1
date: Wed, 15 Oct 2025 16:07:58 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210032-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1760544476.138733,VS0,VE2289
vary: Accept-Encoding
strict-transport-security: max-age=31557600
content-length: 25614
Creating an OAuth app - GitHub Docs Skip to main content You can create and register an OAuth app under your personal account or under any organization you have administrative access to. While creating your OAuth app, remember to protect your privacy by only using information you consider public.
Note
Consider building a GitHub App instead of an OAuth app.
Both OAuth apps and GitHub Apps use OAuth 2.0.
OAuth apps can only act on behalf of a user while GitHub Apps can either act on behalf of a user or independently of a user.
GitHub Apps use fine-grained permissions, give the user more control over which repositories the app can access, and use short-lived tokens.
For more information, see Differences between GitHub Apps and OAuth apps and About creating GitHub Apps .
Note
A user or organization can own up to 100 OAuth apps.
In the upper-right corner of any page on GitHub, click your profile picture, then click Settings .
In the left sidebar, click Developer settings .
In the left sidebar, click OAuth apps .
Click New OAuth App .
Note
If you haven't created an app before, this button will say, Register a new application .
In "Application name", type the name of your app.
Warning
Only use information in your OAuth app that you consider public. Avoid using sensitive data, such as internal URLs, when creating an OAuth app.
In "Homepage URL", type the full URL to your app's website.
Optionally, in "Application description", type a description of your app that users will see.
In "Authorization callback URL", type the callback URL of your app.
Note
OAuth apps cannot have multiple callback URLs, unlike GitHub Apps.
If your OAuth app will use the device flow to identify and authorize users, click Enable Device Flow . For more information about the device flow, see Authorizing OAuth apps .
Click Register application .
Help and support Ask Copilot your question. Ask Copilot