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

Multi-State Checkboxes

Michael WolfMichael Wolf29 downloads

Switch checkboxes between customizable statuses via click, keyboard shortcut, or context menu.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

Switch Obsidian checkboxes between customizable statuses via click, keyboard shortcut, or context menu.

Features

  • Define your list of checkbox statuses (e.g. [ ] not started, [/] in progress, [x] complete, [-] cancelled).
  • Customize how your editor cycles between them.
  • Transition between checkbox statuses on click:
    • Left-click to cycle to the next status.
    • Right-click to pick a status from the context menu.
  • Define keyboard shortcuts using the provided editor commands:
    • Cycle to next status
    • Cycle to previous status
    • Set status: … (one command per defined status)

Installation

From Obsidian's Community Plugins (recommended)

  1. Open Settings → Community plugins in Obsidian.
  2. Make sure Restricted mode is off.
  3. Click Browse, search for Multi-State Checkboxes, and click Install.
  4. After installing, click Enable.

Manual installation

  1. Download main.js, manifest.json, and styles.css from the latest GitHub release.
  2. Copy them into your vault under <vault>/.obsidian/plugins/multi-state-checkboxes/ (create the folder if it does not exist).
  3. Reload Obsidian, then enable Multi-State Checkboxes under Settings → Community plugins.

Usage

  1. Open the plugin's settings tab (Settings → Multi-State Checkboxes) to define your list of checkbox statuses. Each status has a single character (the value inside the brackets, e.g. /, x, -) and a label.
  2. In any note, place your cursor on a checkbox line (or click a rendered checkbox) and:
    • Left-click a checkbox to cycle it to the next status.
    • Right-click a checkbox to pick a specific status from the context menu.
    • Use the Cycle to next status / Cycle to previous status commands from the Command Palette, or bind them to hotkeys under Settings → Hotkeys.
    • Use a Set status: … command to jump directly to a specific status.
  3. Set custom keyboard shortcuts for any of the above commands

Example

With statuses configured as [ ] → [/] → [x] → [-], repeatedly cycling a line like:

- [ ] Write the README

will step through all the configured states:

- [/] Write the README
- [x] Write the README
- [-] Write the README
- [ ] Write the README

Once we arrive at the initial state, the cycle simply starts again.

Requirements

Requires a theme that styles multi-state checkboxes — many popular themes do, including:

  • Minimal
  • Things
  • AnuPpuccin
  • Cupertino

Without a supporting theme the checkbox character still cycles in the source, but won't render with a distinct visual.

99%
HealthExcellent
ReviewPassed
About
Cycle checkboxes through customizable statuses (e.g. not started, in progress, complete, cancelled) via left-click, right-click menu, or keyboard commands. Define your status list and cycle order. Use a theme that styles multi-state checkboxes to see distinct visuals; otherwise characters still change in the source.
TasksEditing
Details
Current version
1.0.1
Last updated
6 days ago
Created
7 days ago
Updates
2 releases
Downloads
29
Compatible with
Obsidian 1.4.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Michael WolfMichael Wolfwolfm
GitHubwolfm
  1. Community
  2. Plugins
  3. Tasks
  4. Multi-State Checkboxes

Related plugins

Advanced Tables

Improved table navigation, formatting, and manipulation.

TaskNotes

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

Day Planner

Day planning from a task list in a Markdown note with enhanced time block functionality.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Outliner

Work with your lists like in Workflowy or Roam Research.

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering.

Various Complements

Complete words similar to auto-completion in an IDE.

Creases

Tools for effectively folding Markdown sections.

Simplified Chinese Word Splitting

Adds Simplified Chinese word splitting support for the editor and Vim mode.

LanguageTool Integration

advanced spell/grammar checks with the help of language-tool.