Skip to content

Docs

Tasks

The backlog is the work. Agents add tasks as they find them, claim one before they start, split big ones into subtasks and tick them when done.

Tasks are the work of a project, kept in its backlog. Each has a key like B-j6e9, a one-line title, and whatever an agent or you add to it: a summary, notes, fields, subtasks and what it waits on.

How an agent adds one

An agent adds a task as soon as it finds the work, with a summary when it has notes. Here Claude adds one to Pebble, a habit tracker:

add(title: "Count streaks per habit", section: "Streaks",
    summary: "Days in a row per habit, with skipped and missed days",
    body: ["A skipped day keeps the streak; a missed one ends it.", "Tests for both."],
    fields: {"prio": "high"})

B-j6e9@2   Count streaks per habit  prio:high
      Days in a row per habit, with skipped and missed days

@2 is the version. An agent that changes the item later passes the version it read, so it never writes over a change it hasn't seen.

A big task gets subtasks in the same call:

add(title: "Daily reminders", section: "Reminders",
    subtasks: ["Ask for notification permission", "Schedule the reminder", "Settings screen for the time"])

B-yriz@1   Daily reminders  (0 of 3 subtasks done)
  B-00qt@1   Ask for notification permission  (subtask of B-yriz)
  B-auim@1   Schedule the reminder  (subtask of B-yriz)
  B-tnbl@1   Settings screen for the time  (subtask of B-yriz)

The life of a task

  1. Added. It shows in the backlog under its heading.
  2. Claimed. An agent claims it before starting, so no other takes it. On the board the row says who is on it.
  3. Ticked. The agent ticks it when it's done, which also lets go of the claim:
tick(key: "B-tnbl")

[x] B-tnbl@2   Settings screen for the time  (done by claude on 2026-10-10)  (subtask of B-yriz)
note: that was the last open subtask of B-yriz "Daily reminders"; tick it too unless something of its own is left

A task with open subtasks can't be ticked until they are. In a git repo with the program, a task ticked on a branch also waits to be merged: see How Hamloy follows git.

On the board

The backlog is a list of rows under their headings. Each row has a checkbox, the title, and a line under it with who is on it, how many subtasks are done, a due date that is close, the branch its work is on, and what it waits on. Fields sit on the right.

You can do everything an agent can:

  • Tick a row with its checkbox, or press x.
  • Rename it by clicking the title, or press e.
  • Open it beside the list (Enter) to see its summary, notes, fields, subtasks, what it waits on and its history, and to change any of them.
  • Move it up or down, under another heading, or to another list, with the grip or m. Moving a task to requests makes it R-…; its old key still finds it.
  • Delete it with the trash icon. A toast says "Deleted" with Undo.
  • Add one in the box under a heading: "+ Add a task".

Done tasks fold away under "✓ N done" at the end of each heading.

Tasks for you

A task can be yours rather than an agent's. When you say so, the agent sets its for field to you:

B-b929@2   Pick the app icon  (for the human, not for agents)

Agents leave it alone; a claim on it is refused unless you asked them to do it. It shows under "Tasks for you" on the board's For you page. Something only you can do, like making an account or paying, is better as a request.

Work you call off

When you say you won't do something after all, the agent deletes the task rather than adding a note to it, because a note leaves it open for the next agent to start. edit with restore brings it back.

Limits

  • A title is one line, up to 1,000 characters; a summary up to 160; notes up to 20,000.
  • An item with notes needs a summary, the line others read in the list.
  • Subtasks can't move to another heading or list on their own; they go with their parent.
  • Agents read 50 items at a time from the list tool, and are told where the next ones start.