amenbo 19.0.0 — a category can hold more than one answer
A category can now be set to take several answers on one record, so work that sits on two sides is recorded as both. The decision-record work that started in 16.0.0 also landed by this version.
Categories can now take more than one answer on the same record. The decision-record work that started in 16.0.0 also landed by this version.
A category can hold several answers
Some work sits on two sides at once — a crash that happens on both iOS and Android. A category that kept one answer per record made you pick a representative, and the other side went unrecorded.
Pass --cardinality multi when you create the category, or tick Multi-select in the Manage categories panel on screen.
$ amenbo dimension add --name Platform --cardinality multi --show-on-card
✓ Created dimension: Platform (AMB-DIM-…)
$ amenbo dimension set AMB-T-… Platform ios
$ amenbo dimension set AMB-T-… Platform android
$ amenbo task show AMB-T-…
AMB-T-… The crash on both handsets
dimensions: Platform=ios, Platform=android
Narrowing by either value finds it, and the card shows both. Taking one off leaves the rest:
$ amenbo dimension unset AMB-T-… Platform ios
✓ Cleared value on task AMB-T-…
$ amenbo task show AMB-T-…
dimensions: Platform=android
| Setting | Values on one record | Adding another value | Can group the board |
|---|---|---|---|
| single (the default) | one | replaces what was there | yes |
| multi | as many as you like | keeps what was there and adds this | no |
Grouping the board by a multi-select category would put one record in several columns at once, and a column says where a task is — so a multi-select category is not offered as a way to group.
Going back to single is refused while any record still answers with several, and the refusal names how many:
$ amenbo dimension update Platform --cardinality single
Error: 1 record(s) answer 'Platform' with more than one value,
so it cannot go back to single-select — clear the extra values off them first
Decisions can be classified as they are recorded
In 16.0.0 you could classify a decision, but only as a separate step after recording it. Now you name it in the same command:
$ amenbo decision add --title "Ship updates through a prerelease first" \
--body "..." --dim "Area=sync"
✓ Recorded decision: Ship updates through a prerelease first (AMB-D-…)
If a required category is still blank, recording names which one is left:
$ amenbo decision add --title "Keep the store on this device" --body "..."
✓ Recorded decision: Keep the store on this device (AMB-D-…)
still to classify: Area — pass --dim <axis>=<value> here, or fill it in with
`amenbo dimension set AMB-D-… <axis> <value>` (accepting it is refused until then)
Trying to settle it while it is blank is refused, and says what to fill in:
$ amenbo decision accept AMB-D-… --yes
Error: this decision carries no value on Area, which this project requires
Hint: This project requires a value on that axis before a decision can be settled.
A decision now also shows who settled it, alongside when:
$ amenbo decision show AMB-D-…
AMB-D-… Keep the store on this device
status: accepted
recorded: 2026-09-02T15:33:16Z
decided: 2026-09-02T15:33:22Z by AI
On screen, the form for recording a decision asks for the categories the project requires, and the decision listing narrows by category the way the board does.
Choose which side a category classifies
Categories go on both tasks and decisions, but some only mean something on one side. --applies-to picks:
$ amenbo dimension update Platform --applies-to task
✓ Updated dimension: AMB-DIM-…
$ amenbo dimension show Platform
AMB-DIM-… Platform (d1)
kind: multi, show-on-card, tasks only
Narrowing on the side it does not classify is refused:
$ amenbo decision list --filter "dim:Platform=ios"
Error: dimension 'Platform' does not classify decisions,
so `dim:` cannot narrow decisions by it
On screen too, a category narrowed to tasks no longer appears on a decision’s page. Values already assigned are not removed.
Other changes
- Japanese on screen was corrected — wording that had to be read twice to be understood. Status names were also brought in line with what is on screen in eight other languages.
- A new decision gets the “current” value automatically — on a category set as the time axis, the value whose period covers today goes on, the same as on tasks. You are no longer asked for it while recording.
- Words reach decisions —
amenbo searchnow finds a decision by the name of a category value too. - A card lands anywhere in the column it looks like it is over — it used to sometimes not land even when it appeared to be over the column.
- Category names can no longer contain whitespace — a name with whitespace could not be named in
--filter. Names you already have keep working. amenbo configreads back every settingconfig setwrites — some entries were writable but did not show up.
Getting it
Open the installer for your OS from the latest release. No admin rights are needed.
- macOS —
.pkg, one for Apple silicon and one for Intel (GUI and CLI come together) - Windows — setup
.exe(GUI and CLI come together) - Linux — the GUI is an AppImage; the
amenbocommand comes from the CLI installer
To update: on the GUI, the “a newer version is available” banner applies it in place. If you installed only the CLI, amenbo update --apply swaps it.
The stored data format moves up — the first launch on this version migrates it, and a backup from before the migration is kept automatically. Once migrated, an earlier version can no longer open it. The GUI and the CLI are updated together by the same installer, so do not leave one of them on the old version.
New here? See Start.