Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Flexible Tasks

KB BentonKB Benton447 downloads

Interactive task checkboxes in Markdown table cells and lists, with custom statuses such as done, in progress, cancelled, forwarded, and more, styled by your theme.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates7

An Obsidian plugin for interactive task checkboxes inside Markdown table cells — and custom task statuses everywhere, rendered by your theme.

Flexible Tasks in Obsidian with the Minimal theme: interactive checkboxes inside table cells and in an ordinary list, showing to-do, done, in-progress, cancelled, forwarded, question, and important statuses

Why

A Markdown table cell is inline-only, so a task like - [ ] One written in a cell renders as dead text: Obsidian never turns it into a checkbox, and task plugins skip it. Flexible Tasks turns those cell tasks into real, interactive checkboxes and writes toggles back to the source file. It also adds a right-click status menu to ordinary block-list tasks, so you can set any status without retyping the marker.

Features

  • Checkboxes in table cells — the thing the Markdown format won't do. Click to toggle, right-click to set any status.
  • Custom statuses — [ ], [x], [/], [-], [>], [?], [!], and any other single character round-trip faithfully in the source.
  • Renders in both Reading view and Live Preview.
  • Defers to your theme. The plugin puts a real checkbox carrying data-task="<char>" in place; your checkbox theme draws the status icon. Nothing is overridden.
  • Off-book statuses stand out. A character the plugin doesn't plan for is shown with the Important indicator instead of a plain check, so an unusual status never masquerades as done.

Themes

Status icons are drawn by your checkbox theme, not by the plugin. Flexible Tasks puts a real checkbox carrying data-task="<char>" in place; any theme that styles task statuses from data-task renders the icons.

  • Minimal — works out of the box. This is the theme the plugin is developed against.
  • Other checkbox themes — many render custom statuses too, but some ship the feature turned off. For example, Prism renders them once you install the Style Settings plugin and enable Prism → "Enable Prism Alternative Checkboxes" (it defaults to off). Other themes have their own equivalent toggle. These aren't officially tested, but the standard data-task mechanism means they generally work once their alternative-checkbox styling is enabled.
  • Default theme / no checkbox styling — statuses still round-trip in the source and appear on hover, but render as plain checkboxes without a per-status glyph.

The same table and block list under the Prism theme with alternative checkboxes enabled, rendered with Prism's Lucide status icons

Whatever the theme, the status character is always preserved in your Markdown — only the rendered glyph depends on the theme.

Usage

Write a table whose cells contain tasks:

| Today       | This Week      | Someday          |
| :---------- | :------------- | :--------------- |
| - [>] One   | - [/] Draft PR | - [ ] Learn Rust |
| - [x] Two   | - [ ] Review   | - [-] Old idea   |
| - [/] Three | - [>] Deferred | - [?] Maybe      |

Each - [ ] becomes a clickable checkbox.

Setting a status

Every status beyond a plain done/to-do toggle lives on the right-click — on both surfaces, so nothing is hidden behind a hotkey or command palette entry:

The right-click status menu, listing To do, Done, In progress, Cancelled, Forwarded, Question, and Important, with the current status checked

  • Reading view — left-click a checkbox to toggle done ↔ to-do; right-click it to open the status menu and choose any status ([ ], [x], [/], [-], [>], [?], [!]).
  • Editor (Live Preview / source) — right-click anywhere on a task line and choose Checkbox choices, then pick a status.

In short: left-click is the quick done/to-do toggle; right-click is how you reach the full status set.

Settings

  • Style block-list tasks too — also add the right-click status menu to ordinary (non-table) list tasks in Reading view. On by default.

Development

npm install
npm run dev     # watch build -> main.js
npm run build   # type-check + production bundle

For a live dev loop, symlink this folder into a test vault's plugin directory:

ln -s "$(pwd)" /path/to/TestVault/.obsidian/plugins/flexible-tasks

Then enable Flexible Tasks in the vault's community-plugin settings and use "Reload app without saving" (or the Hot-Reload plugin) after each build.

Contributing

Bug reports, ideas, and pull requests are welcome — see CONTRIBUTING.md for the dev loop, the UAT plan, and the defer-to-theme architecture to keep in mind.

License

GPL-2.0-only. See LICENSE.

HealthExcellent
ReviewSatisfactory
About
Enable interactive checkboxes inside Markdown table cells and write toggles back to the source file. Add a right-click status menu to set custom single-character statuses (e.g. [x], [/], [-], [?], [!]) that render in Live Preview and Reading view using your theme.
TasksTables
Details
Current version
1.0.0
Last updated
4 days ago
Created
2 months ago
Updates
7 releases
Downloads
447
Compatible with
Obsidian 1.4.0+
Platforms
Desktop, Mobile
License
GPL-2.0
Report bugRequest featureReport plugin
Author
KB BentonKB Bentonkbcmdba
GitHubkbcmdba
  1. Community
  2. Plugins
  3. Tasks
  4. Flexible Tasks

Related plugins

dotpm

Full-featured task and project management: stunning Gantt charts, Kanban boards, Table views, customizable fields, due date notifications, dependancies

TileLineBase

Build multidimensional tables (Tables, Kanban, Gallery, Slides) directly from plain text. Zero Frontmatter. Zero code.

TaskNotes

Note-based task management with calendar, pomodoro and time-tracking integration.

Advanced Tables

Improved table navigation, formatting, and manipulation.

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.

TickTickSync

Sync TickTick tasks.

Operon

Task and project management system that unifies inline tasks and file-based tasks in the same workflows with Tables, Filters, Calendars, Kanban boards, Gantt views, Canvas, and time tracking.

Datacore

An even faster reactive query engine for the data obsessed.

Super Simple Time Tracker

Multi-purpose time trackers for your notes.