GitLab Merge Request Review Agent with Claude Code

A first pass on a merge request means reading the diff, the commits behind it, the pipeline on the head commit and the notes already on the thread, all before a line of the review exists. That is a multi step gather across several tools with a strict output shape at the end of it. Claude Code is built for long structured tasks like that and is comfortable moving between code and API data while it works.

Loading preview…
Free to start · guided setup

Watch it work before it's live

Run a staged conversation — no account needed. The agent handles it for real while a simulated world answers its tool calls; nothing touches real accounts, and nothing is actually sent.

Add idempotency keys to the refunds endpoint

Open

@fatima.zahra

Adds an Idempotency-Key header to POST /refunds and stores the key against the refund for 24 hours, so a retried request returns the original refund instead of issuing a second one. Migration adds one table and a unique index. Twelve files, 340 lines added, 46 removed. Unit and integration tests included, pipeline green on the head commit. Closes issue 2841.

Set up in minutes

Using this template drops you into a guided setup. It asks exactly this, nothing else:

  1. Connect GitLab

    One sign-in. The agent acts through your account, scoped to what this template uses.

  2. Connect Slack

    One sign-in. The agent acts through your account, scoped to what this template uses.

  3. Review checklist

    What a merge request has to satisfy on this project in your own words, which of those items block a merge, and what you want asked of the author when an item cannot be judged from the diff alone.

  4. Runs on Claude Code

    Preselected for this page — connect your Claude Code account during setup, or switch to NoClick's built-in models with one click.

  5. Watch it handle a test run

    A staged conversation against a simulated world — then it’s live.

Why Claude Code for this agent

Commits, pipeline, prior notes

All three are pulled before the note is composed, which is the only reason the say nothing twice rule can work at all. A note that ignores the thread repeats it.

One note, four headings

What this changes, the checklist, the pipeline, then questions, in that order every time. Holding a long structured output together is where this harness is steadiest.

Before you fork

Thirty merge requests a week with pushes on each. What is that in runs?

Roughly a hundred short runs, since it fires on open, reopen and update and ignores everything else sharing the event stream. Each run reads the diff and writes one note, so cost follows merge request activity rather than repository size. A quiet week costs nothing and a release week costs more, which is the shape most teams want.

Run it with a different agent

Put GitLab Merge Request Review Agent to work on Claude Code

Free to start. Guided setup, a test run against staged conversations, and it's live.