Docs

Tasks

How to work on tasks in Emdash

A task is a unit of work for an agent. Each task gets its own git branch and worktree, keeping changes isolated until you merge.

Creating a Task

  1. Click Add Task or press ⌘N
  2. Choose how to start the task: from a branch, issue, or pull request
  3. Enter a name (or let Emdash auto-generate one)
  4. Select a provider (Claude Code, Codex, Qwen, etc.)
  5. Click Create

The agent spawns in a terminal and starts working.

Creating a task in Emdash

Worktrees

By default, each task creates a git worktree—a separate copy of your codebase on its own branch. This keeps agent changes isolated from your main branch and other tasks and prevents agents from interfering with each other.

Local project worktrees are created in your configured worktree directory, which defaults to ~/emdash/worktrees. Remote SSH project worktrees default to .emdash/worktrees inside the remote project.

You can disable worktrees to work directly on your checked out branch. A warning appears since changes won't be isolated.

After Starting

Once a task starts:

  1. Emdash prepares the selected branch, pull request, or worktree for the task
  2. The agent spawns in the terminal
  3. Chat with the agent or let your initial prompt guide it

Terminal state saves automatically. Close and reopen Emdash, and agents resume where they left off.

Last updated on June 11, 2026