Checklist Timer
approvedby Anand
Times how long each checklist item takes to complete. - This plugin has not been manually reviewed by Obsidian staff.
Checklist Timer
Times how long each item in a checklist takes, so you can see which steps in a recurring process — a weekly review, a deploy checklist, any process you run more than once — are actually eating the time.
It's not a Pomodoro timer, and it's not an invoicing/billable-hours tool. It's a process-insight tool for repeatable checklists.
How it works
Mark a checklist as timed with a tag on its own line directly above the
list (default #Timed, configurable in settings — matched
case-insensitively, so #timed works too):
#Timed
- [ ] Start week plan
- [ ] Review calendar
- [ ] Draft priorities
- [ ] Send updates
Checking off the first item starts the clock. Each time you check off the next item, the time since the previous check-off is recorded against it, and timing continues automatically through the rest of the list.
Want a different item to be the starting point instead of the first one?
Tag it with #Start (also configurable) anywhere in the list — items
before it are simply not timed:
#Timed
- [ ] Gather notes (not timed)
- [ ] #Start Kickoff
- [ ] Next step
A session ends when the last item is checked off, or you stop it manually via the ribbon icon or the "Stop active timer" command. The timing note is written incrementally as you go, so even an abandoned checklist keeps whatever was already timed. When a session ends, a summary sorted by duration (slowest first) is appended so the bottleneck is easy to spot.
If you need to step away mid-run, the "Pause active timer" and "Resume active timer" commands freeze the clock for the current item — time spent paused isn't counted against it. Checking off the next item resumes automatically.
Only one checklist can be timed at a time. If you start a second one while another is running, by default the first is stopped automatically (saving what it had timed) and the second starts — this is configurable.
Settings
- Timed checklist tag — marks a checklist as timed (default
#Timed, matched case-insensitively). - Start item tag — marks the start item within a timed checklist (default
#Start, matched case-insensitively). - Auto-switch between checklists — automatically stop-and-switch when a second timed checklist is started while one is running, instead of blocking it (default on).
- Output folder — where timing notes are saved (default: vault root).
- Filename template — supports
{{date}}and{{title}}placeholders.
Example output
# Checklist timing — Week Plan
- Review calendar: 00:02:14
- Draft priorities: 00:08:41
- Send updates: 00:01:03
Total: 00:11:58
## Sorted by duration (slowest first)
- Draft priorities: 00:08:41
- Review calendar: 00:02:14
- Send updates: 00:01:03
Scope
Desktop only. Nested/indented checklist items aren't rolled up into their parent's time yet. There's no session persistence — if Obsidian closes or crashes mid-session, the in-progress timer is lost, but anything already timed and written to the note is safe.
Installation
Available from Obsidian's Community Plugins:
- Settings → Community plugins → Browse.
- Search for "Checklist Timer".
- Install, then enable it.
To manually install a specific release instead (e.g. to try a version before it's landed in Community Plugins):
- Download
main.jsandmanifest.jsonfrom the desired release at https://github.com/AnandSie/obsidian_plugin_checklist_timer/releases - Create a folder named
checklist-timerinside<YourVault>/.obsidian/plugins/. - Copy both files into that folder.
- Reload Obsidian and enable Checklist Timer under Settings → Community plugins.
Development
npm install
npm run dev # rebuilds on change
npm test # unit tests
npm run build # production build
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.