Skip to content

Tutorial

Run tasks in parallel

Give each task its own worktree so several agents can work on one project at once without stepping on each other, then follow them all from the Inbox.

Why worktrees

Two agents editing the same files at the same time make a mess. A worktree avoids that: it is a second checkout of your repository, on its own branch, in its own folder. A task that runs in a worktree changes only that copy, so your main checkout stays exactly as you left it, and the next task can start in a worktree of its own.

In Deska every worktree also gets its own canvas. Switch worktrees and the panels switch with you; come back and the layout is where you left it.

1. Start a task in a new worktree

Open the composer with New task or Cmd/CtrlI, describe the work, and use the branch chip under the prompt to run it in a new worktree instead of the checkout you are in. Deska cuts the branch, prepares the folder and starts the agent there.

The New task composer with the branch chip under the prompt
The branch chip (main) decides where the task runs.
TipIf most of your tasks should get their own worktree, make it the default in Settings → Git and worktrees, under New tasks run in. Cut new worktrees from origin starts each one from what your remote has.

Start the next task the same way while the first one works, or press Cmd/CtrlEnter to start a task and land in a fresh draft for the next one.

2. Move between worktrees

Click the branch in the crumb at the top of the window. The switcher lists your main checkout first, then every other worktree; type to find one by branch or task, and press Enter to stand on it.

The worktree switcher opened from the branch crumb, listing main, cart-savings and gift-cards, with New worktree and All worktrees
  • New worktree cuts one by hand, for work you want to do yourself.
  • All worktrees shows every worktree of the project at once.
  • Clean up appears when some worktrees have nothing left to lose and removes them in one confirm.

3. Watch them all from the Inbox

You do not need to stand on a worktree to know how its task is doing. The Inbox puts every task in one board, sorted by what it needs from you: Needs you first, then Working, Landed and Idle.

The Inbox board: two tasks need you, one is working, one has landed
  • Click a task to open it right there, or answer from the Inbox chip: an approval shows an Approve button in the short list.
  • Cmd/CtrlShiftJ jumps to the next task that needs you, wherever it runs.
  • Details on a row opens its actions: Terminal opens a terminal in that task’s folder, and you can rename, snooze, settle, archive or delete it.

4. Bring the work home

When a task lands, stand on its worktree and review it in Source Control, exactly as in your first agent task: read the diff, commit, then publish the branch and open a pull request on your git host.

Once its branch is merged, remove the worktree from the switcher (point at its row and choose remove) or with Clean up. Before uncommitted files or commits that exist nowhere else go, Deska says so in the confirm and keeps a hidden copy for 30 days. The details are in Removing worktrees.

Next