GitKraken Merge Editor Not Opening: Diagnostic Guide
A diagnostic guide for GitKraken merge editor failures, covering missing merge-tool config, LFS pointers, encoding mismatches, and stale merge states.
16 Sept 2025, 01:40 UTC

Start Here: What the Failure Looks Like
You select a conflicted file in GitKraken and click the merge editor, but nothing opens. Or the editor opens and displays a line such as pointer: oid=sha256:... instead of your source code. In other cases, the editor window appears blank, conflict markers remain after you save, or GitKraken reports an active merge while git status shows nothing pending.
The useful takeaway is that these symptoms usually point to one of five conditions: a missing merge-tool registration, Git LFS pointer files, an unsupported file encoding, a stale merge state, or an editor crash that left markers behind. Each condition has a specific check and a matching fix.
Symptom-to-Cause Reference
| Recognizable condition | Likely cause | First check |
|---|---|---|
| GitKraken shows an error dialog and will not open the merge editor | Missing or incorrect merge.tool entry in local .gitconfig | git config --local merge.tool |
Editor opens but displays pointer: oid=... instead of file content | Conflicting file is tracked by Git LFS; GitKraken does not render LFS pointers automatically | git lfs ls-files | grep "<filename>" |
| Editor opens but the file is empty or partially rendered | Encoding mismatch, such as UTF-8 with BOM versus ANSI, that GitKraken cannot auto-detect | Open the file in a text editor that reports encoding |
Conflict markers (<<<<<<<, =======, >>>>>>>) remain after saving | Editor closed prematurely or crashed before writing the resolved file | git status to confirm unmerged paths still exist |
| GitKraken says "Merge in progress" but the status bar shows no pending changes | Stale MERGE_HEAD reference, detached HEAD, or an aborted merge that did not clean up | git status and check for MERGE_HEAD |
Check 1: Confirm the merge tool is registered
Run this command in a terminal at the repository root:
git config --local merge.tool
Where to run: Terminal or command prompt inside the cloned repository. Permissions: Read access to the local repository; no administrative rights required. Expected result: gitkraken or the name of your configured merge tool. Risk: None; this is a read-only query.
If the command returns nothing, the local configuration does not know which editor to invoke. Open GitKraken preferences and reassign the merge tool. If you must edit manually, back up .gitconfig first, then set:
git config --local merge.tool gitkraken
Check 2: Determine whether the file is tracked by Git LFS
Git LFS (Large File Storage) replaces large files with lightweight pointer files inside Git. GitKraken’s built-in merge editor does not resolve these pointers automatically.
git lfs ls-files | grep "<filename>"
Where to run: Terminal in the repository root. Placeholder: Replace <filename> with the conflicting file’s path, for example assets/image.png. Expected result: A line containing the filename if it is tracked by LFS; no output if it is not. Risk: None; this is read-only.
If the file appears, retrieve the actual binary content before merging:
git lfs pull
Caution: Do not delete LFS pointer files manually. Deleting them removes the reference to the stored object and can make the content unrecoverable without re-fetching from the LFS remote.
Check 3: Inspect file encoding
If the editor shows an empty or garbled file, the encoding may not match what GitKraken expects. Common mismatches include UTF-8 with a byte order mark (BOM) versus ANSI or plain UTF-8 without BOM.
Open the conflicting file in a text editor that displays its encoding, such as VS Code, Notepad++, or a similar tool. Look for an indicator in the status bar. If the file uses UTF-8 with BOM, save it as UTF-8 without BOM and retry the merge in GitKraken.
Check 4: Clear a stale merge state
GitKraken may report "Merge in progress" even when no conflicted files remain. This usually means a MERGE_HEAD reference still exists or the repository is in a detached HEAD state.
git status
Expected result after a clean merge or abort: No "Unmerged paths" section and no reference to MERGE_HEAD. If unmerged paths remain, the merge is still active.
To abandon the current merge and return to the pre-merge state:
git merge --abort
Where to run: Terminal in the repository root. Permissions: Write access to the repository. Risk: This discards any in-progress merge resolution that has not been committed. Use it only when you intend to restart the merge.
Check 5: Verify the merge completed
After resolving conflicts and committing, confirm that Git recorded a merge commit:
git log --merges
Expected result: At least one merge commit appears, typically with two parent commits. If no merge commit exists, the resolution was not committed and the conflict may still be active.
Fixes Tied to Findings
- Missing merge-tool entry: Reconfigure
merge.toolin GitKraken preferences or viagit config --local merge.tool gitkraken. - LFS pointer file: Run
git lfs pull, then resolve the conflict using GitKraken’s external diff tool or an external editor. - Encoding mismatch: Convert the file to UTF-8 without BOM in your text editor, then reopen the conflict in GitKraken.
- Stale merge state: Run
git merge --abort, verify withgit status, then start the merge again. - Editor crash with markers remaining: Reopen the conflicted file, resolve the markers manually, save, and commit.
Escalation Criteria
Escalate to GitKraken support or your internal tooling team when:
- The
merge.toolvalue is correct but GitKraken still fails to launch the editor. - You have pulled LFS content, corrected encoding, and aborted any stale merge, yet the editor crashes on every conflicted file.
git statuscontinues to showMERGE_HEADafter a successfulgit merge --abort, indicating repository state corruption.
When escalating, include the GitKraken version, operating system, the output of git config --local merge.tool, and whether the affected files are tracked by Git LFS.
Limitations and Verification
GitKraken’s built-in editor does not render Git LFS pointer files, and its encoding auto-detection is limited to common formats. Manual edits to .gitconfig can break editor integration if performed without a backup.
To verify that a fix worked, open a previously conflicted file in GitKraken and confirm that both sides of the conflict display with merge markers highlighted. After resolving and committing, run git status; it should report a clean working tree with no unmerged paths.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.