Skip to content

Add auto-merge support to pull request tools #2411

Open

Description

@kaovilai

Note

Responses generated with Claude

Describe the feature or problem you'd like to solve

There is no MCP equivalent for enabling auto-merge on a pull request (gh pr merge --auto --squash). This is a common workflow step after CI passes and approvals are in place.

Currently the only way to enable auto-merge via MCP clients is to fall back to gh CLI, which breaks the MCP-first workflow pattern and causes permission prompt friction in tools like Claude Code.

Proposed solution

Add an enable_auto_merge method (or similar) to the pull request write tools. The GitHub GraphQL API exposes the enablePullRequestAutoMerge mutation:

mutation($pullRequestId: ID!, $mergeMethod: PullRequestMergeMethod!) {
  enablePullRequestAutoMerge(input: {
    pullRequestId: $pullRequestId
    mergeMethod: $mergeMethod
  }) {
    pullRequest { autoMergeRequest { enabledAt mergeMethod } }
  }
}

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name
  • pullNumber (required): PR number
  • mergeMethod (optional): MERGE, SQUASH, or REBASE (default to repo setting)

A corresponding disablePullRequestAutoMerge mutation exists and could be included.

Example prompts or workflows

  1. "Enable auto-merge on PR Issue: Fix incorrect VS Code installation URL (both buttons point to Insiders) #123 with squash"
  2. "Once CI passes, auto-merge this PR"
  3. "Set up auto-merge for all my approved PRs"

Additional context

The existing merge_pull_request tool handles immediate merges, but auto-merge is a distinct operation — it queues the merge to happen automatically once all required status checks and approvals are satisfied. This is particularly useful in CI-heavy repos where PRs can't be merged until checks complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions