# Connect Claude to GitHub and Linear

> New GitHub issues pile up faster than anyone can label them, and the real work is tracked in Linear.

This setup is for maintainers and product teams who receive bug reports in GitHub Issues but plan work in Linear. Claude reads new GitHub issues, proposes labels and a priority, and creates matching Linear issues in the right team once you approve. You end up with a triaged backlog in Linear and a cleaner GitHub issue list.

## Steps

1. **Add the GitHub MCP server**: In GitHub, create a fine-grained token limited to the repositories you want triaged, with read and write access to issues and read access to metadata. Add GitHub's official MCP server to Claude Desktop or Claude Code with that token. Ask Claude to list the ten newest open issues to confirm access.
   Tip: Leave contents and pull request permissions off; triage only needs issues.
2. **Add the Linear MCP server**: Add Linear's remote MCP server at mcp.linear.app and complete the OAuth sign-in in your browser. Pick the workspace that holds your product teams. Ask Claude to list your Linear teams and their workflow states so you know it sees the right workspace.
   Tip: If you belong to several workspaces, check the team names before creating anything.
3. **Give Claude a triage brief**: Write a short triage brief: your GitHub labels and what each means, how you set priority, and which Linear team owns which area of the product. Save it in a Claude Project, CLAUDE.md, or a prompt you paste each time. Include two or three past issues with the routing you chose as examples.
   Tip: Add a rule for duplicates, such as searching Linear by title before creating a new issue.
4. **Review before writing**: Ask Claude for a triage table first: issue, proposed labels, priority, target team and a one-line reason. Correct anything wrong, then approve the label changes and Linear issue creation. Keep tool approvals on for writes until a few rounds go through without corrections.
   Tip: Ask Claude to add the Linear link as a comment on the GitHub issue so reporters can follow progress.

## Prompts to try

- Triage the open issues in acme/app created this week and show me a table with labels, priority and Linear team.
- Create Linear issues in the Platform team for the GitHub issues you marked as bugs, and link back to GitHub.
- Find GitHub issues that look like duplicates of existing Linear issues and list them side by side.
- Label issue 512 as bug and needs-repro, and ask the reporter for their browser version in a comment.
- Summarise this week's new GitHub issues by product area for the planning meeting.

## What you need

- A GitHub account with write access to issues in the target repositories
- A Linear workspace where you can create issues
- Claude Desktop or Claude Code
- A written triage brief with labels, priorities and team ownership

## Limits

- Claude judges priority from the issue text, so vague bug reports get vague triage.
- Linear issues created this way do not stay in sync with GitHub; status changes in one do not update the other.
- Large backlogs need batching, since Claude handles a limited number of issues well in one conversation.

## Security notes

- Use a fine-grained GitHub token scoped to specific repositories.
- Keep tool-call approval on for any write action.

## MCP servers

- [GitHub MCP Server](https://github.com/github/github-mcp-server): repository-read, issue-write, pull-request-write
- [Linear MCP Server](https://linear.app/docs/mcp): issue-read, issue-write, project-read

## FAQ

**Will Claude close or delete GitHub issues?**

Only if the token allows it and you approve the call. For triage, stick to labels, comments and Linear issue creation, and close issues yourself.

**Do I need a paid Linear plan?**

Linear's MCP server works with the free plan, within the free plan's limits on issues and teams. You need a Claude plan that supports MCP connectors or Claude Code.

**Can this run on a schedule?**

In Claude Desktop you start triage by hand. If you want it on a timer, you can run Claude Code in a scheduled job, but keep a human review step before writes.

**What if Claude routes an issue to the wrong team?**

Move it in Linear and add the case to your triage brief as an example. Clear examples fix most routing mistakes.

## Tools

- **[GitHub](https://suiteintent.com/t/github?m=GB)**: Code hosting, issues and pull requests. · Best for: Teams reviewing code through pull requests · Free plan · 10000
- **[Linear](https://suiteintent.com/t/linear?m=GB)**: Fast, keyboard-first issue tracker. · Best for: Startups planning work in cycles · Free plan · Free for startups
