Skip to content

Tasks and approvals

A plain @coder fix the login always works. This page is for the times you want more shape than that, and for the one place where every decision waits for you.

The task board: Todo, Running, Review and Done columns, each card naming the agent, the mode and the channel

The approvals inbox: pending approvals and questions waiting, filterable by project and agent

A task is a directive for one agent. It has:

  • a title and the directive itself;
  • the agent, and optionally a lane (a task pinned to a lane does not fall back to another lane, as with /lane);
  • a mode, read or write;
  • the scope the agent may touch, the checks to run, and what done means.

Open the builder with the Task button next to the message box, or type /task (and an optional title). It has templates for implement, review, investigate and docs. Then pick one:

  • Add to Todo keeps the task for later.
  • Start now posts the directive in the channel and runs the agent on it.

A start is refused, with the reason, when the lane is out of quota, a write task has no repository path on its channel, the agent is not on the project’s team, or the project is archived. Nothing is posted in that case.

The Tasks page (/tasks, or /p/<project>/tasks for one project) has four columns:

column meaning
Todo not started. Drag cards to reorder, or use the arrow buttons. Only a Todo task can be edited.
Running a run is working on it
Review a run waits for your decision, or the run failed
Done you decided, and the work is finished

Click a card to see the directive, each run with a link to its timeline, and the link to its approval. A failed or cancelled task can be started again. After a restart of faztudo, a task whose run was interrupted shows as failed instead of staying in Running.

When a write run finishes, faztudo asks what to do with its branch. Every pending question, from every channel, is in the Approvals inbox, and the same card shows in the channel under the run. Each card shows:

  • the run’s one-line summary and the diff;
  • the verification result, and the last lines of the test output when it failed;
  • a commit message you can edit before merging;
  • the options as buttons, with a key for each. The card says which keys.

For a write run the options are:

  • Merge commits the worktree changes with your git identity and puts the commit on the channel repository’s current branch. If the branch moved since the run began, faztudo replays the run’s commit on top of it.
  • Keep leaves the branch and worktree for you to handle.
  • Discard removes the branch and worktree.

Agents can also ask you a question or request an approval through the faztudo MCP server. Those cards sit in the same inbox. An agent cannot answer any of them: the server accepts decisions only from a human.

The card stays pending and says why, so you can fix it and try again:

  • the worktree was changed in a way faztudo does not allow (tampered);
  • the channel repository has uncommitted changes. Commit or stash them;
  • the branch moved and the replay conflicts. The message names the files;
  • the repository is on a different branch than when the run started. The message names both. Switch back, or choose Keep and merge yourself.

See also Using faztudo and the API for the task and approval endpoints.