To connect GitHub to Claude, pick the route that matches what you want Claude to see. Repository files go into a claude.ai chat or Project through Anthropic's GitHub connector. Issue and pull request automation runs through the Claude Code GitHub Action, triggered by @claude. A GitHub Projects board, with its columns, statuses and issues, needs an MCP server running in Claude Code or Claude Desktop.
The official routes are good at the first two and do not cover the third. This page maps every Claude app to the route that works there, links to Anthropic's and GitHub's own setup pages for repositories, and covers boards and issues in full.
Which Claude apps can connect to GitHub, and how?
Every Claude app connects to repositories in some form; only Claude Code and Claude Desktop can reach a Projects board, because a board needs a local MCP server: GitHub's hosted server does not work as a custom connector.
| Claude app | Repositories and pull requests | GitHub Projects boards and issue status |
|---|---|---|
| Claude Code (CLI) | Works in your local clone; /install-github-app sets up @claude on GitHub; GitHub's MCP server | GitHub's MCP server with the projects toolset, or Gitsu's server, written in at Gitsu launch |
| Claude Desktop | Local MCP servers in claude_desktop_config.json, such as GitHub's Docker-based server | The same two servers; Gitsu writes its gitsu entry for you |
| claude.ai on the web | The GitHub connector adds repository files to a chat or Project; Claude Code on the web clones a repo | No local MCP servers; Gitsu does not reach it |
| Claude mobile apps | Review Claude Code on the web sessions started elsewhere | No supported route; Gitsu does not reach it |
| Cowork | Remote custom connectors | Desktop's local servers are not available there; Gitsu does not reach it |
| GitHub itself | @claude in an issue or pull request comment, through the Claude Code GitHub Action | No board operations |
Two Anthropic pages draw the line. The GitHub integration page says the connector syncs "only files (names and contents) in a repo on a specific branch", with no commit history, pull requests or other metadata. The custom connectors page says local servers configured in claude_desktop_config.json are not available in Cowork or claude.ai.
How do you connect a GitHub repository to Claude?
Use Anthropic's GitHub connector for files and the Claude Code GitHub Action for issue and pull request work; both are documented by their owners, and this page does not repeat them:
- Repository files in a chat or Project: Use the GitHub integration on support.claude.com. Choose +, then Add from GitHub in a chat, or GitHub in a Project's knowledge section.
@claudeon issues and pull requests: Claude Code GitHub Actions. Run/install-github-appin Claude Code inside the repository; it works only with github.com repositories.- Claude Code in the cloud: Get started with Claude Code on the web, which connects GitHub once and clones the repository into a cloud session.
- GitHub's MCP server in Claude Code or Claude Desktop: GitHub's install guide for Claude.
What do the official routes leave out for boards and issues?
They leave out the board. The connector syncs files, so Claude cannot see which issues are in progress or move one to Done. The GitHub Action works on one issue or pull request at a time, started by a comment or a workflow event. GitHub's MCP server can reach a board, but its projects toolset is off by default, it needs a token with the project scope, and every call names an owner and a project number.
Gitsu covers the board from the other side. Its MCP server ships inside the Gitsu desktop app for macOS and reads the board linked to the repository Claude is working in, so "list the P0 items" needs no project ID. It can filter on any column by name, set a field such as Status, label, comment, close, reopen and create issues, and put an agent-working label on the item while Claude works. It has no delete tool. The Claude Code GitHub issues workflow shows that loop end to end.
The limits are real. Gitsu's server needs a paid Seat through Pro or Team, runs only on a Mac, and writes only while the app is open. It talks to api.github.com, so it reaches boards on github.com. It cannot create a project or change assignees and milestones; GitHub's server can.
How do you connect Claude Desktop to a GitHub Projects board?
Install the Gitsu desktop app, sign in and launch it, then restart Claude Desktop. At launch Gitsu adds a gitsu entry under mcpServers in ~/Library/Application Support/Claude/claude_desktop_config.json, keeping every other key in the file. The entry is a local command with args, because Claude Desktop's config launches local processes only.
Claude Desktop then shows Gitsu's tools, and its chat renders Gitsu's cards: an item card, item lists, boards, columns and write results, described on the MCP views page. To use GitHub's server instead, add GitHub's Docker entry to the same file by hand. The full steps for both are in connect Claude to GitHub Projects.
How do you connect Claude Code to a GitHub Projects board?
Launch the Gitsu desktop app once and start a new Claude Code session; claude mcp list should include gitsu. Gitsu writes the same entry into ~/.claude.json at launch, and you can add it by hand with claude mcp add gitsu -- /abs/path/to/gitsu-mcp --stdio, using the real path inside the app bundle. GitHub's hosted server takes one command with your token and its Projects URL, https://api.githubcopilot.com/mcp/x/projects. Connect Claude to GitHub Projects covers both, plus Cursor.
Why is the GitHub connector not working in Claude Desktop?
The cause depends on which route failed. Work through the one you use:
- Organization repositories are missing from the connector. The organization probably requires SSO. Open github.com/settings/applications, select the Claude entry, and choose Grant next to the organization; if it says Request, an organization admin has to approve it. Anthropic notes that disconnecting and reconnecting does not fix this.
- A local MCP server does not appear. Quit Claude Desktop completely and start it again, because it reads the config only at start. Check the JSON syntax and that every path in it is absolute. The logs are in
~/Library/Logs/Claudeon macOS. - GitHub's hosted server fails as a custom connector. GitHub's install guide says that route needs OAuth through a registered GitHub App, which the custom-connector flow does not support. Use its local Docker entry instead.
- Gitsu's entry disappeared. Claude Desktop can rewrite its config and drop entries while it runs. Gitsu checks the file each time you bring its main window forward and puts the
gitsuentry back, unless you disconnected Claude Desktop in Gitsu's Settings → MCP server (#911). Restart Claude Desktop afterwards.
Which route should you pick?
Pick by what Claude needs to see. For questions about code, the GitHub connector on claude.ai is the shortest path. For @claude fixing issues and reviewing pull requests on GitHub, use the GitHub Action. For a board, where the question is what is in progress and what moves next, use an MCP server in Claude Code or Claude Desktop.
If that board is a GitHub Projects board and you work on a Mac, install Gitsu and launch it. The gitsu entry lands in Claude Code and Claude Desktop with no token or JSON to write, and Claude can move cards, label and comment within nine write tools and no delete. The MCP server page lists every tool, and the Gitsu vs GitHub Projects comparison covers the app itself.
How we checked
Which Claude surfaces Gitsu's MCP server reaches and which it cannot, read from the transport and config code: the stdio-only Claude Desktop entry, the check that puts it back when Claude Desktop drops it (#911), and the api.github.com endpoint, set beside Anthropic's and GitHub's own setup pages as checked on 2026-10-11.
- https://support.claude.com/en/articles/10167454-use-the-github-integration
- https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp
- https://code.claude.com/docs/en/github-actions
- https://code.claude.com/docs/en/web-quickstart
- https://modelcontextprotocol.io/docs/develop/connect-local-servers
- https://github.com/github/github-mcp-server
- https://github.com/github/github-mcp-server/blob/main/docs/installation-guides/install-claude.md
- https://github.com/github/github-mcp-server/blob/main/docs/remote-server.md
Frequently asked questions
Can Claude access private GitHub repos?
Yes. On claude.ai, if a private repository will not load, Anthropic's help page says to install its GitHub App on the repository or ask your organization's admins to approve it. Organizations that require SSO also need you to authorize the Claude app for that organization at github.com/settings/applications.
Is there a GitHub plugin for Claude Code?
Claude Code installs the Claude GitHub App and a workflow for you when you run /install-github-app in a repository. After you merge the pull request it opens, @claude works on issues and pull requests in that repository. For board work from the terminal, add an MCP server instead.
How do I connect Claude mobile to GitHub?
Gitsu's server runs locally inside the Mac desktop app, so the mobile apps cannot reach it. Claude Code on the web runs tasks against a GitHub repository in the cloud, and Anthropic says a session started on your laptop can be reviewed from your phone.
Can I connect Claude to GitHub Enterprise?
Anthropic's help page covers GitHub Enterprise Cloud with Enterprise Managed Users: connect while signed in with the managed account and an active SSO session. Gitsu's MCP server calls api.github.com, so it reaches boards on github.com only.
Why is the GitHub connector not working in Claude Desktop?
If organization repositories are missing, the organization probably requires SSO: grant the Claude app access at github.com/settings/applications, since reconnecting does not fix it. If a local MCP server is missing, restart Claude Desktop fully, check the config file's JSON and absolute paths, and read the logs in ~/Library/Logs/Claude.
Try it on your own boardsGitsu opens your GitHub Projects boards in the browser. Sign in with GitHub and work on the same issues your team already uses.
Open the web app