Stop reading diffs line by line. See what a merge request actually changes.
MR Behavior Lens reviews a GitLab merge request for you and answers the only question that matters: "what behavior did this change?" — in one screen:
🎯 TL;DR — one sentence per behavior group, so you know in 10 seconds what the MR does
⚠️ Concerns — possible bugs, regressions and edge cases worth checking before merge (severity critical / warning / info), each postable to the MR as an inline comment with one click. When the change looks safe you get an explicit "✓ No concerns"
🔀 Before/after diagram — a zoomable Mermaid diagram (🔴 flows that disappeared / 🟢 new flows) with clickable [file:line] tags that jump straight to the diff on GitLab
Try it in 30 seconds with zero setup: run MR Lens: Demo Review (sample data) from the command palette.
Connect GitLab — run MR Lens: Set GitLab Token and paste a personal access token (read_api scope to review, api if you also want to post comments). Self-hosted instance? Set mrLens.gitlab.url.
Pick an LLM — if you're signed in to GitHub Copilot (or an enterprise LM provider) it just works. Otherwise run MR Lens: Set Anthropic API Key.
Review — open a workspace whose git remote points at your GitLab project, run MR Lens: Review Merge Request…, and pick an MR.
That's it. The review panel opens with one tab per behavior group.
What makes it different
Most AI review tools dump a wall of text about your diff. MR Behavior Lens organizes the review around behavior: the diff is first grouped into behavior groups (clusters of files that together change one observable behavior), then each group is analyzed on its own — what the system did before, what it does after, and what could go wrong in between.
Post reviews back to the MR — post a whole group review, or any single concern as an inline comment on the exact diff line, right from the panel. Nothing is ever sent to GitLab without showing you an editable preview first.
Clickable everything — every [file:line] in the summary, concerns, behavior changes or diagram opens that file's diff on the MR's Changes tab (or the local file, with mrLens.openLocationsIn: "workspace").
Works with the LLM you already have — GitHub Copilot / VSCode LM API, or your own Anthropic API key.
Self-hosted GitLab supported — point mrLens.gitlab.url at your instance.
Built to keep token costs low
Reviews are powered by an LLM, so they consume your Copilot quota or Anthropic credits — the extension is designed to keep that small and visible:
Local pre-processing (0 tokens) — lockfiles, generated and binary files are filtered out before anything is sent
Two-stage pipeline — a cheap model groups the diff; the main model only analyzes one group at a time
Budget guard — anything estimated over mrLens.tokenBudget (default 30k input tokens) asks first
Cache by diff hash — re-opening a review of an unchanged MR costs 0 tokens