mergifyio/mergify-cli

Mergify CLI tool

31

stars

1,337

commits

Rust

primary language

Sep 10, 2026

updated

mergify.com

README

Mergify CLI

CI Latest release Documentation License

Drive Mergify from your terminal and CI pipelines: stacked pull requests, the merge queue, CI Insights, scheduled freezes, and configuration — all from a single self-contained binary that reuses your existing GitHub (gh) login.

mergify stack push          # turn your local commits into stacked PRs
mergify queue status        # inspect the merge queue
mergify ci junit-process report.xml   # upload test results to CI Insights
  • One static binary. No runtime, no dependencies — drop it on a developer laptop or a CI runner and go.
  • Zero-config auth. Picks up gh auth token automatically; override with env vars or flags when scripting.
  • Built for pipelines. Logs to stderr, structured --json output on read commands, and stable exit codes for scripts and runbooks.
  • Cross-platform. Linux, macOS (x86_64 + aarch64), and Windows.

Installation

brew install mergifyio/tap/mergify-cli

The fully-qualified name taps and installs in one step. Upgrade with brew upgrade mergify-cli — not mergify self-update, which overwrites the Homebrew-managed binary. See the tap for tap-trust and short-name details.

curl -fsSL https://raw.githubusercontent.com/Mergifyio/mergify-cli/main/install.sh | sh

Installs to ~/.local/bin/mergify. Override with MERGIFY_INSTALL_DIR=/usr/local/bin or pin a version with MERGIFY_VERSION=<version>. Upgrade with mergify self-update.

Manual download (Windows, or to bypass the script)

Grab the matching archive from the latest release:

  • Windows — download mergify-<version>-x86_64-pc-windows-msvc.zip, extract it, and put mergify.exe anywhere on your PATH.
  • Linux / macOS — download mergify-<version>-<target>.tar.gz (e.g. mergify-2026.4.23.1-aarch64-apple-darwin.tar.gz), extract with tar -xzf, and put the resulting mergify binary anywhere on your PATH.

Verify against SHA256SUMS from the same release if you care.

Authentication

Most commands talk to the Mergify and GitHub APIs and need a token. The CLI resolves credentials and target repository in this order, so an authenticated gh is usually all you need:

What--flagthen envthen
Token--token / -tMERGIFY_TOKEN, GITHUB_TOKENgh auth token
Repository--repository / -rGITHUB_REPOSITORYgit remote (origin)
API URL--api-url / -uMERGIFY_API_URLhttps://api.mergify.com

See the authentication guide for details.

Quick start

# Stacked pull requests — one PR per commit, kept in sync
mergify stack setup                # once per repo: install the git hooks the stack needs
mergify stack push                 # push commits and create/update their PRs
mergify stack list                 # show the stack and its PR status
mergify stack sync                 # rebase the stack onto its trunk

# Merge queue
mergify queue status               # current queue state for the repo
mergify queue status --json        # same, as machine-readable JSON

# CI Insights — from inside your pipeline
mergify ci junit-process report.xml --test-language python

# Configuration
mergify config validate            # check .mergify.yml against the schema

Run mergify --help for the full command list and mergify <command> --help for any command's flags.

Commands

Every command group maps to a section of the CLI reference.

  • mergify stack — Create and maintain stacked pull requests. Docs
  • mergify queue — Inspect and control the merge queue. Docs
  • mergify events — Browse the events Mergify recorded for the repository or one pull request, as a timeline or JSON.
  • mergify ci — Send JUnit results and pull request scopes from any CI provider. Docs
  • mergify tests — Look up test health and manage the flaky-test quarantine. Docs
  • mergify freeze — Schedule merge freezes for release windows and maintenance. Docs
  • mergify config — Validate your configuration and simulate actions before you merge. Docs
  • mergify self-update — Update the CLI to the latest release.
  • mergify completions <shell> — Print a shell completion script (see below).

Run mergify <command> --help for a group's subcommands and flags.

Shell completions

Generate a completion script for your shell — bash, zsh, fish, elvish, or powershell:

# zsh — write to a directory on your $fpath
mergify completions zsh > ~/.zfunc/_mergify

# bash — load in your current session (add to ~/.bashrc to persist)
source <(mergify completions bash)

