Todo.txt
pendingby Mahmudul
Powerful yet simple task management in the portable Todo.txt format, with smart filtering and a modern interface.
Todo.txt for Obsidian
Powerful yet simple task management for Obsidian in the portable Todo.txt format, with smart filtering and a modern interface.
β¨ Features
π Smart Task Management
- Todo.txt format - Simple, portable, future-proof
- Multiple task files - Any .txt file becomes a task list automatically
- Create new files - Quickly create new
.txttask files via command palette - WikiLink support - Type
[[in task titles or descriptions to link to vault files - Quick filters - All, Today, Upcoming, Inbox, Archived, Completed
- Flexible sorting - By priority, due date, creation date, alphabetical, projects, or contexts
- Project organization - Custom icons, pinning, drag & drop reordering, bulk operations
- Priority levels - Visual priority indicators (A, B, C)
- Due dates - Smart date recognition with status indicators
- Recurring tasks - Flexible recurrence patterns
- Context tags - Organize by location, energy, or focus
- Task notes - Extended descriptions with link and WikiLink support
π Modern Interface
- Mobile responsive - Full functionality on all devices
- Theme compatible - Works seamlessly with all Obsidian themes
- Flexible sidebar - Collapsible project panel for more workspace
- Instant search - Find tasks across all projects
- Smart suggestions - Autocomplete for projects, contexts, priorities, and vault files
- Keyboard shortcuts - Assign custom hotkeys to βAdd taskβ and βOpen taskβ
- Bulk operations - Manage multiple completed tasks at once
β‘ Quick Input
Type / for quick commands:
/Date- Set due dates (Today, Tomorrow, Next Week, etc.)/Priority- Set priority levels/Project- Assign to projects/Context- Add context tags
Or use symbol shortcuts (works like /):
@context- Add context tags+project- Assign to projects!priority- Set priority levels*date- Set due dates[[- Link to vault files (WikiLink)
π§ Installation
From Obsidian Community Plugins
- Open Settings β Community plugins
- Browse and search for "Todo.txt"
- Install and enable the plugin
Using BRAT
- Install the BRAT plugin from Obsidian community plugins
- Open Settings β BRAT β Add Beta plugin
- Enter the URL of this repository:
https://github.com/ghMahmudul/todo-txt-obsidian - Under "Select a version", choose the
Latest version - Click "Add Plugin"
Manual Installation
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Create a folder named
todo-txtin your vault's.obsidian/plugins/directory - Copy the downloaded files into the
todo-txtfolder - Reload Obsidian
- Go to Settings β Community plugins and enable "Todo.txt"
π Usage
Getting Started
- Open the plugin via ribbon icon or
Ctrl/Cmd+Pβ "Open task" - Create a new task file with
Ctrl/Cmd+Pβ "Todo.txt: Create new file" - Create your first task by clicking "Add task" or assign a custom hotkey in Settings β Hotkeys
- Organize with projects, set priorities, and add due dates
- Link to vault notes by typing
[[in task titles or descriptions
Todo.txt Format
(A) 2025-08-03 @β¨Feature Add due date β [[Development Notes]] +Inbox due:2025-06-25
(B) 2025-08-03 Solve Python #problems rec:1m,3 +Coding due:2025-08-20
(C) 2025-08-03 Buy more groceries +Shop due:2025-08-18 ||Get essentials like milk, eggs, bread, and vegetables from https://example.com
2025-08-03 Read Chapter 4 of the physics textbook time:2h +Study
Format breakdown:
(A)- Priority (AβZ, A = highest, Z = lowest)2025-08-03- Creation date@Features- Context tag#problems- Hashtag (searchable)+Inbox- Project tagdue:2025-06-25- Due daterec:1m,3- Monthly recurrence on 3rdtime:2h- Custom key:value pairshttps://example.com- Clickable links[[Development Notes]]- WikiLinks to vault files||Get essentials...- Task notes (supports links and WikiLinks)
Recurring Tasks
Support for flexible recurrence patterns:
rec:1d- Dailyrec:1w- Weeklyrec:1m- Monthlyrec:1y- Yearlyrec:1w,sun,mon,fri- Weekly on specific daysrec:1m,12,17- Monthly on specific dates (12th and 17th)rec:jun,23- Yearly on specific date (June 23rd)
Project Management
- Create projects - Click + next to "Projects" or use
Ctrl/Cmd+Pβ "Todo.txt: Add project" - Add icons - Emoji or SVG icons for visual organization
- Pin important - Click β― menu β Pin for quick access
- Reorder projects - Drag and drop to reorder projects in the sidebar
- Drag to pin/unpin - Drag projects between main list and pinned sections
- Bulk actions - Rename, delete, or archive entire projects
Smart Filtering & Sorting
- All - View all active tasks
- Today - Due today or overdue
- Upcoming - Future due dates
- Inbox - Unorganized tasks
- Archived - Archived tasks
- Completed - Finished tasks
Sort options: Priority, Due Date, Creation Date, Alphabetical, Projects, Contexts, Completion Date
βοΈ Configuration
Settings
- Tasks location - Choose your todo.txt file path
- Startup filter - Default view when opening
- Open on startup - Auto-open when Obsidian starts
π― Pro Tips
- Set a custom hotkey for "Todo.txt: Add task" in Settings β Hotkeys for quick task creation anywhere in Obsidian
- Use "Todo.txt: Create new file" to set up separate task lists for different areas of life
- Pin the Todo.txt file to the Obsidian sidebar for quick access
- Use multiple .txt files for different contexts:
work.txt,personal.txt - Link related notes using WikiLinks (
[[Note Name]]) to connect tasks with docs, meeting notes, or resources - Search with hashtags:
#meetingfinds all meeting-related tasks - Set up projects for different areas:
+Travel,+Goals,+Hobby - Use contexts for work types:
@πBug,@β¨Feature,@βοΈRefector - Combine filters: Search while in a project view to find specific tasks
- Sort by due date to prioritize urgent tasks, or by project to batch similar work
- Organize your sidebar by dragging projects to match your workflow priorities
π License
This project is licensed under the MIT License - see the LICENSE file for details.
β Star this repo if you find it helpful!
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.