Andrii Oriekhov102 downloadsLists every checkbox from the currently open note in a sidebar panel. Toggle tasks or jump to their line.
An Obsidian plugin that shows every checkbox from the currently open note in a sidebar panel.

Requires Obsidian 1.7.2 or newer (for the awaitable revealLeaf).
- [ ] / - [x] items of the active note in the right sidebar, nested the way they are in the note.done/total. Headings that contain no checkboxes are skipped, and clicking a heading jumps to it. Can be turned off in settings.done/total count and a progress bar.**bold**, and tags look right.Open the panel with the ribbon icon (checklist) or the command palette: Show note tasks in sidebar.
Commands:
Todo Sidebar: Show note tasks in sidebarTodo Sidebar: Toggle completed tasks visibilitySettings: group by heading (on by default), hide completed tasks, open the panel automatically on startup.
Settings → Community plugins → Browse → search Todo Sidebar → Install → Enable. Or open the directory listing.
BRAT installs plugins straight from a GitHub release and keeps them updated, so testers do not have to copy files by hand.
andriyor/obsidian-todo-sidebar.Download main.js, manifest.json, and styles.css from the
latest release into
<vault>/.obsidian/plugins/todo-sidebar/:
VAULT="/path/to/vault"
DEST="$VAULT/.obsidian/plugins/todo-sidebar"
mkdir -p "$DEST"
gh release download --repo andriyor/obsidian-todo-sidebar \
-p main.js -p manifest.json -p styles.css -D "$DEST"
Then enable Todo Sidebar in Settings → Community plugins (Restricted mode off).
Node version in .nvmrc, pnpm pinned via packageManager in package.json.
pnpm install
pnpm dev # esbuild watch mode → main.js
pnpm build # typecheck + minified production bundle
pnpm test # parser unit tests (node --test, no framework)
pnpm lint # @e18e/eslint-plugin recommended (modernization + perf + banned deps)
esbuild is allowed to run its postinstall script via allowBuilds in
pnpm-workspace.yaml — pnpm blocks postinstall by default, and esbuild needs its to fetch
the platform binary.
Source lives in src/; main.js at the repo root is the generated bundle and is gitignored.
Symlink the repo into a vault so pnpm dev rebuilds land there directly:
ln -s "$PWD" "$VAULT/.obsidian/plugins/todo-sidebar"
Reload the plugin after a rebuild with the Reload app without saving command, or install the Hot Reload plugin.
Releases install from the assets, so attach main.js, manifest.json, and styles.css. Tag,
release name, and the version in the released manifest.json must be identical — BRAT treats
the tag as the source of truth and warns if the manifest disagrees.
# bump version in manifest.json and package.json first
pnpm build # main.js is gitignored, so build before attaching it
gh release create 1.0.0 main.js manifest.json styles.css --title 1.0.0
Add a versions.json entry only when minAppVersion changes. For a pre-release, use a matching
tag/name/version such as 1.0.1-beta.1 and mark the release as a pre-release.