> For the complete documentation index, see [llms.txt](https://docs.notionapps.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.notionapps.com/troubleshooting/save-conflict-409-multi-tab.md).

# Save conflict (409 / \`\_\_v\`)

Canonical page for optimistic-lock failures when two builder sessions save the same app.

## What this is

Each app document has a version field (`__v`). **Publish** and **autosave** send that version. If another tab, collaborator, or publish already wrote a newer version, the API returns **HTTP 409 Conflict** (`UPDATE_APP_FAILED` in error tracking). The product shows a conflict UI. This is expected, not a data-loss bug.

Bugsnag 409s are **noise** unless volume spikes or a customer cannot save at all.

## When you see it

* Two browser tabs on the same app
* You and a collaborator editing together
* Publish in one tab while autosave runs in another
* A stale tab left open overnight

## Fix it

1. Leave one builder tab.
2. In the tab you want to keep, reload when the conflict UI asks you to. Accept the **server** copy if you are not sure which is newer.
3. Re-apply only the edits you still need.
4. Publish once.

Do not keep clicking Publish through the 409. You will lose the race again.

## What users see

Nothing. 409 is a builder event. The last **successful** publish is still live.

## Example

You publish from tab A while tab B autosaves a filter change. Tab B shows conflict. Close tab B, reload tab A, redo the filter, publish once.

## Related

[Publish & share](https://docs.notionapps.com/publish-and-share). [Save failed / field missing](https://docs.notionapps.com/troubleshooting/save-failed-field-missing-after-sync) (different error: 400, not 409).
