Skip to content

Add auto-merge support to pull request tools #2411

@kaovilai

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions