v2.3.0: Your AI Employees Just Got a Kanban Board (And Learned to Run Their Own Health Check)
v2.3.0 ships with two features that have been at the top of the user wishlist since the very first wave of onboardings, plus the smaller bullet that quietly fixes the most annoying recurring support pattern.
The two headlines: a proper Trello-style task board, one per employee, that the user and the agent can both edit; and a one-click "Doctor" button that lets any existing AI employee patch its own CLAUDE.md against the latest onboarding template, without losing personality or hand-edits.
A real Kanban board, owned by the employee
Until today, "what is my AI employee actually working on" lived in the chat. Which is fine for one-off requests and broken for anything that spans days. You retype the same intent every morning, the session compacts, the agent loses thread, and there is no signal anywhere that says "this thing has been sitting unattended for three days, look at it."
So now every employee has a board. Four columns: To do, In progress, Needs attention, Done. Cards have rich-text bodies (headings, lists, links, formatted blocks), image attachments, deadlines with colour-coded urgency badges, and a comment thread that runs alongside the body so you can add notes without re-editing the description.
The desktop view is a normal four-column grid with drag-and-drop. Mobile collapses to four tabs you can swipe between. Both the user and the agent can create cards, move them between columns, comment on them, and delete their own comments. New cards appear in real time on every open client over WebSocket, including the cross-employee dashboard view that admins can open to see the whole roster at once.
The board has its own skill, installed by default on every new employee. The agent reads the board on its own; you do not have to paste in tasks. When it finishes a card, it moves the card to Done. When it is blocked, it does something more interesting.
Needs attention: the column that makes the board two-way
The third column is the one that took the longest to get right. Most kanban implementations have three states: To do, Doing, Done. Ours has four because there is a category of "the agent tried and got stuck, and needs you to do something" that does not fit any of the other three.
"Needs attention" exists for exactly that. When the agent hits a blocker, it moves the card there and writes the reason in a comment. You see the column count go up; you click the card; you read the agent's note; you add the missing piece in your own comment and tick the "move back to To do" checkbox. One round-trip, no re-explanation, no lost context.
In practice this turns the board from a list into a conversation. Stale cards stop sitting silently in In progress; they migrate left to ask for help. That alone changes how the user feels about delegating multi-day work.
Attachments, lightbox, and per-image delete
Cards with multiple images now show a small grid instead of just the first attachment. Two images shows a 2 by 2 grid. Five or more shows the first four with a "plus N" overlay on the last tile. Click any image inside the card and it opens fullscreen in a lightbox; click the X in the corner of an attachment in edit mode and that one file gets removed, on disk and in the database, without touching the rest of the card.
There is a small but important fix underneath this. The agent reads attached images by their local filesystem path, not the authenticated HTTP URL. The first round of testing surfaced an obvious bug: the agent's container has no browser session, so fetching the image URL returned the login HTML. The fix is documented in the skill itself: use the local path, never the URL.
Doctor: the button that updates old employees to the latest template
The other headline feature is for everyone who has been with us since v2.0.
Every time we ship a change to the onboarding template, the change lands automatically on newly created employees. Existing employees stay frozen on whatever template was current the day they were created. We have been carrying this debt for months, because the brute-force fix (a server-side rewrite of every employee's CLAUDE.md) is exactly the kind of bulk operation that breaks things when it misbehaves.
The new approach is to let the employee patch itself. Open the chat sidebar, click Settings, click Doctor. One button: Run Doctor.
What happens next is that the backend regenerates the up-to-date template structure (with all the latest behaviour rules, the new skills-section format, the latest file-output guidance) and ships it to the employee's live session as a tagged health-check prompt. The employee reads its own CLAUDE.md, diffs it against the template, and patches the missing or outdated structural sections in place. Personality, profile, employer info, hand-written notes, project context, memory pointers: all of it is explicitly preserved. The agent has a clear instruction to ask you in chat if anything is ambiguous rather than guess.
Run it twice in a row and nothing happens the second time. The agent has explicit instructions to reply "nothing to update" when the CLAUDE.md is already aligned.
This is also how the new "install missing dependencies yourself" rule reaches existing employees. We added a bullet to the template that finally tells the agent it is allowed to npm install or pip install a missing module instead of giving up and saying the skill is broken. Three different employees in the last fortnight have reported the same false-positive on official skills because nobody had given them that permission. New employees get the rule automatically; existing employees get it the next time you run Doctor.
Also in this release
Two visible polish fixes worth calling out.
The aria-hidden warning that has been chirping in the browser console when any Kanban dialog opens is gone. It was a Radix focus-trap interaction with the surrounding Sheet wrapper. Fix is one line per dialog, with the small trade-off that the first input is no longer auto-focused; click or Tab to start typing.
The image lightbox's previous-arrow used to sit visually mashed against the open chat sidebar at small viewport widths. It now respects the sidebar's expand and collapse state automatically by reading the same CSS variable the sidebar itself sets. Save-this-trick-for-later: any fixed overlay that needs to dodge a docked sidebar can use the same approach.
Why this release matters
v2.2 was about voice. v2.3 is about the chat surface catching up with what users have been asking for since the beginning: a shared place to see and steer the work, and a way to keep older employees as current as the ones we created yesterday.
Hard refresh to pick up the new version tag. The Kanban board appears in the chat sidebar of every employee created in the last six months automatically; for older employees, run Doctor once and the kanban skill plus the latest template bullets will land in the same pass.
Want to test the most advanced AI employees? Try it here: https://Geta.Team