Carry Over Todos
pendingby Blake Peterman
Copy uncompleted todo items from the most recent previous daily note to today's daily note.
Carry Over Todos
An Obsidian plugin that copies uncompleted todo items from the most recent previous daily note into today's daily note.
Features
- Smart lookback: Finds the most recent previous daily note, walking back up to 30 days (handles weekends, vacations, or any gaps)
- Preserves nesting: Carries over nested/indented sub-tasks along with their parent
- Cleans up source: Removes carried-over items from the previous note, leaving completed todos intact
- Template-aware: Replaces the placeholder todo if present, otherwise appends to existing items
- Clear notifications: Tells you which date the todos are coming from (e.g. "Carrying over 5 todo(s) from Feb 16, 2026 (3 days ago)")
Usage
- Open today's daily note (create it first if it doesn't exist)
- Open the command palette (
Cmd+P/Ctrl+P) - Run "Carry over uncompleted todos"
Expected Daily Note Format
The plugin expects daily notes with a TODO section using standard markdown checkboxes:
# Thursday, February 19th, 2026
### TODO
- [ ] Uncompleted task
- [x] Completed task
- [ ] Another task
- [ ] Nested sub-task
### Notes
...
The TODO section is identified by a ## TODO or ### TODO heading and ends at the next heading.
Installation
From this repo
npm install
npm run build
Copy main.js and manifest.json into your vault at .obsidian/plugins/carry-over-todos/.
Development
npm install
npm run dev
This starts esbuild in watch mode, rebuilding main.js on every change to main.ts.
Configuration
The plugin reads your daily notes settings (folder and date format) from Obsidian's built-in Daily Notes plugin configuration. No additional setup is required.
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.