# fish
mergify completions fish > ~/.config/fish/completions/mergify.fish

Global options

These are accepted on every command:

FlagDescription
-v, --verboseIncrease log verbosity: -v info, -vv debug, -vvv trace. Logs go to stderr so stdout stays pipeable.
--debugShorthand for at least debug-level logging (like -vv).
--color <auto|always|never>When to colorize terminal output.

Environment variables

VariableEffect
MERGIFY_TOKEN, GITHUB_TOKENAPI token (falls back to gh auth token).
GITHUB_REPOSITORYDefault owner/repo when --repository is omitted.
MERGIFY_API_URLAPI base URL (default https://api.mergify.com).
RUST_LOGFine-grained log filtering; overrides --verbose.
NO_COLORDisable colored output.
MERGIFY_INSTALL_DIR, MERGIFY_VERSIONInstall-script target directory / pinned version.

Exit codes

Commands return stable exit codes so scripts and runbooks can branch on them:

CodeMeaning
0Success.
1Unclassified runtime failure (I/O error, bug, or captured panic).
2Argument parsing / usage error.
3Stack, branch, or commit not found.
4Rebase or merge conflict.
5GitHub API request failed.
6Mergify API request failed.
7CLI invariant violated (e.g. run outside a valid context).
8Configuration missing, unparseable, or failing validation.

AI Agent Skills

Mergify CLI provides AI skills for managing stacked PRs and Git workflows, compatible with Claude Code, Cursor, and many other AI agents.

Install via npx (all agents):

npx skills add Mergifyio/mergify-cli

Install as a Claude Code plugin:

/plugin install mergify@claude-plugins-official

Documentation

Full reference and guides live at docs.mergify.com/cli.

Contributing

Contributions are welcome — open an issue or a pull request. The workspace is a Rust monorepo; see AGENTS.md for the crate layout, build, and test workflow.

License

Apache License 2.0 — see LICENSE.

Contributors

dependabot[bot]

358 commits

jd

274 commits

mergify[bot]

198 commits

sileht

187 commits

mergifyio/mergify-cli

Mergify CLI tool

31

stars

1,337

commits

Rust

primary language

Sep 10, 2026

updated

mergify.com

README

Mergify CLI

CI Latest release Documentation License

Drive Mergify from your terminal and CI pipelines: stacked pull requests, the merge queue, CI Insights, scheduled freezes, and configuration — all from a single self-contained binary that reuses your existing GitHub (gh) login.

mergify stack push          # turn your local commits into stacked PRs
mergify queue status        # inspect the merge queue
mergify ci junit-process report.xml   # upload test results to CI Insights
  • One static binary. No runtime, no dependencies — drop it on a developer laptop or a CI runner and go.
  • Zero-config auth. Picks up gh auth token automatically; override with env vars or flags when scripting.
  • Built for pipelines. Logs to stderr, structured --json output on read commands, and stable exit codes for scripts and runbooks.
  • Cross-platform. Linux, macOS (x86_64 + aarch64), and Windows.

Installation

brew install mergifyio/tap/mergify-cli

The fully-qualified name taps and installs in one step. Upgrade with brew upgrade mergify-cli — not mergify self-update, which overwrites the Homebrew-managed binary. See the tap for tap-trust and short-name details.

curl -fsSL https://raw.githubusercontent.com/Mergifyio/mergify-cli/main/install.sh | sh

Installs to ~/.local/bin/mergify. Override with MERGIFY_INSTALL_DIR=/usr/local/bin or pin a version with MERGIFY_VERSION=<version>. Upgrade with mergify self-update.

Manual download (Windows, or to bypass the script)

Grab the matching archive from the latest release:

  • Windows — download mergify-<version>-x86_64-pc-windows-msvc.zip, extract it, and put mergify.exe anywhere on your PATH.
  • Linux / macOS — download mergify-<version>-<target>.tar.gz (e.g. mergify-2026.4.23.1-aarch64-apple-darwin.tar.gz), extract with tar -xzf, and put the resulting mergify binary anywhere on your PATH.

Verify against SHA256SUMS from the same release if you care.

Authentication

Most commands talk to the Mergify and GitHub APIs and need a token. The CLI resolves credentials and target repository in this order, so an authenticated gh is usually all you need:

What--flagthen envthen
Token--token / -tMERGIFY_TOKEN, GITHUB_TOKENgh auth token
Repository--repository / -rGITHUB_REPOSITORYgit remote (origin)
API URL--api-url / -uMERGIFY_API_URLhttps://api.mergify.com

See the authentication guide for details.

Quick start

# Stacked pull requests — one PR per commit, kept in sync
mergify stack setup                # once per repo: install the git hooks the stack needs
mergify stack push                 # push commits and create/update their PRs
mergify stack list                 # show the stack and its PR status
mergify stack sync                 # rebase the stack onto its trunk

# Merge queue
mergify queue status               # current queue state for the repo
mergify queue status --json        # same, as machine-readable JSON

# CI Insights — from inside your pipeline
mergify ci junit-process report.xml --test-language python

# Configuration
mergify config validate            # check .mergify.yml against the schema

Run mergify --help for the full command list and mergify <command> --help for any command's flags.

Commands

Every command group maps to a section of the CLI reference.

  • mergify stack — Create and maintain stacked pull requests. Docs
  • mergify queue — Inspect and control the merge queue. Docs
  • mergify events — Browse the events Mergify recorded for the repository or one pull request, as a timeline or JSON.
  • mergify ci — Send JUnit results and pull request scopes from any CI provider. Docs
  • mergify tests — Look up test health and manage the flaky-test quarantine. Docs
  • mergify freeze — Schedule merge freezes for release windows and maintenance. Docs
  • mergify config — Validate your configuration and simulate actions before you merge. Docs
  • mergify self-update — Update the CLI to the latest release.
  • mergify completions <shell> — Print a shell completion script (see below).

Run mergify <command> --help for a group's subcommands and flags.

Shell completions

Generate a completion script for your shell — bash, zsh, fish, elvish, or powershell:

# zsh — write to a directory on your $fpath
mergify completions zsh > ~/.zfunc/_mergify

# bash — load in your current session (add to ~/.bashrc to persist)
source <(mergify completions bash)

# fish
mergify completions fish > ~/.config/fish/completions/mergify.fish

Global options

These are accepted on every command:

FlagDescription
-v, --verboseIncrease log verbosity: -v info, -vv debug, -vvv trace. Logs go to stderr so stdout stays pipeable.
--debugShorthand for at least debug-level logging (like -vv).
--color <auto|always|never>When to colorize terminal output.

Environment variables

VariableEffect
MERGIFY_TOKEN, GITHUB_TOKENAPI token (falls back to gh auth token).
GITHUB_REPOSITORYDefault owner/repo when --repository is omitted.
MERGIFY_API_URLAPI base URL (default https://api.mergify.com).
RUST_LOGFine-grained log filtering; overrides --verbose.
NO_COLORDisable colored output.
MERGIFY_INSTALL_DIR, MERGIFY_VERSIONInstall-script target directory / pinned version.

Exit codes

Commands return stable exit codes so scripts and runbooks can branch on them:

CodeMeaning
0Success.
1Unclassified runtime failure (I/O error, bug, or captured panic).
2Argument parsing / usage error.
3Stack, branch, or commit not found.
4Rebase or merge conflict.
5GitHub API request failed.
6Mergify API request failed.
7CLI invariant violated (e.g. run outside a valid context).
8Configuration missing, unparseable, or failing validation.

AI Agent Skills

Mergify CLI provides AI skills for managing stacked PRs and Git workflows, compatible with Claude Code, Cursor, and many other AI agents.

Install via npx (all agents):

npx skills add Mergifyio/mergify-cli

Install as a Claude Code plugin:

/plugin install mergify@claude-plugins-official

Documentation

Full reference and guides live at docs.mergify.com/cli.

Contributing

Contributions are welcome — open an issue or a pull request. The workspace is a Rust monorepo; see AGENTS.md for the crate layout, build, and test workflow.

License

Apache License 2.0 — see LICENSE.

Contributors

dependabot[bot]

358 commits

jd

274 commits

mergify[bot]

198 commits

sileht

187 commits

Languages

Rust

98.8%

Shell

1.2%