# How Undo and Sync Work Together (Retired)

**URL:** <https://community.wingtask.com/t/how-undo-and-sync-work-together-retired/28>\
**Category:** Documentation\
**Created:** [June 9, 2026, 12:47am UTC](https://community.wingtask.com/t/how-undo-and-sync-work-together-retired/28 "2026-06-09T00:47:55Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![timcase](https://community.wingtask.com/user_avatar/community.wingtask.com/timcase/32/15_2.png) [@timcase](https://community.wingtask.com/u/timcase)\
**Post date:** [June 9, 2026, 12:47am UTC](https://community.wingtask.com/t/how-undo-and-sync-work-together-retired/28/1 "2026-06-09T00:47:55Z")

</div>

# How Undo and Sync Work Together (Retired)

> **This article is out of date.** WingTask no longer has a Sync  
> button. Changes now sync on their own as soon as you make them, and  
> undo keeps working after they sync, so the manual process described  
> below is no longer needed. See  
> [New: Changes sync on their own, and undo survives sync](https://community.wingtask.com/t/new-changes-sync-on-their-own-and-undo-survives-sync/54).

## Overview

WingTask lets you undo the most recent change to a task. Changes are  
held locally until you sync, which means you have a window to reverse  
an action before it is committed to the server.

* * *

## How It Works

### Undo

Undo reverses the most recent mutation of a task. A mutation is any  
change: creating a task, updating a field, marking a task done, or  
deleting it.

You can undo only the single most recent change. Earlier changes are  
visible in the Undo history, but only the last one has an Undo button.

To undo:

1. Click the Undo link that appears after making a change, or go to  
the Undo page from the navigation.
2. The most recent change is shown at the top. Click **Undo** to  
reverse it.

The Undo page also shows the full history of changes that have not  
yet been synced. For updates, you can expand each entry to see which  
fields changed and what the old and new values were.

 ![undo_history](https://community.wingtask.com/uploads/default/original/1X/d1b780671c78bad8aceb74e07355b17c565a125c.png)

### Sync

WingTask keeps a private task database for each account. Changes you  
make in WingTask are written to this database immediately, but they  
are not pushed to the sync server until you click **Sync**.

The Sync button in the navigation shows a count of how many changes  
are waiting to be synced. Clicking Sync pushes those changes to the  
server and pulls in any changes from other clients.

Once changes are synced, they are committed. Undo is no longer  
available for synced changes.

![sync_button](https://community.wingtask.com/uploads/default/original/1X/207bab26b3f0d6ccdd4da5246c1c8943639a4d9a.png)

### Why sync is manual

Keeping sync manual is what makes undo possible. If WingTask pushed  
changes to the server immediately, there would be no way to reverse  
them.

By holding changes locally, WingTask gives you time to catch a  
mistake before it reaches your other devices. When you are confident  
in your changes, click Sync to commit them.

* * *

## WingTask and Taskwarrior

WingTask behaves as a TaskChampion client, the same as Taskwarrior.  
Changes made in WingTask are not immediately visible to Taskwarrior,  
and changes made in Taskwarrior are not immediately visible in  
WingTask. Both clients sync through the TaskChampion sync server.

To get changes from WingTask into Taskwarrior:

1. Click **Sync** in WingTask to push your changes to the server.
2. Run `task sync` in your terminal. Taskwarrior pulls the changes  
down from the server.

To get changes from Taskwarrior into WingTask:

1. Run `task sync` in your terminal to push your changes to the  
server.
2. Click **Sync** in WingTask to pull the changes down.

Neither client sees the other’s changes until both have synced  
through the server.

* * *

## Examples

### Example: Undo a completed task

You mark a task done, then realize it was the wrong one.

1. A toast notification appears with an Undo link. Click it.
2. The task is restored to its previous state.

If you had already clicked Sync before noticing the mistake, undo is  
no longer available. The change has been committed to the server.

* * *

### Example: Undo then sync

You create a task, then decide you do not want it.

1. The Sync button shows a count of 1 — one change waiting.
2. Open the Undo page. The new task appears at the top.
3. Click **Undo**. The task is removed. The sync count returns to 0.
4. Click **Sync** when you are ready. Nothing is pushed because the  
creation was reversed before it was committed.

* * *

## Notes

- Only the most recent change can be undone.
- Syncing commits all pending changes. Undo is not available for  
changes that have been synced.
- The Undo history shows all unsynced changes, but only the most  
recent one can be reversed.
- If you use Taskwarrior on the command line, you must click Sync in  
WingTask before running `task sync` to exchange changes between  
the two clients.

* * *

## Related Topics

- [Recurring Tasks in WingTask](https://community.wingtask.com/t/recurring-tasks-in-wingtask/26)
- [Connecting WingTask Sync Server to Local Taskwarrior CLI](https://community.wingtask.com/t/connecting-wingtask-sync-server-to-local-taskwarrior-cli/19)
