Docs

Tasks

How to work on tasks in Emdash

A task is a unit of work for an agent. Use a separate Git branch and worktree to keep changes isolated, or work in an existing workspace or the repository root.

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

For agents that expose selectable models, task creation and new conversation creation show a model selector. Choose a specific model, or leave Default model selected to use the agent CLI's own default.

The agent opens in Chat UI or a terminal, depending on the selected interface.

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.

Worktrees are created on the machine running the project. The built-in root is ~/emdash/worktrees; project settings override machine defaults. You can also select an existing workspace instead of creating a new worktree.

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 starts in the selected interface
  3. Chat with the agent or let your initial prompt guide it

Saved conversations and running processes have different lifetimes. Use tmux for persistent terminal and TUI-agent sessions. For remote work, see Remote Projects and Tasks.

Last updated on October 17, 2026