Claude GitHub connector: how to connect GitHub to Claude

Claude'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.

Updated

Short answer

Claude has a built-in GitHub integration on every plan, including Free. Connect it under Customize › Connectors › GitHub Integration, then click + › Add from GitHub in a chat, or add files to a project. It reads file names and contents only: no issues, pull requests or commits, and no changes. If you want Claude to read and explain your code, that's all you need.

To have Claude search issues, review pull requests, comment or open them, connect GitHub to Upsy and add Upsy to Claude as a custom connector. Upsy talks to GitHub's official MCP server, and you choose which GitHub actions Claude may take. It takes about five minutes.

The built-in way

The GitHub integration

From Anthropic's GitHub integration docs:

  • In a chat: once GitHub is connected, click +, then Add from GitHub. Search your repos or paste a repo URL, and click Add repository.
  • In a project: add files and folders from a repo to the project knowledge. Sync now pulls the latest changes.
  • Private repos: Claude first shows "Claude cannot access that resource", with a link to the Claude GitHub App. Give it all your repos or only some. For an organization you don't run, request access, and its admins get an email.
  • What it reads: file names, file contents and branch content. Not commit history, pull requests, issues or repo metadata.

On Team and Enterprise, it only shows up if GitHub is turned on under Organization settings › Connectors. For editing code and opening pull requests, Anthropic points to Claude Code, the right tool for real code changes since it runs your tests.

GitHub's own MCP server

GitHub runs an official remote MCP server (a connector that lets an assistant use another app) at https://api.githubcopilot.com/mcp/, covering repos, issues and pull requests (GitHub's docs).

You can't easily add it to claude.ai. GitHub's Claude install guide says a custom connector isn't supported: GitHub's sign-in needs a registered GitHub App or OAuth App, and no dynamic client registration means Claude can't register itself. In Claude Code, GitHub's guide adds it with a personal access token. See Claude Code MCP servers.

Where Upsy fits

  • Issues and pull requests in chat: search, read, create and comment on issues; read diffs, reviews and check runs; open, review and merge pull requests.
  • Access per action: Read-only, or only the GitHub tools you pick, with a history of every one Claude runs.
  • No app to register: Upsy signs in to GitHub's MCP server with its own GitHub OAuth App.
  • One setup: Claude, ChatGPT, Grok and Muse share the same GitHub connection, each at its own level.

What you need

  • Claude: any plan. Free allows one custom connector, and Upsy counts as one however many apps it holds.
  • Team or Enterprise: an Owner adds Upsy first under Organization settings › Connectors (Add › Custom › Web). Then you click Connect.
  • GitHub: any account. If an organization restricts OAuth apps, an owner approves Upsy before it can reach that organization's private repos. GitHub turns this on by default for new organizations.
  • Upsy: a free account.

Connect GitHub to Claude

  1. Sign up at upsy.ai with Set up Upsy.

  2. In Upsy, open Apps, click Connect an app and pick GitHub. GitHub asks you to authorize Upsy's app. Check it's the right GitHub account and approve. There's no token to copy.

  3. Under Assistants, click Add assistant and pick Claude. Copy the address:

    https://upsy.ai/connect
    
  4. In Claude, open Customize › Connectors, click Add, hover over Custom and choose Web (some accounts still show an Add custom connector button). Name it Upsy, paste the address and click Continue twice, keeping the detected sign-in settings. Then click Add.

  5. Click Connect next to Upsy. Sign in on the Upsy page that opens and choose what Claude can use. Set GitHub to Read-only here if Claude should only read.

  6. In a chat, check that Upsy is on under + › Connectors.

Already have Upsy in Claude? Connect GitHub in Upsy and start a new chat. A newly connected app starts at Full access for every assistant you've added, so lower GitHub's level on Claude's page if you want. More in how to add a custom connector to Claude.

Check that it works

Using Upsy, list the open pull requests in my-org/my-repo and tell me which have failing checks.

Claude should list the pull requests and read each one's check runs. Upsy's History shows tools such as github_list_pull_requests and github_pull_request_read under Claude.

Upsy runs reading tools through app_read and everything else through app_call. In Upsy's Tool permissions under Customize › Connectors, set app_read to Always allow and leave app_call on Needs approval: Claude then reads freely and asks before every change.

What Claude 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' repos and any public repo.

With Read-only, Claude can:

  • Search code, repos, issues, pull requests, commits and users.
  • Open any file or folder, on any branch, tag or commit.
  • List branches, tags, releases, commits and collaborators.
  • Read an issue with its comments, labels, parent and sub-issues.
  • Read a pull request: diff, changed files, commits, reviews, review comments and check runs.

With Full access, it can also:

  • Create and update issues, comment, and set labels and assignees.
  • Create branches, create, change or delete files, and push several files in one commit.
  • Open, edit, review and merge pull requests, and update a pull request's branch.
  • Create and fork repos.

