Tasks
A task is the durable user request. Maestro preserves the original text for audit and derives a short title and execution specification for display, prompts, branch names and pull-request titles.
Create a task
Section titled “Create a task”Dashboard and CLI:
maestro.cmd task create my-app "Add a monthly expense summary to the dashboard"maestro.cmd task list --project my-appTelegram can use /task @my-app <request>. Chat can suggest or create a task when its access mode
allows a governed action and the user explicitly confirms it.
Task and Goal are different
Section titled “Task and Goal are different”- Task: the durable request, project, status, branch/worktree and delivery record.
- Goal: one persistent execution run for that task, with phases, steps, provider attempts, checkpoints and validation evidence.
A task can have more than one Goal run over its lifetime, but retry/resume operations are designed to preserve the existing worktree and checkpoint rather than quietly starting from zero.
Task statuses
Section titled “Task statuses”Common statuses are queued, planning, implementing, testing, reviewing,
changes_requested, awaiting_human, ready_to_merge, waiting_provider, waiting_dependency,
blocked, failed, cancelled, rejected and done.
queued means it has not been prepared or started. awaiting_human means delivery evidence and a
draft PR are waiting for review. done means the task is finished; a standalone PR still needs the
human merge decision unless it is handled outside Maestro.
Controls
Section titled “Controls”- Prepare creates the isolated branch/worktree.
- Start goal begins execution after preparation and preflight.
- Cancel stops active work and keeps history.
- Retry is reserved for a budget-blocked Goal and raises its step ceiling while preserving the checkpoint.
- Resume reopens a blocked, failed or provider-waiting Goal after the underlying issue is fixed.
- Delete is limited to tasks without a worktree or Goal history.