AI-powered git merge conflict resolver — run one command, review the diff, apply.
$ mergefix
╭──────────────────────────────────────────────────────╮
│ mergefix · 3 files · 7 conflicts · provider: claude │
╰──────────────────────────────────────────────────────╯
→ src/auth.py (2 conflicts)
Conflict 1/2
ours: main
theirs: feature/oauth
✓ Resolution:
def authenticate(user, password):
return bcrypt.checkpw(password.encode(), user.password_hash)
Conflict 2/2
ours: main
theirs: feature/oauth
✓ Resolution:
SESSION_TIMEOUT = 3600 # keep shorter timeout from main
Diff:
--- a/src/auth.py
+++ b/src/auth.py
@@ -12,7 +12,4 @@ def get_user(user_id):
-<<<<<<< HEAD
- return hashlib.md5(password.encode()).hexdigest()
-=======
- return bcrypt.checkpw(password.encode(), user.password_hash)
->>>>>>> feature/oauth
+ return bcrypt.checkpw(password.encode(), user.password_hash)
Apply resolutions to src/auth.py? [Y/n] y
✓ Applied
✅ All 3 file(s) resolved.
Run `git diff` to review changes, then `git add` to mark as resolved.
pip install mergefixSet your API key (or use Ollama for free local resolution):
export ANTHROPIC_API_KEY=your-key # Claude (default, recommended)
export OPENAI_API_KEY=your-key # or OpenAI
# or: mergefix --provider ollama # local, no API key needed# Resolve all conflicts in the current repo (most common)
mergefix
# Resolve a specific file
mergefix src/auth.py src/db.py
# Preview resolutions without writing (safe to run anytime)
mergefix --preview
# Auto-apply all resolutions without prompting (CI/scripting)
mergefix --yes
# Keep original files as .orig backups
mergefix --backup
# Give the AI extra context about your codebase
mergefix --context "Python web app, prefer async patterns, strict type hints"
# Use local Ollama (free, no API key)
mergefix --provider ollama
# Use OpenAI
mergefix --provider openai --model gpt-4o- Scans for files with
<<<<<<<conflict markers (or use specific files) - Parses each conflict block (supports 2-way and 3-way / diff3 style)
- Calls the AI with both sides of each conflict + surrounding context
- Displays each resolution in syntax-highlighted code blocks
- Shows a colorized unified diff of all changes
- Asks for confirmation before writing (skip with
--yes) - Writes the resolved content; optionally creates
.origbackups
The AI sees the full file context, not just the conflict lines — so it understands the surrounding code and makes semantically correct resolutions.
- Languages: Any language (Python, JS, TypeScript, Go, Rust, Java, Ruby, etc.)
- Conflict styles: 2-way (default git) and 3-way / diff3
- Providers: Claude (default), OpenAI, Ollama (local, free)
- Multiple conflicts: Resolves all conflicts in a file in one AI call
- Multiple files: Processes all conflicted files in one run
Add to your workflow to catch issues early:
# After a merge, resolve all conflicts and review:
git merge feature-branch
mergefix --preview # preview only
mergefix # apply
git add -A
git commitOr as a one-liner for scripting:
git merge feature-branch && mergefix --yes && git add -A && git commit -m "resolve merge conflicts"mergefix is part of a suite of AI-powered git tools:
| Tool | What it does |
|---|---|
| gitbrief | Pack your git history into LLM context |
| gpr | Generate PR descriptions and commit messages |
| critiq | AI code reviewer before you push |
| standup-ai | Generate daily standups from git history |
| changelog-ai | Generate CHANGELOG from commits |
| mergefix | Resolve merge conflicts with AI |
MIT