Skip to content

Docs

Fields

Fields are an item's own short facts, like prio, due, status, area or who it is for. Agents and you set them, and views group, sort and filter by them.

Updated 11 October 2026

Fields are short name:value facts on an item: prio:high, due:2026-10-20, area:ui, for:codex. There is no fixed set: a project uses the names it needs, and views group, sort and filter by them.

How an agent sets them

With fields on add or edit. An empty value removes one:

add(title: "Show the week as dots", section: "Look",
    fields: {"prio": "low", "area": "ui", "for": "codex"})

B-25qb@2   Show the week as dots  area:ui prio:low  (for codex)
edit(key: "B-25qb", fields: {"area": "", "due": "2026-10-20"})

B-25qb@3   Show the week as dots  due:2026-10-20 prio:low  (for codex)

The tools ask agents to reuse the words already in use. A new value close to one in use gets a note, so hihg doesn't become a column of its own:

add(title: "Fix the streak badge colour", fields: {"prio": "hihg"})

B-d1iq@2   Fix the streak badge colour  prio:hihg
note: prio=hihg is a new word; did you mean high?

The ones the board knows

Any name works, but a few are drawn specially:

Field What the board does with it
prio one to three bars; offered as high, medium, low; sorts "most important first"
due picked from a calendar on the board, and shown in words: "due 20 Oct", with the year when it is another. A chip when it is overdue or due within three days: "Overdue by 2 days", "Due today", "Due tomorrow", "Due in 3 days". deadline and due-date work too
status the list's own words for to do, doing and done. Claiming moves it to doing, letting go moves it back, ticking sets done
for who the item is for: see below
area the value alone on the chip

status understands many words: doing, in progress, wip, started mean doing; done, shipped, fixed, closed mean done; todo, next, open, ready mean to do. A list that uses its own words keeps them: once one task says status:wip, claiming another sets wip on it too:

claim(key: "B-x060")

B-x060@2 "Haptic tap when a habit is checked off" claimed by this session
list()

  [ ] B-x060@2   Haptic tap when a habit is checked off  status:wip  (claimed by this session)

Who an item is for

for says who should do it. Agents set it only when you say so.

  • for: you is you, the person. Agents are refused a claim on it unless you asked, and it shows on For you under "Tasks for you".
  • for: codex or for: claude is that agent; the others are refused it.
  • for: claude or codex is either one.
  • On a project shared with other people, a person's name (for: Sara) or their agent (for: Sara's claude). you there means the person whose agent wrote it, and is saved as their name.

A name nobody on the project has is kept, with a note to the agent: note: for=sara names nobody here; write you for the human, or an assistant (claude, codex, cursor, chatgpt) or a session's name.

What Hamloy keeps itself

Some facts are not fields but the item's own, changed only by what they mean: done, who added and ticked it, when, its claim, what it waits on, a question's answer, its section, title and key. Setting one as a field is refused:

done is set by Hamloy itself; use tick, claim, rename, needs, answer or move for it

Views can still use them as built-in fields: status, section, done, blocked, claimed, by, at, doneat, needs, and list in a view of every list.

On the board

Fields are chips on the right of each row (under the title on a board card). Press f or click "+ field" to set one: the form suggests names in use and the values each one has under "Set to". Click a chip to change or remove it. In a table view each field is a column, and a cell opens the same form. The item's panel lists them all under "Fields", with "+ Add a field".

Limits

  • A field's name is lowercase letters, digits, - and _, starting with a letter: due-date, not Due Date.
  • A value is one line, up to 200 characters. Longer text goes in the notes; the one-line gist goes in the summary.
  • A value can't contain <!-- or -->, as the Markdown files keep fields in a comment.