Tasks

Tasks are to-do items — things you or the agent want to track inside a project. Use them for anything with a "done" state: work to get to later, steps in a bigger effort, or items the agent creates while working for you.

Tasks are a first-party app that is always on in every project — there's nothing to enable, and its panel sits in the project sidebar like any other.

Tasks don't run on their own. If you want Avi to do something on a schedule or in the background, ask it in chat and it will set up a background agent — tasks are for tracking, background agents are for running.

Creating a task

Open the Tasks panel from the project sidebar and click New task. You can also just ask the agent ("add a task to review the Q3 numbers") — it creates and updates tasks with the same fields you see.

Fields

  • Name — what the task is.
  • Notes — free-form markdown: persistent context about the task (links, requirements, decisions). Yours to own — nothing writes them automatically.
  • Due date — optional. A due date is organizational; it schedules nothing.
  • StatusOpen, Completed, or Cancelled. Toggle completion with the checkbox right in the list.

Every task also carries a metadata bag your apps can write to — see Data Types.

Subtasks

A task can have subtasks — useful for breaking a larger piece of work into steps, or for letting the agent lay out a checklist beneath a parent task. The list expands a parent row to show its children, and a task's own view lists its subtasks with a checkbox each.

Two rules worth knowing:

  • Completing a parent never completes its children. They're separate to-dos.
  • Deleting a task deletes its subtasks with it.

Finding tasks

The panel has a search box at the top: type to filter to tasks whose name or notes contain what you typed. Tasks also turn up in Avi's global search, and you can +-mention one in chat to point the agent at it.

In the feed

A task being created or completed posts to the project's Updates feed. Edits, deletes, and reopens stay quiet — the panel refreshes itself instead.

Want it to happen automatically?

Tell the agent in chat — "check the homepage every 15 minutes and page me if it's down", "every Monday morning summarize last week's GitHub issues". It will spawn a background agent that runs on that schedule and reports progress to the Background Agents panel.