Is Kanzo Worth It?

2026-11-07
Brian

Subscribe
JOIN OUR NEWSLETTER
Be the first to know. Get fresh AI/Tech updates instantly, no spam, unsubscribe anytime

I had two coding agents on one project, and the only task list was the chat. One had started the bug. The other had started a rewrite. I could not tell which paragraph was still my job. Kanzo is one small program that shows a board in the browser and lets an agent move the same cards. Is kanzo worth it? Yes, when you want that shared list on your own machine, with no account and no Docker. No, when other people must be kept out by a password, because this board has no logins.

Kanban columns a card walks across: todo, doing, review, done

A task list goes stale inside a chat because the chat is a long letter, not a board. A board is a set of columns, and a card moves from one column to the next when the work moves. That kind of board is a kanban (columns a card walks across, so the state is visible without a meeting). Kanzo’s columns, on the board I ran, were todo, doing, review, and done.

What is Kanzo?

Mind map of Kanzo: shared board, one SQLite file, ten MCP tools, waits_on, human cards, no logins

Kanzo is a task board and a tool an agent can call, packed as one program, with the cards stored in one file on your computer. You open a page, the agent calls the same cards, and neither of you has to copy status into the chat.

The Kanzo window: a small board meant for a person and a coding agent

Before the name of the file format matters, the useful fact is this: there is no separate database server to install. The cards live in SQLite (a database that is one file, so a copy of the folder is a copy of the board). On my run that file was kanzo.db, 86,016 bytes, next to a short config.toml. The folder is the whole product.

One folder is the whole product: kanzo.db SQLite file plus config.toml

The program has two doors into that file. The first door is a web page on localhost (this computer, not the public internet). The second door is MCP (a small local server a coding agent is allowed to call). I started the page, and it answered with the title Kanzo. I then talked to the second door and created the cards from there. Same file.

Kanzo flowchart: you in the browser and a coding agent via MCP both write the same kanzo.db file

The download I unpacked was one program file, 5,176,536 bytes. I checked the published checksum and it matched. There was no second service, no container, and no account screen. The license file in that download is the GNU Affero General Public License, the AGPL (if you change the program and serve your changes over a network, you must share those changes too). Using it locally, as I did, does not trigger that duty. Shipping a modified copy to other people over a network does.

One program file is the whole install: the board, the file, and the agent door

How to use Kanzo

Install it, start it, put one card on the board, then point your agent at the same program. On a Mac or Linux the install line is:

curl -LsSf https://github.com/emanuele-em/kanzo/releases/latest/download/kanzo-installer.sh | sh
kanzo --no-open

Then open http://localhost:4242. The letter n makes a card. For a clean throwaway folder, skip the installer script: unpack the Linux build, run kanzo --version, and you should see kanzo 0.4.0. Start it with --no-open and a fresh data folder. The first line, the one that says the board is up, took 7.8 milliseconds. The process was using 3,716 kB of memory. The page came back with status 200 and 45,328 bytes of HTML. The readme’s speed line is from a Mac. These numbers are the Linux run here, not that line.

Cards moving on the Kanzo board while you watch

The default settings file said listen = "127.0.0.1" and port = 4242, and it turned on MCP at /mcp. The comment in that file is the limit in one sentence: there are no logins, so anyone who can reach the port can read and change the board. Leave the listen address on this computer unless you mean to share.

An agent does not click n. It calls tools. Connected the way an agent does and asked for the tool list. Ten tools came back: create_project, create_task, list_tasks, next_task, update_task, add_comment, get_task, delete_task, list_projects, and link_repo. The definitions were 3,635 characters. That is small next to a repository. The loop those tools sit in is the same loop as any coding agent: the model asks for a tool, your machine runs it, the result goes back. If you want that loop from the ground up, the lesson-by-lesson Claude Code walk is the longer version. Kanzo is only the task list that loop can hold.

A task open on the board, with room for comments from the agent

I created a project called Notes and a card, notes#1, titled “Write the install note”. next_task moved it to doing. A comment landed on it. update_task moved it to review and set a URL. kanzo export printed the board as Markdown, with the comment and the link under the review column. The database file was still that one kanzo.db.

One footgun showed up before the happy path. waits_on is a string, like api#1, not a list. Passing a list first fails with invalid type: sequence, expected a string. The string form worked: the new card came back as “waits on #1”. If your agent sends a JSON array here, the card will not be created.

A card can also be marked human, which means it is for you. After making one, the agent listing said the human card was not shown, “for the user, not for agents.” After the other card left todo, next_task answered “Nothing in todo” even though the human card was still sitting there. That is the switch you want for “I will do this one myself.”

Does Kanzo skip a task that is waiting?

Yes. Put a blocker in review, a waiter that named that blocker, and a free card under them. next_task moved the free card to doing and left the waiter in todo. The waiter is not invisible. It is just not eligible until the card it names is done. A card in review still blocks. Only done releases it. On a later board, once the blocker was done, the next call took the waiter, not a newer free card. Order among eligible cards is still the old order.

A card dimmed because it waits on another card

This is the part worth setting up on purpose. If you tell an agent “take the next task” and you have not marked the blocked work, it will start the blocked work. The string on waits_on is what stops that. A human card is the other stop, for work you do not want an agent to pick up at all.

