Skip to content

Conflict Resolution

The short version: most edits merge automatically and you never see a conflict modal. When you do, N2O shows you both versions side-by-side and you pick — nothing is lost until you decide.


A conflict requires two things to be true:

  1. You edited a page in Obsidian since the last sync.
  2. Someone edited the same page in Notion since the last sync.

If your edits are in different parts of the page — Notion changed a heading, you edited a paragraph — N2O merges them automatically using character-level diffing. No modal, no interruption, nothing to do.

A conflict modal only appears when both sides changed the same block and N2O can’t safely decide which version to keep.


After every sync, N2O stores a base version — a snapshot of the content at the point both sides agreed. On the next sync it compares three versions:

  • Base — what both sides last agreed on
  • Notion — what Notion has now
  • Obsidian — what your vault has now

Changes that don’t overlap merge silently. Overlapping changes become a conflict.

Same-minute edits: Notion timestamps only update once per minute. If both sides were edited within the same minute, N2O compares content hashes instead of timestamps — so a false conflict isn’t raised just because you saved twice quickly.


Set your strategy in Sync Configuration > Sync Behavior > Conflict Strategy:

StrategyBest for
Ask me (default)When you want control — the modal appears and you decide. Good while you’re getting started.
Notion always winsTeams where Notion is the source of truth. Your Obsidian edits are discarded on conflict.
Obsidian always winsWriters who work primarily in Obsidian. Your local edits always take precedence.
Newest edit winsLight collaboration — whoever edited most recently wins. Uses file mod time vs. Notion timestamp.

Practical tip: if you mostly write in Obsidian and rarely touch Notion directly, “Obsidian always wins” eliminates the modal entirely without losing work. If your team writes in Notion, go with “Notion always wins.”


When strategy is “Ask me” and a true conflict is detected, a modal shows both versions side-by-side with color-coded diffs — deletions in red, insertions in green.

ButtonWhat it does
Accept NotionKeep Notion’s version. Your Obsidian edit is discarded for this block.
Accept ObsidianKeep your Obsidian version. It will be pushed to Notion on the next push sync.
Accept MergedUse N2O’s auto-merged result. Only available when a partial merge was possible.
Edit MergeOpens an in-Obsidian editor pre-filled with the merged content. You hand-craft the final result.
SkipLeave both versions as-is for now. The conflict will appear again on the next sync.

If several pages conflict in the same sync cycle, the modal steps through them one by one. You can:

  • Resolve each individually
  • Check “Apply to all remaining” to apply the same choice to everything left
  • Use Accept All Notion or Accept All Obsidian to resolve everything in one click

Enable Conflict Notes in Sync Configuration > Sync Behavior > Conflict Notes and N2O saves the discarded version as a file whenever a conflict is resolved:

Projects/
├── My Project.md ← the kept version
└── My Project.conflict-2026-03-15T14-30.md ← the discarded version

The conflict note contains the full discarded content, plus frontmatter showing the conflict date, resolution strategy, and which version won. You can open it, copy what you need, then delete it.

This is optional but recommended — it means you can always recover the version that wasn’t chosen.


The best conflict is one that never happens:

  • Sync before editing. Pull from Notion before you start writing in Obsidian, especially on pages you know others edit.
  • Pick a primary editor. If you mostly write in Obsidian, use “Obsidian always wins.” If your team writes in Notion, use “Notion always wins.” Fewer decisions, fewer interruptions.
  • Use auto-push. With auto-push enabled, your Obsidian edits reach Notion within seconds — before anyone else has a chance to edit the same content.
  • Shorter sync intervals. The more frequently you sync, the smaller the window for a conflict to develop.

Property conflicts (frontmatter fields like status, due-date, tags) follow the same three-way merge logic as block content. If Notion changed a property and you didn’t touch it in Obsidian — or vice versa — it merges automatically. A conflict only appears if both sides changed the same property to different values.

Read-only properties (formula, rollup, created_time, etc.) are never pushed, so they can never conflict.