# Plain - \[ \] task lines in a note as a Kanban board in the browser (free, open source, local)

**URL:** <https://forum.obsidian.md/t/plain-task-lines-in-a-note-as-a-kanban-board-in-the-browser-free-open-source-local/119739>\
**Category:** Workflows & Templates\
**Created:** [October 23, 2026, 4:20pm UTC](https://forum.obsidian.md/t/plain-task-lines-in-a-note-as-a-kanban-board-in-the-browser-free-open-source-local/119739 "2026-10-23T16:20:56Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![sergi039](https://forum.obsidian.md/letter_avatar_proxy/v4/letter/s/c0e974/32.png) [@sergi039](https://forum.obsidian.md/u/sergi039)\
**Post date:** [October 23, 2026, 4:20pm UTC](https://forum.obsidian.md/t/plain-task-lines-in-a-note-as-a-kanban-board-in-the-browser-free-open-source-local/119739/1 "2026-10-23T16:20:57Z")

</div>

## Disclaimer

Is this project **open source**? Yes (MIT)  
Is this project completely **free**? Yes  
Is this project made with AI beyond the author’s ability to comprehend how it works? No

* * *

I keep my tasks as checklists in Obsidian notes. I wanted to see them as a Kanban board without moving them out of Markdown, so I wrote a small app that shows the task lines of a note as cards in columns. It is not a plugin: it runs on your own computer at `localhost`, next to Obsidian, and works on the same `.md` files. Obsidian does not need to be open.

### How it works with your vault

**1. A note with checkboxes is a board.** You choose a note, for example `Tasks/Personal.md`. Every `- []` line becomes a card:

```markdown
- [] ⏫ Renew passport before the summer trip
    - Book an appointment online
- [] Plan the Lisbon weekend
- [x] Pay the electricity bill

```

`⏫` is a high priority, indented lines are sub-items, `- [x]` is done.

**2. The column is stored in the note.** The app adds a short HTML comment at the end of each task line, with the card’s ID and column:

```markdown
- [] Plan the Lisbon weekend <!-- kb:id=abc kb:col=This+week -->

```

Reading view hides HTML comments. Because the column lives in the file, the board can be rebuilt from your notes even if the app’s database is deleted.

**3. Sync goes both ways, usually in under a second.**

- Tick `[x]` in Obsidian and the card moves to Done. Drag it back on the board and the line becomes `- []` again.
- Add or edit a line in Obsidian: a file watcher picks it up and every open board tab updates.
- Change a card’s priority on the board and the emoji in the line changes.

**4. Extras stay out of your notes.** Descriptions, checklists, comments, categories and reminders are kept in a local SQLite file next to the app.

**5. Deleting a card removes its lines from the note.** They go to the app’s trash, and restoring the card writes the same lines back. Make a backup of your vault before you try it, as with any tool that writes to your notes.

Besides the board there is a table view with inline editing and filters, due dates, reminders and dark mode.

### Setup (any OS, Node.js 22 and pnpm)

```bash
git clone https://github.com/sergi039/obsidian-kanban-app.git
cd obsidian-kanban-app
pnpm install

```

Create `config.boards.json` next to `package.json`:

```json
{
  "vaultRoot": "/path/to/your/Obsidian/Vault",
  "boards": [
    { "id": "personal", "name": "Personal", "file": "Tasks/Personal.md",
      "columns": ["Backlog", "This week", "In progress", "Done"] }
  ],
  "defaultColumns": ["Backlog", "In progress", "Done"]
}

```

```bash
pnpm build
SERVE_STATIC=1 pnpm --filter @kanban/api start

```

Then open `http://localhost:4000`. A column named `Done` is the one tied to `[x]`.

With Docker instead: put the same file into a `config/` folder next to `docker-compose.yml` and run `VAULT_PATH=/path/to/vault docker compose up -d`.

### Optional: adding tasks from Claude or Codex

The repo includes a local MCP server. With it, Claude (Desktop or Code) or OpenAI Codex can add a task when you say “add to kanban: renew the car insurance by Nov 30”: the card appears on the board and as a `- []` line in the note. If several boards fit, the assistant asks which one. The assistant never edits your files itself: it calls the board’s local API and can list, find, create, update, move and comment on cards. There is no delete tool.

To connect Claude Code, build the server and register it:

```bash
pnpm --filter @kanban/mcp build
claude mcp add --scope user obsidian-kanban -e KANBAN_API_URL=http://127.0.0.1:4000 \
  -- node /path/to/obsidian-kanban-app/apps/mcp/dist/server.js

```

For Codex the command is the same with `codex mcp add obsidian-kanban --env KANBAN_API_URL=http://127.0.0.1:4000 -- node /path/to/.../server.js`.

Repo: `https://github.com/sergi039/obsidian-kanban-app`

I’ll post future updates in this thread. I’d like to hear how you keep tasks in your vault and what would make a board like this useful to you.