The filter box, the same words the agent can use to pick a card

Is Kanzo worth it?

Kanzo is worth it if the pain is a shared list, not a company process. Use it for your own projects and for one agent, or a few agents, on machines you trust. Skip it as the board for a team that needs to know who moved a card.

The same board in the dark theme, still one list for you and the agent

What the run measured:

WhatWhat happened on my run
Install weightOne file, 5,176,536 bytes, checksum matched
Start7.8 ms to the “board is up” line, 3,716 kB of memory
PageHTTP 200, title Kanzo, 45,328 bytes
Agent pathTen tools, a card created, moved, commented, exported
Waiting cardSkipped while the blocker was still in review
Human cardHidden from the agent list, not taken by next_task
LoginsNone. Default listen address is this computer only
Team auditNot present. There is no who-clicked history

The shape is the same idea as dbx, the small database client an agent can also drive: one local program, a page for you, a tool door for the agent, and the data stays in a folder you can see. Kanzo’s folder is tasks, not tables. The same local-tool, agent-door pattern shows up when you compare uncut vs Claude Code on cut-off answers.

Kanzo vs Trello

Use Trello when the board is for people who already live there and who need accounts. Use Kanzo when the board is for you and an agent, and the cards should sit in a file on disk. They are not substitutes. Trello’s job is a hosted board with permissions. Kanzo’s job is a local board with an agent door and no permissions.

KanzoTrelloVikunja
AccountNoneRequiredYou run the server, accounts included
Where the cards liveOne folder on your diskTheir serversYour server, with more moving parts
Agent doorBuilt in, ten toolsYou add something yourselfNot the point of the app
PasswordsNone, so do not open the port to the worldYesYes
Setup I would expectOne programA sign-upA stack of containers
What this page ranThe Linux build, end to endNot run for this pageNot run for this page

Vikunja is the self-hosted board people usually mean when they say they want Trello without Trello. It is the right pick if you want users, projects, and a server you administer. Kanzo is the right pick if that already sounds like too much for a personal list. The Vikunja repository is the thing to read if the row above is the one you need. The Kanzo repository is the one that matches this page.

How do I share a kanban board with Claude Code?

You do not share the chat. You add Kanzo as a tool, then you say “take the next task from kanzo.” The command the project documents for Claude Code is:

claude mcp add kanzo --scope user -- kanzo mcp

For Codex it is codex mcp add kanzo -- kanzo mcp. Other clients can run kanzo mcp, or call http://localhost:4242/mcp while the board is up. The direct kanzo mcp door was the path used here. The initialize reply named the server kanzo and told the caller to keep cards current: doing when work starts, a comment for what changed, review when it finishes, and a URL if there is a pull request. That instruction is doing the job a sticky note on your monitor usually fails at.

The share box: one computer offers the board, with addresses to copy

Sharing with a second computer is a different step from sharing with an agent. kanzo share on opens the board to your network. kanzo join <address> on the other computer points that computer’s board and its agents at the first one. A second machine was not joined in this run. The setting that makes the risk plain is still there: if the port is reachable, there is no password in the way.

The other computer, joined to a board it does not store itself

The window you type into is not the model, and it is not the board. That split is the same one JetBrains Air makes inside an IDE: a client shows the work, something else does the work. Here the client can be Claude Code, and the task state is Kanzo. If your real problem is “how does this program work,” not “what should be done next,” a board will not answer it. A reader for that job is rea versus Ghidra.

A private git repository can carry the folder between machines you use one at a time. kanzo sync commits the board and pulls or pushes. The settings file stays on each machine. No remote was pushed here. The command exists, and the data it would push is the folder already listed.

When should I not use Kanzo?

Do not use Kanzo if a stranger, or a coworker you do not fully trust, can open the port. There is no user account to take away. Do not use it as the system of record for a company, because there is no history of who changed a card. Do not use it if you need the backlog column, languages, or a 3,000-card board to be proven here: the readme talks about those, and this run left them off and never loaded thousands of cards.

A backlog column the readme describes; project picture, not this run

Do not use it if your agent cannot pass waits_on as a single string. Fix the call, or the dependency feature will look broken when it is only the type that is wrong. And do not use it if you wanted a hosted board your phone can open from a cafe with a login. That product is Trello, or a self-hosted board that has users.

I would keep Kanzo for the mess I started with: two agents, one project, and a chat that is a bad place to store “who is doing the bug.” One file, one page, ten tools. The card marked human stayed mine. The card that was waiting stayed put. That is enough to be worth it, and it is not a team product wearing a small costume.

Common questions about Kanzo

Does Kanzo need Docker?

No. The run here was one program file and a folder. Docker never started.

Can I use Kanzo without an account?

Yes. Nothing asked for a sign-in. The cost of that is the missing password, not a missing feature you turn on later.

What if I open Kanzo on my network?

Anyone who can reach the port can change the cards and call the agent tools. Share it only on a network you trust, or leave listen on 127.0.0.1.

Can I keep a card for myself?

Yes. Mark it human. On this board the agent list hid it, and next_task would not take it.

JOIN OUR NEWSLETTER
Be the first to know. Get fresh AI/Tech updates instantly, no spam, unsubscribe anytime

Leave a comment