JR DevTools logoJR DevTools
Merge Conflict Resolver logo

Merge Conflict Resolver for Azure DevOps

Resolve pull request merge conflicts without leaving Azure DevOps, and without crashes, lost work or mangled characters.

Azure DevOps Services (cloud)Azure DevOps Server 2022+ (on-premises) On-premises install

Latest release: version 1.3, October 2026 · Release notes

Install free from the Marketplace  Pricing

14-day Pro trial starts automatically. No account and no credit card needed.

Watch the 1-minute walkthrough with captions on YouTube.

Looking for a replacement for the Pull Request Merge Conflict Extension? Microsoft's DevLabs extension is no longer maintained. Merge Conflict Resolver is an independent, actively maintained alternative that fixes its most reported problems: crashes and lost work, broken special characters, no per-conflict choice, and resolutions that reviewers and builds never see. It is not affiliated with Microsoft.

Features

Update branch (Pro) New

Source branch behind the target, but no conflicts? One click merges the target into the source branch, a button Azure DevOps doesn't have. Always a fast-forward, never a history rewrite.

Smart resolve (Pro) New

One click merges the imports, package references and changelog entries that both sides added. Anything it isn't sure about stays a conflict for you. No AI: it runs in your browser.

Catches broken files New

Before you save, a JSON, XML (csproj, config, …) or YAML result that no longer parses gets a warning with the line number. Available on all plans.

3-way editor

Target, source and result side by side. Non-conflicting changes merge automatically; Accept target / source / both above every conflict.

Pick individual lines

Tick the lines you want from the target and source side, like in Visual Studio. The result follows immediately; if you edited it by hand, you are asked before it is changed.

Changed words and base pane

Changed words are highlighted within a line. Turn on the optional Base pane to see the common ancestor next to target and source.

Keyboard shortcuts

Alt+1, Alt+2 and Alt+3 accept target, source or both for the conflict under the cursor; press ? for a list of all shortcuts.

Never lose work

Every edit is saved as a local draft and restored after a reload or browser crash.

Your file format, intact

UTF-8 (with or without BOM), UTF-16 and Windows-1252/ANSI, CRLF or LF, even mixed within one file: detected and written back byte for byte. Check it yourself on a sample pull request.

Every conflict type

Edit/edit, add/add, edit/delete, renames, path conflicts, binary files, Git LFS files and submodules.

Fast on big pull requests

Hundreds of conflicts, multi-megabyte lockfiles and very long lines stay responsive.

View merge result

After the merge, one link opens the merge commit in Azure Repos, so you can check what was merged.

Restrict to target branches

Show the Resolve conflicts tab only for pull requests into the branches you choose. Available on all plans.

Commit to the source branch (Pro)

Put the resolution in the pull request's own history, so reviewers, builds, policies and local clones see it.

Summary on the pull request (Pro)

After the merge, a comment lists every conflicted file and how it was resolved, with a link to the merge commit.

Bulk and auto-resolve (Pro)

Resolve all remaining files with one side in one go, and auto-resolve conflicts where one side only changed whitespace.

Resolution rules (Pro)

Set a default per file pattern, for example package-lock.json always takes the target, and apply the rules to a pull request in one click.

Cloud and on-premises

Works on Azure DevOps Services and on Azure DevOps Server 2022 and later, with the same features and license. See Azure DevOps Server.

Light and dark

Follows your Azure DevOps theme.

How it compares

Merge Conflict ResolverDevLabs conflicts tabResolve locally
Stays in the browser, no clone needed✔✔Clone, merge, push
Choose per conflict: target, source or both✔Whole file only✔ (your IDE)
Work survives a reload or crash✔–✔
Encodings and line endings kept byte for byte✔Reported to mangle non-ASCII✔
Reviewers and builds see the resolution✔ (Pro)Only in the merge preview✔
Update a branch that is behind the target✔ (Pro)–Merge and push
Large files and many conflicts✔Reported to freeze✔
Actively maintained, with support✔No longer maintainedn/a

Based on the reviews and Q&A of the DevLabs “Pull Request Merge Conflict Extension” on the Visual Studio Marketplace (September 2026).

Pricing

One license for your whole organization, for all projects. Every paid tier includes all Pro features; the tiers differ only in the number of users.

Free

$0
  • 10 pull requests per organization per month
  • All editor features and conflict types
Install free

Team

$120 per year

2 months free, or $12 per month

  • Up to 25 users
  • All Pro features
Buy yearly Buy monthly

Business

$290 per year

2 months free, or $29 per month

  • Up to 100 users
  • All Pro features
Buy yearly Buy monthly

Enterprise

$990 per year

invoice or purchase order on request

  • Unlimited users
  • All Pro features
Buy yearly Request invoice

Users are the people in your organization who use the extension. Pick the tier that fits; we don't count or track users. Using Azure DevOps Server (on-premises)? A license covers one project collection; see Azure DevOps Server.

Free vs Pro

FreePro
Pull requests per organization per month10Unlimited
3-way editor, all conflict types, encodings✔✔
Pick lines, changed words, base pane, keyboard shortcuts, View merge result✔✔
Restrict the tab to target branches✔✔
Warning for JSON, XML and YAML results that no longer parse✔✔
Commit the resolution to the source branch–✔
Update branch when the source is behind the target–✔
Resolution summary as a pull request comment–✔
Bulk resolve, whitespace auto-resolve and Smart resolve–✔
Resolution rules per file pattern–✔
Users in your organizationAny numberPer tier: 25, 100 or unlimited