With Pick actions, you choose tools one by one: for example, read everything, open issues and comment, but never merge or push.

Some limits are on purpose. Upsy's GitHub sign-in leaves out GitHub's delete_repo and workflow permissions, so Claude can't delete a repo or change files in .github/workflows, even at Full access. Actions run logs, notifications, gists and Projects aren't included.

Read-only allows only tools GitHub marks as read-only. Upsy also refuses any tool whose name says it changes something (create, update, merge, delete…).

Prompts to try

  • "Find where we verify webhook signatures in my-org/api and explain how it works."
  • "Summarize the review comments on pull request 412 in my-org/web and list what's still open."
  • "Which of my open pull requests have failing checks, and why?"
  • "Open an issue in my-org/api for the bug we just found, with steps to reproduce."
  • "Fix the typo in README.md on a new branch and open a pull request."

Troubleshooting: Claude GitHub connector not working

Add from GitHub doesn't appear in a chat

It only shows once GitHub is connected. Go to Customize › Connectors, select GitHub Integration under Your connectors and click Connect. On Team and Enterprise, if it isn't listed, ask your organization's admin to turn GitHub on.

"Claude cannot access that resource"

The repo is probably private and the Claude GitHub App can't reach it yet. Follow the link in the message, give the app that repo or request access, then pick the repo again.

An organization's private repos are missing

The organization probably requires single sign-on, and Anthropic's help article says each person must authorize the Claude app for it. Go to github.com/settings/applications, open the Claude entry, and click Grant next to the organization under Organization access. If it says Request, an organization admin has to approve. Reconnecting in Claude won't fix this.

Connecting GitHub's MCP server fails at sign-in

GitHub doesn't let Claude register itself. In July 2026, a Claude Desktop user got an error saying Claude couldn't register with GitHub's sign-in service (issue). Use the built-in integration, Claude Code with a token, or Upsy.

In Cowork, GitHub says Connected but has no tools

Reported since May 2026 on Windows and macOS, while other connectors work (issue). It's still open, and reconnecting didn't help.

Through Upsy: an organization's private repos are missing

The organization restricts OAuth apps and hasn't approved Upsy, so GitHub only lets Upsy see its public resources. In GitHub, open Settings › Applications › Authorized OAuth Apps, click Upsy, click Request access next to the organization, then Request approval from owners (GitHub's steps). An owner approves it under Third-party Access › OAuth app policy.

With single sign-on, you need an active SSO session when you authorize (GitHub's docs). Open https://github.com/orgs/ORG-NAME/sso, then disconnect GitHub in Upsy's Apps and connect it again.

"GitHub access was revoked"

GitHub refused to renew Upsy's access: you revoked Upsy on GitHub, or it went unused for about six months. Reconnect GitHub on Upsy's Apps page.

"The user hasn't allowed you to use GitHub's …"

Upsy refused a tool Claude's level doesn't include, such as merge_pull_request on Read-only. Change GitHub's level on Claude's page in Upsy if Claude should do it.

Security and privacy

  • What Upsy's GitHub app asks for: repo, read:org, read:user, user:email, notifications, gist and project. repo means read and write access to every repo your account can reach, public and private.
  • Why the token isn't read-only: GitHub can't limit an OAuth app's source code access to read-only. Upsy's levels are what keep Claude to reading. The Claude GitHub App can be limited to chosen repos; Upsy's can't.
  • Tokens stay with Upsy. Claude calls Upsy, and Upsy calls GitHub. Tokens last 8 hours and renew on their own.
  • History: every GitHub tool Claude runs, with its search query or the title of what it created.
  • Alerts: an email when one assistant reads 100 or more items in 10 minutes or deletes 50 or more, and when a new assistant or app is connected.
  • Turning it off: set GitHub to No access for Claude, click Remove Claude on its page, or disconnect GitHub in Apps, which revokes Upsy's token on GitHub.

FAQ

Does Claude have a GitHub connector?

Yes. The GitHub integration is built in on every plan, including Free. It reads files from the repos you add, and nothing else.

Can Claude read private GitHub repositories?

Yes. Give the Claude GitHub App access to those repos. For an organization you don't run, request access and an admin approves it.

Can Claude create issues or pull requests on GitHub?

Not with the built-in integration. Claude Code can open pull requests. In a claude.ai chat, Claude can through Upsy, at Full access or with those tools picked.

Is there a GitHub MCP server for Claude?

Yes, GitHub's official one. Claude Code can use it with a personal access token. On claude.ai, Upsy connects to it for you.

Can I keep Claude read-only on GitHub?

Yes. The built-in integration only reads. Through Upsy, set GitHub to Read-only for Claude. See also the ChatGPT GitHub guide and the Claude connectors hub.

Related guides