WingTask Migration Guide
A new version of WingTask is launching on Monday, June 22, 2026, and we’re
excited to share what’s coming. Read the full announcement
for everything that’s new — it’s been rebuilt for Taskwarrior 3 and will offer
a sync server just like the one you’re using today. Existing accounts are being
migrated automatically.
The current version of WingTask at app.wingtask.com and sync.wingtask.com will
shut down permanently on Saturday, June 20 2026, ending Taskwarrior 2 sync
support.
Your data is safe — copies will be kept, and if you ever need a backup you can
email us and we’ll get it to you.
About the migration
On June 20, your TW2 sync data is pulled from the server, migrated to TW3
format, and loaded onto the new sync server. When WingTask relaunches on
June 22, you’ll receive a launch email with your new TW3 sync credentials.
What you need to do after that depends on how you currently use WingTask and
Taskwarrior. Use the questions below to find the right set of steps for your
situation.
Which scenario applies to you?
1. Do you run Taskwarrior locally on your own computer?
- No, I only use WingTask in the browser → Scenario D
- I’ve never used WingTask before → Scenario E
- Yes → continue to question 2
2. Which version of Taskwarrior are you running?
- Taskwarrior 2 → Scenario A
- Taskwarrior 3 → continue to question 3
3. Have you already run task import-v2 to migrate your local TW2 data?
- No, or I’m not sure → Scenario A
- Yes → continue to question 4
4. Have you synced Taskwarrior 3 with a TaskChampion sync server (other than
the old WingTask sync server)?
- No, I haven’t synced with any TaskChampion server yet → Scenario B
- Yes, I’m syncing with a different TaskChampion server → Scenario C
Scenario A — Standard TW2 user
This applies if: You are currently using WingTask with Taskwarrior 2. If
you have already installed Taskwarrior 3, skip step 5.
- Before Saturday, June 20, 2026, run
task syncon all your devices to
ensure no local-only tasks are missed in the migration. - On Monday, June 22, 2026, you will receive a launch email with your new
TW3 sync credentials and a link to these instructions. - Log into WingTask and go to Settings → Taskwarrior Sync to retrieve your
sync credentials. - On each device, back up your existing TW2 data:
mv ~/.task ~/.task.bak - Install Taskwarrior 3.
- Open
~/.taskrc, remove alltaskd.*lines, and add the new TW3 sync
credentials (sync.server.origin,sync.server.client_id,
sync.encryption_secret). - Run
task sync. Taskwarrior 3 creates a fresh~/.taskdirectory with a
newtaskchampion.sqlite3and pulls all your migrated tasks from the server. - Repeat steps 6–7 on each additional device you run Taskwarrior on.
- Migration complete. Keep
~/.task.bakas a backup until you have confirmed
all tasks are present, then delete it if desired.
Scenario B — TW3 installed, import-v2 already run, local changes, never synced to any TaskChampion server
This applies if: You have already installed Taskwarrior 3 and run
task import-v2 locally, have made local changes since then, but have never
synced to any TaskChampion sync server.
- Log into WingTask and go to Settings → Taskwarrior Sync to retrieve
your sync credentials. Open~/.taskrc, remove alltaskd.*lines, and
add the new TW3 sync credentials. - Run
task sync. Because this is your first sync with the WingTask server,
TaskChampion merges both sides — the server’s copy (migrated from your TW2
backup) and your local replica (yourimport-v2result plus any local
changes). Your local-only changes are pushed up; anything on the server that
isn’t local comes down. - Migration complete. Since both sides originated from the same TW2 source,
the merge is clean — tasks that exist on both sides reconcile by UUID rather
than duplicating.
Scenario C — TW3 installed, actively syncing with a different TaskChampion server
This applies if: You have Taskwarrior 3 installed and have been syncing
with a different TaskChampion sync server and want to switch to WingTask. These
steps apply any time you are migrating from one TaskChampion sync server to
another.
Because your local taskchampion.sqlite3 has already synced with another
server, your tasks are marked as synced and TaskChampion will not push them to
a new server. The export/delete/reimport below resets that sync state so your
tasks are treated as new local changes on the first sync with WingTask.
- Run
task syncone final time against your current server to ensure your
local replica is fully up to date. - Export your tasks to JSON:
task export > ~/tasks-backup.json - Delete your local TaskChampion database:
rm ~/.task/taskchampion.sqlite3 - Log into WingTask and go to Settings → Taskwarrior Sync to retrieve
your sync credentials. Update~/.taskrcwith these credentials, replacing
the old server settings. - Reimport your tasks from the JSON backup:
task import ~/tasks-backup.json - Run
task sync. This is a first sync with WingTask’s server. Your freshly
imported local state is merged with WingTask’s TW2 migration data.- Tasks are reconciled by UUID — any task that exists on both sides results
in one task, not two. - For tasks that exist on both sides, your version (more recently modified)
wins. - Tasks only on the server fill in anything not present locally.
- Tasks are reconciled by UUID — any task that exists on both sides results
- Spot-check that your tasks look correct, then keep
~/tasks-backup.jsonas
a backup until you are confident everything is in order.
Scenario D — WingTask web only, no local Taskwarrior installation
This applies if: You only use WingTask via the web and do not run
Taskwarrior locally.
No local action required. Log into WingTask on June 22 and confirm your
account. Your tasks are already available.
Scenario E — New user, never used WingTask or Taskwarrior before
This applies if: You are a new WingTask user with no prior Taskwarrior
data.
- Install Taskwarrior 3.
- Add WingTask’s TW3 sync credentials to
~/.taskrc. - Run
task sync. Any existing tasks on the server come down; your local
changes go up. - Migration complete.