---
title: Fields
description: 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.
url: https://hamloy.com/docs/fields
---

[Docs](https://hamloy.com/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](https://hamloy.com/docs/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](https://hamloy.com/docs/markdown-files) keep fields in a comment.
