# 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 2026-10-17 · https://upsy.ai/guides/chatgpt/github

## 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](https://help.openai.com/en/articles/11145903-connecting-github-to-chatgpt):

- 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:

1. **Sign in:** you authorize ChatGPT as your GitHub account.
2. **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](https://github.com/github/github-mcp-server/blob/main/docs/host-integration.md). 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](https://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](https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions), has to approve Upsy for its private repos.
- **Upsy:** a free account.

## Connect GitHub to ChatGPT

1. Sign up free at [upsy.ai](https://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.
2. Under **Assistants**, click **Add assistant** and pick **ChatGPT**.
3. In ChatGPT on the web, open **Plugins**, click **Add** (+), then **Create custom MCP server**.
4. Name it Upsy and paste this address:

   ```
   https://upsy.ai/connect
   ```

5. Set authentication to **OAuth** and leave the client ID and secret empty. Select **I understand and want to continue**, then click **Create as a plugin**.
6. 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**.
7. 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](/guides/chatgpt/custom-connector).

## 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](https://help.openai.com/en/articles/20001495-managing-app-permissions-in-chatgpt)).

## 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](https://github.com/openai/codex/issues/36473), 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](https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization)).

### 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](https://docs.github.com/en/account-and-profile/how-tos/organization-membership/requesting-organization-approval-for-oauth-apps)). 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](https://docs.github.com/en/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps), 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](/guides/claude/github) and the [ChatGPT connectors hub](/guides/chatgpt).

---

Upsy connects personal AI assistants (Muse, Grok, ChatGPT, Claude, Cursor, Claude Code, Codex, Devin) to your Gmail, Google Calendar, Google Drive, Slack, Notion and other apps through one MCP server, with a shared memory, files and a cloud browser signed in to your sites. You choose what each assistant may do in each app, see everything it did, and turn it off in one click. Upsy is free. To add Upsy to an assistant, add a remote MCP server (Streamable HTTP) named Upsy at https://upsy.ai/connect. It signs in with OAuth; there is no API key.
