Changelog
2026-07-28v0.44.0· Assign and Launch
Added
- Pressing
ain the terminal UI now assigns the task and launches the agent in one action. Previously it only started an agent; the task file said nothing about who was working on it, so the board, the web view and the markdown disagreed with reality. The chosen agent is written toassignee:before the task moves to In Progress, which also means the nextaon that task relaunches the same agent without reopening the picker. - Seven more coding agents can be assigned and launched: GitHub Copilot CLI, Amazon Q Developer, Auggie (Augment Code), Amp, Factory Droid, Cline and Agy. Each uses the flag its CLI actually documents for "start a session on this prompt", and the ones that only offer a one-shot mode are marked as such instead of being forced into a terminal session that never opens.
- The agent picker shows where each binary lives. Every entry is now the
agent name plus the absolute path it resolved to, with
$HOMEshortened to~. When several installs of the same tool are onPATH— a global npm one and an nvm one, say — the path is the only line that tells them apart. - Sortable columns in the terminal list view. Click any column header to sort
by it and click it again to reverse; the active column carries a
↑/↓arrow.sstill cycles the four common sorts from the keyboard, andSreverses the current one. Owner, dependencies, tags, title and assignee are sortable for the first time. - A priority lens on the
Prheader. Clicking it (or pressingp) cycles through all → P1 → P2 → P3 → P4 → untriaged, and the header shows the active priority in its own colour. It composes with theffilter rather than replacing it, so "AI-owned P1s" is two keystrokes. - An
Assigneecolumn, pinned to the far right of the list, naming the coding agent or person on the job. Toggle it inkandown settings→ Terminal UI, like every other optional column. /api/agentsreports the resolved binary path for every detected agent, so the web UI and the terminal UI answer "which install would actually run?" from the same detection pass instead of each keeping their own idea of it.
Fixed
- The daemon finishes its own upgrades. After a global update the daemon kept
serving the web bundle it was compiled with, and the web UI could only show a
modal asking the user to go and run
kandown daemon refresh-all. The daemon now notices that the package on disk has moved ahead of it and restarts itself onto the new build, on the same port, without anyone being told to do anything. A restart is tagged with the version it targets so a development checkout with a stale build cannot send it into a respawn loop. - The stale-daemon modal is gone. While a self-upgrade finishes, the web UI shows a thin line in the corner with no buttons and reloads by itself the moment the daemon comes back current. The full update modal is now reserved for a genuine new release you may want to install.
- Local extension state stays out of git.
.kandown/extensions/enabled.jsonandtrust.jsonare per-machine decisions that the loader deliberately ignores when committed, so they are now ignored by git as well, andkandown initwrites a.kandown/.gitignorecovering them for new projects.
Changed
- The list view's owner column is now
Who, showing 🤖 or 👤 instead of theA/Hletters, which meant nothing without a legend. - Task titles in the list are capped at 60 characters. Past that the eye stops reading and starts hunting, and on a wide terminal an uncapped title pushed the assignee off to where it no longer read as part of the same row. Every row now has the same shape at any width; the selected row still expands in place and the detail pane always holds the full title.
- Agent detection caches the resolved path rather than a yes/no, so a single
whichper binary per session now answers both "is it installed?" and "where?" for the terminal UI, the daemon and the web UI alike. Escin the terminal UI clears the priority lens along with the search and the filter, before it quits.