Try before you buy: every organization gets a 14-day Pro trial automatically when the extension is first used. Prices exclude VAT/sales tax, which is added at checkout where applicable; businesses can enter their VAT ID. Payments are processed by Lemon Squeezy, our Merchant of Record, which sends the invoice. Need a purchase order or several organizations on one invoice? Email support@jr-devtools.com.

Get started

  1. An organization admin installs the extension from the Marketplace. Project Collection Administrators can install directly; other users can request it.
  2. Open a pull request with conflicts and select the Resolve conflicts tab.
  3. Resolve each file; when the last one is done, Azure DevOps creates the merge with your resolutions.
  4. With Pro, select Commit to <source branch>, then complete the pull request as usual.
  5. After buying Pro, an admin enters the license key under Organization settings → Extensions → Merge Conflict Resolver.

Permissions and security

More detail, including how to check the network calls yourself: Security.

Frequently asked questions

Is there an alternative to Microsoft's Pull Request Merge Conflict Extension?

Yes. Merge Conflict Resolver is an independent, actively maintained alternative to the Pull Request Merge Conflict Extension from Microsoft DevLabs, which is no longer maintained. It adds the same kind of Resolve conflicts tab to the pull request, with a 3-way editor, per-conflict and per-line choices, crash-safe drafts and, with Pro, an Update branch button, and it works on Azure DevOps Services and Azure DevOps Server 2022 or later. There is a free plan (10 pull requests per organization per month, with all editor features and conflict types). If you prefer not to use an extension, you can merge the target branch into the source branch locally in Visual Studio, VS Code or any merge tool and push. Merge Conflict Resolver is not affiliated with Microsoft.

Why not just resolve conflicts locally?

You can, and for a big refactoring you probably should. But for the everyday conflict in a changelog, a config file or a lockfile, a local merge means fetching both branches, merging, resolving, committing and pushing, and not every reviewer, tester or product owner has a clone and a merge tool at hand. Here anyone with access to the pull request resolves it in the browser, in a minute, and with Pro the result lands on the source branch exactly like a local merge.

Does every user need a license?

No. One license covers the whole Azure DevOps organization, and its tier sets how many people may use it (25, 100 or unlimited). Anyone with access to the repository can use it; what they can change is decided by their own Azure DevOps permissions.

Where are my drafts and settings stored?

Unsaved drafts stay in your browser's local storage until you resolve or discard them. The license, trial date and free-plan counter are stored in your organization's own extension data storage. Nothing is sent to us; see the privacy policy.

Which Azure DevOps versions are supported?

Azure DevOps Services (dev.azure.com), and Azure DevOps Server 2022 or later (on-premises). Older versions (2020, 2019, TFS) are not supported. See Azure DevOps Server for install steps and licensing.

What counts as a pull request on the free plan?

A pull request counts once per calendar month, the first time someone in your organization saves a resolution in it. Opening the tab or looking at conflicts doesn't count. After 10 pull requests, you can still view conflicts, but new pull requests can only be resolved with Pro until the next month.

What happens when the trial ends or we stop paying?

The organization falls back to the free plan. Nothing breaks, and resolutions and commits you made stay as they are. You can buy Pro at any time to continue.

Does it work with branch policies and required reviewers?

Yes. Resolving conflicts doesn't bypass policies: you still complete the pull request as usual. Commit to <source branch> pushes a new commit to the source branch, so your policies apply to it like any other push; if the branch is set to reset votes on new pushes, approvals are reset. If a policy blocks direct pushes to the source branch, the commit is refused with a clear message and your resolutions stay in the pull request.

Who is the author of the merge commit?

Azure DevOps creates it, the same way it creates the merge for any pull request, with the message “Merge pull request … from … into …”. With Commit to <source branch>, that commit is added to the source branch as is.

Can we set default resolutions for files like lockfiles?

Yes, with Pro. Under Resolution rules in the extension settings you map a file pattern to take target, take source or keep both, for example package-lock.json to the target. In the Resolve conflicts tab you apply the matching rules to a pull request in one click; files you already started on are left alone.

Can it update a pull request whose source branch is behind?

Yes, with Pro. When a pull request has no conflicts but the target branch has moved on, the Resolve conflicts tab shows how many commits the source is behind, with an Update branch button. After you confirm, the source branch is fast-forwarded to the merge commit Azure DevOps prepared for the pull request (target merged into source), the same result as git merge and a push. Your branch policies apply to that push like to any other, and it is refused if someone pushed in the meantime.

What does Smart resolve change, and what not?

It only resolves conflicts where both sides added lines to the same list: imports and usings (C#, TypeScript and JavaScript, Python, Java and Kotlin, Go, C and C++), dependencies in package.json, PackageReference items in a project file, and entries in CHANGELOG.md. Both additions are kept, without duplicates and in sorted order if the list was sorted. The same package with two different versions, a removed or changed line, or anything else it isn't sure about stays a conflict. You see the result before you save, and Ctrl+Z undoes it.

What about binary files and Git LFS?

They can't be merged line by line, so you choose which version to keep. For Git LFS files the choice is made on the LFS pointer, so the stored file itself is never touched.

What are the known limitations?
Is it still maintained?

Yes. See the release notes for what changed recently. Questions and bug reports get an answer within 2 business days; see the support policy.

What if JR DevTools stops?

Your code, pull requests and settings live in Azure DevOps, so there is nothing to migrate. If development of the extensions ever stops, they will be made open source and handed over to another maintainer, so your team can keep using them.

Guides

About

Built and supported by JR DevTools, a software company in the Netherlands (EU) that also makes Bulk Editor. Questions are answered within 2 business days: support@jr-devtools.com.