ChatGPT GitHub app: how to connect GitHub to ChatGPT
ChatGPT's GitHub app reads and searches your code but can't write. How to connect it, fix missing repos, and let ChatGPT handle issues and PRs, with limits.
Updated
Short answer
Open Settings › Plugins in ChatGPT and select GitHub. GitHub then asks you to install and authorize the ChatGPT app and pick the repos it can see. Repos take about five minutes to show up. The app reads, searches and cites your code, but it can't push code or open pull requests: OpenAI points you to Codex for that.
If you only want answers about your code, the GitHub app is the right choice. To have ChatGPT open issues, comment, or open and review pull requests from a chat, with a limit per action and a record of each one, add GitHub through Upsy as a custom MCP server. That takes about five minutes too.
The built-in way: ChatGPT's GitHub app
What it does
From OpenAI's GitHub help article:
- ChatGPT fetches code, READMEs and other docs from the repos you allow, when it needs them, by sending search queries to GitHub. There's no synced copy any more.
- It works in chat, deep research or agent mode, depending on your plan. Some accounts get GitHub in deep research or agent mode but not in standard chat.
- In Work, eligible users can start a task when a pull request is opened, marked ready for review or closed.
Two steps, not one
The GitHub app behind it is called ChatGPT Codex Connector, and connecting has two separate parts:
- Sign in: you authorize ChatGPT as your GitHub account.
- Install: you install the app on your account or an organization and choose its repos.
Signing in alone gives ChatGPT no private repos. To change repos later, open Settings › Plugins › GitHub; Disconnect is there too.
Where it stops
- Read-only. OpenAI says the app "only lets you read from your repositories". It can't create issues, comments, branches or pull requests.
- Codex for writing. OpenAI's answer for changing code is Codex, its coding agent, which uses the same GitHub app.
- Organization approval. If an organization restricts OAuth apps, an owner approves the ChatGPT app first.
GitHub also runs an official MCP server (a connector that lets an assistant use another app) with issue and pull request tools. But ChatGPT registers itself with a custom MCP server automatically, and GitHub's server doesn't support that. You'd need a GitHub OAuth App of your own, which GitHub doesn't document for ChatGPT.
Where Upsy fits
Upsy connects to GitHub's MCP server with its own GitHub OAuth App:
- Writes from chat: issues, comments, branches and pull requests.
- A limit per action: Read-only, or only the GitHub tools you pick.
- A History of every GitHub tool ChatGPT runs, and email alerts.
- One connection that Claude, Grok and Muse use too.
What you need
- ChatGPT on the web, to add Upsy at chatgpt.com/plugins.
- In a work workspace: an admin who allows custom MCP servers for your role (Create custom MCP servers).
- GitHub: any account. An organization that restricts OAuth apps, as new organizations do by default, has to approve Upsy for its private repos.
- Upsy: a free account.
Connect GitHub to ChatGPT
Sign up free at upsy.ai. Open Apps, click Connect an app and pick GitHub. Approve Upsy's app on GitHub's page, with the GitHub account you want. There's no install step per organization.
Under Assistants, click Add assistant and pick ChatGPT.
In ChatGPT on the web, open Plugins, click Add (+), then Create custom MCP server.
Name it Upsy and paste this address:
https://upsy.ai/connectSet authentication to OAuth and leave the client ID and secret empty. Select I understand and want to continue, then click Create as a plugin.
Click Connect if ChatGPT asks. On Upsy's page, sign in, choose GitHub's level for ChatGPT (Read-only if it should only read), and click Allow.
If ChatGPT shows Install plugin, install it.
Already added Upsy? Connect GitHub in Upsy and start a new chat. A newly connected app starts at Full access for every assistant, so lower it on ChatGPT's page in Upsy if you want. More in how to add a custom MCP server to ChatGPT.
Check that it works
In a new chat, type @, pick Upsy, and ask:
@Upsy Which GitHub account do you have, and what may you do with it?
ChatGPT should call Upsy's upsy_connectors tool and answer with your GitHub username and level, such as "GitHub: octocat (Read-only)". Then try a real call:
@Upsy List my open pull requests and the ones waiting for my review.
Each call shows up in Upsy's History under ChatGPT.
What ChatGPT can do with GitHub
Upsy passes on GitHub's default tool set: repos, issues, pull requests and users. It works on your repos, your organizations' and any public one.
| Task | Read-only | Full access |
|---|---|---|
| Search code, repos, issues, pull requests, commits and people | Yes | Yes |
| Read files, branches, tags, releases and commits | Yes | Yes |
| Read issues with comments, labels and sub-issues | Yes | Yes |
| Read a pull request's diff, files, reviews and check runs | Yes | Yes |
| Create or update issues, comment, label and assign | No | Yes |
| Create branches, change or delete files, push commits | No | Yes |
| Open, edit, review and merge pull requests | No | Yes |
| Create or fork a repo | No | Yes |
Delete a repo or change .github/workflows files |
No | No |
The last row is no at every level: Upsy's GitHub sign-in leaves out the delete_repo and workflow permissions. Actions run logs, notifications, gists and Projects aren't included.
Pick actions lets you choose single tools, such as reading plus issue_write and add_issue_comment, but no merging or pushing. Read-only allows only tools GitHub marks as read-only, and Upsy refuses any whose name says it changes something.
ChatGPT adds its own check. Upsy runs reads through app_read, marked read-only, and the rest through app_call, marked as a write, which ChatGPT asks you to confirm by default. Set your default under Settings › Plugins › Permissions (OpenAI's help).
Prompts to try
- "@Upsy Triage the issues opened this week in my-org/app: group them by area and suggest labels."
- "@Upsy Does pull request 88 in my-org/app cover everything issue 71 asks for?"
- "@Upsy Which of my pull requests have waited more than three days for a review?"
- "@Upsy Comment on issue 120 asking the reporter which browser they use."
- "@Upsy Create an issue in my-org/app from this bug report, labeled bug."
For a long report across a whole codebase, use deep research with ChatGPT's own GitHub app.
Troubleshooting: ChatGPT GitHub connector not working
GitHub works in deep research but not in chat
That's your plan or surface, not a fault. OpenAI says some plans get GitHub only in deep research or agent mode. Check your plan details.
Connected, but only public repos (or none) show up
The ChatGPT Codex Connector app isn't installed on your account or organization. GitHub's page may say "ChatGPT Codex Connector has not been installed on any accounts you have access to." In an August 2026 report, reconnecting didn't bring back the install picker. Users fixed it by opening https://github.com/apps/chatgpt-codex-connector/installations/new, choosing the account or organization and selecting repos.
A new repo doesn't show up
Repos generally take about five minutes to appear, and GitHub's own search index can take longer for a new repo. Check that the repo is selected in the app's repository settings on GitHub.
An organization's repo is missing
An admin may have to approve the ChatGPT app or that repo: request it through the approval flow GitHub shows. If the organization restricts OAuth apps, an owner approves it under Settings › Third-party Access › OAuth app policy (GitHub's steps).
Your organization uses an IP allow list
OpenAI's help article says to add OpenAI's egress IP ranges to the allow list, or GitHub blocks ChatGPT's requests.
"Disabled by admin"
In a Business, Enterprise or Edu workspace, an admin turns GitHub on in the Admin Console, under the workspace's Plugins.
Through Upsy: Create custom MCP server is missing
Your workspace admin hasn't allowed custom MCP servers for your role. Ask them to turn on Create custom MCP servers under Permissions & roles.
Through Upsy: an organization's private repos are missing
The organization hasn't approved Upsy's OAuth app. On GitHub, open Settings › Applications › Authorized OAuth Apps, click Upsy, then Request access next to the organization (GitHub's steps). With single sign-on, start an SSO session at https://github.com/orgs/ORG-NAME/sso, then reconnect GitHub in Upsy.
ChatGPT uses its own GitHub app instead of Upsy
Start the message with @Upsy, or pick Upsy from the + menu.
Security and privacy
- ChatGPT's app vs Upsy's. ChatGPT's app can be installed on chosen repos only. Upsy's GitHub sign-in reaches every repo your account can, with read and write access (
repo), and you limit it by action instead. GitHub can't make an OAuth app's code access read-only, so Upsy's levels do that. - Custom servers are elevated risk. OpenAI labels them that way and doesn't review them. Add only servers you trust.
- No tokens in ChatGPT. ChatGPT calls Upsy, and Upsy calls GitHub. GitHub tokens last 8 hours and renew on their own.
- History and alerts: every GitHub call is listed under ChatGPT, and Upsy emails you if one assistant reads 100 or more items in 10 minutes or deletes 50 or more.
- Turning it off: set GitHub to No access for ChatGPT, click Remove ChatGPT on its page, or disconnect GitHub in Apps, which revokes Upsy's token on GitHub.
FAQ
Does ChatGPT have a GitHub connector?
Yes. It's the GitHub app, under Settings › Plugins. It reads and searches the repos you allow, in chat, deep research or agent mode depending on your plan.
Can ChatGPT write to GitHub or create pull requests?
Not with its GitHub app, which only reads. OpenAI points to Codex for code changes. Through Upsy, ChatGPT can create issues, comment and open pull requests, at the level you allow.
Why can't ChatGPT see my private repos?
Usually the ChatGPT Codex Connector app isn't installed on that account or organization, or an admin hasn't approved it. Install it on GitHub and select the repos.
Which plans include ChatGPT's GitHub app?
OpenAI doesn't publish a list. It says availability depends on plan, workspace and surface, and that some accounts only get GitHub in deep research or agent mode.
Does ChatGPT train on my code?
Not by default for Business, Enterprise and Edu. On a personal account, it follows your Improve the model for everyone setting.
Can I use the same GitHub connection in Claude?
Yes. Add Upsy to Claude too, and set GitHub's level for each assistant. See the Claude GitHub guide and the ChatGPT connectors hub.
Related guides
- Claude GitHub connector: how to connect GitHub to ClaudeClaude's GitHub integration reads code from the repos you pick. How to set it up, why org repos go missing, and how to let Claude work on issues and PRs.
- How to connect multiple Gmail accounts to ChatGPTChatGPT now connects more than one Gmail account. How to add a second inbox, and how to give each one its own access in ChatGPT and your other assistants.
- How to connect a personal Outlook account to ChatGPTChatGPT's Outlook connector only takes work and school accounts. How to let ChatGPT read and send from a personal Outlook.com or Hotmail account.
- How to share memory between ChatGPT, Claude and GrokStop repeating yourself. Move your memory from ChatGPT to Claude, or keep one memory that ChatGPT, Claude, Grok and Muse all read and you control.
- Is it safe to connect Gmail to ChatGPT?What ChatGPT can see and do once Gmail is connected, the real risks, and how to give it read-only access, review what it did and turn it off fast.
- How to add a custom MCP server to ChatGPTThe current steps to add a remote MCP server to ChatGPT as a custom plugin, sign in with OAuth, and fix tools that don't show up.