Multi-agent boards can now enforce that tasks in active statuses are always claimed. Moving or editing a task in in-progress or review without --claim is now rejected by default — no more anonymous work slipping through.
New: Per-status require_claim enforcement
Statuses can now declare require_claim: true in config.yml. When set, every move or edit targeting that status must include --claim <name>, preventing accidental anonymous moves in multi-agent environments. The default config enforces claims on in-progress and review.
statuses:
- backlog
- todo
- name: in-progress
require_claim: true
- name: review
require_claim: true
- done
- archived# This now fails — in-progress requires a claim
kanban-md move 5 in-progress
# Error: status "in-progress" requires --claim
# Correct usage
kanban-md move 5 in-progress --claim agent-1
kanban-md move 5 review --claim agent-1Changed: Statuses config format (backward compatible)
Statuses can now be either plain strings or objects with name and require_claim fields. Old configs with plain string statuses continue to work — they're parsed as {name: "...", require_claim: false}. The config schema was bumped from v6 to v7 with automatic migration.
Changed: Edit requires claim in enforced statuses
kanban-md edit now also checks require_claim — if a task is in a claim-required status, you must pass --claim (or --release --force to release it). This closes a loophole where agents could modify tasks without identifying themselves.
Upgrading
No manual steps required. Config files auto-migrate from v6 to v7 on first use. Plain string statuses in your existing config continue to work unchanged. If you use Homebrew, run brew upgrade kanban-md.
Full diff: v0.24.0...v0.25.0