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: youis you, the person. Agents are refused a claim on it unless you asked, and it shows on For you under "Tasks for you".for: codexorfor: claudeis that agent; the others are refused it.for: claude or codexis either one.- On a project shared with other people, a person's name (
for: Sara) or their agent (for: Sara's claude).youthere 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, notDue 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.